@mentor-apm/react-sortable-tree
Version:
Drag-and-drop sortable component for nested data and hierarchies
205 lines (204 loc) • 5.21 kB
JSON
{
"env": {
"browser": true,
"shared-node-browser": true,
"node": true,
"es2021": true
},
"extends": [
"airbnb",
"airbnb-typescript",
"airbnb/hooks",
"prettier",
"plugin:prettier/recommended",
"plugin:import/recommended",
"plugin:import/typescript",
"plugin:react/recommended",
"plugin:react/jsx-runtime",
"plugin:react-hooks/recommended",
"plugin:promise/recommended",
"plugin:unicorn/recommended",
"plugin:sonarjs/recommended"
// "plugin:@typescript-eslint/recommended",
// "plugin:@typescript-eslint/recommended-requiring-type-checking"
],
"plugins": [
"@typescript-eslint",
"react",
"prettier",
"import",
"sonarjs",
"promise",
"unicorn"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaVersion": 2021,
"sourceType": "module",
"project": "./tsconfig.json",
"ecmaFeatures": {
"jsx": true
}
},
"rules": {
// Disabled
"no-console": "off",
"no-continue": "off",
"no-plusplus": "off",
"no-case-declarations": "off",
"no-prototype-builtins": "off",
"no-restricted-syntax": "off",
"no-param-reassign": "off",
"import/prefer-default-export": "off",
"import/no-default-export": "off",
"import/no-extraneous-dependencies": "off",
"import/named": "off",
"import/no-named-as-default": "off",
"react/destructuring-assignment": "off",
"react/require-default-props": "off",
"react/jsx-props-no-spreading": "off",
"react/jsx-filename-extension": "off",
"react/display-name": "off",
"react/react-in-jsx-scope": "off",
"react/jsx-no-useless-fragment": "off",
"@typescript-eslint/no-unused-vars": "off",
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/no-unsafe-member-access": "off",
"@typescript-eslint/no-unsafe-call": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-empty-function": "off",
"@typescript-eslint/no-empty-interface": "off",
"@typescript-eslint/no-explicit-any": "off",
"@typescript-eslint/ban-ts-comment": "off",
"@typescript-eslint/no-unused-expressions": "off",
"unicorn/no-null": "off",
"unicorn/prevent-abbreviations": "off",
"unicorn/filename-case": "off",
"unicorn/no-useless-undefined": "off",
"unicorn/prefer-node-protocol": "off",
"sonarjs/cognitive-complexity": "off",
"jsx-a11y/no-static-element-interactions": "off",
"jsx-a11y/click-events-have-key-events": "off",
"jsx-a11y/interactive-supports-focus": "off",
"jsx-a11y/control-has-associated-label": "off",
"jsx-a11y/media-has-caption": "off",
"jsx-a11y/mouse-events-have-key-events": "off",
"jsx-a11y/anchor-is-valid": "off",
//Modified
"require-atomic-updates": "warn",
"curly": [
"warn",
"multi-line",
"consistent"
],
"no-use-before-define": [
"error",
{
"functions": false,
"classes": true,
"variables": true
}
],
"sort-imports": [
"error",
{
"ignoreDeclarationSort": true
}
],
"import/no-unresolved": [
"error",
{
"commonjs": true,
"amd": true
}
],
"import/export": "error",
"import/order": [
"error",
{
"alphabetize": {
"order": "asc",
"caseInsensitive": true
},
"groups": [
"builtin",
"external",
"internal",
"parent",
"sibling",
"index",
"object"
],
"newlines-between": "never",
"pathGroups": [
{
"pattern": "react",
"group": "builtin",
"position": "before"
}
],
"pathGroupsExcludedImportTypes": [
"builtin"
]
}
],
"react/no-unstable-nested-components": [
"warn",
{
"allowAsProps": true
}
],
"react/function-component-definition": [
"warn",
{
"namedComponents": "arrow-function",
"unnamedComponents": "arrow-function"
}
],
"react-hooks/rules-of-hooks": "error",
"react-hooks/exhaustive-deps": "warn",
"@typescript-eslint/no-duplicate-imports": [
"error"
],
"@typescript-eslint/no-use-before-define": [
"error",
{
"functions": false,
"classes": true,
"variables": true,
"typedefs": true
}
],
"sonarjs/max-switch-cases": [
"warn",
50
]
},
"settings": {
"react": {
"version": "detect"
},
"import/extensions": [".js", ".jsx", ".ts", ".tsx"],
"import/parsers": {
"@typescript-eslint/parser": [".js", ".jsx", ".ts", ".tsx"]
},
"import/resolver": {
"node": {
"extensions": [".js", ".jsx", ".ts", ".tsx", ".json"],
"paths": ["src"]
},
"typescript": {
"alwaysTryTypes": true,
"project": "./tsconfig.json"
}
}
},
"overrides": [
{
"files": ["src"],
"parserOptions": {
"project": "./tsconfig.json"
}
}
]
}