generator-ember-config

0.2.0 • Public • Published

generator-ember-config Build Status

Yeoman generator

Important note

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 ;)

Getting Started

Use this generator to quickly setup your ember-cli based Ember project:

Limit having to:

  • copy/paste configure your project for asset compilers etc.
  • discover which install commands to execute when choosing a library
  • manually link all the pieces correctly together

Configure and Enjoy!!

Please help out improve/add sub-generators!

your feedback

Registry

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.

Install Yeoman

npm install -g yo

Install ember-config

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.

Development & Debugging

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

Getting To Know Yeoman

For more on Yeoman: Getting Started Guide.

Usage

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.

Guide

The generator will start with the following:

Welcome to Ember Configurator

Select configurations:

By default the following are selected:

  • Script (javascript (+ esnext), coffeescript, livescript)
  • CSS (css, less, sass, compass)
  • Templating (handlebars, emblem)
  • Layout (bootstrap, foundation, ...)

Additionally, the following configurators are available:

  • Test (qunit)

  • Adapters (firebase, emberfire, fireplace)

  • Fonts (awesome, ...)

  • Components

    • libs (ember, bootstrap)
    • individual (pagination, ...)
  • 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 ;)

Scripting language

Installs a javascript precompiler of your choice.

  • Javascript (+ ESnext option)
  • Coffeescript
  • Livescript
  • Emberscript (experimental)

CSS precompilers

Installs a CSS precompiler of your choice.

  • CSS (none - default)
  • LESS
  • SASS (scss)
  • Compass (SASS + Compass)

Templating

Installs a templating framework of your choice

  • Handlebars
  • Emblem (soon w blueprints)

Layout

Installs a layout framework of your choice

  • Twitter Bootstrap 3.2 (css, sass)
  • Zurb Foundation 5.4 (css, sass)
  • Ink
  • Pure
  • Gumby
  • alternative

Alternative layout frameworks

  • Semantic UI
  • Flat UI (bootstrap theme)
  • Brick (web components!?)

(TODO ?) - UI-kit - Bootflat - Cascade - Skeleton - more... ??

Note: You are most welcome to add your own layout generator and invoke it from here ;)

Components

Component libs

  • Bootstrap for ember
  • Ember components
  • Ember Forms

Components

  • Date picker
  • List view
  • Radio buttons
  • Table

Adapters

Adds and configures an adapter for data storage/retrieval

  • Firebase
    • Emberfire
    • Fireplace
  • Local storage
  • Sync (offline)

Auth

Adds authentication

  • Simple auth
  • others (TODO)

Fonts

Adds font libraries

  • Font awesome
  • others (TODO)

Test

  • Qunit
  • others (TODO)

Mobile

  • Cordova
  • Ratchet
  • App.js

Animations

  • Liquid Fire
  • Velocity
  • Impulse

See demo @ https://github.com/ef4/ember-animation-demo

Addons

  • i18n
  • Pagination
  • Auto-properties
  • Date helpers
  • Notify
  • Data factory
  • Validations
  • Moment

Uploaders

  • Uploader
  • Droplet
  • Upload (experimental)

Full stack integrations

  • Sails
  • Famo.us

Design

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)

User config (TODO)

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."

License

MIT

Package Sidebar

Install

npm i generator-ember-config

Weekly Downloads

2

Version

0.2.0

License

MIT

Last publish

Collaborators

  • kmandrup