aboutsummaryrefslogtreecommitdiff
path: root/integration/bunjs-only-snippets
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-21 21:03:06 -0800
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2022-01-21 21:03:06 -0800
commitf7f2f6e6b8f9a571b291fecf0e27b116b1a715c3 (patch)
treec2cae3c93d89a2b25d52248dc5ea3cad1e637b32 /integration/bunjs-only-snippets
parent3e803b3a58e1d655e8a3e3c4a92fb0e40016dec8 (diff)
downloadbun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.tar.gz
bun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.tar.zst
bun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.zip
more tests
Diffstat (limited to 'integration/bunjs-only-snippets')
l---------integration/bunjs-only-snippets/bundled/always-bundled-module/always-bundled-module1
-rw-r--r--integration/bunjs-only-snippets/bundled/always-bundled-module/cjs.js10
-rw-r--r--integration/bunjs-only-snippets/bundled/always-bundled-module/esm.js5
-rw-r--r--integration/bunjs-only-snippets/bundled/always-bundled-module/package.json4
-rw-r--r--integration/bunjs-only-snippets/bundled/entrypoint.ts13
-rw-r--r--integration/bunjs-only-snippets/bundled/package.json12
-rw-r--r--integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/cjs.js10
-rw-r--r--integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/esm.js5
-rw-r--r--integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/package.json4
-rw-r--r--integration/bunjs-only-snippets/bundled/tsconfig.json6
-rw-r--r--integration/bunjs-only-snippets/macro-check.js4
-rw-r--r--integration/bunjs-only-snippets/transpiler.test.js22
12 files changed, 89 insertions, 7 deletions
diff --git a/integration/bunjs-only-snippets/bundled/always-bundled-module/always-bundled-module b/integration/bunjs-only-snippets/bundled/always-bundled-module/always-bundled-module
new file mode 120000
index 000000000..f9a91ac4d
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/always-bundled-module/always-bundled-module
@@ -0,0 +1 @@
+node_modules/always-bundled-module \ No newline at end of file
diff --git a/integration/bunjs-only-snippets/bundled/always-bundled-module/cjs.js b/integration/bunjs-only-snippets/bundled/always-bundled-module/cjs.js
new file mode 100644
index 000000000..087697589
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/always-bundled-module/cjs.js
@@ -0,0 +1,10 @@
+module.exports = {
+ default: 0xdeadbeef,
+ default() {
+ return "ok";
+ },
+ default: true,
+ ok() {
+ return true;
+ },
+};
diff --git a/integration/bunjs-only-snippets/bundled/always-bundled-module/esm.js b/integration/bunjs-only-snippets/bundled/always-bundled-module/esm.js
new file mode 100644
index 000000000..28e702881
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/always-bundled-module/esm.js
@@ -0,0 +1,5 @@
+const __esModule = true;
+
+export const foo = () => __esModule;
+
+export { __esModule, foo as default };
diff --git a/integration/bunjs-only-snippets/bundled/always-bundled-module/package.json b/integration/bunjs-only-snippets/bundled/always-bundled-module/package.json
new file mode 100644
index 000000000..5029c1695
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/always-bundled-module/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "always-bundled-module",
+ "version": "1.0.0"
+}
diff --git a/integration/bunjs-only-snippets/bundled/entrypoint.ts b/integration/bunjs-only-snippets/bundled/entrypoint.ts
new file mode 100644
index 000000000..b9a17b538
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/entrypoint.ts
@@ -0,0 +1,13 @@
+import "i-am-bundled/cjs";
+import "i-am-bundled/esm";
+import "always-bundled-module/esm";
+import "always-bundled-module/cjs";
+import { foo } from "i-am-bundled/esm";
+import { foo as foo2 } from "always-bundled-module/esm";
+import cJS from "always-bundled-module/cjs";
+
+foo();
+foo2();
+cJS();
+
+export default cJS();
diff --git a/integration/bunjs-only-snippets/bundled/package.json b/integration/bunjs-only-snippets/bundled/package.json
new file mode 100644
index 000000000..cce72af9c
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/package.json
@@ -0,0 +1,12 @@
+{
+ "name": "to-bundle",
+ "scripts": {
+ "prebundle": "rm -rf node_modules; cp -r to_bundle_node_modules node_modules; ln -s always-bundled-module node_modules/always-bundled-module",
+ "bundle": "${BUN_BIN:-$(which bun)} bun ./entrypoint.ts"
+ },
+ "bun": {
+ "alwaysBundle": [
+ "always-bundled-module"
+ ]
+ }
+}
diff --git a/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/cjs.js b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/cjs.js
new file mode 100644
index 000000000..087697589
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/cjs.js
@@ -0,0 +1,10 @@
+module.exports = {
+ default: 0xdeadbeef,
+ default() {
+ return "ok";
+ },
+ default: true,
+ ok() {
+ return true;
+ },
+};
diff --git a/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/esm.js b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/esm.js
new file mode 100644
index 000000000..28e702881
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/esm.js
@@ -0,0 +1,5 @@
+const __esModule = true;
+
+export const foo = () => __esModule;
+
+export { __esModule, foo as default };
diff --git a/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/package.json b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/package.json
new file mode 100644
index 000000000..661a80b2d
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/to_bundle_node_modules/i-am-bundled/package.json
@@ -0,0 +1,4 @@
+{
+ "name": "i-am-bundled",
+ "version": "1.0.0"
+}
diff --git a/integration/bunjs-only-snippets/bundled/tsconfig.json b/integration/bunjs-only-snippets/bundled/tsconfig.json
new file mode 100644
index 000000000..358cb5526
--- /dev/null
+++ b/integration/bunjs-only-snippets/bundled/tsconfig.json
@@ -0,0 +1,6 @@
+{
+ "compilerOptions": {
+ "paths": {},
+ "baseUrl": "."
+ }
+}
diff --git a/integration/bunjs-only-snippets/macro-check.js b/integration/bunjs-only-snippets/macro-check.js
index 2ea3fb8bd..ef84d0b49 100644
--- a/integration/bunjs-only-snippets/macro-check.js
+++ b/integration/bunjs-only-snippets/macro-check.js
@@ -1,3 +1,7 @@
export function keepSecondArgument(args) {
return args.arguments[1];
}
+
+export function bacon(args) {
+ return args.arguments[1];
+}
diff --git a/integration/bunjs-only-snippets/transpiler.test.js b/integration/bunjs-only-snippets/transpiler.test.js
index 16956abfe..310546e83 100644
--- a/integration/bunjs-only-snippets/transpiler.test.js
+++ b/integration/bunjs-only-snippets/transpiler.test.js
@@ -85,19 +85,27 @@ describe("Bun.Transpiler", () => {
expect(out.includes("keepSecondArgument")).toBe(false);
});
- it("sync supports macros remap", () => {
- const out = transpiler.transformSync(`
- import {createElement, bacon} from 'react';
+ const importLines = [
+ "import {createElement, bacon} from 'react';",
+ "import {bacon, createElement} from 'react';",
+ ];
+ describe("sync supports macros remap", () => {
+ for (let importLine of importLines) {
+ it(importLine, () => {
+ const out = transpiler.transformSync(`
+ ${importLine}
export default bacon("Test failed", "Test passed");
export function hi() { createElement("hi"); }
`);
- expect(out.includes("Test failed")).toBe(false);
- expect(out.includes("Test passed")).toBe(true);
+ expect(out.includes("Test failed")).toBe(false);
+ expect(out.includes("Test passed")).toBe(true);
- expect(out.includes("bacon")).toBe(false);
- expect(out.includes("createElement")).toBe(true);
+ expect(out.includes("bacon")).toBe(false);
+ expect(out.includes("createElement")).toBe(true);
+ });
+ }
});
it("macro remap removes import statement if its the only used one", () => {