| 1338 | } |
| 1339 | |
| 1340 | function mergeProvider(providerID: ProviderV2.ID, provider: Partial<Info>) { |
| 1341 | const existing = providers[providerID] |
| 1342 | if (existing) { |
| 1343 | // @ts-expect-error |
| 1344 | providers[providerID] = mergeDeep(existing, provider) |
| 1345 | return |
| 1346 | } |
| 1347 | const match = database[providerID] |
| 1348 | if (!match) return |
| 1349 | // @ts-expect-error |
| 1350 | providers[providerID] = mergeDeep(match, provider) |
| 1351 | } |
| 1352 | |
| 1353 | // load plugins first so config() hook runs before reading cfg.provider |
| 1354 | const plugins = yield* plugin.list() |