mirror of https://github.com/djteang/OrangeTV.git
108 lines
2.7 KiB
JavaScript
108 lines
2.7 KiB
JavaScript
module.exports = {
|
|
env: {
|
|
browser: true,
|
|
es2021: true,
|
|
node: true,
|
|
},
|
|
plugins: [
|
|
'@typescript-eslint',
|
|
'react',
|
|
'react-hooks',
|
|
'simple-import-sort',
|
|
'unused-imports',
|
|
],
|
|
extends: [
|
|
'eslint:recommended',
|
|
'plugin:react/recommended',
|
|
'plugin:react-hooks/recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
'prettier',
|
|
],
|
|
settings: {
|
|
react: {
|
|
version: 'detect',
|
|
},
|
|
},
|
|
rules: {
|
|
'no-unused-vars': 'off',
|
|
'no-console': 'warn',
|
|
'@typescript-eslint/explicit-module-boundary-types': 'off',
|
|
'@typescript-eslint/no-empty-function': 'off',
|
|
'@typescript-eslint/no-inferrable-types': 'off',
|
|
'@typescript-eslint/no-var-requires': 'off',
|
|
'no-case-declarations': 'off',
|
|
'react/no-unescaped-entities': 'off',
|
|
'no-empty': 'off',
|
|
'no-useless-escape': 'off',
|
|
'prefer-const': 'off',
|
|
|
|
'react/display-name': 'off',
|
|
'react/prop-types': 'off',
|
|
'react-hooks/immutability': 'off',
|
|
'react-hooks/purity': 'off',
|
|
'react-hooks/refs': 'off',
|
|
'react-hooks/set-state-in-effect': 'off',
|
|
'react/jsx-curly-brace-presence': [
|
|
'warn',
|
|
{ props: 'never', children: 'never' },
|
|
],
|
|
|
|
//#region //*=========== Unused Import ===========
|
|
'@typescript-eslint/no-unused-vars': 'off',
|
|
'unused-imports/no-unused-imports': 'warn',
|
|
'unused-imports/no-unused-vars': [
|
|
'warn',
|
|
{
|
|
vars: 'all',
|
|
varsIgnorePattern: '^_',
|
|
args: 'after-used',
|
|
argsIgnorePattern: '^_',
|
|
},
|
|
],
|
|
//#endregion //*======== Unused Import ===========
|
|
|
|
//#region //*=========== Import Sort ===========
|
|
'simple-import-sort/exports': 'warn',
|
|
'simple-import-sort/imports': [
|
|
'warn',
|
|
{
|
|
groups: [
|
|
// ext library & side effect imports
|
|
['^@?\\w', '^\\u0000'],
|
|
// {s}css files
|
|
['^.+\\.s?css$'],
|
|
// Lib and hooks
|
|
['^@/lib', '^@/hooks'],
|
|
// static data
|
|
['^@/data'],
|
|
// components
|
|
['^@/components', '^@/container'],
|
|
// zustand store
|
|
['^@/store'],
|
|
// Other imports
|
|
['^@/'],
|
|
// relative paths up until 3 level
|
|
[
|
|
'^\\./?$',
|
|
'^\\.(?!/?$)',
|
|
'^\\.\\./?$',
|
|
'^\\.\\.(?!/?$)',
|
|
'^\\.\\./\\.\\./?$',
|
|
'^\\.\\./\\.\\.(?!/?$)',
|
|
'^\\.\\./\\.\\./\\.\\./?$',
|
|
'^\\.\\./\\.\\./\\.\\.(?!/?$)',
|
|
],
|
|
['^@/types'],
|
|
// other that didnt fit in
|
|
['^'],
|
|
],
|
|
},
|
|
],
|
|
//#endregion //*======== Import Sort ===========
|
|
},
|
|
globals: {
|
|
React: true,
|
|
JSX: true,
|
|
},
|
|
};
|