aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bundler/bundle_v2.zig7
-rw-r--r--src/js_printer.zig5
-rw-r--r--test/bundler/esbuild/default.test.ts18
-rw-r--r--test/bundler/expectBundled.ts19
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);
+ }
}
}