包详细信息

@oclif/core

oclif12.4mMIT4.3.0

base library for oclif CLIs

oclif, cli, command, command line

自述文件

oclif: Node.JS Open CLI Framework

Version Downloads/week License

🗒 Description

This is a framework for building CLIs in Node.js. This framework was built out of the Salesforce CLI but generalized to build any custom CLI. It's designed both for single-file CLIs with a few flag options (like cat or ls), or for very complex CLIs that have subcommands (like git or heroku).

See the docs for more information.

🚀 Getting Started Tutorial

The Getting Started tutorial is a step-by-step guide to introduce you to oclif. If you have not developed anything in a command line before, this tutorial is a great place to get started.

✨ Features

  • Flag/Argument parsing - No CLI framework would be complete without a flag parser. We've built a custom one from years of experimentation that we feel consistently handles user input flexible enough for the user to be able to use the CLI in ways they expect, but without compromising strictness guarantees to the developer.
  • Super Speed - The overhead for running an oclif CLI command is almost nothing. It requires very few dependencies (only 28 dependencies in a minimal setup—including all transitive dependencies). Also, only the command to be executed will be required with node. So large CLIs with many commands will load equally as fast as a small one with a single command.
  • CLI Generator - Run a single command to scaffold out a fully functional CLI and get started quickly. See Getting Started Tutorial>).
  • Testing Helpers - We've put a lot of work into making commands easier to test and mock out stdout/stderr. The generator will automatically create scaffolded tests.
  • Auto-documentation - By default you can pass --help to the CLI to get help such as flag options and argument information. This information is also automatically placed in the README whenever the npm package of the CLI is published. See the hello-world CLI example
  • Plugins - Using plugins, users of the CLI can extend it with new functionality, a CLI can be split into modular components, and functionality can be shared amongst multiple CLIs. See Building your own plugin.
  • Hooks - Use lifecycle hooks to run functionality any time a CLI starts, or on custom triggers. Use this whenever custom functionality needs to be shared between various components of the CLI.
  • TypeScript - Everything in the core of oclif is written in TypeScript and the generator will build fully configured TypeScript CLIs. If you use plugins support, the CLI will automatically use ts-node to run the plugins enabling you to use TypeScript with minimal-to-no boilerplate needed for any oclif CLI.
  • Auto-updating Installers - oclif can package your CLI into different installers that will not require the user to already have node installed on the machine. These can be made auto-updatable by using plugin-update.
  • Everything is Customizable - Pretty much anything can be swapped out and replaced inside oclif if needed—including the arg/flag parser.
  • Autocomplete - Automatically include autocomplete for your CLI. This includes not only command names and flag names, but flag values as well. For example, it's possible to configure the Heroku CLI to have completions for Heroku app names:
$ heroku info --app=<tab><tab> # will complete with all the Heroku apps a user has in their account

📌 Requirements

Currently, Node 18+ is supported. We support the LTS versions of Node. You can add the node package to your CLI to ensure users are running a specific version of Node.

📌 Migrating

See the v3 migration guide for an overview of breaking changes that occurred between v2 and v3.

See the v2 migration guide for an overview of breaking changes that occurred between v1 and v2.

Migrating from @oclif/config and @oclif/command? See the v1 migration guide.

📌 Documentation

The official oclif website, oclif.io, contains all the documentation you need for developing a CLI with oclif.

If there's anything you'd like to see in the documentation, please submit an issue on the oclif.github.io repo.

🚀 Standalone Usage

We strongly encourage you generate an oclif CLI using the oclif cli. The generator will generate an npm package with @oclif/core as a dependency.

You can, however, use @oclif/core in a standalone script like this:

#!/usr/bin/env -S node --loader ts-node/esm --no-warnings=ExperimentalWarning

import * as fs from 'fs'
import {Command, Flags, flush, handle} from '@oclif/core'

class LS extends Command {
  static description = 'List the files in a directory.'
  static flags = {
    version: Flags.version(),
    help: Flags.help(),
    dir: Flags.string({
      char: 'd',
      default: process.cwd(),
    }),
  }

  async run() {
    const {flags} = await this.parse(LS)
    const files = fs.readdirSync(flags.dir)
    for (const f of files) {
      this.log(f)
    }
  }
}

LS.run().then(
  async () => {
    await flush()
  },
  async (err) => {
    await handle(err)
  },
)

Then run it like this:

$ ts-node myscript.ts
...files in current dir...

You can also use oclif's Parser separately:

// index.js
import {Args, Flags, Parser} from '@oclif/core'

const {args, flags} = await Parser.parse(process.argv.slice(2), {
  args: {
    name: Args.string({required: true}),
  },
  flags: {
    from: Flags.string({char: 'f', default: 'oclif'}),
  },
})

