From c3377530f43baa95c9e41cce7c07b1a4db1e3ee6 Mon Sep 17 00:00:00 2001 From: Mark Lyck Date: Tue, 27 Jun 2023 09:48:51 +0200 Subject: [PATCH] feat(shadcn-cli): add support for bun install (#707) * add support for bun install * fix(cli): add changeset for bun install --------- Co-authored-by: shadcn --- .changeset/lovely-otters-rescue.md | 5 +++++ packages/cli/src/utils/get-package-manager.ts | 4 ++-- packages/cli/test/fixtures/project-bun/bun.lockb | Bin 0 -> 1280 bytes .../cli/test/fixtures/project-bun/package.json | 7 +++++++ .../cli/test/utils/get-package-manager.test.ts | 4 ++++ 5 files changed, 18 insertions(+), 2 deletions(-) create mode 100644 .changeset/lovely-otters-rescue.md create mode 100644 packages/cli/test/fixtures/project-bun/bun.lockb create mode 100644 packages/cli/test/fixtures/project-bun/package.json diff --git a/.changeset/lovely-otters-rescue.md b/.changeset/lovely-otters-rescue.md new file mode 100644 index 0000000000..6eba3a5c8c --- /dev/null +++ b/.changeset/lovely-otters-rescue.md @@ -0,0 +1,5 @@ +--- +"shadcn-ui": patch +--- + +fix(cli): use bun add when bun detected diff --git a/packages/cli/src/utils/get-package-manager.ts b/packages/cli/src/utils/get-package-manager.ts index f28d30b5b4..91efb416ee 100644 --- a/packages/cli/src/utils/get-package-manager.ts +++ b/packages/cli/src/utils/get-package-manager.ts @@ -2,12 +2,12 @@ import { detect } from "@antfu/ni" export async function getPackageManager( targetDir: string -): Promise<"yarn" | "pnpm" | "npm"> { +): Promise<"yarn" | "pnpm" | "bun" | "npm"> { const packageManager = await detect({ programmatic: true, cwd: targetDir }) if (packageManager === "yarn@berry") return "yarn" if (packageManager === "pnpm@6") return "pnpm" - if (packageManager === "bun") return "npm" + if (packageManager === "bun") return "bun" return packageManager ?? "npm" } diff --git a/packages/cli/test/fixtures/project-bun/bun.lockb b/packages/cli/test/fixtures/project-bun/bun.lockb new file mode 100644 index 0000000000000000000000000000000000000000..fea2ca25b5d492ec1231f9903fca7afecce18975 GIT binary patch literal 1280 zcmY#Z)GsYA(of3F(@)JSQ%EY!;{sycoc!eMw9K4T-L(9o+{6;yG6OCq1_lPRv&=iD zH2v?CXT0^rv9jOy@jT)7>QijpN&Pnu&TfDGxPS$y2naxGL4X57!RZDlzY3-R%;#oc zXb=UmIDzz<`A%J5ueI!~ev^K-L+G^so_nvQ~r zLSjy4dR~4S7tEf2{~-Xx2fKqABEtfuxok>}jqHFLu^0hTZva(iL4^8MKmgK{0aZH( zt|!{aEVk4F=u|VfJ%$LU0@FAH(7_G!RU34)TT_z+7~@R!4D<{jp$$s;uoTb17-yho z29kLOH5*2whEQ>8Zdq!Po@+%(YEfQdPH;(4W?s6Tf+50s3%KFXDzre_wH6jkcw735|W>*W`v Y>%-OP>mt~?AfH(3m84feVr1}<0Ba1_WdHyG literal 0 HcmV?d00001 diff --git a/packages/cli/test/fixtures/project-bun/package.json b/packages/cli/test/fixtures/project-bun/package.json new file mode 100644 index 0000000000..b8cfd201f6 --- /dev/null +++ b/packages/cli/test/fixtures/project-bun/package.json @@ -0,0 +1,7 @@ +{ + "name": "test-cli-project-bun", + "version": "1.0.0", + "main": "index.js", + "author": "shadcn", + "license": "MIT" +} diff --git a/packages/cli/test/utils/get-package-manager.test.ts b/packages/cli/test/utils/get-package-manager.test.ts index ad1077c651..3858f68384 100644 --- a/packages/cli/test/utils/get-package-manager.test.ts +++ b/packages/cli/test/utils/get-package-manager.test.ts @@ -16,6 +16,10 @@ test("get package manager", async () => { await getPackageManager(path.resolve(__dirname, "../fixtures/project-pnpm")) ).toBe("pnpm") + expect( + await getPackageManager(path.resolve(__dirname, "../fixtures/project-bun")) + ).toBe("bun") + expect( await getPackageManager(path.resolve(__dirname, "../fixtures/next")) ).toBe("pnpm")