Vite 6 منتشر شد!

ویت 6 با معرفی API محیطی جدید، انعطاف‌پذیری بیشتری را برای توسعه‌دهندگان فراهم می‌کند و امکان تجربه توسعه نزدیک‌تر به محیط تولید را میسر می‌سازد. همچنین، پشتیبانی از Node.js 18، 20 و 22+ حفظ شده و پشتیبانی از نسخه 21 حذف شده است. Vite 6.0 با همکاری بیش از ۱۰۰۰ مشارکت‌کننده توسعه یافته و اکنون توسط شرکت‌هایی مانند OpenAI، گوگل، اپل، مایکروسافت و ناسا استفاده می‌شود. برای اطلاعات بیشتر و راهنمای مهاجرت به این نسخه، می‌توانید به وب‌سایت رسمی Vite مراجعه کنید.

Node.js Support

ویت در نسخه جدید از نود جی اس 18, 20 و 22+ پشتیبانی میکنه (مثل Vite 5). اما نود جی اس 21 پشتیبانی نمیشود و همینطور ورژن های قبلی تر. نود جی اس 18 در تاریخ April 2025 (10 اردیبهشت 1404) منسوخ میشه در ویت.

Default value for resolve.conditions

این تغییر برای کاربرانی که کانفیگ نکردند مشکلی پیش نمیاد: resolve.conditions / ssr.resolve.conditions / ssr.resolve.externalConditions.

در ویت 5، مقدار resolve.conditions یک آرایه خالی بود ( [] ) و بعضی شرایط هم بهش به صورت اتوماتیکی اضافه میشد. همینطور مقدار ssr.resolve.conditions هم مقدار resolve.conditions بود.

در ویت 6، یک سری کانفیگ ها به صورت اتوماتیک اعمال نمیشه و شما باید خودتون اعمال کنید. در ویت 6 دیگر تنظیمات دیفالت به شکل زیر اعمال نمیشه:

  • resolve.conditions: ['module', 'browser', 'development|production']
  • ssr.resolve.conditions: ['module', 'node', 'development|production']

همینطور دیگر ssr.resolve.conditions از مقدار resolve.conditions به عنوان مقدار پیشفرض استفاده نمیکنه.

اگر یک مقدار از قبل برای resolve.conditions یا ssr.resolve.conditions ست کردید باید مقدار اونها آپدیت کنید. برای مثال اگر برای کانفیگ resolve.conditions مقدار ['custom'] قرار دادید باید به ['custom', ...defaultClientConditions] تغییر بدید.

JSON stringify

در ویت 5 زمانی که json.stringify: true باشه، json.namedExports غیرفعال میشه.

در ویت 6 زمانی که json.stringify: true باشه، json.namedExports غیرفعال نمیشه. اگر شما کانفیگ قبلی میخواید میتونید این شکل عمل کنید: json.namedExports: false.

ویت 6 یک تنظیمات پیشفرضی اضافه کرده که مقدار json.stringify به صورت auto شده و فقط json های حجم بالا را stringify میکنه. اگه میخواهید این کانفیگ غیرفعال بشه باید به این شکل عمل کنید: json.stringify: false

Extended support of asset references in HTML elements

در ویت 5، فقط یک سری المنت های HTML بود که میشد asset ها رفرنس داد بهشون مثل <link href>، <img src> و... .

در ویت 6 المنت های زیاد تری پشتیبانی میشود: لیست تمامی المنت ها

postcss-load-config

پکیج postcss-load-config از نسخه ۴ به نسخه ۶ به‌روزرسانی شده است. اکنون برای بارگذاری فایل‌های تنظیمات TypeScript مربوط به PostCSS، به جای ts-node نیاز به tsx یا jiti دارید. همچنین، برای بارگذاری فایل‌های تنظیمات YAML مربوط به PostCSS، استفاده از yaml ضروری است.

Sass now uses modern API by default

در ویت 5 از Sass به صورت پیشفرض استفاده میشد. اما در ویت 5.4 از API های مدرن پشتیبانی میشه.

در ویت 6 از API های مدرن برای Sass به صورت پیشفرض استفاده میشه. اگر شما میخواید از API قدیمی استفاده کنید میتونید مقدار های زیر ست کنید: css.preprocessorOptions.sass.api: 'legacy' / css.preprocessorOptions.scss.api: 'legacy'

نکته: در ویت 7 این API قدیمی حذف میشه.

برای مهاجرت به API مدرن اینجا مطالعه کنید.

Customize CSS output file name in library mode

در ویت 5، نام فایل css همیشه style.css بود و تغییرش سخت بود.

در ویت 6، نام پیشفرض فایل css از طریق کلید "name" در فایل package.json مثل فایل های js هست. اگر کلید build.lib.fileName با یک رشته ست بشه، مقدارش برای فایل های css هم اضافه میشه. اگر میخواهید اسم فایل های css رو شخصی سازی کنید میتونید از کانفیگ build.lib.cssFileName استفاده کنید:

{
  "name": "my-lib",
  "exports": {
    "./style.css": "./dist/my-lib.css"
  }
}

https://vite.dev/guide/migration#advanced

1 🔥
1 🎉
1 😮
1 👍
1 💜
0 👏
میلاد خسروی
نویسنده کد نیوز

برنامه نویس فان | Fun Developer یک آدم ساده که عاشق برنامه نویسی و کد زدنه :) تلاش میکنه تا به بقیه کمک کنه. توسعه دهنده هسته لاراول و فضای اوپن سورس. فاندر پرانتز و کد نیوز.

0+ نظر

برای ثبت نظر ابتدا ورود کنید.

0 نظر

    اولین نفر باش که نظر ثبت میکنی :) یعنی یه کامنت به ما نمیرسه 😁