NestJS v10 اینجاست! چه خبر؟

SWC
1SWC (کامپایلر وب سریع) یک پلت فرم توسعه پذیر مبتنی بر Rust است که می تواند هم برای کامپایل و هم برای بسته بندی استفاده شود. استفاده از SWC با Nest CLI یک راه عالی و ساده برای سرعت بخشیدن به روند توسعه شما است.
SWC تقریباً 20 برابر سریعتر از کامپایلر پیش فرض TypeScript است.
همچنین می توانید از شوخی و ویتست در ترکیب با SWC استفاده کنید. برای کسب اطلاعات بیشتر، دستور ادغام SWC را در مستندات NestJS بررسی کنید.
نادیده گرفتن ماژول ها در تست ها
NestJS 10 ویژگی جدیدی را معرفی می کند که به شما امکان می دهد ماژول ها را در آزمایشات لغو کنید. این ویژگی به ویژه زمانی مفید است که بخواهید به جای مسخره کردن هر یک از ارائه دهندگان به طور جداگانه، کل ماژول را به یکباره مسخره کنید.
Test.createTestingModule({
...
})
.overrideModule(LoggerModule)
.useModule(LoggerTestingModule)
.compile();
تا زمانی که LoggerTestingModule دارید که همان ارائه دهندگان LoggerModule را صادر می کند (و بنابراین همان API عمومی را ارائه می دهد)، Nest از ماژول LoggerTestingModule به جای LoggerModule در آزمایشات شما استفاده می کند.
اشتراکهای حروف عام Redis
در نسخه 10، ما پشتیبانی از اشتراکهای عام Redis را اضافه کردیم. این ویژگی به شما امکان می دهد در تمام پیام هایی که با یک الگوی مشخص مطابقت دارند مشترک شوید. تا زمانی که ویژگی پیکربندی wildcards را در پیکربندی میکروسرویس خود روی true تنظیم کنید، به صورت زیر:
const app = await NestFactory.createMicroservice<MicroserviceOptions>(
AppModule,
{
transport: Transport.REDIS,
options: {
host: 'localhost',
port: 6379,
wildcards: true, // 👈 THIS IS NEW
},
}
);
Redis از psubscribe/pmessage (در مورد Redis psubscribe بیشتر بیاموزید) به جای subscribe/message در زیر سرپوش استفاده خواهد کرد. با فعال کردن حروف عام، می توانید از الگوهای به سبک گلوب در اشتراک های خود استفاده کنید، به شرح زیر:
- h?llo مشترک hello، hallo و hxllo است
- h*llo مشترک hllo و heeeello است
- ساعت[ae]llo مشترک hello و hallo است، اما هیلو نه
ماژول کش
CacheModule از بسته @nestjs/common حذف شده است و اکنون به عنوان یک بسته مستقل در دسترس است – @nestjs/cache-manager. این تغییر برای جلوگیری از وابستگی های غیر ضروری در بسته @nestjs/common ایجاد شده است.
حذف پشتیبانی از Node.js v12
از NestJS 10، دیگر از Node.js نسخه 12 پشتیبانی نمیکنیم، زیرا نسخه 12 در 30 آوریل 2022 EOL شد. این بدان معناست که NestJS 10 به Node.js نسخه 16 یا بالاتر نیاز دارد. این تصمیم به این دلیل گرفته شد که به ما اجازه دهد در نهایت به جای ارسال polyfills مانند گذشته، هدف را روی ES2021 در پیکربندی TypeScript خود تنظیم کنیم.
از این پس، هر بسته رسمی NestJS به طور پیشفرض روی ES2021 کامپایل میشود، که میتواند منجر به حجم کتابخانه کوچکتر و گاهی حتی (کمی) عملکرد بهتر شود.
پلاگین های CLI TypeScript >= 4.8
افزونههای NestJS CLI (در دسترس برای بستههای @nestjs/swagger و @nestjs/graphql) اکنون به TypeScript >= v4.8 نیاز دارند و بنابراین نسخههای قدیمیتر TypeScript دیگر پشتیبانی نمیشوند. دلیل این تغییر این است که در TypeScript نسخه 4.8 چندین تغییر شکست در درخت نحو انتزاعی (AST) خود ارائه کرد که ما از آنها برای تولید خودکار طرحواره های OpenAPI و GraphQL استفاده می کنیم.
لطفاً در وب سایت رسمی بیشتر بخوانید => https://trilon.io/blog/nestjs-10-is-now-available
اگر کار من را دوست دارید و می خواهید از من برای کار سخت حمایت کنید، لطفا از طریق:
پرداخت وب سایت Revolut یا از کد QR بالا استفاده کنید.
با تشکر از یک دسته برای حمایت از من! خیلی معنی داره😍