Nub 0.2؛ Web Worker استاندارد روی Node
خلاصهٔ کاملتر
طبق release notes، نسخهٔ ۰.۲ Nub دو کار اصلی میکنه: سازندهٔ استاندارد وب Worker رو به Node معمولی اضافه میکنه و سازگاری package manager رو با pnpm و yarn و bun سفتتر میکنه.
مهمترین بخش همون Workerه. Nub دقیقاً همون شکل مرورگری رو میده: new Worker(...)، postMessage و همون سطح رویدادها؛ هیچ API مخصوص Nub وجود نداره. این یه polyfill بر پایهٔ استاندارد WHATWGه که روی node:worker_threads سواره و با feature-detection فقط وقتی نصب میشه که global بومی حاضر نباشه.
const worker = new Worker(new URL("./worker.ts", import.meta.url), { type: "module" });
worker.postMessage({ n: 41 });
worker.onmessage = (ev) => console.log(ev.data); // → 42نکتهٔ جالب اینه که ورودیهای worker از جنس TypeScript و JSX مستقیم اجرا میشن و به build step نیاز ندارن، چون Nub خودش worker رو مثل هر ورودی دیگه transpile میکنه. workerهای inline با URLهای data: و blob:، حالتهای classic و module، رویدادهای واقعی MessageEvent و ErrorEvent و همینطور MessageChannel/MessagePort و BroadcastChannel هم درست کار میکنن.
این polyfill از Node 18.19 به بالا preload میشه. SharedWorker و ServiceWorker جزو این نسخه نیستن و یه harness سازگاری مبتنی بر WPT هم حالا این سطح رو تو CI محافظت میکنه. به گفتهٔ تیم، این کار پرطرفدارترین issue باز مخزن nodejs/node یعنی پشتیبانی از web Worker رو حل میکنه، بدون اینکه منتظر خود Node بمونی.
بخش package manager هم چند اصلاح سازگاری داره: resolve کردن catalogهای yarn-berry بهجای خطا دادن، رعایت npmMinimalAgeGate تو yarn، نوشتن نسخههای link: برای اعضای بدوننسخهٔ workspace تو pnpm-lock.yaml و redact کردن credentialهای ارثبریشده موقع audit کردن pnpm.
کنار اینها، این نسخه ایمیجهای رسمی Docker (بر پایهٔ node:26 slim و alpine)، بهروزرسانی خودکار فرمول Homebrew و چند اصلاح build و مستندسازی رو هم آورده.
نکات کلیدی:
- افزودن سازندهٔ استاندارد وب Worker به Node، بدون هیچ API مخصوص Nub.
- polyfill روی node:worker_threads سواره و از Node 18.19 به بالا preload میشه.
- ورودیهای worker از جنس TS و JSX بدون build step مستقیم اجرا میشن.
- SharedWorker و ServiceWorker هنوز پشتیبانی نمیشن.
- سفتترشدن سازگاری package manager با pnpm و yarn و bun و افزودن ایمیج رسمی Docker.




