@bleedingdev/modern-js-plugin-tanstack 3.5.0-ultramodern.9 → 3.5.0-ultramodern.90
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/cjs/cli/artifacts.js +157 -0
- package/dist/cjs/cli/index.js +8 -79
- package/dist/cjs/cli/tanstackTypes/canonicalRoutes.js +113 -0
- package/dist/cjs/cli/tanstackTypes/shared.js +123 -0
- package/dist/cjs/cli/tanstackTypes/source.js +255 -0
- package/dist/cjs/cli/tanstackTypes.js +4 -350
- package/dist/cjs/runtime/blockingSubscribe.js +57 -0
- package/dist/cjs/runtime/{pluginCore.js → clientBasepath.js} +12 -19
- package/dist/cjs/runtime/clientHydration.js +118 -0
- package/dist/cjs/runtime/dataMutation.js +11 -176
- package/dist/cjs/runtime/formData.js +116 -0
- package/dist/cjs/runtime/loaderBridge.js +7 -11
- package/dist/cjs/runtime/plugin.js +21 -125
- package/dist/cjs/runtime/plugin.node.js +45 -125
- package/dist/cjs/runtime/pluginShared.js +87 -0
- package/dist/cjs/runtime/prefetchLink.js +15 -2
- package/dist/cjs/runtime/register.js +3 -16
- package/dist/cjs/runtime/routeTree/components.js +102 -0
- package/dist/cjs/runtime/routeTree/construction.js +152 -0
- package/dist/cjs/runtime/routeTree/index.js +47 -0
- package/dist/cjs/runtime/routeTree/loaders.js +158 -0
- package/dist/cjs/runtime/routeTree/paths.js +57 -0
- package/dist/cjs/runtime/routeTree/staticData.js +63 -0
- package/dist/cjs/runtime/routeTree/tanstackRoutes.js +57 -0
- package/dist/cjs/runtime/routeTree/types.js +18 -0
- package/dist/cjs/runtime/routeTree.js +7 -320
- package/dist/cjs/runtime/router.js +15 -2
- package/dist/cjs/runtime/rsc/CompositeComponent.js +18 -13
- package/dist/cjs/runtime/rsc/ReplayableStream.js +0 -4
- package/dist/cjs/runtime/rsc/RscNodeRenderer.js +5 -16
- package/dist/cjs/runtime/rsc/client.js +8 -25
- package/dist/cjs/runtime/rsc/flightSerialization.js +132 -0
- package/dist/cjs/runtime/rsc/payloadErrors.js +99 -0
- package/dist/cjs/runtime/rsc/payloadFetch.js +105 -0
- package/dist/cjs/runtime/rsc/payloadRouter.js +21 -142
- package/dist/cjs/runtime/rsc/payloadRoutes.js +94 -0
- package/dist/cjs/runtime/rsc/payloadStorage.js +58 -0
- package/dist/cjs/runtime/rsc/server.js +14 -18
- package/dist/cjs/runtime/rsc/shared.js +68 -0
- package/dist/cjs/runtime/rsc/slotUsageSanitizer.js +1 -0
- package/dist/cjs/runtime/rsc/treeGetter.js +72 -0
- package/dist/cjs/runtime/shared/isAbsoluteUrl.js +47 -0
- package/dist/cjs/runtime/ssrManagedTags.js +103 -0
- package/dist/cjs/runtime/ssrPreload.js +89 -0
- package/dist/cjs/runtime/ssrTypes.js +18 -0
- package/dist/cjs/runtime/state.js +1 -1
- package/dist/cjs/runtime/submitAction.js +161 -0
- package/dist/cjs/runtime/utils.js +49 -86
- package/dist/esm/cli/artifacts.mjs +103 -0
- package/dist/esm/cli/index.mjs +8 -82
- package/dist/esm/cli/tanstackTypes/canonicalRoutes.mjs +75 -0
- package/dist/esm/cli/tanstackTypes/shared.mjs +61 -0
- package/dist/esm/cli/tanstackTypes/source.mjs +207 -0
- package/dist/esm/cli/tanstackTypes.mjs +2 -339
- package/dist/esm/runtime/blockingSubscribe.mjs +19 -0
- package/dist/esm/runtime/clientBasepath.mjs +10 -0
- package/dist/esm/runtime/clientHydration.mjs +71 -0
- package/dist/esm/runtime/dataMutation.mjs +2 -167
- package/dist/esm/runtime/formData.mjs +63 -0
- package/dist/esm/runtime/loaderBridge.mjs +5 -9
- package/dist/esm/runtime/plugin.mjs +14 -118
- package/dist/esm/runtime/plugin.node.mjs +41 -121
- package/dist/esm/runtime/pluginShared.mjs +40 -0
- package/dist/esm/runtime/prefetchLink.mjs +18 -5
- package/dist/esm/runtime/register.mjs +1 -14
- package/dist/esm/runtime/routeTree/components.mjs +55 -0
- package/dist/esm/runtime/routeTree/construction.mjs +111 -0
- package/dist/esm/runtime/routeTree/index.mjs +2 -0
- package/dist/esm/runtime/routeTree/loaders.mjs +117 -0
- package/dist/esm/runtime/routeTree/paths.mjs +16 -0
- package/dist/esm/runtime/routeTree/staticData.mjs +22 -0
- package/dist/esm/runtime/routeTree/tanstackRoutes.mjs +13 -0
- package/dist/esm/runtime/routeTree/types.mjs +0 -0
- package/dist/esm/runtime/routeTree.mjs +1 -318
- package/dist/esm/runtime/router.mjs +16 -2
- package/dist/esm/runtime/rsc/CompositeComponent.mjs +18 -13
- package/dist/esm/runtime/rsc/ReplayableStream.mjs +1 -1
- package/dist/esm/runtime/rsc/RscNodeRenderer.mjs +4 -15
- package/dist/esm/runtime/rsc/client.mjs +6 -26
- package/dist/esm/runtime/rsc/flightSerialization.mjs +88 -0
- package/dist/esm/runtime/rsc/payloadErrors.mjs +49 -0
- package/dist/esm/runtime/rsc/payloadFetch.mjs +55 -0
- package/dist/esm/runtime/rsc/payloadRouter.mjs +12 -133
- package/dist/esm/runtime/rsc/payloadRoutes.mjs +50 -0
- package/dist/esm/runtime/rsc/payloadStorage.mjs +14 -0
- package/dist/esm/runtime/rsc/server.mjs +17 -21
- package/dist/esm/runtime/rsc/shared.mjs +21 -0
- package/dist/esm/runtime/rsc/slotUsageSanitizer.mjs +1 -0
- package/dist/esm/runtime/rsc/treeGetter.mjs +34 -0
- package/dist/esm/runtime/shared/isAbsoluteUrl.mjs +9 -0
- package/dist/esm/runtime/ssrManagedTags.mjs +53 -0
- package/dist/esm/runtime/ssrPreload.mjs +51 -0
- package/dist/esm/runtime/ssrTypes.mjs +0 -0
- package/dist/esm/runtime/state.mjs +1 -1
- package/dist/esm/runtime/submitAction.mjs +120 -0
- package/dist/esm/runtime/utils.mjs +47 -75
- package/dist/esm-node/cli/artifacts.mjs +104 -0
- package/dist/esm-node/cli/index.mjs +8 -82
- package/dist/esm-node/cli/tanstackTypes/canonicalRoutes.mjs +76 -0
- package/dist/esm-node/cli/tanstackTypes/shared.mjs +62 -0
- package/dist/esm-node/cli/tanstackTypes/source.mjs +208 -0
- package/dist/esm-node/cli/tanstackTypes.mjs +2 -339
- package/dist/esm-node/runtime/blockingSubscribe.mjs +20 -0
- package/dist/esm-node/runtime/clientBasepath.mjs +11 -0
- package/dist/esm-node/runtime/clientHydration.mjs +72 -0
- package/dist/esm-node/runtime/dataMutation.mjs +2 -167
- package/dist/esm-node/runtime/formData.mjs +64 -0
- package/dist/esm-node/runtime/loaderBridge.mjs +5 -9
- package/dist/esm-node/runtime/plugin.mjs +14 -118
- package/dist/esm-node/runtime/plugin.node.mjs +41 -121
- package/dist/esm-node/runtime/pluginShared.mjs +41 -0
- package/dist/esm-node/runtime/prefetchLink.mjs +18 -5
- package/dist/esm-node/runtime/register.mjs +1 -14
- package/dist/esm-node/runtime/routeTree/components.mjs +56 -0
- package/dist/esm-node/runtime/routeTree/construction.mjs +112 -0
- package/dist/esm-node/runtime/routeTree/index.mjs +3 -0
- package/dist/esm-node/runtime/routeTree/loaders.mjs +118 -0
- package/dist/esm-node/runtime/routeTree/paths.mjs +17 -0
- package/dist/esm-node/runtime/routeTree/staticData.mjs +23 -0
- package/dist/esm-node/runtime/routeTree/tanstackRoutes.mjs +14 -0
- package/dist/esm-node/runtime/routeTree/types.mjs +1 -0
- package/dist/esm-node/runtime/routeTree.mjs +1 -318
- package/dist/esm-node/runtime/router.mjs +16 -2
- package/dist/esm-node/runtime/rsc/CompositeComponent.mjs +18 -13
- package/dist/esm-node/runtime/rsc/ReplayableStream.mjs +1 -1
- package/dist/esm-node/runtime/rsc/RscNodeRenderer.mjs +4 -15
- package/dist/esm-node/runtime/rsc/client.mjs +6 -26
- package/dist/esm-node/runtime/rsc/flightSerialization.mjs +89 -0
- package/dist/esm-node/runtime/rsc/payloadErrors.mjs +50 -0
- package/dist/esm-node/runtime/rsc/payloadFetch.mjs +56 -0
- package/dist/esm-node/runtime/rsc/payloadRouter.mjs +12 -133
- package/dist/esm-node/runtime/rsc/payloadRoutes.mjs +51 -0
- package/dist/esm-node/runtime/rsc/payloadStorage.mjs +15 -0
- package/dist/esm-node/runtime/rsc/server.mjs +17 -21
- package/dist/esm-node/runtime/rsc/shared.mjs +22 -0
- package/dist/esm-node/runtime/rsc/slotUsageSanitizer.mjs +1 -0
- package/dist/esm-node/runtime/rsc/treeGetter.mjs +35 -0
- package/dist/esm-node/runtime/shared/isAbsoluteUrl.mjs +10 -0
- package/dist/esm-node/runtime/ssrManagedTags.mjs +54 -0
- package/dist/esm-node/runtime/ssrPreload.mjs +52 -0
- package/dist/esm-node/runtime/ssrTypes.mjs +1 -0
- package/dist/esm-node/runtime/state.mjs +1 -1
- package/dist/esm-node/runtime/submitAction.mjs +121 -0
- package/dist/esm-node/runtime/utils.mjs +47 -75
- package/dist/types/cli/artifacts.d.ts +33 -0
- package/dist/types/cli/index.d.ts +2 -22
- package/dist/types/cli/tanstackTypes/canonicalRoutes.d.ts +22 -0
- package/dist/types/cli/tanstackTypes/shared.d.ts +20 -0
- package/dist/types/cli/tanstackTypes/source.d.ts +12 -0
- package/dist/types/cli/tanstackTypes.d.ts +3 -31
- package/dist/types/runtime/blockingSubscribe.d.ts +1 -0
- package/dist/types/runtime/clientBasepath.d.ts +1 -0
- package/dist/types/runtime/clientHydration.d.ts +10 -0
- package/dist/types/runtime/dataMutation.d.ts +3 -12
- package/dist/types/runtime/formData.d.ts +24 -0
- package/dist/types/runtime/loaderBridge.d.ts +2 -1
- package/dist/types/runtime/plugin.d.ts +1 -1
- package/dist/types/runtime/plugin.node.d.ts +1 -1
- package/dist/types/runtime/pluginShared.d.ts +38 -0
- package/dist/types/runtime/register.d.ts +10 -9
- package/dist/types/runtime/routeTree/components.d.ts +7 -0
- package/dist/types/runtime/routeTree/construction.d.ts +5 -0
- package/dist/types/runtime/routeTree/index.d.ts +2 -0
- package/dist/types/runtime/routeTree/loaders.d.ts +4 -0
- package/dist/types/runtime/routeTree/paths.d.ts +3 -0
- package/dist/types/runtime/routeTree/staticData.d.ts +19 -0
- package/dist/types/runtime/routeTree/tanstackRoutes.d.ts +4 -0
- package/dist/types/runtime/routeTree/types.d.ts +76 -0
- package/dist/types/runtime/routeTree.d.ts +1 -9
- package/dist/types/runtime/router.d.ts +6 -7
- package/dist/types/runtime/rsc/CompositeComponent.d.ts +1 -2
- package/dist/types/runtime/rsc/ReplayableStream.d.ts +3 -2
- package/dist/types/runtime/rsc/RscNodeRenderer.d.ts +2 -3
- package/dist/types/runtime/rsc/SlotContext.d.ts +2 -1
- package/dist/types/runtime/rsc/client.d.ts +2 -0
- package/dist/types/runtime/rsc/flightSerialization.d.ts +3 -0
- package/dist/types/runtime/rsc/payloadErrors.d.ts +6 -0
- package/dist/types/runtime/rsc/payloadFetch.d.ts +8 -0
- package/dist/types/runtime/rsc/payloadRouter.d.ts +2 -10
- package/dist/types/runtime/rsc/payloadRoutes.d.ts +40 -0
- package/dist/types/runtime/rsc/payloadStorage.d.ts +5 -0
- package/dist/types/runtime/rsc/shared.d.ts +18 -0
- package/dist/types/runtime/rsc/treeGetter.d.ts +1 -0
- package/dist/types/runtime/shared/isAbsoluteUrl.d.ts +1 -0
- package/dist/types/runtime/ssrManagedTags.d.ts +7 -0
- package/dist/types/runtime/ssrPreload.d.ts +2 -0
- package/dist/types/runtime/ssrTypes.d.ts +44 -0
- package/dist/types/runtime/state.d.ts +1 -1
- package/dist/types/runtime/submitAction.d.ts +14 -0
- package/dist/types/runtime/types.d.ts +4 -10
- package/dist/types/runtime/utils.d.ts +4 -24
- package/package.json +37 -17
- package/rstest.config.mts +23 -0
- package/src/cli/artifacts.ts +255 -0
- package/src/cli/index.ts +7 -185
- package/src/cli/tanstackTypes/canonicalRoutes.ts +157 -0
- package/src/cli/tanstackTypes/shared.ts +113 -0
- package/src/cli/tanstackTypes/source.ts +414 -0
- package/src/cli/tanstackTypes.ts +4 -647
- package/src/runtime/blockingSubscribe.ts +48 -0
- package/src/runtime/clientBasepath.ts +12 -0
- package/src/runtime/clientHydration.ts +149 -0
- package/src/runtime/dataMutation.tsx +9 -306
- package/src/runtime/formData.ts +153 -0
- package/src/runtime/loaderBridge.ts +11 -12
- package/src/runtime/plugin.node.tsx +76 -291
- package/src/runtime/plugin.tsx +21 -257
- package/src/runtime/pluginShared.ts +112 -0
- package/src/runtime/prefetchLink.tsx +78 -15
- package/src/runtime/register.ts +10 -42
- package/src/runtime/routeTree/components.ts +130 -0
- package/src/runtime/routeTree/construction.ts +238 -0
- package/src/runtime/routeTree/index.ts +7 -0
- package/src/runtime/routeTree/loaders.ts +232 -0
- package/src/runtime/routeTree/paths.ts +36 -0
- package/src/runtime/routeTree/staticData.ts +66 -0
- package/src/runtime/routeTree/tanstackRoutes.ts +36 -0
- package/src/runtime/routeTree/types.ts +87 -0
- package/src/runtime/routeTree.ts +5 -750
- package/src/runtime/router.ts +35 -7
- package/src/runtime/rsc/CompositeComponent.tsx +29 -20
- package/src/runtime/rsc/ReplayableStream.ts +2 -2
- package/src/runtime/rsc/RscNodeRenderer.tsx +9 -27
- package/src/runtime/rsc/SlotContext.tsx +1 -1
- package/src/runtime/rsc/client.tsx +12 -40
- package/src/runtime/rsc/flightSerialization.ts +158 -0
- package/src/runtime/rsc/payloadErrors.ts +73 -0
- package/src/runtime/rsc/payloadFetch.ts +92 -0
- package/src/runtime/rsc/payloadRouter.ts +29 -234
- package/src/runtime/rsc/payloadRoutes.ts +122 -0
- package/src/runtime/rsc/payloadStorage.ts +35 -0
- package/src/runtime/rsc/server.tsx +20 -29
- package/src/runtime/rsc/shared.ts +70 -0
- package/src/runtime/rsc/slotUsageSanitizer.ts +4 -0
- package/src/runtime/rsc/treeGetter.tsx +52 -0
- package/src/runtime/shared/isAbsoluteUrl.ts +8 -0
- package/src/runtime/ssrManagedTags.ts +107 -0
- package/src/runtime/ssrPreload.ts +125 -0
- package/src/runtime/ssrTypes.ts +51 -0
- package/src/runtime/state.ts +9 -3
- package/src/runtime/submitAction.ts +201 -0
- package/src/runtime/types.ts +4 -18
- package/src/runtime/utils.tsx +76 -110
- package/src/types/react-server-dom-rspack.d.ts +56 -0
- package/tests/castRatchet.test.ts +85 -0
- package/tests/realm-isolation.test.ts +114 -0
- package/tests/router/cli.test.ts +7 -0
- package/tests/router/clientHydration.test.tsx +61 -0
- package/tests/router/dataMutation.test.tsx +59 -0
- package/tests/router/fixtures/legacyRuntimeRouter.ts +10 -0
- package/tests/router/fixtures/router-gen.golden.txt +71 -0
- package/tests/router/fixtures/router-gen.oxlint.json +5 -0
- package/tests/router/flightSerialization.roundtrip.test.tsx +137 -0
- package/tests/router/generateRouteArtifacts.test.ts +106 -0
- package/tests/router/hooks.test.ts +14 -0
- package/tests/router/loaderBridge.test.ts +21 -0
- package/tests/router/prefetchLink.test.tsx +106 -59
- package/tests/router/prefetchLinkPreload.test.tsx +85 -0
- package/tests/router/register.test.ts +1 -39
- package/tests/router/routeTree.test.ts +51 -11
- package/tests/router/routerCompatibility.test.ts +245 -0
- package/tests/router/rsc.test.tsx +189 -0
- package/tests/router/rscPayloadRouterMatrix.test.ts +197 -0
- package/tests/router/slotUsageSanitizer.test.ts +23 -0
- package/tests/router/ssrPreload.test.ts +30 -0
- package/tests/router/tanstackTypes.test.ts +298 -1
- package/dist/esm/runtime/pluginCore.mjs +0 -14
- package/dist/esm-node/runtime/pluginCore.mjs +0 -15
- package/dist/types/runtime/pluginCore.d.ts +0 -21
- package/src/runtime/pluginCore.ts +0 -48
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.n = (module)=>{
|
|
5
|
+
var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
|
|
6
|
+
__webpack_require__.d(getter, {
|
|
7
|
+
a: getter
|
|
8
|
+
});
|
|
9
|
+
return getter;
|
|
10
|
+
};
|
|
11
|
+
})();
|
|
12
|
+
(()=>{
|
|
13
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
14
|
+
var define = (defs, kind)=>{
|
|
15
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
16
|
+
enumerable: true,
|
|
17
|
+
[kind]: defs[key]
|
|
18
|
+
});
|
|
19
|
+
};
|
|
20
|
+
define(getters, "get");
|
|
21
|
+
define(values, "value");
|
|
22
|
+
};
|
|
23
|
+
})();
|
|
24
|
+
(()=>{
|
|
25
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
26
|
+
})();
|
|
27
|
+
(()=>{
|
|
28
|
+
__webpack_require__.r = (exports1)=>{
|
|
29
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
30
|
+
value: 'Module'
|
|
31
|
+
});
|
|
32
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
33
|
+
value: true
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
})();
|
|
37
|
+
var __webpack_exports__ = {};
|
|
38
|
+
__webpack_require__.r(__webpack_exports__);
|
|
39
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
40
|
+
generateTanstackRouteArtifacts: ()=>generateTanstackRouteArtifacts,
|
|
41
|
+
writeTanstackRegisterFile: ()=>writeTanstackRegisterFile,
|
|
42
|
+
writeTanstackRouterTypesForEntries: ()=>writeTanstackRouterTypesForEntries
|
|
43
|
+
});
|
|
44
|
+
const external_node_path_namespaceObject = require("node:path");
|
|
45
|
+
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
46
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
47
|
+
const external_tanstackTypes_js_namespaceObject = require("./tanstackTypes.js");
|
|
48
|
+
const DEFAULT_GENERATED_DIR_NAME = 'modern-tanstack';
|
|
49
|
+
async function writeFileIfChanged(filePath, content) {
|
|
50
|
+
try {
|
|
51
|
+
const previous = await utils_namespaceObject.fs.pathExists(filePath) ? await utils_namespaceObject.fs.readFile(filePath, 'utf-8') : null;
|
|
52
|
+
if (previous === content) return;
|
|
53
|
+
} catch {}
|
|
54
|
+
await utils_namespaceObject.fs.outputFile(filePath, content, 'utf-8');
|
|
55
|
+
}
|
|
56
|
+
function createRegisterDtsContent(opts) {
|
|
57
|
+
const importStatements = opts.entries.map((entryName, index)=>`import type { router as router${index} } from './${entryName}/router.gen';`).join('\n');
|
|
58
|
+
const routerUnionType = opts.entries.map((_, index)=>`typeof router${index}`).join(' | ');
|
|
59
|
+
const canonicalEntries = Object.entries(opts.canonicalRoutes ?? {});
|
|
60
|
+
const canonicalRoutesAugmentation = canonicalEntries.length > 0 ? `
|
|
61
|
+
declare module '${opts.i18nRuntimeModule || '@modern-js/plugin-i18n/runtime'}' {
|
|
62
|
+
interface UltramodernCanonicalRoutes {
|
|
63
|
+
${canonicalEntries.map(([routePath, paramsType])=>` '${routePath}': ${paramsType};`).join('\n')}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
` : '';
|
|
67
|
+
return `// This file is auto-generated by Modern.js. Do not edit manually.
|
|
68
|
+
|
|
69
|
+
${importStatements}
|
|
70
|
+
|
|
71
|
+
declare module '${opts.runtimeModule}' {
|
|
72
|
+
interface Register {
|
|
73
|
+
router: ${routerUnionType};
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
${canonicalRoutesAugmentation}`;
|
|
77
|
+
}
|
|
78
|
+
async function writeTanstackRegisterFile(opts) {
|
|
79
|
+
const { entries, generatedDirName = DEFAULT_GENERATED_DIR_NAME, runtimeModule = '@modern-js/plugin-tanstack/runtime', srcDirectory, canonicalRoutes, i18nRuntimeModule } = opts;
|
|
80
|
+
if (0 === entries.length) return;
|
|
81
|
+
const registerDtsPath = external_node_path_default().join(srcDirectory, generatedDirName, 'register.gen.d.ts');
|
|
82
|
+
await writeFileIfChanged(registerDtsPath, createRegisterDtsContent({
|
|
83
|
+
entries,
|
|
84
|
+
runtimeModule,
|
|
85
|
+
canonicalRoutes,
|
|
86
|
+
i18nRuntimeModule
|
|
87
|
+
}));
|
|
88
|
+
}
|
|
89
|
+
async function writeTanstackRouterTypesForEntries(opts) {
|
|
90
|
+
const { appContext, generatedDirName = DEFAULT_GENERATED_DIR_NAME, routesByEntry, i18nPluginInstalled = false } = opts;
|
|
91
|
+
const entryNames = Object.keys(routesByEntry);
|
|
92
|
+
await Promise.all(entryNames.map(async (entryName)=>{
|
|
93
|
+
const { routerGenTs } = await (0, external_tanstackTypes_js_namespaceObject.generateTanstackRouterTypesSourceForEntry)({
|
|
94
|
+
appContext,
|
|
95
|
+
entryName,
|
|
96
|
+
generatedDirName,
|
|
97
|
+
routes: routesByEntry[entryName]
|
|
98
|
+
});
|
|
99
|
+
await writeFileIfChanged(external_node_path_default().join(appContext.srcDirectory, generatedDirName, entryName, 'router.gen.ts'), routerGenTs);
|
|
100
|
+
}));
|
|
101
|
+
const mainEntryName = appContext.entrypoints?.find((entrypoint)=>entrypoint.isMainEntry)?.entryName;
|
|
102
|
+
const registerEntries = entryNames.sort((a, b)=>{
|
|
103
|
+
if (mainEntryName && a === mainEntryName) return -1;
|
|
104
|
+
if (mainEntryName && b === mainEntryName) return 1;
|
|
105
|
+
return a.localeCompare(b);
|
|
106
|
+
});
|
|
107
|
+
let canonicalRoutes = null;
|
|
108
|
+
if (i18nPluginInstalled) for (const entryName of registerEntries){
|
|
109
|
+
const entryCanonicalRoutes = (0, external_tanstackTypes_js_namespaceObject.collectCanonicalRoutesForEntry)(routesByEntry[entryName], {
|
|
110
|
+
localeParamHeuristic: true
|
|
111
|
+
});
|
|
112
|
+
if (entryCanonicalRoutes) canonicalRoutes = {
|
|
113
|
+
...entryCanonicalRoutes,
|
|
114
|
+
...canonicalRoutes ?? {}
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
await writeTanstackRegisterFile({
|
|
118
|
+
entries: registerEntries,
|
|
119
|
+
generatedDirName,
|
|
120
|
+
srcDirectory: appContext.srcDirectory,
|
|
121
|
+
canonicalRoutes
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
async function generateTanstackRouteArtifacts(opts) {
|
|
125
|
+
const [{ createRunOptions }, { cli }, utils] = await Promise.all([
|
|
126
|
+
import("@modern-js/app-tools/cli/run"),
|
|
127
|
+
import("@modern-js/plugin/cli"),
|
|
128
|
+
import("@modern-js/utils")
|
|
129
|
+
]);
|
|
130
|
+
process.env.MODERN_ARGV = 'node modern build';
|
|
131
|
+
process.env.NODE_ENV = process.env.NODE_ENV || 'production';
|
|
132
|
+
const { findExists, CONFIG_FILE_EXTENSIONS } = utils;
|
|
133
|
+
const configFileBase = external_node_path_default().resolve(opts.appDirectory, 'modern.config');
|
|
134
|
+
const resolvedConfigFile = findExists(CONFIG_FILE_EXTENSIONS.map((extension)=>`${configFileBase}${extension}`));
|
|
135
|
+
if (!resolvedConfigFile) throw new Error(`[plugin-tanstack] Unable to locate a Modern.js config file (modern.config.{${CONFIG_FILE_EXTENSIONS.map((extension)=>extension.slice(1)).join(',')}}) in ${opts.appDirectory}. TanStack route generation requires the app config to resolve its plugins.`);
|
|
136
|
+
const runOptions = await createRunOptions({
|
|
137
|
+
cwd: opts.appDirectory,
|
|
138
|
+
configFile: configFileBase,
|
|
139
|
+
version: opts.version || process.env.MODERN_JS_VERSION || '0.0.0-routes-generate',
|
|
140
|
+
internalPlugins: utils.INTERNAL_RUNTIME_PLUGINS
|
|
141
|
+
});
|
|
142
|
+
await cli.init({
|
|
143
|
+
...runOptions,
|
|
144
|
+
command: 'build'
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
exports.generateTanstackRouteArtifacts = __webpack_exports__.generateTanstackRouteArtifacts;
|
|
148
|
+
exports.writeTanstackRegisterFile = __webpack_exports__.writeTanstackRegisterFile;
|
|
149
|
+
exports.writeTanstackRouterTypesForEntries = __webpack_exports__.writeTanstackRouterTypesForEntries;
|
|
150
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
151
|
+
"generateTanstackRouteArtifacts",
|
|
152
|
+
"writeTanstackRegisterFile",
|
|
153
|
+
"writeTanstackRouterTypesForEntries"
|
|
154
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
155
|
+
Object.defineProperty(exports, '__esModule', {
|
|
156
|
+
value: true
|
|
157
|
+
});
|
package/dist/cjs/cli/index.js
CHANGED
|
@@ -55,15 +55,17 @@ var __webpack_exports__ = {};
|
|
|
55
55
|
collectCanonicalRoutesForEntry: ()=>external_tanstackTypes_js_namespaceObject.collectCanonicalRoutesForEntry,
|
|
56
56
|
createTanstackRsbuildRouteSplittingProfile: ()=>external_routeSplitting_js_namespaceObject.createTanstackRsbuildRouteSplittingProfile,
|
|
57
57
|
default: ()=>src_cli,
|
|
58
|
+
generateTanstackRouteArtifacts: ()=>external_artifacts_js_namespaceObject.generateTanstackRouteArtifacts,
|
|
58
59
|
generateTanstackRouterTypesSourceForEntry: ()=>external_tanstackTypes_js_namespaceObject.generateTanstackRouterTypesSourceForEntry,
|
|
59
60
|
resolveTanstackRouteCodeSplittingEnabled: ()=>external_routeSplitting_js_namespaceObject.resolveTanstackRouteCodeSplittingEnabled,
|
|
60
61
|
tanstackRouterPlugin: ()=>tanstackRouterPlugin,
|
|
61
|
-
writeTanstackRegisterFile: ()=>writeTanstackRegisterFile,
|
|
62
|
-
writeTanstackRouterTypesForEntries: ()=>writeTanstackRouterTypesForEntries
|
|
62
|
+
writeTanstackRegisterFile: ()=>external_artifacts_js_namespaceObject.writeTanstackRegisterFile,
|
|
63
|
+
writeTanstackRouterTypesForEntries: ()=>external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries
|
|
63
64
|
});
|
|
64
65
|
const external_node_path_namespaceObject = require("node:path");
|
|
65
66
|
var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
|
|
66
67
|
const utils_namespaceObject = require("@modern-js/utils");
|
|
68
|
+
const external_artifacts_js_namespaceObject = require("./artifacts.js");
|
|
67
69
|
const external_routeSplitting_js_namespaceObject = require("./routeSplitting.js");
|
|
68
70
|
const external_tanstackTypes_js_namespaceObject = require("./tanstackTypes.js");
|
|
69
71
|
const DEFAULT_ROUTES_DIR = 'routes';
|
|
@@ -79,81 +81,6 @@ var __webpack_exports__ = {};
|
|
|
79
81
|
}
|
|
80
82
|
throw new Error('@modern-js/plugin-tanstack requires @modern-js/runtime/cli router helper exports.');
|
|
81
83
|
}
|
|
82
|
-
async function writeFileIfChanged(filePath, content) {
|
|
83
|
-
try {
|
|
84
|
-
const previous = await utils_namespaceObject.fs.pathExists(filePath) ? await utils_namespaceObject.fs.readFile(filePath, 'utf-8') : null;
|
|
85
|
-
if (previous === content) return;
|
|
86
|
-
} catch {}
|
|
87
|
-
await utils_namespaceObject.fs.outputFile(filePath, content, 'utf-8');
|
|
88
|
-
}
|
|
89
|
-
function createRegisterDtsContent(opts) {
|
|
90
|
-
const importStatements = opts.entries.map((entryName, index)=>`import type { router as router${index} } from './${entryName}/router.gen';`).join('\n');
|
|
91
|
-
const routerUnionType = opts.entries.map((_, index)=>`typeof router${index}`).join(' | ');
|
|
92
|
-
const canonicalEntries = Object.entries(opts.canonicalRoutes ?? {});
|
|
93
|
-
const canonicalRoutesAugmentation = canonicalEntries.length > 0 ? `
|
|
94
|
-
declare module '${opts.i18nRuntimeModule || '@modern-js/plugin-i18n/runtime'}' {
|
|
95
|
-
interface UltramodernCanonicalRoutes {
|
|
96
|
-
${canonicalEntries.map(([routePath, paramsType])=>` '${routePath}': ${paramsType};`).join('\n')}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
` : '';
|
|
100
|
-
return `// This file is auto-generated by Modern.js. Do not edit manually.
|
|
101
|
-
|
|
102
|
-
${importStatements}
|
|
103
|
-
|
|
104
|
-
declare module '${opts.runtimeModule}' {
|
|
105
|
-
interface Register {
|
|
106
|
-
router: ${routerUnionType};
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
${canonicalRoutesAugmentation}`;
|
|
110
|
-
}
|
|
111
|
-
async function writeTanstackRegisterFile(opts) {
|
|
112
|
-
const { entries, generatedDirName = DEFAULT_GENERATED_DIR_NAME, runtimeModule = '@modern-js/plugin-tanstack/runtime', srcDirectory, canonicalRoutes, i18nRuntimeModule } = opts;
|
|
113
|
-
if (0 === entries.length) return;
|
|
114
|
-
const registerDtsPath = external_node_path_default().join(srcDirectory, generatedDirName, 'register.gen.d.ts');
|
|
115
|
-
await writeFileIfChanged(registerDtsPath, createRegisterDtsContent({
|
|
116
|
-
entries,
|
|
117
|
-
runtimeModule,
|
|
118
|
-
canonicalRoutes,
|
|
119
|
-
i18nRuntimeModule
|
|
120
|
-
}));
|
|
121
|
-
}
|
|
122
|
-
async function writeTanstackRouterTypesForEntries(opts) {
|
|
123
|
-
const { appContext, generatedDirName = DEFAULT_GENERATED_DIR_NAME, routesByEntry, i18nPluginInstalled = false } = opts;
|
|
124
|
-
const entryNames = Object.keys(routesByEntry);
|
|
125
|
-
await Promise.all(entryNames.map(async (entryName)=>{
|
|
126
|
-
const { routerGenTs } = await (0, external_tanstackTypes_js_namespaceObject.generateTanstackRouterTypesSourceForEntry)({
|
|
127
|
-
appContext,
|
|
128
|
-
entryName,
|
|
129
|
-
generatedDirName,
|
|
130
|
-
routes: routesByEntry[entryName]
|
|
131
|
-
});
|
|
132
|
-
await writeFileIfChanged(external_node_path_default().join(appContext.srcDirectory, generatedDirName, entryName, 'router.gen.ts'), routerGenTs);
|
|
133
|
-
}));
|
|
134
|
-
const mainEntryName = appContext.entrypoints?.find((entrypoint)=>entrypoint.isMainEntry)?.entryName;
|
|
135
|
-
const registerEntries = entryNames.sort((a, b)=>{
|
|
136
|
-
if (mainEntryName && a === mainEntryName) return -1;
|
|
137
|
-
if (mainEntryName && b === mainEntryName) return 1;
|
|
138
|
-
return a.localeCompare(b);
|
|
139
|
-
});
|
|
140
|
-
let canonicalRoutes = null;
|
|
141
|
-
if (i18nPluginInstalled) for (const entryName of registerEntries){
|
|
142
|
-
const entryCanonicalRoutes = (0, external_tanstackTypes_js_namespaceObject.collectCanonicalRoutesForEntry)(routesByEntry[entryName], {
|
|
143
|
-
localeParamHeuristic: true
|
|
144
|
-
});
|
|
145
|
-
if (entryCanonicalRoutes) canonicalRoutes = {
|
|
146
|
-
...entryCanonicalRoutes,
|
|
147
|
-
...canonicalRoutes ?? {}
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
await writeTanstackRegisterFile({
|
|
151
|
-
entries: registerEntries,
|
|
152
|
-
generatedDirName,
|
|
153
|
-
srcDirectory: appContext.srcDirectory,
|
|
154
|
-
canonicalRoutes
|
|
155
|
-
});
|
|
156
|
-
}
|
|
157
84
|
function tanstackRouterPlugin(options = {}) {
|
|
158
85
|
const routesDir = options.routesDir || DEFAULT_ROUTES_DIR;
|
|
159
86
|
const generatedDirName = options.generatedDirName || DEFAULT_GENERATED_DIR_NAME;
|
|
@@ -244,7 +171,7 @@ ${canonicalRoutesAugmentation}`;
|
|
|
244
171
|
const routesByEntry = await handleGeneratorEntryCode(api, tanstackEntrypoints, {
|
|
245
172
|
entrypointsKey: ENTRYPOINTS_KEY
|
|
246
173
|
});
|
|
247
|
-
await writeTanstackRouterTypesForEntries({
|
|
174
|
+
await (0, external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries)({
|
|
248
175
|
appContext: api.getAppContext(),
|
|
249
176
|
generatedDirName,
|
|
250
177
|
routesByEntry,
|
|
@@ -264,7 +191,7 @@ ${canonicalRoutesAugmentation}`;
|
|
|
264
191
|
const routesByEntry = await handleGeneratorEntryCode(api, entrypoints, {
|
|
265
192
|
entrypointsKey: ENTRYPOINTS_KEY
|
|
266
193
|
});
|
|
267
|
-
await writeTanstackRouterTypesForEntries({
|
|
194
|
+
await (0, external_artifacts_js_namespaceObject.writeTanstackRouterTypesForEntries)({
|
|
268
195
|
appContext: api.getAppContext(),
|
|
269
196
|
generatedDirName,
|
|
270
197
|
routesByEntry,
|
|
@@ -300,6 +227,7 @@ ${canonicalRoutesAugmentation}`;
|
|
|
300
227
|
exports.collectCanonicalRoutesForEntry = __webpack_exports__.collectCanonicalRoutesForEntry;
|
|
301
228
|
exports.createTanstackRsbuildRouteSplittingProfile = __webpack_exports__.createTanstackRsbuildRouteSplittingProfile;
|
|
302
229
|
exports["default"] = __webpack_exports__["default"];
|
|
230
|
+
exports.generateTanstackRouteArtifacts = __webpack_exports__.generateTanstackRouteArtifacts;
|
|
303
231
|
exports.generateTanstackRouterTypesSourceForEntry = __webpack_exports__.generateTanstackRouterTypesSourceForEntry;
|
|
304
232
|
exports.resolveTanstackRouteCodeSplittingEnabled = __webpack_exports__.resolveTanstackRouteCodeSplittingEnabled;
|
|
305
233
|
exports.tanstackRouterPlugin = __webpack_exports__.tanstackRouterPlugin;
|
|
@@ -309,6 +237,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
309
237
|
"collectCanonicalRoutesForEntry",
|
|
310
238
|
"createTanstackRsbuildRouteSplittingProfile",
|
|
311
239
|
"default",
|
|
240
|
+
"generateTanstackRouteArtifacts",
|
|
312
241
|
"generateTanstackRouterTypesSourceForEntry",
|
|
313
242
|
"resolveTanstackRouteCodeSplittingEnabled",
|
|
314
243
|
"tanstackRouterPlugin",
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
collectCanonicalRoutesForEntry: ()=>collectCanonicalRoutesForEntry
|
|
32
|
+
});
|
|
33
|
+
const external_shared_js_namespaceObject = require("./shared.js");
|
|
34
|
+
const LOCALE_PARAM_SEGMENTS = new Set([
|
|
35
|
+
':lang',
|
|
36
|
+
':locale',
|
|
37
|
+
':language',
|
|
38
|
+
'$lang',
|
|
39
|
+
'$locale',
|
|
40
|
+
'$language'
|
|
41
|
+
]);
|
|
42
|
+
function paramsTypeForCanonicalPath(canonicalPath) {
|
|
43
|
+
const fields = [];
|
|
44
|
+
for (const segment of canonicalPath.split('/'))if (segment) {
|
|
45
|
+
if ('*' === segment || '$' === segment) {
|
|
46
|
+
fields.push("'_splat'?: string");
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (segment.startsWith('{-$') && segment.endsWith('}')) {
|
|
50
|
+
fields.push(`${JSON.stringify(segment.slice(3, -1))}?: string`);
|
|
51
|
+
continue;
|
|
52
|
+
}
|
|
53
|
+
if (segment.startsWith('$')) {
|
|
54
|
+
fields.push(`${JSON.stringify(segment.slice(1))}: string`);
|
|
55
|
+
continue;
|
|
56
|
+
}
|
|
57
|
+
if (segment.startsWith(':')) {
|
|
58
|
+
const optional = segment.endsWith('?');
|
|
59
|
+
const name = segment.slice(1, optional ? void 0 : segment.length);
|
|
60
|
+
fields.push(`${JSON.stringify(optional ? name.slice(0, -1) : name)}${optional ? '?' : ''}: string`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return fields.length > 0 ? `{ ${fields.join('; ')} }` : 'Record<string, never>';
|
|
64
|
+
}
|
|
65
|
+
function collectCanonicalRoutesForEntry(routes, options = {}) {
|
|
66
|
+
const { localeParamHeuristic = true } = options;
|
|
67
|
+
const canonicalParams = new Map();
|
|
68
|
+
let hasI18nSurface = false;
|
|
69
|
+
const normalizeJoined = (joined)=>{
|
|
70
|
+
const collapsed = joined.replace(/\/+/g, '/');
|
|
71
|
+
const withLeading = collapsed.startsWith('/') ? collapsed : `/${collapsed}`;
|
|
72
|
+
return withLeading.length > 1 ? withLeading.replace(/\/+$/, '') : withLeading;
|
|
73
|
+
};
|
|
74
|
+
const record = (canonicalPath)=>{
|
|
75
|
+
const normalized = normalizeJoined(canonicalPath || '/');
|
|
76
|
+
const key = (0, external_shared_js_namespaceObject.toTanstackPath)(normalized);
|
|
77
|
+
if (!canonicalParams.has(key)) canonicalParams.set(key, paramsTypeForCanonicalPath(normalized));
|
|
78
|
+
};
|
|
79
|
+
const visit = (route, parentPath)=>{
|
|
80
|
+
let currentPath = parentPath;
|
|
81
|
+
if ('string' == typeof route.modernCanonicalPath) {
|
|
82
|
+
hasI18nSurface = true;
|
|
83
|
+
currentPath = normalizeJoined(route.modernCanonicalPath);
|
|
84
|
+
} else if ('string' == typeof route.path && route.path.length > 0) {
|
|
85
|
+
const segments = route.path.replace(/\[(.+?)\]/g, ':$1').split('/').filter(Boolean);
|
|
86
|
+
if (localeParamHeuristic && '' === parentPath && LOCALE_PARAM_SEGMENTS.has(segments[0])) {
|
|
87
|
+
hasI18nSurface = true;
|
|
88
|
+
segments.shift();
|
|
89
|
+
}
|
|
90
|
+
currentPath = segments.length ? normalizeJoined(`${parentPath}/${segments.join('/')}`) : parentPath;
|
|
91
|
+
}
|
|
92
|
+
const children = route.children;
|
|
93
|
+
if (children && children.length > 0) {
|
|
94
|
+
for (const child of children)visit(child, currentPath);
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
record(currentPath || '/');
|
|
98
|
+
};
|
|
99
|
+
const rootModern = routes.find((route)=>route.isRoot);
|
|
100
|
+
const topLevel = rootModern ? rootModern.children ?? [] : routes;
|
|
101
|
+
for (const route of topLevel)visit(route, '');
|
|
102
|
+
if (!hasI18nSurface || 0 === canonicalParams.size) return null;
|
|
103
|
+
return Object.fromEntries([
|
|
104
|
+
...canonicalParams.entries()
|
|
105
|
+
].sort(([a], [b])=>a.localeCompare(b)));
|
|
106
|
+
}
|
|
107
|
+
exports.collectCanonicalRoutesForEntry = __webpack_exports__.collectCanonicalRoutesForEntry;
|
|
108
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
109
|
+
"collectCanonicalRoutesForEntry"
|
|
110
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
111
|
+
Object.defineProperty(exports, '__esModule', {
|
|
112
|
+
value: true
|
|
113
|
+
});
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __webpack_require__ = {};
|
|
3
|
+
(()=>{
|
|
4
|
+
__webpack_require__.d = (exports1, getters, values)=>{
|
|
5
|
+
var define = (defs, kind)=>{
|
|
6
|
+
for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
|
|
7
|
+
enumerable: true,
|
|
8
|
+
[kind]: defs[key]
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
define(getters, "get");
|
|
12
|
+
define(values, "value");
|
|
13
|
+
};
|
|
14
|
+
})();
|
|
15
|
+
(()=>{
|
|
16
|
+
__webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
|
|
17
|
+
})();
|
|
18
|
+
(()=>{
|
|
19
|
+
__webpack_require__.r = (exports1)=>{
|
|
20
|
+
if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
|
|
21
|
+
value: 'Module'
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(exports1, '__esModule', {
|
|
24
|
+
value: true
|
|
25
|
+
});
|
|
26
|
+
};
|
|
27
|
+
})();
|
|
28
|
+
var __webpack_exports__ = {};
|
|
29
|
+
__webpack_require__.r(__webpack_exports__);
|
|
30
|
+
__webpack_require__.d(__webpack_exports__, {
|
|
31
|
+
createRouteStaticDataSnippet: ()=>createRouteStaticDataSnippet,
|
|
32
|
+
isIndexRoute: ()=>isIndexRoute,
|
|
33
|
+
isPathlessLayout: ()=>isPathlessLayout,
|
|
34
|
+
normalizeRelativeImport: ()=>normalizeRelativeImport,
|
|
35
|
+
pickModernLoaderModule: ()=>pickModernLoaderModule,
|
|
36
|
+
pickRouteSearchContractModules: ()=>pickRouteSearchContractModules,
|
|
37
|
+
quote: ()=>quote,
|
|
38
|
+
resolveFileNoExt: ()=>resolveFileNoExt,
|
|
39
|
+
toTanstackPath: ()=>paths_js_namespaceObject.toTanstackPath
|
|
40
|
+
});
|
|
41
|
+
const cli_namespaceObject = require("@modern-js/runtime/cli");
|
|
42
|
+
const utils_namespaceObject = require("@modern-js/utils");
|
|
43
|
+
const paths_js_namespaceObject = require("../../runtime/routeTree/paths.js");
|
|
44
|
+
const JS_OR_TS_EXTS = [
|
|
45
|
+
'.js',
|
|
46
|
+
'.jsx',
|
|
47
|
+
'.ts',
|
|
48
|
+
'.tsx',
|
|
49
|
+
'.mjs',
|
|
50
|
+
'.mts',
|
|
51
|
+
'.cjs',
|
|
52
|
+
'.cts'
|
|
53
|
+
];
|
|
54
|
+
async function resolveFileNoExt(inputNoExtPath) {
|
|
55
|
+
const file = (0, utils_namespaceObject.findExists)(JS_OR_TS_EXTS.map((ext)=>`${inputNoExtPath}${ext}`));
|
|
56
|
+
return file ? (0, cli_namespaceObject.getPathWithoutExt)(file) : null;
|
|
57
|
+
}
|
|
58
|
+
function quote(str) {
|
|
59
|
+
return JSON.stringify(str);
|
|
60
|
+
}
|
|
61
|
+
function normalizeRelativeImport(p) {
|
|
62
|
+
const normalized = (0, utils_namespaceObject.formatImportPath)((0, utils_namespaceObject.slash)(p));
|
|
63
|
+
if (normalized.startsWith('.')) return normalized;
|
|
64
|
+
return `./${normalized}`;
|
|
65
|
+
}
|
|
66
|
+
function pickModernLoaderModule(route) {
|
|
67
|
+
const extras = route;
|
|
68
|
+
const loaderPath = extras.data || extras.loader;
|
|
69
|
+
if (!loaderPath || 'string' != typeof loaderPath) return null;
|
|
70
|
+
const inline = Boolean(extras.data);
|
|
71
|
+
return {
|
|
72
|
+
loaderPath,
|
|
73
|
+
inline
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function pickRouteSearchContractModules(route) {
|
|
77
|
+
const extras = route;
|
|
78
|
+
const validateSearchPath = extras.validateSearch;
|
|
79
|
+
const loaderDepsPath = extras.loaderDeps;
|
|
80
|
+
return {
|
|
81
|
+
validateSearchPath: 'string' == typeof validateSearchPath ? validateSearchPath : null,
|
|
82
|
+
loaderDepsPath: 'string' == typeof loaderDepsPath ? loaderDepsPath : null
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
function isPathlessLayout(route) {
|
|
86
|
+
const extras = route;
|
|
87
|
+
return 'nested' === extras.type && 'boolean' != typeof extras.index && void 0 === extras.path;
|
|
88
|
+
}
|
|
89
|
+
function isIndexRoute(route) {
|
|
90
|
+
const extras = route;
|
|
91
|
+
return 'nested' === extras.type && Boolean(extras.index);
|
|
92
|
+
}
|
|
93
|
+
function createRouteStaticDataSnippet(opts) {
|
|
94
|
+
const staticDataLines = [];
|
|
95
|
+
if (opts.modernRouteId) staticDataLines.push(`modernRouteId: ${quote(opts.modernRouteId)},`);
|
|
96
|
+
if (opts.loaderName) staticDataLines.push(`modernRouteLoader: ${opts.loaderName},`);
|
|
97
|
+
if (opts.actionName) staticDataLines.push(`modernRouteAction: ${opts.actionName},`);
|
|
98
|
+
if (!staticDataLines.length) return null;
|
|
99
|
+
return `staticData: createRouteStaticData({\n ${staticDataLines.join('\n ')}\n }),`;
|
|
100
|
+
}
|
|
101
|
+
exports.createRouteStaticDataSnippet = __webpack_exports__.createRouteStaticDataSnippet;
|
|
102
|
+
exports.isIndexRoute = __webpack_exports__.isIndexRoute;
|
|
103
|
+
exports.isPathlessLayout = __webpack_exports__.isPathlessLayout;
|
|
104
|
+
exports.normalizeRelativeImport = __webpack_exports__.normalizeRelativeImport;
|
|
105
|
+
exports.pickModernLoaderModule = __webpack_exports__.pickModernLoaderModule;
|
|
106
|
+
exports.pickRouteSearchContractModules = __webpack_exports__.pickRouteSearchContractModules;
|
|
107
|
+
exports.quote = __webpack_exports__.quote;
|
|
108
|
+
exports.resolveFileNoExt = __webpack_exports__.resolveFileNoExt;
|
|
109
|
+
exports.toTanstackPath = __webpack_exports__.toTanstackPath;
|
|
110
|
+
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
111
|
+
"createRouteStaticDataSnippet",
|
|
112
|
+
"isIndexRoute",
|
|
113
|
+
"isPathlessLayout",
|
|
114
|
+
"normalizeRelativeImport",
|
|
115
|
+
"pickModernLoaderModule",
|
|
116
|
+
"pickRouteSearchContractModules",
|
|
117
|
+
"quote",
|
|
118
|
+
"resolveFileNoExt",
|
|
119
|
+
"toTanstackPath"
|
|
120
|
+
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
121
|
+
Object.defineProperty(exports, '__esModule', {
|
|
122
|
+
value: true
|
|
123
|
+
});
|