القضايا وطلبات السحب هي موضع ترحيب. يرجى التحقق من CONTRIBUTING.md أولاً!
هذا المستودع عبارة عن ريبو أحادي لـ
يتم تفرع عمليات إعادة الشراء من أداة إنشاء النماذج الرقمية التابعة لـ DEFRA.
هذا (يقترب من) مستودع مساحات عمل غزل 2 بدون تثبيت. .yarnrc.yml يسمح لنا بمحاذاة بيئات الغزل لدينا. يرجى الالتزام بأي مكونات إضافية في .yarn، لكن لا تلتزم بـ .yarn/cache. سوف يقوم CI بحفظ واستعادة ذاكرات التخزين المؤقت.
ستتعامل مساحات العمل مع ربط الحزم، لذلك لا يتعين علينا تشغيل yarn link
يدويًا. سيتعامل أيضًا مع رفع وحدات العقدة لأي حزم تتم مشاركتها بين عمليات إعادة الشراء، وبالتالي تقليل أوقات التثبيت. نأمل أن كل شيء يعمل فقط™️.
راجع أيضًا ملفات README الفردية للحصول على معلومات إضافية:
قم دائمًا بتشغيل البرامج النصية من الدليل الجذر.
node --version
.NODE_ENV=development
الافتراضية (راجع runner/config/development.json) لتمكين نشر النماذج ومعاينتها أثناء التصميم.$ yarn
لتثبيت جميع التبعيات في جميع مساحات العمل.$ yarn build
لإنشاء كافة مساحات العمل (وهذا ضروري لأن التبعيات يمكن أن تعتمد على بعضها البعض).كما ذكرنا سابقًا، قم دائمًا بتشغيل البرامج النصية من الدليل الجذر. نظرًا لأن مساحات العمل لا تحتوي على نصوص برمجية أو حزم تحتاج إلى تشغيلها من داخل مجلداتها ومن خلال التشغيل في الدليل الجذر، يمكن لـ الغزل 2 حل البرامج النصية/الحزم بشكل صحيح.
لمعرفة المزيد حول مساحات العمل، تحقق من هذه الروابط:
$ yarn [runner|designer|model] name-of-script
على سبيل المثال: yarn designer start
أو yarn runner add babel-core --dev
$ yarn workspaces foreach run name-of-script
لا أنصح به إلا إذا كان لديك معالج قوي.
$ yarn watch
$ yarn add packagename
$ mkdir myNewLib
$ cd myNewlib
$ yarn init
package.json
الجذر.jsonmyNewLib
إلى كائن workspaces
. إذا كان لديك أي مشاكل، أرسل مشكلة أو أرسل رسالة عبر gitter.
/vendor
غير موجود لأنه لم يتم بناؤه أو إعادة بنائه. قد تواجه $ yarn rebuild
هذه المشكلة مع core-js
$ yarn rebuild only node-sass
fsevents
و nodemailer
وما إلى ذلك.
نحن نستخدم إجراءات GitHub لتشغيل عملية CI الخاصة بنا. عرض تصور لسير العمل هنا.
سيتم زيادة أرقام الإصدارات تلقائيًا بناءً على رسائل الالتزام وSemVer (Major.Minor.Patch). عند الدمج، ألحق التزام الدمج الخاص بك بما يلي:
major:
أو breaking:
- مثلاً breaking: removing feature X
. سيؤدي هذا إلى زيادة الإصدار الرئيسي - على سبيل المثال: 1.1.0 إلى 2.0.0minor:
أو feature:
- على سبيل المثال، feature: new component
. سيؤدي هذا إلى زيادة الإصدار MINOR - على سبيل المثال: 1.1.0 إلى 1.2.0patch:
أو fix:
- على سبيل المثال، fix: url bug
- سيؤدي هذا إلى زيادة إصدار التصحيح - على سبيل المثال: 1.0.0 إلى 1.0.1 (سيحدث هذا أيضًا بشكل افتراضي) يتم تشغيل سير عمل التطوير عندما يتم دمج العلاقات العامة في الملف الرئيسي، ويمكنك مراقبته من خلال علامة تبويب الإجراء الخاصة بالمستودع.
يحتوي سير العمل على مهمتين منفصلتين يتم تشغيلهما بالتوازي، واحدة للعداء والأخرى لتطبيق المصمم.
كلا الوظيفتين تعملان على النحو التالي:
سيتم تشغيل أحدث الإصدارات هنا: Runner / Designer.
يتم إجراء مجموعة من اختبارات الدخان ضد جميع العلاقات العامة. هناك وظيفة Cron تقوم بتنفيذ اختبارات الدخان ضد عمليات نشر Heroku ومن المقرر أن يتم تشغيلها في منتصف الليل كل يوم.
يمكن العثور على مجموعة قديمة من اختبارات الدخان في هذا المستودع. تمت إزالتها حتى يمكن تشغيل المشروع على العقدة 18.
سيتم ترحيل اختبارات الدخان لاستخدام cypress.io في الأشهر المقبلة.