8.0.0 • Published 2 years ago

extension-cli-gfw v8.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Extension CLI

npm travis Code Climate maintainability Last commit npm

Extension CLI is a command-line application that facilitates chromium-based web 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.


Features

  • 🖥️   Javascript Bundling — Compiles, bundles and minifies javascript files

  • 🎨   CSS Bundling — Compiles, bundles, and minifies CSS and SASS files

  • 💄   Linting — lint JavaScript using ESLint

  • 📦   ZIP Generation — Generates a .zip file for publishing

  • 📝   Document Source Code — Generates code documentation using JSDoc

  • ⚗️   Unit Testing — Provides a unit test environment preloaded with mocha, chai and sinon-chrome

  • ⚔️   Cross-Browser Compatibility - develop extensions for Chrome, Edge, Firefox, Opera and Brave.

feature image

Getting Started

Note: Using this CLI assumes you have Node.js installed. If you do not, you can install it here.

Create new extension project
npx extension-cli
Add to an existing project
npm install extension-cli

Commands Reference

CommandDescription
xt-buildRun builds; env flags: -e prod and -e dev
xt-testRun unit tests
xt-docsGenerate docs
xt-syncUpdate project config files to match the latest defaults supplied by this CLI
xt-cleanRemove automatically generated files

Read the Docs

     User Guide →

CLI Developer Guide

If you are interested in extending this project or forking see this guide


Motivation

After developing multiple browser extensions, it became clear that there are several steps in the development process that stay 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: made by developers behind several popular extensions!

License: MIT