serverless-offline 13.3.2 → 13.3.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.
Files changed (112) hide show
  1. package/README.md +17 -17
  2. package/package.json +14 -13
  3. package/src/ServerlessOffline.js +42 -42
  4. package/src/config/colors.js +9 -9
  5. package/src/config/commandOptions.js +61 -61
  6. package/src/config/constants.js +5 -5
  7. package/src/config/defaultOptions.js +6 -6
  8. package/src/config/index.js +4 -4
  9. package/src/config/supportedRuntimes.js +18 -18
  10. package/src/errors/index.js +1 -1
  11. package/src/events/alb/Alb.js +2 -2
  12. package/src/events/alb/AlbEventDefinition.js +2 -2
  13. package/src/events/alb/HttpServer.js +54 -54
  14. package/src/events/alb/index.js +1 -1
  15. package/src/events/alb/lambda-events/LambdaAlbRequestEvent.js +2 -2
  16. package/src/events/alb/lambda-events/index.js +1 -1
  17. package/src/events/authCanExecuteResource.js +3 -3
  18. package/src/events/authFunctionNameExtractor.js +9 -9
  19. package/src/events/authMatchPolicyResource.js +8 -8
  20. package/src/events/authValidateContext.js +11 -11
  21. package/src/events/http/Endpoint.js +26 -26
  22. package/src/events/http/Http.js +2 -2
  23. package/src/events/http/HttpEventDefinition.js +2 -2
  24. package/src/events/http/HttpServer.js +156 -156
  25. package/src/events/http/OfflineEndpoint.js +7 -7
  26. package/src/events/http/authJWTSettingsExtractor.js +2 -2
  27. package/src/events/http/createAuthScheme.js +29 -27
  28. package/src/events/http/createJWTAuthScheme.js +12 -12
  29. package/src/events/http/index.js +1 -1
  30. package/src/events/http/javaHelpers.js +2 -2
  31. package/src/events/http/lambda-events/LambdaIntegrationEvent.js +5 -5
  32. package/src/events/http/lambda-events/LambdaProxyIntegrationEvent.js +47 -47
  33. package/src/events/http/lambda-events/LambdaProxyIntegrationEventV2.js +27 -27
  34. package/src/events/http/lambda-events/VelocityContext.js +28 -32
  35. package/src/events/http/lambda-events/index.js +4 -4
  36. package/src/events/http/lambda-events/renderVelocityTemplateObject.js +13 -13
  37. package/src/events/http/parseResources.js +6 -6
  38. package/src/events/http/payloadSchemaValidator.js +2 -2
  39. package/src/events/schedule/Schedule.js +21 -21
  40. package/src/events/schedule/ScheduleEvent.js +7 -7
  41. package/src/events/schedule/ScheduleEventDefinition.js +1 -1
  42. package/src/events/schedule/index.js +1 -1
  43. package/src/events/websocket/HttpServer.js +9 -9
  44. package/src/events/websocket/WebSocket.js +4 -4
  45. package/src/events/websocket/WebSocketClients.js +29 -29
  46. package/src/events/websocket/WebSocketEventDefinition.js +1 -1
  47. package/src/events/websocket/WebSocketServer.js +9 -9
  48. package/src/events/websocket/http-routes/_catchAll/catchAllRoute.js +3 -3
  49. package/src/events/websocket/http-routes/_catchAll/index.js +1 -1
  50. package/src/events/websocket/http-routes/connections/ConnectionsController.js +1 -1
  51. package/src/events/websocket/http-routes/connections/connectionsRoutes.js +6 -6
  52. package/src/events/websocket/http-routes/connections/index.js +1 -1
  53. package/src/events/websocket/http-routes/index.js +2 -2
  54. package/src/events/websocket/index.js +1 -1
  55. package/src/events/websocket/lambda-events/WebSocketAuthorizerEvent.js +5 -5
  56. package/src/events/websocket/lambda-events/WebSocketConnectEvent.js +7 -6
  57. package/src/events/websocket/lambda-events/WebSocketDisconnectEvent.js +5 -5
  58. package/src/events/websocket/lambda-events/WebSocketEvent.js +2 -2
  59. package/src/events/websocket/lambda-events/WebSocketRequestContext.js +12 -11
  60. package/src/events/websocket/lambda-events/index.js +4 -4
  61. package/src/index.js +1 -1
  62. package/src/lambda/HttpServer.js +11 -11
  63. package/src/lambda/Lambda.js +2 -2
  64. package/src/lambda/LambdaContext.js +1 -1
  65. package/src/lambda/LambdaFunction.js +34 -34
  66. package/src/lambda/LambdaFunctionPool.js +3 -3
  67. package/src/lambda/handler-runner/HandlerRunner.js +12 -12
  68. package/src/lambda/handler-runner/docker-runner/DockerContainer.js +59 -59
  69. package/src/lambda/handler-runner/docker-runner/DockerImage.js +6 -6
  70. package/src/lambda/handler-runner/docker-runner/DockerRunner.js +2 -2
  71. package/src/lambda/handler-runner/docker-runner/index.js +1 -1
  72. package/src/lambda/handler-runner/go-runner/GoRunner.js +34 -34
  73. package/src/lambda/handler-runner/go-runner/index.js +1 -1
  74. package/src/lambda/handler-runner/in-process-runner/InProcessRunner.js +7 -7
  75. package/src/lambda/handler-runner/in-process-runner/aws-lambda-ric/UserFunction.js +52 -52
  76. package/src/lambda/handler-runner/in-process-runner/index.js +1 -1
  77. package/src/lambda/handler-runner/index.js +1 -1
  78. package/src/lambda/handler-runner/java-runner/JavaRunner.js +13 -13
  79. package/src/lambda/handler-runner/java-runner/index.js +1 -1
  80. package/src/lambda/handler-runner/python-runner/PythonRunner.js +21 -21
  81. package/src/lambda/handler-runner/python-runner/index.js +1 -1
  82. package/src/lambda/handler-runner/ruby-runner/RubyRunner.js +11 -11
  83. package/src/lambda/handler-runner/ruby-runner/index.js +1 -1
  84. package/src/lambda/handler-runner/worker-thread-runner/WorkerThreadRunner.js +6 -6
  85. package/src/lambda/handler-runner/worker-thread-runner/index.js +1 -1
  86. package/src/lambda/handler-runner/worker-thread-runner/workerThreadHelper.js +4 -4
  87. package/src/lambda/index.js +1 -1
  88. package/src/lambda/routes/index.js +2 -2
  89. package/src/lambda/routes/invocations/InvocationsController.js +11 -11
  90. package/src/lambda/routes/invocations/index.js +1 -1
  91. package/src/lambda/routes/invocations/invocationsRoute.js +15 -15
  92. package/src/lambda/routes/invoke-async/index.js +1 -1
  93. package/src/lambda/routes/invoke-async/invokeAsyncRoute.js +6 -6
  94. package/src/utils/checkDockerDaemon.js +8 -8
  95. package/src/utils/checkGoVersion.js +3 -3
  96. package/src/utils/createApiKey.js +2 -2
  97. package/src/utils/detectExecutable.js +2 -2
  98. package/src/utils/formatToClfTime.js +2 -2
  99. package/src/utils/generateHapiPath.js +8 -8
  100. package/src/utils/getApiKeysValues.js +2 -2
  101. package/src/utils/getHttpApiCorsConfig.js +11 -11
  102. package/src/utils/getRawQueryParams.js +2 -2
  103. package/src/utils/index.js +25 -26
  104. package/src/utils/jsonPath.js +1 -1
  105. package/src/utils/logRoutes.js +13 -13
  106. package/src/utils/parseHeaders.js +1 -1
  107. package/src/utils/parseMultiValueHeaders.js +1 -1
  108. package/src/utils/parseMultiValueQueryStringParameters.js +1 -1
  109. package/src/utils/parseQueryStringParameters.js +1 -1
  110. package/src/utils/parseQueryStringParametersForPayloadV2.js +1 -1
  111. package/src/utils/splitHandlerPathAndName.js +3 -3
  112. package/src/utils/createUniqueId.js +0 -5
