Skip to content

Add typed JSON output to theme share - #8918

Open
gonzaloriestra wants to merge 6 commits into
mainfrom
gonzalo/json-theme-share
Open

gonzaloriestra wants to merge 6 commits into
mainfrom
gonzalo/json-theme-share

Conversation

@gonzaloriestra

@gonzaloriestra gonzaloriestra commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Original PR and review history: #8649.

WHY are these changes introduced?

Fixes https://github.com/shop/issues-develop/issues/23693

Shared themes need a consistent machine-readable upload result.

WHAT is this pull request doing?

Reuse the public upload projection for strict string IDs, camelCase links and absolute-path issues. Preserve partial uploads, cancellation and complete environment batches.

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

How to manually test your changes?

shopify theme share --store example.myshopify.com --json
shopify theme share --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

@gonzaloriestra
gonzaloriestra added this pull request to stack #8925 October 15, 2026 12:34
@github-actions github-actions Bot added the no-changelog This PR doesn't include a changeset entry. Is an internal only change not relevant to end users. label Oct 15, 2026
@gonzaloriestra gonzaloriestra changed the title gonzalo/json theme share Add typed JSON output to theme share Oct 15, 2026
@gonzaloriestra
gonzaloriestra marked this pull request as ready for review October 15, 2026 12:42
@gonzaloriestra
gonzaloriestra requested review from a team as code owners October 15, 2026 12:42
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-share branch from 3fbc25f to ed4f803 Compare October 15, 2026 13:33
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-share branch from ed4f803 to b9ef691 Compare October 15, 2026 13:52
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-share branch from b9ef691 to dc4c78a Compare October 15, 2026 16:13
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-share branch 2 times, most recently from b313a7b to 6c602e7 Compare October 16, 2026 10:37
@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/themes/theme-manager.d.ts
@@ -11,5 +11,12 @@ export declare abstract class ThemeManager {
     findOrCreate(name?: string, role?: Role): Promise<Theme>;
     fetch(name?: string, role?: Role): Promise<Theme | undefined>;
     generateThemeName(context: string): string;
-    create(themeRole?: Role, themeName?: string): Promise<Theme>;
+    create(themeRole?: Role, themeName?: string): Promise<{
+        createdAtRuntime: boolean;
+        id: number;
+        name: string;
+        processing: boolean;
+        role: string;
+        src?: string;
+    }>;
 }
\ No newline at end of file

Base automatically changed from gonzalo/json-theme-pull to main October 16, 2026 14:20
@gonzaloriestra
gonzaloriestra force-pushed the gonzalo/json-theme-share branch from 6c602e7 to 124ac26 Compare October 16, 2026 14:20

@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!

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.

3 participants