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

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';

  load(options: ResolveConfigOptions): ConfigLoadResult | undefined {
    // Load config from your custom source
    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:268

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


name

name: string

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

Human-readable name for diagnostics


priority?

optional priority: number

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

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): void

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

Create a new instance in this source.

Parameters

options

CreateInstanceOptions & ResolveConfigOptions

Creation options including name and config

Returns

void


listInstances()?

optional listInstances(options?): InstanceInfo[]

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

List all instances from this source.

Parameters

options?

ResolveConfigOptions

Resolution options

Returns

InstanceInfo[]

Array of instance info objects


load()

load(options): ConfigLoadResult | undefined

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

Load configuration from this source.

Parameters

options

ResolveConfigOptions

Resolution options

Returns

ConfigLoadResult | undefined

Config and location from this source, or undefined if source not available


removeCredential()?

optional removeCredential(instanceName, field, options?): void

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

Remove a credential for an instance.

Parameters

instanceName

string

Instance name

field

keyof NormalizedConfig

Config field to remove

options?

ResolveConfigOptions

Resolution options

Returns

void


removeInstance()?

optional removeInstance(name, options?): void

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

Remove an instance from this source.

Parameters

name

string

Instance name to remove

options?

ResolveConfigOptions

Resolution options

Returns

void


setActiveInstance()?

optional setActiveInstance(name, options?): void

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

Set an instance as active.

Parameters

name

string

Instance name to set as active

options?

ResolveConfigOptions

Resolution options

Returns

void


storeCredential()?

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

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

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

void

Released under the Apache-2.0 License.