@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.
Files changed (102) hide show
  1. package/dist/build-vite.d.ts +68 -0
  2. package/dist/build-vite.d.ts.map +1 -0
  3. package/dist/build-vite.js +487 -0
  4. package/dist/build-vite.js.map +1 -0
  5. package/dist/build.d.ts +112 -25
  6. package/dist/build.d.ts.map +1 -1
  7. package/dist/build.js +283 -64
  8. package/dist/build.js.map +1 -1
  9. package/dist/bun-dev-entry.d.ts +83 -0
  10. package/dist/bun-dev-entry.d.ts.map +1 -0
  11. package/dist/bun-dev-entry.js +136 -0
  12. package/dist/bun-dev-entry.js.map +1 -0
  13. package/dist/client.d.ts.map +1 -1
  14. package/dist/client.js +10 -0
  15. package/dist/client.js.map +1 -1
  16. package/dist/deferred.d.ts +3 -2
  17. package/dist/deferred.d.ts.map +1 -1
  18. package/dist/deferred.js +11 -8
  19. package/dist/deferred.js.map +1 -1
  20. package/dist/dev-port.d.ts +36 -0
  21. package/dist/dev-port.d.ts.map +1 -0
  22. package/dist/dev-port.js +48 -0
  23. package/dist/dev-port.js.map +1 -0
  24. package/dist/dev.d.ts +61 -4
  25. package/dist/dev.d.ts.map +1 -1
  26. package/dist/dev.js +419 -60
  27. package/dist/dev.js.map +1 -1
  28. package/dist/draft.d.ts +37 -0
  29. package/dist/draft.d.ts.map +1 -1
  30. package/dist/draft.js +87 -4
  31. package/dist/draft.js.map +1 -1
  32. package/dist/fs.d.ts +14 -1
  33. package/dist/fs.d.ts.map +1 -1
  34. package/dist/fs.js +7 -1
  35. package/dist/fs.js.map +1 -1
  36. package/dist/index.d.ts +116 -5
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +565 -53
  39. package/dist/index.js.map +1 -1
  40. package/dist/internal/timing-safe-equal.d.ts +16 -0
  41. package/dist/internal/timing-safe-equal.d.ts.map +1 -0
  42. package/dist/internal/timing-safe-equal.js +26 -0
  43. package/dist/internal/timing-safe-equal.js.map +1 -0
  44. package/dist/isr.d.ts.map +1 -1
  45. package/dist/isr.js +1 -14
  46. package/dist/isr.js.map +1 -1
  47. package/dist/llms-txt.d.ts.map +1 -1
  48. package/dist/llms-txt.js +12 -6
  49. package/dist/llms-txt.js.map +1 -1
  50. package/dist/manifest.d.ts +51 -8
  51. package/dist/manifest.d.ts.map +1 -1
  52. package/dist/manifest.js +130 -14
  53. package/dist/manifest.js.map +1 -1
  54. package/dist/module-graph.d.ts +91 -0
  55. package/dist/module-graph.d.ts.map +1 -0
  56. package/dist/module-graph.js +92 -0
  57. package/dist/module-graph.js.map +1 -0
  58. package/dist/plugins/css-modules.d.ts.map +1 -1
  59. package/dist/plugins/css-modules.js +0 -0
  60. package/dist/plugins/css-modules.js.map +1 -1
  61. package/dist/plugins/vite-leak-guard.d.ts +45 -0
  62. package/dist/plugins/vite-leak-guard.d.ts.map +1 -0
  63. package/dist/plugins/vite-leak-guard.js +67 -0
  64. package/dist/plugins/vite-leak-guard.js.map +1 -0
  65. package/dist/public-dir.d.ts +36 -0
  66. package/dist/public-dir.d.ts.map +1 -0
  67. package/dist/public-dir.js +89 -0
  68. package/dist/public-dir.js.map +1 -0
  69. package/dist/route-manifest.d.ts +91 -0
  70. package/dist/route-manifest.d.ts.map +1 -0
  71. package/dist/route-manifest.js +128 -0
  72. package/dist/route-manifest.js.map +1 -0
  73. package/dist/router.d.ts +64 -1
  74. package/dist/router.d.ts.map +1 -1
  75. package/dist/router.js +114 -31
  76. package/dist/router.js.map +1 -1
  77. package/dist/vite.d.ts +10 -4
  78. package/dist/vite.d.ts.map +1 -1
  79. package/dist/vite.js +44 -12
  80. package/dist/vite.js.map +1 -1
  81. package/package.json +17 -2
  82. package/src/build-vite.ts +606 -0
  83. package/src/build.ts +432 -73
  84. package/src/bun-dev-entry.ts +184 -0
  85. package/src/client.ts +8 -0
  86. package/src/deferred.ts +13 -6
  87. package/src/dev-port.ts +63 -0
  88. package/src/dev.ts +467 -65
  89. package/src/draft.ts +116 -4
  90. package/src/fs.ts +22 -4
  91. package/src/index.ts +727 -57
  92. package/src/internal/timing-safe-equal.ts +24 -0
  93. package/src/isr.ts +1 -13
  94. package/src/llms-txt.ts +13 -5
  95. package/src/manifest.ts +188 -13
  96. package/src/module-graph.ts +146 -0
  97. package/src/plugins/css-modules.ts +0 -0
  98. package/src/plugins/vite-leak-guard.ts +110 -0
  99. package/src/public-dir.ts +108 -0
  100. package/src/route-manifest.ts +240 -0
  101. package/src/router.ts +198 -34
  102. 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
- // Each combo is a list of URL segments built so far; an optional segment doubles the set.
35
- let combos = [[]];
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
- if (GROUP.test(seg))
42
- continue; // route group — no URL segment (its `_layout` still applies, keyed by dir)
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
- combos = combos.map((c) => [...c, `*${catchAll[1]}`]);
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) => [c, [...c, `:${optional[1]}`]]);
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
- combos = combos.map((c) => [...c, `:${match[1]}`]);
146
+ push(`:${match[1]}`);
66
147
  }
67
148
  else {
68
- combos = combos.map((c) => [...c, seg]);
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 layoutIds = dirs.filter((dir) => layoutDirs.has(dir)).map(layoutIdFor);
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 filePathToPatterns(file)) {
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
- routes.push({ id, pattern, layoutIds, errorIds, file, load });
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 = { routes, layouts, errors };
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;
@@ -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,CAOpF;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,KAAK,GAAG,KAAK,GAAG,SAAS,CAmBtE"}
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":"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"}
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"}