mirror of
https://github.com/outline/outline.git
synced 2026-06-13 11:25:03 +03:00
97f8d0f265
* Separate Prettier and ESLint according to best practices - Create standalone .prettierrc configuration file - Remove eslint-plugin-prettier integration from ESLint config - Replace with eslint-config-prettier to disable conflicting rules - Remove eslint-plugin-prettier dependency - Add dedicated format and format:check scripts - Update lint-staged to run Prettier and ESLint separately - Format entire codebase with new Prettier configuration This follows the recommended approach from Prettier documentation: https://prettier.io/docs/integrating-with-linters#notes * Remove test comment --------- Co-authored-by: codegen-sh[bot] <131295404+codegen-sh[bot]@users.noreply.github.com>
184 lines
4.0 KiB
Plaintext
184 lines
4.0 KiB
Plaintext
{
|
|
"parser": "@typescript-eslint/parser",
|
|
"parserOptions": {
|
|
"sourceType": "module",
|
|
"extraFileExtensions": [
|
|
".json"
|
|
],
|
|
"project": "./tsconfig.json",
|
|
"ecmaFeatures": {
|
|
"jsx": true
|
|
}
|
|
},
|
|
"extends": [
|
|
"eslint:recommended",
|
|
"plugin:@typescript-eslint/recommended",
|
|
"plugin:import/recommended",
|
|
"plugin:import/typescript",
|
|
"prettier"
|
|
],
|
|
"plugins": [
|
|
"es",
|
|
"react",
|
|
"@typescript-eslint",
|
|
"eslint-plugin-import",
|
|
"eslint-plugin-node",
|
|
"eslint-plugin-react",
|
|
"eslint-plugin-lodash"
|
|
],
|
|
"rules": {
|
|
"no-restricted-imports": [
|
|
"error",
|
|
{
|
|
"paths": [
|
|
{
|
|
"name": "reakit/Menu",
|
|
"importNames": [
|
|
"useMenuState"
|
|
],
|
|
"message": "Do not use useMenuState from reakit/Menu. Use useMenuState instead."
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"eqeqeq": 2,
|
|
"curly": 2,
|
|
"no-console": "error",
|
|
"arrow-body-style": [
|
|
"error",
|
|
"as-needed"
|
|
],
|
|
"spaced-comment": "error",
|
|
"object-shorthand": "error",
|
|
"no-mixed-operators": "off",
|
|
"no-useless-escape": "off",
|
|
"no-shadow": "off",
|
|
"es/no-regexp-lookbehind-assertions": "error",
|
|
"react/react-in-jsx-scope": "off",
|
|
"react/self-closing-comp": [
|
|
"error",
|
|
{
|
|
"component": true,
|
|
"html": true
|
|
}
|
|
],
|
|
"@typescript-eslint/no-shadow": [
|
|
"warn",
|
|
{
|
|
"allow": [
|
|
"transaction"
|
|
],
|
|
"hoist": "all",
|
|
"ignoreTypeValueShadow": true
|
|
}
|
|
],
|
|
"@typescript-eslint/no-require-imports": "off",
|
|
"@typescript-eslint/no-explicit-any": "warn",
|
|
"@typescript-eslint/no-floating-promises": "error",
|
|
"@typescript-eslint/await-thenable": "error",
|
|
"@typescript-eslint/no-misused-promises": [
|
|
"error",
|
|
{
|
|
"checksVoidReturn": false
|
|
}
|
|
],
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
"argsIgnorePattern": "^_",
|
|
"caughtErrorsIgnorePattern": "^_",
|
|
"args": "after-used",
|
|
"ignoreRestSiblings": true
|
|
}
|
|
],
|
|
"padding-line-between-statements": [
|
|
"error",
|
|
{
|
|
"blankLine": "always",
|
|
"prev": "*",
|
|
"next": "export"
|
|
}
|
|
],
|
|
"lines-between-class-members": [
|
|
"error",
|
|
"always",
|
|
{
|
|
"exceptAfterSingleLine": true
|
|
}
|
|
],
|
|
"lodash/import-scope": [
|
|
"error",
|
|
"method"
|
|
],
|
|
"import/no-named-as-default": "off",
|
|
"import/no-named-as-default-member": "off",
|
|
"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"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
},
|
|
"settings": {
|
|
"react": {
|
|
"createClass": "createReactClass",
|
|
"pragma": "React",
|
|
"version": "detect"
|
|
},
|
|
"import/parsers": {
|
|
"@typescript-eslint/parser": [
|
|
".ts",
|
|
".tsx"
|
|
]
|
|
},
|
|
"import/resolver": {
|
|
"typescript": {}
|
|
}
|
|
}
|
|
}
|