aboutsummaryrefslogtreecommitdiffstats
path: root/tooling/eslint/base.js
diff options
context:
space:
mode:
Diffstat (limited to 'tooling/eslint/base.js')
-rw-r--r--tooling/eslint/base.js43
1 files changed, 43 insertions, 0 deletions
diff --git a/tooling/eslint/base.js b/tooling/eslint/base.js
new file mode 100644
index 00000000..d1f6296c
--- /dev/null
+++ b/tooling/eslint/base.js
@@ -0,0 +1,43 @@
+/** @type {import("eslint").Linter.Config} */
+const config = {
+ extends: [
+ "turbo",
+ "eslint:recommended",
+ "plugin:@typescript-eslint/recommended-type-checked",
+ "plugin:@typescript-eslint/stylistic-type-checked",
+ ],
+ env: {
+ es2022: true,
+ node: true,
+ },
+ parser: "@typescript-eslint/parser",
+ parserOptions: { project: true },
+ plugins: ["@typescript-eslint", "import"],
+ rules: {
+ "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: [
+ "**/*.config.js",
+ "**/*.config.cjs",
+ "**/.eslintrc.cjs",
+ ".next",
+ "dist",
+ "pnpm-lock.yaml",
+ ],
+ reportUnusedDisableDirectives: true,
+};
+
+module.exports = config;