@reckona/mreact-router 0.0.10 → 0.0.12

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 (43) hide show
  1. package/README.md +33 -6
  2. package/dist/adapters/aws-lambda.d.ts +1 -0
  3. package/dist/adapters/aws-lambda.d.ts.map +1 -1
  4. package/dist/adapters/aws-lambda.js +60 -0
  5. package/dist/adapters/aws-lambda.js.map +1 -1
  6. package/dist/adapters/cloudflare.js +1 -1
  7. package/dist/adapters/cloudflare.js.map +1 -1
  8. package/dist/app-router-globals.d.ts +6 -0
  9. package/dist/app-router-globals.d.ts.map +1 -1
  10. package/dist/app-router-globals.js.map +1 -1
  11. package/dist/build.d.ts.map +1 -1
  12. package/dist/build.js +279 -6
  13. package/dist/build.js.map +1 -1
  14. package/dist/cli-options.d.ts +13 -0
  15. package/dist/cli-options.d.ts.map +1 -0
  16. package/dist/cli-options.js +76 -0
  17. package/dist/cli-options.js.map +1 -0
  18. package/dist/cli.js +49 -27
  19. package/dist/cli.js.map +1 -1
  20. package/dist/client.d.ts +11 -0
  21. package/dist/client.d.ts.map +1 -1
  22. package/dist/client.js +36 -2
  23. package/dist/client.js.map +1 -1
  24. package/dist/dev-server.d.ts +2 -0
  25. package/dist/dev-server.d.ts.map +1 -1
  26. package/dist/dev-server.js +24 -0
  27. package/dist/dev-server.js.map +1 -1
  28. package/dist/import-policy.js +16 -0
  29. package/dist/import-policy.js.map +1 -1
  30. package/dist/module-runner.js +11 -1
  31. package/dist/module-runner.js.map +1 -1
  32. package/dist/render.d.ts +1 -0
  33. package/dist/render.d.ts.map +1 -1
  34. package/dist/render.js +224 -10
  35. package/dist/render.js.map +1 -1
  36. package/dist/serve.d.ts +1 -0
  37. package/dist/serve.d.ts.map +1 -1
  38. package/dist/serve.js +20 -8
  39. package/dist/serve.js.map +1 -1
  40. package/dist/vite.d.ts.map +1 -1
  41. package/dist/vite.js +20 -1
  42. package/dist/vite.js.map +1 -1
  43. package/package.json +8 -8
package/dist/build.js CHANGED
@@ -1,13 +1,15 @@
1
1
  import { createHash } from "node:crypto";
2
2
  import { cp, mkdir, readdir, readFile, rm, writeFile } from "node:fs/promises";
3
3
  import { dirname, join, relative, sep } from "node:path";
4
+ import { build as bundle } from "esbuild";
4
5
  import { collectTopLevelValueExportNames, formatDiagnostic, hasModuleDirective, transform, } from "@reckona/mreact-compiler";
5
- import { buildClientRouteOutput, clientScriptForPath, createClientRouteInferenceCache, detectClientNavigationHint, formatClientRouteInferenceDiagnostic, inferClientRouteModule, isClientRouteModule, routeIdForPath, } from "./client.js";
6
+ import { buildClientRouteOutput, buildNavigationRuntimeBundle, clientScriptForPath, createClientRouteInferenceCache, detectClientNavigationHint, detectNavigationRuntimeHint, formatClientRouteInferenceDiagnostic, inferClientRouteModule, isClientRouteModule, routeIdForPath, } from "./client.js";
6
7
  import { importAppRouterSourceModule } from "./module-runner.js";
7
8
  import { scanAppRoutes } from "./routes.js";
8
9
  import { resolveAppRouterProjectOptions, } from "./config.js";
9
10
  import { renderAppRequest } from "./render.js";
