Merge branch 'main' into display-type

This commit is contained in:
Rafael Sargento 2024-06-07 01:24:21 +01:00 committed by GitHub
commit 0550dd681f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
1437 changed files with 22540 additions and 10583 deletions

View file

@ -12,11 +12,11 @@ properties:
- resource: Microsoft.WinGet.DSC/WinGetPackage
id: npm
directives:
description: Install NodeJS version >=18.15.x and <19
description: Install NodeJS version 20
allowPrerelease: true
settings:
id: OpenJS.NodeJS.LTS
version: "18.18.0"
version: "20.14.0"
source: winget
- resource: NpmDsc/NpmPackage
id: yarn

View file

@ -151,21 +151,13 @@
{
// Files should (only) be removed from the list they adopt the leak detector
"exclude": [
"src/vs/base/test/browser/browser.test.ts",
"src/vs/base/test/browser/ui/scrollbar/scrollableElement.test.ts",
"src/vs/base/test/browser/ui/scrollbar/scrollbarState.test.ts",
"src/vs/editor/contrib/codeAction/test/browser/codeActionModel.test.ts",
"src/vs/editor/test/common/services/languageService.test.ts",
"src/vs/editor/test/node/classification/typescript.test.ts",
"src/vs/platform/configuration/test/common/configuration.test.ts",
"src/vs/platform/extensions/test/common/extensionValidator.test.ts",
"src/vs/platform/opener/test/common/opener.test.ts",
"src/vs/platform/registry/test/common/platform.test.ts",
"src/vs/platform/remote/test/common/remoteHosts.test.ts",
"src/vs/platform/workspace/test/common/workspace.test.ts",
"src/vs/platform/workspaces/test/electron-main/workspaces.test.ts",
"src/vs/workbench/api/test/browser/mainThreadConfiguration.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",
@ -176,7 +168,6 @@
"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/extensions/test/common/extensionDescriptionRegistry.test.ts",
"src/vs/workbench/services/userActivity/test/browser/domActivityTracker.test.ts",
"src/vs/workbench/test/browser/quickAccess.test.ts"
]
@ -317,6 +308,10 @@
"selector": "BinaryExpression[operator='instanceof'][right.name='MouseEvent']",
"message": "Use DOM.isMouseEvent() to support multi-window scenarios."
},
{
"selector": "BinaryExpression[operator='instanceof'][right.name=/^HTML\\w+/]",
"message": "Use DOM.isHTMLElement() and related methods to support multi-window scenarios."
},
{
"selector": "BinaryExpression[operator='instanceof'][right.name='KeyboardEvent']",
"message": "Use DOM.isKeyboardEvent() to support multi-window scenarios."
@ -650,7 +645,6 @@
"events",
"fs",
"fs/promises",
"graceful-fs",
"http",
"https",
"minimist",
@ -672,6 +666,7 @@
"vscode-regexpp",
"vscode-textmate",
"worker_threads",
"@xterm/addon-clipboard",
"@xterm/addon-image",
"@xterm/addon-search",
"@xterm/addon-serialize",

View file

@ -20,9 +20,10 @@ jobs:
- name: Run Locker
uses: ./actions/locker
with:
token: ${{secrets.VSCODE_ISSUE_TRIAGE_BOT_PAT}}
daysSinceClose: 45
appInsightsKey: ${{secrets.TRIAGE_ACTIONS_APP_INSIGHTS}}
daysSinceUpdate: 3
ignoredLabel: "*out-of-scope,accessibility"
ignoreLabelUntil: "author-verification-requested"
ignoredMilestones: "Backlog Candidates"
labelUntil: "verified"

View file

@ -25,7 +25,7 @@ const TEST_FILE_PATTERN = 'src/vs/**/*.{test,integrationTest}.ts';
const getWorkspaceFolderForTestFile = (uri: vscode.Uri) =>
(uri.path.endsWith('.test.ts') || uri.path.endsWith('.integrationTest.ts')) &&
uri.path.includes('/src/vs/')
uri.path.includes('/src/vs/')
? vscode.workspace.getWorkspaceFolder(uri)
: undefined;
@ -41,6 +41,17 @@ export async function activate(context: vscode.ExtensionContext) {
const ctrl = vscode.tests.createTestController('selfhost-test-controller', 'VS Code Tests');
const fileChangedEmitter = new vscode.EventEmitter<FileChangeEvent>();
context.subscriptions.push(vscode.tests.registerTestFollowupProvider({
async provideFollowup(_result, test, taskIndex, messageIndex, _token) {
return [{
title: '$(sparkle) Ask copilot for help',
command: 'github.copilot.tests.fixTestFailure',
arguments: [{ source: 'peekFollowup', test, message: test.taskStates[taskIndex].messages[messageIndex] }]
}];
},
}));
ctrl.resolveHandler = async test => {
if (!test) {
context.subscriptions.push(await startWatchingWorkspace(ctrl, fileChangedEmitter));
@ -62,7 +73,7 @@ export async function activate(context: vscode.ExtensionContext) {
});
const createRunHandler = (
runnerCtor: { new (folder: vscode.WorkspaceFolder): VSCodeTestRunner },
runnerCtor: { new(folder: vscode.WorkspaceFolder): VSCodeTestRunner },
kind: vscode.TestRunProfileKind,
args: string[] = []
) => {

View file

@ -71,8 +71,6 @@ export class FailingDeepStrictEqualAssertFixer {
},
})
);
tests.testResults;
}
dispose() {
@ -99,15 +97,15 @@ const formatJsonValue = (value: unknown) => {
context => (node: ts.Node) => {
const visitor = (node: ts.Node): ts.Node =>
ts.isPropertyAssignment(node) &&
ts.isStringLiteralLike(node.name) &&
identifierLikeRe.test(node.name.text)
ts.isStringLiteralLike(node.name) &&
identifierLikeRe.test(node.name.text)
? ts.factory.createPropertyAssignment(
ts.factory.createIdentifier(node.name.text),
ts.visitNode(node.initializer, visitor) as ts.Expression
)
ts.factory.createIdentifier(node.name.text),
ts.visitNode(node.initializer, visitor) as ts.Expression
)
: ts.isStringLiteralLike(node) && node.text === '[undefined]'
? ts.factory.createIdentifier('undefined')
: ts.visitEachChild(node, visitor, context);
? ts.factory.createIdentifier('undefined')
: ts.visitEachChild(node, visitor, context);
return ts.visitNode(node, visitor);
},
@ -190,7 +188,7 @@ class StrictEqualAssertion {
return undefined;
}
constructor(private readonly expression: ts.CallExpression) {}
constructor(private readonly expression: ts.CallExpression) { }
/** Gets the expected value */
public get expectedValue(): ts.Expression | undefined {

View file

@ -204,7 +204,7 @@ export async function scanTestOutput(
return;
}
const logLocation = store.getSourceLocation(match[2], Number(match[3]));
const logLocation = store.getSourceLocation(match[2], Number(match[3]) - 1);
const logContents = replaceAllLocations(store, match[1]);
const test = currentTest;
@ -459,7 +459,8 @@ export class SourceMapStore {
};
}
async getSourceLocation(fileUri: string, line: number, col = 1) {
/** Gets an original location from a base 0 line and column */
async getSourceLocation(fileUri: string, line: number, col = 0) {
return this.getSourceLocationMapper(fileUri).then(m => m(line, col));
}
@ -599,5 +600,5 @@ async function tryDeriveStackLocation(
async function deriveSourceLocation(store: SourceMapStore, parts: RegExpMatchArray) {
const [, fileUri, line, col] = parts;
return store.getSourceLocation(fileUri, Number(line), Number(col));
return store.getSourceLocation(fileUri, Number(line) - 1, Number(col));
}

View file

@ -24,7 +24,7 @@ const ATTACH_CONFIG_NAME = 'Attach to VS Code';
const DEBUG_TYPE = 'pwa-chrome';
export abstract class VSCodeTestRunner {
constructor(protected readonly repoLocation: vscode.WorkspaceFolder) {}
constructor(protected readonly repoLocation: vscode.WorkspaceFolder) { }
public async run(baseArgs: ReadonlyArray<string>, filter?: ReadonlyArray<vscode.TestItem>) {
const args = this.prepareArguments(baseArgs, filter);
@ -163,18 +163,40 @@ export abstract class VSCodeTestRunner {
path.relative(data.workspaceFolder.uri.fsPath, data.uri.fsPath).replace(/\\/g, '/')
);
const itemDatas = filter.map(f => itemData.get(f));
/** If true, we have to be careful with greps, as a grep for one test file affects the run of the other test file. */
const hasBothTestCaseOrTestSuiteAndTestFileFilters =
itemDatas.some(d => (d instanceof TestCase) || (d instanceof TestSuite)) &&
itemDatas.some(d => d instanceof TestFile);
function addTestCaseOrSuite(data: TestCase | TestSuite, test: vscode.TestItem): void {
grepRe.push(escapeRe(data.fullName) + (data instanceof TestCase ? '$' : ' '));
for (let p = test.parent; p; p = p.parent) {
const parentData = itemData.get(p);
if (parentData instanceof TestFile) {
addTestFileRunPath(parentData);
}
}
}
for (const test of filter) {
const data = itemData.get(test);
if (data instanceof TestCase || data instanceof TestSuite) {
grepRe.push(escapeRe(data.fullName) + (data instanceof TestCase ? '$' : ' '));
for (let p = test.parent; p; p = p.parent) {
const parentData = itemData.get(p);
if (parentData instanceof TestFile) {
addTestFileRunPath(parentData);
addTestCaseOrSuite(data, test);
} else if (data instanceof TestFile) {
if (!hasBothTestCaseOrTestSuiteAndTestFileFilters) {
addTestFileRunPath(data);
} else {
// We add all the items individually so they get their own grep expressions.
for (const [_id, nestedTest] of test.children) {
const childData = itemData.get(nestedTest);
if (childData instanceof TestCase || childData instanceof TestSuite) {
addTestCaseOrSuite(childData, nestedTest);
} else {
console.error('Unexpected test item in test file', nestedTest.id, nestedTest.label);
}
}
}
} else if (data instanceof TestFile) {
addTestFileRunPath(data);
}
}
@ -303,5 +325,5 @@ export const PlatformTestRunner =
process.platform === 'win32'
? WindowsTestRunner
: process.platform === 'darwin'
? DarwinTestRunner
: PosixTestRunner;
? DarwinTestRunner
: PosixTestRunner;

View file

@ -170,6 +170,5 @@
},
"css.format.spaceAroundSelectorSeparator": true,
"inlineChat.mode": "live",
"typescript.enablePromptUseWorkspaceTsdk": true,
"typescript.tsserver.experimental.useVsCodeWatcher": true
"typescript.enablePromptUseWorkspaceTsdk": true
}

View file

@ -1,5 +1,5 @@
disturl "https://electronjs.org/headers"
target "29.3.1"
ms_build_id "9464424"
target "29.4.0"
ms_build_id "9593362"
runtime "electron"
build_from_source "true"

View file

@ -517,7 +517,7 @@ to the base-name name of the original file, and an extension of txt, html, or si
---------------------------------------------------------
go-syntax 0.6.5 - MIT
go-syntax 0.6.6 - MIT
https://github.com/worlpaker/go-syntax
MIT License
@ -777,7 +777,7 @@ SOFTWARE.
---------------------------------------------------------
jeff-hykin/better-shell-syntax 1.8.3 - MIT
jeff-hykin/better-shell-syntax 1.8.7 - MIT
https://github.com/jeff-hykin/better-shell-syntax
MIT License

View file

@ -1 +1 @@
2024-05-16T14:24:05.381Z
2024-05-25T03:29:59.419Z

View file

@ -20,6 +20,15 @@ fsevents/test/**
@vscode/spdlog/*.yml
!@vscode/spdlog/build/Release/*.node
@vscode/deviceid/binding.gyp
@vscode/deviceid/build/**
@vscode/deviceid/deps/**
@vscode/deviceid/src/**
@vscode/deviceid/test/**
@vscode/deviceid/*.yml
!@vscode/deviceid/build/Release/*.node
@vscode/sqlite3/binding.gyp
@vscode/sqlite3/benchmark/**
@vscode/sqlite3/cloudformation/**

View file

@ -20,6 +20,9 @@ vscode-textmate/webpack.config.js
@xterm/xterm/src/**
@xterm/addon-clipboard/src/**
@xterm/addon-clipboard/out/**
@xterm/addon-image/src/**
@xterm/addon-image/out/**

View file

@ -92,9 +92,6 @@ steps:
- script: ./scripts/test-integration.sh --tfs "Integration Tests"
env:
DISPLAY: ":10"
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
@ -103,10 +100,6 @@ steps:
timeoutInMinutes: 20
- script: ./scripts/test-remote-integration.sh
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
@ -123,9 +116,6 @@ steps:
./scripts/test-integration.sh --build --tfs "Integration Tests"
env:
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run integration tests (Electron)
timeoutInMinutes: 20
@ -144,9 +134,6 @@ steps:
./scripts/test-remote-integration.sh
env:
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run integration tests (Remote)
timeoutInMinutes: 20
@ -173,43 +160,24 @@ steps:
- script: yarn smoketest-no-compile --tracing
timeoutInMinutes: 20
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run smoke tests (Electron)
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
timeoutInMinutes: 20
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run smoke tests (Browser, Chromium)
- script: yarn smoketest-no-compile --remote --tracing
timeoutInMinutes: 20
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run smoke tests (Remote)
- ${{ if ne(parameters.VSCODE_QUALITY, 'oss') }}:
- script: yarn smoketest-no-compile --tracing --build "$(agent.builddirectory)/VSCode-linux-$(VSCODE_ARCH)"
timeoutInMinutes: 20
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run smoke tests (Electron)
- script: yarn smoketest-no-compile --web --tracing --headless --electronArgs="--disable-dev-shm-usage"
env:
VSCODE_REMOTE_SERVER_PATH: $(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)-web
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
timeoutInMinutes: 20
displayName: Run smoke tests (Browser, Chromium)
@ -220,10 +188,6 @@ steps:
VSCODE_REMOTE_SERVER_PATH="$(agent.builddirectory)/vscode-server-linux-$(VSCODE_ARCH)" \
yarn smoketest-no-compile --tracing --remote --build "$APP_PATH"
timeoutInMinutes: 20
env:
# TODO(deepak1556): Remove this once runtime is updated for
# https://github.com/microsoft/vscode/issues/210467#issuecomment-2104566724
UV_USE_IO_URING: 0
displayName: Run smoke tests (Remote)
- script: |

View file

@ -164,7 +164,7 @@ resources:
- repository: 1ESPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/heads/joao/disable-tsa-linux-arm64
ref: refs/tags/release
extends:
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines

View file

@ -135,13 +135,22 @@ steps:
- script: |
set -e
AZURE_STORAGE_ACCOUNT="ticino" \
AZURE_STORAGE_ACCOUNT="vscodeweb" \
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
node build/azure-pipelines/upload-sourcemaps
displayName: Upload sourcemaps to Azure
- script: |
set -e
AZURE_STORAGE_ACCOUNT="ticino" \
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
node build/azure-pipelines/upload-sourcemaps
displayName: Upload sourcemaps to Azure (Deprecated)
- script: ./build/azure-pipelines/common/extract-telemetry.sh
displayName: Generate lists of telemetry events

View file

@ -129,6 +129,15 @@ steps:
node build/azure-pipelines/upload-cdn
displayName: Upload to CDN
- script: |
set -e
AZURE_STORAGE_ACCOUNT="vscodeweb" \
AZURE_TENANT_ID="$(AZURE_TENANT_ID)" \
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.js.map
displayName: Upload sourcemaps (Web)
# upload only the workbench.web.main.js source maps because
# we just compiled these bits in the previous step and the
# general task to upload source maps has already been run
@ -139,7 +148,7 @@ steps:
AZURE_CLIENT_ID="$(AZURE_CLIENT_ID)" \
AZURE_CLIENT_SECRET="$(AZURE_CLIENT_SECRET)" \
node build/azure-pipelines/upload-sourcemaps out-vscode-web-min out-vscode-web-min/vs/workbench/workbench.web.main.js.map
displayName: Upload sourcemaps (Web)
displayName: Upload sourcemaps (Deprecated)
- script: |
set -e

View file

@ -1,75 +1,75 @@
e59378f63e935a6a561e272cdf44a8c5c3f4c56a8ff5ed0b33d45f18dd7d0d6c *chromedriver-v29.3.1-darwin-arm64.zip
4c4b2f11e9a396ff0e4c2282f4afe898f548af5e530a26c4c52fc7dbe307eb31 *chromedriver-v29.3.1-darwin-x64.zip
10b0d4a01636ae1f064cb950d5cff2a591dff2d2573fa9169335a492815169d3 *chromedriver-v29.3.1-linux-arm64.zip
45aff39d150dd423536d221bcdf2dab12cef4d0e8df50dddcda0387f60c70843 *chromedriver-v29.3.1-linux-armv7l.zip
569022d7a6fc4634ee4f496bb0414b7a8b34e505e22c2d423e915776e23d576a *chromedriver-v29.3.1-linux-x64.zip
d2090eb226eb0fef894837277d08a313af62da5807ab14d4aae7e6ba0a6a8466 *chromedriver-v29.3.1-mas-arm64.zip
3d425b6713d2a6e3149c4559cff76940e0443e236e61c7ba9b35ce2438f7de15 *chromedriver-v29.3.1-mas-x64.zip
5a95303fffbab24b07e842441e677ba98966dd800c90a7e842a97e43f7681cd6 *chromedriver-v29.3.1-win32-arm64.zip
553f8a81b0974c23eb473d5129450413f206e67128f89b7f7723ae76f9e8ec5d *chromedriver-v29.3.1-win32-ia32.zip
67f2f561703c6008c1c51dfd50be991752dfa3959bf5bb5a3a324143894fdcc5 *chromedriver-v29.3.1-win32-x64.zip
1e8366964ae298ec1e5e67b3f192c1d7a7cffc1b932b2f32fac3d075962c8f7e *electron-api.json
80596ef89f4638495bb24a92b75191bb0b61151e3cbc608090c1e406d14cafd5 *electron-v29.3.1-darwin-arm64-dsym-snapshot.zip
a2804d07dded66a5735aa1d1e5c547ea97bff09e2f1443c019ba564a33a5660b *electron-v29.3.1-darwin-arm64-dsym.zip
4dd9f6c00f2021dba34532452eecc15ce7e5eb914978319fd03246d19ff66baa *electron-v29.3.1-darwin-arm64-symbols.zip
aaada7a9f7ee72cd2a9a465ed0b8ec703aeedda9084f67cf72c1dce8e2aff7ca *electron-v29.3.1-darwin-arm64.zip
cab2c8a7a72c6e6b59e04e3292f27799b4a25592764960d9df4894fab405abc5 *electron-v29.3.1-darwin-x64-dsym-snapshot.zip
f7706f674d092f314fb30e85985d3172c1a125804e8132b206b65196b8dc81c5 *electron-v29.3.1-darwin-x64-dsym.zip
f00ec2929503e067b4ee59f8c38d1d2419db5c2af3c2b078d30d17faae8dbd5d *electron-v29.3.1-darwin-x64-symbols.zip
be6b70648d35959d346924e89aff5419af321c80f929d0e252fba131d9c93f50 *electron-v29.3.1-darwin-x64.zip
19f8b15ff1eb3a572adab73444c8b12f9815fa8ddaadbd8383ef5bb7370f98cc *electron-v29.3.1-linux-arm64-debug.zip
db0861e5d285428cc98de1f055fd7ef2fb2b331ebfd3e0a069bdf136b5bdc5c7 *electron-v29.3.1-linux-arm64-symbols.zip
d900a5597e296cb925dc2e6266b1d839b0254ab12e424d405785d6e351f1c4d7 *electron-v29.3.1-linux-arm64.zip
19f8b15ff1eb3a572adab73444c8b12f9815fa8ddaadbd8383ef5bb7370f98cc *electron-v29.3.1-linux-armv7l-debug.zip
8936bb96a59c1ac129555050ae00b478bbc6c16a0e759ed07231624b3ac52749 *electron-v29.3.1-linux-armv7l-symbols.zip
2a66d5603cf59a28699e4465488032f1dfac6118140ed129cf7403617329f983 *electron-v29.3.1-linux-armv7l.zip
a1f7984c302b2f7a03e836a7a6026d8ba64ca7806f47cd7b9dcc2e744680fd7c *electron-v29.3.1-linux-x64-debug.zip
fe2f5a78e7c485423fae7d204f6ba7bea95f9427703e97831a5555ab42ca93f3 *electron-v29.3.1-linux-x64-symbols.zip
d907e1c8074d2b7933d8b7525da3987f88d5b5ecf88131efec3eb5bd710a15b4 *electron-v29.3.1-linux-x64.zip
7cd32474a7c024d40ae9f17fe83678ae34b6f631889e895cabed87d0ee1781bf *electron-v29.3.1-mas-arm64-dsym-snapshot.zip
0058c71c614e252b4ad689de8a492563ebf938ba90cdb124e5454a9ec9d4c75c *electron-v29.3.1-mas-arm64-dsym.zip
aafedfab99d059079011139cf534bbfca44d50cd0a668b0ca547aeb8eed99c14 *electron-v29.3.1-mas-arm64-symbols.zip
f45417c845be012f0a9d3b8c92d5d3d5b4b9650e06809a9d783baa1ff8ce75a7 *electron-v29.3.1-mas-arm64.zip
8a91e7cced48162ec60368a992e8c53ef7e0ba574ce0c6edd8462167ba23b053 *electron-v29.3.1-mas-x64-dsym-snapshot.zip
4bfdd08bdb98afd3966e6a9c506dbb6e8bbbed7b0b22c7ae019b3cf8564e8354 *electron-v29.3.1-mas-x64-dsym.zip
dada1302a225509de9e031c8b139096a28398f883c8bdcae4b8fc3a92dc4c99d *electron-v29.3.1-mas-x64-symbols.zip
555d83c9eea2c1dc40c6996092ef2eb812d9d4937062d53d8909bf2a9432ca88 *electron-v29.3.1-mas-x64.zip
857bcb8f8866b2183355f71e968a690ec7d9ecc386b507988fe0ab560fe25a57 *electron-v29.3.1-win32-arm64-pdb.zip
a38ee738e44c3a9470ff765422410c59bd3c0a94a955e3b1ce661b68d094de18 *electron-v29.3.1-win32-arm64-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.3.1-win32-arm64-toolchain-profile.zip
74bcf7b7bb09c6311a5ef01eef41e20eccb84cd169651138234a332ad33aa087 *electron-v29.3.1-win32-arm64.zip
4650398c9c49b63050b4c2d28ae664c1d14912464a2744170338c131291aa290 *electron-v29.3.1-win32-ia32-pdb.zip
79a7a2db4c26c231d0963a924b129391cf920cd6b97d28ef095a2a1da4e14577 *electron-v29.3.1-win32-ia32-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.3.1-win32-ia32-toolchain-profile.zip
5527aa7d73b49d1c3298d9f2fc930be775e7d093a70bb613bec73e2ddd316afa *electron-v29.3.1-win32-ia32.zip
d85bc6393bd5890cf0bc616c41c2a5c0596ea4c3967d51bbf146a12cae727fad *electron-v29.3.1-win32-x64-pdb.zip
870bc19b8f38a84eb65fa6269fe2026b8dd8b76f9bbeded15c7313923f3e2c66 *electron-v29.3.1-win32-x64-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.3.1-win32-x64-toolchain-profile.zip
ccd465a085578168b6bf88ac76a5946f649e977efa7ef130c460b04df1becffa *electron-v29.3.1-win32-x64.zip
eab0311367f1e6b264ac788ac7291449d50bddf0049015391370a2eac462c320 *electron.d.ts
1718c59d8a963ef09325d300e10684d1a2419c186f0c70ac200d03b4142cdbfd *ffmpeg-v29.3.1-darwin-arm64.zip
a58339efba05ff93ca39e3000ec5aa5c81fb059c8786401324285defad11eb4b *ffmpeg-v29.3.1-darwin-x64.zip
4e2ba537d7c131abbd34168bce2c28cc9ef6262b217d5f4085afccfdf9635da6 *ffmpeg-v29.3.1-linux-arm64.zip
4aa56ad5d849f4e61af22678a179346b68aec9100282e1b8a43df25d95721677 *ffmpeg-v29.3.1-linux-armv7l.zip
0558e6e1f78229d303e16d4d8c290794baa9adc619fdd2ddccadb3ea241a1df4 *ffmpeg-v29.3.1-linux-x64.zip
a580fce86cd20aaee06ad4136b2dfbbf7a7449be8fc4d1a528535b2a83b067d4 *ffmpeg-v29.3.1-mas-arm64.zip
41d8a8d20429ea22bbfdd482f1ea2c265cabdca3cacb35737be01f427455204e *ffmpeg-v29.3.1-mas-x64.zip
ce3bf67555cf614c837d1bc80aaa071627750e3ffcde03a25b750796de23fd43 *ffmpeg-v29.3.1-win32-arm64.zip
f305313a1c3d15c6308c6158edc2d9cadc7465536adefa57fa31d879e6fe5e55 *ffmpeg-v29.3.1-win32-ia32.zip
8c6b7febbd80e53ea0cf0e89104006b4211b96d0d05933f517d69d0d578e8726 *ffmpeg-v29.3.1-win32-x64.zip
59827658661e330bc4ef876419c927a647a9c393aac2e7767887ae0ac600dd65 *hunspell_dictionaries.zip
1a5ec4216f0f938be6ae45853ffa032cfeb04409f757e9b66228362fe14da74f *libcxx-objects-v29.3.1-linux-arm64.zip
febbdade1c2958dc24498d62e6402bc1a9add49c3837487cc8ecb0ecb0f28459 *libcxx-objects-v29.3.1-linux-armv7l.zip
d6c5c7e67f8e50cad64493215b418a303cb5a30e39800c85d28401f66e1addb3 *libcxx-objects-v29.3.1-linux-x64.zip
57f87572e20185f329334ca9c6971bb7974424fb5ff4aa2e11f3a8668f8060f9 *libcxx_headers.zip
c7bcb0555dd10aed27ec7041338783df430e58da79ccba6863cbfb8cd89ef062 *libcxxabi_headers.zip
6962a9872def625e43d87ea4f50e90bc571d5b522abe7b9b33ce17714c43a05e *mksnapshot-v29.3.1-darwin-arm64.zip
b801394b60eb4cefe52fddd35616be9e79058b53d2860badb1daa0c61242b730 *mksnapshot-v29.3.1-darwin-x64.zip
906058eaeadb81f918962529185b2cf4b5fc6b13adbbf04fea7fd4ace9c1f20e *mksnapshot-v29.3.1-linux-arm64-x64.zip
74c9834b9d8237b001cbe5822b2426bebe910a72c1173377c1cd446f726bc2e7 *mksnapshot-v29.3.1-linux-armv7l-x64.zip
6eafdfcbdc44d48df267ddb09e09e0acda1abbe472211e947ce4b68852f99d52 *mksnapshot-v29.3.1-linux-x64.zip
04164d534fae6f12ad37e2f2268ec864b3c4417c08134edeeb555dd1bf73c073 *mksnapshot-v29.3.1-mas-arm64.zip
3a870add5f6c3287f9f958d0327f67d59ef0a9c30bfb94fb7155b6ee6e905e46 *mksnapshot-v29.3.1-mas-x64.zip
174ac9f2d8b4664587a983067c2b870b6e74fe8079715a502c11d55d774d6317 *mksnapshot-v29.3.1-win32-arm64-x64.zip
50efe4e272a54d04392ccd8a205164f4c1400c8197648d1a1fa71e667e37d7ff *mksnapshot-v29.3.1-win32-ia32.zip
e80d3e57ed67f05573a12a65b0be30cdb3e0b147cf817a80eb89b9886e7743ae *mksnapshot-v29.3.1-win32-x64.zip
3d3d8bb185d7b63b0db910661fdd69d6381afb8c97742bbd2526a9c932e1f8ca *chromedriver-v29.4.0-darwin-arm64.zip
c3d075943d87604ffa50382cc8d5798485349544ca391cab88c892f889d3b14c *chromedriver-v29.4.0-darwin-x64.zip
6d62d2dba55e4419fa003d45f93dad1324ec29a4d3eb84fd9fd5fd7a64339389 *chromedriver-v29.4.0-linux-arm64.zip
81bb3d362331c7296f700b1b0e8f07c4c7739b1151f698cd56af927bedda59e7 *chromedriver-v29.4.0-linux-armv7l.zip
ab593cc39aefac8c5abd259e31f6add4b2b70c52231724a6c08ac1872b4a0edf *chromedriver-v29.4.0-linux-x64.zip
705d42ccc05b2c48b0673b9dcf63eb78772bb79dba078a523d384ed2481bc9c0 *chromedriver-v29.4.0-mas-arm64.zip
956a7caa28eeeb0c02eb7638a53215ffd89b4f12880f0893ff10f497ca1a8117 *chromedriver-v29.4.0-mas-x64.zip
1f070176aa33e0139d61a3d758fd2f015f09bb275577293fe93564749b6310ba *chromedriver-v29.4.0-win32-arm64.zip
38a71526d243bcb73c28cb648bd4816d70b5e643df52f9f86a83416014589744 *chromedriver-v29.4.0-win32-ia32.zip
f90750d3589cb3c9f6f0ebc70d5e025cf81c382e8c23fa47a54570696a478ef0 *chromedriver-v29.4.0-win32-x64.zip
05dffc90dd1341cc7a6b50127985e4e217fef7f50a173c7d0ff34039dd2d81b6 *electron-api.json
7f63f7cf675ba6dec3a5e4173d729bd53c75f81e612f809641d9d0c4d9791649 *electron-v29.4.0-darwin-arm64-dsym-snapshot.zip
aa29530fcafa4db364978d4f414a6ec2005ea695f7fee70ffbe5e114e9e453f0 *electron-v29.4.0-darwin-arm64-dsym.zip
8d12fb6d9bcdf5bbfc93dbcd1cac348735dc6f98aa450ee03ec7837a01a8a938 *electron-v29.4.0-darwin-arm64-symbols.zip
c16d05f1231bb3c77da05ab236b454b3a2b6a642403be51e7c9b16cd2c421a19 *electron-v29.4.0-darwin-arm64.zip
2dfc1017831ab2f6e9ddb575d3b9cff5a0d56f16a335a3c0df508e964e2db963 *electron-v29.4.0-darwin-x64-dsym-snapshot.zip
025de6aa39d98762928e1b700f46177e74be20101b27457659b938e2c69db326 *electron-v29.4.0-darwin-x64-dsym.zip
ec4eb0a618207233985ceaab297be34b3d4f0813d88801d5637295b238dd661a *electron-v29.4.0-darwin-x64-symbols.zip
8ed7924f77a5c43c137a57097c5c47c2e8e9a78197e18af11a767c98035c123e *electron-v29.4.0-darwin-x64.zip
bde1772fa8ac4850e108012a9edd3bd93472bad8f68ddd55fca355dad81dde4f *electron-v29.4.0-linux-arm64-debug.zip
dfe7852a7423196efb2205c788d942db3ffc9de6ce52577e173bcf7ca6973d48 *electron-v29.4.0-linux-arm64-symbols.zip
c3764d6c3799950e3418e8e5a5a5b2c41abe421dd8bcdebf054c7c85798d9860 *electron-v29.4.0-linux-arm64.zip
bde1772fa8ac4850e108012a9edd3bd93472bad8f68ddd55fca355dad81dde4f *electron-v29.4.0-linux-armv7l-debug.zip
360668ba669cb2c01c2f960cdee76c29670e6ce907ccc0718e971a04af594ce9 *electron-v29.4.0-linux-armv7l-symbols.zip
c5e92943ad78b4e41a32ae53c679e148ea2ae09f95f914b1834dbdbae578ba91 *electron-v29.4.0-linux-armv7l.zip
375be885426bcbd272bd068bfcef41a83296c2f8e61e633233d2a9e9a69242fc *electron-v29.4.0-linux-x64-debug.zip
847e0f75624616c2918b33de2eefeec63419bd250685610d3f52fa115527d2b9 *electron-v29.4.0-linux-x64-symbols.zip
91e5eb374c2c85a07c2d4e99a89eb18515ff0169a49c3fa75289800e1225729e *electron-v29.4.0-linux-x64.zip
098f973537c3d9679a69409d0b84bcc1a6113bb2002ee60068e2c22f335a3855 *electron-v29.4.0-mas-arm64-dsym-snapshot.zip
2724aa32eb441eea21680d95fc1efdd75ac473fa19623c7acf3d546419e96154 *electron-v29.4.0-mas-arm64-dsym.zip
98dd81914752a57da4cbaad1f0aa94b16335f9b8f997be9aa049be90b96b2886 *electron-v29.4.0-mas-arm64-symbols.zip
fd2663f65c1f995304e3eb65870b7146adfefef07cf82bf44de75855fd4f36e8 *electron-v29.4.0-mas-arm64.zip
237983b2169e69bb73aa0987e871e3e486755904b71ebe36c3e902377f92754a *electron-v29.4.0-mas-x64-dsym-snapshot.zip
a5d59599827d32ef322b99eee8416e39235f4c7a0ada78342a885665e0b732dd *electron-v29.4.0-mas-x64-dsym.zip
5182e7697ac0591e0b95c33f70316af24093c9100f442be2cee0039660e959ac *electron-v29.4.0-mas-x64-symbols.zip
e0ee7057aff0240a70b9ed75ff44d55aeae9af67fbc8915f741711a8bb6fe744 *electron-v29.4.0-mas-x64.zip
2802872dfc6de0f0e2e8cef9d2f4f384e3d82b20ad36fc981c4e725dd2f2abcd *electron-v29.4.0-win32-arm64-pdb.zip
d49c954dc25ae9e4c75e61af80b9718014c52f016f43a29071913f0e7100c7bd *electron-v29.4.0-win32-arm64-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.4.0-win32-arm64-toolchain-profile.zip
483d692efbe4fb1231ff63afb8a236b2e22b486fbe5ac6abbc8b208abf94a4d3 *electron-v29.4.0-win32-arm64.zip
98458f49ba67a08e473d475a68a2818d9df076a5246fbc9b45403e8796f9d35b *electron-v29.4.0-win32-ia32-pdb.zip
69d505d4ae59d9dddf83c4e530e45dd7c5bc64d6da90cf4f851e523be9e51014 *electron-v29.4.0-win32-ia32-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.4.0-win32-ia32-toolchain-profile.zip
d5a21a17a64e9638f49f057356af23b51f56bd6a7fea3c2e0a28ff3186a7bc41 *electron-v29.4.0-win32-ia32.zip
521ee7b3398c4dc395b43dac86cd099e86a6123de2b43636ee805b7da014ed3f *electron-v29.4.0-win32-x64-pdb.zip
e33848ebd6c6e4ce431aa367bef887050947a136e883677cfc524ca5cabc1e98 *electron-v29.4.0-win32-x64-symbols.zip
c9f31ae6408aa6936b5d683eda601773789185890375cd097e61e924d4fed77a *electron-v29.4.0-win32-x64-toolchain-profile.zip
e4ef85aa3608221f8a3e011c1b1c2d2d36093ad19bda12d16b3816929fb6c99b *electron-v29.4.0-win32-x64.zip
707ee08593289ee83514b4fc55123611309f995788f38a5ec03e285741aac1c8 *electron.d.ts
281b5f4a49de55fdb86b1662530f07f2ced1252c878eb7a941c88ede545339e0 *ffmpeg-v29.4.0-darwin-arm64.zip
0b735912df9b2ff3d03eb23942e03bc0116d82f1291d0a45cbde14177c2f3066 *ffmpeg-v29.4.0-darwin-x64.zip
4e2ba537d7c131abbd34168bce2c28cc9ef6262b217d5f4085afccfdf9635da6 *ffmpeg-v29.4.0-linux-arm64.zip
4aa56ad5d849f4e61af22678a179346b68aec9100282e1b8a43df25d95721677 *ffmpeg-v29.4.0-linux-armv7l.zip
0558e6e1f78229d303e16d4d8c290794baa9adc619fdd2ddccadb3ea241a1df4 *ffmpeg-v29.4.0-linux-x64.zip
224f15d8f96c75348cd7f1b85c4eab63468fae1e50ff4b1381e08011cf76e4f7 *ffmpeg-v29.4.0-mas-arm64.zip
175ec79f0dc4c5966d9a0ca6ec1674106340ecc64503585c12c2f854249af06f *ffmpeg-v29.4.0-mas-x64.zip
5fa13744b87fef1bfd24a37513677f446143e085504541f8ce97466803bd1893 *ffmpeg-v29.4.0-win32-arm64.zip
d7ba316bb7e13025c9db29e0acafebb540b7716c9f111e469733615d8521186a *ffmpeg-v29.4.0-win32-ia32.zip
35c70a28bcfd4f0b1f8c985d3d1348936bd60767d231ce28ba38f3daeeef64bb *ffmpeg-v29.4.0-win32-x64.zip
8c7228ea0ecab25a1f7fcd1ba9680684d19f9671a497113d71a851a53867b048 *hunspell_dictionaries.zip
7552547c8d585b9bc43518d239d7ce3ad7c5cad0346b07cdcfc1eab638b2b794 *libcxx-objects-v29.4.0-linux-arm64.zip
76054a779d4845ad752b625213ce8990f08dcc5b89aa20660dd4f2e817ba30a8 *libcxx-objects-v29.4.0-linux-armv7l.zip
761c317a9c874bd3d1118d0ecad33c4be23727f538cfbb42a08dd87c68da6039 *libcxx-objects-v29.4.0-linux-x64.zip
f98f9972cc30200b8e05815f5a9cd5cec04bdeee0e48ae2143cdaeff5db9d71d *libcxx_headers.zip
f0b0dd2be579baaf97901322ef489d03fae69a0b8524ea77b24fb3c896f73dd9 *libcxxabi_headers.zip
5da864ea23d70538298a40e0d037a5a461a6b74984e72fd4f0cd20904bccaed1 *mksnapshot-v29.4.0-darwin-arm64.zip
bde97bd7c69209ed6bf4cf1cdf7de622e3a9f50fe6b4dc4b5618eee868f47c62 *mksnapshot-v29.4.0-darwin-x64.zip
a3df9b9e6ef14efe5827d0256d8ecaebe6d8be130cfc3faac0dea76eb53b9b11 *mksnapshot-v29.4.0-linux-arm64-x64.zip
648b9dbca21194d663ddb706e6086a166e691263c764c80f836ae02c27e3657a *mksnapshot-v29.4.0-linux-armv7l-x64.zip
e7a4201cda3956380facc2b5b9d0b1020cc5e654fba44129fc7429a982411cc1 *mksnapshot-v29.4.0-linux-x64.zip
ffb44c45733675e0378f45fce25dafa95697d0c86179f8e46742ada16bc11aa1 *mksnapshot-v29.4.0-mas-arm64.zip
0242da3ca193206e56b88eb108502244bae35dcc587210bd0a32d9fa4cb71041 *mksnapshot-v29.4.0-mas-x64.zip
1445806dca6effbc60072bbde7997cefb62bdb7a9e295a090d26f27c3882685f *mksnapshot-v29.4.0-win32-arm64-x64.zip
09599adc3afb0a13ae87fc4b8ab97c729fe3689faa6a4f5f7a4a3cf0d9cc49d3 *mksnapshot-v29.4.0-win32-ia32.zip
84f80683d95665d29284386509bb104e840ff0b797bfbbd19da86b84d370aa49 *mksnapshot-v29.4.0-win32-x64.zip

View file

@ -1,7 +1,7 @@
31d2d46ae8d8a3982f54e2ff1e60c2e4a8e80bf78a3e8b46dcaac95ac5d7ce6a node-v20.9.0-darwin-arm64.tar.gz
fc5b73f2a78c17bbe926cdb1447d652f9f094c79582f1be6471b4b38a2e1ccc8 node-v20.9.0-darwin-x64.tar.gz
d2a7dbeeb274bfd16b579d2cafb92f673010df36c83a5b55de3916aad6806a6a node-v20.9.0-linux-arm64.tar.gz
a28a0de05177106d241ef426b3e006022bc7d242224adace7565868bd9ee6c06 node-v20.9.0-linux-armv7l.tar.gz
f0919f092fbf74544438907fa083c21e76b2d7a4bc287f0607ada1553ef16f60 node-v20.9.0-linux-x64.tar.gz
54e165b89e75158993910053db5b0e652c1826521e624126de5ca6de9ff7b06d win-arm64/node.exe
538140015da83597ea7e7ef5e108ebac8a2dc4784b2a4134222b6c27c39f90ad win-x64/node.exe
e0065c61f340e85106a99c4b54746c5cee09d59b08c5712f67f99e92aa44995d node-v20.11.1-darwin-arm64.tar.gz
c52e7fb0709dbe63a4cbe08ac8af3479188692937a7bd8e776e0eedfa33bb848 node-v20.11.1-darwin-x64.tar.gz
e34ab2fc2726b4abd896bcbff0250e9b2da737cbd9d24267518a802ed0606f3b node-v20.11.1-linux-arm64.tar.gz
e42791f76ece283c7a4b97fbf716da72c5128c54a9779f10f03ae74a4bcfb8f6 node-v20.11.1-linux-armv7l.tar.gz
bf3a779bef19452da90fb88358ec2c57e0d2f882839b20dc6afc297b6aafc0d7 node-v20.11.1-linux-x64.tar.gz
a5a9d30a8f7d56e00ccb27c1a7d24c8d0bc96a2689ebba8eb7527698793496f1 win-arm64/node.exe
bc585910690318aaebe3c57669cb83ca9d1e5791efd63195e238f54686e6c2ec win-x64/node.exe

View file

@ -71,7 +71,7 @@ const compilations = [
'.vscode/extensions/vscode-selfhost-test-provider/tsconfig.json',
];
const getBaseUrl = out => `https://ticino.blob.core.windows.net/sourcemaps/${commit}/${out}`;
const getBaseUrl = out => `https://main.vscode-cdn.net/sourcemaps/${commit}/${out}`;
const tasks = compilations.map(function (tsconfigFile) {
const absolutePath = path.join(root, tsconfigFile);

View file

@ -439,7 +439,7 @@ function tweakProductForServerWeb(product) {
const minifyTask = task.define(`minify-vscode-${type}`, task.series(
optimizeTask,
util.rimraf(`out-vscode-${type}-min`),
optimize.minifyTask(`out-vscode-${type}`, `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
optimize.minifyTask(`out-vscode-${type}`, `https://main.vscode-cdn.net/sourcemaps/${commit}/core`)
));
gulp.task(minifyTask);

View file

@ -73,6 +73,8 @@ const vscodeResources = [
'out-build/vs/workbench/contrib/terminal/browser/media/*.sh',
'out-build/vs/workbench/contrib/terminal/browser/media/*.zsh',
'out-build/vs/workbench/contrib/webview/browser/pre/*.js',
'!out-build/vs/workbench/contrib/issue/browser/*.html',
'!out-build/vs/workbench/contrib/issue/**/*-dev.html',
'out-build/vs/**/markdown.css',
'out-build/vs/workbench/contrib/tasks/**/*.json',
'!**/test/**'
@ -122,7 +124,8 @@ const optimizeVSCodeTask = task.define('optimize-vscode', task.series(
},
manual: [
{ src: [...windowBootstrapFiles, 'out-build/vs/code/electron-sandbox/workbench/workbench.js'], out: 'vs/code/electron-sandbox/workbench/workbench.js' },
{ src: [...windowBootstrapFiles, 'out-build/vs/code/electron-sandbox/issue/issueReporter.js'], out: 'vs/code/electron-sandbox/issue/issueReporter.js' },
// TODO: @justchen https://github.com/microsoft/vscode/issues/213332 make sure to remove when we use window.open on desktop.
{ src: [...windowBootstrapFiles, 'out-build/vs/workbench/contrib/issue/electron-sandbox/issueReporter.js'], out: 'vs/workbench/contrib/issue/electron-sandbox/issueReporter.js' },
{ src: [...windowBootstrapFiles, 'out-build/vs/code/electron-sandbox/processExplorer/processExplorer.js'], out: 'vs/code/electron-sandbox/processExplorer/processExplorer.js' }
]
}
@ -130,7 +133,7 @@ const optimizeVSCodeTask = task.define('optimize-vscode', task.series(
));
gulp.task(optimizeVSCodeTask);
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
const minifyVSCodeTask = task.define('minify-vscode', task.series(
optimizeVSCodeTask,
util.rimraf('out-vscode-min'),

View file

@ -8,10 +8,9 @@
const gulp = require('gulp');
const replace = require('gulp-replace');
const rename = require('gulp-rename');
const shell = require('gulp-shell');
const es = require('event-stream');
const vfs = require('vinyl-fs');
const util = require('./lib/util');
const { rimraf } = require('./lib/util');
const { getVersion } = require('./lib/getVersion');
const task = require('./lib/task');
const packageJson = require('../package.json');
@ -19,6 +18,10 @@ const product = require('../product.json');
const dependenciesGenerator = require('./linux/dependencies-generator');
const debianRecommendedDependencies = require('./linux/debian/dep-lists').recommendedDeps;
const path = require('path');
const cp = require('child_process');
const util = require('util');
const exec = util.promisify(cp.exec);
const root = path.dirname(__dirname);
const commit = getVersion(root);
@ -116,11 +119,13 @@ function prepareDebPackage(arch) {
*/
function buildDebPackage(arch) {
const debArch = getDebPackageArch(arch);
return shell.task([
'chmod 755 ' + product.applicationName + '-' + debArch + '/DEBIAN/postinst ' + product.applicationName + '-' + debArch + '/DEBIAN/prerm ' + product.applicationName + '-' + debArch + '/DEBIAN/postrm',
'mkdir -p deb',
'fakeroot dpkg-deb -b ' + product.applicationName + '-' + debArch + ' deb'
], { cwd: '.build/linux/deb/' + debArch });
const cwd = `.build/linux/deb/${debArch}`;
return async () => {
await exec(`chmod 755 ${product.applicationName}-${debArch}/DEBIAN/postinst ${product.applicationName}-${debArch}/DEBIAN/prerm ${product.applicationName}-${debArch}/DEBIAN/postrm`, { cwd });
await exec('mkdir -p deb', { cwd });
await exec(`fakeroot dpkg-deb -b ${product.applicationName}-${debArch} deb`, { cwd });
};
}
/**
@ -218,14 +223,14 @@ function prepareRpmPackage(arch) {
function buildRpmPackage(arch) {
const rpmArch = getRpmPackageArch(arch);
const rpmBuildPath = getRpmBuildPath(rpmArch);
const rpmOut = rpmBuildPath + '/RPMS/' + rpmArch;
const destination = '.build/linux/rpm/' + rpmArch;
const rpmOut = `${rpmBuildPath}/RPMS/${rpmArch}`;
const destination = `.build/linux/rpm/${rpmArch}`;
return shell.task([
'mkdir -p ' + destination,
'HOME="$(pwd)/' + destination + '" rpmbuild -bb ' + rpmBuildPath + '/SPECS/' + product.applicationName + '.spec --target=' + rpmArch,
'cp "' + rpmOut + '/$(ls ' + rpmOut + ')" ' + destination + '/'
]);
return async () => {
await exec(`mkdir -p ${destination}`);
await exec(`HOME="$(pwd)/${destination}" rpmbuild -bb ${rpmBuildPath}/SPECS/${product.applicationName}.spec --target=${rpmArch}`);
await exec(`cp "${rpmOut}/$(ls ${rpmOut})" ${destination}/`);
};
}
/**
@ -286,9 +291,8 @@ function prepareSnapPackage(arch) {
* @param {string} arch
*/
function buildSnapPackage(arch) {
const snapBuildPath = getSnapBuildPath(arch);
// Default target for snapcraft runs: pull, build, stage and prime, and finally assembles the snap.
return shell.task(`cd ${snapBuildPath} && snapcraft`);
const cwd = getSnapBuildPath(arch);
return () => exec('snapcraft', { cwd });
}
const BUILD_TARGETS = [
@ -299,18 +303,18 @@ const BUILD_TARGETS = [
BUILD_TARGETS.forEach(({ arch }) => {
const debArch = getDebPackageArch(arch);
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(util.rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
const prepareDebTask = task.define(`vscode-linux-${arch}-prepare-deb`, task.series(rimraf(`.build/linux/deb/${debArch}`), prepareDebPackage(arch)));
gulp.task(prepareDebTask);
const buildDebTask = task.define(`vscode-linux-${arch}-build-deb`, buildDebPackage(arch));
gulp.task(buildDebTask);
const rpmArch = getRpmPackageArch(arch);
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(util.rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch)));
const prepareRpmTask = task.define(`vscode-linux-${arch}-prepare-rpm`, task.series(rimraf(`.build/linux/rpm/${rpmArch}`), prepareRpmPackage(arch)));
gulp.task(prepareRpmTask);
const buildRpmTask = task.define(`vscode-linux-${arch}-build-rpm`, buildRpmPackage(arch));
gulp.task(buildRpmTask);
const prepareSnapTask = task.define(`vscode-linux-${arch}-prepare-snap`, task.series(util.rimraf(`.build/linux/snap/${arch}`), prepareSnapPackage(arch)));
const prepareSnapTask = task.define(`vscode-linux-${arch}-prepare-snap`, task.series(rimraf(`.build/linux/snap/${arch}`), prepareSnapPackage(arch)));
gulp.task(prepareSnapTask);
const buildSnapTask = task.define(`vscode-linux-${arch}-build-snap`, task.series(prepareSnapTask, buildSnapPackage(arch)));
gulp.task(buildSnapTask);

View file

@ -175,7 +175,7 @@ const optimizeVSCodeWebTask = task.define('optimize-vscode-web', task.series(
const minifyVSCodeWebTask = task.define('minify-vscode-web', task.series(
optimizeVSCodeWebTask,
util.rimraf('out-vscode-web-min'),
optimize.minifyTask('out-vscode-web', `https://ticino.blob.core.windows.net/sourcemaps/${commit}/core`)
optimize.minifyTask('out-vscode-web', `https://main.vscode-cdn.net/sourcemaps/${commit}/core`)
));
gulp.task(minifyVSCodeWebTask);

View file

@ -231,6 +231,9 @@ function removeDuplicateTSBoilerplate(destFiles) {
{ start: /^var __param/, end: /^};$/ },
{ start: /^var __awaiter/, end: /^};$/ },
{ start: /^var __generator/, end: /^};$/ },
{ start: /^var __createBinding/, end: /^}\)\);$/ },
{ start: /^var __setModuleDefault/, end: /^}\);$/ },
{ start: /^var __importStar/, end: /^};$/ },
];
destFiles.forEach((destFile) => {
const SEEN_BOILERPLATE = [];

View file

@ -365,6 +365,9 @@ function removeDuplicateTSBoilerplate(destFiles: IConcatFile[]): IConcatFile[] {
{ start: /^var __param/, end: /^};$/ },
{ start: /^var __awaiter/, end: /^};$/ },
{ start: /^var __generator/, end: /^};$/ },
{ start: /^var __createBinding/, end: /^}\)\);$/ },
{ start: /^var __setModuleDefault/, end: /^}\);$/ },
{ start: /^var __importStar/, end: /^};$/ },
];
destFiles.forEach((destFile) => {

View file

@ -34,7 +34,7 @@ const getVersion_1 = require("./getVersion");
const fetch_1 = require("./fetch");
const root = path.dirname(path.dirname(__dirname));
const commit = (0, getVersion_1.getVersion)(root);
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
function minifyExtensionResources(input) {
const jsonFilter = filter(['**/*.json', '**/*.code-snippets'], { restore: true });
return input

View file

@ -28,7 +28,7 @@ import { fetchUrls, fetchGithub } from './fetch';
const root = path.dirname(path.dirname(__dirname));
const commit = getVersion(root);
const sourceMappingURLBase = `https://ticino.blob.core.windows.net/sourcemaps/${commit}`;
const sourceMappingURLBase = `https://main.vscode-cdn.net/sourcemaps/${commit}`;
function minifyExtensionResources(input: Stream): Stream {
const jsonFilter = filter(['**/*.json', '**/*.code-snippets'], { restore: true });

View file

@ -12,7 +12,7 @@ const yarn = process.platform === 'win32' ? 'yarn.cmd' : 'yarn';
const rootDir = path.resolve(__dirname, '..', '..');
function runProcess(command, args = []) {
return new Promise((resolve, reject) => {
const child = (0, child_process_1.spawn)(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env });
const child = (0, child_process_1.spawn)(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env, shell: process.platform === 'win32' });
child.on('exit', err => !err ? resolve() : process.exit(err ?? 1));
child.on('error', reject);
});

View file

@ -14,7 +14,7 @@ const rootDir = path.resolve(__dirname, '..', '..');
function runProcess(command: string, args: ReadonlyArray<string> = []) {
return new Promise<void>((resolve, reject) => {
const child = spawn(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env });
const child = spawn(command, args, { cwd: rootDir, stdio: 'inherit', env: process.env, shell: process.platform === 'win32' });
child.on('exit', err => !err ? resolve() : process.exit(err ?? 1));
child.on('error', reject);
});

View file

@ -129,8 +129,10 @@
"--vscode-editor-background",
"--vscode-editor-findMatchBackground",
"--vscode-editor-findMatchBorder",
"--vscode-editor-findMatchForeground",
"--vscode-editor-findMatchHighlightBackground",
"--vscode-editor-findMatchHighlightBorder",
"--vscode-editor-findMatchHighlightForeground",
"--vscode-editor-findRangeHighlightBackground",
"--vscode-editor-findRangeHighlightBorder",
"--vscode-editor-focusedStackFrameHighlightBackground",
@ -143,6 +145,7 @@
"--vscode-editor-lineHighlightBackground",
"--vscode-editor-lineHighlightBorder",
"--vscode-editor-linkedEditingBackground",
"--vscode-editor-placeholder-foreground",
"--vscode-editor-rangeHighlightBackground",
"--vscode-editor-rangeHighlightBorder",
"--vscode-editor-selectionBackground",
@ -488,12 +491,12 @@
"--vscode-panelSectionHeader-background",
"--vscode-panelSectionHeader-border",
"--vscode-panelSectionHeader-foreground",
"--vscode-panelTitle-activeBorder",
"--vscode-panelTitle-activeForeground",
"--vscode-panelTitle-inactiveForeground",
"--vscode-panelStickyScroll-background",
"--vscode-panelStickyScroll-border",
"--vscode-panelStickyScroll-shadow",
"--vscode-panelTitle-activeBorder",
"--vscode-panelTitle-activeForeground",
"--vscode-panelTitle-inactiveForeground",
"--vscode-peekView-border",
"--vscode-peekViewEditor-background",
"--vscode-peekViewEditor-matchHighlightBackground",
@ -517,6 +520,7 @@
"--vscode-problemsWarningIcon-foreground",
"--vscode-profileBadge-background",
"--vscode-profileBadge-foreground",
"--vscode-profiles-sashBorder",
"--vscode-progressBar-background",
"--vscode-quickInput-background",
"--vscode-quickInput-foreground",
@ -568,11 +572,11 @@
"--vscode-sideBarSectionHeader-background",
"--vscode-sideBarSectionHeader-border",
"--vscode-sideBarSectionHeader-foreground",
"--vscode-sideBarTitle-background",
"--vscode-sideBarTitle-foreground",
"--vscode-sideBarStickyScroll-background",
"--vscode-sideBarStickyScroll-border",
"--vscode-sideBarStickyScroll-shadow",
"--vscode-sideBarTitle-background",
"--vscode-sideBarTitle-foreground",
"--vscode-sideBySideEditor-horizontalBorder",
"--vscode-sideBySideEditor-verticalBorder",
"--vscode-simpleFindWidget-sashBorder",
@ -647,9 +651,6 @@
"--vscode-tab-activeBackground",
"--vscode-tab-activeBorder",
"--vscode-tab-activeBorderTop",
"--vscode-tab-selectedBorderTop",
"--vscode-tab-selectedBackground",
"--vscode-tab-selectedForeground",
"--vscode-tab-activeForeground",
"--vscode-tab-activeModifiedBorder",
"--vscode-tab-border",
@ -661,6 +662,9 @@
"--vscode-tab-inactiveForeground",
"--vscode-tab-inactiveModifiedBorder",
"--vscode-tab-lastPinnedBorder",
"--vscode-tab-selectedBackground",
"--vscode-tab-selectedBorderTop",
"--vscode-tab-selectedForeground",
"--vscode-tab-unfocusedActiveBackground",
"--vscode-tab-unfocusedActiveBorder",
"--vscode-tab-unfocusedActiveBorderTop",
@ -698,6 +702,7 @@
"--vscode-terminal-foreground",
"--vscode-terminal-hoverHighlightBackground",
"--vscode-terminal-inactiveSelectionBackground",
"--vscode-terminal-initialHintForeground",
"--vscode-terminal-selectionBackground",
"--vscode-terminal-selectionForeground",
"--vscode-terminal-tab-activeBorder",
@ -850,4 +855,4 @@
"--zoom-factor",
"--test-bar-width"
]
}
}

