@nifrajs/web 1.12.0 → 2.0.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 (47) hide show
  1. package/dist/build.d.ts +14 -0
  2. package/dist/build.d.ts.map +1 -1
  3. package/dist/build.js +105 -40
  4. package/dist/build.js.map +1 -1
  5. package/dist/client.d.ts.map +1 -1
  6. package/dist/client.js +2 -10
  7. package/dist/client.js.map +1 -1
  8. package/dist/deferred.d.ts.map +1 -1
  9. package/dist/deferred.js +3 -0
  10. package/dist/deferred.js.map +1 -1
  11. package/dist/draft.d.ts +1 -1
  12. package/dist/draft.d.ts.map +1 -1
  13. package/dist/draft.js +1 -1
  14. package/dist/draft.js.map +1 -1
  15. package/dist/forms.d.ts +1 -1
  16. package/dist/forms.d.ts.map +1 -1
  17. package/dist/index.d.ts +11 -9
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +12 -22
  20. package/dist/index.js.map +1 -1
  21. package/dist/manifest.d.ts +2 -5
  22. package/dist/manifest.d.ts.map +1 -1
  23. package/dist/manifest.js +1 -6
  24. package/dist/manifest.js.map +1 -1
  25. package/dist/plugins/postcss.d.ts +50 -0
  26. package/dist/plugins/postcss.d.ts.map +1 -0
  27. package/dist/plugins/postcss.js +68 -0
  28. package/dist/plugins/postcss.js.map +1 -0
  29. package/dist/plugins/svg.d.ts +44 -0
  30. package/dist/plugins/svg.d.ts.map +1 -0
  31. package/dist/plugins/svg.js +110 -0
  32. package/dist/plugins/svg.js.map +1 -0
  33. package/dist/router.d.ts +3 -0
  34. package/dist/router.d.ts.map +1 -1
  35. package/dist/router.js +13 -36
  36. package/dist/router.js.map +1 -1
  37. package/package.json +13 -2
  38. package/src/build.ts +109 -41
  39. package/src/client.ts +2 -8
  40. package/src/deferred.ts +3 -0
  41. package/src/draft.ts +1 -1
  42. package/src/forms.ts +1 -1
  43. package/src/index.ts +18 -34
  44. package/src/manifest.ts +2 -8
  45. package/src/plugins/postcss.ts +129 -0
  46. package/src/plugins/svg.ts +156 -0
  47. package/src/router.ts +20 -37
@@ -0,0 +1,68 @@
1
+ import { transformCssModule } from "./css-modules.js";
2
+ import { createStylesheetEmitter, reproduciblePath, requirePeer } from "./kit.js";
3
+ const STYLE_NS = "nifra-postcss";
4
+ const CSS_FILTER = /\.(css|pcss|postcss)(\?|$)/;
5
+ const isModuleRequest = (cleanPath) => /\.module\.(css|pcss|postcss)$/.test(cleanPath);
6
+ /**
7
+ * The PostCSS Bun plugin. `"dom"` → bundles the processed CSS (and, for `*.module.*`, exports the
8
+ * scoped class map); `"ssr"` → the class map only for `*.module.*`, an empty module for plain CSS.
9
+ * Tolerates a trailing `?query` (dev servers append one to bust Bun's import cache).
10
+ */
11
+ export function postcssBunPlugin(generate, options = {}) {
12
+ return {
13
+ name: `nifra-postcss-${generate}`,
14
+ setup(build) {
15
+ const stylesheet = createStylesheetEmitter(build, STYLE_NS);
16
+ let processor = options.postcss;
17
+ let pluginList = options.plugins;
18
+ const getProcessor = async () => {
19
+ processor ??= (await requirePeer("postcss", {
20
+ feature: "PostCSS/Tailwind support",
21
+ install: "bun add -d postcss",
22
+ })).default;
23
+ return processor;
24
+ };
25
+ const getPlugins = async () => {
26
+ if (pluginList !== undefined)
27
+ return pluginList;
28
+ const load = options.loadConfig ??
29
+ (await requirePeer("postcss-load-config", {
30
+ feature: "loading postcss.config.js (or pass `plugins` explicitly)",
31
+ install: "bun add -d postcss-load-config",
32
+ })).default;
33
+ const loaded = await load({}, options.config);
34
+ pluginList = loaded.plugins ?? [];
35
+ return pluginList;
36
+ };
37
+ build.onLoad({ filter: CSS_FILTER }, async (args) => {
38
+ const path = args.path.split("?")[0] ?? args.path;
39
+ const source = await Bun.file(path).text();
40
+ const postcss = await getProcessor();
41
+ const plugins = await getPlugins();
42
+ let css;
43
+ try {
44
+ css = (await postcss(plugins).process(source, { from: path })).css;
45
+ }
46
+ catch (err) {
47
+ throw new Error(`[nifra/web] failed to process ${path}: ${err?.message ?? err}`, { cause: err });
48
+ }
49
+ if (isModuleRequest(path)) {
50
+ // *.module.css → process, then scope class names through the shared CSS-modules transform.
51
+ // Scope off the cwd-relative path so names are reproducible across machines/CI.
52
+ const { exports, css: scopedCss } = transformCssModule(css, reproduciblePath(path));
53
+ const js = `export default ${JSON.stringify(exports)}\n`;
54
+ return {
55
+ contents: generate === "dom" ? js + stylesheet.emit(path, scopedCss) : js,
56
+ loader: "js",
57
+ };
58
+ }
59
+ // Plain CSS → side-effect import: bundle the CSS on dom, an empty module on ssr.
60
+ return {
61
+ contents: generate === "dom" ? stylesheet.emit(path, css) : "",
62
+ loader: "js",
63
+ };
64
+ });
65
+ },
66
+ };
67
+ }
68
+ //# sourceMappingURL=postcss.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"postcss.js","sourceRoot":"","sources":["../../src/plugins/postcss.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEjF,MAAM,QAAQ,GAAG,eAAe,CAAA;AA2BhC,MAAM,UAAU,GAAG,4BAA4B,CAAA;AAC/C,MAAM,eAAe,GAAG,CAAC,SAAiB,EAAW,EAAE,CACrD,+BAA+B,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;AAEjD;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAuB,EACvB,UAAgC,EAAE;IAElC,OAAO;QACL,IAAI,EAAE,iBAAiB,QAAQ,EAAE;QACjC,KAAK,CAAC,KAAK;YACT,MAAM,UAAU,GAAG,uBAAuB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAA;YAC3D,IAAI,SAAS,GAAG,OAAO,CAAC,OAAO,CAAA;YAC/B,IAAI,UAAU,GAAmC,OAAO,CAAC,OAAO,CAAA;YAEhE,MAAM,YAAY,GAAG,KAAK,IAA+B,EAAE;gBACzD,SAAS,KAAK,CACZ,MAAM,WAAW,CAAgC,SAAS,EAAE;oBAC1D,OAAO,EAAE,0BAA0B;oBACnC,OAAO,EAAE,oBAAoB;iBAC9B,CAAC,CACH,CAAC,OAAO,CAAA;gBACT,OAAO,SAAS,CAAA;YAClB,CAAC,CAAA;YAED,MAAM,UAAU,GAAG,KAAK,IAAiC,EAAE;gBACzD,IAAI,UAAU,KAAK,SAAS;oBAAE,OAAO,UAAU,CAAA;gBAC/C,MAAM,IAAI,GACR,OAAO,CAAC,UAAU;oBAClB,CACE,MAAM,WAAW,CAAmC,qBAAqB,EAAE;wBACzE,OAAO,EAAE,0DAA0D;wBACnE,OAAO,EAAE,gCAAgC;qBAC1C,CAAC,CACH,CAAC,OAAO,CAAA;gBACX,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;gBAC7C,UAAU,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAA;gBACjC,OAAO,UAAU,CAAA;YACnB,CAAC,CAAA;YAED,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAClD,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,MAAM,OAAO,GAAG,MAAM,YAAY,EAAE,CAAA;gBACpC,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAA;gBAClC,IAAI,GAAW,CAAA;gBACf,IAAI,CAAC;oBACH,GAAG,GAAG,CAAC,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAA;gBACpE,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,KAAM,GAAa,EAAE,OAAO,IAAI,GAAG,EAAE,EAC1E,EAAE,KAAK,EAAE,GAAG,EAAE,CACf,CAAA;gBACH,CAAC;gBAED,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC1B,2FAA2F;oBAC3F,gFAAgF;oBAChF,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAA;oBACnF,MAAM,EAAE,GAAG,kBAAkB,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAA;oBACxD,OAAO;wBACL,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;wBACzE,MAAM,EAAE,IAAI;qBACb,CAAA;gBACH,CAAC;gBAED,iFAAiF;gBACjF,OAAO;oBACL,QAAQ,EAAE,QAAQ,KAAK,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC9D,MAAM,EAAE,IAAI;iBACb,CAAA;YACH,CAAC,CAAC,CAAA;QACJ,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,44 @@
1
+ /**
2
+ * `@nifrajs/web/plugins/svg` - import an SVG as a component: `import Icon from "./icon.svg?component"`,
3
+ * then `<Icon className="w-6 h-6 text-blue-500" />`. Props spread onto the root `<svg>`, matching the
4
+ * standard Vite `svgr` workflow. In its OWN module so the SSR preload registers it before any SVG
5
+ * loads; pass `"dom"` for the client bundle and preload `"ssr"` for the server (both emit the same
6
+ * isomorphic component).
7
+ *
8
+ * SCOPE: emits an **automatic-JSX-runtime** component, so it works out of the box for the frameworks
9
+ * whose build supplies a `jsxImportSource` - **React and Preact**. Solid (needs `babel-preset-solid`),
10
+ * Svelte, and Vue are not JSX and are intentionally out of v1; a plain `import "./icon.svg"` (asset URL)
11
+ * is untouched - only the `?component` marker is intercepted.
12
+ *
13
+ * Optimization is optional: pass `svgo` (or install the `svgo` peer) to minify/clean the SVG first.
14
+ * The transform is regex-based and targets the common icon-set shape (well-formed, self-closed tags);
15
+ * it camelCases hyphenated + `xlink:`/`xmlns:` attributes, maps `class` → `className`, parses an inline
16
+ * `style="..."` into an object, and drops XML declarations/comments so the result is valid JSX.
17
+ */
18
+ import type { BunPlugin } from "bun";
19
+ /** The subset of the `svgo` API this plugin uses (structural, so no hard dependency on its types). */
20
+ export interface SvgOptimizer {
21
+ optimize(input: string, options?: Record<string, unknown>): {
22
+ readonly data: string;
23
+ };
24
+ }
25
+ export interface SvgPluginOptions {
26
+ /** Optimize each SVG first. `true` loads the `svgo` peer; pass an optimizer to inject one (or a stub). */
27
+ readonly svgo?: boolean | SvgOptimizer;
28
+ }
29
+ export interface SvgToJsxOptions {
30
+ /** The JSX prop name for `class`. `"className"` for React/Preact; `"class"` for Solid. */
31
+ readonly classProp?: string;
32
+ }
33
+ /** Convert an SVG XML string into a JSX-safe `<svg>…</svg>` element with `{...props}` spread on the root. */
34
+ export declare function svgToJsx(xml: string, options?: SvgToJsxOptions): string;
35
+ /** Emit the component module source for a `?component` SVG import. Identical on dom + ssr (isomorphic). */
36
+ export declare function svgComponentSource(xml: string, options?: SvgToJsxOptions): string;
37
+ /** The Bun `onLoad` filter every adapter's SVG-component plugin matches: `*.svg?component`. */
38
+ export declare const SVG_COMPONENT_FILTER: RegExp;
39
+ /**
40
+ * The SVG-as-component Bun plugin (React/Preact). `generate` is accepted for parity with the other
41
+ * plugin pairs; the emitted component is the same on `"dom"` and `"ssr"`.
42
+ */
43
+ export declare function svgComponentBunPlugin(_generate: "dom" | "ssr", options?: SvgPluginOptions): BunPlugin;
44
+ //# sourceMappingURL=svg.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg.d.ts","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAGpC,sGAAsG;AACtG,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAA;CACtF;AAED,MAAM,WAAW,gBAAgB;IAC/B,0GAA0G;IAC1G,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,YAAY,CAAA;CACvC;AA8CD,MAAM,WAAW,eAAe;IAC9B,0FAA0F;IAC1F,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAC5B;AAED,6GAA6G;AAC7G,wBAAgB,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAuB3E;AAED,2GAA2G;AAC3G,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,MAAM,CAErF;AAED,+FAA+F;AAC/F,eAAO,MAAM,oBAAoB,QAA0B,CAAA;AAG3D;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,KAAK,GAAG,KAAK,EACxB,OAAO,GAAE,gBAAqB,GAC7B,SAAS,CAkCX"}
@@ -0,0 +1,110 @@
1
+ import { requirePeer } from "./kit.js";
2
+ /** SVG/HTML attribute names that JSX expects camelCased (the common subset on icons). */
3
+ const CAMEL_ATTRS = new Map([
4
+ "clip-path",
5
+ "clip-rule",
6
+ "fill-opacity",
7
+ "fill-rule",
8
+ "stroke-width",
9
+ "stroke-linecap",
10
+ "stroke-linejoin",
11
+ "stroke-opacity",
12
+ "stroke-dasharray",
13
+ "stroke-dashoffset",
14
+ "stroke-miterlimit",
15
+ "font-family",
16
+ "font-size",
17
+ "font-weight",
18
+ "text-anchor",
19
+ "stop-color",
20
+ "stop-opacity",
21
+ "color-interpolation-filters",
22
+ "flood-color",
23
+ "flood-opacity",
24
+ "vector-effect",
25
+ ].map((name) => [name, name.replace(/-([a-z])/g, (_m, c) => c.toUpperCase())]));
26
+ function styleToObject(style) {
27
+ const entries = style
28
+ .split(";")
29
+ .map((decl) => decl.trim())
30
+ .filter(Boolean)
31
+ .map((decl) => {
32
+ const idx = decl.indexOf(":");
33
+ const prop = decl
34
+ .slice(0, idx)
35
+ .trim()
36
+ .replace(/-([a-z])/g, (_m, c) => c.toUpperCase());
37
+ const value = decl.slice(idx + 1).trim();
38
+ return `${JSON.stringify(prop)}:${JSON.stringify(value)}`;
39
+ });
40
+ return `{{${entries.join(",")}}}`;
41
+ }
42
+ /** Convert an SVG XML string into a JSX-safe `<svg>…</svg>` element with `{...props}` spread on the root. */
43
+ export function svgToJsx(xml, options = {}) {
44
+ const classProp = options.classProp ?? "className";
45
+ let out = xml
46
+ .replace(/<\?xml[\s\S]*?\?>/g, "") // XML declaration
47
+ .replace(/<!--[\s\S]*?-->/g, "") // comments
48
+ .replace(/<!DOCTYPE[^>]*>/gi, "")
49
+ .trim();
50
+ // Namespaced attributes → camelCase (xlink:href → xlinkHref, xmlns:xlink → xmlnsXlink).
51
+ out = out.replace(/\b([a-z]+):([a-z]+)=/gi, (_m, ns, name) => {
52
+ return `${ns.toLowerCase()}${name.charAt(0).toUpperCase()}${name.slice(1)}=`;
53
+ });
54
+ // Known hyphenated attributes → camelCase.
55
+ for (const [kebab, camel] of CAMEL_ATTRS) {
56
+ out = out.replace(new RegExp(`\\b${kebab}=`, "g"), `${camel}=`);
57
+ }
58
+ // class → the framework's prop (className for React/Preact, class for Solid).
59
+ if (classProp !== "class")
60
+ out = out.replace(/\bclass=/g, `${classProp}=`);
61
+ // Inline style string → JSX object.
62
+ out = out.replace(/\bstyle="([^"]*)"/g, (_m, css) => `style=${styleToObject(css)}`);
63
+ // Spread props onto the root <svg> tag (after the tag name, before its attributes).
64
+ out = out.replace(/^<svg\b/, "<svg {...props}");
65
+ return out;
66
+ }
67
+ /** Emit the component module source for a `?component` SVG import. Identical on dom + ssr (isomorphic). */
68
+ export function svgComponentSource(xml, options = {}) {
69
+ return `export default function SvgComponent(props){return (${svgToJsx(xml, options)})}\n`;
70
+ }
71
+ /** The Bun `onLoad` filter every adapter's SVG-component plugin matches: `*.svg?component`. */
72
+ export const SVG_COMPONENT_FILTER = /\.svg\?component(&|$)/;
73
+ const SVG_FILTER = SVG_COMPONENT_FILTER;
74
+ /**
75
+ * The SVG-as-component Bun plugin (React/Preact). `generate` is accepted for parity with the other
76
+ * plugin pairs; the emitted component is the same on `"dom"` and `"ssr"`.
77
+ */
78
+ export function svgComponentBunPlugin(_generate, options = {}) {
79
+ return {
80
+ name: "nifra-svg-component",
81
+ setup(build) {
82
+ let optimizer = typeof options.svgo === "object" ? options.svgo : undefined;
83
+ const wantOptimize = options.svgo !== undefined && options.svgo !== false;
84
+ const getOptimizer = async () => {
85
+ if (!wantOptimize)
86
+ return undefined;
87
+ optimizer ??= await requirePeer("svgo", {
88
+ feature: "SVG optimization (svgo)",
89
+ install: "bun add -d svgo",
90
+ });
91
+ return optimizer;
92
+ };
93
+ build.onLoad({ filter: SVG_FILTER }, async (args) => {
94
+ const path = args.path.split("?")[0] ?? args.path;
95
+ let xml = await Bun.file(path).text();
96
+ const svgo = await getOptimizer();
97
+ if (svgo !== undefined) {
98
+ try {
99
+ xml = svgo.optimize(xml, { path }).data;
100
+ }
101
+ catch (err) {
102
+ throw new Error(`[nifra/web] failed to optimize ${path}: ${err?.message ?? err}`, { cause: err });
103
+ }
104
+ }
105
+ return { contents: svgComponentSource(xml), loader: "jsx" };
106
+ });
107
+ },
108
+ };
109
+ }
110
+ //# sourceMappingURL=svg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg.js","sourceRoot":"","sources":["../../src/plugins/svg.ts"],"names":[],"mappings":"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"}
package/dist/router.d.ts CHANGED
@@ -45,6 +45,9 @@ export interface RouterState {
45
45
  readonly actionData?: unknown;
46
46
  /** True while a navigation or submit is in flight (drives loading UI). */
47
47
  readonly pending: boolean;
48
+ /** The path a navigation is transitioning TO while `pending` (cleared when it settles). Lets a
49
+ * `NavLink` know whether its own `to` is the one loading; `undefined` when idle. */
50
+ readonly pendingPath?: string | undefined;
48
51
  /** The in-flight submit (set during a `submit`, cleared when it settles) — for optimistic UI. */
49
52
  readonly submission?: Submission;
50
53
  }
