Socket
Socket
Sign inDemoInstall

puppeteer

Package Overview
Dependencies
118
Maintainers
2
Versions
878
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 21.9.0 to 21.10.0

10

lib/cjs/puppeteer/getConfiguration.js

@@ -57,2 +57,12 @@ "use strict";

configuration.skipDownload);
// Set skipChromeDownload explicitly or from default
configuration.skipChromeDownload = Boolean(process.env['PUPPETEER_SKIP_CHROME_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_download'] ??
process.env['npm_package_config_puppeteer_skip_chrome_download'] ??
configuration.skipChromeDownload);
// Set skipChromeDownload explicitly or from default
configuration.skipChromeHeadlessShellDownload = Boolean(process.env['PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_headless_shell_download'] ??
process.env['npm_package_config_puppeteer_skip_chrome_headless_shell_download'] ??
configuration.skipChromeHeadlessShellDownload);
// Prepare variables used in browser downloading

@@ -59,0 +69,0 @@ if (!configuration.skipDownload) {

1

lib/cjs/puppeteer/node/cli.js

@@ -29,4 +29,5 @@ #!/usr/bin/env node

[browsers_1.Browser.FIREFOX]: revisions_js_1.PUPPETEER_REVISIONS.firefox,
[browsers_1.Browser.CHROMEHEADLESSSHELL]: revisions_js_1.PUPPETEER_REVISIONS['chrome-headless-shell'],
},
}).run(process.argv);
//# sourceMappingURL=cli.js.map

@@ -37,18 +37,58 @@ "use strict";

const unresolvedBuildId = configuration.browserRevision || revisions_js_1.PUPPETEER_REVISIONS[product] || 'latest';
const buildId = await (0, browsers_1.resolveBuildId)(browser, platform, unresolvedBuildId);
const unresolvedShellBuildId = configuration.browserRevision ||
revisions_js_1.PUPPETEER_REVISIONS['chrome-headless-shell'] ||
'latest';
// TODO: deprecate downloadPath in favour of cacheDirectory.
const cacheDir = configuration.downloadPath ?? configuration.cacheDirectory;
try {
const result = await (0, browsers_1.install)({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: (0, browsers_1.makeProgressCallback)(browser, buildId),
baseUrl: downloadBaseUrl,
});
logPolitely(`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`);
const installationJobs = [];
if (configuration.skipChromeDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
}
else {
const buildId = await (0, browsers_1.resolveBuildId)(browser, platform, unresolvedBuildId);
installationJobs.push((0, browsers_1.install)({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: (0, browsers_1.makeProgressCallback)(browser, buildId),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`);
})
.catch(error => {
throw new Error(`ERROR: Failed to set up ${supportedProducts[product]} v${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`, {
cause: error,
});
}));
}
if (browser === browsers_1.Browser.CHROME) {
if (configuration.skipChromeHeadlessShellDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
}
else {
const shellBuildId = await (0, browsers_1.resolveBuildId)(browser, platform, unresolvedShellBuildId);
installationJobs.push((0, browsers_1.install)({
browser: browsers_1.Browser.CHROMEHEADLESSSHELL,
cacheDir,
platform,
buildId: shellBuildId,
downloadProgressCallback: (0, browsers_1.makeProgressCallback)(browser, shellBuildId),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(`${browsers_1.Browser.CHROMEHEADLESSSHELL} (${result.buildId}) downloaded to ${result.path}`);
})
.catch(error => {
throw new Error(`ERROR: Failed to set up ${browsers_1.Browser.CHROMEHEADLESSSHELL} v${shellBuildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`, {
cause: error,
});
}));
}
}
await Promise.all(installationJobs);
}
catch (error) {
console.error(`ERROR: Failed to set up ${supportedProducts[product]} r${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`);
console.error(error);

@@ -55,0 +95,0 @@ process.exit(1);

@@ -54,2 +54,12 @@ /**

configuration.skipDownload);
// Set skipChromeDownload explicitly or from default
configuration.skipChromeDownload = Boolean(process.env['PUPPETEER_SKIP_CHROME_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_download'] ??
process.env['npm_package_config_puppeteer_skip_chrome_download'] ??
configuration.skipChromeDownload);
// Set skipChromeDownload explicitly or from default
configuration.skipChromeHeadlessShellDownload = Boolean(process.env['PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_headless_shell_download'] ??
process.env['npm_package_config_puppeteer_skip_chrome_headless_shell_download'] ??
configuration.skipChromeHeadlessShellDownload);
// Prepare variables used in browser downloading

@@ -56,0 +66,0 @@ if (!configuration.skipDownload) {

@@ -24,4 +24,5 @@ #!/usr/bin/env node

[Browser.FIREFOX]: PUPPETEER_REVISIONS.firefox,
[Browser.CHROMEHEADLESSSHELL]: PUPPETEER_REVISIONS['chrome-headless-shell'],
},
}).run(process.argv);
//# sourceMappingURL=cli.js.map

@@ -34,18 +34,58 @@ /**

const unresolvedBuildId = configuration.browserRevision || PUPPETEER_REVISIONS[product] || 'latest';
const buildId = await resolveBuildId(browser, platform, unresolvedBuildId);
const unresolvedShellBuildId = configuration.browserRevision ||
PUPPETEER_REVISIONS['chrome-headless-shell'] ||
'latest';
// TODO: deprecate downloadPath in favour of cacheDirectory.
const cacheDir = configuration.downloadPath ?? configuration.cacheDirectory;
try {
const result = await install({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: makeProgressCallback(browser, buildId),
baseUrl: downloadBaseUrl,
});
logPolitely(`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`);
const installationJobs = [];
if (configuration.skipChromeDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
}
else {
const buildId = await resolveBuildId(browser, platform, unresolvedBuildId);
installationJobs.push(install({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: makeProgressCallback(browser, buildId),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`);
})
.catch(error => {
throw new Error(`ERROR: Failed to set up ${supportedProducts[product]} v${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`, {
cause: error,
});
}));
}
if (browser === Browser.CHROME) {
if (configuration.skipChromeHeadlessShellDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
}
else {
const shellBuildId = await resolveBuildId(browser, platform, unresolvedShellBuildId);
installationJobs.push(install({
browser: Browser.CHROMEHEADLESSSHELL,
cacheDir,
platform,
buildId: shellBuildId,
downloadProgressCallback: makeProgressCallback(browser, shellBuildId),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(`${Browser.CHROMEHEADLESSSHELL} (${result.buildId}) downloaded to ${result.path}`);
})
.catch(error => {
throw new Error(`ERROR: Failed to set up ${Browser.CHROMEHEADLESSSHELL} v${shellBuildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`, {
cause: error,
});
}));
}
}
await Promise.all(installationJobs);
}
catch (error) {
console.error(`ERROR: Failed to set up ${supportedProducts[product]} r${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`);
console.error(error);

@@ -52,0 +92,0 @@ process.exit(1);

4

package.json
{
"name": "puppeteer",
"version": "21.9.0",
"version": "21.10.0",
"description": "A high-level API to control headless Chrome over the DevTools Protocol",

@@ -127,3 +127,3 @@ "keywords": [

"cosmiconfig": "9.0.0",
"puppeteer-core": "21.9.0",
"puppeteer-core": "21.10.0",
"@puppeteer/browsers": "1.9.1"

@@ -130,0 +130,0 @@ },

@@ -49,6 +49,6 @@ # Puppeteer

When you install Puppeteer, it automatically downloads a recent version of
[Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) (~170MB macOS, ~282MB Linux, ~280MB Windows) that is [guaranteed to
[Chrome for Testing](https://developer.chrome.com/blog/chrome-for-testing/) (~170MB macOS, ~282MB Linux, ~280MB Windows) and a `chrome-headless-shell` binary (starting with Puppeteer v21.6.0) that is [guaranteed to
work](https://pptr.dev/faq#q-why-doesnt-puppeteer-vxxx-work-with-chromium-vyyy)
with Puppeteer. The browser is downloaded to the `$HOME/.cache/puppeteer` folder
by default (starting with Puppeteer v19.0.0).
by default (starting with Puppeteer v19.0.0). See [configuration](https://pptr.dev/api/puppeteer.configuration) for configuration options and environmental variables to control the download behavor.

@@ -55,0 +55,0 @@ If you deploy a project using Puppeteer to a hosting provider, such as Render or

@@ -67,2 +67,20 @@ /**

// Set skipChromeDownload explicitly or from default
configuration.skipChromeDownload = Boolean(
process.env['PUPPETEER_SKIP_CHROME_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_download'] ??
process.env['npm_package_config_puppeteer_skip_chrome_download'] ??
configuration.skipChromeDownload
);
// Set skipChromeDownload explicitly or from default
configuration.skipChromeHeadlessShellDownload = Boolean(
process.env['PUPPETEER_SKIP_CHROME_HEADLESS_SHELL_DOWNLOAD'] ??
process.env['npm_config_puppeteer_skip_chrome_headless_shell_download'] ??
process.env[
'npm_package_config_puppeteer_skip_chrome_headless_shell_download'
] ??
configuration.skipChromeHeadlessShellDownload
);
// Prepare variables used in browser downloading

@@ -69,0 +87,0 @@ if (!configuration.skipDownload) {

@@ -30,3 +30,4 @@ #!/usr/bin/env node

[Browser.FIREFOX]: PUPPETEER_REVISIONS.firefox,
[Browser.CHROMEHEADLESSSHELL]: PUPPETEER_REVISIONS['chrome-headless-shell'],
},
}).run(process.argv);

@@ -51,4 +51,7 @@ /**

configuration.browserRevision || PUPPETEER_REVISIONS[product] || 'latest';
const unresolvedShellBuildId =
configuration.browserRevision ||
PUPPETEER_REVISIONS['chrome-headless-shell'] ||
'latest';
const buildId = await resolveBuildId(browser, platform, unresolvedBuildId);
// TODO: deprecate downloadPath in favour of cacheDirectory.

@@ -58,18 +61,78 @@ const cacheDir = configuration.downloadPath ?? configuration.cacheDirectory!;

try {
const result = await install({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: makeProgressCallback(browser, buildId),
baseUrl: downloadBaseUrl,
});
const installationJobs = [];
logPolitely(
`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`
);
if (configuration.skipChromeDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
} else {
const buildId = await resolveBuildId(
browser,
platform,
unresolvedBuildId
);
installationJobs.push(
install({
browser,
cacheDir,
platform,
buildId,
downloadProgressCallback: makeProgressCallback(browser, buildId),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(
`${supportedProducts[product]} (${result.buildId}) downloaded to ${result.path}`
);
})
.catch(error => {
throw new Error(
`ERROR: Failed to set up ${supportedProducts[product]} v${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`,
{
cause: error,
}
);
})
);
}
if (browser === Browser.CHROME) {
if (configuration.skipChromeHeadlessShellDownload) {
logPolitely('**INFO** Skipping Chrome download as instructed.');
} else {
const shellBuildId = await resolveBuildId(
browser,
platform,
unresolvedShellBuildId
);
installationJobs.push(
install({
browser: Browser.CHROMEHEADLESSSHELL,
cacheDir,
platform,
buildId: shellBuildId,
downloadProgressCallback: makeProgressCallback(
browser,
shellBuildId
),
baseUrl: downloadBaseUrl,
})
.then(result => {
logPolitely(
`${Browser.CHROMEHEADLESSSHELL} (${result.buildId}) downloaded to ${result.path}`
);
})
.catch(error => {
throw new Error(
`ERROR: Failed to set up ${Browser.CHROMEHEADLESSSHELL} v${shellBuildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`,
{
cause: error,
}
);
})
);
}
}
await Promise.all(installationJobs);
} catch (error) {
console.error(
`ERROR: Failed to set up ${supportedProducts[product]} r${buildId}! Set "PUPPETEER_SKIP_DOWNLOAD" env variable to skip download.`
);
console.error(error);

@@ -76,0 +139,0 @@ process.exit(1);

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

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc