Skip to content

Commit

Permalink
Update for ESLint 2.0
Browse files Browse the repository at this point in the history
Move es6 rules into a separate config
  • Loading branch information
bdougherty committed Feb 14, 2016
1 parent 99e54fc commit a9fb249
Show file tree
Hide file tree
Showing 8 changed files with 67 additions and 41 deletions.
33 changes: 33 additions & 0 deletions .eslintconfig.es6.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
{
"extends": "vimeo-player",
"env": {
"es6": true
},
"parserOptions": {
"ecmaVersion": 6,
"sourceType": "module"
},
"rules": {
"no-class-assign": 2,
"no-confusing-arrow": 2,
"no-const-assign": 2,
"no-dupe-class-members": 2,
"no-new-symbol": 2,
"no-restricted-syntax": [2, "YieldExpression"],
"no-this-before-super": 2,
"no-useless-constructor": 2,
"no-var": 2,

"arrow-body-style": [2, "as-needed"],
"arrow-parens": 2,
"arrow-spacing": [2, { "before": true, "after": true }],
"constructor-super": 2,
"object-shorthand": [2, "always"],
"prefer-arrow-callback": 2,
"prefer-const": 2,
"prefer-rest-params": 2,
"prefer-spread": 2,
"prefer-template": 1,
"template-curly-spacing": [2, "never"]
}
}
44 changes: 16 additions & 28 deletions .eslintrc → .eslintconfig.json
Original file line number Diff line number Diff line change
@@ -1,11 +1,6 @@
{
"env": {
"browser": true,
"es6": true
},
"ecmaFeatures": {
"generators": false,
"modules": true
"browser": true
},
"globals": {
"console": false
Expand All @@ -15,21 +10,18 @@
"no-array-constructor": 2,
"no-caller": 2,
"no-catch-shadow": 2,
"no-class-assign": 2,
"no-cond-assign": 2,
"no-const-assign": 2,
"no-constant-condition": 2,
"no-control-regex": 2,
"no-debugger": 2,
"no-delete-var": 2,
"no-dupe-args": 2,
"no-dupe-class-members": 2,
"no-dupe-keys": 2,
"no-duplicate-case": 2,
"no-else-return": 2,
"no-empty": 2,
"no-empty-character-class": 2,
"no-empty-label": 2,
"no-empty-pattern": 2,
"no-empty": 2,
"no-eq-null": 2,
"no-eval": 2,
"no-ex-assign": 2,
Expand All @@ -41,7 +33,7 @@
"no-fallthrough": 2,
"no-floating-decimal": 2,
"no-func-assign": 2,
"no-implicit-coercion": [2, {"boolean": false, "number": true, "string": true}],
"no-implicit-coercion": [2, { "boolean": false, "number": true, "string": true }],
"no-implied-eval": 2,
"no-inner-declarations": [2, "functions"],
"no-invalid-regexp": 2,
Expand All @@ -58,43 +50,44 @@
"no-native-reassign": 2,
"no-negated-in-lhs": 2,
"no-nested-ternary": 2,
"no-new": 2,
"no-new-func": 2,
"no-new-object": 2,
"no-new-wrappers": 2,
"no-new": 2,
"no-obj-calls": 2,
"no-octal": 2,
"no-octal-escape": 2,
"no-octal": 2,
"no-process-exit": 2,
"no-proto": 2,
"no-redeclare": 2,
"no-regex-spaces": 2,
"no-return-assign": 2,
"no-script-url": 2,
"no-self-assign": 2,
"no-self-compare": 2,
"no-sequences": 2,
"no-shadow": 2,
"no-shadow-restricted-names": 2,
"no-shadow": 2,
"no-spaced-func": 2,
"no-sparse-arrays": 2,
"no-this-before-super": 2,
"no-throw-literal": 2,
"no-trailing-spaces": 2,
"no-undef": 2,
"no-undef-init": 2,
"no-undef": 2,
"no-unmodified-loop-condition": 2,
"no-unreachable": 2,
"no-unused-expressions": 2,
"no-unused-vars": [2, { "vars": "all", "args": "none" }],
"no-use-before-define": 2,
"no-useless-call": 2,
"no-var": 2,
"no-useless-concat": 2,
"no-warning-comments": [1, { "terms": ["@todo", "todo", "fixme"] }],
"no-whitespace-before-property": 2,
"no-with": 2,

"accessor-pairs": [2, { "setWithoutGet": true }],
"array-bracket-spacing": [2, "never"],
"arrow-parens": 2,
"arrow-spacing": [2, { "before": true, "after": true }],
"array-callback-return": 1,
"brace-style": [2, "stroustrup"],
"camelcase": 2,
"comma-dangle": [2, "never"],
Expand All @@ -103,33 +96,28 @@
"complexity": [1, 12],
"computed-property-spacing": [2, "never"],
"consistent-return": 2,
"constructor-super": 2,
"curly": [2, "all"],
"dot-notation": [2, { "allowKeywords": true }],
"eol-last": 2,
"eqeqeq": 2,
"indent": [2, 4, { "SwitchCase": 1 }],
"key-spacing": [2, { "beforeColon": false, "afterColon": true }],
"keyword-spacing": 2,
"max-nested-callbacks": [1, 2],
"max-params": [2, 4],
"new-cap": 2,
"new-parens": 2,
"object-curly-spacing": [2, "always"],
"object-shorthand": [2, "always"],
"one-var": [2, "never"],
"operator-assignment": [2, "always"],
"prefer-const": 2,
"prefer-spread": 2,
"prefer-template": 1,
"quotes": [2, "single", "avoid-escape"],
"radix": 2,
"semi-spacing": [2, { "before": false, "after": true }],
"semi": 2,
"semi-spacing": [2, {"before": false, "after": true}],
"space-after-keywords": [2, "always"],
"space-before-blocks": [2, "always"],
"space-before-function-paren": [2, "never"],
"space-in-parens": [2, "never"],
"space-infix-ops": 2,
"space-return-throw-case": 2,
"space-unary-ops": [2, { "words": true, "nonwords": false }],
"spaced-comment": [2, "always", { "exceptions": ["/"] }],
"strict": [2, "function"],
Expand Down
1 change: 0 additions & 1 deletion .gitignore

This file was deleted.

1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
message = "Update to version %s"
10 changes: 9 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,12 +10,20 @@ First, install the npm package:
npm install @vimeo/eslint-config-player
```

Then add the `extends` option to the `.eslintrc` file:
Then add the `extends` option to the `.eslintrc.json` file:

```json
{
"extends": "@vimeo/eslint-config-player"
}
```

If the project is using ES6, extend from the ES6 version instead:

```json
{
"extends": "@vimeo/eslint-config-player/es6"
}
```

You can override specific settings by specifying them as normal. See <http://eslint.org/docs/developer-guide/shareable-configs> for more details.
2 changes: 2 additions & 0 deletions es6.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
/* eslint-env node */
module.exports = require('./.eslintconfig.es6.json');
7 changes: 1 addition & 6 deletions index.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,2 @@
/* eslint-env node */
var fs = require('fs');
var path = require('path');
var stripComments = require('strip-json-comments');

var file = fs.readFileSync(path.join(__dirname, '.eslintrc'), 'utf8');
module.exports = JSON.parse(stripComments(file));
module.exports = require('./.eslintconfig.json');
10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,18 @@
"name": "@vimeo/eslint-config-player",
"version": "2.1.0",
"description": "Default ESLint configuration for Player projects.",
"license": "MIT",
"contributors": [
"Brad Dougherty <[email protected]> (https://brad.is)"
],
"main": "index.js",
"repository": "vimeo/eslint-config-player",
"bugs": "https://github.com/vimeo/eslint-config-player/issues",
"keywords": [
"eslint",
"eslintconfig"
],
"author": "Brad Dougherty <[email protected]>",
"dependencies": {
"strip-json-comments": "^1.0.2"
},
"peerDependencies": {
"eslint": ">=1.2.0"
"eslint": ">=2.0.0"
}
}

0 comments on commit a9fb249

Please sign in to comment.