@ploaness/governance 1.1.0 → 1.2.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-hit-target.d.ts.map +1 -1
- package/dist/a11y-hit-target.js +1 -21
- package/dist/a11y-hit-target.js.map +1 -1
- package/dist/a11y-incomplete.d.ts.map +1 -1
- package/dist/a11y-incomplete.js +1 -18
- package/dist/a11y-incomplete.js.map +1 -1
- package/dist/access-boundary.d.ts +43 -1
- package/dist/access-boundary.d.ts.map +1 -1
- package/dist/access-boundary.js +146 -5
- package/dist/access-boundary.js.map +1 -1
- package/dist/admin-view-coverage.d.ts.map +1 -1
- package/dist/admin-view-coverage.js +1 -17
- package/dist/admin-view-coverage.js.map +1 -1
- package/dist/asset-policy.d.ts.map +1 -1
- package/dist/asset-policy.js +1 -23
- package/dist/asset-policy.js.map +1 -1
- package/dist/axe-coverage.d.ts +3 -4
- package/dist/axe-coverage.d.ts.map +1 -1
- package/dist/axe-coverage.js +18 -51
- package/dist/axe-coverage.js.map +1 -1
- package/dist/blocklist-entries.d.ts +36 -0
- package/dist/blocklist-entries.d.ts.map +1 -0
- package/dist/blocklist-entries.js +338 -0
- package/dist/blocklist-entries.js.map +1 -0
- package/dist/blocklist.d.ts +91 -0
- package/dist/blocklist.d.ts.map +1 -0
- package/dist/blocklist.js +187 -0
- package/dist/blocklist.js.map +1 -0
- package/dist/container-failure.d.ts.map +1 -1
- package/dist/container-failure.js +1 -18
- package/dist/container-failure.js.map +1 -1
- package/dist/container-files.d.ts +16 -0
- package/dist/container-files.d.ts.map +1 -1
- package/dist/container-files.js +23 -8
- package/dist/container-files.js.map +1 -1
- package/dist/container-images.d.ts +43 -0
- package/dist/container-images.d.ts.map +1 -0
- package/dist/container-images.js +157 -0
- package/dist/container-images.js.map +1 -0
- package/dist/dependency-freshness.d.ts +8 -0
- package/dist/dependency-freshness.d.ts.map +1 -1
- package/dist/dependency-freshness.js +2 -18
- package/dist/dependency-freshness.js.map +1 -1
- package/dist/doc-blocks.d.ts.map +1 -1
- package/dist/doc-blocks.js +1 -13
- package/dist/doc-blocks.js.map +1 -1
- package/dist/editorconfig-policy.d.ts +7 -0
- package/dist/editorconfig-policy.d.ts.map +1 -1
- package/dist/editorconfig-policy.js +19 -12
- package/dist/editorconfig-policy.js.map +1 -1
- package/dist/environment-coherence.d.ts.map +1 -1
- package/dist/environment-coherence.js +1 -23
- package/dist/environment-coherence.js.map +1 -1
- package/dist/environment-files.d.ts.map +1 -1
- package/dist/environment-files.js +1 -19
- package/dist/environment-files.js.map +1 -1
- package/dist/file-roles.d.ts +7 -2
- package/dist/file-roles.d.ts.map +1 -1
- package/dist/file-roles.js +10 -9
- package/dist/file-roles.js.map +1 -1
- package/dist/freshness-repair.d.ts +82 -0
- package/dist/freshness-repair.d.ts.map +1 -0
- package/dist/freshness-repair.js +91 -0
- package/dist/freshness-repair.js.map +1 -0
- package/dist/generated-denial.d.ts.map +1 -1
- package/dist/generated-denial.js +1 -9
- package/dist/generated-denial.js.map +1 -1
- package/dist/generated-drift.d.ts.map +1 -1
- package/dist/generated-drift.js +1 -12
- package/dist/generated-drift.js.map +1 -1
- package/dist/harness-package.d.ts +13 -0
- package/dist/harness-package.d.ts.map +1 -0
- package/dist/harness-package.js +20 -0
- package/dist/harness-package.js.map +1 -0
- package/dist/history-policy.d.ts.map +1 -1
- package/dist/history-policy.js +1 -7
- package/dist/history-policy.js.map +1 -1
- package/dist/image-assets.d.ts.map +1 -1
- package/dist/image-assets.js +1 -10
- package/dist/image-assets.js.map +1 -1
- package/dist/index.d.ts +12 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +12 -0
- package/dist/index.js.map +1 -1
- package/dist/install-policy.d.ts +21 -0
- package/dist/install-policy.d.ts.map +1 -1
- package/dist/install-policy.js +53 -1
- package/dist/install-policy.js.map +1 -1
- package/dist/jsx-accessibility-scope.d.ts +17 -0
- package/dist/jsx-accessibility-scope.d.ts.map +1 -0
- package/dist/jsx-accessibility-scope.js +36 -0
- package/dist/jsx-accessibility-scope.js.map +1 -0
- package/dist/jsx-accessibility.d.ts +13 -0
- package/dist/jsx-accessibility.d.ts.map +1 -0
- package/dist/jsx-accessibility.js +188 -0
- package/dist/jsx-accessibility.js.map +1 -0
- package/dist/network-policy.d.ts.map +1 -1
- package/dist/network-policy.js +1 -12
- package/dist/network-policy.js.map +1 -1
- package/dist/oxlint-policy.d.ts +16 -0
- package/dist/oxlint-policy.d.ts.map +1 -0
- package/dist/oxlint-policy.js +28 -0
- package/dist/oxlint-policy.js.map +1 -0
- package/dist/oxlint-report.d.ts +29 -0
- package/dist/oxlint-report.d.ts.map +1 -0
- package/dist/oxlint-report.js +84 -0
- package/dist/oxlint-report.js.map +1 -0
- package/dist/oxlint-scope.d.ts +13 -0
- package/dist/oxlint-scope.d.ts.map +1 -0
- package/dist/oxlint-scope.js +46 -0
- package/dist/oxlint-scope.js.map +1 -0
- package/dist/oxlint-suppressions.d.ts +17 -0
- package/dist/oxlint-suppressions.d.ts.map +1 -0
- package/dist/oxlint-suppressions.js +72 -0
- package/dist/oxlint-suppressions.js.map +1 -0
- package/dist/paired-assets.d.ts.map +1 -1
- package/dist/paired-assets.js.map +1 -1
- package/dist/payload-access.d.ts +6 -0
- package/dist/payload-access.d.ts.map +1 -1
- package/dist/payload-access.js +166 -9
- package/dist/payload-access.js.map +1 -1
- package/dist/payload-configs.d.ts +0 -1
- package/dist/payload-configs.d.ts.map +1 -1
- package/dist/payload-configs.js +36 -17
- package/dist/payload-configs.js.map +1 -1
- package/dist/payload-defaults.d.ts +128 -0
- package/dist/payload-defaults.d.ts.map +1 -0
- package/dist/payload-defaults.js +295 -0
- package/dist/payload-defaults.js.map +1 -0
- package/dist/payload-policy.d.ts +13 -0
- package/dist/payload-policy.d.ts.map +1 -1
- package/dist/payload-policy.js +81 -40
- package/dist/payload-policy.js.map +1 -1
- package/dist/relationship-cleanup.d.ts.map +1 -1
- package/dist/relationship-cleanup.js +16 -16
- package/dist/relationship-cleanup.js.map +1 -1
- package/dist/release-age.d.ts.map +1 -1
- package/dist/release-age.js +1 -16
- package/dist/release-age.js.map +1 -1
- package/dist/request-limits.d.ts.map +1 -1
- package/dist/request-limits.js +1 -11
- package/dist/request-limits.js.map +1 -1
- package/dist/route-map.d.ts.map +1 -1
- package/dist/route-map.js +1 -16
- package/dist/route-map.js.map +1 -1
- package/dist/run-plan.d.ts.map +1 -1
- package/dist/run-plan.js +1 -19
- package/dist/run-plan.js.map +1 -1
- package/dist/secret-policy.d.ts.map +1 -1
- package/dist/secret-policy.js +1 -11
- package/dist/secret-policy.js.map +1 -1
- package/dist/settings-layering.d.ts +8 -30
- package/dist/settings-layering.d.ts.map +1 -1
- package/dist/settings-layering.js +19 -48
- package/dist/settings-layering.js.map +1 -1
- package/dist/settings.d.ts +9 -2
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js.map +1 -1
- package/dist/source-text.d.ts +2 -0
- package/dist/source-text.d.ts.map +1 -1
- package/dist/source-text.js +7 -16
- package/dist/source-text.js.map +1 -1
- package/dist/toolchain-pins.d.ts.map +1 -1
- package/dist/toolchain-pins.js +2 -19
- package/dist/toolchain-pins.js.map +1 -1
- package/dist/version-policy.d.ts +7 -8
- package/dist/version-policy.d.ts.map +1 -1
- package/dist/version-policy.js +15 -26
- package/dist/version-policy.js.map +1 -1
- package/dist/vulnerability-policy.d.ts.map +1 -1
- package/dist/vulnerability-policy.js +1 -11
- package/dist/vulnerability-policy.js.map +1 -1
- package/dist/wiring-policy.d.ts.map +1 -1
- package/dist/wiring-policy.js +4 -1
- package/dist/wiring-policy.js.map +1 -1
- package/dist/wiring-violation.d.ts.map +1 -1
- package/dist/wiring-violation.js +1 -6
- package/dist/wiring-violation.js.map +1 -1
- package/dist/workspace-policy.d.ts.map +1 -1
- package/dist/workspace-policy.js +3 -9
- package/dist/workspace-policy.js.map +1 -1
- package/dist/yaml-blocks.d.ts +10 -0
- package/dist/yaml-blocks.d.ts.map +1 -1
- package/dist/yaml-blocks.js +20 -0
- package/dist/yaml-blocks.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** The meta package a governed project declares, and the root of everything it inherits from ploaness. */
|
|
2
|
+
export declare const HARNESS_PACKAGE: string;
|
|
3
|
+
/**
|
|
4
|
+
* Whether a package name is one of ploaness's own.
|
|
5
|
+
*
|
|
6
|
+
* Exported because the `deps` gate asks the same question when it walks the manifests a project
|
|
7
|
+
* inherits, and it had no way to ask it but a second copy of the two literals above - which is the
|
|
8
|
+
* shape of drift this repository refuses everywhere else.
|
|
9
|
+
* @param packageName the declared name.
|
|
10
|
+
* @returns true for `ploaness` and for anything under its scope.
|
|
11
|
+
*/
|
|
12
|
+
export declare const isHarnessPackage: (packageName: string) => boolean;
|
|
13
|
+
//# sourceMappingURL=harness-package.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-package.d.ts","sourceRoot":"","sources":["../src/harness-package.ts"],"names":[],"mappings":"AASA,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,MAAmB,CAAA;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,OACmB,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// The harness's own names, in a module small enough for every rule to import.
|
|
2
|
+
//
|
|
3
|
+
// `version-policy.ts` owned these, and `install-policy.ts` needed them to say which packages may be
|
|
4
|
+
// excluded from the release-age floor - while `version-policy.ts` already imports `install-policy.ts`
|
|
5
|
+
// for the override reader. Two modules that each need the other is a cycle, and the `arch` gate is
|
|
6
|
+
// right to refuse one, so the two names moved down to where neither module has to reach up.
|
|
7
|
+
const HARNESS_SCOPE = '@ploaness/';
|
|
8
|
+
/** The meta package a governed project declares, and the root of everything it inherits from ploaness. */
|
|
9
|
+
export const HARNESS_PACKAGE = 'ploaness';
|
|
10
|
+
/**
|
|
11
|
+
* Whether a package name is one of ploaness's own.
|
|
12
|
+
*
|
|
13
|
+
* Exported because the `deps` gate asks the same question when it walks the manifests a project
|
|
14
|
+
* inherits, and it had no way to ask it but a second copy of the two literals above - which is the
|
|
15
|
+
* shape of drift this repository refuses everywhere else.
|
|
16
|
+
* @param packageName the declared name.
|
|
17
|
+
* @returns true for `ploaness` and for anything under its scope.
|
|
18
|
+
*/
|
|
19
|
+
export const isHarnessPackage = (packageName) => packageName === HARNESS_PACKAGE || packageName.startsWith(HARNESS_SCOPE);
|
|
20
|
+
//# sourceMappingURL=harness-package.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"harness-package.js","sourceRoot":"","sources":["../src/harness-package.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,EAAE;AACF,oGAAoG;AACpG,sGAAsG;AACtG,mGAAmG;AACnG,4FAA4F;AAE5F,MAAM,aAAa,GAAW,YAAY,CAAA;AAE1C,0GAA0G;AAC1G,MAAM,CAAC,MAAM,eAAe,GAAW,UAAU,CAAA;AAEjD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,WAAmB,EAAW,EAAE,CAC/D,WAAW,KAAK,eAAe,IAAI,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-policy.d.ts","sourceRoot":"","sources":["../src/history-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"history-policy.d.ts","sourceRoot":"","sources":["../src/history-policy.ts"],"names":[],"mappings":"AAEA,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;CAC7B;AAED,oDAAoD;AACpD,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,SAAS,WAAW,EAAE,KAAG,SAAS,gBAAgB,EAUvF,CAAA;AAqBL;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,SAAS,MAAM,EAC9B,CAAA;AAExC;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,WAAW,MAAM,KAAG,OAA6C,CAAA;AAElG,2FAA2F;AAC3F,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAAqC,CAAA"}
|
package/dist/history-policy.js
CHANGED
|
@@ -1,10 +1,4 @@
|
|
|
1
|
-
//
|
|
2
|
-
// wherever it sits, including between two side branches: a branch takes the work of another by rebase or
|
|
3
|
-
// cherry-pick. The check counts the parents git recorded rather than reading the subject, so a commit
|
|
4
|
-
// that merely mentions merging is an ordinary commit, and rewording a merge does not hide it.
|
|
5
|
-
//
|
|
6
|
-
// The rule reaches back to the first commit and has no exception. Avoid a merge rather than plan to
|
|
7
|
-
// repair one: once it is published, only a fresh history satisfies the rule.
|
|
1
|
+
// Judge Git parent counts rather than commit subjects, so rewording cannot conceal a merge.
|
|
8
2
|
/**
|
|
9
3
|
* Return every merge commit reachable from the tip.
|
|
10
4
|
* @param commits the history, each with the number of parents git recorded.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-policy.js","sourceRoot":"","sources":["../src/history-policy.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"history-policy.js","sourceRoot":"","sources":["../src/history-policy.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAe5F;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,OAA+B,EAA+B,EAAE,CAC/F,OAAO;KACJ,MAAM,CAAC,CAAC,MAAmB,EAAW,EAAE,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,CAAC;KAChE,GAAG,CACF,CAAC,MAAmB,EAAoB,EAAE,CAAC,CAAC;IAC1C,GAAG,EAAE,MAAM,CAAC,GAAG;IACf,MAAM,EACJ,qBAAqB,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,WAAW;QAC1D,KAAK,MAAM,CAAC,OAAO,mCAAmC;CACzD,CAAC,CACH,CAAA;AAEL,0GAA0G;AAC1G,sGAAsG;AACtG,yGAAyG;AACzG,wGAAwG;AACxG,2GAA2G;AAC3G,4CAA4C;AAE5C,2EAA2E;AAC3E,MAAM,sBAAsB,GAAgD;IAC1E,OAAO,EAAE,CAAC,aAAa,EAAE,YAAY,EAAE,eAAe,EAAE,aAAa,CAAC;IACtE,YAAY,EAAE,CAAC,aAAa,CAAC;IAC7B,WAAW,EAAE,CAAC,eAAe,CAAC;IAC9B,QAAQ,EAAE,CAAC,YAAY,CAAC;IACxB,IAAI,EAAE,CAAC,aAAa,CAAC;CACtB,CAAA;AAED,mFAAmF;AACnF,MAAM,kBAAkB,GAAwB,IAAI,GAAG,CAAS,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,CAAA;AAEjG;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAqB,EAAE,CACzE,sBAAsB,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAA;AAExC;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAW,EAAE,CAAC,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;AAElG,2FAA2F;AAC3F,MAAM,CAAC,MAAM,uBAAuB,GAAsB,CAAC,YAAY,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-assets.d.ts","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"image-assets.d.ts","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"AAqNA,qEAAqE;AACrE,eAAO,MAAM,0BAA0B,EAAE,SAAS,MAAM,EAA4B,CAAA;AAOpF,2EAA2E;AAC3E,eAAO,MAAM,oBAAoB,GAAI,UAAU,MAAM,KAAG,OACN,CAAA;AAElD;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,EAAE,OAAO,UAAU,KAAG,MAAM,GAAG,IAUjF,CAAA"}
|
package/dist/image-assets.js
CHANGED
|
@@ -1,13 +1,4 @@
|
|
|
1
|
-
//
|
|
2
|
-
// (`image-assets`, in packages/cli/src/checks/integrity.ts). Given the bytes of a
|
|
3
|
-
// tracked image, it reports whether the image is structurally broken - corrupt or truncated - so a
|
|
4
|
-
// committed asset that will not render cannot ship. This is the class of defect that a 200 response and
|
|
5
|
-
// a passing a11y sweep both miss: the original failure was a seeded PNG whose header parsed but whose
|
|
6
|
-
// compressed image data was truncated, so it served fine yet rendered as "Image corrupt or truncated".
|
|
7
|
-
//
|
|
8
|
-
// PNG (the format that broke, and the one the CMS stores) gets a REAL decode: its IDAT stream is fully
|
|
9
|
-
// inflated with zlib, which throws exactly on that truncation. The other formats get a structural
|
|
10
|
-
// signature-and-trailer check that catches truncation cheaply and dependency-free.
|
|
1
|
+
// Validate image structure and compressed data from their bytes; a served image can still be corrupt.
|
|
11
2
|
import { inflateSync } from 'node:zlib';
|
|
12
3
|
const LATIN1 = new TextDecoder('latin1');
|
|
13
4
|
const dataView = (bytes) => new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
|
package/dist/image-assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-assets.js","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"image-assets.js","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"AAAA,sGAAsG;AACtG,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAEvC,MAAM,MAAM,GAAgB,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAA;AAErD,MAAM,QAAQ,GAAG,CAAC,KAAiB,EAAY,EAAE,CAC/C,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;AAEhE,0GAA0G;AAC1G,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CAC3E,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AAE3C,sGAAsG;AACtG,qGAAqG;AACrG,kGAAkG;AAClG,MAAM,mBAAmB,GAAW,uBAAuB,CAAA;AAC3D,MAAM,aAAa,GAAsB,KAAK,CAAC,IAAI,CACjD,mBAAmB,EACnB,CAAC,SAAiB,EAAU,EAAE,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAC7D,CAAA;AACD,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,2FAA2F;AAC3F,MAAM,kBAAkB,GAAW,CAAC,CAAA;AACpC,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,MAAM,eAAe,GAAW,CAAC,CAAA;AACjC,MAAM,oBAAoB,GAAW,kBAAkB,GAAG,gBAAgB,GAAG,eAAe,CAAA;AAC5F,oDAAoD;AACpD,MAAM,oBAAoB,GAAW,kBAAkB,GAAG,gBAAgB,CAAA;AAE1E,MAAM,eAAe,GAAG,CAAC,KAAiB,EAAW,EAAE,CACrD,aAAa,CAAC,KAAK,CAAC,CAAC,IAAY,EAAE,KAAa,EAAW,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAA;AAOtF,oGAAoG;AACpG,wGAAwG;AACxG,MAAM,aAAa,GAAG,CAAC,KAAiB,EAAE,IAAc,EAAgB,EAAE;IACxE;8FAC0F;IAC1F,IAAI,KAAK,GAA0B,EAAE,CAAA;IACrC,IAAI,MAAM,GAAW,gBAAgB,CAAA;IACrC,2FAA2F;IAC3F,OAAO,MAAM,GAAG,oBAAoB,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;QACrD,MAAM,MAAM,GAAW,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;QAC7C,MAAM,IAAI,GAAW,UAAU,CAC7B,KAAK,EACL,MAAM,GAAG,kBAAkB,EAC3B,MAAM,GAAG,oBAAoB,CAC9B,CAAA;QACD,MAAM,OAAO,GAAW,MAAM,GAAG,oBAAoB,GAAG,MAAM,CAAA;QAC9D,IAAI,OAAO,GAAG,eAAe,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,IAAI,0BAA0B,EAAE,CAAA;QAClF,CAAC;QACD,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YACpB,KAAK,GAAG,CAAC,GAAG,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,GAAG,oBAAoB,EAAE,OAAO,CAAC,CAAC,CAAA;QAC5E,CAAC;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE,CAAC;YAC3B,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;QAC/B,CAAC;QACD,MAAM,GAAG,OAAO,GAAG,eAAe,CAAA;IACpC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,+BAA+B,EAAE,CAAA;AAC1D,CAAC,CAAA;AAED,MAAM,UAAU,GAAG,CAAC,KAA4B,EAAiB,EAAE;IACjE,IAAI,CAAC;QACH,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QACtC,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,4CAA4C,CAAA;IACrD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACvD,IAAI,KAAK,CAAC,MAAM,GAAG,gBAAgB,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/D,OAAO,iCAAiC,CAAA;IAC1C,CAAC;IACD,MAAM,IAAI,GAAiB,aAAa,CAAC,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAA;IAChE,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAC,KAAK,CAAA;IACnB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,kCAAkC,CAAA;IAC3C,CAAC;IACD,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC/B,CAAC,CAAA;AAED,2FAA2F;AAC3F,MAAM,kBAAkB,GAAW,IAAI,CAAA;AACvC,MAAM,mBAAmB,GAAW,IAAI,CAAA;AACxC,MAAM,iBAAiB,GAAW,IAAI,CAAA;AACtC,MAAM,iBAAiB,GAAW,CAAC,CAAA;AACnC,0EAA0E;AAC1E,MAAM,iBAAiB,GAAW,CAAC,CAAA;AACnC,MAAM,kBAAkB,GAAW,iBAAiB,GAAG,iBAAiB,CAAA;AACxE,MAAM,WAAW,GAAW,CAAC,CAAA;AAC7B,MAAM,SAAS,GAAW,CAAC,CAAC,CAAA;AAC5B,MAAM,mBAAmB,GAAW,CAAC,CAAC,CAAA;AAEtC,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACxD,IACE,KAAK,CAAC,MAAM,GAAG,kBAAkB;QACjC,KAAK,CAAC,CAAC,CAAC,KAAK,kBAAkB;QAC/B,KAAK,CAAC,WAAW,CAAC,KAAK,mBAAmB,EAC1C,CAAC;QACD,OAAO,mCAAmC,CAAA;IAC5C,CAAC;IACD,IACE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,kBAAkB;QACpD,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,iBAAiB,EACzC,CAAC;QACD,OAAO,qCAAqC,CAAA;IAC9C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,MAAM,WAAW,GAAW,IAAI,CAAA;AAEhC,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACvD,MAAM,MAAM,GAAW,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAAA;IAC7D,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC/C,OAAO,8BAA8B,CAAA;IACvC,CAAC;IACD,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,WAAW,EAAE,CAAC;QACxC,OAAO,sCAAsC,CAAA;IAC/C,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,+EAA+E;AAC/E,MAAM,cAAc,GAAW,CAAC,CAAA;AAChC,MAAM,gBAAgB,GAAW,cAAc,CAAA;AAC/C,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,MAAM,iBAAiB,GAAW,EAAE,CAAA;AACpC,+EAA+E;AAC/E,MAAM,wBAAwB,GAAW,CAAC,CAAA;AAE1C,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACxD,IACE,KAAK,CAAC,MAAM,GAAG,iBAAiB;QAChC,UAAU,CAAC,KAAK,EAAE,CAAC,EAAE,cAAc,CAAC,KAAK,MAAM;QAC/C,UAAU,CAAC,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,CAAC,KAAK,MAAM,EACjE,CAAC;QACD,OAAO,yCAAyC,CAAA;IAClD,CAAC;IACD,MAAM,cAAc,GAClB,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,wBAAwB,CAAA;IAC9E,IAAI,cAAc,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QAClC,OAAO,gDAAgD,CAAA;IACzD,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,MAAM,mBAAmB,GAAW,EAAE,CAAA;AACtC,qFAAqF;AACrF,MAAM,qBAAqB,GAAW,CAAC,CAAA;AACvC,MAAM,qBAAqB,GAAW,EAAE,CAAA;AACxC,qFAAqF;AACrF,MAAM,mBAAmB,GAAW,CAAC,CAAA;AACrC,MAAM,eAAe,GAAW,CAAC,CAAA;AACjC,MAAM,gBAAgB,GAAW,CAAC,CAAA;AAClC,MAAM,aAAa,GAAW,CAAC,CAAA;AAE/B,MAAM,kBAAkB,GAAG,CAAC,KAAiB,EAAE,IAAc,EAAE,KAAa,EAAiB,EAAE;IAC7F,MAAM,YAAY,GAAsB,KAAK,CAAC,IAAI,CAChD,EAAE,MAAM,EAAE,KAAK,EAAE,EACjB,CAAC,CAAU,EAAE,EAAU,EAAU,EAAE,CAAC,EAAE,CACvC,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GAAW,gBAAgB,GAAG,KAAK,GAAG,mBAAmB,CAAA;QACpE,IAAI,KAAK,GAAG,mBAAmB,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,iDAAiD,CAAA;QAC1D,CAAC;QACD,MAAM,SAAS,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAC7E,MAAM,WAAW,GAAW,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,qBAAqB,EAAE,IAAI,CAAC,CAAA;QAC/E,IAAI,WAAW,GAAG,SAAS,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAC3C,OAAO,kDAAkD,CAAA;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC,CAAA;AAED,MAAM,WAAW,GAAG,CAAC,KAAiB,EAAiB,EAAE;IACvD,MAAM,IAAI,GAAa,QAAQ,CAAC,KAAK,CAAC,CAAA;IACtC,IACE,KAAK,CAAC,MAAM,GAAG,gBAAgB;QAC/B,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,IAAI,CAAC,KAAK,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,KAAK,aAAa,EACvD,CAAC;QACD,OAAO,8BAA8B,CAAA;IACvC,CAAC;IACD,MAAM,KAAK,GAAW,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAA;IAC5D,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,OAAO,gCAAgC,CAAA;IACzC,CAAC;IACD,OAAO,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAC/C,CAAC,CAAA;AAED,yGAAyG;AACzG,oDAAoD;AACpD,MAAM,UAAU,GAAmE;IACjF,GAAG,EAAE,WAAW;IAChB,GAAG,EAAE,YAAY;IACjB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;CACjB,CAAA;AAED,qEAAqE;AACrE,MAAM,CAAC,MAAM,0BAA0B,GAAsB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;AAEpF,MAAM,WAAW,GAAG,CAAC,QAAgB,EAAU,EAAE;IAC/C,MAAM,OAAO,GAAW,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;IACjD,OAAO,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;AACxE,CAAC,CAAA;AAED,2EAA2E;AAC3E,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,QAAgB,EAAW,EAAE,CAChE,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;AAElD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,KAAiB,EAAiB,EAAE;IACvF,MAAM,SAAS,GACb,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IACnC,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAA;AACzB,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,8 @@ export * from './architecture-layers.js';
|
|
|
7
7
|
export * from './asset-policy.js';
|
|
8
8
|
export * from './axe-coverage.js';
|
|
9
9
|
export * from './banned-typography.js';
|
|
10
|
+
export * from './blocklist.js';
|
|
11
|
+
export * from './blocklist-entries.js';
|
|
10
12
|
export * from './build-diagnosis.js';
|
|
11
13
|
export * from './bundle-budget.js';
|
|
12
14
|
export * from './commit-message.js';
|
|
@@ -14,6 +16,7 @@ export * from './config-references.js';
|
|
|
14
16
|
export * from './container-failure.js';
|
|
15
17
|
export * from './container-files.js';
|
|
16
18
|
export * from './container-freshness.js';
|
|
19
|
+
export * from './container-images.js';
|
|
17
20
|
export * from './dependency-freshness.js';
|
|
18
21
|
export * from './doc-blocks.js';
|
|
19
22
|
export * from './document-references.js';
|
|
@@ -21,16 +24,25 @@ export * from './editorconfig-policy.js';
|
|
|
21
24
|
export * from './environment-coherence.js';
|
|
22
25
|
export * from './environment-files.js';
|
|
23
26
|
export * from './file-roles.js';
|
|
27
|
+
export * from './freshness-repair.js';
|
|
24
28
|
export * from './generated-denial.js';
|
|
25
29
|
export * from './generated-drift.js';
|
|
30
|
+
export * from './harness-package.js';
|
|
26
31
|
export * from './history-policy.js';
|
|
27
32
|
export * from './image-assets.js';
|
|
28
33
|
export * from './install-policy.js';
|
|
29
34
|
export * from './json-shapes.js';
|
|
35
|
+
export * from './jsx-accessibility.js';
|
|
36
|
+
export * from './jsx-accessibility-scope.js';
|
|
30
37
|
export * from './license-allowlist.js';
|
|
31
38
|
export * from './network-policy.js';
|
|
39
|
+
export * from './oxlint-policy.js';
|
|
40
|
+
export * from './oxlint-report.js';
|
|
41
|
+
export * from './oxlint-scope.js';
|
|
42
|
+
export * from './oxlint-suppressions.js';
|
|
32
43
|
export * from './paired-assets.js';
|
|
33
44
|
export * from './payload-access.js';
|
|
45
|
+
export * from './payload-defaults.js';
|
|
34
46
|
export * from './payload-policy.js';
|
|
35
47
|
export * from './payload-source.js';
|
|
36
48
|
export * from './relationship-cleanup.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAKA,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,8 @@ export * from './architecture-layers.js';
|
|
|
11
11
|
export * from './asset-policy.js';
|
|
12
12
|
export * from './axe-coverage.js';
|
|
13
13
|
export * from './banned-typography.js';
|
|
14
|
+
export * from './blocklist.js';
|
|
15
|
+
export * from './blocklist-entries.js';
|
|
14
16
|
export * from './build-diagnosis.js';
|
|
15
17
|
export * from './bundle-budget.js';
|
|
16
18
|
export * from './commit-message.js';
|
|
@@ -18,6 +20,7 @@ export * from './config-references.js';
|
|
|
18
20
|
export * from './container-failure.js';
|
|
19
21
|
export * from './container-files.js';
|
|
20
22
|
export * from './container-freshness.js';
|
|
23
|
+
export * from './container-images.js';
|
|
21
24
|
export * from './dependency-freshness.js';
|
|
22
25
|
export * from './doc-blocks.js';
|
|
23
26
|
export * from './document-references.js';
|
|
@@ -25,16 +28,25 @@ export * from './editorconfig-policy.js';
|
|
|
25
28
|
export * from './environment-coherence.js';
|
|
26
29
|
export * from './environment-files.js';
|
|
27
30
|
export * from './file-roles.js';
|
|
31
|
+
export * from './freshness-repair.js';
|
|
28
32
|
export * from './generated-denial.js';
|
|
29
33
|
export * from './generated-drift.js';
|
|
34
|
+
export * from './harness-package.js';
|
|
30
35
|
export * from './history-policy.js';
|
|
31
36
|
export * from './image-assets.js';
|
|
32
37
|
export * from './install-policy.js';
|
|
33
38
|
export * from './json-shapes.js';
|
|
39
|
+
export * from './jsx-accessibility.js';
|
|
40
|
+
export * from './jsx-accessibility-scope.js';
|
|
34
41
|
export * from './license-allowlist.js';
|
|
35
42
|
export * from './network-policy.js';
|
|
43
|
+
export * from './oxlint-policy.js';
|
|
44
|
+
export * from './oxlint-report.js';
|
|
45
|
+
export * from './oxlint-scope.js';
|
|
46
|
+
export * from './oxlint-suppressions.js';
|
|
36
47
|
export * from './paired-assets.js';
|
|
37
48
|
export * from './payload-access.js';
|
|
49
|
+
export * from './payload-defaults.js';
|
|
38
50
|
export * from './payload-policy.js';
|
|
39
51
|
export * from './payload-source.js';
|
|
40
52
|
export * from './relationship-cleanup.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,oGAAoG;AACpG,mGAAmG;AACnG,0DAA0D;AAE1D,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,oGAAoG;AACpG,oGAAoG;AACpG,mGAAmG;AACnG,0DAA0D;AAE1D,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,cAAc,mBAAmB,CAAA;AACjC,cAAc,mBAAmB,CAAA;AACjC,cAAc,wBAAwB,CAAA;AACtC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,wBAAwB,CAAA;AACtC,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,0BAA0B,CAAA;AACxC,cAAc,uBAAuB,CAAA;AACrC,cAAc,2BAA2B,CAAA;AACzC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,4BAA4B,CAAA;AAC1C,cAAc,wBAAwB,CAAA;AACtC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,qBAAqB,CAAA;AACnC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,wBAAwB,CAAA;AACtC,cAAc,8BAA8B,CAAA;AAC5C,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,0BAA0B,CAAA;AACxC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,cAAc,uBAAuB,CAAA;AACrC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,eAAe,CAAA;AAC7B,cAAc,iBAAiB,CAAA;AAC/B,cAAc,oBAAoB,CAAA;AAClC,cAAc,eAAe,CAAA;AAC7B,cAAc,wBAAwB,CAAA;AACtC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,2BAA2B,CAAA;AACzC,cAAc,oBAAoB,CAAA;AAClC,cAAc,uBAAuB,CAAA;AACrC,cAAc,uBAAuB,CAAA;AACrC,cAAc,kBAAkB,CAAA"}
|
package/dist/install-policy.d.ts
CHANGED
|
@@ -32,4 +32,25 @@ export declare const declaresInstallScriptAllowlist: (workspaceFile: string, pac
|
|
|
32
32
|
* @returns one message per silencing key found.
|
|
33
33
|
*/
|
|
34
34
|
export declare const findSilencedAdvisories: (packageJson: unknown) => readonly string[];
|
|
35
|
+
/**
|
|
36
|
+
* The package a `name@version` key or specifier names.
|
|
37
|
+
*
|
|
38
|
+
* Split on the LAST `@`, because a scoped name begins with the same character: `@types/node@26.4.1`
|
|
39
|
+
* is the package `@types/node`. Exported because `version-policy.ts` reads a patch key of the same
|
|
40
|
+
* shape and carried its own copy of this split.
|
|
41
|
+
* @param specifier the key or entry, with or without a version.
|
|
42
|
+
* @returns the package name alone.
|
|
43
|
+
*/
|
|
44
|
+
export declare const packageNameOf: (specifier: string) => string;
|
|
45
|
+
/**
|
|
46
|
+
* Report every way an install config weakens pnpm's release-age floor.
|
|
47
|
+
*
|
|
48
|
+
* Two rules. `minimumReleaseAgeStrict` must be `true`, so a too-young exact pin fails the install
|
|
49
|
+
* instead of being quietly exempted. And `minimumReleaseAgeExclude` may name only the harness
|
|
50
|
+
* packages, with or without a version, because a ploaness release is the one thing a project is
|
|
51
|
+
* entitled to take the day it ships.
|
|
52
|
+
* @param workspaceFile the contents of pnpm-workspace.yaml, or an empty string when absent.
|
|
53
|
+
* @returns one message per defect, the strict setting first.
|
|
54
|
+
*/
|
|
55
|
+
export declare const findReleaseAgeViolations: (workspaceFile: string) => readonly string[];
|
|
35
56
|
//# sourceMappingURL=install-policy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-policy.d.ts","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"install-policy.d.ts","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"AAoBA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAK1C,CAAA;AAQD,mEAAmE;AACnE,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,GAAI,eAAe,MAAM,KAAG,SAAS,aAAa,EASzE,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,8BAA8B,GACzC,eAAe,MAAM,EACrB,aAAa,OAAO,KACnB,OAKF,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GAAI,aAAa,OAAO,KAAG,SAAS,MAAM,EAG5E,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM,KAAG,MAGjD,CAAA;AAmCD;;;;;;;;;GASG;AACH,eAAO,MAAM,wBAAwB,GAAI,eAAe,MAAM,KAAG,SAAS,MAAM,EAG/E,CAAA"}
|
package/dist/install-policy.js
CHANGED
|
@@ -8,8 +8,9 @@
|
|
|
8
8
|
// The reader lives in `yaml-blocks.ts`. It is deliberately small and not a YAML parser: it looks for the
|
|
9
9
|
// block keys pnpm reads at the top level of a workspace file, which is where they must appear to take
|
|
10
10
|
// effect.
|
|
11
|
+
import { HARNESS_PACKAGE, isHarnessPackage } from './harness-package.js';
|
|
11
12
|
import { readKey } from './json-shapes.js';
|
|
12
|
-
import { declaresTopLevelKey, topLevelMappingEntries } from './yaml-blocks.js';
|
|
13
|
+
import { declaresTopLevelKey, topLevelListItems, topLevelMappingEntries, topLevelScalar, } from './yaml-blocks.js';
|
|
13
14
|
/**
|
|
14
15
|
* The install-config keys that can redefine a resolved version.
|
|
15
16
|
*
|
|
@@ -58,4 +59,55 @@ export const findSilencedAdvisories = (packageJson) => {
|
|
|
58
59
|
const auditConfig = readKey(readKey(packageJson, 'pnpm'), 'auditConfig');
|
|
59
60
|
return SILENCING_KEYS.filter((key) => Array.isArray(readKey(auditConfig, key)));
|
|
60
61
|
};
|
|
62
|
+
/**
|
|
63
|
+
* The package a `name@version` key or specifier names.
|
|
64
|
+
*
|
|
65
|
+
* Split on the LAST `@`, because a scoped name begins with the same character: `@types/node@26.4.1`
|
|
66
|
+
* is the package `@types/node`. Exported because `version-policy.ts` reads a patch key of the same
|
|
67
|
+
* shape and carried its own copy of this split.
|
|
68
|
+
* @param specifier the key or entry, with or without a version.
|
|
69
|
+
* @returns the package name alone.
|
|
70
|
+
*/
|
|
71
|
+
export const packageNameOf = (specifier) => {
|
|
72
|
+
const at = specifier.lastIndexOf('@');
|
|
73
|
+
return at > 0 ? specifier.slice(0, at) : specifier;
|
|
74
|
+
};
|
|
75
|
+
// pnpm refuses a release younger than its floor - a day, by observation - so a compromised publish is
|
|
76
|
+
// usually pulled before anything installs it. That guard has a soft edge: unless `minimumReleaseAgeStrict`
|
|
77
|
+
// is on, an exact version pinned below the floor is installed anyway, and pnpm records an exclusion for
|
|
78
|
+
// it in the workspace file to make the install repeatable. The exclusion is written by the tool, for a
|
|
79
|
+
// version nobody decided to exempt, on one easily missed line of install output. Strict turns that into
|
|
80
|
+
// a refusal, which is the answer the floor exists to give.
|
|
81
|
+
const STRICT_KEY = 'minimumReleaseAgeStrict';
|
|
82
|
+
const EXCLUDE_KEY = 'minimumReleaseAgeExclude';
|
|
83
|
+
// The harness is the one exclusion a project may hold. A ploaness release is what a consumer's failing
|
|
84
|
+
// gates wait on, since the pins moving is what unblocks it, and a day's wait on the tool that decides the
|
|
85
|
+
// verdict is a day of every consumer failing on a pin none of them can move. Everything else stays
|
|
86
|
+
// behind the floor, so the exclusion list cannot become the way around a `held` line in the deps report.
|
|
87
|
+
const isPermittedExclusion = (entry) => isHarnessPackage(packageNameOf(entry));
|
|
88
|
+
const strictViolation = (workspaceFile) => topLevelScalar(workspaceFile, STRICT_KEY) === 'true'
|
|
89
|
+
? []
|
|
90
|
+
: [
|
|
91
|
+
`pnpm-workspace.yaml ${STRICT_KEY}: must be true; without it pnpm installs a release younger ` +
|
|
92
|
+
'than its floor and writes an exclusion for it into this file rather than refusing',
|
|
93
|
+
];
|
|
94
|
+
const exclusionViolations = (workspaceFile) => topLevelListItems(workspaceFile, EXCLUDE_KEY)
|
|
95
|
+
.filter((entry) => !isPermittedExclusion(entry))
|
|
96
|
+
.map((entry) => `pnpm-workspace.yaml ${EXCLUDE_KEY}: names ${entry}, which is not a ${HARNESS_PACKAGE} ` +
|
|
97
|
+
`package; only ${HARNESS_PACKAGE} and @${HARNESS_PACKAGE}/* may be excluded from the ` +
|
|
98
|
+
'release-age floor, so wait for the release to age instead');
|
|
99
|
+
/**
|
|
100
|
+
* Report every way an install config weakens pnpm's release-age floor.
|
|
101
|
+
*
|
|
102
|
+
* Two rules. `minimumReleaseAgeStrict` must be `true`, so a too-young exact pin fails the install
|
|
103
|
+
* instead of being quietly exempted. And `minimumReleaseAgeExclude` may name only the harness
|
|
104
|
+
* packages, with or without a version, because a ploaness release is the one thing a project is
|
|
105
|
+
* entitled to take the day it ships.
|
|
106
|
+
* @param workspaceFile the contents of pnpm-workspace.yaml, or an empty string when absent.
|
|
107
|
+
* @returns one message per defect, the strict setting first.
|
|
108
|
+
*/
|
|
109
|
+
export const findReleaseAgeViolations = (workspaceFile) => [
|
|
110
|
+
...strictViolation(workspaceFile),
|
|
111
|
+
...exclusionViolations(workspaceFile),
|
|
112
|
+
];
|
|
61
113
|
//# sourceMappingURL=install-policy.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install-policy.js","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"AAAA,6FAA6F;AAC7F,EAAE;AACF,oGAAoG;AACpG,mGAAmG;AACnG,uGAAuG;AACvG,uFAAuF;AACvF,EAAE;AACF,yGAAyG;AACzG,sGAAsG;AACtG,UAAU;
|
|
1
|
+
{"version":3,"file":"install-policy.js","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** The application JSX file types, shared by native analysis and Biome deduplication. */
|
|
2
|
+
export declare const JSX_EXTENSIONS: readonly string[];
|
|
3
|
+
/** Existing application-lint exclusions, expressed once for both analyzer owners. */
|
|
4
|
+
export declare const APPLICATION_JSX_IGNORES: readonly string[];
|
|
5
|
+
/** Biome overrides apply only where the application's native JSX analyzer takes responsibility. */
|
|
6
|
+
export declare const jsxAnalysisPatterns: () => readonly string[];
|
|
7
|
+
/**
|
|
8
|
+
* Select committable JSX files without crossing a member or generated-file boundary.
|
|
9
|
+
* @param files the current working-tree inventory, including new source.
|
|
10
|
+
* @param generated the member's generated-file roles.
|
|
11
|
+
* @param siblings other governed members, relative to this member.
|
|
12
|
+
* @returns the deduplicated paths the native analyzer must actually read.
|
|
13
|
+
*/
|
|
14
|
+
export declare const jsxAccessibilityFiles: (files: readonly string[], generated: readonly string[], siblings: readonly string[]) => readonly string[];
|
|
15
|
+
/** Consumer configuration cannot shadow the harness, including in nested directories. */
|
|
16
|
+
export declare const isOxlintConfig: (file: string) => boolean;
|
|
17
|
+
//# sourceMappingURL=jsx-accessibility-scope.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-accessibility-scope.d.ts","sourceRoot":"","sources":["../src/jsx-accessibility-scope.ts"],"names":[],"mappings":"AAGA,yFAAyF;AACzF,eAAO,MAAM,cAAc,EAAE,SAAS,MAAM,EAAqB,CAAA;AAEjE,qFAAqF;AACrF,eAAO,MAAM,uBAAuB,EAAE,SAAS,MAAM,EAMpD,CAAA;AAED,mGAAmG;AACnG,eAAO,MAAM,mBAAmB,QAAO,SAAS,MAAM,EAGrD,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB,GAChC,OAAO,SAAS,MAAM,EAAE,EACxB,WAAW,SAAS,MAAM,EAAE,EAC5B,UAAU,SAAS,MAAM,EAAE,KAC1B,SAAS,MAAM,EAWjB,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAC0C,CAAA"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { hasExtension, matchesGlob } from './file-roles.js';
|
|
2
|
+
import { analysisBoundaries } from './workspace-policy.js';
|
|
3
|
+
/** The application JSX file types, shared by native analysis and Biome deduplication. */
|
|
4
|
+
export const JSX_EXTENSIONS = ['.tsx', '.jsx'];
|
|
5
|
+
/** Existing application-lint exclusions, expressed once for both analyzer owners. */
|
|
6
|
+
export const APPLICATION_JSX_IGNORES = [
|
|
7
|
+
'.next/**',
|
|
8
|
+
'**/node_modules/**',
|
|
9
|
+
'coverage/**',
|
|
10
|
+
'pgadmin/**',
|
|
11
|
+
'.*/**',
|
|
12
|
+
];
|
|
13
|
+
/** Biome overrides apply only where the application's native JSX analyzer takes responsibility. */
|
|
14
|
+
export const jsxAnalysisPatterns = () => [
|
|
15
|
+
...JSX_EXTENSIONS.map((extension) => `**/*${extension}`),
|
|
16
|
+
...APPLICATION_JSX_IGNORES.map((pattern) => `!${pattern}`),
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* Select committable JSX files without crossing a member or generated-file boundary.
|
|
20
|
+
* @param files the current working-tree inventory, including new source.
|
|
21
|
+
* @param generated the member's generated-file roles.
|
|
22
|
+
* @param siblings other governed members, relative to this member.
|
|
23
|
+
* @returns the deduplicated paths the native analyzer must actually read.
|
|
24
|
+
*/
|
|
25
|
+
export const jsxAccessibilityFiles = (files, generated, siblings) => {
|
|
26
|
+
const ignored = [
|
|
27
|
+
...APPLICATION_JSX_IGNORES,
|
|
28
|
+
...generated,
|
|
29
|
+
...analysisBoundaries(siblings),
|
|
30
|
+
];
|
|
31
|
+
return [...new Set(files)].filter((file) => hasExtension(file, JSX_EXTENSIONS) &&
|
|
32
|
+
!ignored.some((pattern) => matchesGlob(pattern, file)));
|
|
33
|
+
};
|
|
34
|
+
/** Consumer configuration cannot shadow the harness, including in nested directories. */
|
|
35
|
+
export const isOxlintConfig = (file) => /(?:^|\/)(?:\.oxlintrc(?:\.[^/]*)?|\.oxlintignore|oxlint\.config\.[^/]+)$/u.test(file);
|
|
36
|
+
//# sourceMappingURL=jsx-accessibility-scope.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-accessibility-scope.js","sourceRoot":"","sources":["../src/jsx-accessibility-scope.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAE1D,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEjE,qFAAqF;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAsB;IACxD,UAAU;IACV,oBAAoB;IACpB,aAAa;IACb,YAAY;IACZ,OAAO;CACR,CAAA;AAED,mGAAmG;AACnG,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAsB,EAAE,CAAC;IAC1D,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAU,EAAE,CAAC,OAAO,SAAS,EAAE,CAAC;IACxE,GAAG,uBAAuB,CAAC,GAAG,CAAC,CAAC,OAAe,EAAU,EAAE,CAAC,IAAI,OAAO,EAAE,CAAC;CAC3E,CAAA;AAED;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,KAAwB,EACxB,SAA4B,EAC5B,QAA2B,EACR,EAAE;IACrB,MAAM,OAAO,GAAsB;QACjC,GAAG,uBAAuB;QAC1B,GAAG,SAAS;QACZ,GAAG,kBAAkB,CAAC,QAAQ,CAAC;KAChC,CAAA;IACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC/B,CAAC,IAAY,EAAW,EAAE,CACxB,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC;QAClC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAe,EAAW,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAC1E,CAAA;AACH,CAAC,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CACtD,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/** One accessibility guarantee and the options that define its supported markup. */
|
|
2
|
+
export interface JsxAccessibilityRule {
|
|
3
|
+
readonly oxlint: string;
|
|
4
|
+
readonly biome: string;
|
|
5
|
+
readonly options?: Readonly<Record<string, unknown>>;
|
|
6
|
+
}
|
|
7
|
+
/** Application accessibility rules, ported with their established semantic allowances. */
|
|
8
|
+
export declare const JSX_ACCESSIBILITY_RULES: readonly JsxAccessibilityRule[];
|
|
9
|
+
/** The native configuration, independent of anything in the consuming working tree. */
|
|
10
|
+
export declare const oxlintAccessibilityConfig: () => Readonly<Record<string, unknown>>;
|
|
11
|
+
/** The Biome checks whose application JSX responsibility belongs to Oxlint. */
|
|
12
|
+
export declare const replacedBiomeAccessibilityRules: () => Readonly<Record<string, string>>;
|
|
13
|
+
//# sourceMappingURL=jsx-accessibility.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"jsx-accessibility.d.ts","sourceRoot":"","sources":["../src/jsx-accessibility.ts"],"names":[],"mappings":"AAGA,oFAAoF;AACpF,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;CACrD;AAED,0FAA0F;AAC1F,eAAO,MAAM,uBAAuB,EAAE,SAAS,oBAAoB,EAyKlE,CAAA;AAED,uFAAuF;AACvF,eAAO,MAAM,yBAAyB,QAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAS3E,CAAA;AAEF,+EAA+E;AAC/E,eAAO,MAAM,+BAA+B,QAAO,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAM/E,CAAA"}
|
|
@@ -0,0 +1,188 @@
|
|
|
1
|
+
// One owner for each application JSX accessibility check. The registry records both the native
|
|
2
|
+
// checker and the Biome check it replaces, so generating either configuration cannot lose the other.
|
|
3
|
+
/** Application accessibility rules, ported with their established semantic allowances. */
|
|
4
|
+
export const JSX_ACCESSIBILITY_RULES = [
|
|
5
|
+
{
|
|
6
|
+
oxlint: 'jsx-a11y/alt-text',
|
|
7
|
+
biome: 'useAltText',
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
oxlint: 'jsx-a11y/anchor-has-content',
|
|
11
|
+
biome: 'useAnchorContent',
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
oxlint: 'jsx-a11y/anchor-is-valid',
|
|
15
|
+
biome: 'useValidAnchor',
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
oxlint: 'jsx-a11y/aria-activedescendant-has-tabindex',
|
|
19
|
+
biome: 'useAriaActivedescendantWithTabindex',
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
oxlint: 'jsx-a11y/aria-props',
|
|
23
|
+
biome: 'useValidAriaProps',
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
oxlint: 'jsx-a11y/aria-proptypes',
|
|
27
|
+
biome: 'useValidAriaValues',
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
oxlint: 'jsx-a11y/aria-role',
|
|
31
|
+
biome: 'useValidAriaRole',
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
oxlint: 'jsx-a11y/aria-unsupported-elements',
|
|
35
|
+
biome: 'noAriaUnsupportedElements',
|
|
36
|
+
},
|
|
37
|
+
{
|
|
38
|
+
oxlint: 'jsx-a11y/autocomplete-valid',
|
|
39
|
+
biome: 'useValidAutocomplete',
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
oxlint: 'jsx-a11y/click-events-have-key-events',
|
|
43
|
+
biome: 'useKeyWithClickEvents',
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
oxlint: 'jsx-a11y/heading-has-content',
|
|
47
|
+
biome: 'useHeadingContent',
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
oxlint: 'jsx-a11y/html-has-lang',
|
|
51
|
+
biome: 'useHtmlLang',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
oxlint: 'jsx-a11y/iframe-has-title',
|
|
55
|
+
biome: 'useIframeTitle',
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
oxlint: 'jsx-a11y/img-redundant-alt',
|
|
59
|
+
biome: 'noRedundantAlt',
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
oxlint: 'jsx-a11y/interactive-supports-focus',
|
|
63
|
+
biome: 'useFocusableInteractive',
|
|
64
|
+
options: {
|
|
65
|
+
tabbable: ['button', 'checkbox', 'link', 'searchbox', 'spinbutton', 'switch', 'textbox'],
|
|
66
|
+
},
|
|
67
|
+
},
|
|
68
|
+
{
|
|
69
|
+
oxlint: 'jsx-a11y/label-has-associated-control',
|
|
70
|
+
biome: 'noLabelWithoutControl',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
oxlint: 'jsx-a11y/media-has-caption',
|
|
74
|
+
biome: 'useMediaCaption',
|
|
75
|
+
},
|
|
76
|
+
{
|
|
77
|
+
oxlint: 'jsx-a11y/mouse-events-have-key-events',
|
|
78
|
+
biome: 'useKeyWithMouseEvents',
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
oxlint: 'jsx-a11y/no-access-key',
|
|
82
|
+
biome: 'noAccessKey',
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
oxlint: 'jsx-a11y/no-autofocus',
|
|
86
|
+
biome: 'noAutofocus',
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
oxlint: 'jsx-a11y/no-distracting-elements',
|
|
90
|
+
biome: 'noDistractingElements',
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
oxlint: 'jsx-a11y/no-interactive-element-to-noninteractive-role',
|
|
94
|
+
biome: 'noInteractiveElementToNoninteractiveRole',
|
|
95
|
+
options: {
|
|
96
|
+
tr: ['none', 'presentation'],
|
|
97
|
+
canvas: ['img'],
|
|
98
|
+
},
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
oxlint: 'jsx-a11y/no-noninteractive-element-interactions',
|
|
102
|
+
biome: 'noNoninteractiveElementInteractions',
|
|
103
|
+
options: {
|
|
104
|
+
handlers: [
|
|
105
|
+
'onClick',
|
|
106
|
+
'onError',
|
|
107
|
+
'onLoad',
|
|
108
|
+
'onMouseDown',
|
|
109
|
+
'onMouseUp',
|
|
110
|
+
'onKeyPress',
|
|
111
|
+
'onKeyDown',
|
|
112
|
+
'onKeyUp',
|
|
113
|
+
],
|
|
114
|
+
alert: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
|
|
115
|
+
body: ['onError', 'onLoad'],
|
|
116
|
+
dialog: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
|
|
117
|
+
iframe: ['onError', 'onLoad'],
|
|
118
|
+
img: ['onError', 'onLoad'],
|
|
119
|
+
},
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
oxlint: 'jsx-a11y/no-noninteractive-element-to-interactive-role',
|
|
123
|
+
biome: 'noNoninteractiveElementToInteractiveRole',
|
|
124
|
+
options: {
|
|
125
|
+
ul: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
|
|
126
|
+
ol: ['listbox', 'menu', 'menubar', 'radiogroup', 'tablist', 'tree', 'treegrid'],
|
|
127
|
+
li: ['menuitem', 'menuitemradio', 'menuitemcheckbox', 'option', 'row', 'tab', 'treeitem'],
|
|
128
|
+
table: ['grid'],
|
|
129
|
+
td: ['gridcell'],
|
|
130
|
+
fieldset: ['radiogroup', 'presentation'],
|
|
131
|
+
},
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
oxlint: 'jsx-a11y/no-noninteractive-tabindex',
|
|
135
|
+
biome: 'noNoninteractiveTabindex',
|
|
136
|
+
options: {
|
|
137
|
+
tags: [],
|
|
138
|
+
roles: ['tabpanel'],
|
|
139
|
+
allowExpressionValues: true,
|
|
140
|
+
},
|
|
141
|
+
},
|
|
142
|
+
{
|
|
143
|
+
oxlint: 'jsx-a11y/no-redundant-roles',
|
|
144
|
+
biome: 'noRedundantRoles',
|
|
145
|
+
options: {
|
|
146
|
+
td: ['gridcell'],
|
|
147
|
+
},
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
oxlint: 'jsx-a11y/no-static-element-interactions',
|
|
151
|
+
biome: 'noStaticElementInteractions',
|
|
152
|
+
options: {
|
|
153
|
+
allowExpressionValues: true,
|
|
154
|
+
handlers: ['onClick', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],
|
|
155
|
+
},
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
oxlint: 'jsx-a11y/role-has-required-aria-props',
|
|
159
|
+
biome: 'useAriaPropsForRole',
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
oxlint: 'jsx-a11y/role-supports-aria-props',
|
|
163
|
+
biome: 'useAriaPropsSupportedByRole',
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
oxlint: 'jsx-a11y/scope',
|
|
167
|
+
biome: 'noHeaderScope',
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
oxlint: 'jsx-a11y/tabindex-no-positive',
|
|
171
|
+
biome: 'noPositiveTabindex',
|
|
172
|
+
},
|
|
173
|
+
];
|
|
174
|
+
/** The native configuration, independent of anything in the consuming working tree. */
|
|
175
|
+
export const oxlintAccessibilityConfig = () => ({
|
|
176
|
+
plugins: ['jsx-a11y'],
|
|
177
|
+
categories: { correctness: 'off' },
|
|
178
|
+
rules: Object.fromEntries(JSX_ACCESSIBILITY_RULES.map((rule) => [
|
|
179
|
+
rule.oxlint,
|
|
180
|
+
rule.options === undefined ? 'error' : ['error', rule.options],
|
|
181
|
+
])),
|
|
182
|
+
});
|
|
183
|
+
/** The Biome checks whose application JSX responsibility belongs to Oxlint. */
|
|
184
|
+
export const replacedBiomeAccessibilityRules = () => Object.fromEntries(JSX_ACCESSIBILITY_RULES.map((rule) => [
|
|
185
|
+
rule.biome,
|
|
186
|
+
'off',
|
|
187
|
+
]));
|
|
188
|
+
//# sourceMappingURL=jsx-accessibility.js.map
|