diff --git a/examples/web-worker/e2e/basic.test.ts b/examples/web-worker/e2e/basic.test.ts index 09221dc..228fd87 100644 --- a/examples/web-worker/e2e/basic.test.ts +++ b/examples/web-worker/e2e/basic.test.ts @@ -2,7 +2,7 @@ import { expect, test } from "@playwright/test"; test("basic", async ({ page }) => { await page.goto("/"); - await expect(page.getByTestId("worker-message")).toContainText( + await expect(page.getByTestId("worker")).toContainText( "Rendered in web worker", ); }); @@ -19,7 +19,17 @@ test("erorr stack", async ({ page }) => { test("worker in worker", async ({ page }) => { await page.goto("/?worker-in-worker"); - await expect(page.getByTestId("worker-message")).toContainText( + await expect(page.getByTestId("worker")).toContainText( "Rendered in web worker in web worker", ); }); + +test("condition", async ({ page }) => { + await page.goto("/"); + await expect(page.getByTestId("client")).toContainText( + "test-dep-conditions: index.browser.js", + ); + await expect(page.getByTestId("worker")).toContainText( + "test-dep-conditions: index.worker.js", + ); +}); diff --git a/examples/web-worker/fixtures/test-dep-conditions/index.browser.js b/examples/web-worker/fixtures/test-dep-conditions/index.browser.js new file mode 100644 index 0000000..fa4a800 --- /dev/null +++ b/examples/web-worker/fixtures/test-dep-conditions/index.browser.js @@ -0,0 +1 @@ +export default "index.browser.js"; diff --git a/examples/web-worker/fixtures/test-dep-conditions/index.d.ts b/examples/web-worker/fixtures/test-dep-conditions/index.d.ts new file mode 100644 index 0000000..e95dc15 --- /dev/null +++ b/examples/web-worker/fixtures/test-dep-conditions/index.d.ts @@ -0,0 +1,2 @@ +declare const value: string; +export default value; diff --git a/examples/web-worker/fixtures/test-dep-conditions/index.js b/examples/web-worker/fixtures/test-dep-conditions/index.js new file mode 100644 index 0000000..4ab8d2e --- /dev/null +++ b/examples/web-worker/fixtures/test-dep-conditions/index.js @@ -0,0 +1 @@ +export default "index.js"; diff --git a/examples/web-worker/fixtures/test-dep-conditions/index.worker.js b/examples/web-worker/fixtures/test-dep-conditions/index.worker.js new file mode 100644 index 0000000..260be01 --- /dev/null +++ b/examples/web-worker/fixtures/test-dep-conditions/index.worker.js @@ -0,0 +1 @@ +export default "index.worker.js"; diff --git a/examples/web-worker/fixtures/test-dep-conditions/package.json b/examples/web-worker/fixtures/test-dep-conditions/package.json new file mode 100644 index 0000000..41fbdff --- /dev/null +++ b/examples/web-worker/fixtures/test-dep-conditions/package.json @@ -0,0 +1,13 @@ +{ + "name": "test-dep-browser-or-worker", + "private": true, + "type": "module", + "exports": { + ".": { + "types": "./index.d.ts", + "worker": "./index.worker.js", + "browser": "./index.browser.js", + "default": "./index.js" + } + } +} diff --git a/examples/web-worker/package.json b/examples/web-worker/package.json index b085359..f140541 100644 --- a/examples/web-worker/package.json +++ b/examples/web-worker/package.json @@ -9,7 +9,9 @@ "test-e2e": "playwright test", "test-e2e-preview": "E2E_PREVIEW=1 playwright test" }, - "dependencies": {}, + "dependencies": { + "test-dep-conditions": "file:./fixtures/test-dep-conditions" + }, "devDependencies": {}, "volta": { "extends": "../../package.json" diff --git a/examples/web-worker/src/app.tsx b/examples/web-worker/src/app.tsx index 75d17da..7cb0751 100644 --- a/examples/web-worker/src/app.tsx +++ b/examples/web-worker/src/app.tsx @@ -1,4 +1,5 @@ import React from "react"; +import depCondition from "test-dep-conditions"; import workerUrl from "./worker/entry?worker-runner"; export function App() { @@ -36,14 +37,18 @@ export function App() { return (