console.log(`hello ${args.name} from ${flags.form}`)
$ node index.js world --from oclif

hello world from oclif

🚀 Contributing

See the contributing guide.

更新日志

4.3.0 (2025-04-28)

Features

4.2.10 (2025-03-12)

Bug Fixes

4.2.9 (2025-03-08)

Bug Fixes

  • deps: bump ansis from 3.16.0 to 3.17.0 (83b4db2)

4.2.8 (2025-02-22)

Bug Fixes

  • deps: bump ansis from 3.14.0 to 3.16.0 (beabb00)

4.2.7 (2025-02-17)

Bug Fixes

4.2.6 (2025-02-02)

Bug Fixes

  • deps: bump ansis from 3.9.0 to 3.10.0 (0c3b168)

4.2.5 (2025-01-28)

Bug Fixes

4.2.4 (2025-01-21)

Bug Fixes

4.2.3 (2025-01-14)

Bug Fixes

4.2.2 (2025-01-07)

Bug Fixes

  • deps: bump ansis from 3.5.2 to 3.6.0 (15feb6e)

4.2.1 (2025-01-06)

Bug Fixes

4.2.0 (2024-12-20)

Features

4.1.1 (2024-12-19)

Bug Fixes

4.1.0 (2024-12-17)

Features

  • add atLeastOne flag property (d4746f3)

4.0.37 (2024-12-13)

Bug Fixes

  • deps: bump nanoid from 3.3.6 to 3.3.8 (e9cbfdb)

4.0.36 (2024-12-08)

Bug Fixes

  • deps: bump lilconfig from 3.1.2 to 3.1.3 (7bdf5f3)

4.0.35 (2024-12-08)

Bug Fixes

  • deps: bump debug from 4.3.7 to 4.4.0 (e8aaaea)

4.0.34 (2024-12-02)

Bug Fixes

4.0.33 (2024-11-19)

Bug Fixes

  • deps: bump cross-spawn from 7.0.3 to 7.0.6 (dfd138e)

4.0.32 (2024-11-12)

Bug Fixes

  • add env var to disable link warning (df48c93)

4.0.31 (2024-10-28)

Reverts

4.0.30 (2024-10-22)

