Git Product home page Git Product logo

chromex's Introduction

MIT License


Logo

chromex

Fast and easy framework for development of Google Chrome extensions
Get started »

Got an issue? Report it here
-
Request features here
-
Questions? Reach out!

Table of Contents

Features

Prerequisites

  • Knowledge of javascript is a must
  • Knowledge of chrome extension development is good to have
  • nodeJS >= 8.9.0
  • npm >= 5.2.0 (npx support)
  • Chrome >= 55

This project was developed on macOS, so it should work fine on Linux-based systems. You might run into issues developing on Windows as it hasn't been tested yet. In any case, report issues here!

Quickstart

Enough talking, give me my extension!

In this demo, we will create a simple extension with a browser action popup.

1. Generate the project folder

Run the following command in your terminal:

 npx @chromex/init my-extension

After some output, a folder named my-extension will be generated in the current working directory.

2. Start the development server

cd my-extension
npm run dev

After some more output to the terminal, you should see a folder named ext/ created in my-extension/.

3. Load unpacked extension

Navigate to chrome://extensions on your chrome browser and click on the Load unpacked button (If you don't see it, you might have to enable Developer mode on the top right corner of the same page first). Select the generated ext/ folder from your project root as the target extension directory.

Load unpacked

4. Voila!

Your extension should appear in the chrome extensions list now, and the extension icon should appear in the extension bar (top right corner of your browser window). Click on it to see the boilerplate popup page. You have just completed setting up your first extension environment!

Voila

Documentation

Roadmap

  1. Support page templates using other frontend frameworks e.g. React, Vue (currently supports only preact)
  2. More comprehensive documentation
  3. HMR Support
  4. Better testing

Contact

@bluepropane1 - [email protected]

Project Link: https://github.com/bluepropane/chromex

Contributing

I started on this project simply because I am interested in chrome extensions. Still active in the process of developing it but can't do everything solo, so any contribution at all is greatly appreciated! You drop me a message, create an issue or pull request :)

It doesn't have to fix a problem - it can also be something you have in mind that will make developing chrome extensions more efficient for everyone!

Acknowledgements

License

Distributed under the MIT License. See LICENSE for more information.

.

.

.

.

.

.

chromex's People

Contributors

bluepropane avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

chromex's Issues

Git Issue when running init cli

Describe the bug
Seems to happen when no user.email is configured

(node:44732) UnhandledPromiseRejectionWarning: Error: Command failed: git config user.email

To Reproduce (if applicable)
Steps to reproduce the behavior:

  1. run npx @chromex/init dirname

Expected behavior
Success message is shown and dirname is created

Desktop (please complete the following information):
Mac

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.