An object-oriented command-line parser for TypeScript
Last release 7 days ago
20 Aug 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 135 of 136 stable releases
Nothing withdrawn
no release was ever pulled
6 years old
136 releases · first in 2020
Release timeline
136 releases since 2020Releases
- 4.18.028 Feb 2024
Release notes
Open source →Wed, 28 Feb 2024 16:09:27 GMT
Minor changes
- Allow choice parameters alternatives to be typed.
- Update the return type of
defineChoiceParameter,defineIntegerParameter, anddefineStringParameterrespectively when the{ required: true }option is set to a new type (IRequiredCommandLineChoiceParameter,IRequiredCommandLineIntegerParameter, andIRequiredCommandLineStringParameterrespectively) with a requiredvalueproperty.
- 4.17.424 Feb 2024
- 4.17.321 Feb 2024
Release notes
Open source →Wed, 21 Feb 2024 21:45:28 GMT
Patches
- Replace the dependency on the
colorspackage withColorizefrom@rushstack/terminal.
- Replace the dependency on the
- 4.17.217 Feb 2024
Release notes
Open source →Sat, 17 Feb 2024 06:24:35 GMT
Patches
- Fix broken link to API documentation
- 4.17.11 Nov 2023
Release notes
Open source →Wed, 01 Nov 2023 23:11:35 GMT
Patches
- Fix line endings in published package.
- 4.17.030 Oct 2023
Release notes
Open source →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
mytoolhas a parameter--myparamand an actionmyaction, thenmyactionwould not accept a parameter named--myparam(i.e. -mytool --myparam myactionis valid,mytool myaction --myparamis not). Additionally, any parameter that can be abbreviated to--myparammust be uniquely provided (i.e. ---myparam-2can only be abbreviated to--myparam-, since any shorter abbreviation would be ambiguous with the original--myparamon the tool).
- Consider parent tool and action parameters when determining ambiguous abbreviations. For example, if a CLI tool
- 4.16.126 Sept 2023
Release notes
Open source →Tue, 26 Sep 2023 09:30:33 GMT
Patches
- Update type-only imports to include the type modifier.
- 4.16.015 Sept 2023
Release notes
Open source →Fri, 15 Sep 2023 00:36:58 GMT
Minor changes
- Update @types/node from 14 to 18
- 4.15.28 Aug 2023
- 4.15.115 Jun 2023
- 4.15.013 Jun 2023
Release notes
Open source →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.07 Jun 2023
Release notes
Open source →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.322 May 2023
- 4.13.210 Feb 2023
- 4.13.18 Nov 2022
Release notes
Open source →Tue, 08 Nov 2022 01:20:55 GMT
Patches
- Make ScopedCommandLineAction.onDefineUnscopedParameters optional to match CommandLineAciton.onDefineParameters
- 4.13.017 Oct 2022
Release notes
Open source →Mon, 17 Oct 2022 22:14:21 GMT
Minor changes
- Make the onDefineParameters function optional for
CommandLineActions andCommandLineParsers that either don't have parameters or that define their parameters in their constructor.
- Make the onDefineParameters function optional for
- 4.12.510 Oct 2022
- 4.12.429 Sept 2022
- 4.12.315 Sept 2022
- 4.12.23 Aug 2022
- 4.12.128 Jun 2022
- 4.12.023 Jun 2022
Release notes
Open source →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.117 Jun 2022
- 4.11.010 May 2022
Release notes
Open source →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.1023 Apr 2022
- 4.10.915 Apr 2022
- 4.10.89 Apr 2022
Release notes
Open source →Sat, 09 Apr 2022 02:24:27 GMT
Patches
- Rename the "master" branch to "main".
- 4.10.715 Mar 2022
- 4.10.627 Dec 2021
- 4.10.56 Dec 2021
- 4.10.45 Nov 2021
- 4.10.327 Oct 2021
Release notes
Open source →Wed, 27 Oct 2021 00:08:15 GMT
Patches
- Update the package.json repository field to include the directory property.
- 4.10.213 Oct 2021
- 4.10.17 Oct 2021
- 4.10.04 Oct 2021
Release notes
Open source →Mon, 04 Oct 2021 15:10:18 GMT
Minor changes
- Add safety check parametersProcessed to CommandLineParameterProvider
- 4.9.123 Sept 2021
Release notes
Open source →Thu, 23 Sep 2021 00:10:41 GMT
Patches
- Upgrade the
@types/nodedependency to version to version 12.
- Upgrade the
- 4.9.020 Aug 2021
Release notes
Open source →Fri, 20 Aug 2021 15:08:10 GMT
Minor changes
- Add getParameterStringMap to CommandLineParameterProvider, to easily query parameter usage for telemetry
- 4.8.112 Jul 2021
- 4.8.01 Jul 2021
Release notes
Open source →Thu, 01 Jul 2021 15:08:27 GMT
Minor changes
- Add ChoiceList and IntegerList parameter types
- 4.7.1012 Apr 2021
- 4.7.96 Apr 2021
- 4.7.810 Dec 2020
- 4.7.711 Nov 2020
- 4.7.630 Oct 2020
- 4.7.530 Oct 2020
- 4.7.428 Oct 2020
- 4.7.36 Oct 2020
- 4.7.25 Oct 2020
- 4.7.130 Sept 2020
Release notes
Open source →Wed, 30 Sep 2020 18:39:17 GMT
Patches
- Update to build with @rushstack/heft-node-rig
- 4.7.030 Sept 2020
Release notes
Open source →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.1022 Sept 2020
- 4.6.922 Sept 2020
- 4.6.822 Sept 2020
- 4.6.719 Sept 2020
- 4.6.619 Sept 2020
- 4.6.518 Sept 2020
- 4.6.427 Aug 2020
- 4.6.324 Aug 2020
- 4.6.222 Aug 2020
- 4.6.121 Aug 2020
Release notes
Open source →Fri, 21 Aug 2020 01:21:17 GMT
Patches
- Fix an issue where usage of a parameter specified undocumentedSynonyms yielded invalid data.