@reckona/mreact-router 0.0.1
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/LICENSE +21 -0
- package/README.md +101 -0
- package/dist/actions.d.ts +43 -0
- package/dist/actions.d.ts.map +1 -0
- package/dist/actions.js +577 -0
- package/dist/actions.js.map +1 -0
- package/dist/adapters/aws-lambda.d.ts +45 -0
- package/dist/adapters/aws-lambda.d.ts.map +1 -0
- package/dist/adapters/aws-lambda.js +168 -0
- package/dist/adapters/aws-lambda.js.map +1 -0
- package/dist/adapters/cloudflare.d.ts +94 -0
- package/dist/adapters/cloudflare.d.ts.map +1 -0
- package/dist/adapters/cloudflare.js +390 -0
- package/dist/adapters/cloudflare.js.map +1 -0
- package/dist/adapters/devtools.d.ts +4 -0
- package/dist/adapters/devtools.d.ts.map +1 -0
- package/dist/adapters/devtools.js +5 -0
- package/dist/adapters/devtools.js.map +1 -0
- package/dist/adapters/edge.d.ts +9 -0
- package/dist/adapters/edge.d.ts.map +1 -0
- package/dist/adapters/edge.js +53 -0
- package/dist/adapters/edge.js.map +1 -0
- package/dist/adapters/node.d.ts +26 -0
- package/dist/adapters/node.d.ts.map +1 -0
- package/dist/adapters/node.js +64 -0
- package/dist/adapters/node.js.map +1 -0
- package/dist/adapters/static.d.ts +10 -0
- package/dist/adapters/static.d.ts.map +1 -0
- package/dist/adapters/static.js +34 -0
- package/dist/adapters/static.js.map +1 -0
- package/dist/assets.d.ts +18 -0
- package/dist/assets.d.ts.map +1 -0
- package/dist/assets.js +67 -0
- package/dist/assets.js.map +1 -0
- package/dist/build.d.ts +36 -0
- package/dist/build.d.ts.map +1 -0
- package/dist/build.js +322 -0
- package/dist/build.js.map +1 -0
- package/dist/cache.d.ts +54 -0
- package/dist/cache.d.ts.map +1 -0
- package/dist/cache.js +221 -0
- package/dist/cache.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +37 -0
- package/dist/cli.js.map +1 -0
- package/dist/client.d.ts +105 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +1268 -0
- package/dist/client.js.map +1 -0
- package/dist/config.d.ts +27 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +44 -0
- package/dist/config.js.map +1 -0
- package/dist/cookies.d.ts +14 -0
- package/dist/cookies.d.ts.map +1 -0
- package/dist/cookies.js +69 -0
- package/dist/cookies.js.map +1 -0
- package/dist/csp.d.ts +6 -0
- package/dist/csp.d.ts.map +1 -0
- package/dist/csp.js +70 -0
- package/dist/csp.js.map +1 -0
- package/dist/dev-server.d.ts +16 -0
- package/dist/dev-server.d.ts.map +1 -0
- package/dist/dev-server.js +103 -0
- package/dist/dev-server.js.map +1 -0
- package/dist/http.d.ts +23 -0
- package/dist/http.d.ts.map +1 -0
- package/dist/http.js +106 -0
- package/dist/http.js.map +1 -0
- package/dist/i18n.d.ts +15 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +61 -0
- package/dist/i18n.js.map +1 -0
- package/dist/import-policy.d.ts +30 -0
- package/dist/import-policy.d.ts.map +1 -0
- package/dist/import-policy.js +105 -0
- package/dist/import-policy.js.map +1 -0
- package/dist/index.d.ts +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +34 -0
- package/dist/index.js.map +1 -0
- package/dist/logger.d.ts +47 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +60 -0
- package/dist/logger.js.map +1 -0
- package/dist/module-runner.d.ts +9 -0
- package/dist/module-runner.d.ts.map +1 -0
- package/dist/module-runner.js +112 -0
- package/dist/module-runner.js.map +1 -0
- package/dist/native-escape.d.ts +2 -0
- package/dist/native-escape.d.ts.map +1 -0
- package/dist/native-escape.js +43 -0
- package/dist/native-escape.js.map +1 -0
- package/dist/native-route-matcher.d.ts +5 -0
- package/dist/native-route-matcher.d.ts.map +1 -0
- package/dist/native-route-matcher.js +91 -0
- package/dist/native-route-matcher.js.map +1 -0
- package/dist/navigation.d.ts +25 -0
- package/dist/navigation.d.ts.map +1 -0
- package/dist/navigation.js +125 -0
- package/dist/navigation.js.map +1 -0
- package/dist/prerender-store.d.ts +37 -0
- package/dist/prerender-store.d.ts.map +1 -0
- package/dist/prerender-store.js +158 -0
- package/dist/prerender-store.js.map +1 -0
- package/dist/render.d.ts +26 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +1688 -0
- package/dist/render.js.map +1 -0
- package/dist/route-path.d.ts +2 -0
- package/dist/route-path.d.ts.map +1 -0
- package/dist/route-path.js +5 -0
- package/dist/route-path.js.map +1 -0
- package/dist/route-source.d.ts +9 -0
- package/dist/route-source.d.ts.map +1 -0
- package/dist/route-source.js +44 -0
- package/dist/route-source.js.map +1 -0
- package/dist/routes.d.ts +38 -0
- package/dist/routes.d.ts.map +1 -0
- package/dist/routes.js +168 -0
- package/dist/routes.js.map +1 -0
- package/dist/serve.d.ts +63 -0
- package/dist/serve.d.ts.map +1 -0
- package/dist/serve.js +445 -0
- package/dist/serve.js.map +1 -0
- package/dist/session.d.ts +25 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +104 -0
- package/dist/session.js.map +1 -0
- package/dist/vite-config.d.ts +8 -0
- package/dist/vite-config.d.ts.map +1 -0
- package/dist/vite-config.js +17 -0
- package/dist/vite-config.js.map +1 -0
- package/dist/vite.d.ts +25 -0
- package/dist/vite.d.ts.map +1 -0
- package/dist/vite.js +150 -0
- package/dist/vite.js.map +1 -0
- package/package.json +91 -0
package/dist/cli.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
import { resolve } from "node:path";
|
|
3
|
+
import { buildApp } from "./build.js";
|
|
4
|
+
import { startDevServer } from "./dev-server.js";
|
|
5
|
+
import { startServer } from "./serve.js";
|
|
6
|
+
import { loadMreactRouterViteConfig } 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.`);
|
|
15
|
+
}
|
|
16
|
+
else if (command === "dev") {
|
|
17
|
+
const project = routeArg === undefined
|
|
18
|
+
? await loadMreactRouterViteConfig({ command: "serve", cwd: process.cwd() })
|
|
19
|
+
: { appDir: resolve(routeArg) };
|
|
20
|
+
const server = await startDevServer({
|
|
21
|
+
...project,
|
|
22
|
+
port: Number(process.env.PORT ?? 3001),
|
|
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}`);
|
|
35
|
+
process.exitCode = 1;
|
|
36
|
+
}
|
|
37
|
+
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC;AACzC,MAAM,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEjC,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IACxB,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,0BAA0B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5E,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,EAAE,GAAG,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,SAAS,MAAM,CAAC,MAAM,CAAC,MAAM,UAAU,CAAC,CAAC;AACvD,CAAC;KAAM,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,QAAQ,KAAK,SAAS;QACpC,CAAC,CAAC,MAAM,0BAA0B,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QAC5E,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;IAClC,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC;QAClC,GAAG,OAAO;QACV,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;KACvC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AAC1D,CAAC;KAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;IAC/B,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC;QAC/B,MAAM,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;QAC7C,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC;KACvC,CAAC,CAAC;IACH,OAAO,CAAC,GAAG,CAAC,6CAA6C,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AACzE,CAAC;KAAM,CAAC;IACN,OAAO,CAAC,KAAK,CAAC,oBAAoB,OAAO,EAAE,CAAC,CAAC;IAC7C,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
import { type ClientReferenceMetadata } from "@reckona/mreact-compiler";
|
|
2
|
+
import type { AppRoute } from "./routes.js";
|
|
3
|
+
export interface ClientRouteManifestEntry {
|
|
4
|
+
bytes?: number;
|
|
5
|
+
path: string;
|
|
6
|
+
kind: AppRoute["kind"];
|
|
7
|
+
client: boolean;
|
|
8
|
+
devScript?: string;
|
|
9
|
+
routeId?: string;
|
|
10
|
+
script?: string;
|
|
11
|
+
sourceMap?: string;
|
|
12
|
+
}
|
|
13
|
+
export interface ClientRouteInferenceCache {
|
|
14
|
+
importsByFile: Map<string, Promise<string[]>>;
|
|
15
|
+
resolvedByImport: Map<string, Promise<string | undefined>>;
|
|
16
|
+
sourceByFile: Map<string, Promise<string>>;
|
|
17
|
+
}
|
|
18
|
+
export interface ClientRouteInferenceResult {
|
|
19
|
+
client: boolean;
|
|
20
|
+
clientBoundaryImports: string[];
|
|
21
|
+
}
|
|
22
|
+
export declare function routeToClientManifestEntry(route: AppRoute): Promise<ClientRouteManifestEntry>;
|
|
23
|
+
export declare function createClientRouteInferenceCache(): ClientRouteInferenceCache;
|
|
24
|
+
export declare function isClientRouteModule(options: {
|
|
25
|
+
cache?: ClientRouteInferenceCache | undefined;
|
|
26
|
+
code: string;
|
|
27
|
+
filename: string;
|
|
28
|
+
routePath?: string | undefined;
|
|
29
|
+
}): Promise<boolean>;
|
|
30
|
+
export declare function inferClientRouteModule(options: {
|
|
31
|
+
cache?: ClientRouteInferenceCache | undefined;
|
|
32
|
+
code: string;
|
|
33
|
+
filename: string;
|
|
34
|
+
routePath?: string | undefined;
|
|
35
|
+
}): Promise<ClientRouteInferenceResult>;
|
|
36
|
+
export declare function isClientRouteSource(code: string): boolean;
|
|
37
|
+
export declare function routeIdForPath(path: string): string;
|
|
38
|
+
export declare function clientScriptForPath(path: string): string;
|
|
39
|
+
export declare function withHydrationMarkers(options: {
|
|
40
|
+
assetBaseUrl?: string | undefined;
|
|
41
|
+
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
42
|
+
html: string;
|
|
43
|
+
props: unknown;
|
|
44
|
+
routePath: string;
|
|
45
|
+
script?: string | undefined;
|
|
46
|
+
}): string;
|
|
47
|
+
export declare function withRouteMarkers(options: {
|
|
48
|
+
html: string;
|
|
49
|
+
routePath: string;
|
|
50
|
+
}): string;
|
|
51
|
+
export declare function hydrationMarkerParts(options: {
|
|
52
|
+
assetBaseUrl?: string | undefined;
|
|
53
|
+
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
54
|
+
props: unknown;
|
|
55
|
+
routePath: string;
|
|
56
|
+
script?: string | undefined;
|
|
57
|
+
}): {
|
|
58
|
+
prefix: string;
|
|
59
|
+
suffix: string;
|
|
60
|
+
};
|
|
61
|
+
export declare function buildClientRouteBundle(options: {
|
|
62
|
+
code: string;
|
|
63
|
+
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
64
|
+
filename: string;
|
|
65
|
+
routePath: string;
|
|
66
|
+
}): Promise<string>;
|
|
67
|
+
export declare function buildClientRouteOutput(options: {
|
|
68
|
+
code: string;
|
|
69
|
+
clientReferenceManifest?: readonly ClientReferenceMetadata[] | undefined;
|
|
70
|
+
filename: string;
|
|
71
|
+
minify?: boolean;
|
|
72
|
+
routePath: string;
|
|
73
|
+
sourceMap?: boolean;
|
|
74
|
+
/**
|
|
75
|
+
* When `false`, omit the SPA navigation runtime (`__mreactPrefetch`,
|
|
76
|
+
* `__mreactNavigate`, prefetch hover handlers, history integration, etc.)
|
|
77
|
+
* from the emitted client bundle. The page can still hydrate and react to
|
|
78
|
+
* `cell` / event bindings — only cross-route SPA navigation is disabled.
|
|
79
|
+
* Useful for static / single-page interactive routes where the navigation
|
|
80
|
+
* runtime is dead code.
|
|
81
|
+
*
|
|
82
|
+
* Default: `true` (preserve current behavior).
|
|
83
|
+
*
|
|
84
|
+
* If unset, the source code is also inspected for a top-level
|
|
85
|
+
* `export const clientNavigation = false` hint and that takes precedence.
|
|
86
|
+
* See `docs/issues/open/2026-05-12-058-client-navigation-runtime-opt-in.md`.
|
|
87
|
+
*/
|
|
88
|
+
clientNavigation?: boolean;
|
|
89
|
+
}): Promise<{
|
|
90
|
+
code: string;
|
|
91
|
+
map?: string;
|
|
92
|
+
}>;
|
|
93
|
+
/**
|
|
94
|
+
* Detects the `export const clientNavigation = false` hint in a page module
|
|
95
|
+
* source. Returns the hinted value, or `true` when no hint is present (i.e.,
|
|
96
|
+
* preserve the historical "navigation runtime is always present" behavior).
|
|
97
|
+
*
|
|
98
|
+
* Regex-based to avoid pulling the JS parser into the build path. The pattern
|
|
99
|
+
* accepts the common formatting variants:
|
|
100
|
+
* export const clientNavigation = false
|
|
101
|
+
* export const clientNavigation = false ;
|
|
102
|
+
* export const clientNavigation: boolean = false
|
|
103
|
+
*/
|
|
104
|
+
export declare function detectClientNavigationHint(source: string): boolean;
|
|
105
|
+
//# sourceMappingURL=client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|