@nifrajs/web 2.14.1 → 3.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 (145) hide show
  1. package/dist/boundary.d.ts +158 -0
  2. package/dist/boundary.d.ts.map +1 -0
  3. package/dist/boundary.js +237 -0
  4. package/dist/boundary.js.map +1 -0
  5. package/dist/build-plan.d.ts +228 -0
  6. package/dist/build-plan.d.ts.map +1 -0
  7. package/dist/build-plan.js +514 -0
  8. package/dist/build-plan.js.map +1 -0
  9. package/dist/build-vite.d.ts +2 -1
  10. package/dist/build-vite.d.ts.map +1 -1
  11. package/dist/build-vite.js +5 -3
  12. package/dist/build-vite.js.map +1 -1
  13. package/dist/build.d.ts +2 -197
  14. package/dist/build.d.ts.map +1 -1
  15. package/dist/build.js +92 -515
  16. package/dist/build.js.map +1 -1
  17. package/dist/chunk-names.d.ts.map +1 -1
  18. package/dist/chunk-names.js +3 -2
  19. package/dist/chunk-names.js.map +1 -1
  20. package/dist/dev-ssr-graph.d.ts.map +1 -1
  21. package/dist/dev-ssr-graph.js +63 -28
  22. package/dist/dev-ssr-graph.js.map +1 -1
  23. package/dist/diagnostic.d.ts.map +1 -1
  24. package/dist/diagnostic.js +9 -2
  25. package/dist/diagnostic.js.map +1 -1
  26. package/dist/fonts-google.d.ts.map +1 -1
  27. package/dist/fonts-google.js +3 -1
  28. package/dist/fonts-google.js.map +1 -1
  29. package/dist/fs.d.ts.map +1 -1
  30. package/dist/fs.js +2 -1
  31. package/dist/fs.js.map +1 -1
  32. package/dist/index.d.ts +16 -589
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +23 -1824
  35. package/dist/index.js.map +1 -1
  36. package/dist/internal/codegen.d.ts +68 -0
  37. package/dist/internal/codegen.d.ts.map +1 -0
  38. package/dist/internal/codegen.js +317 -0
  39. package/dist/internal/codegen.js.map +1 -0
  40. package/dist/internal/fetcher-runtime.d.ts +19 -0
  41. package/dist/internal/fetcher-runtime.d.ts.map +1 -0
  42. package/dist/internal/fetcher-runtime.js +26 -0
  43. package/dist/internal/fetcher-runtime.js.map +1 -0
  44. package/dist/internal/head-merge.d.ts +2 -0
  45. package/dist/internal/head-merge.d.ts.map +1 -1
  46. package/dist/internal/head-merge.js +17 -1
  47. package/dist/internal/head-merge.js.map +1 -1
  48. package/dist/internal/identity-policy.d.ts +51 -0
  49. package/dist/internal/identity-policy.d.ts.map +1 -0
  50. package/dist/internal/identity-policy.js +67 -0
  51. package/dist/internal/identity-policy.js.map +1 -0
  52. package/dist/internal/parity.d.ts +104 -8
  53. package/dist/internal/parity.d.ts.map +1 -1
  54. package/dist/internal/parity.js +472 -56
  55. package/dist/internal/parity.js.map +1 -1
  56. package/dist/internal/query-runtime.d.ts +8 -0
  57. package/dist/internal/query-runtime.d.ts.map +1 -0
  58. package/dist/internal/query-runtime.js +29 -0
  59. package/dist/internal/query-runtime.js.map +1 -0
  60. package/dist/internal/render-document.d.ts +372 -0
  61. package/dist/internal/render-document.d.ts.map +1 -0
  62. package/dist/internal/render-document.js +744 -0
  63. package/dist/internal/render-document.js.map +1 -0
  64. package/dist/internal/runtime-contract.d.ts +48 -0
  65. package/dist/internal/runtime-contract.d.ts.map +1 -0
  66. package/dist/internal/runtime-contract.js +27 -0
  67. package/dist/internal/runtime-contract.js.map +1 -0
  68. package/dist/internal/web-app.d.ts +171 -0
  69. package/dist/internal/web-app.d.ts.map +1 -0
  70. package/dist/internal/web-app.js +844 -0
  71. package/dist/internal/web-app.js.map +1 -0
  72. package/dist/islands.d.ts +50 -2
  73. package/dist/islands.d.ts.map +1 -1
  74. package/dist/islands.js +96 -36
  75. package/dist/islands.js.map +1 -1
  76. package/dist/manifest.d.ts +41 -6
  77. package/dist/manifest.d.ts.map +1 -1
  78. package/dist/manifest.js.map +1 -1
  79. package/dist/module-graph.d.ts.map +1 -1
  80. package/dist/module-graph.js +22 -9
  81. package/dist/module-graph.js.map +1 -1
  82. package/dist/nano.d.ts +125 -0
  83. package/dist/nano.d.ts.map +1 -0
  84. package/dist/nano.js +190 -0
  85. package/dist/nano.js.map +1 -0
  86. package/dist/plugins/css-modules.js +2 -2
  87. package/dist/plugins/css-modules.js.map +1 -1
  88. package/dist/plugins/kit.d.ts +12 -0
  89. package/dist/plugins/kit.d.ts.map +1 -1
  90. package/dist/plugins/kit.js +62 -12
  91. package/dist/plugins/kit.js.map +1 -1
  92. package/dist/plugins/postcss.js +2 -2
  93. package/dist/plugins/postcss.js.map +1 -1
  94. package/dist/plugins/scss.js +2 -2
  95. package/dist/plugins/scss.js.map +1 -1
  96. package/dist/plugins/stylex.d.ts +70 -0
  97. package/dist/plugins/stylex.d.ts.map +1 -0
  98. package/dist/plugins/stylex.js +166 -0
  99. package/dist/plugins/stylex.js.map +1 -0
  100. package/dist/plugins/svg.js +2 -2
  101. package/dist/plugins/svg.js.map +1 -1
  102. package/dist/render-seam.d.ts +5 -0
  103. package/dist/render-seam.d.ts.map +1 -1
  104. package/dist/render-seam.js +10 -0
  105. package/dist/render-seam.js.map +1 -1
  106. package/dist/router.d.ts +11 -1
  107. package/dist/router.d.ts.map +1 -1
  108. package/dist/router.js +254 -47
  109. package/dist/router.js.map +1 -1
  110. package/dist/vite.d.ts.map +1 -1
  111. package/dist/vite.js +34 -16
  112. package/dist/vite.js.map +1 -1
  113. package/package.json +49 -2
  114. package/src/boundary.ts +407 -0
  115. package/src/build-plan.ts +741 -0
  116. package/src/build-vite.ts +6 -7
  117. package/src/build.ts +120 -730
  118. package/src/chunk-names.ts +3 -2
  119. package/src/dev-ssr-graph.ts +63 -28
  120. package/src/diagnostic.ts +14 -2
  121. package/src/fonts-google.ts +3 -1
  122. package/src/fs.ts +2 -1
  123. package/src/index.ts +107 -2553
  124. package/src/internal/codegen.ts +400 -0
  125. package/src/internal/fetcher-runtime.ts +36 -0
  126. package/src/internal/head-merge.ts +19 -1
  127. package/src/internal/identity-policy.ts +94 -0
  128. package/src/internal/parity.ts +603 -71
  129. package/src/internal/query-runtime.ts +31 -0
  130. package/src/internal/render-document.ts +1116 -0
  131. package/src/internal/runtime-contract.ts +54 -0
  132. package/src/internal/web-app.ts +1114 -0
  133. package/src/islands.ts +106 -40
  134. package/src/manifest.ts +50 -3
  135. package/src/module-graph.ts +23 -9
  136. package/src/nano.ts +246 -0
  137. package/src/plugins/css-modules.ts +2 -2
  138. package/src/plugins/kit.ts +65 -12
  139. package/src/plugins/postcss.ts +2 -2
  140. package/src/plugins/scss.ts +2 -2
  141. package/src/plugins/stylex.ts +298 -0
  142. package/src/plugins/svg.ts +2 -2
  143. package/src/render-seam.ts +6 -0
  144. package/src/router.ts +293 -51
  145. package/src/vite.ts +41 -15
