Skip to content

Add typed JSON output to app import channel-config - #8821

Draft
isaacroldan wants to merge 5 commits into
mainfrom
codex/json-app-channel-config
Draft

isaacroldan wants to merge 5 commits into
mainfrom
codex/json-app-channel-config

Conversation

@isaacroldan

@isaacroldan isaacroldan commented Oct 7, 2026 •

Copy link
Copy Markdown
Contributor

WHY are these changes introduced?

Adopt a strict result contract for existing channel-config JSON. Related to #23958.

WHAT is this pull request doing?

Separate execution from presentation, add status, and make path absolute. Retain native TOML and warning data; shared warning rendering handles diagnostics. This is a major JSON change: use path directly instead of joining it to the app directory.

Text: Imported the channel spec for Example app.
JSON: {"status":"success","handle":"example","filename":"example.toml","path":"/tmp/app/extensions/channel-config/specifications/example.toml","toml":"handle = \"example\"\n","warnings":[]}.

Interactive JSON prompts need #8812. Successful postrun output is tracked in the shared issue note.

How to manually test your changes?

Use a copy of a linked app that is allowlisted for export.

  1. Run shopify app import channel-config --path <app> --json --no-input > result.json. Check the absolute path and compare the native toml with that file.
  2. Repeat; expect one error and no overwrite. Add --force and check successful replacement. Run without --json to compare warning/success text.
  3. Run shopify app import channel-config --json-schema to inspect the result.

Checklist

  • I've considered possible cross-platform impacts
  • I've considered documentation changes
  • I've considered analytics changes
  • Added the required changeset

@github-actions github-actions Bot added the Area: @shopify/cli @shopify/cli package issues label Oct 7, 2026
@isaacroldan

Copy link
Copy Markdown
Contributor Author

/snapit

@isaacroldan
isaacroldan force-pushed the codex/json-app-channel-config branch from 6955e74 to 675ac51 Compare October 7, 2026 13:33
@isaacroldan

Copy link
Copy Markdown
Contributor Author

/snapit

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm.

Built from 675ac51e33cfbcf2dd30bcee797c54e49217a510. Workflow run.

Test the snapshot by installing your package globally:

pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007133859

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

@isaacroldan

Copy link
Copy Markdown
Contributor Author

/snapit

@github-actions

github-actions Bot commented Oct 7, 2026

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
json-app-channel-config.md '@shopify/cli': major

@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown
Contributor

🫰✨ Thanks @isaacroldan! Your snapshot has been published to npm.

Built from 71b94f1e7b9ae14935642803320fd202160b0f9e. Workflow run.

Test the snapshot by installing your package globally:

pnpm i -g --@shopify:registry=https://registry.npmjs.org @shopify/cli@0.0.0-snapshot-20261007140410

Caution

After installing, validate the version by running shopify version in your terminal.
If the versions don't match, you might have multiple global instances installed.
Use which shopify to find out which one you are running and uninstall it.

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

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant