@lark-apaas/devtool-kits 1.2.22 → 1.2.23-beta.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/index.d.cts CHANGED
@@ -245,11 +245,18 @@ declare function getQuery(req: AnyRequest): Record<string, string>;
245
245
  declare function getQueryParam(req: AnyRequest, key: string): string | undefined;
246
246
 
247
247
  /**
248
- * Register middlewares for Express-compatible servers or Vite
249
- * @param server - Express app or Vite middleware instance
250
- * @param middlewares - List of middlewares to register
251
- * @param options - Optional context configuration
252
- * @returns Promise that resolves when all middlewares are registered
248
+ * Register middlewares for Express-compatible servers or Vite.
249
+ *
250
+ * MUST stay synchronous (no async/await).
251
+ *
252
+ * Why: when called from webpack/rspack-dev-server's `setupMiddlewares` callback,
253
+ * any `await` here yields a microtask, allowing dev-server to finish registering
254
+ * its own built-ins (proxy, historyApiFallback, serveStatic, ...) BEFORE our
255
+ * later iterations run. The first router lands before historyApiFallback while
256
+ * subsequent routers land after — causing extensionless GETs (e.g. `/dev/openapi/spec`
257
+ * with a wildcard Accept header) to be rewritten to `/index.html`. All registered work
258
+ * (`server.use`, `createRouter`, `createHandler`) is sync, so async/await is also
259
+ * unnecessary.
253
260
  *
254
261
  * @example
255
262
  * ```typescript
@@ -257,31 +264,15 @@ declare function getQueryParam(req: AnyRequest, key: string): string | undefined
257
264
  * setupMiddlewares: (middlewares, devServer) => {
258
265
  * if (devServer.app) {
259
266
  * registerMiddlewares(devServer.app, [
260
- * // Global middlewares (execute first)
261
- * createCorsMiddleware({ origin: '*' }),
262
- * createAuthMiddleware(),
263
- *
264
- * // Route middlewares
265
267
  * createDevLogsMiddleware({ logDir: './logs' }),
266
268
  * createOpenapiMiddleware({ openapiFilePath: './openapi.json' })
267
- * ], {
268
- * basePath: '/api',
269
- * isDev: true,
270
- * rootDir: __dirname
271
- * });
269
+ * ], { basePath: '/api', isDev: true, rootDir: __dirname });
272
270
  * }
273
271
  * return middlewares;
274
272
  * }
275
- *
276
- * // In Vite configureServer
277
- * configureServer: (server) => {
278
- * registerMiddlewares(server.middlewares, [
279
- * createDevLogsMiddleware({ logDir: './logs' })
280
- * ], { basePath: '/', isDev: true, rootDir: __dirname });
281
- * }
282
273
  * ```
283
274
  */
284
- declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): Promise<void>;
275
+ declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): void;
285
276
 
