diff --git a/packages/cli-kit/src/public/common/string.ts b/packages/cli-kit/src/public/common/string.ts index 9daa97d610..ee19df264a 100644 --- a/packages/cli-kit/src/public/common/string.ts +++ b/packages/cli-kit/src/public/common/string.ts @@ -1,4 +1,4 @@ -import {takeRandomFromArray} from './array.js' +import {takeRandomFromArray, uniq} from './array.js' import {unstyled} from '../node/output.js' import {Token, TokenItem} from '../../private/node/ui/components/TokenizedText.js' @@ -415,12 +415,14 @@ export function pascalize(str: string): string { export function normalizeDelimitedString(delimitedString?: string, delimiter = ','): string | undefined { if (!delimitedString) return - const items = delimitedString.split(delimiter).map((value) => value.trim()) - const nonEmptyItems = items.filter((value) => value !== '') - const sortedItems = nonEmptyItems.sort() - const uniqueSortedItems = [...new Set(sortedItems)] - - return uniqueSortedItems.join(delimiter) + return uniq( + delimitedString + .split(delimiter) + .map((item) => item.trim()) + .filter((item) => item !== ''), + ) + .sort() + .join(delimiter) } /**