lyxsus / puppeteer-extra

πŸ’― Teach puppeteer new tricks through plugins.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

About

πŸ’― Teach puppeteer new tricks through plugins.

License:MIT License


Languages

Language:JavaScript 100.0%