Yeoman generator for ember-cli to facilitate configuring an Ember app with various asset compilers, components, layout frameworks etc.
Yeoman generator
Previously I only tested this generator using npm link
. I always has a lib
folder with "utils functionality" outside the /generators
folder. However, unbeknowest to me, the Yeoman generator-generator creates a package.json
file which includes an entry "files": ["generators"]
. This means that only files under this folder is copied down to the user on install. Which means that indeed, /lib
is non-existant using npm install -g generator-ember-config
. This has now been fixed. No more files
entry to screw things up!
If however this ever happens to you in the future, never hesitate to clone a repo, npm link
and run it locally "in full" to make sure what the real issue is!!
Cheers baby!
PS: Hasn't been tested with latest Ember releases... let me know how it goes ;)
Use this generator to quickly setup your ember-cli based Ember project:
Limit having to:
Configure and Enjoy!!
Please help out improve/add sub-generators!
This Generator is in the process of being integrated with Libraries, your library manager for Ember CLI.
Currently a registry of recommended libraries is under development... see the registry/libraries.json
file.
npm install -g yo
npm install -g generator-ember-config
Start the generator!
yo ember-config
See which sub-generators are available
yo ember-config --help
Start a sub-generator of your choice
yo ember-config:mobile
To use the the generator directly from github, do the following:
git clone https://github.com/kristianmandrup/ember-config.git
cd ember-config
npm link
In your root project folder:
npm link ember-config
Your project will now link directly to the local repo clone of ember-config. Now play around with ember-config and any changes will be directly available in your project when you execute yo ember-config
;)
This npm link approach is also useful when you want to contribute to ember-config. In that case you should use your own forked version so you can make pull requests.
For development and debugging of this project
From /ember-config
root:
npm link
Then from somewhere else in your system:
npm link ember-config
You can then run yo ember-config
to see the code run and debug from there
For more on Yeoman: Getting Started Guide.
The generator should be used right after you have created an ember-cli based Ember application. Use this generator to setup your basic app infrastructure.
The generator will start with the following:
Welcome to Ember Configurator
Select configurations:
By default the following are selected:
Additionally, the following configurators are available:
Test (qunit)
Adapters (firebase, emberfire, fireplace)
Fonts (awesome, ...)
Components
Mobile (cordova, ratchet, appjs)
Auth (simple-auth)
Forms (easyForms, forms, ...)
Validation (validations, validatable, ...)
Routing (auto routes, ...)
Templating (emblem)
Addons (i18n, validation, ...)
Libs (pour-over, ...)
ES6 harmony (esnext)
Animations (liquid-fire, velocity)
Gestures (hammer, touchy, ... )
Upload (uploader, droplet, ...)
Charts (charts, dc-D3)
Maps (leaflet)
Time (moment, moment timezone, date helpers, ...)
Sails full stack app :)
Famo.us integration (via Hefam)
The App config generator will invoke a sub-generator for each. Some of these sub-generators in turn invokes more sub-generators depending on your configuration and selections ;)
Installs a javascript precompiler of your choice.
Installs a CSS precompiler of your choice.
Installs a templating framework of your choice
Installs a layout framework of your choice
Alternative layout frameworks
(TODO ?) - UI-kit - Bootflat - Cascade - Skeleton - more... ??
Note: You are most welcome to add your own layout generator and invoke it from here ;)
Component libs
Components
Adds and configures an adapter for data storage/retrieval
Adds authentication
Adds font libraries
See demo @ https://github.com/ef4/ember-animation-demo
Uses an aid
object found in lib\aid
for much of the functionality. Needs major refactoring!
TODO: - Make use of User Config, pass options between generators - Create Project stats object, which collects info about the project (what is currently used/installed)
Would be awesome to take advantage of Yo User Config:
From the "yo generator authoring" site:
"Storing user configuration options and sharing them between sub-generator is a common task. For example, it is common to share preferences like the language (does the user use CoffeeScript?), style options (indenting with spaces or tabs), etc."
"These configuration can be stored in the .yo-rc.json
file through the Yeoman Storage API. This API is accessible through the generator.config
object."
MIT