@lark-apaas/devtool-kits 1.0.6-alpha.4 → 1.0.6

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/index.d.cts CHANGED
@@ -199,37 +199,6 @@ interface DevLogsMiddlewareOptions {
199
199
  */
200
200
  declare function createCollectLogsMiddleware(options?: DevLogsMiddlewareOptions): RouteMiddleware;
201
201
 
202
- interface HealthCheckMiddlewareOptions {
203
- /** 目标服务端口,默认 3000 */
204
- targetPort?: number;
205
- /** 目标服务主机,默认 localhost */
206
- targetHost?: string;
207
- /** 健康检查超时时间(毫秒),默认 2000ms */
208
- timeout?: number;
209
- }
210
- /**
211
- * Creates health check middleware for checking service availability
212
- * Supports both rspack/webpack and Vite dev servers
213
- *
214
- * @example
215
- * ```typescript
216
- * // In rspack/webpack setupMiddlewares
217
- * registerMiddlewares(devServer.app, [
218
- * createHealthCheckMiddleware({ targetPort: 3000 })
219
- * ]);
220
- *
221
- * // Check health at: GET /dev/health
222
- * // Response:
223
- * // {
224
- * // "status": "healthy",
225
- * // "service": "localhost:3000",
226
- * // "responseTime": 15,
227
- * // "timestamp": "2025-01-10T12:00:00.000Z"
228
- * // }
229
- * ```
230
- */
231
- declare function createHealthCheckMiddleware(options?: HealthCheckMiddlewareOptions): RouteMiddleware;
232
-
233
202
  /**
234
203
  * Register middlewares for Express-compatible servers or Vite
235
204
  * @param server - Express app or Vite middleware instance
@@ -269,4 +238,4 @@ declare function createHealthCheckMiddleware(options?: HealthCheckMiddlewareOpti
269
238
  */
270
239
  declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): Promise<void>;
271
240
 
272
- export { type GlobalMiddleware, type Middleware, type MiddlewareContext, type RouteInfo, type RouteMiddleware, createCollectLogsMiddleware, createDevLogsMiddleware, createHealthCheckMiddleware, createOpenapiMiddleware, handleDevProxyError, normalizeBasePath, postprocessDrizzleSchema, registerMiddlewares };
241
+ export { type GlobalMiddleware, type Middleware, type MiddlewareContext, type RouteInfo, type RouteMiddleware, createCollectLogsMiddleware, createDevLogsMiddleware, createOpenapiMiddleware, handleDevProxyError, normalizeBasePath, postprocessDrizzleSchema, registerMiddlewares };
package/dist/index.d.ts CHANGED
@@ -199,37 +199,6 @@ interface DevLogsMiddlewareOptions {
199
199
  */
200
200
  declare function createCollectLogsMiddleware(options?: DevLogsMiddlewareOptions): RouteMiddleware;
201
201
 
202
- interface HealthCheckMiddlewareOptions {
203
- /** 目标服务端口,默认 3000 */
204
- targetPort?: number;
205
- /** 目标服务主机,默认 localhost */
206
- targetHost?: string;
207
- /** 健康检查超时时间(毫秒),默认 2000ms */
208
- timeout?: number;
209
- }
210
- /**
211
- * Creates health check middleware for checking service availability
212
- * Supports both rspack/webpack and Vite dev servers
213
- *
214
- * @example
215
- * ```typescript
216
- * // In rspack/webpack setupMiddlewares
217
- * registerMiddlewares(devServer.app, [
218
- * createHealthCheckMiddleware({ targetPort: 3000 })
219
- * ]);
220
- *
221
- * // Check health at: GET /dev/health
222
- * // Response:
223
- * // {
224
- * // "status": "healthy",
225
- * // "service": "localhost:3000",
226
- * // "responseTime": 15,
227
- * // "timestamp": "2025-01-10T12:00:00.000Z"
228
- * // }
229
- * ```
230
- */
231
- declare function createHealthCheckMiddleware(options?: HealthCheckMiddlewareOptions): RouteMiddleware;
232
-
233
202
  /**
234
203
  * Register middlewares for Express-compatible servers or Vite
235
204
  * @param server - Express app or Vite middleware instance
@@ -269,4 +238,4 @@ declare function createHealthCheckMiddleware(options?: HealthCheckMiddlewareOpti
269
238
  */
270
239
  declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): Promise<void>;
