Skip to content

Commit 01c6167

Browse files
committed
Merge remote-tracking branch 'upstream/main' into wasip1
# Conflicts: # packages/vscode-typescript/package.json # tsc/cmd/tsc/lsp.go
2 parents fa49b45 + ed48072 commit 01c6167

516 files changed

Lines changed: 23359 additions & 10426 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎.dprint.jsonc‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -48,8 +48,8 @@
4848
"**/testdata",
4949
"packages/vscode-typescript/l10n/**",
5050
"tsc/internal/bundled/libs/**",
51-
"tsc/internal/lsp/lsproto/_generate/*.json",
52-
"tsc/internal/lsp/lsproto/_generate/metaModelSchema.mts",
51+
"tools/scripts/lsp/*.json",
52+
"tools/scripts/lsp/metaModelSchema.mts",
5353
// Needs to be LF to have a working shebang.
5454
"packages/typescript/bin/tsc",
5555
"tsc/internal/bundled/source/**",

‎Herebyfile.mjs‎

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -614,32 +614,47 @@ export const generateExtensionTest = task({
614614

615615
async function runGenerateLSP() {
616616
const { GeneratedFile } = await import("./tools/scripts/gen/generatedFile.mts");
617-
const directory = path.join(__dirname, "tsc/internal/lsp/lsproto/_generate");
617+
const directory = path.join(__dirname, "tools/scripts/lsp");
618618
const modelFiles = ["metaModel.json", "metaModelSchema.mts"].map(file => new GeneratedFile(path.join(directory, file), [path.join(directory, "fetchModel.mts"), path.join(__dirname, "package-lock.json")]));
619619
if (!modelFiles.every(file => file.isCurrent(!!options.force))) {
620620
for (const file of modelFiles) file.invalidate();
621-
const { default: fetchModel } = await import("./tsc/internal/lsp/lsproto/_generate/fetchModel.mts");
621+
const { default: fetchModel } = await import("./tools/scripts/lsp/fetchModel.mts");
622622
await fetchModel();
623623
for (const file of modelFiles) file.markCurrent();
624624
}
625-
const output = new GeneratedFile(path.join(directory, "../lsp_generated.go"), [
625+
const output = new GeneratedFile(path.join(__dirname, "tsc/internal/lsp/lsproto/lsp_generated.go"), [
626626
__filename,
627627
path.join(directory, "generate.mts"),
628628
...modelFiles.map(file => file.fileName),
629629
]);
630-
if (output.isCurrent(!!options.force)) {
630+
if (!output.isCurrent(!!options.force)) {
631+
output.invalidate();
632+
const { default: generate } = await import("./tools/scripts/lsp/generate.mts");
633+
await generate();
634+
output.markCurrent();
635+
}
636+
else {
631637
console.log("LSP bindings are up to date.");
632-
return;
633638
}
634-
output.invalidate();
635-
const { default: generate } = await import("./tsc/internal/lsp/lsproto/_generate/generate.mts");
636-
await generate();
637-
output.markCurrent();
639+
const typeScriptOutput = new GeneratedFile(path.join(__dirname, "packages/typescript/src/vscode/protocol.generated.ts"), [
640+
__filename,
641+
path.join(directory, "generate.mts"),
642+
path.join(directory, "generateTypeScript.mts"),
643+
path.join(directory, "typeScript.mts"),
644+
path.join(__dirname, "packages/vscode-typescript/src/lspMiddleware.ts"),
645+
...modelFiles.map(file => file.fileName),
646+
]);
647+
if (!typeScriptOutput.isCurrent(!!options.force)) {
648+
typeScriptOutput.invalidate();
649+
const { default: generate } = await import("./tools/scripts/lsp/generateTypeScript.mts");
650+
await generate();
651+
typeScriptOutput.markCurrent();
652+
}
638653
}
639654

640655
export const generateLSP = task({
641656
name: "generate:lsp",
642-
description: "Generates LSP bindings from the pinned protocol model. Pass --force to regenerate unchanged files.",
657+
description: "Generates Go LSP bindings and extension API types from the pinned protocol model. Pass --force to regenerate unchanged files.",
643658
run: runGenerateLSP,
644659
});
645660

@@ -1416,7 +1431,7 @@ export const checkVsceVersion = task({
14161431
const scriptTsconfigs = [
14171432
"./tools/scripts/gen/tsconfig.json",
14181433
"./tools/scripts/tsc/tsconfig.json",
1419-
"./tsc/internal/lsp/lsproto/_generate/tsconfig.json",
1434+
"./tools/scripts/lsp/tsconfig.json",
14201435
];
14211436

14221437
export const checkScripts = task({

‎package-lock.json‎

Lines changed: 4 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

‎packages/typescript/package.json‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@
4141
"./schemas/tsconfig.schema.json": "./schemas/tsconfig.schema.json",
4242
"./schemas/jsconfig.schema.json": "./schemas/jsconfig.schema.json",
4343
".": "./lib/version.cjs",
44+
"./unstable/vscode": {
45+
"types": "./dist/vscode/extensionApi.d.ts"
46+
},
4447
"./unstable/sync": {
4548
"@typescript/source": "./src/api/sync/api.ts",
4649
"default": "./dist/api/sync/api.js"
@@ -61,6 +64,10 @@
6164
"@typescript/source": "./src/api/fs.ts",
6265
"default": "./dist/api/fs.js"
6366
},
67+
"./unstable/path": {
68+
"@typescript/source": "./src/api/typedPaths.ts",
69+
"default": "./dist/api/typedPaths.js"
70+
},
6471
"./unstable/proto": {
6572
"@typescript/source": "./src/api/proto.ts",
6673
"default": "./dist/api/proto.js"

0 commit comments

Comments
 (0)