Skip to content

Commit 51535a6

Browse files
committed
fix(Packaging): Ensure support for package.patterns
BREAKING CHANGE: Plugin now relies on `package.patterns` which was introduced with Serverless Framework `v2.32.0`
1 parent 0133762 commit 51535a6

File tree

8 files changed

+27
-31
lines changed

8 files changed

+27
-31
lines changed

lib/zip.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,14 @@ function addVendorHelper() {
1818
if (this.serverless.service.package.individually) {
1919
return BbPromise.resolve(this.targetFuncs)
2020
.map((f) => {
21-
if (!get(f, 'package.include')) {
22-
set(f, ['package', 'include'], []);
21+
if (!get(f, 'package.patterns')) {
22+
set(f, ['package', 'patterns'], []);
2323
}
2424
if (!get(f, 'module')) {
2525
set(f, ['module'], '.');
2626
}
27-
f.package.include.push('unzip_requirements.py');
27+
28+
f.package.patterns.push('unzip_requirements.py');
2829
return f;
2930
})
3031
.then((functions) => uniqBy(functions, (func) => func.module))
@@ -41,11 +42,11 @@ function addVendorHelper() {
4142
} else {
4243
this.serverless.cli.log('Adding Python requirements helper...');
4344

44-
if (!get(this.serverless.service, 'package.include')) {
45-
set(this.serverless.service, ['package', 'include'], []);
45+
if (!get(this.serverless.service, 'package.patterns')) {
46+
set(this.serverless.service, ['package', 'patterns'], []);
4647
}
4748

48-
this.serverless.service.package.include.push('unzip_requirements.py');
49+
this.serverless.service.package.patterns.push('unzip_requirements.py');
4950

5051
return fse.copyAsync(
5152
path.resolve(__dirname, '../unzip_requirements.py'),
@@ -106,15 +107,15 @@ function packRequirements() {
106107
this.serverless.cli.log(
107108
`Zipping required Python packages for ${f.module}...`
108109
);
109-
f.package.include.push(`${f.module}/.requirements.zip`);
110+
f.package.patterns.push(`${f.module}/.requirements.zip`);
110111
return addTree(
111112
new JSZip(),
112113
`.serverless/${f.module}/requirements`
113114
).then((zip) => writeZip(zip, `${f.module}/.requirements.zip`));
114115
});
115116
} else {
116117
this.serverless.cli.log('Zipping required Python packages...');
117-
this.serverless.service.package.include.push('.requirements.zip');
118+
this.serverless.service.package.patterns.push('.requirements.zip');
118119
return addTree(new JSZip(), '.serverless/requirements').then((zip) =>
119120
writeZip(zip, path.join(this.servicePath, '.requirements.zip'))
120121
);

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,7 +68,7 @@
6868
"shell-quote": "^1.7.2"
6969
},
7070
"peerDependencies": {
71-
"serverless": "^1.34 || 2"
71+
"serverless": "^2.32"
7272
},
7373
"eslintConfig": {
7474
"extends": "eslint:recommended",

tests/base/serverless.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,8 @@ custom:
3030

3131
package:
3232
individually: ${opt:individually, self:custom.defaults.individually}
33-
exclude:
34-
- '**/*'
35-
include:
33+
patterns:
34+
- '!**/*'
3635
- 'handler.py'
3736

3837
functions:
@@ -47,7 +46,7 @@ functions:
4746
handler: fn2_handler.hello
4847
module: fn2
4948
package:
50-
include:
49+
patterns:
5150
- 'fn2/**'
5251
hello5:
5352
image: 000000000000.dkr.ecr.sa-east-1.amazonaws.com/test-lambda-docker@sha256:6bb600b4d6e1d7cf521097177dd0c4e9ea373edb91984a505333be8ac9455d38

tests/individually/serverless.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ provider:
66

77
package:
88
individually: true
9-
exclude:
10-
- 'node_modules/**'
9+
patterns:
10+
- '!node_modules/**'
1111
custom:
1212
pythonRequirements:
1313
dockerizePip: ${opt:dockerizePip, self:custom.defaults.dockerizePip}

tests/non_build_pyproject/serverless.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ custom:
1111
usePoetry: false
1212

1313
package:
14-
exclude:
15-
- '**/*'
16-
include:
17-
- handler.py
14+
patterns:
15+
- '!**/*'
16+
- 'handler.py'
1817

1918
functions:
2019
hello:

tests/non_poetry_pyproject/serverless.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@ plugins:
88
- serverless-python-requirements
99

1010
package:
11-
exclude:
12-
- '**/*'
13-
include:
14-
- handler.py
11+
patterns:
12+
- '!**/*'
13+
- 'handler.py'
1514

1615
functions:
1716
hello:

tests/pipenv/serverless.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ custom:
2121
dockerizePip: false
2222

2323
package:
24-
exclude:
25-
- '**/*'
26-
include:
27-
- handler.py
24+
patterns:
25+
- '!**/*'
26+
- 'handler.py'
2827

2928
functions:
3029
hello:

tests/poetry/serverless.yml

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,10 +21,9 @@ custom:
2121
dockerizePip: false
2222

2323
package:
24-
exclude:
25-
- '**/*'
26-
include:
27-
- handler.py
24+
patterns:
25+
- '!**/*'
26+
- 'handler.py'
2827

2928
functions:
3029
hello:

0 commit comments

Comments
 (0)