diff --git a/.serverless_plugins/set-version.js b/.serverless_plugins/set-version.js index 1c684a14f..f0903cea8 100644 --- a/.serverless_plugins/set-version.js +++ b/.serverless_plugins/set-version.js @@ -1,6 +1,6 @@ const { StackUtils } = require('../lib/stack-utils') -const vInfo = require('../lib/version') +const versionInfo = require('../lib/version') class SetVersion { constructor(serverless, options) { @@ -13,11 +13,12 @@ class SetVersion { } setVersion() { - const { dir } = StackUtils.getStackLocation({ + const { dir } = StackUtils.getStackLocationKeys({ ...process.env, service: this.serverless.service.service, stage: this.options.stage, region: this.options.region, + versionInfo, }) this.serverless.service.package.artifactDirectoryName = dir diff --git a/src/stack-utils.ts b/src/stack-utils.ts index 1caa44d44..9d55f5989 100644 --- a/src/stack-utils.ts +++ b/src/stack-utils.ts @@ -537,24 +537,38 @@ export default class StackUtils { return this.aws.cloudformation.updateStack(params).promise() } - public static getStackLocation = ({ service, stage, region, versionInfo, deploymentBucket }: { + public static getStackLocationKeys = ({ service, stage, region, versionInfo }: { service: string stage: string region: string versionInfo: VersionInfo - deploymentBucket: Bucket }) => { const { tag, commit } = versionInfo const dir = `serverless/${service}/${stage}/${tag}` const templateKey = `${dir}/compiled-cloudformation-template.json` - const zip = `${dir}/${service}.zip` - const regional = deploymentBucket.getRegionalBucket(region) + const zipKey = `${dir}/${service}.zip` return { dir, templateKey, - zip, + zipKey + } + } + + public static getStackLocation = (opts: { + service: string + stage: string + region: string + versionInfo: VersionInfo + deploymentBucket?: Bucket + }) => { + const { region, deploymentBucket } = opts + const regional = deploymentBucket.getRegionalBucket(region) + const loc = StackUtils.getStackLocation(opts) + const { zipKey, templateKey } = loc + return { + ...loc, templateUrl: regional.getUrlForKey(templateKey), - zipUrl: regional.getUrlForKey(templateKey), + zipUrl: regional.getUrlForKey(zipKey), } }