Skip to content

Commit 703bf85

Browse files
committed
Remove support for the deprecated --api-key flag
1 parent 7a0d206 commit 703bf85

File tree

12 files changed

+19
-239
lines changed

12 files changed

+19
-239
lines changed

.changeset/polite-fans-wink.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@shopify/app': minor
3+
---
4+
5+
Removed support for "--api-key" and "SHOPIFY_API_KEY". Use "--client-id" or "SHOPIFY_FLAG_CLIENT_ID" instead

packages/app/src/cli/commands/app/build.ts

Lines changed: 2 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {appFlags} from '../../flags.js'
22
import build from '../../services/build.js'
3-
import {showApiKeyDeprecationWarning} from '../../prompts/deprecation-warnings.js'
43
import {localAppContext} from '../../services/app-context.js'
54
import AppUnlinkedCommand, {AppUnlinkedCommandOutput} from '../../utilities/app-unlinked-command.js'
65
import {Flags} from '@oclif/core'
@@ -25,20 +24,11 @@ export default class Build extends AppUnlinkedCommand {
2524
env: 'SHOPIFY_FLAG_SKIP_DEPENDENCIES_INSTALLATION',
2625
default: false,
2726
}),
28-
'api-key': Flags.string({
29-
hidden: true,
30-
description: "Application's API key that will be exposed at build time.",
31-
env: 'SHOPIFY_FLAG_API_KEY',
32-
exclusive: ['config'],
33-
}),
3427
}
3528

3629
async run(): Promise<AppUnlinkedCommandOutput> {
3730
const {flags} = await this.parse(Build)
38-
if (flags['api-key']) {
39-
await showApiKeyDeprecationWarning()
40-
}
41-
const apiKey = flags['client-id'] ?? flags['api-key']
31+
const clientId = flags['client-id']
4232

4333
await addPublicMetadata(() => ({
4434
cmd_app_dependency_installation_skipped: flags['skip-dependencies-installation'],
@@ -49,7 +39,7 @@ export default class Build extends AppUnlinkedCommand {
4939
userProvidedConfigName: flags.config,
5040
})
5141

52-
await build({app, skipDependenciesInstallation: flags['skip-dependencies-installation'], apiKey})
42+
await build({app, skipDependenciesInstallation: flags['skip-dependencies-installation'], apiKey: clientId})
5343

5444
return {app}
5545
}

packages/app/src/cli/commands/app/deploy.ts

Lines changed: 3 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ import {appFlags} from '../../flags.js'
22
import {deploy} from '../../services/deploy.js'
33
import {getAppConfigurationState} from '../../models/app/loader.js'
44
import {validateVersion} from '../../validations/version-name.js'
5-
import {showApiKeyDeprecationWarning} from '../../prompts/deprecation-warnings.js'
65
import {validateMessage} from '../../validations/message.js'
76
import metadata from '../../metadata.js'
87
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../utilities/app-linked-command.js'
@@ -26,12 +25,6 @@ export default class Deploy extends AppLinkedCommand {
2625
static flags = {
2726
...globalFlags,
2827
...appFlags,
29-
'api-key': Flags.string({
30-
hidden: true,
31-
description: 'The API key of your app.',
32-
env: 'SHOPIFY_FLAG_APP_API_KEY',
33-
exclusive: ['config'],
34-
}),
3528
force: Flags.boolean({
3629
hidden: false,
3730
description: 'Deploy without asking for confirmation.',
@@ -81,27 +74,22 @@ export default class Deploy extends AppLinkedCommand {
8174
validateVersion(flags.version)
8275
validateMessage(flags.message)
8376

84-
if (flags['api-key']) {
85-
await showApiKeyDeprecationWarning()
86-
} else if (process.env.SHOPIFY_API_KEY) {
87-
flags['api-key'] = process.env.SHOPIFY_API_KEY
88-
}
89-
const apiKey = flags['client-id'] || flags['api-key']
77+
const clientId = flags['client-id']
9078

9179
await addPublicMetadata(() => ({
9280
cmd_app_reset_used: flags.reset,
9381
}))
9482

9583
const requiredNonTTYFlags = ['force']
9684
const configurationState = await getAppConfigurationState(flags.path, flags.config)
97-
if (configurationState.state === 'template-only' && !apiKey) {
85+
if (configurationState.state === 'template-only' && !clientId) {
9886
requiredNonTTYFlags.push('client-id')
9987
}
10088
this.failMissingNonTTYFlags(flags, requiredNonTTYFlags)
10189

10290
const {app, remoteApp, developerPlatformClient, organization} = await linkedAppContext({
10391
directory: flags.path,
104-
clientId: apiKey,
92+
clientId,
10593
forceRelink: flags.reset,
10694
userProvidedConfigName: flags.config,
10795
})

packages/app/src/cli/commands/app/dev.ts

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {appFlags} from '../../flags.js'
22
import {dev, DevOptions} from '../../services/dev.js'
3-
import {showApiKeyDeprecationWarning} from '../../prompts/deprecation-warnings.js'
43
import {checkFolderIsValidApp} from '../../models/app/loader.js'
54
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../utilities/app-linked-command.js'
65
import {linkedAppContext} from '../../services/app-context.js'
@@ -21,12 +20,6 @@ export default class Dev extends AppLinkedCommand {
2120
static flags = {
2221
...globalFlags,
2322
...appFlags,
24-
'api-key': Flags.string({
25-
hidden: true,
26-
description: 'The API key of your app.',
27-
env: 'SHOPIFY_FLAG_APP_API_KEY',
28-
exclusive: ['config'],
29-
}),
3023
store: Flags.string({
3124
char: 's',
3225
description: 'Store URL. Must be an existing development or Shopify Plus sandbox store.',
@@ -102,13 +95,6 @@ export default class Dev extends AppLinkedCommand {
10295
public async run(): Promise<AppLinkedCommandOutput> {
10396
const {flags} = await this.parse(Dev)
10497

105-
if (!flags['api-key'] && process.env.SHOPIFY_API_KEY) {
106-
flags['api-key'] = process.env.SHOPIFY_API_KEY
107-
}
108-
if (flags['api-key']) {
109-
await showApiKeyDeprecationWarning()
110-
}
111-
11298
const tunnelMode = await getTunnelMode({
11399
useLocalhost: flags['use-localhost'],
114100
tunnelUrl: flags['tunnel-url'],
@@ -127,7 +113,7 @@ export default class Dev extends AppLinkedCommand {
127113

128114
const appContextResult = await linkedAppContext({
129115
directory: flags.path,
130-
clientId: flags['client-id'] ?? flags['api-key'],
116+
clientId: flags['client-id'],
131117
forceRelink: flags.reset,
132118
userProvidedConfigName: flags.config,
133119
})

packages/app/src/cli/commands/app/function/replay.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {chooseFunction, functionFlags} from '../../../services/function/common.js'
22
import {replay} from '../../../services/function/replay.js'
33
import {appFlags} from '../../../flags.js'
4-
import {showApiKeyDeprecationWarning} from '../../../prompts/deprecation-warnings.js'
54
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../../utilities/app-linked-command.js'
65
import {linkedAppContext} from '../../../services/app-context.js'
76
import {globalFlags, jsonFlag} from '@shopify/cli-kit/node/cli'
@@ -19,12 +18,6 @@ export default class FunctionReplay extends AppLinkedCommand {
1918
...appFlags,
2019
...functionFlags,
2120
...jsonFlag,
22-
'api-key': Flags.string({
23-
hidden: true,
24-
description: "Application's API key",
25-
env: 'SHOPIFY_FLAG_API_KEY',
26-
exclusive: ['config'],
27-
}),
2821
log: Flags.string({
2922
char: 'l',
3023
description:
@@ -43,13 +36,10 @@ export default class FunctionReplay extends AppLinkedCommand {
4336

4437
public async run(): Promise<AppLinkedCommandOutput> {
4538
const {flags} = await this.parse(FunctionReplay)
46-
if (flags['api-key']) {
47-
await showApiKeyDeprecationWarning()
48-
}
4939

5040
const {app} = await linkedAppContext({
5141
directory: flags.path,
52-
clientId: flags['client-id'] ?? flags['api-key'],
42+
clientId: flags['client-id'],
5343
forceRelink: flags.reset,
5444
userProvidedConfigName: flags.config,
5545
})

packages/app/src/cli/commands/app/function/schema.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {generateSchemaService} from '../../../services/generate-schema.js'
22
import {chooseFunction, functionFlags} from '../../../services/function/common.js'
3-
import {showApiKeyDeprecationWarning} from '../../../prompts/deprecation-warnings.js'
43
import {appFlags} from '../../../flags.js'
54
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../../utilities/app-linked-command.js'
65
import {linkedAppContext} from '../../../services/app-context.js'
@@ -20,13 +19,6 @@ export default class FetchSchema extends AppLinkedCommand {
2019
...globalFlags,
2120
...appFlags,
2221
...functionFlags,
23-
'api-key': Flags.string({
24-
hidden: true,
25-
name: 'API key',
26-
description: 'The API key to fetch the schema with.',
27-
env: 'SHOPIFY_FLAG_APP_API_KEY',
28-
exclusive: ['config'],
29-
}),
3022
stdout: Flags.boolean({
3123
description: 'Output the schema to stdout instead of writing to a file.',
3224
required: false,
@@ -37,14 +29,10 @@ export default class FetchSchema extends AppLinkedCommand {
3729

3830
public async run(): Promise<AppLinkedCommandOutput> {
3931
const {flags} = await this.parse(FetchSchema)
40-
if (flags['api-key']) {
41-
await showApiKeyDeprecationWarning()
42-
}
43-
const apiKey = flags['client-id'] ?? flags['api-key']
4432

4533
const {app, developerPlatformClient, organization} = await linkedAppContext({
4634
directory: flags.path,
47-
clientId: apiKey,
35+
clientId: flags['client-id'],
4836
forceRelink: flags.reset,
4937
userProvidedConfigName: flags.config,
5038
})

packages/app/src/cli/commands/app/generate/extension.ts

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {appFlags} from '../../../flags.js'
22
import metadata from '../../../metadata.js'
33
import generate from '../../../services/generate.js'
4-
import {showApiKeyDeprecationWarning} from '../../../prompts/deprecation-warnings.js'
54
import {checkFolderIsValidApp} from '../../../models/app/loader.js'
65
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../../utilities/app-linked-command.js'
76
import {linkedAppContext} from '../../../services/app-context.js'
@@ -53,12 +52,6 @@ export default class AppGenerateExtension extends AppLinkedCommand {
5352
options: ['vanilla-js', 'react', 'typescript', 'typescript-react', 'wasm', 'rust'],
5453
env: 'SHOPIFY_FLAG_FLAVOR',
5554
}),
56-
'api-key': Flags.string({
57-
hidden: true,
58-
description: 'The API key of your app.',
59-
env: 'SHOPIFY_FLAG_APP_API_KEY',
60-
exclusive: ['config'],
61-
}),
6255
}
6356

6457
public static analyticsNameOverride(): string | undefined {
@@ -67,9 +60,6 @@ export default class AppGenerateExtension extends AppLinkedCommand {
6760

6861
public async run(): Promise<AppLinkedCommandOutput> {
6962
const {flags} = await this.parse(AppGenerateExtension)
70-
if (flags['api-key']) {
71-
await showApiKeyDeprecationWarning()
72-
}
7363

7464
await metadata.addPublicMetadata(() => ({
7565
cmd_scaffold_required_auth: true,
@@ -89,7 +79,7 @@ export default class AppGenerateExtension extends AppLinkedCommand {
8979

9080
const {app, specifications, remoteApp, developerPlatformClient} = await linkedAppContext({
9181
directory: flags.path,
92-
clientId: flags['client-id'] ?? flags['api-key'],
82+
clientId: flags['client-id'],
9383
forceRelink: flags.reset,
9484
userProvidedConfigName: flags.config,
9585
})

packages/app/src/cli/commands/app/logs.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import Dev from './dev.js'
21
import {checkFolderIsValidApp} from '../../models/app/loader.js'
32
import {logs, Format} from '../../services/logs.js'
43
import {appFlags} from '../../flags.js'
@@ -27,7 +26,6 @@ export default class Logs extends AppLinkedCommand {
2726
...globalFlags,
2827
...appFlags,
2928
...jsonFlag,
30-
'api-key': Dev.flags['api-key'],
3129
store: Flags.string({
3230
char: 's',
3331
description: 'Store URL. Must be an existing development or Shopify Plus sandbox store.',
@@ -50,13 +48,11 @@ export default class Logs extends AppLinkedCommand {
5048
public async run(): Promise<AppLinkedCommandOutput> {
5149
const {flags} = await this.parse(Logs)
5250

53-
const apiKey = flags['client-id'] ?? flags['api-key']
54-
5551
await checkFolderIsValidApp(flags.path)
5652

5753
const appContextResult = await linkedAppContext({
5854
directory: flags.path,
59-
clientId: apiKey,
55+
clientId: flags['client-id'],
6056
forceRelink: flags.reset,
6157
userProvidedConfigName: flags.config,
6258
})

packages/app/src/cli/commands/app/release.ts

Lines changed: 3 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import {appFlags} from '../../flags.js'
22
import {release} from '../../services/release.js'
3-
import {showApiKeyDeprecationWarning} from '../../prompts/deprecation-warnings.js'
43
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../utilities/app-linked-command.js'
54
import {linkedAppContext} from '../../services/app-context.js'
65
import {getAppConfigurationState} from '../../models/app/loader.js'
@@ -20,12 +19,6 @@ export default class Release extends AppLinkedCommand {
2019
static flags = {
2120
...globalFlags,
2221
...appFlags,
23-
'api-key': Flags.string({
24-
hidden: true,
25-
description: 'The API key of your app.',
26-
env: 'SHOPIFY_FLAG_APP_API_KEY',
27-
exclusive: ['config'],
28-
}),
2922
force: Flags.boolean({
3023
hidden: false,
3124
description: 'Release without asking for confirmation.',
@@ -42,25 +35,22 @@ export default class Release extends AppLinkedCommand {
4235

4336
async run(): Promise<AppLinkedCommandOutput> {
4437
const {flags} = await this.parse(Release)
45-
if (flags['api-key']) {
46-
await showApiKeyDeprecationWarning()
47-
}
48-
const apiKey = flags['client-id'] ?? flags['api-key']
38+
const clientId = flags['client-id']
4939

5040
await addPublicMetadata(() => ({
5141
cmd_app_reset_used: flags.reset,
5242
}))
5343

5444
const requiredNonTTYFlags = ['force']
5545
const configurationState = await getAppConfigurationState(flags.path, flags.config)
56-
if (configurationState.state === 'template-only' && !apiKey) {
46+
if (configurationState.state === 'template-only' && !clientId) {
5747
requiredNonTTYFlags.push('client-id')
5848
}
5949
this.failMissingNonTTYFlags(flags, requiredNonTTYFlags)
6050

6151
const {app, remoteApp, developerPlatformClient} = await linkedAppContext({
6252
directory: flags.path,
63-
clientId: apiKey,
53+
clientId,
6454
forceRelink: flags.reset,
6555
userProvidedConfigName: flags.config,
6656
})

packages/app/src/cli/commands/app/versions/list.ts

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,8 @@
11
import {appFlags} from '../../../flags.js'
22
import versionList from '../../../services/versions-list.js'
3-
import {showApiKeyDeprecationWarning} from '../../../prompts/deprecation-warnings.js'
43
import AppLinkedCommand, {AppLinkedCommandOutput} from '../../../utilities/app-linked-command.js'
54
import {linkedAppContext} from '../../../services/app-context.js'
65
import {globalFlags, jsonFlag} from '@shopify/cli-kit/node/cli'
7-
import {Flags} from '@oclif/core'
86

97
export default class VersionsList extends AppLinkedCommand {
108
static summary = 'List deployed versions of your app.'
@@ -17,24 +15,14 @@ export default class VersionsList extends AppLinkedCommand {
1715
...globalFlags,
1816
...appFlags,
1917
...jsonFlag,
20-
'api-key': Flags.string({
21-
hidden: true,
22-
description: "Application's API key to fetch versions for.",
23-
env: 'SHOPIFY_FLAG_API_KEY',
24-
exclusive: ['config'],
25-
}),
2618
}
2719

2820
public async run(): Promise<AppLinkedCommandOutput> {
2921
const {flags} = await this.parse(VersionsList)
30-
if (flags['api-key']) {
31-
await showApiKeyDeprecationWarning()
32-
}
33-
const apiKey = flags['client-id'] ?? flags['api-key']
3422

3523
const {app, remoteApp, developerPlatformClient, organization} = await linkedAppContext({
3624
directory: flags.path,
37-
clientId: apiKey,
25+
clientId: flags['client-id'],
3826
forceRelink: flags.reset,
3927
userProvidedConfigName: flags.config,
4028
})

0 commit comments

Comments
 (0)