@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.
- package/README.md +12 -15
- package/dist/actions.js +7 -10
- package/dist/actions.js.map +1 -1
- package/dist/adapters/aws-lambda.d.ts +5 -1
- package/dist/adapters/aws-lambda.d.ts.map +1 -1
- package/dist/adapters/aws-lambda.js +50 -4
- package/dist/adapters/aws-lambda.js.map +1 -1
- package/dist/adapters/cloudflare.d.ts +3 -0
- package/dist/adapters/cloudflare.d.ts.map +1 -1
- package/dist/adapters/cloudflare.js +61 -7
- package/dist/adapters/cloudflare.js.map +1 -1
- package/dist/app-router-globals.d.ts +1 -0
- package/dist/app-router-globals.d.ts.map +1 -1
- package/dist/app-router-globals.js.map +1 -1
- package/dist/build.d.ts +20 -0
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +435 -44
- package/dist/build.js.map +1 -1
- package/dist/bundle-pipeline.d.ts +50 -0
- package/dist/bundle-pipeline.d.ts.map +1 -0
- package/dist/bundle-pipeline.js +211 -0
- package/dist/bundle-pipeline.js.map +1 -0
- package/dist/cli-options.d.ts +2 -0
- package/dist/cli-options.d.ts.map +1 -1
- package/dist/cli-options.js +21 -3
- package/dist/cli-options.js.map +1 -1
- package/dist/cli.js +11 -1
- package/dist/cli.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +9 -29
- package/dist/client.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -2
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +5 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/module-runner.d.ts.map +1 -1
- package/dist/module-runner.js +9 -31
- package/dist/module-runner.js.map +1 -1
- package/dist/native-route-matcher.d.ts.map +1 -1
- package/dist/native-route-matcher.js +13 -1
- package/dist/native-route-matcher.js.map +1 -1
- package/dist/navigation.d.ts +7 -0
- package/dist/navigation.d.ts.map +1 -1
- package/dist/navigation.js +27 -0
- package/dist/navigation.js.map +1 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +23 -47
- package/dist/render.js.map +1 -1
- package/dist/route-source.d.ts +1 -0
- package/dist/route-source.d.ts.map +1 -1
- package/dist/route-source.js +4 -1
- package/dist/route-source.js.map +1 -1
- package/dist/types.d.ts +23 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +8 -9
package/dist/render.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render.d.ts","sourceRoot":"","sources":["../src/render.ts"],"names":[],"mappings":"AAUA,OAAO,EAML,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;
|
|
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
|
|
1251
|
-
|
|
1252
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
|
2217
|
-
|
|
2218
|
-
|
|
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.
|
|
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
|
|
2304
|
-
|
|
2305
|
-
|
|
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.
|
|
2302
|
+
const code = output.code;
|
|
2327
2303
|
if (code === undefined) {
|
|
2328
2304
|
throw new Error(`Failed to compile metadata for ${options.filename}.`);
|
|
2329
2305
|
}
|