@oclif/core 2.1.3 → 2.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -132,5 +132,6 @@ export declare class Config implements IConfig {
132
132
  * @returns command instance {Command.Loadable} or undefined
133
133
  */
134
134
  private determinePriority;
135
+ private insertLegacyPlugins;
135
136
  }
136
137
  export declare function toCached(c: Command.Class, plugin?: IPlugin): Promise<Command.Cached>;
@@ -239,6 +239,9 @@ class Config {
239
239
  await withTimeout(timeout, search(module).call(context, { ...opts, config: this })) :
240
240
  await search(module).call(context, { ...opts, config: this });
241
241
  final.successes.push({ plugin: p, result });
242
+ if (p.name === '@oclif/plugin-legacy' && event === 'init') {
243
+ this.insertLegacyPlugins(result);
244
+ }
242
245
  debug('done');
243
246
  }
244
247
  catch (error) {
@@ -639,6 +642,14 @@ class Config {
639
642
  });
640
643
  return commandPlugins[0];
641
644
  }
645
+ insertLegacyPlugins(plugins) {
646
+ for (const plugin of plugins) {
647
+ const idx = this.plugins.findIndex(p => p.name === plugin.name);
648
+ if (idx !== -1)
649
+ this.plugins = this.plugins.splice(idx, 1, plugin);
650
+ this.loadCommands(plugin);
651
+ }
652
+ }
642
653
  }
643
654
  exports.Config = Config;
644
655
  // when no manifest exists, the default is calculated. This may throw, so we need to catch it
@@ -241,10 +241,14 @@ class Parser {
241
241
  if (!flag.parse)
242
242
  return input;
243
243
  try {
244
+ const ctx = this.context;
245
+ ctx.token = token;
244
246
  if (flag.type === 'boolean') {
245
- return await flag.parse(input, { ...this.context, token }, flag);
247
+ const ctx = this.context;
248
+ ctx.token = token;
249
+ return await flag.parse(input, ctx, flag);
246
250
  }
247
- return flag.parse ? await flag.parse(input, { ...this.context, token }, flag) : input;
251
+ return flag.parse ? await flag.parse(input, ctx, flag) : input;
248
252
  }
249
253
  catch (error) {
250
254
  error.message = `Parsing --${flag.name} \n\t${error.message}\nSee more help with --help`;
@@ -260,13 +264,15 @@ class Parser {
260
264
  const args = {};
261
265
  const tokens = this._argTokens;
262
266
  let stdinRead = false;
267
+ const ctx = this.context;
263
268
  for (const [name, arg] of Object.entries(this.input.args)) {
264
269
  const token = tokens.find(t => t.arg === name);
270
+ ctx.token = token;
265
271
  if (token) {
266
272
  if (arg.options && !arg.options.includes(token.input)) {
267
273
  throw new errors_1.ArgInvalidOptionError(arg, token.input);
268
274
  }
269
- const parsed = await arg.parse(token.input, { ...this.context, token }, arg);
275
+ const parsed = await arg.parse(token.input, ctx, arg);
270
276
  argv.push(parsed);
271
277
  args[token.arg] = parsed;
272
278
  }
@@ -274,7 +280,7 @@ class Parser {
274
280
  let stdin = await readStdin();
275
281
  if (stdin) {
276
282
  stdin = stdin.trim();
277
- const parsed = await arg.parse(stdin, { ...this.context, token }, arg);
283
+ const parsed = await arg.parse(stdin, ctx, arg);
278
284
  argv.push(parsed);
279
285
  args[name] = parsed;
280
286
  }
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@oclif/core",
3
3
  "description": "base library for oclif CLIs",
4
- "version": "2.1.3",
4
+ "version": "2.1.5",
5
5
  "author": "Salesforce",
6
6
  "bugs": "https://github.com/oclif/core/issues",
7
7
  "dependencies": {