Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ember-cli/ember-cli-eslint
Ember CLI addon for linting Ember projects with ESLint
https://github.com/ember-cli/ember-cli-eslint
ember ember-cli eslint
Last synced: 3 months ago
JSON representation
Ember CLI addon for linting Ember projects with ESLint
- Host: GitHub
- URL: https://github.com/ember-cli/ember-cli-eslint
- Owner: ember-cli
- License: mit
- Created: 2015-02-14T05:45:40.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2022-01-18T16:14:36.000Z (about 3 years ago)
- Last Synced: 2024-10-09T12:46:31.169Z (4 months ago)
- Topics: ember, ember-cli, eslint
- Language: JavaScript
- Homepage:
- Size: 3.58 MB
- Stars: 116
- Watchers: 14
- Forks: 49
- Open Issues: 37
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
ember-cli-eslint
==============================================================================[![Latest NPM release][npm-badge]][npm-badge-url]
[![TravisCI Build Status][travis-badge]][travis-badge-url]
[![Ember Observer Score][ember-observer-badge]][ember-observer-badge-url][npm-badge]: https://img.shields.io/npm/v/ember-cli-eslint.svg
[npm-badge-url]: https://www.npmjs.com/package/ember-cli-eslint
[travis-badge]: https://img.shields.io/travis/ember-cli/ember-cli-eslint/master.svg
[travis-badge-url]: https://travis-ci.org/ember-cli/ember-cli-eslint
[ember-observer-badge]: https://emberobserver.com/badges/ember-cli-eslint.svg
[ember-observer-badge-url]: https://emberobserver.com/addons/ember-cli-eslint[ESLint](http://eslint.org/) for [Ember CLI](https://ember-cli.com/) apps and addons.
## 🔴 DEPRECATED 🔴
Please use [ESLint](https://github.com/eslint/eslint) directly instead.
More info / background:
* https://github.com/ember-cli/rfcs/pull/121
* https://github.com/emberjs/rfcs/blob/master/text/0121-remove-ember-cli-eslint.md
* https://github.com/ember-cli/ember-cli/pull/9009Installation
------------------------------------------------------------------------------ESLint 4 (for Node 4 and above):
```
ember install ember-cli-eslint@4
```ESLint 3 (for Node 4 and above):
```
ember install ember-cli-eslint@3
```ESLint 2 (for Node 0.10 and above):
```
ember install ember-cli-eslint@2
```After installation, an `.eslintrc.js` file will be placed in both the root of
your project and the `/tests` directory.Furthermore, a `.eslintignore` file can be used to exclude files from
linting while the linter is running. Its syntax is identical to
`.gitignore` files.### Disabling JSHint
Congratulations! You've made the leap into the next generation of JavaScript
linting. At the moment, however, `ember-cli` defaults to generating
applications and addons with a `jshint` configuration.
If you notice the two awkwardly running side by side, click here!
#### ember-cli >= 2.5.0
As of `ember-cli v.2.5.0`,
[`jshint` is provided through its own `ember-cli-jshint` addon](https://github.com/ember-cli/ember-cli/pull/5757).
Running `npm uninstall --save-dev ember-cli-jshint`, in addition to removing
any `.jshintrc` files from your project should guarantee that its behavior
is disabled.#### ember-cli < 2.5.0
Controlling linting is a bit trickier on versions of `ember-cli` prior to
`2.5.0`. Within your `ember-cli-build.js` file, `ember-cli-qunit` or
`ember-cli-mocha` can be configured to have their default linting process
disabled during:```javascript
module.exports = function(defaults) {
const app = new EmberApp(defaults, {
'ember-cli-qunit': {
useLintTree: false
}
});
};
```or
```javascript
module.exports = function(defaults) {
const app = new EmberApp(defaults, {
'ember-cli-mocha': {
useLintTree: false
}
});
};
```Alongside this setting, the `hinting` property can then be used to
enable/disable globally:```javascript
const isTesting = process.env.EMBER_ENV === 'test';module.exports = function(defaults) {
const app = new EmberApp(defaults, {
hinting: !isTesting,
});
};
```Usage
------------------------------------------------------------------------------ESLint will be run by `ember-cli-qunit` or `ember-cli-mocha` automatically
when you run `ember test`. If ESLint is *not* being run automatically, try
updating your `ember-cli` and/or `ember-cli-qunit`/`ember-cli-mocha`
dependencies.### Configuration
`ember-cli-eslint` can be configured through the `eslint` key in your
`ember-cli-build.js` file:```js
let app = new EmberApp(defaults, {
eslint: {
testGenerator: 'qunit',
group: true,
rulesDir: 'eslint-rules',
extensions: ['js'],
}
});
```- `testGenerator` is automatically detected if `ember-qunit`/`ember-cli-qunit`
or `ember-mocha`/`ember-cli-mocha` are used, but can also be set to `qunit`
and `mocha` manually.- `group` can be set to `false` to go back to the previous behavior where
every generated test was contained in its own separate module.- `rulesDir` is the name of the directory for your custom eslint rules.
It defaults to `eslint-rules`.- `extensions` is an array containing the file extensions to lint. If you want to lint JavaScript and TypeScript files for example it should be set to `['js', 'ts']`. _NOTE_: If you add Typescript files `@typescript-eslint/parser` has to be installed and specified as the parser. For more information take a look at the [`@typescript-eslint/parser`](https://github.com/typescript-eslint/typescript-eslint/tree/master/packages/parser)
### On Build Files
Please note that if you are using this to lint files which are part of the build
process (ie. index.js, ember-cli-build.js, config/), whether in an application or
as part of an addon, they will not be linted. It is recommended that `eslint` is
setup separately to lint these files and can be setup as an npm script and run as
part of a CI process.Contributing
------------------------------------------------------------------------------### Installation
* `git clone` this repository
* `cd ember-cli-eslint`
* `npm install`
* `bower install`### Running
* `ember server`
* Visit your app at http://localhost:4200.### Running Tests
* `npm test` (Runs `ember try:testall` to test your addon against multiple Ember versions)
* `ember test`
* `ember test --server`
* `ember try:each`### Linting
* `npm run lint:hbs`
* `npm run lint:js`
* `npm run lint:js -- --fix`### Running the dummy application
* `ember serve`
* Visit the dummy application at [http://localhost:4200](http://localhost:4200).For more information on using ember-cli, visit [https://ember-cli.com/](https://ember-cli.com/).
License
------------------------------------------------------------------------------This project is licensed under the [MIT License](LICENSE.md).