diff --git a/End-of-Life-Strategy.md b/End-of-Life-Strategy.md
index b953f7952f..2ded73f068 100644
--- a/End-of-Life-Strategy.md
+++ b/End-of-Life-Strategy.md
@@ -93,8 +93,8 @@ mindmap
đ
Current Latest
â° EOL Active yearly
đ ESBuild Integration
- đ TypeScript 6.x
- đ
Current Latest
+ đ TypeScript 6.0.2 / 7.0.1-rc
+ đ
Current stable + RC migration started
â° EOL ~6-month cycles
đ Strict Mode Enabled
đ ESLint 9.x
@@ -128,7 +128,7 @@ mindmap
| **âď¸ React Framework** | 19.2.5 (Latest) | Major annually, Minor quarterly | ~2027-2028 | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **đŽ Three.js / R3F** | 0.184.0 / 9.6.0 (Latest) | Major annually, Patch monthly | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **⥠Vite Build Tool** | 8.0.9 (Latest) | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
-| **đ TypeScript** | 6.0.3 (Latest) | Major every ~12 months | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
+| **đ TypeScript** | 6.0.2 stable / 7.0.1-rc (migration started) | Major every ~12 months | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **â Node.js Runtime** | 26.x (CI); 27.x nightly (next testing) | Major every 6 months; even-numbered majors LTS | LTS 24.x: **Apr 2027**; LTS 26.x: **Apr 2028** | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **đĽď¸ GitHub Actions Runner** | ubuntu-26.04 | Pinned OS version (not `ubuntu-latest`) | Active (Ubuntu 26.04 LTS) | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
| **đ§Ş Testing Stack** | Vitest 4.1.4 + Cypress 15.14.0 | Major annually | Active development | [](https://github.com/Hack23/ISMS-PUBLIC/blob/main/CLASSIFICATION.md) |
@@ -407,7 +407,7 @@ gantt
Vite 8.x :active, vite8, 2025-06-01, 2026-12-31
Vite 9.x (Future) :vite9, 2026-06-01, 2027-12-31
TypeScript 5.x :done, ts5, 2024-03-16, 2025-09-30
- TypeScript 6.x :active, ts6, 2026-03-01, 2027-03-31
+ TypeScript 6.0.2 / 7.0.1-rc :active, ts6, 2026-03-01, 2027-03-31
section Graphics and Audio
Three.js 0.183.x :active, three, 2024-01-01, 2026-12-31
diff --git a/README.md b/README.md
index 1e95206a40..4714adb11e 100644
--- a/README.md
+++ b/README.md
@@ -42,7 +42,7 @@
đĽ Korean martial arts ¡ âŻď¸ Eight Trigrams (íę´) ¡ đŻ 70 vital points (ę¸ě) ¡ âď¸ 51 techniques ¡ đŽ Three.js / React Three Fiber ¡ đą 60fps desktop ¡ 55fps+ mobile
Black Trigram (íę´) is a production-ready 3D precision combat simulator that turns authentic Korean martial arts â Hapkido (íŠę¸°ë), Taekwondo (íęśë), Taekkyeon (í겏), Kuk Sool Won, Tang Soo Do, Hwa Rang Do, Ssireum, Subak, Yudo, and Gongkwon Yusul â into a typed, deterministic, browser-native combat experience. Eight I Ching trigram stances drive a 70-point anatomical targeting system across 5 distinct fighter archetypes, with skeletal animation (28 bones ¡ 7 hand poses ¡ 4 grappling states), counter-attack AI with limb-exposure detection, and a complete 13/13 combat-realism stack covering pain, consciousness, breathing, balance, trauma visualization, and bone-impact audio.
- Built on React 19, Three.js 0.184, @react-three/fiber 9, @react-three/drei 10, TypeScript 6.0.3, and Vite 8. Frontend-only architecture deployed on AWS CloudFront + S3 (multi-region) with Route 53 health-checked failover to GitHub Pages â zero backend, zero PII, WCAG 2.1 AA accessible, GDPR-clean, and aligned with the full Hack23 ISMS, ISO 27001:2022, NIST CSF 2.0, CIS Controls v8.1, EU CRA, and NIS2.
+ Built on React 19.2.7, Three.js 0.185.1, @react-three/fiber 9.6.1, @react-three/drei 10.7.7, TypeScript 6.0.2 + 7.0.1-rc (migration started), and Vite 8.1.3. Frontend-only architecture deployed on AWS CloudFront + S3 (multi-region) with Route 53 health-checked failover to GitHub Pages â zero backend, zero PII, WCAG 2.1 AA accessible, GDPR-clean, and aligned with the full Hack23 ISMS, ISO 27001:2022, NIST CSF 2.0, CIS Controls v8.1, EU CRA, and NIS2.

@@ -123,7 +123,7 @@ It is a **complete 13/13 combat-realism platform** â body-part health, vital-p
|---|---|
| đĽ **Cultural Authenticity** | Hangul + Revised Romanization + meaning for every term. 51 techniques sourced from Hapkido, Taekwondo, Taekkyeon, Kuk Sool Won, Tang Soo Do, Hwa Rang Do, Gumdo, Ssireum, Subak, Yudo, Gongkwon Yusul. 127 medical references underpin the 70 vital points. |
| đŻ **Anatomical Precision** | 70/70 vital points, 4 body regions, 5 severity levels, 14 TCM meridians, 28-bone skeletal animation, 7 hand poses, 4 grappling states. Counter-attack AI with limb-exposure detection. |
-| âď¸ **Engineering Rigor** | TypeScript strict mode, React 19, Three.js 0.184, R3F 9, Drei 10, Vite 8 â 60fps desktop, 55fps+ mobile, 75%+ test coverage, 518 tests, deterministic combat math. |
+| âď¸ **Engineering Rigor** | TypeScript strict mode, React 19.2.7, Three.js 0.185.1, R3F 9.6.1, Drei 10.7.7, Vite 8.1.3, and a TypeScript 6/7 migration in progress â 60fps desktop, 55fps+ mobile, 75%+ test coverage, 518 tests, deterministic combat math. |
| đ **Radical Transparency** | Frontend-only ¡ zero backend ¡ zero PII ¡ public ISMS ¡ CodeQL ¡ ZAP DAST ¡ Lighthouse ¡ OSSF Scorecard ¡ SLSA 3 attestations ¡ CycloneDX SBOM. |
**đ Production-readiness snapshot (v0.7.32)** â see [`game-status.md`](./game-status.md) and [`ARCHITECTURE.md`](./ARCHITECTURE.md):
@@ -370,15 +370,15 @@ Built for **combat realism**, **60fps performance**, and **production-grade engi
### đŽ Rendering Engine
-
-
-
-
-
+
+
+
+
+
### ⥠Build & Performance
-
+



@@ -543,7 +543,7 @@ George Dorn provides repository deep-dives based on **actual code inspection**,
**[Repository Deep-Dive](https://hack23.com/blog-george-dorn-trigram-code.html)**
-**Stack:** TypeScript 6.0.3 ¡ React 19 ¡ Three.js 0.184 ¡ Vite 8
+**Stack:** TypeScript 6.0.2 / 7.0.1-rc ¡ React 19.2.7 ¡ Three.js 0.185.1 ¡ @react-three/fiber 9.6.1 ¡ @react-three/drei 10.7.7 ¡ Vite 8.1.3
**Metrics:** 132+ TypeScript files ¡ 70 vital points ¡ 5 archetypes ¡ 28-bone skeletal animation ¡ 51 techniques
Examined `package.json` dependencies, explored `src/` structure, verified combat-system implementation, and reviewed AI integrations.
diff --git a/package-lock.json b/package-lock.json
index 4560178be4..cc3760e147 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -59,7 +59,8 @@
"typedoc-plugin-markdown": "4.12.0",
"typedoc-plugin-mermaid": "1.12.0",
"typedoc-plugin-missing-exports": "4.1.4",
- "typescript": "6.0.3",
+ "typescript": "npm:@typescript/typescript6@6.0.2",
+ "typescript-7": "npm:typescript@7.0.1-rc",
"typescript-eslint": "8.63.0",
"vite": "8.1.3",
"vite-bundle-analyzer": "1.3.8",
@@ -4097,6 +4098,361 @@
"url": "https://opencollective.com/eslint"
}
},
+ "node_modules/@typescript/old": {
+ "name": "typescript",
+ "version": "6.0.3",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
+ "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/@typescript/typescript-aix-ppc64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.1-rc.tgz",
+ "integrity": "sha512-oqq2ZfEJ7BQuufcC3QBQndZLPNyamYNHLao8lKRBeeSkZKypBqxPSgkzrcFZtbYcIaBvpiyUnQP9MT7DEYHWbw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "aix"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-darwin-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-arm64/-/typescript-darwin-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-Slc0yTftT2F/uGDmtPst8ijydneL6uZaLEyr2UjahxZpbhTjHFBJ5agXtVz/TL4A+ldxzjzj+E8QtLZlh/5mXw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-darwin-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-darwin-x64/-/typescript-darwin-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-h68iFW/LbA1/BsGgSRGFw981/3s1f/rY27YrmeZNuN+ly7dI+fiDduwT9ZT9866x2onoKNRq7PTyxSKyKDzfAQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "darwin"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-freebsd-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-arm64/-/typescript-freebsd-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-DE+ppd8Ix2c6OMuRkKY4PJ4hngMGJ9M95OQUP17p9xL/1IKXof7npIeuusMN/bgL5o5JzMfSGh+N+5scTYRg0Q==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-freebsd-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-freebsd-x64/-/typescript-freebsd-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-ST1ozHMw0u+CLOnWkcTyWDMV4Qn9osZ6fd1V1lnKDM1t0hZIp81mdGpdHxyHJjd7jdGrb6Gb/QXcZ1uqZ0t5zw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "freebsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-arm": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm/-/typescript-linux-arm-7.0.1-rc.tgz",
+ "integrity": "sha512-gHmHwT5Naq5CKM8g9bbaGeEpnwQEvWCLn3fwP4K2m61VQdDKkPk0Dhab/OoZ4LV2SrMddmclYXTzpyg23YGt5g==",
+ "cpu": [
+ "arm"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-arm64/-/typescript-linux-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-N46pRihK3t5zD5MUtTQcdmQUqr1WI4U2nxno1gLwOtRSsB4krFkRjPHcQNG7h2DtRkX64rQiReX6WKwg2wprMA==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-loong64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-loong64/-/typescript-linux-loong64-7.0.1-rc.tgz",
+ "integrity": "sha512-G17Sao312rgiPBTh2F4nOpLpa3CcnBSaNhqNghZk2LNhnsp1RaMO5HMq2me21gqu9xLpc6CIgHtOzU6JBgNlfg==",
+ "cpu": [
+ "loong64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-mips64el": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-mips64el/-/typescript-linux-mips64el-7.0.1-rc.tgz",
+ "integrity": "sha512-0FQspOb5UsQ4tQKvWgUO3pS9OIWkP7/8dPRWq+CRazJUeQZ4LBjtYK52jg5iIOrvItrVl2CwvRtrU3/9OihwJg==",
+ "cpu": [
+ "mips64el"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-ppc64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-ppc64/-/typescript-linux-ppc64-7.0.1-rc.tgz",
+ "integrity": "sha512-SUmwfVBEv6A2Ld0eWfcvW0FqrgemfQL8jFGOmV1qYxsDqumjE5DekHXqbstgmbE4SHr4rrjHjvmuGCY+kTH/vw==",
+ "cpu": [
+ "ppc64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-riscv64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-riscv64/-/typescript-linux-riscv64-7.0.1-rc.tgz",
+ "integrity": "sha512-rxeqnNnGiYzv/LlPHi/3+4p0ooR1cNJLjRIHXKovtiVmxXGJq6gtw8VSpbHuWPekyFMXgIAoLCZN0SQ51rAALQ==",
+ "cpu": [
+ "riscv64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-s390x": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-s390x/-/typescript-linux-s390x-7.0.1-rc.tgz",
+ "integrity": "sha512-RYWCHCiPypxajdRHM2CNK/eM22e4Ex5TTjV2pXf7PTtBowGr0xX8i8kIMknyZS0LX2QfleYHouaoMVsFDSle3g==",
+ "cpu": [
+ "s390x"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-linux-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-linux-x64/-/typescript-linux-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-PfLJSu0JzroDkqw2m4nqflPEcn8yev0m/vHFQlY9EzHorzjR6QG0wL8AJHvnD1e6h1s76AZngJ5u+z1K/D/HKw==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "linux"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-netbsd-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-arm64/-/typescript-netbsd-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-FfbPxH3dTfp8yVIaNM7bdWTixXuyxpzoemluqcqMROSIz+ImpCG3Q9HO9Ptzp9/giv+P9YYEnCMSXh61migj2w==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-netbsd-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-netbsd-x64/-/typescript-netbsd-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-FzdTfSzhRYb6hlav6K3cI5RVgcvCTvNAu/vc+t7B6AmZkThQ+t/1ntnvT5fnHmY1Az2RIBw7/b+qtCEG61HJTQ==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "netbsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-openbsd-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-arm64/-/typescript-openbsd-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-PQGhlxfNig+0YQ9Wwzd0USPBkt6w/ZqkBQWsU7G/0JkTzunJel+jSWwhKw4947pak/m7hGSeYiI04xReDLGZww==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-openbsd-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-openbsd-x64/-/typescript-openbsd-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-WJ7NYgO2mHmLUkI/tZ+hl8lFd26QPJqO8ONOHNuYbdsybLvSB6B6sep222JIVrOfPRDGvFinbGGB+l3m1FWRWA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "openbsd"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-sunos-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-sunos-x64/-/typescript-sunos-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-UYjDeUxd765V9qcwlUPk4pEXyL0i3G76CJm9baK4i99u1pGO1psf3nXDw4MMmElVOPvGbZag99ZR/O59E2OX6w==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "sunos"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-win32-arm64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-arm64/-/typescript-win32-arm64-7.0.1-rc.tgz",
+ "integrity": "sha512-KzXzFSXZOm7zvEt2Aw0MsB2LbTL88znAiVqTDNAOHdlEb7brgmUQh/X2wM/8Be+N0fjEqWKl65cBKNwpWEbJiw==",
+ "cpu": [
+ "arm64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
+ "node_modules/@typescript/typescript-win32-x64": {
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript-win32-x64/-/typescript-win32-x64-7.0.1-rc.tgz",
+ "integrity": "sha512-98R3+OqDr/r0/PLWEoXu88AE0lGVLNd335Ew8ONgzK1JWkNs4ou/5BGt3Or1ij4iXjH+c7PRL+jFjCbtWze+EA==",
+ "cpu": [
+ "x64"
+ ],
+ "dev": true,
+ "license": "Apache-2.0",
+ "optional": true,
+ "os": [
+ "win32"
+ ],
+ "engines": {
+ "node": ">=16.20.0"
+ }
+ },
"node_modules/@upsetjs/venn.js": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/@upsetjs/venn.js/-/venn.js-2.0.0.tgz",
@@ -12313,17 +12669,53 @@
}
},
"node_modules/typescript": {
- "version": "6.0.3",
- "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz",
- "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==",
+ "name": "@typescript/typescript6",
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/@typescript/typescript6/-/typescript6-6.0.2.tgz",
+ "integrity": "sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==",
"dev": true,
"license": "Apache-2.0",
+ "dependencies": {
+ "@typescript/old": "npm:typescript@^6"
+ },
"bin": {
- "tsc": "bin/tsc",
- "tsserver": "bin/tsserver"
+ "tsc6": "bin/tsc6"
+ }
+ },
+ "node_modules/typescript-7": {
+ "name": "typescript",
+ "version": "7.0.1-rc",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-7.0.1-rc.tgz",
+ "integrity": "sha512-drEP77wK7CCDlPfXZH4e008UUQOsw1DFmHmZOZjuNA+yoDLLnSNMZRXi90NbV/1LVo7SbNLq1bs3jjvk49TEqQ==",
+ "dev": true,
+ "license": "Apache-2.0",
+ "bin": {
+ "tsc": "bin/tsc"
},
"engines": {
- "node": ">=14.17"
+ "node": ">=16.20.0"
+ },
+ "optionalDependencies": {
+ "@typescript/typescript-aix-ppc64": "7.0.1-rc",
+ "@typescript/typescript-darwin-arm64": "7.0.1-rc",
+ "@typescript/typescript-darwin-x64": "7.0.1-rc",
+ "@typescript/typescript-freebsd-arm64": "7.0.1-rc",
+ "@typescript/typescript-freebsd-x64": "7.0.1-rc",
+ "@typescript/typescript-linux-arm": "7.0.1-rc",
+ "@typescript/typescript-linux-arm64": "7.0.1-rc",
+ "@typescript/typescript-linux-loong64": "7.0.1-rc",
+ "@typescript/typescript-linux-mips64el": "7.0.1-rc",
+ "@typescript/typescript-linux-ppc64": "7.0.1-rc",
+ "@typescript/typescript-linux-riscv64": "7.0.1-rc",
+ "@typescript/typescript-linux-s390x": "7.0.1-rc",
+ "@typescript/typescript-linux-x64": "7.0.1-rc",
+ "@typescript/typescript-netbsd-arm64": "7.0.1-rc",
+ "@typescript/typescript-netbsd-x64": "7.0.1-rc",
+ "@typescript/typescript-openbsd-arm64": "7.0.1-rc",
+ "@typescript/typescript-openbsd-x64": "7.0.1-rc",
+ "@typescript/typescript-sunos-x64": "7.0.1-rc",
+ "@typescript/typescript-win32-arm64": "7.0.1-rc",
+ "@typescript/typescript-win32-x64": "7.0.1-rc"
}
},
"node_modules/typescript-eslint": {
diff --git a/package.json b/package.json
index b4aa142c54..41835de5f7 100644
--- a/package.json
+++ b/package.json
@@ -103,18 +103,19 @@
},
"scripts": {
"dev": "vite --host --open",
- "build": "tsc -b && vite build --mode production",
- "build:analyze": "tsc -b && vite build --mode production && npx vite-bundle-analyzer dist/assets/*.js",
- "build:production": "NODE_ENV=production tsc -b && vite build --mode production --minify esbuild",
- "build:profile": "tsc -b && vite build --mode production --profile --minify esbuild",
- "build:stats": "tsc -b && vite build --mode production && npx vite-bundle-analyzer dist/assets/*.js",
- "build:fast": "tsc -b --incremental && vite build --mode production --minify esbuild",
- "build:lib": "rm -rf lib && tsc -p tsconfig.lib.json && tsc-alias -p tsconfig.lib.json && vite build --config vite.lib.config.ts",
+ "tsc7": "node ./node_modules/typescript-7/bin/tsc",
+ "build": "npm run tsc7 -- -b && vite build --mode production",
+ "build:analyze": "npm run tsc7 -- -b && vite build --mode production && npx vite-bundle-analyzer dist/assets/*.js",
+ "build:production": "NODE_ENV=production npm run tsc7 -- -b && vite build --mode production --minify esbuild",
+ "build:profile": "npm run tsc7 -- -b && vite build --mode production --profile --minify esbuild",
+ "build:stats": "npm run tsc7 -- -b && vite build --mode production && npx vite-bundle-analyzer dist/assets/*.js",
+ "build:fast": "npm run tsc7 -- -b --incremental && vite build --mode production --minify esbuild",
+ "build:lib": "rm -rf lib && npm run tsc7 -- -p tsconfig.lib.json && tsc-alias -p tsconfig.lib.json && vite build --config vite.lib.config.ts",
"prepublishOnly": "npm run lint && npm run check && npm run test && npm run build:lib",
- "check": "tsc -b",
- "check:test": "tsc -p tsconfig.test.json --noEmit",
- "test:check": "tsc -p tsconfig.test.json --noEmit",
- "check:all": "tsc -b && tsc -p tsconfig.test.json --noEmit",
+ "check": "npm run tsc7 -- -b",
+ "check:test": "npm run tsc7 -- -p tsconfig.test.json --noEmit",
+ "test:check": "npm run tsc7 -- -p tsconfig.test.json --noEmit",
+ "check:all": "npm run tsc7 -- -b && npm run tsc7 -- -p tsconfig.test.json --noEmit",
"lint": "eslint .",
"preview": "vite preview --host",
"preview:analyze": "vite preview --host --mode analyze",
@@ -238,7 +239,8 @@
"typedoc-plugin-markdown": "4.12.0",
"typedoc-plugin-mermaid": "1.12.0",
"typedoc-plugin-missing-exports": "4.1.4",
- "typescript": "6.0.3",
+ "typescript": "npm:@typescript/typescript6@6.0.2",
+ "typescript-7": "npm:typescript@7.0.1-rc",
"typescript-eslint": "8.63.0",
"vite": "8.1.3",
"vite-bundle-analyzer": "1.3.8",
diff --git a/tsconfig.json b/tsconfig.json
index 4ca2850cf8..7b5681d0e6 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -23,19 +23,17 @@
"noUnusedParameters": true,
"noFallthroughCasesInSwitch": true,
"exactOptionalPropertyTypes": false, // Changed from true or default
- "baseUrl": ".",
"paths": {
- "@/*": ["src/*"],
- "@/components/*": ["src/components/*"],
- "@/systems/*": ["src/systems/*"],
- "@/types/*": ["src/types/*"],
- "@/audio/*": ["src/audio/*"],
- "@/utils/*": ["src/utils/*"],
- "@/hooks/*": ["src/hooks/*"],
- "@/data/*": ["src/data/*"],
- "@/assets/*": ["src/assets/*"]
+ "@/*": ["./src/*"],
+ "@/components/*": ["./src/components/*"],
+ "@/systems/*": ["./src/systems/*"],
+ "@/types/*": ["./src/types/*"],
+ "@/audio/*": ["./src/audio/*"],
+ "@/utils/*": ["./src/utils/*"],
+ "@/hooks/*": ["./src/hooks/*"],
+ "@/data/*": ["./src/data/*"],
+ "@/assets/*": ["./src/assets/*"]
},
-
"types": ["node", "vitest/globals"] // Add vitest/globals for vi namespace
},
"include": ["src"],
diff --git a/tsconfig.lib.json b/tsconfig.lib.json
index be0071a68e..2e9621247e 100644
--- a/tsconfig.lib.json
+++ b/tsconfig.lib.json
@@ -23,17 +23,16 @@
"declarationMap": true,
"ignoreDeprecations": "6.0",
"types": ["node"],
- "baseUrl": ".",
"paths": {
- "@/*": ["src/*"],
- "@/components/*": ["src/components/*"],
- "@/systems/*": ["src/systems/*"],
- "@/types/*": ["src/types/*"],
- "@/audio/*": ["src/audio/*"],
- "@/utils/*": ["src/utils/*"],
- "@/hooks/*": ["src/hooks/*"],
- "@/data/*": ["src/data/*"],
- "@/assets/*": ["src/assets/*"]
+ "@/*": ["./src/*"],
+ "@/components/*": ["./src/components/*"],
+ "@/systems/*": ["./src/systems/*"],
+ "@/types/*": ["./src/types/*"],
+ "@/audio/*": ["./src/audio/*"],
+ "@/utils/*": ["./src/utils/*"],
+ "@/hooks/*": ["./src/hooks/*"],
+ "@/data/*": ["./src/data/*"],
+ "@/assets/*": ["./src/assets/*"]
}
},
"include": ["src"],
|