Skip to content

Commit 70150ec

Browse files
committed
add capitalizeWords function to cli-kit
1 parent b05a8ff commit 70150ec

File tree

3 files changed

+13
-4
lines changed

3 files changed

+13
-4
lines changed

packages/cli-kit/src/public/common/string.ts

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import {takeRandomFromArray} from './array.js'
22
import {unstyled} from '../../public/node/output.js'
33
import {Token, TokenItem} from '../../private/node/ui/components/TokenizedText.js'
4-
import {camelCase, constantCase, paramCase, snakeCase, pascalCase} from 'change-case'
4+
import {camelCase, capitalCase, constantCase, paramCase, snakeCase, pascalCase} from 'change-case'
55

66
const SAFE_RANDOM_BUSINESS_ADJECTIVES = [
77
'commercial',
@@ -307,6 +307,16 @@ export function camelize(input: string): string {
307307
return camelCase(input)
308308
}
309309

310+
/**
311+
* Transform a string to capitalCase.
312+
*
313+
* @param input - String to transform.
314+
* @returns The transformed string.
315+
*/
316+
export function capitalizeWords(input: string): string {
317+
return capitalCase(input)
318+
}
319+
310320
/**
311321
* Transform a string to param-case.
312322
*

packages/theme/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@
4646
"@shopify/cli-kit": "3.82.0",
4747
"@shopify/theme-check-node": "3.17.0",
4848
"@shopify/theme-language-server-node": "2.15.2",
49-
"change-case": "4.1.2",
5049
"chokidar": "3.6.0",
5150
"h3": "1.13.0",
5251
"yaml": "2.7.0"

packages/theme/src/cli/utilities/theme-listing.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import {fileExists, readFile} from '@shopify/cli-kit/node/fs'
22
import {joinPath} from '@shopify/cli-kit/node/path'
3-
import {capitalCase} from 'change-case'
3+
import {capitalizeWords} from '@shopify/cli-kit/common/string'
44

55
function isListingFile(fileKey: string): boolean {
66
return (fileKey.startsWith('templates/') || fileKey.startsWith('sections/')) && fileKey.endsWith('.json')
@@ -28,7 +28,7 @@ export async function updateSettingsDataForListing(themeDirectory: string, listi
2828

2929
try {
3030
const settingsData = JSON.parse(settingsContent)
31-
settingsData.current = capitalCase(listingName)
31+
settingsData.current = capitalizeWords(listingName)
3232

3333
return JSON.stringify(settingsData, null, 2)
3434
} catch (error) {

0 commit comments

Comments
 (0)