|
|
@ -180,8 +180,13 @@ async function resolveConfigExtends(
|
|
|
|
): Promise<UserConfig> {
|
|
|
|
): Promise<UserConfig> {
|
|
|
|
const resolved = await (typeof config === 'function' ? config() : config)
|
|
|
|
const resolved = await (typeof config === 'function' ? config() : config)
|
|
|
|
if (resolved.extends) {
|
|
|
|
if (resolved.extends) {
|
|
|
|
const base = await resolveConfigExtends(resolved.extends)
|
|
|
|
const extendsRaw = [resolved.extends].flat()
|
|
|
|
return mergeConfig(base, resolved)
|
|
|
|
const manyBases = await Promise.all(
|
|
|
|
|
|
|
|
extendsRaw.map((config) => resolveConfigExtends(config))
|
|
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
// or reduceRight() depending on which side gets priority
|
|
|
|
|
|
|
|
const singleBase = manyBases.reduce((prev, curr) => mergeConfig(prev, curr))
|
|
|
|
|
|
|
|
return mergeConfig(singleBase, resolved)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return resolved
|
|
|
|
return resolved
|
|
|
|
}
|
|
|
|
}
|
|
|
|