ant-design/.eslintrc.js

125 lines
3.5 KiB
JavaScript
Raw Normal View History

2016-03-31 17:06:21 +08:00
const eslintrc = {
2019-08-05 18:38:10 +08:00
extends: [
'airbnb',
'prettier',
'plugin:jest/recommended',
'plugin:react/recommended',
'plugin:import/typescript',
2019-08-06 15:09:07 +08:00
'prettier/react',
2019-08-05 18:38:10 +08:00
],
2016-03-31 17:06:21 +08:00
env: {
browser: true,
node: true,
jasmine: true,
2016-03-31 17:06:21 +08:00
jest: true,
es6: true,
},
settings: {
react: {
2019-08-28 11:56:18 +08:00
version: '16.9',
},
},
2019-08-02 17:41:16 +08:00
parser: '@typescript-eslint/parser',
plugins: ['markdown', 'react', 'babel', 'jest', '@typescript-eslint', 'react-hooks'],
2019-08-05 18:38:10 +08:00
// https://github.com/typescript-eslint/typescript-eslint/issues/46#issuecomment-470486034
overrides: [
{
2019-08-14 18:21:24 +08:00
files: ['*.ts', '*.tsx'],
2019-08-05 18:38:10 +08:00
rules: {
'@typescript-eslint/no-unused-vars': [2, { args: 'none' }],
'no-unused-expressions': 'off',
'@typescript-eslint/no-unused-expressions': 2,
2019-08-05 18:38:10 +08:00
},
},
],
2016-03-31 17:06:21 +08:00
rules: {
2019-08-14 18:21:24 +08:00
camelcase: 0,
'react/jsx-one-expression-per-line': 0,
2018-11-28 15:00:03 +08:00
'react/prop-types': 0,
'react/forbid-prop-types': 0,
2018-12-07 16:17:45 +08:00
'react/jsx-indent': 0,
'react/jsx-wrap-multilines': ['error', { declaration: false, assignment: false }],
feat: New Picker (#20023) * init generate * basic style * basic panel style * update mode panel style * update style * generate More picker * default clear icon * chore: Update separator type * feat: Add ranged start & end className * update range style * Add transition effect * support size config * adjust range style * chore: Auto fill time by showTime * auto set time by format * update disabled style * update seperator style * ranges style * support extra footer style * remove useless test case part is not usable anymore part is already tested in rc-picker * init calendar * all demos * fix calendar basic test * fix time-picker test case * update snapshot * fix tooltip test case & lint * fix locale & style lint * fix compile * fix style * fix style lint * fix calendar style * update rc-picker version * adjust style * move picker placeholder into locale file * update snapshot * add hover style * update picker version * fix icon position & style * update picker version * update deps for pading * fix: align of suffix * feat: Year & Month support range effect * adjust range style to support up-down placement * update rc-picker * update range picker style * adjust extra footer line style * update snapshot * fix: Locale error * fix: style lint * fix: add missing button style deps * update test case * fix firefox additional white line style issue * rollback demo * fix ff additional blue color * docs: Remove placeholder in demo * rangepicker ranges is tag now * connect start / end background color with picker range * update deps * update deps for fixing blur text issue * hide start-end demo * range hover style update * hover range with ranged value * black magic of inner hover style * hover style of range adjust * fix css select miss hit on DatePicker * remove one eslint rule * fade range hovered color * week should alway not show the cell selection * update style of selection * update snapshot * fix style * add margin back * update rc-picker deps * update date & time picker & form style * fix disabled demo & update form style * update docs about allowEmpty * hide arrow in time range picker * add hover & focused style * fix lint * fix style & update snapshot * raise disabled selector proirity * fix disabled today border color * extra footer provides an bottom line * time picker hover support transition background * add padding style * fix Firefox not correct calculate inline-flex * fix style * fix week picker missing today border color * rm useless padding * Force padding to 0 * test coverage * dedup eslint rule * adjust logic to imporve coverage * fix render cell logic
2019-12-11 23:32:19 +08:00
'import/extensions': 0,
2018-12-07 16:17:45 +08:00
'import/no-extraneous-dependencies': [
'error',
{
devDependencies: [
'site/**',
'tests/**',
'scripts/**',
'**/*.test.js',
'**/__tests__/*',
'*.config.js',
'**/*.md',
],
},
],
'jsx-a11y/no-static-element-interactions': 0,
'jsx-a11y/anchor-has-content': 0,
2017-10-09 13:23:20 +08:00
'jsx-a11y/click-events-have-key-events': 0,
'jsx-a11y/anchor-is-valid': 0,
'jsx-a11y/no-noninteractive-element-interactions': 0,
2016-11-07 15:55:14 +08:00
'comma-dangle': ['error', 'always-multiline'],
2019-08-05 18:38:10 +08:00
'react/jsx-filename-extension': 0,
2019-08-11 16:38:04 +08:00
'react/state-in-constructor': 0,
'react/jsx-props-no-spreading': 0,
2019-08-05 18:38:10 +08:00
'prefer-destructuring': 0, // TODO: remove later
'consistent-return': 0, // TODO: remove later
'no-return-assign': 0, // TODO: remove later
'no-param-reassign': 0, // TODO: remove later
'react/destructuring-assignment': 0, // TODO: remove later
'react/no-did-update-set-state': 0, // TODO: remove later
'react/require-default-props': 0,
'react/default-props-match-prop-types': 0,
'import/no-cycle': 0,
'react/no-find-dom-node': 0,
'no-underscore-dangle': 0,
2019-10-05 17:35:49 +08:00
'react/sort-comp': 0,
2019-08-05 18:38:10 +08:00
// label-has-for has been deprecated
// https://github.com/evcohen/eslint-plugin-jsx-a11y/blob/master/docs/rules/label-has-for.md
'jsx-a11y/label-has-for': 0,
// for (let i = 0; i < len; i++)
'no-plusplus': 0,
// https://eslint.org/docs/rules/no-continue
// labeledLoop is conflicted with `eslint . --fix`
'no-continue': 0,
'react/display-name': 0,
// ban this for Number.isNaN needs polyfill
'no-restricted-globals': 0,
2019-08-11 16:38:04 +08:00
'max-classes-per-file': 0,
'react/static-property-placement': 0,
2019-11-05 00:19:02 +08:00
'jest/no-test-callback': 0,
'jest/expect-expect': 0,
'react-hooks/rules-of-hooks': 2, // Checks rules of Hooks
2016-09-10 11:18:07 +08:00
},
globals: {
gtag: true,
},
2016-03-31 17:06:21 +08:00
};
2016-04-21 20:32:36 +08:00
if (process.env.RUN_ENV === 'DEMO') {
eslintrc.globals = Object.assign(eslintrc.globals, {
2016-03-31 17:06:21 +08:00
React: true,
ReactDOM: true,
mountNode: true,
});
2016-03-31 17:06:21 +08:00
Object.assign(eslintrc.rules, {
2017-10-09 13:23:20 +08:00
indent: 0,
2016-03-31 17:06:21 +08:00
'no-console': 0,
'no-plusplus': 0,
2016-03-31 17:06:21 +08:00
'eol-last': 0,
2018-04-11 15:15:24 +08:00
'no-script-url': 0,
2016-03-31 17:06:21 +08:00
'prefer-rest-params': 0,
2018-06-27 15:55:04 +08:00
'react/no-access-state-in-setstate': 0,
'react/destructuring-assignment': 0,
2016-03-31 17:46:35 +08:00
'react/no-multi-comp': 0,
2016-08-23 21:00:35 +08:00
'jsx-a11y/href-no-hash': 0,
2018-11-28 15:00:03 +08:00
'import/no-extraneous-dependencies': 0,
2019-08-14 18:21:24 +08:00
'import/no-unresolved': 0,
2019-08-11 18:48:49 +08:00
'jsx-a11y/control-has-associated-label': 0,
2016-03-31 17:06:21 +08:00
});
}
module.exports = eslintrc;