Skip to content

Commit 7f2b445

Browse files
isaacroldanClaude Code
andcommitted
fix: correct cli lint coverage and store eslint issues
Co-authored-by: Claude Code <claude-code@anthropic.com>
1 parent 1a0173f commit 7f2b445

22 files changed

+93
-123
lines changed

packages/cli/project.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,14 +37,14 @@
3737
"lint": {
3838
"executor": "nx:run-commands",
3939
"options": {
40-
"command": "pnpm eslint \"src/**/*.ts\" 'bin/*.js' ",
40+
"command": "pnpm eslint src bin",
4141
"cwd": "packages/cli"
4242
}
4343
},
4444
"lint:fix": {
4545
"executor": "nx:run-commands",
4646
"options": {
47-
"command": "pnpm eslint 'src/**/*.ts' 'bin/*.js' --fix",
47+
"command": "pnpm eslint src bin --fix",
4848
"cwd": "packages/cli"
4949
}
5050
},

packages/cli/src/cli/commands/docs/generate.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,6 @@ export async function writeCommandDocumentation(
9090
const previewDescription = command.summary ?? description ?? ''
9191
const cleanPreview = previewDescription.replace(/`/g, '\\`').replace(/https:\/\/shopify\.dev/g, '')
9292

93-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
9493
const category = hasTopic && !generalTopics.includes(topic!) ? topic : 'general commands'
9594

9695
const docString = `// This is an autogenerated file. Don't edit this file manually.
@@ -139,7 +138,7 @@ export async function writeCommandFlagInterface(
139138
const flag = command.flags[flagName]
140139
if (!flag) return
141140
if (flag.hidden) return
142-
const flagDescription = flag.description || ''
141+
const flagDescription = flag.description ?? ''
143142
const char = flag.char ? `-${flag.char}, ` : ''
144143
const type = flag.type === 'option' ? 'string' : "''"
145144
const value = flag.type === 'option' ? ' <value>' : ''

packages/cli/src/cli/commands/store/auth.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
import {describe, test, expect, vi, beforeEach} from 'vitest'
21
import StoreAuth from './auth.js'
32
import {authenticateStoreWithApp} from '../../services/store/auth.js'
3+
import {describe, test, expect, vi} from 'vitest'
44

55
vi.mock('../../services/store/auth.js')
66

77
describe('store auth command', () => {
8-
beforeEach(() => {
9-
vi.clearAllMocks()
10-
})
11-
128
test('passes parsed flags through to the auth service', async () => {
139
await StoreAuth.run(['--store', 'shop.myshopify.com', '--scopes', 'read_products,write_products'])
1410

packages/cli/src/cli/commands/store/auth.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
1+
import {authenticateStoreWithApp} from '../../services/store/auth.js'
12
import Command from '@shopify/cli-kit/node/base-command'
23
import {globalFlags} from '@shopify/cli-kit/node/cli'
34
import {normalizeStoreFqdn} from '@shopify/cli-kit/node/context/fqdn'
45
import {Flags} from '@oclif/core'
5-
import {authenticateStoreWithApp} from '../../services/store/auth.js'
66

77
export default class StoreAuth extends Command {
88
static summary = 'Authenticate an app against a store for store commands.'
@@ -13,7 +13,9 @@ Re-run this command if the stored token is missing, expires, or no longer has th
1313

1414
static description = this.descriptionWithoutMarkdown()
1515

16-
static examples = ['<%= config.bin %> <%= command.id %> --store shop.myshopify.com --scopes read_products,write_products']
16+
static examples = [
17+
'<%= config.bin %> <%= command.id %> --store shop.myshopify.com --scopes read_products,write_products',
18+
]
1719

1820
static flags = {
1921
...globalFlags,

packages/cli/src/cli/commands/store/execute.test.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,10 @@
1-
import {describe, test, expect, vi, beforeEach} from 'vitest'
21
import StoreExecute from './execute.js'
32
import {executeStoreOperation} from '../../services/store/execute.js'
3+
import {describe, test, expect, vi} from 'vitest'
44

55
vi.mock('../../services/store/execute.js')
66

77
describe('store execute command', () => {
8-
beforeEach(() => {
9-
vi.clearAllMocks()
10-
})
11-
128
test('passes the inline query through to the service', async () => {
139
await StoreExecute.run(['--store', 'shop.myshopify.com', '--query', 'query { shop { name } }'])
1410

packages/cli/src/cli/commands/store/execute.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1+
import {executeStoreOperation} from '../../services/store/execute.js'
12
import Command from '@shopify/cli-kit/node/base-command'
23
import {globalFlags} from '@shopify/cli-kit/node/cli'
34
import {normalizeStoreFqdn} from '@shopify/cli-kit/node/context/fqdn'
45
import {resolvePath} from '@shopify/cli-kit/node/path'
56
import {Flags} from '@oclif/core'
6-
import {executeStoreOperation} from '../../services/store/execute.js'
77

88
export default class StoreExecute extends Command {
99
static summary = 'Execute GraphQL queries and mutations on a store.'

packages/cli/src/cli/services/kitchen-sink/static.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ export async function staticService() {
3535
})
3636

3737
renderInfo({
38-
headline: 'About your app',
38+
headline: 'About your app.',
3939
customSections: [
4040
{
4141
body: {

packages/cli/src/cli/services/store/admin-graphql-context.test.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,3 @@
1-
import {beforeEach, describe, expect, test, vi} from 'vitest'
2-
import {fetchApiVersions} from '@shopify/cli-kit/node/api/admin'
3-
import {AbortError} from '@shopify/cli-kit/node/error'
4-
import {fetch} from '@shopify/cli-kit/node/http'
51
import {
62
clearStoredStoreAppSession,
73
getStoredStoreAppSession,
@@ -10,11 +6,17 @@ import {
106
} from './session.js'
117
import {STORE_AUTH_APP_CLIENT_ID} from './auth-config.js'
128
import {prepareAdminStoreGraphQLContext} from './admin-graphql-context.js'
9+
import {beforeEach, describe, expect, test, vi} from 'vitest'
10+
import {fetchApiVersions} from '@shopify/cli-kit/node/api/admin'
11+
import {AbortError} from '@shopify/cli-kit/node/error'
12+
import {fetch} from '@shopify/cli-kit/node/http'
1313

1414
vi.mock('./session.js')
1515
vi.mock('@shopify/cli-kit/node/http')
1616
vi.mock('@shopify/cli-kit/node/api/admin', async () => {
17-
const actual = await vi.importActual<typeof import('@shopify/cli-kit/node/api/admin')>('@shopify/cli-kit/node/api/admin')
17+
const actual = await vi.importActual<typeof import('@shopify/cli-kit/node/api/admin')>(
18+
'@shopify/cli-kit/node/api/admin',
19+
)
1820
return {
1921
...actual,
2022
fetchApiVersions: vi.fn(),
@@ -35,7 +37,6 @@ describe('prepareAdminStoreGraphQLContext', () => {
3537
}
3638

3739
beforeEach(() => {
38-
vi.clearAllMocks()
3940
vi.mocked(getStoredStoreAppSession).mockReturnValue(storedSession)
4041
vi.mocked(isSessionExpired).mockReturnValue(false)
4142
vi.mocked(fetchApiVersions).mockResolvedValue([

packages/cli/src/cli/services/store/admin-graphql-context.ts

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
import {fetchApiVersions} from '@shopify/cli-kit/node/api/admin'
2-
import {AbortError} from '@shopify/cli-kit/node/error'
3-
import {fetch} from '@shopify/cli-kit/node/http'
4-
import {outputContent, outputDebug, outputToken} from '@shopify/cli-kit/node/output'
5-
import {AdminSession} from '@shopify/cli-kit/node/session'
61
import {maskToken, STORE_AUTH_APP_CLIENT_ID} from './auth-config.js'
72
import {createStoredStoreAuthError, reauthenticateStoreAuthError} from './auth-recovery.js'
83
import {
@@ -12,6 +7,11 @@ import {
127
setStoredStoreAppSession,
138
StoredStoreAppSession,
149
} from './session.js'
10+
import {fetchApiVersions} from '@shopify/cli-kit/node/api/admin'
11+
import {AbortError} from '@shopify/cli-kit/node/error'
12+
import {fetch} from '@shopify/cli-kit/node/http'
13+
import {outputContent, outputDebug, outputToken} from '@shopify/cli-kit/node/output'
14+
import {AdminSession} from '@shopify/cli-kit/node/session'
1515

1616
export interface AdminStoreGraphQLContext {
1717
adminSession: AdminSession

packages/cli/src/cli/services/store/admin-graphql-transport.test.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
1+
import {clearStoredStoreAppSession} from './session.js'
2+
import {prepareStoreExecuteRequest} from './execute-request.js'
3+
import {runAdminStoreGraphQLOperation} from './admin-graphql-transport.js'
14
import {beforeEach, describe, expect, test, vi} from 'vitest'
25
import {adminUrl} from '@shopify/cli-kit/node/api/admin'
36
import {graphqlRequest} from '@shopify/cli-kit/node/api/graphql'
47
import {renderSingleTask} from '@shopify/cli-kit/node/ui'
5-
import {clearStoredStoreAppSession} from './session.js'
6-
import {prepareStoreExecuteRequest} from './execute-request.js'
7-
import {runAdminStoreGraphQLOperation} from './admin-graphql-transport.js'
88

99
vi.mock('./session.js')
1010
vi.mock('@shopify/cli-kit/node/api/graphql')
1111
vi.mock('@shopify/cli-kit/node/ui')
1212
vi.mock('@shopify/cli-kit/node/api/admin', async () => {
13-
const actual = await vi.importActual<typeof import('@shopify/cli-kit/node/api/admin')>('@shopify/cli-kit/node/api/admin')
13+
const actual = await vi.importActual<typeof import('@shopify/cli-kit/node/api/admin')>(
14+
'@shopify/cli-kit/node/api/admin',
15+
)
1416
return {
1517
...actual,
1618
adminUrl: vi.fn(),
@@ -22,7 +24,6 @@ describe('runAdminStoreGraphQLOperation', () => {
2224
const adminSession = {token: 'token', storeFqdn: store}
2325

2426
beforeEach(() => {
25-
vi.clearAllMocks()
2627
vi.mocked(adminUrl).mockReturnValue('https://shop.myshopify.com/admin/api/2025-10/graphql.json')
2728
vi.mocked(renderSingleTask).mockImplementation(async ({task}) => task(() => {}))
2829
})

0 commit comments

Comments
 (0)