This PR moves the entire project to Typescript. Due to the ~1000 ignores this will lead to a messy codebase for a while, but the churn is worth it – all of those ignore comments are places that were never type-safe previously. closes #1282
106 lines
2.4 KiB
Plaintext
106 lines
2.4 KiB
Plaintext
{
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"sourceType": "module",
|
|
"extraFileExtensions": [".json"],
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
}
|
|
},
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript",
|
|
"plugin:react-hooks/recommended",
|
|
"plugin:prettier/recommended"
|
|
],
|
|
"plugins": [
|
|
"@typescript-eslint",
|
|
"eslint-plugin-import",
|
|
"eslint-plugin-node",
|
|
"eslint-plugin-react",
|
|
"eslint-plugin-react-hooks",
|
|
"import"
|
|
],
|
|
"rules": {
|
|
"eqeqeq": 2,
|
|
"no-mixed-operators": "off",
|
|
"padding-line-between-statements": ["error", { "blankLine": "always", "prev": "*", "next": "export" }],
|
|
"lines-between-class-members": ["error", "always", { "exceptAfterSingleLine": true }],
|
|
"import/newline-after-import": 2,
|
|
"import/order": [
|
|
"error",
|
|
{
|
|
"alphabetize": {
|
|
"order": "asc"
|
|
},
|
|
"pathGroups": [
|
|
{
|
|
"pattern": "@shared/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "@server/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/stores",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/stores/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/models/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/scenes/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/components/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
},
|
|
{
|
|
"pattern": "~/**",
|
|
"group": "external",
|
|
"position": "after"
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"prettier/prettier": [
|
|
"error",
|
|
{
|
|
"printWidth": 80,
|
|
"trailingComma": "es5"
|
|
}
|
|
]
|
|
},
|
|
"settings": {
|
|
"react": {
|
|
"createClass": "createReactClass",
|
|
"pragma": "React",
|
|
"version": "detect"
|
|
},
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [".ts", ".tsx"]
|
|
},
|
|
"import/resolver": {
|
|
"typescript": {}
|
|
}
|
|
},
|
|
"globals": {
|
|
"EDITOR_VERSION": true
|
|
}
|
|
} |