@ploaness/config 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. package/dist/a11y.d.ts +4 -2
  2. package/dist/a11y.d.ts.map +1 -1
  3. package/dist/a11y.js +7 -17
  4. package/dist/a11y.js.map +1 -1
  5. package/dist/eslint-core.d.ts +21 -2
  6. package/dist/eslint-core.d.ts.map +1 -1
  7. package/dist/eslint-core.js +41 -6
  8. package/dist/eslint-core.js.map +1 -1
  9. package/dist/eslint-immutability.d.ts +4 -0
  10. package/dist/eslint-immutability.d.ts.map +1 -0
  11. package/dist/eslint-immutability.js +66 -0
  12. package/dist/eslint-immutability.js.map +1 -0
  13. package/dist/eslint-javascript-parser.d.ts +3 -0
  14. package/dist/eslint-javascript-parser.d.ts.map +1 -0
  15. package/dist/eslint-javascript-parser.js +35 -0
  16. package/dist/eslint-javascript-parser.js.map +1 -0
  17. package/dist/eslint-library.d.ts.map +1 -1
  18. package/dist/eslint-library.js +14 -10
  19. package/dist/eslint-library.js.map +1 -1
  20. package/dist/eslint.d.ts.map +1 -1
  21. package/dist/eslint.js +10 -4
  22. package/dist/eslint.js.map +1 -1
  23. package/dist/formatting.d.ts +3 -0
  24. package/dist/formatting.d.ts.map +1 -0
  25. package/dist/formatting.js +4 -0
  26. package/dist/formatting.js.map +1 -0
  27. package/dist/playwright.d.ts.map +1 -1
  28. package/dist/playwright.js +16 -4
  29. package/dist/playwright.js.map +1 -1
  30. package/dist/production-build.d.ts +13 -0
  31. package/dist/production-build.d.ts.map +1 -0
  32. package/dist/production-build.js +32 -0
  33. package/dist/production-build.js.map +1 -0
  34. package/dist/production-environment.d.ts +7 -0
  35. package/dist/production-environment.d.ts.map +1 -0
  36. package/dist/production-environment.js +20 -0
  37. package/dist/production-environment.js.map +1 -0
  38. package/dist/production-server.js +3 -19
  39. package/dist/production-server.js.map +1 -1
  40. package/dist/project-settings.d.ts +2 -0
  41. package/dist/project-settings.d.ts.map +1 -1
  42. package/dist/project-settings.js +23 -3
  43. package/dist/project-settings.js.map +1 -1
  44. package/dist/settle.d.ts +2 -1
  45. package/dist/settle.d.ts.map +1 -1
  46. package/dist/settle.js +44 -1
  47. package/dist/settle.js.map +1 -1
  48. package/dist/vitest-core.d.ts +2 -0
  49. package/dist/vitest-core.d.ts.map +1 -1
  50. package/dist/vitest-core.js +6 -1
  51. package/dist/vitest-core.js.map +1 -1
  52. package/dist/vitest-library.d.ts.map +1 -1
  53. package/dist/vitest-library.js +4 -3
  54. package/dist/vitest-library.js.map +1 -1
  55. package/dist/vitest.d.ts.map +1 -1
  56. package/dist/vitest.js +5 -3
  57. package/dist/vitest.js.map +1 -1
  58. package/package.json +28 -15
  59. package/pins.json +8 -8
  60. package/prettier-scss.json +7 -0
  61. package/stylelint.json +25 -2
  62. package/tsconfig-core.json +1 -1
package/dist/a11y.d.ts CHANGED
@@ -5,13 +5,15 @@ export { settleForScan } from './settle.js';
5
5
  import { AxeBuilder } from '@axe-core/playwright';
6
6
  import { type Page } from '@playwright/test';
7
7
  export declare const SKIPPED_ROUTE_PREFIXES: readonly string[];
8
+ /** Whether the configured sweep excludes this path. Shared with its completeness check. */
9
+ export declare const isSkippedSweepRoute: (route: string) => boolean;
8
10
  export declare const MAX_SWEEP_ROUTES: number;
9
11
  /** What axe answers, taken from the builder's own surface rather than from a transitive package. */
10
12
  export type AxeResults = Awaited<ReturnType<AxeBuilder['analyze']>>;
11
13
  /**
12
- * An axe builder scoped to the page's semantic regions.
14
+ * An axe builder covering the complete document, including dialogs and application portals.
13
15
  * @param page the page to scan.
14
- * @returns a builder including each of `header`, `main` and `footer` the page has.
16
+ * @returns a builder without selector restrictions.
15
17
  */
16
18
  export declare const scopedAxe: (page: Page) => Promise<AxeBuilder>;
17
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../src/a11y.ts"],"names":[],"mappings":"AAkBA,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAapD,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA4C,CAAA;AAEhG,eAAO,MAAM,gBAAgB,EAAE,MAAiD,CAAA;AAEhF,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAQnE;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,UAAU,CAQ9D,CAAA;AAMD;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,UAAU,EAAE,OAAO,MAAM,KAAG,IAGpE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,IAAI,CAK9D,CAAA;AAuDD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,eAAe,SAAS,MAAM,EAAE,EAChC,gBAAgB,SAAS,MAAM,EAAE,KAChC,SAAS,MAAM,EAgBjB,CAAA"}
1
+ {"version":3,"file":"a11y.d.ts","sourceRoot":"","sources":["../src/a11y.ts"],"names":[],"mappings":"AAkBA,YAAY,EACV,uBAAuB,EACvB,cAAc,EACd,gBAAgB,GACjB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,iBAAiB,EAAE,sBAAsB,EAAE,MAAM,sBAAsB,CAAA;AAChF,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC3F,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAI3C,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAU,KAAK,IAAI,EAAE,MAAM,kBAAkB,CAAA;AAcpD,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAA4C,CAAA;AAEhG,2FAA2F;AAC3F,eAAO,MAAM,mBAAmB,GAAI,OAAO,MAAM,KAAG,OAC0C,CAAA;AAE9F,eAAO,MAAM,gBAAgB,EAAE,MAAiD,CAAA;AAEhF,oGAAoG;AACpG,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;AAEnE;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,MAAM,IAAI,KAAG,OAAO,CAAC,UAAU,CAA8C,CAAA;AAMvG;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,GAAI,MAAM,UAAU,EAAE,OAAO,MAAM,KAAG,IAGpE,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAU,MAAM,IAAI,KAAG,OAAO,CAAC,IAAI,CAK9D,CAAA;AAuDD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GACxB,eAAe,SAAS,MAAM,EAAE,EAChC,gBAAgB,SAAS,MAAM,EAAE,KAChC,SAAS,MAAM,EAiBjB,CAAA"}
package/dist/a11y.js CHANGED
@@ -22,31 +22,20 @@ import { existsSync, readdirSync, readFileSync } from 'node:fs';
22
22
  import path from 'node:path';
23
23
  import { AxeBuilder } from '@axe-core/playwright';
24
24
  import { expect } from '@playwright/test';
25
- import { appRootOf, declaredRoutesOf, findDefiniteIncomplete, findUnsweptRoutes, } from '@ploaness/governance';
25
+ import { appRootOf, declaredRoutesOf, findDefiniteIncomplete, findUnsweptRoutes, isSkippedRoute, } from '@ploaness/governance';
26
26
  import { expectNoLayoutDefects } from './layout.js';
27
27
  import { projectSettings } from './project-settings.js';
28
28
  import { settleForScan } from './settle.js';
29
29
  export const SKIPPED_ROUTE_PREFIXES = projectSettings.accessibilitySkipRoutes;
30
+ /** Whether the configured sweep excludes this path. Shared with its completeness check. */
31
+ export const isSkippedSweepRoute = (route) => isSkippedRoute(route, SKIPPED_ROUTE_PREFIXES, projectSettings.accessibilityCustomSkipRoutes);
30
32
  export const MAX_SWEEP_ROUTES = projectSettings.accessibilityRouteBudget;
31
- // Scan the site's semantic regions - chrome and content alike - but not a framework's dev-only overlay,
32
- // which lives in a separate portal outside them and would otherwise raise findings about the framework.
33
- // Only regions actually present are included, so a page carrying just <main> scans cleanly rather than
34
- // erroring on a missing include target.
35
- const REGIONS = ['header', 'main', 'footer'];
36
33
  /**
37
- * An axe builder scoped to the page's semantic regions.
34
+ * An axe builder covering the complete document, including dialogs and application portals.
38
35
  * @param page the page to scan.
39
- * @returns a builder including each of `header`, `main` and `footer` the page has.
36
+ * @returns a builder without selector restrictions.
40
37
  */
41
- export const scopedAxe = async (page) => {
42
- const builder = new AxeBuilder({ page });
43
- for (const region of REGIONS) {
44
- if ((await page.locator(region).count()) > 0) {
45
- builder.include(region);
46
- }
47
- }
48
- return builder;
49
- };
38
+ export const scopedAxe = (page) => Promise.resolve(new AxeBuilder({ page }));
50
39
  // axe answers in three buckets. `incomplete` means "the check ran and could not decide", and an EXACTLY
51
40
  // equal foreground and background is filed there rather than as a violation, because axe reads two
52
41
  // identical colours as text hidden on purpose and defers to a human. `findDefiniteIncomplete` picks out
@@ -136,6 +125,7 @@ export const unsweptRoutes = (visitedRoutes, answeredRoutes) => {
136
125
  visitedRoutes,
137
126
  answeredRoutes,
138
127
  skippedPrefixes: SKIPPED_ROUTE_PREFIXES,
128
+ customSkippedPrefixes: projectSettings.accessibilityCustomSkipRoutes,
139
129
  specs,
140
130
  everyFile: specs,
141
131
  }).map((unswept) => `${unswept.file} [${unswept.rule}] ${unswept.reason}`);
package/dist/a11y.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"a11y.js","sourceRoot":"","sources":["../src/a11y.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"a11y.js","sourceRoot":"","sources":["../src/a11y.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import { type RolePattern } from '@ploaness/governance';
1
2
  import type { Linter } from 'eslint';
2
3
  import { defineConfig } from 'eslint/config';
3
4
  import { type RestrictedSyntax } from './eslint-security.js';
@@ -122,6 +123,20 @@ declare const NO_TEST_ORDER_ESCAPE: readonly RestrictedSyntax[];
122
123
  * is the replacement - the one move this constant exists to stop anybody making by hand.
123
124
  */
124
125
  export declare const testSuiteSyntaxRules: RuleTable;
126
+ /** One entry of a flat-config `files` list: a glob, or a function ESLint calls with a file's absolute path. */
127
+ export type FileMatcher = string | ((filePath: string) => boolean);
128
+ /**
129
+ * The files a project's JavaScript allowlist admits, as a `files` matcher.
130
+ *
131
+ * The conventions gate lets an allowlisted file be JavaScript, so the same list decides which files are
132
+ * linted as JavaScript; otherwise the type-aware parser, which knows only the TypeScript project, fails
133
+ * on every file the allowlist admits. ESLint passes the absolute path, and the member's own patterns are
134
+ * written relative to the member, the directory ESLint runs in.
135
+ * @param allowlist the javascriptAllowlist patterns of the member.
136
+ * @param memberDirectory the directory the patterns are relative to.
137
+ * @returns a matcher that is true for an allowlisted file.
138
+ */
139
+ export declare const allowlistedJavaScript: (allowlist: readonly RolePattern[], memberDirectory: string) => ((filePath: string) => boolean);
125
140
  /**
126
141
  * The same contract, applied to a file that is JavaScript rather than TypeScript.
127
142
  *
@@ -131,10 +146,10 @@ export declare const testSuiteSyntaxRules: RuleTable;
131
146
  * restated here: it is the same object, minus the four rules that ask for syntax a JavaScript file
132
147
  * cannot carry, and with the bare-number ban expressed through the base rule because the typed variant
133
148
  * reads type information such a file does not have. The allowlist it reads is the same one.
134
- * @param files the glob patterns this block governs.
149
+ * @param files the glob patterns and matchers this block governs.
135
150
  * @returns a flat-config block.
136
151
  */
137
- export declare const javascriptBlock: (files: readonly string[]) => FlatConfigBlock;
152
+ export declare const javascriptBlock: (files: readonly FileMatcher[]) => FlatConfigBlock;
138
153
  /** No `let`, no in-place mutation. The caller supplies the files and the generated-role exemptions. */
139
154
  export declare const immutabilityBlock: (files: readonly string[], ignores: readonly string[]) => FlatConfigBlock;
140
155
  /**
@@ -176,4 +191,8 @@ export declare const hookContextBlock: (files: readonly string[]) => FlatConfigB
176
191
  export type { RestrictedSyntax } from './eslint-security.js';
177
192
  /** The shared selectors, re-exported so a scoped block can spread rather than restate them. */
178
193
  export { NO_FAST_CHECK_SEED, NO_INHERITANCE, NO_LITERAL_ASSERTIONS, NO_MOCK_PROPERTIES, NO_NETWORK_GUARD_ESCAPE, NO_TEST_ORDER_ESCAPE, };
194
+ /** CommonJS exports initialize the module interface; mutations of exported values remain governed. */
195
+ export declare const commonJavaScriptBlock: (allowlist: readonly RolePattern[], directory: string) => FlatConfigBlock;
196
+ /** Typed CommonJS modules use import-equals so imports retain their declared types. */
197
+ export declare const commonTypeScriptBlock: () => FlatConfigBlock;
179
198
  //# sourceMappingURL=eslint-core.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-core.d.ts","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAA;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAS5C,OAAO,EAAE,KAAK,gBAAgB,EAAyB,MAAM,sBAAsB,CAAA;AAEnF;;;;;;;;;GASG;AACH,MAAM,MAAM,eAAe,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE/D;;;;;;;GAOG;AACH,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,WAAW,CAAC,CAAA;AAEnD;;;;;;;;;GASG;AACH,MAAM,MAAM,uBAAuB,GAAG,SAAS,CAAC,OAAO,EAAE,GAAG,gBAAgB,EAAE,CAAC,CAAA;AAE/E,kGAAkG;AAClG,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,+DAA+D;AAC/D,MAAM,MAAM,OAAO,GAAG,CAAC,GAAG,MAAM,EAAE,SAAS,OAAO,EAAE,KAAK,SAAS,eAAe,EAAE,CAAA;AAqEnF,QAAA,MAAM,kBAAkB,EAAE,SAAS,kBAAkB,EAIlD,CAAA;AAEH,QAAA,MAAM,cAAc,EAAE,uBAUrB,CAAA;AAiBD,QAAA,MAAM,qBAAqB,EAAE,SAAS,gBAAgB,EAerD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,OAAO,EAAE,OAAO,YAA2B,CAAA;AAExD,oGAAoG;AACpG,eAAO,MAAM,YAAY,EAAE,eAS1B,CAAA;AA8BD,mGAAmG;AACnG,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,eAa/C,CAAA;AAED,kGAAkG;AAClG,eAAO,MAAM,UAAU,EAAE,SAAS,eAAe,EAWgB,CAAA;AAEjE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,eAAe,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,KAAG,eAElF,CAAA;AAEF,+FAA+F;AAC/F,eAAO,MAAM,cAAc,EAAE,SA8U5B,CAAA;AASD;;;;;;;;GAQG;AACH,MAAM,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAA;AAExE,eAAO,MAAM,YAAY,EAAE,YAAqB,CAAA;AAEhD,qGAAqG;AACrG,eAAO,MAAM,kBAAkB,EAAE,SAwBhC,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,cAAc,EAAE,SAgB5B,CAAA;AAUD,QAAA,MAAM,kBAAkB,EAAE,SAAS,gBAAgB,EASlD,CAAA;AAOD,QAAA,MAAM,uBAAuB,EAAE,SAAS,gBAAgB,EA2DvD,CAAA;AAKD,QAAA,MAAM,oBAAoB,EAAE,SAAS,gBAAgB,EAiBpD,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,oBAAoB,EAAE,SASlC,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,eAgCzD,CAAA;AA6DF,uGAAuG;AACvG,eAAO,MAAM,iBAAiB,GAAI,OAAO,SAAS,MAAM,EAAE,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,eAQvF,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,QAAO,eAUpC,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,eAAO,MAAM,oBAAoB,QAAO,eAQtC,CAAA;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,eAM1D,CAAA;AAEF,YAAY,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,+FAA+F;AAC/F,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GACrB,CAAA"}
1
+ {"version":3,"file":"eslint-core.d.ts","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,19 @@
1
1
  // Framework-neutral lint policy shared by this repository and the configurations shipped to consumers.
2
+ import path from 'node:path';
2
3
  import js from '@eslint/js';
3
4
  import comments from '@eslint-community/eslint-plugin-eslint-comments/configs';
4
- import { PROJECT_SETUP_FILE } from '@ploaness/governance';
5
+ import { hasExtension, JAVASCRIPT_EXTENSIONS, matchesRole, PROJECT_SETUP_FILE, } from '@ploaness/governance';
5
6
  import vitest from '@vitest/eslint-plugin';
6
7
  import { defineConfig } from 'eslint/config';
7
8
  import prettier from 'eslint-config-prettier';
8
- import functional from 'eslint-plugin-functional';
9
9
  import jsdoc from 'eslint-plugin-jsdoc';
10
10
  import regexp from 'eslint-plugin-regexp';
11
11
  import sonarjs from 'eslint-plugin-sonarjs';
12
12
  import unicorn from 'eslint-plugin-unicorn';
13
13
  import globals from 'globals';
14
14
  import tseslint from 'typescript-eslint';
15
+ import { immutabilityPlugin as functional } from './eslint-immutability.js';
16
+ import { javaScriptParser } from './eslint-javascript-parser.js';
15
17
  import { SECURITY_RESTRICTIONS } from './eslint-security.js';
16
18
  // Narrowing rather than a property read: `rules` arrives as `unknown` out of the index signature above,
17
19
  // and a layer that carries none is passed through untouched.
@@ -399,6 +401,10 @@ export const guidelineRules = {
399
401
  'sonarjs/no-unused-vars': 'off', // the typed rule above decides this, with the project's options.
400
402
  // SonarJS owns ignored built-in results with type information; Unicorn overlaps on array methods.
401
403
  'unicorn/no-unused-builtin-method-return': 'off',
404
+ // A local function with only known callers owns a conversion every caller repeats.
405
+ 'unicorn/no-repeated-call-wrappers': 'error',
406
+ // Explicit arguments document behavior even when they match today's dependency defaults.
407
+ 'unicorn/no-unnecessary-default-arguments': 'off',
402
408
  // ploaness exists to invoke analyzers, and it invokes them by name so the project's own installed
403
409
  // version is the one that runs. Resolving each to an absolute path would pin the harness to one
404
410
  // layout and defeat that. The governing standard says nothing about PATH.
@@ -709,6 +715,19 @@ export const testSuiteSyntaxRules = {
709
715
  ...NO_NETWORK_GUARD_ESCAPE,
710
716
  ],
711
717
  };
718
+ /**
719
+ * The files a project's JavaScript allowlist admits, as a `files` matcher.
720
+ *
721
+ * The conventions gate lets an allowlisted file be JavaScript, so the same list decides which files are
722
+ * linted as JavaScript; otherwise the type-aware parser, which knows only the TypeScript project, fails
723
+ * on every file the allowlist admits. ESLint passes the absolute path, and the member's own patterns are
724
+ * written relative to the member, the directory ESLint runs in.
725
+ * @param allowlist the javascriptAllowlist patterns of the member.
726
+ * @param memberDirectory the directory the patterns are relative to.
727
+ * @returns a matcher that is true for an allowlisted file.
728
+ */
729
+ export const allowlistedJavaScript = (allowlist, memberDirectory) => (filePath) => hasExtension(filePath, JAVASCRIPT_EXTENSIONS) &&
730
+ matchesRole(path.relative(memberDirectory, filePath).split(path.sep).join('/'), allowlist);
712
731
  /**
713
732
  * The same contract, applied to a file that is JavaScript rather than TypeScript.
714
733
  *
@@ -718,21 +737,24 @@ export const testSuiteSyntaxRules = {
718
737
  * restated here: it is the same object, minus the four rules that ask for syntax a JavaScript file
719
738
  * cannot carry, and with the bare-number ban expressed through the base rule because the typed variant
720
739
  * reads type information such a file does not have. The allowlist it reads is the same one.
721
- * @param files the glob patterns this block governs.
740
+ * @param files the glob patterns and matchers this block governs.
722
741
  * @returns a flat-config block.
723
742
  */
724
743
  export const javascriptBlock = (files) => ({
725
744
  files,
745
+ plugins: { functional },
726
746
  extends: [tseslint.configs.disableTypeChecked],
727
747
  // Declared rather than inferred. `no-undef` is off for every TypeScript file here because the
728
748
  // compiler decides that question; on a JavaScript file the rule is live, and it has to be told which
729
749
  // names the runtime supplies. These programs run on node without a CommonJS wrapper.
730
- languageOptions: { globals: globals.nodeBuiltin },
750
+ languageOptions: { globals: globals.nodeBuiltin, parser: javaScriptParser() },
731
751
  rules: {
732
752
  ...guidelineRules,
753
+ 'functional/no-let': 'error',
754
+ 'functional/immutable-data': immutableData([]),
733
755
  // Re-applied AFTER the rule list above. `extends` places the disabling block BEFORE the block's own
734
- // rules, so spreading the list on top would switch every type-aware rule back on for a file that has
735
- // no type information for one to read - which fails the run outright rather than reporting.
756
+ // rules. JavaScript gets inferred types for mutation analysis, while the checks that demand
757
+ // authored TypeScript types remain disabled.
736
758
  ...tseslint.configs.disableTypeChecked.rules,
737
759
  // A JavaScript file has nowhere to write a return type, a parameter type, or a variable annotation.
738
760
  '@typescript-eslint/explicit-function-return-type': 'off',
@@ -880,4 +902,17 @@ export const hookContextBlock = (files) => ({
880
902
  });
881
903
  /** The shared selectors, re-exported so a scoped block can spread rather than restate them. */
882
904
  export { NO_FAST_CHECK_SEED, NO_INHERITANCE, NO_LITERAL_ASSERTIONS, NO_MOCK_PROPERTIES, NO_NETWORK_GUARD_ESCAPE, NO_TEST_ORDER_ESCAPE, };
905
+ /** CommonJS exports initialize the module interface; mutations of exported values remain governed. */
906
+ export const commonJavaScriptBlock = (allowlist, directory) => ({
907
+ files: [(file) => file.endsWith('.cjs') && allowlistedJavaScript(allowlist, directory)(file)],
908
+ languageOptions: { sourceType: 'commonjs', globals: globals.node },
909
+ plugins: { functional },
910
+ rules: { '@typescript-eslint/no-require-imports': 'off' },
911
+ });
912
+ /** Typed CommonJS modules use import-equals so imports retain their declared types. */
913
+ export const commonTypeScriptBlock = () => ({
914
+ files: ['**/*.cts'],
915
+ languageOptions: { sourceType: 'commonjs' },
916
+ rules: { '@typescript-eslint/no-require-imports': ['error', { allowAsImport: true }] },
917
+ });
883
918
  //# sourceMappingURL=eslint-core.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-core.js","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eslint-core.js","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"AAAA,uGAAuG;AAEvG,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,QAAQ,MAAM,yDAAyD,CAAA;AAC9E,OAAO,EACL,YAAY,EACZ,qBAAqB,EACrB,WAAW,EACX,kBAAkB,GAEnB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,MAAM,MAAM,uBAAuB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,QAAQ,MAAM,wBAAwB,CAAA;AAC7C,OAAO,KAAK,MAAM,qBAAqB,CAAA;AACvC,OAAO,MAAM,MAAM,sBAAsB,CAAA;AACzC,OAAO,OAAO,MAAM,uBAAuB,CAAA;AAC3C,OAAO,OAAO,MAAM,uBAAuB,CAAA;AAC3C,OAAO,OAAO,MAAM,SAAS,CAAA;AAC7B,OAAO,QAAQ,MAAM,mBAAmB,CAAA;AACxC,OAAO,EAAE,kBAAkB,IAAI,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAyB,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AA8CnF,wGAAwG;AACxG,6DAA6D;AAC7D,MAAM,WAAW,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAA;AAEvG,MAAM,cAAc,GAAW,CAAC,CAAA;AAChC,MAAM,UAAU,GAAW,CAAC,CAAA;AAC5B,MAAM,SAAS,GAAW,CAAC,CAAA;AAC3B,MAAM,kBAAkB,GAAW,GAAG,CAAA;AACtC,MAAM,sBAAsB,GAAW,EAAE,CAAA;AACzC,MAAM,eAAe,GAAW,CAAC,CAAA;AACjC,+DAA+D;AAC/D,MAAM,kBAAkB,GAAsB,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA;AAExD,8FAA8F;AAC9F,kGAAkG;AAClG,2FAA2F;AAC3F,MAAM,gBAAgB,GACpB,4FAA4F,CAAA;AAC9F,MAAM,kBAAkB,GAAsB;IAC5C,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,YAAY;IACZ,SAAS;IACT,YAAY;CACb,CAAA;AACD,MAAM,gBAAgB,GAAsB;IAC1C,OAAO;IACP,YAAY;IACZ,WAAW;IACX,eAAe;IACf,YAAY;IACZ,MAAM;IACN,KAAK;CACN,CAAA;AAED,oGAAoG;AACpG,oGAAoG;AACpG,iFAAiF;AACjF,EAAE;AACF,wGAAwG;AACxG,uGAAuG;AACvG,sGAAsG;AACtG,qGAAqG;AACrG,mGAAmG;AACnG,gDAAgD;AAChD,MAAM,sBAAsB,GAC1B,iGAAiG;IACjG,2CAA2C,CAAA;AAC7C,MAAM,uBAAuB,GAAsB,CAAC,iBAAiB,EAAE,kBAAkB,CAAC,CAAA;AAE1F,oGAAoG;AACpG,mGAAmG;AACnG,kGAAkG;AAClG,yGAAyG;AACzG,yGAAyG;AACzG,oGAAoG;AACpG,MAAM,mBAAmB,GACvB,qFAAqF;IACrF,oCAAoC,CAAA;AACtC,mGAAmG;AACnG,wGAAwG;AACxG,wGAAwG;AACxG,kGAAkG;AAClG,MAAM,kBAAkB,GAAkC,kBAAkB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC9F,MAAM,EAAE,IAAI;IACZ,QAAQ;IACR,OAAO,EAAE,gBAAgB;CAC1B,CAAC,CAAC,CAAA;AAEH,MAAM,cAAc,GAA4B;IAC9C,OAAO;IACP;QACE,QAAQ,EAAE,6DAA6D;QACvE,OAAO,EAAE,mBAAmB;KAC7B;IACD;QACE,QAAQ,EAAE,4DAA4D;QACtE,OAAO,EAAE,mBAAmB;KAC7B;CACF,CAAA;AAED,qGAAqG;AACrG,wGAAwG;AACxG,6EAA6E;AAC7E,EAAE;AACF,qGAAqG;AACrG,iGAAiG;AACjG,wGAAwG;AACxG,iGAAiG;AACjG,kGAAkG;AAClG,iGAAiG;AACjG,kGAAkG;AAClG,oDAAoD;AACpD,MAAM,yBAAyB,GAC7B,yGAAyG,CAAA;AAC3G,MAAM,WAAW,GAAW,sCAAsC,CAAA;AAClE,MAAM,qBAAqB,GAAgC;IACzD;QACE,QAAQ,EAAE,GAAG,WAAW,8BAA8B;QACtD,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,QAAQ,EAAE,GAAG,WAAW,wEAAwE;QAChG,OAAO,EAAE,yBAAyB;KACnC;IACD;QACE,QAAQ,EACN,GAAG,WAAW,gEAAgE;YAC9E,uCAAuC;QACzC,OAAO,EAAE,yBAAyB;KACnC;CACF,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,OAAO,GAAwB,YAAY,CAAA;AAExD,oGAAoG;AACpG,MAAM,CAAC,MAAM,YAAY,GAAoB;IAC3C,GAAG,QAAQ;IACX,KAAK,EAAE;QACL,GAAG,QAAQ,CAAC,KAAK;QACjB,8FAA8F;QAC9F,yFAAyF;QACzF,sDAAsD,EAAE,KAAK;QAC7D,gCAAgC,EAAE,KAAK;KACxC;CACF,CAAA;AAED,sGAAsG;AACtG,qGAAqG;AACrG,oGAAoG;AACpG,kDAAkD;AAClD,EAAE;AACF,qGAAqG;AACrG,wGAAwG;AACxG,oGAAoG;AACpG,mGAAmG;AACnG,MAAM,KAAK,GAAG,CAAC,QAAiB,EAAW,EAAE,CAAC,QAAQ,KAAK,KAAK,IAAI,QAAQ,KAAK,CAAC,CAAA;AAElF,MAAM,QAAQ,GAAG,CAAC,OAAgB,EAAW,EAAE;IAC7C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5B,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAA;IAC3C,CAAC;IACD,gGAAgG;IAChG,uGAAuG;IACvG,MAAM,QAAQ,GAAuB,OAAO,CAAA;IAC5C,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;AACvE,CAAC,CAAA;AAED,mGAAmG;AACnG,kGAAkG;AAClG,oGAAoG;AACpG,wGAAwG;AACxG,EAAE;AACF,qGAAqG;AACrG,uGAAuG;AACvG,mGAAmG;AACnG,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAa,EAAmB,EAAE;IAChE,MAAM,KAAK,GAAY,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IAClD,OAAO,WAAW,CAAC,KAAK,CAAC;QACvB,CAAC,CAAC;YACE,GAAG,KAAK;YACR,KAAK,EAAE,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,OAAO,CAA6B,EAA8B,EAAE,CAAC;gBACnG,EAAE;gBACF,QAAQ,CAAC,OAAO,CAAC;aAClB,CAAC,CACH;SACF;QACH,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,CAAA;AAClB,CAAC,CAAA;AAED,kGAAkG;AAClG,MAAM,CAAC,MAAM,UAAU,GAA+B;IACpD,EAAE,CAAC,OAAO,CAAC,WAAW;IACtB,GAAG,QAAQ,CAAC,OAAO,CAAC,iBAAiB;IACrC,GAAG,QAAQ,CAAC,OAAO,CAAC,oBAAoB;IACxC,OAAO,CAAC,OAAO,CAAC,WAAW;IAC3B,OAAO,CAAC,OAAO,CAAC,WAAW;IAC3B,kGAAkG;IAClG,6FAA6F;IAC7F,KAAK,CAAC,OAAO,CAAC,mCAAmC,CAAC;IAClD,QAAQ,CAAC,WAAW,EAAE,2DAA2D;IACjF,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,+BAA+B;CACpE,CAAC,GAAG,CAAC,CAAC,KAAa,EAAmB,EAAE,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAA;AAEjE;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,aAAgD,EAAmB,EAAE,CAAC,CAAC;IACtG,eAAe,EAAE,EAAE,aAAa,EAAE;CACnC,CAAC,CAAA;AAEF,+FAA+F;AAC/F,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,yEAAyE;IACzE,kDAAkD,EAAE,OAAO;IAC3D,mDAAmD,EAAE,OAAO;IAC5D,2FAA2F;IAC3F,6FAA6F;IAC7F,uEAAuE;IACvE,4BAA4B,EAAE,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,CAAC;IAC/G,oGAAoG;IACpG,oDAAoD,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;IAClF,8FAA8F;IAC9F,yFAAyF;IACzF,wCAAwC,EAAE,KAAK;IAC/C,6FAA6F;IAC7F,qGAAqG;IACrG,oGAAoG;IACpG,oGAAoG;IACpG,oGAAoG;IACpG,kCAAkC;IAClC,oCAAoC,EAAE,KAAK;IAC3C,0CAA0C,EAAE,OAAO;IACnD,mGAAmG;IACnG,kGAAkG;IAClG,kGAAkG;IAClG,sGAAsG;IACtG,iCAAiC;IACjC,EAAE;IACF,mGAAmG;IACnG,mGAAmG;IACnG,kGAAkG;IAClG,mEAAmE;IACnE,EAAE;IACF,oGAAoG;IACpG,kGAAkG;IAClG,mGAAmG;IACnG,qDAAqD;IACrD,sDAAsD,EAAE,KAAK;IAC7D,+CAA+C,EAAE,OAAO;IACxD,gDAAgD,EAAE,OAAO;IACzD,6CAA6C,EAAE,OAAO;IACtD,qDAAqD;IACrD,yCAAyC,EAAE,OAAO;IAClD,kGAAkG;IAClG,6FAA6F;IAC7F,gGAAgG;IAChG,iFAAiF;IACjF,kGAAkG;IAClG,gGAAgG;IAChG,4FAA4F;IAC5F,kGAAkG;IAClG,qEAAqE;IACrE,EAAE;IACF,oGAAoG;IACpG,iGAAiG;IACjG,mGAAmG;IACnG,mGAAmG;IACnG,sGAAsG;IACtG,SAAS,EAAE,CAAC,OAAO,EAAE,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC;IAChD,wCAAwC,EAAE,OAAO;IACjD,uCAAuC,EAAE,OAAO;IAChD,+CAA+C,EAAE,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC;IACxF,8FAA8F;IAC9F,gGAAgG;IAChG,iGAAiG;IACjG,qDAAqD;IACrD,kCAAkC,EAAE,OAAO;IAC3C,4FAA4F;IAC5F,iGAAiG;IACjG,4FAA4F;IAC5F,mGAAmG;IACnG,sCAAsC,EAAE;QACtC,OAAO;QACP;YACE,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,CAAC;YACrD,MAAM,EAAE,IAAI;YACZ,MAAM,EAAE,EAAE,KAAK,EAAE,0CAA0C,EAAE,KAAK,EAAE,KAAK,EAAE;SAC5E;KACF;IAED,4FAA4F;IAC5F,uDAAuD,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClF,qDAAqD,EAAE,OAAO;IAE9D,8DAA8D;IAC9D,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;IACrC,8BAA8B,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC;IACzD,YAAY,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC;IACnC,WAAW,EAAE,CAAC,OAAO,EAAE,SAAS,CAAC;IACjC,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAC7F,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,sBAAsB,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAE9G,kGAAkG;IAClG,mGAAmG;IACnG,0FAA0F;IAC1F,gGAAgG;IAChG,yFAAyF;IACzF,kGAAkG;IAClG,gGAAgG;IAChG,qCAAqC,EAAE;QACrC,OAAO;QACP;YACE,MAAM,EAAE,kBAAkB;YAC1B,kBAAkB,EAAE,IAAI;YACxB,mBAAmB,EAAE,IAAI;YACzB,6BAA6B,EAAE,IAAI;YACnC,WAAW,EAAE,IAAI;YACjB,yBAAyB,EAAE,IAAI;YAC/B,6BAA6B,EAAE,IAAI;YACnC,iBAAiB,EAAE,IAAI;YACvB,YAAY,EAAE,IAAI;YAClB,aAAa,EAAE,KAAK;SACrB;KACF;IAED,0FAA0F;IAC1F,+FAA+F;IAC/F,8FAA8F;IAC9F,8CAA8C;IAC9C,WAAW,EAAE,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAExF,kGAAkG;IAClG,kGAAkG;IAClG,kGAAkG;IAClG,2FAA2F;IAC3F,EAAE;IACF,kGAAkG;IAClG,kGAAkG;IAClG,8FAA8F;IAC9F,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC;IACpF,gCAAgC,EAAE,KAAK;IAEvC,8FAA8F;IAC9F,mFAAmF;IACnF,sBAAsB,EAAE,CAAC,GAAG,cAAc,EAAE,GAAG,qBAAqB,CAAC;IAErE,wBAAwB;IACxB,MAAM,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC3B,KAAK,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IACvB,cAAc,EAAE,OAAO;IACvB,gBAAgB,EAAE,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;IAEnD,8CAA8C;IAC9C,+BAA+B,EAAE,KAAK,EAAE,gDAAgD;IACxF,mGAAmG;IACnG,oGAAoG;IACpG,qGAAqG;IACrG,kGAAkG;IAClG,oGAAoG;IACpG,qGAAqG;IACrG,qGAAqG;IACrG,8EAA8E;IAC9E,yFAAyF;IACzF,2BAA2B,EAAE;QAC3B,OAAO;QACP,EAAE,YAAY,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;KAC/E;IACD,+FAA+F;IAC/F,gGAAgG;IAChG,kGAAkG;IAClG,qEAAqE;IACrE,iCAAiC,EAAE;QACjC,OAAO;QACP;YACE,QAAQ,EAAE;gBACR,gGAAgG;gBAChG,8FAA8F;gBAC9F,+FAA+F;gBAC/F,GAAG,EAAE,IAAI;gBACT,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,IAAI;gBACb,KAAK,EAAE,IAAI;gBACX,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,MAAM,EAAE,IAAI;gBACZ,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,IAAI;aACb;SACF;KACF;IACD,+FAA+F;IAC/F,sGAAsG;IACtG,sGAAsG;IACtG,iGAAiG;IACjG,+FAA+F;IAC/F,qGAAqG;IACrG,mEAAmE;IACnE,+FAA+F;IAC/F,mFAAmF;IACnF,mCAAmC,EAAE;QACnC,OAAO;QACP;YACE,kBAAkB,EAAE,IAAI;YACxB,iBAAiB,EAAE,IAAI;YACvB,iBAAiB,EAAE,IAAI;YACvB,yBAAyB,EAAE,IAAI;SAChC;KACF;IACD,wBAAwB,EAAE,KAAK,EAAE,iEAAiE;IAClG,kGAAkG;IAClG,yCAAyC,EAAE,KAAK;IAChD,mFAAmF;IACnF,mCAAmC,EAAE,OAAO;IAC5C,yFAAyF;IACzF,0CAA0C,EAAE,KAAK;IACjD,kGAAkG;IAClG,gGAAgG;IAChG,0EAA0E;IAC1E,iCAAiC,EAAE,KAAK;IACxC,yBAAyB,EAAE,KAAK;IAChC,kCAAkC,EAAE,KAAK;IACzC,6FAA6F;IAC7F,6BAA6B,EAAE,KAAK;IACpC,uBAAuB,EAAE,KAAK;IAC9B,4BAA4B,EAAE,KAAK;IACnC,iBAAiB,EAAE,KAAK,EAAE,6CAA6C;IACvE,kGAAkG;IAClG,mCAAmC,EAAE,KAAK;IAC1C,2BAA2B,EAAE,KAAK;IAClC,yFAAyF;IACzF,iGAAiG;IACjG,+FAA+F;IAC/F,gGAAgG;IAChG,2FAA2F;IAC3F,wCAAwC,EAAE,KAAK;IAC/C,gGAAgG;IAChG,EAAE;IACF,oGAAoG;IACpG,kGAAkG;IAClG,4FAA4F;IAC5F,6FAA6F;IAC7F,iGAAiG;IACjG,iGAAiG;IACjG,qGAAqG;IACrG,0EAA0E;IAC1E,EAAE;IACF,qGAAqG;IACrG,iGAAiG;IACjG,iGAAiG;IACjG,2FAA2F;IAC3F,mGAAmG;IACnG,2FAA2F;IAC3F,kGAAkG;IAClG,6EAA6E;IAC7E,EAAE;IACF,gGAAgG;IAChG,sFAAsF;IACtF,EAAE;IACF,oGAAoG;IACpG,yDAAyD;IACzD,8FAA8F;IAC9F,EAAE;IACF,qGAAqG;IACrG,uGAAuG;IACvG,oGAAoG;IACpG,gGAAgG;IAChG,kDAAkD;IAClD,EAAE;IACF,kGAAkG;IAClG,oGAAoG;IACpG,iGAAiG;IACjG,mGAAmG;IACnG,gGAAgG;IAChG,qFAAqF;IACrF,EAAE;IACF,qGAAqG;IACrG,mGAAmG;IACnG,qGAAqG;IACrG,mGAAmG;IACnG,qGAAqG;IACrG,gCAAgC;IAChC,EAAE;IACF,iGAAiG;IACjG,kGAAkG;IAClG,qGAAqG;IACrG,oFAAoF;IACpF,oGAAoG;IACpG,8FAA8F;IAC9F,uBAAuB,EAAE,KAAK;IAC9B,kFAAkF;IAClF,EAAE;IACF,8FAA8F;IAC9F,sGAAsG;IACtG,qGAAqG;IACrG,oGAAoG;IACpG,iGAAiG;IACjG,oGAAoG;IACpG,qGAAqG;IACrG,gGAAgG;IAChG,uEAAuE;IACvE,gCAAgC,EAAE,KAAK;IACvC,gCAAgC,EAAE,KAAK;IACvC,iGAAiG;IACjG,wCAAwC;IACxC,EAAE;IACF,+EAA+E;IAC/E,sGAAsG;IACtG,kGAAkG;IAClG,6DAA6D;IAC7D,EAAE;IACF,iGAAiG;IACjG,oGAAoG;IACpG,oGAAoG;IACpG,wBAAwB,EAAE,KAAK;IAC/B,2BAA2B,EAAE,KAAK;IAClC,2FAA2F;IAC3F,sFAAsF;IACtF,wFAAwF;IACxF,yCAAyC,EAAE,KAAK;IAChD,uBAAuB,EAAE,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,CAAC;IAErG,2FAA2F;IAC3F,uFAAuF;IACvF,qBAAqB,EAAE,KAAK;IAC5B,qBAAqB,EAAE,KAAK;IAC5B,uBAAuB,EAAE,KAAK;IAC9B,qGAAqG;IACrG,kGAAkG;IAClG,iGAAiG;IACjG,gGAAgG;IAChG,kGAAkG;IAClG,oEAAoE;IACpE,2BAA2B,EAAE,OAAO;IAEpC,oEAAoE;IACpE,0BAA0B,EAAE,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC;IAC5D,wFAAwF;IACxF,iFAAiF;IACjF,uBAAuB,EAAE;QACvB,OAAO;QACP;YACE,KAAK,EAAE;gBACL,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,gBAAgB,EAAE,CAAC,CAAC;gBACxE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,sBAAsB,EAAE,CAAC,CAAC;aACtF;SACF;KACF;CACF,CAAA;AAoBD,MAAM,CAAC,MAAM,YAAY,GAAiB,MAAM,CAAA;AAEhD,qGAAqG;AACrG,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,yBAAyB,EAAE,OAAO,EAAE,gDAAgD;IACpF,0BAA0B,EAAE,OAAO,EAAE,qCAAqC;IAC1E,+BAA+B,EAAE,OAAO,EAAE,6DAA6D;IACvG,+DAA+D;IAC/D,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,mBAAmB,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,EAAE,CAAC;IACnF,8FAA8F;IAC9F,8FAA8F;IAC9F,cAAc;IACd,6BAA6B,EAAE,KAAK;IACpC,gGAAgG;IAChG,mGAAmG;IACnG,qGAAqG;IACrG,6FAA6F;IAC7F,iFAAiF;IACjF,qBAAqB,EAAE,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAChD,6BAA6B,EAAE,OAAO,EAAE,sCAAsC;IAC9E,8BAA8B,EAAE,OAAO,EAAE,iDAAiD;IAC1F,6BAA6B,EAAE,OAAO,EAAE,2CAA2C;IACnF,2BAA2B,EAAE,OAAO,EAAE,iDAAiD;IACvF,oBAAoB,EAAE,OAAO;IAC7B,4BAA4B,EAAE,OAAO,EAAE,qCAAqC;IAC5E,2BAA2B,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACpD,4BAA4B,EAAE,OAAO,EAAE,+DAA+D;CACvG,CAAA;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,gGAAgG;IAChG,gGAAgG;IAChG,4FAA4F;IAC5F,oFAAoF;IACpF,qCAAqC,EAAE,KAAK;IAC5C,6BAA6B,EAAE,KAAK,EAAE,wDAAwD;IAC9F,6CAA6C,EAAE,KAAK,EAAE,yCAAyC;IAC/F,0BAA0B,EAAE,KAAK,EAAE,mDAAmD;IACtF,kCAAkC,EAAE,KAAK,EAAE,6DAA6D;IACxG,qGAAqG;IACrG,uGAAuG;IACvG,qGAAqG;IACrG,qGAAqG;IACrG,+BAA+B;IAC/B,wBAAwB,EAAE,KAAK;CAChC,CAAA;AAED,oGAAoG;AACpG,sGAAsG;AACtG,kCAAkC;AAClC,EAAE;AACF,sGAAsG;AACtG,wGAAwG;AACxG,yGAAyG;AACzG,4FAA4F;AAC5F,MAAM,kBAAkB,GAAgC;IACtD;QACE,QAAQ,EACN,2EAA2E;YAC3E,8CAA8C;QAChD,OAAO,EACL,8FAA8F;YAC9F,wCAAwC;KAC3C;CACF,CAAA;AAED,qGAAqG;AACrG,wGAAwG;AACxG,yGAAyG;AACzG,yGAAyG;AACzG,iGAAiG;AACjG,MAAM,uBAAuB,GAAgC;IAC3D;QACE,QAAQ,EAAE,8FAA8F;QACxG,OAAO,EACL,+FAA+F;YAC/F,4EAA4E;KAC/E;IACD;QACE,QAAQ,EAAE,6FAA6F;QACvG,OAAO,EACL,+FAA+F;YAC/F,oBAAoB;KACvB;IACD;QACE,QAAQ,EACN,uCAAuC;YACvC,kFAAkF;QACpF,OAAO,EAAE,sGAAsG;KAChH;IACD;QACE,QAAQ,EACN,uFAAuF;YACvF,kFAAkF;QACpF,OAAO,EAAE,uGAAuG;KACjH;IACD;QACE,QAAQ,EAAE,wDAAwD;QAClE,OAAO,EAAE,+FAA+F;KACzG;IACD;QACE,QAAQ,EAAE,2FAA2F;QACrG,OAAO,EACL,6FAA6F;YAC7F,mDAAmD;KACtD;IACD;QACE,QAAQ,EAAE,iFAAiF;QAC3F,OAAO,EAAE,8FAA8F;KACxG;IACD,8FAA8F;IAC9F,qGAAqG;IACrG,iGAAiG;IACjG,0EAA0E;IAC1E;QACE,QAAQ,EACN,oFAAoF;YACpF,4DAA4D;QAC9D,OAAO,EAAE,+FAA+F;KACzG;IACD;QACE,QAAQ,EACN,0EAA0E;YAC1E,4DAA4D;QAC9D,OAAO,EAAE,8FAA8F;KACxG;IACD;QACE,QAAQ,EAAE,6EAA6E;QACvF,OAAO,EAAE,8FAA8F;KACxG;CACF,CAAA;AAED,sGAAsG;AACtG,yFAAyF;AACzF,iFAAiF;AACjF,MAAM,oBAAoB,GAAgC;IACxD;QACE,QAAQ,EAAE,0FAA0F;QACpG,OAAO,EACL,gGAAgG;YAChG,0DAA0D;KAC7D;IACD;QACE,QAAQ,EAAE,0FAA0F;QACpG,OAAO,EACL,6FAA6F;YAC7F,qBAAqB;KACxB;IACD;QACE,QAAQ,EAAE,2EAA2E;QACrF,OAAO,EAAE,yFAAyF;KACnG;CACF,CAAA;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAc;IAC7C,sBAAsB,EAAE;QACtB,GAAG,cAAc;QACjB,GAAG,qBAAqB;QACxB,GAAG,qBAAqB;QACxB,GAAG,kBAAkB;QACrB,GAAG,oBAAoB;QACvB,GAAG,uBAAuB;KAC3B;CACF,CAAA;AAKD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAChC,CAAC,SAAiC,EAAE,eAAuB,EAAmC,EAAE,CAChG,CAAC,QAAgB,EAAW,EAAE,CAC5B,YAAY,CAAC,QAAQ,EAAE,qBAAqB,CAAC;IAC7C,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAA;AAE9F;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAA6B,EAAmB,EAAE,CAAC,CAAC;IAClF,KAAK;IACL,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC;IAC9C,8FAA8F;IAC9F,qGAAqG;IACrG,qFAAqF;IACrF,eAAe,EAAE,EAAE,OAAO,EAAE,OAAO,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAAE;IAC7E,KAAK,EAAE;QACL,GAAG,cAAc;QACjB,mBAAmB,EAAE,OAAO;QAC5B,2BAA2B,EAAE,aAAa,CAAC,EAAE,CAAC;QAC9C,oGAAoG;QACpG,4FAA4F;QAC5F,6CAA6C;QAC7C,GAAG,QAAQ,CAAC,OAAO,CAAC,kBAAkB,CAAC,KAAK;QAC5C,oGAAoG;QACpG,kDAAkD,EAAE,KAAK;QACzD,mDAAmD,EAAE,KAAK;QAC1D,4BAA4B,EAAE,KAAK;QACnC,qGAAqG;QACrG,uEAAuE;QACvE,qCAAqC,EAAE,KAAK;QAC5C,kBAAkB,EAAE;YAClB,OAAO;YACP;gBACE,MAAM,EAAE,kBAAkB;gBAC1B,kBAAkB,EAAE,IAAI;gBACxB,mBAAmB,EAAE,IAAI;gBACzB,6BAA6B,EAAE,IAAI;gBACnC,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,KAAK;aACrB;SACF;KACF;CACF,CAAC,CAAA;AAEF,0FAA0F;AAC1F,EAAE;AACF,wGAAwG;AACxG,yGAAyG;AACzG,uGAAuG;AACvG,kGAAkG;AAClG,MAAM,eAAe,GAAW,kBAAkB,CAAA;AAElD,yGAAyG;AACzG,+BAA+B;AAC/B,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,sGAAsG;AACtG,oGAAoG;AACpG,+DAA+D;AAC/D,MAAM,mBAAmB,GAAW,eAAe,CAAA;AAEnD,qGAAqG;AACrG,sBAAsB;AACtB,EAAE;AACF,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,kGAAkG;AAClG,oGAAoG;AACpG,qFAAqF;AACrF,EAAE;AACF,sGAAsG;AACtG,uGAAuG;AACvG,uGAAuG;AACvG,uGAAuG;AACvG,wGAAwG;AACxG,uGAAuG;AACvG,mGAAmG;AACnG,MAAM,eAAe,GAAW,YAAY,CAAA;AAE5C,+EAA+E;AAC/E,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,iGAAiG;AACjG,uGAAuG;AACvG,wGAAwG;AACxG,sGAAsG;AACtG,oGAAoG;AACpG,MAAM,eAAe,GAAW,kBAAkB,CAAA;AAElD,0GAA0G;AAC1G,yGAAyG;AACzG,yEAAyE;AACzE,EAAE;AACF,gGAAgG;AAChG,wEAAwE;AACxE,MAAM,aAAa,GAAG,CAAC,SAA4B,EAAoB,EAAE,CAAC;IACxE,OAAO;IACP,EAAE,qBAAqB,EAAE,CAAC,eAAe,EAAE,GAAG,SAAS,CAAC,EAAE;CAC3D,CAAA;AAED,uGAAuG;AACvG,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAwB,EAAE,OAA0B,EAAmB,EAAE,CAAC,CAAC;IAC3G,KAAK;IACL,OAAO;IACP,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE;QACL,mBAAmB,EAAE,OAAO;QAC5B,2BAA2B,EAAE,aAAa,CAAC,EAAE,CAAC;KAC/C;CACF,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAAoB,EAAE,CAAC,CAAC;IACxD,KAAK,EAAE,CAAC,kBAAkB,CAAC;IAC3B,uGAAuG;IACvG,sGAAsG;IACtG,uGAAuG;IACvG,wGAAwG;IACxG,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE;QACL,2BAA2B,EAAE,aAAa,CAAC,CAAC,mBAAmB,EAAE,eAAe,CAAC,CAAC;KACnF;CACF,CAAC,CAAA;AAEF;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAoB,EAAE,CAAC,CAAC;IAC1D,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,qGAAqG;IACrG,mCAAmC;IACnC,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE;QACL,2BAA2B,EAAE,aAAa,CAAC,CAAC,mBAAmB,CAAC,CAAC;KAClE;CACF,CAAC,CAAA;AAEF;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,KAAwB,EAAmB,EAAE,CAAC,CAAC;IAC9E,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC;IACjB,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE;QACL,2BAA2B,EAAE,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC;KAC9D;CACF,CAAC,CAAA;AAGF,+FAA+F;AAC/F,OAAO,EACL,kBAAkB,EAClB,cAAc,EACd,qBAAqB,EACrB,kBAAkB,EAClB,uBAAuB,EACvB,oBAAoB,GACrB,CAAA;AAED,sGAAsG;AACtG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,SAAiC,EAAE,SAAiB,EAAmB,EAAE,CAAC,CAAC;IAC/G,KAAK,EAAE,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,qBAAqB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC;IAC9G,eAAe,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;IAClE,OAAO,EAAE,EAAE,UAAU,EAAE;IACvB,KAAK,EAAE,EAAE,uCAAuC,EAAE,KAAK,EAAE;CAC1D,CAAC,CAAA;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAoB,EAAE,CAAC,CAAC;IAC3D,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,eAAe,EAAE,EAAE,UAAU,EAAE,UAAU,EAAE;IAC3C,KAAK,EAAE,EAAE,uCAAuC,EAAE,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,EAAE;CACvF,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import type { ESLint } from 'eslint';
2
+ /** The upstream mutation rules with a narrow CommonJS module-interface initialization allowance. */
3
+ export declare const immutabilityPlugin: ESLint.Plugin;
4
+ //# sourceMappingURL=eslint-immutability.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-immutability.d.ts","sourceRoot":"","sources":["../src/eslint-immutability.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAe,MAAM,QAAQ,CAAA;AAsFjD,oGAAoG;AACpG,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAGvC,CAAA"}
@@ -0,0 +1,66 @@
1
+ import { isCommonJsExport } from '@ploaness/governance';
2
+ import functional from 'eslint-plugin-functional';
3
+ const propertyName = (target) => {
4
+ if (target.property.type === 'Identifier' && !target.computed) {
5
+ return target.property.name;
6
+ }
7
+ return target.property.type === 'Literal' && typeof target.property.value === 'string'
8
+ ? target.property.value
9
+ : undefined;
10
+ };
11
+ const isRuntimeBinding = (scope, name) => {
12
+ if (scope === undefined) {
13
+ return true;
14
+ }
15
+ const variable = scope.set.get(name);
16
+ return variable === undefined ? isRuntimeBinding(scope.upper ?? undefined, name) : variable.defs.length === 0;
17
+ };
18
+ const exportObject = (target) => {
19
+ if (target.object.type === 'Identifier') {
20
+ return { name: target.object.name, binding: target.object.name };
21
+ }
22
+ if (target.object.type === 'MemberExpression' &&
23
+ target.object.object.type === 'Identifier' &&
24
+ target.object.object.name === 'module' &&
25
+ propertyName(target.object) === 'exports') {
26
+ return { name: 'module.exports', binding: 'module' };
27
+ }
28
+ return undefined;
29
+ };
30
+ const TOP_LEVEL_ASSIGNMENT_DEPTH = 2;
31
+ const isExportAssignment = (node, context) => {
32
+ const target = node.left;
33
+ if (target.type !== 'MemberExpression' ||
34
+ context.sourceCode.getAncestors(node).length !== TOP_LEVEL_ASSIGNMENT_DEPTH) {
35
+ return false;
36
+ }
37
+ const object = exportObject(target);
38
+ if (object === undefined) {
39
+ return false;
40
+ }
41
+ return isCommonJsExport(node.operator, object.name, propertyName(target), isRuntimeBinding(context.sourceCode.getScope(node), object.binding));
42
+ };
43
+ const ASSIGNMENT_EXPRESSION = 'AssignmentExpression';
44
+ const immutableData = functional.rules['immutable-data'];
45
+ // An accessor exemption also exempts calls such as module.exports.push(). Filter only the export
46
+ // assignment visitor, leaving every other mutation visitor and every ordinary assignment intact.
47
+ const commonJsAware = {
48
+ ...immutableData,
49
+ create(context) {
50
+ const listeners = immutableData.create(context);
51
+ return {
52
+ ...listeners,
53
+ [ASSIGNMENT_EXPRESSION]: (node) => {
54
+ if (!(context.filename.endsWith('.cjs') && isExportAssignment(node, context))) {
55
+ listeners.AssignmentExpression?.(node);
56
+ }
57
+ },
58
+ };
59
+ },
60
+ };
61
+ /** The upstream mutation rules with a narrow CommonJS module-interface initialization allowance. */
62
+ export const immutabilityPlugin = {
63
+ ...functional,
64
+ rules: { ...functional.rules, 'immutable-data': commonJsAware },
65
+ };
66
+ //# sourceMappingURL=eslint-immutability.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-immutability.js","sourceRoot":"","sources":["../src/eslint-immutability.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** Provide inferred JavaScript types to mutation checks without requiring consumer tsconfig inclusion. */
2
+ export declare const javaScriptParser: () => Readonly<Record<string, unknown>>;
3
+ //# sourceMappingURL=eslint-javascript-parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-javascript-parser.d.ts","sourceRoot":"","sources":["../src/eslint-javascript-parser.ts"],"names":[],"mappings":"AAGA,0GAA0G;AAC1G,eAAO,MAAM,gBAAgB,QAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA+BlE,CAAA"}
@@ -0,0 +1,35 @@
1
+ import { meta, parseForESLint } from '@typescript-eslint/parser';
2
+ import ts from 'typescript';
3
+ /** Provide inferred JavaScript types to mutation checks without requiring consumer tsconfig inclusion. */
4
+ export const javaScriptParser = () => ({
5
+ meta,
6
+ parseForESLint(source, options) {
7
+ const file = options.filePath;
8
+ if (file === undefined) {
9
+ throw new Error('JavaScript lint requires an explicit file path');
10
+ }
11
+ const compilerOptions = {
12
+ allowJs: true,
13
+ checkJs: false,
14
+ noEmit: true,
15
+ jsx: ts.JsxEmit.Preserve,
16
+ target: ts.ScriptTarget.ESNext,
17
+ module: ts.ModuleKind.NodeNext,
18
+ moduleResolution: ts.ModuleResolutionKind.NodeNext,
19
+ };
20
+ const host = ts.createCompilerHost(compilerOptions);
21
+ const program = ts.createProgram([file], compilerOptions, {
22
+ ...host,
23
+ getSourceFile: (name, languageVersion, onError, shouldCreateNewSourceFile) => name === file
24
+ ? ts.createSourceFile(name, source, languageVersion)
25
+ : host.getSourceFile(name, languageVersion, onError, shouldCreateNewSourceFile),
26
+ });
27
+ return parseForESLint(source, {
28
+ ...options,
29
+ project: false,
30
+ projectService: false,
31
+ programs: [program],
32
+ });
33
+ },
34
+ });
35
+ //# sourceMappingURL=eslint-javascript-parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eslint-javascript-parser.js","sourceRoot":"","sources":["../src/eslint-javascript-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAsB,cAAc,EAAE,MAAM,2BAA2B,CAAA;AACpF,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3B,0GAA0G;AAC1G,MAAM,CAAC,MAAM,gBAAgB,GAAG,GAAsC,EAAE,CAAC,CAAC;IACxE,IAAI;IACJ,cAAc,CAAC,MAAc,EAAE,OAAsB;QACnD,MAAM,IAAI,GAAuB,OAAO,CAAC,QAAQ,CAAA;QACjD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;QACnE,CAAC;QACD,MAAM,eAAe,GAAuB;YAC1C,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,IAAI;YACZ,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ;YACxB,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM;YAC9B,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ;YAC9B,gBAAgB,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ;SACnD,CAAA;QACD,MAAM,IAAI,GAAoB,EAAE,CAAC,kBAAkB,CAAC,eAAe,CAAC,CAAA;QACpE,MAAM,OAAO,GAAe,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,EAAE,eAAe,EAAE;YACpE,GAAG,IAAI;YACP,aAAa,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,EAA6B,EAAE,CACtG,IAAI,KAAK,IAAI;gBACX,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,eAAe,CAAC;gBACpD,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,yBAAyB,CAAC;SACpF,CAAC,CAAA;QACF,OAAO,cAAc,CAAC,MAAM,EAAE;YAC5B,GAAG,OAAO;YACV,OAAO,EAAE,KAAK;YACd,cAAc,EAAE,KAAK;YACrB,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-library.d.ts","sourceRoot":"","sources":["../src/eslint-library.ts"],"names":[],"mappings":"AAQA,OAAO,EAEL,OAAO,EAaR,MAAM,kBAAkB,CAAA;AAmBzB,QAAA,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAqCtC,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"eslint-library.d.ts","sourceRoot":"","sources":["../src/eslint-library.ts"],"names":[],"mappings":"AAQA,OAAO,EAKL,OAAO,EAaR,MAAM,kBAAkB,CAAA;AAiBzB,QAAA,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAiDtC,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -5,11 +5,10 @@
5
5
  // the centralised environment module. Those are not relaxations a library is being granted; they are
6
6
  // carve-outs for files it does not contain, and applying them would have it judged against a layout it
7
7
  // never claimed. Every cap, ban and suppression rule in `eslint-core.ts` still applies in full.
8
- import { REEXPORT_CONFIG_FILES } from '@ploaness/governance';
9
- import { baseLayers, compose, guidelineRules, immutabilityBlock, javascriptBlock, prettierLast, processConfigBlock, specEnvironmentBlock, testIdiomRules, testIntegrityRules, testSuiteSyntaxRules, typeAwareParsing, vitestPlugin, } from './eslint-core.js';
8
+ import { JAVASCRIPT_EXTENSIONS, REEXPORT_CONFIG_FILES, TYPESCRIPT_SOURCE_EXTENSIONS } from '@ploaness/governance';
9
+ import { allowlistedJavaScript, baseLayers, commonJavaScriptBlock, commonTypeScriptBlock, compose, guidelineRules, immutabilityBlock, javascriptBlock, prettierLast, processConfigBlock, specEnvironmentBlock, testIdiomRules, testIntegrityRules, testSuiteSyntaxRules, typeAwareParsing, vitestPlugin, } from './eslint-core.js';
10
+ import { projectDirectory, projectSettings as settings } from './project-settings.js';
10
11
  const IGNORED = ['dist/**', 'node_modules/**', 'coverage/**', '.next/**'];
11
- /** The JavaScript a library may legitimately carry: its own flat ESLint config, and nothing else. */
12
- const JAVASCRIPT_FILES = ['eslint.config.mjs'];
13
12
  // `unicorn/prefer-export-from` rewrites `import x from 'y'` + `export default x` into
14
13
  // `export { default } from 'y'` - and it AUTOFIXES, so `ploaness format` turned a correctly wired
15
14
  // project into one the `wiring` gate then rejected, every time it ran. Two rules this harness owns,
@@ -21,15 +20,20 @@ const reexportConfigBlock = {
21
20
  files: [...REEXPORT_CONFIG_FILES],
22
21
  rules: { 'unicorn/prefer-export-from': 'off' },
23
22
  };
24
- const config = compose({ ignores: [...IGNORED] }, ...baseLayers, typeAwareParsing({ projectService: true }), { rules: { ...guidelineRules } },
25
- // Immutability applies to every hand-written module. A library has no generated files to exempt, so
26
- // the block is applied without the Payload carve-outs rather than with an empty list of them.
27
- immutabilityBlock(['**/*.ts', '**/*.mts'], []),
23
+ const config = compose({ ignores: [...IGNORED, ...settings.generatedArtefacts] }, {
24
+ files: [...TYPESCRIPT_SOURCE_EXTENSIONS, ...JAVASCRIPT_EXTENSIONS].map((extension) => `**/*${extension}`),
25
+ }, ...baseLayers, typeAwareParsing({ projectService: true }), { rules: { ...guidelineRules } },
26
+ // Every authored module format has the same mutation policy. Generated artifacts are globally
27
+ // ignored, and declared framework glue retains its role-specific allowance.
28
+ immutabilityBlock(TYPESCRIPT_SOURCE_EXTENSIONS.map((extension) => `**/*${extension}`), settings.frameworkGlue),
28
29
  // The setup file's role, straight after the block it narrows. It must come later: a block that sets
29
30
  // this rule replaces its options, so stating the role first would have the general block undo it.
30
31
  processConfigBlock(),
31
32
  // And the spec's, which is to vary the environment rather than to fix it. Same ordering constraint.
32
- specEnvironmentBlock(), javascriptBlock(JAVASCRIPT_FILES),
33
+ specEnvironmentBlock(),
34
+ // The JavaScript a library may carry is what its allowlist admits, its own flat ESLint config among
35
+ // the defaults, so the file the conventions gate lets be JavaScript is linted as JavaScript here.
36
+ javascriptBlock([allowlistedJavaScript(settings.javascriptAllowlist, projectDirectory)]),
33
37
  // A library's specs are held to the same integrity rules as an application's: the suite is a gate, so
34
38
  // a test that cannot fail is a gate that cannot fail.
35
39
  //
@@ -49,6 +53,6 @@ specEnvironmentBlock(), javascriptBlock(JAVASCRIPT_FILES),
49
53
  ...testIntegrityRules,
50
54
  ...testSuiteSyntaxRules,
51
55
  },
52
- }, reexportConfigBlock, prettierLast);
56
+ }, reexportConfigBlock, commonJavaScriptBlock(settings.javascriptAllowlist, projectDirectory), commonTypeScriptBlock(), prettierLast);
53
57
  export default config;
54
58
  //# sourceMappingURL=eslint-library.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eslint-library.js","sourceRoot":"","sources":["../src/eslint-library.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,qGAAqG;AACrG,uGAAuG;AACvG,gGAAgG;AAChG,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC5D,OAAO,EACL,UAAU,EACV,OAAO,EAEP,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAA;AAEzB,MAAM,OAAO,GAAsB,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;AAE5F,qGAAqG;AACrG,MAAM,gBAAgB,GAAsB,CAAC,mBAAmB,CAAC,CAAA;AAEjE,sFAAsF;AACtF,kGAAkG;AAClG,oGAAoG;AACpG,0EAA0E;AAC1E,EAAE;AACF,oGAAoG;AACpG,sEAAsE;AACtE,MAAM,mBAAmB,GAAoB;IAC3C,KAAK,EAAE,CAAC,GAAG,qBAAqB,CAAC;IACjC,KAAK,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE;CAC/C,CAAA;AAED,MAAM,MAAM,GAA+B,OAAO,CAChD,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,CAAC,EAAE,EACzB,GAAG,UAAU,EACb,gBAAgB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAC1C,EAAE,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,EAA4B;AAC1D,oGAAoG;AACpG,8FAA8F;AAC9F,iBAAiB,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,EAAE,EAAE,CAAC;AAE9C,oGAAoG;AACpG,kGAAkG;AAClG,kBAAkB,EAAE;AACpB,oGAAoG;AACpG,oBAAoB,EAAE,EACtB,eAAe,CAAC,gBAAgB,CAAC;AACjC,sGAAsG;AACtG,sDAAsD;AACtD,EAAE;AACF,iGAAiG;AACjG,qGAAqG;AACrG,8EAA8E;AAC9E,EAAE;AACF,uGAAuG;AACvG,mGAAmG;AACnG,uGAAuG;AACvG,qGAAqG;AACrG;IACE,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IACjC,KAAK,EAAE;QACL,GAAG,cAAc;QACjB,GAAG,kBAAkB;QACrB,GAAG,oBAAoB;KACxB;CACwB,EAC3B,mBAAmB,EACnB,YAAY,CACb,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"eslint-library.js","sourceRoot":"","sources":["../src/eslint-library.ts"],"names":[],"mappings":"AAAA,oEAAoE;AACpE,EAAE;AACF,mGAAmG;AACnG,sGAAsG;AACtG,qGAAqG;AACrG,uGAAuG;AACvG,gGAAgG;AAChG,OAAO,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,sBAAsB,CAAA;AACjH,OAAO,EACL,qBAAqB,EACrB,UAAU,EACV,qBAAqB,EACrB,qBAAqB,EACrB,OAAO,EAEP,cAAc,EACd,iBAAiB,EACjB,eAAe,EACf,YAAY,EACZ,kBAAkB,EAClB,oBAAoB,EACpB,cAAc,EACd,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,eAAe,IAAI,QAAQ,EAAE,MAAM,uBAAuB,CAAA;AAErF,MAAM,OAAO,GAAsB,CAAC,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;AAE5F,sFAAsF;AACtF,kGAAkG;AAClG,oGAAoG;AACpG,0EAA0E;AAC1E,EAAE;AACF,oGAAoG;AACpG,sEAAsE;AACtE,MAAM,mBAAmB,GAAoB;IAC3C,KAAK,EAAE,CAAC,GAAG,qBAAqB,CAAC;IACjC,KAAK,EAAE,EAAE,4BAA4B,EAAE,KAAK,EAAE;CAC/C,CAAA;AAED,MAAM,MAAM,GAA+B,OAAO,CAChD,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,EAAE,GAAG,QAAQ,CAAC,kBAAkB,CAAC,EAAE,EACzD;IACE,KAAK,EAAE,CAAC,GAAG,4BAA4B,EAAE,GAAG,qBAAqB,CAAC,CAAC,GAAG,CACpE,CAAC,SAAiB,EAAU,EAAE,CAAC,OAAO,SAAS,EAAE,CAClD;CACF,EACD,GAAG,UAAU,EACb,gBAAgB,CAAC,EAAE,cAAc,EAAE,IAAI,EAAE,CAAC,EAC1C,EAAE,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,EAA4B;AAC1D,8FAA8F;AAC9F,4EAA4E;AAC5E,iBAAiB,CACf,4BAA4B,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAU,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC,EACnF,QAAQ,CAAC,aAAa,CACvB;AAED,oGAAoG;AACpG,kGAAkG;AAClG,kBAAkB,EAAE;AACpB,oGAAoG;AACpG,oBAAoB,EAAE;AACtB,oGAAoG;AACpG,kGAAkG;AAClG,eAAe,CAAC,CAAC,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACxF,sGAAsG;AACtG,sDAAsD;AACtD,EAAE;AACF,iGAAiG;AACjG,qGAAqG;AACrG,8EAA8E;AAC9E,EAAE;AACF,uGAAuG;AACvG,mGAAmG;AACnG,uGAAuG;AACvG,qGAAqG;AACrG;IACE,KAAK,EAAE,CAAC,UAAU,CAAC;IACnB,OAAO,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE;IACjC,KAAK,EAAE;QACL,GAAG,cAAc;QACjB,GAAG,kBAAkB;QACrB,GAAG,oBAAoB;KACxB;CACwB,EAC3B,mBAAmB,EACnB,qBAAqB,CAAC,QAAQ,CAAC,mBAAmB,EAAE,gBAAgB,CAAC,EACrE,qBAAqB,EAAE,EACvB,YAAY,CACb,CAAA;AAED,eAAe,MAAM,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"AAsBA,OAAO,EAEL,OAAO,EAiBR,MAAM,kBAAkB,CAAA;AAOzB,yGAAyG;AACzG,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAA;AAoBD,QAAA,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAuUtC,CAAA;AAED,eAAe,MAAM,CAAA"}
1
+ {"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"AAuBA,OAAO,EAKL,OAAO,EAkBR,MAAM,kBAAkB,CAAA;AAOzB,yGAAyG;AACzG,eAAO,MAAM,qBAAqB,EAAE,SAAS,MAAM,EAIlD,CAAA;AAoBD,QAAA,MAAM,MAAM,EAAE,UAAU,CAAC,OAAO,OAAO,CAiVtC,CAAA;AAED,eAAe,MAAM,CAAA"}
package/dist/eslint.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { JAVASCRIPT_EXTENSIONS, TYPESCRIPT_SOURCE_EXTENSIONS } from '@ploaness/governance';
1
2
  // @ts-check
2
3
  //
3
4
  // Type-aware ESLint flat config - the second enforcement layer, alongside Biome.
@@ -19,9 +20,9 @@ import { APPLICATION_JSX_IGNORES, ENVIRONMENT_READ_EXEMPTIONS, REEXPORT_CONFIG_F
19
20
  // collection configs, the environment module, the a11y layer, and the test-integrity block.
20
21
  import playwright from 'eslint-plugin-playwright';
21
22
  import testingLibrary from 'eslint-plugin-testing-library';
22
- import { baseLayers, compose, guidelineRules, hookContextBlock, immutabilityBlock, NO_INHERITANCE, NO_MOCK_PROPERTIES, NO_NETWORK_GUARD_ESCAPE, prettierLast, processConfigBlock, specEnvironmentBlock, testIdiomRules, testIntegrityRules, testSuiteSyntaxRules, typeAwareParsing, vitestPlugin, withoutWarnings, } from './eslint-core.js';
23
+ import { allowlistedJavaScript, baseLayers, commonJavaScriptBlock, commonTypeScriptBlock, compose, guidelineRules, hookContextBlock, immutabilityBlock, javascriptBlock, NO_INHERITANCE, NO_MOCK_PROPERTIES, NO_NETWORK_GUARD_ESCAPE, prettierLast, processConfigBlock, specEnvironmentBlock, testIdiomRules, testIntegrityRules, testSuiteSyntaxRules, typeAwareParsing, vitestPlugin, withoutWarnings, } from './eslint-core.js';
23
24
  import { SECURITY_RESTRICTIONS } from './eslint-security.js';
24
- import { projectSettings as settings } from './project-settings.js';
25
+ import { projectDirectory, projectSettings as settings } from './project-settings.js';
25
26
  // Where a Payload project writes its hooks, and therefore the one place `req.context` is written.
26
27
  const PAYLOAD_HOOK_FILES = ['src/hooks/**'];
27
28
  /** The assertion helpers `ploaness/a11y` ships, each of which fails the test it runs in on a finding. */
@@ -69,6 +70,8 @@ const config = compose(
69
70
  // that would clear it: `include` is dictated and this config is re-exported verbatim. Biome and
70
71
  // the conventions gate still read these files.
71
72
  ],
73
+ }, {
74
+ files: [...TYPESCRIPT_SOURCE_EXTENSIONS, ...JAVASCRIPT_EXTENSIONS].map((extension) => `**/*${extension}`),
72
75
  }, ...baseLayers,
73
76
  // Type-aware parsing against the consuming project's own tsconfig, plus the shared rule set.
74
77
  typeAwareParsing({ projectService: true }), { rules: guidelineRules },
@@ -80,12 +83,15 @@ typeAwareParsing({ projectService: true }), { rules: guidelineRules },
80
83
  // Immutability: every hand-written TypeScript, with the framework's own scaffolding exempt by role.
81
84
  // The role is declarable rather than a fixed path, because a project that mounts its framework
82
85
  // elsewhere has the same generated files under a name ploaness cannot guess.
83
- immutabilityBlock(['**/*.ts', '**/*.tsx'], [...settings.frameworkGlue, 'src/payload-types.ts', 'src/payload-generated-schema.ts']),
86
+ immutabilityBlock(TYPESCRIPT_SOURCE_EXTENSIONS.map((extension) => `**/*${extension}`), [...settings.frameworkGlue, 'src/payload-types.ts', 'src/payload-generated-schema.ts']),
84
87
  // The setup file's role, straight after the block it narrows. It must come later: a block that sets
85
88
  // this rule replaces its options, so stating the role first would have the general block undo it.
86
89
  processConfigBlock(),
87
90
  // And the spec's, which is to vary the environment rather than to fix it. Same ordering constraint.
88
91
  specEnvironmentBlock(),
92
+ // The JavaScript the allowlist admits is linted as JavaScript, because the type-aware parser knows only
93
+ // the TypeScript project. The allowlisted configs ignored above stay ignored.
94
+ javascriptBlock([allowlistedJavaScript(settings.javascriptAllowlist, projectDirectory)]),
89
95
  // The hook directories, where Payload's per-request state is written. `src/hooks` is the layer the
90
96
  // project layout names for hooks; a hook written into `src/lib` is the pure floor claiming to be pure
91
97
  // and is held to the full rule.
@@ -342,6 +348,6 @@ hookContextBlock(PAYLOAD_HOOK_FILES),
342
348
  },
343
349
  },
344
350
  // ── Formatting is Biome's job - disable every conflicting stylistic rule (must stay last) ────
345
- reexportConfigBlock, prettierLast);
351
+ reexportConfigBlock, commonJavaScriptBlock(settings.javascriptAllowlist, projectDirectory), commonTypeScriptBlock(), prettierLast);
346
352
  export default config;
347
353
  //# sourceMappingURL=eslint.js.map