Socket
Socket
Sign inDemoInstall

generator-ng-plugin

Package Overview
Dependencies
428
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    generator-ng-plugin

Yeoman generator to bootstrap AngularJS plugin creation, with integrated demo app, continuous integration system, dependencies and code coverage status


Version published
Weekly downloads
6
increased by500%
Maintainers
1
Install size
28.8 MB
Created
Weekly downloads
 

Changelog

Source

1.0.1 (2015-09-24)

Bug Fixes

  • coveralls: fix integration of code coverage tool(coveralls) in the build system (7d40c70)

Features

Readme

Source

generator-ng-plugin Build StatusDependency StatusdevDependency StatusCoverage Status

Yeoman generator to bootstrap AngularJS plugin creation, with integrated demo app, continuous integration system, dependencies and code coverage status.

Demo

Here are live examples of some AngularJS plugins developed with the generator:

Installation & Usage

Requirements

You should already have the following dependencies installed: Node.js(npm), Yeoman, Bower and Grunt. if not:

  • Install Node.js. This will also install npm, which is the node package manager we are using in the next commands.
  • Install Yeoman: npm install -g yo
  • Install Bower: npm install -g bower
  • Install Grunt: npm install -g grunt-cli

Otherwise, install directly the generator via:

$ npm install -g generator-ng-plugin

Usage

Once installed, simply run the following command:

$ yo ng-plugin

And answer the questions you are prompted to.

Overall Directory Structure

At a high level, the generated structure looks exactly like this:

my-plugin/
  |- .git/
  |- bower_components/
  |- node_modules/
  |- src/
  |  |	|- my-plugin.js
  |  |	|- my-plugin.spec.js
  |  |	|- my-plugin.less
  |  |	|- my-plugin.tpl.html
  |- demo/
  |  |- app/
  |  |	|- app.js
  |  |	|- helpers/
  |  |	|  |- plunker.js/
  |  |	|  |- prettifyDirective.js/
  |  |- less/
  |  |	|- demo.less/
  |  |- index.html
  |- .bowerrc
  |- .editorconfig
  |- .gitattributes
  |- .gitignore
  |- .jshintrc
  |- .travis.yml
  |- bower.json
  |- build.config.js
  |- CHANGELOG.md
  |- changelog.tpl
  |- Gruntfile.js
  |- karma-unit.tpl.js
  |- LICENSE
  |- module.prefix
  |- module.suffix
  |- package.json
  |- README.md

Development

It's now up to you to write your kick-ass AngularJS plugin by modifying generated files in src/ and completing the tests and the demo's index.html.

To ensure your setup works, and during developement, launch grunt:

$ grunt watch

The built files are placed in the build/ directory by default. Open the build/index.html file in your browser and check it out! Because everything is compiled, no XHR requests are needed to retrieve templates, so until this needs to communicate with your backend there is no need to run it from a web server.

Thanks to the integrated LiveReload plugin, you no longer have to refresh your page after making changes!

Versioning

To take full advantage of the generator, use AngularJS's commit message convention. This way, the grunt's changelog task can be used to generate/update the project's CHANGELOG.md file from Git metadata. Only relevant commit messages are considered (take a look at changelog.tpl file to see how it get generated).

Releasing

Once your killer plugin is written, fully tested, it is time to release it:

$ grunt bump-only:[major|minor|patch]*
$ grunt changelog
$ grunt bump-commit

*: you must choose between 'major', 'minor', or 'patch' (see Semantic Versioning for more information)

This will:

  • update the version of your plugin in bower.json and package.json files
  • update the CHANGELOG.md file
  • commit on master branch
  • create new tag
  • push to origin

If you want to make your plugin available to everyone, register it on Bower (one-time-only operation) via:

$ bower register REPO_NAME git://github.com/USER_NAME/REPO_NAME.git

Deploying demo app

To deploy your demo application on Github, simply run the following commands:

$ grunt
$ grunt buildcontrol:ghpages

This will push the minified demo application in dist/demo to gh-pages branch.

The demo application is available at : http://USERNAME.github.io/REPO_NAME/

License

Copyright (c) 2015 Tine Kondo. Licensed under the MIT License (MIT)

Thanks To

The generated files and build system are based on ng-boilerplate by Josh D. Miller.
The generated demo app design is inspired from ui-bootstrap by Angular UI team.
Thanks to them for the great work!

Keywords

FAQs

Last updated on 24 Sep 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc