Deno 2.8 منتشر شد: بزرگترین نسخه مینور تا امروز
خلاصهٔ کاملتر
Deno 2.8 به عنوان بزرگترین نسخه مینور این رانتایم تا به حال منتشر شده. این نسخه پنج دستور کاملاً جدید، بهبودهای عمده در سازگاری با Node.js، و یک سری بهینهسازی جدی در عملکرد به همراه داره.
دستورهای جدید CLI مهمترین بخش این نسخه هستن. deno audit fix آسیبپذیریهای شناختهشده در بستههای npm را پیدا و بهصورت خودکار به نزدیکترین نسخه پچشده ارتقا میده — بدون اینکه محدودیتهای نسخهای شما را بشکنه. deno bump-version شماره نسخه را در deno.json یا package.json بهروز میکنه و در حالت workspace تمام پکیجهای عضو را یکجا مدیریت میکنه؛ حتی میتونه از Conventional Commits برای تشخیص خودکار نوع bump استفاده کنه.
deno ci برای محیطهای CI/CD و Dockerfile طراحی شده: اگر فایل deno.lock وجود نداشته باشه خطا میده، پوشه node_modules را پاک میکنه، و بعد با فلگ --frozen نصب را انجام میده تا مطمئن بشه همه چیز دقیقاً با lockfile مطابقت داره. deno why هم مثل npm explain عمل میکنه و زنجیره وابستگیها را از ریشه تا بسته موردنظر نشون میده.
deno pack شاید جالبترین افزوده باشه: یک پروژه Deno یا JSR را به یک tarball آماده انتشار در npm تبدیل میکنه. TypeScript را به JavaScript ترنسپایل میکنه، فایلهای .d.ts میسازه، importها را بازنویسی میکنه (مثلاً jsr:@std/path میشه @jsr/std__path)، و اگر کد از Deno.* API استفاده کنه، بهصورت خودکار @deno/shim-deno را به عنوان dependency اضافه میکنه. deno transpile هم صرفاً typeها را از TypeScript/JSX حذف میکنه و JS خالص تولید میکنه — بدون bundling یا rewriting.
export function greet(user: User): string {
return `Hello ${user.name}, you have $${user.balance.toFixed(2)}`;
}بعد از deno transpile greeter.ts -o greeter.js میشه:
export function greet(user) {
return `Hello ${user.name}, you have $${user.balance.toFixed(2)}`;
}از نظر سازگاری با Node.js، نرخ قبولی در تستسوئیت رسمی Node از حدود ۴۲٪ در Deno 2.7 به ۷۶.۴٪ در Deno 2.8 رسیده (۳۴۰۵ تست از ۴۴۵۷). این عدد در مقایسه با Bun 1.3.14 که ۴۰.۶٪ داره، برتری قابل توجهی نشون میده. بسیاری از ماژولهای داخلی Node الان lazy-load میشن تا استارت برنامهها سریعتر باشه.
بهینهسازیهای عملکردی هم چشمگیرن: نصب سرد npm بستهها ۳.۶۶ برابر سریعتر شده (از ۳۳۱۹ms به ۹۰۶ms)، throughput در node:http ۲.۲۱ برابر بیشتر، و رمزنگاری base64 با استفاده از کتابخانه simdutf حالا ۳.۰۷ برابر سریعتره. علاوه بر این، Deno 2.8 از import defer پشتیبانی میکنه — یعنی میشه یک ماژول را load کرد بدون اینکه کدش اجرا بشه؛ اجرا تا زمانی که واقعاً به یکی از exportهایش نیاز باشه به تأخیر میافته.
نکات کلیدی:
- deno audit fix آسیبپذیریهای npm را بهصورت خودکار پچ میکنه
- deno bump-version مدیریت نسخه را در workspaceها ساده میکنه
- deno ci نصب دقیق و قابل تکرار برای محیطهای CI فراهم میکنه
- deno pack پروژه Deno/JSR را به tarball آماده npm تبدیل میکنه
- deno transpile فقط typeها را حذف میکنه، بدون bundling
- سازگاری با Node.js از ۴۲٪ به ۷۶.۴٪ رسیده
- نصب npm تا ۳.۶۶ برابر سریعتر شده
- پشتیبانی از import defer برای تأخیر در اجرای ماژولها




