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.
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. :-)
This is monorepo is powered by Lerna and yarn workspaces.
# Install deps
yarn
# 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
yarn lerna add debug
# Install fs-extra to puppeteer-extra-plugin-user-data-dir
yarn lerna add fs-extra --scope=puppeteer-extra-plugin-user-data-dir
# Remove dependency
# https://github.com/lerna/lerna/issues/833
yarn lerna exec -- yarn remove fs-extra
# Run test in all packages
yarn test
# Update JSDoc based documentation in markdown files
yarn docs
# Upgrade project wide deps like puppeteer
# (We keep the devDependency version blurry with @next)
rm -rf node_modules
rm -rf yarn.lock
yarn
yarn lerna bootstrap
# Update deps within packages (ineractive)
yarn lernaupdate