Chrome extension generator. Comes with feature and permission picker, React scaffolding (ES6 or ES5) via bare-react, hot reloading, gulp tasks (ES6 or ES5), packaging via nom, browserify, babelify, image minification, l18n, zipping and lastly pre-build configuration with config-prompt.
Note: outdated.
mkdir my-extension
cd my-extension
yo chrome-ninja
gulp develop
Then go to chrome://extensions
, enable developer mode and load ./dist
as an unpacked extension.
--help -h # Print the generator's options and usage
--skip-cache # Do not remember prompt answers
--skip-install # Do not automatically install dependencies
Install Yeoman and generator-chrome-ninja globally with npm:
npm i yo generator-chrome-ninja -g
- Hot reloading of background scripts, content scripts, popups, and option pages.
- Offer choice between ES5 and ES6, make ES6 modules opt-in. This applies to extension scripts, React components, the gulpfile and gulp tasks.
- Add ES7 decorator support
- Have version field of
manifest.json
followpackage.json
version - Pin Babel to 5. We can't move to Babel 6 until babel-plugin-react-transform#46 and livereactload#78 have been resolved.
- Remove all things CSS: live reloading and bundling CSS (parcelify), preprocessing (LESS/SASS). We're likely to move to CSS modules, please follow #3 for updates. Or, for an example of PostCSS postprocessing, check out the cssnext branch.
- Upgrade to bare-react 2.0.0 and nom 2.0.0
MIT © ironSource. Templates and questions adapted from generator-chrome-extension under BSD license © Yeoman. Yeoman icons are CC BY 4.0 © Yeoman.