From 03e0bdac0391a7103ce1edda95c5d2149229a252 Mon Sep 17 00:00:00 2001 From: Joe Previte Date: Wed, 9 Mar 2022 14:28:52 -0700 Subject: [PATCH] chore: update vscode to 1.64 (#4902) * chore: update vscode server files * chore: update code to 1.64 * refactor: clean up code in constants.ts * chore: keep package.json vscode cache * fixup!: formatting * feat(ci): add VSCODE_CACHE_VERSION * fix(ci): add package.json for e2e tests * fix: TS errors * refactor: remove isConnected e2e tests --- .github/workflows/ci.yaml | 13 +- src/node/constants.ts | 10 +- src/node/main.ts | 4 +- src/node/routes/vscode.ts | 7 +- test/e2e/codeServer.test.ts | 4 - test/e2e/models/CodeServer.ts | 48 +++---- vendor/package.json | 2 +- vendor/yarn.lock | 235 +++++++++++++++++++--------------- 8 files changed, 165 insertions(+), 158 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 22ebdc2d2..54381c20b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -143,18 +143,19 @@ jobs: run: echo "::set-output name=rev::$(jq -r '.devDependencies["code-oss-dev"]' vendor/package.json | sed -r 's|.*#(.*)$|\1|')" - name: Attempt to fetch vscode build from cache - id: cache-vscode + id: cache-vscode-2 uses: actions/cache@v2 with: path: | vendor/modules/code-oss-dev/.build + vendor/modules/code-oss-dev/package.json vendor/modules/code-oss-dev/out-build vendor/modules/code-oss-dev/out-vscode-reh-web vendor/modules/code-oss-dev/out-vscode-reh-web-min - key: vscode-reh-build-${{ steps.vscode-rev.outputs.rev }} + key: vscode-reh-build-${{ secrets.VSCODE_CACHE_VERSION }}-${{ steps.vscode-rev.outputs.rev }} - name: Build vscode - if: steps.cache-vscode.outputs.cache-hit != 'true' + if: steps.cache-vscode-2.outputs.cache-hit != 'true' run: yarn build:vscode # Our code imports code from VS Code's `out` directory meaning VS Code @@ -445,6 +446,12 @@ jobs: ./test/node_modules/.bin/playwright install-deps ./test/node_modules/.bin/playwright install + # TODO@jsjoeio - remove once we switch to submodules. + - name: Create package.json for testing + run: | + mkdir -p ./vendor/modules/code-oss-dev + echo '{ "version": "test" }' > ./vendor/modules/code-oss-dev/package.json + - name: Run end-to-end tests run: yarn test:e2e diff --git a/src/node/constants.ts b/src/node/constants.ts index e27e9a4d8..1670d858b 100644 --- a/src/node/constants.ts +++ b/src/node/constants.ts @@ -16,14 +16,14 @@ export function getPackageJson(relativePath: string): JSONSchemaForNPMPackageJso return pkg } -const pkg = getPackageJson("../../package.json") -const codePkg = getPackageJson("../../vendor/modules/code-oss-dev/package.json") - +export const rootPath = path.resolve(__dirname, "../..") +export const vsRootPath = path.join(rootPath, "vendor/modules/code-oss-dev") +const PACKAGE_JSON = "package.json" +const pkg = getPackageJson(`${rootPath}/${PACKAGE_JSON}`) +const codePkg = getPackageJson(`${vsRootPath}/${PACKAGE_JSON}`) || { version: "0.0.0" } export const pkgName = pkg.name || "code-server" export const version = pkg.version || "development" export const commit = pkg.commit || "development" -export const rootPath = path.resolve(__dirname, "../..") -export const vsRootPath = path.join(rootPath, "vendor/modules/code-oss-dev") export const codeVersion = codePkg.version || "development" export const tmpdir = path.join(os.tmpdir(), "code-server") export const isDevMode = commit === "development" diff --git a/src/node/main.ts b/src/node/main.ts index eb5a5be04..55ca2c4a4 100644 --- a/src/node/main.ts +++ b/src/node/main.ts @@ -31,8 +31,8 @@ export const shouldSpawnCliProcess = (args: UserProvidedArgs): boolean => { export const runVsCodeCli = async (args: DefaultedArgs): Promise => { logger.debug("Running VS Code CLI") - // See ../../vendor/modules/code-oss-dev/src/vs/server/main.js. - const spawnCli = await loadAMDModule("vs/server/remoteExtensionHostAgent", "spawnCli") + // See ../../vendor/modules/code-oss-dev/src/vs/server/node/server.main.js. + const spawnCli = await loadAMDModule("vs/server/node/server.main", "spawnCli") try { await spawnCli(await toVsCodeArgs(args)) diff --git a/src/node/routes/vscode.ts b/src/node/routes/vscode.ts index b137bfcd5..f03324c42 100644 --- a/src/node/routes/vscode.ts +++ b/src/node/routes/vscode.ts @@ -118,12 +118,9 @@ export class CodeServerRouteWrapper { const { args } = req /** - * @file ../../../vendor/modules/code-oss-dev/src/vs/server/main.js + * @file ../../../vendor/modules/code-oss-dev/src/vs/server/node/server.main.js */ - const createVSServer = await loadAMDModule( - "vs/server/remoteExtensionHostAgent", - "createServer", - ) + const createVSServer = await loadAMDModule("vs/server/node/server.main", "createServer") try { this._codeServerMain = await createVSServer(null, { diff --git a/test/e2e/codeServer.test.ts b/test/e2e/codeServer.test.ts index 30e8cc6c5..0dcbbce13 100644 --- a/test/e2e/codeServer.test.ts +++ b/test/e2e/codeServer.test.ts @@ -55,10 +55,6 @@ describe("code-server", true, [], {}, () => { expect(await codeServerPage.isEditorVisible()).toBe(true) }) - test("should always have a connection", async ({ codeServerPage }) => { - expect(await codeServerPage.isConnected()).toBe(true) - }) - test("should show the Integrated Terminal", async ({ codeServerPage }) => { await codeServerPage.focusTerminal() expect(await codeServerPage.page.isVisible("#terminal")).toBe(true) diff --git a/test/e2e/models/CodeServer.ts b/test/e2e/models/CodeServer.ts index 004fd99f0..e2bbdc1d6 100644 --- a/test/e2e/models/CodeServer.ts +++ b/test/e2e/models/CodeServer.ts @@ -20,14 +20,14 @@ class Context { public canceled(): boolean { return this._canceled } - public done(): void { - this._done = true + public finished(): boolean { + return this._done } public cancel(): void { this._canceled = true } - public finish(): boolean { - return this._done + public finish(): void { + this._done = true } } @@ -43,7 +43,7 @@ export class CodeServer { name: string, private readonly args: string[], private readonly env: NodeJS.ProcessEnv, - private readonly _workspaceDir: Promise | string | undefined, + private _workspaceDir: Promise | string | undefined, private readonly entry = process.env.CODE_SERVER_TEST_ENTRY || ".", ) { this.logger = logger.named(name) @@ -64,7 +64,7 @@ export class CodeServer { /** * The workspace directory code-server opens with. */ - get workspaceDir(): Promise { + get workspaceDir(): Promise | string { if (!this._workspaceDir) { this._workspaceDir = tmpdir(workspaceDir) } @@ -198,7 +198,7 @@ export class CodeServerPage { private readonly authenticated: boolean, ) { this.page.on("console", (message) => { - this.codeServer.logger.debug(message) + this.codeServer.logger.debug(message.text()) }) this.page.on("pageerror", (error) => { logError(this.codeServer.logger, "page", error) @@ -241,14 +241,13 @@ export class CodeServerPage { this.codeServer.logger.debug("Waiting for editor to be ready...") const editorIsVisible = await this.isEditorVisible() - const editorIsConnected = await this.isConnected() let reloadCount = 0 // Occassionally code-server timeouts in Firefox // we're not sure why // but usually a reload or two fixes it // TODO@jsjoeio @oxy look into Firefox reconnection/timeout issues - while (!editorIsVisible && !editorIsConnected) { + while (!editorIsVisible) { // When a reload happens, we want to wait for all resources to be // loaded completely. Hence why we use that instead of DOMContentLoaded // Read more: https://thisthat.dev/dom-content-loaded-vs-load/ @@ -256,7 +255,7 @@ export class CodeServerPage { // Give it an extra second just in case it's feeling extra slow await this.page.waitForTimeout(1000) reloadCount += 1 - if ((await this.isEditorVisible()) && (await this.isConnected())) { + if (await this.isEditorVisible()) { this.codeServer.logger.debug(`editor became ready after ${reloadCount} reloads`) break } @@ -280,23 +279,6 @@ export class CodeServerPage { return visible } - /** - * Checks if the editor is visible - */ - async isConnected() { - this.codeServer.logger.debug("Waiting for network idle...") - - await this.page.waitForLoadState("networkidle") - - const host = new URL(await this.codeServer.address()).host - // NOTE: This seems to be pretty brittle between version changes. - const hostSelector = `[aria-label="remote ${host}"]` - this.codeServer.logger.debug(`Waiting selector: ${hostSelector}`) - await this.page.waitForSelector(hostSelector) - - return await this.page.isVisible(hostSelector) - } - /** * Focuses Integrated Terminal * by using "Terminal: Focus Terminal" @@ -326,13 +308,13 @@ export class CodeServerPage { * Wait for a tab to open for the specified file. */ async waitForTab(file: string): Promise { - return this.page.waitForSelector(`.tab :text("${path.basename(file)}")`) + await this.page.waitForSelector(`.tab :text("${path.basename(file)}")`) } /** * See if the specified tab is open. */ - async tabIsVisible(file: string): Promise { + async tabIsVisible(file: string): Promise { return this.page.isVisible(`.tab :text("${path.basename(file)}")`) } @@ -368,8 +350,8 @@ export class CodeServerPage { try { await this.page.waitForSelector(`${selector}:not(:focus-within)`) } catch (error) { - if (!ctx.done()) { - this.codeServer.logger.debug(`${selector} navigation: ${error.message || error}`) + if (!ctx.finished()) { + this.codeServer.logger.debug(`${selector} navigation: ${(error as any).message || error}`) } } return false @@ -423,7 +405,7 @@ export class CodeServerPage { return false } } catch (error) { - logger.debug(`navigation: ${error.message || error}`) + logger.debug(`navigation: ${(error as any).message || error}`) return false } } @@ -436,7 +418,7 @@ export class CodeServerPage { // time we lose focus or there is an error. let attempts = 1 let context = new Context() - while (!(await Promise.race([openThenWaitClose(), navigate(context)]))) { + while (!(await Promise.race([openThenWaitClose(context), navigate(context)]))) { ++attempts logger.debug("closed, retrying (${attempt}/∞)") context.cancel() diff --git a/vendor/package.json b/vendor/package.json index 86f905adf..1deddd2c8 100644 --- a/vendor/package.json +++ b/vendor/package.json @@ -7,6 +7,6 @@ "postinstall": "./postinstall.sh" }, "devDependencies": { - "code-oss-dev": "coder/vscode#94384412221f432c15bb679315c49964925090be" + "code-oss-dev": "coder/vscode#a13f6e1434ad6ab820eef0ecca5b923b3e275667" } } diff --git a/vendor/yarn.lock b/vendor/yarn.lock index 14b8b6f42..ac088bb7a 100644 --- a/vendor/yarn.lock +++ b/vendor/yarn.lock @@ -99,10 +99,10 @@ resolved "https://registry.yarnpkg.com/@microsoft/dynamicproto-js/-/dynamicproto-js-1.1.4.tgz#40e1c0ad20743fcee1604a7df2c57faf0aa1af87" integrity sha512-Ot53G927ykMF8cQ3/zq4foZtdk+Tt1YpX7aUTHxBU7UHNdkEiBvBfZSq+rnlUmKCJ19VatwPG4mNzvcGpBj4og== -"@parcel/watcher@2.0.3": - version "2.0.3" - resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.3.tgz#2bae7720f2b9c21ea0b89bab55479c7e8937231e" - integrity sha512-PHh5PArr3nYGYVj9z/NSfDmmKEBNrg2bzoFgxzjTRBBxPUKx039x3HF6VGLFIfrghjJxcYn/IeSpdVwfob7KFA== +"@parcel/watcher@2.0.5": + version "2.0.5" + resolved "https://registry.yarnpkg.com/@parcel/watcher/-/watcher-2.0.5.tgz#f913a54e1601b0aac972803829b0eece48de215b" + integrity sha512-x0hUbjv891omnkcHD7ZOhiyyUqUUR6MNjq89JhEI3BxppeKWAm6NPQsqqRrAkCJBogdT/o/My21sXtTI9rJIsw== dependencies: node-addon-api "^3.2.1" node-gyp-build "^4.3.0" @@ -129,6 +129,24 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.17.tgz#4ec7b71bbcb01a4e55455b60b18b1b6a783fe31d" integrity sha512-niAjcewgEYvSPCZm3OaM9y6YQrL2SEPH9PymtE6fuZAvFiP6ereCcvApGl2jKTq7copTIguX3PBvfP08LN4LvQ== +"@vscode/debugprotocol@1.51.0": + version "1.51.0" + resolved "https://registry.yarnpkg.com/@vscode/debugprotocol/-/debugprotocol-1.51.0.tgz#1d28a8581f8ea74b8e2fd465d4448717589a0ae3" + integrity sha512-39ShbKzI+0r53haLZQVEhY4XhdMJVSqfcliaDFigQjqiWattno5Ex0jXq2WRHrAtPf+W5Un9/HtED0K3pAiqZg== + +"@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" + integrity sha512-bRRFxLfg5dtAyl5XyiVWz/ZBPahpOpPrNYnnHpOpUZvam4tKH35wdhP4Kj6PbM0+KdliOsPzbGWpkxcdpNB/sg== + +"@vscode/ripgrep@^1.14.1": + version "1.14.2" + resolved "https://registry.yarnpkg.com/@vscode/ripgrep/-/ripgrep-1.14.2.tgz#47c0eec2b64f53d8f7e1b5ffd22a62e229191c34" + integrity sha512-KDaehS8Jfdg1dqStaIPDKYh66jzKd5jy5aYEPzIv0JYFLADPsCSQPBUdsJVXnr0t72OlDcj96W05xt/rSnNFFQ== + dependencies: + https-proxy-agent "^5.0.0" + proxy-from-env "^1.1.0" + "@vscode/sqlite3@4.0.12": version "4.0.12" resolved "https://registry.yarnpkg.com/@vscode/sqlite3/-/sqlite3-4.0.12.tgz#50b36c788b5d130c02612b27eaf6905dc2156a43" @@ -146,6 +164,11 @@ resolved "https://registry.yarnpkg.com/@vscode/vscode-languagedetection/-/vscode-languagedetection-1.0.21.tgz#89b48f293f6aa3341bb888c1118d16ff13b032d3" integrity sha512-zSUH9HYCw5qsCtd7b31yqkpaCU6jhtkKLkvOOA8yTrIRfBSOFb8PPhgmMicD7B/m+t4PwOJXzU1XDtrM9Fd3/g== +"@vscode/windows-registry@1.0.5": + version "1.0.5" + resolved "https://registry.yarnpkg.com/@vscode/windows-registry/-/windows-registry-1.0.5.tgz#a6c463ac123ee7b23f9b90935aea086a97a778dc" + integrity sha512-xEA/L3ki8qMSer3hwdm590G43YCjpMb7evqS5aSPFFAhAYepvVr12/szKFgx1v1aQHOcR2riWg5YqBLajOZoaw== + agent-base@4, agent-base@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-4.3.0.tgz#8165f01c436009bccad0b1d122f05ed770efc6ee" @@ -153,11 +176,6 @@ agent-base@4, agent-base@^4.3.0: dependencies: es6-promisify "^5.0.0" -agent-base@5: - version "5.1.1" - resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-5.1.1.tgz#e8fb3f242959db44d63be665db7a8e739537a32c" - integrity sha512-TMeqbNl2fMW0nMjTEPOwe3J/PRFP4vqeoNuQMG0HlMrtm5QxKqdvAkZ1pRBQ/ulIyDD5Yq0nJ7YbdD8ey0TO3g== - agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -175,14 +193,15 @@ ansi-regex@^3.0.0: resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998" integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg= -applicationinsights@1.0.8: - version "1.0.8" - resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-1.0.8.tgz#db6e3d983cf9f9405fe1ee5ba30ac6e1914537b5" - integrity sha512-KzOOGdphOS/lXWMFZe5440LUdFbrLpMvh2SaRxn7BmiI550KAoSb2gIhiq6kJZ9Ir3AxRRztjhzif+e5P5IXIg== +applicationinsights@1.4.2: + version "1.4.2" + resolved "https://registry.yarnpkg.com/applicationinsights/-/applicationinsights-1.4.2.tgz#2f25f7a3f3e5bf0ab4486b63e42a48a9ec321d52" + integrity sha512-1wE37G9zEMZTsPJVQ8BDrQtsGgG3DGMActLHwPAF8TYHAXkfqqpeZYCH0XV4lUZ7H4MffRMwN2Ln2nEtUmT8HQ== dependencies: + cls-hooked "^4.2.2" + continuation-local-storage "^3.2.1" diagnostic-channel "0.2.0" - diagnostic-channel-publishers "0.2.1" - zone.js "0.7.6" + diagnostic-channel-publishers "^0.3.3" aproba@^1.0.3: version "1.2.0" @@ -197,6 +216,21 @@ are-we-there-yet@~1.1.2: delegates "^1.0.0" readable-stream "^2.0.6" +async-hook-jl@^1.7.6: + version "1.7.6" + resolved "https://registry.yarnpkg.com/async-hook-jl/-/async-hook-jl-1.7.6.tgz#4fd25c2f864dbaf279c610d73bf97b1b28595e68" + integrity sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg== + dependencies: + stack-chain "^1.3.7" + +async-listener@^0.6.0: + version "0.6.10" + resolved "https://registry.yarnpkg.com/async-listener/-/async-listener-0.6.10.tgz#a7c97abe570ba602d782273c0de60a51e3e17cbc" + integrity sha512-gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw== + dependencies: + semver "^5.3.0" + shimmer "^1.1.0" + base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" @@ -274,21 +308,31 @@ clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -code-oss-dev@coder/vscode#94384412221f432c15bb679315c49964925090be: - version "1.63.0" - resolved "https://codeload.github.com/coder/vscode/tar.gz/94384412221f432c15bb679315c49964925090be" +cls-hooked@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908" + integrity sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw== + dependencies: + async-hook-jl "^1.7.6" + emitter-listener "^1.0.1" + semver "^5.4.1" + +code-oss-dev@coder/vscode#a13f6e1434ad6ab820eef0ecca5b923b3e275667: + version "1.64.2" + resolved "https://codeload.github.com/coder/vscode/tar.gz/a13f6e1434ad6ab820eef0ecca5b923b3e275667" dependencies: "@microsoft/applicationinsights-web" "^2.6.4" - "@parcel/watcher" "2.0.3" + "@parcel/watcher" "2.0.5" + "@vscode/debugprotocol" "1.51.0" + "@vscode/iconv-lite-umd" "0.7.0" + "@vscode/ripgrep" "^1.14.1" "@vscode/sqlite3" "4.0.12" "@vscode/sudo-prompt" "9.3.1" "@vscode/vscode-languagedetection" "1.0.21" - applicationinsights "1.0.8" - cookie "^0.4.1" + applicationinsights "1.4.2" graceful-fs "4.2.8" http-proxy-agent "^2.1.0" https-proxy-agent "^2.2.3" - iconv-lite-umd "0.6.10" jschardet "3.0.0" minimist "^1.2.5" native-is-elevated "0.4.3" @@ -296,22 +340,21 @@ code-oss-dev@coder/vscode#94384412221f432c15bb679315c49964925090be: node-pty "0.11.0-beta11" spdlog "^0.13.0" tas-client-umd "0.1.4" - v8-inspect-profiler "^0.0.22" - vscode-nsfw "2.1.8" + v8-inspect-profiler "^0.1.0" vscode-oniguruma "1.6.1" vscode-proxy-agent "^0.11.0" vscode-regexpp "^3.1.0" - vscode-ripgrep "^1.12.1" - vscode-textmate "5.5.0" - xterm "4.16.0-beta.2" - xterm-addon-search "0.9.0-beta.6" - xterm-addon-serialize "0.7.0-beta.3" + vscode-textmate "6.0.0" + xterm "4.17.0-beta.7" + xterm-addon-search "0.9.0-beta.8" + xterm-addon-serialize "0.7.0-beta.6" xterm-addon-unicode11 "0.4.0-beta.1" - xterm-addon-webgl "0.12.0-beta.16" - xterm-headless "4.16.0-beta.2" + xterm-addon-webgl "0.12.0-beta.21" + xterm-headless "4.17.0-beta.7" yauzl "^2.9.2" yazl "^2.4.3" optionalDependencies: + "@vscode/windows-registry" "1.0.5" electron "13.5.1" keytar "7.2.0" native-keymap "3.0.1" @@ -353,10 +396,13 @@ console-control-strings@^1.0.0, console-control-strings@~1.1.0: resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e" integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4= -cookie@^0.4.1: - version "0.4.1" - resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1" - integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA== +continuation-local-storage@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/continuation-local-storage/-/continuation-local-storage-3.2.1.tgz#11f613f74e914fe9b34c92ad2d28fe6ae1db7ffb" + integrity sha512-jx44cconVqkCEEyLSKWwkvUXwO561jXMa3LPjTPsm5QR22PA0/mhe33FT4Xb5y74JDvt/Cq+5lm8S8rskLv9ZA== + dependencies: + async-listener "^0.6.0" + emitter-listener "^1.1.1" core-js@^3.6.5: version "3.17.3" @@ -447,10 +493,10 @@ detect-node@^2.0.4: resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1" integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g== -diagnostic-channel-publishers@0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.2.1.tgz#8e2d607a8b6d79fe880b548bc58cc6beb288c4f3" - integrity sha1-ji1geottef6IC1SLxYzGvrKIxPM= +diagnostic-channel-publishers@^0.3.3: + version "0.3.5" + resolved "https://registry.yarnpkg.com/diagnostic-channel-publishers/-/diagnostic-channel-publishers-0.3.5.tgz#a84a05fd6cc1d7619fdd17791c17e540119a7536" + integrity sha512-AOIjw4T7Nxl0G2BoBPhkQ6i7T4bUd9+xvdYizwvG7vVAM1dvr+SDrcUudlmzwH0kbEwdR2V1EcnKT0wAeYLQNQ== diagnostic-channel@0.2.0: version "0.2.0" @@ -473,6 +519,13 @@ electron@13.5.1: "@types/node" "^14.6.2" extract-zip "^1.0.3" +emitter-listener@^1.0.1, emitter-listener@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8" + integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ== + dependencies: + shimmer "^1.2.0" + encodeurl@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" @@ -698,14 +751,6 @@ https-proxy-agent@^2.2.3: agent-base "^4.3.0" debug "^3.1.0" -https-proxy-agent@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-4.0.0.tgz#702b71fb5520a132a66de1f67541d9e62154d82b" - integrity sha512-zoDhWrkR3of1l9QAL8/scJZyLu8j/gBkcwcaQOZh7Gyh/+uJQzGVETdgT30akuwkpL8HTRfssqI3BZuV18teDg== - dependencies: - agent-base "5" - debug "4" - https-proxy-agent@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2" @@ -714,11 +759,6 @@ https-proxy-agent@^5.0.0: agent-base "6" debug "4" -iconv-lite-umd@0.6.10: - version "0.6.10" - resolved "https://registry.yarnpkg.com/iconv-lite-umd/-/iconv-lite-umd-0.6.10.tgz#faec47521e095b8e3a7175ae08e1b4ae0359a735" - integrity sha512-8NtgTa/m1jVq7vdywmD5+SqIlZsB59wtsjaylQuExyCojMq1tHVQxmHjeqVSYwKwnmQbH4mZ1Dxx1eqDkPgaqA== - ieee754@^1.1.13: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -911,11 +951,6 @@ node-addon-api@^3.0.0, node-addon-api@^3.0.2, node-addon-api@^3.2.1: resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-3.2.1.tgz#81325e0a2117789c0128dab65e7e38f07ceba161" integrity sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A== -node-addon-api@^4.2.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.2.0.tgz#117cbb5a959dff0992e1c586ae0393573e4d2a87" - integrity sha512-eazsqzwG2lskuzBqCGPi7Ac2UgOoMz8JVOXVhTvvPDYhthvNpefx8jWD8Np7Gv+2Sz0FlPWZk0nJV0z598Wn8Q== - node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" @@ -1145,6 +1180,11 @@ set-blocking@~2.0.0: resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7" integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc= +shimmer@^1.1.0, shimmer@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" + integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + signal-exit@^3.0.0: version "3.0.3" resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c" @@ -1200,6 +1240,11 @@ sprintf-js@^1.1.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== +stack-chain@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285" + integrity sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU= + string-width@^1.0.1: version "1.0.2" resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3" @@ -1332,20 +1377,13 @@ util-deprecate@^1.0.1, util-deprecate@~1.0.1: resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf" integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8= -v8-inspect-profiler@^0.0.22: - version "0.0.22" - resolved "https://registry.yarnpkg.com/v8-inspect-profiler/-/v8-inspect-profiler-0.0.22.tgz#34d3ba35a965c437ed28279d31cd42d7698a4002" - integrity sha512-r2p7UkbFlFopAWUVprbECP+EpdjuEKPFQLhqpnHx9KxeTTLVaHuGpUNHye53MtYMoJFl9nJiMyIM7J2yY+dTQg== +v8-inspect-profiler@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/v8-inspect-profiler/-/v8-inspect-profiler-0.1.0.tgz#0d3f80e2dc878f737c31ae7ff4c033425a33a724" + integrity sha512-K7RyY4p59+rIPvgcTN/Oo7VU9cJ68LOl+dz8RCh/M4VwbZ9yS3Ci+qajbMDojW207anNn7CehkLvqpSIrNT9oA== dependencies: chrome-remote-interface "0.28.2" -vscode-nsfw@2.1.8: - version "2.1.8" - resolved "https://registry.yarnpkg.com/vscode-nsfw/-/vscode-nsfw-2.1.8.tgz#88f5e56b22b2fd0be582e73eb1158ea8257f6c6c" - integrity sha512-tFnxPIuM65czw/Kjz8KXD88fIJtnCjzQ0ighS0a1yasVv6jKkANAlGffiOitTLMkDjvFCY8OyP6xjarTkpu/VQ== - dependencies: - node-addon-api "^4.2.0" - vscode-oniguruma@1.6.1: version "1.6.1" resolved "https://registry.yarnpkg.com/vscode-oniguruma/-/vscode-oniguruma-1.6.1.tgz#2bf4dfcfe3dd2e56eb549a3068c8ee39e6c30ce5" @@ -1371,18 +1409,10 @@ vscode-regexpp@^3.1.0: resolved "https://registry.yarnpkg.com/vscode-regexpp/-/vscode-regexpp-3.1.0.tgz#42d059b6fffe99bd42939c0d013f632f0cad823f" integrity sha512-pqtN65VC1jRLawfluX4Y80MMG0DHJydWhe5ZwMHewZD6sys4LbU6lHwFAHxeuaVE6Y6+xZOtAw+9hvq7/0ejkg== -vscode-ripgrep@^1.12.1: - version "1.12.1" - resolved "https://registry.yarnpkg.com/vscode-ripgrep/-/vscode-ripgrep-1.12.1.tgz#4a319809d4010ea230659ce605fddacd1e36a589" - integrity sha512-4edKlcXNSKdC9mIQmQ9Wl25v0SF5DOK31JlvKHKHYV4co0V2MjI9pbDPdmogwbtiykz+kFV/cKnZH2TgssEasQ== - dependencies: - https-proxy-agent "^4.0.0" - proxy-from-env "^1.1.0" - -vscode-textmate@5.5.0: - version "5.5.0" - resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-5.5.0.tgz#d83776562c07d1e3181c2c7f1b3d5f20afcab483" - integrity sha512-jToQkPGMNKn0eyKyitYeINJF0NoD240aYyKPIWJv5W2jfPt++jIRg0OSergubtGhbw6SoefkvBYEpX7TsfoSUQ== +vscode-textmate@6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/vscode-textmate/-/vscode-textmate-6.0.0.tgz#a3777197235036814ac9a92451492f2748589210" + integrity sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ== vscode-windows-ca-certs@^0.3.0: version "0.3.0" @@ -1438,35 +1468,35 @@ xregexp@2.0.0: resolved "https://registry.yarnpkg.com/xregexp/-/xregexp-2.0.0.tgz#52a63e56ca0b84a7f3a5f3d61872f126ad7a5943" integrity sha1-UqY+VsoLhKfzpfPWGHLxJq16WUM= -xterm-addon-search@0.9.0-beta.6: - version "0.9.0-beta.6" - resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.6.tgz#8b016baac5580dc0ba93bb52610bc4f5776d3b17" - integrity sha512-UAEzas4O+NrF7BSGf0C9N5ngAkmbtr/hSTFvLAM/Rw7EfLUatf8aLMqAWZTggRGMwDjuqR0GXJI4+e5QrJhQfw== +xterm-addon-search@0.9.0-beta.8: + version "0.9.0-beta.8" + resolved "https://registry.yarnpkg.com/xterm-addon-search/-/xterm-addon-search-0.9.0-beta.8.tgz#b3cbe364e24ea5765c36cba47c78a14acbe69062" + integrity sha512-FCv5zo6BVc7DaG3kLEOskKDCns7y2fRHqmZDrSmyfCd1lPmm9OA3UYdxZy5BtNkn6bc8amwpB7J2bIdu8VV7Qg== -xterm-addon-serialize@0.7.0-beta.3: - version "0.7.0-beta.3" - resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.3.tgz#a8ce52a59685041bd3b6d6a2a77a3df8bc3daf29" - integrity sha512-fgB0h8JiSN1cOMh3slenysprnGfFwbDZ/D38WA0Pdjxf3YDy4j2SwoUajlvXpkFWR7sHjVHmgpw/nHggO731KA== +xterm-addon-serialize@0.7.0-beta.6: + version "0.7.0-beta.6" + resolved "https://registry.yarnpkg.com/xterm-addon-serialize/-/xterm-addon-serialize-0.7.0-beta.6.tgz#f1512f0690821d0c2a88700fb706c1212f69a39a" + integrity sha512-tP/larcKOQaCgfq5XlQT8plTRwi2fZHqy8UqbMnZ6LQZajvc01oGp5njaasfXu5vyIFhugp5fgH5vy5zgspbwg== xterm-addon-unicode11@0.4.0-beta.1: version "0.4.0-beta.1" resolved "https://registry.yarnpkg.com/xterm-addon-unicode11/-/xterm-addon-unicode11-0.4.0-beta.1.tgz#aeefd26e87bad15d8dfd8a1e0b804fe408c9b882" integrity sha512-pG8mpxnqpYDry0e20vuEFKhd4kKIcLLNwdNftNvfo+R/EjYRnTYnF+H8L+7eQHq6hqDH61xCEP4H4qR2CyT4pg== -xterm-addon-webgl@0.12.0-beta.16: - version "0.12.0-beta.16" - resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.16.tgz#63a0f1f5be9e66286e035448e2011e3065769ad5" - integrity sha512-g6v3RegOhSsD9Zt8ArWBMNT30QyPUlIWEIvP/xLHAluUZ1S5sDjFyZDB0nJAyn9MwQozJpwb0ylYO1nznN/TzA== +xterm-addon-webgl@0.12.0-beta.21: + version "0.12.0-beta.21" + resolved "https://registry.yarnpkg.com/xterm-addon-webgl/-/xterm-addon-webgl-0.12.0-beta.21.tgz#8c476d25ec40b7535dedbd87b9cdf5eeeb41fc93" + integrity sha512-aeZcjxbtPfkVutNnXqCv9E5V4DoYecUFztWOjBzI/dgC1xfMOMVWzsymK9H1EUfd6u0ymEIeOjvX9bHsXNUzdA== -xterm-headless@4.16.0-beta.2: - version "4.16.0-beta.2" - resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.16.0-beta.2.tgz#62e66a655a30c814e3a311f3542d42c87446cecd" - integrity sha512-g92HDaIZcu1TQFlrjq2CHtt7A2qAwSD6s8RwncU/7u1kaq2e7rc9O3OKfu5v3QzgaRSKuugtquMr0OTKjkmLUg== +xterm-headless@4.17.0-beta.7: + version "4.17.0-beta.7" + resolved "https://registry.yarnpkg.com/xterm-headless/-/xterm-headless-4.17.0-beta.7.tgz#6ae3f5436a29f7e4554c6d9d7f4f3eb958d18240" + integrity sha512-1JoKhlsENqWqDIKNHxm5jBQj3Es3gHHM+wDi9ESyodn6J+FpTkM5859wnL+/rEm7PKKvahPICqjTSjdXq5Jv9g== -xterm@4.16.0-beta.2: - version "4.16.0-beta.2" - resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.16.0-beta.2.tgz#251beef21a232143f272da74c7005bc4d832ca79" - integrity sha512-PD0agueJ7qvbn1/QhZriAQXf+ykaoPKgQN9qiIGf88VMxHs8T47MYHW/+qPsrXagTmbrENtncughTIzOzv8Q5Q== +xterm@4.17.0-beta.7: + version "4.17.0-beta.7" + resolved "https://registry.yarnpkg.com/xterm/-/xterm-4.17.0-beta.7.tgz#c11d52403a8d6456b92f2086e1797c64018328d6" + integrity sha512-FhC12WUljy8pTWr0oquVE0U567H1ZPAREKkN+wWLSZODNJwc8/txP2Ajg9byG++bkxfBP3CNEmDzaP0hoall8Q== yallist@^4.0.0: version "4.0.0" @@ -1487,8 +1517,3 @@ yazl@^2.4.3: integrity sha512-phENi2PLiHnHb6QBVot+dJnaAZ0xosj7p3fWl+znIjBDlnMI2PsZCJZ306BPTFOaHf5qdDEI8x5qFrSOBN5vrw== dependencies: buffer-crc32 "~0.2.3" - -zone.js@0.7.6: - version "0.7.6" - resolved "https://registry.yarnpkg.com/zone.js/-/zone.js-0.7.6.tgz#fbbc39d3e0261d0986f1ba06306eb3aeb0d22009" - integrity sha1-+7w50+AmHQmG8boGMG6zrrDSIAk=