2023-12-08 22:35:15 +01:00
|
|
|
/** @type {import("eslint").Linter.Config} */
|
|
|
|
|
const config = {
|
|
|
|
|
extends: [
|
|
|
|
|
"turbo",
|
|
|
|
|
"eslint:recommended",
|
|
|
|
|
"plugin:@typescript-eslint/recommended-type-checked",
|
|
|
|
|
"plugin:@typescript-eslint/stylistic-type-checked",
|
|
|
|
|
"prettier",
|
|
|
|
|
],
|
|
|
|
|
env: {
|
|
|
|
|
es2022: true,
|
|
|
|
|
node: true,
|
|
|
|
|
},
|
|
|
|
|
parser: "@typescript-eslint/parser",
|
|
|
|
|
parserOptions: {
|
|
|
|
|
project: true,
|
|
|
|
|
},
|
|
|
|
|
plugins: ["@typescript-eslint", "import"],
|
|
|
|
|
rules: {
|
2024-03-20 20:58:24 +01:00
|
|
|
"id-length": [
|
|
|
|
|
"warn",
|
|
|
|
|
{
|
|
|
|
|
min: 3,
|
2024-03-25 18:57:59 +01:00
|
|
|
exceptions: ["_", "i", "z", "t", "id", "db"], // _ for unused variables, i for index, z for zod, t for translation
|
2024-03-20 20:58:24 +01:00
|
|
|
properties: "never", // This allows for example the use of <Grid.Col span={{ sm: 12, md: 6 }}> as sm and md would be too short
|
|
|
|
|
},
|
|
|
|
|
],
|
2024-03-03 21:07:27 +01:00
|
|
|
"@typescript-eslint/prefer-nullish-coalescing": "off",
|
2023-12-08 22:35:15 +01:00
|
|
|
"turbo/no-undeclared-env-vars": "off",
|
|
|
|
|
"@typescript-eslint/no-unused-vars": [
|
|
|
|
|
"error",
|
|
|
|
|
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
|
|
|
|
|
],
|
|
|
|
|
"@typescript-eslint/consistent-type-imports": [
|
|
|
|
|
"warn",
|
|
|
|
|
{ prefer: "type-imports", fixStyle: "separate-type-imports" },
|
|
|
|
|
],
|
|
|
|
|
"@typescript-eslint/no-misused-promises": [
|
|
|
|
|
2,
|
|
|
|
|
{ checksVoidReturn: { attributes: false } },
|
|
|
|
|
],
|
|
|
|
|
"import/consistent-type-specifier-style": ["error", "prefer-top-level"],
|
|
|
|
|
},
|
|
|
|
|
ignorePatterns: [
|
|
|
|
|
"**/.eslintrc.cjs",
|
|
|
|
|
"**/*.config.js",
|
|
|
|
|
"**/*.config.cjs",
|
|
|
|
|
".next",
|
|
|
|
|
"dist",
|
|
|
|
|
"pnpm-lock.yaml",
|
|
|
|
|
],
|
|
|
|
|
reportUnusedDisableDirectives: true,
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
module.exports = config;
|