@vscode/test-web
Advanced tools
Comparing version 0.0.48 to 0.0.49
@@ -14,2 +14,6 @@ #!/usr/bin/env node | ||
/** | ||
* Browser command line options. | ||
*/ | ||
browserOptions?: string[]; | ||
/** | ||
* Absolute path to folder that contains one or more extensions (in subfolders). | ||
@@ -16,0 +20,0 @@ * Extension folders include a `package.json` extension manifest. |
@@ -123,2 +123,5 @@ #!/usr/bin/env node | ||
const args = []; | ||
if (options.browserOptions) { | ||
args.push(...options.browserOptions); | ||
} | ||
if (process.platform === 'linux' && options.browserType === 'chromium') { | ||
@@ -223,6 +226,23 @@ args.push('--no-sandbox'); | ||
} | ||
console.log(`Invalid permission`); | ||
console.log(`Invalid permission: ${permissions}`); | ||
showHelp(); | ||
process.exit(-1); | ||
} | ||
function validateBrowserOptions(browserOptions) { | ||
if (browserOptions === undefined) { | ||
return undefined; | ||
} | ||
function isValidOption(p) { | ||
return typeof p === 'string'; | ||
} | ||
if (isValidOption(browserOptions)) { | ||
return [browserOptions]; | ||
} | ||
if (Array.isArray(browserOptions) && browserOptions.every(isValidOption)) { | ||
return browserOptions; | ||
} | ||
console.log(`Invalid browser option: ${browserOptions}`); | ||
showHelp(); | ||
process.exit(-1); | ||
} | ||
async function validateExtensionPaths(extensionPaths) { | ||
@@ -333,2 +353,3 @@ if (extensionPaths === undefined) { | ||
console.log(` --browser 'chromium' | 'firefox' | 'webkit' | 'none': The browser to launch. [Optional, defaults to 'chromium']`); | ||
console.log(` --browserOption option: Command line argument to use when launching the browser instance. [Optional, Multiple]`); | ||
console.log(` --extensionDevelopmentPath path: A path pointing to an extension under development to include. [Optional]`); | ||
@@ -365,3 +386,3 @@ console.log(` --extensionTestsPath path: A path to a test module to run. [Optional]`); | ||
const options = { | ||
string: ['extensionDevelopmentPath', 'extensionTestsPath', 'browser', 'browserType', 'quality', 'version', 'waitForDebugger', 'folder-uri', 'permission', 'extensionPath', 'extensionId', 'sourcesPath', 'host', 'port', 'testRunnerDataDir'], | ||
string: ['extensionDevelopmentPath', 'extensionTestsPath', 'browser', 'browserOption', 'browserType', 'quality', 'version', 'waitForDebugger', 'folder-uri', 'permission', 'extensionPath', 'extensionId', 'sourcesPath', 'host', 'port', 'testRunnerDataDir'], | ||
boolean: ['open-devtools', 'headless', 'hideServerLog', 'printServerLog', 'help', 'verbose', 'coi', 'esm'], | ||
@@ -382,2 +403,3 @@ unknown: arg => { | ||
} | ||
const browserOptions = validateBrowserOptions(args.browserOption); | ||
const browserType = validateBrowserType(args); | ||
@@ -418,2 +440,3 @@ const extensionTestsPath = await validatePathOrUndefined(args, 'extensionTestsPath', true); | ||
extensionDevelopmentPath, | ||
browserOptions, | ||
browserType, | ||
@@ -445,2 +468,3 @@ quality, | ||
extensionDevelopmentPath, | ||
browserOptions, | ||
browserType, | ||
@@ -447,0 +471,0 @@ quality, |
{ | ||
"name": "@vscode/test-web", | ||
"version": "0.0.48", | ||
"version": "0.0.49", | ||
"scripts": { | ||
@@ -33,4 +33,4 @@ "install-extensions": "npm i --prefix=fs-provider && npm i --prefix=sample", | ||
"minimist": "^1.2.8", | ||
"playwright": "^1.39.0", | ||
"@playwright/browser-chromium": "^1.39.0", | ||
"playwright": "^1.40.1", | ||
"@playwright/browser-chromium": "^1.40.1", | ||
"vscode-uri": "^3.0.8", | ||
@@ -43,16 +43,16 @@ "http-proxy-agent": "^7.0.0", | ||
"devDependencies": { | ||
"@types/koa": "^2.13.10", | ||
"@types/koa-morgan": "^1.0.7", | ||
"@types/koa-mount": "^4.0.4", | ||
"@types/koa-static": "^4.0.3", | ||
"@types/koa__router": "^12.0.3", | ||
"@types/minimist": "^1.2.4", | ||
"@types/node": "^20.8.9", | ||
"@types/gunzip-maybe": "^1.4.1", | ||
"@types/tar-fs": "^2.0.3", | ||
"@typescript-eslint/eslint-plugin": "^6.9.0", | ||
"@typescript-eslint/parser": "^6.9.0", | ||
"eslint": "^8.52.0", | ||
"@types/koa": "^2.13.12", | ||
"@types/koa-morgan": "^1.0.8", | ||
"@types/koa-mount": "^4.0.5", | ||
"@types/koa-static": "^4.0.4", | ||
"@types/koa__router": "^12.0.4", | ||
"@types/minimist": "^1.2.5", | ||
"@types/node": "^20.10.1", | ||
"@types/gunzip-maybe": "^1.4.2", | ||
"@types/tar-fs": "^2.0.4", | ||
"@typescript-eslint/eslint-plugin": "^6.13.1", | ||
"@typescript-eslint/parser": "^6.13.1", | ||
"eslint": "^8.54.0", | ||
"eslint-plugin-header": "^3.1.1", | ||
"typescript": "^5.2.2" | ||
"typescript": "^5.3.2" | ||
}, | ||
@@ -68,2 +68,2 @@ "license": "MIT", | ||
} | ||
} | ||
} |
@@ -34,3 +34,3 @@ # @vscode/test-web | ||
``` | ||
```sh | ||
vscode-test-web --browserType=chromium --extensionDevelopmentPath=$extensionLocation $testDataLocation | ||
@@ -41,2 +41,10 @@ ``` | ||
Open VS Code in the Browser with external network access: | ||
```sh | ||
vscode-test-web --browserType=chromium --browserOption=--disable-web-security extensionDevelopmentPath=$extensionLocation | ||
``` | ||
This allows the extension being tested to make network requests to external hosts. | ||
Via API: | ||
@@ -73,2 +81,3 @@ | ||
| --browser | The browser to launch: `chromium` (default), `firefox`, `webkit` or `none`. | | ||
| --browserOption | Command line argument to use when launching the browser instance. Argument can be provided multiple times. | | ||
| --extensionDevelopmentPath | A path pointing to an extension under development to include. | | ||
@@ -75,0 +84,0 @@ | --extensionTestsPath | A path to a test module to run. | |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
158447
3505
128
Updatedplaywright@^1.40.1