/generator-angular-package

yo generator for angular module with templates for directives, controllers and services

Primary LanguageJavaScriptGNU General Public License v2.0GPL-2.0

AngularJS Module generator

Yeoman generator to create AngularJS modules like a library.

Build Status

This generator takes the hard work to make a AngularJS module and gives you time to think in the core functionality of your module. Just have to install yeoman and than start generating your modules.

Quick start

Install yeoman:

$ npm install -g yo

Install generator-angular-package:

$ npm install -g generator-angular-package

Create a new project directory:

$ mkdir myProject
$ cd myProject

Run:

$ yo angular-package

Answer the necessary questions to create the boilerplate for your module At this point you will get a module structure like this:

.
├── .bowerrc                                  # Configure bower directory for development
├── .editorconfig                             # Editor configuration for code consistency
├── .gitignore                                # Includes files that Git should ignore
├── .jshintrc                                 # JSHint config with angular global support
├── LICENSE                                   # Custom license file with your name in it
├── README.md                                 # Basic README.md with title of your module
├── bower.json                                # Bower configuration with custom devDependencies and ignore files
├── dist                                      # This folder and contents is generated by running gulp
│   ├── myProject.js                          # Your module, for dev proposes
│   └── myProject.min.js                      # Your module, ready for production
├── gulpfile.js                               # Gulp configuration for build your module
├── karma-dist-concatenated.conf.js           # Karma configuration to run unit tests using myProject.js
├── karma-dist-minified.conf.js               # Karma configuration to run unit tests using myProject.min.js
├── karma-src.conf.js                         # Karma configuration to run unit tests using src/**/*.js
├── package.json                              # Npm configuration with necessary dependencies for development
├── modules                                   # Source directory
│   └── myProject
│       ├── directives                        # Your directives place
│       ├── controllers                       # Your controllers place
│       ├── filters                           # your filters place
│       ├── sampleLibrary.module.js           # Main module file
│       └── services                          # Your services place
└── test
    ├── e2e
    │   └── myProject                         # Directory where you can store E2E tests
    └── unit
        └── myProject
            ├── directives                    # Directory where you can store unit tests for directives
            ├── controllers                   # Directory where you can store unit tests for controllers
            ├── filters                       # Directory where you can store unit tests for filters
            ├── sampleLibrarySpec.js          # Unit tests for main module
            └── services                      # Directory where you can store unit tests for services

To use your module, use the subgenerators commands:

$ yo angular-package:directive <<directive name>>
$ yo angular-package:controller <<controller name>>
$ yo angular-package:service <<service name>>

Then you can build your project with

$ gulp

With this, you will have 2 files on dist folder:

-<<your project name>>.js: builded version for dev

-<<your project name>>.min.js: builded version for production

Testing

To run tests:

npm install -g mocha
cd ./tests
mocha

License

MIT