View file

@ -305,7 +305,7 @@ class SwcTranspiler {
},
module: {
type: 'amd',
noInterop: true
noInterop: false
},
minify: false,
};
@ -313,7 +313,7 @@ class SwcTranspiler {
...this._swcrcAmd,
module: {
type: 'commonjs',
importInterop: 'none'
importInterop: 'swc'
}
};
static _swcrcEsm = {

View file

@ -388,7 +388,7 @@ export class SwcTranspiler implements ITranspiler {
},
module: {
type: 'amd',
noInterop: true
noInterop: false
},
minify: false,
};
@ -397,7 +397,7 @@ export class SwcTranspiler implements ITranspiler {
...this._swcrcAmd,
module: {
type: 'commonjs',
importInterop: 'none'
importInterop: 'swc'
}
};

View file

@ -34,7 +34,6 @@ const rename = require("gulp-rename");
const path = require("path");
const fs = require("fs");
const _rimraf = require("rimraf");
const VinylFile = require("vinyl");
const url_1 = require("url");
const ternaryStream = require("ternary-stream");
const root = path.dirname(path.dirname(__dirname));

View file

@ -57,8 +57,7 @@ exports.referenceGeneratedDepsByArch = {
'libxkbcommon0 (>= 0.5.0)',
'libxkbfile1 (>= 1:1.1.0)',
'libxrandr2',
'xdg-utils (>= 1.0.2)',
'zlib1g (>= 1:1.2.3.4)'
'xdg-utils (>= 1.0.2)'
],
'armhf': [
'ca-certificates',

View file

@ -57,8 +57,7 @@ export const referenceGeneratedDepsByArch = {
'libxkbcommon0 (>= 0.5.0)',
'libxkbfile1 (>= 1:1.1.0)',
'libxrandr2',
'xdg-utils (>= 1.0.2)',
'zlib1g (>= 1:1.2.3.4)'
'xdg-utils (>= 1.0.2)'
],
'armhf': [
'ca-certificates',

View file

@ -111,8 +111,6 @@ exports.referenceGeneratedDepsByArch = {
'libxkbcommon.so.0()(64bit)',
'libxkbcommon.so.0(V_0.5.0)(64bit)',
'libxkbfile.so.1()(64bit)',
'libz.so.1()(64bit)',
'libz.so.1(ZLIB_1.2.3.4)(64bit)',
'rpmlib(FileDigests) <= 4.6.0-1',
'rtld(GNU_HASH)',
'xdg-utils'

View file

@ -110,8 +110,6 @@ export const referenceGeneratedDepsByArch = {
'libxkbcommon.so.0()(64bit)',
'libxkbcommon.so.0(V_0.5.0)(64bit)',
'libxkbfile.so.1()(64bit)',
'libz.so.1()(64bit)',
'libz.so.1(ZLIB_1.2.3.4)(64bit)',
'rpmlib(FileDigests) <= 4.6.0-1',
'rtld(GNU_HASH)',
'xdg-utils'

View file

@ -44,7 +44,6 @@
"esbuild": "0.20.0",
"extract-zip": "^2.0.1",
"gulp-merge-json": "^2.1.1",
"gulp-shell": "^0.8.0",
"jsonc-parser": "^2.3.0",
"mime": "^1.4.1",
"mkdirp": "^1.0.4",

View file

@ -743,13 +743,6 @@ ansi-styles@^3.2.1:
dependencies:
color-convert "^1.9.0"
ansi-styles@^4.1.0:
version "4.3.0"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
dependencies:
color-convert "^2.0.1"
ansi-wrap@0.1.0, ansi-wrap@^0.1.0:
version "0.1.0"
resolved "https://registry.yarnpkg.com/ansi-wrap/-/ansi-wrap-0.1.0.tgz#a82250ddb0015e9a27ca82e82ea603bbfa45efaf"
@ -966,14 +959,6 @@ chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
chalk@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
dependencies:
ansi-styles "^4.1.0"
supports-color "^7.1.0"
cheerio-select@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/cheerio-select/-/cheerio-select-2.1.0.tgz#4d8673286b8126ca2a8e42740d5e3c4884ae21b4"
@ -1077,23 +1062,11 @@ color-convert@^1.9.0:
dependencies:
color-name "1.1.3"
color-convert@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
dependencies:
color-name "~1.1.4"
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
color-name@~1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
color-support@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-support/-/color-support-1.1.3.tgz#93834379a1cc9a0c61f82f52f0d04322251bd5a2"
@ -1617,28 +1590,11 @@ gulp-merge-json@^2.1.1:
through "^2.3.8"
vinyl "^2.1.0"
gulp-shell@^0.8.0:
version "0.8.0"
resolved "https://registry.yarnpkg.com/gulp-shell/-/gulp-shell-0.8.0.tgz#0ed4980de1d0c67e5f6cce971d7201fd0be50555"
integrity sha512-wHNCgmqbWkk1c6Gc2dOL5SprcoeujQdeepICwfQRo91DIylTE7a794VEE+leq3cE2YDoiS5ulvRfKVIEMazcTQ==
dependencies:
chalk "^3.0.0"
fancy-log "^1.3.3"
lodash.template "^4.5.0"
plugin-error "^1.0.1"
through2 "^3.0.1"
tslib "^1.10.0"
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
has-flag@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
@ -1917,31 +1873,11 @@ linkify-it@^3.0.1:
dependencies:
uc.micro "^1.0.1"
lodash._reinterpolate@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d"
integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0=
lodash.mergewith@^4.6.1:
version "4.6.2"
resolved "https://registry.yarnpkg.com/lodash.mergewith/-/lodash.mergewith-4.6.2.tgz#617121f89ac55f59047c7aec1ccd6654c6590f55"
integrity sha512-GK3g5RPZWTRSeLSpgP8Xhra+pnjBC56q9FZYe1d5RN3TJ35dbkGy3YqBSMbyCrlbi+CM9Z3Jk5yTL7RCsqboyQ==
lodash.template@^4.5.0:
version "4.5.0"
resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab"
integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A==
dependencies:
lodash._reinterpolate "^3.0.0"
lodash.templatesettings "^4.0.0"
lodash.templatesettings@^4.0.0:
version "4.2.0"
resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33"
integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ==
dependencies:
lodash._reinterpolate "^3.0.0"
lodash@^4.17.21:
version "4.17.21"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
@ -2559,13 +2495,6 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
supports-color@^7.1.0:
version "7.2.0"
resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
dependencies:
has-flag "^4.0.0"
tar-fs@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
@ -2657,11 +2586,6 @@ tree-sitter@^0.20.5, tree-sitter@^0.20.6:
nan "^2.18.0"
prebuild-install "^7.1.1"
tslib@^1.10.0:
version "1.14.1"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
tslib@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c"

View file

@ -130,6 +130,21 @@
"SOFTWARE"
]
},
{
// Reason: NPM package does not include repository URL https://github.com/microsoft/vscode-deviceid/issues/12
"name": "@vscode/deviceid",
"fullLicenseText": [
"Copyright (c) Microsoft Corporation.",
"",
"MIT License",
"",
"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."
]
},
{
// Reason: Missing license file
"name": "@tokenizer/token",
@ -317,13 +332,21 @@
"fullLicenseTextUri": "https://raw.githubusercontent.com/rodrimati1992/const_format_crates/b2207af46bfbd9f1a6bd12dbffd10feeea3d9fd7/LICENSE-ZLIB.md"
},
{ // License is MIT/Apache and tool doesn't look in subfolders
"name": "toml",
"fullLicenseTextUri": "https://raw.githubusercontent.com/toml-rs/toml/main/crates/toml/LICENSE-MIT"
"name": "toml_edit",
"fullLicenseTextUri": "https://raw.githubusercontent.com/toml-rs/toml/main/crates/toml_edit/LICENSE-MIT"
},
{ // License is MIT/Apache and tool doesn't look in subfolders
"name": "toml_datetime",
"fullLicenseTextUri": "https://raw.githubusercontent.com/toml-rs/toml/main/crates/toml_datetime/LICENSE-MIT"
},
{ // License is MIT/Apache and tool doesn't look in subfolders
"name": "dirs-sys-next",
"fullLicenseTextUri": "https://raw.githubusercontent.com/xdg-rs/dirs/master/dirs-sys/LICENSE-MIT"
},
{ // License is MIT/Apache and gitlab API doesn't find the project
"name": "libredox",
"fullLicenseTextUri": "https://gitlab.redox-os.org/redox-os/libredox/-/raw/master/LICENSE"
},
{
"name": "https-proxy-agent",
"fullLicenseText": [

View file

@ -516,11 +516,11 @@
"git": {
"name": "nodejs",
"repositoryUrl": "https://github.com/nodejs/node",
"commitHash": "22f383dcd529d6bf790856db614a35fea78e825f"
"commitHash": "9b1bf44ea9e7785e38c93b7d22d32dbca262df6c"
}
},
"isOnlyProductionDependency": true,
"version": "20.9.0"
"version": "20.11.1"
},
{
"component": {
@ -528,12 +528,12 @@
"git": {
"name": "electron",
"repositoryUrl": "https://github.com/electron/electron",
"commitHash": "384642792eb521b978a008ee1dbc30885edb7dcb"
"commitHash": "f9ed0eaee4b172733872c2f84e5061882dd08e5c"
}
},
"isOnlyProductionDependency": true,
"license": "MIT",
"version": "29.3.1"
"version": "29.4.0"
},
{
"component": {

1601
cli/Cargo.lock generated

File diff suppressed because it is too large Load diff

View file

@ -35,12 +35,12 @@ chrono = { version = "0.4.26", features = ["serde", "std", "clock"], default-fea
gethostname = "0.4.3"
libc = "0.2.144"
tunnels = { git = "https://github.com/microsoft/dev-tunnels", rev = "8cae9b2a24c65c6c1958f5a0e77d72b23b5c6c30", default-features = false, features = ["connections"] }
keyring = { version = "2.0.3", default-features = false, features = ["linux-secret-service-rt-tokio-crypto-openssl"] }
keyring = { version = "2.0.3", default-features = false, features = ["linux-secret-service-rt-tokio-crypto-openssl", "platform-windows", "platform-macos", "linux-keyutils"] }
dialoguer = "0.10.4"
hyper = { version = "0.14.26", features = ["server", "http1", "runtime"] }
indicatif = "0.17.4"
tempfile = "3.5.0"
clap_lex = "0.5.0"
clap_lex = "0.7.0"
url = "2.3.1"
async-trait = "0.1.68"
log = "0.4.18"

File diff suppressed because it is too large Load diff

View file

@ -789,11 +789,11 @@ pub enum TunnelUserSubCommands {
#[derive(Args, Debug, Clone)]
pub struct LoginArgs {
/// An access token to store for authentication.
#[clap(long, requires = "provider")]
#[clap(long, requires = "provider", env = "VSCODE_CLI_ACCESS_TOKEN")]
pub access_token: Option<String>,
/// An access token to store for authentication.
#[clap(long, requires = "access_token")]
#[clap(long, requires = "access_token", env = "VSCODE_CLI_REFRESH_TOKEN")]
pub refresh_token: Option<String>,
/// The auth provider to use. If not provided, a prompt will be shown.

View file

@ -12,7 +12,6 @@ use std::path::{Path, PathBuf};
use std::sync::{Arc, Mutex};
use std::time::{Duration, Instant};
use const_format::concatcp;
use hyper::service::{make_service_fn, service_fn};
use hyper::{Body, Request, Response, Server};
use tokio::io::{AsyncBufReadExt, BufReader};
@ -56,16 +55,9 @@ const RELEASE_CACHE_SECS: u64 = 60 * 60;
/// Number of bytes for the secret keys. See workbench.ts for their usage.
const SECRET_KEY_BYTES: usize = 32;
/// Path to mint the key combining server and client parts.
const SECRET_KEY_MINT_PATH: &str = "/_vscode-cli/mint-key";
const SECRET_KEY_MINT_PATH: &str = "_vscode-cli/mint-key";
/// Cookie set to the `SECRET_KEY_MINT_PATH`
const PATH_COOKIE_NAME: &str = "vscode-secret-key-path";
/// Cookie set to the `SECRET_KEY_MINT_PATH`
const PATH_COOKIE_VALUE: &str = concatcp!(
PATH_COOKIE_NAME,
"=",
SECRET_KEY_MINT_PATH,
"; SameSite=Strict; Path=/"
);
/// HTTP-only cookie where the client's secret half is stored.
const SECRET_KEY_COOKIE_NAME: &str = "vscode-cli-secret-half";
@ -158,17 +150,22 @@ struct HandleContext {
/// Handler function for an inbound request
async fn handle(ctx: HandleContext, req: Request<Body>) -> Result<Response<Body>, Infallible> {
let client_key_half = get_client_key_half(&req);
let mut res = match req.uri().path() {
SECRET_KEY_MINT_PATH => handle_secret_mint(ctx, req),
_ => handle_proxied(ctx, req).await,
let path = req.uri().path();
let mut res = if path.starts_with(&ctx.cm.base_path)
&& path.get(ctx.cm.base_path.len()..).unwrap_or_default() == SECRET_KEY_MINT_PATH
{
handle_secret_mint(&ctx, req)
} else {
handle_proxied(&ctx, req).await
};
append_secret_headers(&mut res, &client_key_half);
append_secret_headers(&ctx.cm.base_path, &mut res, &client_key_half);
Ok(res)
}
async fn handle_proxied(ctx: HandleContext, req: Request<Body>) -> Response<Body> {
async fn handle_proxied(ctx: &HandleContext, req: Request<Body>) -> Response<Body> {
let release = if let Some((r, _)) = get_release_from_path(req.uri().path(), ctx.cm.platform) {
r
} else {
@ -194,7 +191,7 @@ async fn handle_proxied(ctx: HandleContext, req: Request<Body>) -> Response<Body
}
}
fn handle_secret_mint(ctx: HandleContext, req: Request<Body>) -> Response<Body> {
fn handle_secret_mint(ctx: &HandleContext, req: Request<Body>) -> Response<Body> {
use sha2::{Digest, Sha256};
let mut hasher = Sha256::new();
@ -208,11 +205,20 @@ fn handle_secret_mint(ctx: HandleContext, req: Request<Body>) -> Response<Body>
/// Appends headers to response to maintain the secret storage of the workbench:
/// sets the `PATH_COOKIE_VALUE` so workbench.ts knows about the 'mint' endpoint,
/// and maintains the http-only cookie the client will use for cookies.
fn append_secret_headers(res: &mut Response<Body>, client_key_half: &SecretKeyPart) {
fn append_secret_headers(
base_path: &str,
res: &mut Response<Body>,
client_key_half: &SecretKeyPart,
) {
let headers = res.headers_mut();
headers.append(
hyper::header::SET_COOKIE,
PATH_COOKIE_VALUE.parse().unwrap(),
format!(
"{}={}{}; SameSite=Strict; Path=/",
PATH_COOKIE_NAME, base_path, SECRET_KEY_MINT_PATH,
)
.parse()
.unwrap(),
);
headers.append(
hyper::header::SET_COOKIE,
@ -496,6 +502,8 @@ struct ConnectionManager {
pub platform: Platform,
pub log: log::Logger,
args: ServeWebArgs,
/// Server base path, ending in `/`
base_path: String,
/// Cache where servers are stored
cache: DownloadCache,
/// Mapping of (Quality, Commit) to the state each server is in
@ -510,11 +518,24 @@ fn key_for_release(release: &Release) -> (Quality, String) {
(release.quality, release.commit.clone())
}
fn normalize_base_path(p: &str) -> String {
let p = p.trim_matches('/');
if p.is_empty() {
return "/".to_string();
}
format!("/{}/", p.trim_matches('/'))
}
impl ConnectionManager {
pub fn new(ctx: &CommandContext, platform: Platform, args: ServeWebArgs) -> Arc<Self> {
let base_path = normalize_base_path(args.server_base_path.as_deref().unwrap_or_default());
Arc::new(Self {
platform,
args,
base_path,
log: ctx.log.clone(),
cache: DownloadCache::new(ctx.paths.web_server_storage()),
update_service: UpdateService::new(

View file

@ -562,7 +562,7 @@ async fn serve_with_csa(
match acquire_singleton(&paths.tunnel_lockfile()).await {
Ok(SingletonConnection::Client(stream)) => {
debug!(log, "starting as client to singleton");
if gateway_args.name.is_none()
if gateway_args.name.is_some()
|| !gateway_args.install_extension.is_empty()
|| gateway_args.tunnel.tunnel_id.is_some()
{

View file

@ -634,6 +634,7 @@ const METHOD_STREAMS_STARTED: &str = "streams_started";
const METHOD_STREAM_DATA: &str = "stream_data";
const METHOD_STREAM_ENDED: &str = "stream_ended";
#[allow(dead_code)] // false positive
trait AssertIsSync: Sync {}
impl<S: Serialization, C: Send + Sync> AssertIsSync for RpcDispatcher<S, C> {}

View file

@ -2,7 +2,7 @@
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
use super::protocol::{self, PortPrivacy};
use super::protocol::{self, PortPrivacy, PortProtocol};
use crate::auth;
use crate::constants::{IS_INTERACTIVE_CLI, PROTOCOL_VERSION_TAG, TUNNEL_SERVICE_USER_AGENT};
use crate::state::{LauncherPaths, PersistedState};
@ -221,8 +221,11 @@ impl ActiveTunnel {
&self,
port_number: u16,
privacy: PortPrivacy,
protocol: PortProtocol,
) -> Result<(), AnyError> {
self.manager.add_port_tcp(port_number, privacy).await?;
self.manager
.add_port_tcp(port_number, privacy, protocol)
.await?;
Ok(())
}
@ -972,13 +975,14 @@ impl ActiveTunnelManager {
&self,
port_number: u16,
privacy: PortPrivacy,
protocol: PortProtocol,
) -> Result<(), WrappedError> {
self.relay
.lock()
.await
.add_port(&TunnelPort {
port_number,
protocol: Some(TUNNEL_PROTOCOL_AUTO.to_owned()),
protocol: Some(protocol.to_contract_str().to_string()),
access_control: Some(privacy_to_tunnel_acl(privacy)),
..Default::default()
})

View file

@ -27,7 +27,7 @@ use super::{
protocol::{
self,
forward_singleton::{PortList, SetPortsResponse},
PortPrivacy,
PortPrivacy, PortProtocol,
},
shutdown_signal::ShutdownSignal,
};
@ -71,8 +71,13 @@ impl PortCount {
}
}
}
#[derive(Clone)]
struct PortMapRec {
count: PortCount,
protocol: PortProtocol,
}
type PortMap = HashMap<u16, PortCount>;
type PortMap = HashMap<u16, PortMapRec>;
/// The PortForwardingHandle is given out to multiple consumers to allow
/// them to set_ports that they want to be forwarded.
@ -99,8 +104,8 @@ impl PortForwardingSender {
for p in current.iter() {
if !ports.contains(p) {
let n = v.get_mut(&p.number).expect("expected port in map");
n[p.privacy] -= 1;
if n.is_empty() {
n.count[p.privacy] -= 1;
if n.count.is_empty() {
v.remove(&p.number);
}
}
@ -110,12 +115,19 @@ impl PortForwardingSender {
if !current.contains(p) {
match v.get_mut(&p.number) {
Some(n) => {
n[p.privacy] += 1;
n.count[p.privacy] += 1;
n.protocol = p.protocol;
}
None => {
let mut pc = PortCount::default();
pc[p.privacy] += 1;
v.insert(p.number, pc);
let mut count = PortCount::default();
count[p.privacy] += 1;
v.insert(
p.number,
PortMapRec {
count,
protocol: p.protocol,
},
);
}
};
}
@ -164,22 +176,34 @@ impl PortForwardingReceiver {
while self.receiver.changed().await.is_ok() {
let next = self.receiver.borrow().clone();
for (port, count) in current.iter() {
let privacy = count.primary_privacy();
if !matches!(next.get(port), Some(n) if n.primary_privacy() == privacy) {
for (port, rec) in current.iter() {
let privacy = rec.count.primary_privacy();
if !matches!(next.get(port), Some(n) if n.count.primary_privacy() == privacy) {
match tunnel.remove_port(*port).await {
Ok(_) => info!(log, "stopped forwarding port {} at {:?}", *port, privacy),
Err(e) => error!(log, "failed to stop forwarding port {}: {}", port, e),
Ok(_) => info!(
log,
"stopped forwarding {} port {} at {:?}", rec.protocol, *port, privacy
),
Err(e) => error!(
log,
"failed to stop forwarding {} port {}: {}", rec.protocol, port, e
),
}
}
}
for (port, count) in next.iter() {
let privacy = count.primary_privacy();
if !matches!(current.get(port), Some(n) if n.primary_privacy() == privacy) {
match tunnel.add_port_tcp(*port, privacy).await {
Ok(_) => info!(log, "forwarding port {} at {:?}", port, privacy),
Err(e) => error!(log, "failed to forward port {}: {}", port, e),
for (port, rec) in next.iter() {
let privacy = rec.count.primary_privacy();
if !matches!(current.get(port), Some(n) if n.count.primary_privacy() == privacy) {
match tunnel.add_port_tcp(*port, privacy, rec.protocol).await {
Ok(_) => info!(
log,
"forwarding {} port {} at {:?}", rec.protocol, port, privacy
),
Err(e) => error!(
log,
"failed to forward {} port {}: {}", rec.protocol, port, e
),
}
}
}

View file

@ -12,7 +12,10 @@ use crate::{
util::errors::{AnyError, CannotForwardControlPort, ServerHasClosed},
};
use super::{dev_tunnels::ActiveTunnel, protocol::PortPrivacy};
use super::{
dev_tunnels::ActiveTunnel,
protocol::{PortPrivacy, PortProtocol},
};
pub enum PortForwardingRec {
Forward(u16, PortPrivacy, oneshot::Sender<Result<String, AnyError>>),
@ -89,7 +92,9 @@ impl PortForwardingProcessor {
}
if !self.forwarded.contains(&port) {
tunnel.add_port_tcp(port, privacy).await?;
tunnel
.add_port_tcp(port, privacy, PortProtocol::Auto)
.await?;
self.forwarded.insert(port);
}

View file

@ -299,10 +299,40 @@ pub enum PortPrivacy {
Private,
}
#[derive(Serialize, Deserialize, PartialEq, Copy, Eq, Clone, Debug)]
#[serde(rename_all = "lowercase")]
pub enum PortProtocol {
Auto,
Http,
Https,
}
impl std::fmt::Display for PortProtocol {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.to_contract_str())
}
}
impl Default for PortProtocol {
fn default() -> Self {
Self::Auto
}
}
impl PortProtocol {
pub fn to_contract_str(&self) -> &'static str {
match *self {
Self::Auto => tunnels::contracts::TUNNEL_PROTOCOL_AUTO,
Self::Http => tunnels::contracts::TUNNEL_PROTOCOL_HTTP,
Self::Https => tunnels::contracts::TUNNEL_PROTOCOL_HTTPS,
}
}
}
pub mod forward_singleton {
use serde::{Deserialize, Serialize};
use super::PortPrivacy;
use super::{PortPrivacy, PortProtocol};
pub const METHOD_SET_PORTS: &str = "set_ports";
@ -310,6 +340,7 @@ pub mod forward_singleton {
pub struct PortRec {
pub number: u16,
pub privacy: PortPrivacy,
pub protocol: PortProtocol,
}
pub type PortList = Vec<PortRec>;

View file

@ -3401,7 +3401,7 @@
"@vscode/iconv-lite-umd": "0.7.0",
"byline": "^5.0.0",
"file-type": "16.5.4",
"jschardet": "3.0.0",
"jschardet": "3.1.2",
"picomatch": "2.3.1",
"vscode-uri": "^2.0.0",
"which": "4.0.0"

View file

@ -192,6 +192,10 @@ export class ApiRepository implements Repository {
return this.repository.getRefs(query, cancellationToken);
}
checkIgnore(paths: string[]): Promise<Set<string>> {
return this.repository.checkIgnore(paths);
}
getMergeBase(ref1: string, ref2: string): Promise<string | undefined> {
return this.repository.getMergeBase(ref1, ref2);
}

View file

@ -235,6 +235,8 @@ export interface Repository {
getBranchBase(name: string): Promise<Branch | undefined>;
setBranchUpstream(name: string, upstream: string): Promise<void>;
checkIgnore(paths: string[]): Promise<Set<string>>;
getRefs(query: RefQuery, cancellationToken?: CancellationToken): Promise<Ref[]>;
getMergeBase(ref1: string, ref2: string): Promise<string | undefined>;

View file

@ -49,15 +49,38 @@ const JSCHARDET_TO_ICONV_ENCODINGS: { [name: string]: string } = {
'big5': 'cp950'
};
export function detectEncoding(buffer: Buffer): string | null {
const MAP_CANDIDATE_GUESS_ENCODING_TO_JSCHARDET: { [key: string]: string } = {
utf8: 'UTF-8',
utf16le: 'UTF-16LE',
utf16be: 'UTF-16BE',
windows1252: 'windows-1252',
windows1250: 'windows-1250',
iso88592: 'ISO-8859-2',
windows1251: 'windows-1251',
cp866: 'IBM866',
iso88595: 'ISO-8859-5',
koi8r: 'KOI8-R',
windows1253: 'windows-1253',
iso88597: 'ISO-8859-7',
windows1255: 'windows-1255',
iso88598: 'ISO-8859-8',
cp950: 'Big5',
shiftjis: 'SHIFT_JIS',
eucjp: 'EUC-JP',
euckr: 'EUC-KR',
gb2312: 'GB2312'
};
export function detectEncoding(buffer: Buffer, candidateGuessEncodings: string[]): string | null {
const result = detectEncodingByBOM(buffer);
if (result) {
return result;
}
const detected = jschardet.detect(buffer);
candidateGuessEncodings = candidateGuessEncodings.map(e => MAP_CANDIDATE_GUESS_ENCODING_TO_JSCHARDET[e]).filter(e => !!e);
const detected = jschardet.detect(buffer, candidateGuessEncodings.length > 0 ? { detectEncodings: candidateGuessEncodings } : undefined);
if (!detected || !detected.encoding) {
return null;
}

View file

@ -1233,11 +1233,11 @@ export class Repository {
.filter(entry => !!entry);
}
async bufferString(object: string, encoding: string = 'utf8', autoGuessEncoding = false): Promise<string> {
async bufferString(object: string, encoding: string = 'utf8', autoGuessEncoding = false, candidateGuessEncodings: string[] = []): Promise<string> {
const stdout = await this.buffer(object);
if (autoGuessEncoding) {
encoding = detectEncoding(stdout) || encoding;
encoding = detectEncoding(stdout, candidateGuessEncodings) || encoding;
}
encoding = iconv.encodingExists(encoding) ? encoding : 'utf8';

View file

@ -379,15 +379,26 @@ export class Model implements IRepositoryResolver, IBranchProtectionProviderRegi
while (foldersToTravers.length > 0) {
const currentFolder = foldersToTravers.shift()!;
const children: fs.Dirent[] = [];
try {
children.push(...await fs.promises.readdir(currentFolder.path, { withFileTypes: true }));
if (currentFolder.depth !== 0) {
result.push(currentFolder.path);
}
}
catch (err) {
this.logger.warn(`[swsf] Unable to read folder '${currentFolder.path}': ${err}`);
continue;
}
if (currentFolder.depth < maxDepth || maxDepth === -1) {
const children = await fs.promises.readdir(currentFolder.path, { withFileTypes: true });
const childrenFolders = children
.filter(dirent =>
dirent.isDirectory() && dirent.name !== '.git' &&
!repositoryScanIgnoredFolders.find(f => pathEquals(dirent.name, f)))
.map(dirent => path.join(currentFolder.path, dirent.name));
result.push(...childrenFolders);
foldersToTravers.push(...childrenFolders.map(folder => {
return { path: folder, depth: currentFolder.depth + 1 };
}));

View file

@ -3,27 +3,27 @@
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import TelemetryReporter from '@vscode/extension-telemetry';
import * as fs from 'fs';
import * as path from 'path';
import * as picomatch from 'picomatch';
import { CancellationToken, Command, Disposable, Event, EventEmitter, Memento, ProgressLocation, ProgressOptions, scm, SourceControl, SourceControlInputBox, SourceControlInputBoxValidation, SourceControlInputBoxValidationType, SourceControlResourceDecorations, SourceControlResourceGroup, SourceControlResourceState, ThemeColor, Uri, window, workspace, WorkspaceEdit, FileDecoration, commands, TabInputTextDiff, TabInputNotebookDiff, TabInputTextMultiDiff, RelativePattern, CancellationTokenSource, LogOutputChannel, LogLevel, CancellationError, l10n } from 'vscode';
import TelemetryReporter from '@vscode/extension-telemetry';
import { Branch, Change, ForcePushMode, GitErrorCodes, LogOptions, Ref, Remote, Status, CommitOptions, BranchQuery, FetchOptions, RefQuery, RefType } from './api/git';
import { CancellationError, CancellationToken, CancellationTokenSource, Command, commands, Disposable, Event, EventEmitter, FileDecoration, l10n, LogLevel, LogOutputChannel, Memento, ProgressLocation, ProgressOptions, RelativePattern, scm, SourceControl, SourceControlInputBox, SourceControlInputBoxValidation, SourceControlInputBoxValidationType, SourceControlResourceDecorations, SourceControlResourceGroup, SourceControlResourceState, TabInputNotebookDiff, TabInputTextDiff, TabInputTextMultiDiff, ThemeColor, Uri, window, workspace, WorkspaceEdit } from 'vscode';
import { ActionButton } from './actionButton';
import { ApiRepository } from './api/api1';
import { Branch, BranchQuery, Change, CommitOptions, FetchOptions, ForcePushMode, GitErrorCodes, LogOptions, Ref, RefQuery, RefType, Remote, Status } from './api/git';
import { AutoFetcher } from './autofetch';
import { GitBranchProtectionProvider, IBranchProtectionProviderRegistry } from './branchProtection';
import { debounce, memoize, throttle } from './decorators';
import { Commit, GitError, Repository as BaseRepository, Stash, Submodule, LogFileOptions, PullOptions, LsTreeElement } from './git';
import { Repository as BaseRepository, Commit, GitError, LogFileOptions, LsTreeElement, PullOptions, Stash, Submodule } from './git';
import { GitHistoryProvider } from './historyProvider';
import { Operation, OperationKind, OperationManager, OperationResult } from './operation';
import { CommitCommandsCenter, IPostCommitCommandsProviderRegistry } from './postCommitCommands';
import { IPushErrorHandlerRegistry } from './pushError';
import { IRemoteSourcePublisherRegistry } from './remotePublisher';
import { StatusBarCommands } from './statusbar';
import { toGitUri } from './uri';
import { anyEvent, combinedDisposable, debounceEvent, dispose, EmptyDisposable, eventToPromise, filterEvent, find, IDisposable, isDescendant, onceEvent, pathEquals, relativePath } from './util';
import { IFileWatcher, watch } from './watch';
import { IPushErrorHandlerRegistry } from './pushError';
import { ApiRepository } from './api/api1';
import { IRemoteSourcePublisherRegistry } from './remotePublisher';
import { ActionButton } from './actionButton';
import { IPostCommitCommandsProviderRegistry, CommitCommandsCenter } from './postCommitCommands';
import { Operation, OperationKind, OperationManager, OperationResult } from './operation';
import { GitBranchProtectionProvider, IBranchProtectionProviderRegistry } from './branchProtection';
import { GitHistoryProvider } from './historyProvider';
const timeout = (millis: number) => new Promise(c => setTimeout(c, millis));
@ -1865,13 +1865,14 @@ export class Repository implements Disposable {
const configFiles = workspace.getConfiguration('files', Uri.file(filePath));
const defaultEncoding = configFiles.get<string>('encoding');
const autoGuessEncoding = configFiles.get<boolean>('autoGuessEncoding');
const candidateGuessEncodings = configFiles.get<string[]>('candidateGuessEncodings');
try {
return await this.repository.bufferString(`${ref}:${path}`, defaultEncoding, autoGuessEncoding);
return await this.repository.bufferString(`${ref}:${path}`, defaultEncoding, autoGuessEncoding, candidateGuessEncodings);
} catch (err) {
if (err.gitErrorCode === GitErrorCodes.WrongCase) {
const gitRelativePath = await this.repository.getGitRelativePath(ref, path);
return await this.repository.bufferString(`${ref}:${gitRelativePath}`, defaultEncoding, autoGuessEncoding);
return await this.repository.bufferString(`${ref}:${gitRelativePath}`, defaultEncoding, autoGuessEncoding, candidateGuessEncodings);
}
throw err;

View file

@ -182,10 +182,10 @@ isexe@^3.1.1:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-3.1.1.tgz#4a407e2bd78ddfb14bea0c27c6f7072dde775f0d"
integrity sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==
jschardet@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
jschardet@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.1.2.tgz#9bf4364deba0677fe9e3bd9e29eda57febf2e9db"
integrity sha512-mw3CBZGzW8nUBPYhFU2ztZ/kJ6NClQUQVpyzvFMfznZsoC///ZQ30J2RCUanNsr5yF22LqhgYr/lj807/ZleWA==
peek-readable@^4.1.0:
version "4.1.0"

View file

@ -6,12 +6,12 @@
"git": {
"name": "go-syntax",
"repositoryUrl": "https://github.com/worlpaker/go-syntax",
"commitHash": "254bd0f25182c86ffd2043824f8d003e11a34268"
"commitHash": "092c45ec9a51fe40188408d1371f123eaa4796fa"
}
},
"license": "MIT",
"description": "The file syntaxes/go.tmLanguage.json is from https://github.com/worlpaker/go-syntax, which in turn was derived from https://github.com/jeff-hykin/better-go-syntax.",
"version": "0.6.6"
"version": "0.6.8"
}
],
"version": 1

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/worlpaker/go-syntax/commit/254bd0f25182c86ffd2043824f8d003e11a34268",
"version": "https://github.com/worlpaker/go-syntax/commit/092c45ec9a51fe40188408d1371f123eaa4796fa",
"name": "Go",
"scopeName": "source.go",
"patterns": [
@ -32,6 +32,9 @@
},
{
"include": "#group-variables"
},
{
"include": "#field_hover"
}
]
},
@ -2377,8 +2380,8 @@
},
{
"comment": "make keyword",
"match": "(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?(?:\\[(?:[^\\]]+)?\\])?(?:[\\w\\.\\*\\[\\]\\{\\}]+)?)?((?:\\,\\s*(?:[\\w\\.\\(\\)/\\+\\-\\<\\>\\&\\|\\%\\*]+)?)+)?(\\))))",
"captures": {
"begin": "(?:(\\bmake\\b)(?:(\\()((?:(?:(?:[\\*\\[\\]]+)?(?:\\<\\-\\s*)?\\bchan\\b(?:\\s*\\<\\-)?\\s*)+(?:\\([^\\)]+\\))?)?(?:[\\[\\]\\*]+)?(?:(?!\\bmap\\b)(?:[\\w\\.]+))?(\\[(?:(?:[\\S]+)(?:(?:\\,\\s*(?:[\\S]+))*))?\\])?(?:\\,)?)?))",
"beginCaptures": {
"1": {
"name": "entity.name.function.support.builtin.go"
},
@ -2398,18 +2401,19 @@
"name": "entity.name.type.go"
}
]
},
"4": {
"patterns": [
{
"include": "$self"
}
]
},
"5": {
}
},
"end": "\\)",
"endCaptures": {
"0": {
"name": "punctuation.definition.end.bracket.round.go"
}
}
},
"patterns": [
{
"include": "$self"
}
]
}
]
},
@ -2910,6 +2914,38 @@
}
}
},
"field_hover": {
"comment": "struct field property and types when hovering with the mouse",
"match": "(?:(?<=^\\bfield\\b)\\s+([\\w\\*\\.]+)\\s+([\\s\\S]+))",
"captures": {
"1": {
"patterns": [
{
"include": "#type-declarations"
},
{
"match": "\\w+",
"name": "variable.other.property.go"
}
]
},
"2": {
"patterns": [
{
"include": "#type-declarations"
},
{
"match": "\\binvalid\\b\\s+\\btype\\b",
"name": "invalid.field.go"
},
{
"match": "\\w+",
"name": "entity.name.type.go"
}
]
}
}
},
"other_variables": {
"comment": "all other variables",
"match": "\\w+",

View file

@ -111,10 +111,10 @@
},
"indentationRules": {
"decreaseIndentPattern": {
"pattern": "^((?!.*?/\\*).*\\*\/)?\\s*[\\}\\]\\)].*$"
"pattern": "^\\s*[\\}\\]\\)].*$"
},
"increaseIndentPattern": {
"pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$"
"pattern": "^.*(\\{[^}]*|\\([^)]*|\\[[^\\]]*)$"
},
// e.g. * ...| or */| or *-----*/|
"unIndentedLinePattern": {

View file

@ -6,11 +6,11 @@
"git": {
"name": "jlelong/vscode-latex-basics",
"repositoryUrl": "https://github.com/jlelong/vscode-latex-basics",
"commitHash": "56e2dc967e6bafafc1acfeeb80af42b8328b021a"
"commitHash": "5d7c2a4e451a932b776f6d9342087be6a1e8c0a1"
}
},
"license": "MIT",
"version": "1.7.0",
"version": "1.9.0",
"description": "The files in syntaxes/ were originally part of https://github.com/James-Yu/LaTeX-Workshop. They have been extracted in the hope that they can useful outside of the LaTeX-Workshop extension.",
"licenseDetail": [
"Copyright (c) vscode-latex-basics authors",

View file

@ -4,7 +4,7 @@
"If you want to provide a fix or improvement, please create a pull request against the original repository.",
"Once accepted there, we are happy to receive an update request."
],
"version": "https://github.com/jlelong/vscode-latex-basics/commit/8624d0bdae950a70cdf4a1c3d19c7398ef851721",
"version": "https://github.com/jlelong/vscode-latex-basics/commit/5d7c2a4e451a932b776f6d9342087be6a1e8c0a1",
"name": "TeX",
"scopeName": "text.tex",
"patterns": [
@ -108,7 +108,25 @@
"name": "punctuation.definition.function.tex"
}
},
"match": "(\\\\)(?:[,;]|(?:[\\p{Alphabetic}@]+(?:(?:_[\\p{Alphabetic}@]+)*:[NncVvoxefTFpwD]*)?))",
"match": "(\\\\)_*[\\p{Alphabetic}@]+(?:_[\\p{Alphabetic}@]+)*:[NncVvoxefTFpwD]*",
"name": "support.class.general.latex3.tex"
},
{
"captures": {
"1": {
"name": "punctuation.definition.function.tex"
}
},
"match": "(\\.)[\\p{Alphabetic}@]+(?:_[\\p{Alphabetic}@]+)*:[NncVvoxefTFpwD]*",
"name": "support.class.general.latex3.tex"
},
{
"captures": {
"1": {
"name": "punctuation.definition.function.tex"
}
},
"match": "(\\\\)(?:[,;]|(?:[\\p{Alphabetic}@]+))",
"name": "support.function.general.tex"
},
{

View file

@ -11,7 +11,7 @@ import { formatStackTrace } from './stackTraceHelper';
function clearContainer(container: HTMLElement) {
while (container.firstChild) {
container.removeChild(container.firstChild);
container.firstChild.remove();
}
}
@ -378,7 +378,7 @@ function renderStream(outputInfo: OutputWithAppend, outputElement: HTMLElement,
contentParent = document.createElement('div');
contentParent.appendChild(newContent);
while (outputElement.firstChild) {
outputElement.removeChild(outputElement.firstChild);
outputElement.firstChild.remove();
}
outputElement.appendChild(contentParent);
}

View file

@ -292,7 +292,7 @@ export class PackageJSONContribution implements IJSONContribution {
// COREPACK_ENABLE_AUTO_PIN disables the package.json overwrite, and
// COREPACK_ENABLE_PROJECT_SPEC makes the npm view command succeed
// even if packageManager specified a package manager other than npm.
const env = { COREPACK_ENABLE_AUTO_PIN: "0", COREPACK_ENABLE_PROJECT_SPEC: "0" };
const env = { ...process.env, COREPACK_ENABLE_AUTO_PIN: '0', COREPACK_ENABLE_PROJECT_SPEC: '0' };
cp.execFile(npmCommandPath, args, { cwd, env }, (error, stdout) => {
if (!error) {
try {

View file

@ -4,7 +4,7 @@
"license": "MIT",
"description": "Dependencies shared by all extensions",
"dependencies": {
"typescript": "5.4.5"
"typescript": "^5.5.0-dev.20240603"
},
"scripts": {
"postinstall": "node ./postinstall.mjs"

View file

@ -6,7 +6,7 @@
"git": {
"name": "MagicStack/MagicPython",
"repositoryUrl": "https://github.com/MagicStack/MagicPython",
"commitHash": "7d0f2b22a5ad8fccbd7341bc7b7a715169283044"
"commitHash": "c9b3409deb69acec31bbf7913830e93a046b30cc"
}
},
"license": "MIT",

View file

@ -37,6 +37,7 @@ class Tunnel implements vscode.Tunnel {
constructor(
public readonly remoteAddress: { port: number; host: string },
public readonly privacy: TunnelPrivacyId,
public readonly protocol: 'http' | 'https',
) { }
public setPortFormat(formatString: string) {
@ -82,7 +83,7 @@ export async function activate(context: vscode.ExtensionContext) {
{
tunnelFeatures: {
elevation: false,
protocol: false,
protocol: true,
privacyOptions: [
{ themeIcon: 'globe', id: TunnelPrivacyId.Public, label: vscode.l10n.t('Public') },
{ themeIcon: 'lock', id: TunnelPrivacyId.Private, label: vscode.l10n.t('Private') },
@ -152,6 +153,7 @@ class TunnelProvider implements vscode.TunnelProvider {
const tunnel = new Tunnel(
tunnelOptions.remoteAddress,
(tunnelOptions.privacy as TunnelPrivacyId) || TunnelPrivacyId.Private,
tunnelOptions.protocol === 'https' ? 'https' : 'http',
);
this.tunnels.add(tunnel);
@ -238,7 +240,7 @@ class TunnelProvider implements vscode.TunnelProvider {
return;
}
const ports = [...this.tunnels].map(t => ({ number: t.remoteAddress.port, privacy: t.privacy }));
const ports = [...this.tunnels].map(t => ({ number: t.remoteAddress.port, privacy: t.privacy, protocol: t.protocol }));
this.state.process.stdin.write(`${JSON.stringify(ports)}\n`);
if (ports.length === 0 && !this.state.cleanupTimeout) {
@ -260,12 +262,10 @@ class TunnelProvider implements vscode.TunnelProvider {
'forward-internal',
'--provider',
'github',
'--access-token',
session.accessToken,
];
this.logger.log('info', '[forwarding] starting CLI');
const child = spawn(cliPath, args, { stdio: 'pipe', env: { ...process.env, NO_COLOR: '1' } });
const child = spawn(cliPath, args, { stdio: 'pipe', env: { ...process.env, NO_COLOR: '1', VSCODE_CLI_ACCESS_TOKEN: session.accessToken } });
this.state = { state: State.Starting, process: child };
const progressP = new DeferredPromise<void>();

View file

@ -129,10 +129,10 @@
},
"indentationRules": {
"decreaseIndentPattern": {
"pattern": "^((?!.*?/\\*).*\\*\/)?\\s*[\\}\\]\\)].*$"
"pattern": "^\\s*[\\}\\]\\)].*$"
},
"increaseIndentPattern": {
"pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$"
"pattern": "^.*(\\{[^}]*|\\([^)]*|\\[[^\\]]*)$"
},
// e.g. * ...| or */| or *-----*/|
"unIndentedLinePattern": {

View file

@ -13,7 +13,8 @@
"multiDocumentHighlightProvider",
"mappedEditsProvider",
"codeActionAI",
"codeActionRanges"
"codeActionRanges",
"documentPaste"
],
"capabilities": {
"virtualWorkspaces": {
@ -1176,10 +1177,7 @@
"typescript.tsserver.experimental.useVsCodeWatcher": {
"type": "boolean",
"description": "%configuration.tsserver.useVsCodeWatcher%",
"default": false,
"tags": [
"experimental"
]
"default": true
},
"typescript.tsserver.watchOptions": {
"type": "object",
@ -1284,13 +1282,13 @@
},
"typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors": {
"type": "boolean",
"default": false,
"default": true,
"description": "%configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors%",
"scope": "window"
},
"typescript.tsserver.web.typeAcquisition.enabled": {
"type": "boolean",
"default": true,
"default": false,
"description": "%configuration.tsserver.web.typeAcquisition.enabled%",
"scope": "window"
},
@ -1316,6 +1314,20 @@
"default": true,
"markdownDescription": "%typescript.workspaceSymbols.excludeLibrarySymbols%",
"scope": "window"
},
"javascript.experimental.updateImportsOnPaste": {
"scope": "resource",
"type": "boolean",
"default": false,
"description": "%configuration.updateImportsOnPaste%",
"tags": ["experimental"]
},
"typescript.experimental.updateImportsOnPaste": {
"scope": "resource",
"type": "boolean",
"default": false,
"description": "%configuration.updateImportsOnPaste%",
"tags": ["experimental"]
}
}
},

View file

@ -219,6 +219,7 @@
"configuration.tsserver.web.projectWideIntellisense.suppressSemanticErrors": "Suppresses semantic errors on web even when project wide IntelliSense is enabled. This is always on when project wide IntelliSense is not enabled or available. See `#typescript.tsserver.web.projectWideIntellisense.enabled#`",
"configuration.tsserver.web.typeAcquisition.enabled": "Enable/disable package acquisition on the web. This enables IntelliSense for imported packages. Requires `#typescript.tsserver.web.projectWideIntellisense.enabled#`. Currently not supported for Safari.",
"configuration.tsserver.nodePath": "Run TS Server on a custom Node installation. This can be a path to a Node executable, or 'node' if you want VS Code to detect a Node installation.",
"configuration.updateImportsOnPaste": "Automatically update imports when pasting code. Requires TypeScript 5.5+.",
"walkthroughs.nodejsWelcome.title": "Get started with JavaScript and Node.js",
"walkthroughs.nodejsWelcome.description": "Make the most of Visual Studio Code's first-class JavaScript experience.",
"walkthroughs.nodejsWelcome.downloadNode.forMacOrWindows.title": "Install Node.js",

View file

@ -117,7 +117,7 @@ export interface TypeScriptServiceConfiguration {
readonly enableProjectDiagnostics: boolean;
readonly maxTsServerMemory: number;
readonly enablePromptUseWorkspaceTsdk: boolean;
readonly useVsCodeWatcher: boolean;
readonly useVsCodeWatcher: boolean; // TODO@bpasero remove this setting eventually
readonly watchOptions: Proto.WatchOptions | undefined;
readonly includePackageJsonAutoImports: 'auto' | 'on' | 'off' | undefined;
readonly enableTsServerTracing: boolean;
@ -261,10 +261,10 @@ export abstract class BaseServiceConfigurationProvider implements ServiceConfigu
}
private readWebProjectWideIntellisenseSuppressSemanticErrors(configuration: vscode.WorkspaceConfiguration): boolean {
return configuration.get<boolean>('typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors', false);
return configuration.get<boolean>('typescript.tsserver.web.projectWideIntellisense.suppressSemanticErrors', true);
}
private readWebTypeAcquisition(configuration: vscode.WorkspaceConfiguration): boolean {
return configuration.get<boolean>('typescript.tsserver.web.typeAcquisition.enabled', true);
return configuration.get<boolean>('typescript.tsserver.web.typeAcquisition.enabled', false);
}
}

View file

@ -17,8 +17,13 @@ export const vsls = 'vsls';
export const walkThroughSnippet = 'walkThroughSnippet';
export const vscodeNotebookCell = 'vscode-notebook-cell';
export const officeScript = 'office-script';
/** Used for code blocks in chat by vs code core */
export const chatCodeBlock = 'vscode-chat-code-block';
/** Used for code blocks in chat by copilot. */
export const chatBackingCodeBlock = 'vscode-copilot-chat-code-block';
export function getSemanticSupportedSchemes() {
if (isWeb() && vscode.workspace.workspaceFolders) {
return vscode.workspace.workspaceFolders.map(folder => folder.uri.scheme);
@ -30,6 +35,7 @@ export function getSemanticSupportedSchemes() {
walkThroughSnippet,
vscodeNotebookCell,
chatCodeBlock,
chatBackingCodeBlock,
];
}
@ -42,3 +48,8 @@ export const disabledSchemes = new Set([
github,
azurerepos,
]);
export function isOfScheme(uri: vscode.Uri, ...schemes: string[]): boolean {
const normalizedUriScheme = uri.scheme.toLowerCase();
return schemes.some(scheme => normalizedUriScheme === scheme);
}

View file

@ -0,0 +1,137 @@
/*---------------------------------------------------------------------------------------------
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/
import * as vscode from 'vscode';
import { DocumentSelector } from '../configuration/documentSelector';
import * as typeConverters from '../typeConverters';
import { ClientCapability, ITypeScriptServiceClient } from '../typescriptService';
import { conditionalRegistration, requireMinVersion, requireSomeCapability } from './util/dependentRegistration';
import protocol from '../tsServer/protocol/protocol';
import { API } from '../tsServer/api';
import { LanguageDescription } from '../configuration/languageDescription';
class CopyMetadata {
constructor(
readonly resource: vscode.Uri,
readonly ranges: readonly vscode.Range[],
) { }
toJSON() {
return JSON.stringify({
resource: this.resource.toJSON(),
ranges: this.ranges,
});
}
static fromJSON(str: string): CopyMetadata | undefined {
try {
const parsed = JSON.parse(str);
return new CopyMetadata(
vscode.Uri.from(parsed.resource),
parsed.ranges.map((r: any) => new vscode.Range(r[0].line, r[0].character, r[1].line, r[1].character)));
} catch {
// ignore
}
return undefined;
}
}
class DocumentPasteProvider implements vscode.DocumentPasteEditProvider {
static readonly kind = vscode.DocumentDropOrPasteEditKind.Empty.append('text', 'jsts', 'pasteWithImports');
static readonly metadataMimeType = 'application/vnd.code.jsts.metadata';
constructor(
private readonly _modeId: string,
private readonly _client: ITypeScriptServiceClient,
) { }
prepareDocumentPaste(document: vscode.TextDocument, ranges: readonly vscode.Range[], dataTransfer: vscode.DataTransfer, _token: vscode.CancellationToken) {
dataTransfer.set(DocumentPasteProvider.metadataMimeType,
new vscode.DataTransferItem(new CopyMetadata(document.uri, ranges).toJSON()));
}
async provideDocumentPasteEdits(
document: vscode.TextDocument,
ranges: readonly vscode.Range[],
dataTransfer: vscode.DataTransfer,
_context: vscode.DocumentPasteEditContext,
token: vscode.CancellationToken,
): Promise<vscode.DocumentPasteEdit[] | undefined> {
const config = vscode.workspace.getConfiguration(this._modeId, document.uri);
if (!config.get('experimental.updateImportsOnPaste')) {
return;
}
const file = this._client.toOpenTsFilePath(document);
if (!file) {
return;
}
const text = await dataTransfer.get('text/plain')?.asString();
if (!text || token.isCancellationRequested) {
return;
}
// Get optional metadata
const metadata = await this.extractMetadata(dataTransfer, token);
if (token.isCancellationRequested) {
return;
}
let copiedFrom: {
file: string;
spans: protocol.TextSpan[];
} | undefined;
if (metadata) {
const spans = metadata.ranges.map(typeConverters.Range.toTextSpan);
const copyFile = this._client.toTsFilePath(metadata.resource);
if (copyFile) {
copiedFrom = { file: copyFile, spans };
}
}
const response = await this._client.execute('getPasteEdits', {
file,
// TODO: only supports a single paste for now
pastedText: [text],
pasteLocations: ranges.map(typeConverters.Range.toTextSpan),
copiedFrom
}, token);
if (response.type !== 'response' || !response.body || token.isCancellationRequested) {
return;
}
const edit = new vscode.DocumentPasteEdit('', vscode.l10n.t("Paste with imports"), DocumentPasteProvider.kind);
const additionalEdit = new vscode.WorkspaceEdit();
for (const edit of response.body.edits) {
additionalEdit.set(this._client.toResource(edit.fileName), edit.textChanges.map(typeConverters.TextEdit.fromCodeEdit));
}
edit.additionalEdit = additionalEdit;
return [edit];
}
private async extractMetadata(dataTransfer: vscode.DataTransfer, token: vscode.CancellationToken): Promise<CopyMetadata | undefined> {
const metadata = await dataTransfer.get(DocumentPasteProvider.metadataMimeType)?.asString();
if (token.isCancellationRequested) {
return undefined;
}
return metadata ? CopyMetadata.fromJSON(metadata) : undefined;
}
}
export function register(selector: DocumentSelector, language: LanguageDescription, client: ITypeScriptServiceClient) {
return conditionalRegistration([
requireSomeCapability(client, ClientCapability.Semantic),
requireMinVersion(client, API.v550),
], () => {
return vscode.languages.registerDocumentPasteEditProvider(selector.semantic, new DocumentPasteProvider(language.id, client), {
providedPasteEditKinds: [DocumentPasteProvider.kind],
copyMimeTypes: [DocumentPasteProvider.metadataMimeType],
pasteMimeTypes: ['text/plain'],
});
});
}

View file

@ -191,7 +191,6 @@ export default class FileConfigurationManager extends Disposable {
includeCompletionsWithClassMemberSnippets: config.get<boolean>('suggest.classMemberSnippets.enabled', true),
includeCompletionsWithObjectLiteralMethodSnippets: config.get<boolean>('suggest.objectLiteralMethodSnippets.enabled', true),
autoImportFileExcludePatterns: this.getAutoImportFileExcludePatternsPreference(preferencesConfig, vscode.workspace.getWorkspaceFolder(document.uri)?.uri),
// @ts-expect-error until 5.3 #56090
preferTypeOnlyAutoImports: preferencesConfig.get<boolean>('preferTypeOnlyAutoImports', false),
useLabelDetailsInCompletionEntries: true,
allowIncompleteCompletions: true,

View file

@ -27,8 +27,8 @@ class TsMappedEditsProvider implements vscode.MappedEditsProvider {
}
const response = await this.client.execute('mapCode', {
mappings: [{
file,
file,
mapping: {
contents: codeBlocks,
focusLocations: context.documents.map(documents => {
return documents.flatMap((contextItem): FileSpan[] => {
@ -39,7 +39,7 @@ class TsMappedEditsProvider implements vscode.MappedEditsProvider {
return contextItem.ranges.map((range): FileSpan => ({ file, ...Range.toTextSpan(range) }));
});
}),
}],
}
}, token);
if (response.type !== 'response' || !response.body) {
return;

View file

@ -69,8 +69,10 @@ export class EditorChatFollowUp implements Command {
expand.action.changes.flatMap((c) => c.textChanges)
)
: expand.range;
const initialSelection = initialRange ? new vscode.Selection(initialRange.start, initialRange.end) : undefined;
await vscode.commands.executeCommand('vscode.editorChat.start', {
initialRange,
initialSelection,
message,
autoSend: true,
});

View file

@ -94,7 +94,7 @@ class TypeScriptWorkspaceSymbolProvider implements vscode.WorkspaceSymbolProvide
}
const uri = this.client.toResource(item.file);
if (uri.scheme === fileSchemes.chatCodeBlock) {
if (fileSchemes.isOfScheme(uri, fileSchemes.chatCodeBlock, fileSchemes.chatBackingCodeBlock)) {
return;
}

View file

@ -65,6 +65,7 @@ export default class LanguageProvider extends Disposable {
import('./languageFeatures/codeLens/implementationsCodeLens').then(provider => this._register(provider.register(selector, this.description, this.client, cachedNavTreeResponse))),
import('./languageFeatures/codeLens/referencesCodeLens').then(provider => this._register(provider.register(selector, this.description, this.client, cachedNavTreeResponse))),
import('./languageFeatures/completions').then(provider => this._register(provider.register(selector, this.description, this.client, this.typingsStatus, this.fileConfigurationManager, this.commandManager, this.telemetryReporter, this.onCompletionAccepted))),
import('./languageFeatures/copyPaste').then(provider => this._register(provider.register(selector, this.description, this.client))),
import('./languageFeatures/definitions').then(provider => this._register(provider.register(selector, this.client))),
import('./languageFeatures/directiveCommentCompletions').then(provider => this._register(provider.register(selector, this.client))),
import('./languageFeatures/documentHighlight').then(provider => this._register(provider.register(selector, this.client))),

View file

@ -37,6 +37,7 @@ export class API {
public static readonly v520 = API.fromSimpleString('5.2.0');
public static readonly v544 = API.fromSimpleString('5.4.4');
public static readonly v540 = API.fromSimpleString('5.4.0');
public static readonly v550 = API.fromSimpleString('5.5.0');
public static fromVersionString(versionString: string): API {
let version = semver.valid(versionString);
@ -80,4 +81,8 @@ export class API {
public lt(other: API): boolean {
return !this.gte(other);
}
public isYarnPnp(): boolean {
return this.fullVersionString.includes('-sdk');
}
}

View file

@ -227,7 +227,7 @@ class SyncedBuffer {
return tsRoot?.startsWith(inMemoryResourcePrefix) ? undefined : tsRoot;
}
return resource.scheme === fileSchemes.officeScript || resource.scheme === fileSchemes.chatCodeBlock ? '/' : undefined;
return fileSchemes.isOfScheme(resource, fileSchemes.officeScript, fileSchemes.chatCodeBlock, fileSchemes.chatBackingCodeBlock) ? '/' : undefined;
}
public get resource(): vscode.Uri {
@ -752,7 +752,7 @@ export default class BufferSyncSupport extends Disposable {
}
private shouldValidate(buffer: SyncedBuffer): boolean {
if (buffer.resource.scheme === fileSchemes.chatCodeBlock) {
if (fileSchemes.isOfScheme(buffer.resource, fileSchemes.chatCodeBlock, fileSchemes.chatBackingCodeBlock)) {
return false;
}

View file

@ -19,43 +19,5 @@ declare module '../../../../node_modules/typescript/lib/typescript' {
interface Response {
readonly _serverType?: ServerType;
}
export interface MapCodeRequestArgs {
/// The files and changes to try and apply/map.
mappings: MapCodeRequestDocumentMapping[];
/// Edits to apply to the current workspace before performing the mapping.
updates?: FileCodeEdits[]
}
export interface MapCodeRequestDocumentMapping {
/// The file for the request (absolute pathname required). Null/undefined
/// if specific file is unknown.
file?: string;
/// Optional name of project that contains file
projectFileName?: string;
/// The specific code to map/insert/replace in the file.
contents: string[];
/// Areas of "focus" to inform the code mapper with. For example, cursor
/// location, current selection, viewport, etc. Nested arrays denote
/// priority: toplevel arrays are more important than inner arrays, and
/// inner array priorities are based on items within that array. Items
/// earlier in the arrays have higher priority.
focusLocations?: FileSpan[][];
}
export interface MapCodeRequest extends Request {
command: 'mapCode',
arguments: MapCodeRequestArgs;
}
export interface MapCodeResponse extends Response {
body: FileCodeEdits[]
}
}
}

View file

@ -278,8 +278,7 @@ export class ElectronServiceProcessFactory implements TsServerProcessFactory {
}
const childProcess = execPath ?
child_process.spawn(JSON.stringify(execPath), [...execArgv, tsServerPath, ...runtimeArgs], {
shell: true,
child_process.spawn(execPath, [...execArgv, tsServerPath, ...runtimeArgs], {
windowsHide: true,
cwd: undefined,
env,

View file

@ -242,7 +242,7 @@ export class TypeScriptServerSpawner {
if (configuration.enableTsServerTracing && !isWeb()) {
tsServerTraceDirectory = this._logDirectoryProvider.getNewLogDirectory();
if (tsServerTraceDirectory) {
args.push('--traceDirectory', tsServerTraceDirectory.fsPath);
args.push('--traceDirectory', `"${tsServerTraceDirectory.fsPath}"`);
}
}
@ -271,7 +271,11 @@ export class TypeScriptServerSpawner {
args.push('--noGetErrOnBackgroundUpdate');
if (apiVersion.gte(API.v544) && configuration.useVsCodeWatcher) {
if (
apiVersion.gte(API.v544)
&& configuration.useVsCodeWatcher
&& !apiVersion.isYarnPnp() // Disable for yarn pnp as it currently breaks with the VS Code watcher
) {
args.push('--canUseWatchEvents');
}

View file

@ -77,6 +77,7 @@ interface StandardTsServerRequests {
'getMoveToRefactoringFileSuggestions': [Proto.GetMoveToRefactoringFileSuggestionsRequestArgs, Proto.GetMoveToRefactoringFileSuggestions];
'linkedEditingRange': [Proto.FileLocationRequestArgs, Proto.LinkedEditingRangeResponse];
'mapCode': [Proto.MapCodeRequestArgs, Proto.MapCodeResponse];
'getPasteEdits': [Proto.GetPasteEditsRequestArgs, Proto.GetPasteEditsResponse];
}
interface NoResponseTsServerRequests {

View file

@ -5,32 +5,32 @@
import * as path from 'path';
import * as vscode from 'vscode';
import { ServiceConfigurationProvider, SyntaxServerConfiguration, TsServerLogLevel, TypeScriptServiceConfiguration, areServiceConfigurationsEqual } from './configuration/configuration';
import * as fileSchemes from './configuration/fileSchemes';
import { Schemes } from './configuration/schemes';
import { IExperimentationTelemetryReporter } from './experimentTelemetryReporter';
import { DiagnosticKind, DiagnosticsManager } from './languageFeatures/diagnostics';
import * as Proto from './tsServer/protocol/protocol';
import { EventName } from './tsServer/protocol/protocol.const';
import { Logger } from './logging/logger';
import { TelemetryProperties, TelemetryReporter, VSCodeTelemetryReporter } from './logging/telemetry';
import Tracer from './logging/tracer';
import { ProjectType, inferredProjectCompilerOptions } from './tsconfig';
import { API } from './tsServer/api';
import BufferSyncSupport from './tsServer/bufferSyncSupport';
import { OngoingRequestCancellerFactory } from './tsServer/cancellation';
import { ILogDirectoryProvider } from './tsServer/logDirectoryProvider';
import { NodeVersionManager } from './tsServer/nodeManager';
import { TypeScriptPluginPathsProvider } from './tsServer/pluginPathsProvider';
import { PluginManager, TypeScriptServerPlugin } from './tsServer/plugins';
import * as Proto from './tsServer/protocol/protocol';
import { EventName } from './tsServer/protocol/protocol.const';
import { ITypeScriptServer, TsServerLog, TsServerProcessFactory, TypeScriptServerExitEvent } from './tsServer/server';
import { TypeScriptServerError } from './tsServer/serverError';
import { TypeScriptServerSpawner } from './tsServer/spawner';
import { TypeScriptVersionManager } from './tsServer/versionManager';
import { ITypeScriptVersionProvider, TypeScriptVersion } from './tsServer/versionProvider';
import { ClientCapabilities, ClientCapability, ExecConfig, ITypeScriptServiceClient, ServerResponse, TypeScriptRequests } from './typescriptService';
import { ServiceConfigurationProvider, SyntaxServerConfiguration, TsServerLogLevel, TypeScriptServiceConfiguration, areServiceConfigurationsEqual } from './configuration/configuration';
import { Disposable, DisposableStore, disposeAll } from './utils/dispose';
import * as fileSchemes from './configuration/fileSchemes';
import { Logger } from './logging/logger';
import { isWeb, isWebAndHasSharedArrayBuffers } from './utils/platform';
import { PluginManager, TypeScriptServerPlugin } from './tsServer/plugins';
import { TelemetryProperties, TelemetryReporter, VSCodeTelemetryReporter } from './logging/telemetry';
import Tracer from './logging/tracer';
import { ProjectType, inferredProjectCompilerOptions } from './tsconfig';
import { Schemes } from './configuration/schemes';
import { NodeVersionManager } from './tsServer/nodeManager';
export interface TsDiagnostics {
@ -463,7 +463,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
}
*/
this.logTelemetry('tsserver.error');
this.serviceExited(false);
this.serviceExited(false, apiVersion);
});
handle.onExit((data: TypeScriptServerExitEvent) => {
@ -484,7 +484,6 @@ export default class TypeScriptServiceClient extends Disposable implements IType
*/
this.logTelemetry('tsserver.exitWithCode', { code: code ?? undefined, signal: signal ?? undefined });
if (this.token !== mytoken) {
// this is coming from an old process
return;
@ -493,7 +492,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
if (handle.tsServerLog?.type === 'file') {
this.info(`TSServer log file: ${handle.tsServerLog.uri.fsPath}`);
}
this.serviceExited(!this.isRestarting);
this.serviceExited(!this.isRestarting, apiVersion);
this.isRestarting = false;
});
@ -612,7 +611,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
};
}
private serviceExited(restart: boolean): void {
private serviceExited(restart: boolean, tsVersion: API): void {
this.resetWatchers();
this.loadingIndicator.reset();
@ -686,17 +685,34 @@ export default class TypeScriptServiceClient extends Disposable implements IType
this._isPromptingAfterCrash = true;
}
prompt?.then(item => {
prompt?.then(async item => {
this._isPromptingAfterCrash = false;
if (item === reportIssueItem) {
const minModernTsVersion = this.versionProvider.bundledVersion.apiVersion;
if (
// Don't allow reporting issues using the PnP patched version of TS Server
if (tsVersion.isYarnPnp()) {
const reportIssue: vscode.MessageItem = {
title: vscode.l10n.t("Report issue against Yarn PnP"),
};
const response = await vscode.window.showWarningMessage(
vscode.l10n.t("Please report an issue against Yarn PnP"),
{
modal: true,
detail: vscode.l10n.t("The workspace is using a version of the TypeScript Server that has been patched by Yarn PnP. This patching is a common source of bugs."),
},
reportIssue);
if (response === reportIssue) {
vscode.env.openExternal(vscode.Uri.parse('https://github.com/yarnpkg/berry/issues'));
}
}
// Don't allow reporting issues with old TS versions
else if (
minModernTsVersion &&
previousState.type === ServerState.Type.Errored &&
previousState.error instanceof TypeScriptServerError &&
previousState.error.version.apiVersion?.lt(minModernTsVersion)
tsVersion.lt(minModernTsVersion)
) {
vscode.window.showWarningMessage(
vscode.l10n.t("Please update your TypeScript version"),
@ -704,7 +720,7 @@ export default class TypeScriptServiceClient extends Disposable implements IType
modal: true,
detail: vscode.l10n.t(
"The workspace is using an old version of TypeScript ({0}).\n\nBefore reporting an issue, please update the workspace to use TypeScript {1} or newer to make sure the bug has not already been fixed.",
previousState.error.version.apiVersion.displayName,
tsVersion.displayName,
minModernTsVersion.displayName),
});
} else {

View file

@ -17,5 +17,6 @@
"../../src/vscode-dts/vscode.proposed.mappedEditsProvider.d.ts",
"../../src/vscode-dts/vscode.proposed.multiDocumentHighlightProvider.d.ts",
"../../src/vscode-dts/vscode.proposed.workspaceTrust.d.ts",
"../../src/vscode-dts/vscode.proposed.documentPaste.d.ts",
]
}

View file

@ -7,9 +7,8 @@
"enabledApiProposals": [
"activeComment",
"authSession",
"chatParticipant",
"languageModels",
"defaultChatParticipant",
"chatParticipantPrivate",
"chatVariableResolver",
"contribViewsRemote",
"contribStatusBarItems",

View file

@ -234,10 +234,10 @@ to-regex-range@^5.0.1:
dependencies:
is-number "^7.0.0"
typescript@5.4.5:
version "5.4.5"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.5.tgz#42ccef2c571fdbd0f6718b1d1f5e6e5ef006f611"
integrity sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==
typescript@^5.5.0-dev.20240603:
version "5.5.0-dev.20240603"
resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.0-dev.20240603.tgz#a1b7311df5039a8abbaaa2213c21cac6ec547490"
integrity sha512-gdm3Sh1A+Pjj9ZlfBEJY3o2rs3tvpcSbu3vYqcCijMe09BePQBtZlsuShuPn+zCnP+qBLxdKjFiw5v1tkna3tA==
vscode-grammar-updater@^1.1.0:
version "1.1.0"

View file

@ -1,7 +1,7 @@
{
"name": "code-oss-dev",
"version": "1.90.0",
"distro": "b885c5b015796a5b6373decb919a391522135903",
"version": "1.91.0",
"distro": "269c4ac603b4b3c0532b39a04bb0beb9eeb3d49b",
"author": {
"name": "Microsoft Corporation"
},
@ -70,6 +70,7 @@
"@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "2.1.0",
"@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.0",
"@vscode/policy-watcher": "^1.1.4",
"@vscode/proxy-agent": "^0.19.0",
@ -81,17 +82,17 @@
"@vscode/windows-mutex": "^0.5.0",
"@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0",
"@xterm/addon-image": "0.9.0-beta.17",
"@xterm/addon-search": "0.16.0-beta.17",
"@xterm/addon-serialize": "0.14.0-beta.17",
"@xterm/addon-unicode11": "0.9.0-beta.17",
"@xterm/addon-webgl": "0.19.0-beta.17",
"@xterm/headless": "5.6.0-beta.17",
"@xterm/xterm": "5.6.0-beta.17",
"graceful-fs": "4.2.11",
"@xterm/addon-clipboard": "0.2.0-beta.4",
"@xterm/addon-image": "0.9.0-beta.21",
"@xterm/addon-search": "0.16.0-beta.21",
"@xterm/addon-serialize": "0.14.0-beta.21",
"@xterm/addon-unicode11": "0.9.0-beta.21",
"@xterm/addon-webgl": "0.19.0-beta.21",
"@xterm/headless": "5.6.0-beta.21",
"@xterm/xterm": "5.6.0-beta.21",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.2",
"jschardet": "3.0.0",
"jschardet": "3.1.2",
"kerberos": "^2.0.1",
"minimist": "^1.2.6",
"native-is-elevated": "0.7.0",
@ -111,7 +112,6 @@
"@swc/core": "1.3.62",
"@types/cookie": "^0.3.3",
"@types/debug": "^4.1.5",
"@types/graceful-fs": "4.1.2",
"@types/gulp-svgmin": "^1.2.1",
"@types/http-proxy-agent": "^2.0.1",
"@types/kerberos": "^1.1.2",
@ -148,7 +148,7 @@
"cssnano": "^6.0.3",
"debounce": "^1.0.0",
"deemon": "^1.8.0",
"electron": "29.3.1",
"electron": "29.4.0",
"eslint": "8.36.0",
"eslint-plugin-header": "3.1.1",
"eslint-plugin-jsdoc": "^46.5.0",
@ -207,7 +207,7 @@
"ts-loader": "^9.4.2",
"ts-node": "^10.9.1",
"tsec": "0.2.7",
"typescript": "^5.5.0-dev.20240506",
"typescript": "^5.5.0-dev.20240603",
"util": "^0.12.4",
"vscode-nls-dev": "^3.3.1",
"webpack": "^5.91.0",
@ -229,4 +229,4 @@
"optionalDependencies": {
"windows-foreground-love": "0.5.0"
}
}
}

View file

@ -50,8 +50,8 @@
},
{
"name": "ms-vscode.js-debug",
"version": "1.89.0",
"sha256": "2abd9c01f711c0d60d40b722b5bed0930701be173931f3c6251906f692858221",
"version": "1.90.0",
"sha256": "1317dd7d1ac50641c1534a3e957ecbc94349f4fbd897acb916da11eea3208a66",
"repo": "https://github.com/microsoft/vscode-js-debug",
"metadata": {
"id": "25629058-ddac-4e17-abba-74678e126c5d",

View file

@ -1,5 +1,5 @@
disturl "https://nodejs.org/dist"
target "20.9.0"
ms_build_id "267516"
target "20.11.1"
ms_build_id "275039"
runtime "node"
build_from_source "true"

View file

@ -6,6 +6,7 @@
"@microsoft/1ds-core-js": "^3.2.13",
"@microsoft/1ds-post-js": "^3.2.13",
"@parcel/watcher": "2.1.0",
"@vscode/deviceid": "^0.1.1",
"@vscode/iconv-lite-umd": "0.7.0",
"@vscode/proxy-agent": "^0.19.0",
"@vscode/ripgrep": "^1.15.9",
@ -13,18 +14,18 @@
"@vscode/vscode-languagedetection": "1.0.21",
"@vscode/windows-process-tree": "^0.6.0",
"@vscode/windows-registry": "^1.1.0",
"@xterm/addon-image": "0.9.0-beta.17",
"@xterm/addon-search": "0.16.0-beta.17",
"@xterm/addon-serialize": "0.14.0-beta.17",
"@xterm/addon-unicode11": "0.9.0-beta.17",
"@xterm/addon-webgl": "0.19.0-beta.17",
"@xterm/headless": "5.6.0-beta.17",
"@xterm/xterm": "5.6.0-beta.17",
"@xterm/addon-clipboard": "0.2.0-beta.4",
"@xterm/addon-image": "0.9.0-beta.21",
"@xterm/addon-search": "0.16.0-beta.21",
"@xterm/addon-serialize": "0.14.0-beta.21",
"@xterm/addon-unicode11": "0.9.0-beta.21",
"@xterm/addon-webgl": "0.19.0-beta.21",
"@xterm/headless": "5.6.0-beta.21",
"@xterm/xterm": "5.6.0-beta.21",
"cookie": "^0.4.0",
"graceful-fs": "4.2.11",
"http-proxy-agent": "^7.0.0",
"https-proxy-agent": "^7.0.2",
"jschardet": "3.0.0",
"jschardet": "3.1.2",
"kerberos": "^2.0.1",
"minimist": "^1.2.6",
"native-watchdog": "^1.4.1",

View file

@ -7,13 +7,14 @@
"@microsoft/1ds-post-js": "^3.2.13",
"@vscode/iconv-lite-umd": "0.7.0",
"@vscode/vscode-languagedetection": "1.0.21",
"@xterm/addon-image": "0.9.0-beta.17",
"@xterm/addon-search": "0.16.0-beta.17",
"@xterm/addon-serialize": "0.14.0-beta.17",
"@xterm/addon-unicode11": "0.9.0-beta.17",
"@xterm/addon-webgl": "0.19.0-beta.17",
"@xterm/xterm": "5.6.0-beta.17",
"jschardet": "3.0.0",
"@xterm/addon-clipboard": "0.2.0-beta.4",
"@xterm/addon-image": "0.9.0-beta.21",
"@xterm/addon-search": "0.16.0-beta.21",
"@xterm/addon-serialize": "0.14.0-beta.21",
"@xterm/addon-unicode11": "0.9.0-beta.21",
"@xterm/addon-webgl": "0.19.0-beta.21",
"@xterm/xterm": "5.6.0-beta.21",
"jschardet": "3.1.2",
"tas-client-umd": "0.2.0",
"vscode-oniguruma": "1.7.0",
"vscode-textmate": "9.0.0"

View file

@ -48,40 +48,52 @@
resolved "https://registry.yarnpkg.com/@vscode/vscode-languagedetection/-/vscode-languagedetection-1.0.21.tgz#89b48f293f6aa3341bb888c1118d16ff13b032d3"
integrity sha512-zSUH9HYCw5qsCtd7b31yqkpaCU6jhtkKLkvOOA8yTrIRfBSOFb8PPhgmMicD7B/m+t4PwOJXzU1XDtrM9Fd3/g==
"@xterm/addon-image@0.9.0-beta.17":
version "0.9.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.9.0-beta.17.tgz#343d0665a6060d4f893b4f2d32de6ccbbd00bb63"
integrity sha512-g0r2hpBcLABY5as4llsMP36RHtkWooEn7tf+7U0/hTndJoCAvs4uGDqZNQigFgeAM3lJ4PnRYh4lfnEh9bGt8A==
"@xterm/addon-clipboard@0.2.0-beta.4":
version "0.2.0-beta.4"
resolved "https://registry.yarnpkg.com/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.4.tgz#9911baaebfbc07a698ae62366a596bfdeac8fa7e"
integrity sha512-p2KGTFUDK4YFthCgfsv2wT66JDTZPcIuoWeDT+TmSFbS1smDPTMCyM/rDDkGY+duHRcQsIMVzGC+2NRb/exX6A==
dependencies:
js-base64 "^3.7.5"
"@xterm/addon-search@0.16.0-beta.17":
version "0.16.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.16.0-beta.17.tgz#7cb01c7f498405909d37040884ee22d1889a36d2"
integrity sha512-wBfxmWOeqG6HHHE5mVamDJ75zBdHC35ERNy5/aTpQsQsyxrnV0Ks76c8ZVTaTu9wyBCAyx7UmZT42Ot80khY/g==
"@xterm/addon-image@0.9.0-beta.21":
version "0.9.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.9.0-beta.21.tgz#64fe50ee623f3e518574e1cbbe649cc0c0d60265"
integrity sha512-kTArrrS7K5+WYTTO8Ktt1aYxKTO4/jUm3KmyvPVjf9iw7OhLtG9mU+X9dXo56DTAqmbIUfJgY3OQbWffcyNk7w==
"@xterm/addon-serialize@0.14.0-beta.17":
version "0.14.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.17.tgz#1cb8e35c0d118060a807adb340624fa7f80dd9c5"
integrity sha512-/c3W39kdRgGGYDoYjXb5HrUC421qwPn6NryAT4WJuJWnyMtFbe2DPwKsTfHuCBPiPyovS3a9j950Md3O3YXDZA==
"@xterm/addon-search@0.16.0-beta.21":
version "0.16.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.16.0-beta.21.tgz#b8a20e83c1ff24afa675c3723244b2068255688d"
integrity sha512-RVn8yRx+w6R7abWiIttyAR0+Myh+XCYOLAkwco3iIYgzlztmox3Qp6YNzWJj0G8iwSvzxaSu7Fbjbb2PXTOSIg==
"@xterm/addon-unicode11@0.9.0-beta.17":
version "0.9.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.17.tgz#b5558148029a796c6a6d78e2a8b7255f92a51530"
integrity sha512-z7v8uojFVrO1aLSWtnz5MzSrfWRT8phde7kh9ufqHLBv7YYtMHxlPVjSuW8PZ2h4eY1LOZf6icUAzrmyJmJ7Kg==
"@xterm/addon-serialize@0.14.0-beta.21":
version "0.14.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.21.tgz#a074c5fdd2105c07574e6848babefef2905d84cb"
integrity sha512-Eg1QT2WG0pAIV+RrPv921+dVQvQqMhoFv2DQfMYDcqNbD2mTvIbX/ecEMb1bmn3WI0jNNomQ8UHZRFNRbDA+BA==
"@xterm/addon-webgl@0.19.0-beta.17":
version "0.19.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.17.tgz#68ad9e68dd1cf581b391971de33f5c04966b0d8e"
integrity sha512-X8ObRgoZl7UZTgdndM+mpSO3hLzAhWKoXXrGvUQg/7XabRKAPrQ2XvdyZm04nYwibE6Tpit2h5kkxjlVqupIig==
"@xterm/addon-unicode11@0.9.0-beta.21":
version "0.9.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.21.tgz#dc843df701e518bc459e77dcd4fd65fe49adbb4b"
integrity sha512-IiHYZ+88m5MCoAyOHWQ4xXzecOh6FsDDr8lZpJktbFHyzYjBlIDQ6z9cJg+3ApApfo5Xosnmzjs27kf7wG2L0w==
"@xterm/xterm@5.6.0-beta.17":
version "5.6.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.6.0-beta.17.tgz#67ce2e2ff45bd6cc9f26d455d5522c6c4a122ed9"
integrity sha512-+wAv8PhaGQSN9yXWIa8EFtT33pbrA4lZakMB1P05fr+DQ7zoH66QOAUoDY95uOf/4+S6Ihz8wzP2+FH8zETQEA==
"@xterm/addon-webgl@0.19.0-beta.21":
version "0.19.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.21.tgz#68b92a47bf6768babd57bfbaf3ac97a7c670d8df"
integrity sha512-YV8Aaxp4QokXXehSCJ7NvudZKPDyBiXv4HqENqDpQllCj4hOWC5xJYSoFoPtu5+UhlzfqqvYRX/Il7QegPFPDg==
jschardet@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
"@xterm/xterm@5.6.0-beta.21":
version "5.6.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.6.0-beta.21.tgz#87a4e45752e5708cffc5c583d7f15e107313eb4e"
integrity sha512-1tLJaGudNSg1hEC+ZwUU7PiUvzURzKB5v1IRaJdmZK81ZCxvEF6Qfo281pTZsZFnv2iOWqFEC0C5uRmBXLm0lQ==
js-base64@^3.7.5:
version "3.7.7"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.7.tgz#e51b84bf78fbf5702b9541e2cb7bfcb893b43e79"
integrity sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==
jschardet@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.1.2.tgz#9bf4364deba0677fe9e3bd9e29eda57febf2e9db"
integrity sha512-mw3CBZGzW8nUBPYhFU2ztZ/kJ6NClQUQVpyzvFMfznZsoC///ZQ30J2RCUanNsr5yF22LqhgYr/lj807/ZleWA==
tas-client-umd@0.2.0:
version "0.2.0"

View file

@ -53,6 +53,14 @@
resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-3.0.0.tgz#d52238c9052d746c9689523e650160e70786bc9a"
integrity sha512-OAdBVB7rlwvLD+DiecSAyVKzKVmSfXbouCyM5I6wHGi4MGXIyFqErg1IvyJ7PI1e+GYZuZh7cCHV/c4LA8SKMw==
"@vscode/deviceid@^0.1.1":
version "0.1.1"
resolved "https://registry.yarnpkg.com/@vscode/deviceid/-/deviceid-0.1.1.tgz#750e2930a3a8fbf3fd610096a8b915dfdb493c89"
integrity sha512-ErpoMeKKNYAkR1IT3zxB5RtiTqEECdh8fxggupWvzuxpTAX77hwOI2NdJ7um+vupnXRBZVx4ugo0+dVHJWUkag==
dependencies:
fs-extra "^11.2.0"
uuid "^9.0.1"
"@vscode/iconv-lite-umd@0.7.0":
version "0.7.0"
resolved "https://registry.yarnpkg.com/@vscode/iconv-lite-umd/-/iconv-lite-umd-0.7.0.tgz#d2f1e0664ee6036408f9743fee264ea0699b0e48"
@ -114,40 +122,47 @@
resolved "https://registry.yarnpkg.com/@vscode/windows-registry/-/windows-registry-1.1.0.tgz#03dace7c29c46f658588b9885b9580e453ad21f9"
integrity sha512-5AZzuWJpGscyiMOed0IuyEwt6iKmV5Us7zuwCDCFYMIq7tsvooO9BUiciywsvuthGz6UG4LSpeDeCxvgMVhnIw==
"@xterm/addon-image@0.9.0-beta.17":
version "0.9.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.9.0-beta.17.tgz#343d0665a6060d4f893b4f2d32de6ccbbd00bb63"
integrity sha512-g0r2hpBcLABY5as4llsMP36RHtkWooEn7tf+7U0/hTndJoCAvs4uGDqZNQigFgeAM3lJ4PnRYh4lfnEh9bGt8A==
"@xterm/addon-clipboard@0.2.0-beta.4":
version "0.2.0-beta.4"
resolved "https://registry.yarnpkg.com/@xterm/addon-clipboard/-/addon-clipboard-0.2.0-beta.4.tgz#9911baaebfbc07a698ae62366a596bfdeac8fa7e"
integrity sha512-p2KGTFUDK4YFthCgfsv2wT66JDTZPcIuoWeDT+TmSFbS1smDPTMCyM/rDDkGY+duHRcQsIMVzGC+2NRb/exX6A==
dependencies:
js-base64 "^3.7.5"
"@xterm/addon-search@0.16.0-beta.17":
version "0.16.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.16.0-beta.17.tgz#7cb01c7f498405909d37040884ee22d1889a36d2"
integrity sha512-wBfxmWOeqG6HHHE5mVamDJ75zBdHC35ERNy5/aTpQsQsyxrnV0Ks76c8ZVTaTu9wyBCAyx7UmZT42Ot80khY/g==
"@xterm/addon-image@0.9.0-beta.21":
version "0.9.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-image/-/addon-image-0.9.0-beta.21.tgz#64fe50ee623f3e518574e1cbbe649cc0c0d60265"
integrity sha512-kTArrrS7K5+WYTTO8Ktt1aYxKTO4/jUm3KmyvPVjf9iw7OhLtG9mU+X9dXo56DTAqmbIUfJgY3OQbWffcyNk7w==
"@xterm/addon-serialize@0.14.0-beta.17":
version "0.14.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.17.tgz#1cb8e35c0d118060a807adb340624fa7f80dd9c5"
integrity sha512-/c3W39kdRgGGYDoYjXb5HrUC421qwPn6NryAT4WJuJWnyMtFbe2DPwKsTfHuCBPiPyovS3a9j950Md3O3YXDZA==
"@xterm/addon-search@0.16.0-beta.21":
version "0.16.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-search/-/addon-search-0.16.0-beta.21.tgz#b8a20e83c1ff24afa675c3723244b2068255688d"
integrity sha512-RVn8yRx+w6R7abWiIttyAR0+Myh+XCYOLAkwco3iIYgzlztmox3Qp6YNzWJj0G8iwSvzxaSu7Fbjbb2PXTOSIg==
"@xterm/addon-unicode11@0.9.0-beta.17":
version "0.9.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.17.tgz#b5558148029a796c6a6d78e2a8b7255f92a51530"
integrity sha512-z7v8uojFVrO1aLSWtnz5MzSrfWRT8phde7kh9ufqHLBv7YYtMHxlPVjSuW8PZ2h4eY1LOZf6icUAzrmyJmJ7Kg==
"@xterm/addon-serialize@0.14.0-beta.21":
version "0.14.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-serialize/-/addon-serialize-0.14.0-beta.21.tgz#a074c5fdd2105c07574e6848babefef2905d84cb"
integrity sha512-Eg1QT2WG0pAIV+RrPv921+dVQvQqMhoFv2DQfMYDcqNbD2mTvIbX/ecEMb1bmn3WI0jNNomQ8UHZRFNRbDA+BA==
"@xterm/addon-webgl@0.19.0-beta.17":
version "0.19.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.17.tgz#68ad9e68dd1cf581b391971de33f5c04966b0d8e"
integrity sha512-X8ObRgoZl7UZTgdndM+mpSO3hLzAhWKoXXrGvUQg/7XabRKAPrQ2XvdyZm04nYwibE6Tpit2h5kkxjlVqupIig==
"@xterm/addon-unicode11@0.9.0-beta.21":
version "0.9.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-unicode11/-/addon-unicode11-0.9.0-beta.21.tgz#dc843df701e518bc459e77dcd4fd65fe49adbb4b"
integrity sha512-IiHYZ+88m5MCoAyOHWQ4xXzecOh6FsDDr8lZpJktbFHyzYjBlIDQ6z9cJg+3ApApfo5Xosnmzjs27kf7wG2L0w==
"@xterm/headless@5.6.0-beta.17":
version "5.6.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/headless/-/headless-5.6.0-beta.17.tgz#bff1d67c9c061c57adff22571e733d54e3aba2b7"
integrity sha512-ehS7y/XRqX1ppx4RPiYc0vu0SdIQ91aA4lSN/2XNOf3IGdP0A38Q7a0T6mzqxRGZKiiyA0kTR1szr78wnY+wmA==
"@xterm/addon-webgl@0.19.0-beta.21":
version "0.19.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/addon-webgl/-/addon-webgl-0.19.0-beta.21.tgz#68b92a47bf6768babd57bfbaf3ac97a7c670d8df"
integrity sha512-YV8Aaxp4QokXXehSCJ7NvudZKPDyBiXv4HqENqDpQllCj4hOWC5xJYSoFoPtu5+UhlzfqqvYRX/Il7QegPFPDg==
"@xterm/xterm@5.6.0-beta.17":
version "5.6.0-beta.17"
resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.6.0-beta.17.tgz#67ce2e2ff45bd6cc9f26d455d5522c6c4a122ed9"
integrity sha512-+wAv8PhaGQSN9yXWIa8EFtT33pbrA4lZakMB1P05fr+DQ7zoH66QOAUoDY95uOf/4+S6Ihz8wzP2+FH8zETQEA==
"@xterm/headless@5.6.0-beta.21":
version "5.6.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/headless/-/headless-5.6.0-beta.21.tgz#110fa33b59f4bf2d1de188e318bb944c8d774e97"
integrity sha512-RtKsv7KZb/ee8hwkvMNYuUofDoBR/KWUjoB5mo10C+dHyDJcMYiG2k48cAvcaJRjPH721iOELORKQk3NAlowkg==
"@xterm/xterm@5.6.0-beta.21":
version "5.6.0-beta.21"
resolved "https://registry.yarnpkg.com/@xterm/xterm/-/xterm-5.6.0-beta.21.tgz#87a4e45752e5708cffc5c583d7f15e107313eb4e"
integrity sha512-1tLJaGudNSg1hEC+ZwUU7PiUvzURzKB5v1IRaJdmZK81ZCxvEF6Qfo281pTZsZFnv2iOWqFEC0C5uRmBXLm0lQ==
agent-base@^7.0.1, agent-base@^7.0.2, agent-base@^7.1.0:
version "7.1.0"
@ -267,12 +282,21 @@ fs-constants@^1.0.0:
resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
fs-extra@^11.2.0:
version "11.2.0"
resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-11.2.0.tgz#e70e17dfad64232287d01929399e0ea7c86b0e5b"
integrity sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==
dependencies:
graceful-fs "^4.2.0"
jsonfile "^6.0.1"
universalify "^2.0.0"
github-from-package@0.0.0:
version "0.0.0"
resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
graceful-fs@4.2.11:
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.11"
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
@ -330,10 +354,24 @@ is-number@^7.0.0:
resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
jschardet@3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.0.0.tgz#898d2332e45ebabbdb6bf2feece9feea9a99e882"
integrity sha512-lJH6tJ77V8Nzd5QWRkFYCLc13a3vADkh3r/Fi8HupZGWk2OVVDfnZP8V/VgQgZ+lzW0kG2UGb5hFgt3V3ndotQ==
js-base64@^3.7.5:
version "3.7.7"
resolved "https://registry.yarnpkg.com/js-base64/-/js-base64-3.7.7.tgz#e51b84bf78fbf5702b9541e2cb7bfcb893b43e79"
integrity sha512-7rCnleh0z2CkXhH67J8K1Ytz0b2Y+yxTPL+/KOJoa20hfnVQ/3/T6W/KflYI4bRHRagNeXeU2bkNGI3v1oS/lw==
jschardet@3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/jschardet/-/jschardet-3.1.2.tgz#9bf4364deba0677fe9e3bd9e29eda57febf2e9db"
integrity sha512-mw3CBZGzW8nUBPYhFU2ztZ/kJ6NClQUQVpyzvFMfznZsoC///ZQ30J2RCUanNsr5yF22LqhgYr/lj807/ZleWA==
jsonfile@^6.0.1:
version "6.1.0"
resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
dependencies:
universalify "^2.0.0"
optionalDependencies:
graceful-fs "^4.1.6"
kerberos@^2.0.1:
version "2.0.1"
@ -600,11 +638,21 @@ tunnel-agent@^0.6.0:
dependencies:
safe-buffer "^5.0.1"
universalify@^2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.1.tgz#168efc2180964e6386d061e094df61afe239b18d"
integrity sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==
util-deprecate@^1.0.1:
version "1.0.2"
resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
uuid@^9.0.1:
version "9.0.1"
resolved "https://registry.yarnpkg.com/uuid/-/uuid-9.0.1.tgz#e188d4c8853cc722220392c424cd637f32293f30"
integrity sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==
vscode-oniguruma@1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.7.0.tgz#439bfad8fe71abd7798338d1cd3dc53a8beea94b"

View file

@ -9,6 +9,4 @@ esac
ROOT="$(dirname "$(dirname "$(readlink -f "$0")")")"
export UV_USE_IO_URING=0 # workaround for https://github.com/microsoft/vscode/issues/212678
"$ROOT/node" ${INSPECT:-} "$ROOT/out/server-main.js" "$@"

Some files were not shown because too many files have changed in this diff Show more