271
240
 
272
- export { type GlobalMiddleware, type Middleware, type MiddlewareContext, type RouteInfo, type RouteMiddleware, createCollectLogsMiddleware, createDevLogsMiddleware, createHealthCheckMiddleware, createOpenapiMiddleware, handleDevProxyError, normalizeBasePath, postprocessDrizzleSchema, registerMiddlewares };
241
+ export { type GlobalMiddleware, type Middleware, type MiddlewareContext, type RouteInfo, type RouteMiddleware, createCollectLogsMiddleware, createDevLogsMiddleware, createOpenapiMiddleware, handleDevProxyError, normalizeBasePath, postprocessDrizzleSchema, registerMiddlewares };
package/dist/index.js CHANGED
@@ -28644,99 +28644,8 @@ __name(sendSimpleRedirect, "sendSimpleRedirect");
28644
28644
  // src/middlewares/index.ts
28645
28645
  import path5 from "path";
28646
28646
 
28647
- // src/middlewares/health-check/router.ts
28648
- var import_express = __toESM(require_express2(), 1);
28649
- import http2 from "http";
28650
- function checkServiceHealth(host, port, timeout) {
28651
- return new Promise((resolve) => {
28652
- const startTime = Date.now();
28653
- const req = http2.request({
28654
- hostname: host,
28655
- port,
28656
- path: "/",
28657
- method: "HEAD",
28658
- timeout
28659
- }, (_res) => {
28660
- const responseTime = Date.now() - startTime;
28661
- resolve({
28662
- available: true,
28663
- responseTime
28664
- });
28665
- });
28666
- req.on("timeout", () => {
28667
- req.destroy();
28668
- resolve({
28669
- available: false,
28670
- error: "Request timeout"
28671
- });
28672
- });
28673
- req.on("error", (err) => {
28674
- resolve({
28675
- available: false,
28676
- error: err.message
28677
- });
28678
- });
28679
- req.end();
28680
- });
28681
- }
28682
- __name(checkServiceHealth, "checkServiceHealth");
28683
- function createHealthCheckRouter(options = {}) {
28684
- const { targetPort = Number(process.env.SERVER_PORT) || 3e3, targetHost = "localhost", timeout = 2e3 } = options;
28685
- const router = import_express.default.Router();
28686
- router.get("/check", async (_req, res) => {
28687
- try {
28688
- const result = await checkServiceHealth(targetHost, targetPort, timeout);
28689
- if (result.available) {
28690
- res.status(200).json({
28691
- status: "healthy",
28692
- service: `${targetHost}:${targetPort}`,
28693
- responseTime: result.responseTime,
28694
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28695
- });
28696
- } else {
28697
- res.status(503).json({
28698
- status: "unhealthy",
28699
- service: `${targetHost}:${targetPort}`,
28700
- error: result.error,
28701
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28702
- });
28703
- }
28704
- } catch (error) {
28705
- res.status(500).json({
28706
- status: "error",
28707
- service: `${targetHost}:${targetPort}`,
28708
- error: error instanceof Error ? error.message : "Unknown error",
28709
- timestamp: (/* @__PURE__ */ new Date()).toISOString()
28710
- });
28711
- }
28712
- });
28713
- return router;
28714
- }
28715
- __name(createHealthCheckRouter, "createHealthCheckRouter");
28716
-
28717
- // src/middlewares/health-check/index.ts
28718
- var HEALTH_CHECK_ROUTES = [
28719
- {
28720
- method: "GET",
28721
- path: "/check",
28722
- description: "Check if target service is healthy and available"
28723
- }
28724
- ];
28725
- function createHealthCheckMiddleware(options = {}) {
28726
- return {
28727
- name: "health-check",
28728
- mountPath: "/dev/health",
28729
- routes: HEALTH_CHECK_ROUTES,
28730
- enabled: /* @__PURE__ */ __name((context) => context.isDev, "enabled"),
28731
- createRouter: /* @__PURE__ */ __name((_context) => {
28732
- return createHealthCheckRouter(options);
28733
- }, "createRouter")
28734
- };
28735
- }
28736
- __name(createHealthCheckMiddleware, "createHealthCheckMiddleware");
28737
-
28738
28647
  // src/middlewares/openapi/router.ts