@@ -16,7 +16,7 @@
16
16
  import { dirname } from "node:path";
17
17
  import { pathToFileURL } from "node:url";
18
18
  import { transformCssModule } from "./css-modules.js";
19
- import { createStylesheetEmitter, reproduciblePath, requirePeer } from "./kit.js";
19
+ import { createStylesheetEmitter, normalizeFilePath, reproduciblePath, requirePeer } from "./kit.js";
20
20
  const STYLE_NS = "nifra-scss";
21
21
  const isModuleRequest = (cleanPath) => /\.module\.s[ac]ss$/.test(cleanPath);
22
22
  /**
@@ -38,7 +38,7 @@ export function scssBunPlugin(generate, options = {}) {
38
38
  return compiler;
39
39
  };
40
40
  build.onLoad({ filter: /\.s[ac]ss(\?|$)/ }, async (args) => {
41
- const path = args.path.split("?")[0] ?? args.path;
41
+ const path = normalizeFilePath(args.path);
42
42
  const source = await Bun.file(path).text();
43
43
  const sass = await getCompiler();
44
44
  let css;
@@ -1 +1 @@
1
- {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../src/plugins/scss.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scss.js","sourceRoot":"","sources":["../../src/plugins/scss.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * StyleX integration for Nifra's Bun and Vite pipelines.
3
+ *
4
+ * The StyleX compiler stays an optional peer owned by the StyleX project. This module owns only the
5
+ * Nifra boundary: transform route/component modules in both pipelines, emit client CSS through the
6
+ * existing virtual stylesheet seam, and run the same transform without CSS for SSR.
7
+ */
8
+ import type { BunPlugin } from "bun";
9
+ /** StyleX's module resolution option, kept structural so the compiler remains an optional peer. */
10
+ export interface StylexModuleResolution {
11
+ readonly type: "commonJS" | "haste";
12
+ readonly rootDir: string;
13
+ }
14
+ /** Structural slice of `@babel/core` used by the adapter. */
15
+ export interface StylexBabelCompiler {
16
+ transformAsync(source: string, options: Readonly<Record<string, unknown>>): Promise<StylexBabelResult | null | undefined>;
17
+ }
18
+ /** Structural slice of the StyleX Babel plugin used by the adapter. */
19
+ export interface StylexCompiler {
20
+ withOptions(options: Readonly<Record<string, unknown>>): unknown;
21
+ processStylexRules(rules: readonly unknown[], options: Readonly<Record<string, unknown>>): string;
22
+ }
23
+ /** Optional peer injection and compiler configuration shared by Bun and Vite adapters. */
24
+ export interface StylexPluginOptions {
25
+ /** Inject `@babel/core` in tests or advanced integrations. Defaults to the optional peer. */
26
+ readonly babel?: StylexBabelCompiler;
27
+ /** Inject `@stylexjs/babel-plugin` in tests or advanced integrations. */
28
+ readonly compiler?: StylexCompiler;
29
+ /** Inject Babel syntax plugins. Defaults to the three official syntax peers. */
30
+ readonly syntaxPlugins?: {
31
+ readonly flow: unknown;
32
+ readonly jsx: unknown;
33
+ readonly typescript: unknown;
34
+ };
35
+ /** StyleX import sources to transform. Defaults to `stylex` and `@stylexjs/stylex`. */
36
+ readonly importSources?: readonly string[];
37
+ /** StyleX development transform mode. Defaults to Nifra's dev-server signal. */
38
+ readonly dev?: boolean;
39
+ /** StyleX CSS layer output. Defaults to `true` for deterministic precedence. */
40
+ readonly useCSSLayers?: boolean;
41
+ /** StyleX's module resolution policy. */
42
+ readonly unstable_moduleResolution?: StylexModuleResolution;
43
+ /** Extra Babel plugins and presets merged before the StyleX plugin. */
44
+ readonly babelConfig?: {
45
+ readonly plugins?: readonly unknown[];
46
+ readonly presets?: readonly unknown[];
47
+ };
48
+ }
49
+ interface StylexBabelResult {
50
+ readonly code?: unknown;
51
+ readonly metadata?: unknown;
52
+ }
53
+ /** Build a Bun plugin that transforms StyleX and emits CSS for the browser or class maps for SSR. */
54
+ export declare function stylexBunPlugin(generate: "dom" | "ssr", options?: StylexPluginOptions): BunPlugin;
55
+ /** Structural Vite plugin return type. Vite remains an optional peer of `@nifrajs/web`. */
56
+ export interface StylexVitePlugin {
57
+ readonly name: string;
58
+ transform(source: string, id: string): Promise<{
59
+ readonly code: string;
60
+ readonly map?: null;
61
+ } | undefined>;
62
+ resolveId(id: string): string | undefined;
63
+ load(id: string): string | undefined;
64
+ }
65
+ /** Build a Vite plugin that maps each transformed StyleX module to a virtual CSS asset. */
66
+ export declare function stylexVitePlugin(generate: "dom" | "ssr", options?: StylexPluginOptions): StylexVitePlugin;
67
+ /** Convenience alias for apps that configure only a browser Vite build. */
68
+ export declare const stylexVite: (options?: StylexPluginOptions) => StylexVitePlugin;
69
+ export {};
70
+ //# sourceMappingURL=stylex.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylex.d.ts","sourceRoot":"","sources":["../../src/plugins/stylex.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,166 @@
1
+ import { createStylesheetEmitter, devServerCompile, hash8, normalizeFilePath, reproduciblePath, requirePeer, } from "./kit.js";
2
+ const STYLE_NS = "nifra-stylex";
3
+ const JS_FILTER = /\.[cm]?[jt]sx?(\?|$)/;
4
+ const isRecord = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
5
+ const unwrapDefault = (value) => {
6
+ if (!isRecord(value))
7
+ return value;
8
+ return value.default ?? value;
9
+ };
10
+ const isBabelCompiler = (value) => isRecord(value) && typeof value.transformAsync === "function";
11
+ const isStylexCompiler = (value) => isRecord(value) &&
12
+ typeof value.withOptions === "function" &&
13
+ typeof value.processStylexRules === "function";
14
+ const syntaxPeer = async (specifier, feature) => unwrapDefault(await requirePeer(specifier, {
15
+ feature,
16
+ install: `bun add -d ${specifier}`,
17
+ }));
18
+ const loadBabelCompiler = async (options) => {
19
+ if (options.babel !== undefined)
20
+ return options.babel;
21
+ const loaded = await requirePeer("@babel/core", {
22
+ feature: "StyleX compilation",
23
+ install: "bun add -d @babel/core",
24
+ });
25
+ const compiler = unwrapDefault(loaded);
26
+ if (!isBabelCompiler(compiler)) {
27
+ throw new Error("[nifra/web] the installed @babel/core does not expose transformAsync");
28
+ }
29
+ return compiler;
30
+ };
31
+ const loadStylexCompiler = async (options) => {
32
+ if (options.compiler !== undefined)
33
+ return options.compiler;
34
+ const loaded = await requirePeer("@stylexjs/babel-plugin", {
35
+ feature: "StyleX compilation",
36
+ install: "bun add -d @stylexjs/babel-plugin",
37
+ });
38
+ const compiler = unwrapDefault(loaded);
39
+ if (!isStylexCompiler(compiler)) {
40
+ throw new Error("[nifra/web] the installed @stylexjs/babel-plugin does not expose the StyleX compiler API");
41
+ }
42
+ return compiler;
43
+ };
44
+ const loadSyntaxPlugins = async (options) => {
45
+ if (options.syntaxPlugins !== undefined)
46
+ return options.syntaxPlugins;
47
+ const [flow, jsx, typescript] = await Promise.all([
48
+ syntaxPeer("@babel/plugin-syntax-flow", "StyleX Flow syntax parsing"),
49
+ syntaxPeer("@babel/plugin-syntax-jsx", "StyleX JSX syntax parsing"),
50
+ syntaxPeer("@babel/plugin-syntax-typescript", "StyleX TypeScript syntax parsing"),
51
+ ]);
52
+ return { flow, jsx, typescript };
53
+ };
54
+ const escapeRegExp = (value) => value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
55
+ const containsStylexImport = (source, importSources) => importSources.some((specifier) => {
56
+ const escaped = escapeRegExp(specifier);
57
+ return new RegExp(`(?:from\\s*['"]${escaped}['"]|import\\s*\\(\\s*['"]${escaped}['"]\\s*\\)|require\\s*\\(\\s*['"]${escaped}['"]\\s*\\))`, "m").test(source);
58
+ });
59
+ const loaderFor = (path) => {
60
+ const clean = path.split("?", 1)[0] ?? path;
61
+ if (clean.endsWith(".tsx"))
62
+ return "tsx";
63
+ if (clean.endsWith(".jsx"))
64
+ return "jsx";
65
+ if (clean.endsWith(".ts") || clean.endsWith(".mts") || clean.endsWith(".cts"))
66
+ return "ts";
67
+ return "js";
68
+ };
69
+ const moduleResolution = (options) => options.unstable_moduleResolution ?? { type: "commonJS", rootDir: process.cwd() };
70
+ const transformModule = async (source, filename, options, dependencies) => {
71
+ if (!containsStylexImport(source, options.importSources ?? ["stylex", "@stylexjs/stylex"])) {
72
+ return undefined;
73
+ }
74
+ const { babel, compiler, syntax } = await dependencies;
75
+ const result = await babel.transformAsync(source, {
76
+ babelrc: false,
77
+ filename,
78
+ presets: [...(options.babelConfig?.presets ?? [])],
79
+ plugins: [
80
+ ...(options.babelConfig?.plugins ?? []),
81
+ /\.jsx?$/.test(filename) ? syntax.flow : [syntax.typescript, { isTSX: true }],
82
+ syntax.jsx,
83
+ compiler.withOptions({
84
+ dev: options.dev ?? devServerCompile(),
85
+ importSources: options.importSources ?? ["stylex", "@stylexjs/stylex"],
86
+ treeshakeCompensation: true,
87
+ unstable_moduleResolution: moduleResolution(options),
88
+ }),
89
+ ],
90
+ });
91
+ const code = typeof result?.code === "string" ? result.code : undefined;
92
+ if (code === undefined)
93
+ return undefined;
94
+ const metadata = isRecord(result?.metadata) ? result.metadata : undefined;
95
+ const rules = Array.isArray(metadata?.stylex) ? metadata.stylex : [];
96
+ const css = rules.length === 0
97
+ ? ""
98
+ : compiler.processStylexRules(rules, {
99
+ useCSSLayers: options.useCSSLayers ?? true,
100
+ });
101
+ return { code, css };
102
+ };
103
+ const dependenciesFor = (options) => {
104
+ let dependencies;
105
+ return () => {
106
+ dependencies ??= Promise.all([
107
+ loadBabelCompiler(options),
108
+ loadStylexCompiler(options),
109
+ loadSyntaxPlugins(options),
110
+ ]).then(([babel, compiler, syntax]) => ({ babel, compiler, syntax }));
111
+ return dependencies;
112
+ };
113
+ };
114
+ /** Build a Bun plugin that transforms StyleX and emits CSS for the browser or class maps for SSR. */
115
+ export function stylexBunPlugin(generate, options = {}) {
116
+ return {
117
+ name: `nifra-stylex-${generate}`,
118
+ setup(build) {
119
+ const stylesheet = generate === "dom" ? createStylesheetEmitter(build, STYLE_NS) : undefined;
120
+ const dependencies = dependenciesFor(options);
121
+ build.onLoad({ filter: JS_FILTER }, async (args) => {
122
+ const path = normalizeFilePath(args.path);
123
+ const source = await Bun.file(path).text();
124
+ const transformed = await transformModule(source, path, options, dependencies());
125
+ if (transformed === undefined)
126
+ return;
127
+ const contents = generate === "dom" && stylesheet !== undefined && transformed.css !== ""
128
+ ? `${transformed.code}\n${stylesheet.emit(path, transformed.css)}`
129
+ : transformed.code;
130
+ return { contents, loader: loaderFor(path) };
131
+ });
132
+ },
133
+ };
134
+ }
135
+ /** Build a Vite plugin that maps each transformed StyleX module to a virtual CSS asset. */
136
+ export function stylexVitePlugin(generate, options = {}) {
137
+ const cssById = new Map();
138
+ const dependencies = dependenciesFor(options);
139
+ const virtualIdFor = (id) => `virtual:nifra-stylex/${hash8(reproduciblePath(normalizeFilePath(id)))}.css`;
140
+ return {
141
+ name: `nifra-stylex-${generate}`,
142
+ async transform(source, id) {
143
+ const path = normalizeFilePath(id);
144
+ const transformed = await transformModule(source, path, options, dependencies());
145
+ if (transformed === undefined)
146
+ return undefined;
147
+ if (generate === "ssr" || transformed.css === "")
148
+ return { code: transformed.code, map: null };
149
+ const cssId = virtualIdFor(path);
150
+ cssById.set(cssId, transformed.css);
151
+ return {
152
+ code: `${transformed.code}\nimport ${JSON.stringify(cssId)}`,
153
+ map: null,
154
+ };
155
+ },
156
+ resolveId(id) {
157
+ return cssById.has(id) ? id : undefined;
158
+ },
159
+ load(id) {
160
+ return cssById.get(id);
161
+ },
162
+ };
163
+ }
164
+ /** Convenience alias for apps that configure only a browser Vite build. */
165
+ export const stylexVite = (options = {}) => stylexVitePlugin("dom", options);
166
+ //# sourceMappingURL=stylex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stylex.js","sourceRoot":"","sources":["../../src/plugins/stylex.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { requirePeer } from "./kit.js";
1
+ import { normalizeFilePath, requirePeer } from "./kit.js";
2
2
  /** SVG/HTML attribute names that JSX expects camelCased (the common subset on icons). */
