@@ -23,6 +23,10 @@ module.exports = class IncludeDependencies {
2323
2424 this . serverless = serverless ;
2525 this . options = options ;
26+ this . globalCache = new Set ( ) ;
27+
28+ const service = this . serverless . service ;
29+ this . individually = service . package && service . package . individually ;
2630
2731 this . hooks = {
2832 'before:deploy:function:packageFunction' : this . functionDeploy . bind ( this ) ,
@@ -93,7 +97,7 @@ module.exports = class IncludeDependencies {
9397 return ;
9498 }
9599 const include = union ( options . always , [ ] ) ;
96- if ( service . package && service . package . individually ) {
100+ if ( this . individually ) {
97101 const exclude = union ( service . package . exclude , functionObject . package . exclude ) ;
98102 this . includeGlobs ( functionObject , include , exclude ) ;
99103 } else {
@@ -107,7 +111,7 @@ module.exports = class IncludeDependencies {
107111
108112 const fileName = this . getHandlerFilename ( functionObject . handler ) ;
109113
110- if ( service . package && service . package . individually ) {
114+ if ( this . individually ) {
111115 const exclude = union ( service . package . exclude , functionObject . package . exclude ) ;
112116 const dependencies = this . getDependencies ( fileName , exclude ) ;
113117
@@ -149,7 +153,8 @@ module.exports = class IncludeDependencies {
149153 }
150154
151155 getDependencyList ( fileName ) {
152- return getDependencyList ( fileName , this . serverless ) ;
156+ const cache = this . individually ? new Set ( ) : this . globalCache ;
157+ return getDependencyList ( fileName , this . serverless , cache ) ;
153158 }
154159
155160 include ( target , dependencies ) {
0 commit comments