Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .changeset/unhide-store-create-dev.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@shopify/cli': minor
'@shopify/store': minor
---

Add `shopify store create dev` to create a development store in a Shopify organization.
6 changes: 6 additions & 0 deletions .changeset/unhide-store-delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
---
'@shopify/cli': minor
'@shopify/store': minor
---

Add `shopify store delete` to delete a development store from a Shopify organization.
156 changes: 156 additions & 0 deletions docs-shopify.dev/generated/generated_docs_data_v2.json
Original file line number Diff line number Diff line change
Expand Up @@ -5047,6 +5047,98 @@
"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 <value>'?: 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 <value>': string\n\n /**\n * Increase the verbosity of the output. May include sensitive data.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}"
}
},
"storecreatedev": {
"docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts": {
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"name": "storecreatedev",
"description": "The following flags are available for the `store create dev` command:",
"isPublicDocs": true,
"members": [
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--country <value>",
"value": "string",
"description": "Two-letter country code for the store, such as US, CA, or GB. Follows the ISO 3166-1 alpha-2 standard.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_STORE_COUNTRY"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--demo-data",
"value": "''",
"description": "Populate the new dev store with demo data.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_STORE_DEMO_DATA"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--feature-preview <value>",
"value": "string",
"description": "The handle of a feature preview to enable on the new dev store.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_STORE_FEATURE_PREVIEW"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--name <value>",
"value": "string",
"description": "Name for the new dev store. Required if non interactive.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_STORE_NAME"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.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-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--organization-id <value>",
"value": "string",
"description": "The numeric organization ID. Auto-selects if you belong to a single organization. Required if non interactive.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_ORGANIZATION_ID"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--plan <value>",
"value": "string",
"description": "The Shopify plan to use for the new dev store. Required if non interactive.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_STORE_PLAN"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--verbose",
"value": "''",
"description": "Increase the verbosity of the output. May include sensitive data.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_VERBOSE"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-create-dev.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 storecreatedev {\n /**\n * Two-letter country code for the store, such as US, CA, or GB. Follows the ISO 3166-1 alpha-2 standard.\n * @environment SHOPIFY_FLAG_STORE_COUNTRY\n */\n '--country <value>'?: string\n\n /**\n * Populate the new dev store with demo data.\n * @environment SHOPIFY_FLAG_STORE_DEMO_DATA\n */\n '--demo-data'?: ''\n\n /**\n * The handle of a feature preview to enable on the new dev store.\n * @environment SHOPIFY_FLAG_STORE_FEATURE_PREVIEW\n */\n '--feature-preview <value>'?: 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 * Name for the new dev store. Required if non interactive.\n * @environment SHOPIFY_FLAG_STORE_NAME\n */\n '--name <value>'?: string\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. Required if non interactive.\n * @environment SHOPIFY_FLAG_ORGANIZATION_ID\n */\n '--organization-id <value>'?: string\n\n /**\n * The Shopify plan to use for the new dev store. Required if non interactive.\n * @environment SHOPIFY_FLAG_STORE_PLAN\n */\n '--plan <value>'?: string\n\n /**\n * Increase the verbosity of the output. May include sensitive data.\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",
Expand Down Expand Up @@ -5103,6 +5195,70 @@
"value": "export interface storecreatepreview {\n /**\n * Two-letter country code for the store, such as US, CA, or GB. Follows the ISO 3166-1 alpha-2 standard.\n * @environment SHOPIFY_FLAG_STORE_COUNTRY\n */\n '--country <value>'?: 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 <value>'?: 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. May include sensitive data.\n * @environment SHOPIFY_FLAG_VERBOSE\n */\n '--verbose'?: ''\n}"
}
},
"storedelete": {
"docs-shopify.dev/commands/interfaces/store-delete.interface.ts": {
"filePath": "docs-shopify.dev/commands/interfaces/store-delete.interface.ts",
"name": "storedelete",
"description": "The following flags are available for the `store delete` command:",
"isPublicDocs": true,
"members": [
{
"filePath": "docs-shopify.dev/commands/interfaces/store-delete.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-delete.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--organization-id <value>",
"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-delete.interface.ts",
"syntaxKind": "PropertySignature",
"name": "--verbose",
"value": "''",
"description": "Increase the verbosity of the output. May include sensitive data.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_VERBOSE"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-delete.interface.ts",
"syntaxKind": "PropertySignature",
"name": "-f, --force",
"value": "''",
"description": "Skip confirmation. Required if non interactive.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_FORCE"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-delete.interface.ts",
"syntaxKind": "PropertySignature",
"name": "-j, --json",
"value": "''",
"description": "Output the result as JSON. Automatically disables color output.",
"isOptional": true,
"environmentValue": "SHOPIFY_FLAG_JSON"
},
{
"filePath": "docs-shopify.dev/commands/interfaces/store-delete.interface.ts",
"syntaxKind": "PropertySignature",
"name": "-s, --store <value>",
"value": "string",
"description": "The myshopify.com domain of the store.",
"environmentValue": "SHOPIFY_FLAG_STORE"
}
],
"value": "export interface storedelete {\n /**\n * Skip confirmation. Required if non interactive.\n * @environment SHOPIFY_FLAG_FORCE\n */\n '-f, --force'?: ''\n\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 <value>'?: string\n\n /**\n * The myshopify.com domain of the store.\n * @environment SHOPIFY_FLAG_STORE\n */\n '-s, --store <value>': string\n\n /**\n * Increase the verbosity of the output. May include sensitive data.\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",
Expand Down
110 changes: 110 additions & 0 deletions packages/cli/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,9 @@
* [`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 dev`](#shopify-store-create-dev)
* [`shopify store create preview`](#shopify-store-create-preview)
* [`shopify store delete`](#shopify-store-delete)
* [`shopify store execute`](#shopify-store-execute)
* [`shopify store graphiql`](#shopify-store-graphiql)
* [`shopify store info`](#shopify-store-info)
Expand Down Expand Up @@ -3655,6 +3657,68 @@ EXAMPLES
$ shopify store bulk status --store shop.myshopify.com --id 123456789
```

## `shopify store create dev`

Create a new dev store.

```
USAGE
$ shopify store create dev [--country <value>] [--demo-data] [--feature-preview <value>] [-j] [--name <value>]
[--no-color] [--organization-id <value>] [--plan basic|grow|advanced|plus] [--verbose]

FLAGS
-j, --json
Output the result as JSON. Automatically disables color output.
[env: SHOPIFY_FLAG_JSON]

--country=<value>
Two-letter country code for the store, such as US, CA, or GB. Follows the ISO 3166-1 alpha-2 standard.
[env: SHOPIFY_FLAG_STORE_COUNTRY]

--[no-]demo-data
Populate the new dev store with demo data.
[env: SHOPIFY_FLAG_STORE_DEMO_DATA]

--feature-preview=<value>
The handle of a feature preview to enable on the new dev store.
[env: SHOPIFY_FLAG_STORE_FEATURE_PREVIEW]

--name=<value>
Name for the new dev store. Required if non interactive.
[env: SHOPIFY_FLAG_STORE_NAME]

--no-color
Disable color output.
[env: SHOPIFY_FLAG_NO_COLOR]

--organization-id=<value>
The numeric organization ID. Auto-selects if you belong to a single organization. Required if non interactive.
[env: SHOPIFY_FLAG_ORGANIZATION_ID]

--plan=<option>
The Shopify plan to use for the new dev store. Required if non interactive.
[env: SHOPIFY_FLAG_STORE_PLAN]
<options: basic|grow|advanced|plus>

--verbose
Increase the verbosity of the output. May include sensitive data.
[env: SHOPIFY_FLAG_VERBOSE]

DESCRIPTION
Create a new dev store.

Creates a new dev store in your organization.

EXAMPLES
$ shopify store create dev

$ shopify store create dev --name "Lavender Candles" --organization-id 1234567 --plan basic

$ shopify store create dev --name "Lavender Candles" --organization-id 1234567 --plan basic --demo-data

$ shopify store create dev --name "Lavender Candles" --organization-id 1234567 --plan basic --json
```

## `shopify store create preview`

Create a preview Shopify store.
Expand Down Expand Up @@ -3697,6 +3761,52 @@ EXAMPLES
$ shopify store create preview --name "Lavender Candles" --json
```

## `shopify store delete`

Delete a dev store.

```
USAGE
$ shopify store delete -s <value> [-f] [-j] [--no-color] [--organization-id <value>] [--verbose]

FLAGS
-f, --force
Skip confirmation. Required if non interactive.
[env: SHOPIFY_FLAG_FORCE]

-j, --json
Output the result as JSON. Automatically disables color output.
[env: SHOPIFY_FLAG_JSON]

-s, --store=<value>
(required) The myshopify.com domain of the store.
[env: SHOPIFY_FLAG_STORE]

--no-color
Disable color output.
[env: SHOPIFY_FLAG_NO_COLOR]

--organization-id=<value>
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. May include sensitive data.
[env: SHOPIFY_FLAG_VERBOSE]

DESCRIPTION
Delete a dev store.

Deletes a dev store from your organization.

EXAMPLES
$ shopify store delete --store shop.myshopify.com --organization-id 1234567

$ shopify store delete --store shop.myshopify.com --organization-id 1234567 --json

$ shopify store delete --store shop.myshopify.com --organization-id 1234567 --force
```

## `shopify store execute`

Execute GraphQL queries and mutations on a store.
Expand Down
2 changes: 0 additions & 2 deletions packages/cli/oclif.manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -7276,7 +7276,6 @@
}
},
"hasDynamicHelp": false,
"hidden": true,
"hiddenAliases": [
],
"id": "store:create:dev",
Expand Down Expand Up @@ -7422,7 +7421,6 @@
}
},
"hasDynamicHelp": false,
"hidden": true,
"hiddenAliases": [
],
"id": "store:delete",
Expand Down
2 changes: 2 additions & 0 deletions packages/e2e/data/snapshots/commands.txt
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,9 @@
│ │ ├─ execute
│ │ └─ status
│ ├─ create
│ │ ├─ dev
│ │ └─ preview
│ ├─ delete
│ ├─ execute
│ ├─ graphiql
│ ├─ info
Expand Down
2 changes: 0 additions & 2 deletions packages/store/src/cli/commands/store/create/dev.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,6 @@ import {outputResult} from '@shopify/cli-kit/node/output'
import {Flags} from '@oclif/core'

export default class StoreCreateDev extends Command {
static hidden = true

static summary = 'Create a new dev store.'

static descriptionWithMarkdown = 'Creates a new dev store in your organization.'
Expand Down
2 changes: 0 additions & 2 deletions packages/store/src/cli/commands/store/delete.ts
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,6 @@ import {isTTY, renderDangerousConfirmationPrompt} from '@shopify/cli-kit/node/ui
import {Flags} from '@oclif/core'

export default class StoreDelete extends Command {
static hidden = true

static summary = 'Delete a dev store.'

static descriptionWithMarkdown = 'Deletes a dev store from your organization.'
Expand Down
Loading