eslint-config-nrk
Advanced tools
Comparing version 1.1.3 to 2.0.0
@@ -6,4 +6,4 @@ { | ||
"extends": [ | ||
"./rules/es2015.js" | ||
"./base.js" | ||
] | ||
} |
21
base.js
@@ -1,11 +0,16 @@ | ||
/* eslint-disable quote-props, quotes */ | ||
module.exports = { | ||
env: { | ||
es6: true | ||
}, | ||
parserOptions: { | ||
sourceType: 'module', | ||
ecmaVersion: 6, | ||
ecmaFeatures: { | ||
experimentalObjectRestSpread: true // enable support for the experimental object rest/spread properties | ||
} | ||
}, | ||
extends: [ | ||
"nrk/rules/es2015" | ||
], | ||
rules: {} | ||
'./rules/core.js', | ||
'./rules/es6.js', | ||
].map(require.resolve) | ||
}; |
{ | ||
"name": "eslint-config-nrk", | ||
"version": "1.1.3", | ||
"version": "2.0.0", | ||
"description": "Shared eslint config for NRK", | ||
@@ -8,4 +8,10 @@ "main": "base.js", | ||
"test": "mocha --require babel-core/register test/**/*.spec.js", | ||
"test-travis": "istanbul cover _mocha -- --require babel-core/register -R spec ./test/**/*.spec.js", | ||
"coveralls": "npm run test-travis -- --report lcovonly && cat ./coverage/lcov.info | coveralls", | ||
"lint": "eslint ." | ||
}, | ||
"pre-commit": [ | ||
"test", | ||
"lint" | ||
], | ||
"repository": { | ||
@@ -27,12 +33,16 @@ "type": "git", | ||
"peerDependencies": { | ||
"eslint": "^2.1.0", | ||
"eslint-plugin-react": "^4.0.0" | ||
"eslint": "^2.8.0", | ||
"eslint-plugin-react": "^5.0.1" | ||
}, | ||
"devDependencies": { | ||
"babel-core": "^6.5.2", | ||
"babel-preset-es2015": "^6.5.0", | ||
"babel-core": "^6.7.6", | ||
"babel-preset-es2015": "^6.6.0", | ||
"chai": "^3.5.0", | ||
"eslint": "^2.1.0", | ||
"mocha": "^2.4.5" | ||
"coveralls": "^2.11.9", | ||
"eslint": "^2.8.0", | ||
"istanbul": "1.0.0-alpha.2", | ||
"mocha": "^2.4.5", | ||
"mocha-lcov-reporter": "^1.2.0", | ||
"pre-commit": "^1.1.2" | ||
} | ||
} |
@@ -1,4 +0,4 @@ | ||
# eslint-config-nrk | ||
# eslint-config-nrk [![Build Status](https://travis-ci.org/nrkno/eslint-config-nrk.svg?branch=master)](https://travis-ci.org/nrkno/eslint-config-nrk) [![Coverage Status](https://img.shields.io/coveralls/nrkno/eslint-config-nrk/master.svg?style=flat)](https://coveralls.io/github/nrkno/eslint-config-nrk?branch=master) [![npm version](https://img.shields.io/npm/v/eslint-config-nrk.svg?style=flat)](https://www.npmjs.com/package/eslint-config-nrk) | ||
An open/shared JavaScript (ES2015) coding standard configuration for NRK.no. Uses [`eslint`](http://eslint.org/) 2.x. For 1.x configuration, see the [1.x branch](https://github.com/nrkno/eslint-config-nrk/tree/1.X). | ||
An open/shared JavaScript coding standard configuration for NRK.no. Uses [`eslint`](http://eslint.org/) 2.x. If you're on version 1.x of `eslint`, see the [1.x branch](https://github.com/nrkno/eslint-config-nrk/tree/1.X). | ||
@@ -29,6 +29,10 @@ ## Installation | ||
`eslint` is configured by adding an `.eslintrc.json` file to the root of your project: | ||
`eslint` is configured by adding an `.eslintrc.json` file to the root of your project, where | ||
you specify [`enviroment(s)`](http://eslint.org/docs/user-guide/configuring#specifying-environments) and extend the `nrk` config. The following setup will lint your ES6 codebase: | ||
```json | ||
{ | ||
"env": { | ||
"browser": true | ||
}, | ||
"extends": [ | ||
@@ -40,6 +44,9 @@ "nrk" | ||
For React-support, you also need to add the `react` extension: | ||
For React-support, you need to add the `react` extension as well: | ||
```json | ||
{ | ||
"env": { | ||
"browser": true | ||
}, | ||
"extends": [ | ||
@@ -52,10 +59,13 @@ "nrk", | ||
For JSX-support, add the `jsx` extension separately: | ||
For JSX-support, add the `jsx` extension: | ||
```json | ||
{ | ||
"env": { | ||
"browser": true | ||
}, | ||
"extends": [ | ||
"nrk", | ||
"nrk/rules/jsx", | ||
"nrk/rules/react" | ||
"nrk/rules/react", | ||
"nrk/rules/jsx" | ||
] | ||
@@ -65,2 +75,17 @@ } | ||
Please note that the default config is for version 15 of React. If you use an older version, please refer to the [`documentation`](https://github.com/yannickcr/eslint-plugin-react#configuration). | ||
### Legacy ES5 projects | ||
```json | ||
{ | ||
"env": { | ||
"browser": true | ||
}, | ||
"extends": [ | ||
"nrk/es5" | ||
] | ||
} | ||
``` | ||
See the [ESlint config docs](http://eslint.org/docs/user-guide/configuring#extending-configuration-files) for more information. |
@@ -1,22 +0,21 @@ | ||
/* eslint-disable quote-props, quotes */ | ||
module.exports = { | ||
"parserOptions": { | ||
"ecmaFeatures": { | ||
"jsx": true | ||
parserOptions: { | ||
ecmaFeatures: { | ||
jsx: true | ||
} | ||
}, | ||
"rules": { | ||
"react/jsx-boolean-value": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md | ||
"react/jsx-closing-bracket-location": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md | ||
"react/jsx-curly-spacing": [2, "never"], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md | ||
"react/jsx-equals-spacing": [2, "never"], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-equals-spacing.md | ||
"react/jsx-handler-names": 1, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md | ||
"react/jsx-indent": [2, 2], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md | ||
"react/jsx-indent-props": [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md | ||
rules: { | ||
'react/jsx-boolean-value': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-boolean-value.md | ||
'react/jsx-closing-bracket-location': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-closing-bracket-location.md | ||
'react/jsx-curly-spacing': [2, 'never'], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-curly-spacing.md | ||
'react/jsx-equals-spacing': [2, 'never'], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-equals-spacing.md | ||
'jsx-first-prop-new-line': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-first-prop-new-line.md | ||
'react/jsx-handler-names': 1, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-handler-names.md | ||
'react/jsx-indent': [2, 2], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent.md | ||
'react/jsx-indent-props': [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-indent-props.md | ||
0, | ||
0 | ||
], | ||
"react/jsx-key": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md | ||
"react/jsx-max-props-per-line": [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md | ||
'react/jsx-key': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-key.md | ||
'react/jsx-max-props-per-line': [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-max-props-per-line.md | ||
2, { | ||
@@ -26,14 +25,14 @@ maximum: 6 | ||
], | ||
"react/jsx-no-duplicate-props": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md | ||
"react/jsx-no-bind": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md | ||
"react/jsx-no-literals": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-literals.md | ||
"react/jsx-no-undef": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md | ||
"jsx-quotes": [2, "prefer-double"], // http://eslint.org/docs/rules/jsx-quotes | ||
"react/jsx-pascal-case": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md | ||
"react/jsx-sort-props": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md | ||
"react/jsx-space-before-closing": [2, "always"], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md | ||
"react/jsx-uses-react": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md | ||
"react/jsx-uses-vars": 2 // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md | ||
'react/jsx-no-duplicate-props': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-duplicate-props.md | ||
'react/jsx-no-bind': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-bind.md | ||
'react/jsx-no-literals': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-literals.md | ||
'react/jsx-no-undef': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-no-undef.md | ||
'jsx-quotes': [2, 'prefer-double'], // http://eslint.org/docs/rules/jsx-quotes | ||
'react/jsx-pascal-case': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-pascal-case.md | ||
'react/jsx-sort-props': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-props.md | ||
'react/jsx-space-before-closing': [2, 'always'], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-space-before-closing.md | ||
'react/jsx-uses-react': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-react.md | ||
'react/jsx-uses-vars': 2 // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-uses-vars.md | ||
} | ||
}; |
@@ -1,31 +0,32 @@ | ||
/* eslint-disable quote-props, quotes */ | ||
module.exports = { | ||
"plugins": [ | ||
"react" | ||
plugins: [ | ||
'react' | ||
], | ||
"rules": { | ||
"react/display-name": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md | ||
"react/no-danger": 1, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger.md | ||
"react/no-did-mount-set-state": [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md | ||
rules: { | ||
'react/display-name': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/display-name.md | ||
'react/no-danger': 1, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-danger.md | ||
'react/no-did-mount-set-state': [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-mount-set-state.md | ||
1, | ||
"allow-in-func" | ||
'allow-in-func' | ||
], | ||
"react/no-did-update-set-state": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md | ||
"react/no-direct-mutation-state": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md | ||
"react/no-multi-comp": [1, {"ignoreStateless": true}], // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md | ||
"react/no-set-state": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-set-state.md | ||
"react/no-unknown-property": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md | ||
"react/prefer-es6-class": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md | ||
"react/prop-types": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md | ||
"react/react-in-jsx-scope": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md | ||
"react/require-extension": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md | ||
"react/self-closing-comp": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md | ||
"react/sort-comp": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md | ||
"react/sort-prop-types": 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-prop-types.md | ||
"react/wrap-multilines": 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/wrap-multilines.md | ||
"react/forbid-prop-types": 0 // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md | ||
'react/no-did-update-set-state': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-did-update-set-state.md | ||
'react/no-direct-mutation-state': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-direct-mutation-state.md | ||
'react/no-multi-comp': [ // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-multi-comp.md | ||
1, { | ||
ignoreStateless: true | ||
} | ||
], | ||
'react/no-set-state': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-set-state.md | ||
'react/no-unknown-property': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/no-unknown-property.md | ||
'react/prefer-es6-class': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-es6-class.md | ||
'react/prefer-stateless-function': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prefer-stateless-function.md | ||
'react/prop-types': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/prop-types.md | ||
'react/react-in-jsx-scope': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md | ||
'react/require-extension': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/react-in-jsx-scope.md | ||
'react/self-closing-comp': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/self-closing-comp.md | ||
'react/sort-comp': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/sort-comp.md | ||
'react/sort-prop-types': 0, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/jsx-sort-prop-types.md | ||
'react/wrap-multilines': 2, // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/wrap-multilines.md | ||
'react/forbid-prop-types': 0 // github.com/yannickcr/eslint-plugin-react/blob/master/docs/rules/forbid-prop-types.md | ||
} | ||
}; |
/* global describe, it */ | ||
/* eslint-disable no-sync, global-require */ | ||
import fs from 'fs'; | ||
@@ -22,3 +22,5 @@ import path from 'path'; | ||
const config = require(`../rules/${file}`); | ||
if (typeof config.rules === 'undefined') { | ||
return; | ||
} | ||
if (file === 'react.js') { | ||
@@ -25,0 +27,0 @@ // Make sure all react rules starts with `react/` |
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
30201
22
440
88
9
1