@@ -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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"}
package/dist/router.js CHANGED
@@ -4,6 +4,7 @@
4
4
  * browser-only `installHistory` (history + link interception) wires on top. Kept DOM-free so it
5
5
  * unit-tests without a browser and is safe to import from the SSR core's main entry.
6
6
  */
7
+ import { compareRoutePatternSpecificity, compileRoutePattern, matchRoutePattern, } from "@nifrajs/core/pattern";
7
8
  import { parseNdjsonData } from "./deferred.js";
8
9
  /**
9
10
  * Request header that asks a nifra route's GET to return just the loader data as JSON (instead of
@@ -29,51 +30,27 @@ export const REDIRECT_HEADER = "x-nifra-redirect";
29
30
  * the active one. The client validates each path against the manifest matcher before acting on it.
30
31
  */
31
32
  export const REVALIDATE_HEADER = "x-nifra-revalidate";
32
- function compile(pattern) {
33
- const keys = [];
34
- const src = pattern
35
- .split("/")
36
- .map((seg) => {
37
- if (seg.startsWith(":")) {
38
- keys.push(seg.slice(1));
39
- return "([^/]+)";
40
- }
41
- if (seg.startsWith("*")) {
42
- // Catch-all (`*slug`, or bare `*` → key "*"): capture the rest of the path, slashes included.
43
- // Always the final segment (the manifest/core enforce it), so the greedy `.` is safe.
44
- keys.push(seg.length === 1 ? "*" : seg.slice(1));
45
- return "(.+)";
46
- }
47
- // Escape regex-special chars. `$`/`{`/`}` are ordered so no literal `${` appears (it can
48
- // trip tooling that scans for template-literal interpolation, e.g. coverage sourcemaps).
49
- return seg.replace(/[.*+?^()|[\]\\{}$]/g, "\\$&");
50
- })
51
- .join("/");
52
- return { regex: new RegExp(`^${src}/?$`), keys };
53
- }
54
33
  /**
55
34
  * Build a matcher from route patterns (built from the SAME manifest the server routes from, so
56
35
  * client and server agree). Returns the first matching route + decoded params, or null. The
57
36
  * query string is ignored for matching (it is not part of the route pattern).
58
37
  */
