()
| 265 | } |
| 266 | |
| 267 | export async function promptForAddOns(): Promise<Array<string>> { |
| 268 | const config = await readConfigFile(process.cwd()) |
| 269 | |
| 270 | if (!config) { |
| 271 | console.error('No config file found') |
| 272 | process.exit(1) |
| 273 | } |
| 274 | |
| 275 | const framework = getFrameworkById(config.framework) |
| 276 | |
| 277 | if (!framework) { |
| 278 | console.error(`Unknown framework: ${config.framework}`) |
| 279 | process.exit(1) |
| 280 | } |
| 281 | |
| 282 | intro(`Adding new add-ons to '${config.projectName}'`) |
| 283 | |
| 284 | const addOns: Set<string> = new Set() |
| 285 | |
| 286 | for (const addOn of await selectAddOns( |
| 287 | framework, |
| 288 | config.mode!, |
| 289 | 'add-on', |
| 290 | 'What add-ons would you like for your project?', |
| 291 | config.chosenAddOns, |
| 292 | )) { |
| 293 | addOns.add(addOn) |
| 294 | } |
| 295 | |
| 296 | for (const addOn of await selectAddOns( |
| 297 | framework, |
| 298 | config.mode!, |
| 299 | 'example', |
| 300 | 'Would you like any examples?', |
| 301 | config.chosenAddOns, |
| 302 | )) { |
| 303 | addOns.add(addOn) |
| 304 | } |
| 305 | |
| 306 | return Array.from(addOns) |
| 307 | } |
no test coverage detected