Deno 2.8: بزرگترین آپدیت جزئی تاریخ Deno
خلاصهٔ کاملتر
Deno 2.8 با یک سری قابلیت جدید و بهبودهای عملکردی قابل توجه منتشر شد. این نسخه بهعنوان بزرگترین آپدیت جزئی Deno تا به امروز معرفی شده و تغییرات مهمی در ابزارهای CLI، سازگاری با Node.js و سرعت اجرا به همراه داره.
ابزارهای جدید CLI چند دستور مفید اضافه شدن. deno audit fix آسیبپذیریهای بستههای npm رو شناسایی میکنه و اونهایی که نیاز به major bump ندارن رو خودکار بهروزرسانی میکنه. deno bump-version نسخه پروژه رو در deno.json یا package.json تغییر میده و در workspace حتی میتونه از Conventional Commits برای تشخیص خودکار نوع bump استفاده کنه. deno ci هم برای محیطهای CI/CD طراحی شده — اگه deno.lock نباشه خطا میده، node_modules رو پاک میکنه و با --frozen ایمن نصب میکنه.
deno pack پروژههای Deno یا JSR رو به یه تاربال آماده برای npm publish تبدیل میکنه. TypeScript رو کامپایل میکنه، فایلهای .d.ts میسازه، و import specifierها رو برای اکوسیستم npm بازنویسی میکنه؛ مثلاً jsr:@std/path تبدیل به @jsr/std__path میشه. فقط ماژولهایی که از exports قابل دسترسن بستهبندی میشن و tarball خروجی deterministic هست.
deno transpile TypeScript، JSX و TSX رو بدون bundling یا تغییر module path به JavaScript تبدیل میکنه؛ فقط همون emit step ساده. مثلاً:
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)}`;
}deno why مثل npm explain عمل میکنه — نشون میده یه پکیج از کجا و از طریق کدوم زنجیره وابستگی نصب شده. هم با npm و هم با JSR کار میکنه. همچنین از این نسخه دیگه لازم نیست پیشوند npm: رو در deno add تایپ کنی؛ deno add express بهطور پیشفرض از npm نصب میکنه.
سازگاری با Node.js جهش بزرگی داشت: نرخ قبولی در تستسوئیت خود Node از ۴۲٪ در نسخه ۲.۷ به ۷۶.۴٪ در ۲.۸ رسید (۳۴۰۵ از ۴۴۵۷ تست). در مقایسه Bun 1.3.14 روی همین مجموعه تست فقط ۴۰.۶٪ قبول شد. بسیاری از ماژولهای node:* حالا lazy-load میشن تا استارتاپ سریعتر باشه.
بهبودهای عملکردی هم چشمگیرن: نصب سرد npm ۳.۶۶ برابر سریعتر شد (از ۳۳۱۹ms به ۹۰۶ms)، توان عملیاتی node:http بیش از دو برابر شد، پردازش base64 با استفاده از simdutf حدود ۳ برابر سریعتر شد، و import defer برای تاخیر در اجرای ماژولها هم پشتیبانی میشه که به بهبود زمان استارتاپ کمک میکنه.
نکات کلیدی:
- deno audit fix آسیبپذیریهای npm رو خودکار برطرف میکنه
- deno bump-version مدیریت نسخه رو با پشتیبانی از Conventional Commits سادهتر میکنه
- deno ci جایگزین ترکیب پیچیده فلگها برای نصب مطمئن در CI میشه
- deno pack پروژه Deno رو به تاربال قابل انتشار روی npm تبدیل میکنه
- سازگاری با Node.js از ۴۲٪ به ۷۶.۴٪ رسید — بیش از Bun 1.3.14
- نصب npm سرد ۳.۶۶ برابر سریعتر شد
- پشتیبانی از import defer برای بارگذاری تنبل ماژولها اضافه شد