28739
- var import_express2 = __toESM(require_express2(), 1);
28648
+ var import_express = __toESM(require_express2(), 1);
28740
28649
 
28741
28650
  // src/middlewares/openapi/controller.ts
28742
28651
  import fs5 from "fs/promises";
@@ -28983,7 +28892,7 @@ __name(createOpenapiHandler, "createOpenapiHandler");
28983
28892
  // src/middlewares/openapi/router.ts
28984
28893
  function createOpenapiRouter(options, context) {
28985
28894
  const { openapiFilePath, enableEnhancement, serverDir } = options;
28986
- const router = import_express2.default.Router();
28895
+ const router = import_express.default.Router();
28987
28896
  const handler = createOpenapiHandler(openapiFilePath, enableEnhancement, serverDir);
28988
28897
  router.get("/openapi.json", (req, res) => handler(req, res, context));
28989
28898
  return router;
@@ -29017,7 +28926,7 @@ function createOpenapiMiddleware(options) {
29017
28926
  __name(createOpenapiMiddleware, "createOpenapiMiddleware");
29018
28927
 
29019
28928
  // src/middlewares/dev-logs/router.ts
29020
- var import_express3 = __toESM(require_express2(), 1);
28929
+ var import_express2 = __toESM(require_express2(), 1);
29021
28930
 
29022
28931
  // src/middlewares/dev-logs/utils.ts
29023
28932
  import { promises as fs6 } from "fs";
@@ -29459,13 +29368,81 @@ function createGetLogFileHandler(logDir) {
29459
29368
  }
29460
29369
  __name(createGetLogFileHandler, "createGetLogFileHandler");
29461
29370
 
29371
+ // src/middlewares/dev-logs/health.controller.ts
29372
+ import http2 from "http";
29373
+ function checkServiceHealth(host, port, timeout) {
29374
+ return new Promise((resolve) => {
29375
+ const startTime = Date.now();
29376
+ const req = http2.request({
29377
+ hostname: host,
29378
+ port,
29379
+ path: "/",
29380
+ method: "HEAD",
29381
+ timeout
29382
+ }, (_res) => {
29383
+ const responseTime = Date.now() - startTime;
29384
+ resolve({
29385
+ available: true,
29386
+ responseTime
29387
+ });
29388
+ });
29389
+ req.on("timeout", () => {
29390
+ req.destroy();
29391
+ resolve({
29392
+ available: false,
29393
+ error: "Request timeout"
29394
+ });
29395
+ });
29396
+ req.on("error", (err) => {
29397
+ resolve({
29398
+ available: false,
29399
+ error: err.message
29400
+ });
29401
+ });
29402
+ req.end();
29403
+ });
29404
+ }
29405
+ __name(checkServiceHealth, "checkServiceHealth");
29406
+ function createHealthCheckHandler(options = {}) {
29407
+ const { targetPort = Number(process.env.SERVER_PORT) || 3e3, targetHost = "localhost", timeout = 2e3 } = options;
29408
+ return async (_req, res) => {
29409
+ try {
29410
+ const result = await checkServiceHealth(targetHost, targetPort, timeout);
29411
+ if (result.available) {
29412
+ res.status(200).json({
29413
+ status: "healthy",
29414
+ service: `${targetHost}:${targetPort}`,
29415
+ responseTime: result.responseTime,
29416
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29417
+ });
29418
+ } else {
29419
+ res.status(503).json({
29420
+ status: "unhealthy",
29421
+ service: `${targetHost}:${targetPort}`,
29422
+ error: result.error,
29423
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29424
+ });
29425
+ }
29426
+ } catch (error) {
29427
+ res.status(500).json({
29428
+ status: "error",
29429
+ service: `${targetHost}:${targetPort}`,
29430
+ error: error instanceof Error ? error.message : "Unknown error",
29431
+ timestamp: (/* @__PURE__ */ new Date()).toISOString()
29432
+ });
29433
+ }
29434
+ };
29435
+ }
29436
+ __name(createHealthCheckHandler, "createHealthCheckHandler");
29437
+
29462
29438
  // src/middlewares/dev-logs/router.ts
29463
29439
  function createDevLogRouter(options = {}) {
29464
29440
  const logDir = resolveLogDir(options.logDir);
29465
- const router = import_express3.default.Router();
29441
+ const router = import_express2.default.Router();
29466
29442
  router.get("/app/trace/:traceId", createGetTraceEntriesHandler(logDir));
29467
29443
  router.get("/trace/recent", createGetRecentTracesHandler(logDir));
29468
29444
  router.get("/files/:fileName", createGetLogFileHandler(logDir));
29445
+ router.get("/health", createHealthCheckHandler());
29469
29446
  return router;
29470
29447
  }
29471
29448
  __name(createDevLogRouter, "createDevLogRouter");
@@ -29505,7 +29482,7 @@ function createDevLogsMiddleware(options = {}) {
29505
29482
  __name(createDevLogsMiddleware, "createDevLogsMiddleware");
29506
29483
 
29507
29484
  // src/middlewares/collect-logs/router.ts
29508
- var import_express4 = __toESM(require_express2(), 1);
29485
+ var import_express3 = __toESM(require_express2(), 1);
29509
29486
 
29510
29487
  // src/middlewares/collect-logs/controller.ts
29511
29488
  import { join as join4 } from "path";
@@ -29604,9 +29581,9 @@ __name(handleError2, "handleError");
29604
29581
  // src/middlewares/collect-logs/router.ts
29605
29582
  function createDevLogRouter2(options = {}) {
29606
29583
  const logDir = resolveLogDir2(options.logDir);
29607
- const router = import_express4.default.Router();
29608
- router.post("/collect", import_express4.default.json(), collectLogsHandler(logDir, options.fileName || "client.log"));
29609
- router.post("/collect-batch", import_express4.default.json(), collectLogsBatchHandler(logDir, options.fileName || "client.log"));
29584
+ const router = import_express3.default.Router();
29585
+ router.post("/collect", import_express3.default.json(), collectLogsHandler(logDir, options.fileName || "client.log"));
29586
+ router.post("/collect-batch", import_express3.default.json(), collectLogsBatchHandler(logDir, options.fileName || "client.log"));
29610
29587
  return router;
29611
29588
  }
29612
29589
  __name(createDevLogRouter2, "createDevLogRouter");
@@ -29689,27 +29666,10 @@ async function registerMiddlewares(server, middlewares, options) {
29689
29666
  rootDir: process.cwd(),
29690
29667
  ...options
29691
29668
  };
29692
- const defaultMiddlewares = [
29693
- createHealthCheckMiddleware()
29694
- ];
29695
29669
  const allMiddlewares = [
29696
- ...defaultMiddlewares,
29697
29670
  ...middlewares
29698
29671
  ];
29699
- allMiddlewares.forEach((m, i) => {
29700
- console.log(`[Middleware] [${i}] ${m.name} (mountPath: ${m.mountPath || "N/A"})`);
29701
- });
29702
- const seen = /* @__PURE__ */ new Set();
29703
- const uniqueMiddlewares = [];
29704
29672
  for (const middleware of allMiddlewares) {
29705
- if (!seen.has(middleware.name)) {
29706
- seen.add(middleware.name);
29707
- uniqueMiddlewares.push(middleware);
29708
- } else {
29709
- console.log(`[Middleware] Skipping duplicate: ${middleware.name}`);
29710
- }
29711
- }
29712
- for (const middleware of uniqueMiddlewares) {
29713
29673
  if (middleware.enabled && !middleware.enabled(context)) {
29714
29674
  continue;
29715
29675
  }
@@ -29735,7 +29695,6 @@ __name(registerMiddlewares, "registerMiddlewares");
29735
29695
  export {
29736
29696
  createCollectLogsMiddleware,
29737
29697
  createDevLogsMiddleware,
29738
- createHealthCheckMiddleware,
29739
29698
  createOpenapiMiddleware,
29740
29699
  handleDevProxyError,
29741
29700
  normalizeBasePath,