From 38aa88953b5948acc093f7ce84ae2e847fd96984 Mon Sep 17 00:00:00 2001 From: gonzaloriestra <14979109+gonzaloriestra@users.noreply.github.com> Date: Sun, 17 May 2026 00:36:46 +0000 Subject: [PATCH] [Refactor] Simplify normalizeDelimitedString Refactor normalizeDelimitedString to use a declarative pipeline and the uniq helper. This improves readability and consistency with other collection-handling code in the repository. --- packages/cli-kit/src/public/common/string.ts | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) 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) } /**