aboutsummaryrefslogtreecommitdiff
path: root/test/js/third_party/webpack
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--test/js/third_party/webpack/package.json7
-rw-r--r--test/js/third_party/webpack/test.js11
-rw-r--r--test/js/third_party/webpack/webpack.test.ts27
-rw-r--r--test/js/third_party/webpack/world.js3
4 files changed, 48 insertions, 0 deletions
diff --git a/test/js/third_party/webpack/package.json b/test/js/third_party/webpack/package.json
new file mode 100644
index 000000000..fb08bfdc5
--- /dev/null
+++ b/test/js/third_party/webpack/package.json
@@ -0,0 +1,7 @@
+{
+ "name": "webpack-test",
+ "version": "2.0.0",
+ "dependencies": {
+ "webpack": "5.88.0"
+ }
+} \ No newline at end of file
diff --git a/test/js/third_party/webpack/test.js b/test/js/third_party/webpack/test.js
new file mode 100644
index 000000000..bfd3e80a1
--- /dev/null
+++ b/test/js/third_party/webpack/test.js
@@ -0,0 +1,11 @@
+import { world } from "./world.js";
+
+function component() {
+ const element = document.createElement("div");
+
+ element.innerHTML = "hello " + world();
+
+ return element;
+}
+
+document.body.appendChild(component());
diff --git a/test/js/third_party/webpack/webpack.test.ts b/test/js/third_party/webpack/webpack.test.ts
new file mode 100644
index 000000000..ffc8195c6
--- /dev/null
+++ b/test/js/third_party/webpack/webpack.test.ts
@@ -0,0 +1,27 @@
+import { bunExe, bunEnv } from "harness";
+import { existsSync, rmdirSync } from "fs";
+import { join } from "path";
+
+afterEach(() => {
+ rmdirSync(join(import.meta.dir, "dist"), { recursive: true });
+});
+
+test("webpack works", () => {
+ Bun.spawnSync({
+ cmd: [bunExe(), "-b", "webpack", "--entry", "./test.js", "-o", "./dist/test1/main.js"],
+ cwd: import.meta.dir,
+ env: bunEnv,
+ });
+
+ expect(existsSync(join(import.meta.dir, "dist", "test1/main.js"))).toBe(true);
+});
+
+test("webpack --watch works", async () => {
+ Bun.spawnSync({
+ cmd: ["timeout", "3", bunExe(), "-b", "webpack", "--entry", "./test.js", "-o", "./dist/test2/main.js", "--watch"],
+ cwd: import.meta.dir,
+ env: bunEnv,
+ });
+
+ expect(existsSync(join(import.meta.dir, "dist", "test2/main.js"))).toBe(true);
+});
diff --git a/test/js/third_party/webpack/world.js b/test/js/third_party/webpack/world.js
new file mode 100644
index 000000000..3fa21bf67
--- /dev/null
+++ b/test/js/third_party/webpack/world.js
@@ -0,0 +1,3 @@
+export function world() {
+ return "world";
+}