@modern-js/server-core 1.2.3 → 1.2.6-canary.0

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 CHANGED
@@ -1,5 +1,25 @@
1
1
  # @modern-js/server-plugin
2
2
 
3
+ ## 1.2.5
4
+
5
+ ### Patch Changes
6
+
7
+ - bebb39b6: chore: improve devDependencies and peerDependencies
8
+ - Updated dependencies [132f7b53]
9
+ - @modern-js/utils@1.3.7
10
+
11
+ ## 1.2.4
12
+
13
+ ### Patch Changes
14
+
15
+ - a8df060e: support setup dev middleware first step
16
+ - 18db013a: support load plugin instace
17
+ - Updated dependencies [c2046f37]
18
+ - Updated dependencies [dc88abf9]
19
+ - Updated dependencies [0462ff77]
20
+ - @modern-js/utils@1.3.6
21
+ - @modern-js/plugin@1.3.2
22
+
3
23
  ## 1.2.3
4
24
 
5
25
  ### Patch Changes
@@ -32,7 +32,7 @@ export const loadPlugins = (plugins, appDirectory) => {
32
32
 
33
33
  if (isPluginInstance) {
34
34
  return {
35
- module: p
35
+ module: createPlugin(p.setup, p)
36
36
  };
37
37
  }
38
38
 
@@ -1,16 +1,17 @@
1
- import { createContext, createAsyncManager, createAsyncPipeline, createAsyncWaterfall, createParallelWorkflow } from '@modern-js/plugin';
1
+ import { createContext, createAsyncManager, createAsyncPipeline, createAsyncWaterfall, createParallelWorkflow, createWaterfall } from '@modern-js/plugin';
2
2
  import { enable } from '@modern-js/plugin/node';
3
3
  enable(); // collect all middleware register in server plugins
4
4
 
5
5
  const gather = createParallelWorkflow();
6
+ // config
7
+ const config = createWaterfall();
8
+ const prepare = createWaterfall();
6
9
  const create = createAsyncPipeline();
7
10
  const prepareWebServer = createAsyncPipeline();
8
11
  const prepareApiServer = createAsyncPipeline();
9
- const preDevServerInit = createParallelWorkflow(); // eslint-disable-next-line @typescript-eslint/ban-types
10
-
12
+ const beforeDevServer = createParallelWorkflow();
11
13
  const setupCompiler = createParallelWorkflow();
12
- const postDevServerInit = createParallelWorkflow(); // TODO FIXME
13
- // eslint-disable-next-line @typescript-eslint/ban-types
14
+ const afterDevServer = createParallelWorkflow(); // TODO FIXME
14
15
 
15
16
  const beforeRouteSet = createAsyncPipeline();
16
17
  const afterRouteSet = createAsyncPipeline();
@@ -24,10 +25,8 @@ const extendContext = createAsyncPipeline();
24
25
  const handleError = createParallelWorkflow();
25
26
  const beforeMatch = createAsyncPipeline();
26
27
  const afterMatch = createAsyncPipeline(); // TODO FIXME
27
- // eslint-disable-next-line @typescript-eslint/ban-types
28
28
 
29
29
  const prefetch = createParallelWorkflow(); // TODO FIXME
30
- // eslint-disable-next-line @typescript-eslint/ban-types
31
30
 
32
31
  const renderToString = createAsyncPipeline();
33
32
  const beforeRender = createAsyncPipeline();
@@ -54,12 +53,14 @@ const pluginAPI = {
54
53
  const serverHooks = {
55
54
  // server hook
56
55
  gather,
56
+ config,
57
+ prepare,
57
58
  create,
58
59
  prepareWebServer,
59
60
  prepareApiServer,
60
- preDevServerInit,
61
+ beforeDevServer,
61
62
  setupCompiler,
62
- postDevServerInit,
63
+ afterDevServer,
63
64
  beforeRouteSet,
64
65
  afterRouteSet,
65
66
  preServerInit,
@@ -40,7 +40,7 @@ const loadPlugins = (plugins, appDirectory) => {
40
40
 
41
41
  if (isPluginInstance) {
42
42
  return {
43
- module: p
43
+ module: (0, _plugin.createPlugin)(p.setup, p)
44
44
  };
45
45
  }
46
46
 
@@ -12,14 +12,15 @@ var _node = require("@modern-js/plugin/node");
12
12
  (0, _node.enable)(); // collect all middleware register in server plugins
13
13
 
14
14
  const gather = (0, _plugin.createParallelWorkflow)();
15
+ // config
16
+ const config = (0, _plugin.createWaterfall)();
17
+ const prepare = (0, _plugin.createWaterfall)();
15
18
  const create = (0, _plugin.createAsyncPipeline)();
16
19
  const prepareWebServer = (0, _plugin.createAsyncPipeline)();
17
20
  const prepareApiServer = (0, _plugin.createAsyncPipeline)();
18
- const preDevServerInit = (0, _plugin.createParallelWorkflow)(); // eslint-disable-next-line @typescript-eslint/ban-types
19
-
21
+ const beforeDevServer = (0, _plugin.createParallelWorkflow)();
20
22
  const setupCompiler = (0, _plugin.createParallelWorkflow)();
21
- const postDevServerInit = (0, _plugin.createParallelWorkflow)(); // TODO FIXME
22
- // eslint-disable-next-line @typescript-eslint/ban-types
23
+ const afterDevServer = (0, _plugin.createParallelWorkflow)(); // TODO FIXME
23
24
 
24
25
  const beforeRouteSet = (0, _plugin.createAsyncPipeline)();
25
26
  const afterRouteSet = (0, _plugin.createAsyncPipeline)();
@@ -33,10 +34,8 @@ const extendContext = (0, _plugin.createAsyncPipeline)();
33
34
  const handleError = (0, _plugin.createParallelWorkflow)();
34
35
  const beforeMatch = (0, _plugin.createAsyncPipeline)();
35
36
  const afterMatch = (0, _plugin.createAsyncPipeline)(); // TODO FIXME
36
- // eslint-disable-next-line @typescript-eslint/ban-types
37
37
 
38
38
  const prefetch = (0, _plugin.createParallelWorkflow)(); // TODO FIXME
39
- // eslint-disable-next-line @typescript-eslint/ban-types
40
39
 
41
40
  const renderToString = (0, _plugin.createAsyncPipeline)();
42
41
  const beforeRender = (0, _plugin.createAsyncPipeline)();
@@ -71,12 +70,14 @@ const pluginAPI = {
71
70
  const serverHooks = {
72
71
  // server hook
73
72
  gather,
73
+ config,
74
+ prepare,
74
75
  create,
75
76
  prepareWebServer,
76
77
  prepareApiServer,
77
- preDevServerInit,
78
+ beforeDevServer,
78
79
  setupCompiler,
79
- postDevServerInit,
80
+ afterDevServer,
80
81
  beforeRouteSet,
81
82
  afterRouteSet,
82
83
  preServerInit,
@@ -1,3 +1,3 @@
1
1
  export * from './plugin';
2
2
  export * from '@modern-js/plugin';
3
- export * from './loadPlugins';
3
+ export * from './loadPlugins';
@@ -1,4 +1,4 @@
1
1
  import { ServerPlugin } from './plugin';
2
2
  declare type Plugin = string | [string, any] | ServerPlugin;
3
3
  export declare const loadPlugins: (plugins: Plugin[], appDirectory: string) => any[];
4
- export {};
4
+ export {};
@@ -5,442 +5,457 @@ import { CommonAPI, ToThreads, AsyncSetup, PluginOptions } from '@modern-js/plug
5
5
  import type { ModernServerContext, BaseSSRServerContext, Metrics, Logger } from '@modern-js/types/server';
6
6
  import type { NormalizedConfig, UserConfig } from '@modern-js/core';
7
7
  import type { ISAppContext } from '@modern-js/types';
8
+ import type { Options } from 'http-proxy-middleware';
8
9
  declare type ServerInitInput = {
9
- loggerOptions: any;
10
- metricsOptions: any;
10
+ loggerOptions: any;
11
+ metricsOptions: any;
11
12
  };
12
13
  declare type InitExtension = {
13
- logger: Logger;
14
- metrics: Metrics;
14
+ logger: Logger;
15
+ metrics: Metrics;
15
16
  };
16
17
  export declare type Adapter = (req: IncomingMessage, res: ServerResponse) => void | Promise<void>;
17
18
  export declare type WebServerStartInput = {
18
- pwd: string;
19
- config: Record<string, any>;
19
+ pwd: string;
20
+ config: Record<string, any>;
20
21
  };
21
22
  export declare type APIServerStartInput = {
22
- pwd: string;
23
- mode: 'function' | 'framework';
24
- prefix?: string;
25
- config?: {
26
- middleware?: Array<any>;
27
- };
23
+ pwd: string;
24
+ mode: 'function' | 'framework';
25
+ prefix?: string;
26
+ config?: {
27
+ middleware?: Array<any>;
28
+ };
28
29
  };
29
- export declare type Route = {};
30
+ export declare type Route = Record<string, unknown>;
30
31
  export declare type RequestResult = {
31
- isfinish: boolean;
32
+ isfinish: boolean;
32
33
  };
33
- export declare type SSRServerContext = {};
34
- export declare type RenderContext = {};
34
+ export declare type SSRServerContext = Record<string, unknown>;
35
+ export declare type RenderContext = Record<string, unknown>;
35
36
  export declare const AppContext: import("@modern-js/plugin").Context<ISAppContext>;
36
37
  export declare const ConfigContext: import("@modern-js/plugin").Context<UserConfig>;
37
38
  /**
38
39
  * Get original content of user config.
39
40
  */
40
-
41
41
  export declare const useConfigContext: () => UserConfig;
42
42
  /**
43
43
  * Get app context, including directories, plugins and some static infos.
44
44
  */
45
-
46
45
  export declare const useAppContext: () => ISAppContext;
47
46
  declare const pluginAPI: {
48
- useAppContext: () => ISAppContext;
49
- useConfigContext: () => UserConfig;
47
+ useAppContext: () => ISAppContext;
48
+ useConfigContext: () => UserConfig;
50
49
  };
51
50
  declare const serverHooks: {
52
- gather: import("@modern-js/plugin").ParallelWorkflow<{
53
- addWebMiddleware: (_input: any) => void;
54
- addAPIMiddleware: (_input: any) => void;
55
- }, unknown>;
56
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
57
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
58
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
59
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
60
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
61
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
62
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
63
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
64
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
65
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
66
- listen: import("@modern-js/plugin").ParallelWorkflow<{
67
- ip: string;
68
- port: number;
69
- }, any[]>;
70
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
71
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
72
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
73
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
74
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
75
- error: Error;
76
- }, unknown>;
77
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
78
- context: ModernServerContext;
79
- }, any>;
80
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
81
- context: ModernServerContext;
82
- routeAPI: any;
83
- }, any>;
84
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
85
- context: SSRServerContext;
86
- }, unknown>;
87
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
88
- App: Component;
89
- context: RenderContext;
90
- }, string>;
91
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
92
- context: ModernServerContext;
93
- }, any>;
94
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
95
- context: ModernServerContext;
96
- templateAPI: any;
97
- }, any>;
98
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
99
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
100
- context: ModernServerContext;
101
- }, unknown>;
102
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
51
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
52
+ addWebMiddleware: (_input: any) => void;
53
+ addAPIMiddleware: (_input: any) => void;
54
+ }, unknown>;
55
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
56
+ prepare: import("@modern-js/plugin").Waterfall<void>;
57
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
58
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
59
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
60
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
61
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
62
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
63
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
64
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
65
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
66
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
67
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
68
+ ip: string;
69
+ port: number;
70
+ }, any[]>;
71
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
72
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
73
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
74
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
75
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
76
+ error: Error;
77
+ }, unknown>;
78
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
79
+ context: ModernServerContext;
80
+ }, any>;
81
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
82
+ context: ModernServerContext;
83
+ routeAPI: any;
84
+ }, any>;
85
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
86
+ context: SSRServerContext;
87
+ }, unknown>;
88
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
89
+ App: Component;
90
+ context: RenderContext;
91
+ }, string>;
92
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
93
+ context: ModernServerContext;
94
+ }, any>;
95
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
96
+ context: ModernServerContext;
97
+ templateAPI: any;
98
+ }, any>;
99
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
100
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
101
+ context: ModernServerContext;
102
+ }, unknown>;
103
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
103
104
  };
