@jaypie/express 1.2.26 → 1.2.28

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.
Files changed (53) hide show
  1. package/dist/cjs/index.cjs +22 -6
  2. package/dist/cjs/index.cjs.map +1 -1
  3. package/dist/cjs/index.d.cts +1 -1
  4. package/dist/cjs/{constants.d.ts → src/constants.d.ts} +1 -1
  5. package/dist/esm/index.d.ts +1 -1
  6. package/dist/esm/index.js +22 -6
  7. package/dist/esm/index.js.map +1 -1
  8. package/dist/esm/{constants.d.ts → src/constants.d.ts} +1 -1
  9. package/dist/esm/src/index.d.ts +13 -0
  10. package/package.json +9 -3
  11. /package/dist/cjs/{adapter → src/adapter}/LambdaRequest.d.ts +0 -0
  12. /package/dist/cjs/{adapter → src/adapter}/LambdaResponseBuffered.d.ts +0 -0
  13. /package/dist/cjs/{adapter → src/adapter}/LambdaResponseStreaming.d.ts +0 -0
  14. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaRequest.spec.d.ts +0 -0
  15. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaResponseBuffered.spec.d.ts +0 -0
  16. /package/dist/cjs/{adapter → src/adapter}/__tests__/LambdaResponseStreaming.spec.d.ts +0 -0
  17. /package/dist/cjs/{adapter → src/adapter}/__tests__/debug-harness.d.ts +0 -0
  18. /package/dist/cjs/{adapter → src/adapter}/__tests__/integration.spec.d.ts +0 -0
  19. /package/dist/cjs/{adapter → src/adapter}/index.d.ts +0 -0
  20. /package/dist/cjs/{adapter → src/adapter}/types.d.ts +0 -0
  21. /package/dist/cjs/{cors.helper.d.ts → src/cors.helper.d.ts} +0 -0
  22. /package/dist/cjs/{decorateResponse.helper.d.ts → src/decorateResponse.helper.d.ts} +0 -0
  23. /package/dist/cjs/{echo.handler.d.ts → src/echo.handler.d.ts} +0 -0
  24. /package/dist/cjs/{expressHandler.d.ts → src/expressHandler.d.ts} +0 -0
  25. /package/dist/cjs/{expressStreamHandler.d.ts → src/expressStreamHandler.d.ts} +0 -0
  26. /package/dist/cjs/{fabricApiResponse.d.ts → src/fabricApiResponse.d.ts} +0 -0
  27. /package/dist/cjs/{getCurrentInvokeUuid.adapter.d.ts → src/getCurrentInvokeUuid.adapter.d.ts} +0 -0
  28. /package/dist/cjs/{http.handler.d.ts → src/http.handler.d.ts} +0 -0
  29. /package/dist/cjs/{index.d.ts → src/index.d.ts} +0 -0
  30. /package/dist/cjs/{routes.d.ts → src/routes.d.ts} +0 -0
  31. /package/dist/cjs/{summarizeRequest.helper.d.ts → src/summarizeRequest.helper.d.ts} +0 -0
  32. /package/dist/cjs/{summarizeResponse.helper.d.ts → src/summarizeResponse.helper.d.ts} +0 -0
  33. /package/dist/esm/{adapter → src/adapter}/LambdaRequest.d.ts +0 -0
  34. /package/dist/esm/{adapter → src/adapter}/LambdaResponseBuffered.d.ts +0 -0
  35. /package/dist/esm/{adapter → src/adapter}/LambdaResponseStreaming.d.ts +0 -0
  36. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaRequest.spec.d.ts +0 -0
  37. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaResponseBuffered.spec.d.ts +0 -0
  38. /package/dist/esm/{adapter → src/adapter}/__tests__/LambdaResponseStreaming.spec.d.ts +0 -0
  39. /package/dist/esm/{adapter → src/adapter}/__tests__/debug-harness.d.ts +0 -0
  40. /package/dist/esm/{adapter → src/adapter}/__tests__/integration.spec.d.ts +0 -0
  41. /package/dist/esm/{adapter → src/adapter}/index.d.ts +0 -0
  42. /package/dist/esm/{adapter → src/adapter}/types.d.ts +0 -0
  43. /package/dist/esm/{cors.helper.d.ts → src/cors.helper.d.ts} +0 -0
  44. /package/dist/esm/{decorateResponse.helper.d.ts → src/decorateResponse.helper.d.ts} +0 -0
  45. /package/dist/esm/{echo.handler.d.ts → src/echo.handler.d.ts} +0 -0
  46. /package/dist/esm/{expressHandler.d.ts → src/expressHandler.d.ts} +0 -0
  47. /package/dist/esm/{expressStreamHandler.d.ts → src/expressStreamHandler.d.ts} +0 -0
  48. /package/dist/esm/{fabricApiResponse.d.ts → src/fabricApiResponse.d.ts} +0 -0
  49. /package/dist/esm/{getCurrentInvokeUuid.adapter.d.ts → src/getCurrentInvokeUuid.adapter.d.ts} +0 -0
  50. /package/dist/esm/{http.handler.d.ts → src/http.handler.d.ts} +0 -0
  51. /package/dist/esm/{routes.d.ts → src/routes.d.ts} +0 -0
  52. /package/dist/esm/{summarizeRequest.helper.d.ts → src/summarizeRequest.helper.d.ts} +0 -0
  53. /package/dist/esm/{summarizeResponse.helper.d.ts → src/summarizeResponse.helper.d.ts} +0 -0
