MCPcopy
hub / github.com/triggerdotdev/trigger.dev / selectProject

Function selectProject

packages/cli-v3/src/commands/init.ts:512–590  ·  view source on GitHub ↗
(apiClient: CliApiClient, dashboardUrl: string, projectRef?: string)

Source from the content-addressed store, hash-verified

510}
511
512async function selectProject(apiClient: CliApiClient, dashboardUrl: string, projectRef?: string) {
513 return await tracer.startActiveSpan("selectProject", async (span) => {
514 try {
515 if (projectRef) {
516 const projectResponse = await apiClient.getProject(projectRef);
517
518 if (!projectResponse.success) {
519 log.error(
520 `--project-ref ${projectRef} is not a valid project ref. Request to fetch data resulted in: ${projectResponse.error}`
521 );
522
523 throw new SkipCommandError(projectResponse.error);
524 }
525
526 span.setAttributes({
527 ...flattenAttributes(projectResponse.data, "cli.project"),
528 });
529
530 span.end();
531
532 return projectResponse.data;
533 }
534
535 const projectsResponse = await apiClient.getProjects();
536
537 if (!projectsResponse.success) {
538 throw new Error(`Failed to get projects: ${projectsResponse.error}`);
539 }
540
541 if (projectsResponse.data.length === 0) {
542 const newProjectLink = terminalLink(
543 "Create new project",
544 `${dashboardUrl}/projects/new?version=v3`
545 );
546
547 outro(`You don't have any projects yet. ${newProjectLink}`);
548
549 throw new SkipCommandError();
550 }
551
552 const selectedProject = await select({
553 message: "Select an existing Trigger.dev project",
554 options: projectsResponse.data.map((project) => ({
555 value: project.externalRef,
556 label: `${project.name} - ${project.externalRef}`,
557 hint: project.organization.title,
558 })),
559 });
560
561 if (isCancel(selectedProject)) {
562 throw new OutroCommandError();
563 }
564
565 const projectData = projectsResponse.data.find(
566 (project) => project.externalRef === selectedProject
567 );
568
569 if (!projectData) {

Callers 1

_initCommandFunction · 0.85

Calls 7

flattenAttributesFunction · 0.90
recordSpanExceptionFunction · 0.85
startActiveSpanMethod · 0.80
findMethod · 0.80
getProjectMethod · 0.65
errorMethod · 0.65
getProjectsMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…