@useavalon/avalon 0.1.11 → 0.1.13
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 +54 -54
- package/mod.ts +302 -302
- package/package.json +49 -26
- package/src/build/integration-bundler-plugin.ts +116 -116
- package/src/build/integration-config.ts +168 -168
- package/src/build/integration-detection-plugin.ts +117 -117
- package/src/build/integration-resolver-plugin.ts +90 -90
- package/src/build/island-manifest.ts +269 -269
- package/src/build/island-types-generator.ts +476 -476
- package/src/build/mdx-island-transform.ts +464 -464
- package/src/build/mdx-plugin.ts +98 -98
- package/src/build/page-island-transform.ts +598 -598
- package/src/build/prop-extractors/index.ts +21 -21
- package/src/build/prop-extractors/lit.ts +140 -140
- package/src/build/prop-extractors/qwik.ts +16 -16
- package/src/build/prop-extractors/solid.ts +125 -125
- package/src/build/prop-extractors/svelte.ts +194 -194
- package/src/build/prop-extractors/vue.ts +111 -111
- package/src/build/sidecar-file-manager.ts +104 -104
- package/src/build/sidecar-renderer.ts +30 -30
- package/src/client/adapters/index.ts +21 -13
- package/src/client/components.ts +35 -35
- package/src/client/css-hmr-handler.ts +344 -344
- package/src/client/framework-adapter.ts +462 -462
- package/src/client/hmr-coordinator.ts +396 -396
- package/src/client/hmr-error-overlay.js +533 -533
- package/src/client/main.js +824 -816
- package/src/client/types/framework-runtime.d.ts +68 -68
- package/src/client/types/vite-hmr.d.ts +46 -46
- package/src/client/types/vite-virtual-modules.d.ts +70 -60
- package/src/components/Image.tsx +123 -123
- package/src/components/IslandErrorBoundary.tsx +145 -145
- package/src/components/LayoutDataErrorBoundary.tsx +141 -141
- package/src/components/LayoutErrorBoundary.tsx +127 -127
- package/src/components/PersistentIsland.tsx +52 -52
- package/src/components/StreamingErrorBoundary.tsx +233 -233
- package/src/components/StreamingLayout.tsx +538 -538
- package/src/core/components/component-analyzer.ts +192 -192
- package/src/core/components/component-detection.ts +508 -508
- package/src/core/components/enhanced-framework-detector.ts +500 -500
- package/src/core/components/framework-registry.ts +563 -563
- package/src/core/content/mdx-processor.ts +46 -46
- package/src/core/integrations/index.ts +19 -19
- package/src/core/integrations/loader.ts +125 -125
- package/src/core/integrations/registry.ts +175 -175
- package/src/core/islands/island-persistence.ts +325 -325
- package/src/core/islands/island-state-serializer.ts +258 -258
- package/src/core/islands/persistent-island-context.tsx +80 -80
- package/src/core/islands/use-persistent-state.ts +68 -68
- package/src/core/layout/enhanced-layout-resolver.ts +322 -322
- package/src/core/layout/layout-cache-manager.ts +485 -485
- package/src/core/layout/layout-composer.ts +357 -357
- package/src/core/layout/layout-data-loader.ts +516 -516
- package/src/core/layout/layout-discovery.ts +243 -243
- package/src/core/layout/layout-matcher.ts +299 -299
- package/src/core/layout/layout-types.ts +110 -110
- package/src/core/modules/framework-module-resolver.ts +273 -273
- package/src/islands/component-analysis.ts +213 -213
- package/src/islands/css-utils.ts +565 -565
- package/src/islands/discovery/index.ts +80 -80
- package/src/islands/discovery/registry.ts +340 -340
- package/src/islands/discovery/resolver.ts +477 -477
- package/src/islands/discovery/scanner.ts +386 -386
- package/src/islands/discovery/types.ts +117 -117
- package/src/islands/discovery/validator.ts +544 -544
- package/src/islands/discovery/watcher.ts +368 -368
- package/src/islands/framework-detection.ts +428 -428
- package/src/islands/integration-loader.ts +490 -490
- package/src/islands/island.tsx +565 -565
- package/src/islands/render-cache.ts +550 -550
- package/src/islands/types.ts +80 -80
- package/src/islands/universal-css-collector.ts +157 -157
- package/src/islands/universal-head-collector.ts +137 -137
- package/src/layout-system.d.ts +592 -592
- package/src/layout-system.ts +218 -218
- package/src/middleware/discovery.ts +268 -268
- package/src/middleware/executor.ts +315 -315
- package/src/middleware/index.ts +76 -76
- package/src/middleware/types.ts +99 -99
- package/src/nitro/build-config.ts +575 -575
- package/src/nitro/config.ts +483 -483
- package/src/nitro/error-handler.ts +636 -636
- package/src/nitro/index.ts +173 -173
- package/src/nitro/island-manifest.ts +584 -584
- package/src/nitro/middleware-adapter.ts +260 -260
- package/src/nitro/renderer.ts +1471 -1471
- package/src/nitro/route-discovery.ts +439 -439
- package/src/nitro/types.ts +321 -321
- package/src/render/collect-css.ts +198 -198
- package/src/render/error-pages.ts +79 -79
- package/src/render/isolated-ssr-renderer.ts +654 -654
- package/src/render/ssr.ts +1030 -1030
- package/src/schemas/api.ts +30 -30
- package/src/schemas/core.ts +64 -64
- package/src/schemas/index.ts +212 -212
- package/src/schemas/layout.ts +279 -279
- package/src/schemas/routing/index.ts +38 -38
- package/src/schemas/routing.ts +376 -376
- package/src/types/as-island.ts +20 -20
- package/src/types/image.d.ts +106 -106
- package/src/types/index.d.ts +22 -22
- package/src/types/island-jsx.d.ts +33 -33
- package/src/types/island-prop.d.ts +20 -20
- package/src/types/layout.ts +285 -285
- package/src/types/mdx.d.ts +6 -6
- package/src/types/routing.ts +555 -555
- package/src/types/types.ts +5 -5
- package/src/types/urlpattern.d.ts +49 -49
- package/src/types/vite-env.d.ts +11 -11
- package/src/utils/dev-logger.ts +299 -299
- package/src/utils/fs.ts +151 -151
- package/src/vite-plugin/auto-discover.ts +551 -551
- package/src/vite-plugin/config.ts +266 -266
- package/src/vite-plugin/errors.ts +127 -127
- package/src/vite-plugin/image-optimization.ts +156 -156
- package/src/vite-plugin/integration-activator.ts +126 -126
- package/src/vite-plugin/island-sidecar-plugin.ts +176 -176
- package/src/vite-plugin/module-discovery.ts +189 -189
- package/src/vite-plugin/nitro-integration.ts +1354 -1354
- package/src/vite-plugin/plugin.ts +403 -409
- package/src/vite-plugin/types.ts +327 -327
- package/src/vite-plugin/validation.ts +228 -228
- package/src/client/adapters/index.js +0 -12
- package/src/client/adapters/lit-adapter.js +0 -467
- package/src/client/adapters/lit-adapter.ts +0 -654
- package/src/client/adapters/preact-adapter.js +0 -223
- package/src/client/adapters/preact-adapter.ts +0 -331
- package/src/client/adapters/qwik-adapter.js +0 -259
- package/src/client/adapters/qwik-adapter.ts +0 -345
- package/src/client/adapters/react-adapter.js +0 -220
- package/src/client/adapters/react-adapter.ts +0 -353
- package/src/client/adapters/solid-adapter.js +0 -295
- package/src/client/adapters/solid-adapter.ts +0 -451
- package/src/client/adapters/svelte-adapter.js +0 -368
- package/src/client/adapters/svelte-adapter.ts +0 -524
- package/src/client/adapters/vue-adapter.js +0 -278
- package/src/client/adapters/vue-adapter.ts +0 -467
- package/src/client/components.js +0 -23
- package/src/client/css-hmr-handler.js +0 -263
- package/src/client/framework-adapter.js +0 -283
- package/src/client/hmr-coordinator.js +0 -274
package/src/middleware/index.ts
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Avalon Middleware Module
|
|
3
|
-
*
|
|
4
|
-
* This module provides a Nitro-aligned middleware system for Avalon that supports
|
|
5
|
-
* both global middleware (via Nitro's middleware/ directory) and route-scoped
|
|
6
|
-
* middleware (via _middleware.ts files in page/API directories).
|
|
7
|
-
*
|
|
8
|
-
* Key features:
|
|
9
|
-
* - Nitro-compatible handler signature: return void to continue, return Response to terminate
|
|
10
|
-
* - Route-scoped middleware discovery in src/pages/ and src/api/
|
|
11
|
-
* - Priority-based execution order (parent before child)
|
|
12
|
-
* - Type-safe context augmentation for H3 events
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* // Define middleware with proper typing
|
|
17
|
-
* import { defineMiddleware } from 'avalon/middleware';
|
|
18
|
-
* import { getHeader, createError } from 'h3';
|
|
19
|
-
*
|
|
20
|
-
* export default defineMiddleware(async (event) => {
|
|
21
|
-
* const token = getHeader(event, 'Authorization');
|
|
22
|
-
* if (!token) {
|
|
23
|
-
* throw createError({ statusCode: 401, message: 'Unauthorized' });
|
|
24
|
-
* }
|
|
25
|
-
* event.context.user = await validateToken(token);
|
|
26
|
-
* });
|
|
27
|
-
* ```
|
|
28
|
-
*
|
|
29
|
-
* @example
|
|
30
|
-
* ```ts
|
|
31
|
-
* // Discover and execute middleware in your server
|
|
32
|
-
* import { discoverScopedMiddleware, executeScopedMiddleware } from 'avalon/middleware';
|
|
33
|
-
*
|
|
34
|
-
* const routes = await discoverScopedMiddleware({ baseDir: 'src', devMode: true });
|
|
35
|
-
* const response = await executeScopedMiddleware(event, routes);
|
|
36
|
-
* if (response) return response;
|
|
37
|
-
* ```
|
|
38
|
-
*
|
|
39
|
-
* Requirements: 4.3
|
|
40
|
-
*/
|
|
41
|
-
|
|
42
|
-
// =============================================================================
|
|
43
|
-
// Type Exports
|
|
44
|
-
// =============================================================================
|
|
45
|
-
|
|
46
|
-
export type {
|
|
47
|
-
MiddlewareHandler,
|
|
48
|
-
MiddlewareFileExport,
|
|
49
|
-
MiddlewareRoute,
|
|
50
|
-
MiddlewareDiscoveryOptions,
|
|
51
|
-
MiddlewareExecutorOptions,
|
|
52
|
-
} from './types.ts';
|
|
53
|
-
|
|
54
|
-
// =============================================================================
|
|
55
|
-
// Helper Functions (defineMiddleware removed — use defineHandler from 'nitro/h3')
|
|
56
|
-
// =============================================================================
|
|
57
|
-
|
|
58
|
-
// =============================================================================
|
|
59
|
-
// Discovery Functions
|
|
60
|
-
// =============================================================================
|
|
61
|
-
|
|
62
|
-
export { discoverScopedMiddleware, getMatchingMiddleware, clearDiscoveryCache } from './discovery.ts';
|
|
63
|
-
|
|
64
|
-
// =============================================================================
|
|
65
|
-
// Executor Functions
|
|
66
|
-
// =============================================================================
|
|
67
|
-
|
|
68
|
-
export {
|
|
69
|
-
executeScopedMiddleware,
|
|
70
|
-
clearMiddlewareCache,
|
|
71
|
-
invalidateMiddleware,
|
|
72
|
-
getMiddlewareCacheSize,
|
|
73
|
-
hasContextValue,
|
|
74
|
-
getContextValue,
|
|
75
|
-
setContextValue,
|
|
76
|
-
} from './executor.ts';
|
|
1
|
+
/**
|
|
2
|
+
* Avalon Middleware Module
|
|
3
|
+
*
|
|
4
|
+
* This module provides a Nitro-aligned middleware system for Avalon that supports
|
|
5
|
+
* both global middleware (via Nitro's middleware/ directory) and route-scoped
|
|
6
|
+
* middleware (via _middleware.ts files in page/API directories).
|
|
7
|
+
*
|
|
8
|
+
* Key features:
|
|
9
|
+
* - Nitro-compatible handler signature: return void to continue, return Response to terminate
|
|
10
|
+
* - Route-scoped middleware discovery in src/pages/ and src/api/
|
|
11
|
+
* - Priority-based execution order (parent before child)
|
|
12
|
+
* - Type-safe context augmentation for H3 events
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```ts
|
|
16
|
+
* // Define middleware with proper typing
|
|
17
|
+
* import { defineMiddleware } from 'avalon/middleware';
|
|
18
|
+
* import { getHeader, createError } from 'h3';
|
|
19
|
+
*
|
|
20
|
+
* export default defineMiddleware(async (event) => {
|
|
21
|
+
* const token = getHeader(event, 'Authorization');
|
|
22
|
+
* if (!token) {
|
|
23
|
+
* throw createError({ statusCode: 401, message: 'Unauthorized' });
|
|
24
|
+
* }
|
|
25
|
+
* event.context.user = await validateToken(token);
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```ts
|
|
31
|
+
* // Discover and execute middleware in your server
|
|
32
|
+
* import { discoverScopedMiddleware, executeScopedMiddleware } from 'avalon/middleware';
|
|
33
|
+
*
|
|
34
|
+
* const routes = await discoverScopedMiddleware({ baseDir: 'src', devMode: true });
|
|
35
|
+
* const response = await executeScopedMiddleware(event, routes);
|
|
36
|
+
* if (response) return response;
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Requirements: 4.3
|
|
40
|
+
*/
|
|
41
|
+
|
|
42
|
+
// =============================================================================
|
|
43
|
+
// Type Exports
|
|
44
|
+
// =============================================================================
|
|
45
|
+
|
|
46
|
+
export type {
|
|
47
|
+
MiddlewareHandler,
|
|
48
|
+
MiddlewareFileExport,
|
|
49
|
+
MiddlewareRoute,
|
|
50
|
+
MiddlewareDiscoveryOptions,
|
|
51
|
+
MiddlewareExecutorOptions,
|
|
52
|
+
} from './types.ts';
|
|
53
|
+
|
|
54
|
+
// =============================================================================
|
|
55
|
+
// Helper Functions (defineMiddleware removed — use defineHandler from 'nitro/h3')
|
|
56
|
+
// =============================================================================
|
|
57
|
+
|
|
58
|
+
// =============================================================================
|
|
59
|
+
// Discovery Functions
|
|
60
|
+
// =============================================================================
|
|
61
|
+
|
|
62
|
+
export { discoverScopedMiddleware, getMatchingMiddleware, clearDiscoveryCache } from './discovery.ts';
|
|
63
|
+
|
|
64
|
+
// =============================================================================
|
|
65
|
+
// Executor Functions
|
|
66
|
+
// =============================================================================
|
|
67
|
+
|
|
68
|
+
export {
|
|
69
|
+
executeScopedMiddleware,
|
|
70
|
+
clearMiddlewareCache,
|
|
71
|
+
invalidateMiddleware,
|
|
72
|
+
getMiddlewareCacheSize,
|
|
73
|
+
hasContextValue,
|
|
74
|
+
getContextValue,
|
|
75
|
+
setContextValue,
|
|
76
|
+
} from './executor.ts';
|
package/src/middleware/types.ts
CHANGED
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Nitro-Aligned Middleware Types
|
|
3
|
-
*
|
|
4
|
-
* This module defines types for Avalon's middleware system that align with
|
|
5
|
-
* Nitro's conventions while preserving route-scoped middleware features.
|
|
6
|
-
*
|
|
7
|
-
* Key differences from old middleware system:
|
|
8
|
-
* - Handler signature: (event: H3Event) => void | Response | Promise<void | Response>
|
|
9
|
-
* - Return void to continue, return Response to terminate
|
|
10
|
-
* - Uses event.context for data passing instead of custom state/locals
|
|
11
|
-
*
|
|
12
|
-
* Requirements: 1.1
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
import type { H3Event } from 'h3';
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Nitro-aligned middleware handler signature
|
|
19
|
-
*
|
|
20
|
-
* This signature matches Nitro's middleware conventions:
|
|
21
|
-
* - Return nothing (void/undefined) to continue to next middleware
|
|
22
|
-
* - Return a Response to terminate the chain and send that response
|
|
23
|
-
* - Throw an error to trigger Nitro's error handling
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```ts
|
|
27
|
-
* const handler: MiddlewareHandler = async (event) => {
|
|
28
|
-
* // Check auth
|
|
29
|
-
* if (!event.context.user) {
|
|
30
|
-
* return new Response('Unauthorized', { status: 401 });
|
|
31
|
-
* }
|
|
32
|
-
* // Continue to next middleware
|
|
33
|
-
* };
|
|
34
|
-
* ```
|
|
35
|
-
*/
|
|
36
|
-
export type MiddlewareHandler = (
|
|
37
|
-
event: H3Event
|
|
38
|
-
) => void | Response | Promise<void | Response>;
|
|
39
|
-
|
|
40
|
-
/**
|
|
41
|
-
* Route-scoped middleware file export interface
|
|
42
|
-
*
|
|
43
|
-
* Middleware files should export a default function matching the MiddlewareHandler signature.
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* ```ts
|
|
47
|
-
* // src/pages/admin/_middleware.ts
|
|
48
|
-
* export default async (event) => {
|
|
49
|
-
* // middleware logic
|
|
50
|
-
* };
|
|
51
|
-
* ```
|
|
52
|
-
*/
|
|
53
|
-
export interface MiddlewareFileExport {
|
|
54
|
-
/** Default export must be a MiddlewareHandler function */
|
|
55
|
-
default: MiddlewareHandler;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Discovered middleware route configuration
|
|
60
|
-
*
|
|
61
|
-
* Represents a middleware file discovered during scanning, with its
|
|
62
|
-
* URL pattern, file path, execution priority, and type.
|
|
63
|
-
*/
|
|
64
|
-
export interface MiddlewareRoute {
|
|
65
|
-
/** URL pattern for matching requests */
|
|
66
|
-
pattern: URLPattern;
|
|
67
|
-
/** Absolute path to the middleware file */
|
|
68
|
-
filePath: string;
|
|
69
|
-
/** Execution priority (lower numbers execute first) */
|
|
70
|
-
priority: number;
|
|
71
|
-
/** Middleware type - determines which routes it applies to */
|
|
72
|
-
type: 'global' | 'pages';
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Middleware discovery options
|
|
77
|
-
*/
|
|
78
|
-
export interface MiddlewareDiscoveryOptions {
|
|
79
|
-
/** Base directory to scan (e.g., 'src') */
|
|
80
|
-
baseDir: string;
|
|
81
|
-
/** File pattern to match (default: '_middleware.ts') */
|
|
82
|
-
filePattern?: string;
|
|
83
|
-
/** Directories to exclude from scanning */
|
|
84
|
-
excludeDirs?: string[];
|
|
85
|
-
/** Enable development mode logging */
|
|
86
|
-
devMode?: boolean;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Middleware execution options
|
|
91
|
-
*/
|
|
92
|
-
export interface MiddlewareExecutorOptions {
|
|
93
|
-
/** Enable development mode logging */
|
|
94
|
-
devMode?: boolean;
|
|
95
|
-
/** Timeout for middleware execution in milliseconds */
|
|
96
|
-
timeout?: number;
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Nitro-Aligned Middleware Types
|
|
3
|
+
*
|
|
4
|
+
* This module defines types for Avalon's middleware system that align with
|
|
5
|
+
* Nitro's conventions while preserving route-scoped middleware features.
|
|
6
|
+
*
|
|
7
|
+
* Key differences from old middleware system:
|
|
8
|
+
* - Handler signature: (event: H3Event) => void | Response | Promise<void | Response>
|
|
9
|
+
* - Return void to continue, return Response to terminate
|
|
10
|
+
* - Uses event.context for data passing instead of custom state/locals
|
|
11
|
+
*
|
|
12
|
+
* Requirements: 1.1
|
|
13
|
+
*/
|
|
14
|
+
|
|
15
|
+
import type { H3Event } from 'h3';
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Nitro-aligned middleware handler signature
|
|
19
|
+
*
|
|
20
|
+
* This signature matches Nitro's middleware conventions:
|
|
21
|
+
* - Return nothing (void/undefined) to continue to next middleware
|
|
22
|
+
* - Return a Response to terminate the chain and send that response
|
|
23
|
+
* - Throw an error to trigger Nitro's error handling
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```ts
|
|
27
|
+
* const handler: MiddlewareHandler = async (event) => {
|
|
28
|
+
* // Check auth
|
|
29
|
+
* if (!event.context.user) {
|
|
30
|
+
* return new Response('Unauthorized', { status: 401 });
|
|
31
|
+
* }
|
|
32
|
+
* // Continue to next middleware
|
|
33
|
+
* };
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export type MiddlewareHandler = (
|
|
37
|
+
event: H3Event
|
|
38
|
+
) => void | Response | Promise<void | Response>;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Route-scoped middleware file export interface
|
|
42
|
+
*
|
|
43
|
+
* Middleware files should export a default function matching the MiddlewareHandler signature.
|
|
44
|
+
*
|
|
45
|
+
* @example
|
|
46
|
+
* ```ts
|
|
47
|
+
* // src/pages/admin/_middleware.ts
|
|
48
|
+
* export default async (event) => {
|
|
49
|
+
* // middleware logic
|
|
50
|
+
* };
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
export interface MiddlewareFileExport {
|
|
54
|
+
/** Default export must be a MiddlewareHandler function */
|
|
55
|
+
default: MiddlewareHandler;
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Discovered middleware route configuration
|
|
60
|
+
*
|
|
61
|
+
* Represents a middleware file discovered during scanning, with its
|
|
62
|
+
* URL pattern, file path, execution priority, and type.
|
|
63
|
+
*/
|
|
64
|
+
export interface MiddlewareRoute {
|
|
65
|
+
/** URL pattern for matching requests */
|
|
66
|
+
pattern: URLPattern;
|
|
67
|
+
/** Absolute path to the middleware file */
|
|
68
|
+
filePath: string;
|
|
69
|
+
/** Execution priority (lower numbers execute first) */
|
|
70
|
+
priority: number;
|
|
71
|
+
/** Middleware type - determines which routes it applies to */
|
|
72
|
+
type: 'global' | 'pages';
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Middleware discovery options
|
|
77
|
+
*/
|
|
78
|
+
export interface MiddlewareDiscoveryOptions {
|
|
79
|
+
/** Base directory to scan (e.g., 'src') */
|
|
80
|
+
baseDir: string;
|
|
81
|
+
/** File pattern to match (default: '_middleware.ts') */
|
|
82
|
+
filePattern?: string;
|
|
83
|
+
/** Directories to exclude from scanning */
|
|
84
|
+
excludeDirs?: string[];
|
|
85
|
+
/** Enable development mode logging */
|
|
86
|
+
devMode?: boolean;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Middleware execution options
|
|
91
|
+
*/
|
|
92
|
+
export interface MiddlewareExecutorOptions {
|
|
93
|
+
/** Enable development mode logging */
|
|
94
|
+
devMode?: boolean;
|
|
95
|
+
/** Timeout for middleware execution in milliseconds */
|
|
96
|
+
timeout?: number;
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
|