diff options
author | 2022-01-21 21:03:06 -0800 | |
---|---|---|
committer | 2022-01-21 21:03:06 -0800 | |
commit | f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3 (patch) | |
tree | c2cae3c93d89a2b25d52248dc5ea3cad1e637b32 /integration/bunjs-only-snippets | |
parent | 3e803b3a58e1d655e8a3e3c4a92fb0e40016dec8 (diff) | |
download | bun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.tar.gz bun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.tar.zst bun-f7f2f6e6b8f9a571b291fecf0e27b116b1a715c3.zip |
more tests
Diffstat (limited to 'integration/bunjs-only-snippets')
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", () => { |