10
- import { hasGenerateStaticParamsExport, hasPrerenderExport, isStreamRouteSource, stripRouteBuildExports, stripRouteClientOnlyExports, } from "./route-source.js";
11
+ import { hasGenerateStaticParamsExport, hasLoaderExport, hasPrerenderExport, isStreamRouteSource, stripRouteBuildExports, stripRouteClientOnlyExports, } from "./route-source.js";
12
+ import { workspacePackageFile } from "./workspace-packages.js";
11
13
  const nativeEscapeTransform = {
12
14
  batchImportName: "escapeHtmlBatch",
13
15
  batchImportSource: "@reckona/mreact-router/native-escape",
@@ -17,10 +19,12 @@ export async function buildApp(options) {
17
19
  const routes = await scanAppRoutes({ appDir: project.routesDir });
18
20
  const serverDir = join(options.outDir, "server");
19
21
  const clientDir = join(options.outDir, "client");
22
+ const cloudflareDir = join(options.outDir, "cloudflare");
20
23
  await validateProductionRoutes(routes);
21
24
  await rm(options.outDir, { force: true, recursive: true });
22
25
  await mkdir(serverDir, { recursive: true });
23
26
  await mkdir(clientDir, { recursive: true });
27
+ await mkdir(cloudflareDir, { recursive: true });
24
28
  await mkdir(join(clientDir, ".vite"), { recursive: true });
25
29
  await mkdir(join(clientDir, "assets", "routes"), { recursive: true });
26
30
  await copyPublicAssets(project.publicDir, join(clientDir, "public"));
@@ -42,12 +46,27 @@ export async function buildApp(options) {
42
46
  file: relative(project.projectRoot, route.file),
43
47
  }));
44
48
  const clientRoutes = await Promise.all(routes.map((route) => writeClientRouteBundle(route, clientDir, clientRouteInferenceCache)));
49
+ const navigationRuntimeScript = clientRoutes.some((route) => route.navigation === true && !route.client)
50
+ ? await writeNavigationRuntimeBundle(clientDir)
51
+ : undefined;
52
+ const clientManifestRoutes = navigationRuntimeScript === undefined
53
+ ? clientRoutes
54
+ : clientRoutes.map((route) => route.navigation === true && !route.client
55
+ ? { ...route, navigationScript: navigationRuntimeScript }
56
+ : route);
45
57
  const prerenderedRoutes = await prerenderStaticRoutes({
46
58
  appDir: project.routesDir,
47
59
  assetBaseUrl: project.assetBaseUrl,
48
- clientRoutes,
60
+ clientRoutes: clientManifestRoutes,
49
61
  routes,
50
62
  });
63
+ await writeCloudflareRouteModules({
64
+ cloudflareDir,
65
+ prerenderedRoutes,
66
+ projectRoot: project.projectRoot,
67
+ routes,
68
+ serverModules,
69
+ });
51
70
  await writeFile(join(serverDir, "manifest.json"), JSON.stringify({
52
71
  allowedSourceDirs: project.allowedSourceDirs.map((directory) => relative(project.projectRoot, directory)),
53
72
  ...(project.assetBaseUrl === undefined ? {} : { assetBaseUrl: project.assetBaseUrl }),
@@ -62,8 +81,8 @@ export async function buildApp(options) {
62
81
  ...(serverActionManifest.length === 0 ? {} : { serverActionManifest }),
63
82
  serverModules,
64
83
  }, null, 2));
65
- await writeFile(join(clientDir, "manifest.json"), JSON.stringify({ routes: clientRoutes }, null, 2));
66
- await writeFile(join(clientDir, ".vite", "manifest.json"), JSON.stringify(viteManifestFromClientRoutes(clientRoutes), null, 2));
84
+ await writeFile(join(clientDir, "manifest.json"), JSON.stringify({ routes: clientManifestRoutes }, null, 2));
85
+ await writeFile(join(clientDir, ".vite", "manifest.json"), JSON.stringify(viteManifestFromClientRoutes(clientManifestRoutes), null, 2));
67
86
  return { routes };
68
87
  }
