Skip to content

Commit a199371

Browse files
authored
Support @layer atrules (#221)
1 parent d61ed0d commit a199371

11 files changed

+181
-3
lines changed

src/__fixtures__/bol-com-20190617.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,12 @@
190190
"totalUnique": 0,
191191
"unique": {},
192192
"uniquenessRatio": 0
193+
},
194+
"layer": {
195+
"total": 0,
196+
"totalUnique": 0,
197+
"unique": {},
198+
"uniquenessRatio": 0
193199
}
194200
},
195201
"rules": {

src/__fixtures__/bootstrap-5.0.0.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,12 @@
111111
"totalUnique": 0,
112112
"unique": {},
113113
"uniquenessRatio": 0
114+
},
115+
"layer": {
116+
"total": 0,
117+
"totalUnique": 0,
118+
"unique": {},
119+
"uniquenessRatio": 0
114120
}
115121
},
116122
"rules": {

src/__fixtures__/css-tricks-20190319.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,12 @@
126126
"totalUnique": 0,
127127
"unique": {},
128128
"uniquenessRatio": 0
129+
},
130+
"layer": {
131+
"total": 0,
132+
"totalUnique": 0,
133+
"unique": {},
134+
"uniquenessRatio": 0
129135
}
130136
},
131137
"rules": {

src/__fixtures__/facebook-20190319.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,12 @@
132132
"totalUnique": 0,
133133
"unique": {},
134134
"uniquenessRatio": 0
135+
},
136+
"layer": {
137+
"total": 0,
138+
"totalUnique": 0,
139+
"unique": {},
140+
"uniquenessRatio": 0
135141
}
136142
},
137143
"rules": {

src/__fixtures__/gazelle-20210905.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -237,6 +237,12 @@
237237
"totalUnique": 0,
238238
"unique": {},
239239
"uniquenessRatio": 0
240+
},
241+
"layer": {
242+
"total": 0,
243+
"totalUnique": 0,
244+
"unique": {},
245+
"uniquenessRatio": 0
240246
}
241247
},
242248
"rules": {

src/__fixtures__/github-20210501.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,12 @@
103103
"totalUnique": 0,
104104
"unique": {},
105105
"uniquenessRatio": 0
106+
},
107+
"layer": {
108+
"total": 0,
109+
"totalUnique": 0,
110+
"unique": {},
111+
"uniquenessRatio": 0
106112
}
107113
},
108114
"rules": {

src/__fixtures__/lego-20190617.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -521,6 +521,12 @@
521521
"totalUnique": 0,
522522
"unique": {},
523523
"uniquenessRatio": 0
524+
},
525+
"layer": {
526+
"total": 0,
527+
"totalUnique": 0,
528+
"unique": {},
529+
"uniquenessRatio": 0
524530
}
525531
},
526532
"rules": {

src/__fixtures__/smashing-magazine-20190319.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -376,6 +376,12 @@
376376
"totalUnique": 0,
377377
"unique": {},
378378
"uniquenessRatio": 0
379+
},
380+
"layer": {
381+
"total": 0,
382+
"totalUnique": 0,
383+
"unique": {},
384+
"uniquenessRatio": 0
379385
}
380386
},
381387
"rules": {

src/__fixtures__/trello-20190617.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -402,6 +402,12 @@
402402
"totalUnique": 0,
403403
"unique": {},
404404
"uniquenessRatio": 0
405+
},
406+
"layer": {
407+
"total": 0,
408+
"totalUnique": 0,
409+
"unique": {},
410+
"uniquenessRatio": 0
405411
}
406412
},
407413
"rules": {

src/atrules/atrules.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { hasVendorPrefix } from '../vendor-prefix.js'
44
const analyzeAtRules = ({ atrules, stringifyNode }) => {
55
/** @type {{[index: string]: string}[]} */
66
const fontfaces = []
7+
const layers = new CountableCollection()
78
const imports = new CountableCollection()
89
const medias = new CountableCollection()
910
const charsets = new CountableCollection()
@@ -30,6 +31,12 @@ const analyzeAtRules = ({ atrules, stringifyNode }) => {
3031
'import': node => imports.push(node.prelude.value),
3132
'charset': node => charsets.push(node.prelude.value),
3233
'container': node => containers.push(node.prelude.value),
34+
'layer': node => {
35+
node.prelude.value.trim()
36+
.split(',')
37+
.map(name => name.trim())
38+
.forEach(name => layers.push(name))
39+
},
3340
}
3441

3542
for (let i = 0; i < atrules.length; i++) {
@@ -72,6 +79,7 @@ const analyzeAtRules = ({ atrules, stringifyNode }) => {
7279
}
7380
},
7481
container: containers.count(),
82+
layer: layers.count(),
7583
}
7684
}
7785

0 commit comments

Comments
 (0)