Merge pull request #254560 from microsoft/dev/mjbvz/ts-native-optional-compile-step

Use TS native for some of our noEmit checks
This commit is contained in:
Matt Bierner
2025-08-06 11:14:47 -07:00
committed by GitHub
3 changed files with 153 additions and 9 deletions

150
package-lock.json generated
View File

@@ -79,6 +79,7 @@
"@types/yauzl": "^2.10.0",
"@types/yazl": "^2.4.2",
"@typescript-eslint/utils": "^8.36.0",
"@typescript/native-preview": "^7.0.0-dev.20250707.2",
"@vscode/gulp-electron": "^1.38.1",
"@vscode/l10n-dev": "0.0.35",
"@vscode/telemetry-extractor": "^1.10.2",
@@ -150,7 +151,7 @@
"ts-node": "^10.9.1",
"tsec": "0.2.7",
"tslib": "^2.6.3",
"typescript": "^5.9.0-dev.20250728",
"typescript": "^6.0.0-dev.20250806",
"typescript-eslint": "^8.39.0",
"util": "^0.12.4",
"webpack": "^5.94.0",
@@ -2754,6 +2755,147 @@
"url": "https://opencollective.com/eslint"
}
},
"node_modules/@typescript/native-preview": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview/-/native-preview-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-dQWOle1t2QJHiGK+ILB5SCz1Q6VfGtkrZybT4FPSaddkskYN1djY6voxza8hd8yl1Yw0PmBmbqk3E4vTKyibig==",
"dev": true,
"license": "Apache-2.0",
"bin": {
"tsgo": "bin/tsgo.js"
},
"engines": {
"node": ">=20.6.0"
},
"optionalDependencies": {
"@typescript/native-preview-darwin-arm64": "7.0.0-dev.20250806.1",
"@typescript/native-preview-darwin-x64": "7.0.0-dev.20250806.1",
"@typescript/native-preview-linux-arm": "7.0.0-dev.20250806.1",
"@typescript/native-preview-linux-arm64": "7.0.0-dev.20250806.1",
"@typescript/native-preview-linux-x64": "7.0.0-dev.20250806.1",
"@typescript/native-preview-win32-arm64": "7.0.0-dev.20250806.1",
"@typescript/native-preview-win32-x64": "7.0.0-dev.20250806.1"
}
},
"node_modules/@typescript/native-preview-darwin-arm64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-arm64/-/native-preview-darwin-arm64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-rRlWJEkaNCJmd5Ph4NQAJK4NMVwhWuycMKeGxRw8Lj68kNymZTVsNi/TDYN3I1InBj7Fg2kwzygessHHzZTb8A==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-darwin-x64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-darwin-x64/-/native-preview-darwin-x64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-n2RRV0+SHR6QnaTlJoTX6Q4M7T/P0GtWfOGiKa7QUzQFRQQNdZpTv6P2KAB38b/cfCfX7PRb6mhCWK9FMHwB3w==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"darwin"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-linux-arm": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm/-/native-preview-linux-arm-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-uriaW4phv1E6YkGTacGq8YzdZ11F1lgH1kfRjwDpzNB+UDV4ONqihU0mN1y0JRHhlqqhtKhBL6UnSqd4mbu6zA==",
"cpu": [
"arm"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-linux-arm64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-arm64/-/native-preview-linux-arm64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-fwRhKF3t4OCp4ClfNrXIXwS5G+02AymnmgFGrhvnF0Wg5II8ReVVu9mvazVcfrTN9RtJo4xVofstSF2EbgQ0Sg==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-linux-x64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-linux-x64/-/native-preview-linux-x64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-EJ5/obfzrDse9KYXzZBpwzdpPad7+y/R+atXApAekIdULHLjYZ/5j/tZ9UMEnMWkCmZaFK6JpfHOG1jOGy71nA==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"linux"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-win32-arm64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-arm64/-/native-preview-win32-arm64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-hHY/4xBsV9SWqb2nAmd9J9FQfsbte5Q4WMB2JVXSbjni0EUdDJmQgdmQ+V7v5teMaaTYhpnRrdsO95jPiR3JAA==",
"cpu": [
"arm64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@typescript/native-preview-win32-x64": {
"version": "7.0.0-dev.20250806.1",
"resolved": "https://registry.npmjs.org/@typescript/native-preview-win32-x64/-/native-preview-win32-x64-7.0.0-dev.20250806.1.tgz",
"integrity": "sha512-CFFcMz1CwZPL4TKaR10h/sZuRzGE0kLNfXq1zDDgsL1aO8gcOSDuVKrYDdwYGdedLUCINSort7kyv9nIFUKSqQ==",
"cpu": [
"x64"
],
"dev": true,
"license": "Apache-2.0",
"optional": true,
"os": [
"win32"
],
"engines": {
"node": ">=20.6.0"
}
},
"node_modules/@vscode/deviceid": {
"version": "0.1.1",
"resolved": "https://registry.npmjs.org/@vscode/deviceid/-/deviceid-0.1.1.tgz",
@@ -17348,9 +17490,9 @@
"dev": true
},
"node_modules/typescript": {
"version": "5.9.0-dev.20250728",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.0-dev.20250728.tgz",
"integrity": "sha512-+fJjHucw7t3WfY6SoCVVaSzJRpCDxu2g81wOEm0mPxyuJjs/4k1VoXIS+7SN/jEBpymlFAzxQJoK1CpIKY9OYQ==",
"version": "6.0.0-dev.20250806",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.0-dev.20250806.tgz",
"integrity": "sha512-inDvi8ujsZXA/dSgj8QiSjHSi7fYDnkRck9vvnd400VBY5RSzNl6G3zZXjFZTawwYfETOakld5vQ6a36JuNOBQ==",
"dev": true,
"license": "Apache-2.0",
"bin": {

View File

@@ -18,6 +18,7 @@
"preinstall": "node build/npm/preinstall.js",
"postinstall": "node build/npm/postinstall.js",
"compile": "node ./node_modules/gulp/bin/gulp.js compile",
"compile-check-ts-native": "tsgo --project ./src/tsconfig.json --noEmit --skipLibCheck",
"watch": "npm-run-all -lp watch-client watch-extensions",
"watchd": "deemon npm run watch",
"watch-webd": "deemon npm run watch-web",
@@ -43,8 +44,8 @@
"download-builtin-extensions-cg": "node build/lib/builtInExtensionsCG.js",
"monaco-compile-check": "tsc -p src/tsconfig.monaco.json --noEmit",
"tsec-compile-check": "node node_modules/tsec/bin/tsec -p src/tsconfig.tsec.json",
"vscode-dts-compile-check": "tsc -p src/tsconfig.vscode-dts.json && tsc -p src/tsconfig.vscode-proposed-dts.json",
"valid-layers-check": "node build/checker/layersChecker.js && tsc -p build/checker/tsconfig.browser.json && tsc -p build/checker/tsconfig.worker.json && tsc -p build/checker/tsconfig.node.json && tsc -p build/checker/tsconfig.electron-browser.json && tsc -p build/checker/tsconfig.electron-main.json && tsc -p build/checker/tsconfig.electron-utility.json",
"vscode-dts-compile-check": "tsgo --project src/tsconfig.vscode-dts.json && tsgo --project src/tsconfig.vscode-proposed-dts.json",
"valid-layers-check": "node build/checker/layersChecker.js && tsgo --project build/checker/tsconfig.browser.json && tsgo --project build/checker/tsconfig.worker.json && tsgo --project build/checker/tsconfig.node.json && tsgo --project build/checker/tsconfig.electron-browser.json && tsgo --project build/checker/tsconfig.electron-main.json && tsgo --project build/checker/tsconfig.electron-utility.json",
"define-class-fields-check": "node build/lib/propertyInitOrderChecker.js && tsc -p src/tsconfig.defineClassFields.json",
"update-distro": "node build/npm/update-distro.mjs",
"web": "echo 'npm run web' is replaced by './scripts/code-server' or './scripts/code-web'",
@@ -66,7 +67,7 @@
"extensions-ci": "node ./node_modules/gulp/bin/gulp.js extensions-ci",
"extensions-ci-pr": "node ./node_modules/gulp/bin/gulp.js extensions-ci-pr",
"perf": "node scripts/code-perf.js",
"update-build-ts-version": "npm install typescript@next && tsc -p ./build/tsconfig.build.json"
"update-build-ts-version": "npm install -D typescript@next && npm install -D @typescript/native-preview && tsc -p ./build/tsconfig.build.json"
},
"dependencies": {
"@microsoft/1ds-core-js": "^3.2.13",
@@ -138,6 +139,7 @@
"@types/yauzl": "^2.10.0",
"@types/yazl": "^2.4.2",
"@typescript-eslint/utils": "^8.36.0",
"@typescript/native-preview": "^7.0.0-dev.20250707.2",
"@vscode/gulp-electron": "^1.38.1",
"@vscode/l10n-dev": "0.0.35",
"@vscode/telemetry-extractor": "^1.10.2",
@@ -209,7 +211,7 @@
"ts-node": "^10.9.1",
"tsec": "0.2.7",
"tslib": "^2.6.3",
"typescript": "^5.9.0-dev.20250728",
"typescript": "^6.0.0-dev.20250806",
"typescript-eslint": "^8.39.0",
"util": "^0.12.4",
"webpack": "^5.94.0",

View File

@@ -113,7 +113,7 @@ export class MarkedKatexSupport {
private static _katex?: typeof import('katex').default;
private static _katexPromise = new Lazy(async () => {
this._katex = await importAMDNodeModule('katex', 'dist/katex.min.js');
this._katex = await importAMDNodeModule<typeof import('katex').default>('katex', 'dist/katex.min.js');
return this._katex;
});