serverless-offline 8.7.0 → 8.8.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/README.md +89 -93
- package/dist/ServerlessOffline.js +15 -8
- package/dist/config/supportedRuntimes.js +1 -1
- package/dist/debugLog.js +3 -1
- package/dist/events/{http/authValidateContext.js → authValidateContext.js} +8 -3
- package/dist/events/http/Endpoint.js +3 -1
- package/dist/events/http/HttpServer.js +27 -20
- package/dist/events/http/OfflineEndpoint.js +23 -25
- package/dist/events/http/createAuthScheme.js +1 -1
- package/dist/events/http/createJWTAuthScheme.js +6 -2
- package/dist/events/http/lambda-events/LambdaIntegrationEvent.js +4 -2
- package/dist/events/http/lambda-events/LambdaProxyIntegrationEvent.js +16 -14
- package/dist/events/http/lambda-events/LambdaProxyIntegrationEventV2.js +17 -13
- package/dist/events/http/lambda-events/VelocityContext.js +3 -1
- package/dist/events/http/lambda-events/renderVelocityTemplateObject.js +4 -1
- package/dist/events/schedule/Schedule.js +10 -9
- package/dist/events/websocket/HttpServer.js +3 -1
- package/dist/events/websocket/WebSocketClients.js +38 -11
- package/dist/events/websocket/WebSocketServer.js +5 -6
- package/dist/index.js +0 -4
- package/dist/lambda/HttpServer.js +3 -1
- package/dist/lambda/Lambda.js +5 -1
- package/dist/lambda/LambdaFunction.js +1 -2
- package/dist/lambda/handler-runner/HandlerRunner.js +1 -29
- package/dist/lambda/handler-runner/child-process-runner/ChildProcessRunner.js +1 -9
- package/dist/lambda/handler-runner/child-process-runner/childProcessHelper.js +15 -6
- package/dist/lambda/handler-runner/docker-runner/DockerContainer.js +2 -4
- package/dist/lambda/handler-runner/go-runner/GoRunner.js +34 -15
- package/dist/lambda/handler-runner/in-process-runner/InProcessRunner.js +24 -30
- package/dist/lambda/handler-runner/java-runner/JavaRunner.js +3 -1
- package/dist/lambda/handler-runner/python-runner/PythonRunner.js +15 -10
- package/dist/lambda/handler-runner/ruby-runner/RubyRunner.js +3 -4
- package/dist/lambda/handler-runner/worker-thread-runner/WorkerThreadRunner.js +0 -2
- package/dist/lambda/handler-runner/worker-thread-runner/workerThreadHelper.js +4 -3
- package/dist/utils/generateHapiPath.js +1 -1
- package/dist/utils/getHttpApiCorsConfig.js +4 -8
- package/dist/utils/index.js +11 -4
- package/dist/utils/lowerCaseKeys.js +14 -0
- package/dist/utils/resolveJoins.js +4 -2
- package/dist/utils/splitHandlerPathAndName.js +9 -13
- package/package.json +23 -26
- package/dist/checkEngine.js +0 -21
|
@@ -8,18 +8,18 @@ exports.default = splitHandlerPathAndName;
|
|
|
8
8
|
// some-folder/src.index => some-folder/src
|
|
9
9
|
function splitHandlerPathAndName(handler) {
|
|
10
10
|
// Split handler into method name and path i.e. handler.run
|
|
11
|
-
|
|
12
|
-
const prepath = handler.substr(0, prepathDelimiter + 1); // include '/' for path
|
|
13
|
-
|
|
14
|
-
const postpath = handler.substr(prepathDelimiter + 1); // Support Ruby paths with namespace resolution operators e.g.
|
|
11
|
+
// Support Ruby paths with namespace resolution operators e.g.
|
|
15
12
|
// ./src/somefolder/source.LambdaFunctions::Handler.process
|
|
16
13
|
// prepath: ./src/somefolder/
|
|
17
14
|
// postpath: source.LambdaFunctions::Handler.process
|
|
18
15
|
// filename: source
|
|
19
16
|
// path: ./src/somefolder/source
|
|
20
17
|
// name: LambdaFunctions::Handler.process
|
|
21
|
-
|
|
22
18
|
if (handler.match(/::/)) {
|
|
19
|
+
const prepathDelimiter = handler.lastIndexOf('/');
|
|
20
|
+
const prepath = handler.substr(0, prepathDelimiter + 1); // include '/' for path
|
|
21
|
+
|
|
22
|
+
const postpath = handler.substr(prepathDelimiter + 1);
|
|
23
23
|
const nameDelimiter = postpath.indexOf('.');
|
|
24
24
|
const filename = postpath.substr(0, nameDelimiter);
|
|
25
25
|
const path = prepath + filename;
|
|
@@ -30,12 +30,8 @@ function splitHandlerPathAndName(handler) {
|
|
|
30
30
|
// name: run
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
const
|
|
34
|
-
const
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
// e.g /src/somefoler/handlers/index.layer1.layer2.handler
|
|
38
|
-
// AWS supports this feature
|
|
39
|
-
|
|
40
|
-
return [path, name, moduleNesting];
|
|
33
|
+
const delimiter = handler.lastIndexOf('.');
|
|
34
|
+
const path = handler.substr(0, delimiter);
|
|
35
|
+
const name = handler.substr(delimiter + 1);
|
|
36
|
+
return [path, name];
|
|
41
37
|
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"dedicatedTo": "Blue, a great migrating bird.",
|
|
3
3
|
"name": "serverless-offline",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.8.0",
|
|
5
5
|
"description": "Emulate AWS λ and API Gateway locally when developing your Serverless project",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "dist/main.js",
|
|
@@ -118,6 +118,7 @@
|
|
|
118
118
|
"kobanyan (https://github.com/kobanyan)",
|
|
119
119
|
"Leonardo Alifraco (https://github.com/lalifraco-devspark)",
|
|
120
120
|
"Leonardo Medici (https://github.com/doclm)",
|
|
121
|
+
"Luciano Jesus Lima (https://github.com/brazilianbytes)",
|
|
121
122
|
"Luke Chavers (https://github.com/vmadman)",
|
|
122
123
|
"Manuel Böhm (https://github.com/boehmers)",
|
|
123
124
|
"Marc Campbell (https://github.com/marccampbell)",
|
|
@@ -204,59 +205,55 @@
|
|
|
204
205
|
"dependencies": {
|
|
205
206
|
"@hapi/boom": "^9.1.4",
|
|
206
207
|
"@hapi/h2o2": "^9.1.0",
|
|
207
|
-
"@hapi/hapi": "^20.2.
|
|
208
|
-
"aws-sdk": "^2.
|
|
208
|
+
"@hapi/hapi": "^20.2.2",
|
|
209
|
+
"aws-sdk": "^2.1136.0",
|
|
209
210
|
"boxen": "^5.1.2",
|
|
210
211
|
"chalk": "^4.1.2",
|
|
211
212
|
"cuid": "^2.1.8",
|
|
212
213
|
"execa": "^5.1.1",
|
|
213
|
-
"
|
|
214
|
-
"fs-extra": "^9.1.0",
|
|
214
|
+
"fs-extra": "^10.1.0",
|
|
215
215
|
"java-invoke-local": "0.0.6",
|
|
216
216
|
"js-string-escape": "^1.0.1",
|
|
217
217
|
"jsonpath-plus": "^5.1.0",
|
|
218
218
|
"jsonschema": "^1.4.0",
|
|
219
219
|
"jsonwebtoken": "^8.5.1",
|
|
220
|
-
"jszip": "^3.
|
|
221
|
-
"luxon": "^
|
|
220
|
+
"jszip": "^3.9.1",
|
|
221
|
+
"luxon": "^2.4.0",
|
|
222
222
|
"node-fetch": "^2.6.7",
|
|
223
|
-
"node-schedule": "^1.
|
|
224
|
-
"object.fromentries": "^2.0.5",
|
|
223
|
+
"node-schedule": "^2.1.0",
|
|
225
224
|
"p-memoize": "^4.0.4",
|
|
226
225
|
"p-queue": "^6.6.2",
|
|
227
|
-
"p-retry": "^4.6.
|
|
228
|
-
"
|
|
229
|
-
"semver": "^7.3.5",
|
|
226
|
+
"p-retry": "^4.6.2",
|
|
227
|
+
"semver": "^7.3.7",
|
|
230
228
|
"update-notifier": "^5.1.0",
|
|
231
229
|
"velocityjs": "^2.0.6",
|
|
232
230
|
"ws": "^7.5.7"
|
|
233
231
|
},
|
|
234
232
|
"devDependencies": {
|
|
235
|
-
"@babel/cli": "^7.17.
|
|
236
|
-
"@babel/core": "^7.17.
|
|
237
|
-
"@babel/plugin-proposal-class-properties": "^7.
|
|
233
|
+
"@babel/cli": "^7.17.10",
|
|
234
|
+
"@babel/core": "^7.17.12",
|
|
235
|
+
"@babel/plugin-proposal-class-properties": "^7.17.12",
|
|
238
236
|
"@babel/plugin-proposal-dynamic-import": "^7.16.7",
|
|
239
|
-
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.
|
|
240
|
-
"@babel/plugin-proposal-optional-chaining": "^7.
|
|
241
|
-
"@babel/plugin-transform-modules-commonjs": "^7.17.
|
|
237
|
+
"@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12",
|
|
238
|
+
"@babel/plugin-proposal-optional-chaining": "^7.17.12",
|
|
239
|
+
"@babel/plugin-transform-modules-commonjs": "^7.17.12",
|
|
242
240
|
"@babel/register": "^7.17.7",
|
|
243
|
-
"archiver": "^5.3.
|
|
244
|
-
"babel-eslint": "^10.1.0",
|
|
241
|
+
"archiver": "^5.3.1",
|
|
245
242
|
"copyfiles": "^2.4.1",
|
|
246
|
-
"eslint": "^
|
|
247
|
-
"eslint-config-airbnb-base": "^
|
|
248
|
-
"eslint-config-prettier": "^
|
|
243
|
+
"eslint": "^8.15.0",
|
|
244
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
245
|
+
"eslint-config-prettier": "^8.5.0",
|
|
249
246
|
"eslint-plugin-import": "^2.25.4",
|
|
250
|
-
"eslint-plugin-prettier": "^
|
|
247
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
251
248
|
"git-list-updated": "^1.2.1",
|
|
252
249
|
"husky": "^4.3.8",
|
|
253
250
|
"jest": "^26.6.3",
|
|
254
251
|
"lint-staged": "^11.2.6",
|
|
255
252
|
"p-map": "^4.0.0",
|
|
256
|
-
"prettier": "^2.6.
|
|
253
|
+
"prettier": "^2.6.2",
|
|
257
254
|
"rimraf": "^3.0.2",
|
|
258
255
|
"serverless": "^2.72.3",
|
|
259
|
-
"standard-version": "^9.
|
|
256
|
+
"standard-version": "^9.5.0"
|
|
260
257
|
},
|
|
261
258
|
"peerDependencies": {
|
|
262
259
|
"serverless": "^1.60.0 || 2 || 3"
|
package/dist/checkEngine.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _pleaseUpgradeNode = _interopRequireDefault(require("please-upgrade-node"));
|
|
4
|
-
|
|
5
|
-
var _package = _interopRequireDefault(require("../package.json"));
|
|
6
|
-
|
|
7
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
8
|
-
|
|
9
|
-
// NOTE: important, don't use any new javascript language features in this file!
|
|
10
|
-
// (other than es6 modules, which are transpiled)
|
|
11
|
-
const currentNodeVersion = process.versions.node;
|
|
12
|
-
|
|
13
|
-
const requiredNodeVersion = _package.default.engines.node.replace('>=', '');
|
|
14
|
-
|
|
15
|
-
(0, _pleaseUpgradeNode.default)(_package.default, {
|
|
16
|
-
message: function message() {
|
|
17
|
-
return (// eslint-disable-next-line prefer-template
|
|
18
|
-
'serverless-offline requires node.js version ' + requiredNodeVersion + ' or higher, but found version ' + currentNodeVersion + '. Please upgrade!'
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
});
|