From c3f069a005dd9377edf9589b0fba8df3165a0236 Mon Sep 17 00:00:00 2001 From: Danijel Martinek Date: Mon, 6 Apr 2026 14:06:22 +0200 Subject: [PATCH] feat: add shared ESLint config package (@repo/eslint-config) --- packages/eslint-config/base.js | 17 +++++++++++++++++ packages/eslint-config/next.js | 6 ++++++ packages/eslint-config/package.json | 20 ++++++++++++++++++++ packages/eslint-config/react-internal.js | 3 +++ 4 files changed, 46 insertions(+) create mode 100644 packages/eslint-config/base.js create mode 100644 packages/eslint-config/next.js create mode 100644 packages/eslint-config/package.json create mode 100644 packages/eslint-config/react-internal.js diff --git a/packages/eslint-config/base.js b/packages/eslint-config/base.js new file mode 100644 index 0000000..bc35bef --- /dev/null +++ b/packages/eslint-config/base.js @@ -0,0 +1,17 @@ +import js from "@eslint/js"; +import eslintConfigPrettier from "eslint-config-prettier"; +import tseslint from "typescript-eslint"; +import turboPlugin from "eslint-plugin-turbo"; + +export default [ + { ignores: ["dist/**", "node_modules/**"] }, + js.configs.recommended, + ...tseslint.configs.recommended, + eslintConfigPrettier, + { + plugins: { turbo: turboPlugin }, + rules: { + "turbo/no-undeclared-env-vars": "warn", + }, + }, +]; diff --git a/packages/eslint-config/next.js b/packages/eslint-config/next.js new file mode 100644 index 0000000..a3fe0f4 --- /dev/null +++ b/packages/eslint-config/next.js @@ -0,0 +1,6 @@ +import baseConfig from "./base.js"; + +export default [ + ...baseConfig, + { ignores: [".next/**", "out/**"] }, +]; diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json new file mode 100644 index 0000000..b813bb7 --- /dev/null +++ b/packages/eslint-config/package.json @@ -0,0 +1,20 @@ +{ + "name": "@repo/eslint-config", + "private": true, + "version": "0.0.0", + "type": "module", + "exports": { + "./base": "./base.js", + "./next": "./next.js", + "./react-internal": "./react-internal.js" + }, + "devDependencies": { + "@eslint/js": "^9.20.0", + "@typescript-eslint/eslint-plugin": "^8.25.0", + "@typescript-eslint/parser": "^8.25.0", + "eslint": "^9.20.0", + "eslint-config-prettier": "^10.1.0", + "eslint-plugin-turbo": "^2.4.0", + "typescript-eslint": "^8.25.0" + } +} diff --git a/packages/eslint-config/react-internal.js b/packages/eslint-config/react-internal.js new file mode 100644 index 0000000..6079407 --- /dev/null +++ b/packages/eslint-config/react-internal.js @@ -0,0 +1,3 @@ +import baseConfig from "./base.js"; + +export default [...baseConfig];