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

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

# Class: B2CLifecycleRunner

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:238](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L238)

Helper class for running B2C lifecycle hooks in CLI commands.

This class is used internally by CLI commands to collect and invoke
lifecycle providers from plugins.

## Constructors

### Constructor

> **new B2CLifecycleRunner**(`logger?`): `B2CLifecycleRunner`

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:242](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L242)

#### Parameters

##### logger?

[`Logger`](../../logging/interfaces/Logger.md)

#### Returns

`B2CLifecycleRunner`

## Accessors

### size

#### Get Signature

> **get** **size**(): `number`

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:305](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L305)

Returns the number of registered providers.

##### Returns

`number`

## Methods

### addProviders()

> **addProviders**(`providers`): `void`

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:249](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L249)

Adds providers to this runner.

#### Parameters

##### providers

[`B2COperationLifecycleProvider`](../interfaces/B2COperationLifecycleProvider.md)[]

#### Returns

`void`

***

### runAfter()

> **runAfter**(`context`, `result`): `Promise`\<`void`\>

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:289](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L289)

Runs afterOperation hooks for all providers.

#### Parameters

##### context

[`B2COperationContext`](../interfaces/B2COperationContext.md)

Operation context

##### result

[`B2COperationResult`](../interfaces/B2COperationResult.md)

Operation result

#### Returns

`Promise`\<`void`\>

***

### runBefore()

> **runBefore**(`context`): `Promise`\<[`BeforeB2COperationResult`](../interfaces/BeforeB2COperationResult.md)\>

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:259](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L259)

Runs beforeOperation hooks for all providers.

#### Parameters

##### context

[`B2COperationContext`](../interfaces/B2COperationContext.md)

Operation context

#### Returns

`Promise`\<[`BeforeB2COperationResult`](../interfaces/BeforeB2COperationResult.md)\>

Aggregated result (skip if any provider requests skip)
