Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
GreatWizard committed Feb 6, 2020
1 parent ee43e41 commit 020d3e6
Show file tree
Hide file tree
Showing 12 changed files with 1,882 additions and 81 deletions.
6 changes: 1 addition & 5 deletions .eslintrc.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,3 @@
module.exports = {
root: true,
env: {
node: true
},
extends: ["./index.js"]
extends: ["./node.js"]
}
2 changes: 0 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
# dependencies
node_modules

# Only apps should have lockfiles
yarn.lock
package-lock.json

# misc
Expand Down
46 changes: 27 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,51 +7,59 @@
## Installation

In your project, remove exisiting ESLint's plugins or configuration, then:
```shell
npm install --save-dev peopledoc/eslint-config-peopledoc
```

If you add this configuration to a project using Ember 3.12+, you need to install `babel-eslint`:

```sh
# with npm
npm install --save-dev babel-eslint
npm install --save-dev eslint-config-peopledoc

# or with yarn
yarn add babel-eslint --dev
yarn add eslint-config-peopledoc --dev
```


## Usage

In your project, edit your [`eslint` configuration](https://eslint.org/docs/user-guide/getting-started#global-installation-and-usage) to extend `peopledoc` ESLint config:
In your project, edit your [`eslint` configuration](https://eslint.org/docs/user-guide/getting-started#global-installation-and-usage) to extend `peopledoc` ESLint config.

Preset configurations are available for:

**Vanilla JS:**

```js
module.exports = {
root: true,
extends: ['peopledoc'],
rules: {}
};
extends: ["peopledoc"]
}
```

Preset configurations are available for:
**Ember:**

**Vanilla JS:**
```js
module.exports = {
extends: ["peopledoc/ember"]
}
```

**Ember Tests:**

```js
extends: ['peopledoc']
module.exports = {
extends: ["peopledoc/embertest"]
}
```

**Ember:**
**Node**

```js
extends: ['peopledoc/ember']
module.exports = {
extends: ["peopledoc/node"]
}
```

**ES5 only**

```js
extends: ['peopledoc/es5']
module.exports = {
extends: ["peopledoc/es5"]
}
```

### Formatting Code
Expand Down
8 changes: 0 additions & 8 deletions core.js → base.js
Original file line number Diff line number Diff line change
@@ -1,12 +1,4 @@
module.exports = {
extends: [],
env: {
es6: true
},
parserOptions: {
ecmaVersion: 2018,
sourceType: "module"
},
rules: {
// ES6
"arrow-parens": ["error", "always"],
Expand Down
36 changes: 12 additions & 24 deletions ember.js
Original file line number Diff line number Diff line change
@@ -1,34 +1,23 @@
module.exports = {
root: true,
env: {
browser: true,
embertest: true
browser: true
},
globals: {
server: true, // mirage
withFeature: true // feature flag
},
parser: 'babel-eslint',
parser: "babel-eslint",
parserOptions: {
ecmaVersion: 2018,
sourceType: "module",
ecmaFeatures: {
legacyDecorators: true
}
},
plugins: ["ember"],
plugins: ["ember", "ember-suave"],
extends: [
"eslint:recommended",
"plugin:ember/recommended",
"plugin:ember-suave/recommended",
"./core.js"
"./base.js"
],
overrides: [
{
files: ["testem.js"],
rules: {
camelcase: 0
}
},
// node files
{
files: [
Expand All @@ -43,12 +32,6 @@ module.exports = {
"server/**/*.js",
"tests/dummy/config/**/*.js"
],
excludedFiles: [
"addon/**",
"addon-test-support/**",
"app/**",
"tests/dummy/app/**"
],
parserOptions: {
sourceType: "script"
},
Expand All @@ -61,13 +44,18 @@ module.exports = {
{},
require("eslint-plugin-node").configs.recommended.rules,
{
// add your custom rules and overrides for node files here

// this can be removed once the following is fixed
// https://github.com/mysticatea/eslint-plugin-node/issues/77
"node/no-unpublished-require": "off"
}
)
},
// testem config
{
files: ["testem.js"],
rules: {
camelcase: 0
}
}
]
}
14 changes: 14 additions & 0 deletions embertest.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module.exports = {
root: true,
globals: {
server: true // mirage
},
env: {
embertest: true
},
parserOptions: {
ecmaVersion: 2018,
sourceType: "module"
},
extends: ["./base.js"]
}
11 changes: 5 additions & 6 deletions es5.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,14 @@
module.exports = {
env: {
browser: true
},
parserOptions: {
ecmaVersion: 5
},
plugins: ["es5"],
extends: [
"eslint:recommended",
"plugin:es5/no-es2015",
"plugin:es5/no-es2016"
],
plugins: ["es5"],
env: {
jquery: true,
browser: true
}
]
}
11 changes: 8 additions & 3 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
"use strict"

module.exports = {
extends: ["eslint:recommended", "./core.js"]
env: {
es6: true
},
parserOptions: {
ecmaVersion: 2018,
sourceType: "module"
},
extends: ["eslint:recommended", "./base.js"]
}
10 changes: 10 additions & 0 deletions node.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module.exports = {
env: {
node: true
},
parserOptions: {
ecmaVersion: 2018
},
plugins: ["node"],
extends: ["eslint:recommended", "plugin:node/recommended", "./base.js"]
}
16 changes: 8 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@
"version": "1.7.2",
"main": "index.js",
"dependencies": {
"babel-eslint": "10.x.x",
"eslint": "5.x.x",
"eslint-plugin-ember": "6.x.x",
"eslint-plugin-ember-suave": "1.x.x",
"eslint-plugin-ember-suave": "2.x.x",
"eslint-plugin-es5": "1.x.x",
"eslint-plugin-node": "9.x.x",
"eslint-plugin-prettier": "3.x.x",
"prettier": "1.x.x",
"eslint-plugin-node": "10.x.x",
"prettier-eslint-cli": "5.x.x"
},
"files": [
"core.js",
"ember.js",
"embertest.js",
"es5.js",
"index.js"
"index.js",
"node.js"
],
"keywords": [
"eslint",
"eslintconfig"
"eslintconfig",
"eslint-config"
],
"author": "The PeopleDoc Team",
"license": "MIT",
Expand Down
6 changes: 0 additions & 6 deletions prettier.js

This file was deleted.

Loading

0 comments on commit 020d3e6

Please sign in to comment.