Bun, Inferno->React migration (#22529)

Re-creation of https://github.com/Aurorastation/Aurora.3/pull/21046 to
skip merge conflict hell. Brings us modern TGUI.

**ALTERNATE TITLE: TGUI HELLSCAPE PR
ABANDON ALL HOPE YE WHO ENTER HERE**

- [x] Migrate build tools (javascript -> typescript, bun for package
management).
- [x] Upgrade all TGUI dependencies and associated root files to
TG-congruent versions (axios, babel, dompurify, eslint, highlight,
marked, prettier, sass, source-map, stacktrace-parser, typescript).
- [x] InfernoJS -> React migrations
- [x] React cleanup and polish (migrate all remaining .js files to
appropriate .ts or .tsx filetype, all remaining hooks, linting, error
corrections, etc.)
- [ ] Test all remaining TGUI interfaces
This commit is contained in:
Batrachophreno
2026-06-05 15:55:22 +02:00
committed by GitHub
parent a52729c105
commit 0d92359da7
930 changed files with 23130 additions and 50520 deletions
+17
View File
@@ -0,0 +1,17 @@
# This action is a wrapper around `oven-sh/setup-bun` to use the version specified in
# `dependencies.sh`.
name: Setup Bun
description: Install Bun using the version specified in `dependencies.sh`
runs:
using: composite
steps:
- name: Configure Bun version
shell: bash
run: |
source dependencies.sh
echo "BUN_VERSION_REQUIRED=$BUN_VERSION" >> $GITHUB_ENV
- name: Install Bun
uses: oven-sh/setup-bun@v2
with:
bun-version: ${{ env.BUN_VERSION_REQUIRED }}
+26
View File
@@ -0,0 +1,26 @@
# This action is a wrapper around `actions/setup-node`, to use the version specified in
# `dependencies.sh`.
name: Setup Node
description: Install Node using the version specified in `dependencies.sh`; additionally, restores the Yarn cache if one exists
inputs:
restore-yarn-cache:
description: "If `true`, restores the Yarn cache alongside installing node."
required: false
type: boolean
default: false
runs:
using: composite
steps:
- name: Configure Node version
shell: bash
run: |
source dependencies.sh
echo "NODE_VERSION_REQUIRED=$NODE_VERSION_LTS" >> $GITHUB_ENV
- name: Install Node
uses: actions/setup-node@v4
with:
node-version: ${{ env.NODE_VERSION_REQUIRED }}
cache: ${{ fromJSON(inputs.restore-yarn-cache) && 'yarn' || '' }}
cache-dependency-path: ${{ fromJSON(inputs.restore-yarn-cache) && 'tgui/yarn.lock' || '' }}
+4 -8
View File
@@ -281,18 +281,14 @@ jobs:
- name: Set ENV variables
run: bash dependencies.sh
#Setup NodeJS using YARN as cache
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: ${{ env.NODE_VERSION_LTS }}
cache: "yarn"
cache-dependency-path: tgui/yarn.lock
#Setup bun
- name: Setup Bun
uses: ./.github/actions/setup_bun
#Lint TGUI
- name: Check Tgui
run: |
tools/build/build --ci lint tgui-test
tools/build/build.sh --ci lint tgui-test
###########################################
############### MISC LINTING ##############
+31
View File
@@ -0,0 +1,31 @@
name: "Build TGUI"
on:
workflow_dispatch:
jobs:
update-tgui:
concurrency: tgui
permissions:
contents: read
pull-requests: write
runs-on: ubuntu-24.04
steps:
- name: Install Bun
uses: ./.github/actions/setup_bun
- name: Update TGUI
run: |
tools/bootstrap/javascript tools/build/build.sh tgui
- name: Commit TGUI
run: |
git pull origin master
git config --local user.email "action@github.com"
git config --local user.name "AuroraBuildBot"
git add --force tgui/public/*
git commit -m "Automatic TGUI compile [ci skip]" -a || true
- name: Push
uses: ad-m/github-push-action@master
with:
github_token: ${{ secrets.BOT_TOKEN_AURORA }}