@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.
Files changed (139) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +101 -0
  3. package/dist/actions.d.ts +43 -0
  4. package/dist/actions.d.ts.map +1 -0
  5. package/dist/actions.js +577 -0
  6. package/dist/actions.js.map +1 -0
  7. package/dist/adapters/aws-lambda.d.ts +45 -0
  8. package/dist/adapters/aws-lambda.d.ts.map +1 -0
  9. package/dist/adapters/aws-lambda.js +168 -0
  10. package/dist/adapters/aws-lambda.js.map +1 -0
  11. package/dist/adapters/cloudflare.d.ts +94 -0
  12. package/dist/adapters/cloudflare.d.ts.map +1 -0
  13. package/dist/adapters/cloudflare.js +390 -0
  14. package/dist/adapters/cloudflare.js.map +1 -0
  15. package/dist/adapters/devtools.d.ts +4 -0
  16. package/dist/adapters/devtools.d.ts.map +1 -0
  17. package/dist/adapters/devtools.js +5 -0
  18. package/dist/adapters/devtools.js.map +1 -0
  19. package/dist/adapters/edge.d.ts +9 -0
  20. package/dist/adapters/edge.d.ts.map +1 -0
  21. package/dist/adapters/edge.js +53 -0
  22. package/dist/adapters/edge.js.map +1 -0
  23. package/dist/adapters/node.d.ts +26 -0
  24. package/dist/adapters/node.d.ts.map +1 -0
  25. package/dist/adapters/node.js +64 -0
  26. package/dist/adapters/node.js.map +1 -0
  27. package/dist/adapters/static.d.ts +10 -0
  28. package/dist/adapters/static.d.ts.map +1 -0
  29. package/dist/adapters/static.js +34 -0
  30. package/dist/adapters/static.js.map +1 -0
  31. package/dist/assets.d.ts +18 -0
  32. package/dist/assets.d.ts.map +1 -0
  33. package/dist/assets.js +67 -0
  34. package/dist/assets.js.map +1 -0
  35. package/dist/build.d.ts +36 -0
  36. package/dist/build.d.ts.map +1 -0
  37. package/dist/build.js +322 -0
  38. package/dist/build.js.map +1 -0
  39. package/dist/cache.d.ts +54 -0
  40. package/dist/cache.d.ts.map +1 -0
  41. package/dist/cache.js +221 -0
  42. package/dist/cache.js.map +1 -0
  43. package/dist/cli.d.ts +3 -0
  44. package/dist/cli.d.ts.map +1 -0
  45. package/dist/cli.js +37 -0
  46. package/dist/cli.js.map +1 -0
  47. package/dist/client.d.ts +105 -0
  48. package/dist/client.d.ts.map +1 -0
  49. package/dist/client.js +1268 -0
  50. package/dist/client.js.map +1 -0
  51. package/dist/config.d.ts +27 -0
  52. package/dist/config.d.ts.map +1 -0
  53. package/dist/config.js +44 -0
  54. package/dist/config.js.map +1 -0
  55. package/dist/cookies.d.ts +14 -0
  56. package/dist/cookies.d.ts.map +1 -0
  57. package/dist/cookies.js +69 -0
  58. package/dist/cookies.js.map +1 -0
  59. package/dist/csp.d.ts +6 -0
  60. package/dist/csp.d.ts.map +1 -0
  61. package/dist/csp.js +70 -0
  62. package/dist/csp.js.map +1 -0
  63. package/dist/dev-server.d.ts +16 -0
  64. package/dist/dev-server.d.ts.map +1 -0
  65. package/dist/dev-server.js +103 -0
  66. package/dist/dev-server.js.map +1 -0
  67. package/dist/http.d.ts +23 -0
  68. package/dist/http.d.ts.map +1 -0
  69. package/dist/http.js +106 -0
  70. package/dist/http.js.map +1 -0
  71. package/dist/i18n.d.ts +15 -0
  72. package/dist/i18n.d.ts.map +1 -0
  73. package/dist/i18n.js +61 -0
  74. package/dist/i18n.js.map +1 -0
  75. package/dist/import-policy.d.ts +30 -0
  76. package/dist/import-policy.d.ts.map +1 -0
  77. package/dist/import-policy.js +105 -0
  78. package/dist/import-policy.js.map +1 -0
  79. package/dist/index.d.ts +60 -0
  80. package/dist/index.d.ts.map +1 -0
  81. package/dist/index.js +34 -0
  82. package/dist/index.js.map +1 -0
  83. package/dist/logger.d.ts +47 -0
  84. package/dist/logger.d.ts.map +1 -0
  85. package/dist/logger.js +60 -0
  86. package/dist/logger.js.map +1 -0
  87. package/dist/module-runner.d.ts +9 -0
  88. package/dist/module-runner.d.ts.map +1 -0
  89. package/dist/module-runner.js +112 -0
  90. package/dist/module-runner.js.map +1 -0
  91. package/dist/native-escape.d.ts +2 -0
  92. package/dist/native-escape.d.ts.map +1 -0
  93. package/dist/native-escape.js +43 -0
  94. package/dist/native-escape.js.map +1 -0
  95. package/dist/native-route-matcher.d.ts +5 -0
  96. package/dist/native-route-matcher.d.ts.map +1 -0
  97. package/dist/native-route-matcher.js +91 -0
  98. package/dist/native-route-matcher.js.map +1 -0
  99. package/dist/navigation.d.ts +25 -0
  100. package/dist/navigation.d.ts.map +1 -0
  101. package/dist/navigation.js +125 -0
  102. package/dist/navigation.js.map +1 -0
  103. package/dist/prerender-store.d.ts +37 -0
  104. package/dist/prerender-store.d.ts.map +1 -0
  105. package/dist/prerender-store.js +158 -0
  106. package/dist/prerender-store.js.map +1 -0
  107. package/dist/render.d.ts +26 -0
  108. package/dist/render.d.ts.map +1 -0
  109. package/dist/render.js +1688 -0
  110. package/dist/render.js.map +1 -0
  111. package/dist/route-path.d.ts +2 -0
  112. package/dist/route-path.d.ts.map +1 -0
  113. package/dist/route-path.js +5 -0
  114. package/dist/route-path.js.map +1 -0
  115. package/dist/route-source.d.ts +9 -0
  116. package/dist/route-source.d.ts.map +1 -0
  117. package/dist/route-source.js +44 -0
  118. package/dist/route-source.js.map +1 -0
  119. package/dist/routes.d.ts +38 -0
  120. package/dist/routes.d.ts.map +1 -0
  121. package/dist/routes.js +168 -0
  122. package/dist/routes.js.map +1 -0
  123. package/dist/serve.d.ts +63 -0
  124. package/dist/serve.d.ts.map +1 -0
  125. package/dist/serve.js +445 -0
  126. package/dist/serve.js.map +1 -0
  127. package/dist/session.d.ts +25 -0
  128. package/dist/session.d.ts.map +1 -0
  129. package/dist/session.js +104 -0
  130. package/dist/session.js.map +1 -0
  131. package/dist/vite-config.d.ts +8 -0
  132. package/dist/vite-config.d.ts.map +1 -0
  133. package/dist/vite-config.js +17 -0
  134. package/dist/vite-config.js.map +1 -0
  135. package/dist/vite.d.ts +25 -0
  136. package/dist/vite.d.ts.map +1 -0
  137. package/dist/vite.js +150 -0
  138. package/dist/vite.js.map +1 -0
  139. package/package.json +91 -0
