Socket
Socket
Sign inDemoInstall

@rushstack/ts-command-line

Package Overview
Dependencies
Maintainers
3
Versions
100
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@rushstack/ts-command-line - npm Package Compare versions

Comparing version 4.18.1 to 4.19.0

71

dist/ts-command-line.d.ts

@@ -61,3 +61,2 @@ /**

/* Excluded from this release type: _buildParser */
/* Excluded from this release type: _processParsedData */
/* Excluded from this release type: _execute */

@@ -81,5 +80,5 @@ /* Excluded from this release type: _getArgumentParser */

readonly completions: (() => Promise<TChoice[]>) | undefined;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.ChoiceList;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -110,5 +109,5 @@ /**

readonly completions: (() => Promise<TChoice[]>) | undefined;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Choice;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -146,5 +145,5 @@ /* Excluded from this release type: _getSupplementaryNotes */

private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Flag;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -183,5 +182,5 @@ /**

private _values;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.IntegerList;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -208,5 +207,5 @@ /**

private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Integer;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -233,2 +232,5 @@ /* Excluded from this release type: _getSupplementaryNotes */

/* Excluded from this release type: _parserKey */
/* Excluded from this release type: _preParse */
/* Excluded from this release type: _postParse */
/* Excluded from this release type: _validateValue */
/** {@inheritDoc IBaseCommandLineDefinition.parameterLongName} */

@@ -281,6 +283,8 @@ readonly longName: string;

*/
protected reportInvalidData(data: any): never;
protected reportInvalidData(data: unknown): never;
protected validateDefaultValue(hasDefaultValue: boolean): void;
}
declare type CommandLineParameter_2 = CommandLineChoiceListParameter | CommandLineChoiceParameter | CommandLineFlagParameter | CommandLineIntegerListParameter | CommandLineIntegerParameter | CommandLineStringListParameter | CommandLineStringParameter;
/**

@@ -350,2 +354,3 @@ * Identifies the kind of a CommandLineParameter.

required: false | undefined;
defaultValue: undefined;
}): CommandLineChoiceParameter<TChoice>;

@@ -361,2 +366,8 @@ /**

*/
defineChoiceParameter<TChoice extends string = string>(definition: ICommandLineChoiceDefinition<TChoice> & {
defaultValue: TChoice;
}): IRequiredCommandLineChoiceParameter<TChoice>;
/**
* {@inheritdoc CommandLineParameterProvider.(defineChoiceParameter:1)}
*/
defineChoiceParameter<TChoice extends string = string>(definition: ICommandLineChoiceDefinition<TChoice>): CommandLineChoiceParameter<TChoice>;

@@ -415,2 +426,3 @@ /**

required: false | undefined;
defaultValue: undefined;
}): CommandLineIntegerParameter;

@@ -426,2 +438,8 @@ /**

*/
defineIntegerParameter(definition: ICommandLineIntegerDefinition & {
defaultValue: number;
}): IRequiredCommandLineIntegerParameter;
/**
* {@inheritdoc CommandLineParameterProvider.(defineIntegerParameter:1)}
*/
defineIntegerParameter(definition: ICommandLineIntegerDefinition): CommandLineIntegerParameter;

@@ -462,2 +480,3 @@ /**

required: false | undefined;
defaultValue: undefined;
}): CommandLineStringParameter;

@@ -473,2 +492,8 @@ /**

*/
defineStringParameter(definition: ICommandLineStringDefinition & {
defaultValue: string;
}): IRequiredCommandLineStringParameter;
/**
* {@inheritdoc CommandLineParameterProvider.(defineStringParameter:1)}
*/
defineStringParameter(definition: ICommandLineStringDefinition): CommandLineStringParameter;

@@ -539,2 +564,4 @@ /**

/* Excluded from this release type: _getArgumentParser */
/* Excluded from this release type: _preParse */
/* Excluded from this release type: _postParse */
/* Excluded from this release type: _processParsedData */

@@ -671,5 +698,5 @@ /* Excluded from this release type: _defineParameter */

private _values;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.StringList;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -696,5 +723,5 @@ /**

private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.String;
/* Excluded from this release type: __constructor */
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/* Excluded from this release type: _setValue */

@@ -795,5 +822,2 @@ /* Excluded from this release type: _getSupplementaryNotes */

*
* This feature cannot be used when {@link IBaseCommandLineDefinition.required} is true,
* because in that case the environmentVariable would never be used.
*
* Syntax notes for environment variable values:

@@ -1052,3 +1076,3 @@ *

export declare interface IRequiredCommandLineChoiceParameter<TChoice extends string = string> extends CommandLineChoiceParameter<TChoice> {
value: TChoice;
readonly value: TChoice;
}

@@ -1061,3 +1085,3 @@

export declare interface IRequiredCommandLineIntegerParameter extends CommandLineIntegerParameter {
value: number;
readonly value: number;
}

@@ -1070,3 +1094,3 @@

export declare interface IRequiredCommandLineStringParameter extends CommandLineStringParameter {
value: string;
readonly value: string;
}

@@ -1127,2 +1151,5 @@

* {@inheritDoc CommandLineParameterProvider.parameters}
*
* @internalremarks
* TODO: Replace this type with `CommandLineParameter` in the next major bump.
*/

@@ -1129,0 +1156,0 @@ get parameters(): ReadonlyArray<CommandLineParameter>;

@@ -11,3 +11,3 @@ /**

export type { IBaseCommandLineDefinition, IBaseCommandLineDefinitionWithArgument, ICommandLineFlagDefinition, ICommandLineStringDefinition, ICommandLineStringListDefinition, ICommandLineIntegerDefinition, ICommandLineIntegerListDefinition, ICommandLineChoiceDefinition, ICommandLineChoiceListDefinition, ICommandLineRemainderDefinition } from './parameters/CommandLineDefinition';
export { CommandLineParameterKind, CommandLineParameter, CommandLineParameterWithArgument } from './parameters/BaseClasses';
export { CommandLineParameterKind, CommandLineParameterBase as CommandLineParameter, CommandLineParameterWithArgument } from './parameters/BaseClasses';
export { CommandLineFlagParameter } from './parameters/CommandLineFlagParameter';

@@ -14,0 +14,0 @@ export { CommandLineStringParameter, type IRequiredCommandLineStringParameter } from './parameters/CommandLineStringParameter';

@@ -21,3 +21,4 @@ "use strict";

Object.defineProperty(exports, "CommandLineParameterKind", { enumerable: true, get: function () { return BaseClasses_1.CommandLineParameterKind; } });
Object.defineProperty(exports, "CommandLineParameter", { enumerable: true, get: function () { return BaseClasses_1.CommandLineParameter; } });
// TODO: Export both `CommandLineParameter` and `CommandLineParameterBase` in the next major bump
Object.defineProperty(exports, "CommandLineParameter", { enumerable: true, get: function () { return BaseClasses_1.CommandLineParameterBase; } });
Object.defineProperty(exports, "CommandLineParameterWithArgument", { enumerable: true, get: function () { return BaseClasses_1.CommandLineParameterWithArgument; } });

@@ -24,0 +25,0 @@ var CommandLineFlagParameter_1 = require("./parameters/CommandLineFlagParameter");

import type { SCOPING_PARAMETER_GROUP } from '../Constants';
import type { IBaseCommandLineDefinition, IBaseCommandLineDefinitionWithArgument } from './CommandLineDefinition';
import type { CommandLineChoiceListParameter } from './CommandLineChoiceListParameter';
import type { CommandLineChoiceParameter } from './CommandLineChoiceParameter';
import type { CommandLineFlagParameter } from './CommandLineFlagParameter';
import type { CommandLineIntegerListParameter } from './CommandLineIntegerListParameter';
import type { CommandLineIntegerParameter } from './CommandLineIntegerParameter';
import type { CommandLineStringListParameter } from './CommandLineStringListParameter';
import type { CommandLineStringParameter } from './CommandLineStringParameter';
/**

@@ -23,2 +30,3 @@ * Identifies the kind of a CommandLineParameter.

}
export type CommandLineParameter = CommandLineChoiceListParameter | CommandLineChoiceParameter | CommandLineFlagParameter | CommandLineIntegerListParameter | CommandLineIntegerParameter | CommandLineStringListParameter | CommandLineStringParameter;
/**

@@ -28,3 +36,3 @@ * The base class for the various command-line parameter types.

*/
export declare abstract class CommandLineParameter {
export declare abstract class CommandLineParameterBase {
private _shortNameValue;

@@ -36,2 +44,14 @@ /**

_parserKey: string | undefined;
/**
* @internal
*/
_preParse?: () => void;
/**
* @internal
*/
_postParse?: () => void;
/**
* @internal
*/
_validateValue?: () => void;
/** {@inheritDoc IBaseCommandLineDefinition.parameterLongName} */

@@ -66,3 +86,3 @@ readonly longName: string;

*/
abstract _setValue(data: any): void;
abstract _setValue(data: unknown): void;
/**

@@ -94,3 +114,3 @@ * Returns additional text used by the help formatter.

*/
protected reportInvalidData(data: any): never;
protected reportInvalidData(data: unknown): never;
protected validateDefaultValue(hasDefaultValue: boolean): void;

@@ -106,3 +126,3 @@ }

*/
export declare abstract class CommandLineParameterWithArgument extends CommandLineParameter {
export declare abstract class CommandLineParameterWithArgument extends CommandLineParameterBase {
private static _invalidArgumentNameRegExp;

@@ -109,0 +129,0 @@ /** {@inheritDoc IBaseCommandLineDefinitionWithArgument.argumentName} */

@@ -5,3 +5,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.CommandLineParameterWithArgument = exports.CommandLineParameter = exports.CommandLineParameterKind = void 0;
exports.CommandLineParameterWithArgument = exports.CommandLineParameterBase = exports.CommandLineParameterKind = void 0;
/**

@@ -54,3 +54,3 @@ * Identifies the kind of a CommandLineParameter.

*/
class CommandLineParameter {
class CommandLineParameterBase {
/** @internal */

@@ -86,8 +86,2 @@ constructor(definition) {

if (this.environmentVariable) {
if (this.required) {
// TODO: This constraint is imposed only because argparse enforces "required" parameters, but
// it does not know about ts-command-line environment variable mappings. We should fix this.
throw new Error(`An "environmentVariable" cannot be specified for "${this.longName}"` +
` because it is a required parameter`);
}
if (!this.allowNonStandardEnvironmentVariableNames &&

@@ -131,3 +125,2 @@ !ENVIRONMENT_VARIABLE_NAME_REGEXP.test(this.environmentVariable)) {

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
reportInvalidData(data) {

@@ -147,3 +140,3 @@ throw new Error(`Unexpected data object for parameter "${this.longName}": ` + JSON.stringify(data));

}
exports.CommandLineParameter = CommandLineParameter;
exports.CommandLineParameterBase = CommandLineParameterBase;
/**

@@ -157,3 +150,3 @@ * The common base class for parameters types that receive an argument.

*/
class CommandLineParameterWithArgument extends CommandLineParameter {
class CommandLineParameterWithArgument extends CommandLineParameterBase {
/** @internal */

@@ -160,0 +153,0 @@ constructor(definition) {

import type { ICommandLineChoiceListDefinition } from './CommandLineDefinition';
import { CommandLineParameter, CommandLineParameterKind } from './BaseClasses';
import { CommandLineParameterBase, CommandLineParameterKind } from './BaseClasses';
/**

@@ -7,3 +7,3 @@ * The data type returned by {@link CommandLineParameterProvider.defineChoiceListParameter}.

*/
export declare class CommandLineChoiceListParameter<TChoice extends string = string> extends CommandLineParameter {
export declare class CommandLineChoiceListParameter<TChoice extends string = string> extends CommandLineParameterBase {
/** {@inheritDoc ICommandLineChoiceListDefinition.alternatives} */

@@ -14,6 +14,6 @@ readonly alternatives: ReadonlyArray<TChoice>;

readonly completions: (() => Promise<TChoice[]>) | undefined;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.ChoiceList;
/** @internal */
constructor(definition: ICommandLineChoiceListDefinition<TChoice>);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -23,3 +23,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -26,0 +26,0 @@ * Returns the string arguments for a choice list parameter that was parsed from the command line.

@@ -12,3 +12,3 @@ "use strict";

*/
class CommandLineChoiceListParameter extends BaseClasses_1.CommandLineParameter {
class CommandLineChoiceListParameter extends BaseClasses_1.CommandLineParameterBase {
/** @internal */

@@ -18,2 +18,4 @@ constructor(definition) {

this._values = [];
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.ChoiceList;
if (definition.alternatives.length < 1) {

@@ -25,6 +27,2 @@ throw new Error(`When defining a choice list parameter, the alternatives list must contain at least one value.`);

}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.ChoiceList;
}
/**

@@ -34,3 +32,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -37,0 +34,0 @@ // If argparse passed us a value, confirm it is valid

import type { ICommandLineChoiceDefinition } from './CommandLineDefinition';
import { CommandLineParameter, CommandLineParameterKind } from './BaseClasses';
import { CommandLineParameterBase, CommandLineParameterKind } from './BaseClasses';
/**

@@ -8,3 +8,3 @@ * The data type returned by {@link CommandLineParameterProvider.(defineChoiceParameter:2)}.

export interface IRequiredCommandLineChoiceParameter<TChoice extends string = string> extends CommandLineChoiceParameter<TChoice> {
value: TChoice;
readonly value: TChoice;
}

@@ -15,3 +15,3 @@ /**

*/
export declare class CommandLineChoiceParameter<TChoice extends string = string> extends CommandLineParameter {
export declare class CommandLineChoiceParameter<TChoice extends string = string> extends CommandLineParameterBase {
/** {@inheritDoc ICommandLineChoiceDefinition.alternatives} */

@@ -24,6 +24,6 @@ readonly alternatives: ReadonlyArray<TChoice>;

readonly completions: (() => Promise<TChoice[]>) | undefined;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Choice;
/** @internal */
constructor(definition: ICommandLineChoiceDefinition<TChoice>);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -33,3 +33,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -36,0 +36,0 @@ * {@inheritDoc CommandLineParameter._getSupplementaryNotes}

@@ -11,3 +11,3 @@ "use strict";

*/
class CommandLineChoiceParameter extends BaseClasses_1.CommandLineParameter {
class CommandLineChoiceParameter extends BaseClasses_1.CommandLineParameterBase {
/** @internal */

@@ -17,2 +17,4 @@ constructor(definition) {

this._value = undefined;
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = -BaseClasses_1.CommandLineParameterKind.Choice;
if (definition.alternatives.length < 1) {

@@ -30,6 +32,2 @@ throw new Error(`When defining a choice parameter, the alternatives list must contain at least one value.`);

}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.Choice;
}
/**

@@ -39,3 +37,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -42,0 +39,0 @@ // abstract

@@ -46,5 +46,2 @@ import type { SCOPING_PARAMETER_GROUP } from '../Constants';

*
* This feature cannot be used when {@link IBaseCommandLineDefinition.required} is true,
* because in that case the environmentVariable would never be used.
*
* Syntax notes for environment variable values:

@@ -51,0 +48,0 @@ *

import type { ICommandLineFlagDefinition } from './CommandLineDefinition';
import { CommandLineParameter, CommandLineParameterKind } from './BaseClasses';
import { CommandLineParameterBase, CommandLineParameterKind } from './BaseClasses';
/**

@@ -7,8 +7,8 @@ * The data type returned by {@link CommandLineParameterProvider.defineFlagParameter}.

*/
export declare class CommandLineFlagParameter extends CommandLineParameter {
export declare class CommandLineFlagParameter extends CommandLineParameterBase {
private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Flag;
/** @internal */
constructor(definition: ICommandLineFlagDefinition);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -18,3 +18,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -21,0 +21,0 @@ * Returns a boolean indicating whether the parameter was included in the command line.

@@ -11,3 +11,3 @@ "use strict";

*/
class CommandLineFlagParameter extends BaseClasses_1.CommandLineParameter {
class CommandLineFlagParameter extends BaseClasses_1.CommandLineParameterBase {
/** @internal */

@@ -17,7 +17,5 @@ constructor(definition) {

this._value = false;
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.Flag;
}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.Flag;
}
/**

@@ -27,3 +25,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -30,0 +27,0 @@ // abstract

@@ -9,6 +9,6 @@ import type { ICommandLineIntegerListDefinition } from './CommandLineDefinition';

private _values;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.IntegerList;
/** @internal */
constructor(definition: ICommandLineIntegerListDefinition);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -18,3 +18,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -21,0 +21,0 @@ * Returns the integer arguments for an integer list parameter that was parsed from the command line.

@@ -17,7 +17,5 @@ "use strict";

this._values = [];
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.IntegerList;
}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.IntegerList;
}
/**

@@ -27,3 +25,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -30,0 +27,0 @@ // If argparse passed us a value, confirm it is valid

@@ -8,3 +8,3 @@ import type { ICommandLineIntegerDefinition } from './CommandLineDefinition';

export interface IRequiredCommandLineIntegerParameter extends CommandLineIntegerParameter {
value: number;
readonly value: number;
}

@@ -19,6 +19,6 @@ /**

private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.Integer;
/** @internal */
constructor(definition: ICommandLineIntegerDefinition);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -28,3 +28,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -31,0 +31,0 @@ * {@inheritDoc CommandLineParameter._getSupplementaryNotes}

@@ -16,9 +16,7 @@ "use strict";

this._value = undefined;
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.Integer;
this.defaultValue = definition.defaultValue;
this.validateDefaultValue(!!this.defaultValue);
}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.Integer;
}
/**

@@ -28,3 +26,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -31,0 +28,0 @@ // abstract

@@ -24,3 +24,3 @@ import type { ICommandLineRemainderDefinition } from './CommandLineDefinition';

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/** {@inheritDoc CommandLineParameter.appendToArgList} @override */

@@ -27,0 +27,0 @@ appendToArgList(argList: string[]): void;

@@ -30,3 +30,2 @@ "use strict";

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -33,0 +32,0 @@ // abstract

@@ -9,6 +9,6 @@ import type { ICommandLineStringListDefinition } from './CommandLineDefinition';

private _values;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.StringList;
/** @internal */
constructor(definition: ICommandLineStringListDefinition);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -18,3 +18,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -21,0 +21,0 @@ * Returns the string arguments for a string list parameter that was parsed from the command line.

@@ -17,7 +17,5 @@ "use strict";

this._values = [];
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.StringList;
}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.StringList;
}
/**

@@ -27,3 +25,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -30,0 +27,0 @@ // If argparse passed us a value, confirm it is valid

@@ -8,3 +8,3 @@ import type { ICommandLineStringDefinition } from './CommandLineDefinition';

export interface IRequiredCommandLineStringParameter extends CommandLineStringParameter {
value: string;
readonly value: string;
}

@@ -19,6 +19,6 @@ /**

private _value;
/** {@inheritDoc CommandLineParameter.kind} */
readonly kind: CommandLineParameterKind.String;
/** @internal */
constructor(definition: ICommandLineStringDefinition);
/** {@inheritDoc CommandLineParameter.kind} */
get kind(): CommandLineParameterKind;
/**

@@ -28,3 +28,3 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
_setValue(data: any): void;
_setValue(data: unknown): void;
/**

@@ -31,0 +31,0 @@ * {@inheritDoc CommandLineParameter._getSupplementaryNotes}

@@ -16,9 +16,7 @@ "use strict";

this._value = undefined;
/** {@inheritDoc CommandLineParameter.kind} */
this.kind = BaseClasses_1.CommandLineParameterKind.String;
this.defaultValue = definition.defaultValue;
this.validateDefaultValue(!!this.defaultValue);
}
/** {@inheritDoc CommandLineParameter.kind} */
get kind() {
return BaseClasses_1.CommandLineParameterKind.String;
}
/**

@@ -28,3 +26,2 @@ * {@inheritDoc CommandLineParameter._setValue}

*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
_setValue(data) {

@@ -31,0 +28,0 @@ // abstract

@@ -51,3 +51,3 @@ import { CommandLineAction } from './CommandLineAction';

/**
* This is called internally by CommandLineParser.execute()
* {@inheritdoc CommandLineParameterProvider._processParsedData}
* @internal

@@ -54,0 +54,0 @@ */

@@ -64,38 +64,32 @@ "use strict";

for (const parameter of this.targetAction.parameters) {
const { kind, longName, shortName } = parameter;
let aliasParameter;
const nameOptions = {
parameterLongName: parameter.longName,
parameterShortName: parameter.shortName
parameterLongName: longName,
parameterShortName: shortName
};
switch (parameter.kind) {
switch (kind) {
case BaseClasses_1.CommandLineParameterKind.Choice:
const choiceParameter = parameter;
aliasParameter = this.defineChoiceParameter(Object.assign(Object.assign(Object.assign({}, nameOptions), choiceParameter), { alternatives: [].concat(choiceParameter.alternatives) }));
aliasParameter = this.defineChoiceParameter(Object.assign(Object.assign(Object.assign({}, nameOptions), parameter), { alternatives: [...parameter.alternatives] }));
break;
case BaseClasses_1.CommandLineParameterKind.ChoiceList:
const choiceListParameter = parameter;
aliasParameter = this.defineChoiceListParameter(Object.assign(Object.assign(Object.assign({}, nameOptions), choiceListParameter), { alternatives: [].concat(choiceListParameter.alternatives) }));
aliasParameter = this.defineChoiceListParameter(Object.assign(Object.assign(Object.assign({}, nameOptions), parameter), { alternatives: [...parameter.alternatives] }));
break;
case BaseClasses_1.CommandLineParameterKind.Flag:
const flagParameter = parameter;
aliasParameter = this.defineFlagParameter(Object.assign(Object.assign({}, nameOptions), flagParameter));
aliasParameter = this.defineFlagParameter(Object.assign(Object.assign({}, nameOptions), parameter));
break;
case BaseClasses_1.CommandLineParameterKind.Integer:
const integerParameter = parameter;
aliasParameter = this.defineIntegerParameter(Object.assign(Object.assign({}, nameOptions), integerParameter));
aliasParameter = this.defineIntegerParameter(Object.assign(Object.assign({}, nameOptions), parameter));
break;
case BaseClasses_1.CommandLineParameterKind.IntegerList:
const integerListParameter = parameter;
aliasParameter = this.defineIntegerListParameter(Object.assign(Object.assign({}, nameOptions), integerListParameter));
aliasParameter = this.defineIntegerListParameter(Object.assign(Object.assign({}, nameOptions), parameter));
break;
case BaseClasses_1.CommandLineParameterKind.String:
const stringParameter = parameter;
aliasParameter = this.defineStringParameter(Object.assign(Object.assign({}, nameOptions), stringParameter));
aliasParameter = this.defineStringParameter(Object.assign(Object.assign({}, nameOptions), parameter));
break;
case BaseClasses_1.CommandLineParameterKind.StringList:
const stringListParameter = parameter;
aliasParameter = this.defineStringListParameter(Object.assign(Object.assign({}, nameOptions), stringListParameter));
aliasParameter = this.defineStringListParameter(Object.assign(Object.assign({}, nameOptions), parameter));
break;
default:
throw new Error(`Unsupported parameter kind: ${parameter.kind}`);
throw new Error(`Unsupported parameter kind: ${kind}`);
}

@@ -128,3 +122,3 @@ // We know the parserKey is defined because the underlying _defineParameter method sets it,

/**
* This is called internally by CommandLineParser.execute()
* {@inheritdoc CommandLineParameterProvider._processParsedData}
* @internal

@@ -131,0 +125,0 @@ */

import type * as argparse from 'argparse';
import { CommandLineParameterProvider, type ICommandLineParserData } from './CommandLineParameterProvider';
import type { ICommandLineParserOptions } from './CommandLineParser';
import { CommandLineParameterProvider } from './CommandLineParameterProvider';
/**

@@ -53,7 +52,2 @@ * Options for the CommandLineAction constructor.

/**
* This is called internally by CommandLineParser.execute()
* @internal
*/
_processParsedData(parserOptions: ICommandLineParserOptions, data: ICommandLineParserData): void;
/**
* Invoked by CommandLineParser.onExecute().

@@ -67,3 +61,3 @@ * @internal

*/
protected _getArgumentParser(): argparse.ArgumentParser;
_getArgumentParser(): argparse.ArgumentParser;
/**

@@ -70,0 +64,0 @@ * Your subclass should implement this hook to perform the operation.

@@ -62,9 +62,2 @@ "use strict";

/**
* This is called internally by CommandLineParser.execute()
* @internal
*/
_processParsedData(parserOptions, data) {
super._processParsedData(parserOptions, data);
}
/**
* Invoked by CommandLineParser.onExecute().

@@ -71,0 +64,0 @@ * @internal

import * as argparse from 'argparse';
import type { ICommandLineChoiceDefinition, ICommandLineChoiceListDefinition, ICommandLineIntegerDefinition, ICommandLineIntegerListDefinition, ICommandLineFlagDefinition, ICommandLineStringDefinition, ICommandLineStringListDefinition, ICommandLineRemainderDefinition } from '../parameters/CommandLineDefinition';
import type { ICommandLineParserOptions } from './CommandLineParser';
import { type CommandLineParameter } from '../parameters/BaseClasses';
import { type CommandLineParameterBase, type CommandLineParameter } from '../parameters/BaseClasses';
import { CommandLineChoiceParameter, type IRequiredCommandLineChoiceParameter } from '../parameters/CommandLineChoiceParameter';

@@ -76,3 +76,3 @@ import { CommandLineChoiceListParameter } from '../parameters/CommandLineChoiceListParameter';

*/
get parameters(): ReadonlyArray<CommandLineParameter>;
get parameters(): ReadonlyArray<CommandLineParameterBase>;
/**

@@ -99,2 +99,3 @@ * Informs the caller if the argparse data has been processed into parameters.

required: false | undefined;
defaultValue: undefined;
}): CommandLineChoiceParameter<TChoice>;

@@ -110,2 +111,8 @@ /**

*/
defineChoiceParameter<TChoice extends string = string>(definition: ICommandLineChoiceDefinition<TChoice> & {
defaultValue: TChoice;
}): IRequiredCommandLineChoiceParameter<TChoice>;
/**
* {@inheritdoc CommandLineParameterProvider.(defineChoiceParameter:1)}
*/
defineChoiceParameter<TChoice extends string = string>(definition: ICommandLineChoiceDefinition<TChoice>): CommandLineChoiceParameter<TChoice>;

@@ -164,2 +171,3 @@ /**

required: false | undefined;
defaultValue: undefined;
}): CommandLineIntegerParameter;

@@ -175,2 +183,8 @@ /**

*/
defineIntegerParameter(definition: ICommandLineIntegerDefinition & {
defaultValue: number;
}): IRequiredCommandLineIntegerParameter;
/**
* {@inheritdoc CommandLineParameterProvider.(defineIntegerParameter:1)}
*/
defineIntegerParameter(definition: ICommandLineIntegerDefinition): CommandLineIntegerParameter;

@@ -211,2 +225,3 @@ /**

required: false | undefined;
defaultValue: undefined;
}): CommandLineStringParameter;

@@ -222,2 +237,8 @@ /**

*/
defineStringParameter(definition: ICommandLineStringDefinition & {
defaultValue: string;
}): IRequiredCommandLineStringParameter;
/**
* {@inheritdoc CommandLineParameterProvider.(defineStringParameter:1)}
*/
defineStringParameter(definition: ICommandLineStringDefinition): CommandLineStringParameter;

@@ -293,5 +314,18 @@ /**

protected abstract _getArgumentParser(): argparse.ArgumentParser;
/**
* This is called internally by {@link CommandLineParser.execute}
* @internal
*/
_preParse(): void;
/**
* This is called internally by {@link CommandLineParser.execute} before `printUsage` is called
* @internal
*/
_postParse(): void;
/**
* This is called internally by {@link CommandLineParser.execute}
* @internal
*/
_processParsedData(parserOptions: ICommandLineParserOptions, data: ICommandLineParserData): void;
/** @internal */
protected _processParsedData(parserOptions: ICommandLineParserOptions, data: ICommandLineParserData): void;
/** @internal */
protected _defineParameter(parameter: CommandLineParameter): void;

@@ -298,0 +332,0 @@ /** @internal */

@@ -358,4 +358,28 @@ "use strict";

}
/** @internal */
/**
* This is called internally by {@link CommandLineParser.execute}
* @internal
*/
_preParse() {
var _a;
for (const parameter of this._parameters) {
(_a = parameter._preParse) === null || _a === void 0 ? void 0 : _a.call(parameter);
}
}
/**
* This is called internally by {@link CommandLineParser.execute} before `printUsage` is called
* @internal
*/
_postParse() {
var _a;
for (const parameter of this._parameters) {
(_a = parameter._postParse) === null || _a === void 0 ? void 0 : _a.call(parameter);
}
}
/**
* This is called internally by {@link CommandLineParser.execute}
* @internal
*/
_processParsedData(parserOptions, data) {
var _a;
if (!this._parametersHaveBeenRegistered) {

@@ -427,4 +451,5 @@ throw new Error('Parameters have not been registered');

for (const parameter of this._parameters) {
const value = data[parameter._parserKey]; // eslint-disable-line @typescript-eslint/no-explicit-any
const value = data[parameter._parserKey];
parameter._setValue(value);
(_a = parameter._validateValue) === null || _a === void 0 ? void 0 : _a.call(parameter);
}

@@ -478,16 +503,17 @@ if (this.remainder) {

_registerParameter(parameter, useScopedLongName, ignoreShortName) {
var _a;
var _a, _b, _c;
const { shortName, longName, scopedLongName, description, kind, required, environmentVariable, parameterGroup, undocumentedSynonyms, _parserKey: parserKey } = parameter;
const names = [];
if (parameter.shortName && !ignoreShortName) {
names.push(parameter.shortName);
if (shortName && !ignoreShortName) {
names.push(shortName);
}
// Use the original long name unless otherwise requested
if (!useScopedLongName) {
names.push(parameter.longName);
names.push(longName);
}
// Add the scoped long name if it exists
if (parameter.scopedLongName) {
names.push(parameter.scopedLongName);
if (scopedLongName) {
names.push(scopedLongName);
}
let finalDescription = parameter.description;
let finalDescription = description;
const supplementaryNotes = [];

@@ -498,3 +524,3 @@ parameter._getSupplementaryNotes(supplementaryNotes);

if (finalDescription.match(/[a-z0-9]"?\s*$/i)) {
finalDescription = finalDescription.trimRight() + '.';
finalDescription = finalDescription.trimEnd() + '.';
}

@@ -504,31 +530,24 @@ // Append the supplementary text

}
// NOTE: Our "environmentVariable" feature takes precedence over argparse's "defaultValue",
// so we have to reimplement that feature.
const argparseOptions = {
help: finalDescription,
dest: parameter._parserKey,
metavar: parameter.argumentName || undefined,
required: parameter.required
};
switch (parameter.kind) {
let choices;
let action;
let type;
switch (kind) {
case BaseClasses_1.CommandLineParameterKind.Choice: {
const choiceParameter = parameter;
argparseOptions.choices = choiceParameter.alternatives;
choices = parameter.alternatives;
break;
}
case BaseClasses_1.CommandLineParameterKind.ChoiceList: {
const choiceParameter = parameter;
argparseOptions.choices = choiceParameter.alternatives;
argparseOptions.action = 'append';
choices = parameter.alternatives;
action = 'append';
break;
}
case BaseClasses_1.CommandLineParameterKind.Flag:
argparseOptions.action = 'storeTrue';
action = 'storeTrue';
break;
case BaseClasses_1.CommandLineParameterKind.Integer:
argparseOptions.type = 'int';
type = 'int';
break;
case BaseClasses_1.CommandLineParameterKind.IntegerList:
argparseOptions.type = 'int';
argparseOptions.action = 'append';
type = 'int';
action = 'append';
break;

@@ -538,35 +557,91 @@ case BaseClasses_1.CommandLineParameterKind.String:

case BaseClasses_1.CommandLineParameterKind.StringList:
argparseOptions.action = 'append';
action = 'append';
break;
}
// NOTE: Our "environmentVariable" feature takes precedence over argparse's "defaultValue",
// so we have to reimplement that feature.
const argparseOptions = {
help: finalDescription,
dest: parserKey,
metavar: parameter.argumentName,
required,
choices,
action,
type
};
const argumentParser = this._getArgumentParser();
let argumentGroup;
if (parameter.parameterGroup) {
argumentGroup = this._parameterGroupsByName.get(parameter.parameterGroup);
if (parameterGroup) {
argumentGroup = this._parameterGroupsByName.get(parameterGroup);
if (!argumentGroup) {
let parameterGroupName;
if (typeof parameter.parameterGroup === 'string') {
parameterGroupName = parameter.parameterGroup;
if (typeof parameterGroup === 'string') {
parameterGroupName = parameterGroup;
}
else if (parameter.parameterGroup === Constants_1.SCOPING_PARAMETER_GROUP) {
else if (parameterGroup === Constants_1.SCOPING_PARAMETER_GROUP) {
parameterGroupName = 'scoping';
}
else {
throw new Error('Unexpected parameter group: ' + parameter.parameterGroup);
throw new Error('Unexpected parameter group: ' + parameterGroup);
}
argumentGroup = this._getArgumentParser().addArgumentGroup({
argumentGroup = argumentParser.addArgumentGroup({
title: `Optional ${parameterGroupName} arguments`
});
this._parameterGroupsByName.set(parameter.parameterGroup, argumentGroup);
this._parameterGroupsByName.set(parameterGroup, argumentGroup);
}
}
else {
argumentGroup = this._getArgumentParser();
argumentGroup = argumentParser;
}
argumentGroup.addArgument(names, Object.assign({}, argparseOptions));
if ((_a = parameter.undocumentedSynonyms) === null || _a === void 0 ? void 0 : _a.length) {
argumentGroup.addArgument(parameter.undocumentedSynonyms, Object.assign(Object.assign({}, argparseOptions), { help: argparse.Const.SUPPRESS }));
const argparseArgument = argumentGroup.addArgument(names, argparseOptions);
if (required && environmentVariable) {
// Add some special-cased logic to handle required parameters with environment variables
const originalPreParse = (_a = parameter._preParse) === null || _a === void 0 ? void 0 : _a.bind(parameter);
parameter._preParse = () => {
originalPreParse === null || originalPreParse === void 0 ? void 0 : originalPreParse();
// Set the value as non-required before parsing. We'll validate it explicitly
argparseArgument.required = false;
};
const originalPostParse = (_b = parameter._postParse) === null || _b === void 0 ? void 0 : _b.bind(parameter);
parameter._postParse = () => {
// Reset the required value to make the usage text correct
argparseArgument.required = true;
originalPostParse === null || originalPostParse === void 0 ? void 0 : originalPostParse();
};
function throwMissingParameterError() {
argumentParser.error(`Argument "${longName}" is required`);
}
const originalValidateValue = (_c = parameter._validateValue) === null || _c === void 0 ? void 0 : _c.bind(parameter);
// For these values, we have to perform explicit validation because they're requested
// as required, but we disabled argparse's required flag to allow the environment variable
// to potentially fill the value.
switch (kind) {
case BaseClasses_1.CommandLineParameterKind.Choice:
case BaseClasses_1.CommandLineParameterKind.Integer:
case BaseClasses_1.CommandLineParameterKind.String:
parameter._validateValue = function () {
if (this.value === undefined || this.value === null) {
throwMissingParameterError();
}
originalValidateValue === null || originalValidateValue === void 0 ? void 0 : originalValidateValue();
};
break;
case BaseClasses_1.CommandLineParameterKind.ChoiceList:
case BaseClasses_1.CommandLineParameterKind.IntegerList:
case BaseClasses_1.CommandLineParameterKind.StringList:
parameter._validateValue = function () {
if (this.values.length === 0) {
throwMissingParameterError();
}
originalValidateValue === null || originalValidateValue === void 0 ? void 0 : originalValidateValue();
};
break;
}
}
if (undocumentedSynonyms === null || undocumentedSynonyms === void 0 ? void 0 : undocumentedSynonyms.length) {
argumentGroup.addArgument(undocumentedSynonyms, Object.assign(Object.assign({}, argparseOptions), { help: argparse.Const.SUPPRESS }));
}
// Register the parameter names so that we can detect ambiguous parameters
for (const name of [...names, ...(parameter.undocumentedSynonyms || [])]) {
this._registeredParameterParserKeysByName.set(name, parameter._parserKey);
for (const name of [...names, ...(undocumentedSynonyms || [])]) {
this._registeredParameterParserKeysByName.set(name, parserKey);
}

@@ -573,0 +648,0 @@ }

@@ -177,3 +177,23 @@ "use strict";

}
const postParse = () => {
this._postParse();
for (const action of this.actions) {
action._postParse();
}
};
function patchFormatUsageForArgumentParser(argumentParser) {
const originalFormatUsage = argumentParser.formatUsage.bind(argumentParser);
argumentParser.formatUsage = () => {
postParse();
return originalFormatUsage();
};
}
this._preParse();
patchFormatUsageForArgumentParser(this._argumentParser);
for (const action of this.actions) {
action._preParse();
patchFormatUsageForArgumentParser(action._getArgumentParser());
}
const data = this._argumentParser.parseArgs(args);
postParse();
this._processParsedData(this._options, data);

@@ -180,0 +200,0 @@ this.selectedAction = this.tryGetAction(data.action);

import { SCOPING_PARAMETER_GROUP } from '../Constants';
import { CommandLineAction, type ICommandLineActionOptions } from './CommandLineAction';
import { CommandLineParser, type ICommandLineParserOptions } from './CommandLineParser';
import type { CommandLineParameter } from '../parameters/BaseClasses';
import type { CommandLineParameter, CommandLineParameterBase } from '../parameters/BaseClasses';
import type { CommandLineParameterProvider, ICommandLineParserData, IRegisterDefinedParametersState } from './CommandLineParameterProvider';

@@ -41,6 +41,9 @@ /**

* {@inheritDoc CommandLineParameterProvider.parameters}
*
* @internalremarks
* TODO: Replace this type with `CommandLineParameter` in the next major bump.
*/
get parameters(): ReadonlyArray<CommandLineParameter>;
get parameters(): ReadonlyArray<CommandLineParameterBase>;
/**
* {@inheritdoc CommandLineAction._processParsedData}
* {@inheritdoc CommandLineParameterProvider._processParsedData}
* @internal

@@ -47,0 +50,0 @@ */

@@ -84,2 +84,5 @@ "use strict";

* {@inheritDoc CommandLineParameterProvider.parameters}
*
* @internalremarks
* TODO: Replace this type with `CommandLineParameter` in the next major bump.
*/

@@ -95,3 +98,3 @@ get parameters() {

/**
* {@inheritdoc CommandLineAction._processParsedData}
* {@inheritdoc CommandLineParameterProvider._processParsedData}
* @internal

@@ -98,0 +101,0 @@ */

@@ -1,2 +0,2 @@

import { type CommandLineParameter } from '../parameters/BaseClasses';
import { type CommandLineParameterBase } from '../parameters/BaseClasses';
import { CommandLineAction } from './CommandLineAction';

@@ -8,3 +8,3 @@ export declare class TabCompleteAction extends CommandLineAction {

private readonly _globalParameters;
constructor(actions: ReadonlyArray<CommandLineAction>, globalParameters: ReadonlyArray<CommandLineParameter>);
constructor(actions: ReadonlyArray<CommandLineAction>, globalParameters: ReadonlyArray<CommandLineParameterBase>);
protected onExecute(): Promise<void>;

@@ -11,0 +11,0 @@ getCompletions(commandLine: string, caretPosition?: number): AsyncIterable<string>;

@@ -80,4 +80,4 @@ "use strict";

var _a, e_1, _b, _c;
const commandLine = this._wordToCompleteParameter.value || '';
const caretPosition = this._positionParameter.value || (commandLine && commandLine.length) || 0;
const commandLine = this._wordToCompleteParameter.value;
const caretPosition = this._positionParameter.value || commandLine.length;
try {

@@ -180,9 +180,7 @@ for (var _d = true, _e = __asyncValues(this.getCompletions(commandLine, caretPosition)), _f; _f = await _e.next(), _a = _f.done, !_a; _d = true) {

let parameterWithArgumentOrChoices = undefined;
if (parameter instanceof BaseClasses_1.CommandLineParameterWithArgument) {
if (parameter instanceof BaseClasses_1.CommandLineParameterWithArgument ||
parameter instanceof CommandLineChoiceParameter_1.CommandLineChoiceParameter) {
parameterWithArgumentOrChoices = parameter;
}
else if (parameter instanceof CommandLineChoiceParameter_1.CommandLineChoiceParameter) {
parameterWithArgumentOrChoices = parameter;
}
if (parameterWithArgumentOrChoices && parameterWithArgumentOrChoices.completions) {
if (parameterWithArgumentOrChoices === null || parameterWithArgumentOrChoices === void 0 ? void 0 : parameterWithArgumentOrChoices.completions) {
choiceParameterValues = await parameterWithArgumentOrChoices.completions();

@@ -189,0 +187,0 @@ }

{
"name": "@rushstack/ts-command-line",
"version": "4.18.1",
"version": "4.19.0",
"description": "An object-oriented command-line parser for TypeScript",

@@ -5,0 +5,0 @@ "repository": {

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc