Skip to content

Show store list context in an info banner - #8467

Merged
amcaplan merged 3 commits into
mainfrom
nick/store-list-info-banner
Sep 3, 2026
Merged

Show store list context in an info banner#8467
amcaplan merged 3 commits into
mainfrom
nick/store-list-info-banner

Conversation

@nickwesselman

@nickwesselman nickwesselman commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

shopify store list printed its context as bare stdout text around the table. The shopify store auth list hint ends up flush against the last table row, and the organization line sits directly on top of the header with no separation:

Organization: nicks-fermented-milks (214000669)
Subdomain                      Name                           Type   Created
─────────────────────────────  ─────────────────────────────  ─────  ────────────
niche-negotiation-stress-test  niche-negotiation-stress-test  Dev    Sep 03, 2026
To list stores authenticated directly with `shopify store auth`, run `shopify store auth list`.

WHAT is this pull request doing?

Routes every text path through one info banner, with the organization as a label/value row.

Populated:

╭─ info ───────────────────────────────────────────────────────────────────────╮
│                                                                              │
│  Listing stores.                                                             │
│                                                                              │
│  Organization  nicks-fermented-milks (214000669)                             │
│                                                                              │
│  To list stores authenticated directly with `shopify store auth`, run        │
│  `shopify store auth list`.                                                  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

Subdomain                      Name                           Type  Created
─────────────────────────────  ─────────────────────────────  ────  ────────────
niche-negotiation-stress-test  niche-negotiation-stress-test  Dev   Sep 03, 2026

Empty, with an organization selected — same shape, so the organization is still reported:

╭─ info ───────────────────────────────────────────────────────────────────────╮
│                                                                              │
│  No stores found.                                                            │
│                                                                              │
│  Organization  nicks-fermented-milks (214000669)                             │
│                                                                              │
│  To list stores authenticated directly with `shopify store auth`, run        │
│  `shopify store auth list`.                                                  │
│                                                                              │
╰──────────────────────────────────────────────────────────────────────────────╯

JSON output and the stderr notice / truncation warnings are unchanged.

How to test your changes?

shopify store list                          # organization with stores
shopify store list --organization-id <id>   # an organization with no stores
shopify store list --json                   # unchanged

Checklist

  • I've considered possible cross-platform impacts (Mac, Linux, Windows)
  • I've considered possible documentation changes
  • I've considered analytics changes to measure impact
  • The change is user-facing — I've identified the correct bump type (patch for bug fixes · minor for new features · major for breaking changes) and added a changeset with pnpm changeset add

🤖 Generated with Claude Code

The organization line and the `shopify store auth list` hint were printed
as bare stdout text, so the hint collided with the bottom of the table and
the organization had no visual separation from the header row.

Move both into a single info banner rendered above the table, matching the
banner-then-table shape `listBulkOperations` already uses in this package.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Assisted-By: devx/4874be33-ff52-4bcc-beaa-5ff567199ec5
@nickwesselman
nickwesselman requested a review from a team as a code owner September 3, 2026 03:13
@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Sep 3, 2026
nickwesselman and others added 2 commits September 2, 2026 23:18
Move the organization out of the headline into a tabular customSection,
matching the label/value shape used by `store info` and the dev store
creation summary. Custom sections lay out with gap={1}, so the row and the
auth hint separate cleanly.

Route the empty states through the same banner. They previously printed as
bare multi-line text, stated the organization three different ways, and
phrased the auth hint differently from the populated path.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Assisted-By: devx/4874be33-ff52-4bcc-beaa-5ff567199ec5

@amcaplan amcaplan left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just removed unnecessary comments (IMO) in commit 52c69fe44da2ffec54ada4cbcabb60dd54fdea58, otherwise we're good to go. Tophatted and it looks great!


// The banner pads every line out to the terminal width, which is narrow in the test environment.
// Trimming keeps the snapshots readable and free of trailing whitespace.
function trimmedLines(output: string): string {

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very cool. Maybe worth broadening to the full test suite as a util in the future.

@amcaplan
amcaplan enabled auto-merge September 3, 2026 09:28
@amcaplan
amcaplan added this pull request to the merge queue Sep 3, 2026
Merged via the queue into main with commit 2dd7cd3 Sep 3, 2026
30 checks passed
@amcaplan
amcaplan deleted the nick/store-list-info-banner branch September 3, 2026 09:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area: @shopify/cli @shopify/cli package issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants