LTRAC-593: feat(cli) - Show deployment URLs in project list output#2988
Draft
LTRAC-593: feat(cli) - Show deployment URLs in project list output#2988
Conversation
Extend the projects list schema with a new nullable `deployed_url` field and render it beneath each project so users can recover the hosted storefront URL without having to run a fresh deploy. Previously, `catalyst project list` only printed `Name (uuid)`, and the only path to the `.catalyst-sandbox.store` URL was re-running `catalyst deploy` (which surfaces it via the SSE event stream). Surfacing the URL here also resolves the related feedback that it was unclear where a deploy lands. Projects without a successful deployment show `(not deployed)`. Refs LTRAC-443 Co-Authored-By: Claude <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
🦋 Changeset detectedLatest commit: 7c7b4c6 The changes in this PR will be included in the next version bump. This PR includes changesets to release 1 package
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
Bundle Size ReportComparing against baseline from No bundle size changes detected. |
Align the projects list field name with the existing `deployment_url` convention used on the ignition Deployments event stream, per reviewer feedback on bigcommerce/interfaces#3993 (Parth + Chance wanted a single consistent contract, not "either hostname or URL"). Contract is now strictly hostname-only (no scheme) — the CLI unconditionally prepends `https://` for display rather than defensively checking, which matches how the deploy command already handles `deployment_url` from the SSE stream. Refs LTRAC-443 Co-Authored-By: Claude <noreply@anthropic.com>
Contributor
Unlighthouse Performance Comparison — VercelComparing PR preview deployment Unlighthouse scores vs production Unlighthouse scores. Summary ScoreAggregate score across all categories as reported by Unlighthouse.
Category Scores
Core Web Vitals
|
Switch the project list output from a single deployment_url field to an array of deployment_urls, mirroring the proto contract change in bigcommerce/interfaces#3993. Each hostname renders on its own indented line under the project; an empty array still renders "(not deployed)". Future-proofs the CLI for vanity hostnames per project, which the ignition serializer now exposes via domainService.GetDomains. Refs LTRAC-443 Co-Authored-By: Claude <noreply@anthropic.com>
Match the wire contract change in interfaces#3993 (singular `deployment_url` → repeated `deployment_urls`) so the user-facing release note describes the actual rendering: every URL per project is shown, including any vanity hostnames. Filename intentionally preserved — changesets pick up by `*.md` glob, so renaming would just churn git history. Refs LTRAC-593 Co-Authored-By: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Linear: LTRAC-593 (sub-ticket of LTRAC-443)
Jira: TRAC-433
What/Why?
catalyst project listonly printedName (uuid), so the only way a user could recover the hosted.catalyst-sandbox.storeURL for an existing project was to re-runcatalyst deploy(which surfaces it via the SSE event stream). Chris Nanninga and Ryan Gross flagged this in#native-hosting-alpha-internal.Surface every URL directly in the list output (canonical hostname + any vanity hostnames):
Notes:
deployment_urlconvention on the deploy event stream. The CLI unconditionally prependshttps://for display.domainService.GetDomains.(not deployed).project linkselection prompt is intentionally unchanged — URLs aren't useful in the picker, and the existinghintfield still shows the UUID.Dependencies
This PR is the consumer end of a three-PR chain:
repeated string deployment_urls = 5;toProjectProto.domainService.GetDomainsin theListProjectsserializer.catalyst project list.Should land after the proto + ignition PRs merge and propagate.
Testing
packages/catalyst:project listspec asserts on both URL lines (viastringContainingto avoid coupling to ANSI escapes) and the(not deployed)line.pnpm typecheck(clean).pnpm lint(clean).catalyst project listagainst a store with a project that has multiple hostnames and one fresh project, confirm both states render.Migration
None. Additive schema change on the API response, additive output lines — existing consumers parsing the
Name (uuid)line remain unaffected.