Make webpack respect dependencies vs peerDependencies when deciding dependency is external (#7545)

Signed-off-by: Janne Savolainen <janne.savolainen@live.fi>
This commit is contained in:
Janne Savolainen authored and GitHub committed 2023-04-13 16:01:43 +03:00
1 parent adf67fb6a7
commit 7dc0ce7192
19 files changed
+231 -44

No files matched your search

@@ -0,0 +1,9 @@
const getDependencyName = (requireString) => {
const [a, b] = requireString.split("/");
const scoped = a.startsWith("@");
return scoped ? `${a}/${b}` : a;
};
module.exports = { getDependencyName };
@@ -0,0 +1,27 @@
import { getDependencyName } from "./get-dependency-name";
describe("get-dependency-name", () => {
it("given scoped dependency with entrypoint, returns dependency name", () => {
const actual = getDependencyName("@some-scope/some-package/entrypoint");
expect(actual).toBe("@some-scope/some-package");
});
it("given scoped dependency but no entrypoint, returns dependency name", () => {
const actual = getDependencyName("@some-scope/some-package");
expect(actual).toBe("@some-scope/some-package");
});
it("given non scoped dependency with entrypoint, returns dependency name", () => {
const actual = getDependencyName("some-package/some-entrypoint");
expect(actual).toBe("some-package");
});
it("given non scoped dependency but no entrypoint, returns dependency name", () => {
const actual = getDependencyName("some-package");
expect(actual).toBe("some-package");
});
});