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




