mirror of
https://github.com/Microsoft/vscode
synced 2024-07-05 01:08:57 +00:00
Merge branch 'main' into fix-autoindent-on-closing-paren
This commit is contained in:
commit
946d53e850
66
.eslintplugin/code-no-runtime-import.ts
Normal file
66
.eslintplugin/code-no-runtime-import.ts
Normal file
|
@ -0,0 +1,66 @@
|
|||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import { TSESTree } from '@typescript-eslint/typescript-estree';
|
||||
import * as eslint from 'eslint';
|
||||
import { dirname, join, relative } from 'path';
|
||||
import minimatch from 'minimatch';
|
||||
import { createImportRuleListener } from './utils';
|
||||
|
||||
export = new class implements eslint.Rule.RuleModule {
|
||||
|
||||
readonly meta: eslint.Rule.RuleMetaData = {
|
||||
messages: {
|
||||
layerbreaker: 'You are only allowed to import {{import}} from here using `import type ...`.'
|
||||
},
|
||||
schema: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "object",
|
||||
additionalProperties: {
|
||||
type: "array",
|
||||
items: {
|
||||
type: "string"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
create(context: eslint.Rule.RuleContext): eslint.Rule.RuleListener {
|
||||
let fileRelativePath = relative(dirname(__dirname), context.getFilename());
|
||||
if (!fileRelativePath.endsWith('/')) {
|
||||
fileRelativePath += '/';
|
||||
}
|
||||
const ruleArgs = <Record<string, string[]>>context.options[0];
|
||||
|
||||
const matchingKey = Object.keys(ruleArgs).find(key => fileRelativePath.startsWith(key) || minimatch(fileRelativePath, key));
|
||||
if (!matchingKey) {
|
||||
// nothing
|
||||
return {};
|
||||
}
|
||||
|
||||
const restrictedImports = ruleArgs[matchingKey];
|
||||
return createImportRuleListener((node, path) => {
|
||||
if (path[0] === '.') {
|
||||
path = join(dirname(context.getFilename()), path);
|
||||
}
|
||||
|
||||
if ((
|
||||
restrictedImports.includes(path) || restrictedImports.some(restriction => minimatch(path, restriction))
|
||||
) && !(
|
||||
(node.parent?.type === TSESTree.AST_NODE_TYPES.ImportDeclaration && node.parent.importKind === 'type') ||
|
||||
(node.parent && 'exportKind' in node.parent && node.parent.exportKind === 'type'))) { // the export could be multiple types
|
||||
context.report({
|
||||
loc: node.parent!.loc,
|
||||
messageId: 'layerbreaker',
|
||||
data: {
|
||||
import: path
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
106
.eslintrc.json
106
.eslintrc.json
|
@ -148,128 +148,35 @@
|
|||
{
|
||||
// Files should (only) be removed from the list they adopt the leak detector
|
||||
"exclude": [
|
||||
"src/vs/base/parts/sandbox/test/electron-sandbox/globals.test.ts",
|
||||
"src/vs/base/test/browser/browser.test.ts",
|
||||
"src/vs/base/test/browser/comparers.test.ts",
|
||||
"src/vs/base/test/browser/hash.test.ts",
|
||||
"src/vs/base/test/browser/indexedDB.test.ts",
|
||||
"src/vs/base/test/browser/ui/menu/menubar.test.ts",
|
||||
"src/vs/base/test/browser/ui/scrollbar/scrollableElement.test.ts",
|
||||
"src/vs/base/test/browser/ui/scrollbar/scrollbarState.test.ts",
|
||||
"src/vs/base/test/common/arrays.test.ts",
|
||||
"src/vs/base/test/common/arraysFind.test.ts",
|
||||
"src/vs/base/test/common/cache.test.ts",
|
||||
"src/vs/base/test/common/charCode.test.ts",
|
||||
"src/vs/base/test/common/collections.test.ts",
|
||||
"src/vs/base/test/common/color.test.ts",
|
||||
"src/vs/base/test/common/decorators.test.ts",
|
||||
"src/vs/base/test/common/diff/diff.test.ts",
|
||||
"src/vs/base/test/common/errors.test.ts",
|
||||
"src/vs/base/test/common/filters.perf.test.ts",
|
||||
"src/vs/base/test/common/filters.test.ts",
|
||||
"src/vs/base/test/common/iconLabels.test.ts",
|
||||
"src/vs/base/test/common/iterator.test.ts",
|
||||
"src/vs/base/test/common/json.test.ts",
|
||||
"src/vs/base/test/common/jsonEdit.test.ts",
|
||||
"src/vs/base/test/common/jsonFormatter.test.ts",
|
||||
"src/vs/base/test/common/keybindings.test.ts",
|
||||
"src/vs/base/test/common/keyCodes.test.ts",
|
||||
"src/vs/base/test/common/linkedList.test.ts",
|
||||
"src/vs/base/test/common/linkedText.test.ts",
|
||||
"src/vs/base/test/common/map.test.ts",
|
||||
"src/vs/base/test/common/markdownString.test.ts",
|
||||
"src/vs/base/test/common/marshalling.test.ts",
|
||||
"src/vs/base/test/common/network.test.ts",
|
||||
"src/vs/base/test/common/observable.test.ts",
|
||||
"src/vs/base/test/common/path.test.ts",
|
||||
"src/vs/base/test/common/resources.test.ts",
|
||||
"src/vs/base/test/common/resourceTree.test.ts",
|
||||
"src/vs/base/test/common/scrollable.test.ts",
|
||||
"src/vs/base/test/common/skipList.test.ts",
|
||||
"src/vs/base/test/common/stripComments.test.ts",
|
||||
"src/vs/base/test/common/ternarySearchtree.test.ts",
|
||||
"src/vs/base/test/common/types.test.ts",
|
||||
"src/vs/base/test/common/uri.test.ts",
|
||||
"src/vs/base/test/common/uuid.test.ts",
|
||||
"src/vs/base/test/node/crypto.test.ts",
|
||||
"src/vs/base/test/node/css.build.test.ts",
|
||||
"src/vs/base/test/node/id.test.ts",
|
||||
"src/vs/base/test/node/snapshot.test.ts",
|
||||
"src/vs/editor/contrib/codeAction/test/browser/codeActionKeybindingResolver.test.ts",
|
||||
"src/vs/editor/contrib/codeAction/test/browser/codeActionModel.test.ts",
|
||||
"src/vs/editor/contrib/dropOrPasteInto/test/browser/editSort.test.ts",
|
||||
"src/vs/editor/contrib/folding/test/browser/foldingModel.test.ts",
|
||||
"src/vs/editor/contrib/folding/test/browser/foldingRanges.test.ts",
|
||||
"src/vs/editor/contrib/folding/test/browser/indentFold.test.ts",
|
||||
"src/vs/editor/contrib/folding/test/browser/indentRangeProvider.test.ts",
|
||||
"src/vs/editor/contrib/gotoSymbol/test/browser/referencesModel.test.ts",
|
||||
"src/vs/editor/contrib/smartSelect/test/browser/smartSelect.test.ts",
|
||||
"src/vs/editor/contrib/snippet/test/browser/snippetParser.test.ts",
|
||||
"src/vs/editor/contrib/snippet/test/browser/snippetSession.test.ts",
|
||||
"src/vs/editor/contrib/snippet/test/browser/snippetVariables.test.ts",
|
||||
"src/vs/editor/contrib/suggest/test/browser/completionModel.test.ts",
|
||||
"src/vs/editor/contrib/suggest/test/browser/suggestMemory.test.ts",
|
||||
"src/vs/editor/test/common/services/languageService.test.ts",
|
||||
"src/vs/editor/test/node/classification/typescript.test.ts",
|
||||
"src/vs/editor/test/node/diffing/defaultLinesDiffComputer.test.ts",
|
||||
"src/vs/editor/test/node/diffing/fixtures.test.ts",
|
||||
"src/vs/platform/configuration/test/common/configuration.test.ts",
|
||||
"src/vs/platform/configuration/test/common/configurationModels.test.ts",
|
||||
"src/vs/platform/configuration/test/common/configurationRegistry.test.ts",
|
||||
"src/vs/platform/contextkey/test/common/contextkey.test.ts",
|
||||
"src/vs/platform/contextkey/test/common/parser.test.ts",
|
||||
"src/vs/platform/contextkey/test/common/scanner.test.ts",
|
||||
"src/vs/platform/extensionManagement/test/common/extensionManagement.test.ts",
|
||||
"src/vs/platform/extensions/test/common/extensionValidator.test.ts",
|
||||
"src/vs/platform/instantiation/test/common/graph.test.ts",
|
||||
"src/vs/platform/instantiation/test/common/instantiationService.test.ts",
|
||||
"src/vs/platform/keybinding/test/common/abstractKeybindingService.test.ts",
|
||||
"src/vs/platform/keybinding/test/common/keybindingLabels.test.ts",
|
||||
"src/vs/platform/keybinding/test/common/keybindingResolver.test.ts",
|
||||
"src/vs/platform/markers/test/common/markerService.test.ts",
|
||||
"src/vs/platform/opener/test/common/opener.test.ts",
|
||||
"src/vs/platform/progress/test/common/progress.test.ts",
|
||||
"src/vs/platform/registry/test/common/platform.test.ts",
|
||||
"src/vs/platform/remote/test/common/remoteHosts.test.ts",
|
||||
"src/vs/platform/telemetry/test/browser/1dsAppender.test.ts",
|
||||
"src/vs/platform/userDataSync/test/common/extensionsMerge.test.ts",
|
||||
"src/vs/platform/userDataSync/test/common/globalStateMerge.test.ts",
|
||||
"src/vs/platform/userDataSync/test/common/settingsMerge.test.ts",
|
||||
"src/vs/platform/userDataSync/test/common/userDataProfilesManifestMerge.test.ts",
|
||||
"src/vs/platform/workspace/test/common/workspace.test.ts",
|
||||
"src/vs/platform/workspaces/test/electron-main/workspaces.test.ts",
|
||||
"src/vs/server/test/node/serverConnectionToken.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostApiCommands.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostBulkEdits.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostDocumentSaveParticipant.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostTextEditor.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostTypeConverter.test.ts",
|
||||
"src/vs/workbench/api/test/browser/extHostWorkspace.test.ts",
|
||||
"src/vs/workbench/api/test/browser/mainThreadConfiguration.test.ts",
|
||||
"src/vs/workbench/api/test/browser/mainThreadDocuments.test.ts",
|
||||
"src/vs/workbench/api/test/common/extHostExtensionActivator.test.ts",
|
||||
"src/vs/workbench/api/test/node/extHostTunnelService.test.ts",
|
||||
"src/vs/workbench/contrib/bulkEdit/test/browser/bulkCellEdits.test.ts",
|
||||
"src/vs/workbench/contrib/chat/test/common/chatWordCounter.test.ts",
|
||||
"src/vs/workbench/contrib/editSessions/test/browser/editSessions.test.ts",
|
||||
"src/vs/workbench/contrib/extensions/test/common/extensionQuery.test.ts",
|
||||
"src/vs/workbench/contrib/extensions/test/electron-sandbox/extension.test.ts",
|
||||
"src/vs/workbench/contrib/notebook/test/browser/notebookExecutionService.test.ts",
|
||||
"src/vs/workbench/contrib/notebook/test/browser/notebookExecutionStateService.test.ts",
|
||||
"src/vs/workbench/contrib/snippets/test/browser/snippetFile.test.ts",
|
||||
"src/vs/workbench/contrib/snippets/test/browser/snippetsRegistry.test.ts",
|
||||
"src/vs/workbench/contrib/snippets/test/browser/snippetsRewrite.test.ts",
|
||||
"src/vs/workbench/contrib/tasks/test/common/problemMatcher.test.ts",
|
||||
"src/vs/workbench/contrib/tasks/test/common/taskConfiguration.test.ts",
|
||||
"src/vs/workbench/services/commands/test/common/commandService.test.ts",
|
||||
"src/vs/workbench/services/configuration/test/common/configurationModels.test.ts",
|
||||
"src/vs/workbench/services/extensions/test/common/extensionDescriptionRegistry.test.ts",
|
||||
"src/vs/workbench/services/keybinding/test/browser/keybindingIO.test.ts",
|
||||
"src/vs/workbench/services/keybinding/test/node/fallbackKeyboardMapper.test.ts",
|
||||
"src/vs/workbench/services/keybinding/test/node/macLinuxKeyboardMapper.test.ts",
|
||||
"src/vs/workbench/services/keybinding/test/node/windowsKeyboardMapper.test.ts",
|
||||
"src/vs/workbench/services/telemetry/test/browser/commonProperties.test.ts",
|
||||
"src/vs/workbench/services/themes/test/node/tokenStyleResolving.test.ts",
|
||||
"src/vs/workbench/services/userActivity/test/browser/domActivityTracker.test.ts",
|
||||
"src/vs/workbench/test/browser/quickAccess.test.ts"
|
||||
]
|
||||
|
@ -1180,6 +1087,19 @@
|
|||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"files": [
|
||||
"src/vs/workbench/contrib/notebook/browser/view/renderers/*.ts"
|
||||
],
|
||||
"rules": {
|
||||
"local/code-no-runtime-import": [
|
||||
"error",
|
||||
{
|
||||
"src/vs/workbench/contrib/notebook/browser/view/renderers/webviewPreloads.ts": ["**/*"]
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
3
.github/CODEOWNERS
vendored
Normal file
3
.github/CODEOWNERS
vendored
Normal file
|
@ -0,0 +1,3 @@
|
|||
# ensure the API police is aware of changes to the vscode-dts file
|
||||
# this is only about the final API, not about proposed API changes
|
||||
src/vscode-dts/vscode.d.ts @jrieken @mjbvz
|
20
.github/workflows/basic.yml
vendored
20
.github/workflows/basic.yml
vendored
|
@ -29,7 +29,7 @@ jobs:
|
|||
sudo update-rc.d xvfb defaults
|
||||
sudo service xvfb start
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -38,7 +38,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -48,7 +48,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -61,7 +61,7 @@ jobs:
|
|||
run: yarn --frozen-lockfile --network-timeout 180000
|
||||
|
||||
- name: Compile and Download
|
||||
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64"
|
||||
run: yarn npm-run-all --max-old-space-size=4095 -lp compile "electron x64"
|
||||
|
||||
- name: Run Unit Tests
|
||||
id: electron-unit-tests
|
||||
|
@ -81,7 +81,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -90,7 +90,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -100,7 +100,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -143,7 +143,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -152,7 +152,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -162,7 +162,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
|
32
.github/workflows/ci.yml
vendored
32
.github/workflows/ci.yml
vendored
|
@ -23,11 +23,11 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
- uses: actions/setup-python@v4
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: "2.x"
|
||||
|
||||
|
@ -36,7 +36,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node_modules archive
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ".build/node_modules_cache"
|
||||
key: "${{ runner.os }}-cacheNodeModulesArchive-${{ steps.nodeModulesCacheKey.outputs.value }}"
|
||||
|
@ -49,7 +49,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -69,7 +69,7 @@ jobs:
|
|||
7z.exe a .build/node_modules_cache/cache.7z -mx3 `@.build/node_modules_list.txt
|
||||
|
||||
- name: Compile and Download
|
||||
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
run: yarn npm-run-all --max-old-space-size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
|
||||
- name: Compile Integration Tests
|
||||
run: yarn --cwd test/integration/browser compile
|
||||
|
@ -113,7 +113,7 @@ jobs:
|
|||
sudo update-rc.d xvfb defaults
|
||||
sudo service xvfb start
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -122,7 +122,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -132,7 +132,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -145,7 +145,7 @@ jobs:
|
|||
run: yarn --frozen-lockfile --network-timeout 180000
|
||||
|
||||
- name: Compile and Download
|
||||
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
run: yarn npm-run-all --max-old-space-size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
|
||||
- name: Compile Integration Tests
|
||||
run: yarn --cwd test/integration/browser compile
|
||||
|
@ -184,7 +184,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -193,7 +193,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesMacOS-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -203,7 +203,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -216,7 +216,7 @@ jobs:
|
|||
run: yarn --frozen-lockfile --network-timeout 180000
|
||||
|
||||
- name: Compile and Download
|
||||
run: yarn npm-run-all --max_old_space_size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
run: yarn npm-run-all --max-old-space-size=4095 -lp compile "electron x64" playwright-install download-builtin-extensions
|
||||
|
||||
- name: Compile Integration Tests
|
||||
run: yarn --cwd test/integration/browser compile
|
||||
|
@ -256,7 +256,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -265,7 +265,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModulesLinux-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -275,7 +275,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
|
2
.github/workflows/deep-classifier-runner.yml
vendored
2
.github/workflows/deep-classifier-runner.yml
vendored
|
@ -33,7 +33,7 @@ jobs:
|
|||
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
|
||||
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
|
||||
- name: Set up Python 3.7
|
||||
uses: actions/setup-python@v4
|
||||
uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: 3.7
|
||||
- name: Install dependencies
|
||||
|
|
6
.github/workflows/monaco-editor.yml
vendored
6
.github/workflows/monaco-editor.yml
vendored
|
@ -20,7 +20,7 @@ jobs:
|
|||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-node@v3
|
||||
- uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version-file: .nvmrc
|
||||
|
||||
|
@ -29,7 +29,7 @@ jobs:
|
|||
run: echo "value=$(node build/azure-pipelines/common/computeNodeModulesCacheKey.js)" >> $GITHUB_OUTPUT
|
||||
- name: Cache node modules
|
||||
id: cacheNodeModules
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: "**/node_modules"
|
||||
key: ${{ runner.os }}-cacheNodeModules20-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
@ -40,7 +40,7 @@ jobs:
|
|||
run: echo "dir=$(yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- name: Cache yarn directory
|
||||
if: ${{ steps.cacheNodeModules.outputs.cache-hit != 'true' }}
|
||||
uses: actions/cache@v3
|
||||
uses: actions/cache@v4
|
||||
with:
|
||||
path: ${{ steps.yarnCacheDirPath.outputs.dir }}
|
||||
key: ${{ runner.os }}-yarnCacheDir-${{ steps.nodeModulesCacheKey.outputs.value }}
|
||||
|
|
2
.github/workflows/telemetry.yml
vendored
2
.github/workflows/telemetry.yml
vendored
|
@ -9,7 +9,7 @@ jobs:
|
|||
steps:
|
||||
- uses: 'actions/checkout@v4'
|
||||
|
||||
- uses: 'actions/setup-node@v3'
|
||||
- uses: 'actions/setup-node@v4'
|
||||
with:
|
||||
node-version: 'lts/*'
|
||||
|
||||
|
|
6
.vscode/notebooks/api.github-issues
vendored
6
.vscode/notebooks/api.github-issues
vendored
|
@ -7,7 +7,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repo=repo:microsoft/vscode\n$milestone=milestone:\"November 2023\"\n"
|
||||
"value": "$REPO=repo:microsoft/vscode\n$MILESTONE=milestone:\"March 2024\""
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -17,7 +17,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repo $milestone label:api-finalization\n"
|
||||
"value": "$REPO $MILESTONE label:api-finalization"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -27,6 +27,6 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repo $milestone is:open label:api-proposal sort:created-asc\n"
|
||||
"value": "$REPO $MILESTONE is:open label:api-proposal sort:created-asc"
|
||||
}
|
||||
]
|
31
.vscode/notebooks/endgame.github-issues
vendored
31
.vscode/notebooks/endgame.github-issues
vendored
|
@ -7,7 +7,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n\n$MILESTONE=milestone:\"November 2023 Recovery 1\"\n"
|
||||
"value": "$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n\n$MILESTONE=milestone:\"March 2024\""
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:pr is:open\n"
|
||||
"value": "$REPOS $MILESTONE is:pr is:open"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -32,7 +32,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS -$MILESTONE is:issue is:closed reason:completed label:bug label:insiders-released -label:verified -label:*duplicate -label:*as-designed -label:z-author-verified -label:on-testplan\n"
|
||||
"value": "$REPOS -$MILESTONE is:issue is:closed reason:completed label:bug label:insiders-released -label:verified -label:*duplicate -label:*as-designed -label:z-author-verified -label:on-testplan"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -42,7 +42,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS -$MILESTONE is:issue is:closed reason:completed label:feature-request label:insiders-released -label:on-testplan -label:verified -label:*duplicate\n"
|
||||
"value": "$REPOS -$MILESTONE is:issue is:closed reason:completed label:feature-request label:insiders-released -label:on-testplan -label:verified -label:*duplicate"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -52,7 +52,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -62,7 +62,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -72,7 +72,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:open label:testplan-item no:milestone\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:open label:testplan-item no:milestone"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -87,7 +87,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS is:issue is:open label:testplan-item\n"
|
||||
"value": "$REPOS is:issue is:open label:testplan-item"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -97,7 +97,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed label:verification-needed -label:verified\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed label:verification-needed -label:verified"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -112,7 +112,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:z-author-verified -label:unreleased\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:z-author-verified -label:unreleased -label:*not-reproducible"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -122,7 +122,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:z-author-verified label:unreleased\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:z-author-verified label:unreleased -label:*not-reproducible"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -132,7 +132,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:z-author-verified\n"
|
||||
"value": "$REPOS $MILESTONE is:issue is:closed reason:completed sort:updated-asc label:bug -label:verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:z-author-verified -label:*not-reproducible"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -142,11 +142,6 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE is:issue is:open label:candidate\n"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": ""
|
||||
"value": "$REPOS $MILESTONE is:issue is:open label:candidate"
|
||||
}
|
||||
]
|
18
.vscode/notebooks/grooming.github-issues
vendored
18
.vscode/notebooks/grooming.github-issues
vendored
|
@ -2,27 +2,27 @@
|
|||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "#### Config\n"
|
||||
"value": "#### Config"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "// list of repos we work in\r\n$repos=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\r\n"
|
||||
"value": "// list of repos we work in\r\n$repos=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\r"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "#### Missing Type label\r\n"
|
||||
"value": "#### Missing Type label\r"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos assignee:@me is:open type:issue -label:bug -label:\"info-needed\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream -label:polish -label:testplan-item -label:error-telemetry -label:engineering -label:endgame-plan\r\n"
|
||||
"value": "$repos assignee:@me is:open type:issue -label:bug -label:\"info-needed\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream -label:polish -label:testplan-item -label:error-telemetry -label:engineering -label:endgame-plan\r"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "#### Missing Area Label\r\n\r\nFeature area labels are light or strong blue (`1d76db` or `c5def5`) and they denote a specific feature or feature area, like `editor-clipboard` or `file-explorer`\r\n"
|
||||
"value": "#### Missing Area Label\r\n\r\nFeature area labels are light or strong blue (`1d76db` or `c5def5`) and they denote a specific feature or feature area, like `editor-clipboard` or `file-explorer`\r"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
|
@ -32,21 +32,21 @@
|
|||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "### Missing Milestone\r\n"
|
||||
"value": "### Missing Milestone\r"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos assignee:@me is:open type:issue no:milestone -label:info-needed -label:triage-needed\r\n"
|
||||
"value": "$repos assignee:@me is:open type:issue no:milestone -label:info-needed -label:triage-needed\r"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "#### Not Actionable\r\n"
|
||||
"value": "#### Not Actionable\r"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos assignee:@me is:open label:\"info-needed\"\r\n"
|
||||
"value": "$repos assignee:@me is:open label:\"info-needed\"\r"
|
||||
}
|
||||
]
|
34
.vscode/notebooks/my-endgame.github-issues
vendored
34
.vscode/notebooks/my-endgame.github-issues
vendored
|
@ -7,7 +7,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n\n$MILESTONE=milestone:\"November 2023\"\n\n$MINE=assignee:@me\n"
|
||||
"value": "$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n\n$MILESTONE=milestone:\"March 2024\"\n\n$MINE=assignee:@me"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:pr is:open\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:pr is:open"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -32,7 +32,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:iteration-plan -label:endgame-plan -label:testplan-item"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -42,7 +42,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request -label:verification-needed -label:on-testplan -label:verified -label:*duplicate"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -52,7 +52,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS is:issue is:open author:@me label:testplan-item\n"
|
||||
"value": "$REPOS is:issue is:open author:@me label:testplan-item"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -62,7 +62,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request label:verification-needed -label:verified\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request label:verification-needed -label:verified"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -77,7 +77,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MINE is:issue is:open label:testplan-item\n"
|
||||
"value": "$REPOS $MINE is:issue is:open label:testplan-item"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -87,7 +87,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed -assignee:@me -label:verified -label:z-author-verified label:feature-request label:verification-needed -label:verification-steps-needed -label:unreleased\n"
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed -assignee:@me -label:verified -label:z-author-verified label:feature-request label:verification-needed -label:verification-steps-needed -label:unreleased"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -102,7 +102,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan -label:testplan-item -label:iteration-plan\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open -label:endgame-plan -label:testplan-item -label:iteration-plan"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -112,7 +112,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:bug\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:open label:bug"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -127,7 +127,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-steps-needed\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-steps-needed"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -137,7 +137,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-found\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue label:bug label:verification-found"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -147,7 +147,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:triage-needed -label:verification-found\n"
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:triage-needed -label:verification-found -label:*not-reproducible"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -157,7 +157,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:andreamah -author:bamurtaugh -author:bpasero -author:chrisdias -author:chrmarti -author:Chuxel -author:claudiaregio -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:DonJayamanne -author:egamma -author:fiveisprime -author:gregvanl -author:hediet -author:isidorn -author:joaomoreno -author:joyceerhl -author:jrieken -author:karrtikr -author:kieferrm -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:rebornix -author:roblourens -author:rzhao271 -author:sandy081 -author:sbatten -author:stevencl -author:tanhakabir -author:TylerLeonhardt -author:Tyriar -author:weinand -author:amunger -author:karthiknadig -author:eleanorjboyd -author:Yoyokrazy -author:paulacamargo25 -author:ulugbekna -author:aiday-mar -author:daviddossett\n"
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -author:aeschli -author:alexdima -author:alexr00 -author:AmandaSilver -author:andreamah -author:bamurtaugh -author:bpasero -author:chrisdias -author:chrmarti -author:Chuxel -author:claudiaregio -author:connor4312 -author:dbaeumer -author:deepak1556 -author:devinvalenciano -author:digitarald -author:DonJayamanne -author:egamma -author:fiveisprime -author:gregvanl -author:hediet -author:isidorn -author:joaomoreno -author:joyceerhl -author:jrieken -author:karrtikr -author:kieferrm -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:rebornix -author:roblourens -author:rzhao271 -author:sandy081 -author:sbatten -author:stevencl -author:tanhakabir -author:TylerLeonhardt -author:Tyriar -author:weinand -author:amunger -author:karthiknadig -author:eleanorjboyd -author:Yoyokrazy -author:paulacamargo25 -author:ulugbekna -author:aiday-mar -author:daviddossett -author:bhavyaus -author:justschen -author:benibenj"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -167,7 +167,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed -author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found\n"
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue is:closed reason:completed -author:@me sort:updated-asc label:bug -label:unreleased -label:verified -label:z-author-verified -label:on-testplan -label:*duplicate -label:duplicate -label:invalid -label:*as-designed -label:error-telemetry -label:verification-steps-needed -label:verification-found -label:*not-reproducible"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -177,7 +177,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue label:bug label:verification-steps-needed -label:verified\n"
|
||||
"value": "$REPOS $MILESTONE -$MINE is:issue label:bug label:verification-steps-needed -label:verified"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -187,6 +187,6 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request -label:on-release-notes\n$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:engineering -label:on-release-notes\n$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:plan-item -label:on-release-notes\n"
|
||||
"value": "$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:feature-request -label:on-release-notes\n$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:engineering -label:on-release-notes\n$REPOS $MILESTONE $MINE is:issue is:closed reason:completed label:plan-item -label:on-release-notes"
|
||||
}
|
||||
]
|
30
.vscode/notebooks/my-work.github-issues
vendored
30
.vscode/notebooks/my-work.github-issues
vendored
|
@ -7,7 +7,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "// list of repos we work in\r\n$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\r\n\r\n// current milestone name\r\n$MILESTONE=milestone:\"December / January 2024\"\r\n"
|
||||
"value": "// list of repos we work in\n$REPOS=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n\n// current milestone name\n$MILESTONE=milestone:\"March 2024\"\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -17,7 +17,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS $MILESTONE assignee:@me is:open\r\n"
|
||||
"value": "$REPOS $MILESTONE assignee:@me is:open\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -32,7 +32,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open label:bug\r\n"
|
||||
"value": "$REPOS assignee:@me is:open label:bug\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -42,7 +42,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open label:debt,engineering\r\n"
|
||||
"value": "$REPOS assignee:@me is:open label:debt,engineering\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -52,7 +52,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open label:perf,perf-startup,perf-bloat,freeze-slow-crash-leak\r\n"
|
||||
"value": "$REPOS assignee:@me is:open label:perf,perf-startup,perf-bloat,freeze-slow-crash-leak\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -62,17 +62,17 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open label:feature-request milestone:Backlog sort:reactions-+1-desc\r\n"
|
||||
"value": "$REPOS assignee:@me is:open label:feature-request milestone:Backlog sort:reactions-+1-desc\n"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open milestone:\"Backlog Candidates\"\r\n"
|
||||
"value": "$REPOS assignee:@me is:open milestone:\"Backlog Candidates\"\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
"language": "markdown",
|
||||
"value": "### Personal Inbox\n"
|
||||
"value": "### Personal Inbox"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -82,7 +82,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode is:open assignee:@me label:triage-needed\r\n"
|
||||
"value": "repo:microsoft/vscode is:open assignee:@me label:triage-needed\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -92,7 +92,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open type:issue -label:bug -label:\"info-needed\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream -label:polish -label:testplan-item -label:error-telemetry -label:engineering\r\n"
|
||||
"value": "$REPOS assignee:@me is:open type:issue -label:bug -label:\"info-needed\" -label:feature-request -label:under-discussion -label:debt -label:plan-item -label:upstream -label:polish -label:testplan-item -label:error-telemetry -label:engineering\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -112,7 +112,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open type:issue no:milestone -label:info-needed -label:triage-needed\r\n"
|
||||
"value": "$REPOS assignee:@me is:open type:issue no:milestone -label:info-needed -label:triage-needed\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -122,7 +122,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS assignee:@me is:open label:\"info-needed\"\r\n"
|
||||
"value": "$REPOS assignee:@me is:open label:\"info-needed\"\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -137,7 +137,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS author:@me is:open is:pr review:approved\r\n"
|
||||
"value": "$REPOS author:@me is:open is:pr review:approved\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -147,7 +147,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS author:@me is:open is:pr review:required\r\n"
|
||||
"value": "$REPOS author:@me is:open is:pr review:required\n"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -157,6 +157,6 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$REPOS author:@me is:open is:pr review:changes_requested\r\n"
|
||||
"value": "$REPOS author:@me is:open is:pr review:changes_requested\n"
|
||||
}
|
||||
]
|
10
.vscode/notebooks/verification.github-issues
vendored
10
.vscode/notebooks/verification.github-issues
vendored
|
@ -12,7 +12,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n$milestone=milestone:\"November 2023\"\n$closedRecently=closed:>2023-09-29\n"
|
||||
"value": "$repos=repo:microsoft/lsprotocol repo:microsoft/monaco-editor repo:microsoft/vscode repo:microsoft/vscode-anycode repo:microsoft/vscode-autopep8 repo:microsoft/vscode-black-formatter repo:microsoft/vscode-copilot repo:microsoft/vscode-copilot-release repo:microsoft/vscode-dev repo:microsoft/vscode-dev-chrome-launcher repo:microsoft/vscode-emmet-helper repo:microsoft/vscode-extension-telemetry repo:microsoft/vscode-flake8 repo:microsoft/vscode-github-issue-notebooks repo:microsoft/vscode-hexeditor repo:microsoft/vscode-internalbacklog repo:microsoft/vscode-isort repo:microsoft/vscode-js-debug repo:microsoft/vscode-jupyter repo:microsoft/vscode-jupyter-internal repo:microsoft/vscode-l10n repo:microsoft/vscode-livepreview repo:microsoft/vscode-markdown-languageservice repo:microsoft/vscode-markdown-tm-grammar repo:microsoft/vscode-mypy repo:microsoft/vscode-pull-request-github repo:microsoft/vscode-pylint repo:microsoft/vscode-python repo:microsoft/vscode-python-debugger repo:microsoft/vscode-python-tools-extension-template repo:microsoft/vscode-references-view repo:microsoft/vscode-remote-release repo:microsoft/vscode-remote-repositories-github repo:microsoft/vscode-remote-tunnels repo:microsoft/vscode-remotehub repo:microsoft/vscode-settings-sync-server repo:microsoft/vscode-unpkg repo:microsoft/vscode-vsce\n$milestone=milestone:\"November 2023\"\n$closedRecently=closed:>2023-09-29"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -22,7 +22,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate author:@me\n"
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate author:@me"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -32,7 +32,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate -author:@me -assignee:@me label:bug -label:verified -author:@me -author:aeschli -author:alexdima -author:alexr00 -author:bpasero -author:chrisdias -author:chrmarti -author:connor4312 -author:dbaeumer -author:deepak1556 -author:eamodio -author:egamma -author:gregvanl -author:isidorn -author:JacksonKearl -author:joaomoreno -author:jrieken -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:rebornix -author:RMacfarlane -author:roblourens -author:sana-ajani -author:sandy081 -author:sbatten -author:Tyriar -author:weinand -author:rzhao271 -author:kieferrm -author:TylerLeonhardt -author:bamurtaugh -author:hediet -author:joyceerhl -author:rchiodo\n"
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate -author:@me -assignee:@me label:bug -label:verified -author:@me -author:aeschli -author:alexdima -author:alexr00 -author:bpasero -author:chrisdias -author:chrmarti -author:connor4312 -author:dbaeumer -author:deepak1556 -author:eamodio -author:egamma -author:gregvanl -author:isidorn -author:JacksonKearl -author:joaomoreno -author:jrieken -author:lramos15 -author:lszomoru -author:meganrogge -author:misolori -author:mjbvz -author:rebornix -author:RMacfarlane -author:roblourens -author:sana-ajani -author:sandy081 -author:sbatten -author:Tyriar -author:weinand -author:rzhao271 -author:kieferrm -author:TylerLeonhardt -author:bamurtaugh -author:hediet -author:joyceerhl -author:rchiodo"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -42,7 +42,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate\n"
|
||||
"value": "$repos $milestone is:closed reason:completed -assignee:@me label:bug -label:verified -label:*duplicate"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -52,6 +52,6 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$repos is:closed linked:pr $closedRecently no:milestone -label:verified -label:*duplicate\n"
|
||||
"value": "$repos is:closed linked:pr $closedRecently no:milestone -label:verified -label:*duplicate"
|
||||
}
|
||||
]
|
12
.vscode/notebooks/vscode-dev.github-issues
vendored
12
.vscode/notebooks/vscode-dev.github-issues
vendored
|
@ -2,7 +2,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "$milestone=milestone:\"November 2023\"\n"
|
||||
"value": "$milestone=milestone:\"November 2023\""
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -12,12 +12,12 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode-dev $milestone is:open\n"
|
||||
"value": "repo:microsoft/vscode-dev $milestone is:open"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode-dev milestone:\"Backlog\" is:open\n"
|
||||
"value": "repo:microsoft/vscode-dev milestone:\"Backlog\" is:open"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -27,7 +27,7 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode label:vscode.dev is:open\n"
|
||||
"value": "repo:microsoft/vscode label:vscode.dev is:open"
|
||||
},
|
||||
{
|
||||
"kind": 1,
|
||||
|
@ -37,11 +37,11 @@
|
|||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode-remote-repositories-github $milestone is:open\n"
|
||||
"value": "repo:microsoft/vscode-remote-repositories-github $milestone is:open"
|
||||
},
|
||||
{
|
||||
"kind": 2,
|
||||
"language": "github-issues",
|
||||
"value": "repo:microsoft/vscode-remotehub $milestone is:open\n"
|
||||
"value": "repo:microsoft/vscode-remotehub $milestone is:open"
|
||||
}
|
||||
]
|
2
.vscode/settings.json
vendored
2
.vscode/settings.json
vendored
|
@ -170,4 +170,6 @@
|
|||
},
|
||||
"css.format.spaceAroundSelectorSeparator": true,
|
||||
"inlineChat.mode": "live",
|
||||
"testing.defaultGutterClickAction": "contextMenu",
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true,
|
||||
}
|
||||
|
|
4
.yarnrc
4
.yarnrc
|
@ -1,5 +1,5 @@
|
|||
disturl "https://electronjs.org/headers"
|
||||
target "27.1.3"
|
||||
ms_build_id "25612240"
|
||||
target "28.2.5"
|
||||
ms_build_id "27336930"
|
||||
runtime "electron"
|
||||
build_from_source "true"
|
||||
|
|
28
SECURITY.md
28
SECURITY.md
|
@ -1,34 +1,34 @@
|
|||
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.5 BLOCK -->
|
||||
<!-- BEGIN MICROSOFT SECURITY.MD V0.0.9 BLOCK -->
|
||||
|
||||
## Security
|
||||
|
||||
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet), [Xamarin](https://github.com/xamarin), and [our GitHub organizations](https://opensource.microsoft.com/).
|
||||
Microsoft takes the security of our software products and services seriously, which includes all source code repositories managed through our GitHub organizations, which include [Microsoft](https://github.com/Microsoft), [Azure](https://github.com/Azure), [DotNet](https://github.com/dotnet), [AspNet](https://github.com/aspnet) and [Xamarin](https://github.com/xamarin).
|
||||
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://docs.microsoft.com/en-us/previous-versions/tn-archive/cc751383(v=technet.10)), please report it to us as described below.
|
||||
If you believe you have found a security vulnerability in any Microsoft-owned repository that meets [Microsoft's definition of a security vulnerability](https://aka.ms/security.md/definition), please report it to us as described below.
|
||||
|
||||
## Reporting Security Issues
|
||||
|
||||
**Please do not report security vulnerabilities through public GitHub issues.**
|
||||
|
||||
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://msrc.microsoft.com/create-report).
|
||||
Instead, please report them to the Microsoft Security Response Center (MSRC) at [https://msrc.microsoft.com/create-report](https://aka.ms/security.md/msrc/create-report).
|
||||
|
||||
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://www.microsoft.com/en-us/msrc/pgp-key-msrc).
|
||||
If you prefer to submit without logging in, send email to [secure@microsoft.com](mailto:secure@microsoft.com). If possible, encrypt your message with our PGP key; please download it from the [Microsoft Security Response Center PGP Key page](https://aka.ms/security.md/msrc/pgp).
|
||||
|
||||
You should receive a response within 24 hours. If for some reason you do not, please follow up via email to ensure we received your original message. Additional information can be found at [microsoft.com/msrc](https://www.microsoft.com/msrc).
|
||||
|
||||
Please include the requested information listed below (as much as you can provide) to help us better understand the nature and scope of the possible issue:
|
||||
|
||||
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
|
||||
* Full paths of source file(s) related to the manifestation of the issue
|
||||
* The location of the affected source code (tag/branch/commit or direct URL)
|
||||
* Any special configuration required to reproduce the issue
|
||||
* Step-by-step instructions to reproduce the issue
|
||||
* Proof-of-concept or exploit code (if possible)
|
||||
* Impact of the issue, including how an attacker might exploit the issue
|
||||
* Type of issue (e.g. buffer overflow, SQL injection, cross-site scripting, etc.)
|
||||
* Full paths of source file(s) related to the manifestation of the issue
|
||||
* The location of the affected source code (tag/branch/commit or direct URL)
|
||||
* Any special configuration required to reproduce the issue
|
||||
* Step-by-step instructions to reproduce the issue
|
||||
* Proof-of-concept or exploit code (if possible)
|
||||
* Impact of the issue, including how an attacker might exploit the issue
|
||||
|
||||
This information will help us triage your report more quickly.
|
||||
|
||||
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://microsoft.com/msrc/bounty) page for more details about our active programs.
|
||||
If you are reporting for a bug bounty, more complete reports can contribute to a higher bounty award. Please visit our [Microsoft Bug Bounty Program](https://aka.ms/security.md/msrc/bounty) page for more details about our active programs.
|
||||
|
||||
## Preferred Languages
|
||||
|
||||
|
@ -36,6 +36,6 @@ We prefer all communications to be in English.
|
|||
|
||||
## Policy
|
||||
|
||||
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://www.microsoft.com/en-us/msrc/cvd).
|
||||
Microsoft follows the principle of [Coordinated Vulnerability Disclosure](https://aka.ms/security.md/cvd).
|
||||
|
||||
<!-- END MICROSOFT SECURITY.MD BLOCK -->
|
||||
|
|
|
@ -263,34 +263,6 @@ suitability for any purpose.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
better-go-syntax 1.0.0 - MIT
|
||||
https://github.com/jeff-hykin/better-go-syntax/
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2019 Jeff Hykin
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
Colorsublime-Themes 0.1.0
|
||||
https://github.com/Colorsublime/Colorsublime-Themes
|
||||
|
||||
|
@ -545,6 +517,34 @@ to the base-name name of the original file, and an extension of txt, html, or si
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
go-syntax 0.5.1 - MIT
|
||||
https://github.com/worlpaker/go-syntax
|
||||
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2023 Furkan Ozalp
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
||||
HTML 5.1 W3C Working Draft 08 October 2015 - W3C Document License
|
||||
http://www.w3.org/TR/2015/WD-html51-20151008/
|
||||
|
||||
|
@ -1146,38 +1146,12 @@ Apache License
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
language-less 0.34.2 - MIT
|
||||
https://github.com/atom/language-less
|
||||
language-less 0.6.1 - MIT
|
||||
https://github.com/radium-v/Better-Less
|
||||
|
||||
The MIT License (MIT)
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2014 GitHub Inc.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining
|
||||
a copy of this software and associated documentation files (the
|
||||
"Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish,
|
||||
distribute, sublicense, and/or sell copies of the Software, and to
|
||||
permit persons to whom the Software is furnished to do so, subject to
|
||||
the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
This package was derived from a TextMate bundle located at
|
||||
https://github.com/textmate/less.tmbundle and distributed under the following
|
||||
license, located in `LICENSE.md`:
|
||||
|
||||
Copyright (c) 2010 Scott Kyle and Rasmus Andersson
|
||||
Copyright (c) 2017 John Kreitlow
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
@ -1186,16 +1160,16 @@ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
The above copyright notice and this permission notice shall be included in all
|
||||
copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||
SOFTWARE.
|
||||
---------------------------------------------------------
|
||||
|
||||
---------------------------------------------------------
|
||||
|
@ -1441,7 +1415,7 @@ SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
microsoft/vscode-mssql 1.20.0 - MIT
|
||||
microsoft/vscode-mssql 1.23.0 - MIT
|
||||
https://github.com/microsoft/vscode-mssql
|
||||
|
||||
------------------------------------------ START OF LICENSE -----------------------------------------
|
||||
|
@ -1532,7 +1506,7 @@ SOFTWARE.
|
|||
|
||||
---------------------------------------------------------
|
||||
|
||||
redhat-developer/vscode-java 1.22.0 - MIT
|
||||
redhat-developer/vscode-java 1.26.0 - MIT
|
||||
https://github.com/redhat-developer/vscode-java
|
||||
|
||||
The MIT License (MIT)
|
||||
|
|
|
@ -1 +1 @@
|
|||
2023-12-07T16:21:36.646Z
|
||||
2024-02-05T09:34:15.476Z
|
||||
|
|
|
@ -63,10 +63,11 @@ native-watchdog/build/**
|
|||
native-watchdog/src/**
|
||||
!native-watchdog/build/Release/*.node
|
||||
|
||||
node-vsce-sign/**
|
||||
!node-vsce-sign/src/main.js
|
||||
!node-vsce-sign/package.json
|
||||
!node-vsce-sign/bin/**
|
||||
@vscode/vsce-sign/**
|
||||
!@vscode/vsce-sign/src/main.d.ts
|
||||
!@vscode/vsce-sign/src/main.js
|
||||
!@vscode/vsce-sign/package.json
|
||||
!@vscode/vsce-sign/bin/**
|
||||
|
||||
windows-foreground-love/binding.gyp
|
||||
windows-foreground-love/build/**
|
||||
|
|
|
@ -7,6 +7,9 @@ parameters:
|
|||
default: false
|
||||
- name: VSCODE_QUALITY
|
||||
type: string
|
||||
- name: VSCODE_CHECK_ONLY
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- task: NodeTool@0
|
||||
|
@ -64,7 +67,7 @@ steps:
|
|||
- x86_64-unknown-linux-musl
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_CLI_TARGET: aarch64-unknown-linux-musl
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_alpine_arm64_cli
|
||||
|
@ -77,7 +80,7 @@ steps:
|
|||
OPENSSL_STATIC: "1"
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_CLI_TARGET: x86_64-unknown-linux-musl
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_alpine_x64_cli
|
||||
|
@ -88,3 +91,15 @@ steps:
|
|||
OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/x64-linux-musl/lib
|
||||
OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/x64-linux-musl/include
|
||||
OPENSSL_STATIC: "1"
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE_ARM64, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_alpine_arm64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_ALPINE, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_alpine_x64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
|
|
@ -29,7 +29,7 @@ steps:
|
|||
displayName: Set product.json path
|
||||
|
||||
- ${{ if parameters.VSCODE_CHECK_ONLY }}:
|
||||
- script: rustup component add clippy && cargo clippy --target ${{ parameters.VSCODE_CLI_TARGET }} --bin=code
|
||||
- script: cargo clippy --target ${{ parameters.VSCODE_CLI_TARGET }} --bin=code
|
||||
displayName: Lint ${{ parameters.VSCODE_CLI_TARGET }}
|
||||
workingDirectory: $(Build.SourcesDirectory)/cli
|
||||
env:
|
||||
|
@ -42,23 +42,46 @@ steps:
|
|||
- script: |
|
||||
set -e
|
||||
if [ -n "$SYSROOT_ARCH" ]; then
|
||||
export VSCODE_SYSROOT_PREFIX='-glibc-2.17'
|
||||
export VSCODE_SYSROOT_DIR=$(Build.SourcesDirectory)/.build/sysroots
|
||||
node -e '(async () => { const { getVSCodeSysroot } = require("../build/linux/debian/install-sysroot.js"); await getVSCodeSysroot(process.env["SYSROOT_ARCH"]); })()'
|
||||
if [ "$SYSROOT_ARCH" == "arm64" ]; then
|
||||
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER="$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc"
|
||||
export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-C link-arg=--sysroot=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/sysroot"
|
||||
export CC_aarch64_unknown_linux_gnu="$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc --sysroot=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/sysroot"
|
||||
export OBJDUMP="$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/aarch64-linux-gnu/bin/objdump"
|
||||
elif [ "$SYSROOT_ARCH" == "amd64" ]; then
|
||||
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_LINKER="$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-gcc"
|
||||
export CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUSTFLAGS="-C link-arg=--sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot -C link-arg=-L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu"
|
||||
export CC_x86_64_unknown_linux_gnu="$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-gcc --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
|
||||
export OBJDUMP="$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/bin/objdump"
|
||||
elif [ "$SYSROOT_ARCH" == "armhf" ]; then
|
||||
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_LINKER="$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc"
|
||||
export CARGO_TARGET_ARMV7_UNKNOWN_LINUX_GNUEABIHF_RUSTFLAGS="-C link-arg=--sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot"
|
||||
export CC_armv7_unknown_linux_gnueabihf="$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/bin/arm-rpi-linux-gnueabihf-gcc --sysroot=$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/sysroot"
|
||||
export OBJDUMP="$VSCODE_SYSROOT_DIR/arm-rpi-linux-gnueabihf/arm-rpi-linux-gnueabihf/bin/objdump"
|
||||
fi
|
||||
fi
|
||||
|
||||
cargo build --release --target ${{ parameters.VSCODE_CLI_TARGET }} --bin=code
|
||||
|
||||
# verify glibc requirement
|
||||
if [ -n "$SYSROOT_ARCH" ]; then
|
||||
glibc_version="2.17"
|
||||
while IFS= read -r line; do
|
||||
if [[ $line == *"GLIBC_"* ]]; then
|
||||
version=$(echo "$line" | awk '{print $5}' | tr -d '()')
|
||||
version=${version#*_}
|
||||
if [[ $(printf "%s\n%s" "$version" "$glibc_version" | sort -V | tail -n1) == "$version" ]]; then
|
||||
glibc_version=$version
|
||||
fi
|
||||
fi
|
||||
done < <("$OBJDUMP" -T "$PWD/target/${{ parameters.VSCODE_CLI_TARGET }}/release/code")
|
||||
if [[ "$glibc_version" != "2.17" ]]; then
|
||||
echo "Error: binary has dependency on GLIBC > 2.17"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
displayName: Compile ${{ parameters.VSCODE_CLI_TARGET }}
|
||||
workingDirectory: $(Build.SourcesDirectory)/cli
|
||||
env:
|
||||
|
@ -98,10 +121,6 @@ steps:
|
|||
archiveType: zip
|
||||
archiveFile: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
- ${{ else }}:
|
||||
- script: |
|
||||
set -e
|
||||
|
@ -120,10 +139,6 @@ steps:
|
|||
archiveType: zip
|
||||
archiveFile: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
- ${{ else }}:
|
||||
- task: ArchiveFiles@2
|
||||
displayName: Archive CLI
|
||||
|
@ -134,10 +149,6 @@ steps:
|
|||
tarCompression: gz
|
||||
archiveFile: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.tar.gz
|
||||
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.tar.gz
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
# Make a folder for the SBOM for the specific artifact
|
||||
- ${{ if contains(parameters.VSCODE_CLI_TARGET, '-windows-') }}:
|
||||
- powershell: mkdir $(Build.ArtifactStagingDirectory)/sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
|
@ -156,7 +167,3 @@ steps:
|
|||
BuildComponentPath: $(Build.SourcesDirectory)/cli
|
||||
BuildDropPath: $(Build.ArtifactStagingDirectory)/sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
PackageName: Visual Studio Code CLI
|
||||
|
||||
- publish: $(Build.ArtifactStagingDirectory)/sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}/_manifest
|
||||
displayName: Publish SBOM
|
||||
artifact: sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}
|
28
build/azure-pipelines/cli/cli-publish.yml
Normal file
28
build/azure-pipelines/cli/cli-publish.yml
Normal file
|
@ -0,0 +1,28 @@
|
|||
parameters:
|
||||
- name: VSCODE_CLI_ARTIFACT
|
||||
type: string
|
||||
- name: VSCODE_CHECK_ONLY
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
steps:
|
||||
- ${{ if not(parameters.VSCODE_CHECK_ONLY) }}:
|
||||
- ${{ if contains(parameters.VSCODE_CLI_ARTIFACT, 'win32') }}:
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
- ${{ else }}:
|
||||
- ${{ if contains(parameters.VSCODE_CLI_ARTIFACT, 'darwin') }}:
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.zip
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
- ${{ else }}:
|
||||
- publish: $(Build.ArtifactStagingDirectory)/${{ parameters.VSCODE_CLI_ARTIFACT }}.tar.gz
|
||||
artifact: ${{ parameters.VSCODE_CLI_ARTIFACT }}
|
||||
displayName: Publish ${{ parameters.VSCODE_CLI_ARTIFACT }} artifact
|
||||
|
||||
- publish: $(Build.ArtifactStagingDirectory)/sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}/_manifest
|
||||
displayName: Publish SBOM
|
||||
artifact: sbom_${{ parameters.VSCODE_CLI_ARTIFACT }}
|
|
@ -33,6 +33,7 @@ steps:
|
|||
set -e
|
||||
rustup default $RUSTUP_TOOLCHAIN
|
||||
rustup update $RUSTUP_TOOLCHAIN
|
||||
rustup component add clippy
|
||||
env:
|
||||
RUSTUP_TOOLCHAIN: ${{ parameters.channel }}
|
||||
displayName: "Set Rust version"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
steps:
|
||||
- template: ./install-rust-posix.yml
|
||||
|
||||
- script: rustup component add clippy && cargo clippy -- -D warnings
|
||||
- script: cargo clippy -- -D warnings
|
||||
workingDirectory: cli
|
||||
displayName: Clippy lint
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ const fs = require("fs");
|
|||
const path = require("path");
|
||||
const crypto = require("crypto");
|
||||
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../product.json'), 'utf8'));
|
||||
const shasum = crypto.createHash('sha1');
|
||||
const shasum = crypto.createHash('sha256');
|
||||
for (const ext of productjson.builtInExtensions) {
|
||||
shasum.update(`${ext.name}@${ext.version}`);
|
||||
}
|
||||
|
|
|
@ -8,7 +8,7 @@ import * as path from 'path';
|
|||
import * as crypto from 'crypto';
|
||||
|
||||
const productjson = JSON.parse(fs.readFileSync(path.join(__dirname, '../../../product.json'), 'utf8'));
|
||||
const shasum = crypto.createHash('sha1');
|
||||
const shasum = crypto.createHash('sha256');
|
||||
|
||||
for (const ext of productjson.builtInExtensions) {
|
||||
shasum.update(`${ext.name}@${ext.version}`);
|
||||
|
|
|
@ -9,7 +9,7 @@ const path = require("path");
|
|||
const crypto = require("crypto");
|
||||
const { dirs } = require('../../npm/dirs');
|
||||
const ROOT = path.join(__dirname, '../../../');
|
||||
const shasum = crypto.createHash('sha1');
|
||||
const shasum = crypto.createHash('sha256');
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, 'build/.cachesalt')));
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, 'remote/.yarnrc')));
|
||||
|
|
|
@ -10,7 +10,7 @@ const { dirs } = require('../../npm/dirs');
|
|||
|
||||
const ROOT = path.join(__dirname, '../../../');
|
||||
|
||||
const shasum = crypto.createHash('sha1');
|
||||
const shasum = crypto.createHash('sha256');
|
||||
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, 'build/.cachesalt')));
|
||||
shasum.update(fs.readFileSync(path.join(ROOT, '.yarnrc')));
|
||||
|
|
|
@ -11,8 +11,6 @@ const promises_1 = require("node:stream/promises");
|
|||
const yauzl = require("yauzl");
|
||||
const crypto = require("crypto");
|
||||
const retry_1 = require("./retry");
|
||||
const storage_blob_1 = require("@azure/storage-blob");
|
||||
const mime = require("mime");
|
||||
const cosmos_1 = require("@azure/cosmos");
|
||||
const identity_1 = require("@azure/identity");
|
||||
const cp = require("child_process");
|
||||
|
@ -43,6 +41,9 @@ class Temp {
|
|||
}
|
||||
}
|
||||
}
|
||||
function isCreateProvisionedFilesErrorResponse(response) {
|
||||
return response?.ErrorDetails?.Code !== undefined;
|
||||
}
|
||||
class ProvisionService {
|
||||
log;
|
||||
accessToken;
|
||||
|
@ -65,6 +66,10 @@ class ProvisionService {
|
|||
});
|
||||
this.log(`Provisioning ${fileName} (releaseId: ${releaseId}, fileId: ${fileId})...`);
|
||||
const res = await (0, retry_1.retry)(() => this.request('POST', '/api/v2/ProvisionedFiles/CreateProvisionedFiles', { body }));
|
||||
if (isCreateProvisionedFilesErrorResponse(res) && res.ErrorDetails.Code === 'FriendlyFileNameAlreadyProvisioned') {
|
||||
this.log(`File already provisioned (most likley due to a re-run), skipping: ${fileName}`);
|
||||
return;
|
||||
}
|
||||
if (!res.IsSuccess) {
|
||||
throw new Error(`Failed to submit provisioning request: ${JSON.stringify(res.ErrorDetails)}`);
|
||||
}
|
||||
|
@ -80,8 +85,10 @@ class ProvisionService {
|
|||
}
|
||||
};
|
||||
const res = await fetch(`https://dsprovisionapi.microsoft.com${url}`, opts);
|
||||
if (!res.ok || res.status < 200 || res.status >= 500) {
|
||||
throw new Error(`Unexpected status code: ${res.status}`);
|
||||
// 400 normally means the request is bad or something is already provisioned, so we will return as retries are useless
|
||||
// Otherwise log the text body and headers. We do text because some responses are not JSON.
|
||||
if ((!res.ok || res.status < 200 || res.status >= 500) && res.status !== 400) {
|
||||
throw new Error(`Unexpected status code: ${res.status}\nResponse Headers: ${JSON.stringify(res.headers)}\nBody Text: ${await res.text()}`);
|
||||
}
|
||||
return await res.json();
|
||||
}
|
||||
|
@ -467,31 +474,6 @@ function getRealType(type) {
|
|||
return type;
|
||||
}
|
||||
}
|
||||
async function uploadAssetLegacy(log, quality, commit, filePath) {
|
||||
const fileName = path.basename(filePath);
|
||||
const blobName = commit + '/' + fileName;
|
||||
const credential = new identity_1.ClientSecretCredential(e('AZURE_TENANT_ID'), e('AZURE_CLIENT_ID'), e('AZURE_CLIENT_SECRET'));
|
||||
const blobServiceClient = new storage_blob_1.BlobServiceClient(`https://vscode.blob.core.windows.net`, credential, { retryOptions: { retryPolicyType: storage_blob_1.StorageRetryPolicyType.FIXED, tryTimeoutInMs: 2 * 60 * 1000 } });
|
||||
const containerClient = blobServiceClient.getContainerClient(quality);
|
||||
const blobClient = containerClient.getBlockBlobClient(blobName);
|
||||
const blobOptions = {
|
||||
blobHTTPHeaders: {
|
||||
blobContentType: mime.lookup(filePath),
|
||||
blobContentDisposition: `attachment; filename="${fileName}"`,
|
||||
blobCacheControl: 'max-age=31536000, public'
|
||||
}
|
||||
};
|
||||
log(`Checking for blob in Azure...`);
|
||||
if (await blobClient.exists()) {
|
||||
log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
|
||||
}
|
||||
else {
|
||||
log(`Uploading blobs to Azure storage...`);
|
||||
await blobClient.uploadFile(filePath, blobOptions);
|
||||
log('Blob successfully uploaded to Azure storage.');
|
||||
}
|
||||
return `${e('AZURE_CDN_URL')}/${quality}/${blobName}`;
|
||||
}
|
||||
async function processArtifact(artifact, artifactFilePath) {
|
||||
const log = (...args) => console.log(`[${artifact.name}]`, ...args);
|
||||
const match = /^vscode_(?<product>[^_]+)_(?<os>[^_]+)_(?<arch>[^_]+)_(?<unprocessedType>[^_]+)$/.exec(artifact.name);
|
||||
|
@ -506,12 +488,9 @@ async function processArtifact(artifact, artifactFilePath) {
|
|||
const type = getRealType(unprocessedType);
|
||||
const size = fs.statSync(artifactFilePath).size;
|
||||
const stream = fs.createReadStream(artifactFilePath);
|
||||
const [sha1hash, sha256hash] = await Promise.all([hashStream('sha1', stream), hashStream('sha256', stream)]);
|
||||
const [assetUrl, prssUrl] = await Promise.all([
|
||||
uploadAssetLegacy(log, quality, commit, artifactFilePath),
|
||||
releaseAndProvision(log, e('RELEASE_TENANT_ID'), e('RELEASE_CLIENT_ID'), e('RELEASE_AUTH_CERT_SUBJECT_NAME'), e('RELEASE_REQUEST_SIGNING_CERT_SUBJECT_NAME'), e('PROVISION_TENANT_ID'), e('PROVISION_AAD_USERNAME'), e('PROVISION_AAD_PASSWORD'), commit, quality, artifactFilePath)
|
||||
]);
|
||||
const asset = { platform, type, url: assetUrl, hash: sha1hash, mooncakeUrl: prssUrl, prssUrl, sha256hash, size, supportsFastUpdate: true };
|
||||
const [hash, sha256hash] = await Promise.all([hashStream('sha1', stream), hashStream('sha256', stream)]); // CodeQL [SM04514] Using SHA1 only for legacy reasons, we are actually only respecting SHA256
|
||||
const url = await releaseAndProvision(log, e('RELEASE_TENANT_ID'), e('RELEASE_CLIENT_ID'), e('RELEASE_AUTH_CERT_SUBJECT_NAME'), e('RELEASE_REQUEST_SIGNING_CERT_SUBJECT_NAME'), e('PROVISION_TENANT_ID'), e('PROVISION_AAD_USERNAME'), e('PROVISION_AAD_PASSWORD'), commit, quality, artifactFilePath);
|
||||
const asset = { platform, type, url, hash, sha256hash, size, supportsFastUpdate: true };
|
||||
log('Creating asset...', JSON.stringify(asset));
|
||||
await (0, retry_1.retry)(async (attempt) => {
|
||||
log(`Creating asset in Cosmos DB (attempt ${attempt})...`);
|
||||
|
@ -616,7 +595,7 @@ async function main() {
|
|||
operations.push({ name: artifact.name, operation });
|
||||
resultPromise = Promise.allSettled(operations.map(o => o.operation));
|
||||
}
|
||||
await new Promise(c => setTimeout(c, 10000));
|
||||
await new Promise(c => setTimeout(c, 10_000));
|
||||
}
|
||||
console.log(`Found all ${done.size + processing.size} artifacts, waiting for ${processing.size} artifacts to finish publishing...`);
|
||||
const artifactsInProgress = operations.filter(o => processing.has(o.name));
|
||||
|
|
|
@ -11,8 +11,6 @@ import { pipeline } from 'node:stream/promises';
|
|||
import * as yauzl from 'yauzl';
|
||||
import * as crypto from 'crypto';
|
||||
import { retry } from './retry';
|
||||
import { BlobServiceClient, BlockBlobParallelUploadOptions, StorageRetryPolicyType } from '@azure/storage-blob';
|
||||
import * as mime from 'mime';
|
||||
import { CosmosClient } from '@azure/cosmos';
|
||||
import { ClientSecretCredential } from '@azure/identity';
|
||||
import * as cp from 'child_process';
|
||||
|
@ -71,6 +69,10 @@ interface CreateProvisionedFilesErrorResponse {
|
|||
|
||||
type CreateProvisionedFilesResponse = CreateProvisionedFilesSuccessResponse | CreateProvisionedFilesErrorResponse;
|
||||
|
||||
function isCreateProvisionedFilesErrorResponse(response: unknown): response is CreateProvisionedFilesErrorResponse {
|
||||
return (response as CreateProvisionedFilesErrorResponse)?.ErrorDetails?.Code !== undefined;
|
||||
}
|
||||
|
||||
class ProvisionService {
|
||||
|
||||
constructor(
|
||||
|
@ -95,6 +97,11 @@ class ProvisionService {
|
|||
this.log(`Provisioning ${fileName} (releaseId: ${releaseId}, fileId: ${fileId})...`);
|
||||
const res = await retry(() => this.request<CreateProvisionedFilesResponse>('POST', '/api/v2/ProvisionedFiles/CreateProvisionedFiles', { body }));
|
||||
|
||||
if (isCreateProvisionedFilesErrorResponse(res) && res.ErrorDetails.Code === 'FriendlyFileNameAlreadyProvisioned') {
|
||||
this.log(`File already provisioned (most likley due to a re-run), skipping: ${fileName}`);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!res.IsSuccess) {
|
||||
throw new Error(`Failed to submit provisioning request: ${JSON.stringify(res.ErrorDetails)}`);
|
||||
}
|
||||
|
@ -114,8 +121,11 @@ class ProvisionService {
|
|||
|
||||
const res = await fetch(`https://dsprovisionapi.microsoft.com${url}`, opts);
|
||||
|
||||
if (!res.ok || res.status < 200 || res.status >= 500) {
|
||||
throw new Error(`Unexpected status code: ${res.status}`);
|
||||
|
||||
// 400 normally means the request is bad or something is already provisioned, so we will return as retries are useless
|
||||
// Otherwise log the text body and headers. We do text because some responses are not JSON.
|
||||
if ((!res.ok || res.status < 200 || res.status >= 500) && res.status !== 400) {
|
||||
throw new Error(`Unexpected status code: ${res.status}\nResponse Headers: ${JSON.stringify(res.headers)}\nBody Text: ${await res.text()}`);
|
||||
}
|
||||
|
||||
return await res.json();
|
||||
|
@ -627,36 +637,6 @@ function getRealType(type: string) {
|
|||
}
|
||||
}
|
||||
|
||||
async function uploadAssetLegacy(log: (...args: any[]) => void, quality: string, commit: string, filePath: string): Promise<string> {
|
||||
const fileName = path.basename(filePath);
|
||||
const blobName = commit + '/' + fileName;
|
||||
|
||||
const credential = new ClientSecretCredential(e('AZURE_TENANT_ID'), e('AZURE_CLIENT_ID'), e('AZURE_CLIENT_SECRET'));
|
||||
const blobServiceClient = new BlobServiceClient(`https://vscode.blob.core.windows.net`, credential, { retryOptions: { retryPolicyType: StorageRetryPolicyType.FIXED, tryTimeoutInMs: 2 * 60 * 1000 } });
|
||||
const containerClient = blobServiceClient.getContainerClient(quality);
|
||||
const blobClient = containerClient.getBlockBlobClient(blobName);
|
||||
|
||||
const blobOptions: BlockBlobParallelUploadOptions = {
|
||||
blobHTTPHeaders: {
|
||||
blobContentType: mime.lookup(filePath),
|
||||
blobContentDisposition: `attachment; filename="${fileName}"`,
|
||||
blobCacheControl: 'max-age=31536000, public'
|
||||
}
|
||||
};
|
||||
|
||||
log(`Checking for blob in Azure...`);
|
||||
|
||||
if (await blobClient.exists()) {
|
||||
log(`Blob ${quality}, ${blobName} already exists, not publishing again.`);
|
||||
} else {
|
||||
log(`Uploading blobs to Azure storage...`);
|
||||
await blobClient.uploadFile(filePath, blobOptions);
|
||||
log('Blob successfully uploaded to Azure storage.');
|
||||
}
|
||||
|
||||
return `${e('AZURE_CDN_URL')}/${quality}/${blobName}`;
|
||||
}
|
||||
|
||||
async function processArtifact(artifact: Artifact, artifactFilePath: string): Promise<void> {
|
||||
const log = (...args: any[]) => console.log(`[${artifact.name}]`, ...args);
|
||||
const match = /^vscode_(?<product>[^_]+)_(?<os>[^_]+)_(?<arch>[^_]+)_(?<unprocessedType>[^_]+)$/.exec(artifact.name);
|
||||
|
@ -673,26 +653,23 @@ async function processArtifact(artifact: Artifact, artifactFilePath: string): Pr
|
|||
const type = getRealType(unprocessedType);
|
||||
const size = fs.statSync(artifactFilePath).size;
|
||||
const stream = fs.createReadStream(artifactFilePath);
|
||||
const [sha1hash, sha256hash] = await Promise.all([hashStream('sha1', stream), hashStream('sha256', stream)]);
|
||||
const [hash, sha256hash] = await Promise.all([hashStream('sha1', stream), hashStream('sha256', stream)]); // CodeQL [SM04514] Using SHA1 only for legacy reasons, we are actually only respecting SHA256
|
||||
|
||||
const [assetUrl, prssUrl] = await Promise.all([
|
||||
uploadAssetLegacy(log, quality, commit, artifactFilePath),
|
||||
releaseAndProvision(
|
||||
log,
|
||||
e('RELEASE_TENANT_ID'),
|
||||
e('RELEASE_CLIENT_ID'),
|
||||
e('RELEASE_AUTH_CERT_SUBJECT_NAME'),
|
||||
e('RELEASE_REQUEST_SIGNING_CERT_SUBJECT_NAME'),
|
||||
e('PROVISION_TENANT_ID'),
|
||||
e('PROVISION_AAD_USERNAME'),
|
||||
e('PROVISION_AAD_PASSWORD'),
|
||||
commit,
|
||||
quality,
|
||||
artifactFilePath
|
||||
)
|
||||
]);
|
||||
const url = await releaseAndProvision(
|
||||
log,
|
||||
e('RELEASE_TENANT_ID'),
|
||||
e('RELEASE_CLIENT_ID'),
|
||||
e('RELEASE_AUTH_CERT_SUBJECT_NAME'),
|
||||
e('RELEASE_REQUEST_SIGNING_CERT_SUBJECT_NAME'),
|
||||
e('PROVISION_TENANT_ID'),
|
||||
e('PROVISION_AAD_USERNAME'),
|
||||
e('PROVISION_AAD_PASSWORD'),
|
||||
commit,
|
||||
quality,
|
||||
artifactFilePath
|
||||
);
|
||||
|
||||
const asset: Asset = { platform, type, url: assetUrl, hash: sha1hash, mooncakeUrl: prssUrl, prssUrl, sha256hash, size, supportsFastUpdate: true };
|
||||
const asset: Asset = { platform, type, url, hash, sha256hash, size, supportsFastUpdate: true };
|
||||
log('Creating asset...', JSON.stringify(asset));
|
||||
|
||||
await retry(async (attempt) => {
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.retry = void 0;
|
||||
exports.retry = retry;
|
||||
async function retry(fn) {
|
||||
let lastError;
|
||||
for (let run = 1; run <= 10; run++) {
|
||||
|
@ -24,5 +24,4 @@ async function retry(fn) {
|
|||
console.error(`Too many retries, aborting.`);
|
||||
throw lastError;
|
||||
}
|
||||
exports.retry = retry;
|
||||
//# sourceMappingURL=retry.js.map
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.main = exports.Temp = void 0;
|
||||
exports.Temp = void 0;
|
||||
exports.main = main;
|
||||
const cp = require("child_process");
|
||||
const fs = require("fs");
|
||||
const crypto = require("crypto");
|
||||
|
@ -164,7 +165,6 @@ function main([esrpCliPath, type, cert, username, password, folderPath, pattern]
|
|||
process.exit(1);
|
||||
}
|
||||
}
|
||||
exports.main = main;
|
||||
if (require.main === module) {
|
||||
main(process.argv.slice(2));
|
||||
process.exit(0);
|
||||
|
|
|
@ -45,7 +45,7 @@ steps:
|
|||
- aarch64-apple-darwin
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: x86_64-apple-darwin
|
||||
|
@ -56,7 +56,7 @@ steps:
|
|||
OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/x64-osx/include
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: aarch64-apple-darwin
|
||||
|
@ -65,3 +65,15 @@ steps:
|
|||
VSCODE_CLI_ENV:
|
||||
OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-osx/lib
|
||||
OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-osx/include
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_MACOS, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: unsigned_vscode_cli_darwin_x64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_MACOS_ARM64, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: unsigned_vscode_cli_darwin_arm64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
|
|
@ -90,7 +90,7 @@ steps:
|
|||
- armv7-unknown-linux-gnueabihf
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARM64, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: aarch64-unknown-linux-gnu
|
||||
|
@ -102,7 +102,7 @@ steps:
|
|||
SYSROOT_ARCH: arm64
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: x86_64-unknown-linux-gnu
|
||||
|
@ -114,7 +114,7 @@ steps:
|
|||
SYSROOT_ARCH: amd64
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: armv7-unknown-linux-gnueabihf
|
||||
|
@ -124,3 +124,21 @@ steps:
|
|||
OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm-linux/lib
|
||||
OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm-linux/include
|
||||
SYSROOT_ARCH: armhf
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARMHF, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_linux_armhf_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_linux_x64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_LINUX_ARM64, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: vscode_cli_linux_arm64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
|
|
@ -15,7 +15,7 @@ SYSROOT_ARCH="$SYSROOT_ARCH" node -e '(async () => { const { getVSCodeSysroot }
|
|||
|
||||
if [ "$npm_config_arch" == "x64" ]; then
|
||||
# Download clang based on chromium revision used by vscode
|
||||
curl -s https://raw.githubusercontent.com/chromium/chromium/118.0.5993.159/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
|
||||
curl -s https://raw.githubusercontent.com/chromium/chromium/120.0.6099.268/tools/clang/scripts/update.py | python - --output-dir=$PWD/.build/CR_Clang --host-os=linux
|
||||
|
||||
# Download libcxx headers and objects from upstream electron releases
|
||||
DEBUG=libcxx-fetcher \
|
||||
|
@ -27,18 +27,13 @@ if [ "$npm_config_arch" == "x64" ]; then
|
|||
|
||||
# Set compiler toolchain
|
||||
# Flags for the client build are based on
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:build/config/arm.gni
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:build/config/compiler/BUILD.gn
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:build/config/c++/BUILD.gn
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/arm.gni
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/compiler/BUILD.gn
|
||||
# https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:build/config/c++/BUILD.gn
|
||||
export CC="$PWD/.build/CR_Clang/bin/clang --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
|
||||
export CXX="$PWD/.build/CR_Clang/bin/clang++ --gcc-toolchain=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu"
|
||||
export CXXFLAGS="-nostdinc++ -D__NO_INLINE__ -I$PWD/.build/libcxx_headers -isystem$PWD/.build/libcxx_headers/include -isystem$PWD/.build/libcxxabi_headers/include -fPIC -flto=thin -fsplit-lto-unit -D_LIBCPP_ABI_NAMESPACE=Cr --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
|
||||
export LDFLAGS="-stdlib=libc++ --sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot -fuse-ld=lld -flto=thin -L$PWD/.build/libcxx-objects -lc++abi -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/lib/x86_64-linux-gnu -Wl,--lto-O0"
|
||||
# Set compiler toolchain for remote server
|
||||
export VSCODE_REMOTE_CC=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-gcc
|
||||
export VSCODE_REMOTE_CXX=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/bin/x86_64-linux-gnu-g++
|
||||
export VSCODE_REMOTE_CXXFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot"
|
||||
export VSCODE_REMOTE_LDFLAGS="--sysroot=$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/usr/lib/x86_64-linux-gnu -L$VSCODE_SYSROOT_DIR/x86_64-linux-gnu/x86_64-linux-gnu/sysroot/lib/x86_64-linux-gnu"
|
||||
elif [ "$npm_config_arch" == "arm64" ]; then
|
||||
# Set compiler toolchain for client native modules and remote server
|
||||
export CC=$VSCODE_SYSROOT_DIR/aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
|
||||
|
|
|
@ -121,53 +121,23 @@ steps:
|
|||
ELECTRON_SKIP_BINARY_DOWNLOAD: 1
|
||||
PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: 1
|
||||
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||
VSCODE_HOST_MOUNT: "/mnt/vss/_work/1/s"
|
||||
${{ if or(eq(parameters.VSCODE_ARCH, 'x64'), eq(parameters.VSCODE_ARCH, 'arm64')) }}:
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME: vscodehub.azurecr.io/vscode-linux-build-agent:centos7-devtoolset8-$(VSCODE_ARCH)
|
||||
${{ if eq(parameters.VSCODE_ARCH, 'armhf') }}:
|
||||
VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME: vscodehub.azurecr.io/vscode-linux-build-agent:bionic-arm32v7
|
||||
displayName: Install dependencies (non-OSS)
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
||||
- script: |
|
||||
set -e
|
||||
- ${{ if or(eq(parameters.VSCODE_ARCH, 'x64'), eq(parameters.VSCODE_ARCH, 'arm64')) }}:
|
||||
- script: |
|
||||
set -e
|
||||
|
||||
TRIPLE="x86_64-linux-gnu"
|
||||
if [ "$VSCODE_ARCH" == "arm64" ]; then
|
||||
TRIPLE="aarch64-linux-gnu"
|
||||
elif [ "$VSCODE_ARCH" == "armhf" ]; then
|
||||
TRIPLE="arm-rpi-linux-gnueabihf"
|
||||
fi
|
||||
|
||||
# Get all files with .node extension from remote/node_modules folder
|
||||
files=$(find remote/node_modules -name "*.node")
|
||||
|
||||
# Check if any file has dependency of GLIBC > 2.28 or GLIBCXX > 3.4.25
|
||||
for file in $files; do
|
||||
glibc_version="2.28"
|
||||
glibcxx_version="3.4.25"
|
||||
while IFS= read -r line; do
|
||||
if [[ $line == *"GLIBC_"* ]]; then
|
||||
version=$(echo "$line" | awk '{print $5}' | tr -d '()')
|
||||
version=${version#*_}
|
||||
if [[ $(printf "%s\n%s" "$version" "$glibc_version" | sort -V | tail -n1) == "$version" ]]; then
|
||||
glibc_version=$version
|
||||
fi
|
||||
elif [[ $line == *"GLIBCXX_"* ]]; then
|
||||
version=$(echo "$line" | awk '{print $5}' | tr -d '()')
|
||||
version=${version#*_}
|
||||
if [[ $(printf "%s\n%s" "$version" "$glibcxx_version" | sort -V | tail -n1) == "$version" ]]; then
|
||||
glibcxx_version=$version
|
||||
fi
|
||||
fi
|
||||
done < <("$PWD/.build/sysroots/$TRIPLE/$TRIPLE/bin/objdump" -T "$file")
|
||||
|
||||
if [[ "$glibc_version" != "2.28" ]]; then
|
||||
echo "Error: File $file has dependency on GLIBC > 2.28"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$glibcxx_version" != "3.4.25" ]]; then
|
||||
echo "Error: File $file has dependency on GLIBCXX > 3.4.25"
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
displayName: Check GLIBC and GLIBCXX dependencies in remote/node_modules
|
||||
EXPECTED_GLIBC_VERSION="2.17" \
|
||||
EXPECTED_GLIBCXX_VERSION="3.4.19" \
|
||||
./build/azure-pipelines/linux/verify-glibc-requirements.sh
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
displayName: Check GLIBC and GLIBCXX dependencies in remote/node_modules
|
||||
|
||||
- script: node build/azure-pipelines/distro/mixin-npm
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
@ -248,6 +218,7 @@ steps:
|
|||
|
||||
- script: |
|
||||
set -e
|
||||
export VSCODE_NODE_GLIBC='-glibc-2.17'
|
||||
yarn gulp vscode-reh-linux-$(VSCODE_ARCH)-min-ci
|
||||
mv ../vscode-reh-linux-$(VSCODE_ARCH) ../vscode-server-linux-$(VSCODE_ARCH) # TODO@joaomoreno
|
||||
ARCHIVE_PATH=".build/linux/server/vscode-server-linux-$(VSCODE_ARCH).tar.gz"
|
||||
|
@ -260,6 +231,7 @@ steps:
|
|||
|
||||
- script: |
|
||||
set -e
|
||||
export VSCODE_NODE_GLIBC='-glibc-2.17'
|
||||
yarn gulp vscode-reh-web-linux-$(VSCODE_ARCH)-min-ci
|
||||
mv ../vscode-reh-web-linux-$(VSCODE_ARCH) ../vscode-server-linux-$(VSCODE_ARCH)-web # TODO@joaomoreno
|
||||
ARCHIVE_PATH=".build/linux/web/vscode-server-linux-$(VSCODE_ARCH)-web.tar.gz"
|
||||
|
@ -288,6 +260,8 @@ steps:
|
|||
- script: |
|
||||
set -e
|
||||
yarn gulp "vscode-linux-$(VSCODE_ARCH)-prepare-deb"
|
||||
env:
|
||||
GITHUB_TOKEN: "$(github-distro-mixin-password)"
|
||||
displayName: Prepare deb package
|
||||
|
||||
- script: |
|
||||
|
|
44
build/azure-pipelines/linux/verify-glibc-requirements.sh
Executable file
44
build/azure-pipelines/linux/verify-glibc-requirements.sh
Executable file
|
@ -0,0 +1,44 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
set -e
|
||||
|
||||
TRIPLE="x86_64-linux-gnu"
|
||||
if [ "$VSCODE_ARCH" == "arm64" ]; then
|
||||
TRIPLE="aarch64-linux-gnu"
|
||||
elif [ "$VSCODE_ARCH" == "armhf" ]; then
|
||||
TRIPLE="arm-rpi-linux-gnueabihf"
|
||||
fi
|
||||
|
||||
# Get all files with .node extension from remote/node_modules folder
|
||||
files=$(find remote/node_modules -name "*.node" -not -path "*prebuilds*")
|
||||
|
||||
echo "Verifying requirements for files: $files"
|
||||
|
||||
for file in $files; do
|
||||
glibc_version="$EXPECTED_GLIBC_VERSION"
|
||||
glibcxx_version="$EXPECTED_GLIBCXX_VERSION"
|
||||
while IFS= read -r line; do
|
||||
if [[ $line == *"GLIBC_"* ]]; then
|
||||
version=$(echo "$line" | awk '{print $5}' | tr -d '()')
|
||||
version=${version#*_}
|
||||
if [[ $(printf "%s\n%s" "$version" "$glibc_version" | sort -V | tail -n1) == "$version" ]]; then
|
||||
glibc_version=$version
|
||||
fi
|
||||
elif [[ $line == *"GLIBCXX_"* ]]; then
|
||||
version=$(echo "$line" | awk '{print $5}' | tr -d '()')
|
||||
version=${version#*_}
|
||||
if [[ $(printf "%s\n%s" "$version" "$glibcxx_version" | sort -V | tail -n1) == "$version" ]]; then
|
||||
glibcxx_version=$version
|
||||
fi
|
||||
fi
|
||||
done < <("$PWD/.build/sysroots/$TRIPLE/$TRIPLE/bin/objdump" -T "$file")
|
||||
|
||||
if [[ "$glibc_version" != "$EXPECTED_GLIBC_VERSION" ]]; then
|
||||
echo "Error: File $file has dependency on GLIBC > $EXPECTED_GLIBC_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
if [[ "$glibcxx_version" != "$EXPECTED_GLIBCXX_VERSION" ]]; then
|
||||
echo "Error: File $file has dependency on GLIBCXX > $EXPECTED_GLIBCXX_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
done
|
|
@ -128,8 +128,6 @@ variables:
|
|||
value: c24324f7-e65f-4c45-8702-ed2d4c35df99
|
||||
- name: PRSS_PROVISION_TENANT_ID
|
||||
value: 72f988bf-86f1-41af-91ab-2d7cd011db47
|
||||
- name: AZURE_CDN_URL
|
||||
value: https://az764295.vo.msecnd.net
|
||||
- name: AZURE_DOCUMENTDB_ENDPOINT
|
||||
value: https://vscode.documents.azure.com:443/
|
||||
- name: VSCODE_MIXIN_REPO
|
||||
|
|
|
@ -95,29 +95,16 @@ stages:
|
|||
displayName: CodeQL Initialize
|
||||
condition: eq(variables['Codeql.enabled'], 'True')
|
||||
|
||||
- powershell: |
|
||||
mkdir -Force .build/node-gyp
|
||||
displayName: Create custom node-gyp directory
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
||||
- powershell: |
|
||||
. ../../build/azure-pipelines/win32/exec.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
|
||||
# gets merged.
|
||||
exec { git clone https://github.com/rzhao271/node-gyp.git . } "Cloning rzhao271/node-gyp failed"
|
||||
exec { git checkout 102b347da0c92c29f9c67df22e864e70249cf086 } "Checking out 102b347 failed"
|
||||
exec { npm install } "Building rzhao271/node-gyp failed"
|
||||
exec { python3 -m pip install setuptools } "Installing setuptools failed"
|
||||
displayName: Install custom node-gyp
|
||||
workingDirectory: .build/node-gyp
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
||||
- powershell: |
|
||||
. build/azure-pipelines/win32/exec.ps1
|
||||
. build/azure-pipelines/win32/retry.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
$env:npm_config_node_gyp = "$(Join-Path $pwd.Path '.build/node-gyp/bin/node-gyp.js')"
|
||||
# TODO: remove custom node-gyp when updating to Node v20,
|
||||
# refs https://github.com/npm/cli/releases/tag/v10.2.3 which is available with Node >= 20.10.0
|
||||
$nodeGypDir = "$(Agent.TempDirectory)/custom-packages"
|
||||
mkdir "$nodeGypDir"
|
||||
npm install node-gyp@10.0.1 -g --prefix "$nodeGypDir"
|
||||
$env:npm_config_node_gyp = "${nodeGypDir}/node_modules/node-gyp/bin/node-gyp.js"
|
||||
$env:npm_config_arch = "$(NPM_ARCH)"
|
||||
retry { exec { yarn --frozen-lockfile --check-files } }
|
||||
env:
|
||||
|
|
|
@ -44,7 +44,7 @@ steps:
|
|||
- aarch64-pc-windows-msvc
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: x86_64-pc-windows-msvc
|
||||
|
@ -56,7 +56,7 @@ steps:
|
|||
RUSTFLAGS: "-C target-feature=+crt-static"
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_WIN32_ARM64, true) }}:
|
||||
- template: ../cli/cli-compile-and-publish.yml
|
||||
- template: ../cli/cli-compile.yml
|
||||
parameters:
|
||||
VSCODE_QUALITY: ${{ parameters.VSCODE_QUALITY }}
|
||||
VSCODE_CLI_TARGET: aarch64-pc-windows-msvc
|
||||
|
@ -66,3 +66,15 @@ steps:
|
|||
OPENSSL_LIB_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-windows-static/lib
|
||||
OPENSSL_INCLUDE_DIR: $(Build.ArtifactStagingDirectory)/openssl/arm64-windows-static/include
|
||||
RUSTFLAGS: "-C target-feature=+crt-static"
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_WIN32_ARM64, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: unsigned_vscode_cli_win32_arm64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
||||
- ${{ if eq(parameters.VSCODE_BUILD_WIN32, true) }}:
|
||||
- template: ../cli/cli-publish.yml
|
||||
parameters:
|
||||
VSCODE_CLI_ARTIFACT: unsigned_vscode_cli_win32_x64_cli
|
||||
VSCODE_CHECK_ONLY: ${{ parameters.VSCODE_CHECK_ONLY }}
|
||||
|
|
|
@ -89,33 +89,17 @@ steps:
|
|||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'), ne(variables['NPM_REGISTRY'], 'none'))
|
||||
displayName: Setup NPM Authentication
|
||||
|
||||
- powershell: |
|
||||
mkdir -Force .build/node-gyp
|
||||
displayName: Create custom node-gyp directory
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
||||
- powershell: |
|
||||
. ../../build/azure-pipelines/win32/exec.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
# TODO: Should be replaced with upstream URL once https://github.com/nodejs/node-gyp/pull/2825
|
||||
# gets merged.
|
||||
exec { git config --global user.email "vscode@microsoft.com" } "git config user.email failed"
|
||||
exec { git config --global user.name "VSCode" } "git config user.name failed"
|
||||
exec { git clone https://github.com/nodejs/node-gyp.git . } "Cloning nodejs/node-gyp failed"
|
||||
exec { git checkout v9.4.0 } "Checking out v9.4.0 failed"
|
||||
exec { git am --3way --whitespace=fix ../../build/npm/gyp/patches/gyp_spectre_mitigation_support.patch } "Apply spectre patch failed"
|
||||
exec { npm install } "Building node-gyp failed"
|
||||
exec { python3 -m pip install setuptools } "Installing setuptools failed"
|
||||
displayName: Install custom node-gyp
|
||||
workingDirectory: .build/node-gyp
|
||||
condition: and(succeeded(), ne(variables.NODE_MODULES_RESTORED, 'true'))
|
||||
|
||||
- powershell: |
|
||||
. build/azure-pipelines/win32/exec.ps1
|
||||
. build/azure-pipelines/win32/retry.ps1
|
||||
$ErrorActionPreference = "Stop"
|
||||
$env:npm_config_node_gyp="$(Join-Path $pwd.Path '.build/node-gyp/bin/node-gyp.js')"
|
||||
$env:npm_config_arch="$(VSCODE_ARCH)"
|
||||
# TODO: remove custom node-gyp when updating to Node v20,
|
||||
# refs https://github.com/npm/cli/releases/tag/v10.2.3 which is available with Node >= 20.10.0
|
||||
$nodeGypDir = "$(Agent.TempDirectory)/custom-packages"
|
||||
mkdir "$nodeGypDir"
|
||||
npm install node-gyp@10.0.1 -g --prefix "$nodeGypDir"
|
||||
$env:npm_config_node_gyp = "${nodeGypDir}/node_modules/node-gyp/bin/node-gyp.js"
|
||||
$env:npm_config_arch = "$(VSCODE_ARCH)"
|
||||
$env:CHILD_CONCURRENCY="1"
|
||||
retry { exec { yarn --frozen-lockfile --check-files } }
|
||||
env:
|
||||
|
|
|
@ -1,75 +1,75 @@
|
|||
fb6f9b62f3f031106dbaba2538bd850c6c18206353a85552f66e41bea36cb4c0 *chromedriver-v27.1.3-darwin-arm64.zip
|
||||
ad6fb1824df1ae040aaa0ea280b37b175458517f6023414ce11418a0787e7bc8 *chromedriver-v27.1.3-darwin-x64.zip
|
||||
559c07c4392640478702818076414a53e32845ea10647b354f9d5cbd45eabea2 *chromedriver-v27.1.3-linux-arm64.zip
|
||||
82a17100d8443b10763e66194960830236a1d6a8a931db7b75beac8d5fa929c4 *chromedriver-v27.1.3-linux-armv7l.zip
|
||||
fea8713f19cafb4eb0591074d42a52ca6d1394a9da05d8c73ed2590f1bbd6056 *chromedriver-v27.1.3-linux-x64.zip
|
||||
6202162efb2d4479a826dc0d6090c1ffa3c90efa245f6c66cfd6d71169f52cd8 *chromedriver-v27.1.3-mas-arm64.zip
|
||||
dd966c0dd992b63616e0ec811f27367232c40b1ae12aca80467c7c3b3bf52da5 *chromedriver-v27.1.3-mas-x64.zip
|
||||
a7c800241316318e74cdefd8c311c0aa80c84263471bc6f20738d6be1ede9f76 *chromedriver-v27.1.3-win32-arm64.zip
|
||||
95722b9b0915e8e883de762ceea7e3e859d4b0c8ea05e1ec78273707bbae95be *chromedriver-v27.1.3-win32-ia32.zip
|
||||
73d0d834812c51b408dd863588686e21013b076eb5af43a19a9b5bdb11b035cf *chromedriver-v27.1.3-win32-x64.zip
|
||||
977a4b72c9f4bc83256b46bc477d8f99957e9db2d543a99e10bc72667431823c *electron-api.json
|
||||
dee2d7db6aeaf9a0a4c67c6ad4242d162f5573f96198c8af7d3c4888090e7c3e *electron-v27.1.3-darwin-arm64-dsym-snapshot.zip
|
||||
cf8bf2d3d907e0860b28fbe13d41889161fab11578d991251344820e2d9a0370 *electron-v27.1.3-darwin-arm64-dsym.zip
|
||||
a98e58cc6b840dd079b42224ebb612e4286ee2dabc0fb0b3338d71da65b388c9 *electron-v27.1.3-darwin-arm64-symbols.zip
|
||||
ae44b0d094c53e233f5f69db13fe83b1db5e6434a7688fe72550f30f00bde40c *electron-v27.1.3-darwin-arm64.zip
|
||||
a262a0c9baa3c4296f0e82498714c84189ee4474a099bf3ed3f7ab532c42d8f7 *electron-v27.1.3-darwin-x64-dsym-snapshot.zip
|
||||
ca6fced7f9c356bf85ca512721a929df6b8c72fffdd18de49e475140038aae99 *electron-v27.1.3-darwin-x64-dsym.zip
|
||||
1f29c88e7a170ec4c0d28feff70b117d7dd9c32758f12e99e38cf7178d710c7d *electron-v27.1.3-darwin-x64-symbols.zip
|
||||
1f390ed58536a6ca35a65f2d89dabfbec7710a63c0037e7b6b5b93ddec830e4a *electron-v27.1.3-darwin-x64.zip
|
||||
20ec3f863b6af6dbf16e71a73f813dce72aa3ebe24e45a9aafeec95d0e50e0b1 *electron-v27.1.3-linux-arm64-debug.zip
|
||||
9c61c8eccad95493e5b26d390d76054cc193ef6969ea09f9487d5fe7dddc74ed *electron-v27.1.3-linux-arm64-symbols.zip
|
||||
dc40729e50501923fb6c05f96179404fb7cb66abffd4c541ba48a98dd99eb1ed *electron-v27.1.3-linux-arm64.zip
|
||||
20ec3f863b6af6dbf16e71a73f813dce72aa3ebe24e45a9aafeec95d0e50e0b1 *electron-v27.1.3-linux-armv7l-debug.zip
|
||||
070f1eb4f748ed7f2fcd7251eb1cc6a60dd673b875b5ccdde725a6d81d63aa93 *electron-v27.1.3-linux-armv7l-symbols.zip
|
||||
b7722854c6cdc32748341a42a8031c6fb39a9c7bb4b14a5df2bede8b6c34a51d *electron-v27.1.3-linux-armv7l.zip
|
||||
6a5b0a98a784761ad526b4d3c3f6ee9bb1b080fec033a6707f31562e21f78e21 *electron-v27.1.3-linux-x64-debug.zip
|
||||
47cd6f88991657387ede77513fda4bee4af8774cda70370aee10efe20daf1e3d *electron-v27.1.3-linux-x64-symbols.zip
|
||||
5c567315071b2c69e5b3834c8098270bc8be2625242709a82404ca16e66fae14 *electron-v27.1.3-linux-x64.zip
|
||||
0e86b47e647bfa05638341f36405cd313827c35be4dc39e007150c5fed559d43 *electron-v27.1.3-mas-arm64-dsym-snapshot.zip
|
||||
f353c28728ad2c18c8f394adca6cf579c7a6031d87192e4ac21c131aa15d73d1 *electron-v27.1.3-mas-arm64-dsym.zip
|
||||
8a69b87569291270e647aeb45c4ba0c16b5282c6c23c60aafb067b9485908b2a *electron-v27.1.3-mas-arm64-symbols.zip
|
||||
78f5a61e5d828fd85a25cad0f8bd97144fcb59e79f6be8ab9a6f5b92410bf8d0 *electron-v27.1.3-mas-arm64.zip
|
||||
71d2a5843fab0b1e6fbbf31788f5ce262d26bead43974e4559b502e608c5caa0 *electron-v27.1.3-mas-x64-dsym-snapshot.zip
|
||||
31ba66bc89ff0ca11d82971e5a1846ef3426bdd1aa22675fc5e5a9ecd545a419 *electron-v27.1.3-mas-x64-dsym.zip
|
||||
3eb43d0058e88a0b45845f2e78d270325c52ae32b552e94b5da38d3a0187d3c8 *electron-v27.1.3-mas-x64-symbols.zip
|
||||
bc7ff5f8938d24390a1305f13ed29760fb7c841b533fad090682024bdf93b304 *electron-v27.1.3-mas-x64.zip
|
||||
e98c36b90984f7307463f815a7d593b41d373e24e6949e8dad28ea84b581c615 *electron-v27.1.3-win32-arm64-pdb.zip
|
||||
c71180638cc29d888f6bdbbf92476dd4aa443c934ee3e9c588a898fbe0aaa70b *electron-v27.1.3-win32-arm64-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v27.1.3-win32-arm64-toolchain-profile.zip
|
||||
4b8cbea485aff9325f3e41b842d4714900299667255179b2c7ac653b56d4b0c8 *electron-v27.1.3-win32-arm64.zip
|
||||
d5be66a6f7416d4bf506c950e31c907604bbfc3c4c417c9545df81070cb669dd *electron-v27.1.3-win32-ia32-pdb.zip
|
||||
e5ab5957302d1d839e620e803de810de9c476147383a05af41e08ba9add74445 *electron-v27.1.3-win32-ia32-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v27.1.3-win32-ia32-toolchain-profile.zip
|
||||
c06c9ee185276e56dfb62ca7ea742f8442b8d573b430bb9d6ce03024fe4be670 *electron-v27.1.3-win32-ia32.zip
|
||||
82a8dfb06126e25672f793a87fa6183c62badeefc4d6372043f038f3347c3880 *electron-v27.1.3-win32-x64-pdb.zip
|
||||
441c05b66b2584421683771cd428be78d59e37359cee88d01e8a1201e8c95206 *electron-v27.1.3-win32-x64-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v27.1.3-win32-x64-toolchain-profile.zip
|
||||
ed04476baf0d1c363f91c6cc457e448eaee2efd2464449f5bd1b3ec94f5a6b81 *electron-v27.1.3-win32-x64.zip
|
||||
f58626c26c10446993521695da1fbe22162285dc4a49691de455153a6eb7ad4f *electron.d.ts
|
||||
178f0822f1ac3c3dd936a05e7691eccbce7dc091fb23399eeb6c8c2d19d35309 *ffmpeg-v27.1.3-darwin-arm64.zip
|
||||
8756fbaeffb0f076e9c03b03fbc0828c1d2af1fa5fafd892dbb35dbcab39606a *ffmpeg-v27.1.3-darwin-x64.zip
|
||||
be517ba93c5b5f36d2e55af148213f4c2fc43177563825601bee6f88dd4f7b05 *ffmpeg-v27.1.3-linux-arm64.zip
|
||||
926d0da25ffcea3d05a6cbcae15e5d7729d93bc43394ae4439747669d2210e1d *ffmpeg-v27.1.3-linux-armv7l.zip
|
||||
6f9c0ef52af14828ad547a80b17f8c63cac51a18b8d5769a2f33e4fa6cccfc7e *ffmpeg-v27.1.3-linux-x64.zip
|
||||
a8820f2d8133ac554edac5aaf5926f7b4d46e793c2315a1729099836dbe0674f *ffmpeg-v27.1.3-mas-arm64.zip
|
||||
28cd237b7a4d04020ce262ab3e7bab66cb7921a94bb75f49d95eee0953624021 *ffmpeg-v27.1.3-mas-x64.zip
|
||||
9949f98c8c07d03892a2b4940a4620a1ab2bc9501a1ab46d1941b4c2a3966beb *ffmpeg-v27.1.3-win32-arm64.zip
|
||||
5cfe4c2b731c3db36338d01a88e146dc8cf7b83ede3f2090396f803f5095e7c2 *ffmpeg-v27.1.3-win32-ia32.zip
|
||||
c175b1ef006ff337754bb9d9dd5b86e11273b981602d01a83bbc5eff09d583cb *ffmpeg-v27.1.3-win32-x64.zip
|
||||
a37cecf4b0b2ffef035ed1916cc747037d42bd8e083c5b901decff3bfeb55a4d *hunspell_dictionaries.zip
|
||||
3433837c4fdeaec616527ae03d433ae6f515a75b3855dfe750dc22b1622d67f0 *libcxx-objects-v27.1.3-linux-arm64.zip
|
||||
60141a1fac588aed7320a53b355262b98dd3e67a6ad94a93f44ff240b34e69e0 *libcxx-objects-v27.1.3-linux-armv7l.zip
|
||||
14d048f8375c27adc28006c9cdf73b4f9dcebb18f089b21cd2e35a17c9c89c21 *libcxx-objects-v27.1.3-linux-x64.zip
|
||||
9983ad6c098939d91bc67b5a8d9ebd2e72685000310c712876533ce31e71d129 *libcxx_headers.zip
|
||||
8052c0a22a9ad673d32c1ae157df9638838fbd017a030263d4cce21aeed5c824 *libcxxabi_headers.zip
|
||||
734eef5f5c8ca1d9feb107c786d85a9560a2f8009c32cc6f8cda04d24b825d21 *mksnapshot-v27.1.3-darwin-arm64.zip
|
||||
ec489cbe9634d799c14ec9897973a7924126404570a049a16eb0a2a771d728ed *mksnapshot-v27.1.3-darwin-x64.zip
|
||||
b4f952c96d369b566e85f7b1d67c6a1553158f041c944a53e9bbd324a4a8699b *mksnapshot-v27.1.3-linux-arm64-x64.zip
|
||||
c705cd0f7301fd7b8b282ffe51efdce3c7305a828c21015640c5091e6f9b71ed *mksnapshot-v27.1.3-linux-armv7l-x64.zip
|
||||
bf5e7c0aa8000e6da7f8d00acdf7bb93474af8c2eb684177fb6fd0b2d2ae72d8 *mksnapshot-v27.1.3-linux-x64.zip
|
||||
dd9ff64c44563d5713ae516dd05db950a34e9b271bc3df5ffed20e7eda1ae50b *mksnapshot-v27.1.3-mas-arm64.zip
|
||||
31558d25b4051cbce2e5f98f58cc860b14fbbe92d727e2696f3f36ed266aed9e *mksnapshot-v27.1.3-mas-x64.zip
|
||||
0b8f3b6702aa81adff35ddaedf44623ab91eda203aecde5e15759ff8ae95558f *mksnapshot-v27.1.3-win32-arm64-x64.zip
|
||||
ad95d9708c7a94b396714956b7407c9a7283ca54b26bcf0034f81764d9285037 *mksnapshot-v27.1.3-win32-ia32.zip
|
||||
98e7e1fd5580e8c626f519eb619ff8bf16c3d909212cd5260cebb8a155d2ddce *mksnapshot-v27.1.3-win32-x64.zip
|
||||
23d9bca1abd1c64d0bd47b9528b8db1b1f28c31e81188ecbed4e9cd18eab3545 *chromedriver-v28.2.5-darwin-arm64.zip
|
||||
9215cf2196988c5f0e0a01fe1bdd827ab25f3a0895b6e9ff96185fed45be24d9 *chromedriver-v28.2.5-darwin-x64.zip
|
||||
a27c39a8a9f02a630f4ea1218954e768791e44319ce34e99bb524d45aa956376 *chromedriver-v28.2.5-linux-arm64.zip
|
||||
658bef49300d3183a34609391f64f3df6c9b07eb55886fa1378249e1170ac68e *chromedriver-v28.2.5-linux-armv7l.zip
|
||||
14a285843587f251455a3ac69be5bebca7e7c3e934151a69dc8c10c943aaac49 *chromedriver-v28.2.5-linux-x64.zip
|
||||
173112b71f363f1c434eb4bfe8356a5a4592a0580d8c434c2141f3a04de7695b *chromedriver-v28.2.5-mas-arm64.zip
|
||||
b72902d8f4d886fef3f945e4a9dd707e18d52201a57e421a555cc166689955a7 *chromedriver-v28.2.5-mas-x64.zip
|
||||
723cc0db4299d23c6be611b723187c857102749de2f2294bae09047b0d99cfd2 *chromedriver-v28.2.5-win32-arm64.zip
|
||||
1c549de92e2d784cc2a2618d129e368d74e8da6497df7f5bcabfd2f834981f5d *chromedriver-v28.2.5-win32-ia32.zip
|
||||
2df3c811c3ed8f22f28e740ffe0abf7c6d0c29d1874efa5290b75575a23d292b *chromedriver-v28.2.5-win32-x64.zip
|
||||
a6e536d48e399f0961cb5de1e9cb0d3e534c4686fdf6fc79080e66516fdd5b6e *electron-api.json
|
||||
746c5867227538235cff139e174a7b85fa49230a69350414bed7d1e6ae664cba *electron-v28.2.5-darwin-arm64-dsym-snapshot.zip
|
||||
b5d00927dead894355c26cc581443735c252a71a53a363f3909f02b39ba1a38f *electron-v28.2.5-darwin-arm64-dsym.zip
|
||||
6bb1356b72b5d3f8c3d25ef3f42a9ab8574498ab79299af056d8ac93972de72d *electron-v28.2.5-darwin-arm64-symbols.zip
|
||||
87b17c403d355ba2eee43ee3a955c02069571617ef081b951272c1337ed5a2bb *electron-v28.2.5-darwin-arm64.zip
|
||||
ff8b7d3073bbc1f26d83a224a79def7cfa652318b98d513603ac3d6e3ea56905 *electron-v28.2.5-darwin-x64-dsym-snapshot.zip
|
||||
26057699098b6a4173c3f2550ec9a08d3edf4ce3aab5b351ca41c056f8f5ea5f *electron-v28.2.5-darwin-x64-dsym.zip
|
||||
a467b38526c2c6c677dfe71898eaa8f3c8fccd7675bddfbfce6b095ebd66ea62 *electron-v28.2.5-darwin-x64-symbols.zip
|
||||
a1ed37b654c48afe0fa8411d09b8644e121fa448d9cafa2ee6a3d2f5d8d36a4d *electron-v28.2.5-darwin-x64.zip
|
||||
e28c071288258dd55ce0ad6c8582ad1db894a7e981dc2f84534d942289ba0a8b *electron-v28.2.5-linux-arm64-debug.zip
|
||||
cebd2961e8af1600ca307f530c8b89dafa934cfed356830f4b5c04c048ffc204 *electron-v28.2.5-linux-arm64-symbols.zip
|
||||
2a24355c27b5d43a424caedfcfe3fc42aeea80e13977fd708537519d6850c372 *electron-v28.2.5-linux-arm64.zip
|
||||
e28c071288258dd55ce0ad6c8582ad1db894a7e981dc2f84534d942289ba0a8b *electron-v28.2.5-linux-armv7l-debug.zip
|
||||
de46cbbe2c3eb4cd7d761ec57e85cd2077592b88586e1d9f45606df69a1e5dab *electron-v28.2.5-linux-armv7l-symbols.zip
|
||||
2707f9fb7b7c6ea8038f8c67054cdfee4fb0bbaec36c20f3ffcca05cd5bbcd6c *electron-v28.2.5-linux-armv7l.zip
|
||||
2567949ac356f53a5f145e6efaef1e1bc07dabfafa549765ebca54b33b0c298b *electron-v28.2.5-linux-x64-debug.zip
|
||||
b067d8dfd0345129172628575684c7bc3d739843662aecc33ce4221a96fb7d48 *electron-v28.2.5-linux-x64-symbols.zip
|
||||
1c1e972fa7daa54e1e54b642b2828495020367df5dcf1e3a4d4fc170980a8d6e *electron-v28.2.5-linux-x64.zip
|
||||
23068f0cad14769f715147d1778da27a1850cdeea20c1ff7c7b1eb729b4d87b0 *electron-v28.2.5-mas-arm64-dsym-snapshot.zip
|
||||
04640b64a0132f4606d31b89f8fa063b12be8936f0a2c546e05a992f23d00260 *electron-v28.2.5-mas-arm64-dsym.zip
|
||||
cf1787c50932ef5c5309a8d80d7647495ddac4c71b6e0feb8ea547299c114ed4 *electron-v28.2.5-mas-arm64-symbols.zip
|
||||
7f2339a92defc1808714bcdd0561430898e6a9f0cb8788a91bf178c10228fb2a *electron-v28.2.5-mas-arm64.zip
|
||||
26eca4afd370e422c911c68268cf668ca43c10617c4e9cd53eaa564e698efd50 *electron-v28.2.5-mas-x64-dsym-snapshot.zip
|
||||
ab928fcd3851651d9ef62fe4b62b48471a6673c603b70ca7f4049e72ad3bc2c2 *electron-v28.2.5-mas-x64-dsym.zip
|
||||
c64232513b56b5b82f76b637a04f68fcfb7231ea8076d6dc1375aac8dac4a02c *electron-v28.2.5-mas-x64-symbols.zip
|
||||
8d3a0988e699a42482079676ffba2ac50fbd74f1097d40cee0029ff5bc189144 *electron-v28.2.5-mas-x64.zip
|
||||
7fcc54dc77dedbf4cb9eeaba1678ebf265649479c478e344c6dff27b1ec63b0b *electron-v28.2.5-win32-arm64-pdb.zip
|
||||
31a69a6ed4e71b4fb047d19522dc32f9ff0f4b617536dcb7e8b562c9c583adbf *electron-v28.2.5-win32-arm64-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v28.2.5-win32-arm64-toolchain-profile.zip
|
||||
68a6fc3411daaf604da0009df506a655587cb6e5cc19d6a1c47ce0b62fdb4ac6 *electron-v28.2.5-win32-arm64.zip
|
||||
e74519411a678a9885bfb07acb5df85632f3de67d2fc54ccbd5ebd548edf84c8 *electron-v28.2.5-win32-ia32-pdb.zip
|
||||
798261cfed077ec4afc965ab1a8e3fe4c976533ba86fa8f17cd69107bd1be3be *electron-v28.2.5-win32-ia32-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v28.2.5-win32-ia32-toolchain-profile.zip
|
||||
41f23f86bf7aa19f67025af7db221b727a38ffc0b1c5661b305be7250ecb7abc *electron-v28.2.5-win32-ia32.zip
|
||||
ee882c550a2889dd18f58bf0f5c5ee9a1dd0eb6ed29c4f9a359b0db5314d7965 *electron-v28.2.5-win32-x64-pdb.zip
|
||||
197b7ab2ba961ded3260ae91cf57502c43c2cdaca3fc18b90ec6f4d4e08ba9ac *electron-v28.2.5-win32-x64-symbols.zip
|
||||
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v28.2.5-win32-x64-toolchain-profile.zip
|
||||
9235e039183fd62a6d37f70ae39a0f3a3ddb4e00e1474e6258343d1ad955c995 *electron-v28.2.5-win32-x64.zip
|
||||
981a6c4d1030af6949405c3818b7332a16a959bd30970f5660e4975ccdf31789 *electron.d.ts
|
||||
90b6c39e1ba7bbf0bccc3e009bcdbd4d8a57821f669229ab7847fd3d56cc8a66 *ffmpeg-v28.2.5-darwin-arm64.zip
|
||||
3a736fed82b232624aeba8a33c02e1ce589214db0faf5984e216f8a72cbf713a *ffmpeg-v28.2.5-darwin-x64.zip
|
||||
1674cdc15b72fb421ae4fd5afb217ef8968fb879db391343519764e2e77edb41 *ffmpeg-v28.2.5-linux-arm64.zip
|
||||
6db75c7fe794f2a2edf3ff9b0d8ad6157d132c89e36e42580594a26f56658ae5 *ffmpeg-v28.2.5-linux-armv7l.zip
|
||||
7fed2646cf8cce5c6c1afe4214b2d1ea12c89ed379c4b2cdb06cdadb14ceb4f6 *ffmpeg-v28.2.5-linux-x64.zip
|
||||
fb3649690c496f4c6f884ddf94a7ff518278f6140c2487dd652256f53ed2e3fa *ffmpeg-v28.2.5-mas-arm64.zip
|
||||
c1fee5ef3a550a5e9a652e251e6ec3677d156610670b54489b5da0c6b4007179 *ffmpeg-v28.2.5-mas-x64.zip
|
||||
6745a8816159bc980f1ccb4d28c2f02f70cb5e2faf6423e0924d890ca6353dd8 *ffmpeg-v28.2.5-win32-arm64.zip
|
||||
e1046c0280a7833227963b43d468973d646bd38ae100a298bb28d6a229e723b2 *ffmpeg-v28.2.5-win32-ia32.zip
|
||||
a189c9c2317f011735e6d1cb743a78536f45a41f18a16c81d5294ca933d9519a *ffmpeg-v28.2.5-win32-x64.zip
|
||||
29a594a16cdf3585299e7c585bae2ea007e108a72a96b9e2a95d149e7dc381d6 *hunspell_dictionaries.zip
|
||||
7c1263edb062c07c2fb589812788f70772629c1798abd1481205cf8cdb999120 *libcxx-objects-v28.2.5-linux-arm64.zip
|
||||
fc75baa4308a58048fe846b9fe78bba362a34becc5bf32a776f15933f4beaedf *libcxx-objects-v28.2.5-linux-armv7l.zip
|
||||
1bedd5f8f3c897b0ca3cb263620cc4a8fff7001fcd6318a12c2c4cd9e922b35f *libcxx-objects-v28.2.5-linux-x64.zip
|
||||
f6f37ee5bf297959c4fdec9bb77637310e6c8a85c7defadcbd660507a9e63728 *libcxx_headers.zip
|
||||
8849467a7e670355b9cab854d66a09d57e9d91e8881034b07eb71f9d9928eb18 *libcxxabi_headers.zip
|
||||
ff875bb59ecc8bf01b618d61d4a8378e133ea2c2571653828c9ea08773f5d776 *mksnapshot-v28.2.5-darwin-arm64.zip
|
||||
30c1f135220d783b08a70bc7992877431e320543837ce0d90102039a945023aa *mksnapshot-v28.2.5-darwin-x64.zip
|
||||
289e6b5feabe9ea22c10fc0fd0afcde59670506df1af6f1e87dc4dab5cbada29 *mksnapshot-v28.2.5-linux-arm64-x64.zip
|
||||
e857fe518df1063308514224f82d13ffc24bb661b22d9a8a10a915a69830037b *mksnapshot-v28.2.5-linux-armv7l-x64.zip
|
||||
a14af21de32fbfdf5d40402b52e7ff4858682cf3958fd6898ea30df331164004 *mksnapshot-v28.2.5-linux-x64.zip
|
||||
8531b3ed3b47ed0a34a317be2fd03a573ee38e719aeddeeb0a6b3d5c36268ffa *mksnapshot-v28.2.5-mas-arm64.zip
|
||||
71c978fffa8cb4a3f13842a8eadcb29e0782a648492204ebba08edb23b1fa297 *mksnapshot-v28.2.5-mas-x64.zip
|
||||
b1ce8db39866860a6853c9a8874224c757a2b3086a451b7b1c30511615457166 *mksnapshot-v28.2.5-win32-arm64-x64.zip
|
||||
c9a7f82fcd320c52f111d18b7fe6aa9ec739f94a13a7e8e04d22e6706a889c4b *mksnapshot-v28.2.5-win32-ia32.zip
|
||||
493d0eabacf33c9d51305cf40bf7590901eb4e38d53308a76ae05db5af0a8468 *mksnapshot-v28.2.5-win32-x64.zip
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
18ca716ea57522b90473777cb9f878467f77fdf826d37beb15a0889fdd74533e node-v18.17.1-darwin-arm64.tar.gz
|
||||
b3e083d2715f07ec3f00438401fb58faa1e0bdf3c7bde9f38b75ed17809d92fa node-v18.17.1-darwin-x64.tar.gz
|
||||
8f5203f5c6dc44ea50ac918b7ecbdb1c418e4f3d9376d8232a1ef9ff38f9c480 node-v18.17.1-linux-arm64.tar.gz
|
||||
1ab79868859b2d37148c6d8ecee3abb5ee55b88731ab5df01928ed4f6f9bfbad node-v18.17.1-linux-armv7l.tar.gz
|
||||
2cb75f2bc04b0a3498733fbee779b2f76fe3f655188b4ac69ef2887b6721da2d node-v18.17.1-linux-x64.tar.gz
|
||||
afb45186ad4f4217c2fc1dfc2239ff5ab016ef0ba5fc329bc6aa8fd10c7ecc88 win-x64/node.exe
|
||||
9f982cc91b28778dd8638e4f94563b0c2a1da7aba62beb72bd427721035ab553 node-v18.18.2-darwin-arm64.tar.gz
|
||||
5bb8da908ed590e256a69bf2862238c8a67bc4600119f2f7721ca18a7c810c0f node-v18.18.2-darwin-x64.tar.gz
|
||||
0c9a6502b66310cb26e12615b57304e91d92ac03d4adcb91c1906351d7928f0d node-v18.18.2-linux-arm64.tar.gz
|
||||
7a3b34a6fdb9514bc2374114ec6df3c36113dc5075c38b22763aa8f106783737 node-v18.18.2-linux-armv7l.tar.gz
|
||||
a44c3e7f8bf91e852c928e5d8bd67ca316b35e27eec1d8acbe3b9dbe03688dab node-v18.18.2-linux-x64.tar.gz
|
||||
54884183ff5108874c091746465e8156ae0acc68af589cc10bc41b3927db0f4a win-x64/node.exe
|
||||
|
|
|
@ -1,3 +1,6 @@
|
|||
a2d51dc505ed544c52757f90bcdab44920132295fc7a67166eff86b6e0e24aa8 aarch64-linux-gnu.tar.gz
|
||||
032cf16bf8b965e1351305f10f3dedabf4f9868027ac6d0e8f52321ca0b70d4a arm-rpi-linux-gnueabihf.tar.gz
|
||||
360475a764d0faf4d3743aa866347eff78072639d20660def83e1a03eadf534c x86_64-linux-gnu.tar.gz
|
||||
68a17006021975ff271a1dd615f9db9eda7c25f2cc65e750c87980dc57a06c94 aarch64-linux-gnu-glibc-2.17.tar.gz
|
||||
0de422a81683cf9e8cf875dbd1e0c27545ac3c775b2d53015daf3ca2b31d3f15 aarch64-linux-gnu-glibc-2.28.tar.gz
|
||||
3ced48cb479f2cdba95aa649710fcb7778685551c745bbd76ac706c3c0ead9fb arm-rpi-linux-gnueabihf-glibc-2.17.tar.gz
|
||||
7aea163f7fad8cc50000c86b5108be880121d35e2f55d016ef8c96bbe54129eb arm-rpi-linux-gnueabihf-glibc-2.28.tar.gz
|
||||
5aae21115f1d284c3cdf32c83db15771b59bc80793f1423032abf5a823c0d658 x86_64-linux-gnu-glibc-2.17.tar.gz
|
||||
dbb927408393041664a020661f2641c9785741be3d29b050b9dac58980967784 x86_64-linux-gnu-glibc-2.28.tar.gz
|
||||
|
|
|
@ -134,7 +134,8 @@ const tasks = compilations.map(function (tsconfigFile) {
|
|||
sourceMappingURL: !build ? null : f => `${baseUrl}/${f.relative}.map`,
|
||||
addComment: !!build,
|
||||
includeContent: !!build,
|
||||
sourceRoot: '../src'
|
||||
// note: trailing slash is important, else the source URLs in V8's file coverage are incorrect
|
||||
sourceRoot: '../src/',
|
||||
}))
|
||||
.pipe(tsFilter.restore)
|
||||
.pipe(build ? nlsDev.bundleMetaDataFiles(headerId, headerOut) : es.through())
|
||||
|
|
|
@ -125,7 +125,7 @@ function getNodeVersion() {
|
|||
return { nodeVersion, internalNodeVersion };
|
||||
}
|
||||
|
||||
function getNodeChecksum(nodeVersion, platform, arch) {
|
||||
function getNodeChecksum(nodeVersion, platform, arch, glibcPrefix) {
|
||||
let expectedName;
|
||||
switch (platform) {
|
||||
case 'win32':
|
||||
|
@ -135,7 +135,7 @@ function getNodeChecksum(nodeVersion, platform, arch) {
|
|||
case 'darwin':
|
||||
case 'alpine':
|
||||
case 'linux':
|
||||
expectedName = `node-v${nodeVersion}-${platform}-${arch}.tar.gz`;
|
||||
expectedName = `node-v${nodeVersion}${glibcPrefix}-${platform}-${arch}.tar.gz`;
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -193,7 +193,8 @@ function nodejs(platform, arch) {
|
|||
|
||||
log(`Downloading node.js ${nodeVersion} ${platform} ${arch} from ${product.nodejsRepository}...`);
|
||||
|
||||
const checksumSha256 = getNodeChecksum(nodeVersion, platform, arch);
|
||||
const glibcPrefix = process.env['VSCODE_NODE_GLIBC'] ?? '';
|
||||
const checksumSha256 = getNodeChecksum(nodeVersion, platform, arch, glibcPrefix);
|
||||
|
||||
if (checksumSha256) {
|
||||
log(`Using SHA256 checksum for checking integrity: ${checksumSha256}`);
|
||||
|
@ -210,7 +211,7 @@ function nodejs(platform, arch) {
|
|||
case 'darwin':
|
||||
case 'linux':
|
||||
return (product.nodejsRepository !== 'https://nodejs.org' ?
|
||||
fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: `node-v${nodeVersion}-${platform}-${arch}.tar.gz`, checksumSha256 }) :
|
||||
fetchGithub(product.nodejsRepository, { version: `${nodeVersion}-${internalNodeVersion}`, name: `node-v${nodeVersion}${glibcPrefix}-${platform}-${arch}.tar.gz`, checksumSha256 }) :
|
||||
fetchUrls(`/dist/v${nodeVersion}/node-v${nodeVersion}-${platform}-${arch}.tar.gz`, { base: 'https://nodejs.org', checksumSha256 })
|
||||
).pipe(flatmap(stream => stream.pipe(gunzip()).pipe(untar())))
|
||||
.pipe(filter('**/node'))
|
||||
|
@ -372,6 +373,14 @@ function packageTask(type, platform, arch, sourceFolderName, destinationFolderNa
|
|||
);
|
||||
}
|
||||
|
||||
if (platform === 'linux' || platform === 'alpine') {
|
||||
result = es.merge(result,
|
||||
gulp.src(`resources/server/bin/helpers/check-requirements-linux.sh`, { base: '.' })
|
||||
.pipe(rename(`bin/helpers/check-requirements.sh`))
|
||||
.pipe(util.setExecutableBit())
|
||||
);
|
||||
}
|
||||
|
||||
return result.pipe(vfs.dest(destination));
|
||||
};
|
||||
}
|
||||
|
|
|
@ -184,7 +184,7 @@ function computeChecksum(filename) {
|
|||
const contents = fs.readFileSync(filename);
|
||||
|
||||
const hash = crypto
|
||||
.createHash('md5')
|
||||
.createHash('sha256')
|
||||
.update(contents)
|
||||
.digest('base64')
|
||||
.replace(/=+$/, '');
|
||||
|
@ -281,7 +281,7 @@ function packageTask(platform, arch, sourceFolderName, destinationFolderName, op
|
|||
'**/node-pty/lib/worker/conoutSocketWorker.js',
|
||||
'**/node-pty/lib/shared/conout.js',
|
||||
'**/*.wasm',
|
||||
'**/node-vsce-sign/bin/*',
|
||||
'**/@vscode/vsce-sign/bin/*',
|
||||
], 'node_modules.asar'));
|
||||
|
||||
let all = es.merge(
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createAsar = void 0;
|
||||
exports.createAsar = createAsar;
|
||||
const path = require("path");
|
||||
const es = require("event-stream");
|
||||
const pickle = require('chromium-pickle-js');
|
||||
|
@ -115,5 +115,4 @@ function createAsar(folderPath, unpackGlobs, destFilename) {
|
|||
}
|
||||
});
|
||||
}
|
||||
exports.createAsar = createAsar;
|
||||
//# sourceMappingURL=asar.js.map
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getBuiltInExtensions = exports.getExtensionStream = void 0;
|
||||
exports.getExtensionStream = getExtensionStream;
|
||||
exports.getBuiltInExtensions = getBuiltInExtensions;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const os = require("os");
|
||||
|
@ -58,7 +59,6 @@ function getExtensionStream(extension) {
|
|||
}
|
||||
return getExtensionDownloadStream(extension);
|
||||
}
|
||||
exports.getExtensionStream = getExtensionStream;
|
||||
function syncMarketplaceExtension(extension) {
|
||||
const galleryServiceUrl = productjson.extensionsGallery?.serviceUrl;
|
||||
const source = ansiColors.blue(galleryServiceUrl ? '[marketplace]' : '[github]');
|
||||
|
@ -127,7 +127,6 @@ function getBuiltInExtensions() {
|
|||
.on('end', resolve);
|
||||
});
|
||||
}
|
||||
exports.getBuiltInExtensions = getBuiltInExtensions;
|
||||
if (require.main === module) {
|
||||
getBuiltInExtensions().then(() => process.exit(0)).catch(err => {
|
||||
console.error(err);
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.bundle = void 0;
|
||||
exports.bundle = bundle;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const vm = require("vm");
|
||||
|
@ -78,7 +78,6 @@ function bundle(entryPoints, config, callback) {
|
|||
});
|
||||
}, (err) => callback(err, null));
|
||||
}
|
||||
exports.bundle = bundle;
|
||||
function emitEntryPoints(modules, entryPoints) {
|
||||
const modulesMap = {};
|
||||
modules.forEach((m) => {
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.watchApiProposalNamesTask = exports.compileApiProposalNamesTask = exports.watchTask = exports.compileTask = exports.transpileTask = void 0;
|
||||
exports.watchApiProposalNamesTask = exports.compileApiProposalNamesTask = void 0;
|
||||
exports.transpileTask = transpileTask;
|
||||
exports.compileTask = compileTask;
|
||||
exports.watchTask = watchTask;
|
||||
const es = require("event-stream");
|
||||
const fs = require("fs");
|
||||
const gulp = require("gulp");
|
||||
|
@ -55,11 +58,15 @@ function createCompile(src, build, emitError, transpileOnly) {
|
|||
const tsFilter = util.filter(data => /\.ts$/.test(data.path));
|
||||
const isUtf8Test = (f) => /(\/|\\)test(\/|\\).*utf8/.test(f.path);
|
||||
const isRuntimeJs = (f) => f.path.endsWith('.js') && !f.path.includes('fixtures');
|
||||
const isCSS = (f) => f.path.endsWith('.css') && !f.path.includes('fixtures');
|
||||
const noDeclarationsFilter = util.filter(data => !(/\.d\.ts$/.test(data.path)));
|
||||
const postcss = require('gulp-postcss');
|
||||
const postcssNesting = require('postcss-nesting');
|
||||
const input = es.through();
|
||||
const output = input
|
||||
.pipe(util.$if(isUtf8Test, bom())) // this is required to preserve BOM in test files that loose it otherwise
|
||||
.pipe(util.$if(!build && isRuntimeJs, util.appendOwnPathSourceURL()))
|
||||
.pipe(util.$if(isCSS, postcss([postcssNesting()])))
|
||||
.pipe(tsFilter)
|
||||
.pipe(util.loadSourcemaps())
|
||||
.pipe(compilation(token))
|
||||
|
@ -92,10 +99,9 @@ function transpileTask(src, out, swc) {
|
|||
task.taskName = `transpile-${path.basename(src)}`;
|
||||
return task;
|
||||
}
|
||||
exports.transpileTask = transpileTask;
|
||||
function compileTask(src, out, build, options = {}) {
|
||||
const task = () => {
|
||||
if (os.totalmem() < 4000000000) {
|
||||
if (os.totalmem() < 4_000_000_000) {
|
||||
throw new Error('compilation requires 4GB of RAM');
|
||||
}
|
||||
const compile = createCompile(src, build, true, false);
|
||||
|
@ -133,7 +139,6 @@ function compileTask(src, out, build, options = {}) {
|
|||
task.taskName = `compile-${path.basename(src)}`;
|
||||
return task;
|
||||
}
|
||||
exports.compileTask = compileTask;
|
||||
function watchTask(out, build) {
|
||||
const task = () => {
|
||||
const compile = createCompile('src', build, false, false);
|
||||
|
@ -149,7 +154,6 @@ function watchTask(out, build) {
|
|||
task.taskName = `watch-${path.basename(out)}`;
|
||||
return task;
|
||||
}
|
||||
exports.watchTask = watchTask;
|
||||
const REPO_SRC_FOLDER = path.join(__dirname, '../../src');
|
||||
class MonacoGenerator {
|
||||
_isWatch;
|
||||
|
|
|
@ -64,12 +64,17 @@ function createCompile(src: string, build: boolean, emitError: boolean, transpil
|
|||
const tsFilter = util.filter(data => /\.ts$/.test(data.path));
|
||||
const isUtf8Test = (f: File) => /(\/|\\)test(\/|\\).*utf8/.test(f.path);
|
||||
const isRuntimeJs = (f: File) => f.path.endsWith('.js') && !f.path.includes('fixtures');
|
||||
const isCSS = (f: File) => f.path.endsWith('.css') && !f.path.includes('fixtures');
|
||||
const noDeclarationsFilter = util.filter(data => !(/\.d\.ts$/.test(data.path)));
|
||||
|
||||
const postcss = require('gulp-postcss') as typeof import('gulp-postcss');
|
||||
const postcssNesting = require('postcss-nesting');
|
||||
|
||||
const input = es.through();
|
||||
const output = input
|
||||
.pipe(util.$if(isUtf8Test, bom())) // this is required to preserve BOM in test files that loose it otherwise
|
||||
.pipe(util.$if(!build && isRuntimeJs, util.appendOwnPathSourceURL()))
|
||||
.pipe(util.$if(isCSS, postcss([postcssNesting()])))
|
||||
.pipe(tsFilter)
|
||||
.pipe(util.loadSourcemaps())
|
||||
.pipe(compilation(token))
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getProductionDependencies = void 0;
|
||||
exports.getProductionDependencies = getProductionDependencies;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const cp = require("child_process");
|
||||
|
@ -69,7 +69,6 @@ function getProductionDependencies(folderPath) {
|
|||
}
|
||||
return [...new Set(result)];
|
||||
}
|
||||
exports.getProductionDependencies = getProductionDependencies;
|
||||
if (require.main === module) {
|
||||
console.log(JSON.stringify(getProductionDependencies(root), null, ' '));
|
||||
}
|
||||
|
|
|
@ -87,7 +87,7 @@ exports.config = {
|
|||
tag: product.electronRepository ? `v${electronVersion}-${msBuildId}` : undefined,
|
||||
productAppName: product.nameLong,
|
||||
companyName: 'Microsoft Corporation',
|
||||
copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',
|
||||
copyright: 'Copyright (C) 2024 Microsoft. All rights reserved',
|
||||
darwinIcon: 'resources/darwin/code.icns',
|
||||
darwinBundleIdentifier: product.darwinBundleIdentifier,
|
||||
darwinApplicationCategoryType: 'public.app-category.developer-tools',
|
||||
|
|
|
@ -104,7 +104,7 @@ export const config = {
|
|||
tag: product.electronRepository ? `v${electronVersion}-${msBuildId}` : undefined,
|
||||
productAppName: product.nameLong,
|
||||
companyName: 'Microsoft Corporation',
|
||||
copyright: 'Copyright (C) 2023 Microsoft. All rights reserved',
|
||||
copyright: 'Copyright (C) 2024 Microsoft. All rights reserved',
|
||||
darwinIcon: 'resources/darwin/code.icns',
|
||||
darwinBundleIdentifier: product.darwinBundleIdentifier,
|
||||
darwinApplicationCategoryType: 'public.app-category.developer-tools',
|
||||
|
|
|
@ -4,7 +4,14 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.buildExtensionMedia = exports.webpackExtensions = exports.translatePackageJSON = exports.scanBuiltinExtensions = exports.packageMarketplaceExtensionsStream = exports.packageLocalExtensionsStream = exports.fromGithub = exports.fromMarketplace = void 0;
|
||||
exports.fromMarketplace = fromMarketplace;
|
||||
exports.fromGithub = fromGithub;
|
||||
exports.packageLocalExtensionsStream = packageLocalExtensionsStream;
|
||||
exports.packageMarketplaceExtensionsStream = packageMarketplaceExtensionsStream;
|
||||
exports.scanBuiltinExtensions = scanBuiltinExtensions;
|
||||
exports.translatePackageJSON = translatePackageJSON;
|
||||
exports.webpackExtensions = webpackExtensions;
|
||||
exports.buildExtensionMedia = buildExtensionMedia;
|
||||
const es = require("event-stream");
|
||||
const fs = require("fs");
|
||||
const cp = require("child_process");
|
||||
|
@ -213,7 +220,6 @@ function fromMarketplace(serviceUrl, { name: extensionName, version, sha256, met
|
|||
.pipe(json({ __metadata: metadata }))
|
||||
.pipe(packageJsonFilter.restore);
|
||||
}
|
||||
exports.fromMarketplace = fromMarketplace;
|
||||
function fromGithub({ name, version, repo, sha256, metadata }) {
|
||||
const json = require('gulp-json-editor');
|
||||
fancyLog('Downloading extension from GH:', ansiColors.yellow(`${name}@${version}`), '...');
|
||||
|
@ -232,7 +238,6 @@ function fromGithub({ name, version, repo, sha256, metadata }) {
|
|||
.pipe(json({ __metadata: metadata }))
|
||||
.pipe(packageJsonFilter.restore);
|
||||
}
|
||||
exports.fromGithub = fromGithub;
|
||||
const excludedExtensions = [
|
||||
'vscode-api-tests',
|
||||
'vscode-colorize-tests',
|
||||
|
@ -306,7 +311,6 @@ function packageLocalExtensionsStream(forWeb, disableMangle) {
|
|||
return (result
|
||||
.pipe(util2.setExecutableBit(['**/*.sh'])));
|
||||
}
|
||||
exports.packageLocalExtensionsStream = packageLocalExtensionsStream;
|
||||
function packageMarketplaceExtensionsStream(forWeb) {
|
||||
const marketplaceExtensionsDescriptions = [
|
||||
...builtInExtensions.filter(({ name }) => (forWeb ? !marketplaceWebExtensionsExclude.has(name) : true)),
|
||||
|
@ -325,7 +329,6 @@ function packageMarketplaceExtensionsStream(forWeb) {
|
|||
return (marketplaceExtensionsStream
|
||||
.pipe(util2.setExecutableBit(['**/*.sh'])));
|
||||
}
|
||||
exports.packageMarketplaceExtensionsStream = packageMarketplaceExtensionsStream;
|
||||
function scanBuiltinExtensions(extensionsRoot, exclude = []) {
|
||||
const scannedExtensions = [];
|
||||
try {
|
||||
|
@ -361,7 +364,6 @@ function scanBuiltinExtensions(extensionsRoot, exclude = []) {
|
|||
return scannedExtensions;
|
||||
}
|
||||
}
|
||||
exports.scanBuiltinExtensions = scanBuiltinExtensions;
|
||||
function translatePackageJSON(packageJSON, packageNLSPath) {
|
||||
const CharCode_PC = '%'.charCodeAt(0);
|
||||
const packageNls = JSON.parse(fs.readFileSync(packageNLSPath).toString());
|
||||
|
@ -385,7 +387,6 @@ function translatePackageJSON(packageJSON, packageNLSPath) {
|
|||
translate(packageJSON);
|
||||
return packageJSON;
|
||||
}
|
||||
exports.translatePackageJSON = translatePackageJSON;
|
||||
const extensionsPath = path.join(root, 'extensions');
|
||||
// Additional projects to run esbuild on. These typically build code for webviews
|
||||
const esbuildMediaScripts = [
|
||||
|
@ -459,7 +460,6 @@ async function webpackExtensions(taskName, isWatch, webpackConfigLocations) {
|
|||
}
|
||||
});
|
||||
}
|
||||
exports.webpackExtensions = webpackExtensions;
|
||||
async function esbuildExtensions(taskName, isWatch, scripts) {
|
||||
function reporter(stdError, script) {
|
||||
const matches = (stdError || '').match(/\> (.+): error: (.+)?/g);
|
||||
|
@ -500,5 +500,4 @@ async function buildExtensionMedia(isWatch, outputRoot) {
|
|||
outputRoot: outputRoot ? path.join(root, outputRoot, path.dirname(p)) : undefined
|
||||
})));
|
||||
}
|
||||
exports.buildExtensionMedia = buildExtensionMedia;
|
||||
//# sourceMappingURL=extensions.js.map
|
|
@ -4,7 +4,9 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.fetchGithub = exports.fetchUrl = exports.fetchUrls = void 0;
|
||||
exports.fetchUrls = fetchUrls;
|
||||
exports.fetchUrl = fetchUrl;
|
||||
exports.fetchGithub = fetchGithub;
|
||||
const es = require("event-stream");
|
||||
const VinylFile = require("vinyl");
|
||||
const log = require("fancy-log");
|
||||
|
@ -30,7 +32,6 @@ function fetchUrls(urls, options) {
|
|||
});
|
||||
}));
|
||||
}
|
||||
exports.fetchUrls = fetchUrls;
|
||||
async function fetchUrl(url, options, retries = 10, retryDelay = 1000) {
|
||||
const verbose = !!options.verbose ?? (!!process.env['CI'] || !!process.env['BUILD_ARTIFACTSTAGINGDIRECTORY']);
|
||||
try {
|
||||
|
@ -94,7 +95,6 @@ async function fetchUrl(url, options, retries = 10, retryDelay = 1000) {
|
|||
throw e;
|
||||
}
|
||||
}
|
||||
exports.fetchUrl = fetchUrl;
|
||||
const ghApiHeaders = {
|
||||
Accept: 'application/vnd.github.v3+json',
|
||||
'User-Agent': 'VSCode Build',
|
||||
|
@ -135,5 +135,4 @@ function fetchGithub(repo, options) {
|
|||
}
|
||||
}));
|
||||
}
|
||||
exports.fetchGithub = fetchGithub;
|
||||
//# sourceMappingURL=fetch.js.map
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getVersion = void 0;
|
||||
exports.getVersion = getVersion;
|
||||
const git = require("./git");
|
||||
function getVersion(root) {
|
||||
let version = process.env['BUILD_SOURCEVERSION'];
|
||||
|
@ -13,5 +13,4 @@ function getVersion(root) {
|
|||
}
|
||||
return version;
|
||||
}
|
||||
exports.getVersion = getVersion;
|
||||
//# sourceMappingURL=getVersion.js.map
|
|
@ -1,6 +1,6 @@
|
|||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getVersion = void 0;
|
||||
exports.getVersion = getVersion;
|
||||
/*---------------------------------------------------------------------------------------------
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
|
@ -51,5 +51,4 @@ function getVersion(repo) {
|
|||
}
|
||||
return refs[ref];
|
||||
}
|
||||
exports.getVersion = getVersion;
|
||||
//# sourceMappingURL=git.js.map
|
|
@ -4,7 +4,14 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.prepareIslFiles = exports.prepareI18nPackFiles = exports.createXlfFilesForIsl = exports.createXlfFilesForExtensions = exports.EXTERNAL_EXTENSIONS = exports.createXlfFilesForCoreBundle = exports.getResource = exports.processNlsFiles = exports.XLF = exports.Line = exports.extraLanguages = exports.defaultLanguages = void 0;
|
||||
exports.EXTERNAL_EXTENSIONS = exports.XLF = exports.Line = exports.extraLanguages = exports.defaultLanguages = void 0;
|
||||
exports.processNlsFiles = processNlsFiles;
|
||||
exports.getResource = getResource;
|
||||
exports.createXlfFilesForCoreBundle = createXlfFilesForCoreBundle;
|
||||
exports.createXlfFilesForExtensions = createXlfFilesForExtensions;
|
||||
exports.createXlfFilesForIsl = createXlfFilesForIsl;
|
||||
exports.prepareI18nPackFiles = prepareI18nPackFiles;
|
||||
exports.prepareIslFiles = prepareIslFiles;
|
||||
const path = require("path");
|
||||
const fs = require("fs");
|
||||
const event_stream_1 = require("event-stream");
|
||||
|
@ -423,7 +430,6 @@ function processNlsFiles(opts) {
|
|||
this.queue(file);
|
||||
});
|
||||
}
|
||||
exports.processNlsFiles = processNlsFiles;
|
||||
const editorProject = 'vscode-editor', workbenchProject = 'vscode-workbench', extensionsProject = 'vscode-extensions', setupProject = 'vscode-setup', serverProject = 'vscode-server';
|
||||
function getResource(sourceFile) {
|
||||
let resource;
|
||||
|
@ -458,7 +464,6 @@ function getResource(sourceFile) {
|
|||
}
|
||||
throw new Error(`Could not identify the XLF bundle for ${sourceFile}`);
|
||||
}
|
||||
exports.getResource = getResource;
|
||||
function createXlfFilesForCoreBundle() {
|
||||
return (0, event_stream_1.through)(function (file) {
|
||||
const basename = path.basename(file.path);
|
||||
|
@ -506,7 +511,6 @@ function createXlfFilesForCoreBundle() {
|
|||
}
|
||||
});
|
||||
}
|
||||
exports.createXlfFilesForCoreBundle = createXlfFilesForCoreBundle;
|
||||
function createL10nBundleForExtension(extensionFolderName, prefixWithBuildFolder) {
|
||||
const prefix = prefixWithBuildFolder ? '.build/' : '';
|
||||
return gulp
|
||||
|
@ -653,7 +657,6 @@ function createXlfFilesForExtensions() {
|
|||
}
|
||||
});
|
||||
}
|
||||
exports.createXlfFilesForExtensions = createXlfFilesForExtensions;
|
||||
function createXlfFilesForIsl() {
|
||||
return (0, event_stream_1.through)(function (file) {
|
||||
let projectName, resourceFile;
|
||||
|
@ -704,7 +707,6 @@ function createXlfFilesForIsl() {
|
|||
this.queue(xlfFile);
|
||||
});
|
||||
}
|
||||
exports.createXlfFilesForIsl = createXlfFilesForIsl;
|
||||
function createI18nFile(name, messages) {
|
||||
const result = Object.create(null);
|
||||
result[''] = [
|
||||
|
@ -793,7 +795,6 @@ function prepareI18nPackFiles(resultingTranslationPaths) {
|
|||
});
|
||||
});
|
||||
}
|
||||
exports.prepareI18nPackFiles = prepareI18nPackFiles;
|
||||
function prepareIslFiles(language, innoSetupConfig) {
|
||||
const parsePromises = [];
|
||||
return (0, event_stream_1.through)(function (xlf) {
|
||||
|
@ -816,7 +817,6 @@ function prepareIslFiles(language, innoSetupConfig) {
|
|||
});
|
||||
});
|
||||
}
|
||||
exports.prepareIslFiles = prepareIslFiles;
|
||||
function createIslFile(name, messages, language, innoSetup) {
|
||||
const content = [];
|
||||
let originalContent;
|
||||
|
|
|
@ -62,6 +62,10 @@
|
|||
"name": "vs/workbench/contrib/mappedEdits",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/markdown",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/comments",
|
||||
"project": "vscode-workbench"
|
||||
|
@ -327,7 +331,7 @@
|
|||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/audioCues",
|
||||
"name": "vs/workbench/contrib/accessibilitySignals",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
|
@ -549,6 +553,10 @@
|
|||
{
|
||||
"name": "vs/workbench/contrib/accountEntitlements",
|
||||
"project": "vscode-workbench"
|
||||
},
|
||||
{
|
||||
"name": "vs/workbench/contrib/authentication",
|
||||
"project": "vscode-workbench"
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
|
@ -5,6 +5,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.Mangler = void 0;
|
||||
const v8 = require("node:v8");
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const process_1 = require("process");
|
||||
|
@ -293,19 +294,17 @@ const skippedExportMangledSymbols = [
|
|||
class DeclarationData {
|
||||
fileName;
|
||||
node;
|
||||
service;
|
||||
replacementName;
|
||||
constructor(fileName, node, service, fileIdents) {
|
||||
constructor(fileName, node, fileIdents) {
|
||||
this.fileName = fileName;
|
||||
this.node = node;
|
||||
this.service = service;
|
||||
// Todo: generate replacement names based on usage count, with more used names getting shorter identifiers
|
||||
this.replacementName = fileIdents.next();
|
||||
}
|
||||
get locations() {
|
||||
getLocations(service) {
|
||||
if (ts.isVariableDeclaration(this.node)) {
|
||||
// If the const aliases any types, we need to rename those too
|
||||
const definitionResult = this.service.getDefinitionAndBoundSpan(this.fileName, this.node.name.getStart());
|
||||
const definitionResult = service.getDefinitionAndBoundSpan(this.fileName, this.node.name.getStart());
|
||||
if (definitionResult?.definitions && definitionResult.definitions.length > 1) {
|
||||
return definitionResult.definitions.map(x => ({ fileName: x.fileName, offset: x.textSpan.start }));
|
||||
}
|
||||
|
@ -346,19 +345,18 @@ class Mangler {
|
|||
config;
|
||||
allClassDataByKey = new Map();
|
||||
allExportedSymbols = new Set();
|
||||
service;
|
||||
renameWorkerPool;
|
||||
constructor(projectPath, log = () => { }, config) {
|
||||
this.projectPath = projectPath;
|
||||
this.log = log;
|
||||
this.config = config;
|
||||
this.service = ts.createLanguageService(new staticLanguageServiceHost_1.StaticLanguageServiceHost(projectPath));
|
||||
this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), {
|
||||
maxWorkers: 1,
|
||||
minWorkers: 'max'
|
||||
});
|
||||
}
|
||||
async computeNewFileContents(strictImplicitPublicHandling) {
|
||||
const service = ts.createLanguageService(new staticLanguageServiceHost_1.StaticLanguageServiceHost(this.projectPath));
|
||||
// STEP:
|
||||
// - Find all classes and their field info.
|
||||
// - Find exported symbols.
|
||||
|
@ -405,12 +403,12 @@ class Mangler {
|
|||
if (isInAmbientContext(node)) {
|
||||
return;
|
||||
}
|
||||
this.allExportedSymbols.add(new DeclarationData(node.getSourceFile().fileName, node, this.service, fileIdents));
|
||||
this.allExportedSymbols.add(new DeclarationData(node.getSourceFile().fileName, node, fileIdents));
|
||||
}
|
||||
}
|
||||
ts.forEachChild(node, visit);
|
||||
};
|
||||
for (const file of this.service.getProgram().getSourceFiles()) {
|
||||
for (const file of service.getProgram().getSourceFiles()) {
|
||||
if (!file.isDeclarationFile) {
|
||||
ts.forEachChild(file, visit);
|
||||
}
|
||||
|
@ -423,7 +421,7 @@ class Mangler {
|
|||
// no EXTENDS-clause
|
||||
return;
|
||||
}
|
||||
const info = this.service.getDefinitionAtPosition(data.fileName, extendsClause.types[0].expression.getEnd());
|
||||
const info = service.getDefinitionAtPosition(data.fileName, extendsClause.types[0].expression.getEnd());
|
||||
if (!info || info.length === 0) {
|
||||
// throw new Error('SUPER type not found');
|
||||
return;
|
||||
|
@ -529,7 +527,7 @@ class Mangler {
|
|||
continue;
|
||||
}
|
||||
const newText = data.replacementName;
|
||||
for (const { fileName, offset } of data.locations) {
|
||||
for (const { fileName, offset } of data.getLocations(service)) {
|
||||
queueRename(fileName, offset, newText);
|
||||
}
|
||||
}
|
||||
|
@ -545,8 +543,8 @@ class Mangler {
|
|||
// STEP: apply all rename edits (per file)
|
||||
const result = new Map();
|
||||
let savedBytes = 0;
|
||||
for (const item of this.service.getProgram().getSourceFiles()) {
|
||||
const { mapRoot, sourceRoot } = this.service.getProgram().getCompilerOptions();
|
||||
for (const item of service.getProgram().getSourceFiles()) {
|
||||
const { mapRoot, sourceRoot } = service.getProgram().getCompilerOptions();
|
||||
const projectDir = path.dirname(this.projectPath);
|
||||
const sourceMapRoot = mapRoot ?? (0, url_1.pathToFileURL)(sourceRoot ?? projectDir).toString();
|
||||
// source maps
|
||||
|
@ -614,7 +612,9 @@ class Mangler {
|
|||
}
|
||||
result.set(item.fileName, { out: newFullText, sourceMap: generator?.toString() });
|
||||
}
|
||||
this.log(`Done: ${savedBytes / 1000}kb saved`);
|
||||
service.dispose();
|
||||
this.renameWorkerPool.terminate();
|
||||
this.log(`Done: ${savedBytes / 1000}kb saved, memory-usage: ${JSON.stringify(v8.getHeapStatistics())}`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
|
||||
import * as v8 from 'node:v8';
|
||||
import * as fs from 'fs';
|
||||
import * as path from 'path';
|
||||
import { argv } from 'process';
|
||||
|
@ -338,17 +339,16 @@ class DeclarationData {
|
|||
constructor(
|
||||
readonly fileName: string,
|
||||
readonly node: ts.FunctionDeclaration | ts.ClassDeclaration | ts.EnumDeclaration | ts.VariableDeclaration,
|
||||
private readonly service: ts.LanguageService,
|
||||
fileIdents: ShortIdent,
|
||||
) {
|
||||
// Todo: generate replacement names based on usage count, with more used names getting shorter identifiers
|
||||
this.replacementName = fileIdents.next();
|
||||
}
|
||||
|
||||
get locations(): Iterable<{ fileName: string; offset: number }> {
|
||||
getLocations(service: ts.LanguageService): Iterable<{ fileName: string; offset: number }> {
|
||||
if (ts.isVariableDeclaration(this.node)) {
|
||||
// If the const aliases any types, we need to rename those too
|
||||
const definitionResult = this.service.getDefinitionAndBoundSpan(this.fileName, this.node.name.getStart());
|
||||
const definitionResult = service.getDefinitionAndBoundSpan(this.fileName, this.node.name.getStart());
|
||||
if (definitionResult?.definitions && definitionResult.definitions.length > 1) {
|
||||
return definitionResult.definitions.map(x => ({ fileName: x.fileName, offset: x.textSpan.start }));
|
||||
}
|
||||
|
@ -399,7 +399,6 @@ export class Mangler {
|
|||
private readonly allClassDataByKey = new Map<string, ClassData>();
|
||||
private readonly allExportedSymbols = new Set<DeclarationData>();
|
||||
|
||||
private readonly service: ts.LanguageService;
|
||||
private readonly renameWorkerPool: workerpool.WorkerPool;
|
||||
|
||||
constructor(
|
||||
|
@ -407,7 +406,6 @@ export class Mangler {
|
|||
private readonly log: typeof console.log = () => { },
|
||||
private readonly config: { readonly manglePrivateFields: boolean; readonly mangleExports: boolean },
|
||||
) {
|
||||
this.service = ts.createLanguageService(new StaticLanguageServiceHost(projectPath));
|
||||
|
||||
this.renameWorkerPool = workerpool.pool(path.join(__dirname, 'renameWorker.js'), {
|
||||
maxWorkers: 1,
|
||||
|
@ -417,6 +415,8 @@ export class Mangler {
|
|||
|
||||
async computeNewFileContents(strictImplicitPublicHandling?: Set<string>): Promise<Map<string, MangleOutput>> {
|
||||
|
||||
const service = ts.createLanguageService(new StaticLanguageServiceHost(this.projectPath));
|
||||
|
||||
// STEP:
|
||||
// - Find all classes and their field info.
|
||||
// - Find exported symbols.
|
||||
|
@ -471,14 +471,14 @@ export class Mangler {
|
|||
return;
|
||||
}
|
||||
|
||||
this.allExportedSymbols.add(new DeclarationData(node.getSourceFile().fileName, node, this.service, fileIdents));
|
||||
this.allExportedSymbols.add(new DeclarationData(node.getSourceFile().fileName, node, fileIdents));
|
||||
}
|
||||
}
|
||||
|
||||
ts.forEachChild(node, visit);
|
||||
};
|
||||
|
||||
for (const file of this.service.getProgram()!.getSourceFiles()) {
|
||||
for (const file of service.getProgram()!.getSourceFiles()) {
|
||||
if (!file.isDeclarationFile) {
|
||||
ts.forEachChild(file, visit);
|
||||
}
|
||||
|
@ -495,7 +495,7 @@ export class Mangler {
|
|||
return;
|
||||
}
|
||||
|
||||
const info = this.service.getDefinitionAtPosition(data.fileName, extendsClause.types[0].expression.getEnd());
|
||||
const info = service.getDefinitionAtPosition(data.fileName, extendsClause.types[0].expression.getEnd());
|
||||
if (!info || info.length === 0) {
|
||||
// throw new Error('SUPER type not found');
|
||||
return;
|
||||
|
@ -620,7 +620,7 @@ export class Mangler {
|
|||
}
|
||||
|
||||
const newText = data.replacementName;
|
||||
for (const { fileName, offset } of data.locations) {
|
||||
for (const { fileName, offset } of data.getLocations(service)) {
|
||||
queueRename(fileName, offset, newText);
|
||||
}
|
||||
}
|
||||
|
@ -641,9 +641,9 @@ export class Mangler {
|
|||
const result = new Map<string, MangleOutput>();
|
||||
let savedBytes = 0;
|
||||
|
||||
for (const item of this.service.getProgram()!.getSourceFiles()) {
|
||||
for (const item of service.getProgram()!.getSourceFiles()) {
|
||||
|
||||
const { mapRoot, sourceRoot } = this.service.getProgram()!.getCompilerOptions();
|
||||
const { mapRoot, sourceRoot } = service.getProgram()!.getCompilerOptions();
|
||||
const projectDir = path.dirname(this.projectPath);
|
||||
const sourceMapRoot = mapRoot ?? pathToFileURL(sourceRoot ?? projectDir).toString();
|
||||
|
||||
|
@ -721,7 +721,10 @@ export class Mangler {
|
|||
result.set(item.fileName, { out: newFullText, sourceMap: generator?.toString() });
|
||||
}
|
||||
|
||||
this.log(`Done: ${savedBytes / 1000}kb saved`);
|
||||
service.dispose();
|
||||
this.renameWorkerPool.terminate();
|
||||
|
||||
this.log(`Done: ${savedBytes / 1000}kb saved, memory-usage: ${JSON.stringify(v8.getHeapStatistics())}`);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,12 +7,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||
const ts = require("typescript");
|
||||
const workerpool = require("workerpool");
|
||||
const staticLanguageServiceHost_1 = require("./staticLanguageServiceHost");
|
||||
let service; // = ts.createLanguageService(new StaticLanguageServiceHost(projectPath));
|
||||
let service;
|
||||
function findRenameLocations(projectPath, fileName, position) {
|
||||
if (!service) {
|
||||
service = ts.createLanguageService(new staticLanguageServiceHost_1.StaticLanguageServiceHost(projectPath));
|
||||
}
|
||||
return service.findRenameLocations(fileName, position, false, false, true) ?? [];
|
||||
return service.findRenameLocations(fileName, position, false, false, {
|
||||
providePrefixAndSuffixTextForRename: true,
|
||||
}) ?? [];
|
||||
}
|
||||
workerpool.worker({
|
||||
findRenameLocations
|
||||
|
|
|
@ -7,7 +7,7 @@ import * as ts from 'typescript';
|
|||
import * as workerpool from 'workerpool';
|
||||
import { StaticLanguageServiceHost } from './staticLanguageServiceHost';
|
||||
|
||||
let service: ts.LanguageService | undefined;// = ts.createLanguageService(new StaticLanguageServiceHost(projectPath));
|
||||
let service: ts.LanguageService | undefined;
|
||||
|
||||
function findRenameLocations(
|
||||
projectPath: string,
|
||||
|
@ -18,7 +18,9 @@ function findRenameLocations(
|
|||
service = ts.createLanguageService(new StaticLanguageServiceHost(projectPath));
|
||||
}
|
||||
|
||||
return service.findRenameLocations(fileName, position, false, false, true) ?? [];
|
||||
return service.findRenameLocations(fileName, position, false, false, {
|
||||
providePrefixAndSuffixTextForRename: true,
|
||||
}) ?? [];
|
||||
}
|
||||
|
||||
workerpool.worker({
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.execute = exports.run3 = exports.DeclarationResolver = exports.FSProvider = exports.RECIPE_PATH = void 0;
|
||||
exports.DeclarationResolver = exports.FSProvider = exports.RECIPE_PATH = void 0;
|
||||
exports.run3 = run3;
|
||||
exports.execute = execute;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const fancyLog = require("fancy-log");
|
||||
|
@ -559,7 +561,6 @@ function run3(resolver) {
|
|||
const sourceFileGetter = (moduleId) => resolver.getDeclarationSourceFile(moduleId);
|
||||
return _run(resolver.ts, sourceFileGetter);
|
||||
}
|
||||
exports.run3 = run3;
|
||||
class TypeScriptLanguageServiceHost {
|
||||
_ts;
|
||||
_libs;
|
||||
|
@ -623,5 +624,4 @@ function execute() {
|
|||
}
|
||||
return r;
|
||||
}
|
||||
exports.execute = execute;
|
||||
//# sourceMappingURL=monaco-api.js.map
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.nls = void 0;
|
||||
exports.nls = nls;
|
||||
const lazy = require("lazy.js");
|
||||
const event_stream_1 = require("event-stream");
|
||||
const File = require("vinyl");
|
||||
|
@ -74,7 +74,6 @@ function nls() {
|
|||
}));
|
||||
return (0, event_stream_1.duplex)(input, output);
|
||||
}
|
||||
exports.nls = nls;
|
||||
function isImportNode(ts, node) {
|
||||
return node.kind === ts.SyntaxKind.ImportDeclaration || node.kind === ts.SyntaxKind.ImportEqualsDeclaration;
|
||||
}
|
||||
|
@ -311,36 +310,48 @@ var _nls;
|
|||
function patch(ts, moduleId, typescript, javascript, sourcemap) {
|
||||
const { localizeCalls, nlsExpressions } = analyze(ts, typescript, 'localize');
|
||||
const { localizeCalls: localize2Calls, nlsExpressions: nls2Expressions } = analyze(ts, typescript, 'localize2');
|
||||
if (localizeCalls.length === 0) {
|
||||
if (localizeCalls.length === 0 && localize2Calls.length === 0) {
|
||||
return { javascript, sourcemap };
|
||||
}
|
||||
const nlsKeys = template(localizeCalls.map(lc => lc.key).concat(localize2Calls.map(lc => lc.key)));
|
||||
const nls = template(localizeCalls.map(lc => lc.value).concat(localize2Calls.map(lc => lc.value)));
|
||||
const smc = new sm.SourceMapConsumer(sourcemap);
|
||||
const positionFrom = mappedPositionFrom.bind(null, sourcemap.sources[0]);
|
||||
let i = 0;
|
||||
// build patches
|
||||
const toPatch = (c) => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
};
|
||||
let i = 0;
|
||||
const localizePatches = lazy(localizeCalls)
|
||||
.map(lc => ([
|
||||
{ range: lc.keySpan, content: '' + (i++) },
|
||||
{ range: lc.valueSpan, content: 'null' }
|
||||
]))
|
||||
.flatten()
|
||||
.map(c => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
});
|
||||
.map(toPatch);
|
||||
const localize2Patches = lazy(localize2Calls)
|
||||
.map(lc => ([
|
||||
{ range: lc.keySpan, content: '' + (i++) }
|
||||
])).flatten()
|
||||
.map(c => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
.map(lc => ({ range: lc.keySpan, content: '' + (i++) }))
|
||||
.map(toPatch);
|
||||
// Sort patches by their start position
|
||||
const patches = localizePatches.concat(localize2Patches).toArray().sort((a, b) => {
|
||||
if (a.span.start.line < b.span.start.line) {
|
||||
return -1;
|
||||
}
|
||||
else if (a.span.start.line > b.span.start.line) {
|
||||
return 1;
|
||||
}
|
||||
else if (a.span.start.character < b.span.start.character) {
|
||||
return -1;
|
||||
}
|
||||
else if (a.span.start.character > b.span.start.character) {
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
const patches = localizePatches.concat(localize2Patches).toArray();
|
||||
javascript = patchJavascript(patches, javascript, moduleId);
|
||||
// since imports are not within the sourcemap information,
|
||||
// we must do this MacGyver style
|
||||
|
|
|
@ -414,7 +414,7 @@ module _nls {
|
|||
const { localizeCalls, nlsExpressions } = analyze(ts, typescript, 'localize');
|
||||
const { localizeCalls: localize2Calls, nlsExpressions: nls2Expressions } = analyze(ts, typescript, 'localize2');
|
||||
|
||||
if (localizeCalls.length === 0) {
|
||||
if (localizeCalls.length === 0 && localize2Calls.length === 0) {
|
||||
return { javascript, sourcemap };
|
||||
}
|
||||
|
||||
|
@ -422,32 +422,43 @@ module _nls {
|
|||
const nls = template(localizeCalls.map(lc => lc.value).concat(localize2Calls.map(lc => lc.value)));
|
||||
const smc = new sm.SourceMapConsumer(sourcemap);
|
||||
const positionFrom = mappedPositionFrom.bind(null, sourcemap.sources[0]);
|
||||
let i = 0;
|
||||
|
||||
// build patches
|
||||
const toPatch = (c: { range: ISpan; content: string }): IPatch => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
};
|
||||
|
||||
let i = 0;
|
||||
const localizePatches = lazy(localizeCalls)
|
||||
.map(lc => ([
|
||||
{ range: lc.keySpan, content: '' + (i++) },
|
||||
{ range: lc.valueSpan, content: 'null' }
|
||||
]))
|
||||
.flatten()
|
||||
.map<IPatch>(c => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
});
|
||||
.map(toPatch);
|
||||
|
||||
const localize2Patches = lazy(localize2Calls)
|
||||
.map(lc => ([
|
||||
.map(lc => (
|
||||
{ range: lc.keySpan, content: '' + (i++) }
|
||||
])).flatten()
|
||||
.map<IPatch>(c => {
|
||||
const start = lcFrom(smc.generatedPositionFor(positionFrom(c.range.start)));
|
||||
const end = lcFrom(smc.generatedPositionFor(positionFrom(c.range.end)));
|
||||
return { span: { start, end }, content: c.content };
|
||||
});
|
||||
))
|
||||
.map(toPatch);
|
||||
|
||||
const patches = localizePatches.concat(localize2Patches).toArray();
|
||||
// Sort patches by their start position
|
||||
const patches = localizePatches.concat(localize2Patches).toArray().sort((a, b) => {
|
||||
if (a.span.start.line < b.span.start.line) {
|
||||
return -1;
|
||||
} else if (a.span.start.line > b.span.start.line) {
|
||||
return 1;
|
||||
} else if (a.span.start.character < b.span.start.character) {
|
||||
return -1;
|
||||
} else if (a.span.start.character > b.span.start.character) {
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
});
|
||||
|
||||
javascript = patchJavascript(patches, javascript, moduleId);
|
||||
|
||||
|
|
|
@ -4,7 +4,10 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.minifyTask = exports.optimizeTask = exports.optimizeLoaderTask = exports.loaderConfig = void 0;
|
||||
exports.loaderConfig = loaderConfig;
|
||||
exports.optimizeLoaderTask = optimizeLoaderTask;
|
||||
exports.optimizeTask = optimizeTask;
|
||||
exports.minifyTask = minifyTask;
|
||||
const es = require("event-stream");
|
||||
const gulp = require("gulp");
|
||||
const concat = require("gulp-concat");
|
||||
|
@ -33,7 +36,6 @@ function loaderConfig() {
|
|||
result['vs/css'] = { inlineResources: true };
|
||||
return result;
|
||||
}
|
||||
exports.loaderConfig = loaderConfig;
|
||||
const IS_OUR_COPYRIGHT_REGEXP = /Copyright \(C\) Microsoft Corporation/i;
|
||||
function loaderPlugin(src, base, amdModuleId) {
|
||||
return (gulp
|
||||
|
@ -223,7 +225,6 @@ function optimizeManualTask(options) {
|
|||
function optimizeLoaderTask(src, out, bundleLoader, bundledFileHeader = '', externalLoaderInfo) {
|
||||
return () => loader(src, bundledFileHeader, bundleLoader, externalLoaderInfo).pipe(gulp.dest(out));
|
||||
}
|
||||
exports.optimizeLoaderTask = optimizeLoaderTask;
|
||||
function optimizeTask(opts) {
|
||||
return function () {
|
||||
const optimizers = [optimizeAMDTask(opts.amd)];
|
||||
|
@ -236,7 +237,6 @@ function optimizeTask(opts) {
|
|||
return es.merge(...optimizers).pipe(gulp.dest(opts.out));
|
||||
};
|
||||
}
|
||||
exports.optimizeTask = optimizeTask;
|
||||
function minifyTask(src, sourceMapBaseUrl) {
|
||||
const esbuild = require('esbuild');
|
||||
const sourceMappingURL = sourceMapBaseUrl ? ((f) => `${sourceMapBaseUrl}/${f.relative}.map`) : undefined;
|
||||
|
@ -284,5 +284,4 @@ function minifyTask(src, sourceMapBaseUrl) {
|
|||
}), gulp.dest(src + '-min'), (err) => cb(err));
|
||||
};
|
||||
}
|
||||
exports.minifyTask = minifyTask;
|
||||
//# sourceMappingURL=optimize.js.map
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createReporter = void 0;
|
||||
exports.createReporter = createReporter;
|
||||
const es = require("event-stream");
|
||||
const fancyLog = require("fancy-log");
|
||||
const ansiColors = require("ansi-colors");
|
||||
|
@ -99,5 +99,4 @@ function createReporter(id) {
|
|||
};
|
||||
return result;
|
||||
}
|
||||
exports.createReporter = createReporter;
|
||||
//# sourceMappingURL=reporter.js.map
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createESMSourcesAndResources2 = exports.extractEditor = void 0;
|
||||
exports.extractEditor = extractEditor;
|
||||
exports.createESMSourcesAndResources2 = createESMSourcesAndResources2;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const tss = require("./treeshaking");
|
||||
|
@ -111,7 +112,6 @@ function extractEditor(options) {
|
|||
'vs/nls.mock.ts',
|
||||
].forEach(copyFile);
|
||||
}
|
||||
exports.extractEditor = extractEditor;
|
||||
function createESMSourcesAndResources2(options) {
|
||||
const ts = require('typescript');
|
||||
const SRC_FOLDER = path.join(REPO_ROOT, options.srcFolder);
|
||||
|
@ -251,7 +251,6 @@ function createESMSourcesAndResources2(options) {
|
|||
}
|
||||
}
|
||||
}
|
||||
exports.createESMSourcesAndResources2 = createESMSourcesAndResources2;
|
||||
function transportCSS(module, enqueue, write) {
|
||||
if (!/\.css/.test(module)) {
|
||||
return false;
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createStatsStream = void 0;
|
||||
exports.createStatsStream = createStatsStream;
|
||||
const es = require("event-stream");
|
||||
const fancyLog = require("fancy-log");
|
||||
const ansiColors = require("ansi-colors");
|
||||
|
@ -73,5 +73,4 @@ function createStatsStream(group, log) {
|
|||
this.emit('end');
|
||||
});
|
||||
}
|
||||
exports.createStatsStream = createStatsStream;
|
||||
//# sourceMappingURL=stats.js.map
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getVariableNameValidator = void 0;
|
||||
exports.getVariableNameValidator = getVariableNameValidator;
|
||||
const fs_1 = require("fs");
|
||||
const path = require("path");
|
||||
const RE_VAR_PROP = /var\(\s*(--([\w\-\.]+))/g;
|
||||
|
@ -30,5 +30,4 @@ function getVariableNameValidator() {
|
|||
}
|
||||
};
|
||||
}
|
||||
exports.getVariableNameValidator = getVariableNameValidator;
|
||||
//# sourceMappingURL=validateVariableNames.js.map
|
|
@ -11,6 +11,11 @@
|
|||
"--vscode-activityBar-inactiveForeground",
|
||||
"--vscode-activityBarBadge-background",
|
||||
"--vscode-activityBarBadge-foreground",
|
||||
"--vscode-activityBarTop-activeBorder",
|
||||
"--vscode-activityBarTop-dropBorder",
|
||||
"--vscode-activityBarTop-foreground",
|
||||
"--vscode-activityBarTop-inactiveForeground",
|
||||
"--vscode-activityBarTop-background",
|
||||
"--vscode-badge-background",
|
||||
"--vscode-badge-foreground",
|
||||
"--vscode-banner-background",
|
||||
|
@ -39,9 +44,11 @@
|
|||
"--vscode-charts-yellow",
|
||||
"--vscode-chat-avatarBackground",
|
||||
"--vscode-chat-avatarForeground",
|
||||
"--vscode-chat-requestBackground",
|
||||
"--vscode-chat-requestBorder",
|
||||
"--vscode-chat-slashCommandBackground",
|
||||
"--vscode-chat-slashCommandForeground",
|
||||
"--vscode-chat-list-background",
|
||||
"--vscode-checkbox-background",
|
||||
"--vscode-checkbox-border",
|
||||
"--vscode-checkbox-foreground",
|
||||
|
@ -267,6 +274,8 @@
|
|||
"--vscode-editorOverviewRuler-findMatchForeground",
|
||||
"--vscode-editorOverviewRuler-incomingContentForeground",
|
||||
"--vscode-editorOverviewRuler-infoForeground",
|
||||
"--vscode-editorOverviewRuler-inlineChatInserted",
|
||||
"--vscode-editorOverviewRuler-inlineChatRemoved",
|
||||
"--vscode-editorOverviewRuler-modifiedForeground",
|
||||
"--vscode-editorOverviewRuler-rangeHighlightForeground",
|
||||
"--vscode-editorOverviewRuler-selectionHighlightForeground",
|
||||
|
@ -296,6 +305,7 @@
|
|||
"--vscode-editorWarning-background",
|
||||
"--vscode-editorWarning-border",
|
||||
"--vscode-editorWarning-foreground",
|
||||
"--vscode-editorWatermark-foreground",
|
||||
"--vscode-editorWhitespace-foreground",
|
||||
"--vscode-editorWidget-background",
|
||||
"--vscode-editorWidget-border",
|
||||
|
@ -345,6 +355,8 @@
|
|||
"--vscode-inputValidation-warningBackground",
|
||||
"--vscode-inputValidation-warningBorder",
|
||||
"--vscode-inputValidation-warningForeground",
|
||||
"--vscode-interactive-activeCodeBorder",
|
||||
"--vscode-interactive-inactiveCodeBorder",
|
||||
"--vscode-keybindingLabel-background",
|
||||
"--vscode-keybindingLabel-border",
|
||||
"--vscode-keybindingLabel-bottomBorder",
|
||||
|
@ -356,6 +368,7 @@
|
|||
"--vscode-list-activeSelectionIconForeground",
|
||||
"--vscode-list-deemphasizedForeground",
|
||||
"--vscode-list-dropBackground",
|
||||
"--vscode-list-dropBetweenBackground",
|
||||
"--vscode-list-errorForeground",
|
||||
"--vscode-list-filterMatchBackground",
|
||||
"--vscode-list-filterMatchBorder",
|
||||
|
@ -422,6 +435,8 @@
|
|||
"--vscode-minimapSlider-activeBackground",
|
||||
"--vscode-minimapSlider-background",
|
||||
"--vscode-minimapSlider-hoverBackground",
|
||||
"--vscode-multiDiffEditor-background",
|
||||
"--vscode-multiDiffEditor-border",
|
||||
"--vscode-multiDiffEditor-headerBackground",
|
||||
"--vscode-notebook-cellBorderColor",
|
||||
"--vscode-notebook-cellEditorBackground",
|
||||
|
@ -546,6 +561,7 @@
|
|||
"--vscode-sideBarSectionHeader-border",
|
||||
"--vscode-sideBarSectionHeader-foreground",
|
||||
"--vscode-sideBarTitle-foreground",
|
||||
"--vscode-sideBarActivityBarTop-border",
|
||||
"--vscode-sideBySideEditor-horizontalBorder",
|
||||
"--vscode-sideBySideEditor-verticalBorder",
|
||||
"--vscode-simpleFindWidget-sashBorder",
|
||||
|
@ -623,6 +639,7 @@
|
|||
"--vscode-tab-activeForeground",
|
||||
"--vscode-tab-activeModifiedBorder",
|
||||
"--vscode-tab-border",
|
||||
"--vscode-tab-dragAndDropBorder",
|
||||
"--vscode-tab-hoverBackground",
|
||||
"--vscode-tab-hoverBorder",
|
||||
"--vscode-tab-hoverForeground",
|
||||
|
@ -679,6 +696,11 @@
|
|||
"--vscode-terminalOverviewRuler-findMatchForeground",
|
||||
"--vscode-terminalStickyScroll-background",
|
||||
"--vscode-terminalStickyScrollHover-background",
|
||||
"--vscode-testing-coverCountBadgeBackground",
|
||||
"--vscode-testing-coverCountBadgeForeground",
|
||||
"--vscode-testing-coveredBackground",
|
||||
"--vscode-testing-coveredBorder",
|
||||
"--vscode-testing-coveredGutterBackground",
|
||||
"--vscode-testing-iconErrored",
|
||||
"--vscode-testing-iconFailed",
|
||||
"--vscode-testing-iconPassed",
|
||||
|
@ -689,9 +711,15 @@
|
|||
"--vscode-testing-message-error-lineBackground",
|
||||
"--vscode-testing-message-info-decorationForeground",
|
||||
"--vscode-testing-message-info-lineBackground",
|
||||
"--vscode-testing-messagePeekBorder",
|
||||
"--vscode-testing-messagePeekHeaderBackground",
|
||||
"--vscode-testing-peekBorder",
|
||||
"--vscode-testing-peekHeaderBackground",
|
||||
"--vscode-testing-runAction",
|
||||
"--vscode-testing-uncoveredBackground",
|
||||
"--vscode-testing-uncoveredBorder",
|
||||
"--vscode-testing-uncoveredBranchBackground",
|
||||
"--vscode-testing-uncoveredGutterBackground",
|
||||
"--vscode-textBlockQuote-background",
|
||||
"--vscode-textBlockQuote-border",
|
||||
"--vscode-textCodeBlock-background",
|
||||
|
@ -764,8 +792,10 @@
|
|||
"--vscode-hover-maxWidth",
|
||||
"--vscode-hover-sourceWhiteSpace",
|
||||
"--vscode-hover-whiteSpace",
|
||||
"--vscode-inline-chat-cropped",
|
||||
"--vscode-inline-chat-expanded",
|
||||
"--vscode-inline-chat-quick-voice-height",
|
||||
"--vscode-inline-chat-quick-voice-width",
|
||||
"--vscode-editor-dictation-widget-height",
|
||||
"--vscode-editor-dictation-widget-width",
|
||||
"--vscode-interactive-session-foreground",
|
||||
"--vscode-interactive-result-editor-background-color",
|
||||
"--vscode-repl-font-family",
|
||||
|
@ -795,7 +825,6 @@
|
|||
"--z-index-notebook-progress-bar",
|
||||
"--z-index-notebook-scrollbar",
|
||||
"--z-index-run-button-container",
|
||||
"--z-index-notebook-sticky-scroll",
|
||||
"--zoom-factor",
|
||||
"--test-bar-width"
|
||||
]
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.define = exports.parallel = exports.series = void 0;
|
||||
exports.series = series;
|
||||
exports.parallel = parallel;
|
||||
exports.define = define;
|
||||
const fancyLog = require("fancy-log");
|
||||
const ansiColors = require("ansi-colors");
|
||||
function _isPromise(p) {
|
||||
|
@ -67,7 +69,6 @@ function series(...tasks) {
|
|||
result._tasks = tasks;
|
||||
return result;
|
||||
}
|
||||
exports.series = series;
|
||||
function parallel(...tasks) {
|
||||
const result = async () => {
|
||||
await Promise.all(tasks.map(t => _execute(t)));
|
||||
|
@ -75,7 +76,6 @@ function parallel(...tasks) {
|
|||
result._tasks = tasks;
|
||||
return result;
|
||||
}
|
||||
exports.parallel = parallel;
|
||||
function define(name, task) {
|
||||
if (task._tasks) {
|
||||
// This is a composite task
|
||||
|
@ -94,5 +94,4 @@ function define(name, task) {
|
|||
task.displayName = name;
|
||||
return task;
|
||||
}
|
||||
exports.define = define;
|
||||
//# sourceMappingURL=task.js.map
|
|
@ -4,7 +4,9 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.shake = exports.toStringShakeLevel = exports.ShakeLevel = void 0;
|
||||
exports.ShakeLevel = void 0;
|
||||
exports.toStringShakeLevel = toStringShakeLevel;
|
||||
exports.shake = shake;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const TYPESCRIPT_LIB_FOLDER = path.dirname(require.resolve('typescript/lib/lib.d.ts'));
|
||||
|
@ -24,7 +26,6 @@ function toStringShakeLevel(shakeLevel) {
|
|||
return 'ClassMembers (2)';
|
||||
}
|
||||
}
|
||||
exports.toStringShakeLevel = toStringShakeLevel;
|
||||
function printDiagnostics(options, diagnostics) {
|
||||
for (const diag of diagnostics) {
|
||||
let result = '';
|
||||
|
@ -61,7 +62,6 @@ function shake(options) {
|
|||
markNodes(ts, languageService, options);
|
||||
return generateResult(ts, languageService, options.shakeLevel);
|
||||
}
|
||||
exports.shake = shake;
|
||||
//#region Discovery, LanguageService & Setup
|
||||
function createTypeScriptLanguageService(ts, options) {
|
||||
// Discover referenced files
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.createTypeScriptBuilder = exports.CancellationToken = void 0;
|
||||
exports.CancellationToken = void 0;
|
||||
exports.createTypeScriptBuilder = createTypeScriptBuilder;
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
const crypto = require("crypto");
|
||||
|
@ -89,7 +90,7 @@ function createTypeScriptBuilder(config, projectFile, cmd) {
|
|||
if (/\.d\.ts$/.test(fileName)) {
|
||||
// if it's already a d.ts file just emit it signature
|
||||
const snapshot = host.getScriptSnapshot(fileName);
|
||||
const signature = crypto.createHash('md5')
|
||||
const signature = crypto.createHash('sha256')
|
||||
.update(snapshot.getText(0, snapshot.getLength()))
|
||||
.digest('base64');
|
||||
return resolve({
|
||||
|
@ -106,7 +107,7 @@ function createTypeScriptBuilder(config, projectFile, cmd) {
|
|||
continue;
|
||||
}
|
||||
if (/\.d\.ts$/.test(file.name)) {
|
||||
signature = crypto.createHash('md5')
|
||||
signature = crypto.createHash('sha256')
|
||||
.update(file.text)
|
||||
.digest('base64');
|
||||
if (!userWantsDeclarations) {
|
||||
|
@ -364,7 +365,6 @@ function createTypeScriptBuilder(config, projectFile, cmd) {
|
|||
languageService: service
|
||||
};
|
||||
}
|
||||
exports.createTypeScriptBuilder = createTypeScriptBuilder;
|
||||
class ScriptSnapshot {
|
||||
_text;
|
||||
_mtime;
|
||||
|
|
|
@ -113,7 +113,7 @@ export function createTypeScriptBuilder(config: IConfiguration, projectFile: str
|
|||
if (/\.d\.ts$/.test(fileName)) {
|
||||
// if it's already a d.ts file just emit it signature
|
||||
const snapshot = host.getScriptSnapshot(fileName);
|
||||
const signature = crypto.createHash('md5')
|
||||
const signature = crypto.createHash('sha256')
|
||||
.update(snapshot.getText(0, snapshot.getLength()))
|
||||
.digest('base64');
|
||||
|
||||
|
@ -134,7 +134,7 @@ export function createTypeScriptBuilder(config: IConfiguration, projectFile: str
|
|||
}
|
||||
|
||||
if (/\.d\.ts$/.test(file.name)) {
|
||||
signature = crypto.createHash('md5')
|
||||
signature = crypto.createHash('sha256')
|
||||
.update(file.text)
|
||||
.digest('base64');
|
||||
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.create = void 0;
|
||||
exports.create = create;
|
||||
const Vinyl = require("vinyl");
|
||||
const through = require("through");
|
||||
const builder = require("./builder");
|
||||
|
@ -132,5 +132,4 @@ function create(projectPath, existingOptions, config, onError = _defaultOnError)
|
|||
};
|
||||
return result;
|
||||
}
|
||||
exports.create = create;
|
||||
//# sourceMappingURL=index.js.map
|
|
@ -4,7 +4,29 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.buildWebNodePaths = exports.createExternalLoaderConfig = exports.acquireWebNodePaths = exports.getElectronVersion = exports.streamToPromise = exports.versionStringToNumber = exports.filter = exports.rebase = exports.ensureDir = exports.rreddir = exports.rimraf = exports.rewriteSourceMappingURL = exports.appendOwnPathSourceURL = exports.$if = exports.stripSourceMappingURL = exports.loadSourcemaps = exports.cleanNodeModules = exports.skipDirectories = exports.toFileUri = exports.setExecutableBit = exports.fixWin32DirectoryPermissions = exports.debounce = exports.incremental = void 0;
|
||||
exports.incremental = incremental;
|
||||
exports.debounce = debounce;
|
||||
exports.fixWin32DirectoryPermissions = fixWin32DirectoryPermissions;
|
||||
exports.setExecutableBit = setExecutableBit;
|
||||
exports.toFileUri = toFileUri;
|
||||
exports.skipDirectories = skipDirectories;
|
||||
exports.cleanNodeModules = cleanNodeModules;
|
||||
exports.loadSourcemaps = loadSourcemaps;
|
||||
exports.stripSourceMappingURL = stripSourceMappingURL;
|
||||
exports.$if = $if;
|
||||
exports.appendOwnPathSourceURL = appendOwnPathSourceURL;
|
||||
exports.rewriteSourceMappingURL = rewriteSourceMappingURL;
|
||||
exports.rimraf = rimraf;
|
||||
exports.rreddir = rreddir;
|
||||
exports.ensureDir = ensureDir;
|
||||
exports.rebase = rebase;
|
||||
exports.filter = filter;
|
||||
exports.versionStringToNumber = versionStringToNumber;
|
||||
exports.streamToPromise = streamToPromise;
|
||||
exports.getElectronVersion = getElectronVersion;
|
||||
exports.acquireWebNodePaths = acquireWebNodePaths;
|
||||
exports.createExternalLoaderConfig = createExternalLoaderConfig;
|
||||
exports.buildWebNodePaths = buildWebNodePaths;
|
||||
const es = require("event-stream");
|
||||
const _debounce = require("debounce");
|
||||
const _filter = require("gulp-filter");
|
||||
|
@ -54,7 +76,6 @@ function incremental(streamProvider, initial, supportsCancellation) {
|
|||
});
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.incremental = incremental;
|
||||
function debounce(task, duration = 500) {
|
||||
const input = es.through();
|
||||
const output = es.through();
|
||||
|
@ -83,7 +104,6 @@ function debounce(task, duration = 500) {
|
|||
});
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.debounce = debounce;
|
||||
function fixWin32DirectoryPermissions() {
|
||||
if (!/win32/.test(process.platform)) {
|
||||
return es.through();
|
||||
|
@ -95,7 +115,6 @@ function fixWin32DirectoryPermissions() {
|
|||
return f;
|
||||
});
|
||||
}
|
||||
exports.fixWin32DirectoryPermissions = fixWin32DirectoryPermissions;
|
||||
function setExecutableBit(pattern) {
|
||||
const setBit = es.mapSync(f => {
|
||||
if (!f.stat) {
|
||||
|
@ -115,7 +134,6 @@ function setExecutableBit(pattern) {
|
|||
.pipe(filter.restore);
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.setExecutableBit = setExecutableBit;
|
||||
function toFileUri(filePath) {
|
||||
const match = filePath.match(/^([a-z])\:(.*)$/i);
|
||||
if (match) {
|
||||
|
@ -123,7 +141,6 @@ function toFileUri(filePath) {
|
|||
}
|
||||
return 'file://' + filePath.replace(/\\/g, '/');
|
||||
}
|
||||
exports.toFileUri = toFileUri;
|
||||
function skipDirectories() {
|
||||
return es.mapSync(f => {
|
||||
if (!f.isDirectory()) {
|
||||
|
@ -131,7 +148,6 @@ function skipDirectories() {
|
|||
}
|
||||
});
|
||||
}
|
||||
exports.skipDirectories = skipDirectories;
|
||||
function cleanNodeModules(rulePath) {
|
||||
const rules = fs.readFileSync(rulePath, 'utf8')
|
||||
.split(/\r?\n/g)
|
||||
|
@ -143,7 +159,6 @@ function cleanNodeModules(rulePath) {
|
|||
const output = es.merge(input.pipe(_filter(['**', ...excludes])), input.pipe(_filter(includes)));
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.cleanNodeModules = cleanNodeModules;
|
||||
function loadSourcemaps() {
|
||||
const input = es.through();
|
||||
const output = input
|
||||
|
@ -185,7 +200,6 @@ function loadSourcemaps() {
|
|||
}));
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.loadSourcemaps = loadSourcemaps;
|
||||
function stripSourceMappingURL() {
|
||||
const input = es.through();
|
||||
const output = input
|
||||
|
@ -196,7 +210,6 @@ function stripSourceMappingURL() {
|
|||
}));
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.stripSourceMappingURL = stripSourceMappingURL;
|
||||
/** Splits items in the stream based on the predicate, sending them to onTrue if true, or onFalse otherwise */
|
||||
function $if(test, onTrue, onFalse = es.through()) {
|
||||
if (typeof test === 'boolean') {
|
||||
|
@ -204,7 +217,6 @@ function $if(test, onTrue, onFalse = es.through()) {
|
|||
}
|
||||
return ternaryStream(test, onTrue, onFalse);
|
||||
}
|
||||
exports.$if = $if;
|
||||
/** Operator that appends the js files' original path a sourceURL, so debug locations map */
|
||||
function appendOwnPathSourceURL() {
|
||||
const input = es.through();
|
||||
|
@ -218,7 +230,6 @@ function appendOwnPathSourceURL() {
|
|||
}));
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.appendOwnPathSourceURL = appendOwnPathSourceURL;
|
||||
function rewriteSourceMappingURL(sourceMappingURLBase) {
|
||||
const input = es.through();
|
||||
const output = input
|
||||
|
@ -230,7 +241,6 @@ function rewriteSourceMappingURL(sourceMappingURLBase) {
|
|||
}));
|
||||
return es.duplex(input, output);
|
||||
}
|
||||
exports.rewriteSourceMappingURL = rewriteSourceMappingURL;
|
||||
function rimraf(dir) {
|
||||
const result = () => new Promise((c, e) => {
|
||||
let retries = 0;
|
||||
|
@ -250,7 +260,6 @@ function rimraf(dir) {
|
|||
result.taskName = `clean-${path.basename(dir).toLowerCase()}`;
|
||||
return result;
|
||||
}
|
||||
exports.rimraf = rimraf;
|
||||
function _rreaddir(dirPath, prepend, result) {
|
||||
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
||||
for (const entry of entries) {
|
||||
|
@ -267,7 +276,6 @@ function rreddir(dirPath) {
|
|||
_rreaddir(dirPath, '', result);
|
||||
return result;
|
||||
}
|
||||
exports.rreddir = rreddir;
|
||||
function ensureDir(dirPath) {
|
||||
if (fs.existsSync(dirPath)) {
|
||||
return;
|
||||
|
@ -275,14 +283,12 @@ function ensureDir(dirPath) {
|
|||
ensureDir(path.dirname(dirPath));
|
||||
fs.mkdirSync(dirPath);
|
||||
}
|
||||
exports.ensureDir = ensureDir;
|
||||
function rebase(count) {
|
||||
return rename(f => {
|
||||
const parts = f.dirname ? f.dirname.split(/[\/\\]/) : [];
|
||||
f.dirname = parts.slice(count).join(path.sep);
|
||||
});
|
||||
}
|
||||
exports.rebase = rebase;
|
||||
function filter(fn) {
|
||||
const result = es.through(function (data) {
|
||||
if (fn(data)) {
|
||||
|
@ -295,7 +301,6 @@ function filter(fn) {
|
|||
result.restore = es.through();
|
||||
return result;
|
||||
}
|
||||
exports.filter = filter;
|
||||
function versionStringToNumber(versionStr) {
|
||||
const semverRegex = /(\d+)\.(\d+)\.(\d+)/;
|
||||
const match = versionStr.match(semverRegex);
|
||||
|
@ -304,21 +309,18 @@ function versionStringToNumber(versionStr) {
|
|||
}
|
||||
return parseInt(match[1], 10) * 1e4 + parseInt(match[2], 10) * 1e2 + parseInt(match[3], 10);
|
||||
}
|
||||
exports.versionStringToNumber = versionStringToNumber;
|
||||
function streamToPromise(stream) {
|
||||
return new Promise((c, e) => {
|
||||
stream.on('error', err => e(err));
|
||||
stream.on('end', () => c());
|
||||
});
|
||||
}
|
||||
exports.streamToPromise = streamToPromise;
|
||||
function getElectronVersion() {
|
||||
const yarnrc = fs.readFileSync(path.join(root, '.yarnrc'), 'utf8');
|
||||
const electronVersion = /^target "(.*)"$/m.exec(yarnrc)[1];
|
||||
const msBuildId = /^ms_build_id "(.*)"$/m.exec(yarnrc)[1];
|
||||
return { electronVersion, msBuildId };
|
||||
}
|
||||
exports.getElectronVersion = getElectronVersion;
|
||||
function acquireWebNodePaths() {
|
||||
const root = path.join(__dirname, '..', '..');
|
||||
const webPackageJSON = path.join(root, '/remote/web', 'package.json');
|
||||
|
@ -367,7 +369,6 @@ function acquireWebNodePaths() {
|
|||
nodePaths['@microsoft/applicationinsights-core-js'] = 'browser/applicationinsights-core-js.min.js';
|
||||
return nodePaths;
|
||||
}
|
||||
exports.acquireWebNodePaths = acquireWebNodePaths;
|
||||
function createExternalLoaderConfig(webEndpoint, commit, quality) {
|
||||
if (!webEndpoint || !commit || !quality) {
|
||||
return undefined;
|
||||
|
@ -384,7 +385,6 @@ function createExternalLoaderConfig(webEndpoint, commit, quality) {
|
|||
};
|
||||
return externalLoaderConfig;
|
||||
}
|
||||
exports.createExternalLoaderConfig = createExternalLoaderConfig;
|
||||
function buildWebNodePaths(outDir) {
|
||||
const result = () => new Promise((resolve, _) => {
|
||||
const root = path.join(__dirname, '..', '..');
|
||||
|
@ -405,5 +405,4 @@ function buildWebNodePaths(outDir) {
|
|||
result.taskName = 'build-web-node-paths';
|
||||
return result;
|
||||
}
|
||||
exports.buildWebNodePaths = buildWebNodePaths;
|
||||
//# sourceMappingURL=util.js.map
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generatePackageDeps = void 0;
|
||||
exports.generatePackageDeps = generatePackageDeps;
|
||||
const child_process_1 = require("child_process");
|
||||
const fs_1 = require("fs");
|
||||
const os_1 = require("os");
|
||||
|
@ -17,7 +17,6 @@ function generatePackageDeps(files, arch, chromiumSysroot, vscodeSysroot) {
|
|||
dependencies.push(additionalDepsSet);
|
||||
return dependencies;
|
||||
}
|
||||
exports.generatePackageDeps = generatePackageDeps;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/main:chrome/installer/linux/debian/calculate_package_deps.py.
|
||||
function calculatePackageDeps(binaryPath, arch, chromiumSysroot, vscodeSysroot) {
|
||||
try {
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getChromiumSysroot = exports.getVSCodeSysroot = void 0;
|
||||
exports.getVSCodeSysroot = getVSCodeSysroot;
|
||||
exports.getChromiumSysroot = getChromiumSysroot;
|
||||
const child_process_1 = require("child_process");
|
||||
const os_1 = require("os");
|
||||
const fs = require("fs");
|
||||
|
@ -34,6 +35,7 @@ function getElectronVersion() {
|
|||
return { electronVersion, msBuildId };
|
||||
}
|
||||
function getSha(filename) {
|
||||
// CodeQL [SM04514] Hash logic cannot be changed due to external dependency, also the code is only used during build.
|
||||
const hash = (0, crypto_1.createHash)('sha1');
|
||||
// Read file 1 MB at a time
|
||||
const fd = fs.openSync(filename, 'r');
|
||||
|
@ -66,7 +68,7 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
|
|||
try {
|
||||
const controller = new AbortController();
|
||||
const timeout = setTimeout(() => controller.abort(), 30 * 1000);
|
||||
const version = '20231122-245579';
|
||||
const version = '20240129-253798';
|
||||
try {
|
||||
const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
|
||||
headers: ghApiHeaders,
|
||||
|
@ -118,20 +120,22 @@ async function fetchUrl(options, retries = 10, retryDelay = 1000) {
|
|||
async function getVSCodeSysroot(arch) {
|
||||
let expectedName;
|
||||
let triple;
|
||||
const prefix = process.env['VSCODE_SYSROOT_PREFIX'] ?? '-glibc-2.28';
|
||||
switch (arch) {
|
||||
case 'amd64':
|
||||
expectedName = `x86_64-linux-gnu.tar.gz`;
|
||||
expectedName = `x86_64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'x86_64-linux-gnu';
|
||||
break;
|
||||
case 'arm64':
|
||||
expectedName = `aarch64-linux-gnu.tar.gz`;
|
||||
expectedName = `aarch64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'aarch64-linux-gnu';
|
||||
break;
|
||||
case 'armhf':
|
||||
expectedName = `arm-rpi-linux-gnueabihf.tar.gz`;
|
||||
expectedName = `arm-rpi-linux-gnueabihf${prefix}.tar.gz`;
|
||||
triple = 'arm-rpi-linux-gnueabihf';
|
||||
break;
|
||||
}
|
||||
console.log(`Fetching ${expectedName} for ${triple}`);
|
||||
const checksumSha256 = getVSCodeSysrootChecksum(expectedName);
|
||||
if (!checksumSha256) {
|
||||
throw new Error(`Could not find checksum for ${expectedName}`);
|
||||
|
@ -153,7 +157,6 @@ async function getVSCodeSysroot(arch) {
|
|||
fs.writeFileSync(stamp, expectedName);
|
||||
return result;
|
||||
}
|
||||
exports.getVSCodeSysroot = getVSCodeSysroot;
|
||||
async function getChromiumSysroot(arch) {
|
||||
const sysrootJSONUrl = `https://raw.githubusercontent.com/electron/electron/v${getElectronVersion().electronVersion}/script/sysroots.json`;
|
||||
const sysrootDictLocation = `${(0, os_1.tmpdir)()}/sysroots.json`;
|
||||
|
@ -211,5 +214,4 @@ async function getChromiumSysroot(arch) {
|
|||
fs.writeFileSync(stamp, url);
|
||||
return sysroot;
|
||||
}
|
||||
exports.getChromiumSysroot = getChromiumSysroot;
|
||||
//# sourceMappingURL=install-sysroot.js.map
|
|
@ -45,6 +45,7 @@ function getElectronVersion(): Record<string, string> {
|
|||
}
|
||||
|
||||
function getSha(filename: fs.PathLike): string {
|
||||
// CodeQL [SM04514] Hash logic cannot be changed due to external dependency, also the code is only used during build.
|
||||
const hash = createHash('sha1');
|
||||
// Read file 1 MB at a time
|
||||
const fd = fs.openSync(filename, 'r');
|
||||
|
@ -79,7 +80,7 @@ async function fetchUrl(options: IFetchOptions, retries = 10, retryDelay = 1000)
|
|||
try {
|
||||
const controller = new AbortController();
|
||||
const timeout = setTimeout(() => controller.abort(), 30 * 1000);
|
||||
const version = '20231122-245579';
|
||||
const version = '20240129-253798';
|
||||
try {
|
||||
const response = await fetch(`https://api.github.com/repos/Microsoft/vscode-linux-build-agent/releases/tags/v${version}`, {
|
||||
headers: ghApiHeaders,
|
||||
|
@ -136,20 +137,22 @@ type SysrootDictEntry = {
|
|||
export async function getVSCodeSysroot(arch: DebianArchString): Promise<string> {
|
||||
let expectedName: string;
|
||||
let triple: string;
|
||||
const prefix = process.env['VSCODE_SYSROOT_PREFIX'] ?? '-glibc-2.28';
|
||||
switch (arch) {
|
||||
case 'amd64':
|
||||
expectedName = `x86_64-linux-gnu.tar.gz`;
|
||||
expectedName = `x86_64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'x86_64-linux-gnu';
|
||||
break;
|
||||
case 'arm64':
|
||||
expectedName = `aarch64-linux-gnu.tar.gz`;
|
||||
expectedName = `aarch64-linux-gnu${prefix}.tar.gz`;
|
||||
triple = 'aarch64-linux-gnu';
|
||||
break;
|
||||
case 'armhf':
|
||||
expectedName = `arm-rpi-linux-gnueabihf.tar.gz`;
|
||||
expectedName = `arm-rpi-linux-gnueabihf${prefix}.tar.gz`;
|
||||
triple = 'arm-rpi-linux-gnueabihf';
|
||||
break;
|
||||
}
|
||||
console.log(`Fetching ${expectedName} for ${triple}`);
|
||||
const checksumSha256 = getVSCodeSysrootChecksum(expectedName);
|
||||
if (!checksumSha256) {
|
||||
throw new Error(`Could not find checksum for ${expectedName}`);
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isDebianArchString = void 0;
|
||||
exports.isDebianArchString = isDebianArchString;
|
||||
function isDebianArchString(s) {
|
||||
return ['amd64', 'armhf', 'arm64'].includes(s);
|
||||
}
|
||||
exports.isDebianArchString = isDebianArchString;
|
||||
//# sourceMappingURL=types.js.map
|
|
@ -4,7 +4,7 @@
|
|||
*--------------------------------------------------------------------------------------------*/
|
||||
'use strict';
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.getDependencies = void 0;
|
||||
exports.getDependencies = getDependencies;
|
||||
const child_process_1 = require("child_process");
|
||||
const path = require("path");
|
||||
const install_sysroot_1 = require("./debian/install-sysroot");
|
||||
|
@ -23,7 +23,7 @@ const product = require("../../product.json");
|
|||
// The reference dependencies, which one has to update when the new dependencies
|
||||
// are valid, are in dep-lists.ts
|
||||
const FAIL_BUILD_FOR_NEW_DEPENDENCIES = true;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
// and the Linux Archive build
|
||||
// Shared library dependencies that we already bundle.
|
||||
const bundledDeps = [
|
||||
|
@ -92,7 +92,6 @@ async function getDependencies(packageType, buildDir, applicationName, arch) {
|
|||
}
|
||||
return sortedDependencies;
|
||||
}
|
||||
exports.getDependencies = getDependencies;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/main:chrome/installer/linux/rpm/merge_package_deps.py.
|
||||
function mergePackageDeps(inputDeps) {
|
||||
const requires = new Set();
|
||||
|
|
|
@ -25,7 +25,7 @@ import product = require('../../product.json');
|
|||
// are valid, are in dep-lists.ts
|
||||
const FAIL_BUILD_FOR_NEW_DEPENDENCIES: boolean = true;
|
||||
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/118.0.5993.159:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/refs/tags/120.0.6099.268:chrome/installer/linux/BUILD.gn;l=64-80
|
||||
// and the Linux Archive build
|
||||
// Shared library dependencies that we already bundle.
|
||||
const bundledDeps = [
|
||||
|
|
|
@ -4,7 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.downloadLibcxxObjects = exports.downloadLibcxxHeaders = void 0;
|
||||
exports.downloadLibcxxHeaders = downloadLibcxxHeaders;
|
||||
exports.downloadLibcxxObjects = downloadLibcxxObjects;
|
||||
// Can be removed once https://github.com/electron/electron-rebuild/pull/703 is available.
|
||||
const fs = require("fs");
|
||||
const path = require("path");
|
||||
|
@ -29,7 +30,6 @@ async function downloadLibcxxHeaders(outDir, electronVersion, lib_name) {
|
|||
d(`unpacking ${lib_name}_headers from ${headers}`);
|
||||
await extract(headers, { dir: outDir });
|
||||
}
|
||||
exports.downloadLibcxxHeaders = downloadLibcxxHeaders;
|
||||
async function downloadLibcxxObjects(outDir, electronVersion, targetArch = 'x64') {
|
||||
if (await fs.existsSync(path.resolve(outDir, 'libc++.a'))) {
|
||||
return;
|
||||
|
@ -47,7 +47,6 @@ async function downloadLibcxxObjects(outDir, electronVersion, targetArch = 'x64'
|
|||
d(`unpacking libcxx-objects from ${objects}`);
|
||||
await extract(objects, { dir: outDir });
|
||||
}
|
||||
exports.downloadLibcxxObjects = downloadLibcxxObjects;
|
||||
async function main() {
|
||||
const libcxxObjectsDirPath = process.env['VSCODE_LIBCXX_OBJECTS_DIR'];
|
||||
const libcxxHeadersDownloadDir = process.env['VSCODE_LIBCXX_HEADERS_DIR'];
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.generatePackageDeps = void 0;
|
||||
exports.generatePackageDeps = generatePackageDeps;
|
||||
const child_process_1 = require("child_process");
|
||||
const fs_1 = require("fs");
|
||||
const dep_lists_1 = require("./dep-lists");
|
||||
|
@ -14,7 +14,6 @@ function generatePackageDeps(files) {
|
|||
dependencies.push(additionalDepsSet);
|
||||
return dependencies;
|
||||
}
|
||||
exports.generatePackageDeps = generatePackageDeps;
|
||||
// Based on https://source.chromium.org/chromium/chromium/src/+/main:chrome/installer/linux/rpm/calculate_package_deps.py.
|
||||
function calculatePackageDeps(binaryPath) {
|
||||
try {
|
||||
|
|
|
@ -42,10 +42,7 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libc.so.6(GLIBC_2.15)(64bit)',
|
||||
'libc.so.6(GLIBC_2.16)(64bit)',
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
'libc.so.6(GLIBC_2.2.5)(64bit)',
|
||||
'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
'libc.so.6(GLIBC_2.3)(64bit)',
|
||||
'libc.so.6(GLIBC_2.3.2)(64bit)',
|
||||
|
@ -84,7 +81,6 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)(64bit)',
|
||||
'libnss3.so(NSS_3.12)(64bit)',
|
||||
'libnss3.so(NSS_3.12.1)(64bit)',
|
||||
'libnss3.so(NSS_3.13)(64bit)',
|
||||
'libnss3.so(NSS_3.2)(64bit)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
'libnss3.so(NSS_3.3)(64bit)',
|
||||
|
@ -141,9 +137,6 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libc.so.6(GLIBC_2.15)',
|
||||
'libc.so.6(GLIBC_2.16)',
|
||||
'libc.so.6(GLIBC_2.17)',
|
||||
'libc.so.6(GLIBC_2.18)',
|
||||
'libc.so.6(GLIBC_2.25)',
|
||||
'libc.so.6(GLIBC_2.27)',
|
||||
'libc.so.6(GLIBC_2.28)',
|
||||
'libc.so.6(GLIBC_2.4)',
|
||||
'libc.so.6(GLIBC_2.6)',
|
||||
|
@ -179,7 +172,6 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)',
|
||||
'libnss3.so(NSS_3.12)',
|
||||
'libnss3.so(NSS_3.12.1)',
|
||||
'libnss3.so(NSS_3.13)',
|
||||
'libnss3.so(NSS_3.2)',
|
||||
'libnss3.so(NSS_3.22)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
|
@ -245,9 +237,6 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libatspi.so.0()(64bit)',
|
||||
'libc.so.6()(64bit)',
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
'libcairo.so.2()(64bit)',
|
||||
'libcurl.so.4()(64bit)',
|
||||
|
@ -278,7 +267,6 @@ exports.referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)(64bit)',
|
||||
'libnss3.so(NSS_3.12)(64bit)',
|
||||
'libnss3.so(NSS_3.12.1)(64bit)',
|
||||
'libnss3.so(NSS_3.13)(64bit)',
|
||||
'libnss3.so(NSS_3.2)(64bit)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
'libnss3.so(NSS_3.3)(64bit)',
|
||||
|
|
|
@ -41,10 +41,7 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libc.so.6(GLIBC_2.15)(64bit)',
|
||||
'libc.so.6(GLIBC_2.16)(64bit)',
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
'libc.so.6(GLIBC_2.2.5)(64bit)',
|
||||
'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
'libc.so.6(GLIBC_2.3)(64bit)',
|
||||
'libc.so.6(GLIBC_2.3.2)(64bit)',
|
||||
|
@ -83,7 +80,6 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)(64bit)',
|
||||
'libnss3.so(NSS_3.12)(64bit)',
|
||||
'libnss3.so(NSS_3.12.1)(64bit)',
|
||||
'libnss3.so(NSS_3.13)(64bit)',
|
||||
'libnss3.so(NSS_3.2)(64bit)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
'libnss3.so(NSS_3.3)(64bit)',
|
||||
|
@ -140,9 +136,6 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libc.so.6(GLIBC_2.15)',
|
||||
'libc.so.6(GLIBC_2.16)',
|
||||
'libc.so.6(GLIBC_2.17)',
|
||||
'libc.so.6(GLIBC_2.18)',
|
||||
'libc.so.6(GLIBC_2.25)',
|
||||
'libc.so.6(GLIBC_2.27)',
|
||||
'libc.so.6(GLIBC_2.28)',
|
||||
'libc.so.6(GLIBC_2.4)',
|
||||
'libc.so.6(GLIBC_2.6)',
|
||||
|
@ -178,7 +171,6 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)',
|
||||
'libnss3.so(NSS_3.12)',
|
||||
'libnss3.so(NSS_3.12.1)',
|
||||
'libnss3.so(NSS_3.13)',
|
||||
'libnss3.so(NSS_3.2)',
|
||||
'libnss3.so(NSS_3.22)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
|
@ -244,9 +236,6 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libatspi.so.0()(64bit)',
|
||||
'libc.so.6()(64bit)',
|
||||
'libc.so.6(GLIBC_2.17)(64bit)',
|
||||
'libc.so.6(GLIBC_2.18)(64bit)',
|
||||
'libc.so.6(GLIBC_2.25)(64bit)',
|
||||
'libc.so.6(GLIBC_2.27)(64bit)',
|
||||
'libc.so.6(GLIBC_2.28)(64bit)',
|
||||
'libcairo.so.2()(64bit)',
|
||||
'libcurl.so.4()(64bit)',
|
||||
|
@ -277,7 +266,6 @@ export const referenceGeneratedDepsByArch = {
|
|||
'libnss3.so(NSS_3.11)(64bit)',
|
||||
'libnss3.so(NSS_3.12)(64bit)',
|
||||
'libnss3.so(NSS_3.12.1)(64bit)',
|
||||
'libnss3.so(NSS_3.13)(64bit)',
|
||||
'libnss3.so(NSS_3.2)(64bit)',
|
||||
'libnss3.so(NSS_3.22)(64bit)',
|
||||
'libnss3.so(NSS_3.3)(64bit)',
|
||||
|
|
|
@ -4,9 +4,8 @@
|
|||
* Licensed under the MIT License. See License.txt in the project root for license information.
|
||||
*--------------------------------------------------------------------------------------------*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.isRpmArchString = void 0;
|
||||
exports.isRpmArchString = isRpmArchString;
|
||||
function isRpmArchString(s) {
|
||||
return ['x86_64', 'armv7hl', 'aarch64'].includes(s);
|
||||
}
|
||||
exports.isRpmArchString = isRpmArchString;
|
||||
//# sourceMappingURL=types.js.map
|
|
@ -1,51 +0,0 @@
|
|||
From 853e4643b6737224a5aa0720a4108461a0230991 Mon Sep 17 00:00:00 2001
|
||||
From: Raymond Zhao <7199958+rzhao271@users.noreply.github.com>
|
||||
Date: Thu, 30 Mar 2023 05:23:36 -0700
|
||||
Subject: [PATCH] feat(msvs): add SpectreMitigation attribute (#190)
|
||||
|
||||
Backports https://github.com/nodejs/gyp-next/commit/853e4643b6737224a5aa0720a4108461a0230991
|
||||
|
||||
diff --git a/gyp/pylib/gyp/easy_xml_test.py b/gyp/pylib/gyp/easy_xml_test.py
|
||||
index 342f693..c5808b8 100755
|
||||
--- a/gyp/pylib/gyp/easy_xml_test.py
|
||||
+++ b/gyp/pylib/gyp/easy_xml_test.py
|
||||
@@ -76,6 +76,7 @@ def test_EasyXml_complex(self):
|
||||
'\'Debug|Win32\'" Label="Configuration">'
|
||||
"<ConfigurationType>Application</ConfigurationType>"
|
||||
"<CharacterSet>Unicode</CharacterSet>"
|
||||
+ "<SpectreMitigation>SpectreLoadCF</SpectreMitigation>"
|
||||
"</PropertyGroup>"
|
||||
"</Project>"
|
||||
)
|
||||
@@ -99,6 +100,7 @@ def test_EasyXml_complex(self):
|
||||
},
|
||||
["ConfigurationType", "Application"],
|
||||
["CharacterSet", "Unicode"],
|
||||
+ ["SpectreMitigation", "SpectreLoadCF"]
|
||||
],
|
||||
]
|
||||
)
|
||||
diff --git a/gyp/pylib/gyp/generator/msvs.py b/gyp/pylib/gyp/generator/msvs.py
|
||||
index 72269bd..85c354f 100644
|
||||
--- a/gyp/pylib/gyp/generator/msvs.py
|
||||
+++ b/gyp/pylib/gyp/generator/msvs.py
|
||||
@@ -3006,6 +3006,10 @@ def _GetMSBuildConfigurationDetails(spec, build_file):
|
||||
character_set = msbuild_attributes.get("CharacterSet")
|
||||
config_type = msbuild_attributes.get("ConfigurationType")
|
||||
_AddConditionalProperty(properties, condition, "ConfigurationType", config_type)
|
||||
+ spectre_mitigation = msbuild_attributes.get('SpectreMitigation')
|
||||
+ if spectre_mitigation:
|
||||
+ _AddConditionalProperty(properties, condition, "SpectreMitigation",
|
||||
+ spectre_mitigation)
|
||||
if config_type == "Driver":
|
||||
_AddConditionalProperty(properties, condition, "DriverType", "WDM")
|
||||
_AddConditionalProperty(
|
||||
@@ -3094,6 +3098,8 @@ def _ConvertMSVSBuildAttributes(spec, config, build_file):
|
||||
msbuild_attributes[a] = _ConvertMSVSCharacterSet(msvs_attributes[a])
|
||||
elif a == "ConfigurationType":
|
||||
msbuild_attributes[a] = _ConvertMSVSConfigurationType(msvs_attributes[a])
|
||||
+ elif a == "SpectreMitigation":
|
||||
+ msbuild_attributes[a] = msvs_attributes[a]
|
||||
else:
|
||||
print("Warning: Do not know how to convert MSVS attribute " + a)
|
||||
return msbuild_attributes
|
|
@ -367,9 +367,9 @@ inherits@2, inherits@^2.0.3:
|
|||
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
|
||||
|
||||
ip@^2.0.0:
|
||||
version "2.0.0"
|
||||
resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.0.tgz#4cf4ab182fee2314c75ede1276f8c80b479936da"
|
||||
integrity sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==
|
||||
version "2.0.1"
|
||||
resolved "https://registry.yarnpkg.com/ip/-/ip-2.0.1.tgz#e8f3595d33a3ea66490204234b77636965307105"
|
||||
integrity sha512-lJUL9imLTNi1ZfXT+DU6rBBdbiKGBuay9B6xGSPVjUeQwaH1RIGqef8RZkUtHioLmSNpPR5M4HVKJGm1j8FWVQ==
|
||||
|
||||
is-fullwidth-code-point@^3.0.0:
|
||||
version "3.0.0"
|
||||
|
|
|
@ -53,10 +53,14 @@ function yarnInstall(dir, opts) {
|
|||
console.log(`Installing dependencies in ${dir} inside container ${process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME']}...`);
|
||||
|
||||
opts.cwd = root;
|
||||
if (process.env['npm_config_arch'] === 'arm64') {
|
||||
if (process.env['npm_config_arch'] === 'arm64' || process.env['npm_config_arch'] === 'arm') {
|
||||
run('sudo', ['docker', 'run', '--rm', '--privileged', 'multiarch/qemu-user-static', '--reset', '-p', 'yes'], opts);
|
||||
}
|
||||
run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/root/vscode`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/root/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
||||
if (process.env['npm_config_arch'] === 'arm') {
|
||||
run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/home/builduser`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/home/builduser/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
||||
} else {
|
||||
run('sudo', ['docker', 'run', '-e', 'GITHUB_TOKEN', '-e', 'npm_config_arch', '-v', `${process.env['VSCODE_HOST_MOUNT']}:/root/vscode`, '-v', `${process.env['VSCODE_HOST_MOUNT']}/.build/.netrc:/root/.netrc`, process.env['VSCODE_REMOTE_DEPENDENCIES_CONTAINER_NAME'], 'yarn', '--cwd', dir, ...args], opts);
|
||||
}
|
||||
run('sudo', ['chown', '-R', `${userinfo.uid}:${userinfo.gid}`, `${dir}/node_modules`], opts);
|
||||
} else {
|
||||
console.log(`Installing dependencies in ${dir}...`);
|
||||
|
@ -102,8 +106,19 @@ for (let dir of dirs) {
|
|||
if (/^(.build\/distro\/npm\/)?remote$/.test(dir)) {
|
||||
// node modules used by vscode server
|
||||
const env = { ...process.env };
|
||||
if (process.env['VSCODE_REMOTE_CC']) { env['CC'] = process.env['VSCODE_REMOTE_CC']; }
|
||||
if (process.env['VSCODE_REMOTE_CXX']) { env['CXX'] = process.env['VSCODE_REMOTE_CXX']; }
|
||||
if (process.env['VSCODE_REMOTE_CC']) {
|
||||
env['CC'] = process.env['VSCODE_REMOTE_CC'];
|
||||
} else {
|
||||
delete env['CC'];
|
||||
}
|
||||
if (process.env['VSCODE_REMOTE_CXX']) {
|
||||
env['CXX'] = process.env['VSCODE_REMOTE_CXX'];
|
||||
} else {
|
||||
delete env['CXX'];
|
||||
}
|
||||
if (process.env['CXXFLAGS']) { delete env['CXXFLAGS']; }
|
||||
if (process.env['CFLAGS']) { delete env['CFLAGS']; }
|
||||
if (process.env['LDFLAGS']) { delete env['LDFLAGS']; }
|
||||
if (process.env['VSCODE_REMOTE_CXXFLAGS']) { env['CXXFLAGS'] = process.env['VSCODE_REMOTE_CXXFLAGS']; }
|
||||
if (process.env['VSCODE_REMOTE_LDFLAGS']) { env['LDFLAGS'] = process.env['VSCODE_REMOTE_LDFLAGS']; }
|
||||
if (process.env['VSCODE_REMOTE_NODE_GYP']) { env['npm_config_node_gyp'] = process.env['VSCODE_REMOTE_NODE_GYP']; }
|
||||
|
|
|
@ -6,10 +6,9 @@
|
|||
"@azure/cosmos": "^3",
|
||||
"@azure/identity": "^3.4.1",
|
||||
"@azure/storage-blob": "^12.17.0",
|
||||
"@electron/get": "^1.12.4",
|
||||
"@electron/get": "^2.0.0",
|
||||
"@types/ansi-colors": "^3.2.0",
|
||||
"@types/byline": "^4.2.32",
|
||||
"@types/cssnano": "^4.0.0",
|
||||
"@types/debounce": "^1.0.0",
|
||||
"@types/debug": "^4.1.5",
|
||||
"@types/fancy-log": "^1.3.0",
|
||||
|
@ -20,7 +19,7 @@
|
|||
"@types/gulp-filter": "^3.0.32",
|
||||
"@types/gulp-gzip": "^0.0.31",
|
||||
"@types/gulp-json-editor": "^2.2.31",
|
||||
"@types/gulp-postcss": "^8.0.0",
|
||||
"@types/gulp-postcss": "^8.0.6",
|
||||
"@types/gulp-rename": "^0.0.33",
|
||||
"@types/gulp-sourcemaps": "^0.0.32",
|
||||
"@types/mime": "0.0.29",
|
||||
|
@ -43,7 +42,7 @@
|
|||
"commander": "^7.0.0",
|
||||
"debug": "^4.3.2",
|
||||
"electron-osx-sign": "^0.4.16",
|
||||
"esbuild": "0.17.14",
|
||||
"esbuild": "0.20.0",
|
||||
"extract-zip": "^2.0.1",
|
||||
"gulp-merge-json": "^2.1.1",
|
||||
"gulp-shell": "^0.8.0",
|
||||
|
|
2
build/win32/Cargo.lock
generated
2
build/win32/Cargo.lock
generated
|
@ -109,7 +109,7 @@ dependencies = [
|
|||
|
||||
[[package]]
|
||||
name = "inno_updater"
|
||||
version = "0.10.1"
|
||||
version = "0.11.0"
|
||||
dependencies = [
|
||||
"byteorder",
|
||||
"crc",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "inno_updater"
|
||||
version = "0.10.1"
|
||||
version = "0.11.0"
|
||||
authors = ["Microsoft <monacotools@microsoft.com>"]
|
||||
build = "build.rs"
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user