@modern-js/plugin-v2 2.65.5 → 2.66.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/dist/cjs/hooks.js +29 -0
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/server/api.js +94 -0
- package/dist/cjs/server/context.js +64 -0
- package/dist/cjs/server/hooks.js +35 -0
- package/dist/cjs/server/index.js +41 -0
- package/dist/cjs/server/run/create.js +74 -0
- package/dist/cjs/server/run/index.js +31 -0
- package/dist/cjs/server/run/types.js +16 -0
- package/dist/cjs/types/server/api.js +16 -0
- package/dist/cjs/types/server/context.js +16 -0
- package/dist/cjs/types/server/hooks.js +16 -0
- package/dist/cjs/types/server/index.js +16 -0
- package/dist/cjs/types/server/plugin.js +16 -0
- package/dist/esm/hooks.js +129 -0
- package/dist/esm/index.js +2 -1
- package/dist/esm/server/api.js +76 -0
- package/dist/esm/server/context.js +38 -0
- package/dist/esm/server/hooks.js +11 -0
- package/dist/esm/server/index.js +12 -0
- package/dist/esm/server/run/create.js +89 -0
- package/dist/esm/server/run/index.js +6 -0
- package/dist/esm/server/run/types.js +0 -0
- package/dist/esm/types/server/api.js +0 -0
- package/dist/esm/types/server/context.js +0 -0
- package/dist/esm/types/server/hooks.js +0 -0
- package/dist/esm/types/server/index.js +0 -0
- package/dist/esm/types/server/plugin.js +0 -0
- package/dist/esm-node/hooks.js +28 -0
- package/dist/esm-node/index.js +2 -1
- package/dist/esm-node/server/api.js +69 -0
- package/dist/esm-node/server/context.js +39 -0
- package/dist/esm-node/server/hooks.js +11 -0
- package/dist/esm-node/server/index.js +12 -0
- package/dist/esm-node/server/run/create.js +50 -0
- package/dist/esm-node/server/run/index.js +6 -0
- package/dist/esm-node/server/run/types.js +0 -0
- package/dist/esm-node/types/server/api.js +0 -0
- package/dist/esm-node/types/server/context.js +0 -0
- package/dist/esm-node/types/server/hooks.js +0 -0
- package/dist/esm-node/types/server/index.js +0 -0
- package/dist/esm-node/types/server/plugin.js +0 -0
- package/dist/types/hooks.d.ts +2 -1
- package/dist/types/index.d.ts +3 -2
- 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 +21 -0
- package/dist/types/types/hooks.d.ts +5 -1
- 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/package.json +19 -7
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { ISAppContext, ServerRoute } from '@modern-js/types';
|
|
2
|
+
import type { ServerPluginAPI } from './api';
|
|
3
|
+
import type { Hooks } from './hooks';
|
|
4
|
+
import type { ServerPlugin, ServerPluginExtends } from './plugin';
|
|
5
|
+
export interface Middleware {
|
|
6
|
+
name: string;
|
|
7
|
+
}
|
|
8
|
+
export type ServerContext<Extends extends ServerPluginExtends> = Omit<ISAppContext, 'plugins'> & {
|
|
9
|
+
middlewares: Middleware[];
|
|
10
|
+
routes: ServerRoute[];
|
|
11
|
+
appDirectory: string;
|
|
12
|
+
apiDirectory?: string;
|
|
13
|
+
lambdaDirectory?: string;
|
|
14
|
+
internalDirectory?: string;
|
|
15
|
+
sharedDirectory?: string;
|
|
16
|
+
distDirectory?: string;
|
|
17
|
+
metaName: string;
|
|
18
|
+
plugins: ServerPlugin<Extends>[];
|
|
19
|
+
};
|
|
20
|
+
export type InternalServerContext<Extends extends ServerPluginExtends> = ServerContext<Extends> & {
|
|
21
|
+
/** All hooks. */
|
|
22
|
+
hooks: Hooks<Extends['config']> & Extends['extendHooks'];
|
|
23
|
+
/** All plugin registry hooks */
|
|
24
|
+
extendsHooks: Extends['extendHooks'];
|
|
25
|
+
config: Extends['config'];
|
|
26
|
+
pluginAPI?: ServerPluginAPI<Extends>;
|
|
27
|
+
_internalContext?: InternalServerContext<Extends>;
|
|
28
|
+
};
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { AsyncHook } from '../hooks';
|
|
2
|
+
export type ModifyConfigFn<ServerConfig> = (arg: ServerConfig) => ServerConfig | Promise<ServerConfig>;
|
|
3
|
+
export type OnPrepareFn = () => Promise<void> | void;
|
|
4
|
+
export type ChangeEvent = 'add' | 'change' | 'unlink';
|
|
5
|
+
export interface Change {
|
|
6
|
+
filename: string;
|
|
7
|
+
event: ChangeEvent;
|
|
8
|
+
}
|
|
9
|
+
export interface RepackEvent {
|
|
10
|
+
type: 'repack';
|
|
11
|
+
}
|
|
12
|
+
export interface FileChangeEvent {
|
|
13
|
+
type: 'file-change';
|
|
14
|
+
payload: Change[];
|
|
15
|
+
}
|
|
16
|
+
export type ResetEvent = RepackEvent | FileChangeEvent;
|
|
17
|
+
export type OnResetFn = (params: {
|
|
18
|
+
event: ResetEvent;
|
|
19
|
+
}) => Promise<void> | void;
|
|
20
|
+
export type Hooks<ServerConfig> = {
|
|
21
|
+
modifyConfig: AsyncHook<ModifyConfigFn<ServerConfig>>;
|
|
22
|
+
onPrepare: AsyncHook<OnPrepareFn>;
|
|
23
|
+
onReset: AsyncHook<OnResetFn>;
|
|
24
|
+
};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { PluginHook } from '../hooks';
|
|
2
|
+
import type { Plugin } from '../plugin';
|
|
3
|
+
import type { ServerPluginAPI } from './api';
|
|
4
|
+
import type { ServerContext } from './context';
|
|
5
|
+
export interface ServerPluginExtends<Config extends Record<string, any> = {}, ExtendContext extends Record<string, any> = {}, ExtendAPI extends Record<string, any> = {}, ExtendHook extends Record<string, PluginHook<(...args: any[]) => any>> = {}> {
|
|
6
|
+
config?: Config;
|
|
7
|
+
extendContext?: ExtendContext;
|
|
8
|
+
extendApi?: ExtendAPI;
|
|
9
|
+
extendHooks?: ExtendHook;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* The type of the Server plugin object.
|
|
13
|
+
*/
|
|
14
|
+
export type ServerPlugin<Extends extends ServerPluginExtends> = Plugin<ServerPluginAPI<Extends> & Extends['extendApi'], ServerContext<Extends> & Extends['extendContext']>;
|
package/package.json
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"modern",
|
|
16
16
|
"modern.js"
|
|
17
17
|
],
|
|
18
|
-
"version": "2.
|
|
18
|
+
"version": "2.66.0",
|
|
19
19
|
"jsnext:source": "./src/index.ts",
|
|
20
20
|
"types": "./dist/types/index.d.ts",
|
|
21
21
|
"main": "./dist/cjs/index.js",
|
|
@@ -48,6 +48,15 @@
|
|
|
48
48
|
"require": "./dist/cjs/runtime/index.js"
|
|
49
49
|
},
|
|
50
50
|
"default": "./dist/esm/runtime/index.js"
|
|
51
|
+
},
|
|
52
|
+
"./server": {
|
|
53
|
+
"types": "./dist/types/server/index.d.ts",
|
|
54
|
+
"jsnext:source": "./src/server/index.ts",
|
|
55
|
+
"node": {
|
|
56
|
+
"import": "./dist/esm-node/server/index.js",
|
|
57
|
+
"require": "./dist/cjs/server/index.js"
|
|
58
|
+
},
|
|
59
|
+
"default": "./dist/esm/server/index.js"
|
|
51
60
|
}
|
|
52
61
|
},
|
|
53
62
|
"typesVersions": {
|
|
@@ -63,14 +72,17 @@
|
|
|
63
72
|
],
|
|
64
73
|
"runtime": [
|
|
65
74
|
"./dist/types/runtime/index.d.ts"
|
|
75
|
+
],
|
|
76
|
+
"server": [
|
|
77
|
+
"./dist/types/server/index.d.ts"
|
|
66
78
|
]
|
|
67
79
|
}
|
|
68
80
|
},
|
|
69
81
|
"dependencies": {
|
|
70
82
|
"@swc/helpers": "0.5.13",
|
|
71
83
|
"jiti": "1.21.7",
|
|
72
|
-
"@modern-js/runtime-utils": "2.
|
|
73
|
-
"@modern-js/utils": "2.
|
|
84
|
+
"@modern-js/runtime-utils": "2.66.0",
|
|
85
|
+
"@modern-js/utils": "2.66.0"
|
|
74
86
|
},
|
|
75
87
|
"devDependencies": {
|
|
76
88
|
"@rsbuild/core": "1.2.19",
|
|
@@ -79,10 +91,10 @@
|
|
|
79
91
|
"@types/react": "^18.3.11",
|
|
80
92
|
"jest": "^29",
|
|
81
93
|
"typescript": "^5",
|
|
82
|
-
"@modern-js/types": "2.
|
|
83
|
-
"@modern-js/uni-builder": "2.
|
|
84
|
-
"@scripts/jest-config": "2.
|
|
85
|
-
"@scripts/build": "2.
|
|
94
|
+
"@modern-js/types": "2.66.0",
|
|
95
|
+
"@modern-js/uni-builder": "2.66.0",
|
|
96
|
+
"@scripts/jest-config": "2.66.0",
|
|
97
|
+
"@scripts/build": "2.66.0"
|
|
86
98
|
},
|
|
87
99
|
"sideEffects": false,
|
|
88
100
|
"publishConfig": {
|