Skip to content

DavyJonesLocker/ember-suave

Repository files navigation

Ember Suave Build Status

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.

suave

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 repository
  • npm 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

@dockyard

Licensed under the MIT license