Skip to content

Add typed JSON output to theme preview - #8645

Open
gonzaloriestra wants to merge 1 commit into
gonzalo/json-theme-sharefrom
gonzalo/json-theme-preview
Open

gonzaloriestra wants to merge 1 commit into
gonzalo/json-theme-sharefrom
gonzalo/json-theme-preview

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Sep 24, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

theme preview already emits JSON, but its result has no discoverable schema and its service also renders output and opens the browser.

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

WHAT is this pull request doing?

Return a typed preview result and move presentation and browser opening into the command. Preserve the compact JSON keys, success messages, file/API errors, and nonfatal browser behavior. Browser failures use typed diagnostics in JSON mode.

Also, the JSON output was previously using stderr, but it was fixed to use stdout. Warnings and other diagnostics stay on stderr.

Normal output:

Preview is ready
• https://abc123.shopifypreview.com
• Preview ID: abc123

Matching result:

{"url":"https://abc123.shopifypreview.com","preview_identifier":"abc123"}

How to manually test your changes?

pnpm shopify theme preview --store YOUR_STORE --theme YOUR_THEME --overrides overrides.json
pnpm shopify theme preview --store YOUR_STORE --theme YOUR_THEME --overrides overrides.json --preview-id YOUR_PREVIEW --open
pnpm shopify theme preview --store YOUR_STORE --theme YOUR_THEME --overrides overrides.json --json
pnpm shopify theme preview --help
pnpm shopify theme preview --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.

@gonzaloriestra
gonzaloriestra added this pull request to stack #8646 September 24, 2026 09:23
@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Sep 24, 2026
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from ebf024f to fda3575 Compare September 24, 2026 10:04
@gonzaloriestra
gonzaloriestra removed this pull request from stack #8646 September 24, 2026 10:04
@gonzaloriestra
gonzaloriestra changed the base branch from gonzalo/json-theme-open to gonzalo/json-theme-share September 24, 2026 10:05
@gonzaloriestra
gonzaloriestra added this pull request to stack #8655 September 24, 2026 10:05
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from fda3575 to f82379b Compare September 24, 2026 10:13
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from f82379b to f8f160d 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 force-pushed the gonzalo/json-theme-preview branch from f8f160d to 781de0e Compare September 24, 2026 11:56
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from 781de0e to a523b13 Compare September 24, 2026 13:46
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from a523b13 to 571cd4e Compare September 24, 2026 14:21
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from 571cd4e to 814fcb9 Compare September 24, 2026 14:36
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from 814fcb9 to ecb184c Compare September 25, 2026 11:43
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from ecb184c to a6c90ed Compare September 25, 2026 11:59
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from a6c90ed to 8cfc448 Compare September 25, 2026 12:28
@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-preview branch 2 times, most recently from 7174b1d to b95a217 Compare September 28, 2026 08:59
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review September 28, 2026 09:08
@gonzaloriestra
gonzaloriestra requested review from a team as code owners September 28, 2026 09:08
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from b95a217 to 66c617d Compare September 28, 2026 10:25
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from 66c617d to 0e6253c Compare September 28, 2026 11:39
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch 2 times, most recently from a440fdb to a651fb9 Compare September 29, 2026 10:28
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from a651fb9 to 0e73e4c Compare September 29, 2026 11:11
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch 2 times, most recently from 188cf16 to ccc8179 Compare September 29, 2026 13:44
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch 2 times, most recently from 56b039f to 86fe745 Compare September 29, 2026 14:40
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-preview branch from 86fe745 to 1f370d0 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.

1 participant