104
105
  /** All hooks of server plugin. */
105
-
106
106
  export declare type ServerHooks = typeof serverHooks;
107
107
  /** All hook callbacks of server plugin. */
108
-
109
108
  export declare type ServerHookCallbacks = ToThreads<ServerHooks>;
110
109
  /** All apis for server plugin. */
111
-
112
110
  export declare type PluginAPI = typeof pluginAPI & CommonAPI<ServerHooks>;
113
111
  export declare const createServerManager: () => import("@modern-js/plugin").AsyncManager<{
114
- gather: import("@modern-js/plugin").ParallelWorkflow<{
115
- addWebMiddleware: (_input: any) => void;
116
- addAPIMiddleware: (_input: any) => void;
117
- }, unknown>;
118
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
119
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
120
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
121
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
122
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
123
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
124
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
125
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
126
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
127
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
128
- listen: import("@modern-js/plugin").ParallelWorkflow<{
129
- ip: string;
130
- port: number;
131
- }, any[]>;
132
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
133
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
134
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
135
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
136
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
137
- error: Error;
138
- }, unknown>;
139
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
140
- context: ModernServerContext;
141
- }, any>;
142
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
143
- context: ModernServerContext;
144
- routeAPI: any;
145
- }, any>;
146
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
147
- context: SSRServerContext;
148
- }, unknown>;
149
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
150
- App: Component;
151
- context: RenderContext;
152
- }, string>;
153
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
154
- context: ModernServerContext;
155
- }, any>;
156
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
157
- context: ModernServerContext;
158
- templateAPI: any;
159
- }, any>;
160
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
161
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
162
- context: ModernServerContext;
163
- }, unknown>;
164
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
112
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
113
+ addWebMiddleware: (_input: any) => void;
114
+ addAPIMiddleware: (_input: any) => void;
115
+ }, unknown>;
116
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
117
+ prepare: import("@modern-js/plugin").Waterfall<void>;
118
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
119
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
120
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
121
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
122
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
123
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
124
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
125
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
126
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
127
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
128
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
129
+ ip: string;
130
+ port: number;
131
+ }, any[]>;
132
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
133
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
134
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
135
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
136
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
137
+ error: Error;
138
+ }, unknown>;
139
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
140
+ context: ModernServerContext;
141
+ }, any>;
142
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
143
+ context: ModernServerContext;
144
+ routeAPI: any;
145
+ }, any>;
146
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
147
+ context: SSRServerContext;
148
+ }, unknown>;
149
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
150
+ App: Component;
151
+ context: RenderContext;
152
+ }, string>;
153
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
154
+ context: ModernServerContext;
155
+ }, any>;
156
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
157
+ context: ModernServerContext;
158
+ templateAPI: any;
159
+ }, any>;
160
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
161
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
162
+ context: ModernServerContext;
163
+ }, unknown>;
164
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
165
165
  }, {
166
- useAppContext: () => ISAppContext;
167
- useConfigContext: () => UserConfig;
166
+ useAppContext: () => ISAppContext;
167
+ useConfigContext: () => UserConfig;
168
168
  }>;
