# SvelteKit 3 يستبدل اختصار $lib بـ #lib المبني على معيار subpath imports في Node

> **المغزى:** حين يتخلى framework عن اختصار اخترعه لصالح معيار في المنصة، تصبح الأدوات قادرة على فهم الكود دونه، وتقل الحاجة إلى وجوده وسيطًا في كل شيء.

- المصدر: المغزى (https://almaghza.com/a/2026-10-02-sveltekit-3-lib-subpath-imports/)
- التاريخ: 21 ربيع الآخر - 2 أكتوبر 2026 (2026-10-02)
- القسم: برمجيات
- الوسوم: Svelte، JavaScript، Node.js، Vite

أعلن فريق 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 اليوم، يصبح مقدار اعتماده على حلول خاصة به، مقابل معايير المنصة، عاملًا في كلفة الترحيل لاحقًا.

## المصادر

- [إعلان SvelteKit 3 الرسمي](https://svelte.dev/blog/sveltekit-3-is-here)
- [دليل الترحيل إلى SvelteKit 3](https://svelte.dev/docs/kit/migrating-to-sveltekit-3)
- [توثيق subpath imports في Node](https://nodejs.org/api/packages.html#subpath-imports)
