@reckona/mreact-router 0.0.25 → 0.0.27

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 (59) hide show
  1. package/README.md +12 -15
  2. package/dist/actions.js +7 -10
  3. package/dist/actions.js.map +1 -1
  4. package/dist/adapters/aws-lambda.d.ts +5 -1
  5. package/dist/adapters/aws-lambda.d.ts.map +1 -1
  6. package/dist/adapters/aws-lambda.js +50 -4
  7. package/dist/adapters/aws-lambda.js.map +1 -1
  8. package/dist/adapters/cloudflare.d.ts +3 -0
  9. package/dist/adapters/cloudflare.d.ts.map +1 -1
  10. package/dist/adapters/cloudflare.js +61 -7
  11. package/dist/adapters/cloudflare.js.map +1 -1
  12. package/dist/app-router-globals.d.ts +1 -0
  13. package/dist/app-router-globals.d.ts.map +1 -1
  14. package/dist/app-router-globals.js.map +1 -1
  15. package/dist/build.d.ts +20 -0
  16. package/dist/build.d.ts.map +1 -1
  17. package/dist/build.js +435 -44
  18. package/dist/build.js.map +1 -1
  19. package/dist/bundle-pipeline.d.ts +50 -0
  20. package/dist/bundle-pipeline.d.ts.map +1 -0
  21. package/dist/bundle-pipeline.js +211 -0
  22. package/dist/bundle-pipeline.js.map +1 -0
  23. package/dist/cli-options.d.ts +2 -0
  24. package/dist/cli-options.d.ts.map +1 -1
  25. package/dist/cli-options.js +21 -3
  26. package/dist/cli-options.js.map +1 -1
  27. package/dist/cli.js +11 -1
  28. package/dist/cli.js.map +1 -1
  29. package/dist/client.d.ts.map +1 -1
  30. package/dist/client.js +9 -29
  31. package/dist/client.js.map +1 -1
  32. package/dist/config.d.ts +1 -1
  33. package/dist/config.d.ts.map +1 -1
  34. package/dist/config.js +2 -2
  35. package/dist/config.js.map +1 -1
  36. package/dist/index.d.ts +5 -4
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +2 -2
  39. package/dist/index.js.map +1 -1
  40. package/dist/module-runner.d.ts.map +1 -1
  41. package/dist/module-runner.js +9 -31
  42. package/dist/module-runner.js.map +1 -1
  43. package/dist/native-route-matcher.d.ts.map +1 -1
  44. package/dist/native-route-matcher.js +13 -1
  45. package/dist/native-route-matcher.js.map +1 -1
  46. package/dist/navigation.d.ts +7 -0
  47. package/dist/navigation.d.ts.map +1 -1
  48. package/dist/navigation.js +27 -0
  49. package/dist/navigation.js.map +1 -1
  50. package/dist/render.d.ts.map +1 -1
  51. package/dist/render.js +23 -47
  52. package/dist/render.js.map +1 -1
  53. package/dist/route-source.d.ts +1 -0
  54. package/dist/route-source.d.ts.map +1 -1
  55. package/dist/route-source.js +4 -1
  56. package/dist/route-source.js.map +1 -1
  57. package/dist/types.d.ts +23 -0
  58. package/dist/types.d.ts.map +1 -1
  59. package/package.json +8 -9
@@ -1 +1 @@
1
- {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"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"}
package/dist/render.js CHANGED
@@ -4,7 +4,6 @@ import { access, readFile, stat } from "node:fs/promises";
4
4
  import { dirname, join, relative, sep } from "node:path";
5
5
  import { transform, } from "@reckona/mreact-compiler";
6
6
  import { createQueryClient, dehydrate, __MREACT_QUERY_STATE_SCRIPT_ID, runWithQueryClient, } from "@reckona/mreact-query";
7
- import { build as bundle } from "esbuild";
8
7
  import { createStringSink, renderAsyncBoundary, renderOutOfOrderReorderScript, renderToReadableStream, } from "@reckona/mreact-server";
