مخطط تعقيد CSS ، استنادًا إلى CSS-analyzer. لا تدع CSS تنمو إلى ما وراء العتبات التي تقدمها.
npm install constyble
# or
yarn add constybleنحتاج إلى تكوين مع عتبات و CSS لمقارنتها بـ.
# Default usage (assuming a .constyblerc file in the current directory)
$ constyble style.css
# Read from StdIn (assuming a .constyblerc file in the current directory)
$ cat style.css | constyble
# Custom config
$ constyble style.css --config my-config.jsonستبدو النتيجة مثل شيء مثل هذا:
TAP version 13
# Subtest: selectors.id.total
ok 1 - selectors.id.total should not be larger than 0 (actual: 0)
1..1
ok 1 - selectors.id.total # time=6.024ms
1..1
# time=15.076msلاحظ أن هذا المثال يستخدم اختبار واحد فقط (إجمالي محددات المعرف).
سيحاول Constyble إحضار ملف .constyblerc في الدليل الحالي. يمكنك أيضًا تحديد ملف تكوين JSON مختلف مع خيار --config (انظر الاستخدام). يجب أن تبدو التكوين JSON مشابهة لهذا:
{
// Do not exceed 4095, otherwise IE9 will drop any subsequent rules
"selectors.total" : 4095 ,
"selectors.id.total" : 0 ,
"values.colors.totalUnique" : 2 ,
"values.colors.unique" : [ "#fff" , "#000" ]
}يمكن العثور على جميع الخيارات الممكنة لملف التكوين على @projectWallace/CSS-Analyzer. تعليقات JSON مسموح بها.
افتراضيًا ، ستقوم Constyble بالإبلاغ عن تنسيق TAP ، ولكن يمكنك تنشيط الإخراج في شيء قد تجده أجمل ، مثل TAP-Nyan أو TAP-DOT أو أي صنبور آخر.
TAP-NEAN
$ constyble style.css | tap-nyan
1 -_,------,
0 -_ | / _ /
0 -^ | __( ^ .^)
- " " " "
Pass ! في حالة فشل أي اختبار ، ستخرج Constyble برمز خروج غير صفري. عندما تقوم بتشغيل Constyble في بناء CI الخاص بك ، قد يتسبب ذلك في فشل البناء. هذا هو بالضبط ما تم تصميم Constyble للقيام به.
مثال الاستخدام مع package.json:
{
"name" : " my-package " ,
"version" : " 0.1.0 " ,
"scripts" : {
"test" : " constyble compiled-styles.css "
},
"devDependencies" : {
"constyble" : " * "
}
}Constyble هو مزيج من نمط الكلمات و constable. هذه الحزمة تشبه ضابط الشرطة (كونستابل) لأنماطك. في السابق ، كانت هذه الحزمة تسمى Gromit ، ولكن تم إسقاطها لأنها مرتبطة ارتباطًا وثيقًا بمشروع "والاس" الرئيسي الذي تعد هذه الحزمة جزءًا منه.
MIT © بارت فينمان