ความซับซ้อนของ 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โปรดทราบว่าตัวอย่างนี้ใช้การทดสอบเพียง 1 ครั้ง (ตัวเลือก ID ทั้งหมด)
Constyble จะพยายามดึงไฟล์ .constyblerc ในไดเรกทอรีปัจจุบันของคุณ นอกจากนี้คุณยังสามารถระบุไฟล์กำหนดค่า JSON ที่แตกต่างกันด้วยตัวเลือก --config (ดูการใช้งาน) 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-nyan, Tap-Dot หรือ Tap-Reporter อื่น ๆ
Tap-nyan
$ 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 เป็นการผสมผสานของสไตล์คำและตำรวจ แพ็คเกจนี้เป็นเหมือนเจ้าหน้าที่ตำรวจ (ตำรวจ) สำหรับสไตล์ของคุณ ก่อนหน้านี้แพ็คเกจนี้เรียกว่า Gromit แต่นั่นก็ลดลงเพราะมันเกี่ยวข้องอย่างใกล้ชิดกับโครงการ 'Wallace' หลักที่แพ็คเกจนี้เป็นส่วนหนึ่งของ
MIT © Bart Veneman