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 ) ); } ption value='deno-test'>deno-test Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/packages/astro/test/fixtures/config-host (unfollow)
AgeCommit message (Expand)AuthorFilesLines
2022-06-30Ci: improve times, reduce delay (#3780)Gravatar Fred K. Schott 1-14/+10
2022-06-30await error reporter (#3779)Gravatar Fred K. Schott 2-10/+25
2022-06-30[ci] formatGravatar natemoo-re 14-99/+95
2022-06-30MDX support (#3706)Gravatar Nate Moore 63-57/+1153
2022-06-30Fix integration name (`prefetch` instead of `lit`) (#3778)Gravatar hippotastic 2-1/+6
2022-06-30[ci] update lockfile (#3771)Gravatar Fred K. Bot 1-114/+112
2022-06-30Integration Docs Next Steps (#3677)Gravatar Dan Jutan 11-314/+666
2022-06-30[ci] formatGravatar tony-sull 1-2/+2
2022-06-30refactor to provide better cli error handling (#3768)Gravatar Fred K. Schott 2-43/+37
2022-06-30[ci] release (#3772)@astrojs/preact@0.3.1Gravatar Fred K. Bot 12-22/+23
2022-06-30Added Cloudflare adapter to README.md (#3773)Gravatar Isaac McFadyen 1-0/+1
2022-06-30[ci] formatGravatar hippotastic 1-5/+4
2022-06-30Fix "Invalid hook call" warning (#3769)Gravatar hippotastic 2-9/+79
2022-06-29[ci] release (#3759)astro@1.0.0-beta.59@astrojs/telemetry@0.2.2@astrojs/preact@0.3.0Gravatar Fred K. Bot 42-121/+117
2022-06-29[ci] formatGravatar FredKSchott 8-35/+36
2022-06-29manual lockfile update (#3751)Gravatar Fred K. Schott 3-2659/+2871
2022-06-29add error event to telemetry (#3750)Gravatar Fred K. Schott 16-85/+270