Bug Fixes

  • fix aliases in config.commandIDs missing the default topic separator (#1229) (#1230) (f86d9f7)

4.0.29 (2024-10-15)

Bug Fixes

  • improve solution for handling circular json (#1222) (9073052)

4.0.28 (2024-10-11)

Bug Fixes

  • remove circular references when colorizing json (de9ed4e)

4.0.27 (2024-10-03)

Bug Fixes

  • add respectNoCacheDefault to help options (7320fff)

4.0.26 (2024-10-02)

Bug Fixes

4.0.25 (2024-10-01)

Bug Fixes

4.0.24 (2024-10-01)

Bug Fixes

  • use topic separator for deprecated alias warnings in help (#1209) (fb6ace2)

4.0.23 (2024-09-23)

Bug Fixes

4.0.22 (2024-09-13)

Bug Fixes

  • deps: bump path-to-regexp from 6.2.1 to 6.3.0 (d051b64)

4.0.21 (2024-09-07)

Bug Fixes

  • deps: bump debug from 4.3.6 to 4.3.7 (839ab85)

4.0.20 (2024-09-04)

Bug Fixes

  • handle large throughput writes (5e336ce)

4.0.19 (2024-08-24)

Bug Fixes

  • deps: bump micromatch from 4.0.7 to 4.0.8 (eb2aa14)

4.0.18 (2024-08-21)

Bug Fixes

  • ts-path: use file url to import tsx at runtime (#1171) (be3f6e9)

4.0.17 (2024-07-28)

Bug Fixes

  • deps: bump ansis from 3.3.1 to 3.3.2 (081e8bc)

4.0.16 (2024-07-27)

Bug Fixes

  • deps: bump requirejs from 2.3.6 to 2.3.7 (216d8e7)

4.0.15 (2024-07-26)

Bug Fixes

4.0.14 (2024-07-23)

Bug Fixes

4.0.13 (2024-07-21)

Bug Fixes

  • deps: bump ansis from 3.2.1 to 3.3.1 (a0eba0a)

4.0.12 (2024-07-13)

Bug Fixes

  • deps: bump ansis from 3.2.0 to 3.2.1 (0d84684)

4.0.11 (2024-07-10)

Bug Fixes

4.0.10 (2024-07-10)

Bug Fixes

  • use colorize to ensure proper TTY detection (8a5d71f)

4.0.9 (2024-07-09)

Bug Fixes

  • correctly identify powershell on windows (#1134) (bcec7df)

4.0.8 (2024-07-01)

Bug Fixes

  • deps: bump minimatch from 9.0.4 to 9.0.5 (#1126) (ab337cf)

4.0.7 (2024-06-25)

Bug Fixes

4.0.6 (2024-06-12)

Bug Fixes

  • single command cli symbol on help output (#1112) (5de6a40)

4.0.5 (2024-06-12)

Bug Fixes

  • deps: bump braces from 3.0.2 to 3.0.3 (d20f082)

4.0.4 (2024-06-11)

Bug Fixes

4.0.3 (2024-06-06)

Bug Fixes

4.0.2 (2024-06-05)

Bug Fixes

4.0.1 (2024-06-04)

Bug Fixes

4.0.0 (2024-06-04)

3.27.0 (2024-06-04)

Features

  • added option to specify example flag value in docopts (#1095) (0345ac3), closes #1091

3.26.9 (2024-06-03)

Bug Fixes

  • only replace command id in usage if it's at beginning of string (#1090) (3916945)

3.26.8 (2024-06-03)

Bug Fixes

3.26.7 (2024-06-03)

Bug Fixes

3.26.6 (2024-05-06)

Bug Fixes

  • new "dont check npm" option for plugin-update (#1071) (9ccc797)

3.26.5 (2024-04-30)

Bug Fixes

3.26.4 (2024-04-18)

Bug Fixes

3.26.3 (2024-04-13)

Bug Fixes

  • deps: bump ejs from 3.1.9 to 3.1.10 (72dd869)

3.26.2 (2024-04-08)

Bug Fixes

  • do not throw an error if a flag with allowStdin='only' is immediately followed by another flag (#1046) (#1047) (f05b0c8)

3.26.1 (2024-04-08)

Bug Fixes

  • deps: bump minimatch from 9.0.3 to 9.0.4 (#1041) (87cd0e6)

3.26.0 (2024-03-22)

Features

3.25.3 (2024-03-19)

Bug Fixes

  • show options when required flag or arg is not given a value (#1017) (003ad6f)

3.25.2 (2024-03-15)

Bug Fixes

3.25.1 (2024-03-14)

Bug Fixes

  • ensure string is passed to process.emitWarning (#1015) (47081db)

3.25.0 (2024-03-12)

Features

3.24.0 (2024-03-11)

Bug Fixes

Features

  • print ellipsis on arg if static is false (7a71524)

3.23.1 (2024-03-11)

Bug Fixes

  • remove configured id from usage override (#1012) (a8efedd)

3.23.0 (2024-03-05)

Features

3.22.0 (2024-03-05)

Features

  • support plugins with wildcards (966db94)

3.21.2 (2024-03-04)

Bug Fixes

3.21.1 (2024-03-04)

Bug Fixes

  • allow arg to be empty string (629d482)

3.21.0 (2024-03-04)

Features

  • add strategies for command discovery (#945) (eaf5a86)

3.20.0 (2024-02-27)

Features

  • add enableAutoTranspile setting (ae66106)
  • support bun and tsx for development (17ad3e6)

3.19.7 (2024-02-26)

Bug Fixes

  • dont assume plugin-help is installed (35acf97)

3.19.6 (2024-02-23)

Bug Fixes

  • revert to original prompt implementation (a96e567)

3.19.5 (2024-02-22)

Bug Fixes

  • only set timeout for TTY (8a97f20)

3.19.4 (2024-02-21)

Bug Fixes

  • deps: bump ip from 2.0.0 to 2.0.1 (c2dcb43)

3.19.3 (2024-02-19)

Bug Fixes

3.19.2 (2024-02-14)

Bug Fixes

  • allow long text in ux.prompt (7d521b2)

3.19.1 (2024-02-06)

Bug Fixes

  • parser: cache stdin value in global scope (#935) (c8bf886)

3.19.0 (2024-02-05)

Bug Fixes

  • dont indent when no shor char (03c597a)
  • merge default and user theme (3798f4c)
  • prefer user theme (5eaed66)
  • return undefined if no theme (3cb3373)

Features

  • allow theme file to be configurable (ab502b4)

3.18.2 (2024-01-31)

Bug Fixes

3.18.1 (2024-01-10)

Bug Fixes

  • make @types/cli-progress a dependency (#922) (6528850)

3.18.0 (2024-01-09)

Features

3.17.0 (2024-01-09)

Features

3.16.0 (2024-01-02)

Features

3.15.1 (2023-12-23)

Bug Fixes

  • deps: bump password-prompt from 1.1.2 to 1.1.3 (39f8860)

3.15.0 (2023-12-15)

Features

3.14.1 (2023-12-08)

Bug Fixes

  • peserve original error coming from failed flag parsing (#897) (a7a3bba)

3.14.0 (2023-12-07)

Features

3.13.2 (2023-12-04)

Bug Fixes

  • add exit codes to different flag validation errors (#861) (1c841bf)

3.13.1 (2023-11-30)

Bug Fixes

3.13.0 (2023-11-30)

Features

  • add 'multipleNonGreedy' flag option to assign only one value per multiple flag (#880) (#889) (354cead)

3.12.1 (2023-11-30)

Bug Fixes

3.12.0 (2023-11-20)

Features

3.11.0 (2023-11-13)

Features

3.10.8 (2023-11-08)

Bug Fixes

3.10.7 (2023-11-07)

Bug Fixes

  • handle undefined flags in help (bd5a38f)

3.10.6 (2023-11-06)

Bug Fixes

3.10.5 (2023-11-06)

Bug Fixes

  • extra parens in debug logs (81c9efc)

3.10.4 (2023-11-06)

Bug Fixes

  • deps: bump get-func-name from 2.0.0 to 2.0.2 (#796) (a6c5f3c)

3.10.3 (2023-11-06)

Bug Fixes

  • deps: bump postcss from 8.4.30 to 8.4.31 (#809) (fd938d3)

3.10.2 (2023-11-06)

Bug Fixes

  • dont drop ts-node options if there are no extends (#853) (039b42a)

3.10.1 (2023-11-03)

Bug Fixes

  • check for ENOENT code (44fb9dc)
  • handle non-existent tsconfig (0b15536)
  • support jsonc tsconfig (026f835)
  • use tsconfck to handle json-c (7f0c9f0)

3.10.0 (2023-11-02)

Features

3.9.2 (2023-10-30)

Bug Fixes

  • support hasDynamicHelp for v2 commands (#844) (1b1e053)

3.9.1 (2023-10-27)

Bug Fixes

  • restore exit(0) behavior (0c3fdd7)

3.9.0 (2023-10-26)

Features

3.8.0 (2023-10-25)

Features

3.7.1 (2023-10-24)

3.3.3-dev.0 (2023-10-18)

Bug Fixes

  • clear commands belogning to legacy plugins before reloading (6a53997)

3.7.0 (2023-10-24)

Features

3.6.0 (2023-10-23)

Bug Fixes

  • safely fail if pnpapi cannot be found (c2fc8d2)

3.5.0 (2023-10-19)

3.4.1-dev.0 (2023-10-19)

Features

3.5.0 (2023-10-19)

Bug Fixes

Features

  • don't error on exit code 0 (c62fb01)

3.4.0 (2023-10-19)

Bug Fixes

Features

  • export ux stubs (4b7cdda)
  • no longer use wrapped process.stdout and process.stderr (3ff5f63)

3.3.3 (2023-10-19)

Bug Fixes

  • allow github-installed plugins to be auto-transpiled (6f2c5e2)
  • handle ModuleLoadError from hooks (0321093)

3.3.3-dev.0 (2023-10-18)

Bug Fixes

  • clear commands belogning to legacy plugins before reloading (6a53997)

3.3.2 (2023-10-17)

Bug Fixes

  • deps: bump @babel/traverse from 7.23.0 to 7.23.2 (d53498a)

3.3.1 (2023-10-16)

Bug Fixes

  • add frequency and frequencyUnit to warn-if-update (#827) (3567c74)

3.3.0 (2023-10-16)

3.2.1 (2023-10-13)

Bug Fixes

  • add types for warn-if-update-available (#826) (5464dcf)

3.2.0 (2023-10-13)

Bug Fixes

  • add Cache class for caching root plugin (9452b19)
  • bump ejs and other deps (14a0e48)
  • ignore .d.mts and .d.cts (4ba853f)
  • support baseUrl for ts source (03b824b)

Features

  • support .mts and .cts file extensions (5f16e0b)

Performance Improvements

  • promise.all flag and arg caching (c592ce0)

3.1.0 (2023-10-13)

Features

  • add hiddenAliases property to Command (5bf0a2e)
  • add hideAliases help option (f1925a7)

3.0.9 (2023-10-12)

Bug Fixes

3.0.8 (2023-10-12)

Bug Fixes

  • deps: bump semver from 5.7.1 to 5.7.2 (#808) (cffa115)

3.0.7 (2023-10-12)

Bug Fixes

3.0.6 (2023-10-11)

Bug Fixes

3.0.5 (2023-10-11)

3.0.5-dev.0 (2023-10-10)

Bug Fixes

  • avoid fs.access for checking for file existence (c4277a9)

3.0.4 (2023-10-09)

Bug Fixes

3.0.3 (2023-10-05)

Bug Fixes

3.0.2 (2023-10-05)

Bug Fixes

  • dont run postrun hook for uinstalled plugins (#805) (0c47a5c)

3.0.1 (2023-10-05)

Bug Fixes

  • add macos to plugin PJSON interface (2919835)

3.0.0 (2023-10-04)

2.15.0 (2023-09-01)

Features

2.14.0 (2023-08-31)

Features

2.13.0 (2023-08-29)

Features

  • forwards compatibility for config reload (#773) (b751bbe)

2.12.0 (2023-08-28)

Features

  • reload Config before running command (#770) (efd1f54)

2.11.11 (2023-08-28)

Bug Fixes

2.11.10 (2023-08-23)

Bug Fixes

  • add getPluginsList to Config interface (cba7a75)

2.11.9 (2023-08-23)

Bug Fixes

2.11.8 (2023-08-08)

Bug Fixes

  • handle lack of bin (happens in UT when stubbing config) (#758) (11e4f73)

2.11.7 (2023-08-03)

Bug Fixes

  • allow CONTENT_TYPE env to work for all oclif cmds (71db0dc)

2.11.6 (2023-08-02)

Bug Fixes

  • add note to RequiredArgsError when there are flags with multiple=true (#754) (ed359a7)

2.11.5 (2023-07-31)

Bug Fixes

2.11.4 (2023-07-31)

Bug Fixes

  • add missing properties to Interfaces.PJSON (9b607f8)

2.11.3 (2023-07-31)

Bug Fixes

2.11.2 (2023-07-31)

Bug Fixes

2.11.1 (2023-07-28)

Bug Fixes

  • fall back to scopedEnvVarKey if scopedEnvVarKeys is not defined (#752) (cc63a56)

2.11.0 (2023-07-28)

Features

  • deprecate scopedEnvVarKey for scopedEnvVarKeys which accounts for binAliases (#751) (4787248)

2.10.1 (2023-07-28)

Bug Fixes

2.10.0 (2023-07-25)

Features

2.9.5 (2023-07-25)

Bug Fixes

2.9.4 (2023-07-18)

Bug Fixes

  • correctly print help when only command found and passed with help (#733) (3c3b597)

2.9.3 (2023-07-13)

2.9.2 (2023-07-13)

Bug Fixes

  • parser: don't throw if defaultHelp func throws (#732) (7003b40)

2.9.1 (2023-07-12)

Bug Fixes

  • flags omit undefined for boolean flags (0a7e154)

2.9.0 (2023-07-11)

Features

2.8.12 (2023-07-10)

Bug Fixes

  • properly truncate table cells that contain fullwidth characters or ANSI escape sequences (db51bf2)

2.8.11 (2023-07-01)

Bug Fixes

  • deps: bump semver and @types/semver (fe9f09f)

2.8.10 (2023-06-27)

2.8.9 (2023-06-27)

Bug Fixes

  • revert flag validation problem (11cbfd4)

2.8.8 (2023-06-26)

Bug Fixes

  • improve flag validation (ca9fe38)

2.8.7 (2023-06-15)

Bug Fixes

  • correctly load legacy plugins (ec221d3)

2.8.6 (2023-06-13)

Bug Fixes

  • don't override noTTYOutput (809b9c0)

2.8.5 (2023-05-03)

Bug Fixes

2.8.4 (2023-05-01)

Bug Fixes

  • expose nsisCustomization property on Config (f0210cc)

2.8.3 (2023-05-01)

Bug Fixes

2.8.2 (2023-04-12)

Bug Fixes

  • jsonEnabled not handling after pass-through (#687) (5c7e534)

2.8.1 (2023-04-11)

Bug Fixes

2.8.0 (2023-03-28)

Features

  • feat: add new param isWritingManifest to Plugin.load (#675) (c452981)

2.7.1 (2023-03-22)

Reverts

  • Revert "feat: add param noSensitiveData to Plugin.load (#665)" (#670) (bdcbc87), closes #665 #670

2.7.0 (2023-03-22)

Features

  • add param noSensitiveData to Plugin.load (#665) (b4a738e)

2.6.5 (2023-03-21)

Bug Fixes

  • add flag name and short char to deprecation message (#664) (79c41ca)

2.6.4 (2023-03-16)

Bug Fixes

  • pass plugin type when resolving a module path (#659) (d5f58a3)

2.6.3 (2023-03-13)

Bug Fixes

2.6.2 (2023-03-09)

Bug Fixes

  • add version details property to config interface (#652) (378095d)

2.6.1 (2023-03-09)

Bug Fixes

  • improve Performance class (b263fc3)

2.6.0 (2023-03-09)

Features

2.5.2 (2023-03-08)

2.5.1 (2023-03-07)

Bug Fixes

  • stop any unstopped markers when collecting perf results (#649) (f8ab63e)

2.5.0 (2023-03-06)

Features

2.4.0 (2023-02-28)

Features

  • add option to skip oclif error printing (#642) (ca88895)

2.3.2 (2023-02-28)

Bug Fixes

  • change useable ids to set to improve search perf (#640) (a0996a4)

2.3.1 (2023-02-25)

Bug Fixes

  • deps: bump cli-progress from 3.11.2 to 3.12.0 (f59977b)

2.3.0 (2023-02-21)

Features

2.2.1 (2023-02-20)

Bug Fixes

  • logToStderr actually logs to stderr (efe2c50)

2.2.0 (2023-02-20)

Features

2.1.7 (2023-02-18)

Bug Fixes

  • deps: bump ejs and @types/ejs (9192de0)

2.1.6 (2023-02-17)

Bug Fixes

2.1.5 (2023-02-16)

Bug Fixes

2.1.4 (2023-02-13)

Bug Fixes

  • pass command instance to parse context (#628) (5641de5)

2.1.3 (2023-02-13)

Bug Fixes

2.1.2 (2023-02-11)

Bug Fixes

  • deps: bump cli-progress from 3.10.0 to 3.11.2 (4d15304)

2.1.1 (2023-02-10)

Bug Fixes

2.1.0 (2023-02-10)

Features

  • add param to runHook to capture errors (#617) (7e7ca96)

2.0.11 (2023-02-08)

Bug Fixes

  • deps: bump tslib from 2.4.1 to 2.5.0 (8924024)

2.0.10 (2023-02-07)

Bug Fixes

  • handling quoted strings and options validation for comma-delimited multiple-flag (#614) (c32ab9d)

2.0.9 (2023-02-06)

Bug Fixes

2.0.8 (2023-01-31)

Bug Fixes

2.0.7 (2023-01-26)

Bug Fixes

  • provide more context to flag and arg parsers (cb29ca7)

2.0.6 (2023-01-25)

Bug Fixes

2.0.5 (2023-01-25)

Bug Fixes

  • failed flag parsing error (d3e975f)

2.0.4 (2023-01-25)

Bug Fixes

2.0.3 (2023-01-23)

Bug Fixes

1.26.0 (2023-01-23)

Features

1.25.0 (2023-01-19)

Features

1.24.3 (2023-01-19)

Bug Fixes

  • support v2 style argument definitions (#594) (bba8f65)

1.24.2 (2023-01-18)

Bug Fixes

1.24.1 (2023-01-18)

Bug Fixes

  • allow deprecation.version to be number (ef4ef9d)

1.24.0 (2023-01-11)

Features

  • add forwards compatibility for v2 args (#587) (9bc4a92)

1.23.2 (2023-01-08)

Bug Fixes

  • deps: bump @oclif/screen from 3.0.3 to 3.0.4 (17abee3)

1.23.1 (2022-12-31)

Bug Fixes

  • deps: bump json5 from 2.2.0 to 2.2.2 (406cf04)

1.23.0 (2022-12-27)

Features

  • allow flags to have false value in when (#557) (c40ce71)

1.22.0 (2022-12-16)

Features

1.21.0 (2022-12-06)

Features

  • handle custom parser nested array for multiple flag (#568) (046445c)

1.20.4 (2022-11-06)

Bug Fixes

  • deps: bump tslib from 2.3.1 to 2.4.1 (e2d4cd3)

1.20.3 (2022-11-05)

Bug Fixes

  • deps: bump @oclif/screen from 3.0.2 to 3.0.3 (154ed80)

1.20.2 (2022-10-31)

Bug Fixes

1.20.1 (2022-10-31)

Bug Fixes

1.20.0 (2022-10-28)

Features

1.19.2 (2022-10-25)

Bug Fixes

1.19.1 (2022-10-19)

Bug Fixes

1.19.0 (2022-10-17)

Features

  • make flag deprecation warnings less noisy (#527) (a5fb337)

1.18.0 (2022-10-14)

Features

  • support flag and command deprecations (#511) (b0bf379)

1.17.0 (2022-10-14)

Features

1.16.7 (2022-10-13)

Bug Fixes

  • deps: bump minimist from 1.2.5 to 1.2.7 (3c987c2)

1.16.6 (2022-10-12)

Bug Fixes

  • stop inserting extra line breaks in description (#519) (76aee62)

1.16.5 (2022-10-07)

1.16.4 (2022-09-23)

Bug Fixes

1.16.3 (2022-09-16)

1.16.2 (2022-09-16)

Bug Fixes

1.16.1 (2022-09-08)

Bug Fixes

1.16.0 (2022-08-24)

Features

1.15.0 (2022-08-23)

Features

1.14.2 (2022-08-18)

Bug Fixes

  • add overloads to enum flag (799455b)

1.14.1 (2022-08-16)

Bug Fixes

  • parser doesn't validate against options parameter if the value is provided through a env var (#474) (fe6dfea)

1.14.0 (2022-08-16)

Features

  • all oclif flag types support custom parsers (ad86faf)

1.13.11 (2022-08-16)

Bug Fixes

1.13.10 (2022-08-09)

1.13.9 (2022-08-09)

Bug Fixes

  • remove json flag if subclass overrides enableJsonFlag (#467) (05dd12a)

1.13.8 (2022-08-09)

Bug Fixes

1.13.7 (2022-08-08)

Bug Fixes

1.13.6 (2022-08-08)

Bug Fixes

1.13.5 (2022-08-08)

Bug Fixes

1.13.4 (2022-08-08)

Bug Fixes

  • retain enable json flag get/set apply flag at parse (#460) (9812937)

1.13.3 (2022-08-06)

Bug Fixes

1.13.2 (2022-08-05)

Bug Fixes

1.13.1 (2022-08-02)

Bug Fixes

  • throw appropriate error in runCommand (#455) (66e9bbc)

1.13.0 (2022-07-28)

Features

  • drop node12, use es2020 (ac749e3)
  • min/max for integer flag (7e05ef7)
  • node14/es2020 for bigint, pr feedback (03a50b8)

1.12.1 (2022-07-21)

Bug Fixes

1.12.0 (2022-07-20)

Features

  • improve the instantiation of global flags (#445) (d264535)

1.11.0 (2022-07-18)

Features

  • print error info when module not found (#427) (223e79b)

1.10.0 (2022-07-15)

Features

1.9.10 (2022-07-15)

1.9.9 (2022-07-14)

Bug Fixes

1.9.8 (2022-07-14)

1.9.7 (2022-07-14)

Bug Fixes

1.9.6 (2022-07-14)

1.9.5 (2022-06-23)

1.9.4 (2022-06-23)

1.9.3 (2022-06-16)

1.9.2 (2022-06-14)

1.9.1 (2022-06-14)

Bug Fixes

  • support CLIs with single top level command (#426) (44adb4d)

1.9.0 (2022-05-20)

Features

  • support TS directory imports for ESM (#422) (4c58e78)

1.8.2 (2022-05-18)

Bug Fixes

  • properly load index.js ES modules (cont) (#417) (77ba8b8)

1.8.1 (2022-05-10)

Bug Fixes

  • improve algo for collating command id (#415) (1a9bfdb)

1.8.0 (2022-05-06)

Features

1.7.0 (2022-04-11)

Features

  • move console.log to single class method (#400) (2ccb274)

1.6.4 (2022-03-31)

Bug Fixes

1.6.3 (2022-03-23)

Bug Fixes

  • use plugin alias if available (245d841)

1.6.2 (2022-03-23)

Bug Fixes

  • load correct plugin when using dynamic help (#394) (15c1fbe)

1.6.1 (2022-03-17)

Bug Fixes

  • set id to alias when adding commands (#390) (84ab722)

1.6.0 (2022-03-14)

Features

  • POC for allowing flexible command taxonomy (#376) (c47c6c6)

1.5.3 (2022-03-09)

Bug Fixes

  • rid core of transient refs to cli-ux (#379) (a593a27)

1.5.2 (2022-03-04)

Bug Fixes

  • direct styled header text thru cliux.ux.info (#387) (5ebe8de)

1.5.1 (2022-03-03)

1.5.0 (2022-03-02)

Features

  • dir and file flags that validate existence and type (#384) (44dff41)

1.4.0 (2022-03-01)

Features

1.3.6 (2022-02-28)

Bug Fixes

  • parsing the default is wrong types (ba08723)

1.3.5 (2022-02-25)

Bug Fixes

  • print valid flag values in error message when using exactlyOne (#349) (ddcaeb2)

1.3.4 (2022-02-11)

Bug Fixes

1.3.3 (2022-02-09)

Bug Fixes

1.3.2 (2022-02-08)

Bug Fixes

1.3.1 (2022-02-07)

1.3.0 (2022-02-01)

Features

1.2.1 (2022-01-28)

Bug Fixes

1.2.0 (2022-01-26)

Features

1.1.2 (2022-01-10)

1.1.1 (2022-01-06)

Bug Fixes

1.1.0 (2022-01-05)

Features

1.0.11 (2021-12-17)

Bug Fixes

1.0.10 (2021-12-08)

Bug Fixes

1.0.9 (2021-12-08)

1.0.8 (2021-12-07)

Bug Fixes

1.0.7 (2021-12-02)

Bug Fixes

1.0.6 (2021-12-01)

Bug Fixes

1.0.5 (2021-12-01)

Bug Fixes

1.0.4 (2021-11-18)

Bug Fixes

  • resolve typescript compilation errors (#290) (7079932)

1.0.3 (2021-11-08)

Bug Fixes

  • remove module lodash.template in favor of lodash (#286) (caaff0b)

1.0.2 (2021-10-13)

Bug Fixes

  • remove ability to enable json flag globally (#272) (3c754e7)

1.0.1 (2021-10-08)

Bug Fixes

  • use default separator if none is configured (#271) (602cf12)

1.0.0 (2021-09-29)

0.6.0 (2021-09-29)

0.5.41 (2021-09-29)

Bug Fixes

  • only show warnings when json is not enabled (#260) (0890917)

0.5.40 (2021-09-27)

Bug Fixes

0.5.39 (2021-09-17)

Features

0.5.38 (2021-09-15)

Features

  • have --json global flag disabled by default (#252) (c2a7799)

0.5.37 (2021-09-15)

Bug Fixes

0.5.36 (2021-09-14)

Bug Fixes

  • move ctor for command help class to its own function (#244) (26f2445)

0.5.35 (2021-09-08)

Bug Fixes

0.5.34 (2021-08-30)

Bug Fixes

  • add support all properties for a command class in manifest (deb0765)

0.5.33 (2021-08-30)

Bug Fixes

0.5.32 (2021-08-23)

Bug Fixes

  • account for aliases when converting spaced commands to commandID (#232) (b8ee9b2)

0.5.31 (2021-08-18)

Bug Fixes

  • command name parsing when flag=value present (#231) (6497514)

0.5.30 (2021-08-16)

Bug Fixes

0.5.29 (2021-08-10)

Bug Fixes

  • don't put multiple newlines between flag summaries in help output (#225) (bfbd15c)
  • switch ci to main (849aeee)

Features

  • support multiple examples commands under a single description (#229) (b7ad583)

0.5.28 (2021-08-03)

Features

0.5.27 (2021-07-29)

Bug Fixes

  • restore short flags for --help and --version (#205) (67dadd4)

0.5.26 (2021-07-22)

Bug Fixes

  • set exitCode on --json errors (67f5eea)

0.5.25 (2021-07-22)

Bug Fixes

0.5.24 (2021-07-22)

Bug Fixes

  • set this.flags to empty object by default (8f5d5ed)

0.5.23 (2021-07-19)

Bug Fixes

0.5.22 (2021-07-14)

Bug Fixes

  • respect variable args when using spaces (#203) (d458dfd)

0.5.21 (2021-07-07)

Bug Fixes

0.5.20 (2021-07-01)

Bug Fixes

  • allow for no args on top level topic (1231eae)

0.5.19 (2021-06-30)

Bug Fixes

  • jsonEnabled when json is disabled (4575be8)

0.5.18 (2021-06-28)

Features

0.5.17 (2021-06-28)

Bug Fixes

0.5.16 (2021-06-28)

Features

0.5.15 (2021-06-24)

Bug Fixes

  • return type on toSuccessJson (e2a9751)

0.5.14 (2021-06-17)

Features

  • help improvements and customizability (#184) (cb2109b)

0.5.13 (2021-06-09)

0.5.12 (2021-06-07)

0.5.11 (2021-06-07)

0.5.10 (2021-05-28)

0.5.9 (2021-05-27)

0.5.8 (2021-05-26)

Features

  • strengthened ModuleLoader & unit tests; now supports mixed ESM / CJS plugins (#163) (788bf17)

0.5.7 (2021-05-17)

Bug Fixes

  • conversion of spaced commands to colon commands (#164) (9503d32)

0.5.6 (2021-05-13)

Features

  • integrate ESM loading of commands & hooks (#160) (ff47444)

0.5.5 (2021-04-26)

0.5.4 (2021-04-20)

0.5.3 (2021-04-19)

0.5.2 (2021-04-19)

0.5.1 (2021-04-15)

Features

0.5.0 (2021-04-08)

Bug Fixes

  • don't resolve lib to src in development mode (#129) (abd10fd)

0.4.0 (2021-03-01)

Features

0.3.0 (2021-02-01)

Bug Fixes

  • default ExitError to exit error code 1 (#95) (2005c5f)
  • filter help argvs before invoking (#103) (698125d)
  • only --version & --help are special global flags (#96) (364d6dd)

Features

0.2.0 (2020-09-18)

Bug Fixes

Features

  • export Config, Plugin at root & namespace interfaces (#40) (0817fc0)
  • export HelpOptions in Interfaces (#45) (5d4212f)
  • export OclifError & PrettyPrintableError in Interfaces (#44) (766b6f5)
  • export parser interfaces in Interfaces (#46) (d5ad46d)
  • mv Command & flag export to root (#37) (70ea6e1)
  • mv getHelpClass, Help & HelpBase export to root (#39) (3d272d8)

0.1.2 (2020-09-11)

Bug Fixes

0.1.1 (2020-09-09)

Bug Fixes

  • accept integer 0 as valid arg input (#34) (36eb02f)
  • support src/commands/index cmd (#35) (2c14c3c)

0.1.0 (2020-09-02)