@modern-js/plugin 2.69.7 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/cli/api.js +119 -0
- package/dist/cjs/cli/context.js +85 -0
- package/dist/cjs/cli/hooks.js +65 -0
- package/dist/cjs/cli/index.js +68 -0
- package/dist/cjs/cli/run/config/createLoadedConfig.js +87 -0
- package/dist/cjs/cli/run/config/createResolvedConfig.js +48 -0
- package/dist/cjs/cli/run/config/loadConfig.js +113 -0
- package/dist/cjs/cli/run/create.js +187 -0
- package/dist/cjs/cli/run/index.js +56 -0
- package/dist/cjs/cli/run/run.js +57 -0
- package/dist/cjs/cli/run/types.js +18 -0
- package/dist/cjs/cli/run/utils/checkIsDuplicationPlugin.js +45 -0
- package/dist/cjs/cli/run/utils/commander.js +56 -0
- package/dist/cjs/cli/run/utils/createFileWatcher.js +112 -0
- package/dist/cjs/cli/run/utils/debug.js +37 -0
- package/dist/cjs/cli/run/utils/initAppDir.js +55 -0
- package/dist/cjs/cli/run/utils/mergeConfig.js +66 -0
- package/dist/cjs/hooks.js +169 -0
- package/dist/cjs/index.js +53 -26
- package/dist/cjs/manager.js +135 -0
- package/dist/cjs/runtime/api.js +95 -0
- package/dist/cjs/runtime/context.js +60 -0
- package/dist/cjs/runtime/hooks.js +46 -0
- package/dist/cjs/runtime/index.js +51 -0
- package/dist/cjs/runtime/run/create.js +79 -0
- package/dist/cjs/runtime/run/index.js +37 -0
- package/dist/cjs/runtime/run/types.js +18 -0
- package/dist/cjs/server/api.js +96 -0
- package/dist/cjs/server/context.js +75 -0
- package/dist/cjs/server/hooks.js +43 -0
- package/dist/cjs/server/index.js +54 -0
- package/dist/cjs/server/run/create.js +79 -0
- package/dist/cjs/server/run/index.js +40 -0
- package/dist/cjs/server/run/types.js +18 -0
- package/dist/cjs/types/cli/api.js +18 -0
- package/dist/cjs/types/cli/context.js +18 -0
- package/dist/cjs/types/cli/hooks.js +18 -0
- package/dist/cjs/types/cli/index.js +18 -0
- package/dist/cjs/types/cli/plugin.js +18 -0
- package/dist/cjs/types/hooks.js +18 -0
- package/dist/cjs/types/index.js +18 -0
- package/dist/cjs/types/plugin.js +18 -0
- package/dist/cjs/types/runtime/api.js +18 -0
- package/dist/cjs/types/runtime/context.js +18 -0
- package/dist/cjs/types/runtime/hooks.js +18 -0
- package/dist/cjs/types/runtime/index.js +18 -0
- package/dist/cjs/types/runtime/plugin.js +18 -0
- package/dist/cjs/types/server/api.js +18 -0
- package/dist/cjs/types/server/context.js +18 -0
- package/dist/cjs/types/server/hooks.js +18 -0
- package/dist/cjs/types/server/index.js +18 -0
- package/dist/cjs/types/server/plugin.js +18 -0
- package/dist/cjs/types/utils.js +18 -0
- package/dist/esm/cli/api.mjs +85 -0
- package/dist/esm/cli/context.mjs +38 -0
- package/dist/esm/cli/hooks.mjs +31 -0
- package/dist/esm/cli/index.mjs +7 -0
- package/dist/esm/cli/run/config/createLoadedConfig.mjs +53 -0
- package/dist/esm/cli/run/config/createResolvedConfig.mjs +14 -0
- package/dist/esm/cli/run/config/loadConfig.mjs +59 -0
- package/dist/esm/cli/run/create.mjs +150 -0
- package/dist/esm/cli/run/index.mjs +7 -0
- package/dist/esm/cli/run/run.mjs +23 -0
- package/dist/esm/cli/run/types.mjs +0 -0
- package/dist/esm/cli/run/utils/checkIsDuplicationPlugin.mjs +11 -0
- package/dist/esm/cli/run/utils/commander.mjs +16 -0
- package/dist/esm/cli/run/utils/createFileWatcher.mjs +68 -0
- package/dist/esm/cli/run/utils/debug.mjs +3 -0
- package/dist/esm/cli/run/utils/initAppDir.mjs +11 -0
- package/dist/esm/cli/run/utils/mergeConfig.mjs +32 -0
- package/dist/esm/hooks.mjs +120 -0
- package/dist/esm/index.mjs +3 -0
- package/dist/esm/manager.mjs +101 -0
- package/dist/esm/runtime/api.mjs +61 -0
- package/dist/esm/runtime/context.mjs +23 -0
- package/dist/esm/runtime/hooks.mjs +12 -0
- package/dist/esm/runtime/index.mjs +5 -0
- package/dist/esm/runtime/run/create.mjs +45 -0
- package/dist/esm/runtime/run/index.mjs +3 -0
- package/dist/esm/runtime/run/types.mjs +0 -0
- package/dist/esm/server/api.mjs +59 -0
- package/dist/esm/server/context.mjs +38 -0
- package/dist/esm/server/hooks.mjs +9 -0
- package/dist/esm/server/index.mjs +5 -0
- package/dist/esm/server/run/create.mjs +45 -0
- package/dist/esm/server/run/index.mjs +3 -0
- package/dist/esm/server/run/types.mjs +0 -0
- package/dist/esm/types/cli/api.mjs +0 -0
- package/dist/esm/types/cli/context.mjs +0 -0
- package/dist/esm/types/cli/hooks.mjs +0 -0
- package/dist/esm/types/cli/index.mjs +0 -0
- package/dist/esm/types/cli/plugin.mjs +0 -0
- package/dist/esm/types/hooks.mjs +0 -0
- package/dist/esm/types/index.mjs +0 -0
- package/dist/esm/types/plugin.mjs +0 -0
- package/dist/esm/types/runtime/api.mjs +0 -0
- package/dist/esm/types/runtime/context.mjs +0 -0
- package/dist/esm/types/runtime/hooks.mjs +0 -0
- package/dist/esm/types/runtime/index.mjs +0 -0
- package/dist/esm/types/runtime/plugin.mjs +0 -0
- package/dist/esm/types/server/api.mjs +0 -0
- package/dist/esm/types/server/context.mjs +0 -0
- package/dist/esm/types/server/hooks.mjs +0 -0
- package/dist/esm/types/server/index.mjs +0 -0
- package/dist/esm/types/server/plugin.mjs +0 -0
- package/dist/esm/types/utils.mjs +0 -0
- package/dist/esm-node/cli/api.mjs +85 -0
- package/dist/esm-node/cli/context.mjs +38 -0
- package/dist/esm-node/cli/hooks.mjs +31 -0
- package/dist/esm-node/cli/index.mjs +7 -0
- package/dist/esm-node/cli/run/config/createLoadedConfig.mjs +53 -0
- package/dist/esm-node/cli/run/config/createResolvedConfig.mjs +14 -0
- package/dist/esm-node/cli/run/config/loadConfig.mjs +59 -0
- package/dist/esm-node/cli/run/create.mjs +150 -0
- package/dist/esm-node/cli/run/index.mjs +7 -0
- package/dist/esm-node/cli/run/run.mjs +23 -0
- package/dist/esm-node/cli/run/utils/checkIsDuplicationPlugin.mjs +11 -0
- package/dist/esm-node/cli/run/utils/commander.mjs +16 -0
- package/dist/esm-node/cli/run/utils/createFileWatcher.mjs +68 -0
- package/dist/esm-node/cli/run/utils/debug.mjs +3 -0
- package/dist/esm-node/cli/run/utils/initAppDir.mjs +11 -0
- package/dist/esm-node/cli/run/utils/mergeConfig.mjs +32 -0
- package/dist/esm-node/hooks.mjs +120 -0
- package/dist/esm-node/index.mjs +3 -0
- package/dist/esm-node/manager.mjs +101 -0
- package/dist/esm-node/runtime/api.mjs +61 -0
- package/dist/esm-node/runtime/context.mjs +23 -0
- package/dist/esm-node/runtime/hooks.mjs +12 -0
- package/dist/esm-node/runtime/index.mjs +5 -0
- package/dist/esm-node/runtime/run/create.mjs +45 -0
- package/dist/esm-node/runtime/run/index.mjs +3 -0
- package/dist/esm-node/runtime/run/types.mjs +0 -0
- package/dist/esm-node/server/api.mjs +59 -0
- package/dist/esm-node/server/context.mjs +38 -0
- package/dist/esm-node/server/hooks.mjs +9 -0
- package/dist/esm-node/server/index.mjs +5 -0
- package/dist/esm-node/server/run/create.mjs +45 -0
- package/dist/esm-node/server/run/index.mjs +3 -0
- package/dist/esm-node/server/run/types.mjs +0 -0
- package/dist/esm-node/types/cli/api.mjs +0 -0
- package/dist/esm-node/types/cli/context.mjs +0 -0
- package/dist/esm-node/types/cli/hooks.mjs +0 -0
- package/dist/esm-node/types/cli/index.mjs +0 -0
- package/dist/esm-node/types/cli/plugin.mjs +0 -0
- package/dist/esm-node/types/hooks.mjs +0 -0
- package/dist/esm-node/types/index.mjs +0 -0
- package/dist/esm-node/types/plugin.mjs +0 -0
- package/dist/esm-node/types/runtime/api.mjs +0 -0
- package/dist/esm-node/types/runtime/context.mjs +0 -0
- package/dist/esm-node/types/runtime/hooks.mjs +0 -0
- package/dist/esm-node/types/runtime/index.mjs +0 -0
- package/dist/esm-node/types/runtime/plugin.mjs +0 -0
- package/dist/esm-node/types/server/api.mjs +0 -0
- package/dist/esm-node/types/server/context.mjs +0 -0
- package/dist/esm-node/types/server/hooks.mjs +0 -0
- package/dist/esm-node/types/server/index.mjs +0 -0
- package/dist/esm-node/types/server/plugin.mjs +0 -0
- package/dist/esm-node/types/utils.mjs +0 -0
- package/dist/types/cli/api.d.ts +8 -0
- package/dist/types/cli/context.d.ts +19 -0
- package/dist/types/cli/hooks.d.ts +42 -0
- package/dist/types/cli/index.d.ts +6 -0
- package/dist/types/cli/run/config/createLoadedConfig.d.ts +2 -0
- package/dist/types/cli/run/config/createResolvedConfig.d.ts +3 -0
- package/dist/types/cli/run/config/loadConfig.d.ts +25 -0
- package/dist/types/cli/run/create.d.ts +16 -0
- package/dist/types/cli/run/index.d.ts +13 -0
- package/dist/types/cli/run/run.d.ts +2 -0
- package/dist/types/cli/run/types.d.ts +32 -0
- package/dist/types/cli/run/utils/checkIsDuplicationPlugin.d.ts +1 -0
- package/dist/types/cli/run/utils/commander.d.ts +5 -0
- package/dist/types/cli/run/utils/createFileWatcher.d.ts +3 -0
- package/dist/types/cli/run/utils/debug.d.ts +1 -0
- package/dist/types/cli/run/utils/initAppDir.d.ts +1 -0
- package/dist/types/cli/run/utils/mergeConfig.d.ts +2 -0
- package/dist/types/hooks.d.ts +7 -0
- package/dist/types/index.d.ts +7 -4
- package/dist/types/manager.d.ts +5 -0
- package/dist/types/runtime/api.d.ts +9 -0
- package/dist/types/runtime/context.d.ts +11 -0
- package/dist/types/runtime/hooks.d.ts +2 -0
- package/dist/types/runtime/index.d.ts +5 -0
- package/dist/types/runtime/run/create.d.ts +7 -0
- package/dist/types/runtime/run/index.d.ts +5 -0
- package/dist/types/runtime/run/types.d.ts +6 -0
- package/dist/types/server/api.d.ts +9 -0
- package/dist/types/server/context.d.ts +13 -0
- package/dist/types/server/hooks.d.ts +9 -0
- package/dist/types/server/index.d.ts +4 -0
- package/dist/types/server/run/create.d.ts +7 -0
- package/dist/types/server/run/index.d.ts +8 -0
- package/dist/types/server/run/types.d.ts +22 -0
- package/dist/types/types/cli/api.d.ts +49 -0
- package/dist/types/types/cli/context.d.ts +42 -0
- package/dist/types/types/cli/hooks.d.ts +72 -0
- package/dist/types/types/cli/index.d.ts +4 -0
- package/dist/types/types/cli/plugin.d.ts +17 -0
- package/dist/types/types/hooks.d.ts +27 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/plugin.d.ts +46 -0
- package/dist/types/types/runtime/api.d.ts +22 -0
- package/dist/types/types/runtime/context.d.ts +13 -0
- package/dist/types/types/runtime/hooks.d.ts +39 -0
- package/dist/types/types/runtime/index.d.ts +4 -0
- package/dist/types/types/runtime/plugin.d.ts +14 -0
- package/dist/types/types/server/api.d.ts +19 -0
- package/dist/types/types/server/context.d.ts +28 -0
- package/dist/types/types/server/hooks.d.ts +24 -0
- package/dist/types/types/server/index.d.ts +4 -0
- package/dist/types/types/server/plugin.d.ts +14 -0
- package/dist/types/types/utils.d.ts +7 -0
- package/package.json +68 -14
- package/rslib.config.mts +4 -0
- package/rstest.config.ts +5 -0
- package/dist/cjs/farrow-pipeline/context.js +0 -44
- package/dist/cjs/farrow-pipeline/counter.js +0 -37
- package/dist/cjs/farrow-pipeline/index.js +0 -87
- package/dist/cjs/manager/async.js +0 -124
- package/dist/cjs/manager/index.js +0 -26
- package/dist/cjs/manager/shared.js +0 -60
- package/dist/cjs/manager/sync.js +0 -194
- package/dist/cjs/manager/types.js +0 -16
- package/dist/cjs/waterfall/async.js +0 -68
- package/dist/cjs/waterfall/index.js +0 -24
- package/dist/cjs/waterfall/sync.js +0 -67
- package/dist/cjs/workflow/async.js +0 -60
- package/dist/cjs/workflow/index.js +0 -30
- package/dist/cjs/workflow/interrupt.js +0 -64
- package/dist/cjs/workflow/parallel.js +0 -53
- package/dist/cjs/workflow/sync.js +0 -56
- package/dist/cjs/workflow/syncParallel.js +0 -55
- package/dist/esm/index.js +0 -882
- package/dist/esm-node/farrow-pipeline/context.js +0 -20
- package/dist/esm-node/farrow-pipeline/counter.js +0 -13
- package/dist/esm-node/farrow-pipeline/index.js +0 -60
- package/dist/esm-node/index.js +0 -4
- package/dist/esm-node/manager/async.js +0 -106
- package/dist/esm-node/manager/index.js +0 -3
- package/dist/esm-node/manager/shared.js +0 -32
- package/dist/esm-node/manager/sync.js +0 -172
- package/dist/esm-node/waterfall/async.js +0 -42
- package/dist/esm-node/waterfall/index.js +0 -2
- package/dist/esm-node/waterfall/sync.js +0 -41
- package/dist/esm-node/workflow/async.js +0 -35
- package/dist/esm-node/workflow/index.js +0 -5
- package/dist/esm-node/workflow/interrupt.js +0 -39
- package/dist/esm-node/workflow/parallel.js +0 -28
- package/dist/esm-node/workflow/sync.js +0 -31
- package/dist/esm-node/workflow/syncParallel.js +0 -30
- package/dist/types/farrow-pipeline/context.d.ts +0 -12
- package/dist/types/farrow-pipeline/counter.d.ts +0 -11
- package/dist/types/farrow-pipeline/index.d.ts +0 -29
- package/dist/types/manager/async.d.ts +0 -54
- package/dist/types/manager/index.d.ts +0 -3
- package/dist/types/manager/shared.d.ts +0 -12
- package/dist/types/manager/sync.d.ts +0 -66
- package/dist/types/manager/types.d.ts +0 -33
- package/dist/types/waterfall/async.d.ts +0 -21
- package/dist/types/waterfall/index.d.ts +0 -2
- package/dist/types/waterfall/sync.d.ts +0 -20
- package/dist/types/workflow/async.d.ts +0 -12
- package/dist/types/workflow/index.d.ts +0 -5
- package/dist/types/workflow/interrupt.d.ts +0 -12
- package/dist/types/workflow/parallel.d.ts +0 -10
- package/dist/types/workflow/sync.d.ts +0 -11
- package/dist/types/workflow/syncParallel.d.ts +0 -10
- /package/dist/esm-node/{manager/types.js → cli/run/types.mjs} +0 -0
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { merge } from "@modern-js/runtime-utils/merge";
|
|
2
|
+
import { createPluginManager } from "../../manager.mjs";
|
|
3
|
+
import { initPluginAPI } from "../api.mjs";
|
|
4
|
+
import { createRuntimeContext, initRuntimeContext } from "../context.mjs";
|
|
5
|
+
const createRuntime = ()=>{
|
|
6
|
+
let initOptions;
|
|
7
|
+
const pluginManager = createPluginManager();
|
|
8
|
+
function init(options) {
|
|
9
|
+
pluginManager.clear();
|
|
10
|
+
initOptions = options;
|
|
11
|
+
const { plugins: allPlugins, handleSetupResult } = options;
|
|
12
|
+
pluginManager.addPlugins(allPlugins);
|
|
13
|
+
const plugins = pluginManager.getPlugins();
|
|
14
|
+
const context = createRuntimeContext({
|
|
15
|
+
runtimeContext: initRuntimeContext(),
|
|
16
|
+
config: initOptions.config,
|
|
17
|
+
plugins
|
|
18
|
+
});
|
|
19
|
+
const pluginAPI = initPluginAPI({
|
|
20
|
+
context,
|
|
21
|
+
pluginManager,
|
|
22
|
+
plugins
|
|
23
|
+
});
|
|
24
|
+
context.pluginAPI = pluginAPI;
|
|
25
|
+
for (const plugin of plugins){
|
|
26
|
+
const setupResult = plugin.setup?.(pluginAPI);
|
|
27
|
+
if (handleSetupResult) handleSetupResult(setupResult, pluginAPI);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
runtimeContext: context
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function run(options) {
|
|
34
|
+
const { runtimeContext } = init(options);
|
|
35
|
+
const configs = runtimeContext.hooks.config.call().filter((config)=>Boolean(config));
|
|
36
|
+
runtimeContext.config = merge({}, ...configs, runtimeContext.config || {});
|
|
37
|
+
return {
|
|
38
|
+
runtimeContext
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
run
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export { createRuntime };
|
|
File without changes
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { createDebugger } from "@modern-js/utils";
|
|
2
|
+
import { assign as lodash_assign } from "@modern-js/utils/lodash";
|
|
3
|
+
const debug = createDebugger('plugin-server-v2');
|
|
4
|
+
function initPluginAPI({ context, pluginManager }) {
|
|
5
|
+
const { hooks, extendsHooks, plugins } = context;
|
|
6
|
+
function getServerContext() {
|
|
7
|
+
if (context) {
|
|
8
|
+
const { hooks, extendsHooks, config, pluginAPI, ...serverContext } = context;
|
|
9
|
+
serverContext._internalContext = context;
|
|
10
|
+
return serverContext;
|
|
11
|
+
}
|
|
12
|
+
throw new Error('Cannot access context');
|
|
13
|
+
}
|
|
14
|
+
function getConfig() {
|
|
15
|
+
if (context.config) return context.config;
|
|
16
|
+
throw new Error('Cannot access config');
|
|
17
|
+
}
|
|
18
|
+
function getHooks() {
|
|
19
|
+
return context.hooks;
|
|
20
|
+
}
|
|
21
|
+
const extendsPluginApi = {};
|
|
22
|
+
plugins.forEach((plugin)=>{
|
|
23
|
+
const { _registryApi } = plugin;
|
|
24
|
+
if (_registryApi) {
|
|
25
|
+
const apis = _registryApi(getServerContext, updateServerContext);
|
|
26
|
+
Object.keys(apis).forEach((apiName)=>{
|
|
27
|
+
extendsPluginApi[apiName] = apis[apiName];
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
if (extendsHooks) Object.keys(extendsHooks).forEach((hookName)=>{
|
|
32
|
+
extendsPluginApi[hookName] = extendsHooks[hookName].tap;
|
|
33
|
+
});
|
|
34
|
+
function updateServerContext(updateContext) {
|
|
35
|
+
context = lodash_assign(context, updateContext);
|
|
36
|
+
}
|
|
37
|
+
const pluginAPI = {
|
|
38
|
+
isPluginExists: pluginManager.isPluginExists,
|
|
39
|
+
getServerContext,
|
|
40
|
+
getServerConfig: getConfig,
|
|
41
|
+
getHooks,
|
|
42
|
+
updateServerContext,
|
|
43
|
+
modifyConfig: hooks.modifyConfig.tap,
|
|
44
|
+
onPrepare: hooks.onPrepare.tap,
|
|
45
|
+
onReset: hooks.onReset.tap,
|
|
46
|
+
...extendsPluginApi
|
|
47
|
+
};
|
|
48
|
+
if ("u" < typeof Proxy) return pluginAPI;
|
|
49
|
+
return new Proxy(pluginAPI, {
|
|
50
|
+
get (target, prop) {
|
|
51
|
+
if ('then' === prop) return;
|
|
52
|
+
if (prop in target) return target[prop];
|
|
53
|
+
return ()=>{
|
|
54
|
+
debug(`api.${prop.toString()} not exist`);
|
|
55
|
+
};
|
|
56
|
+
}
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
export { debug, initPluginAPI };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { initHooks } from "./hooks.mjs";
|
|
2
|
+
function initServerContext(params) {
|
|
3
|
+
const { options, plugins } = params;
|
|
4
|
+
return {
|
|
5
|
+
routes: options.routes || [],
|
|
6
|
+
appDirectory: options.appContext.appDirectory || '',
|
|
7
|
+
apiDirectory: options.appContext.apiDirectory,
|
|
8
|
+
lambdaDirectory: options.appContext.lambdaDirectory,
|
|
9
|
+
internalDirectory: options.appContext.internalDirectory || '',
|
|
10
|
+
sharedDirectory: options.appContext.sharedDirectory || '',
|
|
11
|
+
distDirectory: options.pwd,
|
|
12
|
+
metaName: options.metaName || 'modern-js',
|
|
13
|
+
plugins: plugins,
|
|
14
|
+
middlewares: [],
|
|
15
|
+
bffRuntimeFramework: options.appContext.bffRuntimeFramework,
|
|
16
|
+
renderMiddlewares: []
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
function createServerContext({ serverContext, config }) {
|
|
20
|
+
const { plugins } = serverContext;
|
|
21
|
+
const extendsHooks = {};
|
|
22
|
+
plugins.forEach((plugin)=>{
|
|
23
|
+
const { registryHooks = {} } = plugin;
|
|
24
|
+
Object.keys(registryHooks).forEach((hookName)=>{
|
|
25
|
+
extendsHooks[hookName] = registryHooks[hookName];
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
return {
|
|
29
|
+
...serverContext,
|
|
30
|
+
hooks: {
|
|
31
|
+
...initHooks(),
|
|
32
|
+
...extendsHooks
|
|
33
|
+
},
|
|
34
|
+
extendsHooks,
|
|
35
|
+
config
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export { createServerContext, initServerContext };
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { initPluginAPI } from "./api.mjs";
|
|
2
|
+
import { createServerContext, initServerContext } from "./context.mjs";
|
|
3
|
+
import { initHooks } from "./hooks.mjs";
|
|
4
|
+
import { createServer, server } from "./run/index.mjs";
|
|
5
|
+
export { createServer, createServerContext, initHooks, initPluginAPI, initServerContext, server };
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { createPluginManager } from "../../manager.mjs";
|
|
2
|
+
import { initPluginAPI } from "../api.mjs";
|
|
3
|
+
import { createServerContext, initServerContext } from "../context.mjs";
|
|
4
|
+
const createServer = ()=>{
|
|
5
|
+
let initOptions;
|
|
6
|
+
const pluginManager = createPluginManager();
|
|
7
|
+
function init(options) {
|
|
8
|
+
pluginManager.clear();
|
|
9
|
+
initOptions = options;
|
|
10
|
+
const { plugins: allPlugins, options: runOptions, handleSetupResult } = initOptions;
|
|
11
|
+
pluginManager.addPlugins(allPlugins);
|
|
12
|
+
const plugins = pluginManager.getPlugins();
|
|
13
|
+
const context = createServerContext({
|
|
14
|
+
serverContext: initServerContext({
|
|
15
|
+
plugins,
|
|
16
|
+
options: runOptions
|
|
17
|
+
}),
|
|
18
|
+
config: initOptions.config
|
|
19
|
+
});
|
|
20
|
+
const pluginAPI = initPluginAPI({
|
|
21
|
+
context,
|
|
22
|
+
pluginManager
|
|
23
|
+
});
|
|
24
|
+
context.pluginAPI = pluginAPI;
|
|
25
|
+
for (const plugin of plugins){
|
|
26
|
+
const setupResult = plugin.setup?.(pluginAPI);
|
|
27
|
+
if (handleSetupResult) handleSetupResult(setupResult, pluginAPI);
|
|
28
|
+
}
|
|
29
|
+
return {
|
|
30
|
+
serverContext: context
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
async function run(options) {
|
|
34
|
+
const { serverContext } = init(options);
|
|
35
|
+
const config = await serverContext.hooks.modifyConfig.call(serverContext.config);
|
|
36
|
+
serverContext.config = config;
|
|
37
|
+
return {
|
|
38
|
+
serverContext
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
return {
|
|
42
|
+
run
|
|
43
|
+
};
|
|
44
|
+
};
|
|
45
|
+
export { createServer };
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CLIPluginAPI } from '../types/cli/api';
|
|
2
|
+
import type { InternalContext } from '../types/cli/context';
|
|
3
|
+
import type { CLIPluginExtends } from '../types/cli/plugin';
|
|
4
|
+
import type { PluginManager } from '../types/plugin';
|
|
5
|
+
export declare function initPluginAPI<Extends extends CLIPluginExtends>({ context, pluginManager, }: {
|
|
6
|
+
context: InternalContext<Extends>;
|
|
7
|
+
pluginManager: PluginManager;
|
|
8
|
+
}): CLIPluginAPI<Extends>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { AppContext, InternalContext } from '../types/cli/context';
|
|
2
|
+
import type { CLIPlugin, CLIPluginExtends } from '../types/cli/plugin';
|
|
3
|
+
interface ContextParams<Extends extends CLIPluginExtends> {
|
|
4
|
+
appContext: AppContext<Extends>;
|
|
5
|
+
config: Extends['config'];
|
|
6
|
+
normalizedConfig: Extends['normalizedConfig'];
|
|
7
|
+
}
|
|
8
|
+
export declare function initAppContext<Extends extends CLIPluginExtends>(params: {
|
|
9
|
+
packageName: string;
|
|
10
|
+
configFile: string;
|
|
11
|
+
command: string;
|
|
12
|
+
appDirectory: string;
|
|
13
|
+
metaName: string;
|
|
14
|
+
plugins: CLIPlugin<Extends>[];
|
|
15
|
+
srcDir?: string;
|
|
16
|
+
distDir?: string;
|
|
17
|
+
}): AppContext<Extends>;
|
|
18
|
+
export declare function createContext<Extends extends CLIPluginExtends>({ appContext, config, normalizedConfig, }: ContextParams<Extends>): Promise<InternalContext<Extends>>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { OnAfterBuildFn, OnAfterCreateCompilerFn, OnBeforeBuildFn, OnBeforeCreateCompilerFn, OnDevCompileDoneFn } from '@rsbuild/core';
|
|
2
|
+
import type { AddCommandFn, AddWatchFilesFn, ConfigFn, InternalRuntimePluginsFn, InternalServerPluginsFn, ModifyBundlerChainFn, ModifyConfigFn, ModifyHtmlPartialsFn, ModifyResolvedConfigFn, ModifyRsbuildConfigFn, ModifyRspackConfigFn, ModifyServerRoutesFn, OnAfterDeployFn, OnAfterDevFn, OnBeforeDeployFn, OnBeforeDevFn, OnBeforeExitFn, OnBeforeRestartFn, OnFileChangedFn, OnPrepareFn, RuntimePluginConfig, ServerPluginConfig } from '../types/cli/hooks';
|
|
3
|
+
import type { DeepPartial } from '../types/utils';
|
|
4
|
+
export type { OnAfterBuildFn, OnAfterCreateCompilerFn, OnBeforeBuildFn, OnBeforeCreateCompilerFn, OnDevCompileDoneFn, AddCommandFn, AddWatchFilesFn, ConfigFn, ModifyBundlerChainFn, ModifyConfigFn, ModifyHtmlPartialsFn, ModifyResolvedConfigFn, ModifyRsbuildConfigFn, ModifyRspackConfigFn, OnAfterDeployFn, OnBeforeDeployFn, OnBeforeDevFn, OnAfterDevFn, OnBeforeExitFn, OnBeforeRestartFn, OnFileChangedFn, OnPrepareFn, InternalRuntimePluginsFn, InternalServerPluginsFn, ModifyServerRoutesFn, RuntimePluginConfig, ServerPluginConfig, };
|
|
5
|
+
export declare function initHooks<Config, NormalizedConfig, ExtendBuildUtils, ExtendConfigUtils>(): {
|
|
6
|
+
/**
|
|
7
|
+
* add config for this cli plugin
|
|
8
|
+
*/
|
|
9
|
+
config: import("..").CollectAsyncHook<ConfigFn<DeepPartial<Config>>>;
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
* modify config for this cli plugin
|
|
13
|
+
*/
|
|
14
|
+
modifyConfig: import("..").AsyncHook<ModifyConfigFn<Config, ExtendConfigUtils>>;
|
|
15
|
+
/**
|
|
16
|
+
* modify final config
|
|
17
|
+
*/
|
|
18
|
+
modifyResolvedConfig: import("..").AsyncHook<ModifyResolvedConfigFn<NormalizedConfig, ExtendConfigUtils>>;
|
|
19
|
+
modifyRsbuildConfig: import("..").AsyncHook<ModifyRsbuildConfigFn<ExtendBuildUtils>>;
|
|
20
|
+
modifyBundlerChain: import("..").AsyncHook<ModifyBundlerChainFn<ExtendBuildUtils>>;
|
|
21
|
+
modifyRspackConfig: import("..").AsyncHook<ModifyRspackConfigFn<ExtendBuildUtils>>;
|
|
22
|
+
modifyHtmlPartials: import("..").AsyncHook<ModifyHtmlPartialsFn>;
|
|
23
|
+
addCommand: import("..").AsyncHook<AddCommandFn>;
|
|
24
|
+
addWatchFiles: import("..").CollectAsyncHook<AddWatchFilesFn>;
|
|
25
|
+
onPrepare: import("..").AsyncHook<OnPrepareFn>;
|
|
26
|
+
onFileChanged: import("..").AsyncHook<OnFileChangedFn>;
|
|
27
|
+
onBeforeRestart: import("..").AsyncHook<OnBeforeRestartFn>;
|
|
28
|
+
onBeforeCreateCompiler: import("..").AsyncHook<OnBeforeCreateCompilerFn>;
|
|
29
|
+
onAfterCreateCompiler: import("..").AsyncHook<OnAfterCreateCompilerFn>;
|
|
30
|
+
onDevCompileDone: import("..").AsyncHook<import("@rsbuild/core").OnAfterDevCompileFn>;
|
|
31
|
+
onBeforeBuild: import("..").AsyncHook<OnBeforeBuildFn>;
|
|
32
|
+
onAfterBuild: import("..").AsyncHook<OnAfterBuildFn>;
|
|
33
|
+
onBeforeDev: import("..").AsyncHook<OnBeforeDevFn>;
|
|
34
|
+
onAfterDev: import("..").AsyncHook<OnAfterDevFn>;
|
|
35
|
+
onBeforeDeploy: import("..").AsyncHook<OnBeforeDeployFn>;
|
|
36
|
+
onAfterDeploy: import("..").AsyncHook<OnAfterDeployFn>;
|
|
37
|
+
onBeforeExit: import("..").AsyncHook<OnBeforeExitFn>;
|
|
38
|
+
_internalRuntimePlugins: import("..").AsyncHook<InternalRuntimePluginsFn>;
|
|
39
|
+
_internalServerPlugins: import("..").AsyncHook<InternalServerPluginsFn>;
|
|
40
|
+
modifyServerRoutes: import("..").AsyncHook<ModifyServerRoutesFn>;
|
|
41
|
+
};
|
|
42
|
+
export type Hooks<Config, NormalizedConfig, ExtendBuildUtils, ExtendConfigUtils> = ReturnType<typeof initHooks<Config, NormalizedConfig, ExtendBuildUtils, ExtendConfigUtils>>;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { initPluginAPI } from './api';
|
|
2
|
+
export { initAppContext, createContext } from './context';
|
|
3
|
+
export { initHooks, type Hooks, type OnAfterBuildFn, type OnAfterCreateCompilerFn, type OnBeforeBuildFn, type OnBeforeCreateCompilerFn, type OnDevCompileDoneFn, type AddCommandFn, type AddWatchFilesFn, type ConfigFn, type ModifyBundlerChainFn, type ModifyConfigFn, type ModifyHtmlPartialsFn, type ModifyResolvedConfigFn, type ModifyRsbuildConfigFn, type ModifyRspackConfigFn, type OnAfterDeployFn, type OnBeforeDeployFn, type OnBeforeDevFn, type OnAfterDevFn, type OnBeforeExitFn, type OnBeforeRestartFn, type OnFileChangedFn, type OnPrepareFn, type InternalRuntimePluginsFn, type InternalServerPluginsFn, type ModifyServerRoutesFn, type RuntimePluginConfig, type ServerPluginConfig, } from './hooks';
|
|
4
|
+
export { cli, createLoadedConfig, initAppDir, createCli } from './run';
|
|
5
|
+
export { createStorybookOptions } from './run/create';
|
|
6
|
+
export { mergeConfig } from './run/utils/mergeConfig';
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export declare const getConfigFilePath: (appDirectory: string, configFilePath: string) => string;
|
|
2
|
+
/**
|
|
3
|
+
*
|
|
4
|
+
* @param targetDir target dir
|
|
5
|
+
* @param overtime Unit of second
|
|
6
|
+
*/
|
|
7
|
+
export declare const clearFilesOverTime: (targetDir: string, overtime: number) => Promise<void>;
|
|
8
|
+
/**
|
|
9
|
+
* Parse and load user config file, support extensions like .ts, mjs, js, ejs.
|
|
10
|
+
* @param appDirectory - App root directory, from which start search user config file.
|
|
11
|
+
* @param configFile - Specific absolute config file path.
|
|
12
|
+
* @returns Object contain config file path, user config object and dependency files used by config file.
|
|
13
|
+
*/
|
|
14
|
+
/**
|
|
15
|
+
* Load a TypeScript file dynamically using jiti
|
|
16
|
+
* @param {string} filePath - Path to the TypeScript file (absolute or relative)
|
|
17
|
+
* @returns {any} - The loaded module object
|
|
18
|
+
*/
|
|
19
|
+
export declare const loadTypeScriptFile: (filePath: string) => any;
|
|
20
|
+
export declare const loadConfig: <T>(appDirectory: string, configFile: string) => Promise<{
|
|
21
|
+
packageName: string;
|
|
22
|
+
configFile: string;
|
|
23
|
+
config?: T;
|
|
24
|
+
pkgConfig?: T;
|
|
25
|
+
}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { InternalContext } from '../../types/cli/context';
|
|
2
|
+
import type { CLIPluginExtends } from '../../types/cli/plugin';
|
|
3
|
+
import type { CLIRunOptions } from './types';
|
|
4
|
+
export declare const createCli: <Extends extends CLIPluginExtends>() => {
|
|
5
|
+
init: (options: CLIRunOptions<Extends>) => Promise<{
|
|
6
|
+
appContext: InternalContext<Extends>;
|
|
7
|
+
}>;
|
|
8
|
+
run: (options: CLIRunOptions<Extends>) => Promise<void>;
|
|
9
|
+
getPrevInitOptions: () => CLIRunOptions<Extends>;
|
|
10
|
+
};
|
|
11
|
+
type UselessOptions = 'handleSetupResult' | 'command' | 'internalPlugins';
|
|
12
|
+
export declare const createStorybookOptions: <Extends extends CLIPluginExtends>(options: Omit<CLIRunOptions<Extends>, UselessOptions>) => Promise<{
|
|
13
|
+
config: Awaited<Extends["normalizedConfig"]> | NonNullable<Awaited<import("../../types/utils").UnwrapPromise<Extends["normalizedConfig"]>>>;
|
|
14
|
+
getAppContext: () => Readonly<import("../../types/cli/context").AppContext<Extends> & Extends["extendContext"]>;
|
|
15
|
+
}>;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { createCli } from './create';
|
|
2
|
+
export { createLoadedConfig } from './config/createLoadedConfig';
|
|
3
|
+
export { initAppDir } from './utils/initAppDir';
|
|
4
|
+
export { loadTypeScriptFile } from './config/loadConfig';
|
|
5
|
+
export { createCli };
|
|
6
|
+
export { run } from './run';
|
|
7
|
+
export declare const cli: {
|
|
8
|
+
init: (options: import("./types").CLIRunOptions<import("../..").CLIPluginExtends<{}, {}, {}, {}, {}, {}, {}>>) => Promise<{
|
|
9
|
+
appContext: import("../..").InternalContext<import("../..").CLIPluginExtends<{}, {}, {}, {}, {}, {}, {}>>;
|
|
10
|
+
}>;
|
|
11
|
+
run: (options: import("./types").CLIRunOptions<import("../..").CLIPluginExtends<{}, {}, {}, {}, {}, {}, {}>>) => Promise<void>;
|
|
12
|
+
getPrevInitOptions: () => import("./types").CLIRunOptions<import("../..").CLIPluginExtends<{}, {}, {}, {}, {}, {}, {}>>;
|
|
13
|
+
};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { CLIPluginExtends } from '../../types/cli';
|
|
2
|
+
import type { Plugin } from '../../types/plugin';
|
|
3
|
+
export interface CLIOptions<Extends extends CLIPluginExtends = {
|
|
4
|
+
config: {};
|
|
5
|
+
}> {
|
|
6
|
+
cwd?: string;
|
|
7
|
+
version?: string;
|
|
8
|
+
metaName?: string;
|
|
9
|
+
/**
|
|
10
|
+
* The initial log message when CLI started
|
|
11
|
+
*/
|
|
12
|
+
initialLog?: string;
|
|
13
|
+
/**
|
|
14
|
+
* other config, overrides config file content
|
|
15
|
+
*/
|
|
16
|
+
config?: Extends['config'];
|
|
17
|
+
configFile: string;
|
|
18
|
+
internalPlugins?: Plugin[];
|
|
19
|
+
handleSetupResult?: (params: any, api: Record<string, any>) => Promise<void> | void;
|
|
20
|
+
}
|
|
21
|
+
export type LoadedConfig<T> = {
|
|
22
|
+
packageName: string;
|
|
23
|
+
configFile: string;
|
|
24
|
+
config: T;
|
|
25
|
+
pkgConfig?: T;
|
|
26
|
+
jsConfig?: T;
|
|
27
|
+
};
|
|
28
|
+
export interface CLIRunOptions<Extends extends CLIPluginExtends = {
|
|
29
|
+
config: {};
|
|
30
|
+
}> extends CLIOptions<Extends> {
|
|
31
|
+
command: string;
|
|
32
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function checkIsDuplicationPlugin(plugins: (string | undefined)[]): void;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { InternalContext } from '../../../types';
|
|
2
|
+
import type { CLIPluginExtends } from '../../../types/cli/plugin';
|
|
3
|
+
export declare const createFileWatcher: <Extends extends CLIPluginExtends>(appContext: InternalContext<Extends>) => Promise<import("@modern-js/utils").FSWatcher | undefined>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const debug: import("@modern-js/utils/compiled/debug").Debugger;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const initAppDir: (currentDir?: string) => Promise<string>;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AsyncHook, AsyncInterruptHook, AsyncPipelineHook, CollectAsyncHook, CollectSyncHook, SyncHook } from './types/hooks';
|
|
2
|
+
export declare function createAsyncInterruptHook<Callback extends (...args: any[]) => any>(): AsyncInterruptHook<Callback>;
|
|
3
|
+
export declare function createSyncHook<Callback extends (...args: any[]) => any>(): SyncHook<Callback>;
|
|
4
|
+
export declare function createAsyncHook<Callback extends (...args: any[]) => any>(): AsyncHook<Callback>;
|
|
5
|
+
export declare function createCollectAsyncHook<Callback extends (...params: any[]) => any>(): CollectAsyncHook<Callback>;
|
|
6
|
+
export declare function createCollectSyncHook<Callback extends (...params: any[]) => any>(): CollectSyncHook<Callback>;
|
|
7
|
+
export declare function createAsyncPipelineHook<Callback extends (...args: any[]) => any>(): AsyncPipelineHook<Callback>;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
export
|
|
1
|
+
export { createPluginManager } from './manager';
|
|
2
|
+
export { createSyncHook, createAsyncHook, createCollectSyncHook, createCollectAsyncHook, createAsyncInterruptHook, createAsyncPipelineHook, } from './hooks';
|
|
3
|
+
export type { Plugin, PluginManager, TransformFunction, } from './types/plugin';
|
|
4
|
+
export type { CLIPluginAPI, AppContext, InternalContext, Entrypoint, CLIPlugin, CLIPluginExtends, RuntimePluginConfig, ServerPluginConfig, } from './types/cli';
|
|
5
|
+
export type { RuntimePluginAPI, RuntimeContext, InternalRuntimeContext, RuntimePlugin, RuntimePluginExtends, } from './types/runtime';
|
|
6
|
+
export type { ServerPluginAPI, ServerContext, InternalServerContext, ServerPlugin, ServerPluginExtends, ResetEvent, FileChangeEvent, } from './types/server';
|
|
7
|
+
export type { SyncHook, AsyncHook, AsyncInterruptHook, CollectAsyncHook, CollectSyncHook, PluginHook, PluginHookTap, AsyncPipelineHook, } from './types/hooks';
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PluginManager } from '../types/plugin';
|
|
2
|
+
import type { RuntimePluginAPI } from '../types/runtime/api';
|
|
3
|
+
import type { InternalRuntimeContext } from '../types/runtime/context';
|
|
4
|
+
import type { RuntimePlugin, RuntimePluginExtends } from '../types/runtime/plugin';
|
|
5
|
+
export declare function initPluginAPI<Extends extends RuntimePluginExtends>({ context, plugins, }: {
|
|
6
|
+
context: InternalRuntimeContext<Extends>;
|
|
7
|
+
pluginManager: PluginManager;
|
|
8
|
+
plugins: RuntimePlugin<Extends>[];
|
|
9
|
+
}): RuntimePluginAPI<Extends>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { InternalRuntimeContext, RuntimeContext } from '../types/runtime/context';
|
|
2
|
+
import type { RuntimePlugin, RuntimePluginExtends } from '../types/runtime/plugin';
|
|
3
|
+
export interface RuntimeConfig<Extends extends RuntimePluginExtends> {
|
|
4
|
+
plugins?: RuntimePlugin<Extends>[];
|
|
5
|
+
}
|
|
6
|
+
export declare function initRuntimeContext(): RuntimeContext;
|
|
7
|
+
export declare function createRuntimeContext<Extends extends RuntimePluginExtends>({ runtimeContext, config, plugins, }: {
|
|
8
|
+
runtimeContext: RuntimeContext & Extends['extendContext'];
|
|
9
|
+
config: Extends['config'];
|
|
10
|
+
plugins: RuntimePlugin<Extends>[];
|
|
11
|
+
}): InternalRuntimeContext<Extends>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { initPluginAPI } from './api';
|
|
2
|
+
export { initRuntimeContext, createRuntimeContext } from './context';
|
|
3
|
+
export { initHooks } from './hooks';
|
|
4
|
+
export { runtime } from './run';
|
|
5
|
+
export type { RuntimePluginAPI, RuntimeContext, InternalRuntimeContext, RuntimePlugin, RuntimePluginExtends, Hooks, } from '../types/runtime';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { RuntimePluginExtends } from '../../types/runtime/plugin';
|
|
2
|
+
import type { RuntimeRunOptions } from './types';
|
|
3
|
+
export declare const createRuntime: <Extends extends RuntimePluginExtends>() => {
|
|
4
|
+
run: (options: RuntimeRunOptions) => {
|
|
5
|
+
runtimeContext: import("..").InternalRuntimeContext<Extends>;
|
|
6
|
+
};
|
|
7
|
+
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { PluginManager } from '../types/plugin';
|
|
2
|
+
import type { ServerPluginAPI } from '../types/server/api';
|
|
3
|
+
import type { InternalServerContext } from '../types/server/context';
|
|
4
|
+
import type { ServerPluginExtends } from '../types/server/plugin';
|
|
5
|
+
export declare const debug: import("@modern-js/utils/compiled/debug").Debugger;
|
|
6
|
+
export declare function initPluginAPI<Extends extends ServerPluginExtends>({ context, pluginManager, }: {
|
|
7
|
+
context: InternalServerContext<Extends>;
|
|
8
|
+
pluginManager: PluginManager;
|
|
9
|
+
}): ServerPluginAPI<Extends>;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { InternalServerContext, ServerContext } from '../types/server/context';
|
|
2
|
+
import type { ServerPlugin, ServerPluginExtends } from '../types/server/plugin';
|
|
3
|
+
import type { ServerCreateOptions } from './run/types';
|
|
4
|
+
interface ContextParams<Extends extends ServerPluginExtends> {
|
|
5
|
+
serverContext: ServerContext<Extends>;
|
|
6
|
+
config: Extends['config'];
|
|
7
|
+
}
|
|
8
|
+
export declare function initServerContext<Extends extends ServerPluginExtends>(params: {
|
|
9
|
+
options: ServerCreateOptions;
|
|
10
|
+
plugins: ServerPlugin<Extends>[];
|
|
11
|
+
}): ServerContext<Extends> & Extends['extendContext'];
|
|
12
|
+
export declare function createServerContext<Extends extends ServerPluginExtends>({ serverContext, config, }: ContextParams<Extends>): InternalServerContext<Extends>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ModifyConfigFn, OnPrepareFn, OnResetFn } from '../types/server/hooks';
|
|
2
|
+
import type { DeepPartial } from '../types/utils';
|
|
3
|
+
export type { OnResetFn, OnPrepareFn, ModifyConfigFn };
|
|
4
|
+
export declare function initHooks<Config>(): {
|
|
5
|
+
modifyConfig: import("..").AsyncHook<ModifyConfigFn<DeepPartial<Config>>>;
|
|
6
|
+
onPrepare: import("..").AsyncHook<OnPrepareFn>;
|
|
7
|
+
onReset: import("..").AsyncHook<OnResetFn>;
|
|
8
|
+
};
|
|
9
|
+
export type Hooks<Config> = ReturnType<typeof initHooks<Config>>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { initPluginAPI } from './api';
|
|
2
|
+
export { initServerContext, createServerContext } from './context';
|
|
3
|
+
export { initHooks, type Hooks, type OnPrepareFn, type ModifyConfigFn, type OnResetFn, } from './hooks';
|
|
4
|
+
export { server, createServer, type ServerCreateOptions } from './run';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { ServerPluginExtends } from '../../types/server/plugin';
|
|
2
|
+
import type { ServerRunOptions } from './types';
|
|
3
|
+
export declare const createServer: <Extends extends ServerPluginExtends>() => {
|
|
4
|
+
run: (options: ServerRunOptions) => Promise<{
|
|
5
|
+
serverContext: import("../..").InternalServerContext<Extends>;
|
|
6
|
+
}>;
|
|
7
|
+
};
|