@nifrajs/web 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/build-vite.d.ts +68 -0
- package/dist/build-vite.d.ts.map +1 -0
- package/dist/build-vite.js +487 -0
- package/dist/build-vite.js.map +1 -0
- package/dist/build.d.ts +112 -25
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +283 -64
- package/dist/build.js.map +1 -1
- package/dist/bun-dev-entry.d.ts +83 -0
- package/dist/bun-dev-entry.d.ts.map +1 -0
- package/dist/bun-dev-entry.js +136 -0
- package/dist/bun-dev-entry.js.map +1 -0
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +10 -0
- package/dist/client.js.map +1 -1
- package/dist/deferred.d.ts +3 -2
- package/dist/deferred.d.ts.map +1 -1
- package/dist/deferred.js +11 -8
- package/dist/deferred.js.map +1 -1
- package/dist/dev-port.d.ts +36 -0
- package/dist/dev-port.d.ts.map +1 -0
- package/dist/dev-port.js +48 -0
- package/dist/dev-port.js.map +1 -0
- package/dist/dev.d.ts +61 -4
- package/dist/dev.d.ts.map +1 -1
- package/dist/dev.js +419 -60
- package/dist/dev.js.map +1 -1
- package/dist/draft.d.ts +37 -0
- package/dist/draft.d.ts.map +1 -1
- package/dist/draft.js +87 -4
- package/dist/draft.js.map +1 -1
- package/dist/fs.d.ts +14 -1
- package/dist/fs.d.ts.map +1 -1
- package/dist/fs.js +7 -1
- package/dist/fs.js.map +1 -1
- package/dist/index.d.ts +116 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +565 -53
- package/dist/index.js.map +1 -1
- package/dist/internal/timing-safe-equal.d.ts +16 -0
- package/dist/internal/timing-safe-equal.d.ts.map +1 -0
- package/dist/internal/timing-safe-equal.js +26 -0
- package/dist/internal/timing-safe-equal.js.map +1 -0
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +1 -14
- package/dist/isr.js.map +1 -1
- package/dist/llms-txt.d.ts.map +1 -1
- package/dist/llms-txt.js +12 -6
- package/dist/llms-txt.js.map +1 -1
- package/dist/manifest.d.ts +51 -8
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +130 -14
- package/dist/manifest.js.map +1 -1
- package/dist/module-graph.d.ts +91 -0
- package/dist/module-graph.d.ts.map +1 -0
- package/dist/module-graph.js +92 -0
- package/dist/module-graph.js.map +1 -0
- package/dist/plugins/css-modules.d.ts.map +1 -1
- package/dist/plugins/css-modules.js +0 -0
- package/dist/plugins/css-modules.js.map +1 -1
- package/dist/plugins/vite-leak-guard.d.ts +45 -0
- package/dist/plugins/vite-leak-guard.d.ts.map +1 -0
- package/dist/plugins/vite-leak-guard.js +67 -0
- package/dist/plugins/vite-leak-guard.js.map +1 -0
- package/dist/public-dir.d.ts +36 -0
- package/dist/public-dir.d.ts.map +1 -0
- package/dist/public-dir.js +89 -0
- package/dist/public-dir.js.map +1 -0
- package/dist/route-manifest.d.ts +91 -0
- package/dist/route-manifest.d.ts.map +1 -0
- package/dist/route-manifest.js +128 -0
- package/dist/route-manifest.js.map +1 -0
- package/dist/router.d.ts +64 -1
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +114 -31
- package/dist/router.js.map +1 -1
- package/dist/vite.d.ts +10 -4
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +44 -12
- package/dist/vite.js.map +1 -1
- package/package.json +17 -2
- package/src/build-vite.ts +606 -0
- package/src/build.ts +432 -73
- package/src/bun-dev-entry.ts +184 -0
- package/src/client.ts +8 -0
- package/src/deferred.ts +13 -6
- package/src/dev-port.ts +63 -0
- package/src/dev.ts +467 -65
- package/src/draft.ts +116 -4
- package/src/fs.ts +22 -4
- package/src/index.ts +727 -57
- package/src/internal/timing-safe-equal.ts +24 -0
- package/src/isr.ts +1 -13
- package/src/llms-txt.ts +13 -5
- package/src/manifest.ts +188 -13
- package/src/module-graph.ts +146 -0
- package/src/plugins/css-modules.ts +0 -0
- package/src/plugins/vite-leak-guard.ts +110 -0
- package/src/public-dir.ts +108 -0
- package/src/route-manifest.ts +240 -0
- package/src/router.ts +198 -34
- package/src/vite.ts +62 -20
package/dist/manifest.js
CHANGED
|
@@ -17,6 +17,10 @@ const OPTIONAL = /^\[\[([A-Za-z_][A-Za-z0-9_]*)\]\]$/;
|
|
|
17
17
|
// A route group: a `(name)` folder organizes routes (and can hold its own `_layout`) without
|
|
18
18
|
// contributing a URL segment — mirrors Next/Remix. Requires content between the parens.
|
|
19
19
|
const GROUP = /^\(.+\)$/;
|
|
20
|
+
// A terminal status page: `_410.tsx`, `_451.tsx`. `_404` is matched before this and stays its own
|
|
21
|
+
// thing. Restricted to 3 digits so `_401k` or `_4` is treated as an ordinary underscore-prefixed
|
|
22
|
+
// file (ignored) rather than silently becoming a status page.
|
|
23
|
+
const STATUS_PAGE = /^_[1-5][0-9][0-9]$/;
|
|
20
24
|
const stripExt = (file) => file.replace(ROUTE_EXT, "");
|
|
21
25
|
const baseName = (file) => file.slice(file.lastIndexOf("/") + 1);
|
|
22
26
|
const dirOf = (file) => file.includes("/") ? file.slice(0, file.lastIndexOf("/")) : "";
|
|
@@ -30,16 +34,88 @@ const errorIdFor = (dir) => (dir === "" ? "_error" : `${dir}/_error`);
|
|
|
30
34
|
* with no optionals yields exactly one pattern. Throws on an invalid param or a catch-all that isn't
|
|
31
35
|
* the last segment.
|
|
32
36
|
*/
|
|
37
|
+
/** Every `[…]` marker in a file segment, so a part-literal segment can be spliced into a pattern. */
|
|
38
|
+
const FILE_MARKER = /\[([^\]]*)\]/g;
|
|
39
|
+
const FILE_PARAM_NAME = /^[A-Za-z_][A-Za-z0-9_]*$/;
|
|
40
|
+
/**
|
|
41
|
+
* Translate a part-literal-part-`[param]` file segment into its route pattern, or `undefined` when
|
|
42
|
+
* the segment is wholly literal or wholly a marker (both already handled by the caller).
|
|
43
|
+
*
|
|
44
|
+
* `[inKey].txt` becomes `:inKey.txt`. Needed because IndexNow-style verification files, per-locale
|
|
45
|
+
* sitemaps, and static-site URL parity (`post-[id].html`) all put a variable INSIDE a filename, and
|
|
46
|
+
* `stripExt` already reduces `[inKey].txt.tsx` to `[inKey].txt` - `robots.txt.tsx` proves literal
|
|
47
|
+
* dots survive into a segment, so this was only ever a parser gap.
|
|
48
|
+
*
|
|
49
|
+
* `[[optional]]` and `[...catchAll]` are **rejected** inside a mixed segment rather than given a
|
|
50
|
+
* meaning. There is no sensible absent form for `/[[locale]]-feed.xml` - `/-feed.xml` and dropping
|
|
51
|
+
* the segment are both surprising - and a catch-all captures the remaining path verbatim, which
|
|
52
|
+
* conflicts with a trailing literal. A clear rejection beats semantics nobody can predict.
|
|
53
|
+
*/
|
|
54
|
+
function mixedFileSegment(seg, file) {
|
|
55
|
+
// A segment that is ENTIRELY one of the existing whole-segment forms belongs to the caller, not
|
|
56
|
+
// here. Checked against the real patterns rather than by comparing the first marker to the
|
|
57
|
+
// segment: `[[lang]]` does not equal its own first `[…]` match, so a naive comparison sends every
|
|
58
|
+
// optional segment down the mixed path and rejects it.
|
|
59
|
+
if (PARAM.test(seg) || OPTIONAL.test(seg) || CATCH_ALL.test(seg))
|
|
60
|
+
return undefined;
|
|
61
|
+
const markers = [...seg.matchAll(FILE_MARKER)];
|
|
62
|
+
if (markers.length === 0)
|
|
63
|
+
return undefined;
|
|
64
|
+
let pattern = "";
|
|
65
|
+
let cursor = 0;
|
|
66
|
+
for (const marker of markers) {
|
|
67
|
+
const inner = marker[1] ?? "";
|
|
68
|
+
if (inner.startsWith("...")) {
|
|
69
|
+
throw new Error(`[nifra/web] catch-all "[${inner}]" cannot be combined with literal text in "${file}" (segment "${seg}") — a catch-all captures the rest of the path, so a trailing literal can never match. Give it its own segment.`);
|
|
70
|
+
}
|
|
71
|
+
if (inner.startsWith("[")) {
|
|
72
|
+
throw new Error(`[nifra/web] optional "[${inner}]]" cannot be combined with literal text in "${file}" (segment "${seg}") — there is no sensible form for the segment when it is absent. Use a required [name], or give the optional its own segment.`);
|
|
73
|
+
}
|
|
74
|
+
if (!FILE_PARAM_NAME.test(inner)) {
|
|
75
|
+
throw new Error(`[nifra/web] invalid route param in "${file}": "[${inner}]" must be [name], [[name]], [...name], or a (group) folder`);
|
|
76
|
+
}
|
|
77
|
+
pattern += `${seg.slice(cursor, marker.index)}:${inner}`;
|
|
78
|
+
cursor = (marker.index ?? 0) + marker[0].length;
|
|
79
|
+
}
|
|
80
|
+
return pattern + seg.slice(cursor);
|
|
81
|
+
}
|
|
33
82
|
export function filePathToPatterns(file) {
|
|
34
|
-
|
|
35
|
-
|
|
83
|
+
return filePathToRoutes(file).map((route) => route.pattern);
|
|
84
|
+
}
|
|
85
|
+
/** Expand a route file into its URL patterns, each carrying per-directory segment counts. */
|
|
86
|
+
export function filePathToRoutes(file) {
|
|
87
|
+
// Each combo is the URL segments built so far, plus the running per-path-part segment count.
|
|
88
|
+
let combos = [{ segs: [], depths: [0] }];
|
|
36
89
|
const segments = stripExt(file).split("/");
|
|
90
|
+
// Record the running segment count after each path part, on every combo. Called once per part so
|
|
91
|
+
// `depths` stays index-aligned with the file's path parts even for parts that emit nothing.
|
|
92
|
+
const mark = () => {
|
|
93
|
+
for (const combo of combos)
|
|
94
|
+
combo.depths.push(combo.segs.length);
|
|
95
|
+
};
|
|
96
|
+
const push = (segment) => {
|
|
97
|
+
for (const combo of combos)
|
|
98
|
+
combo.segs.push(segment);
|
|
99
|
+
};
|
|
37
100
|
for (let i = 0; i < segments.length; i++) {
|
|
38
101
|
const seg = segments[i];
|
|
39
|
-
if (seg === "index")
|
|
102
|
+
if (seg === "index") {
|
|
103
|
+
mark();
|
|
104
|
+
continue;
|
|
105
|
+
}
|
|
106
|
+
if (GROUP.test(seg)) {
|
|
107
|
+
// Route group — no URL segment (its `_layout` still applies, keyed by dir).
|
|
108
|
+
mark();
|
|
40
109
|
continue;
|
|
41
|
-
|
|
42
|
-
|
|
110
|
+
}
|
|
111
|
+
// A segment that is part literal, part `[param]` — `[inKey].txt`, `post-[id].html`. Checked
|
|
112
|
+
// before the whole-segment forms below, which only handle a marker spanning the entire segment.
|
|
113
|
+
const mixed = mixedFileSegment(seg, file);
|
|
114
|
+
if (mixed !== undefined) {
|
|
115
|
+
push(mixed);
|
|
116
|
+
mark();
|
|
117
|
+
continue;
|
|
118
|
+
}
|
|
43
119
|
if (seg.startsWith("[")) {
|
|
44
120
|
const catchAll = CATCH_ALL.exec(seg);
|
|
45
121
|
if (catchAll !== null) {
|
|
@@ -49,26 +125,32 @@ export function filePathToPatterns(file) {
|
|
|
49
125
|
if (after.length > 0) {
|
|
50
126
|
throw new Error(`[nifra/web] catch-all "${seg}" must be the last segment in "${file}" (found "${after.join("/")}" after it)`);
|
|
51
127
|
}
|
|
52
|
-
|
|
128
|
+
push(`*${catchAll[1]}`);
|
|
129
|
+
mark();
|
|
53
130
|
continue;
|
|
54
131
|
}
|
|
55
132
|
const optional = OPTIONAL.exec(seg);
|
|
56
133
|
if (optional !== null) {
|
|
57
134
|
// Optional segment: keep each existing combo (absent) AND a copy with `:name` appended (present).
|
|
58
|
-
combos = combos.flatMap((c) => [
|
|
135
|
+
combos = combos.flatMap((c) => [
|
|
136
|
+
{ segs: c.segs, depths: c.depths },
|
|
137
|
+
{ segs: [...c.segs, `:${optional[1]}`], depths: [...c.depths] },
|
|
138
|
+
]);
|
|
139
|
+
mark();
|
|
59
140
|
continue;
|
|
60
141
|
}
|
|
61
142
|
const match = PARAM.exec(seg);
|
|
62
143
|
if (match === null) {
|
|
63
144
|
throw new Error(`[nifra/web] invalid route param in "${file}": "${seg}" must be [name], [[name]], [...name], or a (group) folder`);
|
|
64
145
|
}
|
|
65
|
-
|
|
146
|
+
push(`:${match[1]}`);
|
|
66
147
|
}
|
|
67
148
|
else {
|
|
68
|
-
|
|
149
|
+
push(seg);
|
|
69
150
|
}
|
|
151
|
+
mark();
|
|
70
152
|
}
|
|
71
|
-
return combos.map((c) => `/${c.join("/")}
|
|
153
|
+
return combos.map((c) => ({ pattern: `/${c.segs.join("/")}`, depths: c.depths }));
|
|
72
154
|
}
|
|
73
155
|
/**
|
|
74
156
|
* The **canonical** single pattern for a route file — all optional segments present. A file with no
|
|
@@ -80,6 +162,26 @@ export function filePathToPattern(file) {
|
|
|
80
162
|
return patterns[patterns.length - 1];
|
|
81
163
|
}
|
|
82
164
|
/** The dir chain from root → the file's own dir, e.g. "a/b/p.tsx" → ["", "a", "a/b"]. */
|
|
165
|
+
/**
|
|
166
|
+
* Param names in the first `count` segments of a pattern - the params a layout at that depth owns.
|
|
167
|
+
*
|
|
168
|
+
* This is the whole scoping mechanism: a layout wraps a URL prefix, so the params inside that prefix
|
|
169
|
+
* are the ones it may read, and the ones whose change should re-run its loader. Everything deeper
|
|
170
|
+
* belongs to routes below it and must not invalidate it.
|
|
171
|
+
*/
|
|
172
|
+
function paramsInPrefix(pattern, count) {
|
|
173
|
+
if (count === 0)
|
|
174
|
+
return [];
|
|
175
|
+
const names = [];
|
|
176
|
+
const segments = pattern === "/" ? [] : pattern.slice(1).split("/");
|
|
177
|
+
for (const segment of segments.slice(0, count)) {
|
|
178
|
+
// Mirrors the router's own grammar: `:name`, `*name`, and a mixed segment's embedded `:name`s.
|
|
179
|
+
for (const match of segment.matchAll(/[:*]([A-Za-z_][A-Za-z0-9_]*)/g)) {
|
|
180
|
+
names.push(match[1]);
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
return names;
|
|
184
|
+
}
|
|
83
185
|
const ancestorDirs = (file) => {
|
|
84
186
|
const dirs = [""];
|
|
85
187
|
const dir = dirOf(file);
|
|
@@ -104,6 +206,7 @@ export function buildManifest(files, importer) {
|
|
|
104
206
|
const errorDirs = new Set();
|
|
105
207
|
const errors = {};
|
|
106
208
|
let notFound;
|
|
209
|
+
const statusPages = {};
|
|
107
210
|
const routeFiles = [];
|
|
108
211
|
for (const file of files) {
|
|
109
212
|
const stem = stripExt(baseName(file));
|
|
@@ -120,6 +223,12 @@ export function buildManifest(files, importer) {
|
|
|
120
223
|
else if (stem === "_404") {
|
|
121
224
|
notFound = { file, load: importer(file) };
|
|
122
225
|
}
|
|
226
|
+
else if (STATUS_PAGE.test(stem) && dirOf(file) === "") {
|
|
227
|
+
// `_410.tsx`, `_451.tsx`, … at the routes root. Root-only: unlike `_error`, these are not
|
|
228
|
+
// resolved per segment - a terminal status is a property of the outcome, not of where in the
|
|
229
|
+
// tree the route lives, and a per-segment variant would need a precedence rule nobody asked for.
|
|
230
|
+
statusPages[stem.slice(1)] = { file, load: importer(file) };
|
|
231
|
+
}
|
|
123
232
|
else if (!stem.startsWith("_")) {
|
|
124
233
|
routeFiles.push(file);
|
|
125
234
|
}
|
|
@@ -128,22 +237,29 @@ export function buildManifest(files, importer) {
|
|
|
128
237
|
const routes = [];
|
|
129
238
|
for (const file of routeFiles) {
|
|
130
239
|
const dirs = ancestorDirs(file);
|
|
131
|
-
const
|
|
240
|
+
const layoutDirsForFile = dirs.filter((dir) => layoutDirs.has(dir));
|
|
241
|
+
const layoutIds = layoutDirsForFile.map(layoutIdFor);
|
|
132
242
|
const errorIds = dirs.filter((dir) => errorDirs.has(dir)).map(errorIdFor);
|
|
133
243
|
const id = stripExt(file);
|
|
134
244
|
const load = importer(file); // one lazy loader per file, shared by its (possibly expanded) patterns
|
|
135
245
|
// An optional `[[x]]` segment expands a file into multiple patterns, all pointing at the same
|
|
136
246
|
// module (same id/load/layout chain). Distinct patterns ⇒ no match ambiguity (different lengths).
|
|
137
|
-
for (const pattern of
|
|
247
|
+
for (const { pattern, depths } of filePathToRoutes(file)) {
|
|
138
248
|
const existing = byPattern.get(pattern);
|
|
139
249
|
if (existing !== undefined) {
|
|
140
250
|
throw new Error(`[nifra/web] duplicate route: "${file}" and "${existing}" both map to "${pattern}"`);
|
|
141
251
|
}
|
|
142
252
|
byPattern.set(pattern, file);
|
|
143
|
-
|
|
253
|
+
const layoutParams = layoutDirsForFile.map((dir) => paramsInPrefix(pattern, depths[dir === "" ? 0 : dir.split("/").length] ?? 0));
|
|
254
|
+
routes.push({ id, pattern, layoutIds, layoutParams, errorIds, file, load });
|
|
144
255
|
}
|
|
145
256
|
}
|
|
146
|
-
const base = {
|
|
257
|
+
const base = {
|
|
258
|
+
routes,
|
|
259
|
+
layouts,
|
|
260
|
+
errors,
|
|
261
|
+
...(Object.keys(statusPages).length > 0 ? { statusPages } : {}),
|
|
262
|
+
};
|
|
147
263
|
return notFound === undefined ? base : { ...base, notFound };
|
|
148
264
|
}
|
|
149
265
|
const FILL_PARAM = /:([A-Za-z_][A-Za-z0-9_]*)/g;
|
package/dist/manifest.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bundler-neutral view of a client build, for the guards that must run on every pipeline.
|
|
3
|
+
*
|
|
4
|
+
* nifra's two client-leak guards - server-only code reaching the browser, and `node:` builtins in
|
|
5
|
+
* client code - are the reason a pipeline choice is safe. They are security guards, not lints: one
|
|
6
|
+
* stops secrets and database access shipping to a browser. Today both read Bun's metafile directly,
|
|
7
|
+
* so a second production pipeline would either arrive without them or need them hastily ported, and
|
|
8
|
+
* "mostly ported" is the wrong outcome for a guard of that kind.
|
|
9
|
+
*
|
|
10
|
+
* This is the seam that prevents that. It is introduced while Bun is still the ONLY producer, so the
|
|
11
|
+
* adapter can be verified against the existing behaviour rather than written under pressure beside a
|
|
12
|
+
* new bundler. Adding Rollup later becomes one more `from…` function rather than a second copy of the
|
|
13
|
+
* detection logic.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately minimal - exactly what the guards read, nothing more:
|
|
16
|
+
* - which modules exist and what each imports (to walk the import chain to a sink)
|
|
17
|
+
* - which output chunk each module landed in (to name the chunk a leak reached)
|
|
18
|
+
*/
|
|
19
|
+
/** One import edge, as the bundler recorded it. */
|
|
20
|
+
export interface GraphImport {
|
|
21
|
+
/** The resolved path, when the bundler resolved it. */
|
|
22
|
+
readonly path?: string;
|
|
23
|
+
/** The specifier as written in source - the only form that survives an unresolved import. */
|
|
24
|
+
readonly original?: string;
|
|
25
|
+
}
|
|
26
|
+
export interface GraphModule {
|
|
27
|
+
readonly imports: readonly GraphImport[];
|
|
28
|
+
}
|
|
29
|
+
export interface GraphChunk {
|
|
30
|
+
/** Source module this chunk is the entry for, if it is one. */
|
|
31
|
+
readonly entryPoint?: string;
|
|
32
|
+
/** Module ids that landed in this chunk. */
|
|
33
|
+
readonly modules: readonly string[];
|
|
34
|
+
}
|
|
35
|
+
/** What a client build looks like to the guards, whichever bundler produced it. */
|
|
36
|
+
export interface ClientModuleGraph {
|
|
37
|
+
/** Module id → its imports. Ids are bundler-native (Bun graph keys, Rollup module ids). */
|
|
38
|
+
readonly modules: Readonly<Record<string, GraphModule>>;
|
|
39
|
+
/** Output path → what it contains. */
|
|
40
|
+
readonly chunks: Readonly<Record<string, GraphChunk>>;
|
|
41
|
+
}
|
|
42
|
+
/** The slice of Bun's metafile this seam consumes. Not yet in `@types/bun`; shape per the docs. */
|
|
43
|
+
export interface BunMetafileLike {
|
|
44
|
+
readonly inputs?: Readonly<Record<string, {
|
|
45
|
+
readonly imports?: ReadonlyArray<{
|
|
46
|
+
path?: string;
|
|
47
|
+
original?: string;
|
|
48
|
+
}>;
|
|
49
|
+
}>>;
|
|
50
|
+
readonly outputs?: Readonly<Record<string, {
|
|
51
|
+
readonly entryPoint?: string;
|
|
52
|
+
readonly inputs?: Readonly<Record<string, unknown>>;
|
|
53
|
+
}>>;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Adapt a `Bun.build` metafile to the neutral graph.
|
|
57
|
+
*
|
|
58
|
+
* A total function: an absent or partial metafile yields an empty graph rather than throwing, because
|
|
59
|
+
* a guard that crashes on an unexpected build shape fails the build for the wrong reason. An empty
|
|
60
|
+
* graph reports no findings, which matches the existing behaviour when the metafile is missing.
|
|
61
|
+
*/
|
|
62
|
+
export declare function fromBunMetafile(meta: BunMetafileLike | undefined): ClientModuleGraph;
|
|
63
|
+
/**
|
|
64
|
+
* The slice of a Rollup/Vite output bundle this seam consumes. `OutputBundle` is
|
|
65
|
+
* `Record<fileName, OutputChunk | OutputAsset>`; only chunks carry a module graph. Typed structurally
|
|
66
|
+
* (no `rollup`/`vite` type dependency) — the fields are stable Rollup output API.
|
|
67
|
+
*/
|
|
68
|
+
export interface RollupChunkLike {
|
|
69
|
+
/** `"chunk"` for JS output, `"asset"` for CSS/static — assets have no module graph. */
|
|
70
|
+
readonly type?: string;
|
|
71
|
+
/** The entry module id this chunk was built for, if it is an entry. Rollup's `facadeModuleId`. */
|
|
72
|
+
readonly facadeModuleId?: string | null;
|
|
73
|
+
/** Every module id that landed in this chunk. Rollup's `moduleIds`. */
|
|
74
|
+
readonly moduleIds?: readonly string[];
|
|
75
|
+
}
|
|
76
|
+
export type RollupBundleLike = Readonly<Record<string, RollupChunkLike>>;
|
|
77
|
+
/**
|
|
78
|
+
* Adapt a Rollup/Vite output bundle to the neutral graph — the second producer the seam was built for.
|
|
79
|
+
*
|
|
80
|
+
* The bundle records which modules landed in which chunk (`moduleIds`) but NOT each module's import
|
|
81
|
+
* edges, so those come from `importsOf`, which the caller backs with `this.getModuleInfo(id).importedIds`
|
|
82
|
+
* inside a plugin hook (a test backs it with a plain map). Edges carry only the RESOLVED id — Rollup does
|
|
83
|
+
* not keep the as-written specifier per edge — so `path` is set and `original` is left undefined. Both
|
|
84
|
+
* guards read the resolved `path` as their fallback (a `node:` prefix, the `server-only` basename), so
|
|
85
|
+
* detection is unaffected; only the human-readable chain shows resolved paths instead of as-written ones.
|
|
86
|
+
*
|
|
87
|
+
* Total, like {@link fromBunMetafile}: an empty bundle yields an empty graph (no findings), never a throw
|
|
88
|
+
* that would fail a build for the wrong reason.
|
|
89
|
+
*/
|
|
90
|
+
export declare function fromRollupBundle(bundle: RollupBundleLike, importsOf: (moduleId: string) => readonly string[]): ClientModuleGraph;
|
|
91
|
+
//# sourceMappingURL=module-graph.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-graph.d.ts","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,mDAAmD;AACnD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,6FAA6F;IAC7F,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,WAAW,EAAE,CAAA;CACzC;AAED,MAAM,WAAW,UAAU;IACzB,+DAA+D;IAC/D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAA;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAA;CACpC;AAED,mFAAmF;AACnF,MAAM,WAAW,iBAAiB;IAChC,2FAA2F;IAC3F,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAA;IACvD,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;CACtD;AAED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CACxB,MAAM,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,aAAa,CAAC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;SAAE,CAAC,CAAA;KAAE,CAAC,CAC3F,CAAA;IACD,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CACzB,MAAM,CACJ,MAAM,EACN;QAAE,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;KAAE,CACtF,CACF,CAAA;CACF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,iBAAiB,CAapF;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,uFAAuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,kGAAkG;IAClG,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACvC,uEAAuE;IACvE,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CACvC;AACD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAA;AAExE;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,gBAAgB,EACxB,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,SAAS,MAAM,EAAE,GACjD,iBAAiB,CAiCnB"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bundler-neutral view of a client build, for the guards that must run on every pipeline.
|
|
3
|
+
*
|
|
4
|
+
* nifra's two client-leak guards - server-only code reaching the browser, and `node:` builtins in
|
|
5
|
+
* client code - are the reason a pipeline choice is safe. They are security guards, not lints: one
|
|
6
|
+
* stops secrets and database access shipping to a browser. Today both read Bun's metafile directly,
|
|
7
|
+
* so a second production pipeline would either arrive without them or need them hastily ported, and
|
|
8
|
+
* "mostly ported" is the wrong outcome for a guard of that kind.
|
|
9
|
+
*
|
|
10
|
+
* This is the seam that prevents that. It is introduced while Bun is still the ONLY producer, so the
|
|
11
|
+
* adapter can be verified against the existing behaviour rather than written under pressure beside a
|
|
12
|
+
* new bundler. Adding Rollup later becomes one more `from…` function rather than a second copy of the
|
|
13
|
+
* detection logic.
|
|
14
|
+
*
|
|
15
|
+
* Deliberately minimal - exactly what the guards read, nothing more:
|
|
16
|
+
* - which modules exist and what each imports (to walk the import chain to a sink)
|
|
17
|
+
* - which output chunk each module landed in (to name the chunk a leak reached)
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* Adapt a `Bun.build` metafile to the neutral graph.
|
|
21
|
+
*
|
|
22
|
+
* A total function: an absent or partial metafile yields an empty graph rather than throwing, because
|
|
23
|
+
* a guard that crashes on an unexpected build shape fails the build for the wrong reason. An empty
|
|
24
|
+
* graph reports no findings, which matches the existing behaviour when the metafile is missing.
|
|
25
|
+
*/
|
|
26
|
+
export function fromBunMetafile(meta) {
|
|
27
|
+
const modules = {};
|
|
28
|
+
for (const [id, input] of Object.entries(meta?.inputs ?? {})) {
|
|
29
|
+
modules[id] = { imports: input.imports ?? [] };
|
|
30
|
+
}
|
|
31
|
+
const chunks = {};
|
|
32
|
+
for (const [path, output] of Object.entries(meta?.outputs ?? {})) {
|
|
33
|
+
chunks[path] = {
|
|
34
|
+
...(output.entryPoint !== undefined ? { entryPoint: output.entryPoint } : {}),
|
|
35
|
+
modules: Object.keys(output.inputs ?? {}),
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
return { modules, chunks };
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Adapt a Rollup/Vite output bundle to the neutral graph — the second producer the seam was built for.
|
|
42
|
+
*
|
|
43
|
+
* The bundle records which modules landed in which chunk (`moduleIds`) but NOT each module's import
|
|
44
|
+
* edges, so those come from `importsOf`, which the caller backs with `this.getModuleInfo(id).importedIds`
|
|
45
|
+
* inside a plugin hook (a test backs it with a plain map). Edges carry only the RESOLVED id — Rollup does
|
|
46
|
+
* not keep the as-written specifier per edge — so `path` is set and `original` is left undefined. Both
|
|
47
|
+
* guards read the resolved `path` as their fallback (a `node:` prefix, the `server-only` basename), so
|
|
48
|
+
* detection is unaffected; only the human-readable chain shows resolved paths instead of as-written ones.
|
|
49
|
+
*
|
|
50
|
+
* Total, like {@link fromBunMetafile}: an empty bundle yields an empty graph (no findings), never a throw
|
|
51
|
+
* that would fail a build for the wrong reason.
|
|
52
|
+
*/
|
|
53
|
+
export function fromRollupBundle(bundle, importsOf) {
|
|
54
|
+
const modules = {};
|
|
55
|
+
const chunks = {};
|
|
56
|
+
for (const [fileName, output] of Object.entries(bundle)) {
|
|
57
|
+
// Assets (CSS, copied files) have no module graph; `type` is absent only on hand-built test inputs,
|
|
58
|
+
// which are always chunks, so treat "not explicitly an asset" as a chunk.
|
|
59
|
+
if (output.type === "asset")
|
|
60
|
+
continue;
|
|
61
|
+
const moduleIds = output.moduleIds ?? [];
|
|
62
|
+
// Start from the real modules; `node:` builtins get appended below.
|
|
63
|
+
const chunkModules = [...moduleIds];
|
|
64
|
+
for (const id of moduleIds) {
|
|
65
|
+
const imports = importsOf(id).map((path) => ({ path }));
|
|
66
|
+
if (modules[id] === undefined)
|
|
67
|
+
modules[id] = { imports };
|
|
68
|
+
// The guards locate a leak by finding the builtin IN a chunk's module list - Bun BUNDLES the `node:`
|
|
69
|
+
// polyfill, so the builtin appears there as an input. Rollup EXTERNALIZES `node:`, so it never lands
|
|
70
|
+
// in `moduleIds` and the guard would see nothing. Synthesize the Bun shape: register each imported
|
|
71
|
+
// builtin as a member of THIS chunk (where the leak is) and as a leaf module, so the neutral graph
|
|
72
|
+
// is identical whichever bundler produced it. Only `node:` needs this; a server-only-marked module
|
|
73
|
+
// is a real user module and is already a chunk member.
|
|
74
|
+
for (const im of imports) {
|
|
75
|
+
if (!im.path.startsWith("node:"))
|
|
76
|
+
continue;
|
|
77
|
+
if (!chunkModules.includes(im.path))
|
|
78
|
+
chunkModules.push(im.path);
|
|
79
|
+
if (modules[im.path] === undefined)
|
|
80
|
+
modules[im.path] = { imports: [] };
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
chunks[fileName] = {
|
|
84
|
+
// `facadeModuleId` is null for a shared/common chunk (no single entry) — omit it then, matching
|
|
85
|
+
// how a non-entry Bun output omits `entryPoint`, so the guards' entry set stays the real entries.
|
|
86
|
+
...(output.facadeModuleId ? { entryPoint: output.facadeModuleId } : {}),
|
|
87
|
+
modules: chunkModules,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
return { modules, chunks };
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=module-graph.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-graph.js","sourceRoot":"","sources":["../src/module-graph.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAqWpC,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"css-modules.d.ts","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAqWpC,uGAAuG;AACvG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAmBpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAmBtE"}
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css-modules.js","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"AAsBA,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAE3E,MAAM,QAAQ,GAAG,kBAAkB,CAAA;AAEnC;;;;GAIG;AACH,SAAS,UAAU,CAAC,QAAgB,EAAE,SAAiB;IACrD,OAAO,GAAG,SAAS,IAAI,KAAK,CAAC,GAAG,QAAQ,SAAS,SAAS,EAAE,CAAC,EAAE,CAAA;AACjE,CAAC;AAED;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,QAAgB,EAAE,IAAY;IACxD,OAAO,GAAG,IAAI,IAAI,KAAK,CAAC,GAAG,QAAQ,eAAe,IAAI,EAAE,CAAC,EAAE,CAAA;AAC7D,CAAC;AAED,2GAA2G;AAC3G,MAAM,iBAAiB,GAAG,6CAA6C,CAAA;AACvE;uCACuC;AACvC,MAAM,cAAc,GAAG,6CAA6C,CAAA;AACpE,MAAM,aAAa,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,EAAE,KAAK,WAAW,IAAI,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAA;AAE9F,qGAAqG;AACrG,SAAS,UAAU,CAAC,CAAS,EAAE,CAAS;IACtC,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IAClB,CAAC,EAAE,CAAA;IACH,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;YACf,CAAC,IAAI,CAAC,CAAA;YACN,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,KAAK;YAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAC7B,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,4FAA4F;AAC5F,SAAS,WAAW,CAAC,CAAS,EAAE,CAAS;IACvC,CAAC,IAAI,CAAC,CAAA;IACN,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG;YAAE,OAAO,CAAC,GAAG,CAAC,CAAA;QAClD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAA;AACV,CAAC;AAED,oGAAoG;AACpG,SAAS,iBAAiB,CAAC,CAAS,EAAE,IAAY;IAChD,IAAI,KAAK,GAAG,CAAC,CAAA;IACb,IAAI,CAAC,GAAG,IAAI,CAAA;IACZ,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACd,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YAClC,CAAC,GAAG,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACrB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACpB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,KAAK,EAAE,CAAA;YACP,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,KAAK,EAAE,CAAA;YACP,IAAI,KAAK,KAAK,CAAC;gBAAE,OAAO,CAAC,CAAA;YACzB,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,CAAC,CAAC,CAAA;AACX,CAAC;AAED,uGAAuG;AACvG,yGAAyG;AACzG,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC;IAC7B,OAAO;IACP,UAAU;IACV,WAAW;IACX,OAAO;IACP,OAAO;IACP,gBAAgB;IAChB,UAAU;CACX,CAAC,CAAA;AAEF,SAAS,UAAU,CAAC,OAAe;IACjC,MAAM,KAAK,GAAG,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC/C,OAAO,KAAK,CAAC,CAAC,CAAE,KAAK,CAAC,CAAC,CAAY,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,IAAI,CAAA;AAC1D,CAAC;AAED,MAAM,YAAY,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AACjE,MAAM,WAAW,GAAG,CAAC,CAAS,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;AAE3D;;;;GAIG;AACH,SAAS,0BAA0B,CAAC,WAAmB,EAAE,QAAgB;IACvE,MAAM,OAAO,GAAG,WAAW,CAAC,SAAS,EAAE,CAAA;IACvC,IAAI,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CACb,yDAAyD,QAAQ,4DAA4D,CAC9H,CAAA;IACH,CAAC;IACD,IAAI,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CACb,uDAAuD,QAAQ,oDAAoD,CACpH,CAAA;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAC1B,QAAgB,EAChB,QAAgB,EAChB,UAAkC;IAElC,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAA;IACzB,8FAA8F;IAC9F,mGAAmG;IACnG,MAAM,UAAU,GAAc,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,UAAU,GAAc,EAAE,CAAA;IAChC,MAAM,OAAO,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAY,CAAA;IAE3E,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACb,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAW,CAAA;QAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACzC,MAAM,CAAC,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YAClC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3B,CAAC,GAAG,CAAC,CAAA;YACL,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAA;YACjC,GAAG,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC3B,CAAC,GAAG,CAAC,CAAA;YACL,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YAC9B,MAAM,OAAO,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YAClD,IAAI,OAAO,EAAE,CAAC;gBACZ,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAA;gBACvC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA,CAAC,uDAAuD;gBAC7E,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,MAAM,CAAA;gBACtB,SAAQ;YACV,CAAC;YACD,+FAA+F;YAC/F,gFAAgF;YAChF,MAAM,IAAI,GAAG,iCAAiC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACzD,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,IAAI,KAAK,CACb,uCAAuC,IAAI,CAAC,CAAC,CAAC,qDAAqD,IAAI,CAAC,CAAC,CAAC,aAAa,QAAQ,EAAE,CAClI,CAAA;YACH,CAAC;YACD,GAAG,IAAI,CAAC,CAAA;YACR,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;YACtB,GAAG,IAAI,CAAC,CAAA;YACR,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,UAAU,CAAC,GAAG,EAAE,CAAA;YACnC,IAAI,UAAU;gBAAE,UAAU,CAAC,GAAG,EAAE,CAAA;;gBAC3B,GAAG,IAAI,CAAC,CAAA;YACb,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,IAAI,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,CAAA;YAC5B,IAAI,IAAI,KAAK,SAAS,IAAI,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBACb,OAAO,CAAC,GAAG,CAAC,IAAI,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAW,CAAC;oBAAE,CAAC,EAAE,CAAA;gBACvD,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAA;gBACrC,IAAI,OAAO,EAAE,EAAE,CAAC;oBACd,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;oBACzC,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;oBACzB,GAAG,IAAI,IAAI,MAAM,EAAE,CAAA;gBACrB,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,IAAI,IAAI,EAAE,CAAA;gBACnB,CAAC;gBACD,CAAC,GAAG,CAAC,CAAA;gBACL,SAAQ;YACV,CAAC;YACD,GAAG,IAAI,CAAC,CAAA;YACR,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,GAAG,IAAI,CAAC,CAAA;QACR,CAAC,EAAE,CAAA;IACL,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,GAAW,EAAE,QAAgB,EAAE,GAAwB;IAC/E,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACvB,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1B,CAAC,GAAG,CAAC,CAAA;YACL,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,OAAO,GAAG,EAAE,CAAA;YACZ,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC;gBAAE,MAAK;YACrB,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YAC9B,IAAI,EAAE,KAAK,IAAI,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACzC,MAAM,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBACnB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC;oBAAE,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAA;YAC7F,CAAC;iBAAM,IAAI,EAAE,KAAK,IAAI,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACjD,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAA;YACxD,CAAC;YACD,OAAO,GAAG,EAAE,CAAA;YACZ,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;YACX,SAAQ;QACV,CAAC;QACD,OAAO,IAAI,CAAC,CAAA;QACZ,CAAC,EAAE,CAAA;IACL,CAAC;AACH,CAAC;AAED;;;6BAG6B;AAC7B,SAAS,oBAAoB,CAAC,WAAmB,EAAE,SAA8B;IAC/E,IAAI,SAAS,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO,WAAW,CAAA;IAC5C,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC1C,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,WAAW,CAAA;IAClC,MAAM,KAAK,GAAI,CAAC,CAAC,CAAC,CAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAA;IAC9F,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAE,CAAA;AAC1B,CAAC;AAED;6CAC6C;AAC7C,SAAS,qBAAqB,CAAC,OAAe,EAAE,SAA8B;IAC5E,OAAO,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAU,EAAE,IAAY,EAAE,EAAE,CAC5E,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAC5D,CAAA;AACH,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CACrB,GAAW,EACX,QAAgB,EAChB,UAAkC,EAClC,SAA8B;IAE9B,IAAI,GAAG,GAAG,EAAE,CAAA;IACZ,IAAI,OAAO,GAAG,EAAE,CAAA;IAChB,IAAI,CAAC,GAAG,CAAC,CAAA;IACT,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,CAAW,CAAA;QAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC7B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1B,CAAC,GAAG,CAAC,CAAA;YACL,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YAC3B,MAAM,CAAC,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YAC5B,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YAC1B,CAAC,GAAG,CAAC,CAAA;YACL,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,6FAA6F;YAC7F,mFAAmF;YACnF,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;YAC7C,GAAG,IAAI,GAAG,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,CAAA;YACrD,OAAO,GAAG,EAAE,CAAA;YACZ,CAAC,EAAE,CAAA;YACH,SAAQ;QACV,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;YACd,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,EAAE,CAAC;gBACf,iFAAiF;gBACjF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;gBACvB,CAAC,GAAG,GAAG,CAAC,MAAM,CAAA;gBACd,MAAK;YACP,CAAC;YACD,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAA;YACnC,MAAM,EAAE,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;YAC9B,IAAI,EAAE,KAAK,IAAI,EAAE,CAAC;gBAChB,IAAI,aAAa,CAAC,EAAE,CAAC,EAAE,CAAC;oBACtB,4FAA4F;oBAC5F,GAAG,IAAI,GAAG,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,IAAI,KAAK,GAAG,CAAA;gBACjE,CAAC;qBAAM,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAClC,GAAG,IAAI,GAAG,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAA;gBAChF,CAAC;qBAAM,CAAC;oBACN,GAAG,IAAI,GAAG,OAAO,IAAI,KAAK,GAAG,CAAA;gBAC/B,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,IAAI,GAAG,mBAAmB,CAAC,OAAO,EAAE,QAAQ,EAAE,UAAU,CAAC,IAAI,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,GAAG,CAAA;YAC3H,CAAC;YACD,OAAO,GAAG,EAAE,CAAA;YACZ,CAAC,GAAG,GAAG,GAAG,CAAC,CAAA;YACX,SAAQ;QACV,CAAC;QACD,OAAO,IAAI,CAAC,CAAA;QACZ,CAAC,EAAE,CAAA;IACL,CAAC;IACD,yFAAyF;IACzF,0BAA0B,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAA;IAC7C,GAAG,IAAI,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;IAC/C,OAAO,GAAG,CAAA;AACZ,CAAC;AAQD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,MAAc,EAAE,QAAgB;IACjE,MAAM,UAAU,GAA2B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;IAC9D,yGAAyG;IACzG,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;IAC3C,gBAAgB,CAAC,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAA;IAC7C,MAAM,GAAG,GAAG,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,CAAC,CAAA;IACnE,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAA;AACrC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAuB;IACzD,OAAO;QACL,IAAI,EAAE,qBAAqB,QAAQ,EAAE;QACrC,KAAK,CAAC,KAAK;YACT,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC3D,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAA;gBACjD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC1C,0FAA0F;gBAC1F,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,kBAAkB,CAAC,MAAM,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;gBAC3E,MAAM,EAAE,GAAG,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;gBACxD,qFAAqF;gBACrF,OAAO;oBACL,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;oBACnE,MAAM,EAAE,IAAI;iBACb,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"css-modules.js","sourceRoot":"","sources":["../../src/plugins/css-modules.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { type RollupBundleLike } from "../module-graph.js";
|
|
2
|
+
/**
|
|
3
|
+
* The Rollup plugin-context slice this uses: `getModuleInfo` for a module's resolved imports, and `error`
|
|
4
|
+
* to fail the build. Typed structurally so the file needs no `rollup`/`vite` type dependency.
|
|
5
|
+
*/
|
|
6
|
+
interface RollupPluginContext {
|
|
7
|
+
getModuleInfo(id: string): {
|
|
8
|
+
readonly importedIds?: readonly string[];
|
|
9
|
+
readonly dynamicallyImportedIds?: readonly string[];
|
|
10
|
+
} | null;
|
|
11
|
+
/**
|
|
12
|
+
* Takes an `Error`, never a string.
|
|
13
|
+
*
|
|
14
|
+
* Handed a string, rolldown synthesizes its own error type and calls `Error.captureStackTrace` on a
|
|
15
|
+
* plain object - which Bun rejects with "First argument must be an Error object", and THAT becomes the
|
|
16
|
+
* build failure. The guard still fires, but its message is replaced by an internal one naming nothing,
|
|
17
|
+
* so a real client leak reports as a stack-trace complaint. Passing an Error skips that construction
|
|
18
|
+
* entirely and the message survives.
|
|
19
|
+
*/
|
|
20
|
+
error(error: Error): never;
|
|
21
|
+
}
|
|
22
|
+
/** The minimal Rollup plugin shape this returns — `generateBundle` bound to the plugin context. */
|
|
23
|
+
export interface LeakGuardPlugin {
|
|
24
|
+
readonly name: string;
|
|
25
|
+
/**
|
|
26
|
+
* The finding that failed the build, or `undefined` when the bundle was clean.
|
|
27
|
+
*
|
|
28
|
+
* Recorded as well as thrown because the throw does not reliably survive. A plugin error is handed to
|
|
29
|
+
* the bundler, which builds its own error to report it, and on some Bun + rolldown combinations that
|
|
30
|
+
* construction itself fails (`Error.captureStackTrace` rejecting a non-Error) - so what surfaces is an
|
|
31
|
+
* internal complaint naming neither the leaked module nor its import chain. A caller that owns the
|
|
32
|
+
* build can read this afterwards and raise the real message from its own code, where nothing can
|
|
33
|
+
* rewrite it. A leak is the one failure that must stay legible: the whole point is naming what
|
|
34
|
+
* reached the browser.
|
|
35
|
+
*/
|
|
36
|
+
leak?: string;
|
|
37
|
+
generateBundle(this: RollupPluginContext, options: unknown, bundle: RollupBundleLike): void;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* A Vite/Rollup plugin that fails the build when server-only code or a `node:` builtin reaches the client
|
|
41
|
+
* bundle - the same two guards, and the same error messages, as nifra's Bun production build.
|
|
42
|
+
*/
|
|
43
|
+
export declare function viteLeakGuard(): LeakGuardPlugin;
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=vite-leak-guard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"vite-leak-guard.d.ts","sourceRoot":"","sources":["../../src/plugins/vite-leak-guard.ts"],"names":[],"mappings":"AAuCA,OAAO,EAAoB,KAAK,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAE5E;;;GAGG;AACH,UAAU,mBAAmB;IAC3B,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG;QACzB,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;QACxC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;KACpD,GAAG,IAAI,CAAA;IACR;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,CAAA;CAC3B;AAED,mGAAmG;AACnG,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB;;;;;;;;;;OAUG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,cAAc,CAAC,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAA;CAC5F;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,eAAe,CAyB/C"}
|