9
8
  import { hydrationMarkerParts, inferClientRouteModule, routeIdForPath, withHydrationMarkers, withRouteMarkers, } from "./client.js";
10
9
  import { assetPath } from "./assets.js";
@@ -21,6 +20,7 @@ import { createAppRouterImportPolicyPlugin } from "./import-policy.js";
21
20
  import { hasLoaderExport, isStreamRouteSource, stripRouteLoaderOnlyExports, stripRouteMetadataOnlyExports, stripRouteModuleExports, } from "./route-source.js";
22
21
  import { emitRouterLog, logDurationMs, logNow } from "./logger.js";
23
22
  import { createRouterRuntimeCacheCounters, readRouterRuntimeCacheEntry, routerRuntimeCacheStat, } from "./cache-stats.js";
23
+ import { bundleRouterModule } from "./bundle-pipeline.js";
24
24
  import { invokeRouterInstrumentation, traceContextFromRequest, } from "./trace.js";
25
25
  const nativeEscapeTransform = {
26
26
  batchImportName: "escapeHtmlBatch",
@@ -1247,10 +1247,9 @@ async function loadMiddlewareModule(options) {
1247
1247
  return loaded;
1248
1248
  }
1249
1249
  export async function bundleMiddlewareModuleCode(options) {
1250
- const output = await bundle({
1251
- bundle: true,
1252
- format: "esm",
1253
- logLevel: "silent",
1250
+ const output = await bundleRouterModule({
1251
+ code: options.code,
1252
+ filename: options.file,
1254
1253
  platform: "node",
1255
1254
  plugins: [
1256
1255
  createAppRouterImportPolicyPlugin({
@@ -1259,18 +1258,8 @@ export async function bundleMiddlewareModuleCode(options) {
1259
1258
  label: "Middleware",
1260
1259
  }),
1261
1260
  ],
1262
- write: false,
1263
- jsx: "transform",
1264
- jsxFactory: "__mreact_jsx",
1265
- jsxFragment: "__mreact_fragment",
1266
- stdin: {
1267
- contents: options.code,
1268
- loader: "ts",
1269
- resolveDir: dirname(options.file),
1270
- sourcefile: options.file,
1271
- },
1272
1261
  });
1273
- const compiled = output.outputFiles[0]?.text;
1262
+ const compiled = output.code;
1274
1263
  if (compiled === undefined) {
1275
1264
  throw new Error(`Failed to compile middleware for ${options.file}.`);
1276
1265
  }
@@ -1680,6 +1669,7 @@ async function runServerStreamModuleWithLoading(code, options) {
1680
1669
  placeholder(boundarySink) {
1681
1670
  boundarySink.append(loadingHtml);
1682
1671
  },
1672
+ placeholderTag: "div",
1683
1673
  });
1684
1674
  sink.append(marker?.suffix ?? "");
1685
1675
  for (const shell of [...layoutShells].reverse()) {
@@ -1691,7 +1681,8 @@ async function runServerStreamModuleWithLoading(code, options) {
1691
1681
  function renderVisibleOutOfOrderBoundary(sink, id, value, render, options = {}) {
1692
1682
  const placeholderSink = createStringSink();
1693
1683
  void options.placeholder?.(placeholderSink);
1694
- sink.append(`<span data-mreact-oob-placeholder="${escapeHtmlAttribute(id)}">${placeholderSink.toString()}</span>`);
1684
+ const placeholderTag = normalizeVisibleOutOfOrderPlaceholderTag(options.placeholderTag);
1685
+ sink.append(`<${placeholderTag} data-mreact-oob-placeholder="${escapeHtmlAttribute(id)}">${placeholderSink.toString()}</${placeholderTag}>`);
1695
1686
  const task = renderVisibleOutOfOrderFragment(sink, id, value, render, options);
1696
1687
  if (sink.defer === undefined) {
1697
1688
  void task;
@@ -1699,6 +1690,13 @@ function renderVisibleOutOfOrderBoundary(sink, id, value, render, options = {})
1699
1690
  }
1700
1691
  sink.defer(task);
1701
1692
  }
1693
+ function normalizeVisibleOutOfOrderPlaceholderTag(tag) {
1694
+ if (typeof tag !== "string") {
1695
+ return "span";
1696
+ }
1697
+ const normalized = tag.trim().toLowerCase();
1698
+ return /^[a-z][a-z0-9-]*$/.test(normalized) ? normalized : "span";
1699
+ }
1702
1700
  async function renderVisibleOutOfOrderFragment(sink, id, value, render, options) {
1703
1701
  const fragmentSink = createStringSink();
1704
1702
  await renderAsyncBoundary(fragmentSink, value, render, options.catch === undefined ? {} : { catch: options.catch });
@@ -2213,10 +2211,9 @@ async function loadRouteLoaderModule(options) {
2213
2211
  return loaded;
2214
2212
  }
2215
2213
  export async function bundleRouteLoaderModuleCode(options) {
2216
- const output = await bundle({
2217
- bundle: true,
2218
- format: "esm",
2219
- logLevel: "silent",
2214
+ const output = await bundleRouterModule({
2215
+ code: stripRouteLoaderOnlyExports(options.code),
2216
+ filename: options.filename,
2220
2217
  platform: "node",
2221
2218
  plugins: [
2222
2219
  createAppRouterImportPolicyPlugin({
@@ -2225,18 +2222,8 @@ export async function bundleRouteLoaderModuleCode(options) {
2225
2222
  label: "Loader",
2226
2223
  }),
2227
2224
  ],
2228
- write: false,
2229
- jsx: "transform",
2230
- jsxFactory: "__mreact_jsx",
2231
- jsxFragment: "__mreact_fragment",
2232
- stdin: {
2233
- contents: stripRouteLoaderOnlyExports(options.code),
2234
- loader: "tsx",
2235
- resolveDir: dirname(options.filename),
2236
- sourcefile: options.filename,
2237
- },
2238
2225
  });
2239
- const code = output.outputFiles[0]?.text;
2226
+ const code = output.code;
2240
2227
  if (code === undefined) {
2241
2228
  throw new Error(`Failed to compile loader for ${options.filename}.`);
2242
2229
  }
@@ -2300,10 +2287,9 @@ async function loadRouteMetadata(options) {
2300
2287
  return module.metadata;
2301
2288
  }
2302
2289
  async function bundleRouteMetadataModuleCode(options) {
2303
- const output = await bundle({
2304
- bundle: true,
2305
- format: "esm",
2306
- logLevel: "silent",
2290
+ const output = await bundleRouterModule({
2291
+ code: stripRouteMetadataOnlyExports(options.code),
2292
+ filename: options.filename,
2307
2293
  platform: "node",
2308
2294
  plugins: [
2309
2295
  createAppRouterImportPolicyPlugin({
@@ -2312,18 +2298,8 @@ async function bundleRouteMetadataModuleCode(options) {
2312
2298
  label: "Metadata",
2313
2299
  }),
2314
2300
  ],
2315
- write: false,
2316
- jsx: "transform",
2317
- jsxFactory: "__mreact_jsx",
2318
- jsxFragment: "__mreact_fragment",
2319
- stdin: {
2320
- contents: stripRouteMetadataOnlyExports(options.code),
2321
- loader: "tsx",
2322
- resolveDir: dirname(options.filename),
2323
- sourcefile: options.filename,
2324
- },
2325
2301
  });
2326
- const code = output.outputFiles[0]?.text;
2302
+ const code = output.code;
2327
2303
  if (code === undefined) {
2328
2304
  throw new Error(`Failed to compile metadata for ${options.filename}.`);
2329
2305
  }