---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [cli](../index.md) / CartridgeCommand

# Abstract Class: CartridgeCommand\<T\>

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-command.ts:32](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/cartridge-command.ts#L32)

Base command for cartridge operations (deploy, watch, etc.).

Extends InstanceCommand with:
- cartridgePath argument for specifying cartridge directory
- cartridge include/exclude flags for filtering

## Example

```ts
export default class MyCartridgeCommand extends CartridgeCommand<typeof MyCartridgeCommand> {
  async run(): Promise<void> {
    const cartridges = findCartridges(this.cartridgePath, this.cartridgeOptions);
    // ...
  }
}
```

## Extends

- [`InstanceCommand`](InstanceCommand.md)\<`T`\>

## Type Parameters

### T

`T` *extends* *typeof* `Command`

## Constructors

### Constructor

> **new CartridgeCommand**\<`T`\>(`argv`, `config`): `CartridgeCommand`\<`T`\>

Defined in: [packages/b2c-tooling-sdk/src/cli/oauth-command.ts:38](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/oauth-command.ts#L38)

#### Parameters

##### argv

`string`[]

##### config

`Config`

#### Returns

`CartridgeCommand`\<`T`\>

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`constructor`](InstanceCommand.md#constructor)

## Properties

### argv

> **argv**: `string`[]

Defined in: node\_modules/@oclif/core/lib/command.d.ts:12

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`argv`](InstanceCommand.md#argv)

***

### config

> **config**: `Config`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:13

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`config`](InstanceCommand.md#config)

***

### id

> **id**: `string` \| `undefined`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:75

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`id`](InstanceCommand.md#id)

***

### parsed

> **parsed**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:76

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`parsed`](InstanceCommand.md#parsed)

***

### aliases

> `static` **aliases**: `string`[]

Defined in: node\_modules/@oclif/core/lib/command.d.ts:16

An array of aliases for this command.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`aliases`](InstanceCommand.md#aliases)

***

### args

> `static` **args**: `ArgInput`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:18

An order-dependent object of arguments for the command

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`args`](InstanceCommand.md#args)

***

### baseArgs

> `static` **baseArgs**: `object`

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-command.ts:33](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/cartridge-command.ts#L33)

#### cartridgePath

> **cartridgePath**: `Arg`\<`string`, `Record`\<`string`, `unknown`\>\>

***

### baseFlags

> `static` **baseFlags**: `object`

Defined in: [packages/b2c-tooling-sdk/src/cli/instance-command.ts:51](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/instance-command.ts#L51)

#### account-manager-host

> **account-manager-host**: `OptionFlag`\<`string`, `CustomOptions`\>

#### auth-methods

> **auth-methods**: `OptionFlag`\<`string`[] \| `undefined`, `CustomOptions`\>

#### auth-scope

> **auth-scope**: `OptionFlag`\<`string`[] \| `undefined`, `CustomOptions`\>

#### certificate

> **certificate**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### client-id

> **client-id**: `OptionFlag`\<`string`, `CustomOptions`\>

#### client-secret

> **client-secret**: `OptionFlag`\<`string`, `CustomOptions`\>

#### code-version

> **code-version**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### config

> **config**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### debug

> **debug**: `BooleanFlag`\<`boolean`\>

#### extra-body

> **extra-body**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### extra-headers

> **extra-headers**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### extra-query

> **extra-query**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### instance

> **instance**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### json

> **json**: `BooleanFlag`\<`boolean`\>

#### jsonl

> **jsonl**: `BooleanFlag`\<`boolean`\>

#### lang

> **lang**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### log-level

> **log-level**: `OptionFlag`\<`"trace"` \| `"debug"` \| `"info"` \| `"warn"` \| `"error"` \| `"silent"` \| `undefined`, `CustomOptions`\>

#### passphrase

> **passphrase**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### password

> **password**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### project-directory

> **project-directory**: `OptionFlag`\<`string`, `CustomOptions`\>

#### selfsigned

> **selfsigned**: `BooleanFlag`\<`boolean`\>

#### server

> **server**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### short-code

> **short-code**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### tenant-id

> **tenant-id**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### user-auth

> **user-auth**: `BooleanFlag`\<`boolean`\>

#### username

> **username**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### verify

> **verify**: `BooleanFlag`\<`boolean`\>

#### webdav-server

> **webdav-server**: `OptionFlag`\<`string` \| `undefined`, `CustomOptions`\>

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`baseFlags`](InstanceCommand.md#baseflags)

***

### cartridgeFlags

> `static` **cartridgeFlags**: `object`

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-command.ts:40](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/cartridge-command.ts#L40)

#### cartridge

> **cartridge**: `OptionFlag`\<`string`[] \| `undefined`, `CustomOptions`\>

#### exclude-cartridge

> **exclude-cartridge**: `OptionFlag`\<`string`[] \| `undefined`, `CustomOptions`\>

***

### deprecateAliases?

> `static` `optional` **deprecateAliases**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:23

Emit deprecation warning when a command alias is used

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`deprecateAliases`](InstanceCommand.md#deprecatealiases)

***

### deprecationOptions?

> `static` `optional` **deprecationOptions**: `Deprecation`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:24

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`deprecationOptions`](InstanceCommand.md#deprecationoptions)

***

### description

> `static` **description**: `string` \| `undefined`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:30

A full description of how to use the command.

If no summary, the first line of the description will be used as the summary.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`description`](InstanceCommand.md#description)

***

### enableJsonFlag

> `static` **enableJsonFlag**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:31

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`enableJsonFlag`](InstanceCommand.md#enablejsonflag)

***

### examples

> `static` **examples**: `Example`[]

Defined in: node\_modules/@oclif/core/lib/command.d.ts:46

An array of examples to show at the end of the command's help.

IF only a string is provided, it will try to look for a line that starts
with the cmd.bin as the example command and the rest as the description.
If found, the command will be formatted appropriately.

```
EXAMPLES:
  A description of a particular use case.

    $ <%= config.bin => command flags
```

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`examples`](InstanceCommand.md#examples)

***

### flags

> `static` **flags**: `FlagInput`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:48

A hash of flags for the command

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`flags`](InstanceCommand.md#flags)

***

### hasDynamicHelp

> `static` **hasDynamicHelp**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:49

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`hasDynamicHelp`](InstanceCommand.md#hasdynamichelp)

***

### help

> `static` **help**: `string` \| `undefined`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:50

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`help`](InstanceCommand.md#help)

***

### hidden

> `static` **hidden**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:52

Hide the command from help

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`hidden`](InstanceCommand.md#hidden)

***

### hiddenAliases

> `static` **hiddenAliases**: `string`[]

Defined in: node\_modules/@oclif/core/lib/command.d.ts:54

An array of aliases for this command that are hidden from help.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`hiddenAliases`](InstanceCommand.md#hiddenaliases)

***

### id

> `static` **id**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:56

A command ID, used mostly in error or verbose reporting.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`id`](InstanceCommand.md#id-1)

***

### plugin

> `static` **plugin**: `Plugin` \| `undefined`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:57

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`plugin`](InstanceCommand.md#plugin)

***

### pluginAlias?

> `readonly` `static` `optional` **pluginAlias**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:58

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`pluginAlias`](InstanceCommand.md#pluginalias)

***

### pluginName?

> `readonly` `static` `optional` **pluginName**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:59

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`pluginName`](InstanceCommand.md#pluginname)

***

### pluginType?

> `readonly` `static` `optional` **pluginType**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:60

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`pluginType`](InstanceCommand.md#plugintype)

***

### state?

> `static` `optional` **state**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:62

Mark the command as a given state (e.g. beta or deprecated) in help

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`state`](InstanceCommand.md#state)

***

### strict

> `static` **strict**: `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:64

When set to false, allows a variable amount of arguments

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`strict`](InstanceCommand.md#strict)

***

### summary?

> `static` `optional` **summary**: `string`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:69

The tweet-sized description for your class, used in a parent-commands
sub-command listing and as the header for the command help.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`summary`](InstanceCommand.md#summary)

***

### usage

> `static` **usage**: `string` \| `string`[] \| `undefined`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:73

An override string (or strings) for the default usage documentation.

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`usage`](InstanceCommand.md#usage)

## Methods

### baseCommandTest()

> **baseCommandTest**(): `void`

Defined in: [packages/b2c-tooling-sdk/src/cli/base-command.ts:617](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/base-command.ts#L617)

#### Returns

`void`

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`baseCommandTest`](InstanceCommand.md#basecommandtest)

***

### error()

#### Call Signature

> **error**(`input`, `options`): `void`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:90

##### Parameters

###### input

`string` | `Error`

###### options

`object` & `PrettyPrintableError`

##### Returns

`void`

##### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`error`](InstanceCommand.md#error)

#### Call Signature

> **error**(`input`, `options?`): `never`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:94

##### Parameters

###### input

`string` | `Error`

###### options?

`object` & `PrettyPrintableError`

##### Returns

`never`

##### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`error`](InstanceCommand.md#error)

***

### exit()

> **exit**(`code?`): `never`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:98

#### Parameters

##### code?

`number`

#### Returns

`never`

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`exit`](InstanceCommand.md#exit)

***

### init()

> **init**(): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/cli/cartridge-command.ts:63](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/cartridge-command.ts#L63)

Override init to collect cartridge providers from plugins.

#### Returns

`Promise`\<`void`\>

#### Overrides

[`InstanceCommand`](InstanceCommand.md).[`init`](InstanceCommand.md#init)

***

### jsonEnabled()

> **jsonEnabled**(): `boolean`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:106

Determine if the command is being run with the --json flag in a command that supports it.

#### Returns

`boolean`

true if the command supports json and the --json flag is present

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`jsonEnabled`](InstanceCommand.md#jsonenabled)

***

### log()

> **log**(`message?`, ...`args?`): `void`

Defined in: [packages/b2c-tooling-sdk/src/cli/base-command.ts:315](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/base-command.ts#L315)

Override oclif's log() to use pino.

#### Parameters

##### message?

`string`

##### args?

...`unknown`[]

#### Returns

`void`

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`log`](InstanceCommand.md#log)

***

### logToStderr()

> **logToStderr**(`message?`, ...`args?`): `void`

Defined in: node\_modules/@oclif/core/lib/command.d.ts:109

#### Parameters

##### message?

`string`

##### args?

...`any`[]

#### Returns

`void`

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`logToStderr`](InstanceCommand.md#logtostderr)

***

### run()

> `abstract` **run**(): `Promise`\<`any`\>

Defined in: node\_modules/@oclif/core/lib/command.d.ts:114

actual command run code goes here

#### Returns

`Promise`\<`any`\>

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`run`](InstanceCommand.md#run)

***

### warn()

> **warn**(`input`): `string` \| `Error`

Defined in: [packages/b2c-tooling-sdk/src/cli/base-command.ts:324](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/base-command.ts#L324)

Override oclif's warn() to use pino.

#### Parameters

##### input

`string` | `Error`

#### Returns

`string` \| `Error`

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`warn`](InstanceCommand.md#warn)

***

### run()

> `static` **run**\<`T`\>(`this`, `argv?`, `opts?`): `Promise`\<`ReturnType`\<`T`\[`"run"`\]\>\>

Defined in: node\_modules/@oclif/core/lib/command.d.ts:86

instantiate and run the command

#### Type Parameters

##### T

`T` *extends* `Command`

#### Parameters

##### this

(`argv`, `config`) => `T`

the command class

##### argv?

`string`[]

argv

##### opts?

`LoadOptions`

options

#### Returns

`Promise`\<`ReturnType`\<`T`\[`"run"`\]\>\>

result

#### Inherited from

[`InstanceCommand`](InstanceCommand.md).[`run`](InstanceCommand.md#run-2)
