@reckona/mreact-router 0.0.86 → 0.0.88
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/dist/bundle-pipeline.d.ts +1 -0
- package/dist/bundle-pipeline.d.ts.map +1 -1
- package/dist/bundle-pipeline.js +115 -6
- package/dist/bundle-pipeline.js.map +1 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +81 -20
- package/dist/client.js.map +1 -1
- package/dist/module-runner.d.ts +4 -0
- package/dist/module-runner.d.ts.map +1 -1
- package/dist/module-runner.js +448 -14
- package/dist/module-runner.js.map +1 -1
- package/dist/render.d.ts +1 -0
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +37 -5
- package/dist/render.js.map +1 -1
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +32 -20
- package/dist/vite.js.map +1 -1
- package/package.json +11 -11
- package/src/bundle-pipeline.ts +157 -24
- package/src/client.ts +91 -37
- package/src/module-runner.ts +587 -16
- package/src/render.ts +76 -30
- package/src/vite.ts +47 -37
|
@@ -3,6 +3,7 @@ export interface RouterBundleOptions {
|
|
|
3
3
|
base?: string | undefined;
|
|
4
4
|
code: string;
|
|
5
5
|
define?: Record<string, string> | undefined;
|
|
6
|
+
externalizeAppSourceModuleDirs?: readonly string[] | undefined;
|
|
6
7
|
filename: string;
|
|
7
8
|
minify?: boolean | undefined;
|
|
8
9
|
modulePreload?: boolean | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-pipeline.d.ts","sourceRoot":"","sources":["../src/bundle-pipeline.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bundle-pipeline.d.ts","sourceRoot":"","sources":["../src/bundle-pipeline.ts"],"names":[],"mappings":"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"}
|
package/dist/bundle-pipeline.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { builtinModules } from "node:module";
|
|
2
|
-
import {
|
|
2
|
+
import { access } from "node:fs/promises";
|
|
3
|
+
import { dirname, extname, isAbsolute, join, resolve } from "node:path";
|
|
4
|
+
import { pathToFileURL } from "node:url";
|
|
3
5
|
import { build as viteBuild, } from "vite";
|
|
4
6
|
import { workspacePackageFile } from "./workspace-packages.js";
|
|
5
7
|
const nodeBuiltinSpecifiers = new Set(builtinModules.flatMap((name) => [name, `node:${name}`]));
|
|
@@ -16,6 +18,11 @@ export async function bundleRouterModule(options) {
|
|
|
16
18
|
mreactJsxRuntimeAliasPlugin(),
|
|
17
19
|
...(options.vitePlugins ?? []),
|
|
18
20
|
virtualEntryPlugin(entryId, options.code),
|
|
21
|
+
...(options.externalizeAppSourceModuleDirs === undefined
|
|
22
|
+
? []
|
|
23
|
+
: [
|
|
24
|
+
externalizeAppSourceModulesPlugin(options.filename, options.externalizeAppSourceModuleDirs),
|
|
25
|
+
]),
|
|
19
26
|
...(options.plugins ?? []).map(routerCompatPlugin),
|
|
20
27
|
],
|
|
21
28
|
publicDir: false,
|
|
@@ -142,13 +149,49 @@ export async function bundleRouterModules(options) {
|
|
|
142
149
|
}
|
|
143
150
|
function mreactJsxRuntimeAliasPlugin() {
|
|
144
151
|
const runtimePaths = new Map([
|
|
152
|
+
[
|
|
153
|
+
"react",
|
|
154
|
+
workspacePackageFile({
|
|
155
|
+
currentFileUrl: import.meta.url,
|
|
156
|
+
entry: "index",
|
|
157
|
+
monorepoDir: "react-compat",
|
|
158
|
+
packageName: "@reckona/mreact-compat",
|
|
159
|
+
}),
|
|
160
|
+
],
|
|
161
|
+
[
|
|
162
|
+
"react-dom",
|
|
163
|
+
workspacePackageFile({
|
|
164
|
+
currentFileUrl: import.meta.url,
|
|
165
|
+
entry: "index",
|
|
166
|
+
monorepoDir: "react-compat",
|
|
167
|
+
packageName: "@reckona/mreact-compat",
|
|
168
|
+
}),
|
|
169
|
+
],
|
|
170
|
+
[
|
|
171
|
+
"react-dom/client",
|
|
172
|
+
workspacePackageFile({
|
|
173
|
+
currentFileUrl: import.meta.url,
|
|
174
|
+
entry: "index",
|
|
175
|
+
monorepoDir: "react-compat",
|
|
176
|
+
packageName: "@reckona/mreact-compat",
|
|
177
|
+
}),
|
|
178
|
+
],
|
|
179
|
+
[
|
|
180
|
+
"react-dom/server",
|
|
181
|
+
workspacePackageFile({
|
|
182
|
+
currentFileUrl: import.meta.url,
|
|
183
|
+
entry: "index",
|
|
184
|
+
monorepoDir: "react-compat",
|
|
185
|
+
packageName: "@reckona/mreact-compat",
|
|
186
|
+
}),
|
|
187
|
+
],
|
|
145
188
|
[
|
|
146
189
|
"react/jsx-dev-runtime",
|
|
147
190
|
workspacePackageFile({
|
|
148
191
|
currentFileUrl: import.meta.url,
|
|
149
192
|
entry: "jsx-dev-runtime",
|
|
150
|
-
monorepoDir: "react",
|
|
151
|
-
packageName: "@reckona/mreact",
|
|
193
|
+
monorepoDir: "react-compat",
|
|
194
|
+
packageName: "@reckona/mreact-compat",
|
|
152
195
|
}),
|
|
153
196
|
],
|
|
154
197
|
[
|
|
@@ -156,8 +199,8 @@ function mreactJsxRuntimeAliasPlugin() {
|
|
|
156
199
|
workspacePackageFile({
|
|
157
200
|
currentFileUrl: import.meta.url,
|
|
158
201
|
entry: "jsx-runtime",
|
|
159
|
-
monorepoDir: "react",
|
|
160
|
-
packageName: "@reckona/mreact",
|
|
202
|
+
monorepoDir: "react-compat",
|
|
203
|
+
packageName: "@reckona/mreact-compat",
|
|
161
204
|
}),
|
|
162
205
|
],
|
|
163
206
|
]);
|
|
@@ -169,6 +212,70 @@ function mreactJsxRuntimeAliasPlugin() {
|
|
|
169
212
|
},
|
|
170
213
|
};
|
|
171
214
|
}
|
|
215
|
+
function externalizeAppSourceModulesPlugin(entryFilename, sourceDirs) {
|
|
216
|
+
const normalizedSourceDirs = sourceDirs.map((directory) => resolve(directory));
|
|
217
|
+
return {
|
|
218
|
+
name: "mreact-router-externalize-app-source-modules",
|
|
219
|
+
enforce: "pre",
|
|
220
|
+
async resolveId(id, importer) {
|
|
221
|
+
if (importer === undefined || !isAppSourceImport(id)) {
|
|
222
|
+
return undefined;
|
|
223
|
+
}
|
|
224
|
+
const importerPath = cleanViteId(importer);
|
|
225
|
+
const resolved = await resolveAppSourceImport(id, dirname(importerPath));
|
|
226
|
+
if (resolved === undefined ||
|
|
227
|
+
resolved === entryFilename ||
|
|
228
|
+
!isExternalizableAppSourceModule(resolved) ||
|
|
229
|
+
!isInsideAnyDirectory(normalizedSourceDirs, resolved)) {
|
|
230
|
+
return undefined;
|
|
231
|
+
}
|
|
232
|
+
return {
|
|
233
|
+
external: true,
|
|
234
|
+
id: pathToFileURL(resolved).href,
|
|
235
|
+
};
|
|
236
|
+
},
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
function isInsideAnyDirectory(directories, path) {
|
|
240
|
+
return directories.some((directory) => path === directory || path.startsWith(`${directory}/`));
|
|
241
|
+
}
|
|
242
|
+
function isAppSourceImport(id) {
|
|
243
|
+
return id.startsWith(".") || id.startsWith("/") || isAbsolute(id);
|
|
244
|
+
}
|
|
245
|
+
function isExternalizableAppSourceModule(path) {
|
|
246
|
+
return /\.(?:[cm]?ts|[cm]?js)$/u.test(path);
|
|
247
|
+
}
|
|
248
|
+
async function resolveAppSourceImport(id, resolveDir) {
|
|
249
|
+
const base = isAbsolute(id) ? id : resolve(resolveDir, id);
|
|
250
|
+
const extension = extname(base);
|
|
251
|
+
const candidates = extension === ""
|
|
252
|
+
? [
|
|
253
|
+
base,
|
|
254
|
+
`${base}.ts`,
|
|
255
|
+
`${base}.mts`,
|
|
256
|
+
`${base}.cts`,
|
|
257
|
+
`${base}.js`,
|
|
258
|
+
`${base}.mjs`,
|
|
259
|
+
`${base}.cjs`,
|
|
260
|
+
join(base, "index.ts"),
|
|
261
|
+
join(base, "index.mts"),
|
|
262
|
+
join(base, "index.cts"),
|
|
263
|
+
join(base, "index.js"),
|
|
264
|
+
join(base, "index.mjs"),
|
|
265
|
+
join(base, "index.cjs"),
|
|
266
|
+
]
|
|
267
|
+
: [base];
|
|
268
|
+
for (const candidate of candidates) {
|
|
269
|
+
try {
|
|
270
|
+
await access(candidate);
|
|
271
|
+
return candidate;
|
|
272
|
+
}
|
|
273
|
+
catch {
|
|
274
|
+
continue;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return undefined;
|
|
278
|
+
}
|
|
172
279
|
function stripSourceMappingUrl(code) {
|
|
173
280
|
return code.replace(/\n?\/\/# sourceMappingURL=[^\n]+\.map\s*$/u, "");
|
|
174
281
|
}
|
|
@@ -193,7 +300,9 @@ function virtualEntriesPlugin(entries) {
|
|
|
193
300
|
},
|
|
194
301
|
load(id) {
|
|
195
302
|
const entry = entries.get(id);
|
|
196
|
-
return entry === undefined
|
|
303
|
+
return entry === undefined
|
|
304
|
+
? undefined
|
|
305
|
+
: { code: entry.code, moduleType: moduleTypeForFilename(id) };
|
|
197
306
|
},
|
|
198
307
|
};
|
|
199
308
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bundle-pipeline.js","sourceRoot":"","sources":["../src/bundle-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { builtinModules } from \"node:module\";\nimport { dirname } from \"node:path\";\nimport {\n build as viteBuild,\n type InlineConfig,\n type PluginOption,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { workspacePackageFile } from \"./workspace-packages.js\";\n\nexport interface RouterBundleOptions {\n base?: string | undefined;\n code: string;\n define?: Record<string, string> | undefined;\n filename: string;\n minify?: boolean | undefined;\n modulePreload?: boolean | undefined;\n outfile?: string | undefined;\n platform: \"browser\" | \"node\";\n preserveExports?: boolean | undefined;\n plugins?: readonly RouterCompatPlugin[] | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n sourceMap?: boolean | undefined;\n target?: string | undefined;\n}\n\nexport interface RouterBundleModulesOptions {\n base?: string | undefined;\n define?: Record<string, string> | undefined;\n entries: readonly RouterBundleEntryOptions[];\n minify?: boolean | undefined;\n platform: \"browser\" | \"node\";\n plugins?: readonly RouterCompatPlugin[] | undefined;\n root?: string | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n sourceMap?: boolean | undefined;\n target?: string | undefined;\n}\n\nexport interface RouterBundleEntryOptions {\n code: string;\n filename: string;\n name: string;\n}\n\nexport interface RouterBundleOutput {\n assets?: RouterBundleAssetOutput[] | undefined;\n code: string;\n map?: string | undefined;\n}\n\nexport interface RouterBundleModulesOutput {\n assets?: RouterBundleAssetOutput[] | undefined;\n chunks: RouterBundleChunkOutput[];\n}\n\nexport interface RouterBundleChunkOutput {\n code: string;\n fileName: string;\n imports: string[];\n isEntry: boolean;\n map?: string | undefined;\n name: string;\n}\n\nexport interface RouterBundleAssetOutput {\n fileName: string;\n source: string | Uint8Array;\n}\n\ninterface RouterBundlerChunk {\n code: string;\n fileName: string;\n imports?: string[] | undefined;\n isEntry?: boolean | undefined;\n name?: string | undefined;\n type: \"chunk\";\n}\n\ninterface RouterBundlerAsset {\n fileName: string;\n source: string | Uint8Array;\n type: \"asset\";\n}\n\ninterface RouterBundlerOutput {\n output: Array<RouterBundlerAsset | RouterBundlerChunk>;\n}\n\nexport interface RouterCompatPlugin {\n name: string;\n setup(buildApi: RouterCompatBuildApi): void;\n}\n\nexport interface RouterCompatBuildApi {\n onLoad(\n options: { filter: RegExp; namespace?: string | undefined },\n callback: (args: { path: string }) => RouterCompatLoadResult | Promise<RouterCompatLoadResult>,\n ): void;\n onResolve(\n options: { filter: RegExp },\n callback: (args: {\n importer?: string | undefined;\n path: string;\n resolveDir: string;\n }) => RouterCompatResolveResult | Promise<RouterCompatResolveResult>,\n ): void;\n}\n\nexport type RouterCompatLoadResult =\n | {\n contents: string;\n loader?: string | undefined;\n resolveDir?: string | undefined;\n }\n | undefined;\n\nexport type RouterCompatResolveResult =\n | {\n errors?: Array<{ text: string }> | undefined;\n external?: boolean | undefined;\n namespace?: string | undefined;\n path?: string | undefined;\n }\n | undefined;\n\nconst nodeBuiltinSpecifiers = new Set(\n builtinModules.flatMap((name) => [name, `node:${name}`]),\n);\n\nexport async function bundleRouterModule(options: RouterBundleOptions): Promise<RouterBundleOutput> {\n const entryId = `${options.filename}?mreact-router-entry`;\n const outfile = options.outfile ?? \"entry.js\";\n const config = {\n base: options.base ?? \"/\",\n configFile: false,\n ...(options.define === undefined ? {} : { define: options.define }),\n logLevel: \"silent\",\n plugins: [\n rejectNodeBuiltinsForBrowserPlugin(options.platform),\n mreactJsxRuntimeAliasPlugin(),\n ...(options.vitePlugins ?? []),\n virtualEntryPlugin(entryId, options.code),\n ...(options.plugins ?? []).map(routerCompatPlugin),\n ],\n publicDir: false,\n root: dirname(options.filename),\n ssr: {\n noExternal: true,\n },\n build: {\n emptyOutDir: false,\n lib: options.preserveExports === true\n ? {\n entry: entryId,\n fileName: () => outfile,\n formats: [\"es\"],\n }\n : false,\n minify: options.minify === true,\n modulePreload: options.modulePreload ?? true,\n sourcemap: options.sourceMap === true,\n ssr: options.platform === \"node\",\n target: options.target ?? \"es2022\",\n write: false,\n rolldownOptions: {\n input: entryId,\n output: {\n codeSplitting: false,\n entryFileNames: outfile,\n format: \"es\",\n },\n },\n },\n } satisfies InlineConfig;\n const result = await viteBuild(config);\n const output = (Array.isArray(result) ? result[0] : result) as RouterBundlerOutput | undefined;\n\n if (output === undefined || !(\"output\" in output)) {\n throw new Error(`Failed to bundle ${options.filename}: Vite/Rolldown produced no output.`);\n }\n\n const chunk = output.output.find((item): item is RouterBundlerChunk => item.type === \"chunk\");\n const map = output.output.find(\n (item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName === `${chunk?.fileName ?? outfile}.map`,\n );\n const assets = output.output\n .filter((item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName !== `${chunk?.fileName ?? outfile}.map`\n )\n .map((asset) => ({ fileName: asset.fileName, source: asset.source }));\n\n if (chunk === undefined) {\n throw new Error(`Failed to bundle ${options.filename}: Vite/Rolldown produced no chunk.`);\n }\n\n return {\n ...(assets.length === 0 ? {} : { assets }),\n code: stripSourceMappingUrl(chunk.code),\n ...(map !== undefined && typeof map.source === \"string\" ? { map: map.source } : {}),\n };\n}\n\nexport async function bundleRouterModules(\n options: RouterBundleModulesOptions,\n): Promise<RouterBundleModulesOutput> {\n if (options.entries.length === 0) {\n return { chunks: [] };\n }\n\n const entries = new Map(\n options.entries.map((entry) => [\n `${entry.filename}?mreact-router-entry=${encodeURIComponent(entry.name)}`,\n entry,\n ]),\n );\n const input = Object.fromEntries(\n Array.from(entries, ([entryId, entry]) => [entry.name, entryId]),\n );\n const config = {\n base: options.base ?? \"/\",\n configFile: false,\n ...(options.define === undefined ? {} : { define: options.define }),\n logLevel: \"silent\",\n plugins: [\n rejectNodeBuiltinsForBrowserPlugin(options.platform),\n mreactJsxRuntimeAliasPlugin(),\n ...(options.vitePlugins ?? []),\n virtualEntriesPlugin(entries),\n ...(options.plugins ?? []).map(routerCompatPlugin),\n ],\n publicDir: false,\n root: options.root ?? dirname(options.entries[0]?.filename ?? process.cwd()),\n ssr: {\n noExternal: true,\n },\n build: {\n emptyOutDir: false,\n minify: options.minify === true,\n sourcemap: options.sourceMap === true,\n ssr: options.platform === \"node\",\n target: options.target ?? \"es2022\",\n write: false,\n rolldownOptions: {\n input,\n output: {\n chunkFileNames: \"assets/chunks/[name].[hash].js\",\n entryFileNames: \"assets/routes/[name].[hash].js\",\n format: \"es\",\n hashCharacters: \"hex\",\n },\n },\n },\n } satisfies InlineConfig;\n const result = await viteBuild(config);\n const output = (Array.isArray(result) ? result[0] : result) as RouterBundlerOutput | undefined;\n\n if (output === undefined || !(\"output\" in output)) {\n throw new Error(\"Failed to bundle client routes: Vite/Rolldown produced no output.\");\n }\n\n const mapAssets = new Map(\n output.output\n .filter((item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName.endsWith(\".map\")\n )\n .flatMap((asset) =>\n typeof asset.source === \"string\" ? [[asset.fileName, asset.source] as const] : []\n ),\n );\n const chunks = output.output\n .filter((item): item is RouterBundlerChunk => item.type === \"chunk\")\n .map((chunk) => {\n const map = mapAssets.get(`${chunk.fileName}.map`);\n\n return {\n code: stripSourceMappingUrl(chunk.code),\n fileName: chunk.fileName,\n imports: chunk.imports ?? [],\n isEntry: chunk.isEntry === true,\n ...(map === undefined ? {} : { map }),\n name: chunk.name ?? chunk.fileName,\n };\n });\n const assets = output.output\n .filter((item): item is RouterBundlerAsset =>\n item.type === \"asset\" && !item.fileName.endsWith(\".map\")\n )\n .map((asset) => ({ fileName: asset.fileName, source: asset.source }));\n\n return {\n ...(assets.length === 0 ? {} : { assets }),\n chunks,\n };\n}\n\nfunction mreactJsxRuntimeAliasPlugin(): VitePlugin {\n const runtimePaths = new Map([\n [\n \"react/jsx-dev-runtime\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"jsx-dev-runtime\",\n monorepoDir: \"react\",\n packageName: \"@reckona/mreact\",\n }),\n ],\n [\n \"react/jsx-runtime\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"jsx-runtime\",\n monorepoDir: \"react\",\n packageName: \"@reckona/mreact\",\n }),\n ],\n ]);\n\n return {\n name: \"mreact-router-jsx-runtime-alias\",\n enforce: \"pre\",\n resolveId(id) {\n return runtimePaths.get(id);\n },\n };\n}\n\nfunction stripSourceMappingUrl(code: string): string {\n return code.replace(/\\n?\\/\\/# sourceMappingURL=[^\\n]+\\.map\\s*$/u, \"\");\n}\n\nfunction virtualEntryPlugin(entryId: string, code: string): VitePlugin {\n return {\n name: \"mreact-router-virtual-entry\",\n enforce: \"pre\",\n resolveId(id) {\n return id === entryId ? entryId : undefined;\n },\n load(id) {\n return id === entryId ? { code, moduleType: moduleTypeForFilename(entryId) } : undefined;\n },\n };\n}\n\nfunction virtualEntriesPlugin(entries: ReadonlyMap<string, RouterBundleEntryOptions>): VitePlugin {\n return {\n name: \"mreact-router-virtual-entries\",\n enforce: \"pre\",\n resolveId(id) {\n return entries.has(id) ? id : undefined;\n },\n load(id) {\n const entry = entries.get(id);\n\n return entry === undefined ? undefined : { code: entry.code, moduleType: moduleTypeForFilename(id) };\n },\n };\n}\n\nfunction moduleTypeForFilename(filename: string): \"js\" | \"jsx\" | \"ts\" | \"tsx\" {\n const clean = cleanViteId(filename);\n\n if (/\\.(?:mreact\\.)?[cm]?tsx$/u.test(clean) || clean.endsWith(\".jsx\")) {\n return \"tsx\";\n }\n\n if (/\\.(?:mreact\\.)?[cm]?ts$/u.test(clean)) {\n return \"ts\";\n }\n\n return \"js\";\n}\n\nfunction rejectNodeBuiltinsForBrowserPlugin(platform: RouterBundleOptions[\"platform\"]): VitePlugin {\n return {\n name: \"mreact-router-browser-node-builtins\",\n enforce: \"pre\",\n resolveId(id) {\n if (platform === \"browser\" && nodeBuiltinSpecifiers.has(id)) {\n this.error(`Browser build cannot import Node builtin ${JSON.stringify(id)}.`);\n }\n\n return undefined;\n },\n };\n}\n\nfunction routerCompatPlugin(plugin: RouterCompatPlugin): VitePlugin {\n const resolvers: Array<{\n filter: RegExp;\n callback: Parameters<RouterCompatBuildApi[\"onResolve\"]>[1];\n }> = [];\n const loaders: Array<{\n filter: RegExp;\n namespace?: string | undefined;\n callback: Parameters<RouterCompatBuildApi[\"onLoad\"]>[1];\n }> = [];\n\n plugin.setup({\n onLoad(options, callback) {\n loaders.push({ ...options, callback });\n },\n onResolve(options, callback) {\n resolvers.push({ ...options, callback });\n },\n });\n\n return {\n name: plugin.name,\n enforce: \"pre\",\n async resolveId(source, importer) {\n for (const resolver of resolvers) {\n if (!resolver.filter.test(source)) {\n continue;\n }\n\n const resolved = await resolver.callback({\n importer: importer === undefined ? undefined : cleanViteId(importer),\n path: source,\n resolveDir: importer === undefined ? \"\" : dirname(cleanViteId(importer)),\n });\n\n if (resolved === undefined) {\n continue;\n }\n\n if (resolved.errors !== undefined && resolved.errors.length > 0) {\n this.error(resolved.errors.map((error) => error.text).join(\"\\n\"));\n }\n\n if (resolved.path === undefined) {\n continue;\n }\n\n if (resolved.external === true) {\n return { external: true, id: resolved.path };\n }\n\n return resolved.namespace === undefined\n ? resolved.path\n : compatVirtualId(resolved.namespace, resolved.path);\n }\n\n return undefined;\n },\n async load(id) {\n const virtual = parseCompatVirtualId(id);\n const path = virtual?.path ?? cleanViteId(id);\n const namespace = virtual?.namespace;\n\n for (const loader of loaders) {\n if (loader.namespace !== namespace || !loader.filter.test(path)) {\n continue;\n }\n\n const loaded = await loader.callback({ path });\n\n if (loaded !== undefined) {\n return loaded.contents;\n }\n }\n\n return undefined;\n },\n };\n}\n\nfunction compatVirtualId(namespace: string, path: string): string {\n return `\\0mreact-router-compat:${encodeURIComponent(namespace)}:${encodeURIComponent(path)}`;\n}\n\nfunction parseCompatVirtualId(id: string): { namespace: string; path: string } | undefined {\n const prefix = \"\\0mreact-router-compat:\";\n\n if (!id.startsWith(prefix)) {\n return undefined;\n }\n\n const rest = id.slice(prefix.length);\n const separator = rest.indexOf(\":\");\n\n if (separator === -1) {\n return undefined;\n }\n\n return {\n namespace: decodeURIComponent(rest.slice(0, separator)),\n path: decodeURIComponent(rest.slice(separator + 1)),\n };\n}\n\nfunction cleanViteId(id: string): string {\n const withoutPrefix = id.startsWith(\"/@fs/\") ? id.slice(\"/@fs\".length) : id;\n const queryIndex = withoutPrefix.indexOf(\"?\");\n\n return queryIndex === -1 ? withoutPrefix : withoutPrefix.slice(0, queryIndex);\n}\n"]}
|
|
1
|
+
{"version":3,"file":"bundle-pipeline.js","sourceRoot":"","sources":["../src/bundle-pipeline.ts"],"names":[],"mappings":"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","sourcesContent":["import { builtinModules } from \"node:module\";\nimport { access } from \"node:fs/promises\";\nimport { dirname, extname, isAbsolute, join, resolve } from \"node:path\";\nimport { pathToFileURL } from \"node:url\";\nimport {\n build as viteBuild,\n type InlineConfig,\n type PluginOption,\n type Plugin as VitePlugin,\n} from \"vite\";\nimport { workspacePackageFile } from \"./workspace-packages.js\";\n\nexport interface RouterBundleOptions {\n base?: string | undefined;\n code: string;\n define?: Record<string, string> | undefined;\n externalizeAppSourceModuleDirs?: readonly string[] | undefined;\n filename: string;\n minify?: boolean | undefined;\n modulePreload?: boolean | undefined;\n outfile?: string | undefined;\n platform: \"browser\" | \"node\";\n preserveExports?: boolean | undefined;\n plugins?: readonly RouterCompatPlugin[] | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n sourceMap?: boolean | undefined;\n target?: string | undefined;\n}\n\nexport interface RouterBundleModulesOptions {\n base?: string | undefined;\n define?: Record<string, string> | undefined;\n entries: readonly RouterBundleEntryOptions[];\n minify?: boolean | undefined;\n platform: \"browser\" | \"node\";\n plugins?: readonly RouterCompatPlugin[] | undefined;\n root?: string | undefined;\n vitePlugins?: readonly PluginOption[] | undefined;\n sourceMap?: boolean | undefined;\n target?: string | undefined;\n}\n\nexport interface RouterBundleEntryOptions {\n code: string;\n filename: string;\n name: string;\n}\n\nexport interface RouterBundleOutput {\n assets?: RouterBundleAssetOutput[] | undefined;\n code: string;\n map?: string | undefined;\n}\n\nexport interface RouterBundleModulesOutput {\n assets?: RouterBundleAssetOutput[] | undefined;\n chunks: RouterBundleChunkOutput[];\n}\n\nexport interface RouterBundleChunkOutput {\n code: string;\n fileName: string;\n imports: string[];\n isEntry: boolean;\n map?: string | undefined;\n name: string;\n}\n\nexport interface RouterBundleAssetOutput {\n fileName: string;\n source: string | Uint8Array;\n}\n\ninterface RouterBundlerChunk {\n code: string;\n fileName: string;\n imports?: string[] | undefined;\n isEntry?: boolean | undefined;\n name?: string | undefined;\n type: \"chunk\";\n}\n\ninterface RouterBundlerAsset {\n fileName: string;\n source: string | Uint8Array;\n type: \"asset\";\n}\n\ninterface RouterBundlerOutput {\n output: Array<RouterBundlerAsset | RouterBundlerChunk>;\n}\n\nexport interface RouterCompatPlugin {\n name: string;\n setup(buildApi: RouterCompatBuildApi): void;\n}\n\nexport interface RouterCompatBuildApi {\n onLoad(\n options: { filter: RegExp; namespace?: string | undefined },\n callback: (args: { path: string }) => RouterCompatLoadResult | Promise<RouterCompatLoadResult>,\n ): void;\n onResolve(\n options: { filter: RegExp },\n callback: (args: {\n importer?: string | undefined;\n path: string;\n resolveDir: string;\n }) => RouterCompatResolveResult | Promise<RouterCompatResolveResult>,\n ): void;\n}\n\nexport type RouterCompatLoadResult =\n | {\n contents: string;\n loader?: string | undefined;\n resolveDir?: string | undefined;\n }\n | undefined;\n\nexport type RouterCompatResolveResult =\n | {\n errors?: Array<{ text: string }> | undefined;\n external?: boolean | undefined;\n namespace?: string | undefined;\n path?: string | undefined;\n }\n | undefined;\n\nconst nodeBuiltinSpecifiers = new Set(builtinModules.flatMap((name) => [name, `node:${name}`]));\n\nexport async function bundleRouterModule(\n options: RouterBundleOptions,\n): Promise<RouterBundleOutput> {\n const entryId = `${options.filename}?mreact-router-entry`;\n const outfile = options.outfile ?? \"entry.js\";\n const config = {\n base: options.base ?? \"/\",\n configFile: false,\n ...(options.define === undefined ? {} : { define: options.define }),\n logLevel: \"silent\",\n plugins: [\n rejectNodeBuiltinsForBrowserPlugin(options.platform),\n mreactJsxRuntimeAliasPlugin(),\n ...(options.vitePlugins ?? []),\n virtualEntryPlugin(entryId, options.code),\n ...(options.externalizeAppSourceModuleDirs === undefined\n ? []\n : [\n externalizeAppSourceModulesPlugin(\n options.filename,\n options.externalizeAppSourceModuleDirs,\n ),\n ]),\n ...(options.plugins ?? []).map(routerCompatPlugin),\n ],\n publicDir: false,\n root: dirname(options.filename),\n ssr: {\n noExternal: true,\n },\n build: {\n emptyOutDir: false,\n lib:\n options.preserveExports === true\n ? {\n entry: entryId,\n fileName: () => outfile,\n formats: [\"es\"],\n }\n : false,\n minify: options.minify === true,\n modulePreload: options.modulePreload ?? true,\n sourcemap: options.sourceMap === true,\n ssr: options.platform === \"node\",\n target: options.target ?? \"es2022\",\n write: false,\n rolldownOptions: {\n input: entryId,\n output: {\n codeSplitting: false,\n entryFileNames: outfile,\n format: \"es\",\n },\n },\n },\n } satisfies InlineConfig;\n const result = await viteBuild(config);\n const output = (Array.isArray(result) ? result[0] : result) as RouterBundlerOutput | undefined;\n\n if (output === undefined || !(\"output\" in output)) {\n throw new Error(`Failed to bundle ${options.filename}: Vite/Rolldown produced no output.`);\n }\n\n const chunk = output.output.find((item): item is RouterBundlerChunk => item.type === \"chunk\");\n const map = output.output.find(\n (item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName === `${chunk?.fileName ?? outfile}.map`,\n );\n const assets = output.output\n .filter(\n (item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName !== `${chunk?.fileName ?? outfile}.map`,\n )\n .map((asset) => ({ fileName: asset.fileName, source: asset.source }));\n\n if (chunk === undefined) {\n throw new Error(`Failed to bundle ${options.filename}: Vite/Rolldown produced no chunk.`);\n }\n\n return {\n ...(assets.length === 0 ? {} : { assets }),\n code: stripSourceMappingUrl(chunk.code),\n ...(map !== undefined && typeof map.source === \"string\" ? { map: map.source } : {}),\n };\n}\n\nexport async function bundleRouterModules(\n options: RouterBundleModulesOptions,\n): Promise<RouterBundleModulesOutput> {\n if (options.entries.length === 0) {\n return { chunks: [] };\n }\n\n const entries = new Map(\n options.entries.map((entry) => [\n `${entry.filename}?mreact-router-entry=${encodeURIComponent(entry.name)}`,\n entry,\n ]),\n );\n const input = Object.fromEntries(\n Array.from(entries, ([entryId, entry]) => [entry.name, entryId]),\n );\n const config = {\n base: options.base ?? \"/\",\n configFile: false,\n ...(options.define === undefined ? {} : { define: options.define }),\n logLevel: \"silent\",\n plugins: [\n rejectNodeBuiltinsForBrowserPlugin(options.platform),\n mreactJsxRuntimeAliasPlugin(),\n ...(options.vitePlugins ?? []),\n virtualEntriesPlugin(entries),\n ...(options.plugins ?? []).map(routerCompatPlugin),\n ],\n publicDir: false,\n root: options.root ?? dirname(options.entries[0]?.filename ?? process.cwd()),\n ssr: {\n noExternal: true,\n },\n build: {\n emptyOutDir: false,\n minify: options.minify === true,\n sourcemap: options.sourceMap === true,\n ssr: options.platform === \"node\",\n target: options.target ?? \"es2022\",\n write: false,\n rolldownOptions: {\n input,\n output: {\n chunkFileNames: \"assets/chunks/[name].[hash].js\",\n entryFileNames: \"assets/routes/[name].[hash].js\",\n format: \"es\",\n hashCharacters: \"hex\",\n },\n },\n },\n } satisfies InlineConfig;\n const result = await viteBuild(config);\n const output = (Array.isArray(result) ? result[0] : result) as RouterBundlerOutput | undefined;\n\n if (output === undefined || !(\"output\" in output)) {\n throw new Error(\"Failed to bundle client routes: Vite/Rolldown produced no output.\");\n }\n\n const mapAssets = new Map(\n output.output\n .filter(\n (item): item is RouterBundlerAsset =>\n item.type === \"asset\" && item.fileName.endsWith(\".map\"),\n )\n .flatMap((asset) =>\n typeof asset.source === \"string\" ? [[asset.fileName, asset.source] as const] : [],\n ),\n );\n const chunks = output.output\n .filter((item): item is RouterBundlerChunk => item.type === \"chunk\")\n .map((chunk) => {\n const map = mapAssets.get(`${chunk.fileName}.map`);\n\n return {\n code: stripSourceMappingUrl(chunk.code),\n fileName: chunk.fileName,\n imports: chunk.imports ?? [],\n isEntry: chunk.isEntry === true,\n ...(map === undefined ? {} : { map }),\n name: chunk.name ?? chunk.fileName,\n };\n });\n const assets = output.output\n .filter(\n (item): item is RouterBundlerAsset =>\n item.type === \"asset\" && !item.fileName.endsWith(\".map\"),\n )\n .map((asset) => ({ fileName: asset.fileName, source: asset.source }));\n\n return {\n ...(assets.length === 0 ? {} : { assets }),\n chunks,\n };\n}\n\nfunction mreactJsxRuntimeAliasPlugin(): VitePlugin {\n const runtimePaths = new Map([\n [\n \"react\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"index\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n [\n \"react-dom\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"index\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n [\n \"react-dom/client\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"index\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n [\n \"react-dom/server\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"index\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n [\n \"react/jsx-dev-runtime\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"jsx-dev-runtime\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n [\n \"react/jsx-runtime\",\n workspacePackageFile({\n currentFileUrl: import.meta.url,\n entry: \"jsx-runtime\",\n monorepoDir: \"react-compat\",\n packageName: \"@reckona/mreact-compat\",\n }),\n ],\n ]);\n\n return {\n name: \"mreact-router-jsx-runtime-alias\",\n enforce: \"pre\",\n resolveId(id) {\n return runtimePaths.get(id);\n },\n };\n}\n\nfunction externalizeAppSourceModulesPlugin(\n entryFilename: string,\n sourceDirs: readonly string[],\n): VitePlugin {\n const normalizedSourceDirs = sourceDirs.map((directory) => resolve(directory));\n\n return {\n name: \"mreact-router-externalize-app-source-modules\",\n enforce: \"pre\",\n async resolveId(id, importer) {\n if (importer === undefined || !isAppSourceImport(id)) {\n return undefined;\n }\n\n const importerPath = cleanViteId(importer);\n const resolved = await resolveAppSourceImport(id, dirname(importerPath));\n\n if (\n resolved === undefined ||\n resolved === entryFilename ||\n !isExternalizableAppSourceModule(resolved) ||\n !isInsideAnyDirectory(normalizedSourceDirs, resolved)\n ) {\n return undefined;\n }\n\n return {\n external: true,\n id: pathToFileURL(resolved).href,\n };\n },\n };\n}\n\nfunction isInsideAnyDirectory(directories: readonly string[], path: string): boolean {\n return directories.some((directory) => path === directory || path.startsWith(`${directory}/`));\n}\n\nfunction isAppSourceImport(id: string): boolean {\n return id.startsWith(\".\") || id.startsWith(\"/\") || isAbsolute(id);\n}\n\nfunction isExternalizableAppSourceModule(path: string): boolean {\n return /\\.(?:[cm]?ts|[cm]?js)$/u.test(path);\n}\n\nasync function resolveAppSourceImport(id: string, resolveDir: string): Promise<string | undefined> {\n const base = isAbsolute(id) ? id : resolve(resolveDir, id);\n const extension = extname(base);\n const candidates =\n extension === \"\"\n ? [\n base,\n `${base}.ts`,\n `${base}.mts`,\n `${base}.cts`,\n `${base}.js`,\n `${base}.mjs`,\n `${base}.cjs`,\n join(base, \"index.ts\"),\n join(base, \"index.mts\"),\n join(base, \"index.cts\"),\n join(base, \"index.js\"),\n join(base, \"index.mjs\"),\n join(base, \"index.cjs\"),\n ]\n : [base];\n\n for (const candidate of candidates) {\n try {\n await access(candidate);\n return candidate;\n } catch {\n continue;\n }\n }\n\n return undefined;\n}\n\nfunction stripSourceMappingUrl(code: string): string {\n return code.replace(/\\n?\\/\\/# sourceMappingURL=[^\\n]+\\.map\\s*$/u, \"\");\n}\n\nfunction virtualEntryPlugin(entryId: string, code: string): VitePlugin {\n return {\n name: \"mreact-router-virtual-entry\",\n enforce: \"pre\",\n resolveId(id) {\n return id === entryId ? entryId : undefined;\n },\n load(id) {\n return id === entryId ? { code, moduleType: moduleTypeForFilename(entryId) } : undefined;\n },\n };\n}\n\nfunction virtualEntriesPlugin(entries: ReadonlyMap<string, RouterBundleEntryOptions>): VitePlugin {\n return {\n name: \"mreact-router-virtual-entries\",\n enforce: \"pre\",\n resolveId(id) {\n return entries.has(id) ? id : undefined;\n },\n load(id) {\n const entry = entries.get(id);\n\n return entry === undefined\n ? undefined\n : { code: entry.code, moduleType: moduleTypeForFilename(id) };\n },\n };\n}\n\nfunction moduleTypeForFilename(filename: string): \"js\" | \"jsx\" | \"ts\" | \"tsx\" {\n const clean = cleanViteId(filename);\n\n if (/\\.(?:mreact\\.)?[cm]?tsx$/u.test(clean) || clean.endsWith(\".jsx\")) {\n return \"tsx\";\n }\n\n if (/\\.(?:mreact\\.)?[cm]?ts$/u.test(clean)) {\n return \"ts\";\n }\n\n return \"js\";\n}\n\nfunction rejectNodeBuiltinsForBrowserPlugin(platform: RouterBundleOptions[\"platform\"]): VitePlugin {\n return {\n name: \"mreact-router-browser-node-builtins\",\n enforce: \"pre\",\n resolveId(id) {\n if (platform === \"browser\" && nodeBuiltinSpecifiers.has(id)) {\n this.error(`Browser build cannot import Node builtin ${JSON.stringify(id)}.`);\n }\n\n return undefined;\n },\n };\n}\n\nfunction routerCompatPlugin(plugin: RouterCompatPlugin): VitePlugin {\n const resolvers: Array<{\n filter: RegExp;\n callback: Parameters<RouterCompatBuildApi[\"onResolve\"]>[1];\n }> = [];\n const loaders: Array<{\n filter: RegExp;\n namespace?: string | undefined;\n callback: Parameters<RouterCompatBuildApi[\"onLoad\"]>[1];\n }> = [];\n\n plugin.setup({\n onLoad(options, callback) {\n loaders.push({ ...options, callback });\n },\n onResolve(options, callback) {\n resolvers.push({ ...options, callback });\n },\n });\n\n return {\n name: plugin.name,\n enforce: \"pre\",\n async resolveId(source, importer) {\n for (const resolver of resolvers) {\n if (!resolver.filter.test(source)) {\n continue;\n }\n\n const resolved = await resolver.callback({\n importer: importer === undefined ? undefined : cleanViteId(importer),\n path: source,\n resolveDir: importer === undefined ? \"\" : dirname(cleanViteId(importer)),\n });\n\n if (resolved === undefined) {\n continue;\n }\n\n if (resolved.errors !== undefined && resolved.errors.length > 0) {\n this.error(resolved.errors.map((error) => error.text).join(\"\\n\"));\n }\n\n if (resolved.path === undefined) {\n continue;\n }\n\n if (resolved.external === true) {\n return { external: true, id: resolved.path };\n }\n\n return resolved.namespace === undefined\n ? resolved.path\n : compatVirtualId(resolved.namespace, resolved.path);\n }\n\n return undefined;\n },\n async load(id) {\n const virtual = parseCompatVirtualId(id);\n const path = virtual?.path ?? cleanViteId(id);\n const namespace = virtual?.namespace;\n\n for (const loader of loaders) {\n if (loader.namespace !== namespace || !loader.filter.test(path)) {\n continue;\n }\n\n const loaded = await loader.callback({ path });\n\n if (loaded !== undefined) {\n return loaded.contents;\n }\n }\n\n return undefined;\n },\n };\n}\n\nfunction compatVirtualId(namespace: string, path: string): string {\n return `\\0mreact-router-compat:${encodeURIComponent(namespace)}:${encodeURIComponent(path)}`;\n}\n\nfunction parseCompatVirtualId(id: string): { namespace: string; path: string } | undefined {\n const prefix = \"\\0mreact-router-compat:\";\n\n if (!id.startsWith(prefix)) {\n return undefined;\n }\n\n const rest = id.slice(prefix.length);\n const separator = rest.indexOf(\":\");\n\n if (separator === -1) {\n return undefined;\n }\n\n return {\n namespace: decodeURIComponent(rest.slice(0, separator)),\n path: decodeURIComponent(rest.slice(separator + 1)),\n };\n}\n\nfunction cleanViteId(id: string): string {\n const withoutPrefix = id.startsWith(\"/@fs/\") ? id.slice(\"/@fs\".length) : id;\n const queryIndex = withoutPrefix.indexOf(\"?\");\n\n return queryIndex === -1 ? withoutPrefix : withoutPrefix.slice(0, queryIndex);\n}\n"]}
|
package/dist/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/client.js
CHANGED
|
@@ -593,14 +593,7 @@ function isStyleModuleSpecifier(source) {
|
|
|
593
593
|
const pathname = source.split(/[?#]/u, 1)[0] ?? source;
|
|
594
594
|
return styleModuleExtensions.has(extname(pathname));
|
|
595
595
|
}
|
|
596
|
-
const styleModuleExtensions = new Set([
|
|
597
|
-
".css",
|
|
598
|
-
".less",
|
|
599
|
-
".sass",
|
|
600
|
-
".scss",
|
|
601
|
-
".styl",
|
|
602
|
-
".stylus",
|
|
603
|
-
]);
|
|
596
|
+
const styleModuleExtensions = new Set([".css", ".less", ".sass", ".scss", ".styl", ".stylus"]);
|
|
604
597
|
function renderedImportedExportNames(reference, componentRoots) {
|
|
605
598
|
if (reference.sideEffect) {
|
|
606
599
|
return undefined;
|
|
@@ -1688,6 +1681,7 @@ function __mreactApplyNavigationHtml(html, url) {
|
|
|
1688
1681
|
|
|
1689
1682
|
__mreactMarkRouteHydrating();
|
|
1690
1683
|
__mreactSyncHeadMetadata(template.content, html);
|
|
1684
|
+
__mreactUnmountCompatBoundaries(currentMarker);
|
|
1691
1685
|
__mreactResumeNode(currentMarker, nextMarker);
|
|
1692
1686
|
${routeCleanupNavigationDispose} __mreactSyncRouteDataScripts(template.content, currentRouteId, nextRouteId);
|
|
1693
1687
|
|
|
@@ -2226,12 +2220,19 @@ function __mreactHydrateClientBoundaries(marker, references, components) {
|
|
|
2226
2220
|
: JSON.parse(propsElement.textContent);
|
|
2227
2221
|
|
|
2228
2222
|
if (compat) {
|
|
2229
|
-
const
|
|
2223
|
+
const parentContainer = __mreactClientBoundaryParentContainer(placeholder, propsElement);
|
|
2224
|
+
const container = parentContainer ?? document.createElement("span");
|
|
2230
2225
|
container.setAttribute("data-mreact-compat-boundary", name ?? "");
|
|
2231
|
-
|
|
2232
|
-
|
|
2233
|
-
|
|
2226
|
+
if (parentContainer === null) {
|
|
2227
|
+
container.style.display = "contents";
|
|
2228
|
+
placeholder.replaceWith(container);
|
|
2229
|
+
} else {
|
|
2230
|
+
placeholder.remove();
|
|
2231
|
+
}
|
|
2234
2232
|
propsElement?.remove();
|
|
2233
|
+
const root = __mreactCompatCreateRoot(container);
|
|
2234
|
+
container.__mreactCompatRoot = root;
|
|
2235
|
+
root.render(__mreactCompatCreateElement(component, props));
|
|
2235
2236
|
continue;
|
|
2236
2237
|
}
|
|
2237
2238
|
|
|
@@ -2244,6 +2245,54 @@ function __mreactHydrateClientBoundaries(marker, references, components) {
|
|
|
2244
2245
|
return true;
|
|
2245
2246
|
}
|
|
2246
2247
|
|
|
2248
|
+
function __mreactClientBoundaryParentContainer(placeholder, propsElement) {
|
|
2249
|
+
const parent = placeholder.parentElement;
|
|
2250
|
+
|
|
2251
|
+
if (parent === null) {
|
|
2252
|
+
return null;
|
|
2253
|
+
}
|
|
2254
|
+
|
|
2255
|
+
for (const node of Array.from(parent.childNodes)) {
|
|
2256
|
+
if (node === placeholder || node === propsElement) {
|
|
2257
|
+
continue;
|
|
2258
|
+
}
|
|
2259
|
+
|
|
2260
|
+
if (node.nodeType === Node.TEXT_NODE && (node.textContent ?? "").trim() === "") {
|
|
2261
|
+
continue;
|
|
2262
|
+
}
|
|
2263
|
+
|
|
2264
|
+
return null;
|
|
2265
|
+
}
|
|
2266
|
+
|
|
2267
|
+
return parent;
|
|
2268
|
+
}
|
|
2269
|
+
|
|
2270
|
+
function __mreactUnmountCompatBoundaries(root) {
|
|
2271
|
+
const containers = [];
|
|
2272
|
+
|
|
2273
|
+
if (
|
|
2274
|
+
root.nodeType === Node.ELEMENT_NODE &&
|
|
2275
|
+
root.hasAttribute("data-mreact-compat-boundary")
|
|
2276
|
+
) {
|
|
2277
|
+
containers.push(root);
|
|
2278
|
+
}
|
|
2279
|
+
|
|
2280
|
+
if (typeof root.querySelectorAll === "function") {
|
|
2281
|
+
containers.push(...root.querySelectorAll("[data-mreact-compat-boundary]"));
|
|
2282
|
+
}
|
|
2283
|
+
|
|
2284
|
+
for (const container of containers) {
|
|
2285
|
+
const compatRoot = container.__mreactCompatRoot;
|
|
2286
|
+
|
|
2287
|
+
if (compatRoot === undefined || typeof compatRoot.unmount !== "function") {
|
|
2288
|
+
continue;
|
|
2289
|
+
}
|
|
2290
|
+
|
|
2291
|
+
compatRoot.unmount();
|
|
2292
|
+
container.__mreactCompatRoot = undefined;
|
|
2293
|
+
}
|
|
2294
|
+
}
|
|
2295
|
+
|
|
2247
2296
|
function __mreactHasNonSerializableClientBoundaries(marker) {
|
|
2248
2297
|
return marker.querySelector(
|
|
2249
2298
|
'template[data-mreact-client-boundary][data-mreact-client-boundary-nonserializable="true"]',
|
|
@@ -2350,6 +2399,7 @@ function __mreactResumeNode(current, next) {
|
|
|
2350
2399
|
}
|
|
2351
2400
|
|
|
2352
2401
|
if (__mreactShouldReplaceNode(current, next)) {
|
|
2402
|
+
__mreactUnmountCompatBoundaries(current);
|
|
2353
2403
|
current.replaceWith(next);
|
|
2354
2404
|
return;
|
|
2355
2405
|
}
|
|
@@ -2362,6 +2412,7 @@ function __mreactResumeNode(current, next) {
|
|
|
2362
2412
|
}
|
|
2363
2413
|
|
|
2364
2414
|
if (current.nodeType !== Node.ELEMENT_NODE || next.nodeType !== Node.ELEMENT_NODE) {
|
|
2415
|
+
__mreactUnmountCompatBoundaries(current);
|
|
2365
2416
|
current.replaceWith(next);
|
|
2366
2417
|
return;
|
|
2367
2418
|
}
|
|
@@ -2642,7 +2693,12 @@ function __mreactResumeChildren(current, next) {
|
|
|
2642
2693
|
}
|
|
2643
2694
|
|
|
2644
2695
|
while (current.childNodes.length > nextChildren.length) {
|
|
2645
|
-
current.lastChild
|
|
2696
|
+
const lastChild = current.lastChild;
|
|
2697
|
+
if (lastChild === null) {
|
|
2698
|
+
break;
|
|
2699
|
+
}
|
|
2700
|
+
__mreactUnmountCompatBoundaries(lastChild);
|
|
2701
|
+
lastChild.remove();
|
|
2646
2702
|
}
|
|
2647
2703
|
}
|
|
2648
2704
|
`;
|
|
@@ -2671,6 +2727,15 @@ function workspaceRuntimePlugin(options) {
|
|
|
2671
2727
|
"@reckona/mreact-compat",
|
|
2672
2728
|
];
|
|
2673
2729
|
const runtimePaths = new Map([
|
|
2730
|
+
["react", reactCompatPath],
|
|
2731
|
+
["react-dom", reactCompatPath],
|
|
2732
|
+
["react-dom/client", reactCompatPath],
|
|
2733
|
+
["react-dom/server", reactCompatPath],
|
|
2734
|
+
[
|
|
2735
|
+
"react/jsx-dev-runtime",
|
|
2736
|
+
packageFile("react-compat", "@reckona/mreact-compat", "jsx-dev-runtime"),
|
|
2737
|
+
],
|
|
2738
|
+
["react/jsx-runtime", packageFile("react-compat", "@reckona/mreact-compat", "jsx-runtime")],
|
|
2674
2739
|
[
|
|
2675
2740
|
"@reckona/mreact-reactive-core/internal",
|
|
2676
2741
|
packageFile("reactive-core", "@reckona/mreact-reactive-core", "internal"),
|
|
@@ -2700,10 +2765,7 @@ function workspaceRuntimePlugin(options) {
|
|
|
2700
2765
|
"@reckona/mreact-compat/scheduler",
|
|
2701
2766
|
packageFile("react-compat", "@reckona/mreact-compat", "scheduler"),
|
|
2702
2767
|
],
|
|
2703
|
-
[
|
|
2704
|
-
"@reckona/mreact-reactive-dom",
|
|
2705
|
-
reactiveDomPath,
|
|
2706
|
-
],
|
|
2768
|
+
["@reckona/mreact-reactive-dom", reactiveDomPath],
|
|
2707
2769
|
]);
|
|
2708
2770
|
return {
|
|
2709
2771
|
name: "mreact-workspace-runtime",
|
|
@@ -2721,7 +2783,7 @@ function workspaceRuntimePlugin(options) {
|
|
|
2721
2783
|
};
|
|
2722
2784
|
});
|
|
2723
2785
|
buildApi.onResolve({
|
|
2724
|
-
filter:
|
|
2786
|
+
filter: /^(?:react(?:\/jsx-(?:dev-)?runtime)?|react-dom(?:\/(?:client|server))?|@reckona\/mreact-(?:compat|reactive-core|reactive-dom)(?:\/(?:event-priority|flight|internal|jsx-dev-runtime|jsx-runtime|scheduler))?)$/,
|
|
2725
2787
|
}, (args) => {
|
|
2726
2788
|
const path = runtimePaths.get(args.path);
|
|
2727
2789
|
return path === undefined ? undefined : { path };
|
|
@@ -2816,8 +2878,7 @@ function detectRouteCellStateHint(code) {
|
|
|
2816
2878
|
: new RegExp(`(?:${callExpression})\\s*\\(`).test(code);
|
|
2817
2879
|
}
|
|
2818
2880
|
function detectRouteReactiveEffectHint(code) {
|
|
2819
|
-
return
|
|
2820
|
-
/\beffect\s*\(/.test(code));
|
|
2881
|
+
return /from\s+["']@reckona\/mreact-reactive-core["']/.test(code) && /\beffect\s*\(/.test(code);
|
|
2821
2882
|
}
|
|
2822
2883
|
async function inferClientReferenceManifestForBundle(options) {
|
|
2823
2884
|
const cache = createClientRouteInferenceCache();
|