andywer / threads.js

🧵 Make web workers & worker threads as simple as a function call.
https://threads.js.org/
MIT License
3.04k stars 161 forks source link

Could i use this in my vite project? #483

Open jzyzxx opened 10 months ago

jzyzxx commented 10 months ago

As the title says,could i use this in my vite project?

alexgleason commented 9 months ago

@jzyzxx Did you ever find out?

mmamedel commented 3 months ago

Seems that the only thing you need to do is include a baseURL and type:

const auth = await spawn(
  new Worker("./workers/auth", { _baseURL: import.meta.url, type: "module" })
);

I am using Typescript so I had to also patch some types in package.json, as follows:

diff --git a/CHANGELOG.md b/CHANGELOG.md
deleted file mode 100644
index 05ed95f5686c5f7b5754ad02414fe90951036c2d..0000000000000000000000000000000000000000
diff --git a/package.json b/package.json
index c4ef12336424053c1d8f921d0366e36e7c12961a..7825649ecbb8b58a66b3c86ed6badce0a8a4cbc1 100644
--- a/package.json
+++ b/package.json
@@ -5,6 +5,7 @@
   "license": "MIT",
   "main": "dist/index.js",
   "module": "dist-esm/index.js",
+  "types": "dist/index.d.ts",
   "scripts": {
     "clean": "rimraf dist/ dist-esm/",
     "dev": "npm run clean && tsc -p tsconfig.json --watch",
@@ -24,19 +25,23 @@
   "exports": {
     ".": {
       "require": "./dist/index.js",
-      "default": "./index.mjs"
+      "default": "./index.mjs",
+      "types": "./dist/index.d.ts"
     },
     "./observable": {
       "require": "./observable.js",
-      "default": "./observable.mjs"
+      "default": "./observable.mjs",
+      "types": "./observable.d.ts"
     },
     "./register": {
       "require": "./register.js",
-      "default": "./register.mjs"
+      "default": "./register.mjs",
+      "types": "./register.d.ts"
     },
     "./worker": {
       "require": "./worker.js",
-      "default": "./worker.mjs"
+      "default": "./worker.mjs",
+      "types": "./worker.d.ts"
     }
   },
   "sideEffects": [