@ploaness/governance 1.9.0 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/architecture-layers.d.ts +1 -1
- package/dist/architecture-layers.d.ts.map +1 -1
- package/dist/architecture-layers.js +5 -4
- package/dist/architecture-layers.js.map +1 -1
- package/dist/asset-policy.d.ts +9 -0
- package/dist/asset-policy.d.ts.map +1 -1
- package/dist/asset-policy.js +12 -3
- package/dist/asset-policy.js.map +1 -1
- package/dist/biome-selection.d.ts +3 -0
- package/dist/biome-selection.d.ts.map +1 -0
- package/dist/biome-selection.js +12 -0
- package/dist/biome-selection.js.map +1 -0
- package/dist/blocklist.js +4 -4
- package/dist/blocklist.js.map +1 -1
- package/dist/coverage-policy.d.ts +13 -0
- package/dist/coverage-policy.d.ts.map +1 -0
- package/dist/coverage-policy.js +32 -0
- package/dist/coverage-policy.js.map +1 -0
- package/dist/document-references.js +2 -2
- package/dist/document-references.js.map +1 -1
- package/dist/environment-files.d.ts +2 -1
- package/dist/environment-files.d.ts.map +1 -1
- package/dist/environment-files.js +2 -1
- package/dist/environment-files.js.map +1 -1
- package/dist/file-roles.d.ts +14 -6
- package/dist/file-roles.d.ts.map +1 -1
- package/dist/file-roles.js +33 -24
- package/dist/file-roles.js.map +1 -1
- package/dist/glob-alternatives.d.ts +3 -0
- package/dist/glob-alternatives.d.ts.map +1 -0
- package/dist/glob-alternatives.js +26 -0
- package/dist/glob-alternatives.js.map +1 -0
- package/dist/image-assets.js +3 -3
- package/dist/image-assets.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/install-policy.d.ts +3 -0
- package/dist/install-policy.d.ts.map +1 -1
- package/dist/install-policy.js +19 -3
- package/dist/install-policy.js.map +1 -1
- package/dist/member-patterns.d.ts +7 -0
- package/dist/member-patterns.d.ts.map +1 -0
- package/dist/member-patterns.js +71 -0
- package/dist/member-patterns.js.map +1 -0
- package/dist/production-server.d.ts +4 -0
- package/dist/production-server.d.ts.map +1 -1
- package/dist/production-server.js +19 -0
- package/dist/production-server.js.map +1 -1
- package/dist/route-coverage.d.ts +2 -0
- package/dist/route-coverage.d.ts.map +1 -1
- package/dist/route-coverage.js +14 -17
- package/dist/route-coverage.js.map +1 -1
- package/dist/route-exclusions.d.ts +11 -0
- package/dist/route-exclusions.d.ts.map +1 -0
- package/dist/route-exclusions.js +11 -0
- package/dist/route-exclusions.js.map +1 -0
- package/dist/route-map.d.ts +11 -5
- package/dist/route-map.d.ts.map +1 -1
- package/dist/route-map.js +38 -5
- package/dist/route-map.js.map +1 -1
- package/dist/run-policy.d.ts.map +1 -1
- package/dist/run-policy.js +2 -14
- package/dist/run-policy.js.map +1 -1
- package/dist/settings-layering.d.ts +1 -1
- package/dist/settings-layering.d.ts.map +1 -1
- package/dist/settings-layering.js +15 -8
- package/dist/settings-layering.js.map +1 -1
- package/dist/settings.d.ts +8 -4
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +22 -11
- package/dist/settings.js.map +1 -1
- package/dist/source-security.d.ts.map +1 -1
- package/dist/source-security.js +42 -4
- package/dist/source-security.js.map +1 -1
- package/dist/source-selection.d.ts +10 -0
- package/dist/source-selection.d.ts.map +1 -0
- package/dist/source-selection.js +14 -0
- package/dist/source-selection.js.map +1 -0
- package/dist/source-text.d.ts +2 -0
- package/dist/source-text.d.ts.map +1 -1
- package/dist/source-text.js +9 -5
- package/dist/source-text.js.map +1 -1
- package/dist/toolchain-pins.js +2 -2
- package/dist/wiring-policy.d.ts +5 -4
- package/dist/wiring-policy.d.ts.map +1 -1
- package/dist/wiring-policy.js +54 -35
- package/dist/wiring-policy.js.map +1 -1
- package/dist/workspace-globs.d.ts +8 -0
- package/dist/workspace-globs.d.ts.map +1 -0
- package/dist/workspace-globs.js +45 -0
- package/dist/workspace-globs.js.map +1 -0
- package/dist/workspace-policy.d.ts.map +1 -1
- package/dist/workspace-policy.js +15 -10
- package/dist/workspace-policy.js.map +1 -1
- package/dist/yaml-blocks.d.ts +8 -46
- package/dist/yaml-blocks.d.ts.map +1 -1
- package/dist/yaml-blocks.js +91 -91
- package/dist/yaml-blocks.js.map +1 -1
- package/package.json +7 -2
package/dist/image-assets.js
CHANGED
|
@@ -79,9 +79,9 @@ const validateJpeg = (bytes) => {
|
|
|
79
79
|
bytes[SECOND_BYTE] !== JPEG_START_OF_IMAGE) {
|
|
80
80
|
return 'not a valid JPEG (bad SOI marker)';
|
|
81
81
|
}
|
|
82
|
-
return bytes.at(SECOND_TO_LAST_BYTE)
|
|
83
|
-
?
|
|
84
|
-
:
|
|
82
|
+
return bytes.at(SECOND_TO_LAST_BYTE) === JPEG_MARKER_PREFIX && bytes.at(LAST_BYTE) === JPEG_END_OF_IMAGE
|
|
83
|
+
? null
|
|
84
|
+
: 'truncated JPEG (missing EOI marker)';
|
|
85
85
|
};
|
|
86
86
|
const GIF_HEADER_BYTES = 6;
|
|
87
87
|
const GIF_TRAILER = 0x3b;
|
package/dist/image-assets.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"image-assets.js","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"image-assets.js","sourceRoot":"","sources":["../src/image-assets.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,7 @@ 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 './biome-selection.js';
|
|
10
11
|
export * from './blocklist.js';
|
|
11
12
|
export * from './blocklist-entries.js';
|
|
12
13
|
export * from './browser-server-policy.js';
|
|
@@ -24,6 +25,7 @@ export * from './container-failure.js';
|
|
|
24
25
|
export * from './container-files.js';
|
|
25
26
|
export * from './container-freshness.js';
|
|
26
27
|
export * from './container-images.js';
|
|
28
|
+
export * from './coverage-policy.js';
|
|
27
29
|
export * from './dependency-freshness.js';
|
|
28
30
|
export * from './doc-blocks.js';
|
|
29
31
|
export * from './document-references.js';
|
|
@@ -34,6 +36,7 @@ export * from './file-roles.js';
|
|
|
34
36
|
export * from './freshness-repair.js';
|
|
35
37
|
export * from './generated-denial.js';
|
|
36
38
|
export * from './generated-drift.js';
|
|
39
|
+
export * from './glob-alternatives.js';
|
|
37
40
|
export * from './harness-package.js';
|
|
38
41
|
export * from './history-policy.js';
|
|
39
42
|
export * from './image-assets.js';
|
|
@@ -47,6 +50,7 @@ export * from './layout-snapshot.js';
|
|
|
47
50
|
export * from './layout-text.js';
|
|
48
51
|
export * from './license-allowlist.js';
|
|
49
52
|
export * from './license-inventory.js';
|
|
53
|
+
export * from './member-patterns.js';
|
|
50
54
|
export * from './network-policy.js';
|
|
51
55
|
export * from './oxlint-policy.js';
|
|
52
56
|
export * from './oxlint-report.js';
|
|
@@ -66,6 +70,7 @@ export * from './relationship-cleanup.js';
|
|
|
66
70
|
export * from './release-age.js';
|
|
67
71
|
export * from './request-limits.js';
|
|
68
72
|
export * from './route-coverage.js';
|
|
73
|
+
export * from './route-exclusions.js';
|
|
69
74
|
export * from './route-map.js';
|
|
70
75
|
export * from './run-plan.js';
|
|
71
76
|
export * from './run-policy.js';
|
|
@@ -77,6 +82,7 @@ export * from './settings.js';
|
|
|
77
82
|
export * from './settings-layering.js';
|
|
78
83
|
export * from './shell-files.js';
|
|
79
84
|
export * from './skill-manifest.js';
|
|
85
|
+
export * from './source-selection.js';
|
|
80
86
|
export * from './source-text.js';
|
|
81
87
|
export * from './suppression-ceiling.js';
|
|
82
88
|
export * from './tailwind-tokens.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -11,6 +11,7 @@ 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 './biome-selection.js';
|
|
14
15
|
export * from './blocklist.js';
|
|
15
16
|
export * from './blocklist-entries.js';
|
|
16
17
|
export * from './browser-server-policy.js';
|
|
@@ -28,6 +29,7 @@ export * from './container-failure.js';
|
|
|
28
29
|
export * from './container-files.js';
|
|
29
30
|
export * from './container-freshness.js';
|
|
30
31
|
export * from './container-images.js';
|
|
32
|
+
export * from './coverage-policy.js';
|
|
31
33
|
export * from './dependency-freshness.js';
|
|
32
34
|
export * from './doc-blocks.js';
|
|
33
35
|
export * from './document-references.js';
|
|
@@ -38,6 +40,7 @@ export * from './file-roles.js';
|
|
|
38
40
|
export * from './freshness-repair.js';
|
|
39
41
|
export * from './generated-denial.js';
|
|
40
42
|
export * from './generated-drift.js';
|
|
43
|
+
export * from './glob-alternatives.js';
|
|
41
44
|
export * from './harness-package.js';
|
|
42
45
|
export * from './history-policy.js';
|
|
43
46
|
export * from './image-assets.js';
|
|
@@ -51,6 +54,7 @@ export * from './layout-snapshot.js';
|
|
|
51
54
|
export * from './layout-text.js';
|
|
52
55
|
export * from './license-allowlist.js';
|
|
53
56
|
export * from './license-inventory.js';
|
|
57
|
+
export * from './member-patterns.js';
|
|
54
58
|
export * from './network-policy.js';
|
|
55
59
|
export * from './oxlint-policy.js';
|
|
56
60
|
export * from './oxlint-report.js';
|
|
@@ -70,6 +74,7 @@ export * from './relationship-cleanup.js';
|
|
|
70
74
|
export * from './release-age.js';
|
|
71
75
|
export * from './request-limits.js';
|
|
72
76
|
export * from './route-coverage.js';
|
|
77
|
+
export * from './route-exclusions.js';
|
|
73
78
|
export * from './route-map.js';
|
|
74
79
|
export * from './run-plan.js';
|
|
75
80
|
export * from './run-policy.js';
|
|
@@ -81,6 +86,7 @@ export * from './settings.js';
|
|
|
81
86
|
export * from './settings-layering.js';
|
|
82
87
|
export * from './shell-files.js';
|
|
83
88
|
export * from './skill-manifest.js';
|
|
89
|
+
export * from './source-selection.js';
|
|
84
90
|
export * from './source-text.js';
|
|
85
91
|
export * from './suppression-ceiling.js';
|
|
86
92
|
export * from './tailwind-tokens.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/install-policy.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WiringViolation } from './wiring-violation.js';
|
|
1
2
|
/**
|
|
2
3
|
* The install-config keys that can redefine a resolved version.
|
|
3
4
|
*
|
|
@@ -32,6 +33,8 @@ export declare const declaresInstallScriptAllowlist: (workspaceFile: string, pac
|
|
|
32
33
|
* @returns one message per silencing key found.
|
|
33
34
|
*/
|
|
34
35
|
export declare const findSilencedAdvisories: (packageJson: unknown) => readonly string[];
|
|
36
|
+
/** Reject audit filters before either wiring or an audit reader can accept filtered evidence. */
|
|
37
|
+
export declare const findAuditSilencingViolations: (packageJson: unknown, workspaceFile: string) => readonly WiringViolation[];
|
|
35
38
|
/**
|
|
36
39
|
* The package a `name@version` key or specifier names.
|
|
37
40
|
*
|
|
@@ -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":"AAWA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAG5D;;;;;;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;AAOD,iGAAiG;AACjG,eAAO,MAAM,4BAA4B,GACvC,aAAa,OAAO,EACpB,eAAe,MAAM,KACpB,SAAS,eAAe,EAkB1B,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
|
@@ -5,9 +5,7 @@
|
|
|
5
5
|
// declaration untouched - so the gate passes while the code runs against a version ploaness never saw.
|
|
6
6
|
// The same shape of escape silences the vulnerability gate through `pnpm.auditConfig`.
|
|
7
7
|
//
|
|
8
|
-
// The
|
|
9
|
-
// block keys pnpm reads at the top level of a workspace file, which is where they must appear to take
|
|
10
|
-
// effect.
|
|
8
|
+
// The shared YAML reader preserves the meaning of flow and block forms without performing I/O.
|
|
11
9
|
import { HARNESS_PACKAGE, isHarnessPackage } from './harness-package.js';
|
|
12
10
|
import { readKey } from './json-shapes.js';
|
|
13
11
|
import { declaresTopLevelKey, topLevelListItems, topLevelMappingEntries, topLevelScalar } from './yaml-blocks.js';
|
|
@@ -52,6 +50,24 @@ export const findSilencedAdvisories = (packageJson) => {
|
|
|
52
50
|
const auditConfig = readKey(readKey(packageJson, 'pnpm'), 'auditConfig');
|
|
53
51
|
return SILENCING_KEYS.filter((key) => Array.isArray(readKey(auditConfig, key)));
|
|
54
52
|
};
|
|
53
|
+
const WORKSPACE_AUDIT_KEYS = {
|
|
54
|
+
audit: ['ignore'],
|
|
55
|
+
auditConfig: SILENCING_KEYS,
|
|
56
|
+
};
|
|
57
|
+
/** Reject audit filters before either wiring or an audit reader can accept filtered evidence. */
|
|
58
|
+
export const findAuditSilencingViolations = (packageJson, workspaceFile) => {
|
|
59
|
+
const locations = [
|
|
60
|
+
...findSilencedAdvisories(packageJson).map((key) => `package.json pnpm.auditConfig.${key}`),
|
|
61
|
+
...Object.entries(WORKSPACE_AUDIT_KEYS).flatMap(([section, keys]) => topLevelMappingEntries(workspaceFile, section)
|
|
62
|
+
.filter(([key]) => keys.includes(key))
|
|
63
|
+
.map(([key]) => `pnpm-workspace.yaml ${section}.${key}`)),
|
|
64
|
+
];
|
|
65
|
+
return locations.map((location) => ({
|
|
66
|
+
location,
|
|
67
|
+
reason: 'silences the vulnerability gate; record the advisory in ' +
|
|
68
|
+
'ploaness.vulnerabilityAllowlist instead, with a reason, a mitigation plan and a date',
|
|
69
|
+
}));
|
|
70
|
+
};
|
|
55
71
|
/**
|
|
56
72
|
* The package a `name@version` key or specifier names.
|
|
57
73
|
*
|
|
@@ -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
|
|
1
|
+
{"version":3,"file":"install-policy.js","sourceRoot":"","sources":["../src/install-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Restrict a repository glob to one member without changing the directory it was declared against. */
|
|
2
|
+
export declare const memberGlobs: (pattern: string, memberPath: string) => readonly string[];
|
|
3
|
+
/** Restrict a repository source directory to the portion owned by a member. */
|
|
4
|
+
export declare const memberDirectories: (directory: string, memberPath: string) => readonly string[];
|
|
5
|
+
/** Project only filesystem declarations; scalar constraints retain ordinary inheritance. */
|
|
6
|
+
export declare const memberSettingBlock: (block: Record<string, unknown>, memberPath: string) => Record<string, unknown>;
|
|
7
|
+
//# sourceMappingURL=member-patterns.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-patterns.d.ts","sourceRoot":"","sources":["../src/member-patterns.ts"],"names":[],"mappings":"AAmBA,uGAAuG;AACvG,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,YAAY,MAAM,KAAG,SAAS,MAAM,EAS1E,CAAA;AAEP,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,GAAI,WAAW,MAAM,EAAE,YAAY,MAAM,KAAG,SAAS,MAAM,EAQxF,CAAA;AAgCD,4FAA4F;AAC5F,eAAO,MAAM,kBAAkB,GAAI,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,YAAY,MAAM,KAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAc3G,CAAA"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { matchesGlob } from './file-roles.js';
|
|
2
|
+
import { globAlternatives } from './glob-alternatives.js';
|
|
3
|
+
import { asRecord, isArray } from './json-shapes.js';
|
|
4
|
+
const GLOB_SETTINGS = new Set(['coverageExclude', 'frameworkGlue', 'generatedArtefacts']);
|
|
5
|
+
const consumeDirectory = (tokens, directories) => {
|
|
6
|
+
if (directories.length === 0) {
|
|
7
|
+
return tokens.length === 0 ? [] : [tokens.join('/')];
|
|
8
|
+
}
|
|
9
|
+
const part = tokens[0];
|
|
10
|
+
if (part === '**') {
|
|
11
|
+
return [...consumeDirectory(tokens, directories.slice(1)), ...consumeDirectory(tokens.slice(1), directories)];
|
|
12
|
+
}
|
|
13
|
+
return part !== undefined && matchesGlob(part, directories[0] ?? '')
|
|
14
|
+
? consumeDirectory(tokens.slice(1), directories.slice(1))
|
|
15
|
+
: [];
|
|
16
|
+
};
|
|
17
|
+
/** Restrict a repository glob to one member without changing the directory it was declared against. */
|
|
18
|
+
export const memberGlobs = (pattern, memberPath) => memberPath === '.'
|
|
19
|
+
? [pattern]
|
|
20
|
+
: [
|
|
21
|
+
...new Set(globAlternatives(pattern).flatMap((alternative) => consumeDirectory(alternative.split('/'), memberPath.split('/')))),
|
|
22
|
+
];
|
|
23
|
+
/** Restrict a repository source directory to the portion owned by a member. */
|
|
24
|
+
export const memberDirectories = (directory, memberPath) => {
|
|
25
|
+
if (memberPath === '.') {
|
|
26
|
+
return [directory];
|
|
27
|
+
}
|
|
28
|
+
if (directory === '.' || directory === memberPath || memberPath.startsWith(`${directory}/`)) {
|
|
29
|
+
return ['.'];
|
|
30
|
+
}
|
|
31
|
+
return directory.startsWith(`${memberPath}/`) ? [directory.slice(memberPath.length + 1)] : [];
|
|
32
|
+
};
|
|
33
|
+
const projectEntries = (raw, memberPath, isDirectory) => (isArray(raw) ? raw : []).flatMap((entry) => {
|
|
34
|
+
const record = asRecord(entry);
|
|
35
|
+
const pattern = typeof entry === 'string' ? entry : record['pattern'];
|
|
36
|
+
if (typeof pattern !== 'string') {
|
|
37
|
+
return [];
|
|
38
|
+
}
|
|
39
|
+
const projected = isDirectory
|
|
40
|
+
? memberDirectories(pattern, memberPath)
|
|
41
|
+
: memberGlobs(pattern, memberPath);
|
|
42
|
+
return projected.map((value) => typeof entry === 'string' ? value : { ...record, pattern: value });
|
|
43
|
+
});
|
|
44
|
+
const memberAssets = (raw, memberPath) => {
|
|
45
|
+
const entries = isArray(raw) ? raw : [];
|
|
46
|
+
if (memberPath === '.') {
|
|
47
|
+
return entries;
|
|
48
|
+
}
|
|
49
|
+
return entries.flatMap((entry) => {
|
|
50
|
+
const record = asRecord(entry);
|
|
51
|
+
const assetPath = record['path'];
|
|
52
|
+
const prefix = `${memberPath}/`;
|
|
53
|
+
return typeof assetPath === 'string' && assetPath.startsWith(prefix)
|
|
54
|
+
? [{ ...record, path: assetPath.slice(prefix.length) }]
|
|
55
|
+
: [];
|
|
56
|
+
});
|
|
57
|
+
};
|
|
58
|
+
/** Project only filesystem declarations; scalar constraints retain ordinary inheritance. */
|
|
59
|
+
export const memberSettingBlock = (block, memberPath) => Object.fromEntries(Object.entries(block).flatMap(([key, value]) => {
|
|
60
|
+
if (key === 'javascriptAllowlist' || key === 'typographyExclusions') {
|
|
61
|
+
return [];
|
|
62
|
+
}
|
|
63
|
+
if (key === 'unmanagedAssets') {
|
|
64
|
+
return [[key, memberAssets(value, memberPath)]];
|
|
65
|
+
}
|
|
66
|
+
if (key === 'sourceRoots' || key === 'pureLogicRoots' || GLOB_SETTINGS.has(key)) {
|
|
67
|
+
return [[key, projectEntries(value, memberPath, !GLOB_SETTINGS.has(key))]];
|
|
68
|
+
}
|
|
69
|
+
return [[key, value]];
|
|
70
|
+
}));
|
|
71
|
+
//# sourceMappingURL=member-patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"member-patterns.js","sourceRoot":"","sources":["../src/member-patterns.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,4 +8,8 @@ export interface ProductionOutput {
|
|
|
8
8
|
export declare const shellArgument: (value: string) => string;
|
|
9
9
|
/** Select the server from the artifact's recorded configuration, never a development fallback. */
|
|
10
10
|
export declare const productionOutputOf: (manifest: unknown) => ProductionOutput;
|
|
11
|
+
/** Identifies the production-directory probe's evidence among project configuration logs. */
|
|
12
|
+
export declare const PRODUCTION_DIRECTORY_MARKER: string;
|
|
13
|
+
/** Parse exactly one complete directory report; malformed or ambiguous evidence cannot select output. */
|
|
14
|
+
export declare const parseProductionDirectory: (text: string) => string | undefined;
|
|
11
15
|
//# sourceMappingURL=production-server.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-server.d.ts","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,0FAA0F;AAC1F,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAAiD,CAAA;AAE/F,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,GAAI,UAAU,OAAO,KAAG,gBAatD,CAAA"}
|
|
1
|
+
{"version":3,"file":"production-server.d.ts","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAEA,kFAAkF;AAClF,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;IAC5B,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CACzB;AAED,0FAA0F;AAC1F,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,KAAG,MAAiD,CAAA;AAE/F,kGAAkG;AAClG,eAAO,MAAM,kBAAkB,GAAI,UAAU,OAAO,KAAG,gBAatD,CAAA;AAED,6FAA6F;AAC7F,eAAO,MAAM,2BAA2B,EAAE,MAAyC,CAAA;AAEnF,yGAAyG;AACzG,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,KAAG,MAAM,GAAG,SAchE,CAAA"}
|
|
@@ -14,4 +14,23 @@ export const productionOutputOf = (manifest) => {
|
|
|
14
14
|
}
|
|
15
15
|
return { standalone: output === 'standalone', relativeAppDir: appDirectory, distDir: buildDirectory };
|
|
16
16
|
};
|
|
17
|
+
/** Identifies the production-directory probe's evidence among project configuration logs. */
|
|
18
|
+
export const PRODUCTION_DIRECTORY_MARKER = 'ploaness-production-directory:';
|
|
19
|
+
/** Parse exactly one complete directory report; malformed or ambiguous evidence cannot select output. */
|
|
20
|
+
export const parseProductionDirectory = (text) => {
|
|
21
|
+
const lines = text
|
|
22
|
+
.split('\n')
|
|
23
|
+
.map((line) => line.trim())
|
|
24
|
+
.filter((line) => line.startsWith(PRODUCTION_DIRECTORY_MARKER));
|
|
25
|
+
if (lines.length !== 1) {
|
|
26
|
+
return undefined;
|
|
27
|
+
}
|
|
28
|
+
try {
|
|
29
|
+
const value = JSON.parse((lines[0] ?? '').slice(PRODUCTION_DIRECTORY_MARKER.length));
|
|
30
|
+
return typeof value === 'string' && value.trim().length > 0 ? value : undefined;
|
|
31
|
+
}
|
|
32
|
+
catch {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
17
36
|
//# sourceMappingURL=production-server.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"production-server.js","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AASpD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAA;AAE/F,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAoB,EAAE;IACxE,MAAM,MAAM,GAA4B,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAY,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,YAAY,GAAY,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IACjE,MAAM,cAAc,GAAY,MAAM,CAAC,SAAS,CAAC,CAAA;IACjD,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CAAC,EACjD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAA;IAC3G,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;AACvG,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"production-server.js","sourceRoot":"","sources":["../src/production-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AASpD,0FAA0F;AAC1F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,SAAS,CAAC,GAAG,CAAA;AAE/F,kGAAkG;AAClG,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,QAAiB,EAAoB,EAAE;IACxE,MAAM,MAAM,GAA4B,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAY,MAAM,CAAC,QAAQ,CAAC,CAAA;IACxC,MAAM,YAAY,GAAY,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAA;IACjE,MAAM,cAAc,GAAY,MAAM,CAAC,SAAS,CAAC,CAAA;IACjD,IACE,OAAO,cAAc,KAAK,QAAQ;QAClC,OAAO,YAAY,KAAK,QAAQ;QAChC,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,YAAY,CAAC,EACjD,CAAC;QACD,MAAM,IAAI,SAAS,CAAC,oFAAoF,CAAC,CAAA;IAC3G,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,MAAM,KAAK,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;AACvG,CAAC,CAAA;AAED,6FAA6F;AAC7F,MAAM,CAAC,MAAM,2BAA2B,GAAW,gCAAgC,CAAA;AAEnF,yGAAyG;AACzG,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,IAAY,EAAsB,EAAE;IAC3E,MAAM,KAAK,GAAsB,IAAI;SAClC,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1C,MAAM,CAAC,CAAC,IAAY,EAAW,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,2BAA2B,CAAC,CAAC,CAAA;IAClF,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,IAAI,CAAC;QACH,MAAM,KAAK,GAAY,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAA;QAC7F,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAA;IACjF,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAA;IAClB,CAAC;AACH,CAAC,CAAA"}
|
package/dist/route-coverage.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export interface RouteSweep {
|
|
|
8
8
|
/** The addresses that answered, including those that forwarded off the public surface. */
|
|
9
9
|
readonly answeredRoutes: readonly string[];
|
|
10
10
|
readonly skippedPrefixes: readonly string[];
|
|
11
|
+
/** Explicit project prefixes; legacy callers infer non-framework entries from skippedPrefixes. */
|
|
12
|
+
readonly customSkippedPrefixes?: readonly string[] | undefined;
|
|
11
13
|
readonly specs: readonly SpecSource[];
|
|
12
14
|
readonly everyFile: readonly SpecSource[];
|
|
13
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-coverage.d.ts","sourceRoot":"","sources":["../src/route-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"route-coverage.d.ts","sourceRoot":"","sources":["../src/route-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAA;AAErH,OAAO,EAAE,KAAK,aAAa,EAAmC,MAAM,gBAAgB,CAAA;AAqBpF,yDAAyD;AACzD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,cAAc,EAAE,SAAS,aAAa,EAAE,CAAA;IACjD,mDAAmD;IACnD,QAAQ,CAAC,aAAa,EAAE,SAAS,MAAM,EAAE,CAAA;IACzC,0FAA0F;IAC1F,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAA;IAC1C,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAA;IAC3C,kGAAkG;IAClG,QAAQ,CAAC,qBAAqB,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC9D,QAAQ,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,CAAA;IACrC,QAAQ,CAAC,SAAS,EAAE,SAAS,UAAU,EAAE,CAAA;CAC1C;AAED,yCAAyC;AACzC,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CACxB;AAiED;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,UAAU,KAAG,SAAS,YAAY,EAO1E,CAAA"}
|
package/dist/route-coverage.js
CHANGED
|
@@ -1,18 +1,15 @@
|
|
|
1
1
|
import { containsBuiltRoute, containsRoute, reachesAxe, reachesLayoutScan } from './axe-coverage.js';
|
|
2
|
-
import {
|
|
2
|
+
import { isSkippedRoute } from './route-exclusions.js';
|
|
3
|
+
import { resolvedRouteOf, staticPrefixOf } from './route-map.js';
|
|
3
4
|
const REMEDIES = 'link it from a page the crawl reaches, scan it in a specification of your own with ' +
|
|
4
5
|
'`expectSweptPage(page)` from `ploaness/a11y`, or declare it in `ploaness.accessibilitySkipRoutes` ' +
|
|
5
6
|
'with the reason it is out of scope';
|
|
6
|
-
//
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
// has a declaration of its own - so a redirect is covered rather than unswept.
|
|
13
|
-
const isRedirect = (sweep, route) => sweep.answeredRoutes.some((answered) => matchesRoute(route.route, answered)) &&
|
|
14
|
-
!sweep.visitedRoutes.some((visited) => matchesRoute(route.route, visited));
|
|
15
|
-
const isScanned = (sweep, route) => sweep.visitedRoutes.some((visited) => matchesRoute(route.route, visited));
|
|
7
|
+
// An answered redirect is covered at its source address even if it leaves the public surface.
|
|
8
|
+
// Both visits and redirects credit only the declaration selected from the complete route set.
|
|
9
|
+
const coveredFiles = (sweep) => new Set([...sweep.visitedRoutes, ...sweep.answeredRoutes].flatMap((visited) => {
|
|
10
|
+
const route = resolvedRouteOf(sweep.declaredRoutes, visited);
|
|
11
|
+
return route === undefined ? [] : [route.file];
|
|
12
|
+
}));
|
|
16
13
|
// What counts as a specification driving this route. A static address can be looked for as itself; a
|
|
17
14
|
// dynamic one cannot, because a spec never contains `/posts/[slug]` - it contains `/posts/` and then a
|
|
18
15
|
// value it computed. See `containsBuiltRoute` for why the prefix alone is not enough.
|
|
@@ -60,10 +57,10 @@ const unsweptRoute = (sweep, route) => {
|
|
|
60
57
|
* @param sweep what the crawl reached, what the project declares, and where a scan would be written.
|
|
61
58
|
* @returns one violation per page nothing looked at, in the order the routes were declared.
|
|
62
59
|
*/
|
|
63
|
-
export const findUnsweptRoutes = (sweep) =>
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
}
|
|
60
|
+
export const findUnsweptRoutes = (sweep) => {
|
|
61
|
+
const covered = coveredFiles(sweep);
|
|
62
|
+
return sweep.declaredRoutes.flatMap((route) => isSkippedRoute(route.route, sweep.skippedPrefixes, sweep.customSkippedPrefixes) || covered.has(route.file)
|
|
63
|
+
? []
|
|
64
|
+
: unsweptRoute(sweep, route));
|
|
65
|
+
};
|
|
69
66
|
//# sourceMappingURL=route-coverage.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-coverage.js","sourceRoot":"","sources":["../src/route-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAsB,
|
|
1
|
+
{"version":3,"file":"route-coverage.js","sourceRoot":"","sources":["../src/route-coverage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,UAAU,EAAE,iBAAiB,EAAmB,MAAM,mBAAmB,CAAA;AACrH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAsB,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AA2CpF,MAAM,QAAQ,GACZ,qFAAqF;IACrF,oGAAoG;IACpG,oCAAoC,CAAA;AAEtC,8FAA8F;AAC9F,8FAA8F;AAC9F,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAuB,EAAE,CAC9D,IAAI,GAAG,CACL,CAAC,GAAG,KAAK,CAAC,aAAa,EAAE,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,CAAC,OAAe,EAAqB,EAAE;IAC/F,MAAM,KAAK,GAA8B,eAAe,CAAC,KAAK,CAAC,cAAc,EAAE,OAAO,CAAC,CAAA;IACvF,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAChD,CAAC,CAAC,CACH,CAAA;AAEH,qGAAqG;AACrG,uGAAuG;AACvG,sFAAsF;AACtF,MAAM,UAAU,GAAG,CAAC,IAAgB,EAAE,KAAoB,EAAW,EAAE,CACrE,KAAK,CAAC,SAAS;IACb,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;AAE7C,MAAM,YAAY,GAAG,CAAC,KAAiB,EAAE,KAAoB,EAAkB,EAAE;IAC/E,MAAM,OAAO,GAA0B,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAA;IACjH,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO;YACL;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,eAAe;gBACrB,MAAM,EACJ,0CAA0C,KAAK,CAAC,KAAK,oCAAoC;oBACzF,8DAA8D,QAAQ,EAAE;aAC3E;SACF,CAAA;IACH,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO;YACL;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EACJ,0CAA0C,KAAK,CAAC,KAAK,mCAAmC;oBACxF,0EAA0E,QAAQ,EAAE;aACvF;SACF,CAAA;IACH,CAAC;IACD,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,IAAgB,EAAW,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC;QAC1F,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE;gBACE,IAAI,EAAE,KAAK,CAAC,IAAI;gBAChB,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,IAAI,EAAE,kBAAkB;gBACxB,MAAM,EACJ,4BAA4B,KAAK,CAAC,KAAK,2CAA2C;oBAClF,qEAAqE,QAAQ,EAAE;aAClF;SACF,CAAA;AACP,CAAC,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAiB,EAA2B,EAAE;IAC9E,MAAM,OAAO,GAAwB,YAAY,CAAC,KAAK,CAAC,CAAA;IACxD,OAAO,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,KAAoB,EAAkB,EAAE,CAC3E,cAAc,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,qBAAqB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;QACxG,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC,CAC/B,CAAA;AACH,CAAC,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Framework paths excluded at segment boundaries, independently of project-declared prefixes. */
|
|
2
|
+
export declare const DEFAULT_SKIPPED_ROUTES: readonly string[];
|
|
3
|
+
/**
|
|
4
|
+
* Keep framework path exclusions narrow while preserving explicit project prefix declarations.
|
|
5
|
+
* @param route the URL path or declared route pattern.
|
|
6
|
+
* @param prefixes the effective list, including framework defaults when applicable.
|
|
7
|
+
* @param customPrefixes explicit declarations, including any that repeat a framework default.
|
|
8
|
+
* @returns whether the route is outside the accessibility sweep.
|
|
9
|
+
*/
|
|
10
|
+
export declare const isSkippedRoute: (route: string, prefixes: readonly string[], customPrefixes?: readonly string[]) => boolean;
|
|
11
|
+
//# sourceMappingURL=route-exclusions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-exclusions.d.ts","sourceRoot":"","sources":["../src/route-exclusions.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,eAAO,MAAM,sBAAsB,EAAE,SAAS,MAAM,EAAuB,CAAA;AAE3E;;;;;;GAMG;AACH,eAAO,MAAM,cAAc,GACzB,OAAO,MAAM,EACb,UAAU,SAAS,MAAM,EAAE,EAC3B,iBAAgB,SAAS,MAAM,EAE9B,KACA,OAI8E,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/** Framework paths excluded at segment boundaries, independently of project-declared prefixes. */
|
|
2
|
+
export const DEFAULT_SKIPPED_ROUTES = ['/admin', '/api'];
|
|
3
|
+
/**
|
|
4
|
+
* Keep framework path exclusions narrow while preserving explicit project prefix declarations.
|
|
5
|
+
* @param route the URL path or declared route pattern.
|
|
6
|
+
* @param prefixes the effective list, including framework defaults when applicable.
|
|
7
|
+
* @param customPrefixes explicit declarations, including any that repeat a framework default.
|
|
8
|
+
* @returns whether the route is outside the accessibility sweep.
|
|
9
|
+
*/
|
|
10
|
+
export const isSkippedRoute = (route, prefixes, customPrefixes = prefixes.filter((prefix) => !DEFAULT_SKIPPED_ROUTES.includes(prefix))) => prefixes.some((prefix) => DEFAULT_SKIPPED_ROUTES.includes(prefix) && (route === prefix || route.startsWith(`${prefix}/`))) || customPrefixes.some((prefix) => route.startsWith(prefix));
|
|
11
|
+
//# sourceMappingURL=route-exclusions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-exclusions.js","sourceRoot":"","sources":["../src/route-exclusions.ts"],"names":[],"mappings":"AAAA,kGAAkG;AAClG,MAAM,CAAC,MAAM,sBAAsB,GAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;AAE3E;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAa,EACb,QAA2B,EAC3B,iBAAoC,QAAQ,CAAC,MAAM,CACjD,CAAC,MAAc,EAAW,EAAE,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,CACtE,EACQ,EAAE,CACX,QAAQ,CAAC,IAAI,CACX,CAAC,MAAc,EAAW,EAAE,CAC1B,sBAAsB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,KAAK,MAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,CAClG,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,MAAc,EAAW,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAA"}
|
package/dist/route-map.d.ts
CHANGED
|
@@ -52,14 +52,20 @@ export declare const declaredRoutesOf: (paths: readonly string[], appRoot: strin
|
|
|
52
52
|
*/
|
|
53
53
|
export declare const staticPrefixOf: (route: string) => string;
|
|
54
54
|
/**
|
|
55
|
-
* Whether
|
|
55
|
+
* Whether a declared pattern admits one visited address.
|
|
56
56
|
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* has been scanned, whatever else it can also serve.
|
|
57
|
+
* This matches patterns independently. Use `resolvedRouteOf` to select the rendered page when
|
|
58
|
+
* several declarations admit the same URL.
|
|
60
59
|
* @param route the declared address, dynamic segments in their file-tree spelling.
|
|
61
60
|
* @param visited an address the crawl reached.
|
|
62
|
-
* @returns true when
|
|
61
|
+
* @returns true when the pattern admits the address; resolve overlaps before crediting coverage.
|
|
63
62
|
*/
|
|
64
63
|
export declare const matchesRoute: (route: string, visited: string) => boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Select the declaration rendered by a URL among the supported Next route patterns.
|
|
66
|
+
* @param routes the complete declared set, including routes excluded from the sweep.
|
|
67
|
+
* @param visited the requested URL path.
|
|
68
|
+
* @returns the most specific matching declaration, or nothing when no pattern matches.
|
|
69
|
+
*/
|
|
70
|
+
export declare const resolvedRouteOf: (routes: readonly DeclaredRoute[], visited: string) => DeclaredRoute | undefined;
|
|
65
71
|
//# sourceMappingURL=route-map.d.ts.map
|
package/dist/route-map.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-map.d.ts","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAiCD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAC8C,CAAA;AAuB5G;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MACoC,CAAA;AAEpF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,aAAa,GAAG,SAiB9D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,KAAG,SAAS,aAAa,EAalG,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAK9C,CAAA;AAiCD
|
|
1
|
+
{"version":3,"file":"route-map.d.ts","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"AAEA,4EAA4E;AAC5E,MAAM,WAAW,aAAa;IAC5B,0DAA0D;IAC1D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,2EAA2E;IAC3E,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAA;CAC5B;AAiCD;;;;;;;GAOG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAC8C,CAAA;AAuB5G;;;;;;;;GAQG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,MAAM,KAAG,MACoC,CAAA;AAEpF;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,aAAa,GAAG,SAiB9D,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,OAAO,SAAS,MAAM,EAAE,EAAE,SAAS,MAAM,KAAG,SAAS,aAAa,EAalG,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAK9C,CAAA;AAiCD;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,MAAM,EAAE,SAAS,MAAM,KAAG,OACL,CAAA;AA4BzD;;;;;GAKG;AACH,eAAO,MAAM,eAAe,GAAI,QAAQ,SAAS,aAAa,EAAE,EAAE,SAAS,MAAM,KAAG,aAAa,GAAG,SAS/F,CAAA"}
|
package/dist/route-map.js
CHANGED
|
@@ -141,14 +141,47 @@ const matchesSegments = (pattern, actual) => {
|
|
|
141
141
|
: actual[0] === head && matchesSegments(rest, actual.slice(1));
|
|
142
142
|
};
|
|
143
143
|
/**
|
|
144
|
-
* Whether
|
|
144
|
+
* Whether a declared pattern admits one visited address.
|
|
145
145
|
*
|
|
146
|
-
*
|
|
147
|
-
*
|
|
148
|
-
* has been scanned, whatever else it can also serve.
|
|
146
|
+
* This matches patterns independently. Use `resolvedRouteOf` to select the rendered page when
|
|
147
|
+
* several declarations admit the same URL.
|
|
149
148
|
* @param route the declared address, dynamic segments in their file-tree spelling.
|
|
150
149
|
* @param visited an address the crawl reached.
|
|
151
|
-
* @returns true when
|
|
150
|
+
* @returns true when the pattern admits the address; resolve overlaps before crediting coverage.
|
|
152
151
|
*/
|
|
153
152
|
export const matchesRoute = (route, visited) => matchesSegments(segmentsOf(route), segmentsOf(visited));
|
|
153
|
+
const EXACT_SPECIFICITY = 5;
|
|
154
|
+
const STATIC_SPECIFICITY = 4;
|
|
155
|
+
const DYNAMIC_SPECIFICITY = 3;
|
|
156
|
+
const CATCH_ALL_SPECIFICITY = 2;
|
|
157
|
+
const OPTIONAL_SPECIFICITY = 1;
|
|
158
|
+
const segmentSpecificity = (segment) => {
|
|
159
|
+
if (segment === undefined) {
|
|
160
|
+
return EXACT_SPECIFICITY;
|
|
161
|
+
}
|
|
162
|
+
if (isOptionalCatchAll(segment)) {
|
|
163
|
+
return OPTIONAL_SPECIFICITY;
|
|
164
|
+
}
|
|
165
|
+
if (isCatchAll(segment)) {
|
|
166
|
+
return CATCH_ALL_SPECIFICITY;
|
|
167
|
+
}
|
|
168
|
+
return isDynamicSegment(segment) ? DYNAMIC_SPECIFICITY : STATIC_SPECIFICITY;
|
|
169
|
+
};
|
|
170
|
+
// Next selects the most specific branch at the first differing segment, not the route with the
|
|
171
|
+
// largest total number of static segments. An exact endpoint also precedes an optional tail.
|
|
172
|
+
const compareSpecificity = (left, right) => {
|
|
173
|
+
const difference = segmentSpecificity(left[0]) - segmentSpecificity(right[0]);
|
|
174
|
+
return difference !== 0 || left.length === 0 ? difference : compareSpecificity(left.slice(1), right.slice(1));
|
|
175
|
+
};
|
|
176
|
+
/**
|
|
177
|
+
* Select the declaration rendered by a URL among the supported Next route patterns.
|
|
178
|
+
* @param routes the complete declared set, including routes excluded from the sweep.
|
|
179
|
+
* @param visited the requested URL path.
|
|
180
|
+
* @returns the most specific matching declaration, or nothing when no pattern matches.
|
|
181
|
+
*/
|
|
182
|
+
export const resolvedRouteOf = (routes, visited) => routes
|
|
183
|
+
.filter((route) => matchesRoute(route.route, visited))
|
|
184
|
+
.reduce((selected, route) => selected === undefined || compareSpecificity(segmentsOf(route.route), segmentsOf(selected.route)) > 0
|
|
185
|
+
? route
|
|
186
|
+
: selected, undefined);
|
|
154
187
|
//# sourceMappingURL=route-map.js.map
|