• همه۱۰٬۴۳۸
  • اخبار منتخب۲٬۱۴۲
  • هوش مصنوعیهوش مصنوعی۶٬۷۰۸
  • مهارت‌های نرم۱٬۴۵۳
  • فرانت‌اندفرانت‌اند۱٬۴۹۱
  • ری‌اکتری‌اکت۳۶۸
  • جاوااسکریپتجاوااسکریپت۱٬۱۱۰
  • پی‌اچ‌پیپی‌اچ‌پی۲۷۰
  • زیرساخت۲٬۵۷۲
  • دواپس۱٬۶۶۵
  • پایگاه داده۳۹۴
  • امنیت۲٬۲۳۱
  • اپل۴۰۱
  • گوگلگوگل۴۸۵
  • درباره ما
  • تماس با ما
  • حریم خصوصی
  • قوانین استفاده

تمامی محتوای این سایت توسط هوش مصنوعی تولید شده و ممکنه حاوی خطا باشه. مسئولیت استفاده از این اطلاعات بر عهده کاربر هست.

Telegram
دیتی خبر

‏Nub؛ جعبه‌ابزاری که Node رو کنار نمی‌زنه

۲۲ تیرنود جی‌اسنود جی‌اسجاوااسکریپتجاوااسکریپتزیرساختClaude Opus 4.8Claude
Nub یه جعبه‌ابزار همه‌کارهٔ TypeScript-first برای Node.js‌ه که برخلاف Deno و Bun قصد نداره Node رو جایگزین کنه، بلکه تکمیلش می‌کنه. یه باینری Rust‌ه که فایل‌ها رو اجرا، وابستگی‌ها رو نصب و خود Node رو مدیریت می‌کنه. چون کد رو با oxc ترنسپایل می‌کنه و روی node واقعی می‌ره، سازگاری Node رو حدود ۹۸٫۸٪ گزارش می‌کنه و ادعا می‌کنه چند برابر ابزارهای فعلی سریع‌تره.
این محتوا به‌صورت خودکار با استفاده از هوش مصنوعی تولید شده، و بررسی نهایی اون پیش از استفاده توصیه میشه. مسئولیت استفاده به‌عهده کاربر هست. برای مطالعه متن اصلی خبر، اینجا رو کلیک کن

خلاصهٔ کامل‌تر

سازندهٔ Nub این ابزار رو یه جعبه‌ابزار همه‌کاره و «TypeScript-first» برای Node.js معرفی می‌کنه که برخلاف Deno و Bun قصد نداره Node رو کنار بزنه، بلکه می‌خواد تکمیلش کنه. Nub یه باینری واحد نوشته‌شده با Rust‌ه که فایل‌ها و اسکریپت‌هات رو اجرا می‌کنه، وابستگی‌ها رو نصب می‌کنه و حتی خود Node رو مدیریت می‌کنه — بدون رانتایم جدید و بدون قفل‌شدن به یه ابزار خاص.

نکتهٔ کلیدی اینه که Nub یه رانتایم جدید نیست. کدت رو در حافظه با oxc (که به شکل یه افزونهٔ نیتیو Node کامپایل شده) ترنسپایل می‌کنه و خروجی رو روی همون باینری استاندارد node اجرا می‌کنه. برای همینه که سازندش می‌گه سازگاری‌اش با Node واقعیه، نه یه پیاده‌سازی دوباره. تو تست سازگاری، Nub حدود ۹۸٫۸٪ نمره گرفته، در حالی که Deno حدود ۷۷٪ و Bun حدود ۴۰٪ بودن.

برخلاف قابلیت type stripping خود Node که فقط annotationها رو پاک می‌کنه، Nub هر فایل رو کامل ترنسپایل می‌کنه، پس چیزهایی مثل enum، parameter property و importهای بدون پسوند که Node قبولشون نداره، اینجا کار می‌کنن. tsconfig.json و pathهاش، فایل‌های .env، دکوریتورها، JSX و ایمپورت مستقیم YAML/TOML/JSON هم پشتیبانی می‌شن:

import { Model } from "./base"   // extensionless → ./base.ts
enum Status { Draft, Sent, Paid }
class Invoice extends Model {
  constructor(public status = Status.Draft) {} // parameter property
}

به گفتهٔ سازنده، سرعت هم نقطهٔ قوتشه چون هستهٔ سنگین کارش با Rust نوشته شده. ادعا می‌کنه دستور اجرای اسکریپت‌ها حدود ۲۴ برابر سریع‌تر از pnpm run، ابزار nubx حدود ۱۹ برابر سریع‌تر از npx و نصب وابستگی‌ها حدود ۲٫۵ برابر سریع‌تر از pnpm‌ه. اجرای مستقیم یه فایل TypeScript هم تقریباً هم‌پای node خالیه و حدود ۲٫۹ برابر سریع‌تر از tsx.

بخش نصب وابستگی‌اش با pnpm سازگاره و همون lockfile موجود پروژه (چه npm، چه pnpm، چه bun) رو می‌خونه و به همون فرمت برمی‌گردونه، پس نیازی به مهاجرت نیست. سازنده تأکید می‌کنه که هیچ lock-in‌ای وجود نداره: نه گلوبال nub، نه namespace اختصاصی، نه فیلد جدا تو package.json. می‌تونی node رو تو هر اسکریپت، Dockerfile یا مرحلهٔ CI با nub عوض کنی و بقیه‌چیزها همون‌طور کار کنه.

نکات کلیدی:

  • Nub یه جعبه‌ابزار TypeScript-first برای Node‌ه که به‌جای جایگزینی Node، تکمیلش می‌کنه
  • رانتایم جدید نیست؛ با oxc در حافظه ترنسپایل می‌کنه و روی node استاندارد اجرا می‌کنه
  • سازگاری Node حدود ۹۸٫۸٪ گزارش شده، خیلی بالاتر از Deno و Bun
  • ادعای سرعت: nub run حدود ۲۴×، nubx حدود ۱۹× و نصب حدود ۲٫۵× سریع‌تر از ابزارهای معادل
  • lockfile موجود پروژه رو می‌خونه و هیچ قفل‌شدنی به Nub ایجاد نمی‌کنه
منبع: Bytes.dev — https://nubjs.com/
اشتراک‌گذاری:TelegramXWhatsApp

اخبار مرتبط

  • چرا هر بایت تو ساختار داده مهمه
    ۱۶ هفته پیش۳ دقیقهfzakaria.com
  • prop-for-that: چیزایی که JS می‌دونه ولی CSS نمی‌بینه
    ۱۶ هفته پیش
۳ دقیقه
github.com
  • AWS FinOps Agent اومد: جواب سؤال‌های هزینه‌ی ابری
    ۱۶ هفته پیش۳ دقیقهaws.amazon.com
  • چطور Semgrep تحلیل Taint رو ۷۵٪ سریع‌تر کرد
    ۱۶ هفته پیش۳ دقیقهsemgrep.dev
  • ServiceNow یه آسیب‌پذیری بهره‌برداری‌شده رو وصله کرد
    ۱۶ هفته پیش۳ دقیقهsecurityweek.com