@bleedingdev/modern-js-runtime 3.5.0-ultramodern.5 → 3.5.0-ultramodern.75
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/boundary-debugger/index.js +13 -3
- package/dist/cjs/cli/registry.js +18 -0
- package/dist/cjs/cli/ssr/index.js +3 -2
- package/dist/cjs/cli/ssr/loadable-bundler-plugin.js +8 -4
- package/dist/cjs/core/browser/hydrate.js +16 -2
- package/dist/cjs/core/browser/index.js +15 -3
- package/dist/cjs/core/context/index.js +3 -0
- package/dist/cjs/core/context/public.js +49 -0
- package/dist/cjs/core/context/runtime.js +6 -8
- package/dist/cjs/core/react/wrapper.js +57 -0
- package/dist/cjs/core/server/federatedCss.js +7 -3
- package/dist/cjs/core/server/requestHandler.js +15 -45
- package/dist/cjs/core/server/requestResponse.js +83 -0
- package/dist/cjs/core/server/routerCleanup.js +16 -6
- package/dist/cjs/core/server/scriptOrder.js +13 -10
- package/dist/cjs/core/server/stream/afterTemplate.js +9 -5
- package/dist/cjs/core/server/stream/template.js +3 -3
- package/dist/cjs/core/server/string/loadable.js +3 -11
- package/dist/cjs/index.js +7 -6
- package/dist/cjs/module-federation/consume-surface.js +199 -0
- package/dist/cjs/module-federation/distributed-ssr.js +134 -0
- package/dist/cjs/module-federation/index.js +258 -120
- package/dist/cjs/module-federation/last-known-good.js +124 -0
- package/dist/cjs/module-federation/manifest-recovery-runtime-plugin.js +140 -0
- package/dist/cjs/module-federation/surface-resolution-types.js +61 -0
- package/dist/cjs/router/cli/code/nestedRoutes.js +3 -0
- package/dist/cjs/router/cli/code/templates.js +3 -2
- package/dist/cjs/router/cli/constants.js +1 -0
- package/dist/cjs/router/cli/nestedRoutesSpec.js +3 -1
- package/dist/cjs/router/runtime/hooks.js +7 -6
- package/dist/cjs/router/runtime/internal.js +30 -16
- package/dist/cjs/router/runtime/plugin.js +6 -7
- package/dist/cjs/router/runtime/provider.js +58 -12
- package/dist/esm/boundary-debugger/index.mjs +13 -3
- package/dist/esm/cli/code.mjs +12 -12
- package/dist/esm/cli/registry.mjs +0 -0
- package/dist/esm/cli/ssr/index.mjs +3 -2
- package/dist/esm/cli/ssr/loadable-bundler-plugin.mjs +8 -4
- package/dist/esm/core/browser/hydrate.mjs +15 -4
- package/dist/esm/core/browser/index.mjs +11 -5
- package/dist/esm/core/context/index.mjs +1 -1
- package/dist/esm/core/context/public.mjs +5 -0
- package/dist/esm/core/context/runtime.mjs +4 -6
- package/dist/esm/core/react/wrapper.mjs +58 -1
- package/dist/esm/core/server/federatedCss.mjs +7 -3
- package/dist/esm/core/server/requestHandler.mjs +15 -45
- package/dist/esm/core/server/requestResponse.mjs +39 -0
- package/dist/esm/core/server/routerCleanup.mjs +11 -4
- package/dist/esm/core/server/scriptOrder.mjs +11 -8
- package/dist/esm/core/server/stream/afterTemplate.mjs +10 -6
- package/dist/esm/core/server/stream/template.mjs +3 -3
- package/dist/esm/core/server/string/loadable.mjs +3 -8
- package/dist/esm/exports/loadable.mjs +3 -3
- package/dist/esm/index.mjs +2 -1
- package/dist/esm/module-federation/consume-surface.mjs +158 -0
- package/dist/esm/module-federation/distributed-ssr.mjs +81 -0
- package/dist/esm/module-federation/index.mjs +6 -0
- package/dist/esm/module-federation/last-known-good.mjs +80 -0
- package/dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs +100 -0
- package/dist/esm/module-federation/surface-resolution-types.mjs +8 -0
- package/dist/esm/router/cli/code/index.mjs +5 -5
- package/dist/esm/router/cli/code/nestedRoutes.mjs +3 -0
- package/dist/esm/router/cli/code/templates.mjs +3 -2
- package/dist/esm/router/cli/constants.mjs +1 -0
- package/dist/esm/router/cli/handler.mjs +3 -3
- package/dist/esm/router/cli/nestedRoutesSpec.mjs +3 -1
- package/dist/esm/router/runtime/hooks.mjs +7 -6
- package/dist/esm/router/runtime/internal.mjs +26 -18
- package/dist/esm/router/runtime/plugin.mjs +6 -7
- package/dist/esm/router/runtime/provider.mjs +56 -13
- package/dist/esm-node/boundary-debugger/index.mjs +13 -3
- package/dist/esm-node/cli/code.mjs +12 -12
- package/dist/esm-node/cli/registry.mjs +1 -0
- package/dist/esm-node/cli/ssr/index.mjs +3 -2
- package/dist/esm-node/cli/ssr/loadable-bundler-plugin.mjs +8 -4
- package/dist/esm-node/core/browser/hydrate.mjs +15 -4
- package/dist/esm-node/core/browser/index.mjs +11 -5
- package/dist/esm-node/core/context/index.mjs +1 -1
- package/dist/esm-node/core/context/public.mjs +6 -0
- package/dist/esm-node/core/context/runtime.mjs +4 -6
- package/dist/esm-node/core/react/wrapper.mjs +58 -1
- package/dist/esm-node/core/server/federatedCss.mjs +7 -3
- package/dist/esm-node/core/server/requestHandler.mjs +15 -45
- package/dist/esm-node/core/server/requestResponse.mjs +40 -0
- package/dist/esm-node/core/server/routerCleanup.mjs +11 -4
- package/dist/esm-node/core/server/scriptOrder.mjs +11 -8
- package/dist/esm-node/core/server/stream/afterTemplate.mjs +10 -6
- package/dist/esm-node/core/server/stream/template.mjs +3 -3
- package/dist/esm-node/core/server/string/loadable.mjs +3 -8
- package/dist/esm-node/exports/loadable.mjs +3 -3
- package/dist/esm-node/index.mjs +2 -1
- package/dist/esm-node/module-federation/consume-surface.mjs +159 -0
- package/dist/esm-node/module-federation/distributed-ssr.mjs +82 -0
- package/dist/esm-node/module-federation/index.mjs +6 -0
- package/dist/esm-node/module-federation/last-known-good.mjs +81 -0
- package/dist/esm-node/module-federation/manifest-recovery-runtime-plugin.mjs +101 -0
- package/dist/esm-node/module-federation/surface-resolution-types.mjs +9 -0
- package/dist/esm-node/router/cli/code/index.mjs +5 -5
- package/dist/esm-node/router/cli/code/nestedRoutes.mjs +3 -0
- package/dist/esm-node/router/cli/code/templates.mjs +3 -2
- package/dist/esm-node/router/cli/constants.mjs +1 -0
- package/dist/esm-node/router/cli/handler.mjs +3 -3
- package/dist/esm-node/router/cli/nestedRoutesSpec.mjs +3 -1
- package/dist/esm-node/router/runtime/hooks.mjs +7 -6
- package/dist/esm-node/router/runtime/internal.mjs +26 -18
- package/dist/esm-node/router/runtime/plugin.mjs +6 -7
- package/dist/esm-node/router/runtime/provider.mjs +56 -13
- package/dist/types/boundary-debugger/index.d.ts +1 -1
- package/dist/types/cli/registry.d.ts +2 -0
- package/dist/types/common.d.ts +8 -1
- package/dist/types/core/browser/hydrate.d.ts +2 -1
- package/dist/types/core/browser/index.d.ts +4 -0
- package/dist/types/core/context/index.d.ts +26 -10
- package/dist/types/core/context/monitors/default.d.ts +10 -2
- package/dist/types/core/context/monitors/index.d.ts +1 -1
- package/dist/types/core/context/monitors/index.server.d.ts +2 -2
- package/dist/types/core/context/public.d.ts +27 -0
- package/dist/types/core/context/runtime.d.ts +12 -22
- package/dist/types/core/react/index.d.ts +1 -1
- package/dist/types/core/server/requestResponse.d.ts +15 -0
- package/dist/types/core/server/routerCleanup.d.ts +2 -1
- package/dist/types/core/server/scriptOrder.d.ts +1 -1
- package/dist/types/core/server/stream/shared.d.ts +2 -2
- package/dist/types/core/server/string/loadable.d.ts +0 -2
- package/dist/types/exports/head.d.ts +1 -1
- package/dist/types/index.d.ts +5 -5
- package/dist/types/internal.d.ts +0 -1
- package/dist/types/module-federation/consume-surface.d.ts +104 -0
- package/dist/types/module-federation/distributed-ssr.d.ts +61 -0
- package/dist/types/module-federation/index.d.ts +6 -0
- package/dist/types/module-federation/last-known-good.d.ts +72 -0
- package/dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts +25 -0
- package/dist/types/module-federation/surface-resolution-types.d.ts +23 -0
- package/dist/types/router/cli/constants.d.ts +1 -0
- package/dist/types/router/runtime/hooks.d.ts +10 -6
- package/dist/types/router/runtime/internal.d.ts +13 -3
- package/dist/types/router/runtime/plugin.d.ts +1 -1
- package/dist/types/router/runtime/plugin.node.d.ts +1 -1
- package/dist/types/router/runtime/provider.d.ts +28 -11
- package/dist/types/router/runtime/types.d.ts +27 -5
- package/package.json +46 -27
- package/dist/cjs/exports/tanstack-router.js +0 -83
- package/dist/esm/exports/tanstack-router.mjs +0 -30
- package/dist/esm-node/exports/tanstack-router.mjs +0 -31
- package/dist/types/exports/tanstack-router.d.ts +0 -88
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { RuntimePlugin } from '../../common';
|
|
2
2
|
import type { RouterExtendsHooks } from './hooks';
|
|
3
3
|
import type { RouterConfig, Routes } from './types';
|
|
4
4
|
export declare let finalRouteConfig: RouterConfig['routesConfig'];
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { RuntimePlugin } from '../../
|
|
1
|
+
import type { RuntimePlugin } from '../../common';
|
|
2
2
|
import type { RouterExtendsHooks } from './hooks';
|
|
3
3
|
import type { RouterConfig } from './types';
|
|
4
4
|
export declare const routerPlugin: (userConfig?: Partial<RouterConfig>) => RuntimePlugin<{
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
* - `@modern-js/plugin-tanstack` registers the `tanstack` provider when its
|
|
12
12
|
* runtime entry is imported.
|
|
13
13
|
*/
|
|
14
|
-
import type { RuntimePlugin } from '../../
|
|
14
|
+
import type { RuntimePlugin } from '../../common';
|
|
15
15
|
import type { RouterExtendsHooks } from './hooks';
|
|
16
16
|
import type { RouterConfig } from './types';
|
|
17
17
|
/**
|
|
@@ -35,19 +35,36 @@ export declare function reportUnsupportedProviderRegistryHooks(providerPlugin: {
|
|
|
35
35
|
registryHooks?: Record<string, unknown>;
|
|
36
36
|
}): string[];
|
|
37
37
|
export type RouterProviderFactory = (userConfig: Partial<RouterConfig>) => RouterProviderPlugin;
|
|
38
|
+
export type RouterProviderRegistration = {
|
|
39
|
+
name: string;
|
|
40
|
+
factory: RouterProviderFactory;
|
|
41
|
+
isDefault?: boolean;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* App-owned provider catalog. Provider factories close over their module graph,
|
|
45
|
+
* so they must be resolved from the runtime wrapper that owns the app instead
|
|
46
|
+
* of from a page-global first-registration winner.
|
|
47
|
+
*/
|
|
48
|
+
export type RouterProviderRealm = Readonly<{
|
|
49
|
+
defaultProvider?: string;
|
|
50
|
+
get: (name: string) => RouterProviderFactory | undefined;
|
|
51
|
+
names: () => readonly string[];
|
|
52
|
+
}>;
|
|
53
|
+
export declare function createRouterProviderRealm(registrations: readonly RouterProviderRegistration[]): RouterProviderRealm;
|
|
38
54
|
export declare function registerRouterProvider(name: string, factory: RouterProviderFactory, options?: {
|
|
39
55
|
isDefault?: boolean;
|
|
40
56
|
}): void;
|
|
41
57
|
export declare function resolveRouterProvider(framework?: RouterConfig['framework'], options?: {
|
|
42
58
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
*
|
|
50
|
-
*
|
|
59
|
+
* Provider factories owned by the resolving app/runtime wrapper. A realm
|
|
60
|
+
* is the exclusive provider source when supplied because its factories
|
|
61
|
+
* close over the correct app module graph.
|
|
62
|
+
*/
|
|
63
|
+
realm?: RouterProviderRealm;
|
|
64
|
+
/**
|
|
65
|
+
* Legacy single-provider override retained for published wrappers. New
|
|
66
|
+
* integrations should pass an app-owned `realm`, which supports every
|
|
67
|
+
* provider rather than only the default.
|
|
51
68
|
*/
|
|
52
69
|
localDefault?: {
|
|
53
70
|
name: string;
|
|
@@ -55,7 +72,7 @@ export declare function resolveRouterProvider(framework?: RouterConfig['framewor
|
|
|
55
72
|
};
|
|
56
73
|
}): RouterProviderFactory;
|
|
57
74
|
/**
|
|
58
|
-
* Test-only escape hatch:
|
|
59
|
-
* need a way to restore a pristine state between cases.
|
|
75
|
+
* Test-only escape hatch: compatibility registries live on `globalThis`, so
|
|
76
|
+
* unit tests need a way to restore a pristine state between cases.
|
|
60
77
|
*/
|
|
61
78
|
export declare function unsafe_resetRouterProvidersForTesting(): void;
|
|
@@ -1,6 +1,12 @@
|
|
|
1
|
-
import type { RequestContext } from '@modern-js/runtime-utils/node';
|
|
2
1
|
import type { Params, RouteObject, RouteProps } from '@modern-js/runtime-utils/router';
|
|
3
|
-
|
|
2
|
+
export type ModernRoute = {
|
|
3
|
+
type: 'nested' | 'page';
|
|
4
|
+
path?: string;
|
|
5
|
+
id?: string;
|
|
6
|
+
component?: React.ComponentType | string;
|
|
7
|
+
children?: ModernRoute[];
|
|
8
|
+
[key: string]: any;
|
|
9
|
+
};
|
|
4
10
|
export type SingleRouteConfig = RouteProps & {
|
|
5
11
|
redirect?: string;
|
|
6
12
|
routes?: SingleRouteConfig[];
|
|
@@ -19,13 +25,13 @@ export type RouterFramework = BuiltInRouterFramework | (string & {});
|
|
|
19
25
|
export type RouterConfig = {
|
|
20
26
|
/**
|
|
21
27
|
* Select the router implementation used by Modern.js conventional routing.
|
|
22
|
-
* - `react-router` (default): React Router
|
|
28
|
+
* - `react-router` (default): React Router based integration
|
|
23
29
|
* - `tanstack`: TanStack Router integration
|
|
24
30
|
*/
|
|
25
31
|
framework?: RouterFramework;
|
|
26
32
|
routesConfig: {
|
|
27
33
|
globalApp?: React.ComponentType<any>;
|
|
28
|
-
routes?:
|
|
34
|
+
routes?: ModernRoute[];
|
|
29
35
|
};
|
|
30
36
|
/**
|
|
31
37
|
* You should not use it
|
|
@@ -108,12 +114,28 @@ export type ModernRouteObject = RouteObject & {
|
|
|
108
114
|
component?: React.ComponentType | LazyComponentDescriptor;
|
|
109
115
|
entryCssFiles?: string[];
|
|
110
116
|
};
|
|
117
|
+
type LoaderContextKey<T = unknown> = {
|
|
118
|
+
symbol: symbol;
|
|
119
|
+
getDefaultValue: () => T;
|
|
120
|
+
};
|
|
121
|
+
interface LoaderRequestGet<P extends Record<string, unknown>> {
|
|
122
|
+
<Key extends keyof P>(key: Key): P[Key];
|
|
123
|
+
<T>(key: LoaderContextKey<T>): T;
|
|
124
|
+
}
|
|
125
|
+
interface LoaderRequestSet<P extends Record<string, unknown>> {
|
|
126
|
+
<Key extends keyof P>(key: Key, value: P[Key]): void;
|
|
127
|
+
<T>(key: LoaderContextKey<T>, value: T): void;
|
|
128
|
+
}
|
|
129
|
+
type LoaderRequestContext<P extends Record<string, unknown> = {}> = {
|
|
130
|
+
get: LoaderRequestGet<P & Record<string, unknown>>;
|
|
131
|
+
set: LoaderRequestSet<P & Record<string, unknown>>;
|
|
132
|
+
};
|
|
111
133
|
interface DataFunctionArgs<D = any> {
|
|
112
134
|
request: Request;
|
|
113
135
|
params: Params;
|
|
114
136
|
context?: D;
|
|
115
137
|
}
|
|
116
|
-
export type LoaderFunctionArgs<P extends Record<string, unknown> = Record<string, unknown>> = DataFunctionArgs<
|
|
138
|
+
export type LoaderFunctionArgs<P extends Record<string, unknown> = Record<string, unknown>> = DataFunctionArgs<LoaderRequestContext<P>>;
|
|
117
139
|
declare type DataFunctionValue = Response | NonNullable<unknown> | null;
|
|
118
140
|
export type LoaderFunction = <P extends Record<string, unknown> = Record<string, unknown>>(args: LoaderFunctionArgs<P>) => Promise<DataFunctionValue> | DataFunctionValue;
|
|
119
141
|
export {};
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.5.0-ultramodern.
|
|
20
|
+
"version": "3.5.0-ultramodern.75",
|
|
21
21
|
"engines": {
|
|
22
22
|
"node": ">=20"
|
|
23
23
|
},
|
|
@@ -55,6 +55,12 @@
|
|
|
55
55
|
"types": "./dist/types/core/browser/index.d.ts",
|
|
56
56
|
"default": "./dist/esm/core/browser/index.mjs"
|
|
57
57
|
},
|
|
58
|
+
"./registry": {
|
|
59
|
+
"types": "./dist/types/cli/registry.d.ts"
|
|
60
|
+
},
|
|
61
|
+
"./registry/*": {
|
|
62
|
+
"types": "./dist/types/cli/registry.d.ts"
|
|
63
|
+
},
|
|
58
64
|
"./loadable": {
|
|
59
65
|
"types": "./dist/types/exports/loadable.d.ts",
|
|
60
66
|
"default": "./dist/esm/exports/loadable.mjs"
|
|
@@ -71,6 +77,18 @@
|
|
|
71
77
|
"types": "./dist/types/module-federation/index.d.ts",
|
|
72
78
|
"default": "./dist/esm/module-federation/index.mjs"
|
|
73
79
|
},
|
|
80
|
+
"./module-federation/distributed-ssr": {
|
|
81
|
+
"types": "./dist/types/module-federation/distributed-ssr.d.ts",
|
|
82
|
+
"default": "./dist/esm/module-federation/distributed-ssr.mjs"
|
|
83
|
+
},
|
|
84
|
+
"./module-federation/manifest-recovery-runtime-plugin": {
|
|
85
|
+
"types": "./dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts",
|
|
86
|
+
"node": {
|
|
87
|
+
"import": "./dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs",
|
|
88
|
+
"require": "./dist/cjs/module-federation/manifest-recovery-runtime-plugin.js"
|
|
89
|
+
},
|
|
90
|
+
"default": "./dist/esm/module-federation/manifest-recovery-runtime-plugin.mjs"
|
|
91
|
+
},
|
|
74
92
|
"./ssr": {
|
|
75
93
|
"types": "./dist/types/core/server/index.d.ts",
|
|
76
94
|
"default": "./dist/esm/core/server/index.mjs"
|
|
@@ -99,10 +117,6 @@
|
|
|
99
117
|
},
|
|
100
118
|
"default": "./dist/esm/router/index.mjs"
|
|
101
119
|
},
|
|
102
|
-
"./tanstack-router": {
|
|
103
|
-
"types": "./dist/types/exports/tanstack-router.d.ts",
|
|
104
|
-
"default": "./dist/esm/exports/tanstack-router.mjs"
|
|
105
|
-
},
|
|
106
120
|
"./router/server": {
|
|
107
121
|
"types": "./dist/types/router/runtime/server.d.ts",
|
|
108
122
|
"default": "./dist/esm/router/runtime/server.mjs"
|
|
@@ -173,6 +187,12 @@
|
|
|
173
187
|
"browser": [
|
|
174
188
|
"./dist/types/core/browser/index.d.ts"
|
|
175
189
|
],
|
|
190
|
+
"registry": [
|
|
191
|
+
"./dist/types/cli/registry.d.ts"
|
|
192
|
+
],
|
|
193
|
+
"registry/*": [
|
|
194
|
+
"./dist/types/cli/registry.d.ts"
|
|
195
|
+
],
|
|
176
196
|
"head": [
|
|
177
197
|
"./dist/types/exports/head.d.ts"
|
|
178
198
|
],
|
|
@@ -182,6 +202,9 @@
|
|
|
182
202
|
"module-federation": [
|
|
183
203
|
"./dist/types/module-federation/index.d.ts"
|
|
184
204
|
],
|
|
205
|
+
"module-federation/manifest-recovery-runtime-plugin": [
|
|
206
|
+
"./dist/types/module-federation/manifest-recovery-runtime-plugin.d.ts"
|
|
207
|
+
],
|
|
185
208
|
"document": [
|
|
186
209
|
"./dist/types/document/index.d.ts"
|
|
187
210
|
],
|
|
@@ -194,9 +217,6 @@
|
|
|
194
217
|
"router": [
|
|
195
218
|
"./dist/types/router/index.d.ts"
|
|
196
219
|
],
|
|
197
|
-
"tanstack-router": [
|
|
198
|
-
"./dist/types/exports/tanstack-router.d.ts"
|
|
199
|
-
],
|
|
200
220
|
"router/server": [
|
|
201
221
|
"./dist/types/router/runtime/server.d.ts"
|
|
202
222
|
],
|
|
@@ -226,51 +246,50 @@
|
|
|
226
246
|
"dependencies": {
|
|
227
247
|
"@loadable/component": "5.16.7",
|
|
228
248
|
"@loadable/server": "5.16.7",
|
|
249
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.75",
|
|
250
|
+
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.75",
|
|
251
|
+
"@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.75",
|
|
252
|
+
"@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.75",
|
|
253
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.75",
|
|
254
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.75",
|
|
229
255
|
"@swc/core": "1.15.43",
|
|
230
256
|
"@swc/helpers": "^0.5.23",
|
|
231
|
-
"@swc/plugin-loadable-components": "^11.
|
|
257
|
+
"@swc/plugin-loadable-components": "^11.15.0",
|
|
232
258
|
"@types/loadable__component": "^5.13.10",
|
|
233
259
|
"@types/react-helmet": "^6.1.11",
|
|
234
|
-
"cookie": "2.0.
|
|
260
|
+
"cookie": "2.0.1",
|
|
235
261
|
"entities": "^8.0.0",
|
|
236
|
-
"es-module-lexer": "^2.
|
|
262
|
+
"es-module-lexer": "^2.3.0",
|
|
237
263
|
"esbuild": "^0.28.1",
|
|
238
264
|
"invariant": "^2.2.4",
|
|
239
|
-
"isbot": "5.
|
|
265
|
+
"isbot": "5.2.0",
|
|
240
266
|
"react-helmet": "^6.1.0",
|
|
241
267
|
"react-helmet-async": "3.0.0",
|
|
242
|
-
"react-is": "^19.2.7"
|
|
243
|
-
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.5.0-ultramodern.5",
|
|
244
|
-
"@modern-js/runtime-utils": "npm:@bleedingdev/modern-js-runtime-utils@3.5.0-ultramodern.5",
|
|
245
|
-
"@modern-js/render": "npm:@bleedingdev/modern-js-render@3.5.0-ultramodern.5",
|
|
246
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.5.0-ultramodern.5",
|
|
247
|
-
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.5.0-ultramodern.5",
|
|
248
|
-
"@modern-js/plugin-data-loader": "npm:@bleedingdev/modern-js-plugin-data-loader@3.5.0-ultramodern.5"
|
|
268
|
+
"react-is": "^19.2.7"
|
|
249
269
|
},
|
|
250
270
|
"peerDependencies": {
|
|
251
271
|
"react": "^19.2.7",
|
|
252
272
|
"react-dom": "^19.2.7"
|
|
253
273
|
},
|
|
254
274
|
"devDependencies": {
|
|
275
|
+
"@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.75",
|
|
255
276
|
"@remix-run/web-fetch": "^4.4.2",
|
|
256
|
-
"@rsbuild/core": "2.1.
|
|
257
|
-
"@rslib/core": "0.23.
|
|
277
|
+
"@rsbuild/core": "2.1.5",
|
|
278
|
+
"@rslib/core": "0.23.2",
|
|
279
|
+
"@scripts/rstest-config": "2.66.0",
|
|
258
280
|
"@testing-library/dom": "^10.4.1",
|
|
259
281
|
"@testing-library/react": "^16.3.2",
|
|
260
282
|
"@types/invariant": "^2.2.37",
|
|
261
283
|
"@types/loadable__server": "5.12.11",
|
|
262
|
-
"@types/node": "^26.
|
|
263
|
-
"@typescript/native-preview": "7.0.0-dev.
|
|
284
|
+
"@types/node": "^26.1.1",
|
|
285
|
+
"@typescript/native-preview": "7.0.0-dev.20260707.2",
|
|
264
286
|
"react": "^19.2.7",
|
|
265
287
|
"react-dom": "^19.2.7",
|
|
266
288
|
"ts-node": "^10.9.2",
|
|
267
|
-
"typescript": "^
|
|
268
|
-
"@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.5.0-ultramodern.5",
|
|
269
|
-
"@scripts/rstest-config": "2.66.0"
|
|
289
|
+
"typescript": "^7.0.2"
|
|
270
290
|
},
|
|
271
291
|
"sideEffects": false,
|
|
272
292
|
"publishConfig": {
|
|
273
|
-
"registry": "https://registry.npmjs.org/",
|
|
274
293
|
"access": "public"
|
|
275
294
|
},
|
|
276
295
|
"scripts": {
|
|
@@ -1,83 +0,0 @@
|
|
|
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
|
-
Form: ()=>Form,
|
|
32
|
-
Link: ()=>Link,
|
|
33
|
-
NavLink: ()=>NavLink,
|
|
34
|
-
Outlet: ()=>Outlet,
|
|
35
|
-
RouteActionResponseError: ()=>RouteActionResponseError,
|
|
36
|
-
useFetcher: ()=>useFetcher
|
|
37
|
-
});
|
|
38
|
-
const external_react_namespaceObject = require("react");
|
|
39
|
-
const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
|
|
40
|
-
function readCompatBindings() {
|
|
41
|
-
return globalThis[COMPAT_BINDINGS_SLOT];
|
|
42
|
-
}
|
|
43
|
-
function resolveCompatBindings(exportName) {
|
|
44
|
-
const bindings = readCompatBindings();
|
|
45
|
-
if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
|
|
46
|
-
return bindings;
|
|
47
|
-
}
|
|
48
|
-
const Link = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Link').Link, props);
|
|
49
|
-
const NavLink = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('NavLink').NavLink, props);
|
|
50
|
-
const Outlet = ()=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Outlet').Outlet);
|
|
51
|
-
const Form = (props)=>(0, external_react_namespaceObject.createElement)(resolveCompatBindings('Form').Form, props);
|
|
52
|
-
function useFetcher() {
|
|
53
|
-
return resolveCompatBindings('useFetcher').useFetcher();
|
|
54
|
-
}
|
|
55
|
-
function RouteActionResponseErrorPlaceholder() {}
|
|
56
|
-
const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
|
|
57
|
-
construct (_target, args) {
|
|
58
|
-
const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
|
|
59
|
-
return new RealError(...args);
|
|
60
|
-
},
|
|
61
|
-
get (target, property, receiver) {
|
|
62
|
-
const RealError = readCompatBindings()?.RouteActionResponseError;
|
|
63
|
-
if (void 0 !== RealError) return Reflect.get(RealError, property);
|
|
64
|
-
return Reflect.get(target, property, receiver);
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
exports.Form = __webpack_exports__.Form;
|
|
68
|
-
exports.Link = __webpack_exports__.Link;
|
|
69
|
-
exports.NavLink = __webpack_exports__.NavLink;
|
|
70
|
-
exports.Outlet = __webpack_exports__.Outlet;
|
|
71
|
-
exports.RouteActionResponseError = __webpack_exports__.RouteActionResponseError;
|
|
72
|
-
exports.useFetcher = __webpack_exports__.useFetcher;
|
|
73
|
-
for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
74
|
-
"Form",
|
|
75
|
-
"Link",
|
|
76
|
-
"NavLink",
|
|
77
|
-
"Outlet",
|
|
78
|
-
"RouteActionResponseError",
|
|
79
|
-
"useFetcher"
|
|
80
|
-
].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
|
|
81
|
-
Object.defineProperty(exports, '__esModule', {
|
|
82
|
-
value: true
|
|
83
|
-
});
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import { createElement } from "react";
|
|
2
|
-
const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
|
|
3
|
-
function readCompatBindings() {
|
|
4
|
-
return globalThis[COMPAT_BINDINGS_SLOT];
|
|
5
|
-
}
|
|
6
|
-
function resolveCompatBindings(exportName) {
|
|
7
|
-
const bindings = readCompatBindings();
|
|
8
|
-
if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
|
|
9
|
-
return bindings;
|
|
10
|
-
}
|
|
11
|
-
const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
|
|
12
|
-
const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
|
|
13
|
-
const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
|
|
14
|
-
const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
|
|
15
|
-
function useFetcher() {
|
|
16
|
-
return resolveCompatBindings('useFetcher').useFetcher();
|
|
17
|
-
}
|
|
18
|
-
function RouteActionResponseErrorPlaceholder() {}
|
|
19
|
-
const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
|
|
20
|
-
construct (_target, args) {
|
|
21
|
-
const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
|
|
22
|
-
return new RealError(...args);
|
|
23
|
-
},
|
|
24
|
-
get (target, property, receiver) {
|
|
25
|
-
const RealError = readCompatBindings()?.RouteActionResponseError;
|
|
26
|
-
if (void 0 !== RealError) return Reflect.get(RealError, property);
|
|
27
|
-
return Reflect.get(target, property, receiver);
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import "node:module";
|
|
2
|
-
import { createElement } from "react";
|
|
3
|
-
const COMPAT_BINDINGS_SLOT = Symbol.for('@modern-js/plugin-tanstack:runtime-compat-bindings');
|
|
4
|
-
function readCompatBindings() {
|
|
5
|
-
return globalThis[COMPAT_BINDINGS_SLOT];
|
|
6
|
-
}
|
|
7
|
-
function resolveCompatBindings(exportName) {
|
|
8
|
-
const bindings = readCompatBindings();
|
|
9
|
-
if (void 0 === bindings) throw new Error(`[@modern-js/runtime] '${exportName}' from the deprecated '@modern-js/runtime/tanstack-router' alias is provided by @modern-js/plugin-tanstack. Install @modern-js/plugin-tanstack, add \`tanstackRouterPlugin()\` to the \`plugins\` array in modern.config.ts, and make sure '@modern-js/plugin-tanstack/runtime' is imported (e.g. in modern.runtime.ts) before '${exportName}' is used. Prefer importing '${exportName}' from '@modern-js/plugin-tanstack/runtime' directly.`);
|
|
10
|
-
return bindings;
|
|
11
|
-
}
|
|
12
|
-
const Link = (props)=>createElement(resolveCompatBindings('Link').Link, props);
|
|
13
|
-
const NavLink = (props)=>createElement(resolveCompatBindings('NavLink').NavLink, props);
|
|
14
|
-
const Outlet = ()=>createElement(resolveCompatBindings('Outlet').Outlet);
|
|
15
|
-
const Form = (props)=>createElement(resolveCompatBindings('Form').Form, props);
|
|
16
|
-
function useFetcher() {
|
|
17
|
-
return resolveCompatBindings('useFetcher').useFetcher();
|
|
18
|
-
}
|
|
19
|
-
function RouteActionResponseErrorPlaceholder() {}
|
|
20
|
-
const RouteActionResponseError = new Proxy(RouteActionResponseErrorPlaceholder, {
|
|
21
|
-
construct (_target, args) {
|
|
22
|
-
const RealError = resolveCompatBindings('RouteActionResponseError').RouteActionResponseError;
|
|
23
|
-
return new RealError(...args);
|
|
24
|
-
},
|
|
25
|
-
get (target, property, receiver) {
|
|
26
|
-
const RealError = readCompatBindings()?.RouteActionResponseError;
|
|
27
|
-
if (void 0 !== RealError) return Reflect.get(RealError, property);
|
|
28
|
-
return Reflect.get(target, property, receiver);
|
|
29
|
-
}
|
|
30
|
-
});
|
|
31
|
-
export { Form, Link, NavLink, Outlet, RouteActionResponseError, useFetcher };
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @deprecated Legacy alias kept so the published `@modern-js/runtime/tanstack-router`
|
|
3
|
-
* subpath keeps resolving. Use `@modern-js/plugin-tanstack/runtime` instead.
|
|
4
|
-
*
|
|
5
|
-
* Only the Modern.js specific `Link`, `NavLink`, `Outlet`, `Form`,
|
|
6
|
-
* `useFetcher` and `RouteActionResponseError` bindings are still exported from
|
|
7
|
-
* here for compatibility. They are thin delegates: the real implementations
|
|
8
|
-
* live in `@modern-js/plugin-tanstack` and are looked up at use time through a
|
|
9
|
-
* `Symbol.for` slot that '@modern-js/plugin-tanstack/runtime' populates on
|
|
10
|
-
* import. (`@modern-js/runtime` cannot import `@modern-js/plugin-tanstack`
|
|
11
|
-
* directly — the package dependency points the other way.)
|
|
12
|
-
*/
|
|
13
|
-
import type React from 'react';
|
|
14
|
-
export type PrefetchBehavior = 'intent' | 'render' | 'viewport' | 'none';
|
|
15
|
-
export type LinkProps<_TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> & {
|
|
16
|
-
prefetch?: PrefetchBehavior;
|
|
17
|
-
from?: TFrom;
|
|
18
|
-
mask?: {
|
|
19
|
-
from?: TMaskFrom;
|
|
20
|
-
to?: TMaskTo;
|
|
21
|
-
};
|
|
22
|
-
params?: unknown;
|
|
23
|
-
search?: unknown;
|
|
24
|
-
to?: TTo;
|
|
25
|
-
};
|
|
26
|
-
export type NavLinkProps<TRouter = unknown, TFrom extends string = string, TTo extends string | undefined = '.', TMaskFrom extends string = TFrom, TMaskTo extends string = '.'> = LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>;
|
|
27
|
-
type LinkComponent = <TRouter = unknown, const TFrom extends string = string, const TTo extends string | undefined = undefined, const TMaskFrom extends string = TFrom, const TMaskTo extends string = ''>(props: LinkProps<TRouter, TFrom, TTo, TMaskFrom, TMaskTo>) => React.ReactElement;
|
|
28
|
-
export type SubmitOptions = {
|
|
29
|
-
action?: string;
|
|
30
|
-
method?: string;
|
|
31
|
-
encType?: string;
|
|
32
|
-
};
|
|
33
|
-
export type FetcherState = 'idle' | 'submitting' | 'loading';
|
|
34
|
-
export type FetcherSubmitOptions = SubmitOptions;
|
|
35
|
-
export type FormProps = Omit<React.FormHTMLAttributes<HTMLFormElement>, 'onSubmit' | 'action'> & {
|
|
36
|
-
action?: string;
|
|
37
|
-
onSubmit?: React.FormEventHandler<HTMLFormElement>;
|
|
38
|
-
reloadDocument?: boolean;
|
|
39
|
-
};
|
|
40
|
-
type SubmitTarget = HTMLFormElement | FormData | URLSearchParams | Record<string, string | number | boolean | null | undefined>;
|
|
41
|
-
export type Fetcher = {
|
|
42
|
-
state: FetcherState;
|
|
43
|
-
data: unknown;
|
|
44
|
-
error: unknown;
|
|
45
|
-
Form: React.ComponentType<FormProps>;
|
|
46
|
-
submit: (target: SubmitTarget, options?: FetcherSubmitOptions) => Promise<void>;
|
|
47
|
-
};
|
|
48
|
-
export interface RouteActionResponseError<TData = unknown> extends Error {
|
|
49
|
-
readonly response: Response;
|
|
50
|
-
readonly data: TData;
|
|
51
|
-
}
|
|
52
|
-
interface RouteActionResponseErrorConstructor {
|
|
53
|
-
new <TData = unknown>(response: Response, data: TData): RouteActionResponseError<TData>;
|
|
54
|
-
readonly prototype: RouteActionResponseError<unknown>;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* @deprecated Import `Link` from `@modern-js/plugin-tanstack/runtime` instead.
|
|
58
|
-
*/
|
|
59
|
-
export declare const Link: LinkComponent;
|
|
60
|
-
/**
|
|
61
|
-
* @deprecated Import `NavLink` from `@modern-js/plugin-tanstack/runtime` instead.
|
|
62
|
-
*/
|
|
63
|
-
export declare const NavLink: LinkComponent;
|
|
64
|
-
/**
|
|
65
|
-
* @deprecated Import `Outlet` from `@modern-js/plugin-tanstack/runtime` instead.
|
|
66
|
-
*/
|
|
67
|
-
export declare const Outlet: React.ComponentType;
|
|
68
|
-
/**
|
|
69
|
-
* @deprecated Import `Form` from `@modern-js/plugin-tanstack/runtime` instead.
|
|
70
|
-
*/
|
|
71
|
-
export declare const Form: React.ComponentType<FormProps>;
|
|
72
|
-
/**
|
|
73
|
-
* @deprecated Import `useFetcher` from `@modern-js/plugin-tanstack/runtime`
|
|
74
|
-
* instead.
|
|
75
|
-
*/
|
|
76
|
-
export declare function useFetcher(): Fetcher;
|
|
77
|
-
/**
|
|
78
|
-
* @deprecated Import `RouteActionResponseError` from
|
|
79
|
-
* `@modern-js/plugin-tanstack/runtime` instead.
|
|
80
|
-
*
|
|
81
|
-
* Delegates to the real class registered by '@modern-js/plugin-tanstack/runtime'
|
|
82
|
-
* so that `instanceof` checks observe the same class identity. Before the
|
|
83
|
-
* registration happens no instance can exist, so `instanceof` is gracefully
|
|
84
|
-
* `false`; constructing without @modern-js/plugin-tanstack installed throws an
|
|
85
|
-
* actionable error.
|
|
86
|
-
*/
|
|
87
|
-
export declare const RouteActionResponseError: RouteActionResponseErrorConstructor;
|
|
88
|
-
export {};
|