---
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:239](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L239)

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:243](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L243)

#### 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:306](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L306)

Returns the number of registered providers.

##### Returns

`number`

## Methods

### addProviders()

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

Defined in: [packages/b2c-tooling-sdk/src/cli/lifecycle.ts:250](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L250)

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:290](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L290)

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:260](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/2feab01f654eec77c6d702777ec2818472f131f1/packages/b2c-tooling-sdk/src/cli/lifecycle.ts#L260)

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)