69
88
  function collectBuildServerActionManifest(options) {
@@ -224,6 +243,242 @@ async function buildServerModuleArtifacts(options) {
224
243
  }
225
244
  return artifacts;
226
245
  }
246
+ async function writeCloudflareRouteModules(options) {
247
+ const routesDir = join(options.cloudflareDir, "routes");
248
+ const requiredRoutes = options.routes.filter((route) => cloudflareRouteRequiresGeneratedModule(route, options.prerenderedRoutes));
249
+ const registryEntries = [];
250
+ await mkdir(routesDir, { recursive: true });
251
+ for (const route of requiredRoutes) {
252
+ const routeFile = relative(options.projectRoot, route.file).replaceAll(sep, "/");
253
+ const source = await readFile(route.file, "utf8");
254
+ const routeId = routeIdForPath(route.path);
255
+ const routeModuleFile = `routes/${routeId}.mjs`;
256
+ let routeModuleExports;
257
+ try {
258
+ const componentOutput = await buildCloudflareServerComponentModule({
259
+ filename: route.file,
260
+ projectRoot: options.projectRoot,
261
+ serverModules: options.serverModules,
262
+ });
263
+ const componentFile = `routes/${routeId}.${hashText(componentOutput).slice(0, 8)}.component.mjs`;
264
+ await writeFile(join(options.cloudflareDir, componentFile), componentOutput);
265
+ const componentImport = `./${componentFile.split("/").pop() ?? componentFile}`;
266
+ routeModuleExports = [
267
+ `export { default, App, slots } from ${JSON.stringify(componentImport)};`,
268
+ ];
269
+ }
270
+ catch (error) {
271
+ throw new Error(`Failed to build Cloudflare route module for ${routeFile}: ${errorMessage(error)}`);
272
+ }
273
+ if (hasLoaderExport(source)) {
274
+ try {
275
+ const loaderOutput = await buildCloudflareRouteLoaderModule({
276
+ filename: route.file,
277
+ projectRoot: options.projectRoot,
278
+ });
279
+ const loaderFile = `routes/${routeId}.${hashText(loaderOutput).slice(0, 8)}.loader.mjs`;
280
+ await writeFile(join(options.cloudflareDir, loaderFile), loaderOutput);
281
+ const loaderImport = `./${loaderFile.split("/").pop() ?? loaderFile}`;
282
+ routeModuleExports.push(`export { loader } from ${JSON.stringify(loaderImport)};`);
283
+ }
284
+ catch (error) {
285
+ throw new Error(`Failed to build Cloudflare loader module for ${routeFile}: ${errorMessage(error)}`);
286
+ }
287
+ }
288
+ await writeFile(join(options.cloudflareDir, routeModuleFile), `${routeModuleExports.join("\n")}\n`);
289
+ registryEntries.push(`${JSON.stringify(routeFile)}: () => import(${JSON.stringify(`./${routeModuleFile}`)})`);
290
+ }
291
+ const registrySource = [
292
+ `export const routeModules = {`,
293
+ ...registryEntries.map((entry) => ` ${entry},`),
294
+ `};`,
295
+ `export default routeModules;`,
296
+ ``,
297
+ ].join("\n");
298
+ await writeFile(join(options.cloudflareDir, "route-modules.mjs"), registrySource);
299
+ }
300
+ async function buildCloudflareServerComponentModule(options) {
301
+ const entry = `import * as routeModule from ${JSON.stringify(options.filename)};
302
+
303
+ const component = routeModule.default ?? routeModule.App ?? Object.values(routeModule).find((value) => typeof value === "function");
304
+ export const App = component;
305
+ export default component;
306
+ export const slots = routeModule.slots;`;
307
+ return bundleCloudflareModule({
308
+ entry,
309
+ filename: `${options.filename}.mreact-cloudflare-component.js`,
310
+ plugins: [
311
+ cloudflareServerSourceTransformPlugin({
312
+ projectRoot: options.projectRoot,
313
+ serverModules: options.serverModules,
314
+ }),
315
+ cloudflareWorkspaceRuntimePlugin(),
316
+ ],
317
+ resolveDir: dirname(options.filename),
318
+ });
319
+ }
320
+ async function buildCloudflareRouteLoaderModule(options) {
321
+ const entry = `export { loader } from ${JSON.stringify(options.filename)};`;
322
+ return bundleCloudflareModule({
323
+ entry,
324
+ filename: `${options.filename}.mreact-cloudflare-loader.js`,
325
+ plugins: [cloudflareWorkspaceRuntimePlugin()],
326
+ resolveDir: dirname(options.filename),
327
+ });
328
+ }
329
+ async function bundleCloudflareModule(options) {
330
+ const output = await bundle({
331
+ bundle: true,
332
+ format: "esm",
333
+ logLevel: "silent",
334
+ minify: true,
335
+ platform: "browser",
336
+ plugins: options.plugins,
337
+ target: "es2022",
338
+ write: false,
339
+ stdin: {
340
+ contents: options.entry,
341
+ loader: "js",
342
+ resolveDir: options.resolveDir,
343
+ sourcefile: options.filename,
344
+ },
345
+ });
346
+ const code = output.outputFiles[0]?.text;
347
+ if (code === undefined) {
348
+ throw new Error(`Failed to build Cloudflare route module for ${options.filename}.`);
349
+ }
350
+ return code;
351
+ }
352
+ function cloudflareServerSourceTransformPlugin(options) {
353
+ return {
354
+ name: "mreact-cloudflare-server-source-transform",
355
+ setup(buildApi) {
356
+ buildApi.onLoad({ filter: /(?:\.mreact)?\.[cm]?[jt]sx$/ }, async (args) => {
357
+ if (args.path.includes(`${sep}node_modules${sep}`)) {
358
+ return undefined;
359
+ }
360
+ const source = await readFile(args.path, "utf8");
361
+ const serverSource = isServerComponentFile(args.path) ? stripRouteBuildExports(source) : source;
362
+ const sourceHash = hashText(serverSource);
363
+ const routeFile = relative(options.projectRoot, args.path).replaceAll(sep, "/");
364
+ const artifact = options.serverModules[routeFile]?.string;
365
+ const contents = artifact !== undefined && artifact.sourceHash === sourceHash
366
+ ? artifact.code
367
+ : transformCloudflareServerSource({
368
+ filename: args.path,
369
+ source: serverSource,
370
+ });
371
+ return {
372
+ contents,
373
+ loader: "js",
374
+ resolveDir: dirname(args.path),
375
+ };
376
+ });
377
+ },
378
+ };
379
+ }
380
+ function transformCloudflareServerSource(options) {
381
+ const output = transform({
382
+ code: options.source,
383
+ dev: false,
384
+ filename: options.filename,
385
+ serverEscape: nativeEscapeTransform,
386
+ serverOutput: "string",
387
+ target: "server",
388
+ });
389
+ const fatalDiagnostics = output.diagnostics.filter((diagnostic) => diagnostic.code !== "MR_UNSUPPORTED_SERVER_EVENT_HANDLER");
390
+ if (fatalDiagnostics.length > 0) {
391
+ throw new Error(fatalDiagnostics.map((diagnostic) => formatDiagnostic(options.filename, diagnostic)).join("\n"));
392
+ }
393
+ return output.code;
394
+ }
395
+ function cloudflareWorkspaceRuntimePlugin() {
396
+ const packageFile = (monorepoDir, packageName, entry, sourceExtension) => workspacePackageFile({
397
+ currentFileUrl: import.meta.url,
398
+ entry,
399
+ monorepoDir,
400
+ packageName,
401
+ ...(sourceExtension === undefined ? {} : { sourceExtension }),
402
+ });
403
+ const routerCachePath = packageFile("router", "@reckona/mreact-router", "cache");
404
+ const routerCookiesPath = packageFile("router", "@reckona/mreact-router", "cookies");
405
+ const routerI18nPath = packageFile("router", "@reckona/mreact-router", "i18n");
406
+ const routerLinkPath = packageFile("router", "@reckona/mreact-router", "link");
407
+ const routerNavigationPath = packageFile("router", "@reckona/mreact-router", "navigation");
408
+ const runtimePaths = new Map([
409
+ ["@reckona/mreact", packageFile("react", "@reckona/mreact", "index")],
410
+ ["@reckona/mreact/jsx-dev-runtime", packageFile("react", "@reckona/mreact", "jsx-dev-runtime")],
411
+ ["@reckona/mreact/jsx-runtime", packageFile("react", "@reckona/mreact", "jsx-runtime")],
412
+ ["@reckona/mreact-auth", packageFile("auth", "@reckona/mreact-auth", "index")],
413
+ ["@reckona/mreact-compat", packageFile("react-compat", "@reckona/mreact-compat", "index")],
414
+ [
415
+ "@reckona/mreact-compat/event-priority",
416
+ packageFile("react-compat", "@reckona/mreact-compat", "event-priority"),
417
+ ],
418
+ ["@reckona/mreact-compat/flight", packageFile("react-compat", "@reckona/mreact-compat", "flight")],
419
+ ["@reckona/mreact-compat/internal", packageFile("react-compat", "@reckona/mreact-compat", "internal")],
420
+ [
421
+ "@reckona/mreact-compat/jsx-dev-runtime",
422
+ packageFile("react-compat", "@reckona/mreact-compat", "jsx-dev-runtime"),
423
+ ],
424
+ [
425
+ "@reckona/mreact-compat/jsx-runtime",
426
+ packageFile("react-compat", "@reckona/mreact-compat", "jsx-runtime"),
427
+ ],
428
+ ["@reckona/mreact-compat/scheduler", packageFile("react-compat", "@reckona/mreact-compat", "scheduler")],
429
+ ["@reckona/mreact-query", packageFile("query", "@reckona/mreact-query", "index")],
430
+ ["@reckona/mreact-reactive-core", packageFile("reactive-core", "@reckona/mreact-reactive-core", "index")],
431
+ ["@reckona/mreact-router/link", routerLinkPath],
432
+ ["@reckona/mreact-router/session", packageFile("router", "@reckona/mreact-router", "session")],
433
+ ["@reckona/mreact-server", packageFile("server", "@reckona/mreact-server", "index")],
434
+ [
435
+ "@reckona/mreact-shared/html-escape",
436
+ packageFile("shared", "@reckona/mreact-shared", "html-escape"),
437
+ ],
438
+ ]);
439
+ return {
440
+ name: "mreact-cloudflare-workspace-runtime",
441
+ setup(buildApi) {
442
+ buildApi.onResolve({ filter: /^@reckona\/mreact-router\/(?:internal\/)?native-escape$/ }, () => ({
443
+ namespace: "mreact-cloudflare-native-escape",
444
+ path: "native-escape",
445
+ }));
446
+ buildApi.onResolve({ filter: /^@reckona\/mreact-router$/ }, () => ({
447
+ namespace: "mreact-cloudflare-router-index",
448
+ path: "index",
449
+ }));
450
+ buildApi.onResolve({ filter: /^@reckona\/mreact(?:-[\w-]+)?(?:\/[\w/-]+)?$/ }, (args) => {
451
+ const path = runtimePaths.get(args.path);
452
+ return path === undefined ? undefined : { path };
453
+ });
454
+ buildApi.onLoad({ filter: /^native-escape$/, namespace: "mreact-cloudflare-native-escape" }, () => ({
455
+ contents: `function escapeHtml(value) {
456
+ return String(value ?? "").replace(/[&<>"']/g, (char) =>
457
+ char === "&" ? "&amp;" : char === "<" ? "&lt;" : char === ">" ? "&gt;" : char === '"' ? "&quot;" : "&#39;"
458
+ );
459
+ }
460
+ export function escapeHtmlBatch(values) {
461
+ return values.map(escapeHtml);
462
+ }`,
463
+ loader: "js",
464
+ }));
465
+ buildApi.onLoad({ filter: /^index$/, namespace: "mreact-cloudflare-router-index" }, () => ({
466
+ contents: `export { cacheControl, revalidatePath } from ${JSON.stringify(routerCachePath)};
467
+ export { deleteCookie, parseCookieHeader, serializeCookie, setCookie } from ${JSON.stringify(routerCookiesPath)};
468
+ export { defineMessages, detectLocale } from ${JSON.stringify(routerI18nPath)};
469
+ export { Link, linkProps } from ${JSON.stringify(routerLinkPath)};
470
+ export { cookies, headers, html, json, next, notFound, redirect, redirectExternal, rewrite } from ${JSON.stringify(routerNavigationPath)};`,
471
+ loader: "js",
472
+ resolveDir: dirname(routerNavigationPath),
473
+ }));
474
+ },
475
+ };
476
+ }
477
+ function cloudflareRouteRequiresGeneratedModule(route, prerenderedRoutes) {
478
+ return (route.kind === "page" &&
479
+ (route.segments.some((segment) => segment.kind !== "static") ||
480
+ prerenderedRoutes[route.path] === undefined));
481
+ }
227
482
  function isServerComponentFile(file) {
228
483
  return /(?:^|\/)(?:page|layout|template|loading|error|not-found)(?:\.mreact)?\.tsx$/.test(file);
229
484
  }
