💯 Teach puppeteer new tricks through plugins.
Switch branches/tags
puppeteer-extra@2.1.1 puppeteer-extra@2.1.0 puppeteer-extra@2.0.10 puppeteer-extra@2.0.7 puppeteer-extra@2.0.6 puppeteer-extra@2.0.5 puppeteer-extra@2.0.4 puppeteer-extra@2.0.3 puppeteer-extra@2.0.2 puppeteer-extra@2.0.1 puppeteer-extra-plugin@2.1.1 puppeteer-extra-plugin@2.1.0 puppeteer-extra-plugin@2.0.9 puppeteer-extra-plugin@2.0.6 puppeteer-extra-plugin@2.0.5 puppeteer-extra-plugin@2.0.4 puppeteer-extra-plugin@2.0.3 puppeteer-extra-plugin@2.0.2 puppeteer-extra-plugin@2.0.1 puppeteer-extra-plugin-user-preferences@2.1.1 puppeteer-extra-plugin-user-preferences@2.1.0 puppeteer-extra-plugin-user-preferences@2.0.10 puppeteer-extra-plugin-user-preferences@2.0.7 puppeteer-extra-plugin-user-preferences@2.0.6 puppeteer-extra-plugin-user-preferences@2.0.5 puppeteer-extra-plugin-user-preferences@2.0.4 puppeteer-extra-plugin-user-preferences@2.0.3 puppeteer-extra-plugin-user-preferences@2.0.2 puppeteer-extra-plugin-user-preferences@2.0.1 puppeteer-extra-plugin-user-data-dir@2.1.1 puppeteer-extra-plugin-user-data-dir@2.1.0 puppeteer-extra-plugin-user-data-dir@2.0.10 puppeteer-extra-plugin-user-data-dir@2.0.7 puppeteer-extra-plugin-user-data-dir@2.0.6 puppeteer-extra-plugin-user-data-dir@2.0.5 puppeteer-extra-plugin-user-data-dir@2.0.4 puppeteer-extra-plugin-user-data-dir@2.0.3 puppeteer-extra-plugin-user-data-dir@2.0.2 puppeteer-extra-plugin-user-data-dir@2.0.1 puppeteer-extra-plugin-stealth@2.1.1 puppeteer-extra-plugin-stealth@2.1.0 puppeteer-extra-plugin-stealth@2.0.10 puppeteer-extra-plugin-stealth@2.0.7 puppeteer-extra-plugin-stealth@2.0.6 puppeteer-extra-plugin-stealth@2.0.5 puppeteer-extra-plugin-stealth@2.0.4 puppeteer-extra-plugin-stealth@2.0.3 puppeteer-extra-plugin-stealth@2.0.2 puppeteer-extra-plugin-stealth@2.0.1 puppeteer-extra-plugin-repl@2.1.1 puppeteer-extra-plugin-repl@2.1.0 puppeteer-extra-plugin-repl@2.0.11 puppeteer-extra-plugin-repl@2.0.8 puppeteer-extra-plugin-repl@2.0.7 puppeteer-extra-plugin-repl@2.0.6 puppeteer-extra-plugin-font-size@2.1.1 puppeteer-extra-plugin-font-size@2.1.0 puppeteer-extra-plugin-font-size@2.0.10 puppeteer-extra-plugin-font-size@2.0.7 puppeteer-extra-plugin-font-size@2.0.6 puppeteer-extra-plugin-font-size@2.0.5 puppeteer-extra-plugin-font-size@2.0.4 puppeteer-extra-plugin-font-size@2.0.3 puppeteer-extra-plugin-font-size@2.0.2 puppeteer-extra-plugin-font-size@2.0.1 puppeteer-extra-plugin-flash@2.1.1 puppeteer-extra-plugin-flash@2.1.0 puppeteer-extra-plugin-flash@2.0.10 puppeteer-extra-plugin-flash@2.0.7 puppeteer-extra-plugin-flash@2.0.6 puppeteer-extra-plugin-flash@2.0.5 puppeteer-extra-plugin-flash@2.0.4 puppeteer-extra-plugin-flash@2.0.3 puppeteer-extra-plugin-flash@2.0.2 puppeteer-extra-plugin-flash@2.0.1 puppeteer-extra-plugin-devtools@2.1.1 puppeteer-extra-plugin-devtools@2.1.0 puppeteer-extra-plugin-devtools@2.0.11 puppeteer-extra-plugin-devtools@2.0.8 puppeteer-extra-plugin-devtools@2.0.7 puppeteer-extra-plugin-devtools@2.0.6 puppeteer-extra-plugin-devtools@2.0.5 puppeteer-extra-plugin-click-and-wait@2.1.1 puppeteer-extra-plugin-click-and-wait@2.1.0 puppeteer-extra-plugin-click-and-wait@2.0.10 puppeteer-extra-plugin-click-and-wait@2.0.7 puppeteer-extra-plugin-click-and-wait@2.0.6 puppeteer-extra-plugin-click-and-wait@2.0.5 puppeteer-extra-plugin-click-and-wait@2.0.4 puppeteer-extra-plugin-click-and-wait@2.0.3 puppeteer-extra-plugin-click-and-wait@2.0.2 puppeteer-extra-plugin-click-and-wait@2.0.1 puppeteer-extra-plugin-block-resources@2.1.1 puppeteer-extra-plugin-block-resources@2.1.0 puppeteer-extra-plugin-block-resources@2.0.11 puppeteer-extra-plugin-block-resources@2.0.8 puppeteer-extra-plugin-block-resources@2.0.7 puppeteer-extra-plugin-block-resources@2.0.6 puppeteer-extra-plugin-block-resources@2.0.5 puppeteer-extra-plugin-block-resources@2.0.4
Nothing to show
Clone or download
Latest commit 61d007c Nov 11, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
packages Update readme.md Nov 12, 2018
.editorconfig Rewrite to modular design May 27, 2018
.eslintrc Rewrite to modular design May 27, 2018
.gitignore Ignore .tgz files Sep 10, 2018
.travis.yml Add 1.8.0 to test matrix Sep 10, 2018
LICENSE Initial commit May 15, 2018
README.md Add travis CI (#5) Jun 2, 2018
lerna.json Change npmClient to yarn Aug 18, 2018
package.json Add publish option to package.json Sep 10, 2018
yarn.lock Update dependencies Sep 10, 2018

README.md

puppeteer-extra

This is the monorepo for puppeteer-extra, a modular plugin framework for puppeteer. :-)

For the main documentation, please head over to the puppeteer-extra package.

In case you're interested in the available plugins, check out the packages folder.

Contributing

PRs and new plugins are welcome! 🎉 The plugin API for puppeteer-extra is clean and fun to use. Have a look the PuppeteerExtraPlugin base class documentation to get going and check out the existing plugins (minimal example is the anonymize-ua plugin) for reference.

We use a monorepo powered by Lerna (and yarn workspaces), ava for testing, the standard style for linting and JSDoc heavily to auto-generate markdown documentation based on code. :-)

Lerna

This is monorepo is powered by Lerna and yarn workspaces.

Development flow

# Bootstrap the packages in the current Lerna repo. 
# Installs all of their dependencies and links any cross-dependencies.
yarn bootstrap

# Install debug in all packages
lerna add debug

# Install fs-extra to puppeteer-extra-plugin-user-data-dir
lerna add fs-extra --scope=puppeteer-extra-plugin-user-data-dir

# Remove dependency
# https://github.com/lerna/lerna/issues/833
lerna exec -- yarn remove fs-extra

# Run test in all packages
yarn test

# Update JSDoc based documentation in markdown files
yarn docs