Skip to content

Add typed JSON output to theme list - #8641

Merged
gonzaloriestra merged 5 commits into
gonzalo/theme-telemetry-guardfrom
gonzalo/json-theme-list
Oct 15, 2026
Merged

gonzaloriestra merged 5 commits into
gonzalo/theme-telemetry-guardfrom
gonzalo/json-theme-list

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Scripts need a stable theme collection contract.

WHAT is this pull request doing?

Return a named themes array with string IDs and public fields, excluding internal runtime state. Retain every requested environment and fail when any requested work fails.

The public output follows docs/cli/json-output.md; explicitly named environments use one {environments: [...]} object.

How to manually test your changes?

shopify theme list --store example.myshopify.com --json
shopify theme list --json-schema

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

@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Sep 24, 2026
@gonzaloriestra
gonzaloriestra removed this pull request from stack #8644 September 24, 2026 10:04
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from 479bc56 to bfe48a7 Compare September 24, 2026 10:25
@github-actions github-actions Bot added no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. and removed Area: @shopify/cli @shopify/cli package issues labels Sep 24, 2026
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review September 24, 2026 14:13
@gonzaloriestra
gonzaloriestra requested review from a team as code owners September 24, 2026 14:13
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from 1ced35d to fb8ea3a Compare September 25, 2026 12:28
@gonzaloriestra
gonzaloriestra removed this pull request from stack #8655 September 25, 2026 12:28
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from 964ae97 to 69e125b Compare September 28, 2026 10:25
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from 49c6245 to 696f8e2 Compare September 29, 2026 10:28
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from c3ac545 to 2811e13 Compare October 8, 2026 09:53
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review October 8, 2026 10:03
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from 2811e13 to f651b2a Compare October 9, 2026 12:00
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from 9bbdc28 to f6ad2b2 Compare October 9, 2026 12:48
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from f6ad2b2 to eeb721c Compare October 9, 2026 13:09

@karreiro karreiro 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.

Thank you, @gonzaloriestra!

@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from eeb721c to e814881 Compare October 14, 2026 08:08
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from e814881 to aad224a Compare October 15, 2026 09:56
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch 2 times, most recently from f75d05a to 0239ea4 Compare October 15, 2026 10:42
@gonzaloriestra
gonzaloriestra removed this pull request from stack #8673 October 15, 2026 11:49
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-list branch from 0239ea4 to dc2036a Compare October 15, 2026 11:49
@github-actions

Copy link
Copy Markdown
Contributor

Differences in type declarations

We detected differences in the type declarations generated by Typescript for this branch compared to the baseline ('main' branch). Please, review them to ensure they are backward-compatible. Here are some important things to keep in mind:

  • Some seemingly private modules might be re-exported through public modules.
  • If the branch is behind main you might see odd diffs, rebase main into this branch.

New type declarations

We found no new type declarations in this PR

Existing type declarations

packages/cli-kit/dist/public/node/base-command.d.ts
@@ -35,6 +35,7 @@ declare abstract class BaseCommand extends Command {
         argv: string[];
     }>;
     protected environmentsFilename(): string | undefined;
+    protected validateNonTTYFlags(flags: FlagOutput): void;
     protected failMissingNonTTYFlags(flags: FlagOutput, requiredFlags: string[]): void;
     private failMissingNonTTYFlagRequirements;
     private applicableNonTTYFlagRequirements;

@github-actions

Copy link
Copy Markdown
Contributor

⚠️ Potential Breaking Changes Detected

This PR contains changes that may break the existing contract.

@shopify/dev_experience — this PR contains breaking changes that require coordination for the next major release.

📦 Major Version Changesets

The following changesets request a major version bump:

Changeset Package
theme-info-json-contract.md '@shopify/cli': major
theme-list-json-contract.md '@shopify/cli': major

@gonzaloriestra gonzaloriestra mentioned this pull request Oct 15, 2026
4 tasks done
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.

3 participants