169
169
  export declare const serverManager: import("@modern-js/plugin").AsyncManager<{
170
- gather: import("@modern-js/plugin").ParallelWorkflow<{
171
- addWebMiddleware: (_input: any) => void;
172
- addAPIMiddleware: (_input: any) => void;
173
- }, unknown>;
174
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
175
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
176
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
177
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
178
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
179
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
180
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
181
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
182
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
183
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
184
- listen: import("@modern-js/plugin").ParallelWorkflow<{
185
- ip: string;
186
- port: number;
187
- }, any[]>;
188
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
189
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
190
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
191
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
192
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
193
- error: Error;
194
- }, unknown>;
195
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
196
- context: ModernServerContext;
197
- }, any>;
198
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
199
- context: ModernServerContext;
200
- routeAPI: any;
201
- }, any>;
202
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
203
- context: SSRServerContext;
204
- }, unknown>;
205
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
206
- App: Component;
207
- context: RenderContext;
208
- }, string>;
209
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
210
- context: ModernServerContext;
211
- }, any>;
212
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
213
- context: ModernServerContext;
214
- templateAPI: any;
215
- }, any>;
216
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
217
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
218
- context: ModernServerContext;
219
- }, unknown>;
220
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
170
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
171
+ addWebMiddleware: (_input: any) => void;
172
+ addAPIMiddleware: (_input: any) => void;
173
+ }, unknown>;
174
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
175
+ prepare: import("@modern-js/plugin").Waterfall<void>;
176
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
177
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
178
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
179
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
180
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
181
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
182
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
183
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
184
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
185
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
186
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
187
+ ip: string;
188
+ port: number;
189
+ }, any[]>;
190
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
191
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
192
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
193
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
194
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
195
+ error: Error;
196
+ }, unknown>;
197
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
198
+ context: ModernServerContext;
199
+ }, any>;
200
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
201
+ context: ModernServerContext;
202
+ routeAPI: any;
203
+ }, any>;
204
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
205
+ context: SSRServerContext;
206
+ }, unknown>;
207
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
208
+ App: Component;
209
+ context: RenderContext;
210
+ }, string>;
211
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
212
+ context: ModernServerContext;
213
+ }, any>;
214
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
215
+ context: ModernServerContext;
216
+ templateAPI: any;
217
+ }, any>;
218
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
219
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
220
+ context: ModernServerContext;
221
+ }, unknown>;
222
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
221
223
  }, {
222
- useAppContext: () => ISAppContext;
223
- useConfigContext: () => UserConfig;
224
+ useAppContext: () => ISAppContext;
225
+ useConfigContext: () => UserConfig;
224
226
  }>;
225
227
  /** Plugin options of a server plugin. */
226
-
227
228
  export declare type ServerPlugin = PluginOptions<ServerHooks, AsyncSetup<ServerHooks, PluginAPI>>;
229
+ export declare type ServerConfig = {
230
+ bff?: Partial<{
231
+ proxy: Record<string, Options>;
232
+ }>;
233
+ plugins?: ServerPlugin[];
234
+ };
228
235
  export declare const createPlugin: (setup?: AsyncSetup<{
229
- gather: import("@modern-js/plugin").ParallelWorkflow<{
230
- addWebMiddleware: (_input: any) => void;
231
- addAPIMiddleware: (_input: any) => void;
232
- }, unknown>;
233
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
234
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
235
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
236
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
237
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
238
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
239
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
240
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
241
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
242
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
243
- listen: import("@modern-js/plugin").ParallelWorkflow<{
244
- ip: string;
245
- port: number;
246
- }, any[]>;
247
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
248
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
249
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
250
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
251
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
252
- error: Error;
253
- }, unknown>;
254
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
255
- context: ModernServerContext;
256
- }, any>;
257
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
258
- context: ModernServerContext;
259
- routeAPI: any;
260
- }, any>;
261
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
262
- context: SSRServerContext;
263
- }, unknown>;
264
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
265
- App: Component;
266
- context: RenderContext;
267
- }, string>;
268
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
269
- context: ModernServerContext;
270
- }, any>;
271
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
272
- context: ModernServerContext;
273
- templateAPI: any;
274
- }, any>;
275
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
276
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
277
- context: ModernServerContext;
278
- }, unknown>;
279
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
236
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
237
+ addWebMiddleware: (_input: any) => void;
238
+ addAPIMiddleware: (_input: any) => void;
239
+ }, unknown>;
240
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
241
+ prepare: import("@modern-js/plugin").Waterfall<void>;
242
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
243
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
244
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
245
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
246
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
247
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
248
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
249
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
250
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
251
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
252
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
253
+ ip: string;
254
+ port: number;
255
+ }, any[]>;
256
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
257
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
258
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
259
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
260
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
261
+ error: Error;
262
+ }, unknown>;
263
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
264
+ context: ModernServerContext;
265
+ }, any>;
266
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
267
+ context: ModernServerContext;
268
+ routeAPI: any;
269
+ }, any>;
270
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
271
+ context: SSRServerContext;
272
+ }, unknown>;
273
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
274
+ App: Component;
275
+ context: RenderContext;
276
+ }, string>;
277
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
278
+ context: ModernServerContext;
279
+ }, any>;
280
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
281
+ context: ModernServerContext;
282
+ templateAPI: any;
283
+ }, any>;
284
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
285
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
286
+ context: ModernServerContext;
287
+ }, unknown>;
288
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
280
289
  }, {
281
- useAppContext: () => ISAppContext;
282
- useConfigContext: () => UserConfig;
290
+ useAppContext: () => ISAppContext;
291
+ useConfigContext: () => UserConfig;
283
292
  }> | undefined, options?: PluginOptions<{
284
- gather: import("@modern-js/plugin").ParallelWorkflow<{
285
- addWebMiddleware: (_input: any) => void;
286
- addAPIMiddleware: (_input: any) => void;
287
- }, unknown>;
288
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
289
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
290
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
291
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
292
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
293
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
294
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
295
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
296
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
297
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
298
- listen: import("@modern-js/plugin").ParallelWorkflow<{
299
- ip: string;
300
- port: number;
301
- }, any[]>;
302
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
303
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
304
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
305
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
306
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
307
- error: Error;
308
- }, unknown>;
309
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
310
- context: ModernServerContext;
311
- }, any>;
312
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
313
- context: ModernServerContext;
314
- routeAPI: any;
315
- }, any>;
316
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
317
- context: SSRServerContext;
318
- }, unknown>;
319
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
320
- App: Component;
321
- context: RenderContext;
322
- }, string>;
323
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
324
- context: ModernServerContext;
325
- }, any>;
326
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
327
- context: ModernServerContext;
328
- templateAPI: any;
329
- }, any>;
330
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
331
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
332
- context: ModernServerContext;
333
- }, unknown>;
334
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
293
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
294
+ addWebMiddleware: (_input: any) => void;
295
+ addAPIMiddleware: (_input: any) => void;
296
+ }, unknown>;
297
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
298
+ prepare: import("@modern-js/plugin").Waterfall<void>;
299
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
300
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
301
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
302
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
303
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
304
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
305
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
306
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
307
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
308
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
309
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
310
+ ip: string;
311
+ port: number;
312
+ }, any[]>;
313
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
314
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
315
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
316
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
317
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
318
+ error: Error;
319
+ }, unknown>;
320
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
321
+ context: ModernServerContext;
322
+ }, any>;
323
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
324
+ context: ModernServerContext;
325
+ routeAPI: any;
326
+ }, any>;
327
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
328
+ context: SSRServerContext;
329
+ }, unknown>;
330
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
331
+ App: Component;
332
+ context: RenderContext;
333
+ }, string>;
334
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
335
+ context: ModernServerContext;
336
+ }, any>;
337
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
338
+ context: ModernServerContext;
339
+ templateAPI: any;
340
+ }, any>;
341
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
342
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
343
+ context: ModernServerContext;
344
+ }, unknown>;
345
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
335
346
  }, AsyncSetup<{
336
- gather: import("@modern-js/plugin").ParallelWorkflow<{
337
- addWebMiddleware: (_input: any) => void;
338
- addAPIMiddleware: (_input: any) => void;
339
- }, unknown>;
340
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
341
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
342
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
343
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
344
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
345
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
346
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
347
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
348
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
349
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
350
- listen: import("@modern-js/plugin").ParallelWorkflow<{
351
- ip: string;
352
- port: number;
353
- }, any[]>;
354
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
355
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
356
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
357
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
358
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
359
- error: Error;
360
- }, unknown>;
361
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
362
- context: ModernServerContext;
363
- }, any>;
364
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
365
- context: ModernServerContext;
366
- routeAPI: any;
367
- }, any>;
368
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
369
- context: SSRServerContext;
370
- }, unknown>;
371
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
372
- App: Component;
373
- context: RenderContext;
374
- }, string>;
375
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
376
- context: ModernServerContext;
377
- }, any>;
378
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
379
- context: ModernServerContext;
380
- templateAPI: any;
381
- }, any>;
382
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
383
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
384
- context: ModernServerContext;
385
- }, unknown>;
386
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
347
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
348
+ addWebMiddleware: (_input: any) => void;
349
+ addAPIMiddleware: (_input: any) => void;
350
+ }, unknown>;
351
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
352
+ prepare: import("@modern-js/plugin").Waterfall<void>;
353
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
354
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
355
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
356
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
357
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
358
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
359
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
360
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
361
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
362
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
363
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
364
+ ip: string;
365
+ port: number;
366
+ }, any[]>;
367
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
368
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
369
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
370
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
371
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
372
+ error: Error;
373
+ }, unknown>;
374
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
375
+ context: ModernServerContext;
376
+ }, any>;
377
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
378
+ context: ModernServerContext;
379
+ routeAPI: any;
380
+ }, any>;
381
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
382
+ context: SSRServerContext;
383
+ }, unknown>;
384
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
385
+ App: Component;
386
+ context: RenderContext;
387
+ }, string>;
388
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
389
+ context: ModernServerContext;
390
+ }, any>;
391
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
392
+ context: ModernServerContext;
393
+ templateAPI: any;
394
+ }, any>;
395
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
396
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
397
+ context: ModernServerContext;
398
+ }, unknown>;
399
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
387
400
  }, {
388
- useAppContext: () => ISAppContext;
389
- useConfigContext: () => UserConfig;
401
+ useAppContext: () => ISAppContext;
402
+ useConfigContext: () => UserConfig;
390
403
  }>> | undefined) => import("@modern-js/plugin").AsyncPlugin<{
391
- gather: import("@modern-js/plugin").ParallelWorkflow<{
392
- addWebMiddleware: (_input: any) => void;
393
- addAPIMiddleware: (_input: any) => void;
394
- }, unknown>;
395
- create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
396
- prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
397
- prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
398
- preDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
399
- setupCompiler: import("@modern-js/plugin").ParallelWorkflow<{}, any[]>;
400
- postDevServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
401
- beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
402
- afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
403
- preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
404
- postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
405
- listen: import("@modern-js/plugin").ParallelWorkflow<{
406
- ip: string;
407
- port: number;
408
- }, any[]>;
409
- beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
410
- afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
411
- extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
412
- extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
413
- handleError: import("@modern-js/plugin").ParallelWorkflow<{
414
- error: Error;
415
- }, unknown>;
416
- beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
417
- context: ModernServerContext;
418
- }, any>;
419
- afterMatch: import("@modern-js/plugin").AsyncPipeline<{
420
- context: ModernServerContext;
421
- routeAPI: any;
422
- }, any>;
423
- prefetch: import("@modern-js/plugin").ParallelWorkflow<{
424
- context: SSRServerContext;
425
- }, unknown>;
426
- renderToString: import("@modern-js/plugin").AsyncPipeline<{
427
- App: Component;
428
- context: RenderContext;
429
- }, string>;
430
- beforeRender: import("@modern-js/plugin").AsyncPipeline<{
431
- context: ModernServerContext;
432
- }, any>;
433
- afterRender: import("@modern-js/plugin").AsyncPipeline<{
434
- context: ModernServerContext;
435
- templateAPI: any;
436
- }, any>;
437
- beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
438
- afterSend: import("@modern-js/plugin").ParallelWorkflow<{
439
- context: ModernServerContext;
440
- }, unknown>;
441
- reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
404
+ gather: import("@modern-js/plugin").ParallelWorkflow<{
405
+ addWebMiddleware: (_input: any) => void;
406
+ addAPIMiddleware: (_input: any) => void;
407
+ }, unknown>;
408
+ config: import("@modern-js/plugin").Waterfall<ServerConfig>;
409
+ prepare: import("@modern-js/plugin").Waterfall<void>;
410
+ create: import("@modern-js/plugin").AsyncPipeline<ServerInitInput, InitExtension>;
411
+ prepareWebServer: import("@modern-js/plugin").AsyncPipeline<WebServerStartInput, Adapter>;
412
+ prepareApiServer: import("@modern-js/plugin").AsyncPipeline<APIServerStartInput, Adapter>;
413
+ beforeDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
414
+ setupCompiler: import("@modern-js/plugin").ParallelWorkflow<Record<string, unknown>, any[]>;
415
+ afterDevServer: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
416
+ beforeRouteSet: import("@modern-js/plugin").AsyncPipeline<Route[], Route[]>;
417
+ afterRouteSet: import("@modern-js/plugin").AsyncPipeline<unknown, unknown>;
418
+ preServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
419
+ postServerInit: import("@modern-js/plugin").ParallelWorkflow<NormalizedConfig, any>;
420
+ listen: import("@modern-js/plugin").ParallelWorkflow<{
421
+ ip: string;
422
+ port: number;
423
+ }, any[]>;
424
+ beforeServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
425
+ afterServerReset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
426
+ extendSSRContext: import("@modern-js/plugin").AsyncWaterfall<BaseSSRServerContext>;
427
+ extendContext: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, ModernServerContext>;
428
+ handleError: import("@modern-js/plugin").ParallelWorkflow<{
429
+ error: Error;
430
+ }, unknown>;
431
+ beforeMatch: import("@modern-js/plugin").AsyncPipeline<{
432
+ context: ModernServerContext;
433
+ }, any>;
434
+ afterMatch: import("@modern-js/plugin").AsyncPipeline<{
435
+ context: ModernServerContext;
436
+ routeAPI: any;
437
+ }, any>;
438
+ prefetch: import("@modern-js/plugin").ParallelWorkflow<{
439
+ context: SSRServerContext;
440
+ }, unknown>;
441
+ renderToString: import("@modern-js/plugin").AsyncPipeline<{
442
+ App: Component;
443
+ context: RenderContext;
444
+ }, string>;
445
+ beforeRender: import("@modern-js/plugin").AsyncPipeline<{
446
+ context: ModernServerContext;
447
+ }, any>;
448
+ afterRender: import("@modern-js/plugin").AsyncPipeline<{
449
+ context: ModernServerContext;
450
+ templateAPI: any;
451
+ }, any>;
452
+ beforeSend: import("@modern-js/plugin").AsyncPipeline<ModernServerContext, RequestResult>;
453
+ afterSend: import("@modern-js/plugin").ParallelWorkflow<{
454
+ context: ModernServerContext;
455
+ }, unknown>;
456
+ reset: import("@modern-js/plugin").ParallelWorkflow<void, unknown>;
442
457
  }, {
443
- useAppContext: () => ISAppContext;
444
- useConfigContext: () => UserConfig;
458
+ useAppContext: () => ISAppContext;
459
+ useConfigContext: () => UserConfig;
445
460
  }>;
446
- export {};
461
+ export {};
package/jest.config.js CHANGED
@@ -2,7 +2,6 @@ const sharedConfig = require('@scripts/jest-config');
2
2
 
3
3
  /** @type {import('@jest/types').Config.InitialOptions} */
4
4
  module.exports = {
5
- // eslint-disable-next-line node/no-unsupported-features/es-syntax
6
5
  ...sharedConfig,
7
6
  rootDir: __dirname,
8
7
  };
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "modern",
12
12
  "modern.js"
13
13
  ],
14
- "version": "1.2.3",
14
+ "version": "1.2.6-canary.0",
15
15
  "jsnext:source": "./src/index.ts",
16
16
  "types": "./dist/types/index.d.ts",
17
17
  "main": "./dist/js/node/index.js",
@@ -28,21 +28,22 @@
28
28
  }
29
29
  },
30
30
  "dependencies": {
31
- "@modern-js/plugin": "^1.3.0",
32
- "@modern-js/utils": "^1.3.5"
31
+ "@modern-js/plugin": "^1.3.2",
32
+ "@modern-js/utils": "^1.3.7"
33
33
  },
34
34
  "devDependencies": {
35
- "@modern-js/core": "^1.5.0",
35
+ "@modern-js/core": "1.6.1",
36
36
  "@modern-js/types": "^1.3.5",
37
+ "@scripts/build": "0.0.0",
38
+ "@scripts/jest-config": "0.0.0",
37
39
  "@types/jest": "^26",
38
40
  "@types/node": "^14",
39
41
  "@types/react": "^17",
40
42
  "@types/react-dom": "^17",
41
- "ts-jest": "^27.0.4",
42
- "typescript": "^4",
43
- "@scripts/build": "0.0.0",
43
+ "http-proxy-middleware": "^2.0.4",
44
44
  "jest": "^27",
45
- "@scripts/jest-config": "0.0.0"
45
+ "ts-jest": "^27.0.4",
46
+ "typescript": "^4"
46
47
  },
