Skip to content

Commit af5f34a

Browse files
committed
feat: Handle gentle functions referencing images
1 parent e2bc421 commit af5f34a

File tree

2 files changed

+8
-38
lines changed

2 files changed

+8
-38
lines changed

index.js

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
11
"use strict";
22

3-
const optionalChaining = require("es5-ext/optional-chaining")
4-
, { join, resolve } = require("path")
5-
, globby = require("globby")
6-
, multimatch = require("multimatch")
7-
, BbPromise = require("bluebird")
8-
, getDependencies = require("./lib/private/get-dependencies")
9-
, resolveLambdaModulePaths = require("./lib/private/resolve-lambda-module-paths")
10-
, ServerlessPluginReducerError = require("./lib/private/serverless-plugin-reducer-error");
3+
const optionalChaining = require("es5-ext/optional-chaining")
4+
, { join, resolve } = require("path")
5+
, globby = require("globby")
6+
, multimatch = require("multimatch")
7+
, BbPromise = require("bluebird")
8+
, getDependencies = require("./lib/private/get-dependencies")
9+
, resolveLambdaModulePaths = require("./lib/private/resolve-lambda-module-paths");
1110

1211
module.exports = class ServerlessPluginReducer {
1312
constructor(serverless) {
@@ -29,14 +28,7 @@ module.exports = class ServerlessPluginReducer {
2928
const funcPackageConfig = functionObject.package || {};
3029
const { servicePath } = serverless.config;
3130

32-
if (!functionObject.handler) {
33-
return BbPromise.reject(
34-
new ServerlessPluginReducerError(
35-
`Function ${ JSON.stringify(functionName) } misses 'handler' configuration`,
36-
"INVALID_LAMBDA_CONFIGURATION"
37-
)
38-
);
39-
}
31+
if (!functionObject.handler) return null; // image case
4032

4133
const patterns = [];
4234
for (const excludePattern of this.getExcludes(funcPackageConfig.exclude, true)) {

test/index/failure.js

Lines changed: 0 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ const test = require("tape")
55
, serverlessMock = require("../_lib/serverless-mock");
66

77
const [packagePluginMock] = serverlessMock.pluginManager.plugins;
8-
const { getFunction } = serverlessMock.service;
98

109
test("Serverless Plugin Reducer: Failure", t => {
1110
// eslint-disable-next-line no-new
@@ -27,26 +26,5 @@ test("Serverless Plugin Reducer: Failure", t => {
2726
});
2827
});
2928

30-
t.test("Error: Invalid lambda configuration", t => {
31-
serverlessMock.service.getFunction = () => ({});
32-
const onFinally = () => (serverlessMock.service.getFunction = getFunction);
33-
packagePluginMock
34-
.resolveFilePathsFunction("outer-path-lambda")
35-
.catch(error => {
36-
if (error.code !== "INVALID_LAMBDA_CONFIGURATION") throw error;
37-
t.equal(error.code, "INVALID_LAMBDA_CONFIGURATION");
38-
})
39-
.then(
40-
() => {
41-
onFinally();
42-
t.end();
43-
},
44-
error => {
45-
onFinally();
46-
throw error;
47-
}
48-
);
49-
});
50-
5129
t.end();
5230
});

0 commit comments

Comments
 (0)