Skip to content

Commit 378c4f6

Browse files
committed
feat: Recognize package.patterns
1 parent 306a839 commit 378c4f6

File tree

3 files changed

+12
-6
lines changed

3 files changed

+12
-6
lines changed

src/Serverless.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ declare namespace Serverless {
3636
interface Package {
3737
include: string[]
3838
exclude: string[]
39+
patterns: string[]
3940
artifact?: string
4041
individually?: boolean
4142
}

src/index.ts

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ export class TypeScriptPlugin {
103103
fn.package = fn.package || {
104104
exclude: [],
105105
include: [],
106+
patterns: []
106107
}
107108

108109
// Add plugin to excluded packages or an empty array if exclude is undefined
@@ -157,13 +158,14 @@ export class TypeScriptPlugin {
157158
return emitedFiles
158159
}
159160

160-
/** Link or copy extras such as node_modules or package.include definitions */
161+
/** Link or copy extras such as node_modules or package.patterns definitions */
161162
async copyExtras() {
162163
const { service } = this.serverless
163164

165+
const patterns = [...(service.package.include || []), ...(service.package.patterns || [])]
164166
// include any "extras" from the "include" section
165-
if (service.package.include && service.package.include.length > 0) {
166-
const files = await globby(service.package.include)
167+
if (patterns.length > 0) {
168+
const files = await globby(patterns)
167169

168170
for (const filename of files) {
169171
const destFileName = path.resolve(path.join(BUILD_FOLDER, filename))

tests/typescript.extractFileName.test.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,21 +6,24 @@ const functions: { [key: string]: Serverless.Function } = {
66
handler: 'tests/assets/hello.handler',
77
package: {
88
include: [],
9-
exclude: []
9+
exclude: [],
10+
patterns: []
1011
}
1112
},
1213
world: {
1314
handler: 'tests/assets/world.handler',
1415
package: {
1516
include: [],
16-
exclude: []
17+
exclude: [],
18+
patterns: []
1719
}
1820
},
1921
js: {
2022
handler: 'tests/assets/jsfile.create',
2123
package: {
2224
include: [],
23-
exclude: []
25+
exclude: [],
26+
patterns: []
2427
}
2528
},
2629
}

0 commit comments

Comments
 (0)