Socket
Socket
Sign inDemoInstall

@puppeteer/browsers

Package Overview
Dependencies
Maintainers
2
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@puppeteer/browsers - npm Package Compare versions

Comparing version 0.2.0 to 0.3.0

lib/cjs/browser-data/chromium.d.ts

5

lib/cjs/browser-data/browser-data.d.ts

@@ -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 @@ };

13

lib/cjs/browser-data/browser-data.js

@@ -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

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc