@expressots/adapter-express 3.0.0 → 4.0.0-preview.3
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/LICENSE.md +21 -21
- package/README.md +61 -118
- package/lib/CHANGELOG.md +36 -5
- package/lib/README.md +61 -118
- package/lib/cjs/adapter-express/application-express.base.js +3 -1
- package/lib/cjs/adapter-express/application-express.js +1405 -85
- package/lib/cjs/adapter-express/express-utils/conditional-middleware.js +102 -0
- package/lib/cjs/adapter-express/express-utils/constants.js +17 -0
- package/lib/cjs/adapter-express/express-utils/content-negotiation-decorators.js +129 -0
- package/lib/cjs/adapter-express/express-utils/decorators.js +225 -59
- package/lib/cjs/adapter-express/express-utils/exception-filter-decorators.js +11 -0
- package/lib/cjs/adapter-express/express-utils/guard-context-factory.js +84 -0
- package/lib/cjs/adapter-express/express-utils/guard-middleware.js +115 -0
- package/lib/cjs/adapter-express/express-utils/guard-utils.js +18 -0
- package/lib/cjs/adapter-express/express-utils/http-context-store.js +15 -0
- package/lib/cjs/adapter-express/express-utils/http-status-middleware.js +37 -2
- package/lib/cjs/adapter-express/express-utils/index.js +67 -1
- package/lib/cjs/adapter-express/express-utils/interceptor-middleware.js +132 -0
- package/lib/cjs/adapter-express/express-utils/inversify-express-server.js +827 -64
- package/lib/cjs/adapter-express/express-utils/lazy-module-middleware.js +241 -0
- package/lib/cjs/adapter-express/express-utils/middleware-composition.js +95 -0
- package/lib/cjs/adapter-express/express-utils/path-pattern-compat.js +129 -0
- package/lib/cjs/adapter-express/express-utils/permission-preloader.middleware.js +48 -0
- package/lib/cjs/adapter-express/express-utils/route-constraints.js +104 -0
- package/lib/cjs/adapter-express/express-utils/scope-extractor.interface.js +2 -0
- package/lib/cjs/adapter-express/express-utils/scope-extractor.js +66 -0
- package/lib/cjs/adapter-express/express-utils/setup-authorization.js +71 -0
- package/lib/cjs/adapter-express/express-utils/setup-event-system.js +113 -0
- package/lib/cjs/adapter-express/express-utils/setup-interceptors.js +103 -0
- package/lib/cjs/adapter-express/express-utils/setup-lazy-loading.js +228 -0
- package/lib/cjs/adapter-express/express-utils/utils.js +30 -12
- package/lib/cjs/adapter-express/express-utils/validation-decorators.js +205 -0
- package/lib/cjs/adapter-express/express-utils/validation-service.js +252 -0
- package/lib/cjs/adapter-express/index.js +7 -5
- package/lib/cjs/adapter-express/micro-api/application-express-micro-route.js +31 -1
- package/lib/cjs/adapter-express/micro-api/application-express-micro.js +8 -38
- package/lib/cjs/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
- package/lib/cjs/adapter-express/micro-api/gateway/index.js +11 -0
- package/lib/cjs/adapter-express/micro-api/gateway/service-proxy.js +214 -0
- package/lib/cjs/adapter-express/micro-api/index.js +27 -3
- package/lib/cjs/adapter-express/micro-api/micro.js +272 -0
- package/lib/cjs/adapter-express/micro-api/queue/index.js +8 -0
- package/lib/cjs/adapter-express/micro-api/queue/queue.interface.js +2 -0
- package/lib/cjs/adapter-express/micro-api/queue/rabbitmq-consumer.js +255 -0
- package/lib/cjs/adapter-express/micro-api/serverless/aws-lambda.adapter.js +183 -0
- package/lib/cjs/adapter-express/micro-api/serverless/cloudflare.adapter.js +158 -0
- package/lib/cjs/adapter-express/micro-api/serverless/index.js +12 -0
- package/lib/cjs/adapter-express/micro-api/serverless/vercel.adapter.js +102 -0
- package/lib/cjs/adapter-express/micro-api/service-mesh/index.js +10 -0
- package/lib/cjs/adapter-express/micro-api/service-mesh/service-client.js +194 -0
- package/lib/cjs/adapter-express/micro-api/service-mesh/service-discovery.js +261 -0
- package/lib/cjs/adapter-express/middleware/index.js +21 -0
- package/lib/cjs/adapter-express/middleware/request-logging.middleware.js +244 -0
- package/lib/cjs/adapter-express/render/engine.js +15 -15
- package/lib/cjs/adapter-express/render/index.js +5 -0
- package/lib/cjs/adapter-express/studio/index.js +10 -0
- package/lib/cjs/adapter-express/studio/studio-integration.js +267 -0
- package/lib/cjs/index.js +1 -1
- package/lib/cjs/types/adapter-express/application-express.base.d.ts +20 -7
- package/lib/cjs/types/adapter-express/application-express.d.ts +316 -33
- package/lib/cjs/types/adapter-express/express-utils/base-middleware.d.ts +2 -2
- package/lib/cjs/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
- package/lib/cjs/types/adapter-express/express-utils/constants.d.ts +13 -0
- package/lib/cjs/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
- package/lib/cjs/types/adapter-express/express-utils/decorators.d.ts +54 -6
- package/lib/cjs/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
- package/lib/cjs/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
- package/lib/cjs/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
- package/lib/cjs/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
- package/lib/cjs/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
- package/lib/cjs/types/adapter-express/express-utils/httpResponseMessage.d.ts +1 -1
- package/lib/cjs/types/adapter-express/express-utils/index.d.ts +30 -2
- package/lib/cjs/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
- package/lib/cjs/types/adapter-express/express-utils/interfaces.d.ts +42 -5
- package/lib/cjs/types/adapter-express/express-utils/inversify-express-server.d.ts +114 -2
- package/lib/cjs/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
- package/lib/cjs/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
- package/lib/cjs/types/adapter-express/express-utils/path-pattern-compat.d.ts +66 -0
- package/lib/cjs/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
- package/lib/cjs/types/adapter-express/express-utils/route-constraints.d.ts +98 -0
- package/lib/cjs/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
- package/lib/cjs/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
- package/lib/cjs/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
- package/lib/cjs/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
- package/lib/cjs/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
- package/lib/cjs/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
- package/lib/cjs/types/adapter-express/express-utils/utils.d.ts +17 -2
- package/lib/cjs/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
- package/lib/cjs/types/adapter-express/express-utils/validation-service.d.ts +88 -0
- package/lib/cjs/types/adapter-express/index.d.ts +6 -4
- package/lib/cjs/types/adapter-express/micro-api/application-express-micro-route.d.ts +25 -14
- package/lib/cjs/types/adapter-express/micro-api/application-express-micro.d.ts +3 -10
- package/lib/cjs/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
- package/lib/cjs/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
- package/lib/cjs/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
- package/lib/cjs/types/adapter-express/micro-api/index.d.ts +7 -1
- package/lib/cjs/types/adapter-express/micro-api/micro.d.ts +83 -0
- package/lib/cjs/types/adapter-express/micro-api/queue/index.d.ts +5 -0
- package/lib/cjs/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
- package/lib/cjs/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
- package/lib/cjs/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
- package/lib/cjs/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
- package/lib/cjs/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
- package/lib/cjs/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
- package/lib/cjs/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
- package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
- package/lib/cjs/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
- package/lib/cjs/types/adapter-express/middleware/index.d.ts +5 -0
- package/lib/cjs/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
- package/lib/cjs/types/adapter-express/render/index.d.ts +1 -0
- package/lib/cjs/types/adapter-express/studio/index.d.ts +1 -0
- package/lib/cjs/types/adapter-express/studio/studio-integration.d.ts +170 -0
- package/lib/cjs/types/index.d.ts +1 -1
- package/lib/esm/adapter-express/application-express.base.js +24 -0
- package/lib/esm/adapter-express/application-express.js +1656 -0
- package/lib/esm/adapter-express/application-express.types.js +1 -0
- package/lib/esm/adapter-express/express-utils/base-middleware.js +19 -0
- package/lib/esm/adapter-express/express-utils/conditional-middleware.js +96 -0
- package/lib/esm/adapter-express/express-utils/constants.js +63 -0
- package/lib/esm/adapter-express/express-utils/content/httpContent.js +6 -0
- package/lib/esm/adapter-express/express-utils/content-negotiation-decorators.js +120 -0
- package/lib/esm/adapter-express/express-utils/decorators.js +604 -0
- package/lib/esm/adapter-express/express-utils/exception-filter-decorators.js +6 -0
- package/lib/esm/adapter-express/express-utils/guard-context-factory.js +83 -0
- package/lib/esm/adapter-express/express-utils/guard-middleware.js +115 -0
- package/lib/esm/adapter-express/express-utils/guard-utils.js +14 -0
- package/lib/esm/adapter-express/express-utils/http-context-store.js +10 -0
- package/lib/esm/adapter-express/express-utils/http-status-middleware.js +116 -0
- package/lib/esm/adapter-express/express-utils/httpResponseMessage.js +29 -0
- package/lib/esm/adapter-express/express-utils/index.js +24 -0
- package/lib/esm/adapter-express/express-utils/interceptor-middleware.js +130 -0
- package/lib/esm/adapter-express/express-utils/interfaces.js +1 -0
- package/lib/esm/adapter-express/express-utils/inversify-express-server.js +1047 -0
- package/lib/esm/adapter-express/express-utils/lazy-module-middleware.js +236 -0
- package/lib/esm/adapter-express/express-utils/middleware-composition.js +89 -0
- package/lib/esm/adapter-express/express-utils/path-pattern-compat.js +125 -0
- package/lib/esm/adapter-express/express-utils/permission-preloader.middleware.js +45 -0
- package/lib/esm/adapter-express/express-utils/resolver-multer.js +30 -0
- package/lib/esm/adapter-express/express-utils/route-constraints.js +100 -0
- package/lib/esm/adapter-express/express-utils/scope-extractor.interface.js +1 -0
- package/lib/esm/adapter-express/express-utils/scope-extractor.js +63 -0
- package/lib/esm/adapter-express/express-utils/setup-authorization.js +68 -0
- package/lib/esm/adapter-express/express-utils/setup-event-system.js +110 -0
- package/lib/esm/adapter-express/express-utils/setup-interceptors.js +100 -0
- package/lib/esm/adapter-express/express-utils/setup-lazy-loading.js +225 -0
- package/lib/esm/adapter-express/express-utils/utils.js +68 -0
- package/lib/esm/adapter-express/express-utils/validation-decorators.js +199 -0
- package/lib/esm/adapter-express/express-utils/validation-service.js +251 -0
- package/lib/esm/adapter-express/index.js +7 -0
- package/lib/esm/adapter-express/micro-api/application-express-micro-container.js +48 -0
- package/lib/esm/adapter-express/micro-api/application-express-micro-route.js +128 -0
- package/lib/esm/adapter-express/micro-api/application-express-micro.js +157 -0
- package/lib/esm/adapter-express/micro-api/gateway/circuit-breaker.js +174 -0
- package/lib/esm/adapter-express/micro-api/gateway/index.js +5 -0
- package/lib/esm/adapter-express/micro-api/gateway/service-proxy.js +210 -0
- package/lib/esm/adapter-express/micro-api/index.js +10 -0
- package/lib/esm/adapter-express/micro-api/micro.js +266 -0
- package/lib/esm/adapter-express/micro-api/queue/index.js +4 -0
- package/lib/esm/adapter-express/micro-api/queue/queue.interface.js +1 -0
- package/lib/esm/adapter-express/micro-api/queue/rabbitmq-consumer.js +229 -0
- package/lib/esm/adapter-express/micro-api/serverless/aws-lambda.adapter.js +180 -0
- package/lib/esm/adapter-express/micro-api/serverless/cloudflare.adapter.js +155 -0
- package/lib/esm/adapter-express/micro-api/serverless/index.js +6 -0
- package/lib/esm/adapter-express/micro-api/serverless/vercel.adapter.js +99 -0
- package/lib/esm/adapter-express/micro-api/service-mesh/index.js +5 -0
- package/lib/esm/adapter-express/micro-api/service-mesh/service-client.js +191 -0
- package/lib/esm/adapter-express/micro-api/service-mesh/service-discovery.js +259 -0
- package/lib/esm/adapter-express/middleware/index.js +5 -0
- package/lib/esm/adapter-express/middleware/request-logging.middleware.js +239 -0
- package/lib/esm/adapter-express/render/constants.js +37 -0
- package/lib/esm/adapter-express/render/engine.js +51 -0
- package/lib/esm/adapter-express/render/index.js +1 -0
- package/lib/esm/adapter-express/render/resolve-render.js +30 -0
- package/lib/esm/adapter-express/studio/index.js +1 -0
- package/lib/esm/adapter-express/studio/studio-integration.js +236 -0
- package/lib/esm/index.mjs +1 -0
- package/lib/esm/package.json +3 -0
- package/lib/esm/types/adapter-express/application-express.base.d.ts +77 -0
- package/lib/esm/types/adapter-express/application-express.d.ts +453 -0
- package/lib/esm/types/adapter-express/application-express.types.d.ts +23 -0
- package/lib/esm/types/adapter-express/express-utils/base-middleware.d.ts +8 -0
- package/lib/esm/types/adapter-express/express-utils/conditional-middleware.d.ts +97 -0
- package/lib/esm/types/adapter-express/express-utils/constants.d.ts +57 -0
- package/lib/esm/types/adapter-express/express-utils/content/httpContent.d.ts +6 -0
- package/lib/esm/types/adapter-express/express-utils/content-negotiation-decorators.d.ts +94 -0
- package/lib/esm/types/adapter-express/express-utils/decorators.d.ts +257 -0
- package/lib/esm/types/adapter-express/express-utils/exception-filter-decorators.d.ts +6 -0
- package/lib/esm/types/adapter-express/express-utils/guard-context-factory.d.ts +17 -0
- package/lib/esm/types/adapter-express/express-utils/guard-middleware.d.ts +22 -0
- package/lib/esm/types/adapter-express/express-utils/guard-utils.d.ts +11 -0
- package/lib/esm/types/adapter-express/express-utils/http-context-store.d.ts +20 -0
- package/lib/esm/types/adapter-express/express-utils/http-status-middleware.d.ts +26 -0
- package/lib/esm/types/adapter-express/express-utils/httpResponseMessage.d.ts +14 -0
- package/lib/esm/types/adapter-express/express-utils/index.d.ts +30 -0
- package/lib/esm/types/adapter-express/express-utils/interceptor-middleware.d.ts +40 -0
- package/lib/esm/types/adapter-express/express-utils/interfaces.d.ts +115 -0
- package/lib/esm/types/adapter-express/express-utils/inversify-express-server.d.ts +172 -0
- package/lib/esm/types/adapter-express/express-utils/lazy-module-middleware.d.ts +122 -0
- package/lib/esm/types/adapter-express/express-utils/middleware-composition.d.ts +85 -0
- package/lib/esm/types/adapter-express/express-utils/path-pattern-compat.d.ts +66 -0
- package/lib/esm/types/adapter-express/express-utils/permission-preloader.middleware.d.ts +10 -0
- package/lib/esm/types/adapter-express/express-utils/resolver-multer.d.ts +7 -0
- package/lib/esm/types/adapter-express/express-utils/route-constraints.d.ts +98 -0
- package/lib/esm/types/adapter-express/express-utils/scope-extractor.d.ts +21 -0
- package/lib/esm/types/adapter-express/express-utils/scope-extractor.interface.d.ts +12 -0
- package/lib/esm/types/adapter-express/express-utils/setup-authorization.d.ts +34 -0
- package/lib/esm/types/adapter-express/express-utils/setup-event-system.d.ts +118 -0
- package/lib/esm/types/adapter-express/express-utils/setup-interceptors.d.ts +115 -0
- package/lib/esm/types/adapter-express/express-utils/setup-lazy-loading.d.ts +123 -0
- package/lib/esm/types/adapter-express/express-utils/utils.d.ts +24 -0
- package/lib/esm/types/adapter-express/express-utils/validation-decorators.d.ts +145 -0
- package/lib/esm/types/adapter-express/express-utils/validation-service.d.ts +88 -0
- package/lib/esm/types/adapter-express/index.d.ts +7 -0
- package/lib/esm/types/adapter-express/micro-api/application-express-micro-container.d.ts +47 -0
- package/lib/esm/types/adapter-express/micro-api/application-express-micro-route.d.ts +104 -0
- package/lib/esm/types/adapter-express/micro-api/application-express-micro.d.ts +72 -0
- package/lib/esm/types/adapter-express/micro-api/gateway/circuit-breaker.d.ts +111 -0
- package/lib/esm/types/adapter-express/micro-api/gateway/index.d.ts +5 -0
- package/lib/esm/types/adapter-express/micro-api/gateway/service-proxy.d.ts +83 -0
- package/lib/esm/types/adapter-express/micro-api/index.d.ts +7 -0
- package/lib/esm/types/adapter-express/micro-api/micro.d.ts +83 -0
- package/lib/esm/types/adapter-express/micro-api/queue/index.d.ts +5 -0
- package/lib/esm/types/adapter-express/micro-api/queue/queue.interface.d.ts +60 -0
- package/lib/esm/types/adapter-express/micro-api/queue/rabbitmq-consumer.d.ts +86 -0
- package/lib/esm/types/adapter-express/micro-api/serverless/aws-lambda.adapter.d.ts +77 -0
- package/lib/esm/types/adapter-express/micro-api/serverless/cloudflare.adapter.d.ts +64 -0
- package/lib/esm/types/adapter-express/micro-api/serverless/index.d.ts +6 -0
- package/lib/esm/types/adapter-express/micro-api/serverless/vercel.adapter.d.ts +56 -0
- package/lib/esm/types/adapter-express/micro-api/service-mesh/index.d.ts +5 -0
- package/lib/esm/types/adapter-express/micro-api/service-mesh/service-client.d.ts +122 -0
- package/lib/esm/types/adapter-express/micro-api/service-mesh/service-discovery.d.ts +150 -0
- package/lib/esm/types/adapter-express/middleware/index.d.ts +5 -0
- package/lib/esm/types/adapter-express/middleware/request-logging.middleware.d.ts +65 -0
- package/lib/esm/types/adapter-express/render/constants.d.ts +26 -0
- package/lib/esm/types/adapter-express/render/engine.d.ts +20 -0
- package/lib/esm/types/adapter-express/render/index.d.ts +5 -0
- package/lib/esm/types/adapter-express/render/resolve-render.d.ts +7 -0
- package/lib/esm/types/adapter-express/studio/index.d.ts +1 -0
- package/lib/esm/types/adapter-express/studio/studio-integration.d.ts +170 -0
- package/lib/esm/types/index.d.ts +1 -0
- package/lib/package.json +170 -146
- package/package.json +170 -146
- package/lib/cjs/di/di.interfaces.js +0 -10
- package/lib/cjs/types/di/di.interfaces.d.ts +0 -289
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Studio Integration - Auto-detects and integrates ExpressoTS Studio Agent
|
|
3
|
+
*
|
|
4
|
+
* This module provides automatic integration with @expressots/studio-agent
|
|
5
|
+
* when it's installed in the project. It enables request recording, tracing,
|
|
6
|
+
* and real-time monitoring without requiring manual setup.
|
|
7
|
+
*/
|
|
8
|
+
import type { Application, RequestHandler } from "express";
|
|
9
|
+
interface StudioAgentInstance {
|
|
10
|
+
start(): Promise<void>;
|
|
11
|
+
stop(): Promise<void>;
|
|
12
|
+
createMiddleware(): RequestHandler;
|
|
13
|
+
scanRoutes(): Promise<void>;
|
|
14
|
+
/**
|
|
15
|
+
* Optional — older agents may not implement this. Used to push the
|
|
16
|
+
* actual listening port + boot duration once the host server is up.
|
|
17
|
+
*/
|
|
18
|
+
updateRuntimeInfo?(patch: {
|
|
19
|
+
appPort?: number;
|
|
20
|
+
globalPrefix?: string;
|
|
21
|
+
startupMs?: number;
|
|
22
|
+
interceptorCount?: number;
|
|
23
|
+
providerCount?: number;
|
|
24
|
+
middlewareCount?: number;
|
|
25
|
+
runtimeItems?: StudioRuntimeItems;
|
|
26
|
+
middlewarePreset?: StudioMiddlewarePresetInfo;
|
|
27
|
+
}): void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Itemised runtime view forwarded to the Studio Agent. Populated from
|
|
31
|
+
* DI metadata at boot — surfaces framework-registered items the agent's
|
|
32
|
+
* static file scanner can't see (e.g. built-in providers, interceptors
|
|
33
|
+
* registered via `@Interceptor()` on framework classes).
|
|
34
|
+
*
|
|
35
|
+
* Mirrors `RuntimeItems` in `@expressots/studio-agent` deliberately so
|
|
36
|
+
* the adapter doesn't need to import from the studio package (which is
|
|
37
|
+
* an optional peer dependency).
|
|
38
|
+
*/
|
|
39
|
+
export interface StudioRuntimeItems {
|
|
40
|
+
providers?: Array<{
|
|
41
|
+
name: string;
|
|
42
|
+
source?: string;
|
|
43
|
+
}>;
|
|
44
|
+
interceptors?: Array<{
|
|
45
|
+
name: string;
|
|
46
|
+
priority?: number;
|
|
47
|
+
source?: string;
|
|
48
|
+
}>;
|
|
49
|
+
middleware?: Array<{
|
|
50
|
+
name: string;
|
|
51
|
+
category: string;
|
|
52
|
+
type: "built-in" | "custom";
|
|
53
|
+
order: number;
|
|
54
|
+
path?: string;
|
|
55
|
+
}>;
|
|
56
|
+
/**
|
|
57
|
+
* Controller- and route-scoped middleware bindings, harvested from
|
|
58
|
+
* `ControllerMetadata.middleware` Reflect entries after
|
|
59
|
+
* `app.listen()`. Used by the agent to draw scope-aware
|
|
60
|
+
* "middleware → controller / route" edges on the architecture map.
|
|
61
|
+
*
|
|
62
|
+
* Mirrors `MiddlewareBinding` in `@expressots/studio-agent`.
|
|
63
|
+
*/
|
|
64
|
+
middlewareBindings?: Array<{
|
|
65
|
+
middlewareName: string;
|
|
66
|
+
scope: "controller" | "route";
|
|
67
|
+
controllerName: string;
|
|
68
|
+
controllerMethod?: string;
|
|
69
|
+
httpMethod?: string;
|
|
70
|
+
routePath?: string;
|
|
71
|
+
}>;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Middleware preset info forwarded to the Studio Agent. Mirrors
|
|
75
|
+
* `MiddlewarePresetInfo` in `@expressots/studio-agent` so the adapter
|
|
76
|
+
* doesn't need to import from the studio package.
|
|
77
|
+
*/
|
|
78
|
+
export interface StudioMiddlewarePresetInfo {
|
|
79
|
+
name: string;
|
|
80
|
+
hasOverrides: boolean;
|
|
81
|
+
parse?: {
|
|
82
|
+
json?: {
|
|
83
|
+
limit?: string;
|
|
84
|
+
};
|
|
85
|
+
urlencoded?: {
|
|
86
|
+
limit?: string;
|
|
87
|
+
extended?: boolean;
|
|
88
|
+
};
|
|
89
|
+
cookies?: boolean;
|
|
90
|
+
};
|
|
91
|
+
security?: {
|
|
92
|
+
tier?: string;
|
|
93
|
+
helmet?: boolean;
|
|
94
|
+
cors?: {
|
|
95
|
+
origin?: boolean | string;
|
|
96
|
+
credentials?: boolean;
|
|
97
|
+
methods?: Array<string>;
|
|
98
|
+
allowedHeaders?: Array<string>;
|
|
99
|
+
};
|
|
100
|
+
rateLimit?: {
|
|
101
|
+
windowMs?: number;
|
|
102
|
+
max?: number;
|
|
103
|
+
} | false;
|
|
104
|
+
};
|
|
105
|
+
compress?: {
|
|
106
|
+
enabled: boolean;
|
|
107
|
+
level?: number;
|
|
108
|
+
};
|
|
109
|
+
logger?: {
|
|
110
|
+
enabled: boolean;
|
|
111
|
+
implementation?: string;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
interface StudioIntegrationConfig {
|
|
115
|
+
enabled?: boolean;
|
|
116
|
+
port?: number;
|
|
117
|
+
dbPath?: string;
|
|
118
|
+
serviceName?: string;
|
|
119
|
+
/** Forwarded to the agent so the Status page can show the app URL. */
|
|
120
|
+
appPort?: number;
|
|
121
|
+
/** Global URL prefix of the host application. */
|
|
122
|
+
globalPrefix?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Initialize the Studio Agent if available
|
|
126
|
+
*/
|
|
127
|
+
export declare function initializeStudio(app: Application, config?: StudioIntegrationConfig, appContainer?: unknown): Promise<boolean>;
|
|
128
|
+
/**
|
|
129
|
+
* Push runtime details to the agent that the host only knows after the
|
|
130
|
+
* HTTP server has started — most importantly the actual listening port
|
|
131
|
+
* and total boot time. No-ops when:
|
|
132
|
+
* - the agent isn't running, or
|
|
133
|
+
* - the installed agent is from an older preview without
|
|
134
|
+
* `updateRuntimeInfo()` (we feature-detect to stay forward-compatible).
|
|
135
|
+
*/
|
|
136
|
+
export declare function reportStudioRuntimeInfo(patch: {
|
|
137
|
+
appPort?: number;
|
|
138
|
+
globalPrefix?: string;
|
|
139
|
+
startupMs?: number;
|
|
140
|
+
interceptorCount?: number;
|
|
141
|
+
providerCount?: number;
|
|
142
|
+
middlewareCount?: number;
|
|
143
|
+
runtimeItems?: StudioRuntimeItems;
|
|
144
|
+
middlewarePreset?: StudioMiddlewarePresetInfo;
|
|
145
|
+
}): void;
|
|
146
|
+
/**
|
|
147
|
+
* Re-trigger the Studio Agent's route discovery. Used by the host
|
|
148
|
+
* after `app.listen()` so that the agent's runtime route scanner sees
|
|
149
|
+
* the fully-populated Express `_router` stack (controllers are bound
|
|
150
|
+
* by `InversifyExpressServer.build()` AFTER `initializeStudio()` runs,
|
|
151
|
+
* so the agent's first scan only catches static-source routes).
|
|
152
|
+
*
|
|
153
|
+
* No-ops when:
|
|
154
|
+
* - Studio isn't enabled, or
|
|
155
|
+
* - the installed agent is too old to expose `scanRoutes()`.
|
|
156
|
+
*/
|
|
157
|
+
export declare function rescanStudioRoutes(): Promise<void>;
|
|
158
|
+
/**
|
|
159
|
+
* Stop the Studio Agent
|
|
160
|
+
*/
|
|
161
|
+
export declare function stopStudio(): Promise<void>;
|
|
162
|
+
/**
|
|
163
|
+
* Check if Studio is enabled
|
|
164
|
+
*/
|
|
165
|
+
export declare function isStudioEnabled(): boolean;
|
|
166
|
+
/**
|
|
167
|
+
* Get the Studio Agent instance
|
|
168
|
+
*/
|
|
169
|
+
export declare function getStudioAgent(): StudioAgentInstance | null;
|
|
170
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./adapter-express/index.js";
|
package/lib/package.json
CHANGED
|
@@ -1,146 +1,170 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@expressots/adapter-express",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "Expressots - modern, fast, lightweight nodejs web framework (@adapter-express)",
|
|
5
|
-
"author": "",
|
|
6
|
-
"main": "./lib/cjs/index.js",
|
|
7
|
-
"types": "./lib/cjs/types/index.d.ts",
|
|
8
|
-
"exports": {
|
|
9
|
-
".": {
|
|
10
|
-
"import": {
|
|
11
|
-
"types": "./lib/esm/types/index.d.ts",
|
|
12
|
-
"default": "./lib/esm/index.mjs"
|
|
13
|
-
},
|
|
14
|
-
"require": {
|
|
15
|
-
"types": "./lib/cjs/types/index.d.ts",
|
|
16
|
-
"default": "./lib/cjs/index.js"
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
},
|
|
20
|
-
"files": [
|
|
21
|
-
"lib/**/*"
|
|
22
|
-
],
|
|
23
|
-
"license": "MIT",
|
|
24
|
-
"homepage": "https://expresso-ts.com",
|
|
25
|
-
"funding": {
|
|
26
|
-
"type": "github",
|
|
27
|
-
"url": "https://github.com/sponsors/expressots"
|
|
28
|
-
},
|
|
29
|
-
"repository": {
|
|
30
|
-
"type": "git",
|
|
31
|
-
"url": "https://github.com/expressots/adapter-express"
|
|
32
|
-
},
|
|
33
|
-
"bugs": {
|
|
34
|
-
"url": "https://github.com/expressots/adapter-express/issues"
|
|
35
|
-
},
|
|
36
|
-
"publishConfig": {
|
|
37
|
-
"access": "public"
|
|
38
|
-
},
|
|
39
|
-
"
|
|
40
|
-
"
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
"
|
|
44
|
-
"
|
|
45
|
-
"
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
"
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
"
|
|
54
|
-
"
|
|
55
|
-
"
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
"
|
|
59
|
-
"
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
"
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
"@expressots/core": "
|
|
73
|
-
"@expressots/shared": "
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
"@
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
"
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
"
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
"
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
"
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
"
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
{
|
|
130
|
-
"type": "
|
|
131
|
-
"section": "
|
|
132
|
-
},
|
|
133
|
-
{
|
|
134
|
-
"type": "
|
|
135
|
-
"section": "
|
|
136
|
-
},
|
|
137
|
-
{
|
|
138
|
-
"type": "
|
|
139
|
-
"section": "
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
1
|
+
{
|
|
2
|
+
"name": "@expressots/adapter-express",
|
|
3
|
+
"version": "4.0.0-preview.3",
|
|
4
|
+
"description": "Expressots - modern, fast, lightweight nodejs web framework (@adapter-express)",
|
|
5
|
+
"author": "",
|
|
6
|
+
"main": "./lib/cjs/index.js",
|
|
7
|
+
"types": "./lib/cjs/types/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"import": {
|
|
11
|
+
"types": "./lib/esm/types/index.d.ts",
|
|
12
|
+
"default": "./lib/esm/index.mjs"
|
|
13
|
+
},
|
|
14
|
+
"require": {
|
|
15
|
+
"types": "./lib/cjs/types/index.d.ts",
|
|
16
|
+
"default": "./lib/cjs/index.js"
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"files": [
|
|
21
|
+
"lib/**/*"
|
|
22
|
+
],
|
|
23
|
+
"license": "MIT",
|
|
24
|
+
"homepage": "https://expresso-ts.com",
|
|
25
|
+
"funding": {
|
|
26
|
+
"type": "github",
|
|
27
|
+
"url": "https://github.com/sponsors/expressots"
|
|
28
|
+
},
|
|
29
|
+
"repository": {
|
|
30
|
+
"type": "git",
|
|
31
|
+
"url": "https://github.com/expressots/adapter-express"
|
|
32
|
+
},
|
|
33
|
+
"bugs": {
|
|
34
|
+
"url": "https://github.com/expressots/adapter-express/issues"
|
|
35
|
+
},
|
|
36
|
+
"publishConfig": {
|
|
37
|
+
"access": "public"
|
|
38
|
+
},
|
|
39
|
+
"engines": {
|
|
40
|
+
"node": ">=20.18.0"
|
|
41
|
+
},
|
|
42
|
+
"keywords": [
|
|
43
|
+
"expressots",
|
|
44
|
+
"nodejs",
|
|
45
|
+
"microservices",
|
|
46
|
+
"typescript",
|
|
47
|
+
"clean-architecture",
|
|
48
|
+
"typescript-framework",
|
|
49
|
+
"framework",
|
|
50
|
+
"server-side"
|
|
51
|
+
],
|
|
52
|
+
"scripts": {
|
|
53
|
+
"prepare": "husky",
|
|
54
|
+
"clean": "node scripts/rm.js lib",
|
|
55
|
+
"copy": "node scripts/copy.js package.json README.md CHANGELOG.md lib",
|
|
56
|
+
"build": "npm run clean && npm run build:cjs && npm run build:esm && npm run copy",
|
|
57
|
+
"build:cjs": "tsc -p tsconfig.cjs.json",
|
|
58
|
+
"build:esm": "node scripts/build-esm.js",
|
|
59
|
+
"release": "release-it",
|
|
60
|
+
"release:prepare": "node scripts/release/prepare-publish.mjs",
|
|
61
|
+
"release:restore": "node scripts/release/restore-package-json.mjs",
|
|
62
|
+
"release:publish": "npm run build && npm run release:prepare && npm publish --tag next --access public && npm run release:restore",
|
|
63
|
+
"prepublish": "npm run build && npm pack",
|
|
64
|
+
"test": "jest",
|
|
65
|
+
"test:watch": "jest --watch",
|
|
66
|
+
"coverage": "jest --coverage",
|
|
67
|
+
"format": "prettier --write \"src/**/*.ts\" --cache",
|
|
68
|
+
"lint": "eslint \"src/**/*.ts\" --cache --cache-location node_modules/.cache/eslint/",
|
|
69
|
+
"lint:fix": "eslint \"src/**/*.ts\" --fix --cache --cache-location node_modules/.cache/eslint/"
|
|
70
|
+
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@expressots/core": "file:../expressots/expressots-core-4.0.0-preview.3.tgz",
|
|
73
|
+
"@expressots/shared": "file:../shared/expressots-shared-4.0.0-preview.3.tgz",
|
|
74
|
+
"express": "^5.1.0",
|
|
75
|
+
"reflect-metadata": "0.2.2"
|
|
76
|
+
},
|
|
77
|
+
"peerDependencies": {
|
|
78
|
+
"@expressots/studio-agent": ">=4.0.0-0"
|
|
79
|
+
},
|
|
80
|
+
"peerDependenciesMeta": {
|
|
81
|
+
"@expressots/studio-agent": {
|
|
82
|
+
"optional": true
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"devDependencies": {
|
|
86
|
+
"@codecov/vite-plugin": "^2.0.1",
|
|
87
|
+
"@commitlint/cli": "19.2.1",
|
|
88
|
+
"@commitlint/config-conventional": "19.2.2",
|
|
89
|
+
"@expressots/studio-agent": "file:../expressots-studio/packages/studio-agent",
|
|
90
|
+
"@release-it/conventional-changelog": "^11.0.0",
|
|
91
|
+
"@types/express": "^5.0.0",
|
|
92
|
+
"@types/jest": "29.5.14",
|
|
93
|
+
"@types/node": "20.14.10",
|
|
94
|
+
"@typescript-eslint/eslint-plugin": "7.16.1",
|
|
95
|
+
"@typescript-eslint/parser": "7.16.1",
|
|
96
|
+
"eslint": "8.57.0",
|
|
97
|
+
"eslint-config-prettier": "9.1.0",
|
|
98
|
+
"husky": "9.1.1",
|
|
99
|
+
"jest": "29.7.0",
|
|
100
|
+
"lint-staged": "^15.2.10",
|
|
101
|
+
"prettier": "3.3.3",
|
|
102
|
+
"release-it": "^20.0.1",
|
|
103
|
+
"ts-jest": "29.2.5",
|
|
104
|
+
"ts-node": "^10.9.2",
|
|
105
|
+
"typescript": "5.5.3"
|
|
106
|
+
},
|
|
107
|
+
"lint-staged": {
|
|
108
|
+
"src/**/*.ts": [
|
|
109
|
+
"eslint --cache --cache-location node_modules/.cache/eslint/ --fix",
|
|
110
|
+
"prettier --write --cache"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"release-it": {
|
|
114
|
+
"git": {
|
|
115
|
+
"commitMessage": "chore(release): ${version}"
|
|
116
|
+
},
|
|
117
|
+
"github": {
|
|
118
|
+
"release": true
|
|
119
|
+
},
|
|
120
|
+
"npm": {
|
|
121
|
+
"publish": false
|
|
122
|
+
},
|
|
123
|
+
"plugins": {
|
|
124
|
+
"@release-it/conventional-changelog": {
|
|
125
|
+
"infile": "CHANGELOG.md",
|
|
126
|
+
"preset": {
|
|
127
|
+
"name": "conventionalcommits",
|
|
128
|
+
"types": [
|
|
129
|
+
{
|
|
130
|
+
"type": "feat",
|
|
131
|
+
"section": "Features"
|
|
132
|
+
},
|
|
133
|
+
{
|
|
134
|
+
"type": "fix",
|
|
135
|
+
"section": "Bug Fixes"
|
|
136
|
+
},
|
|
137
|
+
{
|
|
138
|
+
"type": "perf",
|
|
139
|
+
"section": "Performance Improvements"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "revert",
|
|
143
|
+
"section": "Reverts"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"type": "docs",
|
|
147
|
+
"section": "Documentation"
|
|
148
|
+
},
|
|
149
|
+
{
|
|
150
|
+
"type": "refactor",
|
|
151
|
+
"section": "Code Refactoring"
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"type": "test",
|
|
155
|
+
"section": "Tests"
|
|
156
|
+
},
|
|
157
|
+
{
|
|
158
|
+
"type": "build",
|
|
159
|
+
"section": "Build System"
|
|
160
|
+
},
|
|
161
|
+
{
|
|
162
|
+
"type": "ci",
|
|
163
|
+
"section": "Continuous Integrations"
|
|
164
|
+
}
|
|
165
|
+
]
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
}
|