Extension CLI is a command-line application that facilitates chromium∗-based extension development by providing a systematic way to build, test and document extension projects. It handles the project setup and builds and lets you focus on the extension you are creating.
-
🖥️ Javascript Bundling — Compiles, bundles and minifies javascript files (supports ES6 syntax)
-
🎨 CSS Bundling — Compiles, bundles, and minifies CSS and SASS files
-
🔧 Linting — lint JavaScript using ESLint
-
📦 ZIP Generation — Generates a
.zip
file for uploading to extension marketplace (Chrome Web Store etc.) -
📝 Document Source Code — Generates code documentation using JSDoc
-
⚗️ Unit Testing — Sets up a unit testing environment with mocha, chai, sinon-chrome, and js-dom
-
⚔️ Cross-Browser Compatibility - create extensions for Chrome, Edge, Firefox or Opera.
npx extension-cli
npm install extension-cli
Command | Description |
---|---|
xt-build | Run builds; env flags: -e prod and -e dev |
xt-test | Run unit tests |
xt-docs | Generate docs |
xt-sync | Update project config files to match the latest defaults supplied by this CLI |
xt-clean | Remove automatically generated files |
If you are interested in extending this project or forking see this guide →
After developing multiple browser extensions, it became clear that there were several steps in the development process that stayed the same between every project.
Instead of setting up these tasks individually for each project, it made more sense to combine everything in a utility tool that could be shared between projects.
This approach helps with creating a common, consistent development approach between multiple projects, reduces time to get started, and makes it easier to update build tools and scripts across multiple projects as many npm packages inevitably need to be updated (frequently!).
Issues & Feature Requests: Submit on Github
Maker: Mobile First
License: MIT