@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
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?
optionalcredentialFields: keyofNormalizedConfig[]
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?
optionalpriority: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
0Methods
createInstance()?
optionalcreateInstance(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()?
optionallistInstances(options?):InstanceInfo[]
Defined in: packages/b2c-tooling-sdk/src/config/types.ts:241
List all instances from this source.
Parameters
options?
Resolution options
Returns
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
Resolution options
Returns
ConfigLoadResult | undefined
Config and location from this source, or undefined if source not available
removeCredential()?
optionalremoveCredential(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?
Resolution options
Returns
void
removeInstance()?
optionalremoveInstance(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?
Resolution options
Returns
void
setActiveInstance()?
optionalsetActiveInstance(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?
Resolution options
Returns
void
storeCredential()?
optionalstoreCredential(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?
Resolution options
Returns
void