diff options
-rw-r--r-- | src/bundler/bundle_v2.zig | 7 | ||||
-rw-r--r-- | src/js_printer.zig | 5 | ||||
-rw-r--r-- | test/bundler/esbuild/default.test.ts | 18 | ||||
-rw-r--r-- | test/bundler/expectBundled.ts | 19 |
4 files changed, 37 insertions, 12 deletions
diff --git a/src/bundler/bundle_v2.zig b/src/bundler/bundle_v2.zig index b8854bfc1..90beacd2a 100644 --- a/src/bundler/bundle_v2.zig +++ b/src/bundler/bundle_v2.zig @@ -830,7 +830,12 @@ const ParseTask = struct { }, Logger.Loc{ .start = 0 }); return (try js_parser.newLazyExportAST(allocator, bundler.options.define, opts, log, root, &source, "")).?; }, - else => return try getEmptyAST(log, bundler, opts, allocator, source), + else => { + const root = Expr.init(E.String, E.String{ + .data = source.path.text, + }, Logger.Loc{ .start = 0 }); + return (try js_parser.newLazyExportAST(allocator, bundler.options.define, opts, log, root, &source, "")).?; + }, } } diff --git a/src/js_printer.zig b/src/js_printer.zig index 7042694c7..1b9ba9aa0 100644 --- a/src/js_printer.zig +++ b/src/js_printer.zig @@ -1777,6 +1777,11 @@ fn NewPrinter( return; } + if (record.path.is_disabled) { + p.printDisabledImport(); + return; + } + if (comptime is_bun_platform) { p.print("import.meta.require"); } else { diff --git a/test/bundler/esbuild/default.test.ts b/test/bundler/esbuild/default.test.ts index 31cbe6169..3bd42187b 100644 --- a/test/bundler/esbuild/default.test.ts +++ b/test/bundler/esbuild/default.test.ts @@ -996,8 +996,8 @@ describe("bundler", () => { "/entry.js": `console.log(require('./test.bad'))`, "/test.bad": `This is a test.`, }, - bundleErrors: { - "/entry.js": ['No loader is configured for ".bad" files: test.bad'], + run: { + partialStdout: "/test.bad", }, }); itBundled("default/FalseRequire", { @@ -1127,7 +1127,7 @@ describe("bundler", () => { `, }, bundleErrors: { - "/entry.js": ['Could not resolve "nope1"'], + "/entry.js": ["Could not resolve"], }, }); itBundled("default/ImportThenCatch", { @@ -1245,8 +1245,8 @@ describe("bundler", () => { "/entry.js": `console.log(require('fs'))`, }, platform: "browser", - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + stdout: "[Function]", }, }); itBundled("default/RequireFSNode", { @@ -1280,8 +1280,8 @@ describe("bundler", () => { console.log(fs, readFileSync, defaultValue) `, }, - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + stdout: "[Function] undefined undefined", }, platform: "browser", }); @@ -1324,8 +1324,8 @@ describe("bundler", () => { `, }, platform: "browser", - bundleErrors: { - "/entry.js": ['ERROR: Could not resolve "fs"'], + run: { + file: "out.js", }, }); itBundled("default/ExportFSNode", { diff --git a/test/bundler/expectBundled.ts b/test/bundler/expectBundled.ts index d75f4ebe1..0b467dddf 100644 --- a/test/bundler/expectBundled.ts +++ b/test/bundler/expectBundled.ts @@ -181,6 +181,8 @@ export interface BundlerTestRunOptions { bunArgs?: string[]; /** match exact stdout */ stdout?: string; + /** partial match stdout (toContain()) */ + partialStdout?: string; /** match exact error message, example "ReferenceError: Can't find variable: bar" */ error?: string; /** @@ -257,6 +259,10 @@ export function expectBundled( ...unknownProps } = opts; + if (!ESBUILD && platform === "neutral") { + platform = "browser"; + } + // TODO: Remove this check once all options have been implemented if (Object.keys(unknownProps).length > 0) { throw new Error("expectBundled recieved unexpected options: " + Object.keys(unknownProps).join(", ")); @@ -518,7 +524,7 @@ export function expectBundled( let unexpectedErrors = []; for (const error of allErrors) { - const i = errorsLeft.findIndex(item => error.file === item.file && item.error === error.error); + const i = errorsLeft.findIndex(item => error.file === item.file && error.error.includes(item.error)); if (i === -1) { unexpectedErrors.push(error); } else { @@ -587,7 +593,7 @@ export function expectBundled( let unexpectedWarnings = []; for (const error of allWarnings) { - const i = warningsLeft.findIndex(item => error.file === item.file && item.error.includes(error.error)); + const i = warningsLeft.findIndex(item => error.file === item.file && error.error.includes(item.error)); if (i === -1) { unexpectedWarnings.push(error); } else { @@ -869,6 +875,15 @@ export function expectBundled( } expect(result).toBe(expected); } + + if (run.partialStdout !== undefined) { + const result = stdout!.toString("utf-8").trim(); + const expected = dedent(run.partialStdout).trim(); + if (!result.includes(expected)) { + console.log({ file }); + } + expect(result).toContain(expected); + } } } |