SvelteKit 3 يستبدل اختصار $lib بـ #lib المبني على معيار subpath imports في Node
حين يتخلى framework عن اختصار اخترعه لصالح معيار في المنصة، تصبح الأدوات قادرة على فهم الكود دونه، وتقل الحاجة إلى وجوده وسيطًا في كل شيء.
أعلن فريق Svelte في 1 أكتوبر 2026 إصدار SvelteKit 3، ويصفه بأنه “a little more polish, a little more type safety, and a little less junk”. ويتضمن الإصدار تغييرات كاسرة تتطلب تعديل المشاريع القائمة.
أبرز هذه التغييرات أن الاختصار $lib صار #lib. وهو ليس تغييرًا في الشكل فقط. فـ $lib كان alias من اختراع SvelteKit، ولذلك كان على الـ framework أن يكون وسيطًا لكي تفهمه أي أداة. أما #lib فيعتمد على subpath imports، وهي آلية قياسية في Node تُعرَّف داخل ملف package.json، فيفهمها المحرر وأدوات البناء دون الحاجة إلى SvelteKit.
ومن التغييرات الأخرى بحسب الإعلان:
- انتقال الإعدادات من
svelte.config.jsإلىvite.config.ts. - تقليل الكود المتكرر المطلوب لكتابة service workers.
- إعادة بناء طريقة التعامل مع الـ environment variables والأخطاء.
ويوفر الفريق أمرًا واحدًا لترحيل المشاريع:
npx sv migrate sveltekit-3 --tasks all --confirm
ويذكر الإعلان أن الـ remote functions ما زالت ميزة تجريبية، وأنها أولوية الفريق الأولى في المرحلة المقبلة.
ويعكس #lib نمطًا يتكرر في أدوات الويب: يخترع الـ framework حلًا لحاجة لم تكن المنصة تلبيها، ثم تلحق المنصة بمعيار رسمي، فيتخلى الـ framework عن حله. وبالنسبة للفرق التي تختار framework اليوم، يصبح مقدار اعتماده على حلول خاصة به، مقابل معايير المنصة، عاملًا في كلفة الترحيل لاحقًا.