diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 45a6cbb9dc..6d390a086a 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -152,26 +152,6 @@ "group": "build", "label": "tgui: dev server" }, - { - "type": "shell", - "command": "bin/tgui-bench", - "windows": { - "command": ".\\bin\\tgui-bench.cmd" - }, - "problemMatcher": ["$tsc", "$eslint-stylish"], - "group": "build", - "label": "tgui: bench" - }, - { - "type": "shell", - "command": "bin/tgui-sonar", - "windows": { - "command": ".\\bin\\tgui-sonar.cmd" - }, - "problemMatcher": ["$tsc", "$eslint-stylish"], - "group": "build", - "label": "tgui: sonar" - }, { "type": "shell", "command": "bin/tgfont", diff --git a/bin/tgui-fix.cmd b/bin/tgui-fix.cmd index 9c5123bd76..f2844408ef 100644 --- a/bin/tgui-fix.cmd +++ b/bin/tgui-fix.cmd @@ -1,2 +1,2 @@ @echo off -call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-lint %* +call "%~dp0\..\tools\build\build.bat" --wait-on-error tgui-fix %* diff --git a/biome.json b/biome.json index e35c2936c3..82e0bb94a8 100644 --- a/biome.json +++ b/biome.json @@ -1,5 +1,5 @@ { - "$schema": "https://biomejs.dev/schemas/2.2.3/schema.json", + "$schema": "https://biomejs.dev/schemas/2.3.0/schema.json", "assist": { "actions": { "source": { diff --git a/bun.lock b/bun.lock index 4ee0e74f55..44cbfb8ec1 100644 --- a/bun.lock +++ b/bun.lock @@ -3,29 +3,29 @@ "workspaces": { "": { "devDependencies": { - "@biomejs/biome": "^2.2.5", + "@biomejs/biome": "^2.3.0", "prettier": "^3.6.2", }, }, }, "packages": { - "@biomejs/biome": ["@biomejs/biome@2.2.6", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.2.6", "@biomejs/cli-darwin-x64": "2.2.6", "@biomejs/cli-linux-arm64": "2.2.6", "@biomejs/cli-linux-arm64-musl": "2.2.6", "@biomejs/cli-linux-x64": "2.2.6", "@biomejs/cli-linux-x64-musl": "2.2.6", "@biomejs/cli-win32-arm64": "2.2.6", "@biomejs/cli-win32-x64": "2.2.6" }, "bin": { "biome": "bin/biome" } }, "sha512-yKTCNGhek0rL5OEW1jbLeZX8LHaM8yk7+3JRGv08my+gkpmtb5dDE+54r2ZjZx0ediFEn1pYBOJSmOdDP9xtFw=="], + "@biomejs/biome": ["@biomejs/biome@2.3.0", "", { "optionalDependencies": { "@biomejs/cli-darwin-arm64": "2.3.0", "@biomejs/cli-darwin-x64": "2.3.0", "@biomejs/cli-linux-arm64": "2.3.0", "@biomejs/cli-linux-arm64-musl": "2.3.0", "@biomejs/cli-linux-x64": "2.3.0", "@biomejs/cli-linux-x64-musl": "2.3.0", "@biomejs/cli-win32-arm64": "2.3.0", "@biomejs/cli-win32-x64": "2.3.0" }, "bin": { "biome": "bin/biome" } }, "sha512-shdUY5H3S3tJVUWoVWo5ua+GdPW5lRHf+b0IwZ4OC1o2zOKQECZ6l2KbU6t89FNhtd3Qx5eg5N7/UsQWGQbAFw=="], - "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.2.6", "", { "os": "darwin", "cpu": "arm64" }, "sha512-UZPmn3M45CjTYulgcrFJFZv7YmK3pTxTJDrFYlNElT2FNnkkX4fsxjExTSMeWKQYoZjvekpH5cvrYZZlWu3yfA=="], + "@biomejs/cli-darwin-arm64": ["@biomejs/cli-darwin-arm64@2.3.0", "", { "os": "darwin", "cpu": "arm64" }, "sha512-3cJVT0Z5pbTkoBmbjmDZTDFYxIkRcrs9sYVJbIBHU8E6qQxgXAaBfSVjjCreG56rfDuQBr43GzwzmaHPcu4vlw=="], - "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.2.6", "", { "os": "darwin", "cpu": "x64" }, "sha512-HOUIquhHVgh/jvxyClpwlpl/oeMqntlteL89YqjuFDiZ091P0vhHccwz+8muu3nTyHWM5FQslt+4Jdcd67+xWQ=="], + "@biomejs/cli-darwin-x64": ["@biomejs/cli-darwin-x64@2.3.0", "", { "os": "darwin", "cpu": "x64" }, "sha512-6LIkhglh3UGjuDqJXsK42qCA0XkD1Ke4K/raFOii7QQPbM8Pia7Qj2Hji4XuF2/R78hRmEx7uKJH3t/Y9UahtQ=="], - "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.2.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-BpGtuMJGN+o8pQjvYsUKZ+4JEErxdSmcRD/JG3mXoWc6zrcA7OkuyGFN1mDggO0Q1n7qXxo/PcupHk8gzijt5g=="], + "@biomejs/cli-linux-arm64": ["@biomejs/cli-linux-arm64@2.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-uhAsbXySX7xsXahegDg5h3CDgfMcRsJvWLFPG0pjkylgBb9lErbK2C0UINW52zhwg0cPISB09lxHPxCau4e2xA=="], - "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.2.6", "", { "os": "linux", "cpu": "arm64" }, "sha512-TjCenQq3N6g1C+5UT3jE1bIiJb5MWQvulpUngTIpFsL4StVAUXucWD0SL9MCW89Tm6awWfeXBbZBAhJwjyFbRQ=="], + "@biomejs/cli-linux-arm64-musl": ["@biomejs/cli-linux-arm64-musl@2.3.0", "", { "os": "linux", "cpu": "arm64" }, "sha512-nDksoFdwZ2YrE7NiYDhtMhL2UgFn8Kb7Y0bYvnTAakHnqEdb4lKindtBc1f+xg2Snz0JQhJUYO7r9CDBosRU5w=="], - "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.2.6", "", { "os": "linux", "cpu": "x64" }, "sha512-1HaM/dpI/1Z68zp8ZdT6EiBq+/O/z97a2AiHMl+VAdv5/ELckFt9EvRb8hDHpk8hUMoz03gXkC7VPXOVtU7faA=="], + "@biomejs/cli-linux-x64": ["@biomejs/cli-linux-x64@2.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-uxa8reA2s1VgoH8MhbGlCmMOt3JuSE1vJBifkh1ulaPiuk0SPx8cCdpnm9NWnTe2x/LfWInWx4sZ7muaXTPGGw=="], - "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.2.6", "", { "os": "linux", "cpu": "x64" }, "sha512-1ZcBux8zVM3JhWN2ZCPaYf0+ogxXG316uaoXJdgoPZcdK/rmRcRY7PqHdAos2ExzvjIdvhQp72UcveI98hgOog=="], + "@biomejs/cli-linux-x64-musl": ["@biomejs/cli-linux-x64-musl@2.3.0", "", { "os": "linux", "cpu": "x64" }, "sha512-+i9UcJwl99uAhtRQDz9jUAh+Xkb097eekxs/D9j4deWDg5/yB/jPWzISe1nBHvlzTXsdUSj0VvB4Go2DSpKIMw=="], - "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.2.6", "", { "os": "win32", "cpu": "arm64" }, "sha512-h3A88G8PGM1ryTeZyLlSdfC/gz3e95EJw9BZmA6Po412DRqwqPBa2Y9U+4ZSGUAXCsnSQE00jLV8Pyrh0d+jQw=="], + "@biomejs/cli-win32-arm64": ["@biomejs/cli-win32-arm64@2.3.0", "", { "os": "win32", "cpu": "arm64" }, "sha512-ynjmsJLIKrAjC3CCnKMMhzcnNy8dbQWjKfSU5YA0mIruTxBNMbkAJp+Pr2iV7/hFou+66ZSD/WV8hmLEmhUaXA=="], - "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.2.6", "", { "os": "win32", "cpu": "x64" }, "sha512-yx0CqeOhPjYQ5ZXgPfu8QYkgBhVJyvWe36as7jRuPrKPO5ylVDfwVtPQ+K/mooNTADW0IhxOZm3aPu16dP8yNQ=="], + "@biomejs/cli-win32-x64": ["@biomejs/cli-win32-x64@2.3.0", "", { "os": "win32", "cpu": "x64" }, "sha512-zOCYmCRVkWXc9v8P7OLbLlGGMxQTKMvi+5IC4v7O8DkjLCOHRzRVK/Lno2pGZNo0lzKM60pcQOhH8HVkXMQdFg=="], "prettier": ["prettier@3.6.2", "", { "bin": { "prettier": "bin/prettier.cjs" } }, "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ=="], } diff --git a/dependencies.sh b/dependencies.sh index 1f910a5fd4..176c3cc13d 100644 --- a/dependencies.sh +++ b/dependencies.sh @@ -17,7 +17,7 @@ export RUST_G_VERSION=4.1.0 export NODE_VERSION_LTS=22.14.0 # Bun version -export BUN_VERSION=1.3.0 +export BUN_VERSION=1.3.1 # SpacemanDMM git tag export SPACEMAN_DMM_VERSION=suite-1.11 diff --git a/package.json b/package.json index 3c200374fb..495ef38f11 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "devDependencies": { - "@biomejs/biome": "^2.2.6", + "@biomejs/biome": "^2.3.0", "prettier": "^3.6.2" }, "scripts": { diff --git a/tgui/bun.lock b/tgui/bun.lock index 7b6e649ede..923f97f999 100644 --- a/tgui/bun.lock +++ b/tgui/bun.lock @@ -7,14 +7,14 @@ "@happy-dom/global-registrator": "^17.6.3", "@rspack/cli": "^1.5.8", "@rspack/core": "^1.5.8", - "@types/bun": "^1.3.0", + "@types/bun": "^1.3.1", "@types/react": "^19.2.2", - "@types/react-dom": "^19.2.1", + "@types/react-dom": "^19.2.2", "@types/webpack-env": "^1.18.8", "@types/wicg-file-system-access": "^2023.10.7", "css-loader": "^7.1.2", "sass-embedded": "^1.93.2", - "sass-loader": "^16.0.5", + "sass-loader": "^16.0.6", "typescript": "^5.9.3", }, }, @@ -22,7 +22,7 @@ "name": "common", "version": "4.3.1", "dependencies": { - "es-toolkit": "^1.40.0", + "es-toolkit": "^1.41.0", }, }, "packages/tgfont": { @@ -39,8 +39,8 @@ "dependencies": { "common": "workspace:*", "dateformat": "^5.0.3", - "dompurify": "^3.2.7", - "es-toolkit": "^1.40.0", + "dompurify": "^3.3.0", + "es-toolkit": "^1.41.0", "highlight.js": "^11.11.1", "js-yaml": "^4.1.0", "marked": "^15.0.12", @@ -66,8 +66,8 @@ "version": "6.0.0", "dependencies": { "common": "workspace:*", - "dompurify": "^3.2.7", - "es-toolkit": "^1.40.0", + "dompurify": "^3.3.0", + "es-toolkit": "^1.41.0", "react": "^19.2.0", "react-dom": "^19.2.0", "tgui": "workspace:*", @@ -234,7 +234,7 @@ "@types/bonjour": ["@types/bonjour@3.5.13", "", { "dependencies": { "@types/node": "*" } }, "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ=="], - "@types/bun": ["@types/bun@1.3.0", "", { "dependencies": { "bun-types": "1.3.0" } }, "sha512-+lAGCYjXjip2qY375xX/scJeVRmZ5cY0wyHYyCYxNcdEXrQ4AOe3gACgd4iQ8ksOslJtW4VNxBJ8llUwc3a6AA=="], + "@types/bun": ["@types/bun@1.3.1", "", { "dependencies": { "bun-types": "1.3.1" } }, "sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ=="], "@types/connect": ["@types/connect@3.4.38", "", { "dependencies": { "@types/node": "*" } }, "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug=="], @@ -268,7 +268,7 @@ "@types/react": ["@types/react@19.2.2", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-6mDvHUFSjyT2B2yeNx2nUgMxh9LtOWvkhIU3uePn2I2oyNymUAX1NIsdgviM4CH+JSrp2D2hsMvJOkxY+0wNRA=="], - "@types/react-dom": ["@types/react-dom@19.2.1", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-/EEvYBdT3BflCWvTMO7YkYBHVE9Ci6XdqZciZANQgKpaiDRGOLIlRo91jbTNRQjgPFWVaRxcYc0luVNFitz57A=="], + "@types/react-dom": ["@types/react-dom@19.2.2", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-9KQPoO6mZCi7jcIStSnlOWn2nEF3mNmyr3rIAsGnAbQKYbRLyqmeSc39EVgtxXVia+LMT8j3knZLAZAh+xLmrw=="], "@types/retry": ["@types/retry@0.12.2", "", {}, "sha512-XISRgDJ2Tc5q4TRqvgJtzsRkFYNJzZrhTdtMoGVBttwzzQJkPnS3WWTFc7kuDRoPtPakl+T+OfdEUjYJj7Jbow=="], @@ -396,7 +396,7 @@ "bufferstreams": ["bufferstreams@4.0.0", "", { "dependencies": { "readable-stream": "^3.4.0", "yerror": "^8.0.0" } }, "sha512-azX778/2VQ9K2uiYprSUKLgK2K6lR1KtJycJDsMg7u0+Cc994A9HyGaUKb01e/T+M8jse057429iKXurCaT35g=="], - "bun-types": ["bun-types@1.3.0", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-u8X0thhx+yJ0KmkxuEo9HAtdfgCBaM/aI9K90VQcQioAmkVp3SG3FkwWGibUFz3WdXAdcsqOcbU40lK7tbHdkQ=="], + "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], "bundle-name": ["bundle-name@4.1.0", "", { "dependencies": { "run-applescript": "^7.0.0" } }, "sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q=="], @@ -512,7 +512,7 @@ "domhandler": ["domhandler@5.0.3", "", { "dependencies": { "domelementtype": "^2.3.0" } }, "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w=="], - "dompurify": ["dompurify@3.2.7", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-WhL/YuveyGXJaerVlMYGWhvQswa7myDG17P7Vu65EWC05o8vfeNbvNf4d/BOvH99+ZW+LlQsc1GDKMa1vNK6dw=="], + "dompurify": ["dompurify@3.3.0", "", { "optionalDependencies": { "@types/trusted-types": "^2.0.7" } }, "sha512-r+f6MYR1gGN1eJv0TVQbhA7if/U7P87cdPl3HN5rikqaBSBxLiCb/b9O+2eG0cxz0ghyU+mU1QkbsOwERMYlWQ=="], "domutils": ["domutils@3.2.2", "", { "dependencies": { "dom-serializer": "^2.0.0", "domelementtype": "^2.3.0", "domhandler": "^5.0.3" } }, "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw=="], @@ -552,7 +552,7 @@ "es-set-tostringtag": ["es-set-tostringtag@2.1.0", "", { "dependencies": { "es-errors": "^1.3.0", "get-intrinsic": "^1.2.6", "has-tostringtag": "^1.0.2", "hasown": "^2.0.2" } }, "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA=="], - "es-toolkit": ["es-toolkit@1.40.0", "", {}, "sha512-8o6w0KFmU0CiIl0/Q/BCEOabF2IJaELM1T2PWj6e8KqzHv1gdx+7JtFnDwOx1kJH/isJ5NwlDG1nCr1HrRF94Q=="], + "es-toolkit": ["es-toolkit@1.41.0", "", {}, "sha512-bDd3oRmbVgqZCJS6WmeQieOrzpl3URcWBUVDXxOELlUW2FuW+0glPOz1n0KnRie+PdyvUZcXz2sOn00c6pPRIA=="], "escalade": ["escalade@3.2.0", "", {}, "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA=="], @@ -942,7 +942,7 @@ "safer-buffer": ["safer-buffer@2.1.2", "", {}, "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="], - "sass": ["sass@1.89.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-xCmtksBKd/jdJ9Bt9p7nPKiuqrlBMBuuGkQlkhZjjQk3Ty48lv93k5Dq6OPkKt4XwxDJ7tvlfrTa1MPA9bf+QA=="], + "sass": ["sass@1.93.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg=="], "sass-embedded": ["sass-embedded@1.93.2", "", { "dependencies": { "@bufbuild/protobuf": "^2.5.0", "buffer-builder": "^0.2.0", "colorjs.io": "^0.5.0", "immutable": "^5.0.2", "rxjs": "^7.4.0", "supports-color": "^8.1.1", "sync-child-process": "^1.0.2", "varint": "^6.0.0" }, "optionalDependencies": { "sass-embedded-all-unknown": "1.93.2", "sass-embedded-android-arm": "1.93.2", "sass-embedded-android-arm64": "1.93.2", "sass-embedded-android-riscv64": "1.93.2", "sass-embedded-android-x64": "1.93.2", "sass-embedded-darwin-arm64": "1.93.2", "sass-embedded-darwin-x64": "1.93.2", "sass-embedded-linux-arm": "1.93.2", "sass-embedded-linux-arm64": "1.93.2", "sass-embedded-linux-musl-arm": "1.93.2", "sass-embedded-linux-musl-arm64": "1.93.2", "sass-embedded-linux-musl-riscv64": "1.93.2", "sass-embedded-linux-musl-x64": "1.93.2", "sass-embedded-linux-riscv64": "1.93.2", "sass-embedded-linux-x64": "1.93.2", "sass-embedded-unknown-all": "1.93.2", "sass-embedded-win32-arm64": "1.93.2", "sass-embedded-win32-x64": "1.93.2" }, "bin": { "sass": "dist/bin/sass.js" } }, "sha512-FvQdkn2dZ8DGiLgi0Uf4zsj7r/BsiLImNa5QJ10eZalY6NfZyjrmWGFcuCN5jNwlDlXFJnftauv+UtvBKLvepQ=="], @@ -982,7 +982,7 @@ "sass-embedded-win32-x64": ["sass-embedded-win32-x64@1.93.2", "", { "os": "win32", "cpu": "x64" }, "sha512-BbSucRP6PVRZGIwlEBkp+6VQl2GWdkWFMN+9EuOTPrLxCJZoq+yhzmbjspd3PeM8+7WJ7AdFu/uRYdO8tor1iQ=="], - "sass-loader": ["sass-loader@16.0.5", "", { "dependencies": { "neo-async": "^2.6.2" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "node-sass", "sass", "sass-embedded", "webpack"] }, "sha512-oL+CMBXrj6BZ/zOq4os+UECPL+bWqt6OAC6DWS8Ln8GZRcMDjlJ4JC3FBDuHJdYaFWIdKNIBYmtZtK2MaMkNIw=="], + "sass-loader": ["sass-loader@16.0.6", "", { "dependencies": { "neo-async": "^2.6.2" }, "peerDependencies": { "@rspack/core": "0.x || 1.x", "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", "sass": "^1.3.0", "sass-embedded": "*", "webpack": "^5.0.0" }, "optionalPeers": ["@rspack/core", "node-sass", "sass", "sass-embedded", "webpack"] }, "sha512-sglGzId5gmlfxNs4gK2U3h7HlVRfx278YK6Ono5lwzuvi1jxig80YiuHkaDBVsYIKFhx8wN7XSCI0M2IDS/3qA=="], "sax": ["sax@1.4.1", "", {}, "sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg=="], @@ -1278,10 +1278,6 @@ "sass/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - "sass-embedded-all-unknown/sass": ["sass@1.93.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg=="], - - "sass-embedded-unknown-all/sass": ["sass@1.93.2", "", { "dependencies": { "chokidar": "^4.0.0", "immutable": "^5.0.2", "source-map-js": ">=0.6.2 <2.0.0" }, "optionalDependencies": { "@parcel/watcher": "^2.4.1" }, "bin": { "sass": "sass.js" } }, "sha512-t+YPtOQHpGW1QWsh1CHQ5cPIr9lbbGZLZnbihP/D/qZj/yuV68m8qarcV17nvkOX81BCrvzAlq2klCQFZghyTg=="], - "send/debug": ["debug@2.6.9", "", { "dependencies": { "ms": "2.0.0" } }, "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA=="], "send/encodeurl": ["encodeurl@1.0.2", "", {}, "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w=="], @@ -1342,10 +1338,6 @@ "node-gyp/glob/path-scurry": ["path-scurry@1.11.1", "", { "dependencies": { "lru-cache": "^10.2.0", "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" } }, "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA=="], - "sass-embedded-all-unknown/sass/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - - "sass-embedded-unknown-all/sass/chokidar": ["chokidar@4.0.3", "", { "dependencies": { "readdirp": "^4.0.1" } }, "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA=="], - "sass/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], "send/debug/ms": ["ms@2.0.0", "", {}, "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A=="], @@ -1376,10 +1368,6 @@ "node-gyp/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], - "sass-embedded-all-unknown/sass/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - - "sass-embedded-unknown-all/sass/chokidar/readdirp": ["readdirp@4.1.2", "", {}, "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg=="], - "sucrase/glob/minimatch/brace-expansion": ["brace-expansion@2.0.2", "", { "dependencies": { "balanced-match": "^1.0.0" } }, "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ=="], "sucrase/glob/path-scurry/lru-cache": ["lru-cache@10.4.3", "", {}, "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ=="], diff --git a/tgui/package.json b/tgui/package.json index 30ff4216fc..408a952aa7 100644 --- a/tgui/package.json +++ b/tgui/package.json @@ -8,6 +8,7 @@ ], "scripts": { "tgui:analyze": "rspack --analyze", + "tgui:biome-fix": "biome lint --write .", "tgui:build": "rspack build", "tgui:dev": "bun --smol packages/tgui-dev-server/index.ts", "tgui:test": "bun test", @@ -17,14 +18,14 @@ "@happy-dom/global-registrator": "^17.6.3", "@rspack/cli": "^1.5.8", "@rspack/core": "^1.5.8", - "@types/bun": "^1.3.0", + "@types/bun": "^1.3.1", "@types/react": "^19.2.2", - "@types/react-dom": "^19.2.1", + "@types/react-dom": "^19.2.2", "@types/webpack-env": "^1.18.8", "@types/wicg-file-system-access": "^2023.10.7", "css-loader": "^7.1.2", "sass-embedded": "^1.93.2", - "sass-loader": "^16.0.5", + "sass-loader": "^16.0.6", "typescript": "^5.9.3" } } diff --git a/tgui/packages/common/package.json b/tgui/packages/common/package.json index ef8f4c9edd..7eef91db4d 100644 --- a/tgui/packages/common/package.json +++ b/tgui/packages/common/package.json @@ -1,8 +1,8 @@ { - "name": "common", - "version": "4.3.1", - "dependencies": { - "es-toolkit": "^1.40.0" - }, - "private": true + "name": "common", + "version": "4.3.1", + "dependencies": { + "es-toolkit": "^1.41.0" + }, + "private": true } diff --git a/tgui/packages/tgfont/package.json b/tgui/packages/tgfont/package.json index eea0ee9a0d..716b756d7e 100644 --- a/tgui/packages/tgfont/package.json +++ b/tgui/packages/tgfont/package.json @@ -1,13 +1,13 @@ { - "private": true, - "name": "tgfont", - "type": "module", - "version": "2.0.0", - "scripts": { - "tgfont:build": "svgo icons && node svgtofont.mjs" - }, - "dependencies": { - "svgo": "^3.3.2", - "svgtofont": "^6.4.1" - } + "private": true, + "name": "tgfont", + "type": "module", + "version": "2.0.0", + "scripts": { + "tgfont:build": "svgo icons && node svgtofont.mjs" + }, + "dependencies": { + "svgo": "^3.3.2", + "svgtofont": "^6.4.1" + } } diff --git a/tgui/packages/tgfont/static/tgfont.css b/tgui/packages/tgfont/static/tgfont.css index 72dfbf8033..6fc5c877c4 100644 --- a/tgui/packages/tgfont/static/tgfont.css +++ b/tgui/packages/tgfont/static/tgfont.css @@ -1,66 +1,66 @@ @font-face { - font-family: 'tgfont'; - src: url('tgfont.woff2?t=1747971548188') format('woff2'); + font-family: "tgfont"; + src: url("tgfont.woff2?t=1747971548188") format("woff2"); } -[class^='tg-'], -[class*=' tg-'] { - /* biome-ignore lint/complexity/noImportantStyles: Needed */ - font-family: 'tgfont' !important; - font-size: undefined; - font-style: normal; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; +[class^="tg-"], +[class*=" tg-"] { + /* biome-ignore lint/complexity/noImportantStyles: Needed */ + font-family: "tgfont" !important; + font-size: undefined; + font-style: normal; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; } /* biome-ignore-start lint/suspicious/noUselessEscapeInString: Unicode */ :root { - --tg-air-tank-slash: '\ea01'; - --tg-air-tank: '\ea02'; - --tg-bad-touch: '\ea03'; - --tg-image-minus: '\ea04'; - --tg-image-plus: '\ea05'; - --tg-nanotrasen-logo: '\ea06'; - --tg-non-binary: '\ea07'; - --tg-prosthetic-full: '\ea08'; - --tg-prosthetic-leg: '\ea09'; - --tg-sound-minus: '\ea0a'; - --tg-sound-plus: '\ea0b'; - --tg-syndicate-logo: '\ea0c'; + --tg-air-tank-slash: "\ea01"; + --tg-air-tank: "\ea02"; + --tg-bad-touch: "\ea03"; + --tg-image-minus: "\ea04"; + --tg-image-plus: "\ea05"; + --tg-nanotrasen-logo: "\ea06"; + --tg-non-binary: "\ea07"; + --tg-prosthetic-full: "\ea08"; + --tg-prosthetic-leg: "\ea09"; + --tg-sound-minus: "\ea0a"; + --tg-sound-plus: "\ea0b"; + --tg-syndicate-logo: "\ea0c"; } /* biome-ignore-end lint/suspicious/noUselessEscapeInString: Unicode */ .tg-air-tank-slash::before { - content: var(--tg-air-tank-slash); + content: var(--tg-air-tank-slash); } .tg-air-tank::before { - content: var(--tg-air-tank); + content: var(--tg-air-tank); } .tg-bad-touch::before { - content: var(--tg-bad-touch); + content: var(--tg-bad-touch); } .tg-image-minus::before { - content: var(--tg-image-minus); + content: var(--tg-image-minus); } .tg-image-plus::before { - content: var(--tg-image-plus); + content: var(--tg-image-plus); } .tg-nanotrasen-logo::before { - content: var(--tg-nanotrasen-logo); + content: var(--tg-nanotrasen-logo); } .tg-non-binary::before { - content: var(--tg-non-binary); + content: var(--tg-non-binary); } .tg-prosthetic-full::before { - content: var(--tg-prosthetic-full); + content: var(--tg-prosthetic-full); } .tg-prosthetic-leg::before { - content: var(--tg-prosthetic-leg); + content: var(--tg-prosthetic-leg); } .tg-sound-minus::before { - content: var(--tg-sound-minus); + content: var(--tg-sound-minus); } .tg-sound-plus::before { - content: var(--tg-sound-plus); + content: var(--tg-sound-plus); } .tg-syndicate-logo::before { - content: var(--tg-syndicate-logo); + content: var(--tg-syndicate-logo); } diff --git a/tgui/packages/tgui-dev-server/package.json b/tgui/packages/tgui-dev-server/package.json index b77695b6b8..64bf05a240 100644 --- a/tgui/packages/tgui-dev-server/package.json +++ b/tgui/packages/tgui-dev-server/package.json @@ -1,11 +1,11 @@ { - "name": "tgui-dev-server", - "version": "6.0.0", - "dependencies": { - "axios": "^1.12.2", - "source-map": "^0.7.6", - "stacktrace-parser": "^0.1.11" - }, - "private": true, - "type": "module" + "name": "tgui-dev-server", + "version": "6.0.0", + "dependencies": { + "axios": "^1.12.2", + "source-map": "^0.7.6", + "stacktrace-parser": "^0.1.11" + }, + "private": true, + "type": "module" } diff --git a/tgui/packages/tgui-panel/game/reducer.ts b/tgui/packages/tgui-panel/game/reducer.ts index e2c2536e90..75ac4f2325 100644 --- a/tgui/packages/tgui-panel/game/reducer.ts +++ b/tgui/packages/tgui-panel/game/reducer.ts @@ -4,8 +4,12 @@ * @license MIT */ -import { connectionLost, updateExportData } from './actions'; -import { connectionRestored, dismissWarning } from './actions'; +import { + connectionLost, + connectionRestored, + dismissWarning, + updateExportData, +} from './actions'; import type { gameState } from './types'; const initialState: gameState = { diff --git a/tgui/packages/tgui-panel/package.json b/tgui/packages/tgui-panel/package.json index 58a1b06b81..59e657c90c 100644 --- a/tgui/packages/tgui-panel/package.json +++ b/tgui/packages/tgui-panel/package.json @@ -3,8 +3,8 @@ "version": "6.0.0", "dependencies": { "common": "workspace:*", - "dompurify": "^3.2.7", - "es-toolkit": "^1.40.0", + "dompurify": "^3.3.0", + "es-toolkit": "^1.41.0", "react": "^19.2.0", "react-dom": "^19.2.0", "tgui": "workspace:*", diff --git a/tgui/packages/tgui-panel/settings/SettingsPanel.tsx b/tgui/packages/tgui-panel/settings/SettingsPanel.tsx index 50aaf6a5cd..8716bc957a 100644 --- a/tgui/packages/tgui-panel/settings/SettingsPanel.tsx +++ b/tgui/packages/tgui-panel/settings/SettingsPanel.tsx @@ -10,7 +10,6 @@ import { Section, Stack, Tabs } from 'tgui-core/components'; import { ChatPageSettings } from '../chat'; import { changeSettingsTab } from './actions'; import { SETTINGS_TABS } from './constants'; -import { selectActiveTab } from './selectors'; import { SettingsStatPanel } from './SettingsStatPanel'; import { AdminSettings } from './SettingTabs/AdminSettings'; import { ExportTab } from './SettingTabs/ExportTab'; @@ -18,6 +17,7 @@ import { MessageLimits } from './SettingTabs/MessageLimits'; import { SettingsGeneral } from './SettingTabs/SettingsGeneral'; import { TextHighlightSettings } from './SettingTabs/TextHighlightSettings'; import { TTSSettings } from './SettingTabs/TTSSettings'; +import { selectActiveTab } from './selectors'; export const SettingsPanel = (props) => { const activeTab = useSelector(selectActiveTab); diff --git a/tgui/packages/tgui-setup/ntos-error.css b/tgui/packages/tgui-setup/ntos-error.css index 26f2fd6b75..67266d19b6 100644 --- a/tgui/packages/tgui-setup/ntos-error.css +++ b/tgui/packages/tgui-setup/ntos-error.css @@ -1,113 +1,113 @@ /* Blink polyfill, originally authored on /tg/ by @iamgoofball */ blink { - animation: 1s linear infinite condemned-blink-effect; + animation: 1s linear infinite condemned-blink-effect; } @keyframes condemned-blink-effect { - 0% { - visibility: hidden; - } - 50% { - visibility: hidden; - } - 100% { - visibility: visible; - } + 0% { + visibility: hidden; + } + 50% { + visibility: hidden; + } + 100% { + visibility: visible; + } } .FatalError { - display: none; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - padding: 12px; - font-size: 12px; - font-family: Consolas, monospace; - color: #ffffff; - background-color: #0000dd; - z-index: 1000; - overflow: hidden; - text-align: center; + display: none; + position: absolute; + top: 0; + left: 0; + right: 0; + bottom: 0; + padding: 12px; + font-size: 12px; + font-family: Consolas, monospace; + color: #ffffff; + background-color: #0000dd; + z-index: 1000; + overflow: hidden; + text-align: center; } .FatalError--visible { - /* biome-ignore lint/complexity/noImportantStyles: Needed */ - display: block !important; + /* biome-ignore lint/complexity/noImportantStyles: Needed */ + display: block !important; } .FatalError__logo { - display: inline-block; - text-align: left; - font-size: 10px; - line-height: 12px; - position: relative; - margin: 16px; - top: 0; - left: 0; - animation: - FatalError__rainbow 2s linear infinite alternate, - FatalError__shadow 4s linear infinite alternate, - FatalError__tfmX 3s infinite alternate, - FatalError__tfmY 4s infinite alternate; - white-space: pre; + display: inline-block; + text-align: left; + font-size: 10px; + line-height: 12px; + position: relative; + margin: 16px; + top: 0; + left: 0; + animation: + FatalError__rainbow 2s linear infinite alternate, + FatalError__shadow 4s linear infinite alternate, + FatalError__tfmX 3s infinite alternate, + FatalError__tfmY 4s infinite alternate; + white-space: pre; } .FatalError__header { - margin-top: 12px; + margin-top: 12px; } .FatalError__stack { - text-align: left; - white-space: pre-wrap; - word-break: break-all; - margin-top: 24px; - margin-bottom: 24px; + text-align: left; + white-space: pre-wrap; + word-break: break-all; + margin-top: 24px; + margin-bottom: 24px; } .FatalError__footer { - margin-bottom: 24px; + margin-bottom: 24px; } @keyframes FatalError__rainbow { - 0% { - color: #ff0; - } - 50% { - color: #0ff; - } - 100% { - color: #f0f; - } + 0% { + color: #ff0; + } + 50% { + color: #0ff; + } + 100% { + color: #f0f; + } } @keyframes FatalError__shadow { - 0% { - left: -2px; - text-shadow: 4px 0 #f0f; - } - 50% { - left: 0px; - text-shadow: 0px 0 #0ff; - } - 100% { - left: 2px; - text-shadow: -4px 0 #ff0; - } + 0% { + left: -2px; + text-shadow: 4px 0 #f0f; + } + 50% { + left: 0px; + text-shadow: 0px 0 #0ff; + } + 100% { + left: 2px; + text-shadow: -4px 0 #ff0; + } } @keyframes FatalError__tfmX { - 0% { - left: 15px; - } - 100% { - left: -15px; - } + 0% { + left: 15px; + } + 100% { + left: -15px; + } } @keyframes FatalError__tfmY { - 100% { - top: -15px; - } + 100% { + top: -15px; + } } diff --git a/tgui/packages/tgui-setup/package.json b/tgui/packages/tgui-setup/package.json index e224fd464b..f5a18cc436 100644 --- a/tgui/packages/tgui-setup/package.json +++ b/tgui/packages/tgui-setup/package.json @@ -1,14 +1,14 @@ { - "name": "tgui-setup", - "version": "0.0.1", - "description": "Minifies assets to inject into tgui.html", - "private": true, - "scripts": { - "build:helpers": "terser helpers.js -f ascii_only,comments=false -o ../../public/helpers.min.js", - "build:style": "cleancss -o ../../public/ntos-error.min.css ntos-error.css" - }, - "dependencies": { - "clean-css-cli": "^5.6.3", - "terser": "^5.44.0" - } + "name": "tgui-setup", + "version": "0.0.1", + "description": "Minifies assets to inject into tgui.html", + "private": true, + "scripts": { + "build:helpers": "terser helpers.js -f ascii_only,comments=false -o ../../public/helpers.min.js", + "build:style": "cleancss -o ../../public/ntos-error.min.css ntos-error.css" + }, + "dependencies": { + "clean-css-cli": "^5.6.3", + "terser": "^5.44.0" + } } diff --git a/tgui/packages/tgui/interfaces/ColorMate/index.tsx b/tgui/packages/tgui/interfaces/ColorMate/index.tsx index 734d42d78c..acb42a879b 100644 --- a/tgui/packages/tgui/interfaces/ColorMate/index.tsx +++ b/tgui/packages/tgui/interfaces/ColorMate/index.tsx @@ -69,7 +69,7 @@ export const ColorMate = (props) => { if (!usedMode) return; - if(!mode && !index) { + if (!mode && !index) { setActiveId({ id: null, type: null }); } diff --git a/tgui/packages/tgui/interfaces/DisposalBin.tsx b/tgui/packages/tgui/interfaces/DisposalBin.tsx index 2e83187c5c..b603799419 100644 --- a/tgui/packages/tgui/interfaces/DisposalBin.tsx +++ b/tgui/packages/tgui/interfaces/DisposalBin.tsx @@ -229,7 +229,6 @@ const EStopSvg = (props: React.SVGProps) => { {...props} > - {/** biome-ignore lint/correctness/useUniqueElementIds: Required for SVG */} ) => { transform="scale(.5)" /> - {/** biome-ignore lint/correctness/useUniqueElementIds: Required for SVG */} ) => { transform="scale(.5)" /> - {/** biome-ignore lint/correctness/useUniqueElementIds: Required for SVG */} { {max_rate ? ( - {`${(rate / 100).toFixed(2)} L/s`} + {`${(rate / 100).toFixed(2)} L/s`} ) : ( diff --git a/tgui/packages/tgui/interfaces/LootPanel/index.tsx b/tgui/packages/tgui/interfaces/LootPanel/index.tsx index d72370fb3b..beff1a0cea 100644 --- a/tgui/packages/tgui/interfaces/LootPanel/index.tsx +++ b/tgui/packages/tgui/interfaces/LootPanel/index.tsx @@ -1,5 +1,4 @@ -import { useState } from 'react'; -import { useMemo } from 'react'; +import { useMemo, useState } from 'react'; import { useBackend } from 'tgui/backend'; import { Window } from 'tgui/layouts'; import { Button, Input, Section, Stack } from 'tgui-core/components'; diff --git a/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx b/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx index 9d10d3ebcb..fb0a9fa129 100644 --- a/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx +++ b/tgui/packages/tgui/interfaces/MiningOreProcessingConsole.tsx @@ -1,6 +1,5 @@ import { useBackend } from 'tgui/backend'; import { Window } from 'tgui/layouts'; -import { Stack } from 'tgui-core/components'; import { AnimatedNumber, Box, @@ -8,6 +7,7 @@ import { Dropdown, LabeledList, Section, + Stack, } from 'tgui-core/components'; import type { BooleanLike } from 'tgui-core/react'; import { toTitleCase } from 'tgui-core/string'; diff --git a/tgui/packages/tgui/interfaces/NtosCameraConsole.tsx b/tgui/packages/tgui/interfaces/NtosCameraConsole.tsx index 7474666c1a..bec48535f3 100644 --- a/tgui/packages/tgui/interfaces/NtosCameraConsole.tsx +++ b/tgui/packages/tgui/interfaces/NtosCameraConsole.tsx @@ -3,8 +3,8 @@ import { NtosWindow } from 'tgui/layouts'; import { Button, ByondUi } from 'tgui-core/components'; import { - type camera, CameraConsoleContent, + type camera, type Data, prevNextCamera, selectCameras, diff --git a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/stats/SpeciesSpaceStats.tsx b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/stats/SpeciesSpaceStats.tsx index a781f86635..73a6535649 100644 --- a/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/stats/SpeciesSpaceStats.tsx +++ b/tgui/packages/tgui/interfaces/PreferencesMenu/bay_prefs/general/stats/SpeciesSpaceStats.tsx @@ -1,5 +1,5 @@ -import { Box, LabeledList, Stack } from 'tgui-core/components'; import { T0C } from 'tgui/constants'; +import { Box, LabeledList, Stack } from 'tgui-core/components'; import { YesNoBox } from '../../../../PublicLibraryWiki/WikiCommon/WikiQuickElements'; import type { SpeciesStats } from '../data'; import { @@ -33,9 +33,12 @@ export const SpeciesBaseStats = (props: { - {speciesStats.breath_type || "N/A"} + {speciesStats.breath_type || 'N/A'} @@ -76,7 +79,10 @@ export const SpeciesBaseStats = (props: { baseStats.hazard_low_pressure, )} > - {formatStat(Math.max(0, speciesStats.hazard_low_pressure), ' kPa')} + {formatStat( + Math.max(0, speciesStats.hazard_low_pressure), + ' kPa', + )} @@ -86,7 +92,10 @@ export const SpeciesBaseStats = (props: { speciesStats.hazard_high_pressure, )} > - {formatStat(Math.max(0, speciesStats.hazard_high_pressure), ' kPa')} + {formatStat( + Math.max(0, speciesStats.hazard_high_pressure), + ' kPa', + )} diff --git a/tgui/packages/tgui/interfaces/ResearchConsole/index.tsx b/tgui/packages/tgui/interfaces/ResearchConsole/index.tsx index f37a98f675..6ac9314eda 100644 --- a/tgui/packages/tgui/interfaces/ResearchConsole/index.tsx +++ b/tgui/packages/tgui/interfaces/ResearchConsole/index.tsx @@ -9,11 +9,10 @@ import { Stack, Tabs, } from 'tgui-core/components'; - +import { DestructiveAnalyzer } from '../DestructiveAnalyzer'; import { ConstructorEnum, type Data, Tab } from './data'; import { Constructor } from './pages/Constructor'; import { DesignList } from './pages/DesignList'; -import { DestructiveAnalyzer } from '../DestructiveAnalyzer'; import { LockScreen } from './pages/LockScreen'; import { Misc } from './pages/Misc'; import { ResearchList } from './pages/ResearchList'; diff --git a/tgui/packages/tgui/interfaces/ResleevingConsole/ResleevingConsoleElements.tsx b/tgui/packages/tgui/interfaces/ResleevingConsole/ResleevingConsoleElements.tsx index c264c35b68..7d4263f50f 100644 --- a/tgui/packages/tgui/interfaces/ResleevingConsole/ResleevingConsoleElements.tsx +++ b/tgui/packages/tgui/interfaces/ResleevingConsole/ResleevingConsoleElements.tsx @@ -1,6 +1,12 @@ import { useBackend } from 'tgui/backend'; -import { Stack } from 'tgui-core/components'; -import { Box, Button, NoticeBox, Section, Tabs } from 'tgui-core/components'; +import { + Box, + Button, + NoticeBox, + Section, + Stack, + Tabs, +} from 'tgui-core/components'; import { MENU_BODY, MENU_MAIN, MENU_MIND } from './constants'; import { ResleevingConsolePodGrowers } from './ResleevingConsolePodGrowers'; diff --git a/tgui/packages/tgui/interfaces/VorePanel/VorePanelMainTabs/VoreInsidePanel.tsx b/tgui/packages/tgui/interfaces/VorePanel/VorePanelMainTabs/VoreInsidePanel.tsx index f9d3560729..cdaf1bc1ad 100644 --- a/tgui/packages/tgui/interfaces/VorePanel/VorePanelMainTabs/VoreInsidePanel.tsx +++ b/tgui/packages/tgui/interfaces/VorePanel/VorePanelMainTabs/VoreInsidePanel.tsx @@ -1,8 +1,10 @@ import { Box, Collapsible, Section } from 'tgui-core/components'; import type { BooleanLike } from 'tgui-core/react'; - -import { digestModeToPreyMode, reagentToColor } from '../constants'; -import { digestModeToColor } from '../constants'; +import { + digestModeToColor, + digestModeToPreyMode, + reagentToColor, +} from '../constants'; import type { insideData } from '../types'; import { VoreContentsPanel } from '../VoreSelectedBellyTabs/VoreContentsPanel'; diff --git a/tgui/packages/tgui/interfaces/WeaverConfig.tsx b/tgui/packages/tgui/interfaces/WeaverConfig.tsx index 32c2e5378a..8f1f3c6112 100644 --- a/tgui/packages/tgui/interfaces/WeaverConfig.tsx +++ b/tgui/packages/tgui/interfaces/WeaverConfig.tsx @@ -26,127 +26,129 @@ export const WeaverConfig = (props) => { silk_max_reserve, silk_color, silk_production, - savefile_selected + savefile_selected, } = data; - const windowHeight = - (savefile_selected ? 0 : 90); + const windowHeight = savefile_selected ? 0 : 90; - return ( - - - + return ( + + + + + + Silk Reserves currently at {silk_reserve} out of{' '} + {silk_max_reserve} + + + {!savefile_selected && ( - Silk Reserves currently at {silk_reserve} out of {silk_max_reserve} + + WARNING: Your current selected savefile (in Character Setup) is + not the same as your currently loaded savefile. Please select it + to prevent savefile corruption. + - {!savefile_selected && ( - - - WARNING: Your current selected savefile (in Character Setup) is - not the same as your currently loaded savefile. Please select it - to prevent savefile corruption. - - - )} - -
- - - - - - - - - - - - - act('toggle_silk_production')} - /> - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-
-
-
- ); - }; + )} + +
+ + + + + + + + + + + + + act('toggle_silk_production')} + /> + + +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+ ); +}; diff --git a/tgui/packages/tgui/package.json b/tgui/packages/tgui/package.json index 66046cb4a8..5ad3d41564 100644 --- a/tgui/packages/tgui/package.json +++ b/tgui/packages/tgui/package.json @@ -4,8 +4,8 @@ "dependencies": { "common": "workspace:*", "dateformat": "^5.0.3", - "dompurify": "^3.2.7", - "es-toolkit": "^1.40.0", + "dompurify": "^3.3.0", + "es-toolkit": "^1.41.0", "highlight.js": "^11.11.1", "js-yaml": "^4.1.0", "marked": "^15.0.12", diff --git a/tools/build/build.ts b/tools/build/build.ts index 821033c708..3719699da9 100644 --- a/tools/build/build.ts +++ b/tools/build/build.ts @@ -375,6 +375,11 @@ export const TguiAnalyzeTarget = new Juke.Target({ executes: () => bun('tgui:analyze'), }); +export const TguiFix = new Juke.Target({ + dependsOn: [BunTarget], + executes: () => bunRoot('tgui:fix'), +}); + export const TestTarget = new Juke.Target({ dependsOn: [DmTestTarget, TguiTestTarget], }); diff --git a/tools/build/bun.lock b/tools/build/bun.lock index 7cfe34f9dd..5f810fbe03 100644 --- a/tools/build/bun.lock +++ b/tools/build/bun.lock @@ -8,13 +8,13 @@ }, }, "packages": { - "@types/bun": ["@types/bun@1.3.0", "", { "dependencies": { "bun-types": "1.3.0" } }, "sha512-+lAGCYjXjip2qY375xX/scJeVRmZ5cY0wyHYyCYxNcdEXrQ4AOe3gACgd4iQ8ksOslJtW4VNxBJ8llUwc3a6AA=="], + "@types/bun": ["@types/bun@1.3.1", "", { "dependencies": { "bun-types": "1.3.1" } }, "sha512-4jNMk2/K9YJtfqwoAa28c8wK+T7nvJFOjxI4h/7sORWcypRNxBpr+TPNaCfVWq70tLCJsqoFwcf0oI0JU/fvMQ=="], "@types/node": ["@types/node@22.15.29", "", { "dependencies": { "undici-types": "~6.21.0" } }, "sha512-LNdjOkUDlU1RZb8e1kOIUpN1qQUlzGkEtbVNo53vbrwDg5om6oduhm4SiUaPW5ASTXhAiP0jInWG8Qx9fVlOeQ=="], "@types/react": ["@types/react@19.1.10", "", { "dependencies": { "csstype": "^3.0.2" } }, "sha512-EhBeSYX0Y6ye8pNebpKrwFJq7BoQ8J5SO6NlvNwwHjSj6adXJViPQrKlsyPw7hLBLvckEMO1yxeGdR82YBBlDg=="], - "bun-types": ["bun-types@1.3.0", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-u8X0thhx+yJ0KmkxuEo9HAtdfgCBaM/aI9K90VQcQioAmkVp3SG3FkwWGibUFz3WdXAdcsqOcbU40lK7tbHdkQ=="], + "bun-types": ["bun-types@1.3.1", "", { "dependencies": { "@types/node": "*" }, "peerDependencies": { "@types/react": "^19" } }, "sha512-NMrcy7smratanWJ2mMXdpatalovtxVggkj11bScuWuiOoXTiKIu2eVS1/7qbyI/4yHedtsn175n4Sm4JcdHLXw=="], "csstype": ["csstype@3.1.3", "", {}, "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw=="], diff --git a/tools/build/package.json b/tools/build/package.json index 291f6d4c7e..99eb762174 100644 --- a/tools/build/package.json +++ b/tools/build/package.json @@ -2,6 +2,6 @@ "private": true, "type": "module", "devDependencies": { - "@types/bun": "^1.3.0" + "@types/bun": "^1.3.1" } }