47
48
  "sideEffects": false,
48
49
  "modernConfig": {
@@ -52,7 +53,8 @@
52
53
  },
53
54
  "publishConfig": {
54
55
  "registry": "https://registry.npmjs.org/",
55
- "access": "public"
56
+ "access": "public",
57
+ "types": "./dist/types/index.d.ts"
56
58
  },
57
59
  "scripts": {
58
60
  "new": "modern new",
@@ -1,4 +1,5 @@
1
1
  import { serverManager } from '../src';
2
+ import { ServerConfig } from '../src/plugin';
2
3
 
3
4
  describe('Default cases', () => {
4
5
  it('Have returns plugins', async () => {
@@ -19,4 +20,41 @@ describe('Default cases', () => {
19
20
 
20
21
  expect(count).toBe(1);
21
22
  });
23
+
24
+ it('config hook should works correctly', async () => {
25
+ const proxy = {
26
+ '/bff': {
27
+ target: 'https://modernjs.dev',
28
+ changeOrigin: true,
29
+ },
30
+ };
31
+ const expectedServerConfig = {
32
+ bff: {
33
+ proxy,
34
+ },
35
+ };
36
+ let receivedServerConfig: ServerConfig = {};
37
+
38
+ serverManager.usePlugin(
39
+ serverManager.createPlugin(() => ({
40
+ config(serverConfig) {
41
+ serverConfig.bff = {
42
+ proxy,
43
+ };
44
+ return serverConfig;
45
+ },
46
+ })),
47
+
48
+ serverManager.createPlugin(() => ({
49
+ config(serverConfig) {
50
+ receivedServerConfig = serverConfig;
51
+ return receivedServerConfig;
52
+ },
53
+ })),
54
+ );
55
+
56
+ const runner = await serverManager.init();
57
+ runner.config({});
58
+ expect(expectedServerConfig).toEqual(receivedServerConfig);
59
+ });
22
60
  });