Developer Preview — This project is in active development. APIs may change. Provide feedback
Skip to content

@salesforce/b2c-tooling-sdk / config / ConfigSource

Interface: ConfigSource

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:232

A configuration source that can contribute config values.

Implement this interface to create custom configuration sources. Sources are called in order, and later sources can override earlier ones.

Example

typescript
import type { ConfigSource, ConfigLoadResult, ResolveConfigOptions } from '@salesforce/b2c-tooling-sdk/config';

class MyCustomSource implements ConfigSource {
  name = 'my-custom-source';

  async load(options: ResolveConfigOptions): Promise<ConfigLoadResult | undefined> {
    // Load config from your custom source (sync return values also work)
    return { config: { hostname: 'example.com' }, location: '/path/to/config' };
  }
}

Properties

credentialFields?

optional credentialFields: keyof NormalizedConfig[]

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:292

Fields this source can securely store (e.g., ['password', 'clientSecret']).


name

name: string

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:234

Human-readable name for diagnostics


priority?

optional priority: number

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:247

Priority for source ordering. Lower numbers = higher priority.

Recommended ranges:

  • < 0: Before built-in sources (override defaults)
  • 0: Built-in sources (DwJsonSource, MobifySource)
  • 1-999: After built-in sources (fill gaps)
  • 1000: Lowest priority (PackageJsonSource)

Default

ts
0

Methods

createInstance()?

optional createInstance(options): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:271

Create a new instance in this source.

Parameters

options

CreateInstanceOptions & ResolveConfigOptions

Creation options including name and config

Returns

MaybePromise<void>


listInstances()?

optional listInstances(options?): MaybePromise<InstanceInfo[]>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:265

List all instances from this source.

Parameters

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<InstanceInfo[]>

Array of instance info objects. May return synchronously or as a Promise.


load()

load(options): MaybePromise<ConfigLoadResult | undefined>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:256

Load configuration from this source.

Parameters

options

ResolveConfigOptions

Resolution options

Returns

MaybePromise<ConfigLoadResult | undefined>

Config and location from this source, or undefined if source not available. May return synchronously or as a Promise.


removeCredential()?

optional removeCredential(instanceName, field, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:314

Remove a credential for an instance.

Parameters

instanceName

string

Instance name

field

keyof NormalizedConfig

Config field to remove

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


removeInstance()?

optional removeInstance(name, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:278

Remove an instance from this source.

Parameters

name

string

Instance name to remove

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


setActiveInstance()?

optional setActiveInstance(name, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:285

Set an instance as active.

Parameters

name

string

Instance name to set as active

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>


storeCredential()?

optional storeCredential(instanceName, field, value, options?): MaybePromise<void>

Defined in: packages/b2c-tooling-sdk/src/config/types.ts:301

Store a credential value for an instance.

Parameters

instanceName

string

Instance name

field

keyof NormalizedConfig

Config field to store

value

string

Value to store

options?

ResolveConfigOptions

Resolution options

Returns

MaybePromise<void>

Released under the Apache-2.0 License.