MCPcopy
hub / github.com/tailwindlabs/tailwindcss / pkg

Function pkg

packages/@tailwindcss-upgrade/src/utils/packages.ts:25–74  ·  view source on GitHub ↗
(base: string)

Source from the content-addressed store, hash-verified

23})
24
25export function pkg(base: string) {
26 return {
27 async manager() {
28 return await packageManagerForBase.get(base)
29 },
30 async add(packages: string[], location: 'dependencies' | 'devDependencies' = 'dependencies') {
31 let packageManager = await packageManagerForBase.get(base)
32 let args = packages.slice()
33 if (location === 'devDependencies') {
34 args.push(SAVE_DEV[packageManager] || SAVE_DEV.default)
35 }
36
37 // Allow running the `pnpm` command in the workspace root without
38 // erroring. Can't just use `--workspace-root` because that will force
39 // install dependencies in the workspace root.
40 if (packageManager === 'pnpm') {
41 args.push('--ignore-workspace-root-check')
42 }
43
44 let command = `${packageManager} add ${args.join(' ')}`
45 try {
46 return await exec(command, { cwd: base })
47 } catch (e: any) {
48 error(`An error occurred while running \`${command}\`\n\n${e.stdout}\n${e.stderr}`, {
49 prefix: '↳ ',
50 })
51 throw e
52 } finally {
53 manifests.delete(base)
54 }
55 },
56 has(name: string) {
57 return manifests.get(base).includes(`"${name}":`)
58 },
59 async remove(packages: string[]) {
60 let packageManager = await packageManagerForBase.get(base)
61 let command = `${packageManager} remove ${packages.join(' ')}`
62 try {
63 return await exec(command, { cwd: base })
64 } catch (e: any) {
65 error(`An error occurred while running \`${command}\`\n\n${e.stdout}\n${e.stderr}`, {
66 prefix: '↳ ',
67 })
68 throw e
69 } finally {
70 manifests.delete(base)
71 }
72 },
73 }
74}
75
76let didWarnAboutPackageManager = false
77let packageManagerForBase = new DefaultMap(async (base) => {

Callers 2

runFunction · 0.90
migratePostCSSConfigFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected