From a369fc8c8969b0f2d823bed5a7565d245311345b Mon Sep 17 00:00:00 2001 From: Jarred Sumner Date: Tue, 4 Apr 2023 16:49:33 -0700 Subject: Implement `import.meta.main` (#2556) * Implement `import.meta.main` * Update main-test-1.js * Update fs.test.ts --------- Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> --- test/js/bun/resolve/import-meta.test.js | 14 ++++++++++++++ test/js/bun/resolve/main-test-1.js | 5 +++++ test/js/bun/resolve/main-test-script.js | 7 +++++++ test/js/node/fs/fs.test.ts | 1 + 4 files changed, 27 insertions(+) create mode 100644 test/js/bun/resolve/main-test-1.js create mode 100644 test/js/bun/resolve/main-test-script.js (limited to 'test/js') diff --git a/test/js/bun/resolve/import-meta.test.js b/test/js/bun/resolve/import-meta.test.js index a95b1a0ea..c4bbdb1a6 100644 --- a/test/js/bun/resolve/import-meta.test.js +++ b/test/js/bun/resolve/import-meta.test.js @@ -2,6 +2,9 @@ import { it, expect } from "bun:test"; import { mkdirSync, rmSync, writeFileSync } from "node:fs"; import * as Module from "node:module"; import sync from "./require-json.json"; +import { spawnSync } from "bun"; +import { bunEnv, bunExe } from "harness"; +import { join } from "node:path"; const { path, dir } = import.meta; @@ -9,6 +12,17 @@ it("primordials are not here!", () => { expect(import.meta.primordials === undefined).toBe(true); }); +it("import.meta.main", () => { + const { exitCode } = spawnSync({ + cmd: [bunExe(), "run", join(import.meta.dir, "./main-test-script.js")], + env: bunEnv, + stderr: "inherit", + stdout: "inherit", + stdin: null, + }); + expect(exitCode).toBe(0); +}); + it("import.meta.resolveSync", () => { expect(import.meta.resolveSync("./" + import.meta.file, import.meta.path)).toBe(path); const require = Module.createRequire(import.meta.path); diff --git a/test/js/bun/resolve/main-test-1.js b/test/js/bun/resolve/main-test-1.js new file mode 100644 index 000000000..8e83d65e1 --- /dev/null +++ b/test/js/bun/resolve/main-test-1.js @@ -0,0 +1,5 @@ +if (import.meta.main) { + process.exit(1); +} + +export const pass = true; diff --git a/test/js/bun/resolve/main-test-script.js b/test/js/bun/resolve/main-test-script.js new file mode 100644 index 000000000..d5b0cb67a --- /dev/null +++ b/test/js/bun/resolve/main-test-script.js @@ -0,0 +1,7 @@ +import "./main-test-1"; + +if (!import.meta.main) { + process.exit(1); +} + +process.exit(0); diff --git a/test/js/node/fs/fs.test.ts b/test/js/node/fs/fs.test.ts index fa27ab246..f7b343539 100644 --- a/test/js/node/fs/fs.test.ts +++ b/test/js/node/fs/fs.test.ts @@ -38,6 +38,7 @@ import { ReadStream as ReadStreamStar_, WriteStream as WriteStreamStar_ } from " const Buffer = globalThis.Buffer || Uint8Array; if (!import.meta.dir) { + //@ts-expect-error import.meta.dir = "."; } -- cgit v1.2.3