aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets/resolve.test.js
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-22 23:21:48 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-06-22 23:21:48 -0700
commit729d445b6885f69dd2c6355f38707bd42851c791 (patch)
treef87a7c408929ea3f57bbb7ace380cf869da83c0e /integration/bunjs-only-snippets/resolve.test.js
parent25f820c6bf1d8ec6d444ef579cc036b8c0607b75 (diff)
downloadbun-729d445b6885f69dd2c6355f38707bd42851c791.tar.gz
bun-729d445b6885f69dd2c6355f38707bd42851c791.tar.zst
bun-729d445b6885f69dd2c6355f38707bd42851c791.zip
change the directory structurejarred/rename
Diffstat (limited to 'integration/bunjs-only-snippets/resolve.test.js')
-rw-r--r--integration/bunjs-only-snippets/resolve.test.js100
1 files changed, 0 insertions, 100 deletions
diff --git a/integration/bunjs-only-snippets/resolve.test.js b/integration/bunjs-only-snippets/resolve.test.js
deleted file mode 100644
index f86d31980..000000000
--- a/integration/bunjs-only-snippets/resolve.test.js
+++ /dev/null
@@ -1,100 +0,0 @@
-import { it, expect } from "bun:test";
-import { mkdirSync, writeFileSync } from "fs";
-import { join } from "path";
-
-it("import.meta.resolve", async () => {
- expect(await import.meta.resolve("./resolve.test.js")).toBe(import.meta.path);
-
- expect(await import.meta.resolve("./resolve.test.js", import.meta.path)).toBe(
- import.meta.path
- );
-
- expect(
- // optional second param can be any path, including a dir
- await import.meta.resolve(
- "./bunjs-only-snippets/resolve.test.js",
- join(import.meta.path, "../")
- )
- ).toBe(import.meta.path);
-
- // can be a package path
- expect(
- (await import.meta.resolve("react", import.meta.path)).length > 0
- ).toBe(true);
-
- // file extensions are optional
- expect(await import.meta.resolve("./resolve.test")).toBe(import.meta.path);
-
- // works with tsconfig.json "paths"
- expect(await import.meta.resolve("foo/bar")).toBe(
- join(import.meta.path, "../baz.js")
- );
-
- // works with package.json "exports"
- writePackageJSONExportsFixture();
- expect(await import.meta.resolve("package-json-exports/baz")).toBe(
- join(import.meta.path, "../node_modules/package-json-exports/foo/bar.js")
- );
-
- // works with TypeScript compiler edgecases like:
- // - If the file ends with .js and it doesn't exist, try again with .ts and .tsx
- expect(await import.meta.resolve("./resolve-typescript-file.js")).toBe(
- join(import.meta.path, "../resolve-typescript-file.tsx")
- );
- expect(await import.meta.resolve("./resolve-typescript-file.tsx")).toBe(
- join(import.meta.path, "../resolve-typescript-file.tsx")
- );
-
- // throws a ResolveError on failure
- try {
- await import.meta.resolve("THIS FILE DOESNT EXIST");
- throw new Error("Test failed");
- } catch (exception) {
- expect(exception instanceof ResolveError).toBe(true);
- expect(exception.referrer).toBe(import.meta.path);
- expect(exception.name).toBe("ResolveError");
- }
-});
-
-// the slightly lower level API, which doesn't prefill the second param
-// and expects a directory instead of a filepath
-it("Bun.resolve", async () => {
- expect(await Bun.resolve("./resolve.test.js", import.meta.dir)).toBe(
- import.meta.path
- );
-});
-
-// synchronous
-it("Bun.resolveSync", () => {
- expect(Bun.resolveSync("./resolve.test.js", import.meta.dir)).toBe(
- import.meta.path
- );
-});
-
-function writePackageJSONExportsFixture() {
- try {
- mkdirSync(
- join(import.meta.dir, "./node_modules/package-json-exports/foo"),
- {
- recursive: true,
- }
- );
- } catch (exception) {}
- writeFileSync(
- join(import.meta.dir, "./node_modules/package-json-exports/foo/bar.js"),
- "export const bar = 1;"
- );
- writeFileSync(
- join(import.meta.dir, "./node_modules/package-json-exports/package.json"),
- JSON.stringify(
- {
- name: "package-json-exports",
- exports: {
- "./baz": "./foo/bar.js",
- },
- },
- null,
- 2
- )
- );
-}