Switch to the renamed @cunarist/eslint-plugin-modules
Check / check (pull_request) Successful in 2m10s

This commit is contained in:
Danny Kim
2026-10-17 15:43:47 +09:00
parent bfa8269801
commit d2d3cbffdb
6 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -8,7 +8,7 @@ Apps consume the published plugins as npm devDependencies, through `jsPlugins`
and the configs equivalent to what their Deno setup enabled: and the configs equivalent to what their Deno setup enabled:
- `@cunarist/eslint-plugin-explicit-types`: `concrete`, `naming`, `absence` - `@cunarist/eslint-plugin-explicit-types`: `concrete`, `naming`, `absence`
- `@cunarist/eslint-plugin-import-check`: `import-check` - `@cunarist/eslint-plugin-modules`: `modules`
- `@cunarist/eslint-plugin-lit`: `core`, `strict`, `dom-ref`, - `@cunarist/eslint-plugin-lit`: `core`, `strict`, `dom-ref`,
`reactive-controller`, `naming` `reactive-controller`, `naming`
+2 -2
View File
@@ -11,13 +11,13 @@ unbuilt. `vp pack` inlines them, so they never reach package consumers.
One rule for every file, never tied to folder or file names (user rule One rule for every file, never tied to folder or file names (user rule
2026-10-17; it replaces the earlier "aliases only point at direct `src/` 2026-10-17; it replaces the earlier "aliases only point at direct `src/`
subfolders" rule and the "import-check checks only aliased folders" scope): subfolders" rule and the "the modules plugin checks only aliased folders" scope):
- **An alias may point anywhere** and owns its target. An alias to a - **An alias may point anywhere** and owns its target. An alias to a
folder's `index.ts` owns that folder and everything below it; an alias to folder's `index.ts` owns that folder and everything below it; an alias to
any other file owns only that file. any other file owns only that file.
- **No overlap.** No file may be owned by 2 aliases: no alias inside another - **No overlap.** No file may be owned by 2 aliases: no alias inside another
alias's area, and no 2 aliases with the same target. import-check's alias's area, and no 2 aliases with the same target. the modules plugin's
`enforce-layer-order` reports it once at the top of every file 2 aliases `enforce-layer-order` reports it once at the top of every file 2 aliases
claim. Fix by merging the aliases or moving files apart. claim. Fix by merging the aliases or moving files apart.
- **Outside an area, only the exact alias reaches it.** A deeper alias - **Outside an area, only the exact alias reaches it.** A deeper alias
+1 -1
View File
@@ -38,7 +38,7 @@ lint: {
Hand-written code is never ignored. Hand-written code is never ignored.
- **No lint disable comments**: [[lint-no-disable-comments]]. - **No lint disable comments**: [[lint-no-disable-comments]].
- **Parity:** [[lint-parity-never-shrinks]]. **Naming:** [[naming-id-match]]. - **Parity:** [[lint-parity-never-shrinks]]. **Naming:** [[naming-id-match]].
- Don't add a second import sorter; import-check's `enforce-import-order` is - Don't add a second import sorter; the modules plugin's `enforce-import-order` is
the only one, and Oxfmt's `sortImports` stays off. the only one, and Oxfmt's `sortImports` stays off.
`perf` came last: in the template it flagged nine `.includes` on constant `perf` came last: in the template it flagged nine `.includes` on constant
+1 -1
View File
@@ -29,7 +29,7 @@ Before removing any line from `configs.project`, find what else covers it.
in packages. in packages.
- **Vacuous:** JSX rules (no `.tsx` exists) and Deno-only rules. - **Vacuous:** JSX rules (no `.tsx` exists) and Deno-only rules.
- **`@hugoalh` rules** map to Oxlint built-ins in `configs.project`. - **`@hugoalh` rules** map to Oxlint built-ins in `configs.project`.
- **import-check's CLI cycle check** → `import/no-cycle`. - **deno-import-check's CLI cycle check** → `import/no-cycle`.
The template's list in `configs.project` is the baseline to copy: `curly`, The template's list in `configs.project` is the baseline to copy: `curly`,
`guard-for-in`, `no-console`, `no-empty`, `no-regex-spaces`, `guard-for-in`, `no-console`, `no-empty`, `no-regex-spaces`,
+1 -1
View File
@@ -9,7 +9,7 @@ Oxfmt's standard `package.json` sorting is accepted: there is no
replaces the earlier hand-written order (metadata, `scripts`, `exports`, replaces the earlier hand-written order (metadata, `scripts`, `exports`,
`imports`, `devDependencies`, `dependencies`). `imports`, `devDependencies`, `dependencies`).
The `imports` key order can carry meaning: import-check's The `imports` key order can carry meaning: the modules plugin's
`enforce-layer-order` reads it as the layer order. Never reorder it casually. `enforce-layer-order` reads it as the layer order. Never reorder it casually.
## Fields ## Fields
+1 -1
View File
@@ -32,6 +32,6 @@ Standing convention (2026-10-12), applied to every package:
`jsPlugins` and once through ESLint 9 with the configs. On the lit plugin `jsPlugins` and once through ESLint 9 with the configs. On the lit plugin
this caught two bugs that 313 unit tests missed. this caught two bugs that 313 unit tests missed.
The cunarist lint plugins (explicit-types, import-check, lit) are published The cunarist lint plugins (explicit-types, modules, lit) are published
together, with a token the user provides; the old `deno-*` repos are archived together, with a token the user provides; the old `deno-*` repos are archived
only after that, one at a time. only after that, one at a time.