@zhin.js/middleware 1.0.2 → 1.0.4

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/README.md CHANGED
@@ -15,6 +15,9 @@ export default defineMiddleware({
15
15
  Middleware 不直接持有 Root 或运行时 registry;每次执行使用同一 generation snapshot,
16
16
  更新时由 Feature Slot 原子替换。
17
17
 
18
+ 单文件插件可用 `setup({ addMiddleware })` 注册 `defineMiddleware(...)`;它仍参与
19
+ 统一 phase/order/topology 排序和 generation 回滚。
20
+
18
21
  验证:`pnpm --filter @zhin.js/middleware test && pnpm --filter @zhin.js/middleware build`。
19
22
 
20
23
  生命周期与 HMR 说明见 [目标架构](../../docs/target-architecture.md)。
@@ -13,6 +13,11 @@ export interface MiddlewareDefinition<TInput = unknown, TConfig = unknown> {
13
13
  readonly order: number;
14
14
  handle(context: MiddlewareContext<TInput, TConfig>, next: MiddlewareNext): void | Promise<void>;
15
15
  }
16
+ declare module '@zhin.js/plugin-runtime' {
17
+ interface PluginSetupContext<TConfig> {
18
+ addMiddleware<TInput = unknown>(localName: string, definition: MiddlewareDefinition<TInput, TConfig>): void;
19
+ }
20
+ }
16
21
  export declare function defineMiddleware<TInput = unknown, TConfig = unknown>(definition: Omit<MiddlewareDefinition<TInput, TConfig>, '$feature' | 'phase' | 'target' | 'order'> & {
17
22
  readonly phase?: MiddlewarePhase;
18
23
  readonly target?: MiddlewareTarget;
package/lib/provider.js CHANGED
@@ -7,6 +7,7 @@ const middlewareFeature = defineFeatureProvider({
7
7
  protocol: 1,
8
8
  id: middlewareFeatureId,
9
9
  authoring: {
10
+ setupMethod: 'addMiddleware',
10
11
  conventions: [typeScriptModules({
11
12
  id: 'middlewares-ts',
12
13
  directory: 'middlewares',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zhin.js/middleware",
3
- "version": "1.0.2",
3
+ "version": "1.0.4",
4
4
  "description": "Convention-based Middleware Feature for Zhin Plugin Runtime",
5
5
  "type": "module",
6
6
  "main": "./lib/index.js",
@@ -17,8 +17,8 @@
17
17
  "src"
18
18
  ],
19
19
  "dependencies": {
20
- "@zhin.js/feature-kit": "1.0.2",
21
- "@zhin.js/plugin-runtime": "1.1.0"
20
+ "@zhin.js/feature-kit": "1.0.4",
21
+ "@zhin.js/plugin-runtime": "1.1.1"
22
22
  },
23
23
  "devDependencies": {
24
24
  "@types/node": "^26.1.0",
package/src/definition.ts CHANGED
@@ -19,6 +19,15 @@ export interface MiddlewareDefinition<TInput = unknown, TConfig = unknown> {
19
19
  handle(context: MiddlewareContext<TInput, TConfig>, next: MiddlewareNext): void | Promise<void>;
20
20
  }
21
21
 
22
+ declare module '@zhin.js/plugin-runtime' {
23
+ interface PluginSetupContext<TConfig> {
24
+ addMiddleware<TInput = unknown>(
25
+ localName: string,
26
+ definition: MiddlewareDefinition<TInput, TConfig>,
27
+ ): void;
28
+ }
29
+ }
30
+
22
31
  export function defineMiddleware<TInput = unknown, TConfig = unknown>(
23
32
  definition: Omit<
24
33
  MiddlewareDefinition<TInput, TConfig>,
package/src/provider.ts CHANGED
@@ -9,6 +9,7 @@ const middlewareFeature = defineFeatureProvider({
9
9
  protocol: 1,
10
10
  id: middlewareFeatureId,
11
11
  authoring: {
12
+ setupMethod: 'addMiddleware',
12
13
  conventions: [typeScriptModules({
13
14
  id: 'middlewares-ts',
14
15
  directory: 'middlewares',