@oclif/core 3.0.9 → 3.2.0
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.
- package/lib/command.d.ts +3 -0
- package/lib/command.js +2 -0
- package/lib/config/cache.d.ts +14 -0
- package/lib/config/cache.js +18 -0
- package/lib/config/config.d.ts +1 -1
- package/lib/config/config.js +24 -13
- package/lib/config/plugin.js +4 -1
- package/lib/config/ts-node.js +29 -15
- package/lib/flags.js +1 -2
- package/lib/help/index.js +3 -1
- package/lib/interfaces/help.d.ts +4 -0
- package/lib/interfaces/ts-config.d.ts +1 -0
- package/lib/main.js +1 -1
- package/lib/module-loader.js +1 -1
- package/lib/util/cache-command.js +8 -4
- package/package.json +5 -5
package/lib/command.d.ts
CHANGED
|
@@ -49,6 +49,8 @@ export declare abstract class Command {
|
|
|
49
49
|
static help: string | undefined;
|
|
50
50
|
/** Hide the command from help */
|
|
51
51
|
static hidden: boolean;
|
|
52
|
+
/** An array of aliases for this command that are hidden from help. */
|
|
53
|
+
static hiddenAliases: string[];
|
|
52
54
|
/** A command ID, used mostly in error or verbose reporting. */
|
|
53
55
|
static id: string;
|
|
54
56
|
static plugin: Plugin | undefined;
|
|
@@ -155,6 +157,7 @@ export declare namespace Command {
|
|
|
155
157
|
};
|
|
156
158
|
hasDynamicHelp?: boolean;
|
|
157
159
|
hidden: boolean;
|
|
160
|
+
hiddenAliases: string[];
|
|
158
161
|
id: string;
|
|
159
162
|
isESM?: boolean;
|
|
160
163
|
permutations?: string[];
|
package/lib/command.js
CHANGED
|
@@ -94,6 +94,8 @@ class Command {
|
|
|
94
94
|
static help;
|
|
95
95
|
/** Hide the command from help */
|
|
96
96
|
static hidden;
|
|
97
|
+
/** An array of aliases for this command that are hidden from help. */
|
|
98
|
+
static hiddenAliases = [];
|
|
97
99
|
/** A command ID, used mostly in error or verbose reporting. */
|
|
98
100
|
static id;
|
|
99
101
|
static plugin;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Plugin } from '../interfaces';
|
|
2
|
+
type CacheContents = {
|
|
3
|
+
rootPlugin: Plugin;
|
|
4
|
+
};
|
|
5
|
+
type ValueOf<T> = T[keyof T];
|
|
6
|
+
/**
|
|
7
|
+
* A simple cache for storing values that need to be accessed globally.
|
|
8
|
+
*/
|
|
9
|
+
export default class Cache extends Map<keyof CacheContents, ValueOf<CacheContents>> {
|
|
10
|
+
static instance: Cache;
|
|
11
|
+
static getInstance(): Cache;
|
|
12
|
+
get(key: 'rootPlugin'): Plugin | undefined;
|
|
13
|
+
}
|
|
14
|
+
export {};
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
/**
|
|
4
|
+
* A simple cache for storing values that need to be accessed globally.
|
|
5
|
+
*/
|
|
6
|
+
class Cache extends Map {
|
|
7
|
+
static instance;
|
|
8
|
+
static getInstance() {
|
|
9
|
+
if (!Cache.instance) {
|
|
10
|
+
Cache.instance = new Cache();
|
|
11
|
+
}
|
|
12
|
+
return Cache.instance;
|
|
13
|
+
}
|
|
14
|
+
get(key) {
|
|
15
|
+
return super.get(key);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.default = Cache;
|
package/lib/config/config.d.ts
CHANGED
|
@@ -35,10 +35,10 @@ export declare class Config implements IConfig {
|
|
|
35
35
|
private _base;
|
|
36
36
|
private _commandIDs;
|
|
37
37
|
private _commands;
|
|
38
|
-
private static _rootPlugin;
|
|
39
38
|
private _topics;
|
|
40
39
|
private commandPermutations;
|
|
41
40
|
private pluginLoader;
|
|
41
|
+
private rootPlugin;
|
|
42
42
|
private topicPermutations;
|
|
43
43
|
constructor(options: Options);
|
|
44
44
|
static load(opts?: LoadOptions): Promise<Config>;
|
package/lib/config/config.js
CHANGED
|
@@ -42,6 +42,7 @@ const settings_1 = require("../settings");
|
|
|
42
42
|
const fs_1 = require("../util/fs");
|
|
43
43
|
const os_1 = require("../util/os");
|
|
44
44
|
const util_2 = require("../util/util");
|
|
45
|
+
const cache_1 = __importDefault(require("./cache"));
|
|
45
46
|
const plugin_loader_1 = __importDefault(require("./plugin-loader"));
|
|
46
47
|
const util_3 = require("./util");
|
|
47
48
|
// eslint-disable-next-line new-cap
|
|
@@ -114,10 +115,10 @@ class Config {
|
|
|
114
115
|
_base = BASE;
|
|
115
116
|
_commandIDs;
|
|
116
117
|
_commands = new Map();
|
|
117
|
-
static _rootPlugin;
|
|
118
118
|
_topics = new Map();
|
|
119
119
|
commandPermutations = new Permutations();
|
|
120
120
|
pluginLoader;
|
|
121
|
+
rootPlugin;
|
|
121
122
|
topicPermutations = new Permutations();
|
|
122
123
|
constructor(options) {
|
|
123
124
|
this.options = options;
|
|
@@ -153,7 +154,7 @@ class Config {
|
|
|
153
154
|
return config;
|
|
154
155
|
}
|
|
155
156
|
static get rootPlugin() {
|
|
156
|
-
return
|
|
157
|
+
return this.rootPlugin;
|
|
157
158
|
}
|
|
158
159
|
get commandIDs() {
|
|
159
160
|
if (this._commandIDs)
|
|
@@ -259,16 +260,19 @@ class Config {
|
|
|
259
260
|
(settings_1.settings.performanceEnabled === undefined ? this.options.enablePerf : settings_1.settings.performanceEnabled) ?? false;
|
|
260
261
|
const marker = performance_1.Performance.mark(performance_1.OCLIF_MARKER_OWNER, 'config.load');
|
|
261
262
|
this.pluginLoader = new plugin_loader_1.default({ plugins: this.options.plugins, root: this.options.root });
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
this.root =
|
|
267
|
-
this.pjson =
|
|
263
|
+
this.rootPlugin = await this.pluginLoader.loadRoot();
|
|
264
|
+
// Cache the root plugin so that we can reference it later when determining if
|
|
265
|
+
// we should skip ts-node registration for an ESM plugin.
|
|
266
|
+
cache_1.default.getInstance().set('rootPlugin', this.rootPlugin);
|
|
267
|
+
this.root = this.rootPlugin.root;
|
|
268
|
+
this.pjson = this.rootPlugin.pjson;
|
|
269
|
+
this.plugins.set(this.rootPlugin.name, this.rootPlugin);
|
|
270
|
+
this.root = this.rootPlugin.root;
|
|
271
|
+
this.pjson = this.rootPlugin.pjson;
|
|
268
272
|
this.name = this.pjson.name;
|
|
269
273
|
this.version = this.options.version || this.pjson.version || '0.0.0';
|
|
270
274
|
this.channel = this.options.channel || channelFromVersion(this.version);
|
|
271
|
-
this.valid =
|
|
275
|
+
this.valid = this.rootPlugin.valid;
|
|
272
276
|
this.arch = (0, node_os_1.arch)() === 'ia32' ? 'x86' : (0, node_os_1.arch)();
|
|
273
277
|
this.platform = is_wsl_1.default ? 'wsl' : (0, os_1.getPlatform)();
|
|
274
278
|
this.windows = this.platform === 'win32';
|
|
@@ -332,7 +336,7 @@ class Config {
|
|
|
332
336
|
dataDir: this.dataDir,
|
|
333
337
|
devPlugins: this.options.devPlugins,
|
|
334
338
|
force: opts?.force ?? false,
|
|
335
|
-
rootPlugin:
|
|
339
|
+
rootPlugin: this.rootPlugin,
|
|
336
340
|
userPlugins: this.options.userPlugins,
|
|
337
341
|
});
|
|
338
342
|
this.plugins = plugins;
|
|
@@ -704,14 +708,13 @@ class Config {
|
|
|
704
708
|
for (const permutation of permutations) {
|
|
705
709
|
this.commandPermutations.add(permutation, command.id);
|
|
706
710
|
}
|
|
707
|
-
|
|
708
|
-
for (const alias of command.aliases ?? []) {
|
|
711
|
+
const handleAlias = (alias, hidden = false) => {
|
|
709
712
|
if (this._commands.has(alias)) {
|
|
710
713
|
const prioritizedCommand = this.determinePriority([this._commands.get(alias), command]);
|
|
711
714
|
this._commands.set(alias, { ...prioritizedCommand, id: alias });
|
|
712
715
|
}
|
|
713
716
|
else {
|
|
714
|
-
this._commands.set(alias, { ...command, id: alias });
|
|
717
|
+
this._commands.set(alias, { ...command, hidden, id: alias });
|
|
715
718
|
}
|
|
716
719
|
// set every permutation of the aliases
|
|
717
720
|
// v3 moved command alias permutations to the manifest, but some plugins may not have
|
|
@@ -723,6 +726,14 @@ class Config {
|
|
|
723
726
|
for (const permutation of aliasPermutations) {
|
|
724
727
|
this.commandPermutations.add(permutation, command.id);
|
|
725
728
|
}
|
|
729
|
+
};
|
|
730
|
+
// set command aliases
|
|
731
|
+
for (const alias of command.aliases ?? []) {
|
|
732
|
+
handleAlias(alias);
|
|
733
|
+
}
|
|
734
|
+
// set hidden command aliases
|
|
735
|
+
for (const alias of command.hiddenAliases ?? []) {
|
|
736
|
+
handleAlias(alias, true);
|
|
726
737
|
}
|
|
727
738
|
}
|
|
728
739
|
marker?.addDetails({ commandCount: plugin.commands.length });
|
package/lib/config/plugin.js
CHANGED
|
@@ -140,7 +140,10 @@ class Plugin {
|
|
|
140
140
|
return [];
|
|
141
141
|
const marker = performance_1.Performance.mark(performance_1.OCLIF_MARKER_OWNER, `plugin.commandIDs#${this.name}`, { plugin: this.name });
|
|
142
142
|
this._debug(`loading IDs from ${this.commandsDir}`);
|
|
143
|
-
const patterns = [
|
|
143
|
+
const patterns = [
|
|
144
|
+
'**/*.+(js|cjs|mjs|ts|tsx|mts|cts)',
|
|
145
|
+
'!**/*.+(d.ts|test.ts|test.js|spec.ts|spec.js|d.mts|d.cts)?(x)',
|
|
146
|
+
];
|
|
144
147
|
const ids = (0, globby_1.sync)(patterns, { cwd: this.commandsDir }).map((file) => {
|
|
145
148
|
const p = (0, node_path_1.parse)(file);
|
|
146
149
|
const topics = p.dir.split('/');
|
package/lib/config/ts-node.js
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.tsPath = exports.TS_CONFIGS = void 0;
|
|
4
7
|
const node_fs_1 = require("node:fs");
|
|
@@ -7,16 +10,12 @@ const errors_1 = require("../errors");
|
|
|
7
10
|
const settings_1 = require("../settings");
|
|
8
11
|
const fs_1 = require("../util/fs");
|
|
9
12
|
const util_1 = require("../util/util");
|
|
13
|
+
const cache_1 = __importDefault(require("./cache"));
|
|
10
14
|
const util_2 = require("./util");
|
|
11
15
|
// eslint-disable-next-line new-cap
|
|
12
16
|
const debug = (0, util_2.Debug)('ts-node');
|
|
13
17
|
exports.TS_CONFIGS = {};
|
|
14
18
|
const REGISTERED = new Set();
|
|
15
|
-
/**
|
|
16
|
-
* Cache the root plugin so that we can reference it later when determining if
|
|
17
|
-
* we should skip ts-node registration for an ESM plugin.
|
|
18
|
-
*/
|
|
19
|
-
let ROOT_PLUGIN;
|
|
20
19
|
function loadTSConfig(root) {
|
|
21
20
|
if (exports.TS_CONFIGS[root])
|
|
22
21
|
return exports.TS_CONFIGS[root];
|
|
@@ -101,6 +100,7 @@ function registerTSNode(root) {
|
|
|
101
100
|
};
|
|
102
101
|
tsNode.register(conf);
|
|
103
102
|
REGISTERED.add(root);
|
|
103
|
+
debug('%O', tsconfig);
|
|
104
104
|
return tsconfig;
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
@@ -115,8 +115,8 @@ function registerTSNode(root) {
|
|
|
115
115
|
* We still register ts-node for ESM plugins when NODE_ENV is "test" or "development" and root plugin is also ESM
|
|
116
116
|
* since that allows plugins to be auto-transpiled when developing locally using `bin/dev.js`.
|
|
117
117
|
*/
|
|
118
|
-
function cannotTranspileEsm(
|
|
119
|
-
return (isProduction ||
|
|
118
|
+
function cannotTranspileEsm(rootPlugin, plugin, isProduction) {
|
|
119
|
+
return (isProduction || rootPlugin?.moduleType === 'commonjs') && plugin?.moduleType === 'module';
|
|
120
120
|
}
|
|
121
121
|
/**
|
|
122
122
|
* If the dev script is run with ts-node for an ESM plugin, skip ts-node registration
|
|
@@ -141,10 +141,17 @@ function determinePath(root, orig) {
|
|
|
141
141
|
const tsconfig = registerTSNode(root);
|
|
142
142
|
if (!tsconfig)
|
|
143
143
|
return orig;
|
|
144
|
-
|
|
145
|
-
const
|
|
146
|
-
|
|
144
|
+
debug(`determining path for ${orig}`);
|
|
145
|
+
const { baseUrl, outDir, rootDir, rootDirs } = tsconfig.compilerOptions;
|
|
146
|
+
const rootDirPath = rootDir ?? (rootDirs ?? [])[0] ?? baseUrl;
|
|
147
|
+
if (!rootDirPath) {
|
|
148
|
+
debug(`no rootDir, rootDirs, or baseUrl specified in tsconfig.json. Returning default path ${orig}`);
|
|
149
|
+
return orig;
|
|
150
|
+
}
|
|
151
|
+
if (!outDir) {
|
|
152
|
+
debug(`no outDir specified in tsconfig.json. Returning default path ${orig}`);
|
|
147
153
|
return orig;
|
|
154
|
+
}
|
|
148
155
|
// rewrite path from ./lib/foo to ./src/foo
|
|
149
156
|
const lib = (0, node_path_1.join)(root, outDir); // ./lib
|
|
150
157
|
const src = (0, node_path_1.join)(root, rootDirPath); // ./src
|
|
@@ -156,13 +163,20 @@ function determinePath(root, orig) {
|
|
|
156
163
|
// For hooks, it might point to a module, not a file. Something like "./hooks/myhook"
|
|
157
164
|
// That file doesn't exist, and the real file is "./hooks/myhook.ts"
|
|
158
165
|
// In that case we attempt to resolve to the filename. If it fails it will revert back to the lib path
|
|
159
|
-
|
|
166
|
+
debug(`lib dir: ${lib}`);
|
|
167
|
+
debug(`src dir: ${src}`);
|
|
168
|
+
debug(`src commands dir: ${out}`);
|
|
169
|
+
if ((0, node_fs_1.existsSync)(out) || (0, node_fs_1.existsSync)(out + '.ts')) {
|
|
170
|
+
debug(`Found source file for ${orig} at ${out}`);
|
|
160
171
|
return out;
|
|
172
|
+
}
|
|
173
|
+
debug(`No source file found. Returning default path ${orig}`);
|
|
174
|
+
if (!(0, util_1.isProd)())
|
|
175
|
+
(0, errors_1.memoizedWarn)(`Could not find source for ${orig} based on tsconfig. Defaulting to compiled source.`);
|
|
161
176
|
return orig;
|
|
162
177
|
}
|
|
163
178
|
function tsPath(root, orig, plugin) {
|
|
164
|
-
|
|
165
|
-
ROOT_PLUGIN = plugin;
|
|
179
|
+
const rootPlugin = cache_1.default.getInstance().get('rootPlugin');
|
|
166
180
|
if (!orig)
|
|
167
181
|
return orig;
|
|
168
182
|
orig = orig.startsWith(root) ? orig : (0, node_path_1.join)(root, orig);
|
|
@@ -172,8 +186,8 @@ function tsPath(root, orig, plugin) {
|
|
|
172
186
|
return orig;
|
|
173
187
|
}
|
|
174
188
|
const isProduction = (0, util_1.isProd)();
|
|
175
|
-
if (cannotTranspileEsm(
|
|
176
|
-
debug(`Skipping ts-node registration for ${root} because it's an ESM module (NODE_ENV: ${process.env.NODE_ENV}, root plugin module type: ${
|
|
189
|
+
if (cannotTranspileEsm(rootPlugin, plugin, isProduction)) {
|
|
190
|
+
debug(`Skipping ts-node registration for ${root} because it's an ESM module (NODE_ENV: ${process.env.NODE_ENV}, root plugin module type: ${rootPlugin?.moduleType})))`);
|
|
177
191
|
if (plugin?.type === 'link')
|
|
178
192
|
(0, errors_1.memoizedWarn)(`${plugin?.name} is a linked ESM module and cannot be auto-transpiled. Existing compiled source will be used instead.`);
|
|
179
193
|
return orig;
|
package/lib/flags.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.option = exports.help = exports.version = exports.string = exports.url = exports.file = exports.directory = exports.integer = exports.boolean = exports.custom = void 0;
|
|
4
|
-
/* eslint-disable valid-jsdoc */
|
|
5
4
|
const node_url_1 = require("node:url");
|
|
6
5
|
const errors_1 = require("./errors");
|
|
7
6
|
const help_1 = require("./help");
|
|
@@ -98,7 +97,7 @@ const help = (opts = {}) => boolean({
|
|
|
98
97
|
...opts,
|
|
99
98
|
async parse(_, cmd) {
|
|
100
99
|
const Help = await (0, help_1.loadHelpClass)(cmd.config);
|
|
101
|
-
await new Help(cmd.config, cmd.config.pjson.helpOptions).showHelp(cmd.id ? [cmd.id, ...cmd.argv] : cmd.argv);
|
|
100
|
+
await new Help(cmd.config, cmd.config.pjson.oclif.helpOptions ?? cmd.config.pjson.helpOptions).showHelp(cmd.id ? [cmd.id, ...cmd.argv] : cmd.argv);
|
|
102
101
|
cmd.exit(0);
|
|
103
102
|
},
|
|
104
103
|
});
|
package/lib/help/index.js
CHANGED
|
@@ -82,7 +82,9 @@ class Help extends HelpBase {
|
|
|
82
82
|
formatCommands(commands) {
|
|
83
83
|
if (commands.length === 0)
|
|
84
84
|
return '';
|
|
85
|
-
const body = this.renderList(commands
|
|
85
|
+
const body = this.renderList(commands
|
|
86
|
+
.filter((c) => (this.opts.hideAliasesFromRoot ? !c.aliases?.includes(c.id) : true))
|
|
87
|
+
.map((c) => {
|
|
86
88
|
if (this.config.topicSeparator !== ':')
|
|
87
89
|
c.id = c.id.replaceAll(':', this.config.topicSeparator);
|
|
88
90
|
return [c.id, this.summary(c)];
|
package/lib/interfaces/help.d.ts
CHANGED
|
@@ -4,6 +4,10 @@ export interface HelpOptions {
|
|
|
4
4
|
* Use docopts as the usage. Defaults to true.
|
|
5
5
|
*/
|
|
6
6
|
docopts?: boolean;
|
|
7
|
+
/**
|
|
8
|
+
* If true, hide command aliases from the root help output. Defaults to false.
|
|
9
|
+
*/
|
|
10
|
+
hideAliasesFromRoot?: boolean;
|
|
7
11
|
/**
|
|
8
12
|
* By default, the command summary is show at the top of the help and as the first line in
|
|
9
13
|
* the command description. Repeating the summary in the command description improves readability
|
package/lib/main.js
CHANGED
|
@@ -64,7 +64,7 @@ async function run(argv, options) {
|
|
|
64
64
|
// display help version if applicable
|
|
65
65
|
if ((0, exports.helpAddition)(argv, config)) {
|
|
66
66
|
const Help = await (0, help_1.loadHelpClass)(config);
|
|
67
|
-
const help = new Help(config, config.pjson.helpOptions);
|
|
67
|
+
const help = new Help(config, config.pjson.oclif.helpOptions ?? config.pjson.helpOptions);
|
|
68
68
|
await help.showHelp(argv);
|
|
69
69
|
await collectPerf();
|
|
70
70
|
return;
|
package/lib/module-loader.js
CHANGED
|
@@ -11,7 +11,7 @@ const getPackageType = require('get-package-type');
|
|
|
11
11
|
* Defines file extension resolution when source files do not have an extension.
|
|
12
12
|
*/
|
|
13
13
|
// eslint-disable-next-line camelcase
|
|
14
|
-
const s_EXTENSIONS = ['.ts', '.js', '.mjs', '.cjs'];
|
|
14
|
+
const s_EXTENSIONS = ['.ts', '.js', '.mjs', '.cjs', '.mts', '.cts'];
|
|
15
15
|
const isPlugin = (config) => config.type !== undefined;
|
|
16
16
|
/**
|
|
17
17
|
* Loads and returns a module.
|
|
@@ -72,18 +72,22 @@ async function cacheCommand(uncachedCmd, plugin, respectNoCacheDefault = false)
|
|
|
72
72
|
const uncachedFlags = cmd.flags ?? cmd._flags;
|
|
73
73
|
// @ts-expect-error because v2 commands have base flags stored in _baseFlags
|
|
74
74
|
const uncachedBaseFlags = cmd.baseFlags ?? cmd._baseFlags;
|
|
75
|
-
const flags = await
|
|
76
|
-
|
|
75
|
+
const [flags, args] = await Promise.all([
|
|
76
|
+
await cacheFlags((0, aggregate_flags_1.aggregateFlags)(uncachedFlags, uncachedBaseFlags, cmd.enableJsonFlag), respectNoCacheDefault),
|
|
77
|
+
await cacheArgs((0, ensure_arg_object_1.ensureArgObject)(cmd.args), respectNoCacheDefault),
|
|
78
|
+
]);
|
|
77
79
|
const stdProperties = {
|
|
78
|
-
aliases: cmd.aliases
|
|
80
|
+
aliases: cmd.aliases ?? [],
|
|
79
81
|
args,
|
|
80
82
|
deprecateAliases: cmd.deprecateAliases,
|
|
81
83
|
deprecationOptions: cmd.deprecationOptions,
|
|
82
84
|
description: cmd.description,
|
|
83
|
-
|
|
85
|
+
// Support both `examples` and `example` for backwards compatibility.
|
|
86
|
+
examples: cmd.examples ?? cmd.example,
|
|
84
87
|
flags,
|
|
85
88
|
hasDynamicHelp: Object.values(flags).some((f) => f.hasDynamicHelp),
|
|
86
89
|
hidden: cmd.hidden,
|
|
90
|
+
hiddenAliases: cmd.hiddenAliases ?? [],
|
|
87
91
|
id: cmd.id,
|
|
88
92
|
pluginAlias: plugin && plugin.alias,
|
|
89
93
|
pluginName: plugin && plugin.name,
|
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": "3.0
|
|
4
|
+
"version": "3.2.0",
|
|
5
5
|
"author": "Salesforce",
|
|
6
6
|
"bugs": "https://github.com/oclif/core/issues",
|
|
7
7
|
"dependencies": {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
"clean-stack": "^3.0.1",
|
|
13
13
|
"cli-progress": "^3.12.0",
|
|
14
14
|
"debug": "^4.3.4",
|
|
15
|
-
"ejs": "^3.1.
|
|
15
|
+
"ejs": "^3.1.9",
|
|
16
16
|
"get-package-type": "^0.1.0",
|
|
17
17
|
"globby": "^11.1.0",
|
|
18
18
|
"hyperlinker": "^1.0.0",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"@oclif/test": "^3.0.1",
|
|
40
40
|
"@types/ansi-styles": "^3.2.1",
|
|
41
41
|
"@types/benchmark": "^2.1.2",
|
|
42
|
-
"@types/chai": "^4.3.
|
|
42
|
+
"@types/chai": "^4.3.8",
|
|
43
43
|
"@types/chai-as-promised": "^7.1.5",
|
|
44
44
|
"@types/clean-stack": "^2.1.1",
|
|
45
45
|
"@types/cli-progress": "^3.11.0",
|
|
46
|
-
"@types/ejs": "^3.1.
|
|
46
|
+
"@types/ejs": "^3.1.3",
|
|
47
47
|
"@types/indent-string": "^4.0.1",
|
|
48
48
|
"@types/js-yaml": "^3.12.7",
|
|
49
49
|
"@types/mocha": "^10.0.2",
|
|
@@ -55,7 +55,7 @@
|
|
|
55
55
|
"@types/wordwrap": "^1.0.1",
|
|
56
56
|
"@types/wrap-ansi": "^3.0.0",
|
|
57
57
|
"benchmark": "^2.1.4",
|
|
58
|
-
"chai": "^4.3.
|
|
58
|
+
"chai": "^4.3.10",
|
|
59
59
|
"chai-as-promised": "^7.1.1",
|
|
60
60
|
"commitlint": "^17.7.2",
|
|
61
61
|
"cross-env": "^7.0.3",
|