MCPcopy Create free account
hub / github.com/TanStack/cli / selectAddOns

Function selectAddOns

packages/cli/src/command-line.ts:470–513  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

468 const framework = getFrameworkById(cliOptions.framework || 'react')!
469
470 async function selectAddOns() {
471 // Edge case for Windows Powershell
472 if (Array.isArray(cliOptions.addOns) && cliOptions.addOns.length === 1) {
473 const parseSeparatedArgs = cliOptions.addOns[0].split(' ')
474 if (parseSeparatedArgs.length > 1) {
475 cliOptions.addOns = parseSeparatedArgs
476 }
477 }
478
479 if (
480 Array.isArray(cliOptions.addOns) ||
481 starter?.dependsOn ||
482 forcedAddOns ||
483 cliOptions.toolchain ||
484 cliOptions.deployment
485 ) {
486 const selectedAddOns = new Set<string>([
487 ...(routerOnly ? [] : (starter?.dependsOn || [])),
488 ...(routerOnly ? [] : (forcedAddOns || [])),
489 ])
490 if (!routerOnly && cliOptions.addOns && Array.isArray(cliOptions.addOns)) {
491 for (const a of cliOptions.addOns) {
492 if (a.toLowerCase() === 'start') {
493 continue
494 }
495 selectedAddOns.add(a)
496 }
497 }
498 if (cliOptions.toolchain) {
499 selectedAddOns.add(cliOptions.toolchain)
500 }
501 if (!routerOnly && cliOptions.deployment) {
502 selectedAddOns.add(cliOptions.deployment)
503 }
504
505 if (!routerOnly && !cliOptions.deployment && opts?.forcedDeployment) {
506 selectedAddOns.add(opts.forcedDeployment)
507 }
508
509 return await finalizeAddOns(framework, mode, Array.from(selectedAddOns))
510 }
511
512 return []
513 }
514
515 const includeExamples = cliOptions.examples ?? !routerOnly
516 const chosenAddOnsRaw = await selectAddOns()

Callers 1

normalizeOptionsFunction · 0.70

Calls 2

finalizeAddOnsFunction · 0.90
addMethod · 0.80

Tested by

no test coverage detected