From 59edbe645ca568aa6438f8fa53c1a567cf1159c0 Mon Sep 17 00:00:00 2001 From: Julian <29632054+Parzival-3141@users.noreply.github.com> Date: Thu, 31 Aug 2023 17:36:03 -0700 Subject: `bun install` correctly join dependency URLs (#4421) * use WTF to join registry strings * show dependency error messages, better join error We actually report errors when enqueuing dependencies now. I also made the join URLs error message read better. It'd be cleaner to handle it all in one place, but there's currently no way to propagate the data up. * starting on registry URL tests * added more registry URL tests * [install] prevent optional/peer deps from failing builds Couldn't get the peer dependency test to work, but the code is there. * ran prettier * changed error note to use realname, updated tests * ran prettier again... --- test/cli/install/bun-add.test.ts | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) (limited to 'test/cli/install/bun-add.test.ts') diff --git a/test/cli/install/bun-add.test.ts b/test/cli/install/bun-add.test.ts index 589b7a87e..4461584e4 100644 --- a/test/cli/install/bun-add.test.ts +++ b/test/cli/install/bun-add.test.ts @@ -102,11 +102,10 @@ it("should reject missing package", async () => { }); expect(stderr).toBeDefined(); const err = await new Response(stderr).text(); - expect(err.replace(/^(.*?) v[^\n]+/, "$1").split(/\r?\n/)).toEqual([ - "bun add", - `error: file:${add_path} failed to resolve`, - "", - ]); + expect(err.includes("bun add")).toBeTrue(); + expect(err.includes("error: MissingPackageJSON")).toBeTrue(); + expect(err.includes(`note: error occured while resolving file:${add_path}`)).toBeTrue(); + expect(stdout).toBeDefined(); const out = await new Response(stdout).text(); expect(out).toBe(""); @@ -145,11 +144,10 @@ it("should reject invalid path without segfault", async () => { }); expect(stderr).toBeDefined(); const err = await new Response(stderr).text(); - expect(err.replace(/^(.*?) v[^\n]+/, "$1").split(/\r?\n/)).toEqual([ - "bun add", - `error: file://${add_path} failed to resolve`, - "", - ]); + expect(err.includes("bun add")).toBeTrue(); + expect(err.includes("error: MissingPackageJSON")).toBeTrue(); + expect(err.includes(`note: error occured while resolving file://${add_path}`)).toBeTrue(); + expect(stdout).toBeDefined(); const out = await new Response(stdout).text(); expect(out).toBe(""); -- cgit v1.2.3