package/dist/vite.d.ts ADDED
@@ -0,0 +1,25 @@
1
+ import { type Connect, type Plugin } from "vite";
2
+ import type { AppRouterServerActionOptions } from "./actions.js";
3
+ import type { AppRouterCache } from "./cache.js";
4
+ import { type AppRouterProjectOptions, type ResolvedAppRouterProject } from "./config.js";
5
+ import type { AppRouterImportPolicy } from "./import-policy.js";
6
+ export interface AppRouterViteMiddlewareOptions extends AppRouterProjectOptions {
7
+ allowedHosts?: readonly string[] | undefined;
8
+ importPolicy?: AppRouterImportPolicy | undefined;
9
+ routeCache?: AppRouterCache | undefined;
10
+ serverActions?: AppRouterServerActionOptions | undefined;
11
+ }
12
+ export interface AppRouterVitePluginOptions extends AppRouterProjectOptions {
13
+ allowedHosts?: readonly string[] | undefined;
14
+ importPolicy?: AppRouterImportPolicy | undefined;
15
+ routeCache?: AppRouterCache | undefined;
16
+ serverActions?: AppRouterServerActionOptions | undefined;
17
+ }
18
+ export declare function createAppRouterVitePlugin(options: AppRouterVitePluginOptions): Plugin;
19
+ export declare const mreactRouter: typeof createAppRouterVitePlugin;
20
+ export declare function mreactRouterConfigFromPlugins(plugins: readonly unknown[]): ResolvedAppRouterProject | undefined;
21
+ export declare function createAppRouterViteMiddleware(options: AppRouterViteMiddlewareOptions): Connect.NextHandleFunction;
22
+ export declare function renderAppRouterClientAsset(appDir: string, pathname: string, options?: {
23
+ dev?: boolean;
24
+ }): Promise<Response>;
25
+ //# sourceMappingURL=vite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"AAEA,OAAO,EAAiB,KAAK,OAAO,EAAE,KAAK,MAAM,EAAE,MAAM,MAAM,CAAC;AAChE,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,EAEL,KAAK,uBAAuB,EAC5B,KAAK,wBAAwB,EAC9B,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAWhE,MAAM,WAAW,8BAA+B,SAAQ,uBAAuB;IAC7E,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACjD,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,aAAa,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAC1D;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,YAAY,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IAC7C,YAAY,CAAC,EAAE,qBAAqB,GAAG,SAAS,CAAC;IACjD,UAAU,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IACxC,aAAa,CAAC,EAAE,4BAA4B,GAAG,SAAS,CAAC;CAC1D;AAUD,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,0BAA0B,GAClC,MAAM,CA8DR;AAED,eAAO,MAAM,YAAY,kCAA4B,CAAC;AAEtD,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,SAAS,OAAO,EAAE,GAC1B,wBAAwB,GAAG,SAAS,CAYtC;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,kBAAkB,CAI5B;AA+CD,wBAAsB,0BAA0B,CAC9C,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE;IAAE,GAAG,CAAC,EAAE,OAAO,CAAA;CAAO,GAC9B,OAAO,CAAC,QAAQ,CAAC,CAiCnB"}
package/dist/vite.js ADDED
@@ -0,0 +1,150 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { normalizePath } from "vite";
3
+ import { resolveAppRouterProjectOptions, } from "./config.js";
4
+ import { buildClientRouteBundle, clientScriptForPath, isClientRouteModule, } from "./client.js";
5
+ import { nodeRequestToWebRequest, sendResponse } from "./http.js";
6
+ import { renderAppRequest } from "./render.js";
7
+ import { scanAppRoutes } from "./routes.js";
8
+ import { resolveRequestHost } from "./serve.js";
9
+ const clientPrefix = "/_mreact/client/";
10
+ const virtualClientPrefix = "\0mreact-router-client:";
11
+ const mreactRouterConfigKey = "__mreactRouterConfig";
12
+ export function createAppRouterVitePlugin(options) {
13
+ const project = resolveAppRouterProjectOptions(options);
14
+ const normalizedSourceDirs = project.allowedSourceDirs.map((directory) => normalizePath(directory));
15
+ const plugin = {
16
+ [mreactRouterConfigKey]: project,
17
+ name: "mreact-router",
18
+ configureServer(server) {
19
+ return () => {
20
+ server.middlewares.use(createAppRouterViteMiddleware(options));
21
+ };
22
+ },
23
+ handleHotUpdate(context) {
24
+ const normalizedFile = normalizePath(context.file);
25
+ if (!normalizedSourceDirs.some((directory) => normalizedFile.startsWith(directory))) {
26
+ return;
27
+ }
28
+ const timestamp = Date.now();
29
+ const updates = Array.from(context.server.moduleGraph.idToModuleMap.values())
30
+ .filter((moduleNode) => moduleNode.id?.startsWith(virtualClientPrefix) === true)
31
+ .map((moduleNode) => {
32
+ context.server.moduleGraph.invalidateModule(moduleNode);
33
+ return {
34
+ acceptedPath: moduleNode.url,
35
+ path: moduleNode.url,
36
+ timestamp,
37
+ type: "js-update",
38
+ };
39
+ });
40
+ if (updates.length > 0) {
41
+ context.server.ws.send({ type: "update", updates });
42
+ }
43
+ return [];
44
+ },
45
+ load(id) {
46
+ if (!id.startsWith(virtualClientPrefix)) {
47
+ return;
48
+ }
49
+ return renderAppRouterClientAsset(project.routesDir, id.slice(virtualClientPrefix.length), { dev: true }).then(async (response) => {
50
+ if (!response.ok) {
51
+ throw new Error(`MReact client route asset was not found: ${id}`);
52
+ }
53
+ return response.text();
54
+ });
55
+ },
56
+ resolveId(id) {
57
+ return id.startsWith(clientPrefix) ? `${virtualClientPrefix}${id}` : undefined;
58
+ },
59
+ };
60
+ return plugin;
61
+ }
62
+ export const mreactRouter = createAppRouterVitePlugin;
63
+ export function mreactRouterConfigFromPlugins(plugins) {
64
+ for (const plugin of plugins.flat(Infinity)) {
65
+ if (plugin !== null &&
66
+ typeof plugin === "object" &&
67
+ mreactRouterConfigKey in plugin) {
68
+ return plugin[mreactRouterConfigKey];
69
+ }
70
+ }
71
+ return undefined;
72
+ }
73
+ export function createAppRouterViteMiddleware(options) {
74
+ return (request, response, next) => {
75
+ void handleAppRouterViteRequest(options, request, response, next);
76
+ };
77
+ }
78
+ async function handleAppRouterViteRequest(options, incoming, outgoing, next) {
79
+ try {
80
+ const project = resolveAppRouterProjectOptions(options);
81
+ const host = resolveRequestHost({
82
+ allowedHosts: options.allowedHosts,
83
+ fallbackHost: "localhost",
84
+ rawHost: incoming.headers.host,
85
+ });
86
+ const origin = `http://${host}`;
87
+ const url = new URL(incoming.url ?? "/", origin);
88
+ if (url.pathname.startsWith(clientPrefix)) {
89
+ await sendResponse(outgoing, await renderAppRouterClientAsset(project.routesDir, url.pathname));
90
+ return;
91
+ }
92
+ const request = nodeRequestToWebRequest(incoming, origin);
93
+ await sendResponse(outgoing, await renderAppRequest({
94
+ appDir: project.routesDir,
95
+ importPolicy: {
96
+ ...options.importPolicy,
97
+ allowedSourceDirs: project.allowedSourceDirs,
98
+ projectRoot: project.projectRoot,
99
+ },
100
+ request,
101
+ routeCache: options.routeCache,
102
+ serverActions: options.serverActions,
103
+ }));
104
+ }
105
+ catch (error) {
106
+ next(error);
107
+ }
108
+ }
109
+ export async function renderAppRouterClientAsset(appDir, pathname, options = {}) {
110
+ const routes = await scanAppRoutes({ appDir });
111
+ const route = routes.find((candidate) => candidate.kind === "page" &&
112
+ `/_mreact/client/${clientScriptForPath(candidate.path)}` === pathname);
113
+ if (route === undefined || route.kind !== "page") {
114
+ return new Response("Not Found", { status: 404 });
115
+ }
116
+ const code = await readFile(route.file, "utf8");
117
+ if (!(await isClientRouteModule({
118
+ code,
119
+ filename: route.file,
120
+ routePath: route.path,
121
+ }))) {
122
+ return new Response("Not Found", { status: 404 });
123
+ }
124
+ const bundle = await buildClientRouteBundle({
125
+ code,
126
+ filename: route.file,
127
+ routePath: route.path,
128
+ });
129
+ return new Response(options.dev === true ? withViteHmrRuntime(bundle) : bundle, {
130
+ headers: { "content-type": "text/javascript; charset=utf-8" },
131
+ });
132
+ }
133
+ function withViteHmrRuntime(code) {
134
+ return `import "/@vite/client";
135
+ if (import.meta.hot?.data.__mreactRouteStates) {
136
+ globalThis.__mreactRouteStates = import.meta.hot.data.__mreactRouteStates;
137
+ }
138
+ ${code}
139
+ if (import.meta.hot) {
140
+ const __mreactPreserveRouteState = () => {
141
+ import.meta.hot.data.__mreactRouteStates = globalThis.__mreactRouteStates;
142
+ };
143
+ import.meta.hot.dispose(__mreactPreserveRouteState);
144
+ import.meta.hot.accept((module) => {
145
+ module?.__mreactHydrateRoute?.();
146
+ });
147
+ }
148
+ `;
149
+ }
150
+ //# sourceMappingURL=vite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../src/vite.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "@reckona/mreact-router",
3
+ "version": "0.0.1",
4
+ "description": "File-system app router, SSR, actions, and deployment adapters for mreact.",
5
+ "keywords": [
6
+ "jsx",
7
+ "mreact",
8
+ "router",
9
+ "server-actions",
10
+ "ssr",
11
+ "typescript",
12
+ "vite"
13
+ ],
14
+ "homepage": "https://github.com/t-k/mreact/tree/main/packages/router#readme",
15
+ "bugs": {
16
+ "url": "https://github.com/t-k/mreact/issues"
17
+ },
18
+ "license": "MIT",
19
+ "repository": {
20
+ "type": "git",
21
+ "url": "https://github.com/t-k/mreact.git",
22
+ "directory": "packages/router"
23
+ },
24
+ "bin": {
25
+ "mreact-router": "./dist/cli.js"
26
+ },
27
+ "files": [
28
+ "dist/**/*.js",
29
+ "dist/**/*.js.map",
30
+ "dist/**/*.d.ts",
31
+ "dist/**/*.d.ts.map"
32
+ ],
33
+ "type": "module",
34
+ "sideEffects": false,
35
+ "types": "./dist/index.d.ts",
36
+ "exports": {
37
+ ".": {
38
+ "types": "./dist/index.d.ts",
39
+ "default": "./dist/index.js"
40
+ },
41
+ "./adapters/edge": {
42
+ "types": "./dist/adapters/edge.d.ts",
43
+ "default": "./dist/adapters/edge.js"
44
+ },
45
+ "./adapters/cloudflare": {
46
+ "types": "./dist/adapters/cloudflare.d.ts",
47
+ "default": "./dist/adapters/cloudflare.js"
48
+ },
49
+ "./adapters/aws-lambda": {
50
+ "types": "./dist/adapters/aws-lambda.d.ts",
51
+ "default": "./dist/adapters/aws-lambda.js"
52
+ },
53
+ "./adapters/node": {
54
+ "types": "./dist/adapters/node.d.ts",
55
+ "default": "./dist/adapters/node.js"
56
+ },
57
+ "./adapters/static": {
58
+ "types": "./dist/adapters/static.d.ts",
59
+ "default": "./dist/adapters/static.js"
60
+ },
61
+ "./vite": {
62
+ "types": "./dist/vite.d.ts",
63
+ "default": "./dist/vite.js"
64
+ },
65
+ "./internal/native-escape": {
66
+ "types": "./dist/native-escape.d.ts",
67
+ "default": "./dist/native-escape.js"
68
+ },
69
+ "./internal/session": {
70
+ "types": "./dist/session.d.ts",
71
+ "default": "./dist/session.js"
72
+ }
73
+ },
74
+ "publishConfig": {
75
+ "access": "public"
76
+ },
77
+ "dependencies": {
78
+ "esbuild": "^0.28.0",
79
+ "@reckona/mreact-devtools": "0.0.1",
80
+ "@reckona/mreact-server": "0.0.1",
81
+ "@reckona/mreact-query": "0.0.1",
82
+ "@reckona/mreact-shared": "0.0.1",
83
+ "@reckona/mreact-compiler": "0.0.1"
84
+ },
85
+ "peerDependencies": {
86
+ "vite": ">=8 <9"
87
+ },
88
+ "optionalDependencies": {
89
+ "@reckona/mreact-router-native": "0.0.1"
90
+ }
91
+ }