diff --git a/extensions/ql-vscode/package-lock.json b/extensions/ql-vscode/package-lock.json index 3da9ca091..699abeee0 100644 --- a/extensions/ql-vscode/package-lock.json +++ b/extensions/ql-vscode/package-lock.json @@ -101,6 +101,7 @@ "@types/xml2js": "~0.4.4", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", + "@vscode/test-electron": "^2.2.0", "ajv": "^8.11.0", "ansi-colors": "^4.1.1", "applicationinsights": "^2.3.5", @@ -142,7 +143,6 @@ "typescript": "^4.5.5", "typescript-formatter": "^7.2.2", "vsce": "^2.7.0", - "vscode-test": "^1.4.0", "webpack": "^5.62.2", "webpack-cli": "^4.6.0" }, @@ -14789,6 +14789,36 @@ "resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.31.tgz", "integrity": "sha512-fldpXy7pHsQAMlU1pnGI23ypQ6xLk5u6SiABMFoAmlj4f2MR0iwg7C19IB1xvAEGG+dkxOfRSrbKF8ry7QqGQA==" }, + "node_modules/@vscode/test-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.2.0.tgz", + "integrity": "sha512-xk2xrOTMG75/hxO8OVVZ+GErv9gmdZwOD8rEHV3ty3n1Joav2yFcfrmqD6Ukref27U13LEL8gVvSHzauGAK5nQ==", + "dev": true, + "dependencies": { + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "rimraf": "^3.0.2", + "unzipper": "^0.10.11" + }, + "engines": { + "node": ">=8.9.3" + } + }, + "node_modules/@vscode/test-electron/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@vscode/webview-ui-toolkit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vscode/webview-ui-toolkit/-/webview-ui-toolkit-1.0.1.tgz", @@ -40250,22 +40280,6 @@ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" }, - "node_modules/vscode-test": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.6.1.tgz", - "integrity": "sha512-086q88T2ca1k95mUzffvbzb7esqQNvJgiwY4h29ukPhFo8u+vXOOmelUoU5EQUHs3Of8+JuQ3oGdbVCqaxuTXA==", - "deprecated": "This package has been renamed to @vscode/test-electron, please update to the new name", - "dev": true, - "dependencies": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "rimraf": "^3.0.2", - "unzipper": "^0.10.11" - }, - "engines": { - "node": ">=8.9.3" - } - }, "node_modules/vscode-test-adapter-api": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-test-adapter-api/-/vscode-test-adapter-api-1.7.0.tgz", @@ -40294,21 +40308,6 @@ "vscode": "^1.23.0" } }, - "node_modules/vscode-test/node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/w3c-hr-time": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz", @@ -52571,6 +52570,29 @@ "resolved": "https://registry.npmjs.org/@vscode/codicons/-/codicons-0.0.31.tgz", "integrity": "sha512-fldpXy7pHsQAMlU1pnGI23ypQ6xLk5u6SiABMFoAmlj4f2MR0iwg7C19IB1xvAEGG+dkxOfRSrbKF8ry7QqGQA==" }, + "@vscode/test-electron": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.2.0.tgz", + "integrity": "sha512-xk2xrOTMG75/hxO8OVVZ+GErv9gmdZwOD8rEHV3ty3n1Joav2yFcfrmqD6Ukref27U13LEL8gVvSHzauGAK5nQ==", + "dev": true, + "requires": { + "http-proxy-agent": "^4.0.1", + "https-proxy-agent": "^5.0.0", + "rimraf": "^3.0.2", + "unzipper": "^0.10.11" + }, + "dependencies": { + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, "@vscode/webview-ui-toolkit": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/@vscode/webview-ui-toolkit/-/webview-ui-toolkit-1.0.1.tgz", @@ -72414,29 +72436,6 @@ "resolved": "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.15.1.tgz", "integrity": "sha512-+a9MPUQrNGRrGU630OGbYVQ+11iOIovjCkqxajPa9w57Sd5ruK8WQNsslzpa0x/QJqC8kRc2DUxWjIFwoNm4ZQ==" }, - "vscode-test": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/vscode-test/-/vscode-test-1.6.1.tgz", - "integrity": "sha512-086q88T2ca1k95mUzffvbzb7esqQNvJgiwY4h29ukPhFo8u+vXOOmelUoU5EQUHs3Of8+JuQ3oGdbVCqaxuTXA==", - "dev": true, - "requires": { - "http-proxy-agent": "^4.0.1", - "https-proxy-agent": "^5.0.0", - "rimraf": "^3.0.2", - "unzipper": "^0.10.11" - }, - "dependencies": { - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, "vscode-test-adapter-api": { "version": "1.7.0", "resolved": "https://registry.npmjs.org/vscode-test-adapter-api/-/vscode-test-adapter-api-1.7.0.tgz", diff --git a/extensions/ql-vscode/package.json b/extensions/ql-vscode/package.json index b5a0da12e..a6372f184 100644 --- a/extensions/ql-vscode/package.json +++ b/extensions/ql-vscode/package.json @@ -1354,6 +1354,7 @@ "@types/xml2js": "~0.4.4", "@typescript-eslint/eslint-plugin": "^4.26.0", "@typescript-eslint/parser": "^4.26.0", + "@vscode/test-electron": "^2.2.0", "ajv": "^8.11.0", "ansi-colors": "^4.1.1", "applicationinsights": "^2.3.5", @@ -1395,7 +1396,6 @@ "typescript": "^4.5.5", "typescript-formatter": "^7.2.2", "vsce": "^2.7.0", - "vscode-test": "^1.4.0", "webpack": "^5.62.2", "webpack-cli": "^4.6.0" }, diff --git a/extensions/ql-vscode/src/vscode-tests/cli-integration/index.ts b/extensions/ql-vscode/src/vscode-tests/cli-integration/index.ts index 2d8d5bf0e..c687ba22b 100644 --- a/extensions/ql-vscode/src/vscode-tests/cli-integration/index.ts +++ b/extensions/ql-vscode/src/vscode-tests/cli-integration/index.ts @@ -1,5 +1,4 @@ import 'source-map-support/register'; -import 'vscode-test'; import { runTestsInDirectory } from '../index-template'; import 'mocha'; import * as sinonChai from 'sinon-chai'; diff --git a/extensions/ql-vscode/src/vscode-tests/minimal-workspace/index.ts b/extensions/ql-vscode/src/vscode-tests/minimal-workspace/index.ts index 249623bf1..85be96182 100644 --- a/extensions/ql-vscode/src/vscode-tests/minimal-workspace/index.ts +++ b/extensions/ql-vscode/src/vscode-tests/minimal-workspace/index.ts @@ -1,5 +1,4 @@ import 'source-map-support/register'; -import 'vscode-test'; import * as sinonChai from 'sinon-chai'; import * as chai from 'chai'; import 'chai/register-should'; diff --git a/extensions/ql-vscode/src/vscode-tests/no-workspace/index.ts b/extensions/ql-vscode/src/vscode-tests/no-workspace/index.ts index 0744e6e47..e52f88f97 100644 --- a/extensions/ql-vscode/src/vscode-tests/no-workspace/index.ts +++ b/extensions/ql-vscode/src/vscode-tests/no-workspace/index.ts @@ -1,5 +1,4 @@ import 'source-map-support/register'; -import 'vscode-test'; import * as sinonChai from 'sinon-chai'; import * as chai from 'chai'; import * as chaiAsPromised from 'chai-as-promised'; diff --git a/extensions/ql-vscode/src/vscode-tests/run-integration-tests.ts b/extensions/ql-vscode/src/vscode-tests/run-integration-tests.ts index eea558218..342377d1d 100644 --- a/extensions/ql-vscode/src/vscode-tests/run-integration-tests.ts +++ b/extensions/ql-vscode/src/vscode-tests/run-integration-tests.ts @@ -4,14 +4,14 @@ import * as cp from 'child_process'; import { runTests, downloadAndUnzipVSCode, - resolveCliPathFromVSCodeExecutablePath -} from 'vscode-test'; + resolveCliArgsFromVSCodeExecutablePath +} from '@vscode/test-electron'; import { assertNever } from '../pure/helpers-pure'; import * as tmp from 'tmp-promise'; // For some reason, the following are not exported directly from `vscode-test`, // but we can be tricky and import directly from the out file. -import { TestOptions } from 'vscode-test/out/runTest'; +import { TestOptions } from '@vscode/test-electron/out/runTest'; // For CI purposes we want to leave this at 'stable' to catch any bugs // that might show up with new vscode versions released, even though @@ -75,10 +75,11 @@ async function main() { const extensionTestsEnv: Record = {}; if (dirs.includes(TestDir.CliIntegration)) { console.log('Installing required extensions'); - const cliPath = resolveCliPathFromVSCodeExecutablePath(vscodeExecutablePath); + const [cli, ...args] = resolveCliArgsFromVSCodeExecutablePath(vscodeExecutablePath); cp.spawnSync( - cliPath, + cli, [ + ...args, '--install-extension', 'hbenl.vscode-test-explorer', '--install-extension',