🌟 For the main documentation, please head over to the
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.
This 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 # Build all TypeScript sources yarn build
# 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 --concurrency 1 'yarn remove fs-extra; echo 0' # 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) rm -rf node_modules rm -rf yarn.lock yarn yarn lerna bootstrap # Update deps within packages (interactive) yarn lernaupdate # If in doubt :-( yarn lerna exec "rm -f yarn.lock; rm -rf node_modules; echo 0" rm -f yarn.lock && rm -rf node_modules && yarn cache clean
# make sure you're signed into npm before publishing # yarn publishing is broken so lerna uses npm npm whoami # ensure everything is up2date and peachy yarn yarn bootstrap yarn lerna link yarn build yarn test # Phew, let's publish these packages! # - Will publish all changed packages # - Will ask for new pkg version per package # - Will updated inter-package dependency versions automatically yarn lerna publish # Fix new dependency version symlinks yarn bootstrap && yarn lerna link