From bacbcf27cf6a7c6a712c7f80e691232c1c5b2666 Mon Sep 17 00:00:00 2001 From: Ariel Caplan Date: Wed, 1 Jul 2026 15:22:06 +0300 Subject: [PATCH 1/8] Unhide store commands for public release Unhide `shopify store auth list`, `shopify store open`, `shopify store list`, and `shopify store create preview` ahead of their public release. `shopify store create dev` remains hidden. Regenerated the oclif manifest and README, updated tests, and added a changeset per newly-public command. Assisted-By: devx/64aec273-1f35-4e4f-be5f-883631f97c64 --- .changeset/unhide-store-auth-list.md | 6 + .changeset/unhide-store-create-preview.md | 6 + .changeset/unhide-store-list.md | 6 + .changeset/unhide-store-open.md | 6 + packages/cli/README.md | 155 ++++++++++++++++++ packages/cli/oclif.manifest.json | 4 - .../src/cli/commands/store/auth/list.test.ts | 1 - .../store/src/cli/commands/store/auth/list.ts | 2 - .../cli/commands/store/create/preview.test.ts | 4 +- .../src/cli/commands/store/create/preview.ts | 2 - packages/store/src/cli/commands/store/list.ts | 2 - packages/store/src/cli/commands/store/open.ts | 2 - 12 files changed, 181 insertions(+), 15 deletions(-) create mode 100644 .changeset/unhide-store-auth-list.md create mode 100644 .changeset/unhide-store-create-preview.md create mode 100644 .changeset/unhide-store-list.md create mode 100644 .changeset/unhide-store-open.md diff --git a/.changeset/unhide-store-auth-list.md b/.changeset/unhide-store-auth-list.md new file mode 100644 index 00000000000..a0ec18b0fe2 --- /dev/null +++ b/.changeset/unhide-store-auth-list.md @@ -0,0 +1,6 @@ +--- +'@shopify/cli': minor +'@shopify/store': minor +--- + +Add `shopify store auth list` to list stores authenticated on this machine with `shopify store auth`. diff --git a/.changeset/unhide-store-create-preview.md b/.changeset/unhide-store-create-preview.md new file mode 100644 index 00000000000..2d70e4f6600 --- /dev/null +++ b/.changeset/unhide-store-create-preview.md @@ -0,0 +1,6 @@ +--- +'@shopify/cli': minor +'@shopify/store': minor +--- + +Add `shopify store create preview` to create a preview Shopify store with no existing account required. diff --git a/.changeset/unhide-store-list.md b/.changeset/unhide-store-list.md new file mode 100644 index 00000000000..7f6546b85fd --- /dev/null +++ b/.changeset/unhide-store-list.md @@ -0,0 +1,6 @@ +--- +'@shopify/cli': minor +'@shopify/store': minor +--- + +Add `shopify store list` to list stores in a Shopify organization. diff --git a/.changeset/unhide-store-open.md b/.changeset/unhide-store-open.md new file mode 100644 index 00000000000..e825b3a3b96 --- /dev/null +++ b/.changeset/unhide-store-open.md @@ -0,0 +1,6 @@ +--- +'@shopify/cli': minor +'@shopify/store': minor +--- + +Add `shopify store open` to open a store's storefront in your default web browser. diff --git a/packages/cli/README.md b/packages/cli/README.md index 773806ae41c..888f4a00dbd 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -80,12 +80,16 @@ * [`shopify plugins update`](#shopify-plugins-update) * [`shopify search [query]`](#shopify-search-query) * [`shopify store auth`](#shopify-store-auth) +* [`shopify store auth list`](#shopify-store-auth-list) * [`shopify store bulk cancel`](#shopify-store-bulk-cancel) * [`shopify store bulk execute`](#shopify-store-bulk-execute) * [`shopify store bulk status`](#shopify-store-bulk-status) +* [`shopify store create preview`](#shopify-store-create-preview) * [`shopify store execute`](#shopify-store-execute) * [`shopify store graphiql`](#shopify-store-graphiql) * [`shopify store info`](#shopify-store-info) +* [`shopify store list`](#shopify-store-list) +* [`shopify store open`](#shopify-store-open) * [`shopify theme check`](#shopify-theme-check) * [`shopify theme console`](#shopify-theme-console) * [`shopify theme delete`](#shopify-theme-delete) @@ -3262,6 +3266,41 @@ EXAMPLES $ shopify store auth --store shop.myshopify.com --scopes read_products,write_products --json ``` +## `shopify store auth list` + +List stores authenticated directly with store auth. + +``` +USAGE + $ shopify store auth list [-j] [--no-color] [--verbose] + +FLAGS + -j, --json + Output the result as JSON. Automatically disables color output. + [env: SHOPIFY_FLAG_JSON] + + --no-color + Disable color output. + [env: SHOPIFY_FLAG_NO_COLOR] + + --verbose + Increase the verbosity of the output. + [env: SHOPIFY_FLAG_VERBOSE] + +DESCRIPTION + List stores authenticated directly with store auth. + + Lists stores authenticated directly on this machine with `shopify store auth`. + + Use this command to find stores that can be used with store-authenticated commands such as `shopify store execute`. + To list stores in a Shopify organization, run `shopify store list`. + +EXAMPLES + $ shopify store auth list + + $ shopify store auth list --json +``` + ## `shopify store bulk cancel` Cancel a bulk operation on a store. @@ -3422,6 +3461,48 @@ EXAMPLES $ shopify store bulk status --store shop.myshopify.com --id 123456789 ``` +## `shopify store create preview` + +Create a preview Shopify store. + +``` +USAGE + $ shopify store create preview [--country ] [-j] [--name ] [--no-color] [--verbose] + +FLAGS + -j, --json + Output the result as JSON. Automatically disables color output. + [env: SHOPIFY_FLAG_JSON] + + --country= + Two-letter country code for the store, such as US, CA, or GB. + [env: SHOPIFY_FLAG_STORE_COUNTRY] + + --name= + The name of the store. + [env: SHOPIFY_FLAG_PREVIEW_STORE_NAME] + + --no-color + Disable color output. + [env: SHOPIFY_FLAG_NO_COLOR] + + --verbose + Increase the verbosity of the output. + [env: SHOPIFY_FLAG_VERBOSE] + +DESCRIPTION + Create a preview Shopify store. + + Creates a new Shopify store, with no need for an existing account. + +EXAMPLES + $ shopify store create preview --name "Lavender Candles" + + $ shopify store create preview --name "Lavender Candles" --country US + + $ shopify store create preview --name "Lavender Candles" --json +``` + ## `shopify store execute` Execute GraphQL queries and mutations on a store. @@ -3591,6 +3672,80 @@ EXAMPLES $ shopify store info --store shop.myshopify.com --json ``` +## `shopify store list` + +List stores in a Shopify organization. + +``` +USAGE + $ shopify store list [-j] [--no-color] [--organization-id ] [--verbose] + +FLAGS + -j, --json + Output the result as JSON. Automatically disables color output. + [env: SHOPIFY_FLAG_JSON] + + --no-color + Disable color output. + [env: SHOPIFY_FLAG_NO_COLOR] + + --organization-id= + The numeric organization ID. Auto-selects if you belong to a single organization. + [env: SHOPIFY_FLAG_ORGANIZATION_ID] + + --verbose + Increase the verbosity of the output. + [env: SHOPIFY_FLAG_VERBOSE] + +DESCRIPTION + List stores in a Shopify organization. + + Lists stores in a Shopify organization available to the current CLI account. + + When more than one organization is available, the command prompts you to pick one unless you provide + `--organization-id`. + In non-interactive environments, `--organization-id` is required. + + Run `shopify organization list` to find organization IDs. + +EXAMPLES + $ shopify store list + + $ shopify store list --organization-id 1234567 + + $ shopify store list --json +``` + +## `shopify store open` + +Open your Shopify store in the default web browser. + +``` +USAGE + $ shopify store open -s [--no-color] [--verbose] + +FLAGS + -s, --store= + (required) The myshopify.com domain of the store. + [env: SHOPIFY_FLAG_STORE] + + --no-color + Disable color output. + [env: SHOPIFY_FLAG_NO_COLOR] + + --verbose + Increase the verbosity of the output. + [env: SHOPIFY_FLAG_VERBOSE] + +DESCRIPTION + Open your Shopify store in the default web browser. + + Opens the storefront for a store you have access to in your default web browser. + +EXAMPLES + $ shopify store open --store shop.myshopify.com +``` + ## `shopify theme check` Validate the theme. diff --git a/packages/cli/oclif.manifest.json b/packages/cli/oclif.manifest.json index d6882fba5b4..dcd34de0450 100644 --- a/packages/cli/oclif.manifest.json +++ b/packages/cli/oclif.manifest.json @@ -6055,7 +6055,6 @@ } }, "hasDynamicHelp": false, - "hidden": true, "hiddenAliases": [ ], "id": "store:auth:list", @@ -6457,7 +6456,6 @@ } }, "hasDynamicHelp": false, - "hidden": true, "hiddenAliases": [ ], "id": "store:create:preview", @@ -6783,7 +6781,6 @@ } }, "hasDynamicHelp": false, - "hidden": true, "hiddenAliases": [ ], "id": "store:list", @@ -6833,7 +6830,6 @@ } }, "hasDynamicHelp": false, - "hidden": true, "hiddenAliases": [ ], "id": "store:open", diff --git a/packages/store/src/cli/commands/store/auth/list.test.ts b/packages/store/src/cli/commands/store/auth/list.test.ts index 9a6885238e9..178122b14a2 100644 --- a/packages/store/src/cli/commands/store/auth/list.test.ts +++ b/packages/store/src/cli/commands/store/auth/list.test.ts @@ -25,7 +25,6 @@ describe('store auth list command', () => { }) test('does not expose organization or source-selection flags', () => { - expect(StoreAuthList.hidden).toBe(true) expect(StoreAuthList.flags.json).toBeDefined() expect(StoreAuthList.flags).not.toHaveProperty('organization-id') expect(StoreAuthList.flags).not.toHaveProperty('from') diff --git a/packages/store/src/cli/commands/store/auth/list.ts b/packages/store/src/cli/commands/store/auth/list.ts index 271fe414046..2243d2d92d6 100644 --- a/packages/store/src/cli/commands/store/auth/list.ts +++ b/packages/store/src/cli/commands/store/auth/list.ts @@ -4,8 +4,6 @@ import Command from '@shopify/cli-kit/node/base-command' import {globalFlags, jsonFlag} from '@shopify/cli-kit/node/cli' export default class StoreAuthList extends Command { - static hidden = true - static summary = 'List stores authenticated directly with store auth.' static descriptionWithMarkdown = `Lists stores authenticated directly on this machine with \`shopify store auth\`. diff --git a/packages/store/src/cli/commands/store/create/preview.test.ts b/packages/store/src/cli/commands/store/create/preview.test.ts index aba7a289aff..7ba23cbec99 100644 --- a/packages/store/src/cli/commands/store/create/preview.test.ts +++ b/packages/store/src/cli/commands/store/create/preview.test.ts @@ -12,8 +12,8 @@ vi.mock('@shopify/cli-kit/node/ui', async () => { }) describe('store create preview command', () => { - test('is hidden until preview store creation is generally available', () => { - expect(StoreCreatePreview.hidden).toBe(true) + test('is visible now that preview store creation is generally available', () => { + expect(StoreCreatePreview.hidden).not.toBe(true) }) test('passes parsed flags through to the service', async () => { diff --git a/packages/store/src/cli/commands/store/create/preview.ts b/packages/store/src/cli/commands/store/create/preview.ts index f49c1ae4e2f..db7d9a9340f 100644 --- a/packages/store/src/cli/commands/store/create/preview.ts +++ b/packages/store/src/cli/commands/store/create/preview.ts @@ -8,8 +8,6 @@ import {renderSingleTask} from '@shopify/cli-kit/node/ui' import {Flags} from '@oclif/core' export default class StoreCreatePreview extends StoreCommand { - static hidden = true - static summary = 'Create a preview Shopify store.' static descriptionWithMarkdown = `Creates a new Shopify store, with no need for an existing account.` diff --git a/packages/store/src/cli/commands/store/list.ts b/packages/store/src/cli/commands/store/list.ts index 9920606cf34..119dbcc8071 100644 --- a/packages/store/src/cli/commands/store/list.ts +++ b/packages/store/src/cli/commands/store/list.ts @@ -5,8 +5,6 @@ import StoreCommand from '../../utilities/store-command.js' import {globalFlags, jsonFlag} from '@shopify/cli-kit/node/cli' export default class StoreList extends StoreCommand { - static hidden = true - static summary = 'List stores in a Shopify organization.' static descriptionWithMarkdown = `Lists stores in a Shopify organization available to the current CLI account. diff --git a/packages/store/src/cli/commands/store/open.ts b/packages/store/src/cli/commands/store/open.ts index f4c25417bcc..57cdff7345a 100644 --- a/packages/store/src/cli/commands/store/open.ts +++ b/packages/store/src/cli/commands/store/open.ts @@ -4,8 +4,6 @@ import {storeFlags} from '../../flags.js' import {globalFlags} from '@shopify/cli-kit/node/cli' export default class StoreOpen extends StoreCommand { - static hidden = true - static summary = 'Open your Shopify store in the default web browser.' static descriptionWithMarkdown = `Opens the storefront for a store you have access to in your default web browser.` From 404c23a144c73c6148738136a864071d0b6fcab8 Mon Sep 17 00:00:00 2001 From: Ariel Caplan Date: Thu, 2 Jul 2026 13:13:19 +0300 Subject: [PATCH 2/8] Drop outdated store create preview visibility test Assisted-By: devx/64aec273-1f35-4e4f-be5f-883631f97c64 --- packages/store/src/cli/commands/store/create/preview.test.ts | 4 ---- 1 file changed, 4 deletions(-) diff --git a/packages/store/src/cli/commands/store/create/preview.test.ts b/packages/store/src/cli/commands/store/create/preview.test.ts index 7ba23cbec99..9781d98bc63 100644 --- a/packages/store/src/cli/commands/store/create/preview.test.ts +++ b/packages/store/src/cli/commands/store/create/preview.test.ts @@ -12,10 +12,6 @@ vi.mock('@shopify/cli-kit/node/ui', async () => { }) describe('store create preview command', () => { - test('is visible now that preview store creation is generally available', () => { - expect(StoreCreatePreview.hidden).not.toBe(true) - }) - test('passes parsed flags through to the service', async () => { const result = { status: 'success' as const, From b7e0910753ebc3b23f7eb90be8d4a14fefc64407 Mon Sep 17 00:00:00 2001 From: Ariel Caplan Date: Thu, 2 Jul 2026 17:07:07 +0300 Subject: [PATCH 3/8] Update dev docs --- .../interfaces/store-auth-list.interface.ts | 24 +++ .../store-create-preview.interface.ts | 36 ++++ .../interfaces/store-list.interface.ts | 30 +++ .../interfaces/store-open.interface.ts | 24 +++ .../generated/generated_docs_data_v2.json | 178 ++++++++++++++++++ 5 files changed, 292 insertions(+) create mode 100644 docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts create mode 100644 docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts create mode 100644 docs-shopify.dev/commands/interfaces/store-list.interface.ts create mode 100644 docs-shopify.dev/commands/interfaces/store-open.interface.ts diff --git a/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts b/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts new file mode 100644 index 00000000000..de54cbdae2e --- /dev/null +++ b/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts @@ -0,0 +1,24 @@ +// This is an autogenerated file. Don't edit this file manually. +/** + * The following flags are available for the `store auth list` command: + * @publicDocs + */ +export interface storeauthlist { + /** + * Output the result as JSON. Automatically disables color output. + * @environment SHOPIFY_FLAG_JSON + */ + '-j, --json'?: '' + + /** + * Disable color output. + * @environment SHOPIFY_FLAG_NO_COLOR + */ + '--no-color'?: '' + + /** + * Increase the verbosity of the output. + * @environment SHOPIFY_FLAG_VERBOSE + */ + '--verbose'?: '' +} diff --git a/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts b/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts new file mode 100644 index 00000000000..4b7cdae1c44 --- /dev/null +++ b/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts @@ -0,0 +1,36 @@ +// This is an autogenerated file. Don't edit this file manually. +/** + * The following flags are available for the `store create preview` command: + * @publicDocs + */ +export interface storecreatepreview { + /** + * Two-letter country code for the store, such as US, CA, or GB. + * @environment SHOPIFY_FLAG_STORE_COUNTRY + */ + '--country '?: string + + /** + * Output the result as JSON. Automatically disables color output. + * @environment SHOPIFY_FLAG_JSON + */ + '-j, --json'?: '' + + /** + * The name of the store. + * @environment SHOPIFY_FLAG_PREVIEW_STORE_NAME + */ + '--name '?: string + + /** + * Disable color output. + * @environment SHOPIFY_FLAG_NO_COLOR + */ + '--no-color'?: '' + + /** + * Increase the verbosity of the output. + * @environment SHOPIFY_FLAG_VERBOSE + */ + '--verbose'?: '' +} diff --git a/docs-shopify.dev/commands/interfaces/store-list.interface.ts b/docs-shopify.dev/commands/interfaces/store-list.interface.ts new file mode 100644 index 00000000000..674f068aaec --- /dev/null +++ b/docs-shopify.dev/commands/interfaces/store-list.interface.ts @@ -0,0 +1,30 @@ +// This is an autogenerated file. Don't edit this file manually. +/** + * The following flags are available for the `store list` command: + * @publicDocs + */ +export interface storelist { + /** + * Output the result as JSON. Automatically disables color output. + * @environment SHOPIFY_FLAG_JSON + */ + '-j, --json'?: '' + + /** + * Disable color output. + * @environment SHOPIFY_FLAG_NO_COLOR + */ + '--no-color'?: '' + + /** + * The numeric organization ID. Auto-selects if you belong to a single organization. + * @environment SHOPIFY_FLAG_ORGANIZATION_ID + */ + '--organization-id '?: string + + /** + * Increase the verbosity of the output. + * @environment SHOPIFY_FLAG_VERBOSE + */ + '--verbose'?: '' +} diff --git a/docs-shopify.dev/commands/interfaces/store-open.interface.ts b/docs-shopify.dev/commands/interfaces/store-open.interface.ts new file mode 100644 index 00000000000..a6eb0aeb6c8 --- /dev/null +++ b/docs-shopify.dev/commands/interfaces/store-open.interface.ts @@ -0,0 +1,24 @@ +// This is an autogenerated file. Don't edit this file manually. +/** + * The following flags are available for the `store open` command: + * @publicDocs + */ +export interface storeopen { + /** + * Disable color output. + * @environment SHOPIFY_FLAG_NO_COLOR + */ + '--no-color'?: '' + + /** + * The myshopify.com domain of the store. + * @environment SHOPIFY_FLAG_STORE + */ + '-s, --store ': string + + /** + * Increase the verbosity of the output. + * @environment SHOPIFY_FLAG_VERBOSE + */ + '--verbose'?: '' +} diff --git a/docs-shopify.dev/generated/generated_docs_data_v2.json b/docs-shopify.dev/generated/generated_docs_data_v2.json index 493572e967a..f33d3f63776 100644 --- a/docs-shopify.dev/generated/generated_docs_data_v2.json +++ b/docs-shopify.dev/generated/generated_docs_data_v2.json @@ -4369,6 +4369,44 @@ "value": "export interface search {\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" } }, + "storeauthlist": { + "docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts": { + "filePath": "docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts", + "name": "storeauthlist", + "description": "The following flags are available for the `store auth list` command:", + "isPublicDocs": true, + "members": [ + { + "filePath": "docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--no-color", + "value": "''", + "description": "Disable color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_NO_COLOR" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--verbose", + "value": "''", + "description": "Increase the verbosity of the output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_VERBOSE" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "-j, --json", + "value": "''", + "description": "Output the result as JSON. Automatically disables color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_JSON" + } + ], + "value": "export interface storeauthlist {\n /**\n * Output the result as JSON. Automatically disables color output.\n * @environment SHOPIFY_FLAG_JSON\n */\n '-j, --json'?: ''\n\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" + } + }, "storeauth": { "docs-shopify.dev/commands/interfaces/store-auth.interface.ts": { "filePath": "docs-shopify.dev/commands/interfaces/store-auth.interface.ts", @@ -4623,6 +4661,62 @@ "value": "export interface storebulkstatus {\n /**\n * The bulk operation ID (numeric ID or full GID). If not provided, lists all bulk operations on this store in the last 7 days.\n * @environment SHOPIFY_FLAG_ID\n */\n '--id '?: string\n\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * The myshopify.com domain of the store.\n * @environment SHOPIFY_FLAG_STORE\n */\n '-s, --store ': string\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" } }, + "storecreatepreview": { + "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts": { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "name": "storecreatepreview", + "description": "The following flags are available for the `store create preview` command:", + "isPublicDocs": true, + "members": [ + { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--country ", + "value": "string", + "description": "Two-letter country code for the store, such as US, CA, or GB.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_STORE_COUNTRY" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--name ", + "value": "string", + "description": "The name of the store.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_PREVIEW_STORE_NAME" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--no-color", + "value": "''", + "description": "Disable color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_NO_COLOR" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--verbose", + "value": "''", + "description": "Increase the verbosity of the output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_VERBOSE" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts", + "syntaxKind": "PropertySignature", + "name": "-j, --json", + "value": "''", + "description": "Output the result as JSON. Automatically disables color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_JSON" + } + ], + "value": "export interface storecreatepreview {\n /**\n * Two-letter country code for the store, such as US, CA, or GB.\n * @environment SHOPIFY_FLAG_STORE_COUNTRY\n */\n '--country '?: string\n\n /**\n * Output the result as JSON. Automatically disables color output.\n * @environment SHOPIFY_FLAG_JSON\n */\n '-j, --json'?: ''\n\n /**\n * The name of the store.\n * @environment SHOPIFY_FLAG_PREVIEW_STORE_NAME\n */\n '--name '?: string\n\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" + } + }, "storeexecute": { "docs-shopify.dev/commands/interfaces/store-execute.interface.ts": { "filePath": "docs-shopify.dev/commands/interfaces/store-execute.interface.ts", @@ -4851,6 +4945,90 @@ "value": "export interface storeinfo {\n /**\n * Output the result as JSON. Automatically disables color output.\n * @environment SHOPIFY_FLAG_JSON\n */\n '-j, --json'?: ''\n\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * The myshopify.com domain of the store.\n * @environment SHOPIFY_FLAG_STORE\n */\n '-s, --store ': string\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" } }, + "storelist": { + "docs-shopify.dev/commands/interfaces/store-list.interface.ts": { + "filePath": "docs-shopify.dev/commands/interfaces/store-list.interface.ts", + "name": "storelist", + "description": "The following flags are available for the `store list` command:", + "isPublicDocs": true, + "members": [ + { + "filePath": "docs-shopify.dev/commands/interfaces/store-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--no-color", + "value": "''", + "description": "Disable color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_NO_COLOR" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--organization-id ", + "value": "string", + "description": "The numeric organization ID. Auto-selects if you belong to a single organization.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_ORGANIZATION_ID" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--verbose", + "value": "''", + "description": "Increase the verbosity of the output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_VERBOSE" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-list.interface.ts", + "syntaxKind": "PropertySignature", + "name": "-j, --json", + "value": "''", + "description": "Output the result as JSON. Automatically disables color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_JSON" + } + ], + "value": "export interface storelist {\n /**\n * Output the result as JSON. Automatically disables color output.\n * @environment SHOPIFY_FLAG_JSON\n */\n '-j, --json'?: ''\n\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * The numeric organization ID. Auto-selects if you belong to a single organization.\n * @environment SHOPIFY_FLAG_ORGANIZATION_ID\n */\n '--organization-id '?: string\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" + } + }, + "storeopen": { + "docs-shopify.dev/commands/interfaces/store-open.interface.ts": { + "filePath": "docs-shopify.dev/commands/interfaces/store-open.interface.ts", + "name": "storeopen", + "description": "The following flags are available for the `store open` command:", + "isPublicDocs": true, + "members": [ + { + "filePath": "docs-shopify.dev/commands/interfaces/store-open.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--no-color", + "value": "''", + "description": "Disable color output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_NO_COLOR" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-open.interface.ts", + "syntaxKind": "PropertySignature", + "name": "--verbose", + "value": "''", + "description": "Increase the verbosity of the output.", + "isOptional": true, + "environmentValue": "SHOPIFY_FLAG_VERBOSE" + }, + { + "filePath": "docs-shopify.dev/commands/interfaces/store-open.interface.ts", + "syntaxKind": "PropertySignature", + "name": "-s, --store ", + "value": "string", + "description": "The myshopify.com domain of the store.", + "environmentValue": "SHOPIFY_FLAG_STORE" + } + ], + "value": "export interface storeopen {\n /**\n * Disable color output.\n * @environment SHOPIFY_FLAG_NO_COLOR\n */\n '--no-color'?: ''\n\n /**\n * The myshopify.com domain of the store.\n * @environment SHOPIFY_FLAG_STORE\n */\n '-s, --store ': string\n\n /**\n * Increase the verbosity of the output.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}" + } + }, "themecheck": { "docs-shopify.dev/commands/interfaces/theme-check.interface.ts": { "filePath": "docs-shopify.dev/commands/interfaces/theme-check.interface.ts", From b2ebd9e83af35ea92c672ed8a3973f4838cda872 Mon Sep 17 00:00:00 2001 From: Ariel Caplan Date: Thu, 9 Jul 2026 12:42:46 +0300 Subject: [PATCH 4/8] Unify store create preview country env var to SHOPIFY_FLAG_STORE_COUNTRY Assisted-By: devx/7f40dd7e-8ac5-44cb-8a46-99677b33f144 --- packages/cli/oclif.manifest.json | 2 +- packages/store/src/cli/flags.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/oclif.manifest.json b/packages/cli/oclif.manifest.json index dcd34de0450..238a0808a34 100644 --- a/packages/cli/oclif.manifest.json +++ b/packages/cli/oclif.manifest.json @@ -6413,7 +6413,7 @@ "flags": { "country": { "description": "Two-letter country code for the store, such as US, CA, or GB.", - "env": "SHOPIFY_FLAG_PREVIEW_STORE_COUNTRY", + "env": "SHOPIFY_FLAG_STORE_COUNTRY", "hasDynamicHelp": false, "multiple": false, "name": "country", diff --git a/packages/store/src/cli/flags.ts b/packages/store/src/cli/flags.ts index 49ce9304c0c..a0b5ce5c039 100644 --- a/packages/store/src/cli/flags.ts +++ b/packages/store/src/cli/flags.ts @@ -17,7 +17,7 @@ export function isCountryCode(value: string): boolean { } export const previewStoreFlags = { - country: countryFlag('SHOPIFY_FLAG_PREVIEW_STORE_COUNTRY'), + country: countryFlag('SHOPIFY_FLAG_STORE_COUNTRY'), } export const storeFlags = { From 1a890d7b5a08aa84410d47827b18dba9afde6226 Mon Sep 17 00:00:00 2001 From: Alfonso Noriega Date: Mon, 13 Jul 2026 11:00:08 +0200 Subject: [PATCH 5/8] Use preview identity for store open analytics (cherry picked from commit fadcffa01ed23dab65edbdc4fb82a6a9061f8d51) --- packages/store/src/cli/services/store/info/index.test.ts | 1 + packages/store/src/cli/services/store/info/index.ts | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/store/src/cli/services/store/info/index.test.ts b/packages/store/src/cli/services/store/info/index.test.ts index 63532f8d7c8..bb420cba47b 100644 --- a/packages/store/src/cli/services/store/info/index.test.ts +++ b/packages/store/src/cli/services/store/info/index.test.ts @@ -177,6 +177,7 @@ describe('getStoreInfo', () => { expect(fetchDestinationsContext).not.toHaveBeenCalled() expect(fetchOrganizationShop).not.toHaveBeenCalled() expect(recordStoreFqdnMetadata).toHaveBeenCalledWith(SHOP, true, '123') + expect(setLastSeenUserId).toHaveBeenCalledWith('preview:placeholder-uuid') expect(getPreviewStore).toHaveBeenCalledWith({ shopId: '123', adminApiToken: 'shpat_preview_token', diff --git a/packages/store/src/cli/services/store/info/index.ts b/packages/store/src/cli/services/store/info/index.ts index 7fe73c6a3fc..8edf47be6c4 100644 --- a/packages/store/src/cli/services/store/info/index.ts +++ b/packages/store/src/cli/services/store/info/index.ts @@ -65,6 +65,7 @@ export async function getStoreInfo(options: GetStoreInfoOptions): Promise Date: Mon, 13 Jul 2026 11:08:08 +0200 Subject: [PATCH 6/8] Remove preview store user ID prefix (cherry picked from commit 983da3cb11900d18c83ff92dec20602df3be4557) --- .../services/store/create/preview/index.test.ts | 14 ++++++-------- .../src/cli/services/store/create/preview/index.ts | 4 +--- .../src/cli/services/store/info/index.test.ts | 14 +++++++------- 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/packages/store/src/cli/services/store/create/preview/index.test.ts b/packages/store/src/cli/services/store/create/preview/index.test.ts index b5e6845c7f9..dc134b869b3 100644 --- a/packages/store/src/cli/services/store/create/preview/index.test.ts +++ b/packages/store/src/cli/services/store/create/preview/index.test.ts @@ -1,4 +1,4 @@ -import {PREVIEW_USER_ID_PREFIX, createPreviewStoreCommand} from './index.js' +import {createPreviewStoreCommand} from './index.js' import {STORE_AUTH_APP_CLIENT_ID} from '../../auth/config.js' import {describe, expect, test, vi} from 'vitest' @@ -28,7 +28,7 @@ describe('preview store create service', () => { expect(setStoredStoreAppSession).toHaveBeenCalledWith({ store: 'x12y45z.myshopify.com', clientId: STORE_AUTH_APP_CLIENT_ID, - userId: `${PREVIEW_USER_ID_PREFIX}placeholder-uuid`, + userId: 'placeholder-uuid', accessToken: 'shpat_token', scopes: ['read_themes', 'write_themes'], acquiredAt: '2026-06-08T12:00:00.000Z', @@ -44,7 +44,7 @@ describe('preview store create service', () => { }) expect(recordStoreFqdnMetadata).toHaveBeenCalledOnce() expect(recordStoreFqdnMetadata).toHaveBeenCalledWith('x12y45z.myshopify.com', true, '123') - expect(setLastSeenUserId).toHaveBeenCalledWith(`${PREVIEW_USER_ID_PREFIX}placeholder-uuid`) + expect(setLastSeenUserId).toHaveBeenCalledWith('placeholder-uuid') expect(result).toEqual({ status: 'success', message: @@ -79,10 +79,8 @@ describe('preview store create service', () => { }, ) - expect(setStoredStoreAppSession).toHaveBeenCalledWith( - expect.objectContaining({userId: `${PREVIEW_USER_ID_PREFIX}123`, scopes: []}), - ) - expect(setLastSeenUserId).toHaveBeenCalledWith(`${PREVIEW_USER_ID_PREFIX}123`) + expect(setStoredStoreAppSession).toHaveBeenCalledWith(expect.objectContaining({userId: '123', scopes: []})) + expect(setLastSeenUserId).toHaveBeenCalledWith('123') }) test('passes client options to the create request', async () => { @@ -132,7 +130,7 @@ describe('preview store create service', () => { ) expect(setStoredStoreAppSession).toHaveBeenCalledOnce() - expect(setLastSeenUserId).toHaveBeenCalledWith(`${PREVIEW_USER_ID_PREFIX}123`) + expect(setLastSeenUserId).toHaveBeenCalledWith('123') expect(recordStoreFqdnMetadata).toHaveBeenCalledOnce() expect(recordStoreFqdnMetadata).toHaveBeenCalledWith('x12y45z.myshopify.com', true, '123') expect(result.status).toBe('success') diff --git a/packages/store/src/cli/services/store/create/preview/index.ts b/packages/store/src/cli/services/store/create/preview/index.ts index 204f7dee870..4fd2d111156 100644 --- a/packages/store/src/cli/services/store/create/preview/index.ts +++ b/packages/store/src/cli/services/store/create/preview/index.ts @@ -4,8 +4,6 @@ import {recordStoreFqdnMetadata} from '../../attribution.js' import {setStoredStoreAppSession} from '@shopify/cli-kit/node/store-auth-session' import {setLastSeenUserId} from '@shopify/cli-kit/node/session' -export const PREVIEW_USER_ID_PREFIX = 'preview:' - interface CreatePreviewStoreInput { name?: string country?: string @@ -57,7 +55,7 @@ export async function createPreviewStoreCommand( } function previewUserId(response: PreviewStoreCreateResponse): string { - return `${PREVIEW_USER_ID_PREFIX}${response.placeholderAccountUuid ?? response.shop.id}` + return response.placeholderAccountUuid ?? response.shop.id } async function persistPreviewStoreSession( diff --git a/packages/store/src/cli/services/store/info/index.test.ts b/packages/store/src/cli/services/store/info/index.test.ts index bb420cba47b..c91c7f2c76b 100644 --- a/packages/store/src/cli/services/store/info/index.test.ts +++ b/packages/store/src/cli/services/store/info/index.test.ts @@ -153,7 +153,7 @@ describe('getStoreInfo', () => { vi.mocked(getCurrentStoredStoreAppSession).mockReturnValueOnce({ store: SHOP, clientId: STORE_AUTH_APP_CLIENT_ID, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', accessToken: 'shpat_preview_token', scopes: [], acquiredAt: '2026-06-08T12:00:00.000Z', @@ -177,7 +177,7 @@ describe('getStoreInfo', () => { expect(fetchDestinationsContext).not.toHaveBeenCalled() expect(fetchOrganizationShop).not.toHaveBeenCalled() expect(recordStoreFqdnMetadata).toHaveBeenCalledWith(SHOP, true, '123') - expect(setLastSeenUserId).toHaveBeenCalledWith('preview:placeholder-uuid') + expect(setLastSeenUserId).toHaveBeenCalledWith('placeholder-uuid') expect(getPreviewStore).toHaveBeenCalledWith({ shopId: '123', adminApiToken: 'shpat_preview_token', @@ -200,7 +200,7 @@ describe('getStoreInfo', () => { vi.mocked(getCurrentStoredStoreAppSession).mockReturnValueOnce({ store: SHOP, clientId: STORE_AUTH_APP_CLIENT_ID, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', accessToken: 'shpat_preview_token', // Preview stores are preapproved for a large, fixed scope catalog; the re-auth message // should not dump the whole list back at the user (see the placeholder assertion below). @@ -237,7 +237,7 @@ describe('getStoreInfo', () => { vi.mocked(getCurrentStoredStoreAppSession).mockReturnValueOnce({ store: SHOP, clientId: STORE_AUTH_APP_CLIENT_ID, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', accessToken: 'shpat_preview_token', scopes: ['read_products'], acquiredAt: '2026-06-08T12:00:00.000Z', @@ -262,7 +262,7 @@ describe('getStoreInfo', () => { vi.mocked(getCurrentStoredStoreAppSession).mockReturnValueOnce({ store: SHOP, clientId: STORE_AUTH_APP_CLIENT_ID, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', accessToken: 'shpat_preview_token', scopes: ['read_themes', 'write_themes'], acquiredAt: '2026-06-08T12:00:00.000Z', @@ -290,7 +290,7 @@ describe('getStoreInfo', () => { vi.mocked(getCurrentStoredStoreAppSession).mockReturnValueOnce({ store: SHOP, clientId: STORE_AUTH_APP_CLIENT_ID, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', accessToken: 'shpat_preview_token', scopes: [], acquiredAt: '2026-06-08T12:00:00.000Z', @@ -566,7 +566,7 @@ The CLI is currently unable to prompt for reauthentication.`) mockStoreAuthFallback() vi.mocked(loadStoredStoreSession).mockResolvedValue({ ...STORED_SESSION, - userId: 'preview:placeholder-uuid', + userId: 'placeholder-uuid', kind: 'preview', scopes: ['read_products', 'write_products', 'read_themes'], }) From 11797339ac75f895dd7e1de1c4893c96330285e9 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Mon, 13 Jul 2026 09:57:27 +0000 Subject: [PATCH 7/8] Version Packages --- .changeset/unhide-store-auth-list.md | 6 ---- .changeset/unhide-store-create-preview.md | 6 ---- .changeset/unhide-store-list.md | 6 ---- .changeset/unhide-store-open.md | 6 ---- packages/app/CHANGELOG.md | 9 +++++ packages/app/package.json | 10 +++--- packages/cli-kit/CHANGELOG.md | 2 ++ packages/cli-kit/package.json | 2 +- packages/cli-kit/src/public/common/version.ts | 2 +- packages/cli/CHANGELOG.md | 9 +++++ packages/cli/oclif.manifest.json | 2 +- packages/cli/package.json | 14 ++++---- packages/create-app/CHANGELOG.md | 2 ++ packages/create-app/oclif.manifest.json | 2 +- packages/create-app/package.json | 6 ++-- packages/organizations/CHANGELOG.md | 6 ++++ packages/organizations/package.json | 4 +-- packages/plugin-cloudflare/CHANGELOG.md | 6 ++++ packages/plugin-cloudflare/package.json | 4 +-- packages/plugin-did-you-mean/CHANGELOG.md | 6 ++++ packages/plugin-did-you-mean/package.json | 4 +-- packages/store/CHANGELOG.md | 14 ++++++++ packages/store/package.json | 6 ++-- packages/theme/CHANGELOG.md | 6 ++++ packages/theme/package.json | 4 +-- .../ui-extensions-dev-console/CHANGELOG.md | 2 ++ .../ui-extensions-dev-console/package.json | 2 +- pnpm-lock.yaml | 36 +++++++++---------- 28 files changed, 111 insertions(+), 73 deletions(-) delete mode 100644 .changeset/unhide-store-auth-list.md delete mode 100644 .changeset/unhide-store-create-preview.md delete mode 100644 .changeset/unhide-store-list.md delete mode 100644 .changeset/unhide-store-open.md diff --git a/.changeset/unhide-store-auth-list.md b/.changeset/unhide-store-auth-list.md deleted file mode 100644 index a0ec18b0fe2..00000000000 --- a/.changeset/unhide-store-auth-list.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@shopify/cli': minor -'@shopify/store': minor ---- - -Add `shopify store auth list` to list stores authenticated on this machine with `shopify store auth`. diff --git a/.changeset/unhide-store-create-preview.md b/.changeset/unhide-store-create-preview.md deleted file mode 100644 index 2d70e4f6600..00000000000 --- a/.changeset/unhide-store-create-preview.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@shopify/cli': minor -'@shopify/store': minor ---- - -Add `shopify store create preview` to create a preview Shopify store with no existing account required. diff --git a/.changeset/unhide-store-list.md b/.changeset/unhide-store-list.md deleted file mode 100644 index 7f6546b85fd..00000000000 --- a/.changeset/unhide-store-list.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@shopify/cli': minor -'@shopify/store': minor ---- - -Add `shopify store list` to list stores in a Shopify organization. diff --git a/.changeset/unhide-store-open.md b/.changeset/unhide-store-open.md deleted file mode 100644 index e825b3a3b96..00000000000 --- a/.changeset/unhide-store-open.md +++ /dev/null @@ -1,6 +0,0 @@ ---- -'@shopify/cli': minor -'@shopify/store': minor ---- - -Add `shopify store open` to open a store's storefront in your default web browser. diff --git a/packages/app/CHANGELOG.md b/packages/app/CHANGELOG.md index ede9a3c16d4..d1a5c0e2590 100644 --- a/packages/app/CHANGELOG.md +++ b/packages/app/CHANGELOG.md @@ -1,5 +1,14 @@ # @shopify/app +## 4.5.0 + +### Patch Changes + +- @shopify/organizations@4.5.0 +- @shopify/cli-kit@4.5.0 +- @shopify/theme@4.5.0 +- @shopify/plugin-cloudflare@4.5.0 + ## 4.4.0 ### Minor Changes diff --git a/packages/app/package.json b/packages/app/package.json index 953cd152a0a..ab3d5573951 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/app", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "description": "Utilities for loading, building, and publishing apps.", "homepage": "https://github.com/shopify/cli#readme", @@ -61,10 +61,10 @@ "@graphql-typed-document-node/core": "3.2.0", "@luckycatfactory/esbuild-graphql-loader": "3.8.1", "@oclif/core": "4.8.3", - "@shopify/cli-kit": "4.4.0", - "@shopify/plugin-cloudflare": "4.4.0", - "@shopify/organizations": "4.4.0", - "@shopify/theme": "4.4.0", + "@shopify/cli-kit": "4.5.0", + "@shopify/plugin-cloudflare": "4.5.0", + "@shopify/organizations": "4.5.0", + "@shopify/theme": "4.5.0", "@shopify/theme-check-node": "3.26.1", "@shopify/toml-patch": "0.3.0", "chokidar": "3.6.0", diff --git a/packages/cli-kit/CHANGELOG.md b/packages/cli-kit/CHANGELOG.md index 8db11b0858f..e2013ed5fca 100644 --- a/packages/cli-kit/CHANGELOG.md +++ b/packages/cli-kit/CHANGELOG.md @@ -1,5 +1,7 @@ # @shopify/cli-kit +## 4.5.0 + ## 4.4.0 ### Minor Changes diff --git a/packages/cli-kit/package.json b/packages/cli-kit/package.json index acc67c443e4..0ddcbca7abf 100644 --- a/packages/cli-kit/package.json +++ b/packages/cli-kit/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/cli-kit", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": false, "description": "A set of utilities, interfaces, and models that are common across all the platform features", diff --git a/packages/cli-kit/src/public/common/version.ts b/packages/cli-kit/src/public/common/version.ts index d5ca40d0cdd..fc68ae42d33 100644 --- a/packages/cli-kit/src/public/common/version.ts +++ b/packages/cli-kit/src/public/common/version.ts @@ -1 +1 @@ -export const CLI_KIT_VERSION = '4.4.0' +export const CLI_KIT_VERSION = '4.5.0' diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 39ddba89292..495bd1c4519 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,14 @@ # @shopify/cli +## 4.5.0 + +### Minor Changes + +- bacbcf2: Add `shopify store auth list` to list stores authenticated on this machine with `shopify store auth`. +- bacbcf2: Add `shopify store create preview` to create a preview Shopify store with no existing account required. +- bacbcf2: Add `shopify store list` to list stores in a Shopify organization. +- bacbcf2: Add `shopify store open` to open a store's storefront in your default web browser. + ## 4.4.0 ### Minor Changes diff --git a/packages/cli/oclif.manifest.json b/packages/cli/oclif.manifest.json index 238a0808a34..f89365d0538 100644 --- a/packages/cli/oclif.manifest.json +++ b/packages/cli/oclif.manifest.json @@ -9048,5 +9048,5 @@ "strict": true } }, - "version": "4.4.0" + "version": "4.5.0" } \ No newline at end of file diff --git a/packages/cli/package.json b/packages/cli/package.json index ae9c2e32c54..023b59ce8e3 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/cli", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": false, "description": "A CLI tool to build for the Shopify platform", @@ -60,12 +60,12 @@ "@oclif/core": "4.8.3", "@oclif/plugin-commands": "4.1.57", "@oclif/plugin-plugins": "5.4.47", - "@shopify/app": "4.4.0", - "@shopify/store": "4.4.0", - "@shopify/cli-kit": "4.4.0", - "@shopify/plugin-cloudflare": "4.4.0", - "@shopify/plugin-did-you-mean": "4.4.0", - "@shopify/theme": "4.4.0", + "@shopify/app": "4.5.0", + "@shopify/store": "4.5.0", + "@shopify/cli-kit": "4.5.0", + "@shopify/plugin-cloudflare": "4.5.0", + "@shopify/plugin-did-you-mean": "4.5.0", + "@shopify/theme": "4.5.0", "@shopify/cli-hydrogen": "13.0.0", "@types/global-agent": "3.0.0", "@vitest/coverage-istanbul": "^3.2.6", diff --git a/packages/create-app/CHANGELOG.md b/packages/create-app/CHANGELOG.md index e02a71f78d2..ae9892aee9b 100644 --- a/packages/create-app/CHANGELOG.md +++ b/packages/create-app/CHANGELOG.md @@ -1,5 +1,7 @@ # @shopify/create-app +## 4.5.0 + ## 4.4.0 ## 4.3.0 diff --git a/packages/create-app/oclif.manifest.json b/packages/create-app/oclif.manifest.json index 6426a93ffa3..87eaf3fc1f8 100644 --- a/packages/create-app/oclif.manifest.json +++ b/packages/create-app/oclif.manifest.json @@ -117,5 +117,5 @@ "summary": "Create a new app project" } }, - "version": "4.4.0" + "version": "4.5.0" } \ No newline at end of file diff --git a/packages/create-app/package.json b/packages/create-app/package.json index a29f3908b74..3168dea007c 100644 --- a/packages/create-app/package.json +++ b/packages/create-app/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/create-app", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": false, "description": "A CLI tool to create a new Shopify app.", @@ -58,8 +58,8 @@ "esbuild": "0.28.1" }, "devDependencies": { - "@shopify/cli-kit": "4.4.0", - "@shopify/app": "4.4.0", + "@shopify/cli-kit": "4.5.0", + "@shopify/app": "4.5.0", "esbuild-plugin-copy": "^2.1.1", "@vitest/coverage-istanbul": "^3.2.6" }, diff --git a/packages/organizations/CHANGELOG.md b/packages/organizations/CHANGELOG.md index 9f80977d872..91c1b0adf08 100644 --- a/packages/organizations/CHANGELOG.md +++ b/packages/organizations/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/organizations +## 4.5.0 + +### Patch Changes + +- @shopify/cli-kit@4.5.0 + ## 4.4.0 ### Patch Changes diff --git a/packages/organizations/package.json b/packages/organizations/package.json index 9453002c9a3..963f3355f51 100644 --- a/packages/organizations/package.json +++ b/packages/organizations/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/organizations", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": true, "description": "Utilities for working with Shopify organizations", @@ -39,7 +39,7 @@ ] }, "dependencies": { - "@shopify/cli-kit": "4.4.0", + "@shopify/cli-kit": "4.5.0", "@graphql-typed-document-node/core": "3.2.0" }, "devDependencies": { diff --git a/packages/plugin-cloudflare/CHANGELOG.md b/packages/plugin-cloudflare/CHANGELOG.md index 9441ed327ac..6621425b354 100644 --- a/packages/plugin-cloudflare/CHANGELOG.md +++ b/packages/plugin-cloudflare/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/plugin-cloudflare +## 4.5.0 + +### Patch Changes + +- @shopify/cli-kit@4.5.0 + ## 4.4.0 ### Patch Changes diff --git a/packages/plugin-cloudflare/package.json b/packages/plugin-cloudflare/package.json index 0021e008959..875baf56736 100644 --- a/packages/plugin-cloudflare/package.json +++ b/packages/plugin-cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/plugin-cloudflare", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "description": "Enables the creation of Cloudflare tunnels from `shopify app dev`, allowing previews from any device", "keywords": [ @@ -46,7 +46,7 @@ }, "dependencies": { "@oclif/core": "4.8.3", - "@shopify/cli-kit": "4.4.0" + "@shopify/cli-kit": "4.5.0" }, "devDependencies": { "@vitest/coverage-istanbul": "^3.2.6" diff --git a/packages/plugin-did-you-mean/CHANGELOG.md b/packages/plugin-did-you-mean/CHANGELOG.md index 65b2c594dca..43460b5072f 100644 --- a/packages/plugin-did-you-mean/CHANGELOG.md +++ b/packages/plugin-did-you-mean/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/plugin-did-you-mean +## 4.5.0 + +### Patch Changes + +- @shopify/cli-kit@4.5.0 + ## 4.4.0 ### Patch Changes diff --git a/packages/plugin-did-you-mean/package.json b/packages/plugin-did-you-mean/package.json index 4bcb23a22a2..5fd7e6ba29b 100644 --- a/packages/plugin-did-you-mean/package.json +++ b/packages/plugin-did-you-mean/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/plugin-did-you-mean", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": true, "bugs": { @@ -41,7 +41,7 @@ }, "dependencies": { "@oclif/core": "4.8.3", - "@shopify/cli-kit": "4.4.0", + "@shopify/cli-kit": "4.5.0", "n-gram": "2.0.2" }, "devDependencies": { diff --git a/packages/store/CHANGELOG.md b/packages/store/CHANGELOG.md index 1a0e9826dd5..b510c08c797 100644 --- a/packages/store/CHANGELOG.md +++ b/packages/store/CHANGELOG.md @@ -1,5 +1,19 @@ # @shopify/store +## 4.5.0 + +### Minor Changes + +- bacbcf2: Add `shopify store auth list` to list stores authenticated on this machine with `shopify store auth`. +- bacbcf2: Add `shopify store create preview` to create a preview Shopify store with no existing account required. +- bacbcf2: Add `shopify store list` to list stores in a Shopify organization. +- bacbcf2: Add `shopify store open` to open a store's storefront in your default web browser. + +### Patch Changes + +- @shopify/organizations@4.5.0 +- @shopify/cli-kit@4.5.0 + ## 4.4.0 ### Minor Changes diff --git a/packages/store/package.json b/packages/store/package.json index 7a56c753432..af250770a4c 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/store", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": true, "description": "Utilities for working with Shopify stores", @@ -41,8 +41,8 @@ "dependencies": { "@graphql-typed-document-node/core": "3.2.0", "@oclif/core": "4.8.3", - "@shopify/cli-kit": "4.4.0", - "@shopify/organizations": "4.4.0" + "@shopify/cli-kit": "4.5.0", + "@shopify/organizations": "4.5.0" }, "devDependencies": { "@vitest/coverage-istanbul": "^3.2.6" diff --git a/packages/theme/CHANGELOG.md b/packages/theme/CHANGELOG.md index 4350187be7a..a780f590dac 100644 --- a/packages/theme/CHANGELOG.md +++ b/packages/theme/CHANGELOG.md @@ -1,5 +1,11 @@ # @shopify/theme +## 4.5.0 + +### Patch Changes + +- @shopify/cli-kit@4.5.0 + ## 4.4.0 ### Minor Changes diff --git a/packages/theme/package.json b/packages/theme/package.json index 5489f0adccd..71bc79ce62d 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/theme", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": true, "description": "Utilities for building and publishing themes", @@ -41,7 +41,7 @@ }, "dependencies": { "@oclif/core": "4.8.3", - "@shopify/cli-kit": "4.4.0", + "@shopify/cli-kit": "4.5.0", "@shopify/theme-check-node": "3.26.1", "@shopify/theme-language-server-node": "2.21.3", "chokidar": "3.6.0", diff --git a/packages/ui-extensions-dev-console/CHANGELOG.md b/packages/ui-extensions-dev-console/CHANGELOG.md index e3b5f8a5915..0eb2d25f7af 100644 --- a/packages/ui-extensions-dev-console/CHANGELOG.md +++ b/packages/ui-extensions-dev-console/CHANGELOG.md @@ -1,5 +1,7 @@ # @shopify/ui-extensions-dev-console-app +## 4.5.0 + ## 4.4.0 ## 4.3.0 diff --git a/packages/ui-extensions-dev-console/package.json b/packages/ui-extensions-dev-console/package.json index cdbf2b7f2fb..9c9d16297d9 100644 --- a/packages/ui-extensions-dev-console/package.json +++ b/packages/ui-extensions-dev-console/package.json @@ -1,6 +1,6 @@ { "name": "@shopify/ui-extensions-dev-console-app", - "version": "4.4.0", + "version": "4.5.0", "packageManager": "pnpm@10.11.1", "private": true, "scripts": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e1f23ffed3..06724380946 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -174,16 +174,16 @@ importers: specifier: 4.8.3 version: 4.8.3 '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit '@shopify/organizations': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../organizations '@shopify/plugin-cloudflare': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../plugin-cloudflare '@shopify/theme': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../theme '@shopify/theme-check-node': specifier: 3.26.1 @@ -272,25 +272,25 @@ importers: specifier: 5.4.47 version: 5.4.47 '@shopify/app': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../app '@shopify/cli-hydrogen': specifier: 13.0.0 version: 13.0.0(@graphql-codegen/cli@6.3.1(@parcel/watcher@2.5.6)(@types/node@18.19.130)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql-config@5.1.6(@types/node@22.19.17)(crossws@0.3.5)(graphql@16.14.2)(typescript@5.9.3))(graphql@16.14.2)(react-dom@19.2.4(react@18.3.1))(react@18.3.1)(vite@6.4.3(@types/node@22.19.17)(jiti@2.6.1)(sass@1.100.0)(tsx@4.22.4)(yaml@2.9.0)) '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit '@shopify/plugin-cloudflare': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../plugin-cloudflare '@shopify/plugin-did-you-mean': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../plugin-did-you-mean '@shopify/store': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../store '@shopify/theme': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../theme '@types/global-agent': specifier: 3.0.0 @@ -532,10 +532,10 @@ importers: version: 0.28.1 devDependencies: '@shopify/app': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../app '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit '@vitest/coverage-istanbul': specifier: ^3.2.6 @@ -629,7 +629,7 @@ importers: specifier: 3.2.0 version: 3.2.0(graphql@16.14.2) '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit devDependencies: '@vitest/coverage-istanbul': @@ -642,7 +642,7 @@ importers: specifier: 4.8.3 version: 4.8.3 '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit devDependencies: '@vitest/coverage-istanbul': @@ -655,7 +655,7 @@ importers: specifier: 4.8.3 version: 4.8.3 '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit n-gram: specifier: 2.0.2 @@ -674,10 +674,10 @@ importers: specifier: 4.8.3 version: 4.8.3 '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit '@shopify/organizations': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../organizations devDependencies: '@vitest/coverage-istanbul': @@ -690,7 +690,7 @@ importers: specifier: 4.8.3 version: 4.8.3 '@shopify/cli-kit': - specifier: 4.4.0 + specifier: 4.5.0 version: link:../cli-kit '@shopify/theme-check-node': specifier: 3.26.1 From 8187e0614850258b1503cf7d8e9089843f5c7ea3 Mon Sep 17 00:00:00 2001 From: Ariel Caplan Date: Mon, 13 Jul 2026 19:53:41 +0300 Subject: [PATCH 8/8] Remove docs-shopify.dev *.interface.ts files as per main Assisted-By: devx/1a99f36c-f97d-4e8b-b2ee-8cafa26f2ec0 --- .../interfaces/store-auth-list.interface.ts | 24 ------------- .../store-create-preview.interface.ts | 36 ------------------- .../interfaces/store-list.interface.ts | 30 ---------------- .../interfaces/store-open.interface.ts | 24 ------------- 4 files changed, 114 deletions(-) delete mode 100644 docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts delete mode 100644 docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts delete mode 100644 docs-shopify.dev/commands/interfaces/store-list.interface.ts delete mode 100644 docs-shopify.dev/commands/interfaces/store-open.interface.ts diff --git a/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts b/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts deleted file mode 100644 index de54cbdae2e..00000000000 --- a/docs-shopify.dev/commands/interfaces/store-auth-list.interface.ts +++ /dev/null @@ -1,24 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -/** - * The following flags are available for the `store auth list` command: - * @publicDocs - */ -export interface storeauthlist { - /** - * Output the result as JSON. Automatically disables color output. - * @environment SHOPIFY_FLAG_JSON - */ - '-j, --json'?: '' - - /** - * Disable color output. - * @environment SHOPIFY_FLAG_NO_COLOR - */ - '--no-color'?: '' - - /** - * Increase the verbosity of the output. - * @environment SHOPIFY_FLAG_VERBOSE - */ - '--verbose'?: '' -} diff --git a/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts b/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts deleted file mode 100644 index 4b7cdae1c44..00000000000 --- a/docs-shopify.dev/commands/interfaces/store-create-preview.interface.ts +++ /dev/null @@ -1,36 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -/** - * The following flags are available for the `store create preview` command: - * @publicDocs - */ -export interface storecreatepreview { - /** - * Two-letter country code for the store, such as US, CA, or GB. - * @environment SHOPIFY_FLAG_STORE_COUNTRY - */ - '--country '?: string - - /** - * Output the result as JSON. Automatically disables color output. - * @environment SHOPIFY_FLAG_JSON - */ - '-j, --json'?: '' - - /** - * The name of the store. - * @environment SHOPIFY_FLAG_PREVIEW_STORE_NAME - */ - '--name '?: string - - /** - * Disable color output. - * @environment SHOPIFY_FLAG_NO_COLOR - */ - '--no-color'?: '' - - /** - * Increase the verbosity of the output. - * @environment SHOPIFY_FLAG_VERBOSE - */ - '--verbose'?: '' -} diff --git a/docs-shopify.dev/commands/interfaces/store-list.interface.ts b/docs-shopify.dev/commands/interfaces/store-list.interface.ts deleted file mode 100644 index 674f068aaec..00000000000 --- a/docs-shopify.dev/commands/interfaces/store-list.interface.ts +++ /dev/null @@ -1,30 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -/** - * The following flags are available for the `store list` command: - * @publicDocs - */ -export interface storelist { - /** - * Output the result as JSON. Automatically disables color output. - * @environment SHOPIFY_FLAG_JSON - */ - '-j, --json'?: '' - - /** - * Disable color output. - * @environment SHOPIFY_FLAG_NO_COLOR - */ - '--no-color'?: '' - - /** - * The numeric organization ID. Auto-selects if you belong to a single organization. - * @environment SHOPIFY_FLAG_ORGANIZATION_ID - */ - '--organization-id '?: string - - /** - * Increase the verbosity of the output. - * @environment SHOPIFY_FLAG_VERBOSE - */ - '--verbose'?: '' -} diff --git a/docs-shopify.dev/commands/interfaces/store-open.interface.ts b/docs-shopify.dev/commands/interfaces/store-open.interface.ts deleted file mode 100644 index a6eb0aeb6c8..00000000000 --- a/docs-shopify.dev/commands/interfaces/store-open.interface.ts +++ /dev/null @@ -1,24 +0,0 @@ -// This is an autogenerated file. Don't edit this file manually. -/** - * The following flags are available for the `store open` command: - * @publicDocs - */ -export interface storeopen { - /** - * Disable color output. - * @environment SHOPIFY_FLAG_NO_COLOR - */ - '--no-color'?: '' - - /** - * The myshopify.com domain of the store. - * @environment SHOPIFY_FLAG_STORE - */ - '-s, --store ': string - - /** - * Increase the verbosity of the output. - * @environment SHOPIFY_FLAG_VERBOSE - */ - '--verbose'?: '' -}