---
editLink: false
lastUpdated: false
---

[@salesforce/b2c-tooling-sdk](../../modules.md) / [config](../index.md) / resolveConfig

# Function: resolveConfig()

> **resolveConfig**(`overrides`, `options`): `Promise`\<[`ResolvedB2CConfig`](../interfaces/ResolvedB2CConfig.md)\>

Defined in: [packages/b2c-tooling-sdk/src/config/resolver.ts:456](https://github.com/SalesforceCommerceCloud/b2c-developer-tooling/blob/e7c16f1ae423da0aa47b3e10be88f9770b53619b/packages/b2c-tooling-sdk/src/config/resolver.ts#L456)

Resolves configuration from multiple sources and returns a rich config object.

This is the preferred high-level API for configuration resolution. It returns
a [ResolvedB2CConfig](../interfaces/ResolvedB2CConfig.md) object with validation methods and factory methods
for creating SDK objects.

## Resolution Priority

1. Explicit overrides (passed as first argument)
2. Default sources (dw.json, ~/.mobify)
3. Custom sources (via options.sources)

## Example

```typescript
import { resolveConfig } from '@salesforce/b2c-tooling-sdk/config';

const config = resolveConfig({
  hostname: process.env.SFCC_SERVER,
  clientId: process.env.SFCC_CLIENT_ID,
  mrtApiKey: process.env.MRT_API_KEY,
});

// Check what's available and create objects
if (config.hasB2CInstanceConfig()) {
  const instance = config.createB2CInstance();
  await instance.webdav.propfind('Cartridges');
}

if (config.hasMrtConfig()) {
  const mrtAuth = config.createMrtAuth();
}
```

## Parameters

### overrides

`Partial`\<[`NormalizedConfig`](../interfaces/NormalizedConfig.md)\> = `{}`

Explicit configuration values (highest priority)

### options

[`ResolveConfigOptions`](../interfaces/ResolveConfigOptions.md) = `{}`

Resolution options

## Returns

`Promise`\<[`ResolvedB2CConfig`](../interfaces/ResolvedB2CConfig.md)\>

Resolved configuration with factory methods