59
38
  export function createMatcher(patterns) {
60
- const compiled = patterns.map((p) => ({ routeId: p.routeId, ...compile(p.pattern) }));
39
+ const compiled = patterns
40
+ .map((pattern) => ({ routeId: pattern.routeId, pattern: compileRoutePattern(pattern.pattern) }))
41
+ .sort((left, right) => compareRoutePatternSpecificity(left.pattern, right.pattern));
61
42
  return (path) => {
62
43
  // Strip the query without allocating a `split("?")` array — matcher runs per match.
63
44
  const q = path.indexOf("?");
64
45
  const clean = q === -1 ? path : path.slice(0, q);
65
46
  for (const c of compiled) {
66
- const m = c.regex.exec(clean);
67
- if (m === null)
47
+ const match = matchRoutePattern(c.pattern, clean);
48
+ if (!match.matched) {
49
+ if (match.reason === "malformed")
50
+ return null;
68
51
  continue;
69
- const params = {};
70
- // for-of (no per-match `forEach` closure); `i` indexes the capture groups (`m[0]` is the match).
71
- let i = 0;
72
- for (const k of c.keys) {
73
- params[k] = decodeURIComponent(m[i + 1] ?? "");
74
- i++;
75
52
  }
76
- return { routeId: c.routeId, params };
53
+ return { routeId: c.routeId, params: match.params };
77
54
  }
78
55
  return null;
79
56
  };
@@ -339,7 +316,7 @@ export function createClientRouter(options) {
339
316
  navAbort?.abort(); // abandon any in-flight navigation's stream
340
317
  const ac = new AbortController();
341
318
  navAbort = ac;
342
- state = { ...state, pending: true };
319
+ state = { ...state, pending: true, pendingPath: path };
343
320
  emit();
344
321
  try {
345
322
  // Use prefetched data when present (one-shot — drop it); else fetch. The chunk is loaded
@@ -365,10 +342,10 @@ export function createClientRouter(options) {
365
342
  emit();
366
343
  }
367
344
  catch (err) {
368
- // Clear our pending flag (only if still current) and rethrow — the caller decides how to
369
- // recover (the history layer falls back to a full-page navigation).
345
+ // Clear our pending flag + target (only if still current) and rethrow — the caller decides how
346
+ // to recover (the history layer falls back to a full-page navigation).
370
347
  if (mine === token) {
371
- state = { ...state, pending: false };
348
+ state = { ...state, pending: false, pendingPath: undefined };
372
349
  emit();
373
350
  }
374
351
  throw err;
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nifrajs/web",
3
- "version": "1.12.0",
3
+ "version": "2.0.0",
4
4
  "description": "Framework-agnostic SSR core for nifra — the render seam + HTML document orchestration.",
5
5
  "keywords": [
6
6
  "bun",
@@ -94,6 +94,16 @@
94
94
  "types": "./dist/plugins/scss.d.ts",
95
95
  "default": "./dist/plugins/scss.js"
96
96
  },
97
+ "./plugins/postcss": {
98
+ "bun": "./src/plugins/postcss.ts",
99
+ "types": "./dist/plugins/postcss.d.ts",
100
+ "default": "./dist/plugins/postcss.js"
101
+ },
102
+ "./plugins/svg": {
103
+ "bun": "./src/plugins/svg.ts",
104
+ "types": "./dist/plugins/svg.d.ts",
105
+ "default": "./dist/plugins/svg.js"
106
+ },
97
107
  "./css-modules": {
98
108
  "types": "./css-modules.d.ts"
99
109
  }
@@ -112,7 +122,7 @@
112
122
  "access": "public"
113
123
  },
114
124
  "dependencies": {
115
- "@nifrajs/core": "1.12.0"
125
+ "@nifrajs/core": "2.0.0"
116
126
  },
117
127
  "peerDependencies": {
118
128
  "sass": "^1.0.0",
@@ -129,6 +139,7 @@
129
139
  "devDependencies": {
130
140
  "@nifrajs/client": "workspace:*",
131
141
  "@nifrajs/schema": "workspace:*",
142
+ "@nifrajs/test-utils": "workspace:*",
132
143
  "sass": "^1.77.0",
133
144
  "vite": "^8.0.0"
134
145
  },