Files
cal.diy/packages/eslint-config/base.js
T
Volnei MunhozandAlex van Andel 96855ea391 chore: upgrade eslint 9 (#24002)
* add eslint package

* upgrade lint

* remove linting for generated files from trpc

* ts imports

* add missing features lint script

* enable turbo ui

* reference workspace deps correctly

* fixes

* Fix eslint test

* Fix eslint test

* npm run all back

* fix e2e

* fix e2e

* fix e2e

---------

Co-authored-by: Alex van Andel <me@alexvanandel.com>
2025-09-24 22:20:49 +09:00

60 lines
1.3 KiB
JavaScript

import js from "@eslint/js";
import eslintConfigPrettier from "eslint-config-prettier";
import importPlugin from "eslint-plugin-import";
import onlyWarn from "eslint-plugin-only-warn";
import turboPlugin from "eslint-plugin-turbo";
import tseslint from "typescript-eslint";
/**
* A shared ESLint configuration for the repository.
*
* @type {import("eslint").Linter.Config}
*/
export const config = [
js.configs.recommended,
eslintConfigPrettier,
...tseslint.configs.recommended,
{
plugins: {
turbo: turboPlugin,
import: importPlugin,
onlyWarn,
},
rules: {
"turbo/no-undeclared-env-vars": "warn",
},
languageOptions: {
ecmaVersion: 2021,
sourceType: "module",
},
settings: {
"import/resolver": {
typescript: true,
node: true,
},
},
},
{
ignores: ["dist/**", "**/node_modules/**", "**/.next/**"],
},
];
export function forbid({ from, target, message }) {
return {
rules: {
"import/no-restricted-paths": [
"error",
{
zones: [
{
from: [from],
target: [target],
message: message ?? `Import denied from ${target} to ${from}`,
},
],
},
],
},
};
}