import { readFileSync, writeFileSync } from 'fs' import { join } from 'path' import type { PackageJson } from 'type-fest' const DEPS = { '@trpc/client': '^10.45.2', '@trpc/server': '^10.45.2', zod: '^3.23.8', superjson: '^2.2.1', primevue: '^3.52.0', } export function addPackage(dir: string, pkg: keyof typeof DEPS, dev: boolean = false) { let file = JSON.parse(readFileSync(join(dir, 'package.json'), 'utf-8')) as PackageJson if (dev) { file.devDependencies![pkg] = DEPS[pkg] } else { file.dependencies![pkg] = DEPS[pkg] } writeFileSync(join(dir, 'package.json'), JSON.stringify(file, null, 2)) }