@ploaness/governance 1.0.0 → 1.1.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 +35 -0
- package/dist/a11y-hit-target.d.ts.map +1 -0
- package/dist/a11y-hit-target.js +102 -0
- package/dist/a11y-hit-target.js.map +1 -0
- package/dist/a11y-incomplete.d.ts +18 -0
- package/dist/a11y-incomplete.d.ts.map +1 -0
- package/dist/a11y-incomplete.js +82 -0
- package/dist/a11y-incomplete.js.map +1 -0
- package/dist/access-boundary.d.ts +19 -5
- package/dist/access-boundary.d.ts.map +1 -1
- package/dist/access-boundary.js +58 -4
- package/dist/access-boundary.js.map +1 -1
- package/dist/admin-view-coverage.d.ts +25 -0
- package/dist/admin-view-coverage.d.ts.map +1 -0
- package/dist/admin-view-coverage.js +90 -0
- package/dist/admin-view-coverage.js.map +1 -0
- package/dist/axe-coverage.d.ts +41 -0
- package/dist/axe-coverage.d.ts.map +1 -0
- package/dist/axe-coverage.js +95 -0
- package/dist/axe-coverage.js.map +1 -0
- package/dist/banned-typography.d.ts.map +1 -1
- package/dist/banned-typography.js +26 -0
- package/dist/banned-typography.js.map +1 -1
- package/dist/build-diagnosis.d.ts +10 -0
- package/dist/build-diagnosis.d.ts.map +1 -0
- package/dist/build-diagnosis.js +38 -0
- package/dist/build-diagnosis.js.map +1 -0
- package/dist/document-references.d.ts.map +1 -1
- package/dist/document-references.js +7 -1
- package/dist/document-references.js.map +1 -1
- package/dist/environment-coherence.d.ts +87 -0
- package/dist/environment-coherence.d.ts.map +1 -0
- package/dist/environment-coherence.js +150 -0
- package/dist/environment-coherence.js.map +1 -0
- package/dist/generated-drift.d.ts +18 -0
- package/dist/generated-drift.d.ts.map +1 -0
- package/dist/generated-drift.js +35 -0
- package/dist/generated-drift.js.map +1 -0
- package/dist/index.d.ts +10 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -1
- package/dist/index.js.map +1 -1
- package/dist/payload-access.d.ts.map +1 -1
- package/dist/payload-access.js +23 -49
- package/dist/payload-access.js.map +1 -1
- package/dist/payload-configs.d.ts +24 -0
- package/dist/payload-configs.d.ts.map +1 -0
- package/dist/payload-configs.js +77 -0
- package/dist/payload-configs.js.map +1 -0
- package/dist/payload-field-access.d.ts +4 -0
- package/dist/payload-field-access.d.ts.map +1 -0
- package/dist/payload-field-access.js +51 -0
- package/dist/payload-field-access.js.map +1 -0
- package/dist/payload-policy.d.ts.map +1 -1
- package/dist/payload-policy.js +111 -13
- package/dist/payload-policy.js.map +1 -1
- package/dist/payload-source.js +2 -2
- package/dist/payload-source.js.map +1 -1
- package/dist/relationship-cleanup.d.ts +18 -0
- package/dist/relationship-cleanup.d.ts.map +1 -0
- package/dist/relationship-cleanup.js +96 -0
- package/dist/relationship-cleanup.js.map +1 -0
- package/dist/route-coverage.d.ts +27 -0
- package/dist/route-coverage.d.ts.map +1 -0
- package/dist/route-coverage.js +57 -0
- package/dist/route-coverage.js.map +1 -0
- package/dist/route-map.d.ts +65 -0
- package/dist/route-map.d.ts.map +1 -0
- package/dist/route-map.js +183 -0
- package/dist/route-map.js.map +1 -0
- package/dist/secret-policy.js +4 -4
- package/dist/secret-policy.js.map +1 -1
- package/dist/settings.d.ts +10 -0
- package/dist/settings.d.ts.map +1 -1
- package/dist/settings.js +5 -1
- package/dist/settings.js.map +1 -1
- package/dist/source-security.d.ts +4 -0
- package/dist/source-security.d.ts.map +1 -0
- package/dist/source-security.js +56 -0
- package/dist/source-security.js.map +1 -0
- package/dist/source-text.d.ts +14 -0
- package/dist/source-text.d.ts.map +1 -1
- package/dist/source-text.js +39 -0
- package/dist/source-text.js.map +1 -1
- package/dist/version-policy.d.ts.map +1 -1
- package/dist/version-policy.js +31 -0
- package/dist/version-policy.js.map +1 -1
- package/package.json +1 -1
- package/dist/url-safety.d.ts +0 -12
- package/dist/url-safety.d.ts.map +0 -1
- package/dist/url-safety.js +0 -58
- package/dist/url-safety.js.map +0 -1
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
// Which files of a Next.js application declare a page, and what address each one answers at.
|
|
2
|
+
//
|
|
3
|
+
// The accessibility sweep discovers routes by following links from the home page. To say what it
|
|
4
|
+
// MISSED, something has to say what exists, and the only statement of that a project always carries is
|
|
5
|
+
// its own file tree: `app/.../page.tsx` is the one declaration Next.js reads.
|
|
6
|
+
//
|
|
7
|
+
// This is string work over relative paths that were already listed, which is why it is here rather
|
|
8
|
+
// than beside the walker that lists them. The mapping is the error-prone half - route groups, parallel
|
|
9
|
+
// slots, intercepting routes, three kinds of dynamic segment - and a rule kept out of this package is
|
|
10
|
+
// a rule kept out of the coverage measurement.
|
|
11
|
+
//
|
|
12
|
+
// What it deliberately does NOT do is read `next.config`. `basePath`, `trailingSlash`, `rewrites`,
|
|
13
|
+
// `redirects` and a custom `pageExtensions` all change the address a file answers at, and the config
|
|
14
|
+
// cannot be evaluated without importing the application. A project that uses one of those tells the
|
|
15
|
+
// sweep so through `accessibilitySkipRoutes`; the limitation is stated in the guide rather than
|
|
16
|
+
// guessed at here.
|
|
17
|
+
// Next.js reads a page from any of these; `pageExtensions` can add more, which is one of the reasons
|
|
18
|
+
// the module comment above declines to guess at a configured project.
|
|
19
|
+
const PAGE_FILES = new Set([
|
|
20
|
+
'page.tsx',
|
|
21
|
+
'page.ts',
|
|
22
|
+
'page.jsx',
|
|
23
|
+
'page.js',
|
|
24
|
+
'page.mdx',
|
|
25
|
+
]);
|
|
26
|
+
// A root layout is required of a Next.js application and of nothing else, so it is what tells an app
|
|
27
|
+
// directory apart from a directory that happens to be called `app`.
|
|
28
|
+
const ROOT_LAYOUTS = new Set([
|
|
29
|
+
'layout.tsx',
|
|
30
|
+
'layout.ts',
|
|
31
|
+
'layout.jsx',
|
|
32
|
+
'layout.js',
|
|
33
|
+
]);
|
|
34
|
+
// `src/app` first, because that is where a Payload application puts it and where a stray top-level
|
|
35
|
+
// `app/` is least likely to be mistaken for one.
|
|
36
|
+
const APP_ROOTS = ['src/app', 'app'];
|
|
37
|
+
const ROOT_ROUTE = '/';
|
|
38
|
+
const SEGMENT_SEPARATOR = '/';
|
|
39
|
+
// Whether a path is the ROOT layout of a candidate app directory. Next.js requires one, and allows it
|
|
40
|
+
// to sit inside route groups rather than at the top: a Payload application has no `src/app/layout.tsx`
|
|
41
|
+
// at all, because `(frontend)` and `(payload)` each carry their own. Requiring the top-level file
|
|
42
|
+
// found no app directory in the commonest project this harness governs, and the check then passed by
|
|
43
|
+
// doing nothing - which is the one way a rule like this fails that nobody notices.
|
|
44
|
+
const isRootLayout = (path, root) => {
|
|
45
|
+
const prefix = `${root}${SEGMENT_SEPARATOR}`;
|
|
46
|
+
if (!path.startsWith(prefix)) {
|
|
47
|
+
return false;
|
|
48
|
+
}
|
|
49
|
+
const segments = path.slice(prefix.length).split(SEGMENT_SEPARATOR);
|
|
50
|
+
const addressed = segments.filter((segment) => !isRouteGroup(segment));
|
|
51
|
+
return addressed.length === 1 && ROOT_LAYOUTS.has(addressed[0] ?? '');
|
|
52
|
+
};
|
|
53
|
+
/**
|
|
54
|
+
* Which directory holds the application's routes.
|
|
55
|
+
*
|
|
56
|
+
* Chosen from the conventional two rather than searched for, and confirmed by the root layout Next.js
|
|
57
|
+
* requires, so a library with a `src/app` module of its own is not mistaken for an application.
|
|
58
|
+
* @param paths every file of the member, relative to its root, separated by forward slashes.
|
|
59
|
+
* @returns the app directory, or nothing when the member declares no routes.
|
|
60
|
+
*/
|
|
61
|
+
export const appRootOf = (paths) => APP_ROOTS.find((root) => paths.some((path) => isRootLayout(path, root)));
|
|
62
|
+
// A segment wholly inside parentheses is a route group: it organises the tree and contributes nothing
|
|
63
|
+
// to the address. `(.)photo` is not one - it is an intercepting route, and it opens with a parenthesis
|
|
64
|
+
// without closing on one, which is exactly what tells the two apart.
|
|
65
|
+
const isRouteGroup = (segment) => segment.startsWith('(') && segment.endsWith(')');
|
|
66
|
+
// `(.)`, `(..)`, `(...)` and `(..)(..)`, each followed by the segment being intercepted. A file behind
|
|
67
|
+
// one of these declares no independently reachable address: on a hard navigation the INTERCEPTED route
|
|
68
|
+
// renders instead, and that route has a declaration of its own. So the file is skipped rather than
|
|
69
|
+
// mapped to an address no server serves.
|
|
70
|
+
const isIntercepting = (segment) => segment.startsWith('(') && !segment.endsWith(')');
|
|
71
|
+
// A slot of a parallel route. Its own `page` file is the slot's default content, rendered by the
|
|
72
|
+
// parent's layout rather than at an address of its own, so the segment is dropped and the address that
|
|
73
|
+
// results is the parent's - which the parent already declares, and which the dedup below collapses.
|
|
74
|
+
const isParallelSlot = (segment) => segment.startsWith('@');
|
|
75
|
+
// Next.js serves nothing from a folder whose name opens with an underscore.
|
|
76
|
+
const isPrivate = (segment) => segment.startsWith('_');
|
|
77
|
+
const isDynamicSegment = (segment) => segment.startsWith('[') && segment.endsWith(']');
|
|
78
|
+
/**
|
|
79
|
+
* Strip a trailing slash, so an address written with one and an address written without are one.
|
|
80
|
+
*
|
|
81
|
+
* The crawl records whatever `URL.pathname` gave it and a link may be written either way, while a file
|
|
82
|
+
* tree never produces a trailing slash at all. Comparing the two without this reports every page of a
|
|
83
|
+
* project that sets `trailingSlash`.
|
|
84
|
+
* @param route the address to normalise.
|
|
85
|
+
* @returns the address without its trailing slash, and the root route unchanged.
|
|
86
|
+
*/
|
|
87
|
+
export const normalisedRoute = (route) => route.length > 1 && route.endsWith(SEGMENT_SEPARATOR) ? route.slice(0, -1) : route;
|
|
88
|
+
/**
|
|
89
|
+
* The address one file answers at, if it declares a page at all.
|
|
90
|
+
* @param file the file, relative to the app directory.
|
|
91
|
+
* @returns the declared route, or nothing when the file declares no independently reachable address.
|
|
92
|
+
*/
|
|
93
|
+
export const declaredRouteOf = (file) => {
|
|
94
|
+
const parts = file.split(SEGMENT_SEPARATOR);
|
|
95
|
+
if (!PAGE_FILES.has(parts.at(-1) ?? '')) {
|
|
96
|
+
return undefined;
|
|
97
|
+
}
|
|
98
|
+
const directories = parts.slice(0, -1);
|
|
99
|
+
if (directories.some((segment) => isPrivate(segment) || isIntercepting(segment))) {
|
|
100
|
+
return undefined;
|
|
101
|
+
}
|
|
102
|
+
const addressed = directories.filter((segment) => !(isRouteGroup(segment) || isParallelSlot(segment)));
|
|
103
|
+
return {
|
|
104
|
+
file,
|
|
105
|
+
route: addressed.length === 0
|
|
106
|
+
? ROOT_ROUTE
|
|
107
|
+
: `${SEGMENT_SEPARATOR}${addressed.join(SEGMENT_SEPARATOR)}`,
|
|
108
|
+
isDynamic: addressed.some((segment) => isDynamicSegment(segment)),
|
|
109
|
+
};
|
|
110
|
+
};
|
|
111
|
+
/**
|
|
112
|
+
* Every address a member's file tree declares.
|
|
113
|
+
*
|
|
114
|
+
* Deduplicated by address, because a parallel route's slot and the page beside it reduce to the same
|
|
115
|
+
* one and reporting it twice would ask a project to answer for the same page under two file names.
|
|
116
|
+
* @param paths every file of the member, relative to its root, separated by forward slashes.
|
|
117
|
+
* @param appRoot the app directory, as `appRootOf` chose it.
|
|
118
|
+
* @returns one entry per declared address, in the order the paths were given.
|
|
119
|
+
*/
|
|
120
|
+
export const declaredRoutesOf = (paths, appRoot) => {
|
|
121
|
+
const prefix = `${appRoot}${SEGMENT_SEPARATOR}`;
|
|
122
|
+
const declared = paths.flatMap((file) => {
|
|
123
|
+
if (!file.startsWith(prefix)) {
|
|
124
|
+
return [];
|
|
125
|
+
}
|
|
126
|
+
const found = declaredRouteOf(file.slice(prefix.length));
|
|
127
|
+
return found === undefined ? [] : [{ ...found, file }];
|
|
128
|
+
});
|
|
129
|
+
return declared.filter((route, index) => declared.findIndex((other) => other.route === route.route) === index);
|
|
130
|
+
};
|
|
131
|
+
/**
|
|
132
|
+
* The part of an address before its first dynamic segment.
|
|
133
|
+
*
|
|
134
|
+
* What a specification can be searched for when the address itself cannot be: a spec never contains
|
|
135
|
+
* `/posts/[slug]`, it contains `/posts/` and then a value.
|
|
136
|
+
* @param route the declared address.
|
|
137
|
+
* @returns the leading static part, which is the root route when the first segment is dynamic.
|
|
138
|
+
*/
|
|
139
|
+
export const staticPrefixOf = (route) => {
|
|
140
|
+
const segments = route.split(SEGMENT_SEPARATOR).slice(1);
|
|
141
|
+
const upTo = segments.findIndex((segment) => isDynamicSegment(segment));
|
|
142
|
+
const kept = upTo === -1 ? segments : segments.slice(0, upTo);
|
|
143
|
+
return kept.length === 0 ? ROOT_ROUTE : `${SEGMENT_SEPARATOR}${kept.join(SEGMENT_SEPARATOR)}`;
|
|
144
|
+
};
|
|
145
|
+
// An address as the segments it is made of, with the leading slash and any trailing one gone. The root
|
|
146
|
+
// route is no segments at all, which is what lets an optional catch-all match it.
|
|
147
|
+
const segmentsOf = (route) => normalisedRoute(route)
|
|
148
|
+
.split(SEGMENT_SEPARATOR)
|
|
149
|
+
.filter((segment) => segment !== '');
|
|
150
|
+
const isCatchAll = (segment) => segment.startsWith('[...') && segment.endsWith(']');
|
|
151
|
+
const isOptionalCatchAll = (segment) => segment.startsWith('[[...') && segment.endsWith(']]');
|
|
152
|
+
// Segment by segment, because a catch-all is the only one whose width is not one and Next.js allows it
|
|
153
|
+
// only in the last position. Written as a recursion rather than a regular expression: the address a
|
|
154
|
+
// project declares is attacker-adjacent text in no sense, but a pattern built by concatenation is one
|
|
155
|
+
// nobody can read afterwards, and the whole point of this module is that its edge cases are legible.
|
|
156
|
+
const matchesSegments = (pattern, actual) => {
|
|
157
|
+
const [head, ...rest] = pattern;
|
|
158
|
+
if (head === undefined) {
|
|
159
|
+
return actual.length === 0;
|
|
160
|
+
}
|
|
161
|
+
if (isOptionalCatchAll(head)) {
|
|
162
|
+
return true;
|
|
163
|
+
}
|
|
164
|
+
if (isCatchAll(head)) {
|
|
165
|
+
return actual.length > 0;
|
|
166
|
+
}
|
|
167
|
+
if (isDynamicSegment(head)) {
|
|
168
|
+
return actual.length > 0 && matchesSegments(rest, actual.slice(1));
|
|
169
|
+
}
|
|
170
|
+
return actual[0] === head && matchesSegments(rest, actual.slice(1));
|
|
171
|
+
};
|
|
172
|
+
/**
|
|
173
|
+
* Whether one visited address is a page the declared route produces.
|
|
174
|
+
*
|
|
175
|
+
* A static route matches itself. A dynamic one matches any address its segments admit, which is what
|
|
176
|
+
* lets the crawl answer for it: if the sweep scanned `/posts/hello`, the file behind `/posts/[slug]`
|
|
177
|
+
* has been scanned, whatever else it can also serve.
|
|
178
|
+
* @param route the declared address, dynamic segments in their file-tree spelling.
|
|
179
|
+
* @param visited an address the crawl reached.
|
|
180
|
+
* @returns true when scanning that address scanned this route.
|
|
181
|
+
*/
|
|
182
|
+
export const matchesRoute = (route, visited) => matchesSegments(segmentsOf(route), segmentsOf(visited));
|
|
183
|
+
//# sourceMappingURL=route-map.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"route-map.js","sourceRoot":"","sources":["../src/route-map.ts"],"names":[],"mappings":"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"}
|
package/dist/secret-policy.js
CHANGED
|
@@ -24,15 +24,15 @@ const NAMED_ESCAPES = new Map([
|
|
|
24
24
|
['\r', String.raw `\r`],
|
|
25
25
|
['\t', String.raw `\t`],
|
|
26
26
|
]);
|
|
27
|
-
//
|
|
28
|
-
//
|
|
29
|
-
// a branch no input can reach.
|
|
27
|
+
// `?? Number.NaN` rather than an `undefined` branch: `codePointAt` is typed as possibly undefined, but
|
|
28
|
+
// the caller spreads a string into code points so no character here is empty. NaN keeps the comparison
|
|
29
|
+
// below false, so the character passes through as itself without a branch no input can reach.
|
|
30
30
|
const escapeCharacter = (character) => {
|
|
31
31
|
const named = NAMED_ESCAPES.get(character);
|
|
32
32
|
if (named !== undefined) {
|
|
33
33
|
return named;
|
|
34
34
|
}
|
|
35
|
-
const codePoint =
|
|
35
|
+
const codePoint = character.codePointAt(0) ?? Number.NaN;
|
|
36
36
|
return codePoint < FIRST_PRINTABLE ? String.raw `\u${asHex(codePoint)}` : character;
|
|
37
37
|
};
|
|
38
38
|
// A basic TOML string, which is the only string form that escapes anything. Both fields go through it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-policy.js","sourceRoot":"","sources":["../src/secret-policy.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,EAAE;AACF,qGAAqG;AACrG,wGAAwG;AACxG,yGAAyG;AACzG,oGAAoG;AACpG,EAAE;AACF,qGAAqG;AACrG,mGAAmG;AACnG,oGAAoG;AACpG,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASlD,mGAAmG;AACnG,uGAAuG;AACvG,wFAAwF;AACxF,MAAM,eAAe,GAAW,IAAI,CAAA;AACpC,MAAM,SAAS,GAAW,EAAE,CAAA;AAC5B,MAAM,qBAAqB,GAAW,CAAC,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;AAEpE,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC;IACzD,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACrB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;CACvB,CAAC,CAAA;AAEF,
|
|
1
|
+
{"version":3,"file":"secret-policy.js","sourceRoot":"","sources":["../src/secret-policy.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,EAAE;AACF,qGAAqG;AACrG,wGAAwG;AACxG,yGAAyG;AACzG,oGAAoG;AACpG,EAAE;AACF,qGAAqG;AACrG,mGAAmG;AACnG,oGAAoG;AACpG,iFAAiF;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AASlD,mGAAmG;AACnG,uGAAuG;AACvG,wFAAwF;AACxF,MAAM,eAAe,GAAW,IAAI,CAAA;AACpC,MAAM,SAAS,GAAW,EAAE,CAAA;AAC5B,MAAM,qBAAqB,GAAW,CAAC,CAAA;AAEvC,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAU,EAAE,CAC1C,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,QAAQ,CAAC,qBAAqB,EAAE,GAAG,CAAC,CAAA;AAEpE,MAAM,aAAa,GAAgC,IAAI,GAAG,CAAC;IACzD,CAAC,IAAI,EAAE,MAAM,CAAC;IACd,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACrB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;IACtB,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,CAAA,IAAI,CAAC;CACvB,CAAC,CAAA;AAEF,uGAAuG;AACvG,uGAAuG;AACvG,8FAA8F;AAC9F,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAU,EAAE;IACpD,MAAM,KAAK,GAAuB,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAA;IAC9D,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,KAAK,CAAA;IACd,CAAC;IACD,MAAM,SAAS,GAAW,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,GAAG,CAAA;IAChE,OAAO,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAA,KAAK,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;AACpF,CAAC,CAAA;AAED,uGAAuG;AACvG,EAAE;AACF,oGAAoG;AACpG,mGAAmG;AACnG,kGAAkG;AAClG,mGAAmG;AACnG,MAAM,aAAa,GAAG,CAAC,KAAa,EAAU,EAAE;AAC9C,iGAAiG;AACjG,sFAAsF;AACtF,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,SAAiB,EAAU,EAAE,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;AAEpF;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,UAAsC,EAAU,EAAE;IACrF,MAAM,MAAM,GAAW;QACrB,mGAAmG;QACnG,2EAA2E;QAC3E,UAAU;QACV,mBAAmB;QACnB,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACZ,MAAM,MAAM,GAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,SAA0B,EAAU,EAAE,CACtF;QACE,gBAAgB;QAChB,kBAAkB,aAAa,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG;QACpD,cAAc,aAAa,CAAC,cAAc,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,KAAK;QAChE,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CACb,CAAA;IACD,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAA"}
|
package/dist/settings.d.ts
CHANGED
|
@@ -29,6 +29,16 @@ export interface PublicAccess {
|
|
|
29
29
|
/** The operation granted: create, read, update, or delete. */
|
|
30
30
|
readonly operation: string;
|
|
31
31
|
readonly reason: string;
|
|
32
|
+
/**
|
|
33
|
+
* The fields of that entity a stranger reaches through this operation, each named by the path that
|
|
34
|
+
* reaches it (`sessions.id`), and `*` for the map Payload collapsed because every field was open.
|
|
35
|
+
*
|
|
36
|
+
* One entry carries the whole list rather than one entry per field, because a public collection has
|
|
37
|
+
* as many readable fields as it has columns and a list of twelve declarations sharing one reason is
|
|
38
|
+
* a list nobody rereads. A field absent from the list is undeclared, so adding a column to a public
|
|
39
|
+
* collection reopens the finding, which is the moment worth stopping at.
|
|
40
|
+
*/
|
|
41
|
+
readonly fields?: readonly string[];
|
|
32
42
|
}
|
|
33
43
|
/** A managed path a project has taken over from the catalogue, with the reason it did so. */
|
|
34
44
|
export interface UnmanagedAsset {
|
package/dist/settings.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;AAEvE;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,CAAA;AAEtD,qEAAqE;AACrE,MAAM,WAAW,iBAAiB;IAChC,4DAA4D;IAC5D,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,YAAY;IAC3B,mEAAmE;IACnE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,8DAA8D;IAC9D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
package/dist/settings.js
CHANGED
|
@@ -161,8 +161,12 @@ const asPublicAccess = (raw) => isArray(raw)
|
|
|
161
161
|
const entity = asText(record['entity']).trim();
|
|
162
162
|
const operation = asText(record['operation']).trim();
|
|
163
163
|
const reason = asText(record['reason']).trim();
|
|
164
|
+
// `fields` is optional, so a malformed one falls back to declaring no field rather than
|
|
165
|
+
// dropping the entry: the entity-level grant it also carries was stated correctly, and
|
|
166
|
+
// discarding that would report a finding the project did answer.
|
|
167
|
+
const fields = asStringArray(record['fields'], []);
|
|
164
168
|
return entity.length > 0 && operation.length > 0 && reason.length > 0
|
|
165
|
-
? [{ entity, operation, reason }]
|
|
169
|
+
? [{ entity, operation, reason, fields }]
|
|
166
170
|
: [];
|
|
167
171
|
})
|
|
168
172
|
: [];
|
package/dist/settings.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { PayloadViolation } from './payload-source.js';
|
|
2
|
+
/** Report credential guards whose rejection disappears when the credential is absent. */
|
|
3
|
+
export declare const findFailOpenSecretGuards: (source: string) => readonly PayloadViolation[];
|
|
4
|
+
//# sourceMappingURL=source-security.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-security.d.ts","sourceRoot":"","sources":["../src/source-security.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AA8C3D,yFAAyF;AACzF,eAAO,MAAM,wBAAwB,GAAI,QAAQ,MAAM,KAAG,SAAS,gBAAgB,EAoBlF,CAAA"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { balancedArguments, lineOf, maskLiterals } from './source-text.js';
|
|
2
|
+
const GUARDED_IF = /\bif\s*\(\s*([a-z_$][\w$]*(?:\s*\.\s*[a-z_$][\w$]*)*)\s*&&/gi;
|
|
3
|
+
const PENULTIMATE = -2;
|
|
4
|
+
const credentialSegments = (name) => name
|
|
5
|
+
.split('.')
|
|
6
|
+
.at(-1)
|
|
7
|
+
?.replaceAll(/([a-z\d])([A-Z])/g, '$1 $2')
|
|
8
|
+
.split(/[^a-z\d]+/i)
|
|
9
|
+
.filter((segment) => segment.length > 0)
|
|
10
|
+
.map((segment) => segment.toLowerCase()) ?? [];
|
|
11
|
+
const isCredential = (name) => {
|
|
12
|
+
const segments = credentialSegments(name);
|
|
13
|
+
const last = segments.at(-1);
|
|
14
|
+
const previous = segments.at(PENULTIMATE);
|
|
15
|
+
return last === 'secret' || last === 'token' || (previous === 'api' && last === 'key');
|
|
16
|
+
};
|
|
17
|
+
const conditionClose = (masked, open) => {
|
|
18
|
+
const condition = balancedArguments(masked, open);
|
|
19
|
+
return condition === undefined ? undefined : open + condition.length + 1;
|
|
20
|
+
};
|
|
21
|
+
const statementAt = (masked, start) => {
|
|
22
|
+
if (masked[start] === '{') {
|
|
23
|
+
return balancedArguments(masked, start) ?? '';
|
|
24
|
+
}
|
|
25
|
+
const newline = masked.indexOf('\n', start);
|
|
26
|
+
return masked.slice(start, newline === -1 ? masked.length : newline);
|
|
27
|
+
};
|
|
28
|
+
const hasRejectionAfter = (masked, close) => {
|
|
29
|
+
const statementStart = masked.slice(close + 1).search(/\S/);
|
|
30
|
+
if (statementStart < 0) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
const start = close + 1 + statementStart;
|
|
34
|
+
const statement = statementAt(masked, start);
|
|
35
|
+
return /\b(?:return|throw)\b/.test(statement);
|
|
36
|
+
};
|
|
37
|
+
/** Report credential guards whose rejection disappears when the credential is absent. */
|
|
38
|
+
export const findFailOpenSecretGuards = (source) => {
|
|
39
|
+
const masked = maskLiterals(source);
|
|
40
|
+
return [...masked.matchAll(GUARDED_IF)].flatMap((match) => {
|
|
41
|
+
const credential = (match[1] ?? '').replaceAll(/\s/g, '');
|
|
42
|
+
const open = masked.indexOf('(', match.index);
|
|
43
|
+
const close = conditionClose(masked, open);
|
|
44
|
+
return close !== undefined && isCredential(credential) && hasRejectionAfter(masked, close)
|
|
45
|
+
? [
|
|
46
|
+
{
|
|
47
|
+
line: lineOf(source, match.index),
|
|
48
|
+
rule: 'no-fail-open-secret-guard',
|
|
49
|
+
reason: `reject a missing ${credential} before comparing it; guarded by its own truthiness, ` +
|
|
50
|
+
'the rejection is skipped when the credential is absent',
|
|
51
|
+
},
|
|
52
|
+
]
|
|
53
|
+
: [];
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=source-security.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"source-security.js","sourceRoot":"","sources":["../src/source-security.ts"],"names":[],"mappings":"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"}
|
package/dist/source-text.d.ts
CHANGED
|
@@ -80,4 +80,18 @@ export declare const occurrences: (source: string, needle: string) => readonly n
|
|
|
80
80
|
* @returns the depth-one key names, with every nested structure elided.
|
|
81
81
|
*/
|
|
82
82
|
export declare const topLevelKeys: (source: string, index: number) => readonly string[];
|
|
83
|
+
/**
|
|
84
|
+
* The innermost brace-delimited literal containing an offset.
|
|
85
|
+
*
|
|
86
|
+
* The counterpart to `topLevelKeys`, which reads a literal a caller has already located. This one
|
|
87
|
+
* starts from something found INSIDE a literal - a marker key such as `type: 'relationship'` - and
|
|
88
|
+
* recovers the object it belongs to, which is how a rule reads the rest of that object's keys. Walking
|
|
89
|
+
* backwards from the offset would be the obvious implementation and the wrong one: it would need a
|
|
90
|
+
* second scanner that skips string literals in reverse, and a brace inside a quoted value would close
|
|
91
|
+
* a literal that was never open.
|
|
92
|
+
* @param source the text to walk.
|
|
93
|
+
* @param index the offset known to sit inside the literal.
|
|
94
|
+
* @returns the literal wrapped in its own braces, or undefined when the offset sits inside none.
|
|
95
|
+
*/
|
|
96
|
+
export declare const enclosingLiteral: (source: string, index: number) => string | undefined;
|
|
83
97
|
//# sourceMappingURL=source-text.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-text.d.ts","sourceRoot":"","sources":["../src/source-text.ts"],"names":[],"mappings":"AAkBA,wDAAwD;AACxD,eAAO,MAAM,cAAc,EAAE,MAAW,CAAA;AAExC,8FAA8F;AAC9F,eAAO,MAAM,SAAS,EAAE,MAAW,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MACZ,CAAA;AAqI3C,yEAAyE;AACzE,MAAM,WAAW,MAAM,CAAC,KAAK;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAoED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAA8B,CAAA;AAE7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAA6B,CAAA;AAE3E,qGAAqG;AACrG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,EACjC,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EACrD,SAAS,KAAK,KACb,KA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAWzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,MAAM,KAAG,MAgBlD,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,SAAS,MAAM,EAGzE,CAAA;AAKH;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,SAAS,MAAM,EAY3E,CAAA"}
|
|
1
|
+
{"version":3,"file":"source-text.d.ts","sourceRoot":"","sources":["../src/source-text.ts"],"names":[],"mappings":"AAkBA,wDAAwD;AACxD,eAAO,MAAM,cAAc,EAAE,MAAW,CAAA;AAExC,8FAA8F;AAC9F,eAAO,MAAM,SAAS,EAAE,MAAW,CAAA;AAEnC;;;;;GAKG;AACH,eAAO,MAAM,MAAM,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MACZ,CAAA;AAqI3C,yEAAyE;AACzE,MAAM,WAAW,MAAM,CAAC,KAAK;IAC3B,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAA;IACrB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;CACvB;AAoED;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,QAAQ,MAAM,KAAG,MAA8B,CAAA;AAE7E;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,KAAG,MAA6B,CAAA;AAE3E,qGAAqG;AACrG,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CACvB;AASD;;;;;;;;GAQG;AACH,eAAO,MAAM,aAAa,GAAI,KAAK,EACjC,QAAQ,MAAM,EACd,OAAO,MAAM,EACb,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,KAAK,MAAM,CAAC,KAAK,CAAC,EACrD,SAAS,KAAK,KACb,KA0BF,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,iBAAiB,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM,KAAG,MAAM,GAAG,SAWzE,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GAAI,cAAc,MAAM,KAAG,MAgBlD,CAAA;AAEH;;;;;GAKG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,EAAE,QAAQ,MAAM,KAAG,SAAS,MAAM,EAGzE,CAAA;AAKH;;;;;GAKG;AACH,eAAO,MAAM,YAAY,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,SAAS,MAAM,EAY3E,CAAA;AA6BD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,gBAAgB,GAAI,QAAQ,MAAM,EAAE,OAAO,MAAM,KAAG,MAAM,GAAG,SAYzE,CAAA"}
|
package/dist/source-text.js
CHANGED
|
@@ -307,4 +307,43 @@ export const topLevelKeys = (source, index) => {
|
|
|
307
307
|
}
|
|
308
308
|
return [...topLevelSlice(`{${body}}`).matchAll(TOP_LEVEL_KEY)].map((match) => match[1] ?? '');
|
|
309
309
|
};
|
|
310
|
+
// At or past the target rather than exactly on it. The walk jumps a string literal whole, so an offset
|
|
311
|
+
// pointing INTO one - which is what the offset of a `type: 'relationship'` value is - is never visited,
|
|
312
|
+
// and an equality test would walk to the end reporting nothing. The first position reaching the target
|
|
313
|
+
// stands inside the same literal, because a string cannot span the brace that closes one.
|
|
314
|
+
const enclose = (state, step, target) => {
|
|
315
|
+
if (step.index >= target) {
|
|
316
|
+
return {
|
|
317
|
+
state: { ...state, innermost: state.opens.at(LAST_CHARACTER) ?? NOT_FOUND },
|
|
318
|
+
stop: true,
|
|
319
|
+
};
|
|
320
|
+
}
|
|
321
|
+
if (step.character === '{') {
|
|
322
|
+
return { state: { ...state, opens: [...state.opens, step.index] }, stop: false };
|
|
323
|
+
}
|
|
324
|
+
return step.character === '}'
|
|
325
|
+
? { state: { ...state, opens: state.opens.slice(0, LAST_CHARACTER) }, stop: false }
|
|
326
|
+
: { state, stop: false };
|
|
327
|
+
};
|
|
328
|
+
/**
|
|
329
|
+
* The innermost brace-delimited literal containing an offset.
|
|
330
|
+
*
|
|
331
|
+
* The counterpart to `topLevelKeys`, which reads a literal a caller has already located. This one
|
|
332
|
+
* starts from something found INSIDE a literal - a marker key such as `type: 'relationship'` - and
|
|
333
|
+
* recovers the object it belongs to, which is how a rule reads the rest of that object's keys. Walking
|
|
334
|
+
* backwards from the offset would be the obvious implementation and the wrong one: it would need a
|
|
335
|
+
* second scanner that skips string literals in reverse, and a brace inside a quoted value would close
|
|
336
|
+
* a literal that was never open.
|
|
337
|
+
* @param source the text to walk.
|
|
338
|
+
* @param index the offset known to sit inside the literal.
|
|
339
|
+
* @returns the literal wrapped in its own braces, or undefined when the offset sits inside none.
|
|
340
|
+
*/
|
|
341
|
+
export const enclosingLiteral = (source, index) => {
|
|
342
|
+
const found = scanDelimited(source, 0, (state, step) => enclose(state, step, index), { opens: [], innermost: NOT_FOUND });
|
|
343
|
+
if (found.innermost === NOT_FOUND) {
|
|
344
|
+
return undefined;
|
|
345
|
+
}
|
|
346
|
+
const body = balancedArguments(source, found.innermost);
|
|
347
|
+
return body === undefined ? undefined : `{${body}}`;
|
|
348
|
+
};
|
|
310
349
|
//# sourceMappingURL=source-text.js.map
|
package/dist/source-text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"source-text.js","sourceRoot":"","sources":["../src/source-text.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"source-text.js","sourceRoot":"","sources":["../src/source-text.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-policy.d.ts","sourceRoot":"","sources":["../src/version-policy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAc5D;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MACV,CAAA;AAWhD,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,MAAmB,CAAA;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,OACmB,CAAA;AA+M1E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAkB,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"version-policy.d.ts","sourceRoot":"","sources":["../src/version-policy.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAc5D;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,SAAS,KAAG,MACV,CAAA;AAWhD,0GAA0G;AAC1G,eAAO,MAAM,eAAe,EAAE,MAAmB,CAAA;AAEjD;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB,GAAI,aAAa,MAAM,KAAG,OACmB,CAAA;AA+M1E;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,EAAE,MAAkB,CAAA;AAEhD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,EAAE,MAAe,CAAA;AAmG1C,gGAAgG;AAChG,MAAM,WAAW,uBAAuB;IACtC,8EAA8E;IAC9E,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,8EAA8E;IAC9E,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAA;IACnD,uDAAuD;IACvD,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC1D,yFAAyF;IACzF,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B,yFAAyF;IACzF,QAAQ,CAAC,qBAAqB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACjE;AAED,+EAA+E;AAC/E,MAAM,WAAW,oBAAoB;IACnC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,iFAAiF;IACjF,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,mGAAmG;IACnG,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5C;AAED;;;;;;;;;GASG;AACH,eAAO,MAAM,+BAA+B,GAC1C,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,uBAAuB,KAC9B,SAAS,eAAe,EAc1B,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,4BAA4B,GACvC,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,oBAAoB,KAC3B,SAAS,eAAe,EAM1B,CAAA;AAED,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IACnD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAA;IAC3C,QAAQ,CAAC,sBAAsB,EAAE,MAAM,GAAG,SAAS,CAAA;IACnD,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAC1D,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,GAChC,aAAa,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpC,QAAQ,aAAa,KACpB,SAAS,eAAe,EAa1B,CAAA"}
|
package/dist/version-policy.js
CHANGED
|
@@ -218,6 +218,36 @@ const checkPayloadFamily = (packageJson, payloadVersion) => {
|
|
|
218
218
|
'Payload fails at runtime when its own packages disagree',
|
|
219
219
|
}));
|
|
220
220
|
};
|
|
221
|
+
// The harness packages a project declares itself must agree with the harness it declares. Only one
|
|
222
|
+
// of them is normally written down - `ploaness` - but `@ploaness/runtime` exists to be declared in
|
|
223
|
+
// `dependencies`, because `arch` forbids `src/**` from importing a devDependency, and the moment a
|
|
224
|
+
// second ploaness coordinate appears in a manifest the two can drift apart. That drift is not merely
|
|
225
|
+
// untidy: the meta package re-exports the runtime helper for `tests/**`, so a suite would exercise one
|
|
226
|
+
// implementation while production shipped another, and the suite is what a reader trusts.
|
|
227
|
+
//
|
|
228
|
+
// Derived from the declared `ploaness` rather than pinned in pins.json, for the reason that file's own
|
|
229
|
+
// comment gives: it holds what ploaness cannot pin by declaring, and these are packages ploaness
|
|
230
|
+
// declares. The version a project is entitled to choose is the release; what it may not do is choose
|
|
231
|
+
// two.
|
|
232
|
+
const checkHarnessFamily = (packageJson) => {
|
|
233
|
+
const declared = declaredDependencies(packageJson);
|
|
234
|
+
const harness = declared[HARNESS_PACKAGE];
|
|
235
|
+
// A specifier that is not a registry version carries no version to agree WITH. A pre-publication
|
|
236
|
+
// consumer points `ploaness` straight at a packed tarball, and the version is then whatever the
|
|
237
|
+
// tarball contains - so comparing a sibling's `1.0.0` against `file:../ploaness-1.0.0.tgz` reports a
|
|
238
|
+
// disagreement between a version and a path. The same permission `isHarnessTarball` already grants
|
|
239
|
+
// the override reader, for the same reason and in the same arrangement.
|
|
240
|
+
if (harness === undefined || NON_REGISTRY.test(harness)) {
|
|
241
|
+
return [];
|
|
242
|
+
}
|
|
243
|
+
return Object.entries(declared)
|
|
244
|
+
.filter(([name, version]) => name.startsWith(HARNESS_SCOPE) && !NON_REGISTRY.test(version) && version !== harness)
|
|
245
|
+
.map(([name, version]) => ({
|
|
246
|
+
location: `package.json ${blockOf(packageJson, name) ?? ''}.${name}`,
|
|
247
|
+
reason: `is "${version}" but ploaness is declared at "${harness}"; the harness packages are ` +
|
|
248
|
+
'released together, and two versions of one release is two implementations',
|
|
249
|
+
}));
|
|
250
|
+
};
|
|
221
251
|
// Two obligations, not one. A project must DECLARE the few packages every project uses, because under
|
|
222
252
|
// the strict pnpm layout its own specs could not resolve them otherwise. Every other pinned package
|
|
223
253
|
// must MATCH when the project declares it, but is not forced on a project that has no use for it -
|
|
@@ -276,6 +306,7 @@ export const findPackageVersionViolations = (packageJson, inputs) => [
|
|
|
276
306
|
...checkTestLibraries(packageJson, inputs.expected, inputs.required),
|
|
277
307
|
...checkExactVersions(packageJson),
|
|
278
308
|
...checkPayloadFamily(packageJson, inputs.payloadVersion),
|
|
309
|
+
...checkHarnessFamily(packageJson),
|
|
279
310
|
...checkVersionEscapes(packageJson, inputs.expected),
|
|
280
311
|
];
|
|
281
312
|
/**
|