@@ -248,13 +503,19 @@ async function writeClientRouteBundle(route, clientDir, clientRouteInferenceCach
248
503
  }
249
504
  const source = await readFile(route.file, "utf8");
250
505
  const clientSource = stripRouteClientOnlyExports(source);
506
+ const navigation = detectNavigationRuntimeHint(source);
251
507
  if (!(await isClientRouteModule({
252
508
  cache: clientRouteInferenceCache,
253
509
  code: clientSource,
254
510
  filename: route.file,
255
511
  routePath: route.path,
256
512
  }))) {
257
- return { path: route.path, kind: route.kind, client: false };
513
+ return {
514
+ path: route.path,
515
+ kind: route.kind,
516
+ client: false,
517
+ ...(navigation ? { navigation } : {}),
518
+ };
258
519
  }
259
520
  let output;
260
521
  try {
@@ -293,12 +554,24 @@ async function writeClientRouteBundle(route, clientDir, clientRouteInferenceCach
293
554
  path: route.path,
294
555
  kind: route.kind,
295
556
  client: true,
557
+ ...(navigation ? { navigation } : {}),
296
558
  routeId,
297
559
  script,
298
560
  sourceMap,
299
561
  devScript: clientScriptForPath(route.path),
300
562
  };
301
563
  }
564
+ async function writeNavigationRuntimeBundle(clientDir) {
565
+ const output = await buildNavigationRuntimeBundle({
566
+ minify: true,
567
+ sourceMap: false,
568
+ });
569
+ const hash = createHash("sha256").update(output.code).digest("hex").slice(0, 8);
570
+ const script = `assets/navigation.${hash}.js`;
571
+ await mkdir(dirname(join(clientDir, script)), { recursive: true });
572
+ await writeFile(join(clientDir, script), output.code);
573
+ return script;
574
+ }
302
575
  async function validateProductionRoutes(routes) {
303
576
  for (const route of routes) {
304
577
  if (route.kind !== "page") {
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { AppRouterLogger } from "./logger.js";
2
+ export type CliRequestLogMode = "requests";
3
+ export interface ParsedCliArguments {
4
+ command: string;
5
+ log?: CliRequestLogMode | undefined;
6
+ routeArg?: string | undefined;
7
+ }
8
+ export declare function parseCliArguments(argv: readonly string[]): ParsedCliArguments;
9
+ export declare function resolveCliRequestLogMode(flagValue: CliRequestLogMode | undefined, env: {
10
+ MREACT_ROUTER_LOG?: string | undefined;
11
+ }): CliRequestLogMode | undefined;
12
+ export declare function createCliRequestLogger(): AppRouterLogger;
13
+ //# sourceMappingURL=cli-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-options.d.ts","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAqB,MAAM,aAAa,CAAC;AAEtE,MAAM,MAAM,iBAAiB,GAAG,UAAU,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,kBAAkB,CAoC7E;AAED,wBAAgB,wBAAwB,CACtC,SAAS,EAAE,iBAAiB,GAAG,SAAS,EACxC,GAAG,EAAE;IAAE,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,GAC9C,iBAAiB,GAAG,SAAS,CAW/B;AAED,wBAAgB,sBAAsB,IAAI,eAAe,CAaxD"}
@@ -0,0 +1,76 @@
1
+ export function parseCliArguments(argv) {
2
+ const first = argv[0];
3
+ const command = first === undefined || first.startsWith("-") ? "dev" : first;
4
+ const parsed = { command };
5
+ const startIndex = command === first ? 1 : 0;
6
+ for (let index = startIndex; index < argv.length; index += 1) {
7
+ const value = argv[index];
8
+ if (value === undefined) {
9
+ continue;
10
+ }
11
+ if (value === "--log") {
12
+ parsed.log = parseCliRequestLogMode(readOptionValue(argv, index, "log"));
13
+ index += 1;
14
+ continue;
15
+ }
16
+ if (value.startsWith("--log=")) {
17
+ parsed.log = parseCliRequestLogMode(value.slice("--log=".length));
18
+ continue;
19
+ }
20
+ if (value.startsWith("-")) {
21
+ throw new Error(`Unknown option ${value}`);
22
+ }
23
+ if (parsed.routeArg !== undefined) {
24
+ throw new Error(`Unexpected argument ${value}`);
25
+ }
26
+ parsed.routeArg = value;
27
+ }
28
+ return parsed;
29
+ }
30
+ export function resolveCliRequestLogMode(flagValue, env) {
31
+ if (flagValue !== undefined) {
32
+ return flagValue;
33
+ }
34
+ const envValue = env.MREACT_ROUTER_LOG;
35
+ if (envValue === undefined || envValue === "") {
36
+ return undefined;
37
+ }
38
+ return parseCliRequestLogMode(envValue);
39
+ }
40
+ export function createCliRequestLogger() {
41
+ return {
42
+ error(event) {
43
+ if (event.type === "router:request:error") {
44
+ console.error(formatCliRequestLogEvent(event));
45
+ }
46
+ },
47
+ info(event) {
48
+ if (event.type === "router:request:end") {
49
+ console.log(formatCliRequestLogEvent(event));
50
+ }
51
+ },
52
+ };
53
+ }
54
+ function parseCliRequestLogMode(value) {
55
+ if (value === "requests") {
56
+ return value;
57
+ }
58
+ throw new Error(`Unsupported log mode ${JSON.stringify(value)}. Expected "requests".`);
59
+ }
60
+ function readOptionValue(values, index, name) {
61
+ const value = values[index + 1];
62
+ if (value === undefined || value.startsWith("-")) {
63
+ throw new Error(`Missing value for --${name}`);
64
+ }
65
+ return value;
66
+ }
67
+ function formatCliRequestLogEvent(event) {
68
+ if (event.type === "router:request:error") {
69
+ return `[mreact] ${event.method} ${event.path} error ${event.durationMs}ms ${event.runtime} ${event.error.name}: ${event.error.message}`;
70
+ }
71
+ if (event.type === "router:request:end") {
72
+ return `[mreact] ${event.method} ${event.path} ${event.status} ${event.durationMs}ms ${event.runtime}`;
73
+ }
74
+ return `[mreact] ${event.method} ${event.path} ${event.runtime}`;
75
+ }
76
+ //# sourceMappingURL=cli-options.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cli-options.js","sourceRoot":"","sources":["../src/cli-options.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -1,37 +1,59 @@
1
1
  #!/usr/bin/env node
2
2
  import { resolve } from "node:path";
3
3
  import { buildApp } from "./build.js";
4
+ import { createCliRequestLogger, parseCliArguments, resolveCliRequestLogMode, } from "./cli-options.js";
4
5
  import { startDevServer } from "./dev-server.js";
5
6
  import { startServer } from "./serve.js";
6
7
  import { loadMreactRouterViteConfig, loadMreactRouterViteConfigDetails } from "./vite-config.js";
7
- const command = process.argv[2] ?? "dev";
8
- const routeArg = process.argv[3];
9
- if (command === "build") {
10
- const project = routeArg === undefined
11
- ? await loadMreactRouterViteConfig({ command: "build", cwd: process.cwd() })
12
- : { appDir: resolve(routeArg) };
13
- const result = await buildApp({ ...project, outDir: resolve(".mreact") });
14
- console.log(`Built ${result.routes.length} routes.`);
8
+ let parsed;
9
+ try {
10
+ parsed = parseCliArguments(process.argv.slice(2));
15
11
  }
16
- else if (command === "dev") {
17
- const loaded = routeArg === undefined
18
- ? await loadMreactRouterViteConfigDetails({ command: "serve", cwd: process.cwd() })
19
- : { project: { appDir: resolve(routeArg) }, serverPort: undefined };
20
- const server = await startDevServer({
21
- ...loaded.project,
22
- port: process.env.PORT === undefined ? loaded.serverPort : Number(process.env.PORT),
23
- });
24
- console.log(`mreact app router ready at ${server.url}`);
25
- }
26
- else if (command === "start") {
27
- const server = await startServer({
28
- outDir: resolve(process.argv[3] ?? ".mreact"),
29
- port: Number(process.env.PORT ?? 3001),
30
- });
31
- console.log(`mreact app router serving built output at ${server.url}`);
32
- }
33
- else {
34
- console.error(`Unknown command: ${command}`);
12
+ catch (error) {
13
+ console.error(error instanceof Error ? error.message : String(error));
35
14
  process.exitCode = 1;
36
15
  }
16
+ if (parsed !== undefined) {
17
+ const command = parsed.command;
18
+ const routeArg = parsed.routeArg;
19
+ try {
20
+ const logger = resolveCliRequestLogMode(parsed.log, process.env) === "requests"
21
+ ? createCliRequestLogger()
22
+ : undefined;
23
+ if (command === "build") {
24
+ const project = routeArg === undefined
25
+ ? await loadMreactRouterViteConfig({ command: "build", cwd: process.cwd() })
26
+ : { appDir: resolve(routeArg) };
27
+ const result = await buildApp({ ...project, outDir: resolve(".mreact") });
28
+ console.log(`Built ${result.routes.length} routes.`);
29
+ }
30
+ else if (command === "dev") {
31
+ const loaded = routeArg === undefined
32
+ ? await loadMreactRouterViteConfigDetails({ command: "serve", cwd: process.cwd() })
33
+ : { project: { appDir: resolve(routeArg) }, serverPort: undefined };
34
+ const server = await startDevServer({
35
+ ...loaded.project,
36
+ logger,
37
+ port: process.env.PORT === undefined ? loaded.serverPort : Number(process.env.PORT),
38
+ });
39
+ console.log(`mreact app router ready at ${server.url}`);
40
+ }
41
+ else if (command === "start") {
42
+ const server = await startServer({
43
+ logger,
44
+ outDir: resolve(routeArg ?? ".mreact"),
45
+ port: Number(process.env.PORT ?? 3001),
46
+ });
47
+ console.log(`mreact app router serving built output at ${server.url}`);
48
+ }
49
+ else {
50
+ console.error(`Unknown command: ${command}`);
51
+ process.exitCode = 1;
52
+ }
53
+ }
54
+ catch (error) {
55
+ console.error(error instanceof Error ? error.message : String(error));
56
+ process.exitCode = 1;
57
+ }
58
+ }
37
59
  //# sourceMappingURL=cli.js.map