# Change Log - @rushstack/ts-command-line This log was last generated on Thu, 17 Oct 2024 08:35:06 GMT and should not be manually modified. ## 4.23.0 Thu, 17 Oct 2024 08:35:06 GMT ### Minor changes - Expand the `alternatives` and `completions` options of `CommandLineChoiceParameter` and `CommandLineChoiceListParameter` to allow readonly arrays and sets. - (BREAKING API CHANGE) Change the type of the `alternatives` property of `CommandLineChoiceParameter` and `CommandLineChoiceParameter` from an array to a `ReadonlySet`. ## 4.22.8 Fri, 13 Sep 2024 00:11:43 GMT _Version update only_ ## 4.22.7 Tue, 10 Sep 2024 20:08:11 GMT _Version update only_ ## 4.22.6 Wed, 21 Aug 2024 05:43:04 GMT _Version update only_ ## 4.22.5 Mon, 12 Aug 2024 22:16:04 GMT _Version update only_ ## 4.22.4 Fri, 02 Aug 2024 17:26:42 GMT ### Patches - Remove @internal so that subclasses can call _getArgumentParser ## 4.22.3 Sat, 27 Jul 2024 00:10:27 GMT ### Patches - Include CHANGELOG.md in published releases again ## 4.22.2 Wed, 17 Jul 2024 06:55:10 GMT _Version update only_ ## 4.22.1 Tue, 16 Jul 2024 00:36:21 GMT _Version update only_ ## 4.22.0 Thu, 30 May 2024 00:13:05 GMT ### Minor changes - Eliminate a const enum from the public API. ## 4.21.5 Wed, 29 May 2024 02:03:51 GMT _Version update only_ ## 4.21.4 Tue, 28 May 2024 15:10:09 GMT _Version update only_ ## 4.21.3 Tue, 28 May 2024 00:09:47 GMT _Version update only_ ## 4.21.2 Sat, 25 May 2024 04:54:08 GMT _Version update only_ ## 4.21.1 Thu, 23 May 2024 02:26:56 GMT _Version update only_ ## 4.21.0 Thu, 16 May 2024 15:10:22 GMT ### Minor changes - Mark `onDefineParameters` and `onDefineUnscopedParameters` as deprecated and update README accordingly because defining parameters causes issues when the compiler targets >=es2022. ## 4.20.1 Wed, 15 May 2024 23:42:58 GMT _Version update only_ ## 4.20.0 Wed, 15 May 2024 06:04:17 GMT ### Minor changes - Rename `CommandLineParser.execute` to `CommandLineParser.executeAsync` and `CommandLineParser.executeWithoutErrorHandling` to `CommandLineParser.executeWithoutErrorHandlingAsync`. The old functions are marked as `@deprecated`. ## 4.19.5 Fri, 10 May 2024 05:33:34 GMT _Version update only_ ## 4.19.4 Wed, 08 May 2024 22:23:50 GMT ### Patches - Fix an issue where tab completions did not suggest parameter values. ## 4.19.3 Mon, 06 May 2024 15:11:05 GMT _Version update only_ ## 4.19.2 Wed, 10 Apr 2024 15:10:09 GMT _Version update only_ ## 4.19.1 Sun, 03 Mar 2024 20:58:12 GMT ### Patches - Fix an issue where the `allowNonStandardEnvironmentVariableNames` parameter option had no effect. ## 4.19.0 Sat, 02 Mar 2024 02:22:23 GMT ### Minor changes - Use more specific types for command line parameters' `kind` properties. - Allow parameters that may be backed by an environment variable to be marked as `required`. - Update the return type of `defineChoiceParameter`, `defineIntegerParameter`, and `defineStringParameter` respectively when the `defaultValue` option is provided to return `IRequiredCommandLineChoiceParameter`, `IRequiredCommandLineIntegerParameter`, and `IRequiredCommandLineStringParameter` respectively, as the value will definitely be defined in these cases. ### Patches - Include a missing `readonly` modifier on the `value` properties of `IRequiredCommandLineChoiceParameter`, `IRequiredCommandLineIntegerParameter`, and `IRequiredCommandLineStringParameter`. ## 4.18.1 Fri, 01 Mar 2024 01:10:08 GMT ### Patches - Add an "allowNonStandardEnvironmentVariableNames" option to remove naming restrictions on parameter environment variables ## 4.18.0 Wed, 28 Feb 2024 16:09:27 GMT ### Minor changes - Allow choice parameters alternatives to be typed. - Update the return type of `defineChoiceParameter`, `defineIntegerParameter`, and `defineStringParameter` respectively when the `{ required: true }` option is set to a new type (`IRequiredCommandLineChoiceParameter`, `IRequiredCommandLineIntegerParameter`, and `IRequiredCommandLineStringParameter` respectively) with a required `value` property. ## 4.17.4 Sat, 24 Feb 2024 23:02:51 GMT _Version update only_ ## 4.17.3 Wed, 21 Feb 2024 21:45:28 GMT ### Patches - Replace the dependency on the `colors` package with `Colorize` from `@rushstack/terminal`. ## 4.17.2 Sat, 17 Feb 2024 06:24:35 GMT ### Patches - Fix broken link to API documentation ## 4.17.1 Wed, 01 Nov 2023 23:11:35 GMT ### Patches - Fix line endings in published package. ## 4.17.0 Mon, 30 Oct 2023 23:36:37 GMT ### Minor changes - Consider parent tool and action parameters when determining ambiguous abbreviations. For example, if a CLI tool `mytool` has a parameter `--myparam` and an action `myaction`, then `myaction` would not accept a parameter named `--myparam` (i.e. - `mytool --myparam myaction` is valid, `mytool myaction --myparam` is not). Additionally, any parameter that can be abbreviated to `--myparam` must be uniquely provided (i.e. - `--myparam-2` can only be abbreviated to `--myparam-`, since any shorter abbreviation would be ambiguous with the original `--myparam` on the tool). ## 4.16.1 Tue, 26 Sep 2023 09:30:33 GMT ### Patches - Update type-only imports to include the type modifier. ## 4.16.0 Fri, 15 Sep 2023 00:36:58 GMT ### Minor changes - Update @types/node from 14 to 18 ## 4.15.2 Tue, 08 Aug 2023 07:10:40 GMT _Version update only_ ## 4.15.1 Thu, 15 Jun 2023 00:21:01 GMT _Version update only_ ## 4.15.0 Tue, 13 Jun 2023 01:49:01 GMT ### Minor changes - Add support for handling ambiguous parameters when conflicting parameters are provided but they provide a non-conflicting alternative (e.g. parameters with the same short-name but different long-names, scoped parameters with the same long-name but different scopes). When using an ambiguous parameter on the CLI, an error message describing the ambiguous parameter usage will appear. ## 4.14.0 Wed, 07 Jun 2023 22:45:16 GMT ### Minor changes - Add AliasCommandLineAction, a CommandLineAction that can be used to redirect commands with optional default arguments to existing commands. ## 4.13.3 Mon, 22 May 2023 06:34:33 GMT _Version update only_ ## 4.13.2 Fri, 10 Feb 2023 01:18:50 GMT _Version update only_ ## 4.13.1 Tue, 08 Nov 2022 01:20:55 GMT ### Patches - Make ScopedCommandLineAction.onDefineUnscopedParameters optional to match CommandLineAciton.onDefineParameters ## 4.13.0 Mon, 17 Oct 2022 22:14:21 GMT ### Minor changes - Make the onDefineParameters function optional for `CommandLineAction`s and `CommandLineParser`s that either don't have parameters or that define their parameters in their constructor. ## 4.12.5 Mon, 10 Oct 2022 15:23:44 GMT _Version update only_ ## 4.12.4 Thu, 29 Sep 2022 07:13:06 GMT _Version update only_ ## 4.12.3 Thu, 15 Sep 2022 00:18:51 GMT _Version update only_ ## 4.12.2 Wed, 03 Aug 2022 18:40:35 GMT _Version update only_ ## 4.12.1 Tue, 28 Jun 2022 00:23:32 GMT _Version update only_ ## 4.12.0 Thu, 23 Jun 2022 22:14:24 GMT ### Minor changes - Add parameter scopes. Parameter scopes allow for behind-the-scenes conflict resolution between parameters with the same long name. For example, when provided scope "my-scope", a parameter can be referenced on the CLI as "--my-parameter" or as "--my-scope:my-parameter". In the case that multiple parameters are registered with the same long name but different scopes, the parameters can only be referenced by their scoped long names, eg. "--my-scope:my-parameter" and "--my-other-scope:my-parameter". ## 4.11.1 Fri, 17 Jun 2022 00:16:18 GMT _Version update only_ ## 4.11.0 Tue, 10 May 2022 01:20:43 GMT ### Minor changes - Add ScopedCommandLineAction class, which allows for the definition of actions that have dynamic arguments whose definition depends on a provided scope. See https://github.com/microsoft/rushstack/pull/3364 ## 4.10.10 Sat, 23 Apr 2022 02:13:07 GMT _Version update only_ ## 4.10.9 Fri, 15 Apr 2022 00:12:36 GMT _Version update only_ ## 4.10.8 Sat, 09 Apr 2022 02:24:27 GMT ### Patches - Rename the "master" branch to "main". ## 4.10.7 Tue, 15 Mar 2022 19:15:53 GMT _Version update only_ ## 4.10.6 Mon, 27 Dec 2021 16:10:40 GMT _Version update only_ ## 4.10.5 Mon, 06 Dec 2021 16:08:32 GMT _Version update only_ ## 4.10.4 Fri, 05 Nov 2021 15:09:18 GMT _Version update only_ ## 4.10.3 Wed, 27 Oct 2021 00:08:15 GMT ### Patches - Update the package.json repository field to include the directory property. ## 4.10.2 Wed, 13 Oct 2021 15:09:54 GMT _Version update only_ ## 4.10.1 Thu, 07 Oct 2021 07:13:35 GMT _Version update only_ ## 4.10.0 Mon, 04 Oct 2021 15:10:18 GMT ### Minor changes - Add safety check parametersProcessed to CommandLineParameterProvider ## 4.9.1 Thu, 23 Sep 2021 00:10:41 GMT ### Patches - Upgrade the `@types/node` dependency to version to version 12. ## 4.9.0 Fri, 20 Aug 2021 15:08:10 GMT ### Minor changes - Add getParameterStringMap to CommandLineParameterProvider, to easily query parameter usage for telemetry ## 4.8.1 Mon, 12 Jul 2021 23:08:26 GMT _Version update only_ ## 4.8.0 Thu, 01 Jul 2021 15:08:27 GMT ### Minor changes - Add ChoiceList and IntegerList parameter types ## 4.7.10 Mon, 12 Apr 2021 15:10:28 GMT _Version update only_ ## 4.7.9 Tue, 06 Apr 2021 15:14:22 GMT _Version update only_ ## 4.7.8 Thu, 10 Dec 2020 23:25:49 GMT _Version update only_ ## 4.7.7 Wed, 11 Nov 2020 01:08:59 GMT _Version update only_ ## 4.7.6 Fri, 30 Oct 2020 06:38:39 GMT _Version update only_ ## 4.7.5 Fri, 30 Oct 2020 00:10:14 GMT _Version update only_ ## 4.7.4 Wed, 28 Oct 2020 01:18:03 GMT _Version update only_ ## 4.7.3 Tue, 06 Oct 2020 00:24:06 GMT _Version update only_ ## 4.7.2 Mon, 05 Oct 2020 22:36:57 GMT _Version update only_ ## 4.7.1 Wed, 30 Sep 2020 18:39:17 GMT ### Patches - Update to build with @rushstack/heft-node-rig ## 4.7.0 Wed, 30 Sep 2020 06:53:53 GMT ### Minor changes - Upgrade compiler; the API now requires TypeScript 3.9 or newer ### Patches - Update README.md ## 4.6.10 Tue, 22 Sep 2020 05:45:57 GMT _Version update only_ ## 4.6.9 Tue, 22 Sep 2020 01:45:31 GMT _Version update only_ ## 4.6.8 Tue, 22 Sep 2020 00:08:53 GMT _Version update only_ ## 4.6.7 Sat, 19 Sep 2020 04:37:27 GMT _Version update only_ ## 4.6.6 Sat, 19 Sep 2020 03:33:07 GMT _Version update only_ ## 4.6.5 Fri, 18 Sep 2020 22:57:24 GMT _Version update only_ ## 4.6.4 Thu, 27 Aug 2020 11:27:06 GMT _Version update only_ ## 4.6.3 Mon, 24 Aug 2020 07:35:20 GMT _Version update only_ ## 4.6.2 Sat, 22 Aug 2020 05:55:43 GMT _Version update only_ ## 4.6.1 Fri, 21 Aug 2020 01:21:17 GMT ### Patches - Fix an issue where usage of a parameter specified undocumentedSynonyms yielded invalid data. ## 4.6.0 Thu, 20 Aug 2020 15:13:52 GMT ### Minor changes - Add a feature for specifying "undocumented synonyms" for parameters. ## 4.5.0 Tue, 18 Aug 2020 23:59:42 GMT ### Minor changes - Add support for shell tab completion. ## 4.4.8 Mon, 17 Aug 2020 04:53:23 GMT _Version update only_ ## 4.4.7 Wed, 12 Aug 2020 00:10:05 GMT ### Patches - Updated project to build with Heft ## 4.4.6 Fri, 03 Jul 2020 05:46:41 GMT ### Patches - Improve formatting of errors reported by CommandLineParser.execute() ## 4.4.5 Thu, 25 Jun 2020 06:43:35 GMT _Version update only_ ## 4.4.4 Wed, 24 Jun 2020 09:50:48 GMT _Version update only_ ## 4.4.3 Wed, 24 Jun 2020 09:04:28 GMT _Version update only_ ## 4.4.2 Mon, 01 Jun 2020 08:34:17 GMT ### Patches - Fix a typo in the supplementary notes for parameters with environment variable mappings ## 4.4.1 Wed, 27 May 2020 05:15:10 GMT _Version update only_ ## 4.4.0 Fri, 15 May 2020 08:10:59 GMT ### Minor changes - Add a new feature defineCommandLineRemainder() which allows additional unvalidated CLI arguments, e.g. to pass along to another tool - Add the ability for an environment variable to specify multiple values for CommandLineStringListParameter, encoded as a JSON array - Fix some bugs that prevented a CommandLineParser from being defined without any actions ### Patches - Fix a bug with environmentVariable mapping for CommandLineFlagParameter - Use API Extractor to trim internal APIs from the .d.ts rollup - Improve the README.md and API documentation ## 4.3.14 Wed, 08 Apr 2020 04:07:33 GMT _Version update only_ ## 4.3.13 Sat, 28 Mar 2020 00:37:16 GMT _Version update only_ ## 4.3.12 Wed, 18 Mar 2020 15:07:47 GMT ### Patches - Upgrade cyclic dependencies ## 4.3.11 Tue, 17 Mar 2020 23:55:58 GMT ### Patches - PACKAGE NAME CHANGE: The NPM scope was changed from `@microsoft/ts-command-line` to `@rushstack/ts-command-line` ## 4.3.10 Tue, 21 Jan 2020 21:56:14 GMT _Version update only_ ## 4.3.9 Sun, 19 Jan 2020 02:26:52 GMT ### Patches - Upgrade Node typings to Node 10 ## 4.3.8 Fri, 17 Jan 2020 01:08:23 GMT _Version update only_ ## 4.3.7 Thu, 09 Jan 2020 06:44:13 GMT _Version update only_ ## 4.3.6 Wed, 08 Jan 2020 00:11:31 GMT _Version update only_ ## 4.3.5 Mon, 11 Nov 2019 16:07:56 GMT _Version update only_ ## 4.3.4 Tue, 22 Oct 2019 06:24:44 GMT _Version update only_ ## 4.3.3 Fri, 18 Oct 2019 15:15:00 GMT ### Patches - Fix Choice parameter error when only one alternative value is provided ## 4.3.2 Sun, 29 Sep 2019 23:56:29 GMT ### Patches - Update repository URL ## 4.3.1 Tue, 24 Sep 2019 02:58:49 GMT ### Patches - Add back a missing dependency. ## 4.3.0 Mon, 23 Sep 2019 15:14:55 GMT ### Minor changes - Remove unnecessary dependencies on @types/argparse and @types/node ## 4.2.8 Tue, 10 Sep 2019 22:32:23 GMT ### Patches - Update documentation ## 4.2.7 Mon, 12 Aug 2019 15:15:14 GMT ### Patches - fix for #1443 allow rush command to use numbers ## 4.2.6 Wed, 12 Jun 2019 19:12:33 GMT ### Patches - Update Readme. ## 4.2.5 Mon, 27 May 2019 04:13:44 GMT ### Patches - Fix a broken link in the README.md (GitHub issue #1285) ## 4.2.4 Mon, 06 May 2019 20:46:21 GMT ### Patches - Allow colons in command line action names ## 4.2.3 Fri, 07 Dec 2018 17:04:56 GMT ### Patches - Updated to use the new InternalError class for reporting software defects ## 4.2.2 Thu, 06 Sep 2018 01:25:26 GMT ### Patches - Update "repository" field in package.json ## 4.2.1 Thu, 23 Aug 2018 18:18:53 GMT ### Patches - Republish all packages in web-build-tools to resolve GitHub issue #782 ## 4.2.0 Fri, 08 Jun 2018 08:43:52 GMT ### Minor changes - Add CommandLineChoiceParameter.appendToArgList() and CommandLineParser.tryGetAction() ## 4.1.0 Fri, 27 Apr 2018 03:04:32 GMT ### Minor changes - Add "defaultValue", "environmentVariable", and "required" features for command-line parameters ## 4.0.0 Thu, 19 Apr 2018 21:25:56 GMT ### Breaking changes - Rename "CommandLineOptionParameter" to "CommandLineChoiceParameter" (API change) - Rename "ICommandLineChoiceDefinition.options" to "alternatives" (API change) - Add DynamicCommandLineAction, DynamicCommandLineParser, and other APIs to support defining and reading command-line parameters at runtime - Rename "actionVerb" to "actionName" (API change) - Replace "CommandLineAction.options" with more concise top-level properties (API change) ## 3.1.1 Fri, 23 Mar 2018 00:34:53 GMT ### Patches - Upgrade colors to version ~1.2.1 ## 3.1.0 Thu, 15 Mar 2018 20:00:50 GMT ### Minor changes - Add default error handler so the caller to CommandLineParser.execute() is not expected to handle promise rejections - Add a new API "CommandLineParser.executeWithoutErrorHandling()" ## 3.0.7 Mon, 12 Mar 2018 20:36:19 GMT ### Patches - Locked down some "@types/" dependency versions to avoid upgrade conflicts ## 3.0.6 Fri, 02 Mar 2018 01:13:59 GMT _Version update only_ ## 3.0.5 Tue, 27 Feb 2018 22:05:57 GMT _Version update only_ ## 3.0.4 Wed, 21 Feb 2018 22:04:19 GMT _Version update only_ ## 3.0.3 Wed, 21 Feb 2018 03:13:28 GMT _Version update only_ ## 3.0.2 Sat, 17 Feb 2018 02:53:49 GMT _Version update only_ ## 3.0.1 Fri, 16 Feb 2018 22:05:23 GMT _Version update only_ ## 3.0.0 Fri, 16 Feb 2018 17:05:11 GMT ### Breaking changes - Change all CommandLineActions to have an asychronous API that returns a promise. ## 2.3.10 Wed, 07 Feb 2018 17:05:11 GMT _Version update only_ ## 2.3.9 Fri, 26 Jan 2018 22:05:30 GMT _Version update only_ ## 2.3.8 Fri, 26 Jan 2018 17:53:38 GMT ### Patches - Force a patch bump in case the previous version was an empty package ## 2.3.7 Fri, 26 Jan 2018 00:36:51 GMT _Version update only_ ## 2.3.6 Tue, 23 Jan 2018 17:05:28 GMT _Version update only_ ## 2.3.5 Thu, 18 Jan 2018 03:23:46 GMT ### Patches - Enable package typings generated by api-extractor ## 2.3.4 Thu, 18 Jan 2018 00:48:06 GMT _Version update only_ ## 2.3.3 Wed, 17 Jan 2018 10:49:31 GMT _Version update only_ ## 2.3.2 Fri, 12 Jan 2018 03:35:22 GMT _Version update only_ ## 2.3.1 Thu, 11 Jan 2018 22:31:51 GMT _Version update only_ ## 2.3.0 Wed, 10 Jan 2018 20:40:01 GMT ### Minor changes - Upgrade to Node 8 ## 2.2.14 Tue, 09 Jan 2018 17:05:51 GMT ### Patches - Get web-build-tools building with pnpm ## 2.2.13 Sun, 07 Jan 2018 05:12:08 GMT _Version update only_ ## 2.2.12 Fri, 05 Jan 2018 20:26:45 GMT _Version update only_ ## 2.2.11 Fri, 05 Jan 2018 00:48:42 GMT _Version update only_ ## 2.2.10 Fri, 22 Dec 2017 17:04:46 GMT _Version update only_ ## 2.2.9 Tue, 12 Dec 2017 03:33:27 GMT _Version update only_ ## 2.2.8 Thu, 30 Nov 2017 23:59:09 GMT _Version update only_ ## 2.2.7 Thu, 30 Nov 2017 23:12:21 GMT _Version update only_ ## 2.2.6 Wed, 29 Nov 2017 17:05:37 GMT _Version update only_ ## 2.2.5 Tue, 28 Nov 2017 23:43:55 GMT _Version update only_ ## 2.2.4 Mon, 13 Nov 2017 17:04:50 GMT _Version update only_ ## 2.2.3 Mon, 06 Nov 2017 17:04:18 GMT _Version update only_ ## 2.2.2 Thu, 02 Nov 2017 16:05:24 GMT ### Patches - lock the reference version between web build tools projects ## 2.2.1 Wed, 01 Nov 2017 21:06:08 GMT ### Patches - Upgrade cyclic dependencies ## 2.2.0 Tue, 31 Oct 2017 21:04:04 GMT ### Minor changes - Add ability to specify default value for enum options. ## 2.1.4 Tue, 31 Oct 2017 16:04:55 GMT _Version update only_ ## 2.1.3 Wed, 25 Oct 2017 20:03:59 GMT _Version update only_ ## 2.1.2 Tue, 24 Oct 2017 18:17:12 GMT _Version update only_ ## 2.1.1 Mon, 23 Oct 2017 21:53:12 GMT ### Patches - Updated cyclic dependencies ## 2.1.0 Fri, 22 Sep 2017 01:04:02 GMT ### Minor changes - Upgrade to es6 ## 2.0.7 Fri, 08 Sep 2017 01:28:04 GMT ### Patches - Deprecate @types/es6-coll ections in favor of built-in typescript typings 'es2015.collection' a nd 'es2015.iterable' ## 2.0.6 Thu, 31 Aug 2017 18:41:18 GMT _Version update only_ ## 2.0.5 Wed, 30 Aug 2017 01:04:34 GMT _Version update only_ ## 2.0.4 Tue, 22 Aug 2017 13:04:22 GMT _Version update only_ ## 2.0.3 Tue, 25 Jul 2017 20:03:31 GMT ### Patches - Upgrade to TypeScript 2.4 ## 2.0.2 Fri, 23 Jun 2017 20:05:07 GMT ### Patches - Initial open source release of this library ## 2.0.1 Thu, 25 May 2017 21:09:42 GMT ### Patches - Dependency version change ## 2.0.0 Fri, 17 Feb 2017 23:09:23 GMT ### Breaking changes - General availability ### Minor changes - Added a "option" parameter, which can limit the input to a list of possible strings. - Added the ability to give custom names to keys in the help menu. ### Patches - Locked version numbers for @types packages - Updated .npmignore ## 1.1.1 Tue, 06 Dec 2016 20:44:26 GMT ### Patches - Changes for RC0 release. ## 1.2.0 _Version update only_ ## 1.1.0 ### Minor changes - Introduces a new command line argument type for a list of strings - Introduces a new command line argument type for integers ## 1.0.1 _Initial release_