fix(CLI): Ensure to write outputs with modern logs on sls info

This commit is contained in:
Mariusz Nowak 2021-09-22 15:29:21 +02:00 committed by Mariusz Nowak
parent 0f0b85a637
commit 43d17debee
3 changed files with 24 additions and 11 deletions

View File

@ -0,0 +1,14 @@
'use strict';
const { writeText, style } = require('@serverless/utils/log');
module.exports = (serviceOutputs) => {
writeText();
for (const [section, entries] of serviceOutputs) {
if (typeof entries === 'string') {
writeText(`${style.aside(`${section}:`)} ${entries}`);
} else {
writeText(`${style.aside(`${section}:\n`)} ${entries.join('\n ')}`);
}
}
};

View File

@ -1,5 +1,6 @@
'use strict';
const writeServiceOutputs = require('../../../cli/write-service-outputs');
const extendedValidate = require('./lib/extendedValidate');
const setBucketName = require('../lib/setBucketName');
const checkForChanges = require('./lib/checkForChanges');
@ -11,7 +12,7 @@ const validateTemplate = require('./lib/validateTemplate');
const updateStack = require('../lib/updateStack');
const existsDeploymentBucket = require('./lib/existsDeploymentBucket');
const path = require('path');
const { style, log, writeText, progress } = require('@serverless/utils/log');
const { style, log, progress } = require('@serverless/utils/log');
const memoize = require('memoizee');
const mainProgress = progress.get('main');
@ -188,16 +189,7 @@ class AwsDeploy {
)}s)`
)}`
);
if (this.serverless.serviceOutputs) {
writeText();
for (const [section, entries] of this.serverless.serviceOutputs) {
if (typeof entries === 'string') {
writeText(`${style.aside(`${section}:`)} ${entries}`);
} else {
writeText(`${style.aside(`${section}:\n`)} ${entries.join('\n ')}`);
}
}
}
if (this.serverless.serviceOutputs) writeServiceOutputs(this.serverless.serviceOutputs);
},
};
}

View File

@ -2,6 +2,7 @@
const BbPromise = require('bluebird');
const { progress } = require('@serverless/utils/log');
const writeServiceOutputs = require('../../../cli/write-service-outputs');
const validate = require('../lib/validate');
const getStackInfo = require('./getStackInfo');
const getResourceCount = require('./getResourceCount');
@ -68,6 +69,12 @@ class AwsInfo {
'aws:info:displayStackOutputs': async () =>
BbPromise.bind(this).then(this.displayStackOutputs),
'finalize': () => {
if (this.serverless.processedInput.commands.join(' ') !== 'info') return;
if (this.serverless.serviceOutputs) writeServiceOutputs(this.serverless.serviceOutputs);
},
};
}
}