refactor(AWS Deploy): Store resolved state on internal class

This commit is contained in:
Mariusz Nowak 2022-02-23 13:49:15 +01:00 committed by Mariusz Nowak
parent acefce9755
commit 1c00eb29fe

View File

@ -21,19 +21,20 @@ module.exports = {
'MISSING_SERVICE_STATE_FILE'
);
}
const state = this.serverless.utils.readFileSync(serviceStateFilePath);
const selfReferences = findReferences(state.service, '${self:}');
selfReferences.forEach((ref) => _.set(state.service, ref, this.serverless.service));
this.state = this.serverless.utils.readFileSync(serviceStateFilePath);
const selfReferences = findReferences(this.state.service, '${self:}');
selfReferences.forEach((ref) => _.set(this.state.service, ref, this.serverless.service));
Object.assign(this.serverless.service, state.service);
Object.assign(this.serverless.service, this.state.service);
this.serverless.service.package.artifactDirectoryName = state.package.artifactDirectoryName;
this.serverless.service.package.artifactDirectoryName =
this.state.package.artifactDirectoryName;
// only restore the default artifact path if the user is not using a custom path
if (state.package.artifact && this.serverless.service.artifact) {
if (this.state.package.artifact && this.serverless.service.artifact) {
this.serverless.service.package.artifact = path.join(
this.serverless.serviceDir,
'.serverless',
state.package.artifact
this.state.package.artifact
);
}