286
277
  interface PageRouteInfo {
287
278
  path?: string;
package/dist/index.d.ts CHANGED
@@ -245,11 +245,18 @@ declare function getQuery(req: AnyRequest): Record<string, string>;
245
245
  declare function getQueryParam(req: AnyRequest, key: string): string | undefined;
246
246
 
247
247
  /**
248
- * Register middlewares for Express-compatible servers or Vite
249
- * @param server - Express app or Vite middleware instance
250
- * @param middlewares - List of middlewares to register
251
- * @param options - Optional context configuration
252
- * @returns Promise that resolves when all middlewares are registered
248
+ * Register middlewares for Express-compatible servers or Vite.
249
+ *
250
+ * MUST stay synchronous (no async/await).
251
+ *
252
+ * Why: when called from webpack/rspack-dev-server's `setupMiddlewares` callback,
253
+ * any `await` here yields a microtask, allowing dev-server to finish registering
254
+ * its own built-ins (proxy, historyApiFallback, serveStatic, ...) BEFORE our
255
+ * later iterations run. The first router lands before historyApiFallback while
256
+ * subsequent routers land after — causing extensionless GETs (e.g. `/dev/openapi/spec`
257
+ * with a wildcard Accept header) to be rewritten to `/index.html`. All registered work
258
+ * (`server.use`, `createRouter`, `createHandler`) is sync, so async/await is also
259
+ * unnecessary.
253
260
  *
254
261
  * @example
255
262
  * ```typescript
@@ -257,31 +264,15 @@ declare function getQueryParam(req: AnyRequest, key: string): string | undefined
257
264
  * setupMiddlewares: (middlewares, devServer) => {
258
265
  * if (devServer.app) {
259
266
  * registerMiddlewares(devServer.app, [
260
- * // Global middlewares (execute first)
261
- * createCorsMiddleware({ origin: '*' }),
262
- * createAuthMiddleware(),
263
- *
264
- * // Route middlewares
265
267
  * createDevLogsMiddleware({ logDir: './logs' }),
266
268
  * createOpenapiMiddleware({ openapiFilePath: './openapi.json' })
267
- * ], {
268
- * basePath: '/api',
269
- * isDev: true,
270
- * rootDir: __dirname
271
- * });
269
+ * ], { basePath: '/api', isDev: true, rootDir: __dirname });
272
270
  * }
273
271
  * return middlewares;
274
272
  * }
275
- *
276
- * // In Vite configureServer
277
- * configureServer: (server) => {
278
- * registerMiddlewares(server.middlewares, [
279
- * createDevLogsMiddleware({ logDir: './logs' })
280
- * ], { basePath: '/', isDev: true, rootDir: __dirname });
281
- * }
282
273
  * ```
283
274
  */
284
- declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): Promise<void>;
275
+ declare function registerMiddlewares(server: ExpressApp | ViteMiddleware, middlewares: Middleware[], options?: Partial<MiddlewareContext>): void;
285
276
 
286
277
  interface PageRouteInfo {
287
278
  path?: string;
package/dist/index.js CHANGED
@@ -3625,7 +3625,7 @@ function logMiddlewareRegistration(middleware, fullMountPath) {
3625
3625
  }
3626
3626
  }
3627
3627
  __name(logMiddlewareRegistration, "logMiddlewareRegistration");
3628
- async function registerRouteMiddleware(server, middleware, context) {
3628
+ function registerRouteMiddleware(server, middleware, context) {
3629
3629
  if (!middleware.mountPath) {
3630
3630
  console.error(`[Middleware] ${middleware.name}: Route middleware must have mountPath. Skipping.`);
3631
3631
  return;
@@ -3636,7 +3636,7 @@ async function registerRouteMiddleware(server, middleware, context) {
3636
3636
  logMiddlewareRegistration(middleware, fullMountPath);
3637
3637
  }
3638
3638
  __name(registerRouteMiddleware, "registerRouteMiddleware");
3639
- async function registerGlobalMiddleware(server, middleware, context) {
3639
+ function registerGlobalMiddleware(server, middleware, context) {
3640
3640
  if (middleware.mountPath) {
3641
3641
  console.warn(`[Middleware] ${middleware.name}: Global middleware should not have mountPath. Ignoring mountPath "${middleware.mountPath}".`);
3642
3642
  }
@@ -3645,7 +3645,7 @@ async function registerGlobalMiddleware(server, middleware, context) {
3645
3645
  console.log(`[Middleware] Registered global: ${middleware.name}`);
3646
3646
  }
3647
3647
  __name(registerGlobalMiddleware, "registerGlobalMiddleware");
3648
- async function registerMiddlewares(server, middlewares, options) {
3648
+ function registerMiddlewares(server, middlewares, options) {
3649
3649
  const context = {
3650
3650
  basePath: "/",
3651
3651
  isDev: process.env.NODE_ENV !== "production",
@@ -3673,9 +3673,9 @@ async function registerMiddlewares(server, middlewares, options) {
3673
3673
  console.warn(`[Middleware] ${middleware.name}: Both createRouter and createHandler provided. Using createRouter and ignoring createHandler.`);
3674
3674
  }
3675
3675
  if (isRouteMiddleware(middleware)) {
3676
- await registerRouteMiddleware(server, middleware, context);
3676
+ registerRouteMiddleware(server, middleware, context);
3677
3677
  } else if (isGlobalMiddleware(middleware)) {
3678
- await registerGlobalMiddleware(server, middleware, context);
3678
+ registerGlobalMiddleware(server, middleware, context);
3679
3679
  } else {
3680
3680
  console.error(`[Middleware] ${middleware.name || "unknown"}: Must provide either createRouter or createHandler.`);
3681
3681
  }