1
0
mirror of https://github.com/LaCasemate/fab-manager.git synced 2024-11-28 09:24:24 +01:00
fab-manager/.eslintrc
2022-12-21 14:14:26 +01:00

89 lines
2.2 KiB
Plaintext

{
"root": true,
"extends": [
"standard",
"plugin:react/recommended"
],
"rules": {
"semi": ["error", "always"],
"no-use-before-define": "off",
"no-case-declarations": "off"
},
"globals": {
"Application": true,
"angular": true,
"Fablab": true,
"moment": true,
"_": true,
"Humanize": true,
"GTM": true,
"$": true,
"KeyboardEvent": true
},
"plugins": ["html-erb", "fabmanager"],
"overrides": [
{
"files": ["**/*.ts", "**/*.tsx"],
"env": { "browser": true, "es6": true },
"extends": [
"plugin:react/recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"parser": "@typescript-eslint/parser",
"parserOptions": {
"ecmaFeatures": { "jsx": true },
"ecmaVersion": 2018,
"sourceType": "module",
"project": "./tsconfig.json"
},
"plugins": ["@typescript-eslint", "react"],
"rules": {
"react/prop-types": "off",
"react/jsx-uses-react": "off",
"react/react-in-jsx-scope": "off"
}
},
{
"files": ["app/frontend/src/javascript/components/**/*.tsx"],
"rules": {
"import/no-default-export": "error",
"import/no-unused-modules": "error",
"fabmanager/component-class-named-as-component": ["error", { "ignoreAbstractKeyword": true }],
"fabmanager/component-named-like-file": "error",
"fabmanager/component-documentation": "warn",
"fabmanager/component-methods-documentation": "warn",
"fabmanager/no-bootstrap": "error",
"fabmanager/no-utilities": "error",
"fabmanager/scoped-translation": ["error", { "ignoreAbstractKeyword": false }]
}
},
{
"files": ["app/frontend/src/javascript/models/**/*.ts"],
"rules": {
"camelcase": "off"
}
},
{
"files": ["test/**/*"],
"plugins": ["jest"],
"env": {
"jest/globals": true
},
"globals": {
"Range": true,
"Document": true
},
"parserOptions": {
"project": "./test/frontend/tsconfig.json"
}
}
],
"settings": {
"react": {
"version": "detect"
}
}
}