3
3
  const CAMEL_ATTRS = new Map([
4
4
  "clip-path",
@@ -125,7 +125,7 @@ export function svgComponentBunPlugin(_generate, options = {}) {
125
125
  return optimizer;
126
126
  };
127
127
  build.onLoad({ filter: SVG_FILTER }, async (args) => {
128
- const path = args.path.split("?")[0] ?? args.path;
128
+ const path = normalizeFilePath(args.path);
129
129
  let xml = await Bun.file(path).text();
130
130
  const svgo = await getOptimizer();
131
131
  if (svgo !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  * without importing the document renderer through the root module. The singleton is stored on
7
7
  * globalThis because the Bun and Vite dev pipelines can evaluate two copies in one process.
8
8
  */
9
+ import type { BoundaryStates } from "./boundary.js";
9
10
  import type { Submission } from "./router.js";
10
11
  /** The data handed to a route component. */
11
12
  export interface RenderProps {
@@ -25,6 +26,8 @@ export interface RenderProps {
25
26
  readonly path?: string;
26
27
  /** The route's typed, validated search params. */
27
28
  readonly search?: Record<string, unknown>;
29
+ /** Neutral named-boundary states; adapters choose how each boundary's `render` UI is mounted. */
30
+ readonly boundaries?: BoundaryStates;
28
31
  }
29
32
  /**
30
33
  * The seam every render adapter implements. New adapters should prove these invariants with
@@ -56,6 +59,8 @@ export declare const ROUTE_GLOBAL = "__NIFRA_ROUTE__";
56
59
  /** Global the server serializes an action's data return into (absent on GETs); the client reads it
57
60
  * so hydration after a native form POST matches the server-rendered markup. */
58
61
  export declare const ACTION_GLOBAL = "__NIFRA_ACTION__";
62
+ /** Dynamic-boundary states for hydration; absent when a route declares no boundaries. */
63
+ export declare const BOUNDARY_GLOBAL = "__NIFRA_BOUNDARIES__";
59
64
  /** Marker attribute used to find a non-default hydration container. */
60
65
  export declare const ROOT_ATTRIBUTE = "data-nifra-root";
61
66
  //# sourceMappingURL=render-seam.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-seam.d.ts","sourceRoot":"","sources":["../src/render-seam.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,yFAAyF;IACzF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC1C;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,cAAc,CACZ,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,KAAK,EAAE,WAAW,GACjB,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,8EAA8E;IAC9E,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxF,iFAAiF;IACjF,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACtC;AAED,+FAA+F;AAC/F,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAK9D,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAE1E;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,eAAe,GAAG,SAAS,CAE7D;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AACzD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAC7C;+EAC+E;AAC/E,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAC/C,uEAAuE;AACvE,eAAO,MAAM,cAAc,oBAAoB,CAAA"}
1
+ {"version":3,"file":"render-seam.d.ts","sourceRoot":"","sources":["../src/render-seam.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAE7C,4CAA4C;AAC5C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAA;IACtB,yFAAyF;IACzF,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,OAAO,EAAE,CAAA;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B,gGAAgG;IAChG,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,qGAAqG;IACrG,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;IAC7B,mFAAmF;IACnF,QAAQ,CAAC,UAAU,CAAC,EAAE,UAAU,CAAA;IAChC,+CAA+C;IAC/C,QAAQ,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;IAClD,uDAAuD;IACvD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,kDAAkD;IAClD,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IACzC,iGAAiG;IACjG,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;CACrC;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC5B;;;OAGG;IACH,cAAc,CACZ,KAAK,EAAE,SAAS,OAAO,EAAE,EACzB,KAAK,EAAE,WAAW,GACjB,cAAc,CAAC,UAAU,CAAC,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAA;IACnE,8EAA8E;IAC9E,cAAc,CAAC,CAAC,KAAK,EAAE,SAAS,OAAO,EAAE,EAAE,KAAK,EAAE,WAAW,GAAG,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IACxF,iFAAiF;IACjF,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;CACtC;AAED,+FAA+F;AAC/F,MAAM,MAAM,eAAe,GAAG,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;AAK9D,2DAA2D;AAC3D,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,eAAe,GAAG,SAAS,GAAG,IAAI,CAE1E;AAED,+EAA+E;AAC/E,wBAAgB,eAAe,IAAI,eAAe,GAAG,SAAS,CAE7D;AAED,qFAAqF;AACrF,eAAO,MAAM,WAAW,mBAAmB,CAAA;AAC3C,4CAA4C;AAC5C,eAAO,MAAM,kBAAkB,0BAA0B,CAAA;AACzD,0DAA0D;AAC1D,eAAO,MAAM,YAAY,oBAAoB,CAAA;AAC7C;+EAC+E;AAC/E,eAAO,MAAM,aAAa,qBAAqB,CAAA;AAC/C,yFAAyF;AACzF,eAAO,MAAM,eAAe,yBAAyB,CAAA;AACrD,uEAAuE;AACvE,eAAO,MAAM,cAAc,oBAAoB,CAAA"}
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Framework-agnostic rendering protocol shared by the web runtime and every render adapter.
3
+ *
4
+ * This module is intentionally small and has no runtime dependencies. Keeping the protocol and the
5
+ * dev SSR-loader singleton here lets adapters and conformance tests depend on the seam directly
6
+ * without importing the document renderer through the root module. The singleton is stored on
7
+ * globalThis because the Bun and Vite dev pipelines can evaluate two copies in one process.
8
+ */
1
9
  const SSR_MODULE_LOADER_SLOT = Symbol.for("nifra.web.ssr-module-loader");
2
10
  const loaderSlot = globalThis;
3
11
  /** Publish or clear the dev server's SSR module loader. */
@@ -17,6 +25,8 @@ export const ROUTE_GLOBAL = "__NIFRA_ROUTE__";
17
25
  /** Global the server serializes an action's data return into (absent on GETs); the client reads it
18
26
  * so hydration after a native form POST matches the server-rendered markup. */
19
27
  export const ACTION_GLOBAL = "__NIFRA_ACTION__";
28
+ /** Dynamic-boundary states for hydration; absent when a route declares no boundaries. */
29
+ export const BOUNDARY_GLOBAL = "__NIFRA_BOUNDARIES__";
20
30
  /** Marker attribute used to find a non-default hydration container. */
21
31
  export const ROOT_ATTRIBUTE = "data-nifra-root";
22
32
  //# sourceMappingURL=render-seam.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render-seam.js","sourceRoot":"","sources":["../src/render-seam.ts"],"names":[],"mappings":"AAoDA,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AACxE,MAAM,UAAU,GAAG,UAAwE,CAAA;AAE3F,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,IAAiC;IAClE,UAAU,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAA;AAC3C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC3C,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AACzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAC7C;+EAC+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAA;AAC/C,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAA"}
1
+ {"version":3,"file":"render-seam.js","sourceRoot":"","sources":["../src/render-seam.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAiDH,MAAM,sBAAsB,GAAG,MAAM,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAA;AACxE,MAAM,UAAU,GAAG,UAAwE,CAAA;AAE3F,2DAA2D;AAC3D,MAAM,UAAU,kBAAkB,CAAC,IAAiC;IAClE,UAAU,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAA;AAC3C,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,eAAe;IAC7B,OAAO,UAAU,CAAC,sBAAsB,CAAC,CAAA;AAC3C,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,WAAW,GAAG,gBAAgB,CAAA;AAC3C,4CAA4C;AAC5C,MAAM,CAAC,MAAM,kBAAkB,GAAG,uBAAuB,CAAA;AACzD,0DAA0D;AAC1D,MAAM,CAAC,MAAM,YAAY,GAAG,iBAAiB,CAAA;AAC7C;+EAC+E;AAC/E,MAAM,CAAC,MAAM,aAAa,GAAG,kBAAkB,CAAA;AAC/C,yFAAyF;AACzF,MAAM,CAAC,MAAM,eAAe,GAAG,sBAAsB,CAAA;AACrD,uEAAuE;AACvE,MAAM,CAAC,MAAM,cAAc,GAAG,iBAAiB,CAAA"}
package/dist/router.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  import type { StandardSchemaV1 } from "@nifrajs/core/server";
2
+ import type { BoundaryStates } from "./boundary.js";
3
+ import type { ClientRouteHooks } from "./manifest.js";
2
4
  /**
3
5
  * Request header that asks a nifra route's GET to return just the loader data as JSON (instead of
4
6
  * the full HTML document). Set by client-side navigation; read by `createWebApp`'s GET handler.
@@ -71,6 +73,8 @@ export interface RouteDataEnvelope {
71
73
  /** Indices whose loader was SKIPPED because the layout's own params did not change. The client
72
74
  * keeps its existing value at each of these, so an unchanged layout is neither refetched nor lost. */
73
75
  readonly retained?: readonly number[];
76
+ /** Dynamic-boundary states returned alongside loader/layout data. */
77
+ readonly boundaries?: BoundaryStates;
74
78
  /** Terminal status signalled by a loader. Added by the browser transport after reading
75
79
  * `X-Nifra-Status`; old servers and static data files simply omit it. */
76
80
  readonly status?: number;
@@ -99,6 +103,8 @@ export interface RouterState {
99
103
  /** Per-layout loader data, aligned with the matched chain's leading layout prefix. Absent when no
100
104
  * layout in that chain has a loader. */
101
105
  readonly layoutData?: readonly unknown[] | undefined;
106
+ /** Neutral named-boundary states for the active route. */
107
+ readonly boundaries?: BoundaryStates;
102
108
  /** An action's data return after a client-side submit (cleared on navigation). */
103
109
  readonly actionData?: unknown;
104
110
  /** True while a navigation or submit is in flight (drives loading UI). */
@@ -144,7 +150,7 @@ export interface FetcherState {
144
150
  /**
145
151
  * An independent load/submit state machine, retrieved by `router.fetcher(key)`. Runs **concurrently**
146
152
  * with the main router and with other fetchers - each is single-flight against *itself* (its own
147
- * monotonic token), so N row-level mutations / side-channel loads can be in flight at once without
153
+ * monotonic generation), so N row-level mutations / side-channel loads can be in flight at once without
148
154
  * disturbing the active view. Loads/submits write the shared cache and honor `X-Nifra-Revalidate`.
149
155
  */
150
156
  export interface Fetcher {
@@ -177,6 +183,8 @@ export interface ClientRouter {
177
183
  * always loads its target regardless. Rejects on failure (caller falls back).
178
184
  */
179
185
  submit: (action: string, body: NonNullable<RequestInit["body"]>, opts?: SubmitOptions) => Promise<void>;
186
+ /** Run the initial route's client loader after the adapter has hydrated the SSR markup. */
187
+ hydrate: () => Promise<void>;
180
188
  /**
181
189
  * Mark cached route data stale and refresh the active view. With `paths`, target exactly those
182
190
  * (e.g. the routes a mutation changed); without, invalidate the whole cache. The active route
@@ -224,6 +232,8 @@ export interface ClientRouterOptions {
224
232
  * entry's `loadModule` (so a route's keys are present once it has been visited, which is exactly when a
225
233
  * same-route nav can consult them). Omit ⇒ every search change revalidates (the safe default). */
226
234
  readonly searchClientKeys?: Readonly<Record<string, readonly string[]>>;
235
+ /** routeId → client-only loader/action hooks, populated by the generated route entry. */
236
+ readonly routeHooks?: Readonly<Record<string, ClientRouteHooks | undefined>>;
227
237
  }
228
238
  /** Options for a per-adapter `mountRouter` (the Router binding that hydrates + re-renders). */
229
239
  export interface MountRouterOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}