Skip to content

Commit 50a1f76

Browse files
authored
fix(plugin-serverless): remove default from aliases (#274)
The recent introduction of alias support in the `plugin-serverless` was causing issues if there was a default value as the default value of the alias would override the value explicitly passed into the original command. This change removes default and required arguments from aliases and also explicitly updates the description. fix #272
1 parent 56aa07e commit 50a1f76

File tree

12 files changed

+314
-11
lines changed

12 files changed

+314
-11
lines changed

Diff for: packages/plugin-serverless/jest.config.js

+10
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
const base = require('../../jest.config.base.js');
2+
const { join } = require('path');
3+
4+
module.exports = {
5+
...base,
6+
preset: null,
7+
name: 'plugin-serverless',
8+
displayName: 'plugin-serverless',
9+
globalTeardown: join(__dirname, 'jest.teardown.js'),
10+
};

Diff for: packages/plugin-serverless/jest.teardown.js

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
const { join } = require('path');
2+
const { tmpdir } = require('os');
3+
const rimraf = require('rimraf');
4+
5+
module.exports = () => {
6+
rimraf.sync(join(tmpdir(), 'scratch'));
7+
};

Diff for: packages/plugin-serverless/src/commands/serverless/deploy.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class FunctionsDeploy extends TwilioClientCommand {
1919
await super.run();
2020

2121
let { flags, args } = this.parse(FunctionsDeploy);
22-
flags = normalizeFlags(flags, aliasMap);
22+
flags = normalizeFlags(flags, aliasMap, process.argv);
2323

2424
const externalOptions = createExternalCliOptions(flags, this.twilioClient);
2525

Diff for: packages/plugin-serverless/src/commands/serverless/init.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ class FunctionsInit extends TwilioClientCommand {
1717
await super.run();
1818

1919
let { flags, args } = this.parse(FunctionsInit);
20-
flags = normalizeFlags(flags, aliasMap);
20+
flags = normalizeFlags(flags, aliasMap, process.argv);
2121

2222
const opts = Object.assign({}, flags, args);
2323
opts.accountSid = flags.accountSid || this.twilioClient.accountSid;

Diff for: packages/plugin-serverless/src/commands/serverless/list-templates.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ const { flags, aliasMap } = convertYargsOptionsToOclifFlags(cliInfo.options);
1515
class FunctionsListTemplates extends Command {
1616
async run() {
1717
let { flags, args } = this.parse(FunctionsListTemplates);
18-
flags = normalizeFlags(flags, aliasMap);
18+
flags = normalizeFlags(flags, aliasMap, process.argv);
1919

2020
const opts = Object.assign({}, flags, args);
2121
return handler(opts, undefined);

Diff for: packages/plugin-serverless/src/commands/serverless/list.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ class FunctionsList extends TwilioClientCommand {
1515
await super.run();
1616

1717
let { flags, args } = this.parse(FunctionsList);
18-
flags = normalizeFlags(flags, aliasMap);
18+
flags = normalizeFlags(flags, aliasMap, process.argv);
1919

2020
const externalOptions = createExternalCliOptions(flags, this.twilioClient);
2121

Diff for: packages/plugin-serverless/src/commands/serverless/logs.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class LogsList extends TwilioClientCommand {
1616
await super.run();
1717

1818
let { flags, args } = this.parse(LogsList);
19-
flags = normalizeFlags(flags, aliasMap);
19+
flags = normalizeFlags(flags, aliasMap, process.argv);
2020

2121
const externalOptions = createExternalCliOptions(flags, this.twilioClient);
2222

Diff for: packages/plugin-serverless/src/commands/serverless/new.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ const { flags, aliasMap } = convertYargsOptionsToOclifFlags(cliInfo.options);
1111
class FunctionsNew extends Command {
1212
async run() {
1313
let { flags, args } = this.parse(FunctionsNew);
14-
flags = normalizeFlags(flags, aliasMap);
14+
flags = normalizeFlags(flags, aliasMap, process.argv);
1515

1616
const opts = Object.assign({}, flags, args);
1717
return handler(opts, undefined);

Diff for: packages/plugin-serverless/src/commands/serverless/promote.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ class FunctionsPromote extends TwilioClientCommand {
1919
await super.run();
2020

2121
let { flags, args } = this.parse(FunctionsPromote);
22-
flags = normalizeFlags(flags, aliasMap);
22+
flags = normalizeFlags(flags, aliasMap, process.argv);
2323

2424
const externalOptions = createExternalCliOptions(flags, this.twilioClient);
2525

Diff for: packages/plugin-serverless/src/commands/serverless/start.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ class FunctionsStart extends Command {
1616
async run() {
1717
let { flags, args } = this.parse(FunctionsStart);
1818

19-
flags = normalizeFlags(flags, aliasMap);
19+
flags = normalizeFlags(flags, aliasMap, process.argv);
2020

2121
const opts = Object.assign({}, flags, args);
2222
return handler(opts, undefined);

Diff for: packages/plugin-serverless/src/utils.js

+8-3
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,12 @@ function convertYargsOptionsToOclifFlags(options) {
3838
result[name] = flags[opt.type](flag);
3939

4040
if (opt.alias && opt.alias.length > 1) {
41-
result[opt.alias] = flags[opt.type](flag);
41+
result[opt.alias] = flags[opt.type]({
42+
...flag,
43+
default: undefined,
44+
description: `[Alias for "${name}"]`,
45+
required: undefined,
46+
});
4247
aliasMap.set(opt.alias, name);
4348
}
4449

@@ -47,7 +52,7 @@ function convertYargsOptionsToOclifFlags(options) {
4752
return { flags: flagsResult, aliasMap };
4853
}
4954

50-
function normalizeFlags(flags, aliasMap) {
55+
function normalizeFlags(flags, aliasMap, argv) {
5156
const result = Object.keys(flags).reduce((current, name) => {
5257
const normalizedName = name.includes('-') ? camelCase(name) : name;
5358

@@ -59,7 +64,7 @@ function normalizeFlags(flags, aliasMap) {
5964
}
6065
return current;
6166
}, flags);
62-
const [, command, ...args] = process.argv;
67+
const [, command, ...args] = argv;
6368
result.$0 = path.basename(command);
6469
result._ = args;
6570

0 commit comments

Comments
 (0)