Ember Suave
This library is based on JSCS linting rules and is no longer maintained. For the ESLint equivalent, see eslint-plugin-ember-suave.
Ensures super stylish code by enforcing the DockYard JavaScript and Ember style guide rules.
ESLint Installation and Usage
If you are using ember-cli-eslint in your project, and you would like to also make use of all the ember-suave rules, we have great news! We have created eslint-plugin-ember-suave, which allows you to extend the recommended suave rules, right in your .eslintrc.js
. Further instructions on usage and configuration can be found on the eslint-plugin-ember-suave repo.
JSCS Installation
ember install ember-suave
Post installation, you will find a .jscsrc
file at the root of your project, with the following content:
{
"preset": "ember-suave"
}
This sets ember-suave
as the default JSCS preset.
JSCS Usage
ember-suave
integrates well with ember-cli
, but can also be used as a standalone JSCS preset. This allows custom editor integration, and non-Ember CLI projects to utilize our curated set of rules.
When used from within ember-cli
, your test suite will automatically fail if any of the rules are broken.
JSCS Rules
Default Rules
ember-suave
comes preconfigured with DockYard-curated JSCS rules
so that all you need to do is install the addon and start writing stylish code.
Customization
If ember-suave
isn't suave enough for you and you'd like to override
certain rules, simply add your own rules to .jscsrc
at the root of
your Ember CLI project. Those rules will take precedence over the ones in the
default preset.
You can specify any of the rules that are built into JSCS, provide your own custom ones, or even override the ones we have enabled by default.
To disable a rule, set its value to null
or false
.
{
"preset": "ember-suave",
"additionalRules": ["./lib/rules/*.js"],
"myAwesomeCustomRule": true,
"disallowDanglingUnderscores": true,
"disallowEmptyBlocks": null
}
Development
git clone
this repositorynpm install
Running Tests
npm test
Versioning
Bug fixes will be released as minor or patch version bumps. In some limited cases, a bugfix might cause a previously ignored file or section to be parsed and trigger a failed test, but this is fairly unlikely.
Changing the preset in any way that causes previously passing tests to fail would require a major version bump. This will lead to a larger number of major version releases than a typical project, but provides consumers with relative safety in the use of ^X.Y.Z
style version ranges.
Legal
DockYard, Inc © 2016