-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.js
More file actions
35 lines (34 loc) · 1.59 KB
/
Copy patheslint.config.js
File metadata and controls
35 lines (34 loc) · 1.59 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Sergeant root ESLint flat-config (v9+).
//
// PR-31 phase 2 — the surface-specific blocks that used to live inline here
// were extracted into per-surface modules so this root file stays a thin
// composition manifest. The shared baseline (ignores + recommended configs +
// the global plugin/settings/rules block) lives in `./eslint.baseline.js`;
// each `eslint.<surface>.js` exports an array of that surface's `files:`-
// scoped blocks. They are spread back in below.
//
// ESLint flat-config merges `rules` by array order (later wins for a given
// file+rule). The composition order preserves the original resolution: the
// baseline first, then the surface blocks, then `eslintConfigPrettier` last
// to disable formatting rules. `pnpm lint:eslint-config-diff` snapshots the
// fully-resolved `eslint --print-config` output per surface and fails on any
// drift — this extraction is a behavioural no-op verified against it. See
// `docs/02-engineering/development/eslint-config.md` for the split rationale and roadmap.
import eslintConfigPrettier from "eslint-config-prettier";
import { baseline } from "./eslint.baseline.js";
import { webBlocks } from "./eslint.web.js";
import { serverBlocks } from "./eslint.server.js";
import { mobileBlocks } from "./eslint.mobile.js";
import { shellBlocks } from "./eslint.shell.js";
import { packageBlocks } from "./eslint.packages.js";
import { crossSurfaceBlocks } from "./eslint.cross-surface.js";
export default [
...baseline,
...webBlocks,
...serverBlocks,
...mobileBlocks,
...shellBlocks,
...packageBlocks,
...crossSurfaceBlocks,
eslintConfigPrettier,
];