@modern-js/runtime 2.0.0-beta.0 → 2.0.0-beta.2
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/CHANGELOG.md +158 -0
- package/dist/js/modern/cli/index.js +6 -6
- package/dist/js/modern/core/app-config.js +2 -1
- package/dist/js/modern/core/compatible.js +66 -48
- package/dist/js/modern/core/index.js +3 -2
- package/dist/js/modern/core/loader/loaderManager.js +12 -34
- package/dist/js/modern/core/loader/useLoader.js +8 -26
- package/dist/js/modern/core/plugin.js +6 -28
- package/dist/js/modern/document/Body.js +17 -0
- package/dist/js/modern/document/DocumentContext.js +6 -0
- package/dist/js/modern/document/DocumentStructrueContext.js +7 -0
- package/dist/js/modern/document/Head.js +24 -0
- package/dist/js/modern/document/Html.js +92 -0
- package/dist/js/modern/document/Root.js +31 -0
- package/dist/js/modern/document/Scripts.js +10 -0
- package/dist/js/modern/document/cli/index.js +132 -0
- package/dist/js/modern/document/constants.js +19 -0
- package/dist/js/modern/document/index.js +8 -0
- package/dist/js/modern/index.js +1 -1
- package/dist/js/modern/router/cli/index.js +0 -16
- package/dist/js/modern/router/runtime/plugin.js +0 -9
- package/dist/js/modern/router/runtime/plugin.node.js +18 -24
- package/dist/js/modern/router/runtime/root/index.js +19 -0
- package/dist/js/modern/router/runtime/root/load.js +61 -0
- package/dist/js/modern/router/runtime/utils.js +16 -35
- package/dist/js/modern/router/runtime/withRouter.js +1 -3
- package/dist/js/modern/ssr/cli/index.js +2 -23
- package/dist/js/modern/ssr/index.js +23 -34
- package/dist/js/modern/ssr/index.node.js +0 -13
- package/dist/js/modern/ssr/prefetch.js +0 -7
- package/dist/js/modern/ssr/react/prerender/index.js +2 -23
- package/dist/js/modern/ssr/react/prerender/util.js +2 -17
- package/dist/js/modern/ssr/react/withCallback/index.js +0 -1
- package/dist/js/modern/ssr/serverRender/helmet.js +12 -20
- package/dist/js/modern/ssr/serverRender/index.js +1 -2
- package/dist/js/modern/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -5
- package/dist/js/modern/ssr/serverRender/renderToStream/bulidTemplate.before.js +45 -11
- package/dist/js/modern/ssr/serverRender/renderToStream/index.js +6 -39
- package/dist/js/modern/ssr/serverRender/renderToStream/loadable.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToStream/renderToPipe.js +26 -15
- package/dist/js/modern/ssr/serverRender/renderToStream/template.js +14 -18
- package/dist/js/modern/ssr/serverRender/renderToString/entry.js +2 -34
- package/dist/js/modern/ssr/serverRender/renderToString/index.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToString/loadable.js +0 -10
- package/dist/js/modern/ssr/serverRender/renderToString/reduce.js +0 -2
- package/dist/js/modern/ssr/serverRender/renderToString/template.js +0 -15
- package/dist/js/modern/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/modern/ssr/serverRender/utils.js +2 -6
- package/dist/js/modern/ssr/utils.js +0 -11
- package/dist/js/modern/state/cli/index.js +0 -11
- package/dist/js/modern/state/runtime/plugin.js +1 -14
- package/dist/js/node/cli/index.js +6 -14
- package/dist/js/node/common.js +0 -2
- package/dist/js/node/core/app-config.js +2 -5
- package/dist/js/node/core/compatible.js +66 -66
- package/dist/js/node/core/index.js +0 -16
- package/dist/js/node/core/loader/index.js +0 -2
- package/dist/js/node/core/loader/loaderManager.js +12 -37
- package/dist/js/node/core/loader/useLoader.js +8 -31
- package/dist/js/node/core/plugin.js +5 -34
- package/dist/js/node/document/Body.js +26 -0
- package/dist/js/node/document/DocumentContext.js +14 -0
- package/dist/js/node/document/DocumentStructrueContext.js +15 -0
- package/dist/js/node/document/Head.js +33 -0
- package/dist/js/node/document/Html.js +98 -0
- package/dist/js/node/document/Root.js +41 -0
- package/dist/js/node/document/Scripts.js +17 -0
- package/dist/js/node/document/cli/index.js +142 -0
- package/dist/js/node/document/constants.js +36 -0
- package/dist/js/node/document/index.js +93 -0
- package/dist/js/node/exports/head.js +0 -5
- package/dist/js/node/exports/loadable.js +0 -5
- package/dist/js/node/exports/server.js +0 -2
- package/dist/js/node/exports/styled.js +0 -5
- package/dist/js/node/index.js +0 -8
- package/dist/js/node/router/cli/index.js +0 -20
- package/dist/js/node/router/index.js +0 -4
- package/dist/js/node/router/runtime/DefaultNotFound.js +1 -5
- package/dist/js/node/router/runtime/index.js +0 -5
- package/dist/js/node/router/runtime/plugin.js +0 -17
- package/dist/js/node/router/runtime/plugin.node.js +16 -38
- package/dist/js/node/router/runtime/root/index.js +26 -0
- package/dist/js/node/router/runtime/root/load.js +69 -0
- package/dist/js/node/router/runtime/utils.js +16 -44
- package/dist/js/node/router/runtime/withRouter.js +0 -9
- package/dist/js/node/runtime-context.js +0 -2
- package/dist/js/node/ssr/cli/index.js +2 -26
- package/dist/js/node/ssr/index.js +23 -45
- package/dist/js/node/ssr/index.node.js +0 -23
- package/dist/js/node/ssr/prefetch.js +0 -11
- package/dist/js/node/ssr/react/index.js +0 -2
- package/dist/js/node/ssr/react/nossr/index.js +0 -6
- package/dist/js/node/ssr/react/prerender/index.js +2 -30
- package/dist/js/node/ssr/react/prerender/util.js +2 -25
- package/dist/js/node/ssr/react/withCallback/index.js +1 -4
- package/dist/js/node/ssr/serverRender/helmet.js +13 -20
- package/dist/js/node/ssr/serverRender/index.js +1 -4
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -9
- package/dist/js/node/ssr/serverRender/renderToStream/buildTemplate.share.js +0 -1
- package/dist/js/node/ssr/serverRender/renderToStream/bulidTemplate.before.js +43 -15
- package/dist/js/node/ssr/serverRender/renderToStream/index.js +6 -48
- package/dist/js/node/ssr/serverRender/renderToStream/loadable.js +0 -4
- package/dist/js/node/ssr/serverRender/renderToStream/renderToPipe.js +26 -17
- package/dist/js/node/ssr/serverRender/renderToStream/styledComponent.js +0 -2
- package/dist/js/node/ssr/serverRender/renderToStream/template.js +16 -23
- package/dist/js/node/ssr/serverRender/renderToString/entry.js +2 -51
- package/dist/js/node/ssr/serverRender/renderToString/index.js +0 -10
- package/dist/js/node/ssr/serverRender/renderToString/loadable.js +0 -14
- package/dist/js/node/ssr/serverRender/renderToString/reduce.js +0 -3
- package/dist/js/node/ssr/serverRender/renderToString/styledComponent.js +0 -3
- package/dist/js/node/ssr/serverRender/renderToString/template.js +0 -18
- package/dist/js/node/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/node/ssr/serverRender/types.js +0 -1
- package/dist/js/node/ssr/serverRender/utils.js +2 -8
- package/dist/js/node/ssr/utils.js +0 -20
- package/dist/js/node/state/cli/index.js +0 -16
- package/dist/js/node/state/index.js +0 -4
- package/dist/js/node/state/plugins.js +0 -11
- package/dist/js/node/state/runtime/index.js +0 -7
- package/dist/js/node/state/runtime/plugin.js +1 -25
- package/dist/js/treeshaking/cli/index.js +6 -4
- package/dist/js/treeshaking/core/app-config.js +2 -1
- package/dist/js/treeshaking/core/compatible.js +74 -81
- package/dist/js/treeshaking/core/index.js +3 -2
- package/dist/js/treeshaking/core/loader/loaderManager.js +19 -51
- package/dist/js/treeshaking/core/loader/useLoader.js +11 -28
- package/dist/js/treeshaking/core/plugin.js +6 -51
- package/dist/js/treeshaking/document/Body.js +14 -0
- package/dist/js/treeshaking/document/DocumentContext.js +6 -0
- package/dist/js/treeshaking/document/DocumentStructrueContext.js +7 -0
- package/dist/js/treeshaking/document/Head.js +21 -0
- package/dist/js/treeshaking/document/Html.js +104 -0
- package/dist/js/treeshaking/document/Root.js +24 -0
- package/dist/js/treeshaking/document/Scripts.js +10 -0
- package/dist/js/treeshaking/document/cli/index.js +175 -0
- package/dist/js/treeshaking/document/constants.js +16 -0
- package/dist/js/treeshaking/document/index.js +8 -0
- package/dist/js/treeshaking/index.js +1 -1
- package/dist/js/treeshaking/router/cli/index.js +6 -18
- package/dist/js/treeshaking/router/runtime/plugin.js +5 -13
- package/dist/js/treeshaking/router/runtime/plugin.node.js +23 -36
- package/dist/js/treeshaking/router/runtime/root/index.js +17 -0
- package/dist/js/treeshaking/router/runtime/root/load.js +102 -0
- package/dist/js/treeshaking/router/runtime/utils.js +21 -39
- package/dist/js/treeshaking/router/runtime/withRouter.js +1 -0
- package/dist/js/treeshaking/ssr/cli/index.js +9 -31
- package/dist/js/treeshaking/ssr/index.js +26 -40
- package/dist/js/treeshaking/ssr/index.node.js +12 -29
- package/dist/js/treeshaking/ssr/prefetch.js +0 -13
- package/dist/js/treeshaking/ssr/react/nossr/index.js +3 -4
- package/dist/js/treeshaking/ssr/react/prerender/index.js +2 -21
- package/dist/js/treeshaking/ssr/react/prerender/util.js +3 -20
- package/dist/js/treeshaking/ssr/react/withCallback/index.js +1 -2
- package/dist/js/treeshaking/ssr/serverRender/helmet.js +12 -11
- package/dist/js/treeshaking/ssr/serverRender/index.js +1 -9
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/buildTemplate.after.js +5 -6
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/bulidTemplate.before.js +46 -15
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/index.js +9 -79
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/loadable.js +3 -5
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/renderToPipe.js +46 -35
- package/dist/js/treeshaking/ssr/serverRender/renderToStream/template.js +17 -24
- package/dist/js/treeshaking/ssr/serverRender/renderToString/entry.js +20 -73
- package/dist/js/treeshaking/ssr/serverRender/renderToString/index.js +2 -6
- package/dist/js/treeshaking/ssr/serverRender/renderToString/loadable.js +5 -16
- package/dist/js/treeshaking/ssr/serverRender/renderToString/reduce.js +0 -2
- package/dist/js/treeshaking/ssr/serverRender/renderToString/template.js +2 -18
- package/dist/js/treeshaking/ssr/serverRender/renderToString/type.js +0 -1
- package/dist/js/treeshaking/ssr/serverRender/utils.js +5 -10
- package/dist/js/treeshaking/ssr/utils.js +8 -17
- package/dist/js/treeshaking/state/cli/index.js +3 -11
- package/dist/js/treeshaking/state/runtime/plugin.js +2 -10
- package/dist/types/cli/index.d.ts +2 -4
- package/dist/types/core/compatible.d.ts +8 -10
- package/dist/types/core/index.d.ts +1 -1
- package/dist/types/core/loader/loaderManager.d.ts +0 -1
- package/dist/types/core/loader/useLoader.d.ts +0 -5
- package/dist/types/core/plugin.d.ts +16 -28
- package/dist/types/document/Body.d.ts +4 -0
- package/dist/types/document/DocumentContext.d.ts +13 -0
- package/dist/types/document/DocumentStructrueContext.d.ts +10 -0
- package/dist/types/document/Head.d.ts +5 -0
- package/dist/types/document/Html.d.ts +4 -0
- package/dist/types/document/Root.d.ts +8 -0
- package/dist/types/document/Scripts.d.ts +2 -0
- package/dist/types/document/cli/index.d.ts +3 -0
- package/dist/types/document/constants.d.ts +14 -0
- package/dist/types/document/index.d.ts +8 -0
- package/dist/types/exports/server.d.ts +3 -3
- package/dist/types/index.d.ts +1 -1
- package/dist/types/router/cli/index.d.ts +2 -4
- package/dist/types/router/runtime/root/index.d.ts +8 -0
- package/dist/types/router/runtime/root/load.d.ts +22 -0
- package/dist/types/router/runtime/types.d.ts +0 -2
- package/dist/types/runtime-context.d.ts +1 -0
- package/dist/types/ssr/cli/index.d.ts +2 -4
- package/dist/types/ssr/prefetch.d.ts +2 -2
- package/dist/types/ssr/serverRender/renderToStream/buildTemplate.after.d.ts +3 -2
- package/dist/types/ssr/serverRender/renderToStream/bulidTemplate.before.d.ts +2 -1
- package/dist/types/ssr/serverRender/renderToStream/renderToPipe.d.ts +3 -3
- package/dist/types/ssr/serverRender/renderToStream/template.d.ts +2 -2
- package/dist/types/ssr/serverRender/types.d.ts +3 -6
- package/dist/types/state/cli/index.d.ts +2 -4
- package/dist/types/state/types.d.ts +0 -1
- package/package.json +24 -15
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import type { Renderer } from 'react-dom';
|
|
3
|
+
import type { hydrateRoot, createRoot } from 'react-dom/client';
|
|
4
|
+
import { RuntimeContext, TRuntimeContext } from '../runtime-context';
|
|
3
5
|
import { Plugin } from './plugin';
|
|
4
6
|
export declare type CreateAppOptions = {
|
|
5
7
|
plugins: Plugin[];
|
|
@@ -7,15 +9,11 @@ export declare type CreateAppOptions = {
|
|
|
7
9
|
export declare const createApp: ({
|
|
8
10
|
plugins
|
|
9
11
|
}: CreateAppOptions) => (App?: React.ComponentType<any>) => React.ComponentType<any>;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
render: (children: React.ReactNode, rootElement?: HTMLElement) => void;
|
|
16
|
-
hydrate: HydrateFunc;
|
|
17
|
-
createRoot?: (rootElement: HTMLElement) => any;
|
|
18
|
-
hydrateRoot: HydrateFunc;
|
|
12
|
+
declare type BootStrap<T = unknown> = (App: React.ComponentType, id: string | HTMLElement | RuntimeContext, root?: any, ReactDOM?: {
|
|
13
|
+
render?: Renderer;
|
|
14
|
+
hydrate?: Renderer;
|
|
15
|
+
createRoot?: typeof createRoot;
|
|
16
|
+
hydrateRoot?: typeof hydrateRoot;
|
|
19
17
|
}) => Promise<T>;
|
|
20
18
|
export declare const bootstrap: BootStrap;
|
|
21
19
|
export declare const useRuntimeContext: () => TRuntimeContext;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { createPlugin, createRuntime, runtime, registerInit
|
|
1
|
+
export { createPlugin, createRuntime, runtime, registerInit } from './plugin';
|
|
2
2
|
export type { Plugin } from './plugin';
|
|
3
3
|
export { defineConfig, getConfig } from './app-config';
|
|
4
4
|
export * from './compatible';
|
|
@@ -35,7 +35,6 @@ declare type ManagerOption = {
|
|
|
35
35
|
* Create loaders manager. It's returned instance will add to context
|
|
36
36
|
* @param initialDataMap used to initialing loader data
|
|
37
37
|
*/
|
|
38
|
-
|
|
39
38
|
export declare const createLoaderManager: (initialDataMap: Record<string, LoaderResult>, managerOptions?: ManagerOption) => {
|
|
40
39
|
hasPendingLoaders: () => boolean;
|
|
41
40
|
awaitPendingLoaders: () => Promise<Record<string, LoaderResult>>;
|
|
@@ -20,28 +20,23 @@ export interface LoaderOptions<Params = any, TData = any, TError extends Error =
|
|
|
20
20
|
/**
|
|
21
21
|
* Revoke when loader ended with error
|
|
22
22
|
*/
|
|
23
|
-
|
|
24
23
|
onError?: (error: TError) => void;
|
|
25
24
|
/**
|
|
26
25
|
* initialData to display once loader is ready.
|
|
27
26
|
*/
|
|
28
|
-
|
|
29
27
|
initialData?: TData;
|
|
30
28
|
/**
|
|
31
29
|
* whether skip loader
|
|
32
30
|
* if true, the loader will not exec.
|
|
33
31
|
*/
|
|
34
|
-
|
|
35
32
|
skip?: boolean;
|
|
36
33
|
/**
|
|
37
34
|
* User params, it will pass to loader's second parameter.
|
|
38
35
|
*/
|
|
39
|
-
|
|
40
36
|
params?: Params;
|
|
41
37
|
/**
|
|
42
38
|
* whether loader can exec on build phase.
|
|
43
39
|
*/
|
|
44
|
-
|
|
45
40
|
static?: boolean;
|
|
46
41
|
}
|
|
47
42
|
declare type LoaderFn<P = any, T = any> = (context: any, params: P) => Promise<T>;
|
|
@@ -14,8 +14,8 @@ declare const runtimeHooks: {
|
|
|
14
14
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
15
15
|
App: React.ComponentType<any>;
|
|
16
16
|
readonly context?: RuntimeContext | undefined;
|
|
17
|
-
ModernRender: (App: React.
|
|
18
|
-
ModernHydrate: (App: React.
|
|
17
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
18
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
19
19
|
}, void>;
|
|
20
20
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
21
21
|
App: React.ComponentType<any>;
|
|
@@ -30,16 +30,12 @@ declare const runtimeHooks: {
|
|
|
30
30
|
}, TRuntimeContext>;
|
|
31
31
|
};
|
|
32
32
|
/** All hooks of runtime plugin. */
|
|
33
|
-
|
|
34
33
|
export declare type RuntimeHooks = typeof runtimeHooks;
|
|
35
34
|
/** All hook callbacks of runtime plugin. */
|
|
36
|
-
|
|
37
35
|
export declare type RuntimeHookCallbacks = ToThreads<RuntimeHooks>;
|
|
38
36
|
/** All apis for runtime plugin. */
|
|
39
|
-
|
|
40
37
|
export declare type PluginAPI = CommonAPI<RuntimeHooks>;
|
|
41
38
|
/** Plugin options of a runtime plugin. */
|
|
42
|
-
|
|
43
39
|
export declare type Plugin = PluginOptions<RuntimeHooks, Setup<RuntimeHooks>>;
|
|
44
40
|
export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
|
|
45
41
|
hoc: import("@modern-js/plugin").Pipeline<{
|
|
@@ -53,8 +49,8 @@ export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
|
|
|
53
49
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
54
50
|
App: React.ComponentType<any>;
|
|
55
51
|
readonly context?: RuntimeContext | undefined;
|
|
56
|
-
ModernRender: (App: React.
|
|
57
|
-
ModernHydrate: (App: React.
|
|
52
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
53
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
58
54
|
}, void>;
|
|
59
55
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
60
56
|
App: React.ComponentType<any>;
|
|
@@ -71,15 +67,7 @@ export declare const createRuntime: () => import("@modern-js/plugin").Manager<{
|
|
|
71
67
|
/**
|
|
72
68
|
* register init hook. It would be revoked both ssr and csr.
|
|
73
69
|
*/
|
|
74
|
-
|
|
75
70
|
declare const registerInit: (App: React.ComponentType, _init: (context: RuntimeContext) => any | Promise<any>) => void;
|
|
76
|
-
/**
|
|
77
|
-
* register prefetch hook. It would be revoked both ssr and csr.
|
|
78
|
-
* But if ssr success, It wont exec in csr again.
|
|
79
|
-
* If ssr prefetch failed, It will fallback to exec in csr.
|
|
80
|
-
*/
|
|
81
|
-
|
|
82
|
-
declare const registerPrefetch: (App: React.ComponentType, prefetch: (context: RuntimeContext) => Promise<any>) => void;
|
|
83
71
|
export declare const runtime: import("@modern-js/plugin").Manager<{
|
|
84
72
|
hoc: import("@modern-js/plugin").Pipeline<{
|
|
85
73
|
App: React.ComponentType<any>;
|
|
@@ -92,8 +80,8 @@ export declare const runtime: import("@modern-js/plugin").Manager<{
|
|
|
92
80
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
93
81
|
App: React.ComponentType<any>;
|
|
94
82
|
readonly context?: RuntimeContext | undefined;
|
|
95
|
-
ModernRender: (App: React.
|
|
96
|
-
ModernHydrate: (App: React.
|
|
83
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
84
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
97
85
|
}, void>;
|
|
98
86
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
99
87
|
App: React.ComponentType<any>;
|
|
@@ -119,8 +107,8 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
119
107
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
120
108
|
App: React.ComponentType<any>;
|
|
121
109
|
readonly context?: RuntimeContext | undefined;
|
|
122
|
-
ModernRender: (App: React.
|
|
123
|
-
ModernHydrate: (App: React.
|
|
110
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
111
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
124
112
|
}, void>;
|
|
125
113
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
126
114
|
App: React.ComponentType<any>;
|
|
@@ -145,8 +133,8 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
145
133
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
146
134
|
App: React.ComponentType<any>;
|
|
147
135
|
readonly context?: RuntimeContext | undefined;
|
|
148
|
-
ModernRender: (App: React.
|
|
149
|
-
ModernHydrate: (App: React.
|
|
136
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
137
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
150
138
|
}, void>;
|
|
151
139
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
152
140
|
App: React.ComponentType<any>;
|
|
@@ -171,8 +159,8 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
171
159
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
172
160
|
App: React.ComponentType<any>;
|
|
173
161
|
readonly context?: RuntimeContext | undefined;
|
|
174
|
-
ModernRender: (App: React.
|
|
175
|
-
ModernHydrate: (App: React.
|
|
162
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
163
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
176
164
|
}, void>;
|
|
177
165
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
178
166
|
App: React.ComponentType<any>;
|
|
@@ -185,7 +173,7 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
185
173
|
context: RuntimeContext;
|
|
186
174
|
pickedContext: TRuntimeContext;
|
|
187
175
|
}, TRuntimeContext>;
|
|
188
|
-
}, Record<string, never>>, Record<string, unknown
|
|
176
|
+
}, Record<string, never>>, Record<string, unknown>, any, any> | undefined) => import("@modern-js/plugin").Plugin<{
|
|
189
177
|
hoc: import("@modern-js/plugin").Pipeline<{
|
|
190
178
|
App: React.ComponentType<any>;
|
|
191
179
|
}, React.ComponentType<any>>;
|
|
@@ -197,8 +185,8 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
197
185
|
client: import("@modern-js/plugin").AsyncPipeline<{
|
|
198
186
|
App: React.ComponentType<any>;
|
|
199
187
|
readonly context?: RuntimeContext | undefined;
|
|
200
|
-
ModernRender: (App: React.
|
|
201
|
-
ModernHydrate: (App: React.
|
|
188
|
+
ModernRender: (App: React.ReactElement) => void;
|
|
189
|
+
ModernHydrate: (App: React.ReactElement, callback?: () => void) => void;
|
|
202
190
|
}, void>;
|
|
203
191
|
server: import("@modern-js/plugin").AsyncPipeline<{
|
|
204
192
|
App: React.ComponentType<any>;
|
|
@@ -212,4 +200,4 @@ export declare const createPlugin: (setup?: Setup<{
|
|
|
212
200
|
pickedContext: TRuntimeContext;
|
|
213
201
|
}, TRuntimeContext>;
|
|
214
202
|
}, Record<string, never>>;
|
|
215
|
-
export { registerInit
|
|
203
|
+
export { registerInit };
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
declare type DocumentProps = {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
config?: any;
|
|
5
|
+
templateParams: {
|
|
6
|
+
[y: string]: any;
|
|
7
|
+
mountId?: string;
|
|
8
|
+
};
|
|
9
|
+
processEnv?: Record<string, string | undefined>;
|
|
10
|
+
children?: JSX.Element;
|
|
11
|
+
};
|
|
12
|
+
export declare const DocumentContext: React.Context<DocumentProps>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React, { ReactNode } from 'react';
|
|
2
|
+
declare type DocumentStructrueContextProps = {
|
|
3
|
+
hasSetHead?: boolean;
|
|
4
|
+
hasSetScripts?: boolean;
|
|
5
|
+
hasSetBody?: boolean;
|
|
6
|
+
hasSetRoot?: boolean;
|
|
7
|
+
docChild?: ReactNode;
|
|
8
|
+
};
|
|
9
|
+
export declare const DocumentStructrueContext: React.Context<DocumentStructrueContextProps>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export declare const DOC_EXT: string[];
|
|
2
|
+
export declare const DOCUMENT_META_PLACEHOLDER: string;
|
|
3
|
+
export declare const HTML_SEPARATOR = "<!--<?- html ?>-->";
|
|
4
|
+
export declare const HTML_CHUNKSMAP_SEPARATOR = "<!--<?- chunksMap.js ?>-->";
|
|
5
|
+
export declare const HTML_SSRDATASCRIPT_SEPARATOR = "<!--<?- SSRDataScript ?>-->";
|
|
6
|
+
export declare const DOCUMENT_SSR_PLACEHOLDER: string;
|
|
7
|
+
export declare const DOCUMENT_CHUNKSMAP_PLACEHOLDER: string;
|
|
8
|
+
export declare const DOCUMENT_SSRDATASCRIPT_PLACEHOLDER: string;
|
|
9
|
+
export declare const DOCUMENT_FILE_NAME = "Document";
|
|
10
|
+
export declare const DOCUMENT_SCRIPTS_PLACEHOLDER: string;
|
|
11
|
+
export declare const DOCUMENT_NO_SCRIPTE_PLACEHOLDER: string;
|
|
12
|
+
export declare const PLACEHOLDER_REPLACER_MAP: {
|
|
13
|
+
[x: string]: string;
|
|
14
|
+
};
|
|
@@ -4,7 +4,7 @@ export declare const hook: (attacher: ({
|
|
|
4
4
|
afterMatch,
|
|
5
5
|
afterRender
|
|
6
6
|
}: {
|
|
7
|
-
addMiddleware: (mid:
|
|
7
|
+
addMiddleware: (mid: Middleware) => void;
|
|
8
8
|
afterRender: (hook: AfterRenderHook) => void;
|
|
9
9
|
afterMatch: (hook: AfterMatchHook) => void;
|
|
10
10
|
}) => void) => ({
|
|
@@ -12,10 +12,10 @@ export declare const hook: (attacher: ({
|
|
|
12
12
|
afterMatch,
|
|
13
13
|
afterRender
|
|
14
14
|
}: {
|
|
15
|
-
addMiddleware: (mid:
|
|
15
|
+
addMiddleware: (mid: Middleware) => void;
|
|
16
16
|
afterRender: (hook: AfterRenderHook) => void;
|
|
17
17
|
afterMatch: (hook: AfterMatchHook) => void;
|
|
18
18
|
}) => void;
|
|
19
19
|
export declare type AfterRenderHook = (context: AfterRenderContext, next: NextFunction) => void;
|
|
20
20
|
export declare type AfterMatchHook = (context: AfterMatchContext, next: NextFunction) => void;
|
|
21
|
-
export declare type
|
|
21
|
+
export declare type Middleware = (context: MiddlewareContext, next: NextFunction) => Promise<void> | void;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -4,5 +4,5 @@ export type { Plugin } from './core';
|
|
|
4
4
|
export type { AppConfig } from './common';
|
|
5
5
|
export { isBrowser } from './common';
|
|
6
6
|
export type { BaseRuntimeContext, RuntimeContext, BaseTRuntimeContext, TRuntimeContext } from './runtime-context';
|
|
7
|
-
export { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext,
|
|
7
|
+
export { createApp, createPlugin, useLoader, bootstrap, RuntimeReactContext, defineConfig, registerInit, useRuntimeContext } from './core';
|
|
8
8
|
export { StateConfig, RouterConfig };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Location, Params } from 'react-router-dom';
|
|
2
|
+
import type { NestedRoute } from '@modern-js/types';
|
|
3
|
+
interface RouteAssets {
|
|
4
|
+
[routeId: string]: {
|
|
5
|
+
chunkIds?: (string | number)[];
|
|
6
|
+
assets?: string[];
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
interface RouteManifest {
|
|
10
|
+
routeAssets: RouteAssets;
|
|
11
|
+
enableFetchParallel?: boolean;
|
|
12
|
+
enableLogging?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export interface RouteMatch<Route> {
|
|
15
|
+
params: Params;
|
|
16
|
+
pathname: string;
|
|
17
|
+
route: Route;
|
|
18
|
+
}
|
|
19
|
+
export declare function handleLoad(routes: NestedRoute[], location: Location, routeManifest: RouteManifest): void;
|
|
20
|
+
export declare function matchClientRoutes(routes: NestedRoute[], location: Location): RouteMatch<NestedRoute>[];
|
|
21
|
+
export declare function loadRouteModule(route: NestedRoute, routeAssets: RouteAssets): Promise<string[] | void>;
|
|
22
|
+
export {};
|
|
@@ -18,12 +18,10 @@ export declare type SingleRouteConfig = RouteProps & {
|
|
|
18
18
|
/**
|
|
19
19
|
* layout component
|
|
20
20
|
*/
|
|
21
|
-
|
|
22
21
|
layout?: React.ComponentType;
|
|
23
22
|
/**
|
|
24
23
|
* component would be rendered when route macthed.
|
|
25
24
|
*/
|
|
26
|
-
|
|
27
25
|
component?: React.ComponentType;
|
|
28
26
|
};
|
|
29
27
|
export declare type RouterConfig = {
|
|
@@ -4,6 +4,7 @@ import { createLoaderManager } from './core/loader/loaderManager';
|
|
|
4
4
|
import { runtime } from './core/plugin';
|
|
5
5
|
import { SSRServerContext } from './ssr/serverRender/types';
|
|
6
6
|
export interface BaseRuntimeContext {
|
|
7
|
+
initialData?: Record<string, unknown>;
|
|
7
8
|
loaderManager: ReturnType<typeof createLoaderManager>;
|
|
8
9
|
runner: ReturnType<typeof runtime.init>;
|
|
9
10
|
ssrContext?: SSRServerContext;
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { RuntimeContext } from '../core';
|
|
2
2
|
declare const prefetch: (App: React.ComponentType<any>, context: RuntimeContext) => Promise<{
|
|
3
|
-
initialData:
|
|
3
|
+
initialData: Record<string, unknown> | undefined;
|
|
4
4
|
i18nData: any;
|
|
5
5
|
loadersData?: undefined;
|
|
6
6
|
storeState?: undefined;
|
|
7
7
|
} | {
|
|
8
8
|
loadersData: Record<string, import("../core/loader/loaderManager").LoaderResult>;
|
|
9
|
-
initialData:
|
|
9
|
+
initialData: Record<string, unknown> | undefined;
|
|
10
10
|
i18nData: any;
|
|
11
11
|
storeState: any;
|
|
12
12
|
}>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RenderLevel, SSRServerContext } from '../types';
|
|
2
2
|
declare type BuildShellAfterTemplateOptions = {
|
|
3
|
-
|
|
3
|
+
ssrContext: SSRServerContext;
|
|
4
|
+
renderLevel: RenderLevel;
|
|
4
5
|
};
|
|
5
6
|
export declare function buildShellAfterTemplate(afterAppTemplate: string, options: BuildShellAfterTemplateOptions): string;
|
|
6
7
|
export {};
|
|
@@ -1 +1,2 @@
|
|
|
1
|
-
|
|
1
|
+
import { RuntimeContext } from '../types';
|
|
2
|
+
export declare function buildShellBeforeTemplate(beforeAppTemplate: string, context: RuntimeContext): string;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/// <reference types="react" />
|
|
3
3
|
import { Writable } from 'stream';
|
|
4
4
|
import { RenderToPipeableStreamOptions } from 'react-dom/server';
|
|
5
|
-
import {
|
|
6
|
-
export declare type Pipe<T extends Writable> = (output: T) => Promise<T>;
|
|
7
|
-
declare function renderToPipe(rootElement: React.ReactElement,
|
|
5
|
+
import { RuntimeContext } from '../types';
|
|
6
|
+
export declare type Pipe<T extends Writable> = (output: T) => Promise<T | string>;
|
|
7
|
+
declare function renderToPipe(rootElement: React.ReactElement, context: RuntimeContext, options?: RenderToPipeableStreamOptions): Pipe<Writable>;
|
|
8
8
|
export default renderToPipe;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import { RuntimeContext } from '../types';
|
|
1
|
+
import { RenderLevel, RuntimeContext } from '../types';
|
|
2
2
|
import { InjectTemplate } from './type';
|
|
3
|
-
export declare
|
|
3
|
+
export declare const getTemplates: (context: RuntimeContext, renderLevel: RenderLevel) => InjectTemplate;
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import
|
|
2
|
+
import { ServerUserConfig } from '@modern-js/app-tools';
|
|
3
3
|
import type { RuntimeContext } from '../../core';
|
|
4
4
|
import { RenderLevel } from './renderToString/type';
|
|
5
5
|
export type { SSRServerContext } from './renderToString/type';
|
|
6
|
-
export declare type ModernSSRReactComponent = React.ComponentType<any
|
|
7
|
-
init: (context: RuntimeContext) => Promise<void>;
|
|
8
|
-
prefetch: (context: RuntimeContext) => Promise<Record<string, any>>;
|
|
9
|
-
};
|
|
6
|
+
export declare type ModernSSRReactComponent = React.ComponentType<any>;
|
|
10
7
|
export { RuntimeContext, RenderLevel };
|
|
11
8
|
export declare type SSRPluginConfig = {
|
|
12
9
|
crossorigin?: boolean | 'anonymous' | 'use-credentials';
|
|
13
|
-
} & Exclude<
|
|
10
|
+
} & Exclude<ServerUserConfig['ssr'], boolean>;
|
|
14
11
|
export declare type ServerRenderOptions = {
|
|
15
12
|
App: ModernSSRReactComponent;
|
|
16
13
|
config: SSRPluginConfig;
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "2.0.0-beta.
|
|
14
|
+
"version": "2.0.0-beta.2",
|
|
15
15
|
"engines": {
|
|
16
16
|
"node": ">=14.17.6"
|
|
17
17
|
},
|
|
@@ -48,6 +48,11 @@
|
|
|
48
48
|
"node": "./dist/js/node/exports/server.js",
|
|
49
49
|
"default": "./dist/js/treeshaking/exports/server.js"
|
|
50
50
|
},
|
|
51
|
+
"./document": {
|
|
52
|
+
"jsnext:source": "./src/document/index.ts",
|
|
53
|
+
"node": "./dist/js/node/document/index.js",
|
|
54
|
+
"default": "./dist/js/treeshaking/document/index.js"
|
|
55
|
+
},
|
|
51
56
|
"./ssr": {
|
|
52
57
|
"jsnext:source": "./src/ssr/index.ts",
|
|
53
58
|
"node": "./dist/js/node/ssr/index",
|
|
@@ -93,6 +98,9 @@
|
|
|
93
98
|
"server": [
|
|
94
99
|
"./dist/types/exports/server.d.ts"
|
|
95
100
|
],
|
|
101
|
+
"document": [
|
|
102
|
+
"./dist/types/document/index.d.ts"
|
|
103
|
+
],
|
|
96
104
|
"ssr": [
|
|
97
105
|
"./dist/types/ssr/index.d.ts"
|
|
98
106
|
],
|
|
@@ -120,9 +128,6 @@
|
|
|
120
128
|
"@modern-js-reduck/plugin-immutable": "^1.0.1",
|
|
121
129
|
"@modern-js-reduck/react": "^1.0.1",
|
|
122
130
|
"@modern-js-reduck/store": "^1.0.3",
|
|
123
|
-
"@modern-js/plugin": "2.0.0-beta.0",
|
|
124
|
-
"@modern-js/types": "2.0.0-beta.0",
|
|
125
|
-
"@modern-js/utils": "2.0.0-beta.0",
|
|
126
131
|
"@types/loadable__component": "^5.13.4",
|
|
127
132
|
"@types/react-helmet": "^6.1.2",
|
|
128
133
|
"@types/redux-logger": "^3.0.9",
|
|
@@ -137,18 +142,16 @@
|
|
|
137
142
|
"react-side-effect": "^2.1.1",
|
|
138
143
|
"redux-logger": "^3.0.6",
|
|
139
144
|
"serialize-javascript": "^6.0.0",
|
|
140
|
-
"styled-components": "^5.3.1"
|
|
145
|
+
"styled-components": "^5.3.1",
|
|
146
|
+
"@modern-js/plugin": "2.0.0-beta.2",
|
|
147
|
+
"@modern-js/types": "2.0.0-beta.2",
|
|
148
|
+
"@modern-js/utils": "2.0.0-beta.2"
|
|
141
149
|
},
|
|
142
150
|
"peerDependencies": {
|
|
143
151
|
"react": ">=17",
|
|
144
152
|
"react-dom": ">=17"
|
|
145
153
|
},
|
|
146
154
|
"devDependencies": {
|
|
147
|
-
"@modern-js/core": "2.0.0-beta.0",
|
|
148
|
-
"@modern-js/server-core": "2.0.0-beta.0",
|
|
149
|
-
"@modern-js/utils": "2.0.0-beta.0",
|
|
150
|
-
"@scripts/build": "2.0.0-beta.0",
|
|
151
|
-
"@scripts/jest-config": "2.0.0-beta.0",
|
|
152
155
|
"@testing-library/react": "^13.4.0",
|
|
153
156
|
"@testing-library/react-hooks": "^8.0.1",
|
|
154
157
|
"@remix-run/web-fetch": "^4.1.3",
|
|
@@ -162,7 +165,13 @@
|
|
|
162
165
|
"react": "^18",
|
|
163
166
|
"react-dom": "^18",
|
|
164
167
|
"ts-jest": "^27.0.4",
|
|
165
|
-
"typescript": "^4"
|
|
168
|
+
"typescript": "^4",
|
|
169
|
+
"@modern-js/core": "2.0.0-beta.2",
|
|
170
|
+
"@modern-js/server-core": "2.0.0-beta.2",
|
|
171
|
+
"@modern-js/utils": "2.0.0-beta.2",
|
|
172
|
+
"@scripts/build": "2.0.0-beta.2",
|
|
173
|
+
"@modern-js/app-tools": "2.0.0-beta.2",
|
|
174
|
+
"@scripts/jest-config": "2.0.0-beta.2"
|
|
166
175
|
},
|
|
167
176
|
"sideEffects": false,
|
|
168
177
|
"modernConfig": {},
|
|
@@ -171,9 +180,9 @@
|
|
|
171
180
|
"access": "public"
|
|
172
181
|
},
|
|
173
182
|
"scripts": {
|
|
174
|
-
"dev": "modern build --watch",
|
|
175
|
-
"new": "modern new",
|
|
176
|
-
"build": "modern build",
|
|
177
|
-
"test": "jest
|
|
183
|
+
"dev": "modern-lib build --watch",
|
|
184
|
+
"new": "modern-lib new",
|
|
185
|
+
"build": "modern-lib build",
|
|
186
|
+
"test": "jest"
|
|
178
187
|
}
|
|
179
188
|
}
|