2016-03-31 17:06:21 +08:00
|
|
|
'use strict';
|
|
|
|
|
|
|
|
const eslintrc = {
|
|
|
|
extends: ['eslint-config-airbnb'],
|
|
|
|
env: {
|
|
|
|
browser: true,
|
|
|
|
node: true,
|
|
|
|
mocha: true,
|
|
|
|
jest: true,
|
|
|
|
es6: true,
|
|
|
|
},
|
|
|
|
parser: 'babel-eslint',
|
|
|
|
parserOptions: {
|
|
|
|
ecmaVersion: 6,
|
|
|
|
ecmaFeatures: {
|
|
|
|
jsx: true,
|
|
|
|
experimentalObjectRestSpread: true,
|
|
|
|
},
|
|
|
|
},
|
|
|
|
plugins: [
|
|
|
|
'markdown',
|
|
|
|
'react',
|
|
|
|
'babel',
|
|
|
|
],
|
|
|
|
rules: {
|
|
|
|
'func-names': 0,
|
|
|
|
'arrow-body-style': 0,
|
|
|
|
'react/sort-comp': 0,
|
|
|
|
'react/prop-types': 0,
|
2016-04-29 12:13:27 +08:00
|
|
|
'react/jsx-first-prop-new-line': 0,
|
2016-08-23 21:00:35 +08:00
|
|
|
"react/jsx-filename-extension": [1, { extensions: ['.js', '.jsx', '.md'] }],
|
2016-04-29 12:13:27 +08:00
|
|
|
'import/no-unresolved': 0,
|
2016-08-23 21:00:35 +08:00
|
|
|
'import/no-extraneous-dependencies': 0,
|
2016-03-31 17:06:21 +08:00
|
|
|
'no-param-reassign': 0,
|
|
|
|
'no-return-assign': 0,
|
|
|
|
'max-len': 0,
|
|
|
|
'consistent-return': 0,
|
2016-07-09 16:15:08 +08:00
|
|
|
'no-redeclare': 0,
|
2016-03-31 17:06:21 +08:00
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2016-04-21 20:32:36 +08:00
|
|
|
if (process.env.RUN_ENV === 'DEMO') {
|
2016-03-31 17:06:21 +08:00
|
|
|
eslintrc.globals = {
|
|
|
|
React: true,
|
|
|
|
ReactDOM: true,
|
|
|
|
mountNode: true,
|
|
|
|
};
|
|
|
|
|
|
|
|
Object.assign(eslintrc.rules, {
|
|
|
|
'no-console': 0,
|
|
|
|
'eol-last': 0,
|
|
|
|
'prefer-rest-params': 0,
|
2016-03-31 17:46:35 +08:00
|
|
|
'react/no-multi-comp': 0,
|
2016-04-13 17:23:14 +08:00
|
|
|
'react/prefer-es6-class': 0,
|
2016-08-23 21:00:35 +08:00
|
|
|
'jsx-a11y/href-no-hash': 0,
|
|
|
|
'import/newline-after-import': 0,
|
2016-03-31 17:06:21 +08:00
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = eslintrc;
|