@@ -1,26 +1,26 @@
1
- import { existsSync, readFileSync } from 'node:fs'
2
- import { log } from '@serverless/utils/log.js'
3
- import { join } from 'desm'
4
- import OfflineEndpoint from './OfflineEndpoint.js'
1
+ import { existsSync, readFileSync } from "node:fs"
2
+ import { log } from "@serverless/utils/log.js"
3
+ import { join } from "desm"
4
+ import OfflineEndpoint from "./OfflineEndpoint.js"
5
5
 
6
6
  const { entries } = Object
7
7
 
8
8
  // velocity template defaults
9
9
  const defaultRequestTemplate = readFileSync(
10
- join(import.meta.url, 'templates/offline-default.req.vm'),
11
- 'utf8',
10
+ join(import.meta.url, "templates/offline-default.req.vm"),
11
+ "utf8",
12
12
  )
13
13
  const defaultResponseTemplate = readFileSync(
14
- join(import.meta.url, 'templates/offline-default.res.vm'),
15
- 'utf8',
14
+ join(import.meta.url, "templates/offline-default.res.vm"),
15
+ "utf8",
16
16
  )
17
17
 
18
18
  function getResponseContentType(fep) {
19
- if (fep.response && fep.response.headers['Content-Type']) {
20
- return fep.response.headers['Content-Type'].replaceAll(/'/gm, '')
19
+ if (fep.response && fep.response.headers["Content-Type"]) {
20
+ return fep.response.headers["Content-Type"].replaceAll(/'/gm, "")
21
21
  }
22
22
 
23
- return 'application/json'
23
+ return "application/json"
24
24
  }
25
25
 
26
26
  export default class Endpoint {
@@ -46,8 +46,8 @@ export default class Endpoint {
46
46
 
47
47
  // check if serverless framework populates the object itself
48
48
  if (
49
- typeof this.#http.request === 'object' &&
50
- typeof this.#http.request.template === 'object'
49
+ typeof this.#http.request === "object" &&
50
+ typeof this.#http.request.template === "object"
51
51
  ) {
52
52
  const templatesConfig = this.#http.request.template
53
53
 
@@ -57,19 +57,19 @@ export default class Endpoint {
57
57
  }
58
58
  // load request template if exists if not use default from serverless offline
59
59
  else if (existsSync(reqFilename)) {
60
- fep.requestTemplates['application/json'] = readFileSync(
60
+ fep.requestTemplates["application/json"] = readFileSync(
61
61
  reqFilename,
62
- 'utf8',
62
+ "utf8",
63
63
  )
64
64
  } else {
65
- fep.requestTemplates['application/json'] = defaultRequestTemplate
65
+ fep.requestTemplates["application/json"] = defaultRequestTemplate
66
66
  }
67
67
 
68
68
  // determine response template
69
69
  const resFilename = `${this.#handlerPath}.res.vm`
70
70
 
71
71
  fep.responseContentType = getResponseContentType(fep)
72
- log.debug('Response Content-Type ', fep.responseContentType)
72
+ log.debug("Response Content-Type ", fep.responseContentType)
73
73
 
74
74
  // load response template from http response template, or load file if exists other use default
75
75
  if (fep.response && fep.response.template) {
@@ -77,7 +77,7 @@ export default class Endpoint {
77
77
  fep.response.template
78
78
  } else if (existsSync(resFilename)) {
79
79
  fep.responses.default.responseTemplates[fep.responseContentType] =
80
- readFileSync(resFilename, 'utf8')
80
+ readFileSync(resFilename, "utf8")
81
81
  } else {
82
82
  fep.responses.default.responseTemplates[fep.responseContentType] =
83
83
  defaultResponseTemplate
@@ -94,21 +94,21 @@ export default class Endpoint {
94
94
  #getIntegration(http) {
95
95
  const { integration, async: isAsync } = http
96
96
  if (integration) {
97
- const normalizedIntegration = integration.toUpperCase().replace('-', '_')
98
- if (normalizedIntegration === 'LAMBDA') {
99
- return 'AWS'
97
+ const normalizedIntegration = integration.toUpperCase().replace("-", "_")
98
+ if (normalizedIntegration === "LAMBDA") {
99
+ return "AWS"
100
100
  }
101
- if (normalizedIntegration === 'LAMBDA_PROXY') {
102
- return 'AWS_PROXY'
101
+ if (normalizedIntegration === "LAMBDA_PROXY") {
102
+ return "AWS_PROXY"
103
103
  }
104
104
  return normalizedIntegration
105
105
  }
106
106
 
107
107
  if (isAsync) {
108
- return 'AWS'
108
+ return "AWS"
109
109
  }
110
110
 
111
- return 'AWS_PROXY'
111
+ return "AWS_PROXY"
112
112
  }
113
113
 
114
114
  // return fully generated Endpoint
@@ -122,7 +122,7 @@ export default class Endpoint {
122
122
 
123
123
  fullEndpoint.integration = this.#getIntegration(this.#http)
124
124
 
125
- if (fullEndpoint.integration === 'AWS') {
125
+ if (fullEndpoint.integration === "AWS") {
126
126
  // determine request and response templates or use defaults
127
127
  return this.#setVmTemplates(fullEndpoint)
128
128
  }
@@ -1,5 +1,5 @@
1
- import HttpEventDefinition from './HttpEventDefinition.js'
2
- import HttpServer from './HttpServer.js'
1
+ import HttpEventDefinition from "./HttpEventDefinition.js"
2
+ import HttpServer from "./HttpServer.js"
3
3
 
4
4
  export default class Http {
5
5
  #httpServer = null
@@ -6,8 +6,8 @@ export default class HttpEventDefinition {
6
6
  let path
7
7
  let rest
8
8
 
9
- if (typeof rawHttpEventDefinition === 'string') {
10
- ;[method, path] = rawHttpEventDefinition.split(' ')
9
+ if (typeof rawHttpEventDefinition === "string") {
10
+ ;[method, path] = rawHttpEventDefinition.split(" ")
11
11
  } else {
12
12
  ;({ method, path, ...rest } = rawHttpEventDefinition)
13
13
  }