aboutsummaryrefslogtreecommitdiff
path: root/test/bundler/esbuild/default.test.ts
diff options
context:
space:
mode:
Diffstat (limited to 'test/bundler/esbuild/default.test.ts')
-rw-r--r--test/bundler/esbuild/default.test.ts71
1 files changed, 71 insertions, 0 deletions
diff --git a/test/bundler/esbuild/default.test.ts b/test/bundler/esbuild/default.test.ts
index 20856ecdf..ac820848a 100644
--- a/test/bundler/esbuild/default.test.ts
+++ b/test/bundler/esbuild/default.test.ts
@@ -6765,4 +6765,75 @@ describe("bundler", () => {
stdout: "hello index.esm.js",
},
});
+ itBundled("default/RequireProperlyHandlesNamedExportDeclsInCjsModule", {
+ files: {
+ "/entry.js": `
+ const { a, b, c, d } = require('foo');
+ console.log(a, b, c, d);
+ `,
+ "/node_modules/foo/package.json": `
+ {
+ "name": "foo",
+ "version": "2.0.0"
+ }
+ `,
+ "/node_modules/foo/index.js": `
+ if (!exports.d) {
+ exports.d = 7;
+ }
+ if (exports.hasOwnProperty("d")) {
+ exports.a = 5;
+ }
+
+ exports.b;
+ exports.b = 8;
+ exports.b = 9;
+
+ var c;
+ c = 2;
+ exports.c = c;
+ `,
+ },
+ run: {
+ stdout: "5 9 2 7",
+ },
+ onAfterBundle(api) {
+ const contents = api.readFile("out.js");
+ expect(contents).not.toContain("undefined");
+ expect(contents).not.toContain("$");
+ },
+ });
+ itBundled("default/EsmImportProperlyHandlesNamedExportDeclsInUnwrappedCjsModule", {
+ files: {
+ "/entry.js": `
+ import { a, b, c, d } from 'foo';
+ console.log(a, b, c, d);
+ `,
+ "/node_modules/foo/package.json": `
+ {
+ "name": "foo",
+ "version": "2.0.0"
+ }
+ `,
+ "/node_modules/foo/index.js": `
+ if (!exports.d) {
+ exports.d = 7;
+ }
+ if (exports.hasOwnProperty("d")) {
+ exports.a = 5;
+ }
+
+ exports.b;
+ exports.b = 8;
+ exports.b = 9;
+
+ var c;
+ c = 2;
+ exports.c = c;
+ `,
+ },
+ run: {
+ stdout: "5 9 2 7",
+ },
+ });
});