@ploaness/governance 1.4.0 → 1.6.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 +5 -4
- package/dist/a11y-hit-target.js.map +1 -1
- package/dist/a11y-incomplete.d.ts.map +1 -1
- package/dist/a11y-incomplete.js +2 -6
- package/dist/a11y-incomplete.js.map +1 -1
- package/dist/access-boundary.d.ts.map +1 -1
- package/dist/access-boundary.js +5 -8
- package/dist/access-boundary.js.map +1 -1
- package/dist/admin-view-coverage.d.ts.map +1 -1
- package/dist/admin-view-coverage.js +2 -7
- package/dist/admin-view-coverage.js.map +1 -1
- package/dist/agent-references.d.ts.map +1 -1
- package/dist/agent-references.js.map +1 -1
- package/dist/architecture-layers.d.ts.map +1 -1
- package/dist/architecture-layers.js.map +1 -1
- package/dist/asset-policy.d.ts.map +1 -1
- package/dist/asset-policy.js +8 -26
- package/dist/asset-policy.js.map +1 -1
- package/dist/axe-coverage.d.ts +9 -0
- package/dist/axe-coverage.d.ts.map +1 -1
- package/dist/axe-coverage.js +18 -5
- package/dist/axe-coverage.js.map +1 -1
- package/dist/banned-typography.d.ts.map +1 -1
- package/dist/banned-typography.js +1 -4
- package/dist/banned-typography.js.map +1 -1
- package/dist/blocklist-entries.d.ts.map +1 -1
- package/dist/blocklist-entries.js.map +1 -1
- package/dist/blocklist.d.ts.map +1 -1
- package/dist/blocklist.js +8 -11
- package/dist/blocklist.js.map +1 -1
- package/dist/browser-server-policy.d.ts +26 -0
- package/dist/browser-server-policy.d.ts.map +1 -0
- package/dist/browser-server-policy.js +45 -0
- package/dist/browser-server-policy.js.map +1 -0
- package/dist/build-diagnosis.d.ts.map +1 -1
- package/dist/build-diagnosis.js +1 -1
- package/dist/build-diagnosis.js.map +1 -1
- package/dist/bundle-budget.d.ts.map +1 -1
- package/dist/bundle-budget.js.map +1 -1
- package/dist/checkov-checks-aws.d.ts.map +1 -1
- package/dist/checkov-checks-aws.js.map +1 -1
- package/dist/checkov-policy.d.ts.map +1 -1
- package/dist/checkov-policy.js.map +1 -1
- package/dist/commit-message.d.ts.map +1 -1
- package/dist/commit-message.js +4 -18
- package/dist/commit-message.js.map +1 -1
- package/dist/container-failure.d.ts.map +1 -1
- package/dist/container-failure.js +1 -6
- package/dist/container-failure.js.map +1 -1
- package/dist/container-freshness.d.ts.map +1 -1
- package/dist/container-freshness.js +4 -11
- package/dist/container-freshness.js.map +1 -1
- package/dist/container-images.d.ts.map +1 -1
- package/dist/container-images.js +10 -15
- package/dist/container-images.js.map +1 -1
- package/dist/dependency-freshness.d.ts.map +1 -1
- package/dist/dependency-freshness.js.map +1 -1
- package/dist/doc-blocks.d.ts.map +1 -1
- package/dist/doc-blocks.js +3 -15
- package/dist/doc-blocks.js.map +1 -1
- package/dist/document-references.d.ts.map +1 -1
- package/dist/document-references.js +2 -6
- package/dist/document-references.js.map +1 -1
- package/dist/editorconfig-policy.d.ts +4 -1
- package/dist/editorconfig-policy.d.ts.map +1 -1
- package/dist/editorconfig-policy.js +38 -33
- package/dist/editorconfig-policy.js.map +1 -1
- package/dist/environment-coherence.d.ts.map +1 -1
- package/dist/environment-coherence.js +6 -25
- package/dist/environment-coherence.js.map +1 -1
- package/dist/environment-files.d.ts.map +1 -1
- package/dist/environment-files.js.map +1 -1
- package/dist/file-roles.d.ts.map +1 -1
- package/dist/file-roles.js +1 -1
- package/dist/file-roles.js.map +1 -1
- package/dist/freshness-repair.d.ts.map +1 -1
- package/dist/freshness-repair.js +3 -6
- package/dist/freshness-repair.js.map +1 -1
- package/dist/generated-denial.d.ts.map +1 -1
- package/dist/generated-denial.js +3 -8
- package/dist/generated-denial.js.map +1 -1
- package/dist/generated-drift.d.ts.map +1 -1
- package/dist/generated-drift.js +1 -3
- package/dist/generated-drift.js.map +1 -1
- package/dist/history-policy.d.ts.map +1 -1
- package/dist/history-policy.js.map +1 -1
- package/dist/image-assets.d.ts.map +1 -1
- package/dist/image-assets.js +8 -25
- package/dist/image-assets.js.map +1 -1
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/install-policy.d.ts.map +1 -1
- package/dist/install-policy.js +4 -11
- package/dist/install-policy.js.map +1 -1
- package/dist/json-shapes.d.ts.map +1 -1
- package/dist/json-shapes.js +1 -1
- package/dist/json-shapes.js.map +1 -1
- package/dist/jsx-accessibility-scope.d.ts.map +1 -1
- package/dist/jsx-accessibility-scope.js +2 -7
- package/dist/jsx-accessibility-scope.js.map +1 -1
- package/dist/jsx-accessibility.d.ts.map +1 -1
- package/dist/jsx-accessibility.js +2 -14
- package/dist/jsx-accessibility.js.map +1 -1
- package/dist/layout-boxes.d.ts +26 -0
- package/dist/layout-boxes.d.ts.map +1 -0
- package/dist/layout-boxes.js +169 -0
- package/dist/layout-boxes.js.map +1 -0
- package/dist/layout-defects.d.ts +28 -0
- package/dist/layout-defects.d.ts.map +1 -0
- package/dist/layout-defects.js +114 -0
- package/dist/layout-defects.js.map +1 -0
- package/dist/layout-snapshot.d.ts +152 -0
- package/dist/layout-snapshot.d.ts.map +1 -0
- package/dist/layout-snapshot.js +127 -0
- package/dist/layout-snapshot.js.map +1 -0
- package/dist/layout-text.d.ts +42 -0
- package/dist/layout-text.d.ts.map +1 -0
- package/dist/layout-text.js +97 -0
- package/dist/layout-text.js.map +1 -0
- package/dist/license-allowlist.d.ts.map +1 -1
- package/dist/license-allowlist.js +1 -4
- package/dist/license-allowlist.js.map +1 -1
- package/dist/network-policy.d.ts.map +1 -1
- package/dist/network-policy.js +2 -11
- package/dist/network-policy.js.map +1 -1
- package/dist/oxlint-report.d.ts.map +1 -1
- package/dist/oxlint-report.js +1 -3
- package/dist/oxlint-report.js.map +1 -1
- package/dist/oxlint-scope.d.ts.map +1 -1
- package/dist/oxlint-scope.js +2 -16
- package/dist/oxlint-scope.js.map +1 -1
- package/dist/oxlint-suppressions.d.ts.map +1 -1
- package/dist/oxlint-suppressions.js +3 -9
- package/dist/oxlint-suppressions.js.map +1 -1
- package/dist/paired-assets.d.ts.map +1 -1
- package/dist/paired-assets.js +1 -2
- package/dist/paired-assets.js.map +1 -1
- package/dist/payload-access.d.ts.map +1 -1
- package/dist/payload-access.js +31 -19
- package/dist/payload-access.js.map +1 -1
- package/dist/payload-bootstrap.d.ts.map +1 -1
- package/dist/payload-bootstrap.js +1 -4
- package/dist/payload-bootstrap.js.map +1 -1
- package/dist/payload-configs.d.ts.map +1 -1
- package/dist/payload-configs.js +5 -8
- package/dist/payload-configs.js.map +1 -1
- package/dist/payload-database.d.ts.map +1 -1
- package/dist/payload-database.js +4 -13
- package/dist/payload-database.js.map +1 -1
- package/dist/payload-defaults.d.ts.map +1 -1
- package/dist/payload-defaults.js +9 -14
- package/dist/payload-defaults.js.map +1 -1
- package/dist/payload-field-access.d.ts.map +1 -1
- package/dist/payload-field-access.js.map +1 -1
- package/dist/payload-policy.d.ts.map +1 -1
- package/dist/payload-policy.js +4 -6
- package/dist/payload-policy.js.map +1 -1
- package/dist/payload-source.d.ts.map +1 -1
- package/dist/payload-source.js +5 -6
- package/dist/payload-source.js.map +1 -1
- package/dist/relationship-cleanup.d.ts.map +1 -1
- package/dist/relationship-cleanup.js +3 -10
- package/dist/relationship-cleanup.js.map +1 -1
- package/dist/release-age.d.ts.map +1 -1
- package/dist/release-age.js +1 -3
- package/dist/release-age.js.map +1 -1
- package/dist/route-coverage.d.ts.map +1 -1
- package/dist/route-coverage.js +18 -6
- package/dist/route-coverage.js.map +1 -1
- package/dist/route-map.d.ts.map +1 -1
- package/dist/route-map.js +6 -20
- package/dist/route-map.js.map +1 -1
- package/dist/run-plan.d.ts.map +1 -1
- package/dist/run-plan.js +1 -3
- package/dist/run-plan.js.map +1 -1
- package/dist/run-policy.d.ts.map +1 -1
- package/dist/run-policy.js +1 -2
- package/dist/run-policy.js.map +1 -1
- package/dist/secret-policy.d.ts.map +1 -1
- package/dist/secret-policy.js.map +1 -1
- package/dist/settings-layering.d.ts.map +1 -1
- package/dist/settings-layering.js +15 -13
- package/dist/settings-layering.js.map +1 -1
- package/dist/settings.d.ts +11 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +22 -12
- package/dist/settings.js.map +1 -1
- package/dist/shell-files.d.ts.map +1 -1
- package/dist/shell-files.js +2 -6
- package/dist/shell-files.js.map +1 -1
- package/dist/skill-manifest.d.ts.map +1 -1
- package/dist/skill-manifest.js +1 -4
- package/dist/skill-manifest.js.map +1 -1
- package/dist/source-security.d.ts.map +1 -1
- package/dist/source-security.js +6 -12
- package/dist/source-security.js.map +1 -1
- package/dist/source-text.d.ts.map +1 -1
- package/dist/source-text.js +15 -19
- package/dist/source-text.js.map +1 -1
- package/dist/suppression-ceiling.d.ts.map +1 -1
- package/dist/suppression-ceiling.js +10 -1
- package/dist/suppression-ceiling.js.map +1 -1
- package/dist/terraform-files.d.ts.map +1 -1
- package/dist/terraform-files.js +1 -5
- package/dist/terraform-files.js.map +1 -1
- package/dist/terraform-policy.d.ts.map +1 -1
- package/dist/terraform-policy.js +7 -18
- package/dist/terraform-policy.js.map +1 -1
- package/dist/terraform-providers.d.ts.map +1 -1
- package/dist/terraform-providers.js +1 -3
- package/dist/terraform-providers.js.map +1 -1
- package/dist/text-escapes.d.ts.map +1 -1
- package/dist/text-escapes.js.map +1 -1
- package/dist/toolchain-pins.d.ts.map +1 -1
- package/dist/toolchain-pins.js +1 -1
- package/dist/toolchain-pins.js.map +1 -1
- package/dist/version-policy.d.ts.map +1 -1
- package/dist/version-policy.js +6 -14
- package/dist/version-policy.js.map +1 -1
- package/dist/vulnerability-policy.d.ts.map +1 -1
- package/dist/vulnerability-policy.js.map +1 -1
- package/dist/wiring-policy.d.ts +2 -0
- package/dist/wiring-policy.d.ts.map +1 -1
- package/dist/wiring-policy.js +8 -28
- package/dist/wiring-policy.js.map +1 -1
- package/dist/workspace-policy.d.ts.map +1 -1
- package/dist/workspace-policy.js +2 -6
- package/dist/workspace-policy.js.map +1 -1
- package/dist/yaml-blocks.d.ts.map +1 -1
- package/dist/yaml-blocks.js +4 -12
- package/dist/yaml-blocks.js.map +1 -1
- package/package.json +2 -2
package/dist/image-assets.js
CHANGED
|
@@ -60,10 +60,7 @@ const validatePng = (bytes) => {
|
|
|
60
60
|
if (walk.error !== null) {
|
|
61
61
|
return walk.error;
|
|
62
62
|
}
|
|
63
|
-
|
|
64
|
-
return 'invalid PNG (no IDAT image data)';
|
|
65
|
-
}
|
|
66
|
-
return inflatePng(walk.parts);
|
|
63
|
+
return walk.parts.length === 0 ? 'invalid PNG (no IDAT image data)' : inflatePng(walk.parts);
|
|
67
64
|
};
|
|
68
65
|
// JPEG brackets its data with a start-of-image and an end-of-image marker, each two bytes.
|
|
69
66
|
const JPEG_MARKER_PREFIX = 0xff;
|
|
@@ -82,11 +79,9 @@ const validateJpeg = (bytes) => {
|
|
|
82
79
|
bytes[SECOND_BYTE] !== JPEG_START_OF_IMAGE) {
|
|
83
80
|
return 'not a valid JPEG (bad SOI marker)';
|
|
84
81
|
}
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
}
|
|
89
|
-
return null;
|
|
82
|
+
return bytes.at(SECOND_TO_LAST_BYTE) !== JPEG_MARKER_PREFIX || bytes.at(LAST_BYTE) !== JPEG_END_OF_IMAGE
|
|
83
|
+
? 'truncated JPEG (missing EOI marker)'
|
|
84
|
+
: null;
|
|
90
85
|
};
|
|
91
86
|
const GIF_HEADER_BYTES = 6;
|
|
92
87
|
const GIF_TRAILER = 0x3b;
|
|
@@ -95,10 +90,7 @@ const validateGif = (bytes) => {
|
|
|
95
90
|
if (header !== 'GIF87a' && header !== 'GIF89a') {
|
|
96
91
|
return 'not a valid GIF (bad header)';
|
|
97
92
|
}
|
|
98
|
-
|
|
99
|
-
return 'truncated GIF (missing trailer byte)';
|
|
100
|
-
}
|
|
101
|
-
return null;
|
|
93
|
+
return bytes.at(LAST_BYTE) === GIF_TRAILER ? null : 'truncated GIF (missing trailer byte)';
|
|
102
94
|
};
|
|
103
95
|
// A WebP file is a RIFF container: the tag, a 32-bit size, then the form type.
|
|
104
96
|
const RIFF_TAG_BYTES = 4;
|
|
@@ -114,10 +106,7 @@ const validateWebp = (bytes) => {
|
|
|
114
106
|
return 'not a valid WebP (bad RIFF/WEBP header)';
|
|
115
107
|
}
|
|
116
108
|
const declaredLength = dataView(bytes).getUint32(RIFF_SIZE_OFFSET, true) + RIFF_SIZE_EXCLUDES_BYTES;
|
|
117
|
-
|
|
118
|
-
return 'truncated WebP (RIFF size exceeds file length)';
|
|
119
|
-
}
|
|
120
|
-
return null;
|
|
109
|
+
return declaredLength > bytes.length ? 'truncated WebP (RIFF size exceeds file length)' : null;
|
|
121
110
|
};
|
|
122
111
|
const ICO_HEADER_BYTES = 6;
|
|
123
112
|
const ICO_DIR_ENTRY_BYTES = 16;
|
|
@@ -152,10 +141,7 @@ const validateIco = (bytes) => {
|
|
|
152
141
|
return 'not a valid ICO (bad header)';
|
|
153
142
|
}
|
|
154
143
|
const count = view.getUint16(ICO_COUNT_OFFSET, true);
|
|
155
|
-
|
|
156
|
-
return 'invalid ICO (no image entries)';
|
|
157
|
-
}
|
|
158
|
-
return validateIcoEntries(bytes, view, count);
|
|
144
|
+
return count === 0 ? 'invalid ICO (no image entries)' : validateIcoEntries(bytes, view, count);
|
|
159
145
|
};
|
|
160
146
|
// The image extensions this gate understands, each mapped to its byte validator. A tracked file with any
|
|
161
147
|
// other extension is not an image this gate checks.
|
|
@@ -188,9 +174,6 @@ export const validateImageBytes = (filePath, bytes) => {
|
|
|
188
174
|
if (validator === undefined) {
|
|
189
175
|
return null;
|
|
190
176
|
}
|
|
191
|
-
|
|
192
|
-
return 'empty file';
|
|
193
|
-
}
|
|
194
|
-
return validator(bytes);
|
|
177
|
+
return bytes.length === 0 ? 'empty file' : validator(bytes);
|
|
195
178
|
};
|
|
196
179
|
//# sourceMappingURL=image-assets.js.map
|
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,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,
|
|
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,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,UAAU,CAAC,CAAA;AAEhH,0GAA0G;AAC1G,MAAM,UAAU,GAAG,CAAC,KAAiB,EAAE,KAAa,EAAE,GAAW,EAAU,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAA;AAEvH,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,CAAC,KAAK,EAAE,MAAM,GAAG,kBAAkB,EAAE,MAAM,GAAG,oBAAoB,CAAC,CAAA;QAClG,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,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC9F,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,OAAO,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAAC,KAAK,kBAAkB,IAAI,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,iBAAiB;QACtG,CAAC,CAAC,qCAAqC;QACvC,CAAC,CAAC,IAAI,CAAA;AACV,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,OAAO,KAAK,CAAC,EAAE,CAAC,SAAS,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sCAAsC,CAAA;AAC5F,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,GAAW,QAAQ,CAAC,KAAK,CAAC,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,GAAG,wBAAwB,CAAA;IAC3G,OAAO,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,gDAAgD,CAAC,CAAC,CAAC,IAAI,CAAA;AAChG,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,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC,CAAU,EAAE,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,CAAA;IAC7G,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,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,gCAAgC,CAAC,CAAC,CAAC,kBAAkB,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;AAChG,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,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;AAEnH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAgB,EAAE,KAAiB,EAAiB,EAAE;IACvF,MAAM,SAAS,GAAuD,UAAU,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAA;IACvG,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC7D,CAAC,CAAA"}
|
package/dist/index.d.ts
CHANGED
|
@@ -9,6 +9,7 @@ export * from './axe-coverage.js';
|
|
|
9
9
|
export * from './banned-typography.js';
|
|
10
10
|
export * from './blocklist.js';
|
|
11
11
|
export * from './blocklist-entries.js';
|
|
12
|
+
export * from './browser-server-policy.js';
|
|
12
13
|
export * from './build-diagnosis.js';
|
|
13
14
|
export * from './bundle-budget.js';
|
|
14
15
|
export * from './checkov-check.js';
|
|
@@ -36,6 +37,10 @@ export * from './install-policy.js';
|
|
|
36
37
|
export * from './json-shapes.js';
|
|
37
38
|
export * from './jsx-accessibility.js';
|
|
38
39
|
export * from './jsx-accessibility-scope.js';
|
|
40
|
+
export * from './layout-boxes.js';
|
|
41
|
+
export * from './layout-defects.js';
|
|
42
|
+
export * from './layout-snapshot.js';
|
|
43
|
+
export * from './layout-text.js';
|
|
39
44
|
export * from './license-allowlist.js';
|
|
40
45
|
export * from './network-policy.js';
|
|
41
46
|
export * from './oxlint-policy.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,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,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,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,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,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,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,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,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,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,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
|
@@ -13,6 +13,7 @@ export * from './axe-coverage.js';
|
|
|
13
13
|
export * from './banned-typography.js';
|
|
14
14
|
export * from './blocklist.js';
|
|
15
15
|
export * from './blocklist-entries.js';
|
|
16
|
+
export * from './browser-server-policy.js';
|
|
16
17
|
export * from './build-diagnosis.js';
|
|
17
18
|
export * from './bundle-budget.js';
|
|
18
19
|
export * from './checkov-check.js';
|
|
@@ -40,6 +41,10 @@ export * from './install-policy.js';
|
|
|
40
41
|
export * from './json-shapes.js';
|
|
41
42
|
export * from './jsx-accessibility.js';
|
|
42
43
|
export * from './jsx-accessibility-scope.js';
|
|
44
|
+
export * from './layout-boxes.js';
|
|
45
|
+
export * from './layout-defects.js';
|
|
46
|
+
export * from './layout-snapshot.js';
|
|
47
|
+
export * from './layout-text.js';
|
|
43
48
|
export * from './license-allowlist.js';
|
|
44
49
|
export * from './network-policy.js';
|
|
45
50
|
export * from './oxlint-policy.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,gBAAgB,CAAA;AAC9B,cAAc,wBAAwB,CAAA;AACtC,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,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,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,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,4BAA4B,CAAA;AAC1C,cAAc,sBAAsB,CAAA;AACpC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,qBAAqB,CAAA;AACnC,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,mBAAmB,CAAA;AACjC,cAAc,qBAAqB,CAAA;AACnC,cAAc,sBAAsB,CAAA;AACpC,cAAc,kBAAkB,CAAA;AAChC,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,wBAAwB,CAAA;AACtC,cAAc,uBAAuB,CAAA;AACrC,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,kBAAkB,CAAA;AAChC,cAAc,qBAAqB,CAAA;AACnC,cAAc,kBAAkB,CAAA;AAChC,cAAc,0BAA0B,CAAA;AACxC,cAAc,sBAAsB,CAAA;AACpC,cAAc,sBAAsB,CAAA;AACpC,cAAc,uBAAuB,CAAA;AACrC,cAAc,0BAA0B,CAAA;AACxC,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 +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":"AAeA;;;;;;GAMG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EAA6E,CAAA;AAQxH,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,GAAI,eAAe,MAAM,EAAE,aAAa,OAAO,KAAG,OAK5F,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
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
// effect.
|
|
11
11
|
import { HARNESS_PACKAGE, isHarnessPackage } from './harness-package.js';
|
|
12
12
|
import { readKey } from './json-shapes.js';
|
|
13
|
-
import { declaresTopLevelKey, topLevelListItems, topLevelMappingEntries, topLevelScalar
|
|
13
|
+
import { declaresTopLevelKey, topLevelListItems, topLevelMappingEntries, topLevelScalar } from './yaml-blocks.js';
|
|
14
14
|
/**
|
|
15
15
|
* The install-config keys that can redefine a resolved version.
|
|
16
16
|
*
|
|
@@ -18,12 +18,7 @@ import { declaresTopLevelKey, topLevelListItems, topLevelMappingEntries, topLeve
|
|
|
18
18
|
* escape from a pin rather than a workspace-wide one. It carried its own copy of this list, in a module
|
|
19
19
|
* that already imports this one - two arrays that had to stay equal, in the same gate.
|
|
20
20
|
*/
|
|
21
|
-
export const OVERRIDE_KEYS = [
|
|
22
|
-
'overrides',
|
|
23
|
-
'resolutions',
|
|
24
|
-
'patchedDependencies',
|
|
25
|
-
'packageExtensions',
|
|
26
|
-
];
|
|
21
|
+
export const OVERRIDE_KEYS = ['overrides', 'resolutions', 'patchedDependencies', 'packageExtensions'];
|
|
27
22
|
/** The key naming the dependencies permitted to run an install script. */
|
|
28
23
|
const ALLOWLIST_KEY = 'onlyBuiltDependencies';
|
|
29
24
|
/** The `pnpm.auditConfig` keys that drop an advisory the vulnerability gate would otherwise report. */
|
|
@@ -45,10 +40,8 @@ export const findOverrides = (workspaceFile) => OVERRIDE_KEYS.flatMap((key) => t
|
|
|
45
40
|
* @returns true when the allowlist is declared in either place.
|
|
46
41
|
*/
|
|
47
42
|
export const declaresInstallScriptAllowlist = (workspaceFile, packageJson) => {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
return Array.isArray(readKey(readKey(packageJson, 'pnpm'), ALLOWLIST_KEY));
|
|
43
|
+
return (declaresTopLevelKey(workspaceFile, ALLOWLIST_KEY) ||
|
|
44
|
+
Array.isArray(readKey(readKey(packageJson, 'pnpm'), ALLOWLIST_KEY)));
|
|
52
45
|
};
|
|
53
46
|
/**
|
|
54
47
|
* Report an audit configuration that would silence the vulnerability gate.
|
|
@@ -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;AAEV,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAC1C,OAAO,
|
|
1
|
+
{"version":3,"file":"install-policy.js","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-shapes.d.ts","sourceRoot":"","sources":["../src/json-shapes.ts"],"names":[],"mappings":"AAYA,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;
|
|
1
|
+
{"version":3,"file":"json-shapes.d.ts","sourceRoot":"","sources":["../src/json-shapes.ts"],"names":[],"mappings":"AAYA,+DAA+D;AAC/D,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CACrC;AAeD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,UASzC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,MAAM,CAAC,MAAM,EAAE,OAAO,CAA4C,CAAA;AAEjH;;;;;;;;GAQG;AACH,eAAO,MAAM,QAAQ,GAAI,KAAK,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAA+B,CAAA;AAI7F;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CACM,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,KAAG,GAAG,IAAI,SAAS,OAAO,EAAwB,CAAA;AAEtF;;;;GAIG;AACH,eAAO,MAAM,MAAM,GAAI,KAAK,OAAO,KAAG,MAA8C,CAAA;AAEpF;;;;;;;;;GASG;AACH,eAAO,MAAM,cAAc,GAAI,KAAK,OAAO,KAAG,MAAM,GAAG,SAAwD,CAAA;AAE/G;;;;;GAKG;AACH,eAAO,MAAM,OAAO,GAAI,KAAK,OAAO,EAAE,KAAK,MAAM,KAAG,OAA6B,CAAA;AAEjF;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB,GAAI,aAAa,OAAO,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAY/E,CAAA"}
|
package/dist/json-shapes.js
CHANGED
|
@@ -90,7 +90,7 @@ export const asText = (raw) => (typeof raw === 'string' ? raw : '');
|
|
|
90
90
|
* @param raw the value to read.
|
|
91
91
|
* @returns the string, or undefined.
|
|
92
92
|
*/
|
|
93
|
-
export const asOptionalText = (raw) => typeof raw === 'string' ? raw : undefined;
|
|
93
|
+
export const asOptionalText = (raw) => (typeof raw === 'string' ? raw : undefined);
|
|
94
94
|
/**
|
|
95
95
|
* Read one key of a parsed value.
|
|
96
96
|
* @param raw the value holding the key.
|
package/dist/json-shapes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-shapes.js","sourceRoot":"","sources":["../src/json-shapes.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,sGAAsG;AACtG,wGAAwG;AACxG,sEAAsE;AACtE,EAAE;AACF,uGAAuG;AACvG,gEAAgE;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAS9D,qGAAqG;AACrG,kGAAkG;AAClG,MAAM,cAAc,GAAW,gBAAgB,CAAA;AAE/C,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,8FAA8F;AAC9F,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CACrD,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC7C,GAAG,CAAC,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;KACpD,WAAW,
|
|
1
|
+
{"version":3,"file":"json-shapes.js","sourceRoot":"","sources":["../src/json-shapes.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,EAAE;AACF,sGAAsG;AACtG,mGAAmG;AACnG,sGAAsG;AACtG,wGAAwG;AACxG,sEAAsE;AACtE,EAAE;AACF,uGAAuG;AACvG,gEAAgE;AAChE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AAS9D,qGAAqG;AACrG,kGAAkG;AAClG,MAAM,cAAc,GAAW,gBAAgB,CAAA;AAE/C,uGAAuG;AACvG,sGAAsG;AACtG,sGAAsG;AACtG,8FAA8F;AAC9F,MAAM,qBAAqB,GAAG,CAAC,IAAY,EAAU,EAAE,CACrD,CAAC,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;KAC7C,GAAG,CAAC,CAAC,KAAsB,EAAU,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;KACpD,WAAW,CAAC,CAAC,OAAe,EAAE,EAAU,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAA;AAE7G;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAc,EAAE;IACrD,IAAI,CAAC;QACH,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,OAAO,EAAE,SAAS;SACnB,CAAA;IACH,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAA;IAC9F,CAAC;AACH,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAAkC,EAAE,CAAC,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,CAAA;AAEjH;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAY,EAA2B,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAE7F,MAAM,aAAa,GAAG,CAAC,KAAwB,EAA6B,EAAE,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAA;AAE3G;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAA0B,EAAE,CACrE,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAY,EAA6B,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;AAEtF;;;;GAIG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,CAAC,GAAY,EAAU,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;AAEpF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAY,EAAsB,EAAE,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAE/G;;;;;GAKG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,GAAY,EAAE,GAAW,EAAW,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;AAEjF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAoB,EAA0B,EAAE,CAAC,CAAC;IACrF,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IACvD,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC1D,qGAAqG;IACrG,kGAAkG;IAClG,sGAAsG;IACtG,sGAAsG;IACtG,+EAA+E;IAC/E,EAAE;IACF,sGAAsG;IACtG,uFAAuF;IACvF,GAAG,cAAc,CAAC,OAAO,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;CAChE,CAAC,CAAA"}
|
|
@@ -1 +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,
|
|
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,EAMjB,CAAA;AAED,yFAAyF;AACzF,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,OAC0C,CAAA"}
|
|
@@ -23,13 +23,8 @@ export const jsxAnalysisPatterns = () => [
|
|
|
23
23
|
* @returns the deduplicated paths the native analyzer must actually read.
|
|
24
24
|
*/
|
|
25
25
|
export const jsxAccessibilityFiles = (files, generated, siblings) => {
|
|
26
|
-
const ignored = [
|
|
27
|
-
|
|
28
|
-
...generated,
|
|
29
|
-
...analysisBoundaries(siblings),
|
|
30
|
-
];
|
|
31
|
-
return [...new Set(files)].filter((file) => hasExtension(file, JSX_EXTENSIONS) &&
|
|
32
|
-
!ignored.some((pattern) => matchesGlob(pattern, file)));
|
|
26
|
+
const ignored = [...APPLICATION_JSX_IGNORES, ...generated, ...analysisBoundaries(siblings)];
|
|
27
|
+
return [...new Set(files)].filter((file) => hasExtension(file, JSX_EXTENSIONS) && !ignored.some((pattern) => matchesGlob(pattern, file)));
|
|
33
28
|
};
|
|
34
29
|
/** Consumer configuration cannot shadow the harness, including in nested directories. */
|
|
35
30
|
export const isOxlintConfig = (file) => /(?:^|\/)(?:\.oxlintrc(?:\.[^/]*)?|\.oxlintignore|oxlint\.config\.[^/]+)$/u.test(file);
|
|
@@ -1 +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
|
|
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,CAAC,GAAG,uBAAuB,EAAE,GAAG,SAAS,EAAE,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAA;IAC9G,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAC/B,CAAC,IAAY,EAAW,EAAE,CACxB,YAAY,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAe,EAAW,EAAE,CAAC,WAAW,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAChH,CAAA;AACH,CAAC,CAAA;AAED,yFAAyF;AACzF,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAW,EAAE,CACtD,2EAA2E,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA"}
|
|
@@ -1 +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,
|
|
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,EAgKlE,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,CAG/E,CAAA"}
|
|
@@ -101,16 +101,7 @@ export const JSX_ACCESSIBILITY_RULES = [
|
|
|
101
101
|
oxlint: 'jsx-a11y/no-noninteractive-element-interactions',
|
|
102
102
|
biome: 'noNoninteractiveElementInteractions',
|
|
103
103
|
options: {
|
|
104
|
-
handlers: [
|
|
105
|
-
'onClick',
|
|
106
|
-
'onError',
|
|
107
|
-
'onLoad',
|
|
108
|
-
'onMouseDown',
|
|
109
|
-
'onMouseUp',
|
|
110
|
-
'onKeyPress',
|
|
111
|
-
'onKeyDown',
|
|
112
|
-
'onKeyUp',
|
|
113
|
-
],
|
|
104
|
+
handlers: ['onClick', 'onError', 'onLoad', 'onMouseDown', 'onMouseUp', 'onKeyPress', 'onKeyDown', 'onKeyUp'],
|
|
114
105
|
alert: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
|
|
115
106
|
body: ['onError', 'onLoad'],
|
|
116
107
|
dialog: ['onKeyUp', 'onKeyDown', 'onKeyPress'],
|
|
@@ -181,8 +172,5 @@ export const oxlintAccessibilityConfig = () => ({
|
|
|
181
172
|
])),
|
|
182
173
|
});
|
|
183
174
|
/** 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
|
-
]));
|
|
175
|
+
export const replacedBiomeAccessibilityRules = () => Object.fromEntries(JSX_ACCESSIBILITY_RULES.map((rule) => [rule.biome, 'off']));
|
|
188
176
|
//# sourceMappingURL=jsx-accessibility.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jsx-accessibility.js","sourceRoot":"","sources":["../src/jsx-accessibility.ts"],"names":[],"mappings":"AAAA,+FAA+F;AAC/F,qGAAqG;AASrG,0FAA0F;AAC1F,MAAM,CAAC,MAAM,uBAAuB,GAAoC;IACtE;QACE,MAAM,EAAE,mBAAmB;QAC3B,KAAK,EAAE,YAAY;KACpB;IACD;QACE,MAAM,EAAE,6BAA6B;QACrC,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,MAAM,EAAE,0BAA0B;QAClC,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,MAAM,EAAE,6CAA6C;QACrD,KAAK,EAAE,qCAAqC;KAC7C;IACD;QACE,MAAM,EAAE,qBAAqB;QAC7B,KAAK,EAAE,mBAAmB;KAC3B;IACD;QACE,MAAM,EAAE,yBAAyB;QACjC,KAAK,EAAE,oBAAoB;KAC5B;IACD;QACE,MAAM,EAAE,oBAAoB;QAC5B,KAAK,EAAE,kBAAkB;KAC1B;IACD;QACE,MAAM,EAAE,oCAAoC;QAC5C,KAAK,EAAE,2BAA2B;KACnC;IACD;QACE,MAAM,EAAE,6BAA6B;QACrC,KAAK,EAAE,sBAAsB;KAC9B;IACD;QACE,MAAM,EAAE,uCAAuC;QAC/C,KAAK,EAAE,uBAAuB;KAC/B;IACD;QACE,MAAM,EAAE,8BAA8B;QACtC,KAAK,EAAE,mBAAmB;KAC3B;IACD;QACE,MAAM,EAAE,wBAAwB;QAChC,KAAK,EAAE,aAAa;KACrB;IACD;QACE,MAAM,EAAE,2BAA2B;QACnC,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,MAAM,EAAE,4BAA4B;QACpC,KAAK,EAAE,gBAAgB;KACxB;IACD;QACE,MAAM,EAAE,qCAAqC;QAC7C,KAAK,EAAE,yBAAyB;QAChC,OAAO,EAAE;YACP,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,CAAC;SACzF;KACF;IACD;QACE,MAAM,EAAE,uCAAuC;QAC/C,KAAK,EAAE,uBAAuB;KAC/B;IACD;QACE,MAAM,EAAE,4BAA4B;QACpC,KAAK,EAAE,iBAAiB;KACzB;IACD;QACE,MAAM,EAAE,uCAAuC;QAC/C,KAAK,EAAE,uBAAuB;KAC/B;IACD;QACE,MAAM,EAAE,wBAAwB;QAChC,KAAK,EAAE,aAAa;KACrB;IACD;QACE,MAAM,EAAE,uBAAuB;QAC/B,KAAK,EAAE,aAAa;KACrB;IACD;QACE,MAAM,EAAE,kCAAkC;QAC1C,KAAK,EAAE,uBAAuB;KAC/B;IACD;QACE,MAAM,EAAE,wDAAwD;QAChE,KAAK,EAAE,0CAA0C;QACjD,OAAO,EAAE;YACP,EAAE,EAAE,CAAC,MAAM,EAAE,cAAc,CAAC;YAC5B,MAAM,EAAE,CAAC,KAAK,CAAC;SAChB;KACF;IACD;QACE,MAAM,EAAE,iDAAiD;QACzD,KAAK,EAAE,qCAAqC;QAC5C,OAAO,EAAE;YACP,QAAQ,EAAE
|
|
1
|
+
{"version":3,"file":"jsx-accessibility.js","sourceRoot":"","sources":["../src/jsx-accessibility.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { type LayoutNode, type LayoutSnapshot } from './layout-snapshot.js';
|
|
2
|
+
/** A pair of siblings judged too close, and the gap that made them so. */
|
|
3
|
+
export interface BoxFinding {
|
|
4
|
+
readonly first: LayoutNode;
|
|
5
|
+
readonly second: LayoutNode;
|
|
6
|
+
/** The gap in whole CSS pixels; negative when the boxes overlap. */
|
|
7
|
+
readonly gap: number;
|
|
8
|
+
readonly isOverlap: boolean;
|
|
9
|
+
/** The siblings that carried `data-ploaness-layout="attached"` and so excused the pair. */
|
|
10
|
+
readonly exemptedBy: readonly LayoutNode[];
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* The elements laid out directly under a parent, after looking through wrappers that paint nothing.
|
|
14
|
+
* @param snapshot the measured page.
|
|
15
|
+
* @param parent the element whose children are compared.
|
|
16
|
+
* @returns the siblings, in document order.
|
|
17
|
+
*/
|
|
18
|
+
export declare const layoutChildren: (snapshot: LayoutSnapshot, parent: LayoutNode) => readonly LayoutNode[];
|
|
19
|
+
/**
|
|
20
|
+
* Every pair of boxed siblings closer than the minimum gap, exempted or not.
|
|
21
|
+
* @param snapshot the measured page.
|
|
22
|
+
* @param minimumGap the smallest gap, in CSS pixels, that keeps two boxes apart.
|
|
23
|
+
* @returns one finding per pair, each saying whether an exemption excused it.
|
|
24
|
+
*/
|
|
25
|
+
export declare const findTouchingBoxes: (snapshot: LayoutSnapshot, minimumGap: number) => readonly BoxFinding[];
|
|
26
|
+
//# sourceMappingURL=layout-boxes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-boxes.d.ts","sourceRoot":"","sources":["../src/layout-boxes.ts"],"names":[],"mappings":"AAMA,OAAO,EAOL,KAAK,UAAU,EAGf,KAAK,cAAc,EACpB,MAAM,sBAAsB,CAAA;AAE7B,0EAA0E;AAC1E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAA;IAC3B,oEAAoE;IACpE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;IACpB,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;IAC3B,2FAA2F;IAC3F,QAAQ,CAAC,UAAU,EAAE,SAAS,UAAU,EAAE,CAAA;CAC3C;AA4BD;;;;;GAKG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU,cAAc,EAAE,QAAQ,UAAU,KAAG,SAAS,UAAU,EAS7F,CAAA;AAoLJ;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,cAAc,EAAE,YAAY,MAAM,KAAG,SAAS,UAAU,EAO/F,CAAA"}
|
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
// Boxed siblings that touch or overlap.
|
|
2
|
+
//
|
|
3
|
+
// A box a reader can see - a tinted notice, a bordered card, a button - needs space between it and its
|
|
4
|
+
// neighbour, or the two read as one broken shape. Two elements are compared when they are siblings
|
|
5
|
+
// once every wrapper that paints nothing has been looked through: `<p><a class="button">` beside a
|
|
6
|
+
// notice is the button beside the notice, because the paragraph around it draws nothing a reader sees.
|
|
7
|
+
import { ATTACHED_EXEMPTION, hasArea, hasBorderOn, hasPaintedBackground, hasPaintedBox, isInAriaHidden, } from './layout-snapshot.js';
|
|
8
|
+
// Out of flow: laid over the page rather than beside a sibling, so a gap between them means nothing.
|
|
9
|
+
const OUT_OF_FLOW = new Set(['absolute', 'fixed']);
|
|
10
|
+
const HIDDEN_VISIBILITY = new Set(['hidden', 'collapse']);
|
|
11
|
+
// A table lays its rows and cells against each other by definition, and draws its rules on them, so a
|
|
12
|
+
// cell touching the cell below it is the table rather than a defect. The table itself is compared with
|
|
13
|
+
// its own siblings, and the content of each cell with the rest of that cell.
|
|
14
|
+
const TABLE_PART = /^table-(?!caption$)/u;
|
|
15
|
+
const isTablePart = (node) => TABLE_PART.test(node.display);
|
|
16
|
+
const childrenOf = (snapshot, parent) => snapshot.nodes.filter((node) => node.parent === parent.index);
|
|
17
|
+
const hasOwnText = (node) => node.textRects.length > 0;
|
|
18
|
+
// A wrapper is looked through when a reader cannot see it: it draws nothing of its own and carries no
|
|
19
|
+
// text of its own. `display: contents` has no box at all and is always looked through.
|
|
20
|
+
const isTransparentWrapper = (snapshot, node) => node.display === 'contents' ||
|
|
21
|
+
(!(hasPaintedBox(snapshot, node) || hasOwnText(node)) && childrenOf(snapshot, node).length > 0);
|
|
22
|
+
const isComparable = (node) => !HIDDEN_VISIBILITY.has(node.visibility) && node.rects.some((rect) => hasArea(rect));
|
|
23
|
+
/**
|
|
24
|
+
* The elements laid out directly under a parent, after looking through wrappers that paint nothing.
|
|
25
|
+
* @param snapshot the measured page.
|
|
26
|
+
* @param parent the element whose children are compared.
|
|
27
|
+
* @returns the siblings, in document order.
|
|
28
|
+
*/
|
|
29
|
+
export const layoutChildren = (snapshot, parent) => childrenOf(snapshot, parent).flatMap((child) => {
|
|
30
|
+
if (child.isAriaHidden || OUT_OF_FLOW.has(child.position) || isTablePart(child)) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
if (isTransparentWrapper(snapshot, child)) {
|
|
34
|
+
return layoutChildren(snapshot, child);
|
|
35
|
+
}
|
|
36
|
+
return isComparable(child) ? [child] : [];
|
|
37
|
+
});
|
|
38
|
+
// A group is formed under every element that is not itself looked through, so a flattened wrapper's
|
|
39
|
+
// children are compared once, in the group of the first ancestor that is not flattened.
|
|
40
|
+
const isGroupRoot = (snapshot, node) => {
|
|
41
|
+
const parent = snapshot.nodes[node.parent];
|
|
42
|
+
return (parent === undefined ||
|
|
43
|
+
OUT_OF_FLOW.has(node.position) ||
|
|
44
|
+
node.isAriaHidden ||
|
|
45
|
+
isTablePart(node) ||
|
|
46
|
+
!isTransparentWrapper(snapshot, node));
|
|
47
|
+
};
|
|
48
|
+
const separationOf = (first, second) => ({
|
|
49
|
+
horizontal: Math.max(second.left - first.right, first.left - second.right),
|
|
50
|
+
vertical: Math.max(second.top - first.bottom, first.top - second.bottom),
|
|
51
|
+
});
|
|
52
|
+
const gapOf = (separation) => Math.max(separation.horizontal, separation.vertical);
|
|
53
|
+
const isOverlapping = (separation) => separation.horizontal < 0 && separation.vertical < 0;
|
|
54
|
+
const areaRects = (rects) => rects.filter((rect) => hasArea(rect));
|
|
55
|
+
const separationsOf = (first, second) => areaRects(first).flatMap((left) => areaRects(second).map((right) => separationOf(left, right)));
|
|
56
|
+
const isDrawnChild = (child) => !(child.isAriaHidden || OUT_OF_FLOW.has(child.position) || HIDDEN_VISIBILITY.has(child.visibility));
|
|
57
|
+
// What an element shows a reader of its content: its own text and what each child shows, where a child
|
|
58
|
+
// that paints a box is seen whole. An element with no text and no children is a leaf such as an image, and
|
|
59
|
+
// is seen whole too. Padding around content is part of a box only when the box is drawn.
|
|
60
|
+
const contentRects = (snapshot, node) => {
|
|
61
|
+
const children = childrenOf(snapshot, node).filter((child) => isDrawnChild(child));
|
|
62
|
+
return children.length === 0 && !hasOwnText(node)
|
|
63
|
+
? areaRects(node.rects)
|
|
64
|
+
: [
|
|
65
|
+
...areaRects(node.textRects),
|
|
66
|
+
...children.flatMap((child) => hasPaintedBox(snapshot, child) ? areaRects(child.rects) : contentRects(snapshot, child)),
|
|
67
|
+
];
|
|
68
|
+
};
|
|
69
|
+
// The side of `node` that faces `other`, judged on their outer boxes: the axis with the larger gap is
|
|
70
|
+
// the one they are separated along.
|
|
71
|
+
const facingSide = (node, other) => {
|
|
72
|
+
const separation = separationOf(node, other);
|
|
73
|
+
if (separation.vertical >= separation.horizontal) {
|
|
74
|
+
return node.top < other.top ? 'bottom' : 'top';
|
|
75
|
+
}
|
|
76
|
+
return node.left < other.left ? 'right' : 'left';
|
|
77
|
+
};
|
|
78
|
+
const outerBox = (node) => {
|
|
79
|
+
const rects = node.rects.filter((rect) => hasArea(rect));
|
|
80
|
+
return {
|
|
81
|
+
left: Math.min(...rects.map((rect) => rect.left)),
|
|
82
|
+
top: Math.min(...rects.map((rect) => rect.top)),
|
|
83
|
+
right: Math.max(...rects.map((rect) => rect.right)),
|
|
84
|
+
bottom: Math.max(...rects.map((rect) => rect.bottom)),
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
// Boxed toward a neighbour: a background or a shadow is visible on every side, a border only on the
|
|
88
|
+
// side it is drawn. Overlapping boxes have no facing side, so anything painted counts.
|
|
89
|
+
const isBoxedToward = (snapshot, node, other, isOverlap) => isOverlap
|
|
90
|
+
? hasPaintedBox(snapshot, node)
|
|
91
|
+
: hasPaintedBackground(snapshot, node) ||
|
|
92
|
+
node.boxShadow !== 'none' ||
|
|
93
|
+
hasBorderOn(node, facingSide(outerBox(node), outerBox(other)));
|
|
94
|
+
const isAttached = (node) => node.exemption === ATTACHED_EXEMPTION;
|
|
95
|
+
// Two bands that each span the full width of the page and sit one above the other are the page's
|
|
96
|
+
// sections - a header above a hero, the two tones of a footer - so their shared edge is the page's own
|
|
97
|
+
// structure. A gap between them would draw a stripe of the canvas across the page rather than separate
|
|
98
|
+
// two shapes. Boxes inside a column do not span the page, so a notice and a button stay judged.
|
|
99
|
+
const isFullWidth = (snapshot, node) => {
|
|
100
|
+
const page = snapshot.nodes.find((candidate) => candidate.parent < 0);
|
|
101
|
+
if (page === undefined || areaRects(page.rects).length === 0) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
const pageBox = outerBox(page);
|
|
105
|
+
const box = outerBox(node);
|
|
106
|
+
return box.left <= pageBox.left && box.right >= pageBox.right;
|
|
107
|
+
};
|
|
108
|
+
const isStackedBandPair = (snapshot, pair) => pair.every((node) => isFullWidth(snapshot, node));
|
|
109
|
+
const intersectionOf = (rect, bounds) => ({
|
|
110
|
+
left: Math.max(rect.left, bounds.left),
|
|
111
|
+
top: Math.max(rect.top, bounds.top),
|
|
112
|
+
right: Math.min(rect.right, bounds.right),
|
|
113
|
+
bottom: Math.min(rect.bottom, bounds.bottom),
|
|
114
|
+
});
|
|
115
|
+
// The content, kept inside the element's own box. A line of text reports the full height of its line box,
|
|
116
|
+
// which a tight `line-height` pushes past the element's edges into empty space above and below the glyphs,
|
|
117
|
+
// so content is never measured as reaching farther than the box it sits in: the measure can only shrink
|
|
118
|
+
// from the box's, never grow past it.
|
|
119
|
+
const visibleContentRects = (snapshot, node) => {
|
|
120
|
+
const bounds = outerBox(node);
|
|
121
|
+
return areaRects(contentRects(snapshot, node).map((rect) => intersectionOf(rect, bounds)));
|
|
122
|
+
};
|
|
123
|
+
// Each side is measured by what it shows the other: its box where it is drawn toward it, its content
|
|
124
|
+
// where it is not, so a heading's padding is not read as the heading touching the chips below it.
|
|
125
|
+
const measurePair = (snapshot, first, second) => {
|
|
126
|
+
const isBoxOverlap = separationsOf(first.rects, second.rects).some((separation) => isOverlapping(separation));
|
|
127
|
+
const isFirstBoxed = isBoxedToward(snapshot, first, second, isBoxOverlap);
|
|
128
|
+
const isSecondBoxed = isBoxedToward(snapshot, second, first, isBoxOverlap);
|
|
129
|
+
return {
|
|
130
|
+
separations: separationsOf(isFirstBoxed ? first.rects : visibleContentRects(snapshot, first), isSecondBoxed ? second.rects : visibleContentRects(snapshot, second)),
|
|
131
|
+
isBoxed: isFirstBoxed || isSecondBoxed,
|
|
132
|
+
};
|
|
133
|
+
};
|
|
134
|
+
const judgePair = (snapshot, pair, minimumGap) => {
|
|
135
|
+
const [first, second] = pair;
|
|
136
|
+
const { separations, isBoxed } = measurePair(snapshot, first, second);
|
|
137
|
+
const isOverlap = separations.some((separation) => isOverlapping(separation));
|
|
138
|
+
const gap = Math.min(...separations.map((separation) => gapOf(separation)));
|
|
139
|
+
const isClose = separations.length > 0 && (isOverlap || gap < minimumGap);
|
|
140
|
+
const isBand = !isOverlap && isStackedBandPair(snapshot, pair);
|
|
141
|
+
return isBoxed && isClose && !isBand
|
|
142
|
+
? [
|
|
143
|
+
{
|
|
144
|
+
first,
|
|
145
|
+
second,
|
|
146
|
+
gap,
|
|
147
|
+
isOverlap,
|
|
148
|
+
exemptedBy: pair.filter((node) => isAttached(node)),
|
|
149
|
+
},
|
|
150
|
+
]
|
|
151
|
+
: [];
|
|
152
|
+
};
|
|
153
|
+
// Two inline boxes sit in the same run of text, where line height rather than a gap separates them: a
|
|
154
|
+
// code span on one line and a link on the line above it touch exactly as two lines of text do.
|
|
155
|
+
const isInlinePair = (first, second) => first.display === 'inline' && second.display === 'inline';
|
|
156
|
+
const pairsOf = (siblings) => siblings.flatMap((first, index) => siblings
|
|
157
|
+
.slice(index + 1)
|
|
158
|
+
.filter((second) => !isInlinePair(first, second))
|
|
159
|
+
.map((second) => [first, second]));
|
|
160
|
+
/**
|
|
161
|
+
* Every pair of boxed siblings closer than the minimum gap, exempted or not.
|
|
162
|
+
* @param snapshot the measured page.
|
|
163
|
+
* @param minimumGap the smallest gap, in CSS pixels, that keeps two boxes apart.
|
|
164
|
+
* @returns one finding per pair, each saying whether an exemption excused it.
|
|
165
|
+
*/
|
|
166
|
+
export const findTouchingBoxes = (snapshot, minimumGap) => snapshot.nodes
|
|
167
|
+
.filter((node) => isGroupRoot(snapshot, node) && !isInAriaHidden(snapshot, node))
|
|
168
|
+
.flatMap((parent) => pairsOf(layoutChildren(snapshot, parent)).flatMap((pair) => judgePair(snapshot, pair, minimumGap)));
|
|
169
|
+
//# sourceMappingURL=layout-boxes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-boxes.js","sourceRoot":"","sources":["../src/layout-boxes.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { type LayoutSnapshot } from './layout-snapshot.js';
|
|
2
|
+
/** A viewport every scan runs at. */
|
|
3
|
+
export interface LayoutViewport {
|
|
4
|
+
readonly width: number;
|
|
5
|
+
readonly height: number;
|
|
6
|
+
}
|
|
7
|
+
/** The viewports the harness requires: a phone and a desktop. A project may add more, never remove. */
|
|
8
|
+
export declare const LAYOUT_VIEWPORTS: readonly LayoutViewport[];
|
|
9
|
+
/** The smallest gap, in CSS pixels, between a boxed element and its sibling. A project may raise it. */
|
|
10
|
+
export declare const LAYOUT_MINIMUM_GAP: number;
|
|
11
|
+
/** The attribute a project writes on an element whose edge is shared on purpose. */
|
|
12
|
+
export declare const LAYOUT_EXEMPTION_ATTRIBUTE: string;
|
|
13
|
+
/** The attribute carrying the reason for that exemption. */
|
|
14
|
+
export declare const LAYOUT_REASON_ATTRIBUTE: string;
|
|
15
|
+
/**
|
|
16
|
+
* Every layout defect on one page, across the viewports it was measured at.
|
|
17
|
+
* @param snapshots the same page measured at each required viewport.
|
|
18
|
+
* @param minimumGap the smallest gap, in CSS pixels, between a boxed element and its sibling.
|
|
19
|
+
* @returns one line per defect, without duplicates, in the order the viewports were measured.
|
|
20
|
+
*/
|
|
21
|
+
export declare const findLayoutDefects: (snapshots: readonly LayoutSnapshot[], minimumGap: number) => readonly string[];
|
|
22
|
+
/**
|
|
23
|
+
* The viewports a scan must run at: the harness's own, then any a project adds.
|
|
24
|
+
* @param declared the viewports a project declared.
|
|
25
|
+
* @returns the required viewports first, each width once.
|
|
26
|
+
*/
|
|
27
|
+
export declare const layoutViewportsWith: (declared: readonly LayoutViewport[]) => readonly LayoutViewport[];
|
|
28
|
+
//# sourceMappingURL=layout-defects.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-defects.d.ts","sourceRoot":"","sources":["../src/layout-defects.ts"],"names":[],"mappings":"AAOA,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAStG,qCAAqC;AACrC,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAED,uGAAuG;AACvG,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAGrD,CAAA;AAED,wGAAwG;AACxG,eAAO,MAAM,kBAAkB,EAAE,MAAU,CAAA;AAE3C,oFAAoF;AACpF,eAAO,MAAM,0BAA0B,EAAE,MAA+B,CAAA;AAExE,4DAA4D;AAC5D,eAAO,MAAM,uBAAuB,EAAE,MAAsC,CAAA;AA6G5E;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,WAAW,SAAS,cAAc,EAAE,EAAE,YAAY,MAAM,KAAG,SAAS,MAAM,EAQ3G,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,SAAS,cAAc,EAAE,KAAG,SAAS,cAAc,EAM9F,CAAA"}
|