مهاجرت از نسخه ۶
پشتیبانی Node.js
Vite دیگر از Node.js نسخه ۱۸ پشتیبانی نمیکند، چرا که به پایان عمر خود (EOL) رسیده است. از این پس حداقل به Node.js نسخه 20.19+ یا 22.12+ نیاز دارید.
تغییر Target مرورگر پیشفرض
مقدار پیشفرض build.target
برای مرورگرها به نسخههای جدیدتر بهروزرسانی شده است:
- Chrome: از 87 → 107
- Edge: از 88 → 107
- Firefox: از 78 → 104
- Safari: از 14.0 → 16.0
این نسخههای مرورگر مطابق با مجموعه قابلیتهای «به طور گسترده در دسترس» در Baseline هستند (تا تاریخ ۱ مه ۲۰۲۵). به عبارت دیگر، همه این نسخهها پیش از ۱ نوامبر ۲۰۲۲ منتشر شدهاند.
در Vite نسخه ۵، مقدار پیشفرض 'modules'
بود، که اکنون دیگر پشتیبانی نمیشود. به جای آن، مقدار جدید 'baseline-widely-available'
به عنوان پیشفرض معرفی شده است.
تغییرات عمومی
حذف پشتیبانی از API قدیمی Sass
پشتیبانی از API قدیمی Sass طبق برنامهریزی قبلی حذف شده است. Vite اکنون فقط از API مدرن Sass پشتیبانی میکند. میتوانید گزینههای css.preprocessorOptions.sass.api
و css.preprocessorOptions.scss.api
را از تنظیمات خود حذف کنید.
حذف ویژگیهای منقضیشده
splitVendorChunkPlugin
(از نسخه 5.2.7 منقضی شده بود)- این پلاگین برای سادهتر کردن مهاجرت به Vite 2.9 معرفی شده بود.
- اکنون میتوان از گزینه
build.rollupOptions.output.manualChunks
برای کنترل چانکها استفاده کرد.
enforce
/transform
در سطح هوک برایtransformIndexHtml
(در نسخه 4.0.0 منقضی شده بود)- ساختار آن به سبک هوکهای آبجکت در Rollup تغییر کرد.
- اکنون باید به جای
enforce
ازorder
و به جایtransform
ازhandler
استفاده شود.
پیشرفته
تغییرات ناسازگار دیگری نیز وجود دارند که فقط تعداد کمی از کاربران را تحت تأثیر قرار میدهند:
- [#19979] chore: declare version range for peer dependencies
- محدوده نسخهی وابستگیهای همسطح (peer dependencies) برای پیشپردازندههای CSS مشخص شده است.
- [#20013] refactor: remove no-op
legacy.proxySsrExternalModules
- ویژگی
legacy.proxySsrExternalModules
از نسخه ۶ به بعد در Vite هیچ تأثیری نداشت. اکنون این ویژگی به طور کامل حذف شده است.
- ویژگی
- [#19985] refactor!: remove deprecated no-op type only properties
- ویژگیهای بدون استفاده زیر اکنون حذف شدهاند:
ModuleRunnerOptions.root
,ViteDevServer._importGlobMap
,ResolvePluginOptions.isFromTsImporter
,ResolvePluginOptions.getDepsOptimizer
,ResolvePluginOptions.shouldExternalize
,ResolvePluginOptions.ssrConfig
- ویژگیهای بدون استفاده زیر اکنون حذف شدهاند:
- [#19986] refactor: remove deprecated env api properties
- این ویژگیها از ابتدا منقضی (deprecated) شده بودند و اکنون بهطور کامل حذف شدهاند.
- [#19987] refactor!: remove deprecated
HotBroadcaster
related types- این تایپها بهعنوان بخشی از API رانتایم که اکنون منقضی شده، معرفی شده بودند. این تایپها اکنون بهطور کامل حذف شدهاند:
HMRBroadcaster
,HMRBroadcasterClient
,ServerHMRChannel
,HMRChannel
- این تایپها بهعنوان بخشی از API رانتایم که اکنون منقضی شده، معرفی شده بودند. این تایپها اکنون بهطور کامل حذف شدهاند:
- [#19996] fix(ssr)!: don't access
Object
variable in ssr transformed code- اکنون مقدار
__vite_ssr_exportName__
برای context رانتایم ماژول الزامی شده است.
- اکنون مقدار
- [#20045] fix: treat all
optimizeDeps.entries
values as globsoptimizeDeps.entries
اکنون دیگر مسیرهای رشتهای (literal string paths) را نمیپذیرد. در عوض، همیشه باید بهصورت glob ارائه شود.
- [#20222] feat: apply some middlewares before
configureServer
hook, [#20224] feat: apply some middlewares beforeconfigurePreviewServer
hook- برخی از میانافزارها اکنون پیش از اجرای هوکهای
configureServer
وconfigurePreviewServer
اعمال میشوند. توجه داشته باشید: اگر انتظار ندارید که یک مسیر خاص از گزینههایserver.cors
یاpreview.cors
تأثیر بگیرد، حتماً هدرهای مرتبط را بهصورت دستی از پاسخ حذف کنید.
- برخی از میانافزارها اکنون پیش از اجرای هوکهای
مهاجرت از نسخه ۵
ابتدا راهنمای مهاجرت از نسخه ۵ را در مستندات Vite نسخه ۶ بخوانید تا برنامهتان را به Vite ۶ منتقل کنید، سپس تغییرات گفتهشده در این صفحه را اعمال نمایید.