@spaced-out/ui-design-system
Version:
Sense UI components library
123 lines (117 loc) • 4.02 kB
YAML
{
'root': true,
'env': {'browser': true, 'node': true, 'es2020': true},
'parser': '@babel/eslint-parser',
'plugins':
['flowtype', '@babel', 'react', 'import', 'unused-imports', 'react-hooks','simple-import-sort'],
'settings': {'react': {'version': 'detect'}},
'globals': {'Iterator': 'readonly'},
'rules':
{
'arrow-body-style': ['warn', 'as-needed'],
'curly': ['warn', 'all'],
comma-spacing: ["warn", { "before": false, "after": true }],
'eol-last': 'warn',
'eqeqeq': ['error', 'always', {'null': 'ignore'}],
indent: ["error", 2],
'max-params': ['warn', {'max': 4}],
'no-alert': 'warn',
'no-console': ['error', {allow: ['warn', 'error']}],
'no-const-assign': 'error',
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',
'no-dupe-class-members': 'error',
'no-empty-function': 'warn',
'no-empty-pattern': 'error',
'no-eval': 'error',
'no-extend-native': 'error',
'no-extra-boolean-cast': 'error',
'no-fallthrough': 'error',
'no-floating-decimal': 'error',
'no-inner-declarations': 'error',
'no-loop-func': 'error',
'no-mixed-requires': 'off',
'no-nested-ternary': 'off',
'no-new-symbol': 'error',
'no-redeclare': 'error',
'no-restricted-globals': ['error', 'event', 'location'],
'no-sparse-arrays': 'error',
'no-tabs': 'warn',
'no-this-before-super': 'error',
'no-trailing-spaces': 'warn',
'no-underscore-dangle': 'off',
'no-unmodified-loop-condition': 'warn',
'no-undef': ['error', {'typeof': true}],
'no-unreachable': 'warn',
'unused-imports/no-unused-imports': 'error',
'unused-imports/no-unused-vars':
[
'warn',
{
'vars': 'all',
'varsIgnorePattern': '^_',
'args': 'after-used',
'argsIgnorePattern': '^_',
},
],
'no-useless-constructor': 'error',
'no-var': 'error',
'no-with': 'error',
'object-shorthand': 'error',
'prefer-arrow-callback': 'error',
'prefer-const': 'warn',
'prefer-spread': 'warn',
'quotes': ['warn', 'single', {'allowTemplateLiterals': true}],
'require-yield': 'error',
'rest-spread-spacing': 'error',
'strict': ['warn', 'never'],
'import/newline-after-import': ['warn', {'count': 2}],
'import/no-duplicates': 'error',
'react/jsx-no-undef': 'error',
'react/jsx-pascal-case': 'warn',
'react/jsx-uses-react': 'error',
'react/jsx-uses-vars': 'error',
'react/no-array-index-key': 'warn',
'react/no-deprecated': 'error',
'react/no-direct-mutation-state': 'error',
'react/no-string-refs': 'warn',
'react/prop-types': 'off',
'react/react-in-jsx-scope': 'error',
'flowtype/define-flow-type': 'error',
'flowtype/delimiter-dangle': ['warn', 'always-multiline'],
'flowtype/no-existential-type': 'warn',
'flowtype/no-weak-types': 'warn',
'flowtype/semi': ['warn', 'always'],
'react-hooks/rules-of-hooks': 'error',
"simple-import-sort/imports": "error",
"simple-import-sort/exports": "error"
},
'overrides':
[
{
'files': ['**/__tests__/*.js', '**/__tests__/*.jsx'],
'env': {'jest': true},
'plugins': ['jest'],
},
{'files': ['**/*.stories.jsx'], 'rules': {'semi': ['warn', 'always']}},
{
"files": ["*.js", "*.jsx", "*.ts", "*.tsx"],
"rules": {
"simple-import-sort/imports": [
"error",
{
"groups": [
["^react", "^@?\\w"],
["^(@|components)(/.*|$)"],
["^\\u0000"],
["^\\.\\.(?!/?$)", "^\\.\\./?$"],
["^\\./(?=.*/)(?!/?$)", "^\\.(?!/?$)", "^\\./?$"],
["^.+\\.?(css)$"]
]
}
]
}
}
],
}