Files
supabase/apps/ui-library/registry/utils.ts
T
Ivan Vasilov 1cd1ebfc7f chire: Sort imports in all packages, cms, design-system and ui-library apps (#41610)
Sorted all imports in all packages, `cms`, `design-system` and
`ui-library` apps by running `pnpm format` on them.

All changes in this PR are done by the script.
2026-02-05 13:54:10 +01:00

31 lines
989 B
TypeScript

import lodash from 'lodash'
import type { RegistryItem } from 'shadcn/schema'
const { uniq, uniqBy } = lodash
const registryItemAppend = (item: RegistryItem, items: RegistryItem[]) => {
const neededRegDependencies = [
...(item.registryDependencies || []),
...items.flatMap((i) => i.registryDependencies),
]
const neededDependencies = [...(item.dependencies || []), ...items.flatMap((i) => i.dependencies)]
const neededFiles = [...(item.files || []), ...items.flatMap((i) => i.files)]
const registryBlock = {
...item,
registryDependencies: uniq(neededRegDependencies),
dependencies: uniq(neededDependencies),
files: uniqBy(neededFiles, (file) => file?.path),
docs: (item.docs, items.flatMap((i) => i.docs)).filter(Boolean).join('\n\n'),
// merge all environment variables
envVars: {
...item.envVars,
...items.reduce((acc, i) => ({ ...acc, ...i.envVars }), {}),
},
}
return registryBlock
}
export { registryItemAppend }