| 161 | }; |
| 162 | |
| 163 | export const makeProjectConfig = ( |
| 164 | overrides: Partial<Config.ProjectConfig> = {}, |
| 165 | ): Config.ProjectConfig => { |
| 166 | const overridesKeys = new Set(Object.keys(overrides)); |
| 167 | for (const key of Object.keys(DEFAULT_PROJECT_CONFIG)) { |
| 168 | overridesKeys.delete(key); |
| 169 | } |
| 170 | |
| 171 | if (overridesKeys.size > 0) { |
| 172 | throw new Error(` |
| 173 | Properties that are not part of ProjectConfig type were passed: |
| 174 | ${JSON.stringify([...overridesKeys])} |
| 175 | `); |
| 176 | } |
| 177 | |
| 178 | return {...DEFAULT_PROJECT_CONFIG, ...overrides}; |
| 179 | }; |