Skip to content

Commit

Permalink
refactor(CLI): Modern logs for plugin list command
Browse files Browse the repository at this point in the history
  • Loading branch information
medikoo committed Sep 28, 2021
1 parent 3094be0 commit 00e016c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 11 deletions.
16 changes: 13 additions & 3 deletions lib/plugins/plugin/lib/utils.js
Expand Up @@ -7,6 +7,7 @@ const HttpsProxyAgent = require('https-proxy-agent');
const url = require('url');
const chalk = require('chalk');
const _ = require('lodash');
const { legacy, log, writeText, style } = require('@serverless/utils/log');
const ServerlessError = require('../../../serverless-error');

module.exports = {
Expand Down Expand Up @@ -73,18 +74,27 @@ module.exports = {
const orderedPlugins = _.orderBy(plugins, ['name'], ['asc']);
orderedPlugins.forEach((plugin) => {
message += `${chalk.yellow.underline(plugin.name)} - ${plugin.description}\n`;
writeText(`${style.link(plugin.name)} ${style.aside(plugin.description)}`);
});
// remove last two newlines for a prettier output
message = message.slice(0, -2);
this.serverless.cli.consoleLog(message);
this.serverless.cli.consoleLog(`
legacy.consoleLog(message);
legacy.consoleLog(`
To install a plugin run 'serverless plugin install --name plugin-name-here'
It will be automatically downloaded and added to your package.json and serverless.yml file
`);
writeText(
null,
'Install a plugin by running:',
' serverless plugin install --name ...',
null,
'It will be automatically downloaded and added to package.json and serverless.yml'
);
} else {
message = 'There are no plugins available to display';
this.serverless.cli.consoleLog(message);
legacy.consoleLog(message);
log.notice.skip('There are no plugins available to display');
}

return BbPromise.resolve(message);
Expand Down
8 changes: 0 additions & 8 deletions test/unit/lib/plugins/plugin/lib/utils.test.js
Expand Up @@ -15,7 +15,6 @@ chai.use(require('chai-as-promised'));
describe('PluginUtils', () => {
let pluginUtils;
let serverless;
let consoleLogStub;
const plugins = [
{
name: 'serverless-plugin-1',
Expand All @@ -39,11 +38,6 @@ describe('PluginUtils', () => {
serverless.cli = new CLI(serverless);
const options = {};
pluginUtils = new PluginInstall(serverless, options);
consoleLogStub = sinon.stub(serverless.cli, 'consoleLog').returns();
});

afterEach(() => {
serverless.cli.consoleLog.restore();
});

describe('#getServerlessFilePath()', () => {
Expand Down Expand Up @@ -107,7 +101,6 @@ describe('PluginUtils', () => {
expectedMessage += ' - Serverless Plugin 2\n';
expectedMessage = expectedMessage.slice(0, -2);
return expect(pluginUtils.display(plugins)).to.be.fulfilled.then((message) => {
expect(consoleLogStub.calledTwice).to.equal(true);
expect(message).to.equal(expectedMessage);
});
});
Expand All @@ -116,7 +109,6 @@ describe('PluginUtils', () => {
const expectedMessage = 'There are no plugins available to display';

return pluginUtils.display([]).then((message) => {
expect(consoleLogStub.calledOnce).to.equal(true);
expect(message).to.equal(expectedMessage);
});
});
Expand Down

0 comments on commit 00e016c

Please sign in to comment.