@puppeteer/browsers
Advanced tools
Comparing version 0.2.0 to 0.3.0
@@ -17,2 +17,3 @@ /** | ||
import * as chrome from './chrome.js'; | ||
import * as chromium from './chromium.js'; | ||
import * as firefox from './firefox.js'; | ||
@@ -22,3 +23,3 @@ import { Browser, BrowserPlatform, ChromeReleaseChannel, ProfileOptions } from './types.js'; | ||
chrome: typeof chrome.resolveDownloadUrl; | ||
chromium: typeof chrome.resolveDownloadUrl; | ||
chromium: typeof chromium.resolveDownloadUrl; | ||
firefox: typeof firefox.resolveDownloadUrl; | ||
@@ -28,3 +29,3 @@ }; | ||
chrome: typeof chrome.relativeExecutablePath; | ||
chromium: typeof chrome.relativeExecutablePath; | ||
chromium: typeof chromium.relativeExecutablePath; | ||
firefox: typeof firefox.relativeExecutablePath; | ||
@@ -31,0 +32,0 @@ }; |
@@ -43,2 +43,3 @@ "use strict"; | ||
const chrome = __importStar(require("./chrome.js")); | ||
const chromium = __importStar(require("./chromium.js")); | ||
const firefox = __importStar(require("./firefox.js")); | ||
@@ -51,3 +52,3 @@ const types_js_1 = require("./types.js"); | ||
[types_js_1.Browser.CHROME]: chrome.resolveDownloadUrl, | ||
[types_js_1.Browser.CHROMIUM]: chrome.resolveDownloadUrl, | ||
[types_js_1.Browser.CHROMIUM]: chromium.resolveDownloadUrl, | ||
[types_js_1.Browser.FIREFOX]: firefox.resolveDownloadUrl, | ||
@@ -57,3 +58,3 @@ }; | ||
[types_js_1.Browser.CHROME]: chrome.relativeExecutablePath, | ||
[types_js_1.Browser.CHROMIUM]: chrome.relativeExecutablePath, | ||
[types_js_1.Browser.CHROMIUM]: chromium.relativeExecutablePath, | ||
[types_js_1.Browser.FIREFOX]: firefox.relativeExecutablePath, | ||
@@ -69,6 +70,11 @@ }; | ||
case types_js_1.Browser.CHROME: | ||
switch (tag) { | ||
case types_js_1.BrowserTag.LATEST: | ||
// In CfT beta is the latest version. | ||
return await chrome.resolveBuildId(platform, 'beta'); | ||
} | ||
case types_js_1.Browser.CHROMIUM: | ||
switch (tag) { | ||
case types_js_1.BrowserTag.LATEST: | ||
return await chrome.resolveBuildId(platform, 'latest'); | ||
return await chromium.resolveBuildId(platform, 'latest'); | ||
} | ||
@@ -95,2 +101,3 @@ } | ||
case types_js_1.Browser.CHROME: | ||
return chromium.resolveSystemExecutablePath(platform, channel); | ||
case types_js_1.Browser.CHROMIUM: | ||
@@ -97,0 +104,0 @@ return chrome.resolveSystemExecutablePath(platform, channel); |
@@ -19,4 +19,4 @@ /** | ||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string; | ||
export declare function resolveBuildId(platform: BrowserPlatform, _channel?: 'latest'): Promise<string>; | ||
export declare function resolveBuildId(platform: BrowserPlatform, channel?: 'beta' | 'stable'): Promise<string>; | ||
export declare function resolveSystemExecutablePath(platform: BrowserPlatform, channel: ChromeReleaseChannel): string; | ||
//# sourceMappingURL=chrome.d.ts.map |
@@ -25,31 +25,32 @@ "use strict"; | ||
const types_js_1 = require("./types.js"); | ||
function archive(platform, buildId) { | ||
function folder(platform) { | ||
switch (platform) { | ||
case types_js_1.BrowserPlatform.LINUX: | ||
return 'chrome-linux'; | ||
return 'linux64'; | ||
case types_js_1.BrowserPlatform.MAC_ARM: | ||
return 'mac-arm64'; | ||
case types_js_1.BrowserPlatform.MAC: | ||
return 'chrome-mac'; | ||
return 'mac-x64'; | ||
case types_js_1.BrowserPlatform.WIN32: | ||
return 'win32'; | ||
case types_js_1.BrowserPlatform.WIN64: | ||
// Windows archive name changed at r591479. | ||
return parseInt(buildId, 10) > 591479 ? 'chrome-win' : 'chrome-win32'; | ||
return 'win64'; | ||
} | ||
} | ||
function folder(platform) { | ||
function chromiumDashPlatform(platform) { | ||
switch (platform) { | ||
case types_js_1.BrowserPlatform.LINUX: | ||
return 'Linux_x64'; | ||
return 'linux'; | ||
case types_js_1.BrowserPlatform.MAC_ARM: | ||
return 'Mac_Arm'; | ||
return 'mac'; | ||
case types_js_1.BrowserPlatform.MAC: | ||
return 'Mac'; | ||
return 'mac'; | ||
case types_js_1.BrowserPlatform.WIN32: | ||
return 'Win'; | ||
return 'win'; | ||
case types_js_1.BrowserPlatform.WIN64: | ||
return 'Win_x64'; | ||
return 'win64'; | ||
} | ||
} | ||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chromium-browser-snapshots') { | ||
return `${baseUrl}/${folder(platform)}/${buildId}/${archive(platform, buildId)}.zip`; | ||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing') { | ||
return `${baseUrl}/${buildId}/${folder(platform)}/chrome-${folder(platform)}.zip`; | ||
} | ||
@@ -61,16 +62,14 @@ exports.resolveDownloadUrl = resolveDownloadUrl; | ||
case types_js_1.BrowserPlatform.MAC_ARM: | ||
return path_1.default.join('chrome-mac', 'Chromium.app', 'Contents', 'MacOS', 'Chromium'); | ||
return path_1.default.join('chrome-' + folder(platform), 'Google Chrome for Testing.app', 'Contents', 'MacOS', 'Google Chrome for Testing'); | ||
case types_js_1.BrowserPlatform.LINUX: | ||
return path_1.default.join('chrome-linux', 'chrome'); | ||
return path_1.default.join('chrome-linux64', 'chrome'); | ||
case types_js_1.BrowserPlatform.WIN32: | ||
case types_js_1.BrowserPlatform.WIN64: | ||
return path_1.default.join('chrome-win', 'chrome.exe'); | ||
return path_1.default.join('chrome-' + folder(platform), 'chrome.exe'); | ||
} | ||
} | ||
exports.relativeExecutablePath = relativeExecutablePath; | ||
async function resolveBuildId(platform, | ||
// We will need it for other channels/keywords. | ||
_channel = 'latest') { | ||
async function resolveBuildId(platform, channel = 'beta') { | ||
return new Promise((resolve, reject) => { | ||
const request = (0, httpUtil_js_1.httpRequest)(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder(platform)}/LAST_CHANGE`), 'GET', response => { | ||
const request = (0, httpUtil_js_1.httpRequest)(new URL(`https://chromiumdash.appspot.com/fetch_releases?platform=${chromiumDashPlatform(platform)}&channel=${channel}`), 'GET', response => { | ||
let data = ''; | ||
@@ -85,3 +84,4 @@ if (response.statusCode && response.statusCode >= 400) { | ||
try { | ||
return resolve(String(data)); | ||
const response = JSON.parse(String(data)); | ||
return resolve(response[0].version); | ||
} | ||
@@ -88,0 +88,0 @@ catch { |
@@ -67,3 +67,3 @@ "use strict"; | ||
port: url.port, | ||
path: url.pathname, | ||
path: url.pathname + url.search, | ||
method, | ||
@@ -70,0 +70,0 @@ headers: keepAlive ? { Connection: 'keep-alive' } : undefined, |
@@ -17,2 +17,3 @@ /** | ||
import * as chrome from './chrome.js'; | ||
import * as chromium from './chromium.js'; | ||
import * as firefox from './firefox.js'; | ||
@@ -22,3 +23,3 @@ import { Browser, BrowserPlatform, ChromeReleaseChannel, ProfileOptions } from './types.js'; | ||
chrome: typeof chrome.resolveDownloadUrl; | ||
chromium: typeof chrome.resolveDownloadUrl; | ||
chromium: typeof chromium.resolveDownloadUrl; | ||
firefox: typeof firefox.resolveDownloadUrl; | ||
@@ -28,3 +29,3 @@ }; | ||
chrome: typeof chrome.relativeExecutablePath; | ||
chromium: typeof chrome.relativeExecutablePath; | ||
chromium: typeof chromium.relativeExecutablePath; | ||
firefox: typeof firefox.relativeExecutablePath; | ||
@@ -31,0 +32,0 @@ }; |
@@ -17,2 +17,3 @@ /** | ||
import * as chrome from './chrome.js'; | ||
import * as chromium from './chromium.js'; | ||
import * as firefox from './firefox.js'; | ||
@@ -22,3 +23,3 @@ import { Browser, BrowserPlatform, BrowserTag, ChromeReleaseChannel, } from './types.js'; | ||
[Browser.CHROME]: chrome.resolveDownloadUrl, | ||
[Browser.CHROMIUM]: chrome.resolveDownloadUrl, | ||
[Browser.CHROMIUM]: chromium.resolveDownloadUrl, | ||
[Browser.FIREFOX]: firefox.resolveDownloadUrl, | ||
@@ -28,3 +29,3 @@ }; | ||
[Browser.CHROME]: chrome.relativeExecutablePath, | ||
[Browser.CHROMIUM]: chrome.relativeExecutablePath, | ||
[Browser.CHROMIUM]: chromium.relativeExecutablePath, | ||
[Browser.FIREFOX]: firefox.relativeExecutablePath, | ||
@@ -41,6 +42,11 @@ }; | ||
case Browser.CHROME: | ||
switch (tag) { | ||
case BrowserTag.LATEST: | ||
// In CfT beta is the latest version. | ||
return await chrome.resolveBuildId(platform, 'beta'); | ||
} | ||
case Browser.CHROMIUM: | ||
switch (tag) { | ||
case BrowserTag.LATEST: | ||
return await chrome.resolveBuildId(platform, 'latest'); | ||
return await chromium.resolveBuildId(platform, 'latest'); | ||
} | ||
@@ -65,2 +71,3 @@ } | ||
case Browser.CHROME: | ||
return chromium.resolveSystemExecutablePath(platform, channel); | ||
case Browser.CHROMIUM: | ||
@@ -67,0 +74,0 @@ return chrome.resolveSystemExecutablePath(platform, channel); |
@@ -19,4 +19,4 @@ /** | ||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string; | ||
export declare function resolveBuildId(platform: BrowserPlatform, _channel?: 'latest'): Promise<string>; | ||
export declare function resolveBuildId(platform: BrowserPlatform, channel?: 'beta' | 'stable'): Promise<string>; | ||
export declare function resolveSystemExecutablePath(platform: BrowserPlatform, channel: ChromeReleaseChannel): string; | ||
//# sourceMappingURL=chrome.d.ts.map |
@@ -19,31 +19,32 @@ /** | ||
import { BrowserPlatform, ChromeReleaseChannel } from './types.js'; | ||
function archive(platform, buildId) { | ||
function folder(platform) { | ||
switch (platform) { | ||
case BrowserPlatform.LINUX: | ||
return 'chrome-linux'; | ||
return 'linux64'; | ||
case BrowserPlatform.MAC_ARM: | ||
return 'mac-arm64'; | ||
case BrowserPlatform.MAC: | ||
return 'chrome-mac'; | ||
return 'mac-x64'; | ||
case BrowserPlatform.WIN32: | ||
return 'win32'; | ||
case BrowserPlatform.WIN64: | ||
// Windows archive name changed at r591479. | ||
return parseInt(buildId, 10) > 591479 ? 'chrome-win' : 'chrome-win32'; | ||
return 'win64'; | ||
} | ||
} | ||
function folder(platform) { | ||
function chromiumDashPlatform(platform) { | ||
switch (platform) { | ||
case BrowserPlatform.LINUX: | ||
return 'Linux_x64'; | ||
return 'linux'; | ||
case BrowserPlatform.MAC_ARM: | ||
return 'Mac_Arm'; | ||
return 'mac'; | ||
case BrowserPlatform.MAC: | ||
return 'Mac'; | ||
return 'mac'; | ||
case BrowserPlatform.WIN32: | ||
return 'Win'; | ||
return 'win'; | ||
case BrowserPlatform.WIN64: | ||
return 'Win_x64'; | ||
return 'win64'; | ||
} | ||
} | ||
export function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chromium-browser-snapshots') { | ||
return `${baseUrl}/${folder(platform)}/${buildId}/${archive(platform, buildId)}.zip`; | ||
export function resolveDownloadUrl(platform, buildId, baseUrl = 'https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing') { | ||
return `${baseUrl}/${buildId}/${folder(platform)}/chrome-${folder(platform)}.zip`; | ||
} | ||
@@ -54,15 +55,13 @@ export function relativeExecutablePath(platform, _buildId) { | ||
case BrowserPlatform.MAC_ARM: | ||
return path.join('chrome-mac', 'Chromium.app', 'Contents', 'MacOS', 'Chromium'); | ||
return path.join('chrome-' + folder(platform), 'Google Chrome for Testing.app', 'Contents', 'MacOS', 'Google Chrome for Testing'); | ||
case BrowserPlatform.LINUX: | ||
return path.join('chrome-linux', 'chrome'); | ||
return path.join('chrome-linux64', 'chrome'); | ||
case BrowserPlatform.WIN32: | ||
case BrowserPlatform.WIN64: | ||
return path.join('chrome-win', 'chrome.exe'); | ||
return path.join('chrome-' + folder(platform), 'chrome.exe'); | ||
} | ||
} | ||
export async function resolveBuildId(platform, | ||
// We will need it for other channels/keywords. | ||
_channel = 'latest') { | ||
export async function resolveBuildId(platform, channel = 'beta') { | ||
return new Promise((resolve, reject) => { | ||
const request = httpRequest(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder(platform)}/LAST_CHANGE`), 'GET', response => { | ||
const request = httpRequest(new URL(`https://chromiumdash.appspot.com/fetch_releases?platform=${chromiumDashPlatform(platform)}&channel=${channel}`), 'GET', response => { | ||
let data = ''; | ||
@@ -77,3 +76,4 @@ if (response.statusCode && response.statusCode >= 400) { | ||
try { | ||
return resolve(String(data)); | ||
const response = JSON.parse(String(data)); | ||
return resolve(response[0].version); | ||
} | ||
@@ -80,0 +80,0 @@ catch { |
@@ -37,3 +37,3 @@ /** | ||
port: url.port, | ||
path: url.pathname, | ||
path: url.pathname + url.search, | ||
method, | ||
@@ -40,0 +40,0 @@ headers: keepAlive ? { Connection: 'keep-alive' } : undefined, |
{ | ||
"name": "@puppeteer/browsers", | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Download and launch browsers", | ||
@@ -5,0 +5,0 @@ "scripts": { |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
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
292181
122
4248