diff --git a/src/Serverless.d.ts b/src/Serverless.d.ts index ec7d7049..edfce25f 100644 --- a/src/Serverless.d.ts +++ b/src/Serverless.d.ts @@ -9,6 +9,7 @@ declare namespace Serverless { } service: { + artifact: string provider: { name: string } @@ -43,4 +44,4 @@ declare namespace Serverless { interface PluginManager { spawn(command: string): Promise } -} \ No newline at end of file +} diff --git a/src/index.ts b/src/index.ts index a249ce58..b7bd587b 100644 --- a/src/index.ts +++ b/src/index.ts @@ -223,33 +223,33 @@ export class TypeScriptPlugin { path.join(this.originalServicePath, SERVERLESS_FOLDER) ) - if (this.options.function) { - const fn = service.functions[this.options.function] - fn.package.artifact = path.join( + const functionNames = service.getAllFunctions() + functionNames.forEach(name => { + const fnPackage = service.functions[name].package + if (fnPackage.artifact) { + fnPackage.artifact = path.join( + this.originalServicePath, + SERVERLESS_FOLDER, + path.basename(fnPackage.artifact) + ) + } + }) + + if (service.artifact) { + service.artifact = path.join( this.originalServicePath, SERVERLESS_FOLDER, - path.basename(fn.package.artifact) + path.basename(service.artifact) ) - return } - if (service.package.individually) { - const functionNames = service.getAllFunctions() - functionNames.forEach(name => { - service.functions[name].package.artifact = path.join( - this.originalServicePath, - SERVERLESS_FOLDER, - path.basename(service.functions[name].package.artifact) - ) - }) - return + if (service.package.artifact) { + service.package.artifact = path.join( + this.originalServicePath, + SERVERLESS_FOLDER, + path.basename(service.package.artifact) + ) } - - service.package.artifact = path.join( - this.originalServicePath, - SERVERLESS_FOLDER, - path.basename(service.package.artifact) - ) } async cleanup(): Promise {