Skip to content

Add typed JSON output to theme open - #8639

Open
gonzaloriestra wants to merge 1 commit into
gonzalo/json-theme-listfrom
gonzalo/json-theme-open
Open

gonzaloriestra wants to merge 1 commit into
gonzalo/json-theme-listfrom
gonzalo/json-theme-open

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

theme open only prints links for humans. Scripts need a typed, discoverable result containing the selected theme and its URLs.

Part of https://github.com/shop/issues-develop/issues/23695.

WHAT is this pull request doing?

Add --json and a domain-owned result schema. Keep theme selection, terminal text, and browser opening behavior unchanged, with separate execution and presentation.

Normal output:

Preview information for theme 'My theme' (#1)
• Preview your theme
• Customize your theme at the theme editor

JSON output:

{
  "theme": {
    "id": 1,
    "name": "My theme",
    "createdAtRuntime": false,
    "processing": false,
    "role": "unpublished"
  },
  "preview_url": "https://store.myshopify.com?preview_theme_id=1",
  "editor_url": "https://store.myshopify.com/admin/themes/1/editor"
}

The optional theme.src field is included when available. Refresh the command manifest, README, and generated documentation. Add service, schema, presentation, and real stdout/stderr tests.

How to manually test your changes?

pnpm shopify theme open --store YOUR_STORE --theme YOUR_THEME
pnpm shopify theme open --store YOUR_STORE --theme YOUR_THEME --editor
pnpm shopify theme open --store YOUR_STORE --theme YOUR_THEME --json
pnpm shopify theme open --help
pnpm shopify theme open --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
  • A single changeset for all theme migrations is added in the last PR, #8682.

@github-actions github-actions Bot added shopify.dev preview Area: @shopify/cli @shopify/cli package issues labels Sep 24, 2026
@gonzaloriestra
gonzaloriestra added this pull request to stack #8646 September 24, 2026 09:23
@gonzaloriestra
gonzaloriestra removed this pull request from stack #8646 September 24, 2026 10:04
@gonzaloriestra
gonzaloriestra changed the base branch from main to gonzalo/json-theme-list September 24, 2026 10:05
@gonzaloriestra
gonzaloriestra added this pull request to stack #8655 September 24, 2026 10:05
@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 removed this pull request from stack #8655 September 25, 2026 12:28
@gonzaloriestra
gonzaloriestra added this pull request to stack #8673 September 25, 2026 12:29
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-open branch 2 times, most recently from 51f0294 to f0db90b Compare September 28, 2026 10:25
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-open branch 2 times, most recently from 3385b52 to 69f2c44 Compare September 29, 2026 13:44
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-open branch 2 times, most recently from fb5661e to b88e882 Compare September 29, 2026 14:40
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-open branch from b88e882 to c1626ee Compare October 1, 2026 08:52
@github-actions

github-actions Bot commented Oct 1, 2026

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;

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. shopify.dev preview

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants