-
Notifications
You must be signed in to change notification settings - Fork 9.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat(puppeteer): support convenience env variables #3190
Conversation
@ebidel can you please take a look? @JoelEinbinder has lgtm'ed everything but my grammar in docs. |
docs/api.md
Outdated
|
||
- `HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY` - defines HTTP proxy settings that are used to download and run Chromium. | ||
- `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD` - do not download bundled Chromium during installation step. | ||
- `PUPPETEER_DOWNLOAD_HOST` - overwrite host part of URL that is used to download Chromium | ||
- `PUPPETEER_CHROMIUM_REVISION` - specify a certain version of chrome you'd like puppeteer to use during the installation step. | ||
- `PUPPETEER_CHROMIUM_REVISION` - specify a certain version of chrome you'd like puppeteer to use. See [puppeteer.launch([options])](#puppeteerlaunchoptions) on how executable path is inferred. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
chrome -> Chrome?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Chromium!
docs/api.md
Outdated
2. Launch a browser and start managing its process according to `executablePath`, `handleSIGINT`, `dumpio` and other options. | ||
3. Create an instance of [Browser] class and initialize it with regards to `defaultViewport`, `slowMo` and `ignoreHTTPSErrors`. | ||
2. Infer `executablePath` to use. Executable path is inferred according to the following priorities, from greatest to least: | ||
* use `executablePath` option if set. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This sublist is now aligned with the numbered items. Maybe add another pair of spaces to each item in the sublist?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Dropped the whole thing.
We had (and still have) a ton of pull requests to support PUPPETEER_EXECUTABLE_PATH and PUPPETEER_CHROMIUM_REVISION in puppeteer launcher. We were hesitant before since env variables are not scoped and thus don't make a good interface for a library. Now, since we determined `puppeteer-core` as a library and `puppeteer` as our end-user product, it's safe to satisfy our user needs. This patch: - teaches PUPPETEER_EXECUTABLE_PATH and PUPPETEER_CHROMIUM_REVISION env variables to control how Puppeteer launches browser - makes sure these variables play no role in `puppeteer-core` package.
628b768
to
bcb58dd
Compare
docs/api.md
Outdated
|
||
- `HTTP_PROXY`, `HTTPS_PROXY`, `NO_PROXY` - defines HTTP proxy settings that are used to download and run Chromium. | ||
- `PUPPETEER_SKIP_CHROMIUM_DOWNLOAD` - do not download bundled Chromium during installation step. | ||
- `PUPPETEER_DOWNLOAD_HOST` - overwrite host part of URL that is used to download Chromium | ||
- `PUPPETEER_CHROMIUM_REVISION` - specify a certain version of chrome you'd like puppeteer to use during the installation step. | ||
- `PUPPETEER_CHROMIUM_REVISION` - specify a certain version of Chromium you'd like Puppeteer to use. See [puppeteer.launch([options])](#puppeteerlaunchoptions) on how executable path is inferred. **BEWARE**: Puppeteer is only [guaranteed to work](https://github.com/GoogleChrome/puppeteer/#q-why-doesnt-puppeteer-vxxx-work-with-chromium-vyyy) with bundled chromium, use at your own risk. | ||
- `PUPPETEER_EXECUTABLE_PATH` - specify an executable path to be used in `puppeteer.launch`. See [puppeteer.launch([options])](#puppeteerlaunchoptions) on how the executable path is inferred. **BEWARE**: Puppeteer is only [guaranteed to work](https://github.com/GoogleChrome/puppeteer/#q-why-doesnt-puppeteer-vxxx-work-with-chromium-vyyy) with bundled chromium, use at your own risk. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the bundled Chromium.
docs/api.md
Outdated
@@ -462,7 +463,7 @@ The default flags that Chromium will be launched with. | |||
- `options` <[Object]> Set of configurable options to set on the browser. Can have the following fields: | |||
- `ignoreHTTPSErrors` <[boolean]> Whether to ignore HTTPS errors during navigation. Defaults to `false`. | |||
- `headless` <[boolean]> Whether to run browser in [headless mode](https://developers.google.com/web/updates/2017/04/headless-chrome). Defaults to `true` unless the `devtools` option is `true`. | |||
- `executablePath` <[string]> Path to a Chromium or Chrome executable to run instead of the bundled Chromium. If `executablePath` is a relative path, then it is resolved relative to [current working directory](https://nodejs.org/api/process.html#process_process_cwd). | |||
- `executablePath` <[string]> Path to a Chromium or Chrome executable to run instead of the bundled Chromium. If `executablePath` is a relative path, then it is resolved relative to [current working directory](https://nodejs.org/api/process.html#process_process_cwd). **BEWARE**: Puppeteer is only [guaranteed to work](https://github.com/GoogleChrome/puppeteer/#q-why-doesnt-puppeteer-vxxx-work-with-chromium-vyyy) with bundled chromium; use at your own risk. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the ; is bold. I have no idea if its grammatically correct; use at your own risk.
We had (and still have) a ton of pull requests to support
PUPPETEER_EXECUTABLE_PATH
andPUPPETEER_CHROMIUM_REVISION
in puppeteer launcher.We were hesitant before since env variables are not scoped
and thus don't make a good interface for a library. Now, since we
have
puppeteer-core
as a library for embedding andpuppeteer
as our end-user product, it's safe to add env variables to
puppeteer
.This patch:
PUPPETEER_EXECUTABLE_PATH
andPUPPETEER_CHROMIUM_REVISION
env variables to control how Puppeteer launches browser
puppeteer-core
package.