@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.
- package/dist/a11y.d.ts +4 -2
- package/dist/a11y.d.ts.map +1 -1
- package/dist/a11y.js +7 -17
- package/dist/a11y.js.map +1 -1
- package/dist/eslint-core.d.ts +21 -2
- package/dist/eslint-core.d.ts.map +1 -1
- package/dist/eslint-core.js +41 -6
- package/dist/eslint-core.js.map +1 -1
- package/dist/eslint-immutability.d.ts +4 -0
- package/dist/eslint-immutability.d.ts.map +1 -0
- package/dist/eslint-immutability.js +66 -0
- package/dist/eslint-immutability.js.map +1 -0
- package/dist/eslint-javascript-parser.d.ts +3 -0
- package/dist/eslint-javascript-parser.d.ts.map +1 -0
- package/dist/eslint-javascript-parser.js +35 -0
- package/dist/eslint-javascript-parser.js.map +1 -0
- package/dist/eslint-library.d.ts.map +1 -1
- package/dist/eslint-library.js +14 -10
- package/dist/eslint-library.js.map +1 -1
- package/dist/eslint.d.ts.map +1 -1
- package/dist/eslint.js +10 -4
- package/dist/eslint.js.map +1 -1
- package/dist/formatting.d.ts +3 -0
- package/dist/formatting.d.ts.map +1 -0
- package/dist/formatting.js +4 -0
- package/dist/formatting.js.map +1 -0
- package/dist/playwright.d.ts.map +1 -1
- package/dist/playwright.js +16 -4
- package/dist/playwright.js.map +1 -1
- package/dist/production-build.d.ts +13 -0
- package/dist/production-build.d.ts.map +1 -0
- package/dist/production-build.js +32 -0
- package/dist/production-build.js.map +1 -0
- package/dist/production-environment.d.ts +7 -0
- package/dist/production-environment.d.ts.map +1 -0
- package/dist/production-environment.js +20 -0
- package/dist/production-environment.js.map +1 -0
- package/dist/production-server.js +3 -19
- package/dist/production-server.js.map +1 -1
- package/dist/project-settings.d.ts +2 -0
- package/dist/project-settings.d.ts.map +1 -1
- package/dist/project-settings.js +23 -3
- package/dist/project-settings.js.map +1 -1
- package/dist/settle.d.ts +2 -1
- package/dist/settle.d.ts.map +1 -1
- package/dist/settle.js +44 -1
- package/dist/settle.js.map +1 -1
- package/dist/vitest-core.d.ts +2 -0
- package/dist/vitest-core.d.ts.map +1 -1
- package/dist/vitest-core.js +6 -1
- package/dist/vitest-core.js.map +1 -1
- package/dist/vitest-library.d.ts.map +1 -1
- package/dist/vitest-library.js +4 -3
- package/dist/vitest-library.js.map +1 -1
- package/dist/vitest.d.ts.map +1 -1
- package/dist/vitest.js +5 -3
- package/dist/vitest.js.map +1 -1
- package/package.json +28 -15
- package/pins.json +8 -8
- package/prettier-scss.json +7 -0
- package/stylelint.json +25 -2
- 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
|
|
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
|
|
16
|
+
* @returns a builder without selector restrictions.
|
|
15
17
|
*/
|
|
16
18
|
export declare const scopedAxe: (page: Page) => Promise<AxeBuilder>;
|
|
17
19
|
/**
|
package/dist/a11y.d.ts.map
CHANGED
|
@@ -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;
|
|
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
|
|
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
|
|
36
|
+
* @returns a builder without selector restrictions.
|
|
40
37
|
*/
|
|
41
|
-
export const scopedAxe =
|
|
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":"AAAA,yGAAyG;AACzG,gCAAgC;AAChC,EAAE;AACF,oGAAoG;AACpG,qGAAqG;AACrG,6FAA6F;AAC7F,aAAa;AACb,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,2FAA2F;AAC3F,EAAE;AACF,wGAAwG;AACxG,oGAAoG;AACpG,wGAAwG;AACxG,yGAAyG;AACzG,2FAA2F;AAO3F,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;AAE3C,OAAO,EAAe,UAAU,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,MAAM,EAAa,MAAM,kBAAkB,CAAA;AACpD,OAAO,EACL,SAAS,EACT,gBAAgB,EAChB,sBAAsB,EACtB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"a11y.js","sourceRoot":"","sources":["../src/a11y.ts"],"names":[],"mappings":"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"}
|
package/dist/eslint-core.d.ts
CHANGED
|
@@ -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
|
|
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;
|
|
1
|
+
{"version":3,"file":"eslint-core.d.ts","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"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"}
|
package/dist/eslint-core.js
CHANGED
|
@@ -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
|
|
735
|
-
//
|
|
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
|
package/dist/eslint-core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint-core.js","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"AAAA,uGAAuG;AACvG,OAAO,EAAE,MAAM,YAAY,CAAA;AAC3B,OAAO,QAAQ,MAAM,yDAAyD,CAAA;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,MAAM,MAAM,uBAAuB,CAAA;AAE1C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAC5C,OAAO,QAAQ,MAAM,wBAAwB,CAAA;AAC7C,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,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,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,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;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAwB,EAAmB,EAAE,CAAC,CAAC;IAC7E,KAAK;IACL,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;IACjD,KAAK,EAAE;QACL,GAAG,cAAc;QACjB,oGAAoG;QACpG,qGAAqG;QACrG,4FAA4F;QAC5F,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"}
|
|
1
|
+
{"version":3,"file":"eslint-core.js","sourceRoot":"","sources":["../src/eslint-core.ts"],"names":[],"mappings":"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"}
|
|
@@ -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 @@
|
|
|
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,
|
|
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"}
|
package/dist/eslint-library.js
CHANGED
|
@@ -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
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
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(),
|
|
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;
|
|
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"}
|
package/dist/eslint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eslint.d.ts","sourceRoot":"","sources":["../src/eslint.ts"],"names":[],"mappings":"
|
|
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(
|
|
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
|