Add Brave CDP automation, replace Oracle browser mode
Connects to user's running Brave via Chrome DevTools Protocol to automate ChatGPT interaction. Uses puppeteer-core to open a tab, send the prompt, wait for response, and extract the result. No cookies, no separate profiles, no copy/paste. Just connects to the browser where the user is already logged in. One-time setup: relaunch Brave with --remote-debugging-port=9222 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
77
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts
generated
vendored
Normal file
77
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts
generated
vendored
Normal file
@@ -0,0 +1,77 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
import * as chromeHeadlessShell from './chrome-headless-shell.js';
|
||||
import * as chrome from './chrome.js';
|
||||
import * as chromedriver from './chromedriver.js';
|
||||
import * as chromium from './chromium.js';
|
||||
import * as firefox from './firefox.js';
|
||||
import { Browser, BrowserPlatform, BrowserTag, ChromeReleaseChannel, type ProfileOptions } from './types.js';
|
||||
export type { ProfileOptions };
|
||||
export declare const downloadUrls: {
|
||||
chromedriver: typeof chromedriver.resolveDownloadUrl;
|
||||
"chrome-headless-shell": typeof chromeHeadlessShell.resolveDownloadUrl;
|
||||
chrome: typeof chrome.resolveDownloadUrl;
|
||||
chromium: typeof chromium.resolveDownloadUrl;
|
||||
firefox: typeof firefox.resolveDownloadUrl;
|
||||
};
|
||||
export declare const downloadPaths: {
|
||||
chromedriver: typeof chromedriver.resolveDownloadPath;
|
||||
"chrome-headless-shell": typeof chromeHeadlessShell.resolveDownloadPath;
|
||||
chrome: typeof chrome.resolveDownloadPath;
|
||||
chromium: typeof chromium.resolveDownloadPath;
|
||||
firefox: typeof firefox.resolveDownloadPath;
|
||||
};
|
||||
export declare const executablePathByBrowser: {
|
||||
chromedriver: typeof chromedriver.relativeExecutablePath;
|
||||
"chrome-headless-shell": typeof chromeHeadlessShell.relativeExecutablePath;
|
||||
chrome: typeof chrome.relativeExecutablePath;
|
||||
chromium: typeof chromium.relativeExecutablePath;
|
||||
firefox: typeof firefox.relativeExecutablePath;
|
||||
};
|
||||
export declare const versionComparators: {
|
||||
chromedriver: typeof chromeHeadlessShell.compareVersions;
|
||||
"chrome-headless-shell": typeof chromeHeadlessShell.compareVersions;
|
||||
chrome: typeof chromeHeadlessShell.compareVersions;
|
||||
chromium: typeof chromium.compareVersions;
|
||||
firefox: typeof firefox.compareVersions;
|
||||
};
|
||||
export { Browser, BrowserPlatform, ChromeReleaseChannel };
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export declare function resolveBuildId(browser: Browser, platform: BrowserPlatform, tag: string | BrowserTag): Promise<string>;
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export declare function createProfile(browser: Browser, opts: ProfileOptions): Promise<void>;
|
||||
/**
|
||||
* @public
|
||||
*
|
||||
* Get's the first resolved system path
|
||||
*/
|
||||
export declare function resolveSystemExecutablePath(browser: Browser, platform: BrowserPlatform, channel: ChromeReleaseChannel): string;
|
||||
/**
|
||||
* Returns the expected default user data dir for the given channel. It does not
|
||||
* check if the dir actually exists.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare function resolveDefaultUserDataDir(browser: Browser, platform: BrowserPlatform, channel: ChromeReleaseChannel): string;
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* Returns multiple paths where the executable may be located at on the current system
|
||||
* ordered by likelihood (based on heuristics).
|
||||
*/
|
||||
export declare function resolveSystemExecutablePaths(browser: Browser, platform: BrowserPlatform, channel: ChromeReleaseChannel): [string, ...string[]];
|
||||
/**
|
||||
* Returns a version comparator for the given browser that can be used to sort
|
||||
* browser versions.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare function getVersionComparator(browser: Browser): (a: string, b: string) => number;
|
||||
//# sourceMappingURL=browser-data.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"browser-data.d.ts","sourceRoot":"","sources":["../../../src/browser-data/browser-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,mBAAmB,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,MAAM,MAAM,aAAa,CAAC;AACtC,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC;AACxC,OAAO,EACL,OAAO,EACP,eAAe,EACf,UAAU,EACV,oBAAoB,EACpB,KAAK,cAAc,EACpB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAC,cAAc,EAAC,CAAC;AAE7B,eAAO,MAAM,YAAY;;;;;;CAMxB,CAAC;AAEF,eAAO,MAAM,aAAa;;;;;;CAMzB,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;CAMnC,CAAC;AAEF,eAAO,MAAM,kBAAkB;;;;;;CAM9B,CAAC;AAEF,OAAO,EAAC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAC,CAAC;AA+GxD;;GAEG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,GAAG,EAAE,MAAM,GAAG,UAAU,GACvB,OAAO,CAAC,MAAM,CAAC,CA+BjB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,cAAc,GACnB,OAAO,CAAC,IAAI,CAAC,CAQf;AAED;;;;GAIG;AACH,wBAAgB,2BAA2B,CACzC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CAYR;AAED;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAYvB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,OAAO,GACf,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAElC"}
|
||||
279
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.js
generated
vendored
Normal file
279
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.js
generated
vendored
Normal file
@@ -0,0 +1,279 @@
|
||||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ChromeReleaseChannel = exports.BrowserPlatform = exports.Browser = exports.versionComparators = exports.executablePathByBrowser = exports.downloadPaths = exports.downloadUrls = void 0;
|
||||
exports.resolveBuildId = resolveBuildId;
|
||||
exports.createProfile = createProfile;
|
||||
exports.resolveSystemExecutablePath = resolveSystemExecutablePath;
|
||||
exports.resolveDefaultUserDataDir = resolveDefaultUserDataDir;
|
||||
exports.resolveSystemExecutablePaths = resolveSystemExecutablePaths;
|
||||
exports.getVersionComparator = getVersionComparator;
|
||||
const chromeHeadlessShell = __importStar(require("./chrome-headless-shell.js"));
|
||||
const chrome = __importStar(require("./chrome.js"));
|
||||
const chromedriver = __importStar(require("./chromedriver.js"));
|
||||
const chromium = __importStar(require("./chromium.js"));
|
||||
const firefox = __importStar(require("./firefox.js"));
|
||||
const types_js_1 = require("./types.js");
|
||||
Object.defineProperty(exports, "Browser", { enumerable: true, get: function () { return types_js_1.Browser; } });
|
||||
Object.defineProperty(exports, "BrowserPlatform", { enumerable: true, get: function () { return types_js_1.BrowserPlatform; } });
|
||||
Object.defineProperty(exports, "ChromeReleaseChannel", { enumerable: true, get: function () { return types_js_1.ChromeReleaseChannel; } });
|
||||
exports.downloadUrls = {
|
||||
[types_js_1.Browser.CHROMEDRIVER]: chromedriver.resolveDownloadUrl,
|
||||
[types_js_1.Browser.CHROMEHEADLESSSHELL]: chromeHeadlessShell.resolveDownloadUrl,
|
||||
[types_js_1.Browser.CHROME]: chrome.resolveDownloadUrl,
|
||||
[types_js_1.Browser.CHROMIUM]: chromium.resolveDownloadUrl,
|
||||
[types_js_1.Browser.FIREFOX]: firefox.resolveDownloadUrl,
|
||||
};
|
||||
exports.downloadPaths = {
|
||||
[types_js_1.Browser.CHROMEDRIVER]: chromedriver.resolveDownloadPath,
|
||||
[types_js_1.Browser.CHROMEHEADLESSSHELL]: chromeHeadlessShell.resolveDownloadPath,
|
||||
[types_js_1.Browser.CHROME]: chrome.resolveDownloadPath,
|
||||
[types_js_1.Browser.CHROMIUM]: chromium.resolveDownloadPath,
|
||||
[types_js_1.Browser.FIREFOX]: firefox.resolveDownloadPath,
|
||||
};
|
||||
exports.executablePathByBrowser = {
|
||||
[types_js_1.Browser.CHROMEDRIVER]: chromedriver.relativeExecutablePath,
|
||||
[types_js_1.Browser.CHROMEHEADLESSSHELL]: chromeHeadlessShell.relativeExecutablePath,
|
||||
[types_js_1.Browser.CHROME]: chrome.relativeExecutablePath,
|
||||
[types_js_1.Browser.CHROMIUM]: chromium.relativeExecutablePath,
|
||||
[types_js_1.Browser.FIREFOX]: firefox.relativeExecutablePath,
|
||||
};
|
||||
exports.versionComparators = {
|
||||
[types_js_1.Browser.CHROMEDRIVER]: chromedriver.compareVersions,
|
||||
[types_js_1.Browser.CHROMEHEADLESSSHELL]: chromeHeadlessShell.compareVersions,
|
||||
[types_js_1.Browser.CHROME]: chrome.compareVersions,
|
||||
[types_js_1.Browser.CHROMIUM]: chromium.compareVersions,
|
||||
[types_js_1.Browser.FIREFOX]: firefox.compareVersions,
|
||||
};
|
||||
/**
|
||||
* @internal
|
||||
*/
|
||||
async function resolveBuildIdForBrowserTag(browser, platform, tag) {
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
switch (tag) {
|
||||
case types_js_1.BrowserTag.LATEST:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.NIGHTLY);
|
||||
case types_js_1.BrowserTag.BETA:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.BETA);
|
||||
case types_js_1.BrowserTag.NIGHTLY:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.NIGHTLY);
|
||||
case types_js_1.BrowserTag.DEVEDITION:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.DEVEDITION);
|
||||
case types_js_1.BrowserTag.STABLE:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.STABLE);
|
||||
case types_js_1.BrowserTag.ESR:
|
||||
return await firefox.resolveBuildId(firefox.FirefoxChannel.ESR);
|
||||
case types_js_1.BrowserTag.CANARY:
|
||||
case types_js_1.BrowserTag.DEV:
|
||||
throw new Error(`${tag.toUpperCase()} is not available for Firefox`);
|
||||
}
|
||||
case types_js_1.Browser.CHROME: {
|
||||
switch (tag) {
|
||||
case types_js_1.BrowserTag.LATEST:
|
||||
return await chrome.resolveBuildId(types_js_1.ChromeReleaseChannel.CANARY);
|
||||
case types_js_1.BrowserTag.BETA:
|
||||
return await chrome.resolveBuildId(types_js_1.ChromeReleaseChannel.BETA);
|
||||
case types_js_1.BrowserTag.CANARY:
|
||||
return await chrome.resolveBuildId(types_js_1.ChromeReleaseChannel.CANARY);
|
||||
case types_js_1.BrowserTag.DEV:
|
||||
return await chrome.resolveBuildId(types_js_1.ChromeReleaseChannel.DEV);
|
||||
case types_js_1.BrowserTag.STABLE:
|
||||
return await chrome.resolveBuildId(types_js_1.ChromeReleaseChannel.STABLE);
|
||||
case types_js_1.BrowserTag.NIGHTLY:
|
||||
case types_js_1.BrowserTag.DEVEDITION:
|
||||
case types_js_1.BrowserTag.ESR:
|
||||
throw new Error(`${tag.toUpperCase()} is not available for Chrome`);
|
||||
}
|
||||
}
|
||||
case types_js_1.Browser.CHROMEDRIVER: {
|
||||
switch (tag) {
|
||||
case types_js_1.BrowserTag.LATEST:
|
||||
case types_js_1.BrowserTag.CANARY:
|
||||
return await chromedriver.resolveBuildId(types_js_1.ChromeReleaseChannel.CANARY);
|
||||
case types_js_1.BrowserTag.BETA:
|
||||
return await chromedriver.resolveBuildId(types_js_1.ChromeReleaseChannel.BETA);
|
||||
case types_js_1.BrowserTag.DEV:
|
||||
return await chromedriver.resolveBuildId(types_js_1.ChromeReleaseChannel.DEV);
|
||||
case types_js_1.BrowserTag.STABLE:
|
||||
return await chromedriver.resolveBuildId(types_js_1.ChromeReleaseChannel.STABLE);
|
||||
case types_js_1.BrowserTag.NIGHTLY:
|
||||
case types_js_1.BrowserTag.DEVEDITION:
|
||||
case types_js_1.BrowserTag.ESR:
|
||||
throw new Error(`${tag.toUpperCase()} is not available for ChromeDriver`);
|
||||
}
|
||||
}
|
||||
case types_js_1.Browser.CHROMEHEADLESSSHELL: {
|
||||
switch (tag) {
|
||||
case types_js_1.BrowserTag.LATEST:
|
||||
case types_js_1.BrowserTag.CANARY:
|
||||
return await chromeHeadlessShell.resolveBuildId(types_js_1.ChromeReleaseChannel.CANARY);
|
||||
case types_js_1.BrowserTag.BETA:
|
||||
return await chromeHeadlessShell.resolveBuildId(types_js_1.ChromeReleaseChannel.BETA);
|
||||
case types_js_1.BrowserTag.DEV:
|
||||
return await chromeHeadlessShell.resolveBuildId(types_js_1.ChromeReleaseChannel.DEV);
|
||||
case types_js_1.BrowserTag.STABLE:
|
||||
return await chromeHeadlessShell.resolveBuildId(types_js_1.ChromeReleaseChannel.STABLE);
|
||||
case types_js_1.BrowserTag.NIGHTLY:
|
||||
case types_js_1.BrowserTag.DEVEDITION:
|
||||
case types_js_1.BrowserTag.ESR:
|
||||
throw new Error(`${tag} is not available for chrome-headless-shell`);
|
||||
}
|
||||
}
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
switch (tag) {
|
||||
case types_js_1.BrowserTag.LATEST:
|
||||
return await chromium.resolveBuildId(platform);
|
||||
case types_js_1.BrowserTag.NIGHTLY:
|
||||
case types_js_1.BrowserTag.CANARY:
|
||||
case types_js_1.BrowserTag.DEV:
|
||||
case types_js_1.BrowserTag.DEVEDITION:
|
||||
case types_js_1.BrowserTag.BETA:
|
||||
case types_js_1.BrowserTag.STABLE:
|
||||
case types_js_1.BrowserTag.ESR:
|
||||
throw new Error(`${tag} is not supported for Chromium. Use 'latest' instead.`);
|
||||
}
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
async function resolveBuildId(browser, platform, tag) {
|
||||
const browserTag = tag;
|
||||
if (Object.values(types_js_1.BrowserTag).includes(browserTag)) {
|
||||
return await resolveBuildIdForBrowserTag(browser, platform, browserTag);
|
||||
}
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
return tag;
|
||||
case types_js_1.Browser.CHROME:
|
||||
const chromeResult = await chrome.resolveBuildId(tag);
|
||||
if (chromeResult) {
|
||||
return chromeResult;
|
||||
}
|
||||
return tag;
|
||||
case types_js_1.Browser.CHROMEDRIVER:
|
||||
const chromeDriverResult = await chromedriver.resolveBuildId(tag);
|
||||
if (chromeDriverResult) {
|
||||
return chromeDriverResult;
|
||||
}
|
||||
return tag;
|
||||
case types_js_1.Browser.CHROMEHEADLESSSHELL:
|
||||
const chromeHeadlessShellResult = await chromeHeadlessShell.resolveBuildId(tag);
|
||||
if (chromeHeadlessShellResult) {
|
||||
return chromeHeadlessShellResult;
|
||||
}
|
||||
return tag;
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
return tag;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
async function createProfile(browser, opts) {
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
return await firefox.createProfile(opts);
|
||||
case types_js_1.Browser.CHROME:
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
throw new Error(`Profile creation is not support for ${browser} yet`);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @public
|
||||
*
|
||||
* Get's the first resolved system path
|
||||
*/
|
||||
function resolveSystemExecutablePath(browser, platform, channel) {
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.CHROMEDRIVER:
|
||||
case types_js_1.Browser.CHROMEHEADLESSSHELL:
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
throw new Error(`System browser detection is not supported for ${browser} yet.`);
|
||||
case types_js_1.Browser.CHROME:
|
||||
return chrome.resolveSystemExecutablePaths(platform, channel)[0];
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns the expected default user data dir for the given channel. It does not
|
||||
* check if the dir actually exists.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function resolveDefaultUserDataDir(browser, platform, channel) {
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.CHROMEDRIVER:
|
||||
case types_js_1.Browser.CHROMEHEADLESSSHELL:
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
throw new Error(`Default user dir detection is not supported for ${browser} yet.`);
|
||||
case types_js_1.Browser.CHROME:
|
||||
return chrome.resolveDefaultUserDataDir(platform, channel);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* @internal
|
||||
*
|
||||
* Returns multiple paths where the executable may be located at on the current system
|
||||
* ordered by likelihood (based on heuristics).
|
||||
*/
|
||||
function resolveSystemExecutablePaths(browser, platform, channel) {
|
||||
switch (browser) {
|
||||
case types_js_1.Browser.CHROMEDRIVER:
|
||||
case types_js_1.Browser.CHROMEHEADLESSSHELL:
|
||||
case types_js_1.Browser.FIREFOX:
|
||||
case types_js_1.Browser.CHROMIUM:
|
||||
throw new Error(`System browser detection is not supported for ${browser} yet.`);
|
||||
case types_js_1.Browser.CHROME:
|
||||
return chrome.resolveSystemExecutablePaths(platform, channel);
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Returns a version comparator for the given browser that can be used to sort
|
||||
* browser versions.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
function getVersionComparator(browser) {
|
||||
return exports.versionComparators[browser];
|
||||
}
|
||||
//# sourceMappingURL=browser-data.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/browser-data.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.d.ts
generated
vendored
Normal file
6
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { BrowserPlatform } from './types.js';
|
||||
export declare function resolveDownloadUrl(platform: BrowserPlatform, buildId: string, baseUrl?: string): string;
|
||||
export declare function resolveDownloadPath(platform: BrowserPlatform, buildId: string): string[];
|
||||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string;
|
||||
export { resolveBuildId, compareVersions } from './chrome.js';
|
||||
//# sourceMappingURL=chrome-headless-shell.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chrome-headless-shell.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome-headless-shell.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAkB3C,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA6D,GACnE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAMV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAqBR;AAED,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC"}
|
||||
58
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.js
generated
vendored
Normal file
58
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.js
generated
vendored
Normal file
@@ -0,0 +1,58 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.compareVersions = exports.resolveBuildId = void 0;
|
||||
exports.resolveDownloadUrl = resolveDownloadUrl;
|
||||
exports.resolveDownloadPath = resolveDownloadPath;
|
||||
exports.relativeExecutablePath = relativeExecutablePath;
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const types_js_1 = require("./types.js");
|
||||
function folder(platform) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return 'linux64';
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return 'mac-arm64';
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return 'mac-x64';
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
return 'win32';
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return 'win64';
|
||||
}
|
||||
}
|
||||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public') {
|
||||
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
|
||||
}
|
||||
function resolveDownloadPath(platform, buildId) {
|
||||
return [
|
||||
buildId,
|
||||
folder(platform),
|
||||
`chrome-headless-shell-${folder(platform)}.zip`,
|
||||
];
|
||||
}
|
||||
function relativeExecutablePath(platform, _buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return node_path_1.default.join('chrome-headless-shell-' + folder(platform), 'chrome-headless-shell');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('chrome-headless-shell-linux64', 'chrome-headless-shell');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('chrome-headless-shell-' + folder(platform), 'chrome-headless-shell.exe');
|
||||
}
|
||||
}
|
||||
var chrome_js_1 = require("./chrome.js");
|
||||
Object.defineProperty(exports, "resolveBuildId", { enumerable: true, get: function () { return chrome_js_1.resolveBuildId; } });
|
||||
Object.defineProperty(exports, "compareVersions", { enumerable: true, get: function () { return chrome_js_1.compareVersions; } });
|
||||
//# sourceMappingURL=chrome-headless-shell.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome-headless-shell.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chrome-headless-shell.js","sourceRoot":"","sources":["../../../src/browser-data/chrome-headless-shell.ts"],"names":[],"mappings":";;;;;;AAyBA,gDAMC;AAED,kDASC;AAED,wDAwBC;AApED;;;;GAIG;AACH,0DAA6B;AAE7B,yCAA2C;AAE3C,SAAS,MAAM,CAAC,QAAyB;IACvC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,SAAS,CAAC;QACnB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,WAAW,CAAC;QACrB,KAAK,0BAAe,CAAC,GAAG;YACtB,OAAO,SAAS,CAAC;QACnB,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAChC,QAAyB,EACzB,OAAe,EACf,OAAO,GAAG,0DAA0D;IAEpE,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAyB,EACzB,OAAe;IAEf,OAAO;QACL,OAAO;QACP,MAAM,CAAC,QAAQ,CAAC;QAChB,yBAAyB,MAAM,CAAC,QAAQ,CAAC,MAAM;KAChD,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CACpC,QAAyB,EACzB,QAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,GAAG,CAAC;QACzB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,mBAAI,CAAC,IAAI,CACd,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,EAC3C,uBAAuB,CACxB,CAAC;QACJ,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CACd,+BAA+B,EAC/B,uBAAuB,CACxB,CAAC;QACJ,KAAK,0BAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CACd,wBAAwB,GAAG,MAAM,CAAC,QAAQ,CAAC,EAC3C,2BAA2B,CAC5B,CAAC;IACN,CAAC;AACH,CAAC;AAED,yCAA4D;AAApD,2GAAA,cAAc,OAAA;AAAE,4GAAA,eAAe,OAAA"}
|
||||
33
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts
generated
vendored
Normal file
33
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts
generated
vendored
Normal file
@@ -0,0 +1,33 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
import { BrowserPlatform, ChromeReleaseChannel } from './types.js';
|
||||
export declare function resolveDownloadUrl(platform: BrowserPlatform, buildId: string, baseUrl?: string): string;
|
||||
export declare function resolveDownloadPath(platform: BrowserPlatform, buildId: string): string[];
|
||||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string;
|
||||
export declare function changeBaseVersionUrlForTesting(url: string): void;
|
||||
export declare function resetBaseVersionUrlForTesting(): void;
|
||||
export declare function getLastKnownGoodReleaseForChannel(channel: ChromeReleaseChannel): Promise<{
|
||||
version: string;
|
||||
revision: string;
|
||||
}>;
|
||||
export declare function getLastKnownGoodReleaseForMilestone(milestone: string): Promise<{
|
||||
version: string;
|
||||
revision: string;
|
||||
} | undefined>;
|
||||
export declare function getLastKnownGoodReleaseForBuild(
|
||||
/**
|
||||
* @example `112.0.23`,
|
||||
*/
|
||||
buildPrefix: string): Promise<{
|
||||
version: string;
|
||||
revision: string;
|
||||
} | undefined>;
|
||||
export declare function resolveBuildId(channel: ChromeReleaseChannel): Promise<string>;
|
||||
export declare function resolveBuildId(channel: string): Promise<string | undefined>;
|
||||
export declare function resolveSystemExecutablePaths(platform: BrowserPlatform, channel: ChromeReleaseChannel): [string, ...string[]];
|
||||
export declare function resolveDefaultUserDataDir(platform: BrowserPlatform, channel: ChromeReleaseChannel): string;
|
||||
export declare function compareVersions(a: string, b: string): number;
|
||||
//# sourceMappingURL=chrome.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chrome.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAUH,OAAO,EAAC,eAAe,EAAE,oBAAoB,EAAC,MAAM,YAAY,CAAC;AAkBjE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA6D,GACnE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAkBR;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhE;AACD,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,wBAAsB,iCAAiC,CACrD,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,CAAC,CAoB9C;AAED,wBAAsB,mCAAmC,CACvD,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAAC,CAS1D;AAED,wBAAsB,+BAA+B;AACnD;;GAEG;AACH,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GAAG,SAAS,CAAC,CAS1D;AAED,wBAAsB,cAAc,CAClC,OAAO,EAAE,oBAAoB,GAC5B,OAAO,CAAC,MAAM,CAAC,CAAC;AACnB,wBAAsB,cAAc,CAClC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AA2I/B,wBAAgB,4BAA4B,CAC1C,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAyCvB;AAED,wBAAgB,yBAAyB,CACvC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,oBAAoB,GAC5B,MAAM,CA8DR;AAoBD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAc5D"}
|
||||
313
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js
generated
vendored
Normal file
313
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js
generated
vendored
Normal file
@@ -0,0 +1,313 @@
|
||||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveDownloadUrl = resolveDownloadUrl;
|
||||
exports.resolveDownloadPath = resolveDownloadPath;
|
||||
exports.relativeExecutablePath = relativeExecutablePath;
|
||||
exports.changeBaseVersionUrlForTesting = changeBaseVersionUrlForTesting;
|
||||
exports.resetBaseVersionUrlForTesting = resetBaseVersionUrlForTesting;
|
||||
exports.getLastKnownGoodReleaseForChannel = getLastKnownGoodReleaseForChannel;
|
||||
exports.getLastKnownGoodReleaseForMilestone = getLastKnownGoodReleaseForMilestone;
|
||||
exports.getLastKnownGoodReleaseForBuild = getLastKnownGoodReleaseForBuild;
|
||||
exports.resolveBuildId = resolveBuildId;
|
||||
exports.resolveSystemExecutablePaths = resolveSystemExecutablePaths;
|
||||
exports.resolveDefaultUserDataDir = resolveDefaultUserDataDir;
|
||||
exports.compareVersions = compareVersions;
|
||||
const node_child_process_1 = require("node:child_process");
|
||||
const node_os_1 = __importDefault(require("node:os"));
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const semver_1 = __importDefault(require("semver"));
|
||||
const httpUtil_js_1 = require("../httpUtil.js");
|
||||
const types_js_1 = require("./types.js");
|
||||
function folder(platform) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return 'linux64';
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return 'mac-arm64';
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return 'mac-x64';
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
return 'win32';
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return 'win64';
|
||||
}
|
||||
}
|
||||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public') {
|
||||
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
|
||||
}
|
||||
function resolveDownloadPath(platform, buildId) {
|
||||
return [buildId, folder(platform), `chrome-${folder(platform)}.zip`];
|
||||
}
|
||||
function relativeExecutablePath(platform, _buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return node_path_1.default.join('chrome-' + folder(platform), 'Google Chrome for Testing.app', 'Contents', 'MacOS', 'Google Chrome for Testing');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('chrome-linux64', 'chrome');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('chrome-' + folder(platform), 'chrome.exe');
|
||||
}
|
||||
}
|
||||
let baseVersionUrl = 'https://googlechromelabs.github.io/chrome-for-testing';
|
||||
function changeBaseVersionUrlForTesting(url) {
|
||||
baseVersionUrl = url;
|
||||
}
|
||||
function resetBaseVersionUrlForTesting() {
|
||||
baseVersionUrl = 'https://googlechromelabs.github.io/chrome-for-testing';
|
||||
}
|
||||
async function getLastKnownGoodReleaseForChannel(channel) {
|
||||
const data = (await (0, httpUtil_js_1.getJSON)(new URL(`${baseVersionUrl}/last-known-good-versions.json`)));
|
||||
for (const channel of Object.keys(data.channels)) {
|
||||
data.channels[channel.toLowerCase()] = data.channels[channel];
|
||||
delete data.channels[channel];
|
||||
}
|
||||
return data.channels[channel];
|
||||
}
|
||||
async function getLastKnownGoodReleaseForMilestone(milestone) {
|
||||
const data = (await (0, httpUtil_js_1.getJSON)(new URL(`${baseVersionUrl}/latest-versions-per-milestone.json`)));
|
||||
return data.milestones[milestone];
|
||||
}
|
||||
async function getLastKnownGoodReleaseForBuild(
|
||||
/**
|
||||
* @example `112.0.23`,
|
||||
*/
|
||||
buildPrefix) {
|
||||
const data = (await (0, httpUtil_js_1.getJSON)(new URL(`${baseVersionUrl}/latest-patch-versions-per-build.json`)));
|
||||
return data.builds[buildPrefix];
|
||||
}
|
||||
async function resolveBuildId(channel) {
|
||||
if (Object.values(types_js_1.ChromeReleaseChannel).includes(channel)) {
|
||||
return (await getLastKnownGoodReleaseForChannel(channel)).version;
|
||||
}
|
||||
if (channel.match(/^\d+$/)) {
|
||||
// Potentially a milestone.
|
||||
return (await getLastKnownGoodReleaseForMilestone(channel))?.version;
|
||||
}
|
||||
if (channel.match(/^\d+\.\d+\.\d+$/)) {
|
||||
// Potentially a build prefix without the patch version.
|
||||
return (await getLastKnownGoodReleaseForBuild(channel))?.version;
|
||||
}
|
||||
return;
|
||||
}
|
||||
const WINDOWS_ENV_PARAM_NAMES = [
|
||||
'PROGRAMFILES',
|
||||
'ProgramW6432',
|
||||
'ProgramFiles(x86)',
|
||||
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/installer/mini_installer/README.md
|
||||
'LOCALAPPDATA',
|
||||
];
|
||||
function getChromeWindowsLocation(channel, locationsPrefixes) {
|
||||
if (locationsPrefixes.size === 0) {
|
||||
throw new Error('Non of the common Windows Env variables were set');
|
||||
}
|
||||
let suffix;
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
suffix = 'Google\\Chrome\\Application\\chrome.exe';
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
suffix = 'Google\\Chrome Beta\\Application\\chrome.exe';
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
suffix = 'Google\\Chrome SxS\\Application\\chrome.exe';
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
suffix = 'Google\\Chrome Dev\\Application\\chrome.exe';
|
||||
break;
|
||||
}
|
||||
return [...locationsPrefixes.values()].map(l => {
|
||||
return node_path_1.default.win32.join(l, suffix);
|
||||
});
|
||||
}
|
||||
function getWslVariable(variable) {
|
||||
try {
|
||||
// The Windows env for the paths are not passed down
|
||||
// to WSL, so we evoke `cmd.exe` which is usually on the PATH
|
||||
// from which the env can be access with all uppercase names.
|
||||
// The return value is a Windows Path - `C:\Program Files`.
|
||||
const result = (0, node_child_process_1.execSync)(`cmd.exe /c echo %${variable.toLocaleUpperCase()}%`, {
|
||||
// We need to ignore the stderr as cmd.exe
|
||||
// prints a message about wrong UNC path not supported.
|
||||
stdio: ['ignore', 'pipe', 'ignore'],
|
||||
encoding: 'utf-8',
|
||||
}).trim();
|
||||
if (result) {
|
||||
return result;
|
||||
}
|
||||
}
|
||||
catch { }
|
||||
return;
|
||||
}
|
||||
function getWslLocation(channel) {
|
||||
const wslVersion = (0, node_child_process_1.execSync)('wslinfo --version', {
|
||||
stdio: ['ignore', 'pipe', 'ignore'],
|
||||
encoding: 'utf-8',
|
||||
}).trim();
|
||||
if (!wslVersion) {
|
||||
throw new Error('Not in WSL or unsupported version of WSL.');
|
||||
}
|
||||
const wslPrefixes = new Set();
|
||||
for (const name of WINDOWS_ENV_PARAM_NAMES) {
|
||||
const wslPrefix = getWslVariable(name);
|
||||
if (wslPrefix) {
|
||||
wslPrefixes.add(wslPrefix);
|
||||
}
|
||||
}
|
||||
const windowsPath = getChromeWindowsLocation(channel, wslPrefixes);
|
||||
return windowsPath.map(path => {
|
||||
// The above command returned the Windows paths `C:\Program Files\...\chrome.exe`
|
||||
// Use the `wslpath` utility tool to transform into the mounted disk
|
||||
return (0, node_child_process_1.execSync)(`wslpath "${path}"`).toString().trim();
|
||||
});
|
||||
}
|
||||
function getChromeLinuxOrWslLocation(channel) {
|
||||
const locations = [];
|
||||
try {
|
||||
const wslPath = getWslLocation(channel);
|
||||
if (wslPath) {
|
||||
locations.push(...wslPath);
|
||||
}
|
||||
}
|
||||
catch {
|
||||
// Ignore WSL errors
|
||||
}
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
locations.push('/opt/google/chrome/chrome');
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
locations.push('/opt/google/chrome-beta/chrome');
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
locations.push('/opt/google/chrome-canary/chrome');
|
||||
break;
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
locations.push('/opt/google/chrome-unstable/chrome');
|
||||
break;
|
||||
}
|
||||
return locations;
|
||||
}
|
||||
function resolveSystemExecutablePaths(platform, channel) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
const prefixLocation = new Set(WINDOWS_ENV_PARAM_NAMES.map(name => {
|
||||
return process.env[name];
|
||||
}).filter((l) => {
|
||||
return !!l;
|
||||
}));
|
||||
// Fallbacks in case env vars are misconfigured.
|
||||
prefixLocation.add('C:\\Program Files');
|
||||
prefixLocation.add('C:\\Program Files (x86)');
|
||||
prefixLocation.add('D:\\Program Files');
|
||||
prefixLocation.add('D:\\Program Files (x86)');
|
||||
return getChromeWindowsLocation(channel, prefixLocation);
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
return [
|
||||
'/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
|
||||
];
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
return [
|
||||
'/Applications/Google Chrome Beta.app/Contents/MacOS/Google Chrome Beta',
|
||||
];
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
return [
|
||||
'/Applications/Google Chrome Canary.app/Contents/MacOS/Google Chrome Canary',
|
||||
];
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
return [
|
||||
'/Applications/Google Chrome Dev.app/Contents/MacOS/Google Chrome Dev',
|
||||
];
|
||||
}
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return getChromeLinuxOrWslLocation(channel);
|
||||
}
|
||||
}
|
||||
function resolveDefaultUserDataDir(platform, channel) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/common/chrome_paths_win.cc;l=42;drc=4c86c7940a47c36b8bf52c134483ef2da86caa62
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
return node_path_1.default.join(getLocalAppDataWin(), 'Google', 'Chrome', 'User Data');
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
return node_path_1.default.join(getLocalAppDataWin(), 'Google', 'Chrome Beta', 'User Data');
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
return node_path_1.default.join(getLocalAppDataWin(), 'Google', 'Chrome SxS', 'User Data');
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
return node_path_1.default.join(getLocalAppDataWin(), 'Google', 'Chrome Dev', 'User Data');
|
||||
}
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/common/chrome_paths_mac.mm;l=86;drc=4c86c7940a47c36b8bf52c134483ef2da86caa62
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
return node_path_1.default.join(getBaseUserDataDirPathMac(), 'Chrome');
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
return node_path_1.default.join(getBaseUserDataDirPathMac(), 'Chrome Beta');
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
return node_path_1.default.join(getBaseUserDataDirPathMac(), 'Chrome Dev');
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
return node_path_1.default.join(getBaseUserDataDirPathMac(), 'Chrome Canary');
|
||||
}
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
// https://source.chromium.org/chromium/chromium/src/+/main:chrome/common/chrome_paths_linux.cc;l=80;drc=4c86c7940a47c36b8bf52c134483ef2da86caa62
|
||||
switch (channel) {
|
||||
case types_js_1.ChromeReleaseChannel.STABLE:
|
||||
return node_path_1.default.join(getConfigHomeLinux(), 'google-chrome');
|
||||
case types_js_1.ChromeReleaseChannel.BETA:
|
||||
return node_path_1.default.join(getConfigHomeLinux(), 'google-chrome-beta');
|
||||
case types_js_1.ChromeReleaseChannel.CANARY:
|
||||
return node_path_1.default.join(getConfigHomeLinux(), 'google-chrome-canary');
|
||||
case types_js_1.ChromeReleaseChannel.DEV:
|
||||
return node_path_1.default.join(getConfigHomeLinux(), 'google-chrome-unstable');
|
||||
}
|
||||
}
|
||||
}
|
||||
function getLocalAppDataWin() {
|
||||
return (process.env['LOCALAPPDATA'] || node_path_1.default.join(node_os_1.default.homedir(), 'AppData', 'Local'));
|
||||
}
|
||||
function getConfigHomeLinux() {
|
||||
return (process.env['CHROME_CONFIG_HOME'] ||
|
||||
process.env['XDG_CONFIG_HOME'] ||
|
||||
node_path_1.default.join(node_os_1.default.homedir(), '.config'));
|
||||
}
|
||||
function getBaseUserDataDirPathMac() {
|
||||
return node_path_1.default.join(node_os_1.default.homedir(), 'Library', 'Application Support', 'Google');
|
||||
}
|
||||
function compareVersions(a, b) {
|
||||
if (!semver_1.default.valid(a)) {
|
||||
throw new Error(`Version ${a} is not a valid semver version`);
|
||||
}
|
||||
if (!semver_1.default.valid(b)) {
|
||||
throw new Error(`Version ${b} is not a valid semver version`);
|
||||
}
|
||||
if (semver_1.default.gt(a, b)) {
|
||||
return 1;
|
||||
}
|
||||
else if (semver_1.default.lt(a, b)) {
|
||||
return -1;
|
||||
}
|
||||
else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
//# sourceMappingURL=chrome.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chrome.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
6
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts
generated
vendored
Normal file
6
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts
generated
vendored
Normal file
@@ -0,0 +1,6 @@
|
||||
import { BrowserPlatform } from './types.js';
|
||||
export declare function resolveDownloadUrl(platform: BrowserPlatform, buildId: string, baseUrl?: string): string;
|
||||
export declare function resolveDownloadPath(platform: BrowserPlatform, buildId: string): string[];
|
||||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string;
|
||||
export { resolveBuildId, compareVersions } from './chrome.js';
|
||||
//# sourceMappingURL=chromedriver.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chromedriver.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chromedriver.ts"],"names":[],"mappings":"AAOA,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAkB3C,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA6D,GACnE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAYR;AAED,OAAO,EAAC,cAAc,EAAE,eAAe,EAAC,MAAM,aAAa,CAAC"}
|
||||
54
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.js
generated
vendored
Normal file
54
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.js
generated
vendored
Normal file
@@ -0,0 +1,54 @@
|
||||
"use strict";
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.compareVersions = exports.resolveBuildId = void 0;
|
||||
exports.resolveDownloadUrl = resolveDownloadUrl;
|
||||
exports.resolveDownloadPath = resolveDownloadPath;
|
||||
exports.relativeExecutablePath = relativeExecutablePath;
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const types_js_1 = require("./types.js");
|
||||
function folder(platform) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return 'linux64';
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return 'mac-arm64';
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return 'mac-x64';
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
return 'win32';
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return 'win64';
|
||||
}
|
||||
}
|
||||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chrome-for-testing-public') {
|
||||
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
|
||||
}
|
||||
function resolveDownloadPath(platform, buildId) {
|
||||
return [buildId, folder(platform), `chromedriver-${folder(platform)}.zip`];
|
||||
}
|
||||
function relativeExecutablePath(platform, _buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return node_path_1.default.join('chromedriver-' + folder(platform), 'chromedriver');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('chromedriver-linux64', 'chromedriver');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('chromedriver-' + folder(platform), 'chromedriver.exe');
|
||||
}
|
||||
}
|
||||
var chrome_js_1 = require("./chrome.js");
|
||||
Object.defineProperty(exports, "resolveBuildId", { enumerable: true, get: function () { return chrome_js_1.resolveBuildId; } });
|
||||
Object.defineProperty(exports, "compareVersions", { enumerable: true, get: function () { return chrome_js_1.compareVersions; } });
|
||||
//# sourceMappingURL=chromedriver.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromedriver.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chromedriver.js","sourceRoot":"","sources":["../../../src/browser-data/chromedriver.ts"],"names":[],"mappings":";;;;;;AAyBA,gDAMC;AAED,kDAKC;AAED,wDAeC;AAvDD;;;;GAIG;AACH,0DAA6B;AAE7B,yCAA2C;AAE3C,SAAS,MAAM,CAAC,QAAyB;IACvC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,SAAS,CAAC;QACnB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,WAAW,CAAC;QACrB,KAAK,0BAAe,CAAC,GAAG;YACtB,OAAO,SAAS,CAAC;QACnB,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;QACjB,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,OAAO,CAAC;IACnB,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAChC,QAAyB,EACzB,OAAe,EACf,OAAO,GAAG,0DAA0D;IAEpE,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAyB,EACzB,OAAe;IAEf,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,QAAQ,CAAC,EAAE,gBAAgB,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC7E,CAAC;AAED,SAAgB,sBAAsB,CACpC,QAAyB,EACzB,QAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,GAAG,CAAC;QACzB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,mBAAI,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,cAAc,CAAC,CAAC;QACvE,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;QAC3D,KAAK,0BAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,QAAQ,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC7E,CAAC;AACH,CAAC;AAED,yCAA4D;AAApD,2GAAA,cAAc,OAAA;AAAE,4GAAA,eAAe,OAAA"}
|
||||
12
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts
generated
vendored
Normal file
12
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts
generated
vendored
Normal file
@@ -0,0 +1,12 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
import { BrowserPlatform } from './types.js';
|
||||
export declare function resolveDownloadUrl(platform: BrowserPlatform, buildId: string, baseUrl?: string): string;
|
||||
export declare function resolveDownloadPath(platform: BrowserPlatform, buildId: string): string[];
|
||||
export declare function relativeExecutablePath(platform: BrowserPlatform, _buildId: string): string;
|
||||
export declare function resolveBuildId(platform: BrowserPlatform): Promise<string>;
|
||||
export declare function compareVersions(a: string, b: string): number;
|
||||
//# sourceMappingURL=chromium.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chromium.d.ts","sourceRoot":"","sources":["../../../src/browser-data/chromium.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAC;AAiC3C,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,SAA8D,GACpE,MAAM,CAER;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAEV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,QAAQ,EAAE,MAAM,GACf,MAAM,CAkBR;AACD,wBAAsB,cAAc,CAClC,QAAQ,EAAE,eAAe,GACxB,OAAO,CAAC,MAAM,CAAC,CAQjB;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE5D"}
|
||||
73
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.js
generated
vendored
Normal file
73
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.js
generated
vendored
Normal file
@@ -0,0 +1,73 @@
|
||||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.resolveDownloadUrl = resolveDownloadUrl;
|
||||
exports.resolveDownloadPath = resolveDownloadPath;
|
||||
exports.relativeExecutablePath = relativeExecutablePath;
|
||||
exports.resolveBuildId = resolveBuildId;
|
||||
exports.compareVersions = compareVersions;
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const httpUtil_js_1 = require("../httpUtil.js");
|
||||
const types_js_1 = require("./types.js");
|
||||
function archive(platform, buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return 'chrome-linux';
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return 'chrome-mac';
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
// Windows archive name changed at r591479.
|
||||
return parseInt(buildId, 10) > 591479 ? 'chrome-win' : 'chrome-win32';
|
||||
}
|
||||
}
|
||||
function folder(platform) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return 'Linux_x64';
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return 'Mac_Arm';
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return 'Mac';
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
return 'Win';
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return 'Win_x64';
|
||||
}
|
||||
}
|
||||
function resolveDownloadUrl(platform, buildId, baseUrl = 'https://storage.googleapis.com/chromium-browser-snapshots') {
|
||||
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
|
||||
}
|
||||
function resolveDownloadPath(platform, buildId) {
|
||||
return [folder(platform), buildId, `${archive(platform, buildId)}.zip`];
|
||||
}
|
||||
function relativeExecutablePath(platform, _buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
return node_path_1.default.join('chrome-mac', 'Chromium.app', 'Contents', 'MacOS', 'Chromium');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('chrome-linux', 'chrome');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('chrome-win', 'chrome.exe');
|
||||
}
|
||||
}
|
||||
async function resolveBuildId(platform) {
|
||||
return await (0, httpUtil_js_1.getText)(new URL(`https://storage.googleapis.com/chromium-browser-snapshots/${folder(platform)}/LAST_CHANGE`));
|
||||
}
|
||||
function compareVersions(a, b) {
|
||||
return Number(a) - Number(b);
|
||||
}
|
||||
//# sourceMappingURL=chromium.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/chromium.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"chromium.js","sourceRoot":"","sources":["../../../src/browser-data/chromium.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;;;AAuCH,gDAMC;AAED,kDAKC;AAED,wDAqBC;AACD,wCAUC;AAED,0CAEC;AAxFD,0DAA6B;AAE7B,gDAAuC;AAEvC,yCAA2C;AAE3C,SAAS,OAAO,CAAC,QAAyB,EAAE,OAAe;IACzD,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,cAAc,CAAC;QACxB,KAAK,0BAAe,CAAC,OAAO,CAAC;QAC7B,KAAK,0BAAe,CAAC,GAAG;YACtB,OAAO,YAAY,CAAC;QACtB,KAAK,0BAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,0BAAe,CAAC,KAAK;YACxB,2CAA2C;YAC3C,OAAO,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,cAAc,CAAC;IAC1E,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,QAAyB;IACvC,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,WAAW,CAAC;QACrB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,SAAS,CAAC;QACnB,KAAK,0BAAe,CAAC,GAAG;YACtB,OAAO,KAAK,CAAC;QACf,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,KAAK,CAAC;QACf,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,SAAS,CAAC;IACrB,CAAC;AACH,CAAC;AAED,SAAgB,kBAAkB,CAChC,QAAyB,EACzB,OAAe,EACf,OAAO,GAAG,2DAA2D;IAErE,OAAO,GAAG,OAAO,IAAI,mBAAmB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAC1E,CAAC;AAED,SAAgB,mBAAmB,CACjC,QAAyB,EACzB,OAAe;IAEf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;AAC1E,CAAC;AAED,SAAgB,sBAAsB,CACpC,QAAyB,EACzB,QAAgB;IAEhB,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,0BAAe,CAAC,GAAG,CAAC;QACzB,KAAK,0BAAe,CAAC,OAAO;YAC1B,OAAO,mBAAI,CAAC,IAAI,CACd,YAAY,EACZ,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,CACX,CAAC;QACJ,KAAK,0BAAe,CAAC,SAAS,CAAC;QAC/B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QAC7C,KAAK,0BAAe,CAAC,KAAK,CAAC;QAC3B,KAAK,0BAAe,CAAC,KAAK;YACxB,OAAO,mBAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AACM,KAAK,UAAU,cAAc,CAClC,QAAyB;IAEzB,OAAO,MAAM,IAAA,qBAAO,EAClB,IAAI,GAAG,CACL,6DAA6D,MAAM,CACjE,QAAQ,CACT,cAAc,CAChB,CACF,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAAC,CAAS,EAAE,CAAS;IAClD,OAAO,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;AAC/B,CAAC"}
|
||||
22
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts
generated
vendored
Normal file
22
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
import { BrowserPlatform, type ProfileOptions } from './types.js';
|
||||
export declare function resolveDownloadUrl(platform: BrowserPlatform, buildId: string, baseUrl?: string): string;
|
||||
export declare function resolveDownloadPath(platform: BrowserPlatform, buildId: string): string[];
|
||||
export declare function relativeExecutablePath(platform: BrowserPlatform, buildId: string): string;
|
||||
export declare enum FirefoxChannel {
|
||||
STABLE = "stable",
|
||||
ESR = "esr",
|
||||
DEVEDITION = "devedition",
|
||||
BETA = "beta",
|
||||
NIGHTLY = "nightly"
|
||||
}
|
||||
export declare function changeBaseVersionUrlForTesting(url: string): void;
|
||||
export declare function resetBaseVersionUrlForTesting(): void;
|
||||
export declare function resolveBuildId(channel?: FirefoxChannel): Promise<string>;
|
||||
export declare function createProfile(options: ProfileOptions): Promise<void>;
|
||||
export declare function compareVersions(a: string, b: string): number;
|
||||
//# sourceMappingURL=firefox.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"firefox.d.ts","sourceRoot":"","sources":["../../../src/browser-data/firefox.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH,OAAO,EAAC,eAAe,EAAE,KAAK,cAAc,EAAC,MAAM,YAAY,CAAC;AA8DhE,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,EACf,OAAO,CAAC,EAAE,MAAM,GACf,MAAM,CAiBR;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,EAAE,CAgBV;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,eAAe,EACzB,OAAO,EAAE,MAAM,GACd,MAAM,CAoCR;AAED,oBAAY,cAAc;IACxB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,IAAI,SAAS;IACb,OAAO,YAAY;CACpB;AAID,wBAAgB,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEhE;AAED,wBAAgB,6BAA6B,IAAI,IAAI,CAEpD;AAED,wBAAsB,cAAc,CAClC,OAAO,GAAE,cAAuC,GAC/C,OAAO,CAAC,MAAM,CAAC,CAgBjB;AAED,wBAAsB,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAa1E;AAgQD,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAG5D"}
|
||||
388
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js
generated
vendored
Normal file
388
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js
generated
vendored
Normal file
@@ -0,0 +1,388 @@
|
||||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
var __importDefault = (this && this.__importDefault) || function (mod) {
|
||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||
};
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.FirefoxChannel = void 0;
|
||||
exports.resolveDownloadUrl = resolveDownloadUrl;
|
||||
exports.resolveDownloadPath = resolveDownloadPath;
|
||||
exports.relativeExecutablePath = relativeExecutablePath;
|
||||
exports.changeBaseVersionUrlForTesting = changeBaseVersionUrlForTesting;
|
||||
exports.resetBaseVersionUrlForTesting = resetBaseVersionUrlForTesting;
|
||||
exports.resolveBuildId = resolveBuildId;
|
||||
exports.createProfile = createProfile;
|
||||
exports.compareVersions = compareVersions;
|
||||
const node_fs_1 = __importDefault(require("node:fs"));
|
||||
const node_path_1 = __importDefault(require("node:path"));
|
||||
const httpUtil_js_1 = require("../httpUtil.js");
|
||||
const types_js_1 = require("./types.js");
|
||||
function getFormat(buildId) {
|
||||
const majorVersion = Number(buildId.split('.').shift());
|
||||
return majorVersion >= 135 ? 'xz' : 'bz2';
|
||||
}
|
||||
function archiveNightly(platform, buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return `firefox-${buildId}.en-US.linux-x86_64.tar.${getFormat(buildId)}`;
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
return `firefox-${buildId}.en-US.linux-aarch64.tar.${getFormat(buildId)}`;
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return `firefox-${buildId}.en-US.mac.dmg`;
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return `firefox-${buildId}.en-US.${platform}.zip`;
|
||||
}
|
||||
}
|
||||
function archive(platform, buildId) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return `firefox-${buildId}.tar.${getFormat(buildId)}`;
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return `Firefox ${buildId}.dmg`;
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return `Firefox Setup ${buildId}.exe`;
|
||||
}
|
||||
}
|
||||
function platformName(platform) {
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return `linux-x86_64`;
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
return `linux-aarch64`;
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return `mac`;
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return platform;
|
||||
}
|
||||
}
|
||||
function parseBuildId(buildId) {
|
||||
for (const value of Object.values(FirefoxChannel)) {
|
||||
if (buildId.startsWith(value + '_')) {
|
||||
buildId = buildId.substring(value.length + 1);
|
||||
return [value, buildId];
|
||||
}
|
||||
}
|
||||
// Older versions do not have channel as the prefix.«
|
||||
return [FirefoxChannel.NIGHTLY, buildId];
|
||||
}
|
||||
function resolveDownloadUrl(platform, buildId, baseUrl) {
|
||||
const [channel] = parseBuildId(buildId);
|
||||
switch (channel) {
|
||||
case FirefoxChannel.NIGHTLY:
|
||||
baseUrl ??=
|
||||
'https://archive.mozilla.org/pub/firefox/nightly/latest-mozilla-central';
|
||||
break;
|
||||
case FirefoxChannel.DEVEDITION:
|
||||
baseUrl ??= 'https://archive.mozilla.org/pub/devedition/releases';
|
||||
break;
|
||||
case FirefoxChannel.BETA:
|
||||
case FirefoxChannel.STABLE:
|
||||
case FirefoxChannel.ESR:
|
||||
baseUrl ??= 'https://archive.mozilla.org/pub/firefox/releases';
|
||||
break;
|
||||
}
|
||||
return `${baseUrl}/${resolveDownloadPath(platform, buildId).join('/')}`;
|
||||
}
|
||||
function resolveDownloadPath(platform, buildId) {
|
||||
const [channel, resolvedBuildId] = parseBuildId(buildId);
|
||||
switch (channel) {
|
||||
case FirefoxChannel.NIGHTLY:
|
||||
return [archiveNightly(platform, resolvedBuildId)];
|
||||
case FirefoxChannel.DEVEDITION:
|
||||
case FirefoxChannel.BETA:
|
||||
case FirefoxChannel.STABLE:
|
||||
case FirefoxChannel.ESR:
|
||||
return [
|
||||
resolvedBuildId,
|
||||
platformName(platform),
|
||||
'en-US',
|
||||
archive(platform, resolvedBuildId),
|
||||
];
|
||||
}
|
||||
}
|
||||
function relativeExecutablePath(platform, buildId) {
|
||||
const [channel] = parseBuildId(buildId);
|
||||
switch (channel) {
|
||||
case FirefoxChannel.NIGHTLY:
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return node_path_1.default.join('Firefox Nightly.app', 'Contents', 'MacOS', 'firefox');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('firefox', 'firefox');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('firefox', 'firefox.exe');
|
||||
}
|
||||
case FirefoxChannel.BETA:
|
||||
case FirefoxChannel.DEVEDITION:
|
||||
case FirefoxChannel.ESR:
|
||||
case FirefoxChannel.STABLE:
|
||||
switch (platform) {
|
||||
case types_js_1.BrowserPlatform.MAC_ARM:
|
||||
case types_js_1.BrowserPlatform.MAC:
|
||||
return node_path_1.default.join('Firefox.app', 'Contents', 'MacOS', 'firefox');
|
||||
case types_js_1.BrowserPlatform.LINUX_ARM:
|
||||
case types_js_1.BrowserPlatform.LINUX:
|
||||
return node_path_1.default.join('firefox', 'firefox');
|
||||
case types_js_1.BrowserPlatform.WIN32:
|
||||
case types_js_1.BrowserPlatform.WIN64:
|
||||
return node_path_1.default.join('core', 'firefox.exe');
|
||||
}
|
||||
}
|
||||
}
|
||||
var FirefoxChannel;
|
||||
(function (FirefoxChannel) {
|
||||
FirefoxChannel["STABLE"] = "stable";
|
||||
FirefoxChannel["ESR"] = "esr";
|
||||
FirefoxChannel["DEVEDITION"] = "devedition";
|
||||
FirefoxChannel["BETA"] = "beta";
|
||||
FirefoxChannel["NIGHTLY"] = "nightly";
|
||||
})(FirefoxChannel || (exports.FirefoxChannel = FirefoxChannel = {}));
|
||||
let baseVersionUrl = 'https://product-details.mozilla.org/1.0';
|
||||
function changeBaseVersionUrlForTesting(url) {
|
||||
baseVersionUrl = url;
|
||||
}
|
||||
function resetBaseVersionUrlForTesting() {
|
||||
baseVersionUrl = 'https://product-details.mozilla.org/1.0';
|
||||
}
|
||||
async function resolveBuildId(channel = FirefoxChannel.NIGHTLY) {
|
||||
const channelToVersionKey = {
|
||||
[FirefoxChannel.ESR]: 'FIREFOX_ESR',
|
||||
[FirefoxChannel.STABLE]: 'LATEST_FIREFOX_VERSION',
|
||||
[FirefoxChannel.DEVEDITION]: 'FIREFOX_DEVEDITION',
|
||||
[FirefoxChannel.BETA]: 'FIREFOX_DEVEDITION',
|
||||
[FirefoxChannel.NIGHTLY]: 'FIREFOX_NIGHTLY',
|
||||
};
|
||||
const versions = (await (0, httpUtil_js_1.getJSON)(new URL(`${baseVersionUrl}/firefox_versions.json`)));
|
||||
const version = versions[channelToVersionKey[channel]];
|
||||
if (!version) {
|
||||
throw new Error(`Channel ${channel} is not found.`);
|
||||
}
|
||||
return channel + '_' + version;
|
||||
}
|
||||
async function createProfile(options) {
|
||||
if (!node_fs_1.default.existsSync(options.path)) {
|
||||
await node_fs_1.default.promises.mkdir(options.path, {
|
||||
recursive: true,
|
||||
});
|
||||
}
|
||||
await syncPreferences({
|
||||
preferences: {
|
||||
...defaultProfilePreferences(options.preferences),
|
||||
...options.preferences,
|
||||
},
|
||||
path: options.path,
|
||||
});
|
||||
}
|
||||
function defaultProfilePreferences(extraPrefs) {
|
||||
const server = 'dummy.test';
|
||||
const defaultPrefs = {
|
||||
// Make sure Shield doesn't hit the network.
|
||||
'app.normandy.api_url': '',
|
||||
// Disable Firefox old build background check
|
||||
'app.update.checkInstallTime': false,
|
||||
// Disable automatically upgrading Firefox
|
||||
'app.update.disabledForTesting': true,
|
||||
// Increase the APZ content response timeout to 1 minute
|
||||
'apz.content_response_timeout': 60000,
|
||||
// Prevent various error message on the console
|
||||
// jest-puppeteer asserts that no error message is emitted by the console
|
||||
'browser.contentblocking.features.standard': '-tp,tpPrivate,cookieBehavior0,-cryptoTP,-fp',
|
||||
// Enable the dump function: which sends messages to the system
|
||||
// console
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1543115
|
||||
'browser.dom.window.dump.enabled': true,
|
||||
// Disable topstories
|
||||
'browser.newtabpage.activity-stream.feeds.system.topstories': false,
|
||||
// Always display a blank page
|
||||
'browser.newtabpage.enabled': false,
|
||||
// Background thumbnails in particular cause grief: and disabling
|
||||
// thumbnails in general cannot hurt
|
||||
'browser.pagethumbnails.capturing_disabled': true,
|
||||
// Disable safebrowsing components.
|
||||
'browser.safebrowsing.blockedURIs.enabled': false,
|
||||
'browser.safebrowsing.downloads.enabled': false,
|
||||
'browser.safebrowsing.malware.enabled': false,
|
||||
'browser.safebrowsing.phishing.enabled': false,
|
||||
// Disable updates to search engines.
|
||||
'browser.search.update': false,
|
||||
// Do not restore the last open set of tabs if the browser has crashed
|
||||
'browser.sessionstore.resume_from_crash': false,
|
||||
// Skip check for default browser on startup
|
||||
'browser.shell.checkDefaultBrowser': false,
|
||||
// Disable newtabpage
|
||||
'browser.startup.homepage': 'about:blank',
|
||||
// Do not redirect user when a milstone upgrade of Firefox is detected
|
||||
'browser.startup.homepage_override.mstone': 'ignore',
|
||||
// Start with a blank page about:blank
|
||||
'browser.startup.page': 0,
|
||||
// Do not allow background tabs to be zombified on Android: otherwise for
|
||||
// tests that open additional tabs: the test harness tab itself might get
|
||||
// unloaded
|
||||
'browser.tabs.disableBackgroundZombification': false,
|
||||
// Do not warn when closing all other open tabs
|
||||
'browser.tabs.warnOnCloseOtherTabs': false,
|
||||
// Do not warn when multiple tabs will be opened
|
||||
'browser.tabs.warnOnOpen': false,
|
||||
// Do not automatically offer translations, as tests do not expect this.
|
||||
'browser.translations.automaticallyPopup': false,
|
||||
// Disable the UI tour.
|
||||
'browser.uitour.enabled': false,
|
||||
// Turn off search suggestions in the location bar so as not to trigger
|
||||
// network connections.
|
||||
'browser.urlbar.suggest.searches': false,
|
||||
// Disable first run splash page on Windows 10
|
||||
'browser.usedOnWindows10.introURL': '',
|
||||
// Do not warn on quitting Firefox
|
||||
'browser.warnOnQuit': false,
|
||||
// Defensively disable data reporting systems
|
||||
'datareporting.healthreport.documentServerURI': `http://${server}/dummy/healthreport/`,
|
||||
'datareporting.healthreport.logging.consoleEnabled': false,
|
||||
'datareporting.healthreport.service.enabled': false,
|
||||
'datareporting.healthreport.service.firstRun': false,
|
||||
'datareporting.healthreport.uploadEnabled': false,
|
||||
// Do not show datareporting policy notifications which can interfere with tests
|
||||
'datareporting.policy.dataSubmissionEnabled': false,
|
||||
'datareporting.policy.dataSubmissionPolicyBypassNotification': true,
|
||||
// DevTools JSONViewer sometimes fails to load dependencies with its require.js.
|
||||
// This doesn't affect Puppeteer but spams console (Bug 1424372)
|
||||
'devtools.jsonview.enabled': false,
|
||||
// Disable popup-blocker
|
||||
'dom.disable_open_during_load': false,
|
||||
// Enable the support for File object creation in the content process
|
||||
// Required for |Page.setFileInputFiles| protocol method.
|
||||
'dom.file.createInChild': true,
|
||||
// Disable the ProcessHangMonitor
|
||||
'dom.ipc.reportProcessHangs': false,
|
||||
// Disable slow script dialogues
|
||||
'dom.max_chrome_script_run_time': 0,
|
||||
'dom.max_script_run_time': 0,
|
||||
// Only load extensions from the application and user profile
|
||||
// AddonManager.SCOPE_PROFILE + AddonManager.SCOPE_APPLICATION
|
||||
'extensions.autoDisableScopes': 0,
|
||||
'extensions.enabledScopes': 5,
|
||||
// Disable metadata caching for installed add-ons by default
|
||||
'extensions.getAddons.cache.enabled': false,
|
||||
// Disable installing any distribution extensions or add-ons.
|
||||
'extensions.installDistroAddons': false,
|
||||
// Turn off extension updates so they do not bother tests
|
||||
'extensions.update.enabled': false,
|
||||
// Turn off extension updates so they do not bother tests
|
||||
'extensions.update.notifyUser': false,
|
||||
// Make sure opening about:addons will not hit the network
|
||||
'extensions.webservice.discoverURL': `http://${server}/dummy/discoveryURL`,
|
||||
// Allow the application to have focus even it runs in the background
|
||||
'focusmanager.testmode': true,
|
||||
// Disable useragent updates
|
||||
'general.useragent.updates.enabled': false,
|
||||
// Always use network provider for geolocation tests so we bypass the
|
||||
// macOS dialog raised by the corelocation provider
|
||||
'geo.provider.testing': true,
|
||||
// Do not scan Wifi
|
||||
'geo.wifi.scan': false,
|
||||
// No hang monitor
|
||||
'hangmonitor.timeout': 0,
|
||||
// Show chrome errors and warnings in the error console
|
||||
'javascript.options.showInConsole': true,
|
||||
// Disable download and usage of OpenH264: and Widevine plugins
|
||||
'media.gmp-manager.updateEnabled': false,
|
||||
// Disable the GFX sanity window
|
||||
'media.sanity-test.disabled': true,
|
||||
// Disable experimental feature that is only available in Nightly
|
||||
'network.cookie.sameSite.laxByDefault': false,
|
||||
// Do not prompt for temporary redirects
|
||||
'network.http.prompt-temp-redirect': false,
|
||||
// Disable speculative connections so they are not reported as leaking
|
||||
// when they are hanging around
|
||||
'network.http.speculative-parallel-limit': 0,
|
||||
// Do not automatically switch between offline and online
|
||||
'network.manage-offline-status': false,
|
||||
// Make sure SNTP requests do not hit the network
|
||||
'network.sntp.pools': server,
|
||||
// Disable Flash.
|
||||
'plugin.state.flash': 0,
|
||||
'privacy.trackingprotection.enabled': false,
|
||||
// Can be removed once Firefox 89 is no longer supported
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1710839
|
||||
'remote.enabled': true,
|
||||
// Until Bug 1999693 is resolved, this preference needs to be set to allow
|
||||
// Webdriver BiDi to automatically dismiss file pickers.
|
||||
'remote.bidi.dismiss_file_pickers.enabled': true,
|
||||
// Disabled screenshots component
|
||||
'screenshots.browser.component.enabled': false,
|
||||
// Don't do network connections for mitm priming
|
||||
'security.certerrors.mitm.priming.enabled': false,
|
||||
// Local documents have access to all other local documents,
|
||||
// including directory listings
|
||||
'security.fileuri.strict_origin_policy': false,
|
||||
// Do not wait for the notification button security delay
|
||||
'security.notification_enable_delay': 0,
|
||||
// Ensure blocklist updates do not hit the network
|
||||
'services.settings.server': `http://${server}/dummy/blocklist/`,
|
||||
// Do not automatically fill sign-in forms with known usernames and
|
||||
// passwords
|
||||
'signon.autofillForms': false,
|
||||
// Disable password capture, so that tests that include forms are not
|
||||
// influenced by the presence of the persistent doorhanger notification
|
||||
'signon.rememberSignons': false,
|
||||
// Disable first-run welcome page
|
||||
'startup.homepage_welcome_url': 'about:blank',
|
||||
// Disable first-run welcome page
|
||||
'startup.homepage_welcome_url.additional': '',
|
||||
// Disable browser animations (tabs, fullscreen, sliding alerts)
|
||||
'toolkit.cosmeticAnimations.enabled': false,
|
||||
// Prevent starting into safe mode after application crashes
|
||||
'toolkit.startup.max_resumed_crashes': -1,
|
||||
};
|
||||
return Object.assign(defaultPrefs, extraPrefs);
|
||||
}
|
||||
async function backupFile(input) {
|
||||
if (!node_fs_1.default.existsSync(input)) {
|
||||
return;
|
||||
}
|
||||
await node_fs_1.default.promises.copyFile(input, input + '.puppeteer');
|
||||
}
|
||||
/**
|
||||
* Populates the user.js file with custom preferences as needed to allow
|
||||
* Firefox's support to properly function. These preferences will be
|
||||
* automatically copied over to prefs.js during startup of Firefox. To be
|
||||
* able to restore the original values of preferences a backup of prefs.js
|
||||
* will be created.
|
||||
*/
|
||||
async function syncPreferences(options) {
|
||||
const prefsPath = node_path_1.default.join(options.path, 'prefs.js');
|
||||
const userPath = node_path_1.default.join(options.path, 'user.js');
|
||||
const lines = Object.entries(options.preferences).map(([key, value]) => {
|
||||
return `user_pref(${JSON.stringify(key)}, ${JSON.stringify(value)});`;
|
||||
});
|
||||
// Use allSettled to prevent corruption.
|
||||
const result = await Promise.allSettled([
|
||||
backupFile(userPath).then(async () => {
|
||||
await node_fs_1.default.promises.writeFile(userPath, lines.join('\n'));
|
||||
}),
|
||||
backupFile(prefsPath),
|
||||
]);
|
||||
for (const command of result) {
|
||||
if (command.status === 'rejected') {
|
||||
throw command.reason;
|
||||
}
|
||||
}
|
||||
}
|
||||
function compareVersions(a, b) {
|
||||
// TODO: this is a not very reliable check.
|
||||
return parseInt(a.replace('.', ''), 16) - parseInt(b.replace('.', ''), 16);
|
||||
}
|
||||
//# sourceMappingURL=firefox.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/firefox.js.map
generated
vendored
Normal file
File diff suppressed because one or more lines are too long
66
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts
generated
vendored
Normal file
66
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
/**
|
||||
* Supported browsers.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare enum Browser {
|
||||
CHROME = "chrome",
|
||||
CHROMEHEADLESSSHELL = "chrome-headless-shell",
|
||||
CHROMIUM = "chromium",
|
||||
FIREFOX = "firefox",
|
||||
CHROMEDRIVER = "chromedriver"
|
||||
}
|
||||
/**
|
||||
* Platform names used to identify a OS platform x architecture combination in the way
|
||||
* that is relevant for the browser download.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare enum BrowserPlatform {
|
||||
LINUX = "linux",
|
||||
LINUX_ARM = "linux_arm",
|
||||
MAC = "mac",
|
||||
MAC_ARM = "mac_arm",
|
||||
WIN32 = "win32",
|
||||
WIN64 = "win64"
|
||||
}
|
||||
/**
|
||||
* Enum describing a release channel for a browser.
|
||||
*
|
||||
* You can use this in combination with {@link resolveBuildId} to resolve
|
||||
* a build ID based on a release channel.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
export declare enum BrowserTag {
|
||||
CANARY = "canary",
|
||||
NIGHTLY = "nightly",
|
||||
BETA = "beta",
|
||||
DEV = "dev",
|
||||
DEVEDITION = "devedition",
|
||||
STABLE = "stable",
|
||||
ESR = "esr",
|
||||
LATEST = "latest"
|
||||
}
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export interface ProfileOptions {
|
||||
preferences: Record<string, unknown>;
|
||||
path: string;
|
||||
}
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
export declare enum ChromeReleaseChannel {
|
||||
STABLE = "stable",
|
||||
DEV = "dev",
|
||||
CANARY = "canary",
|
||||
BETA = "beta"
|
||||
}
|
||||
//# sourceMappingURL=types.d.ts.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.d.ts.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/browser-data/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;GAIG;AACH,oBAAY,OAAO;IACjB,MAAM,WAAW;IACjB,mBAAmB,0BAA0B;IAC7C,QAAQ,aAAa;IACrB,OAAO,YAAY;IACnB,YAAY,iBAAiB;CAC9B;AAED;;;;;GAKG;AACH,oBAAY,eAAe;IACzB,KAAK,UAAU;IACf,SAAS,cAAc;IACvB,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,KAAK,UAAU;IACf,KAAK,UAAU;CAChB;AAED;;;;;;;GAOG;AACH,oBAAY,UAAU;IACpB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,UAAU,eAAe;IACzB,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,oBAAY,oBAAoB;IAC9B,MAAM,WAAW;IACjB,GAAG,QAAQ;IACX,MAAM,WAAW;IACjB,IAAI,SAAS;CACd"}
|
||||
66
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.js
generated
vendored
Normal file
66
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.js
generated
vendored
Normal file
@@ -0,0 +1,66 @@
|
||||
"use strict";
|
||||
/**
|
||||
* @license
|
||||
* Copyright 2023 Google Inc.
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.ChromeReleaseChannel = exports.BrowserTag = exports.BrowserPlatform = exports.Browser = void 0;
|
||||
/**
|
||||
* Supported browsers.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
var Browser;
|
||||
(function (Browser) {
|
||||
Browser["CHROME"] = "chrome";
|
||||
Browser["CHROMEHEADLESSSHELL"] = "chrome-headless-shell";
|
||||
Browser["CHROMIUM"] = "chromium";
|
||||
Browser["FIREFOX"] = "firefox";
|
||||
Browser["CHROMEDRIVER"] = "chromedriver";
|
||||
})(Browser || (exports.Browser = Browser = {}));
|
||||
/**
|
||||
* Platform names used to identify a OS platform x architecture combination in the way
|
||||
* that is relevant for the browser download.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
var BrowserPlatform;
|
||||
(function (BrowserPlatform) {
|
||||
BrowserPlatform["LINUX"] = "linux";
|
||||
BrowserPlatform["LINUX_ARM"] = "linux_arm";
|
||||
BrowserPlatform["MAC"] = "mac";
|
||||
BrowserPlatform["MAC_ARM"] = "mac_arm";
|
||||
BrowserPlatform["WIN32"] = "win32";
|
||||
BrowserPlatform["WIN64"] = "win64";
|
||||
})(BrowserPlatform || (exports.BrowserPlatform = BrowserPlatform = {}));
|
||||
/**
|
||||
* Enum describing a release channel for a browser.
|
||||
*
|
||||
* You can use this in combination with {@link resolveBuildId} to resolve
|
||||
* a build ID based on a release channel.
|
||||
*
|
||||
* @public
|
||||
*/
|
||||
var BrowserTag;
|
||||
(function (BrowserTag) {
|
||||
BrowserTag["CANARY"] = "canary";
|
||||
BrowserTag["NIGHTLY"] = "nightly";
|
||||
BrowserTag["BETA"] = "beta";
|
||||
BrowserTag["DEV"] = "dev";
|
||||
BrowserTag["DEVEDITION"] = "devedition";
|
||||
BrowserTag["STABLE"] = "stable";
|
||||
BrowserTag["ESR"] = "esr";
|
||||
BrowserTag["LATEST"] = "latest";
|
||||
})(BrowserTag || (exports.BrowserTag = BrowserTag = {}));
|
||||
/**
|
||||
* @public
|
||||
*/
|
||||
var ChromeReleaseChannel;
|
||||
(function (ChromeReleaseChannel) {
|
||||
ChromeReleaseChannel["STABLE"] = "stable";
|
||||
ChromeReleaseChannel["DEV"] = "dev";
|
||||
ChromeReleaseChannel["CANARY"] = "canary";
|
||||
ChromeReleaseChannel["BETA"] = "beta";
|
||||
})(ChromeReleaseChannel || (exports.ChromeReleaseChannel = ChromeReleaseChannel = {}));
|
||||
//# sourceMappingURL=types.js.map
|
||||
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.js.map
generated
vendored
Normal file
1
node_modules/@puppeteer/browsers/lib/cjs/browser-data/types.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/browser-data/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH;;;;GAIG;AACH,IAAY,OAMX;AAND,WAAY,OAAO;IACjB,4BAAiB,CAAA;IACjB,wDAA6C,CAAA;IAC7C,gCAAqB,CAAA;IACrB,8BAAmB,CAAA;IACnB,wCAA6B,CAAA;AAC/B,CAAC,EANW,OAAO,uBAAP,OAAO,QAMlB;AAED;;;;;GAKG;AACH,IAAY,eAOX;AAPD,WAAY,eAAe;IACzB,kCAAe,CAAA;IACf,0CAAuB,CAAA;IACvB,8BAAW,CAAA;IACX,sCAAmB,CAAA;IACnB,kCAAe,CAAA;IACf,kCAAe,CAAA;AACjB,CAAC,EAPW,eAAe,+BAAf,eAAe,QAO1B;AAED;;;;;;;GAOG;AACH,IAAY,UASX;AATD,WAAY,UAAU;IACpB,+BAAiB,CAAA;IACjB,iCAAmB,CAAA;IACnB,2BAAa,CAAA;IACb,yBAAW,CAAA;IACX,uCAAyB,CAAA;IACzB,+BAAiB,CAAA;IACjB,yBAAW,CAAA;IACX,+BAAiB,CAAA;AACnB,CAAC,EATW,UAAU,0BAAV,UAAU,QASrB;AAUD;;GAEG;AACH,IAAY,oBAKX;AALD,WAAY,oBAAoB;IAC9B,yCAAiB,CAAA;IACjB,mCAAW,CAAA;IACX,yCAAiB,CAAA;IACjB,qCAAa,CAAA;AACf,CAAC,EALW,oBAAoB,oCAApB,oBAAoB,QAK/B"}
|
||||
Reference in New Issue
Block a user