Skip to content

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

Interface: ConfigSource ​

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

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:311

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


name ​

name: string

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

Human-readable name for diagnostics


priority? ​

optional priority: number

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

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:290

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:284

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:275

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:333

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:297

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:304

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:320

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.