Typecheck on the native compiler, keep 6 for the tools

typescript 7.0.2 is the native compiler and exports no JavaScript API, so
typescript-eslint cannot read it — it refuses TS 7 outright. It comes in
aliased as tsgo and does the typechecking through a new typecheck script;
typescript stays on the 6 line for the tools.
7 diagnostics before and after.

Co-authored-by: Hanzo Dev <[email protected]>
This commit is contained in:
2026-09-16 23:29:06 -07:00
co-authored by Hanzo Dev
parent b96e2e2f47
commit 9fffdd910e
2 changed files with 247 additions and 34 deletions
+3 -1
View File
@@ -8,6 +8,7 @@
"build": "vite build",
"build:dev": "vite build --mode development",
"lint": "eslint .",
"typecheck": "node_modules/tsgo/bin/tsc --noEmit --incremental false -p tsconfig.app.json && node_modules/tsgo/bin/tsc --noEmit --incremental false -p tsconfig.node.json",
"preview": "vite preview"
},
"dependencies": {
@@ -88,7 +89,8 @@
"globals": "^15.9.0",
"postcss": "^8.4.47",
"tailwindcss": "^4.0.17",
"typescript": "^5.5.3",
"tsgo": "npm:[email protected]",
"typescript": "6.0.3",
"typescript-eslint": "^8.0.1",
"vite": "^5.4.1"
}
+244 -33
View File
@@ -234,12 +234,15 @@ importers:
tailwindcss:
specifier: ^4.0.17
version: 4.1.4
tsgo:
specifier: npm:[email protected]
version: [email protected]
typescript:
specifier: ^5.5.3
version: 5.8.3
specifier: 6.0.3
version: 6.0.3
typescript-eslint:
specifier: ^8.0.1
version: 8.30.1([email protected]([email protected]))(typescript@5.8.3)
version: 8.30.1([email protected]([email protected]))(typescript@6.0.3)
vite:
specifier: ^5.4.1
version: 5.4.18(@types/[email protected])([email protected])
@@ -1515,6 +1518,126 @@ packages:
resolution: {integrity: sha512-aEhgas7aJ6vZnNFC7K4/vMGDGyOiqWcYZPpIWrTKuTAlsvDNKy2GFDqh9smL+iq069ZvR0YzEeq0B8NJlLzjFA==}
engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0}
'@typescript/[email protected]':
resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==}
engines: {node: '>=16.20.0'}
cpu: [ppc64]
os: [aix]
'@typescript/[email protected]':
resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [darwin]
'@typescript/[email protected]':
resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [darwin]
'@typescript/[email protected]':
resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [freebsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [freebsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==}
engines: {node: '>=16.20.0'}
cpu: [arm]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==}
engines: {node: '>=16.20.0'}
cpu: [loong64]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==}
engines: {node: '>=16.20.0'}
cpu: [mips64el]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==}
engines: {node: '>=16.20.0'}
cpu: [ppc64]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==}
engines: {node: '>=16.20.0'}
cpu: [riscv64]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==}
engines: {node: '>=16.20.0'}
cpu: [s390x]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [linux]
'@typescript/[email protected]':
resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [netbsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [netbsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [openbsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [openbsd]
'@typescript/[email protected]':
resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [sunos]
'@typescript/[email protected]':
resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==}
engines: {node: '>=16.20.0'}
cpu: [arm64]
os: [win32]
'@typescript/[email protected]':
resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==}
engines: {node: '>=16.20.0'}
cpu: [x64]
os: [win32]
'@vitejs/[email protected]':
resolution: {integrity: sha512-jYFUSXhwMCYsh/aQTgSGLIN3Foz5wMbH9ahb0Zva//UzwZYbMiZd7oT3AU9jHT9DLswYDswsRwPU9jVF3yA48Q==}
peerDependencies:
@@ -2465,11 +2588,16 @@ packages:
eslint: ^8.57.0 || ^9.0.0
typescript: '>=4.8.4 <5.9.0'
typescript@5.8.3:
resolution: {integrity: sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==}
typescript@6.0.3:
resolution: {integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==}
engines: {node: '>=14.17'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==}
engines: {node: '>=16.20.0'}
hasBin: true
[email protected]:
resolution: {integrity: sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==}
@@ -3701,32 +3829,32 @@ snapshots:
'@types/[email protected]': {}
'@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@5.8.3))([email protected]([email protected]))(typescript@5.8.3)':
'@typescript-eslint/[email protected](@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@6.0.3))([email protected]([email protected]))(typescript@6.0.3)':
dependencies:
'@eslint-community/regexpp': 4.12.1
'@typescript-eslint/parser': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/parser': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
'@typescript-eslint/scope-manager': 8.30.1
'@typescript-eslint/type-utils': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/type-utils': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.30.1
eslint: 9.24.0([email protected])
graphemer: 1.4.0
ignore: 5.3.2
natural-compare: 1.4.0
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
ts-api-utils: 2.1.0(typescript@6.0.3)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@5.8.3)':
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@6.0.3)':
dependencies:
'@typescript-eslint/scope-manager': 8.30.1
'@typescript-eslint/types': 8.30.1
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
'@typescript-eslint/typescript-estree': 8.30.1(typescript@6.0.3)
'@typescript-eslint/visitor-keys': 8.30.1
debug: 4.4.0
eslint: 9.24.0([email protected])
typescript: 5.8.3
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -3735,20 +3863,20 @@ snapshots:
'@typescript-eslint/types': 8.30.1
'@typescript-eslint/visitor-keys': 8.30.1
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@5.8.3)':
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@6.0.3)':
dependencies:
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/typescript-estree': 8.30.1(typescript@6.0.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
debug: 4.4.0
eslint: 9.24.0([email protected])
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
ts-api-utils: 2.1.0(typescript@6.0.3)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected]': {}
'@typescript-eslint/[email protected](typescript@5.8.3)':
'@typescript-eslint/[email protected](typescript@6.0.3)':
dependencies:
'@typescript-eslint/types': 8.30.1
'@typescript-eslint/visitor-keys': 8.30.1
@@ -3757,19 +3885,19 @@ snapshots:
is-glob: 4.0.3
minimatch: 9.0.5
semver: 7.7.1
ts-api-utils: 2.1.0(typescript@5.8.3)
typescript: 5.8.3
ts-api-utils: 2.1.0(typescript@6.0.3)
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@5.8.3)':
'@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@6.0.3)':
dependencies:
'@eslint-community/eslint-utils': 4.6.1([email protected]([email protected]))
'@typescript-eslint/scope-manager': 8.30.1
'@typescript-eslint/types': 8.30.1
'@typescript-eslint/typescript-estree': 8.30.1(typescript@5.8.3)
'@typescript-eslint/typescript-estree': 8.30.1(typescript@6.0.3)
eslint: 9.24.0([email protected])
typescript: 5.8.3
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
@@ -3778,6 +3906,66 @@ snapshots:
'@typescript-eslint/types': 8.30.1
eslint-visitor-keys: 4.2.0
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@typescript/[email protected]':
optional: true
'@vitejs/[email protected]([email protected](@types/[email protected])([email protected]))':
dependencies:
'@swc/core': 1.11.21
@@ -4677,9 +4865,9 @@ snapshots:
dependencies:
is-number: 7.0.0
[email protected](typescript@5.8.3):
[email protected](typescript@6.0.3):
dependencies:
typescript: 5.8.3
typescript: 6.0.3
[email protected]: {}
@@ -4689,17 +4877,40 @@ snapshots:
dependencies:
prelude-ls: 1.2.1
[email protected]([email protected]([email protected]))(typescript@5.8.3):
[email protected]([email protected]([email protected]))(typescript@6.0.3):
dependencies:
'@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@5.8.3))([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/parser': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@5.8.3)
'@typescript-eslint/eslint-plugin': 8.30.1(@typescript-eslint/[email protected]([email protected]([email protected]))(typescript@6.0.3))([email protected]([email protected]))(typescript@6.0.3)
'@typescript-eslint/parser': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
'@typescript-eslint/utils': 8.30.1([email protected]([email protected]))(typescript@6.0.3)
eslint: 9.24.0([email protected])
typescript: 5.8.3
typescript: 6.0.3
transitivePeerDependencies:
- supports-color
typescript@5.8.3: {}
typescript@6.0.3: {}
[email protected]:
optionalDependencies:
'@typescript/typescript-aix-ppc64': 7.0.2
'@typescript/typescript-darwin-arm64': 7.0.2
'@typescript/typescript-darwin-x64': 7.0.2
'@typescript/typescript-freebsd-arm64': 7.0.2
'@typescript/typescript-freebsd-x64': 7.0.2
'@typescript/typescript-linux-arm': 7.0.2
'@typescript/typescript-linux-arm64': 7.0.2
'@typescript/typescript-linux-loong64': 7.0.2
'@typescript/typescript-linux-mips64el': 7.0.2
'@typescript/typescript-linux-ppc64': 7.0.2
'@typescript/typescript-linux-riscv64': 7.0.2
'@typescript/typescript-linux-s390x': 7.0.2
'@typescript/typescript-linux-x64': 7.0.2
'@typescript/typescript-netbsd-arm64': 7.0.2
'@typescript/typescript-netbsd-x64': 7.0.2
'@typescript/typescript-openbsd-arm64': 7.0.2
'@typescript/typescript-openbsd-x64': 7.0.2
'@typescript/typescript-sunos-x64': 7.0.2
'@typescript/typescript-win32-arm64': 7.0.2
'@typescript/typescript-win32-x64': 7.0.2
[email protected]: {}