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
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ jobs:
comment_suffix: "
> [!CAUTION]
> After installing, validate the version by running just `shopify` in your terminal.
> After installing, validate the version by running `shopify version` in your terminal.
> If the versions don't match, you might have multiple global instances installed.
Expand Down
1 change: 0 additions & 1 deletion bin/release
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ fi
if [ "$tag" = "nightly" ] || [ "$tag" = "experimental" ]; then
echo -e "---\n'"'@shopify/cli'"': patch\n---" > .changeset/force-release.md
pnpm changeset version --snapshot $tag
./bin/update-cli-kit-version.js
fi

# Bundle the packages
Expand Down
7 changes: 0 additions & 7 deletions bin/update-cli-kit-version.js

This file was deleted.

4 changes: 2 additions & 2 deletions docs-shopify.dev/commands/upgrade.doc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import {ReferenceEntityTemplateSchema} from '@shopify/generate-docs'

const data: ReferenceEntityTemplateSchema = {
name: 'upgrade',
description: `Shows details on how to upgrade Shopify CLI.`,
overviewPreviewDescription: `Shows details on how to upgrade Shopify CLI.`,
description: `Upgrades Shopify CLI using your package manager.`,
overviewPreviewDescription: `Upgrades Shopify CLI.`,
type: 'command',
isVisualComponent: false,
defaultExample: {
Expand Down
4 changes: 2 additions & 2 deletions docs-shopify.dev/generated/generated_docs_data.json
Original file line number Diff line number Diff line change
Expand Up @@ -7815,8 +7815,8 @@
},
{
"name": "upgrade",
"description": "Shows details on how to upgrade Shopify CLI.",
"overviewPreviewDescription": "Shows details on how to upgrade Shopify CLI.",
"description": "Upgrades Shopify CLI using your package manager.",
"overviewPreviewDescription": "Upgrades Shopify CLI.",
"type": "command",
"isVisualComponent": false,
"defaultExample": {
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
"build:affected": "nx affected --target=build",
"build": "nx run-many --target=build --all --skip-nx-cache",
"bundle-for-release": "nx run-many --target=bundle --all --skip-nx-cache",
"changeset-manifests": "changeset version && pnpm install --no-frozen-lockfile && pnpm refresh-manifests && pnpm refresh-readme && pnpm refresh-code-documentation && bin/update-cli-kit-version.js",
"changeset-manifests": "changeset version && pnpm install --no-frozen-lockfile && pnpm refresh-manifests && pnpm refresh-readme && pnpm refresh-code-documentation",
"clean": "nx run-many --target=clean --all --skip-nx-cache && nx reset",
"create-app": "nx build create-app && node packages/create-app/bin/dev.js --package-manager npm",
"deploy-experimental": "node bin/deploy-experimental.js",
Expand Down
12 changes: 6 additions & 6 deletions packages/app/src/cli/services/app/config/link.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -260,7 +260,7 @@ embedded = false
body: 'Using shopify.app.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.toml in your local project`],
['To upload your config, run', {command: 'npm run shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down Expand Up @@ -392,7 +392,7 @@ url = "https://api-client-config.com/preferences"
body: 'Using shopify.app.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.toml in your local project`],
['To upload your config, run', {command: 'npm run shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down Expand Up @@ -523,7 +523,7 @@ embedded = false
body: 'Using shopify.app.staging.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.staging.toml in your local project`],
['To upload your config, run', {command: 'yarn shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down Expand Up @@ -695,7 +695,7 @@ embedded = false
body: 'Using shopify.app.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.toml in your local project`],
['To upload your config, run', {command: 'yarn shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down Expand Up @@ -1162,7 +1162,7 @@ embedded = false
body: 'Using shopify.app.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.toml in your local project`],
['To upload your config, run', {command: 'npm run shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down Expand Up @@ -1407,7 +1407,7 @@ embedded = true
body: 'Using shopify.app.staging.toml as your default config.',
nextSteps: [
[`Make updates to shopify.app.staging.toml in your local project`],
['To upload your config, run', {command: 'yarn shopify app deploy'}],
['To upload your config, run', {command: 'shopify app deploy'}],
],
reference: [
{
Expand Down
2 changes: 1 addition & 1 deletion packages/app/src/cli/services/app/config/use.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ describe('use', () => {
headline: 'Cleared current configuration.',
body: [
'In order to set a new current configuration, please run',
{command: 'npm run shopify app config use CONFIG_NAME'},
{command: 'shopify app config use CONFIG_NAME'},
{char: '.'},
],
})
Expand Down
4 changes: 2 additions & 2 deletions packages/app/src/cli/services/dev/graphiql/server.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import {filterCustomHeaders} from './utilities.js'
import express from 'express'
import bodyParser from 'body-parser'
import {performActionWithRetryAfterRecovery} from '@shopify/cli-kit/common/retry'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion} from '@shopify/cli-kit/node/version'
import {AbortError} from '@shopify/cli-kit/node/error'
import {adminUrl, supportedApiVersions} from '@shopify/cli-kit/node/api/admin'
import {fetch} from '@shopify/cli-kit/node/http'
Expand Down Expand Up @@ -195,7 +195,7 @@ export function setupGraphiQLServer({
Accept: 'application/json',
'Content-Type': 'application/json',
'X-Shopify-Access-Token': await token(),
'User-Agent': `ShopifyCLIGraphiQL/${CLI_KIT_VERSION}`,
'User-Agent': `ShopifyCLIGraphiQL/${cliVersion()}`,
}

return fetch(graphqlUrl, {
Expand Down
4 changes: 2 additions & 2 deletions packages/app/src/cli/services/generate.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ describe('generate', () => {
│ │
│ Next steps │
│ • To preview this extension along with the rest of the project, run │
│ \`yarn shopify app dev\` │
│ \`shopify app dev\`
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
Expand All @@ -92,7 +92,7 @@ describe('generate', () => {
│ │
│ Next steps │
│ • To preview this extension along with the rest of the project, run │
│ \`yarn shopify app dev\` │
│ \`shopify app dev\`
│ │
╰──────────────────────────────────────────────────────────────────────────────╯
"
Expand Down
4 changes: 2 additions & 2 deletions packages/app/src/cli/services/info.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import {
stringifyMessage,
} from '@shopify/cli-kit/node/output'
import {AlertCustomSection, InlineToken} from '@shopify/cli-kit/node/ui'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion} from '@shopify/cli-kit/node/version'

export type Format = 'json' | 'text'
export interface InfoOptions {
Expand Down Expand Up @@ -265,7 +265,7 @@ class AppInfo {
async systemInfoSection(): Promise<AlertCustomSection> {
const {platform, arch} = platformAndArch()
return this.tableSection('Tooling and System', [
['Shopify CLI', CLI_KIT_VERSION],
['Shopify CLI', cliVersion()],
['Package manager', this.app.packageManager],
['OS', `${platform}-${arch}`],
['Shell', process.env.SHELL ?? 'unknown'],
Expand Down
1 change: 1 addition & 0 deletions packages/app/src/cli/services/init/init.ts
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,7 @@ async function init(options: InitOptions) {
await appendFile(joinPath(templateScaffoldDir, '.npmrc'), `auto-install-peers=true\n`)
break
}
case 'homebrew':
case 'unknown':
throw new UnknownPackageManagerError()
}
Expand Down
2 changes: 1 addition & 1 deletion packages/app/src/cli/services/init/template/npm.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import {platform} from 'os'

vi.mock('os')
vi.mock('@shopify/cli-kit/node/node-package-manager')
vi.mock('@shopify/cli-kit/common/version', () => ({CLI_KIT_VERSION: '1.2.3'}))
vi.mock('@shopify/cli-kit/node/version', () => ({cliVersion: () => '1.2.3'}))

describe('updateCLIDependencies', () => {
test('updates @shopify/cli and deletes @shopify/app if not using global CLI', async () => {
Expand Down
4 changes: 2 additions & 2 deletions packages/app/src/cli/services/init/template/npm.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import {PackageManager, installNodeModules, PackageJson} from '@shopify/cli-kit/node/node-package-manager'
import {moduleDirectory, normalizePath} from '@shopify/cli-kit/node/path'
import {findPathUp} from '@shopify/cli-kit/node/fs'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion} from '@shopify/cli-kit/node/version'
import {platform} from 'os'

interface UpdateCLIDependenciesOptions {
Expand All @@ -20,7 +20,7 @@ export async function updateCLIDependencies({
if (useGlobalCLI) {
delete packageJSON.dependencies['@shopify/cli']
} else {
packageJSON.dependencies['@shopify/cli'] = CLI_KIT_VERSION
packageJSON.dependencies['@shopify/cli'] = cliVersion()
}

delete packageJSON.dependencies['@shopify/app']
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ import {CreateAssetUrl} from '../../api/graphql/app-management/generated/create-
import {SourceExtension} from '../../api/graphql/app-management/generated/types.js'
import {ListOrganizations} from '../../api/graphql/business-platform-destinations/generated/organizations.js'
import {describe, expect, test, vi, beforeEach} from 'vitest'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion} from '@shopify/cli-kit/node/version'
import {fetch} from '@shopify/cli-kit/node/http'
import {
businessPlatformOrganizationsRequest,
Expand Down Expand Up @@ -69,7 +69,7 @@ const templateDisallowedByMinimumCliVersion: GatedExtensionTemplate = {
...testRemoteExtensionTemplates[2]!,
organizationBetaFlags: ['allowedFlag'],
// minimum CLI version is higher than the current CLI version
minimumCliVersion: `1${CLI_KIT_VERSION}`,
minimumCliVersion: `1${cliVersion()}`,
}
const templateDisallowedByDeprecatedFromCliVersion: GatedExtensionTemplate = {
...testRemoteExtensionTemplates[2]!,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -161,15 +161,14 @@ import {
businessPlatformRequestDoc,
BusinessPlatformRequestOptions,
} from '@shopify/cli-kit/node/api/business-platform'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion, isPreReleaseVersion} from '@shopify/cli-kit/node/version'
import {versionSatisfies} from '@shopify/cli-kit/node/node-package-manager'
import {outputDebug} from '@shopify/cli-kit/node/output'
import {developerDashboardFqdn, normalizeStoreFqdn} from '@shopify/cli-kit/node/context/fqdn'
import {TokenItem} from '@shopify/cli-kit/node/ui'
import {functionsRequestDoc, FunctionsRequestOptions} from '@shopify/cli-kit/node/api/functions'
import {fileExists, readFile} from '@shopify/cli-kit/node/fs'
import {JsonMapType} from '@shopify/cli-kit/node/toml'
import {isPreReleaseVersion} from '@shopify/cli-kit/node/version'
import {UnauthorizedHandler} from '@shopify/cli-kit/node/api/graphql'
import {Variables} from 'graphql-request'
import {webhooksRequestDoc, WebhooksRequestOptions} from '@shopify/cli-kit/node/api/webhooks'
Expand Down Expand Up @@ -1318,7 +1317,7 @@ export async function allowedTemplates(
templates: GatedExtensionTemplate[],
betaFlagsFetcher: (betaFlags: string[]) => Promise<{[key: string]: boolean}>,
expFlagsFetcher: (expFlags: string[]) => Promise<{[key: string]: boolean}>,
version: string = CLI_KIT_VERSION,
version: string = cliVersion(),
): Promise<GatedExtensionTemplate[]> {
// Extract both types of flags from templates
const allBetaFlags = Array.from(new Set(templates.map((ext) => ext.organizationBetaFlags ?? []).flat()))
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -164,7 +164,7 @@ import {ensureAuthenticatedPartners, Session} from '@shopify/cli-kit/node/sessio
import {partnersFqdn} from '@shopify/cli-kit/node/context/fqdn'
import {TokenItem} from '@shopify/cli-kit/node/ui'
import {RequestModeInput, Response, shopifyFetch} from '@shopify/cli-kit/node/http'
import {CLI_KIT_VERSION} from '@shopify/cli-kit/common/version'
import {cliVersion} from '@shopify/cli-kit/node/version'

// this is a temporary solution for editions to support https://vault.shopify.io/gsd/projects/31406
// read more here: https://vault.shopify.io/gsd/projects/31406
Expand Down Expand Up @@ -702,7 +702,7 @@ export class PartnersClient implements DeveloperPlatformClient {

const fetchAppLogs = async ({jwtToken, cursor, filters}: AppLogsOptions): Promise<Response> => {
const url = await generateFetchAppLogUrl(cursor, filters)
const userAgent = `Shopify CLI; v=${CLI_KIT_VERSION}`
const userAgent = `Shopify CLI; v=${cliVersion()}`
const headers = {
Authorization: `Bearer ${jwtToken}`,
'User-Agent': userAgent,
Expand Down
8 changes: 4 additions & 4 deletions packages/cli-kit/src/private/node/api/headers.test.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import {buildHeaders, sanitizedHeadersOutput, GraphQLClientError} from './headers.js'
import {CLI_KIT_VERSION} from '../../../public/common/version.js'
import {cliVersion} from '../../../public/node/version.js'
import {randomUUID} from '../../../public/node/crypto.js'
import {firstPartyDev, isUnitTest} from '../../../public/node/context/local.js'
import {test, vi, expect, describe, beforeEach} from 'vitest'
Expand All @@ -21,7 +21,7 @@ describe('common API methods', () => {
const headers = buildHeaders('my-token')

// Then
const version = CLI_KIT_VERSION
const version = cliVersion()
expect(headers).toEqual({
'Content-Type': 'application/json',
'Keep-Alive': 'timeout=30',
Expand All @@ -41,7 +41,7 @@ describe('common API methods', () => {
const headers = buildHeaders('my-token')

// Then
const version = CLI_KIT_VERSION
const version = cliVersion()
expect(headers).toEqual({
'Content-Type': 'application/json',
'Keep-Alive': 'timeout=30',
Expand All @@ -63,7 +63,7 @@ describe('common API methods', () => {
const headers = buildHeaders(token)

// Then
const version = CLI_KIT_VERSION
const version = cliVersion()
expect(headers).toEqual({
'Content-Type': 'application/json',
'Keep-Alive': 'timeout=30',
Expand Down
4 changes: 2 additions & 2 deletions packages/cli-kit/src/private/node/api/headers.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import {CLI_KIT_VERSION} from '../../../public/common/version.js'
import {cliVersion} from '../../../public/node/version.js'
import {firstPartyDev} from '../../../public/node/context/local.js'
import {AbortError} from '../../../public/node/error.js'
import https from 'https'
Expand Down Expand Up @@ -48,7 +48,7 @@ export function sanitizedHeadersOutput(headers: {[key: string]: string}): string
}

export function buildHeaders(token?: string): {[key: string]: string} {
const userAgent = `Shopify CLI; v=${CLI_KIT_VERSION}`
const userAgent = `Shopify CLI; v=${cliVersion()}`

const headers: {[header: string]: string} = {
'User-Agent': userAgent,
Expand Down
1 change: 1 addition & 0 deletions packages/cli-kit/src/private/node/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ export const environmentVariables = {
neverUsePartnersApi: 'SHOPIFY_CLI_NEVER_USE_PARTNERS_API',
skipNetworkLevelRetry: 'SHOPIFY_CLI_SKIP_NETWORK_LEVEL_RETRY',
maxRequestTimeForNetworkCalls: 'SHOPIFY_CLI_MAX_REQUEST_TIME_FOR_NETWORK_CALLS',
noAutoUpgrade: 'SHOPIFY_CLI_NO_AUTO_UPGRADE',
}

export const defaultThemeKitAccessDomain = 'theme-kit-access.shopifyapps.com'
Expand Down
1 change: 0 additions & 1 deletion packages/cli-kit/src/public/common/version.ts

This file was deleted.

6 changes: 3 additions & 3 deletions packages/cli-kit/src/public/node/analytics.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ import {joinPath, dirname} from './path.js'
import {publishMonorailEvent} from './monorail.js'
import {mockAndCaptureOutput} from './testing/output.js'
import {addPublicMetadata} from './metadata.js'
import {cliVersion} from './version.js'
import * as store from '../../private/node/analytics/storage.js'
import {startAnalytics} from '../../private/node/analytics.js'
import {hashString} from '../../public/node/crypto.js'
import {CLI_KIT_VERSION} from '../common/version.js'
import {setLastSeenAuthMethod, setLastSeenUserIdAfterAuth} from '../../private/node/session.js'
import {test, expect, describe, vi, beforeEach, afterEach, MockedFunction} from 'vitest'

Expand Down Expand Up @@ -85,7 +85,7 @@ describe('event tracking', () => {
} as any
await reportAnalyticsEvent({config, exitMode: 'ok'})
// Then
const version = CLI_KIT_VERSION
const version = cliVersion()
const expectedPayloadPublic = {
command: commandContent.command,
cmd_all_alias_used: commandContent.alias,
Expand Down Expand Up @@ -136,7 +136,7 @@ describe('event tracking', () => {
await reportAnalyticsEvent({config, errorMessage: 'Permission denied', exitMode: 'unexpected_error'})

// Then
const version = CLI_KIT_VERSION
const version = cliVersion()
const expectedPayloadPublic = {
command: commandContent.command,
time_start: 1643709599900,
Expand Down
4 changes: 2 additions & 2 deletions packages/cli-kit/src/public/node/analytics.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ import {alwaysLogAnalytics, alwaysLogMetrics, analyticsDisabled, isShopify} from
import * as metadata from './metadata.js'
import {publishMonorailEvent, MONORAIL_COMMAND_TOPIC} from './monorail.js'
import {fanoutHooks} from './plugins.js'
import {cliVersion} from './version.js'
import {
recordTiming as storageRecordTiming,
recordError as storageRecordError,
Expand All @@ -12,7 +13,6 @@ import {
} from '../../private/node/analytics/storage.js'
import {outputContent, outputDebug, outputToken} from '../../public/node/output.js'
import {getEnvironmentData, getSensitiveEnvironmentData} from '../../private/node/analytics.js'
import {CLI_KIT_VERSION} from '../common/version.js'
import {recordMetrics} from '../../private/node/otel-metrics.js'
import {runWithRateLimit} from '../../private/node/conf-store.js'
import {reportingRateLimit} from '../../private/node/constants.js'
Expand Down Expand Up @@ -152,7 +152,7 @@ async function buildPayload({config, errorMessage, exitMode}: ReportAnalyticsEve
time_end: currentTime,
total_time: wallClockElapsed,
success: exitMode === 'ok' && errorMessage === undefined,
cli_version: CLI_KIT_VERSION,
cli_version: cliVersion(),
ruby_version: '',
node_version: process.version.replace('v', ''),
is_employee: await isShopify(),
Expand Down
Loading
Loading