Skip to content

Commit 407d07a

Browse files
committed
Merge branch 'main' into joh/swc
2 parents 938b7cf + bc51add commit 407d07a

File tree

168 files changed

+2440
-1034
lines changed

Some content is hidden

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

168 files changed

+2440
-1034
lines changed

.vscode/notebooks/endgame.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\n\n$MILESTONE=milestone:\"June 2022\""
10+
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-unpkg\n\n$MILESTONE=milestone:\"July 2022\""
1111
},
1212
{
1313
"kind": 1,

.vscode/notebooks/my-endgame.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"June 2022\"\n\n$MINE=assignee:@me"
10+
"value": "$REPOS=repo:microsoft/vscode repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-js-debug repo:microsoft/vscode-remote-release repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remotehub repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-livepreview repo:microsoft/vscode-python repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal\n\n$MILESTONE=milestone:\"July 2022\"\n\n$MINE=assignee:@me"
1111
},
1212
{
1313
"kind": 1,

.vscode/notebooks/my-work.github-issues

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
{
88
"kind": 2,
99
"language": "github-issues",
10-
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce\n\n// current milestone name\n$milestone=milestone:\"June 2022\""
10+
"value": "// list of repos we work in\n$repos=repo:microsoft/vscode repo:microsoft/vscode-remote-release repo:microsoft/vscode-js-debug repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-dev repo:microsoft/vscode-unpkg repo:microsoft/vscode-references-view repo:microsoft/vscode-anycode repo:microsoft/vscode-hexeditor repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-livepreview repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-remote-repositories-github repo:microsoft/monaco-editor repo:microsoft/vscode-vsce\n\n// current milestone name\n$milestone=milestone:\"July 2022\""
1111
},
1212
{
1313
"kind": 1,

build/.cachesalt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2022-07-07T13:42:16.836Z
1+
2022-07-12T09:44:15.185Z

build/azure-pipelines/darwin/product-build-darwin.yml

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -80,13 +80,6 @@ steps:
8080
condition: and(succeeded(), eq(variables.NODE_MODULES_RESTORED, 'true'))
8181
displayName: Extract node_modules cache
8282
83-
- script: |
84-
set -e
85-
npm install -g node-gyp@latest
86-
node-gyp --version
87-
displayName: Update node-gyp
88-
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
89-
9083
- script: |
9184
set -e
9285
npx https://aka.ms/enablesecurefeed standAlone

build/lib/eslint/vscode-dts-event-naming.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ module.exports = new (_a = class ApiEventNaming {
7676
if (def.type === experimental_utils_1.AST_NODE_TYPES.Identifier) {
7777
return def;
7878
}
79-
else if ((def.type === experimental_utils_1.AST_NODE_TYPES.TSPropertySignature || def.type === experimental_utils_1.AST_NODE_TYPES.Property) && def.key.type === experimental_utils_1.AST_NODE_TYPES.Identifier) {
79+
else if ((def.type === experimental_utils_1.AST_NODE_TYPES.TSPropertySignature || def.type === experimental_utils_1.AST_NODE_TYPES.PropertyDefinition) && def.key.type === experimental_utils_1.AST_NODE_TYPES.Identifier) {
8080
return def.key;
8181
}
8282
return this.getIdent(def.parent);

build/lib/eslint/vscode-dts-event-naming.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,11 +88,10 @@ export = new class ApiEventNaming implements eslint.Rule.RuleModule {
8888

8989
if (def.type === AST_NODE_TYPES.Identifier) {
9090
return def;
91-
} else if ((def.type === AST_NODE_TYPES.TSPropertySignature || def.type === AST_NODE_TYPES.Property) && def.key.type === AST_NODE_TYPES.Identifier) {
91+
} else if ((def.type === AST_NODE_TYPES.TSPropertySignature || def.type === AST_NODE_TYPES.PropertyDefinition) && def.key.type === AST_NODE_TYPES.Identifier) {
9292
return def.key;
9393
}
9494

9595
return this.getIdent(def.parent);
9696
}
9797
};
98-

build/lib/policies.js

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -413,7 +413,7 @@ async function getLatestStableVersion(updateUrl) {
413413
const { name: version } = await res.json();
414414
return version;
415415
}
416-
async function getNLS(resourceUrlTemplate, languageId, version) {
416+
async function getSpecificNLS(resourceUrlTemplate, languageId, version) {
417417
const resource = {
418418
publisher: 'ms-ceintl',
419419
name: `vscode-language-pack-${languageId}`,
@@ -422,9 +422,30 @@ async function getNLS(resourceUrlTemplate, languageId, version) {
422422
};
423423
const url = resourceUrlTemplate.replace(/\{([^}]+)\}/g, (_, key) => resource[key]);
424424
const res = await (0, node_fetch_1.default)(url);
425+
if (res.status !== 200) {
426+
throw new Error(`[${res.status}] Error downloading language pack ${languageId}@${version}`);
427+
}
425428
const { contents: result } = await res.json();
426429
return result;
427430
}
431+
function previousVersion(version) {
432+
const [, major, minor, patch] = /^(\d+)\.(\d+)\.(\d+)$/.exec(version);
433+
return `${major}.${parseInt(minor) - 1}.${patch}`;
434+
}
435+
async function getNLS(resourceUrlTemplate, languageId, version) {
436+
try {
437+
return await getSpecificNLS(resourceUrlTemplate, languageId, version);
438+
}
439+
catch (err) {
440+
if (/\[404\]/.test(err.message)) {
441+
console.warn(`Language pack ${languageId}@${version} is missing. Downloading previous version...`);
442+
return await getSpecificNLS(resourceUrlTemplate, languageId, previousVersion(version));
443+
}
444+
else {
445+
throw err;
446+
}
447+
}
448+
}
428449
async function parsePolicies() {
429450
const parser = new Parser();
430451
parser.setLanguage(typescript);
@@ -452,12 +473,8 @@ async function getTranslations() {
452473
}
453474
const version = await getLatestStableVersion(updateUrl);
454475
const languageIds = Object.keys(Languages);
455-
const result = await Promise.allSettled(languageIds.map(languageId => getNLS(resourceUrlTemplate, languageId, version)
456-
.catch(err => { console.warn(`Missing translation: ${languageId}@${version}`); return Promise.reject(err); })
476+
return await Promise.all(languageIds.map(languageId => getNLS(resourceUrlTemplate, languageId, version)
457477
.then(languageTranslations => ({ languageId, languageTranslations }))));
458-
return result
459-
.filter((r) => r.status === 'fulfilled')
460-
.map(r => r.value);
461478
}
462479
async function main() {
463480
const [policies, translations] = await Promise.all([parsePolicies(), getTranslations()]);

build/lib/policies.ts

Lines changed: 26 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -585,16 +585,15 @@ const Languages = {
585585
};
586586

587587
type LanguageTranslations = { [moduleName: string]: { [nlsKey: string]: string } };
588-
type Translation = { languageId: string; languageTranslations: LanguageTranslations };
589-
type Translations = Translation[];
588+
type Translations = { languageId: string; languageTranslations: LanguageTranslations }[];
590589

591590
async function getLatestStableVersion(updateUrl: string) {
592591
const res = await fetch(`${updateUrl}/api/update/darwin/stable/latest`);
593592
const { name: version } = await res.json() as { name: string };
594593
return version;
595594
}
596595

597-
async function getNLS(resourceUrlTemplate: string, languageId: string, version: string) {
596+
async function getSpecificNLS(resourceUrlTemplate: string, languageId: string, version: string) {
598597
const resource = {
599598
publisher: 'ms-ceintl',
600599
name: `vscode-language-pack-${languageId}`,
@@ -604,10 +603,33 @@ async function getNLS(resourceUrlTemplate: string, languageId: string, version:
604603

605604
const url = resourceUrlTemplate.replace(/\{([^}]+)\}/g, (_, key) => resource[key as keyof typeof resource]);
606605
const res = await fetch(url);
606+
607+
if (res.status !== 200) {
608+
throw new Error(`[${res.status}] Error downloading language pack ${languageId}@${version}`);
609+
}
610+
607611
const { contents: result } = await res.json() as { contents: LanguageTranslations };
608612
return result;
609613
}
610614

615+
function previousVersion(version: string): string {
616+
const [, major, minor, patch] = /^(\d+)\.(\d+)\.(\d+)$/.exec(version)!;
617+
return `${major}.${parseInt(minor) - 1}.${patch}`;
618+
}
619+
620+
async function getNLS(resourceUrlTemplate: string, languageId: string, version: string) {
621+
try {
622+
return await getSpecificNLS(resourceUrlTemplate, languageId, version);
623+
} catch (err) {
624+
if (/\[404\]/.test(err.message)) {
625+
console.warn(`Language pack ${languageId}@${version} is missing. Downloading previous version...`);
626+
return await getSpecificNLS(resourceUrlTemplate, languageId, previousVersion(version));
627+
} else {
628+
throw err;
629+
}
630+
}
631+
}
632+
611633
async function parsePolicies(): Promise<Policy[]> {
612634
const parser = new Parser();
613635
parser.setLanguage(typescript);
@@ -644,15 +666,10 @@ async function getTranslations(): Promise<Translations> {
644666
const version = await getLatestStableVersion(updateUrl);
645667
const languageIds = Object.keys(Languages);
646668

647-
const result = await Promise.allSettled(languageIds.map(
669+
return await Promise.all(languageIds.map(
648670
languageId => getNLS(resourceUrlTemplate, languageId, version)
649-
.catch(err => { console.warn(`Missing translation: ${languageId}@${version}`); return Promise.reject(err); })
650671
.then(languageTranslations => ({ languageId, languageTranslations }))
651672
));
652-
653-
return result
654-
.filter((r): r is PromiseFulfilledResult<Translation> => r.status === 'fulfilled')
655-
.map(r => r.value);
656673
}
657674

658675
async function main() {

extensions/emmet/src/emmetCommon.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ function refreshCompletionProviders(_: vscode.ExtensionContext) {
204204
completionProviderDisposables.push(inlineCompletionsProvider);
205205
}
206206

207-
const explicitProvider = vscode.languages.registerCompletionItemProvider({ language, scheme: '*' }, completionProvider);
207+
const explicitProvider = vscode.languages.registerCompletionItemProvider({ language, scheme: '*' }, completionProvider, ...LANGUAGE_MODES[includedLanguages[language]]);
208208
completionProviderDisposables.push(explicitProvider);
209209

210210
languageMappingForCompletionProviders.set(language, includedLanguages[language]);
@@ -217,7 +217,7 @@ function refreshCompletionProviders(_: vscode.ExtensionContext) {
217217
completionProviderDisposables.push(inlineCompletionsProvider);
218218
}
219219

220-
const explicitProvider = vscode.languages.registerCompletionItemProvider({ language, scheme: '*' }, completionProvider);
220+
const explicitProvider = vscode.languages.registerCompletionItemProvider({ language, scheme: '*' }, completionProvider, ...LANGUAGE_MODES[language]);
221221
completionProviderDisposables.push(explicitProvider);
222222

223223
languageMappingForCompletionProviders.set(language, language);

0 commit comments

Comments
 (0)