@@ -315,7 +315,7 @@ declare function createLambdaStreamHandler(app: Application, _options?: CreateLa
315
315
 
316
316
  declare const EXPRESS: {
317
317
  readonly PATH: {
318
- readonly ANY: "*";
318
+ readonly ANY: RegExp;
319
319
  readonly ID: "/:id";
320
320
  readonly ROOT: RegExp;
321
321
  };
@@ -1,6 +1,6 @@
1
1
  export declare const EXPRESS: {
2
2
  readonly PATH: {
3
- readonly ANY: "*";
3
+ readonly ANY: RegExp;
4
4
  readonly ID: "/:id";
5
5
  readonly ROOT: RegExp;
6
6
  };
@@ -315,7 +315,7 @@ declare function createLambdaStreamHandler(app: Application, _options?: CreateLa
315
315
 
316
316
  declare const EXPRESS: {
317
317
  readonly PATH: {
318
- readonly ANY: "*";
318
+ readonly ANY: RegExp;
319
319
  readonly ID: "/:id";
320
320
  readonly ROOT: RegExp;
321
321
  };
package/dist/esm/index.js CHANGED
@@ -1073,9 +1073,11 @@ function createLambdaHandler(app, _options) {
1073
1073
  return result;
1074
1074
  }
1075
1075
  catch (error) {
1076
- // Log any unhandled errors
1076
+ // console, not log: must reach CloudWatch even if the logger itself is broken
1077
+ // eslint-disable-next-line no-console
1077
1078
  console.error("[createLambdaHandler] Unhandled error:", error);
1078
1079
  if (error instanceof Error) {
1080
+ // eslint-disable-next-line no-console
1079
1081
  console.error("[createLambdaHandler] Stack:", error.stack);
1080
1082
  }
1081
1083
  // Return a proper error response instead of throwing
@@ -1158,7 +1160,8 @@ function createLambdaStreamHandler(app, _options) {
1158
1160
  //
1159
1161
  const EXPRESS = {
1160
1162
  PATH: {
1161
- ANY: "*",
1163
+ // RegExp matches all paths in Express 4 and 5; "*" throws in 5, "/{*splat}" throws in 4
1164
+ ANY: /(.*)/,
1162
1165
  ID: "/:id",
1163
1166
  ROOT: /^\/?$/,
1164
1167
  },
@@ -1454,6 +1457,10 @@ function getCurrentInvokeUuid(req) {
1454
1457
  return getJaypieAdapterUuid();
1455
1458
  }
1456
1459
 
1460
+ //
1461
+ //
1462
+ // Helpers
1463
+ //
1457
1464
  /**
1458
1465
  * Safely set a header value on response.
1459
1466
  * Handles both Express Response and Lambda adapter responses.
@@ -2020,6 +2027,7 @@ function expressHandler(handlerOrOptions, optionsOrHandler) {
2020
2027
  const errorStack = error instanceof Error
2021
2028
  ? error.stack
2022
2029
  : new Error("Stack trace").stack?.replace("Error: Stack trace", `Error: ${errorMessage}`);
2030
+ // eslint-disable-next-line no-console -- raw stack must reach CloudWatch even if the logger is broken
2023
2031
  console.error("Express response error stack trace:", errorStack);
2024
2032
  log.fatal(`Express encountered an error while sending the response: ${errorMessage}`);
2025
2033
  log.var({ responseError: error });
@@ -2057,14 +2065,18 @@ function expressHandler(handlerOrOptions, optionsOrHandler) {
2057
2065
  const contentLengthHeader = headers["content-length"];
2058
2066
  const contentLength = contentLengthHeader ? Number(contentLengthHeader) : 0;
2059
2067
  // Add request data to session report
2060
- logger$1.report({
2068
+ const reportData = {
2061
2069
  method: req.method,
2062
2070
  path,
2063
2071
  query,
2064
2072
  contentType,
2065
2073
  contentLength,
2066
2074
  status: String(res.statusCode),
2067
- });
2075
+ };
2076
+ if (req.params && Object.keys(req.params).length > 0) {
2077
+ reportData.parameters = { ...req.params };
2078
+ }
2079
+ logger$1.report(reportData);
2068
2080
  // Submit metric if Datadog is configured
2069
2081
  if (hasDatadogEnv()) {
2070
2082
  let metricPrefix = "project";
@@ -2345,11 +2357,15 @@ function expressStreamHandler(handlerOrOptions, optionsOrHandler) {
2345
2357
  }
2346
2358
  path = path.replace(/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/gi, ":id");
2347
2359
  // Add request data to session report
2348
- logger.report({
2360
+ const reportData = {
2349
2361
  method: req.method,
2350
2362
  path,
2351
2363
  status: String(res.statusCode),
2352
- });
2364
+ };
2365
+ if (req.params && Object.keys(req.params).length > 0) {
2366
+ reportData.parameters = { ...req.params };
2367
+ }
2368
+ logger.report(reportData);
2353
2369
  // Submit metric if Datadog is configured
2354
2370
  if (hasDatadogEnv()) {
2355
2371
  let metricPrefix = "project";