mirror of
https://github.com/Microsoft/vscode
synced 2024-10-05 19:02:54 +00:00
Merge branch 'main' into display-type
This commit is contained in:
commit
0550dd681f
|
@ -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
|
||||
|
|
|
@ -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",
|
||||
|
|
3
.github/workflows/locker.yml
vendored
3
.github/workflows/locker.yml
vendored
|
@ -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"
|
||||
|
|
|
@ -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[] = []
|
||||
) => {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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));
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
|
|
3
.vscode/settings.json
vendored
3
.vscode/settings.json
vendored
|
@ -170,6 +170,5 @@
|
|||
},
|
||||
"css.format.spaceAroundSelectorSeparator": true,
|
||||
"inlineChat.mode": "live",
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true,
|
||||
"typescript.tsserver.experimental.useVsCodeWatcher": true
|
||||
"typescript.enablePromptUseWorkspaceTsdk": true
|
||||
}
|
||||
|
|
4
.yarnrc
4
.yarnrc
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -1 +1 @@
|
|||
2024-05-16T14:24:05.381Z
|
||||
2024-05-25T03:29:59.419Z
|
||||
|
|
|
@ -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/**
|
||||
|
|
|
@ -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/**
|
||||
|
||||
|
|
|
@ -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: |
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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'),
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 = [];
|
||||
|
|
|
@ -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) => {
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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 });
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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);
|
||||
});
|
||||
|
|
|
@ -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"
|
||||
]
|
||||
}
|
||||
}
|
|
@ -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 = {
|
||||
|
|
|
@ -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'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -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));
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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',
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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": [
|
||||
|
|
|
@ -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
1601
cli/Cargo.lock
generated
File diff suppressed because it is too large
Load diff
|
@ -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
|
@ -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.
|
||||
|
|
|
@ -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(
|
||||
|
|
|
@ -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()
|
||||
{
|
||||
|
|
|
@ -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> {}
|
||||
|
||||
|
|
|
@ -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()
|
||||
})
|
||||
|
|
|
@ -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
|
||||
),
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
|
@ -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>;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
2
extensions/git/src/api/git.d.ts
vendored
2
extensions/git/src/api/git.d.ts
vendored
|
@ -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>;
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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';
|
||||
|
|
|
@ -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 };
|
||||
}));
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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+",
|
||||
|
|
|
@ -111,10 +111,10 @@
|
|||
},
|
||||
"indentationRules": {
|
||||
"decreaseIndentPattern": {
|
||||
"pattern": "^((?!.*?/\\*).*\\*\/)?\\s*[\\}\\]\\)].*$"
|
||||
"pattern": "^\\s*[\\}\\]\\)].*$"
|
||||
},
|
||||
"increaseIndentPattern": {
|
||||
"pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$"
|
||||
"pattern": "^.*(\\{[^}]*|\\([^)]*|\\[[^\\]]*)$"
|
||||
},
|
||||
// e.g. * ...| or */| or *-----*/|
|
||||
"unIndentedLinePattern": {
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
},
|
||||
{
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
"git": {
|
||||
"name": "MagicStack/MagicPython",
|
||||
"repositoryUrl": "https://github.com/MagicStack/MagicPython",
|
||||
"commitHash": "7d0f2b22a5ad8fccbd7341bc7b7a715169283044"
|
||||
"commitHash": "c9b3409deb69acec31bbf7913830e93a046b30cc"
|
||||
}
|
||||
},
|
||||
"license": "MIT",
|
||||
|
|
|
@ -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>();
|
||||
|
|
|
@ -129,10 +129,10 @@
|
|||
},
|
||||
"indentationRules": {
|
||||
"decreaseIndentPattern": {
|
||||
"pattern": "^((?!.*?/\\*).*\\*\/)?\\s*[\\}\\]\\)].*$"
|
||||
"pattern": "^\\s*[\\}\\]\\)].*$"
|
||||
},
|
||||
"increaseIndentPattern": {
|
||||
"pattern": "^((?!//).)*(\\{([^}\"'`/]*|(\\t|[ ])*//.*)|\\([^)\"'`/]*|\\[[^\\]\"'`/]*)$"
|
||||
"pattern": "^.*(\\{[^}]*|\\([^)]*|\\[[^\\]]*)$"
|
||||
},
|
||||
// e.g. * ...| or */| or *-----*/|
|
||||
"unIndentedLinePattern": {
|
||||
|
|
|
@ -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"]
|
||||
}
|
||||
}
|
||||
},
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
|
|
|
@ -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'],
|
||||
});
|
||||
});
|
||||
}
|
|
@ -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,
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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,
|
||||
});
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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))),
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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[]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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');
|
||||
}
|
||||
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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",
|
||||
]
|
||||
}
|
||||
|
|
|
@ -7,9 +7,8 @@
|
|||
"enabledApiProposals": [
|
||||
"activeComment",
|
||||
"authSession",
|
||||
"chatParticipant",
|
||||
"languageModels",
|
||||
"defaultChatParticipant",
|
||||
"chatParticipantPrivate",
|
||||
"chatVariableResolver",
|
||||
"contribViewsRemote",
|
||||
"contribStatusBarItems",
|
||||
|
|
|
@ -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"
|
||||
|
|
30
package.json
30
package.json
|
@ -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"
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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",
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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"
|
||||
|
|
114
remote/yarn.lock
114
remote/yarn.lock
|
@ -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"
|
||||
|
|
|
@ -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
Loading…
Reference in a new issue