GithubHelp home page GithubHelp logo

danny-does-stuff / extension-cli Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mobilefirstllc/extension-cli

0.0 0.0 0.0 3.92 MB

MobileFirstLLC/extension-cli with some extra goodness! Command line tool for building extensions/add-ons for chromium based browsers.

Home Page: https://oss.mobilefirst.me/extension-cli

License: MIT License

JavaScript 97.15% CSS 2.07% HTML 0.79%

extension-cli's Introduction

This is a fork of the package MobileFirstLLC/extension-cli with some extra goodness. Pull Requests welcome!

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

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

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

extension-cli's People

Contributors

nkrusch avatar renovate-bot avatar zicsus avatar renovate[bot] avatar dependabot[bot] avatar danny-does-stuff avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.