هل تقوم بإنشاء مكتبة TypeScript ولكنك لست متأكدًا من كيفية تجميعها؟ أوصي تسوب.
فيما يلي العوامل التي أضعها في الاعتبار:
1. لديه أكثر من مليون عملية تنزيل أسبوعيًا في سجل NPM
2. يحتوي مستودع Tsup على 8.6 ألف نجمة مع صيانة نشطة.
3. موثقة بشكل جيد.
4. يستخدم في حزمة shadcn-ui/ui CLI.
5. يستخدم Tsup التراكمي داخليًا.
لقد ألقيت نظرة على الكود المصدري لـ tsup، فهو يحتوي على أكواد برمجية ذات صلة بخيوط عامل Nodejs مع جميع أنواع دفع الرسائل والاستماع إليها. سيكون هذا أمرًا ممتعًا للدراسة، وهذا يعني أيضًا أنني سأدخل إلى مجال مختلف للتعامل مع المجمعين. لست متأكدا بعد...
يساعدك العثور على tsup المستخدم في shadcn-ui/ui بعدة طرق:
1. عليك أن تتعلم كيف يمكن تنفيذ "tsup"
- يساعدك التنفيذ الذي تجده في OSS على التنقل في المستندات بطريقة أفضل.
- قراءة المستندات بأكملها أمر رائع، ولكنها قد تكون مرهقة بالنسبة للبعض منا.
2. شاهده عمليًا من خلال قراءة كود مصدر shadcn-ui. يتم العثور على tsup في مكانين عند البحث عنه في كود مصدر shadcn-ui/ui CLI:
"scripts": { "dev": "tsup - watch", "build": "tsup",
import { defineConfig } from "tsup" export default defineConfig({ clean: true, dts: true, entry: \["src/index.ts"\], format: \["esm"\], sourcemap: true, minify: true, target: "esnext", outDir: "dist", })
في هذه المرحلة، أود فقط قراءة المستندات لمعرفة ماهية هذه الخيارات وكيفية تكوين البرامج النصية.
بهذه الطريقة لا أشعر بالإرهاق من المستندات وأعرف بالضبط ما أبحث عنه. هذه هي طريقتي لتحديد الاتجاه للقراءة والتعلم أكثر من المستندات.
هذه هي الطريقة التي قمت بها أيضًا في الحزمة ذات الصلة بـ CLI مفتوحة المصدر لتجميع مكتبة TS الخاصة بي، للبدء بها.
هل تريد معرفة كيفية إنشاء shadcn-ui/ui من الصفر؟ راجع الإنشاء من الصفر
الموقع الإلكتروني: https://ramunarasinga.com/
لينكد إن: https://www.linkedin.com/in/ramu-narasinga-189361128/
جيثب: https://github.com/Ramu-Narasinga
البريد الإلكتروني: [email protected]
إنشاء shadcn-ui/ui من الصفر
1. مستندات تسوب: https://tsup.egoist.dev/
2. npm: https://www.npmjs.com/package/tsup
3. استخدام tsup في shadcn-ui/ui: https://github.com/shadcn-ui/ui/blob/main/packages/cli/package.json#L33
4. مشروعي المتعلق بـ CLI مفتوح المصدر: https://github.com/Ramu-Narasinga/TThroo/blob/main/packages/cli/package.json#L35
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3