generator-mcfly-ng2 v1.1.6
generator-mcfly-ng2
A Yeoman generator for scaffolding an app using angular2 and webpack
Credits
This generator was inspired by this amazing repo: https://github.com/AngularClass/angular2-webpack-starter
Installation
First, install Yeoman and generator-mcfly-ng2 using npm (we assume you have pre-installed node.js).
npm install -g yo
npm install -g generator-mcfly-ng2Then generate your new project:
yo mcfly-ng2 [project-name]You then have access to the following sub generators:
- yo mcfly-ng2:target (Creates a new target - you can think of it as another application)
- yo mcfly-ng2:module (Creates a module)
- yo mcfly-ng2:service (Creates a service)
- yo mcfly-ng2:pipe (Creates a pipe)
- yo mcfly-ng2:component (Creates a component)
- yo mcfly-ng2:directive (Creates a directive)
- yo mcfly-ng2:interface (Creates an interface)
NOTE:
When scaffolding a new target, the generator will ask you to choose betweenweb,fuse, orionic2.webis a normal web projectfuseis a fusetools mobile appionic2is an Ionic 2 mobile app (cordova)
You have access to the following npm scripts:
Clean & Build
- npm run clean (clean the
distfolder) - npm run build (build the code to the
distfolder) - npm run browsersync (open a live browser on port 5000, recompiling the code on each change)
- npm run webpack:server (same as browsersync but uses webpack-dev-server)
Test
- npm run lint (run eslint and tslint)
- npm run karma (run unit test)
- npm run karma:watch (run unit test in watch mode)
- npm run e2e (run e2e test - make sure that browsersync or webpack:server is running in another console window)
- npm run e2e:live (run e2e test and stop to allow debug - make sure that browsersync or webpack:server is running in another console window)
Docs
- npm run docs (run typedoc using the
typedoc.jsonconfig file)
Note:
All fuse & ionic npm commands accept an optionalOPTIONS=(...)variable to pass additional options to those clis.OPTIONScan either be a single plugin name or a space-separated bash/zsh list, i.e. enclosed in parens,(...), or in quotation marks"..."*
Fuse Commands
- npm run fuse:clean (run
uno cleanto clean up generated resources in your fuse target) - npm run fuse:build[:platform] (build and run your ionic target on a device)
- This command takes an optional platform (
iosorandroid), if omitted the command will do both of the alternatives in this order.
- This command takes an optional platform (
- npm run fuse:preview[:platform] (build and run your ionic target on a device)
- This command takes an optional platform (
iosorandroid), if omitted the command will do both of the alternatives in this order.
- This command takes an optional platform (
Ionic Commands
- npm run ionic:platform[:operation][:platform] (remove or add platforms to your ionic target)
- This command takes an optional operation (
rmoradd) and platform (iosorandroid), if either is omitted the command will do both of the alternatives in this order.
- This command takes an optional operation (
- PLUGIN=(ionic-plugin1 ionic-plugin2) npm run ionic:plugin[:operation] (remove or add plugins to your ionic target)
- This command takes an optional operation (
rmoradd), if it is omitted the command will attempt to remove and then add the plugin. - This command is often run without the operation parameter.
PLUGINcan either be a single plugin name or a space-separated bash/zsh list, i.e. enclosed in parens,(...), or in quotation marks"..."
- This command takes an optional operation (
- npm run ionic:run[:platform] (build and run your ionic target on a device)
- This command takes an optional platform (
iosorandroid), if omitted the command will do both of the alternatives in this order.
- This command takes an optional platform (
- npm run ionic:serve (run an ionic2 app in the browser)
- npm run ionic:serve:lab (run an ionic2 app in the browser in lab mode)
- npm run ionic:emulate (run an ionic2 app in the emulator)
Note:
Normally, the webpack ChangeMode plugin (plugins/ChangeModePlugin.js) should make sure that the ionic hooks in the dist folder are executable. If however you get errors like these:Running command: <path_to_hook_dir> <path_to_hook.js> <path_to_ionic_target_dist>Error: spawn EACCESuse npm run ionic:hooks:chmodx to fix the hooks.
Distribution
Note that the code is distributed to the dist folder
You can pass a different TARGET or MODE using the following command:
[TARGET=newtarget MODE=dev] npm run buildDefault TARGET is app, possible values will depends if you have scaffolded other targets
Default MODE is dev, can be either prod or dev
The same apply to the webpack:server task or browsersync tasknpm run webpack:server: compile and open a the webpack reload browser
You can pass a different TARGET or MODE using the following command:
[TARGET=newtarget MODE=dev] npm run webpack:serverLaunching
npm run webpack:server
# or
npm run browsersyncVisit your browser at http://localhost:5000
Testing
npm run test # lint + unit tests
npm run mocha # to run without linting first
npm run mocha.watch # to run in watch modeLicense
MIT
9 years ago
9 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
