ember-cli-opinionated
v0.3.0
Published
An opinionated blueprint for ambitious Ember apps
Downloads
24
Maintainers
Readme
Ember-CLI-Opinionated
The Enhanced Ember Application Blueprint
Ember-CLI-Opitionated (ECO) provides an answer to several common decisions you face during development by bringing the best community addons under a single package. If you've ever asked yourself any of the following questions, ECO has you covered:
- SCSS vs LESS vs CSS?
- How can we get code coverage?
- How do we put styles in our pods?
- How can we track performance and feature usage?
- What's the best way to do date parsing/formatting in Ember?
- How can we implement feature flags?
- When will Rick Rolling stop being a thing?
...and more!
All you have to do is sit back, relax, and let ECO do the hard work. When it's done, you'll have the most badass skeleton app around; it'll be a lean, mean, code-generating machine! Watch your productivity increase and your architecture meetings decrease, all at the same time.
Installation
Note: This addon works best with the master branch of Ember CLI (as of 1.13.8), thanks to the enhancements of this Pull Request. ECO has a fallback to work with older versions (pre-2.0), but it is less reliable than the newer methods.
The following command will install this addon and run the included blueprint to give you maximum awesomeness:
ember install ember-cli-opinionated
Subsequent updates to this addon can be pulled in by updating the version of this package and running the following:
ember g ember-cli-opinionated
This will execute the included blueprint, setting up your app for the win! If you want to enhance your app configuration with some additional awesomeness, simply say yes to the first question to fill out a short questionnaire that will allow us to improve your app even more.
Once you have installed this package, you may need to go through some minor setup to begin utilizing the included addons. For most addons, however, you should be able to reap their benefits right away. Please refer to the sections below and the individual READMEs for information on each addon's setup (where applicable).
Compatibility
ECO's blueprint relies on addAddonsToProject
, a
new feature to Ember CLI. For older Ember CLI versions (<=1.13.8),
a polyfill has been provided by chaining addAddonToProject
within the blueprint. However, there are some slight problems with
how that works, and some packages may not be properly saved to your package.json
and bower.json
.
Feel free to use this addon regardless, but check to make sure the dependencies are saved.
Each of the included addons has its own compatibility with different versions of Ember, Ember CLI, and so on. We recommend checking the individual repositories for more information to make sure your app is compatible with the latest versions of each project. The intent of this addon is to enhance a brand-new app generated with Ember CLI, but that doesn't mean you can't juice up your existing application, either!
At this time, Ember 1.13+ should be supported by all included addons. Earlier versions of Ember may also be supported, but they have not been explicitly tested. If you are on 1.12-, please test and let us know if there are issues.
Note: A bug in Ember CLI causes npm to attempt
installing ember-cli-sass
multiple times. This will throw a large number of concerning-looking errors to your console
but should not cause any real problems with installation.
What's Inside The Box?
Below you will find described the various addons packed into ECO.
Each addon is listed with a short description, a link to the main repositories, a setup rating and any additional dependency the addon might install. Optional dependencies that are included by our Enhanced Setup will be labeled as Enhanced with the name of their associated config.
Some of these additional projects may be WIP, alpha, or otherwise experimental. You should be able to use them for developing new applications, as long as you are aware of this fact.
Our rating system for additional setup needed to use an addon is as follows:
No Setup - You can begin using this addon immediately without any additional configuration necessary.
Trivial Setup - You may have to add 1-2 easy lines of code to complete setup.
Minor Setup - A bit of configuration is required (usually in config/environment.js
), but the process is
straightforward and explained in its README.
Major Setup - A significant amount of work is needed to use this addon. Our goal is not to include any projects that would receive this rating, as it is counter-intuitive to the quick-start nature of this project.
ember-cli-autoprefixer
Runs the styles of your Ember CLI application through autoprefixer
.
No Setup
Additional Install: N/A
ember-cli-blanket
Wraps Blanket.js to provide code coverage for Ember apps. Easy integration with
ember-cli-pretender
or ember-cli-mirage
.
The README has details on configuration of the addon.
Minor Setup
Additional Install: blanket
ember-cli-mirage
Enhanced: Testing
Client-side server for mocking API calls for testing & development. The project's documentation has thorough instructions on setting up the mock server.
Minor Setup
Additional Install: Faker, lodash, & pretender
ember-cli-sass-pods
Enhanced: Pods
Enables usage of SCSS styles in pod directories. Also includes generators for these files!
Trivial Setup
Additional Install: ember-cli-sass
ember-cpm
Provides Computed Property Macros, including Composable Macros!
No Setup
Additional Install: N/A
ember-e3
Enhanced: Analytics
An Ember-first data visualization library that combines d3-like math with Ember's "data down/actions up" data binding paradigm. Supports rendering to both Canvas and SVG!
No Setup
Additional Install: N/A
Note: This is a beta product that is still a WIP, with many more features on the way. Additionally, it only supports Ember 1.13+, sorry!
ember-feature-flags
Provides an injected features
property to your routes, controllers, and components.
The README details the easy ENV config.
Minor Setup
Additional Install: N/A
ember-gestures
Enhanced: Mobile-Friendly
Provides gesture and mobile support for Ember applications.
Trivial Setup
Additional Install: hammer.js
& hammer-time
Note: ember-gestures
relies on the yet-to-be-released 2.1.x version of hammer.js
. In order for this package to work
properly, you must install the latest develop
branch from their repository:
bower install --save runspired/hammer.js#develop
ember-metrics
Allows you to send data to multiple analytics integrations without re-implementing new API. Check out the README for information on how to set up the instrumentation to your favorite analytics reporting tool.
Minor Setup
Additional Install: N/A
ember-moment
Provides template helpers and computed property macros for date parsing, as well as
including moment.js
as an ES6 module import.
No Setup
Additional Install: ember-cli-moment-shim
,
moment
, & moment-timezone
ember-paper
Enhanced: Material Design
An Ember-first implementation of Google's Material Design spec. This is an ambitious project that does not yet fully support every part of the spec, but feel free to check out their demo to see how incredibly far they've gotten!
Trivial Setup
_Additional Install: ember-cli-sass
, hammerjs
& matchMedia
ember-responsive
Uses responsive media queries to inject screen layout information throughout Ember applications. Needs Polyfill for compatibility with IE 8/9 or Opera Mini.
No Setup
Additional Install: N/A
ember-sinon-qunit
Enhanced: Testing
Easy integration between sinon
and ember-qunit
.
No Setup
_Additional Install: ember-sinon
ember-suave
Enforce code styles using JSCS
. Defaults to the
DockYard JavaScript and
Ember Style Guides, but rules are configurable.
No Setup
Additional Install: N/A
ember-truth-helpers
HTMLBars template helpers for additional truth logic in if and unless statements. Highly recommended by the Ember Core team!
No Setup
Additional Install: N/A
ember-try
Enhanced: Testing
Run tests against multiple bower dependencies, such as Ember or Ember-Data. Incredibly useful in maintaining an upgrade path for your application!
No Setup
Additional Install: N/A
liquid-fire
Enhanced: Animations
Comprehensive animation support for ambitious Ember applications. Replace your outlets and other HTMLbars helpers
with the liquid-fire
versions to enable support for adding transitional animations throughout your application.
The interactive documentation provides detailed information on using this addon.
Minor Setup
Additional Install: N/A
Contributing
CONTRIBUTING.md details how to contribute to this project.
Installation
git clone [email protected]:elwayman02/ember-cli-opinionated.git
cd ember-cli-opinionated
npm install
bower install
Running
ember s
orember server
- Visit your app at http://localhost:4200.
Running Tests
npm test