Files
site/apps/web/eslint.config.js
T

40 lines
1.1 KiB
JavaScript

import tsParser from "@typescript-eslint/parser";
import tsPlugin from "@typescript-eslint/eslint-plugin";
import boundaries from "eslint-plugin-boundaries";
export default [
{
files: ["src/**/*.{ts,tsx}"],
languageOptions: {
parser: tsParser,
parserOptions: { project: "./tsconfig.json" }
},
plugins: {
"@typescript-eslint": tsPlugin,
boundaries
},
rules: {
"boundaries/element-types": [
"error",
{
default: "disallow",
rules: [
{ from: "app", allow: ["app", "pages", "modules", "shared"] },
{ from: "pages", allow: ["pages", "modules", "shared"] },
{ from: "modules", allow: ["modules", "shared"] },
{ from: "shared", allow: ["shared"] }
]
}
]
},
settings: {
"boundaries/elements": [
{ type: "app", pattern: "src/app/*" },
{ type: "pages", pattern: "src/pages/*" },
{ type: "modules", pattern: "src/modules/*" },
{ type: "shared", pattern: "src/shared/*" }
]
}
}
];