@projectwallace/css-analyzer 7.3.0 → 7.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/css-analyzer.js +401 -395
- package/dist/index.d.ts +79 -10
- package/package.json +1 -1
package/dist/css-analyzer.js
CHANGED
|
@@ -1,71 +1,71 @@
|
|
|
1
|
-
import
|
|
1
|
+
import $t from "css-tree/parser";
|
|
2
2
|
import q from "css-tree/walker";
|
|
3
|
-
import { calculateForAST as
|
|
4
|
-
function
|
|
5
|
-
return t >= 65 && t <= 90 && (t = t | 32),
|
|
3
|
+
import { calculateForAST as ei } from "@bramus/specificity/core";
|
|
4
|
+
function He(r, t) {
|
|
5
|
+
return t >= 65 && t <= 90 && (t = t | 32), r === t;
|
|
6
6
|
}
|
|
7
|
-
function
|
|
8
|
-
if (
|
|
9
|
-
let s =
|
|
7
|
+
function S(r, t) {
|
|
8
|
+
if (r === t) return !0;
|
|
9
|
+
let s = r.length;
|
|
10
10
|
if (s !== t.length) return !1;
|
|
11
11
|
for (let e = 0; e < s; e++)
|
|
12
|
-
if (
|
|
12
|
+
if (He(r.charCodeAt(e), t.charCodeAt(e)) === !1)
|
|
13
13
|
return !1;
|
|
14
14
|
return !0;
|
|
15
15
|
}
|
|
16
|
-
function
|
|
17
|
-
if (
|
|
18
|
-
let s = t.length, e = s -
|
|
16
|
+
function O(r, t) {
|
|
17
|
+
if (r === t) return !0;
|
|
18
|
+
let s = t.length, e = s - r.length;
|
|
19
19
|
if (e < 0)
|
|
20
20
|
return !1;
|
|
21
21
|
for (let n = s - 1; n >= e; n--)
|
|
22
|
-
if (
|
|
22
|
+
if (He(r.charCodeAt(n - e), t.charCodeAt(n)) === !1)
|
|
23
23
|
return !1;
|
|
24
24
|
return !0;
|
|
25
25
|
}
|
|
26
|
-
function
|
|
27
|
-
if (
|
|
28
|
-
let s =
|
|
26
|
+
function We(r, t) {
|
|
27
|
+
if (r === t) return !0;
|
|
28
|
+
let s = r.length;
|
|
29
29
|
if (t.length < s) return !1;
|
|
30
30
|
for (let e = 0; e < s; e++)
|
|
31
|
-
if (
|
|
31
|
+
if (He(r.charCodeAt(e), t.charCodeAt(e)) === !1)
|
|
32
32
|
return !1;
|
|
33
33
|
return !0;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
36
|
-
function
|
|
37
|
-
let e =
|
|
38
|
-
return
|
|
35
|
+
const Te = "Atrule", ti = "MediaQuery", Me = "Rule", Ke = "Selector", Kt = "TypeSelector", G = "PseudoClassSelector", Nt = "AttributeSelector", jt = "PseudoElementSelector", Ve = "Declaration", ii = "Value", R = "Identifier", ri = "Nth", si = "Combinator", Bt = "Number", Ne = "Dimension", W = "Operator", li = "Hash", ni = "Url", je = "Function";
|
|
36
|
+
function It(r, t, s) {
|
|
37
|
+
let e = r.value.children.first;
|
|
38
|
+
return S(t, r.property) && e.type === R && S(s, e.name);
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function ai(r) {
|
|
41
41
|
let t = !1;
|
|
42
|
-
return q(
|
|
43
|
-
if (s.type ===
|
|
42
|
+
return q(r, function(s) {
|
|
43
|
+
if (s.type === Ve && (It(s, "-webkit-appearance", "none") || It(s, "-moz-appearance", "meterbar")))
|
|
44
44
|
return t = !0, this.break;
|
|
45
45
|
}), t;
|
|
46
46
|
}
|
|
47
|
-
function
|
|
47
|
+
function oi(r) {
|
|
48
48
|
let t = !1;
|
|
49
|
-
return q(
|
|
49
|
+
return q(r, function(s) {
|
|
50
50
|
let e = s.name, n = s.value;
|
|
51
|
-
if (s.type ===
|
|
52
|
-
if (
|
|
51
|
+
if (s.type === ti && s.mediaType !== null) {
|
|
52
|
+
if (We("\\0", s.mediaType) || O("\\9 ", s.mediaType))
|
|
53
53
|
return t = !0, this.break;
|
|
54
54
|
} else if (s.type === "Feature" && s.kind === "media") {
|
|
55
55
|
if (n && n.unit && n.unit === "\\0")
|
|
56
56
|
return t = !0, this.break;
|
|
57
|
-
if (
|
|
57
|
+
if (S("-moz-images-in-menus", e) || S("min--moz-device-pixel-ratio", e) || S("-ms-high-contrast", e))
|
|
58
58
|
return t = !0, this.break;
|
|
59
|
-
if (
|
|
59
|
+
if (S("min-resolution", e) && n && S(".001", n.value) && S("dpcm", n.unit))
|
|
60
60
|
return t = !0, this.break;
|
|
61
|
-
if (
|
|
61
|
+
if (S("-webkit-min-device-pixel-ratio", e) && n && n.value && (S("0", n.value) || S("10000", n.value)))
|
|
62
62
|
return t = !0, this.break;
|
|
63
63
|
}
|
|
64
64
|
}), t;
|
|
65
65
|
}
|
|
66
|
-
const
|
|
67
|
-
function
|
|
68
|
-
return
|
|
66
|
+
const Ut = 45;
|
|
67
|
+
function F(r) {
|
|
68
|
+
return r.charCodeAt(0) === Ut && r.charCodeAt(1) !== Ut && r.indexOf("-", 2) !== -1;
|
|
69
69
|
}
|
|
70
70
|
class A {
|
|
71
71
|
/** @param {string[]} items */
|
|
@@ -77,16 +77,16 @@ class A {
|
|
|
77
77
|
return this.set.has(t.toLowerCase());
|
|
78
78
|
}
|
|
79
79
|
}
|
|
80
|
-
function
|
|
80
|
+
function Yt(r, t) {
|
|
81
81
|
let s = [];
|
|
82
|
-
return q(
|
|
83
|
-
visit:
|
|
82
|
+
return q(r, {
|
|
83
|
+
visit: Ke,
|
|
84
84
|
enter: function(e) {
|
|
85
85
|
s.push(t(e));
|
|
86
86
|
}
|
|
87
87
|
}), s;
|
|
88
88
|
}
|
|
89
|
-
const
|
|
89
|
+
const Gt = new A([
|
|
90
90
|
"nth-child",
|
|
91
91
|
"where",
|
|
92
92
|
"not",
|
|
@@ -97,15 +97,15 @@ const Kt = new A([
|
|
|
97
97
|
"-webkit-any",
|
|
98
98
|
"-moz-any"
|
|
99
99
|
]);
|
|
100
|
-
function
|
|
100
|
+
function Qt(r) {
|
|
101
101
|
let t = !1;
|
|
102
|
-
return q(
|
|
103
|
-
if (s.type ===
|
|
102
|
+
return q(r, function(s) {
|
|
103
|
+
if (s.type === Nt) {
|
|
104
104
|
let e = s.name.name;
|
|
105
|
-
if (
|
|
105
|
+
if (S("role", e) || We("aria-", e))
|
|
106
106
|
return t = !0, this.break;
|
|
107
|
-
} else if (s.type === G &&
|
|
108
|
-
let e =
|
|
107
|
+
} else if (s.type === G && Gt.has(s.name)) {
|
|
108
|
+
let e = Yt(s, Qt);
|
|
109
109
|
for (let n of e)
|
|
110
110
|
if (n === !0) {
|
|
111
111
|
t = !0;
|
|
@@ -115,29 +115,29 @@ function jt(i) {
|
|
|
115
115
|
}
|
|
116
116
|
}), t;
|
|
117
117
|
}
|
|
118
|
-
function
|
|
118
|
+
function ui(r) {
|
|
119
119
|
let t = !1;
|
|
120
|
-
return q(
|
|
120
|
+
return q(r, function(s) {
|
|
121
121
|
let e = s.type;
|
|
122
|
-
if ((e ===
|
|
122
|
+
if ((e === jt || e === Kt || e === G) && F(s.name))
|
|
123
123
|
return t = !0, this.break;
|
|
124
124
|
}), t;
|
|
125
125
|
}
|
|
126
|
-
function
|
|
126
|
+
function ci(r) {
|
|
127
127
|
let t = [];
|
|
128
|
-
return q(
|
|
128
|
+
return q(r, function(s) {
|
|
129
129
|
s.type === G && t.push(s.name);
|
|
130
130
|
}), t.length === 0 ? !1 : t;
|
|
131
131
|
}
|
|
132
|
-
function
|
|
132
|
+
function Zt(r) {
|
|
133
133
|
let t = 0;
|
|
134
|
-
return q(
|
|
134
|
+
return q(r, function(s) {
|
|
135
135
|
let e = s.type;
|
|
136
|
-
if (!(e ===
|
|
137
|
-
if (t++, (e ===
|
|
136
|
+
if (!(e === Ke || e === ri)) {
|
|
137
|
+
if (t++, (e === jt || e === Kt || e === G) && F(s.name) && t++, e === Nt)
|
|
138
138
|
return s.value && t++, this.skip;
|
|
139
|
-
if (e === G &&
|
|
140
|
-
let n =
|
|
139
|
+
if (e === G && Gt.has(s.name)) {
|
|
140
|
+
let n = Yt(s, Zt);
|
|
141
141
|
if (n.length === 0) return;
|
|
142
142
|
for (let a of n)
|
|
143
143
|
t += a;
|
|
@@ -146,9 +146,9 @@ function Bt(i) {
|
|
|
146
146
|
}
|
|
147
147
|
}), t;
|
|
148
148
|
}
|
|
149
|
-
function
|
|
150
|
-
q(
|
|
151
|
-
if (s.type ===
|
|
149
|
+
function fi(r, t) {
|
|
150
|
+
q(r, function(s, e) {
|
|
151
|
+
if (s.type === si) {
|
|
152
152
|
let n = s.loc, a = s.name;
|
|
153
153
|
if (n === null) {
|
|
154
154
|
let y = e.prev.data.loc.end, k = {
|
|
@@ -175,7 +175,7 @@ function ni(i, t) {
|
|
|
175
175
|
}
|
|
176
176
|
});
|
|
177
177
|
}
|
|
178
|
-
const
|
|
178
|
+
const pi = new A([
|
|
179
179
|
// CSS Named Colors
|
|
180
180
|
// Spec: https://drafts.csswg.org/css-color/#named-colors
|
|
181
181
|
// Heuristic: popular names first for quick finding in set.has()
|
|
@@ -328,7 +328,7 @@ const ai = new A([
|
|
|
328
328
|
"mediumorchid",
|
|
329
329
|
"darksalmon",
|
|
330
330
|
"mediumspringgreen"
|
|
331
|
-
]),
|
|
331
|
+
]), hi = new A([
|
|
332
332
|
// CSS System Colors
|
|
333
333
|
// Spec: https://drafts.csswg.org/css-color/#css-system-colors
|
|
334
334
|
"accentcolor",
|
|
@@ -350,7 +350,7 @@ const ai = new A([
|
|
|
350
350
|
"selecteditem",
|
|
351
351
|
"selecteditemtext",
|
|
352
352
|
"visitedtext"
|
|
353
|
-
]),
|
|
353
|
+
]), mi = new A([
|
|
354
354
|
"rgba",
|
|
355
355
|
"rgb",
|
|
356
356
|
"hsla",
|
|
@@ -361,7 +361,7 @@ const ai = new A([
|
|
|
361
361
|
"lch",
|
|
362
362
|
"lab",
|
|
363
363
|
"oklab"
|
|
364
|
-
]),
|
|
364
|
+
]), gi = new A([
|
|
365
365
|
"transparent",
|
|
366
366
|
"currentcolor"
|
|
367
367
|
]), ie = new A([
|
|
@@ -374,29 +374,29 @@ const ai = new A([
|
|
|
374
374
|
"revert",
|
|
375
375
|
"revert-layer"
|
|
376
376
|
]);
|
|
377
|
-
function te(
|
|
378
|
-
let t =
|
|
377
|
+
function te(r) {
|
|
378
|
+
let t = r.children, s = t.size;
|
|
379
379
|
if (!t || s > 1 || s === 0) return !1;
|
|
380
380
|
let e = t.first;
|
|
381
|
-
return e.type ===
|
|
381
|
+
return e.type === R && ie.has(e.name);
|
|
382
382
|
}
|
|
383
|
-
function
|
|
384
|
-
return parseFloat(
|
|
383
|
+
function Vt(r) {
|
|
384
|
+
return parseFloat(r) === 0;
|
|
385
385
|
}
|
|
386
|
-
function
|
|
387
|
-
for (let t of
|
|
388
|
-
if (!(t.type ===
|
|
386
|
+
function di(r) {
|
|
387
|
+
for (let t of r.children.toArray())
|
|
388
|
+
if (!(t.type === Bt && Vt(t.value)) && !(t.type === Ne && Vt(t.value)))
|
|
389
389
|
return !1;
|
|
390
390
|
return !0;
|
|
391
391
|
}
|
|
392
|
-
const
|
|
392
|
+
const yi = new A([
|
|
393
393
|
"caption",
|
|
394
394
|
"icon",
|
|
395
395
|
"menu",
|
|
396
396
|
"message-box",
|
|
397
397
|
"small-caption",
|
|
398
398
|
"status-bar"
|
|
399
|
-
]),
|
|
399
|
+
]), wi = new A([
|
|
400
400
|
/* <absolute-size> values */
|
|
401
401
|
"xx-small",
|
|
402
402
|
"x-small",
|
|
@@ -409,40 +409,40 @@ const pi = new A([
|
|
|
409
409
|
/* <relative-size> values */
|
|
410
410
|
"smaller",
|
|
411
411
|
"larger"
|
|
412
|
-
]),
|
|
413
|
-
function
|
|
414
|
-
let t =
|
|
415
|
-
return t === null ? !1 : t.type ===
|
|
412
|
+
]), bi = 44, Ht = 47;
|
|
413
|
+
function Ie(r) {
|
|
414
|
+
let t = r.children.first;
|
|
415
|
+
return t === null ? !1 : t.type === R && yi.has(t.name);
|
|
416
416
|
}
|
|
417
|
-
function
|
|
417
|
+
function ki(r, t, s) {
|
|
418
418
|
var k;
|
|
419
419
|
let e = Array.from({ length: 2 }), n, a;
|
|
420
|
-
|
|
421
|
-
let b =
|
|
422
|
-
if (w.type ===
|
|
420
|
+
r.children.forEach(function(w, _) {
|
|
421
|
+
let b = _.prev ? _.prev.data : void 0, P = _.next ? _.next.data : void 0;
|
|
422
|
+
if (w.type === R && ie.has(w.name) && s({
|
|
423
423
|
type: "keyword",
|
|
424
424
|
value: w.name
|
|
425
|
-
}), P && P.type === W && P.value.charCodeAt(0) ===
|
|
425
|
+
}), P && P.type === W && P.value.charCodeAt(0) === Ht) {
|
|
426
426
|
n = t(w);
|
|
427
427
|
return;
|
|
428
428
|
}
|
|
429
|
-
if (b && b.type === W && b.value.charCodeAt(0) ===
|
|
429
|
+
if (b && b.type === W && b.value.charCodeAt(0) === Ht) {
|
|
430
430
|
a = t(w);
|
|
431
431
|
return;
|
|
432
432
|
}
|
|
433
|
-
if (P && P.type === W && P.value.charCodeAt(0) ===
|
|
433
|
+
if (P && P.type === W && P.value.charCodeAt(0) === bi && !e[0]) {
|
|
434
434
|
e[0] = w, !n && b && (n = t(b));
|
|
435
435
|
return;
|
|
436
436
|
}
|
|
437
|
-
if (w.type !==
|
|
438
|
-
if (
|
|
437
|
+
if (w.type !== Bt) {
|
|
438
|
+
if (_.next === null) {
|
|
439
439
|
e[1] = w, !n && !e[0] && b && (n = t(b));
|
|
440
440
|
return;
|
|
441
441
|
}
|
|
442
|
-
if (w.type ===
|
|
443
|
-
let
|
|
444
|
-
if (
|
|
445
|
-
n =
|
|
442
|
+
if (w.type === R) {
|
|
443
|
+
let D = w.name;
|
|
444
|
+
if (wi.has(D)) {
|
|
445
|
+
n = D;
|
|
446
446
|
return;
|
|
447
447
|
}
|
|
448
448
|
}
|
|
@@ -456,7 +456,7 @@ function gi(i, t, s) {
|
|
|
456
456
|
end: {
|
|
457
457
|
// Either the node we detected as the last node, or the end of the whole value
|
|
458
458
|
// It's never 0 because the first node is always a font-size or font-style
|
|
459
|
-
offset: ((k = e[1]) == null ? void 0 : k.loc.end.offset) ||
|
|
459
|
+
offset: ((k = e[1]) == null ? void 0 : k.loc.end.offset) || r.loc.end.offset
|
|
460
460
|
}
|
|
461
461
|
}
|
|
462
462
|
}) : null;
|
|
@@ -466,7 +466,7 @@ function gi(i, t, s) {
|
|
|
466
466
|
font_family: y
|
|
467
467
|
};
|
|
468
468
|
}
|
|
469
|
-
const
|
|
469
|
+
const xi = new A([
|
|
470
470
|
"linear",
|
|
471
471
|
"ease",
|
|
472
472
|
"ease-in",
|
|
@@ -474,41 +474,41 @@ const di = new A([
|
|
|
474
474
|
"ease-in-out",
|
|
475
475
|
"step-start",
|
|
476
476
|
"step-end"
|
|
477
|
-
]),
|
|
477
|
+
]), Ci = new A([
|
|
478
478
|
"cubic-bezier",
|
|
479
479
|
"steps"
|
|
480
480
|
]);
|
|
481
|
-
function
|
|
481
|
+
function zi(r, t) {
|
|
482
482
|
let s = !1;
|
|
483
|
-
for (let e of
|
|
483
|
+
for (let e of r) {
|
|
484
484
|
let n = e.type, a = e.name;
|
|
485
|
-
n === W ? s = !1 : n ===
|
|
485
|
+
n === W ? s = !1 : n === Ne && s === !1 ? (s = !0, t({
|
|
486
486
|
type: "duration",
|
|
487
487
|
value: e
|
|
488
|
-
})) : n ===
|
|
488
|
+
})) : n === R ? xi.has(a) ? t({
|
|
489
489
|
type: "fn",
|
|
490
490
|
value: e
|
|
491
491
|
}) : ie.has(a) && t({
|
|
492
492
|
type: "keyword",
|
|
493
493
|
value: e
|
|
494
|
-
}) : n ===
|
|
494
|
+
}) : n === je && Ci.has(a) && t({
|
|
495
495
|
type: "fn",
|
|
496
496
|
value: e
|
|
497
497
|
});
|
|
498
498
|
}
|
|
499
499
|
}
|
|
500
|
-
function
|
|
501
|
-
let t =
|
|
500
|
+
function Jt(r) {
|
|
501
|
+
let t = r.children;
|
|
502
502
|
if (!t)
|
|
503
503
|
return !1;
|
|
504
504
|
for (let s of t) {
|
|
505
505
|
let { type: e, name: n } = s;
|
|
506
|
-
if (e ===
|
|
506
|
+
if (e === R && F(n) || e === je && (F(n) || Jt(s)))
|
|
507
507
|
return !0;
|
|
508
508
|
}
|
|
509
509
|
return !1;
|
|
510
510
|
}
|
|
511
|
-
class
|
|
511
|
+
class o {
|
|
512
512
|
/** @param {boolean} useLocations */
|
|
513
513
|
constructor(t = !1) {
|
|
514
514
|
this._items = /* @__PURE__ */ new Map(), this._total = 0, t && (this._nodes = []), this._useLocations = t;
|
|
@@ -552,20 +552,20 @@ class u {
|
|
|
552
552
|
*/
|
|
553
553
|
c() {
|
|
554
554
|
let t = /* @__PURE__ */ new Map(), s = {}, e = this._useLocations, n = this._items, a = this._nodes, y = n.size;
|
|
555
|
-
n.forEach((
|
|
555
|
+
n.forEach((_, b) => {
|
|
556
556
|
if (e) {
|
|
557
|
-
let P =
|
|
558
|
-
let
|
|
557
|
+
let P = _.map(function(D) {
|
|
558
|
+
let T = D * 4;
|
|
559
559
|
return {
|
|
560
|
-
line: a[
|
|
561
|
-
column: a[
|
|
562
|
-
offset: a[
|
|
563
|
-
length: a[
|
|
560
|
+
line: a[T],
|
|
561
|
+
column: a[T + 1],
|
|
562
|
+
offset: a[T + 2],
|
|
563
|
+
length: a[T + 3]
|
|
564
564
|
};
|
|
565
565
|
});
|
|
566
566
|
t.set(b, P);
|
|
567
567
|
} else
|
|
568
|
-
s[b] =
|
|
568
|
+
s[b] = _.length;
|
|
569
569
|
});
|
|
570
570
|
let k = this._total, w = {
|
|
571
571
|
total: k,
|
|
@@ -576,10 +576,10 @@ class u {
|
|
|
576
576
|
return e && (w.uniqueWithLocations = Object.fromEntries(t)), w;
|
|
577
577
|
}
|
|
578
578
|
}
|
|
579
|
-
class
|
|
579
|
+
class Ue {
|
|
580
580
|
/** @param {boolean} useLocations */
|
|
581
581
|
constructor(t) {
|
|
582
|
-
this._list = new
|
|
582
|
+
this._list = new o(t), this._contexts = /* @__PURE__ */ new Map(), this._useLocations = t;
|
|
583
583
|
}
|
|
584
584
|
/**
|
|
585
585
|
* Add an item to this _list's context
|
|
@@ -588,7 +588,7 @@ class Ve {
|
|
|
588
588
|
* @param {import('css-tree').CssLocation} node_location
|
|
589
589
|
*/
|
|
590
590
|
push(t, s, e) {
|
|
591
|
-
this._list.p(t, e), this._contexts.has(s) || this._contexts.set(s, new
|
|
591
|
+
this._list.p(t, e), this._contexts.has(s) || this._contexts.set(s, new o(this._useLocations)), this._contexts.get(s).p(t, e);
|
|
592
592
|
}
|
|
593
593
|
count() {
|
|
594
594
|
let t = /* @__PURE__ */ new Map();
|
|
@@ -599,10 +599,10 @@ class Ve {
|
|
|
599
599
|
});
|
|
600
600
|
}
|
|
601
601
|
}
|
|
602
|
-
function
|
|
603
|
-
let t = /* @__PURE__ */ new Map(), s = -1, e = 0, n = 0, a =
|
|
602
|
+
function Si(r) {
|
|
603
|
+
let t = /* @__PURE__ */ new Map(), s = -1, e = 0, n = 0, a = r.length;
|
|
604
604
|
for (let y = 0; y < a; y++) {
|
|
605
|
-
let k =
|
|
605
|
+
let k = r[y], w = (t.get(k) || 0) + 1;
|
|
606
606
|
t.set(k, w), w > s && (s = w, e = 0, n = 0), w >= s && (e++, n += k);
|
|
607
607
|
}
|
|
608
608
|
return n / e;
|
|
@@ -632,7 +632,7 @@ class C {
|
|
|
632
632
|
range: 0,
|
|
633
633
|
sum: 0
|
|
634
634
|
};
|
|
635
|
-
let s = this._items.slice().sort((k, w) => k - w), e = s[0], n = s[t - 1], a =
|
|
635
|
+
let s = this._items.slice().sort((k, w) => k - w), e = s[0], n = s[t - 1], a = Si(s), y = this._sum;
|
|
636
636
|
return {
|
|
637
637
|
min: e,
|
|
638
638
|
max: n,
|
|
@@ -649,33 +649,33 @@ class C {
|
|
|
649
649
|
return this._items;
|
|
650
650
|
}
|
|
651
651
|
}
|
|
652
|
-
function
|
|
653
|
-
if (
|
|
654
|
-
let t =
|
|
652
|
+
function _i(r) {
|
|
653
|
+
if (Be(r) || F(r)) return !1;
|
|
654
|
+
let t = r.charCodeAt(0);
|
|
655
655
|
return t === 47 || t === 42 || t === 95 || t === 43 || t === 38 || t === 36 || t === 35;
|
|
656
656
|
}
|
|
657
|
-
function
|
|
658
|
-
return
|
|
657
|
+
function Be(r) {
|
|
658
|
+
return r.length < 3 ? !1 : r.charCodeAt(0) === 45 && r.charCodeAt(1) === 45;
|
|
659
659
|
}
|
|
660
|
-
function m(
|
|
661
|
-
return
|
|
660
|
+
function m(r, t) {
|
|
661
|
+
return Be(t) ? !1 : O(r, t);
|
|
662
662
|
}
|
|
663
|
-
function
|
|
664
|
-
return
|
|
663
|
+
function vi(r) {
|
|
664
|
+
return F(r) ? r.slice(r.indexOf("-", 2) + 1) : r;
|
|
665
665
|
}
|
|
666
|
-
function
|
|
667
|
-
let t = 5, s =
|
|
668
|
-
return s === -1 || e !== -1 && e < s ?
|
|
666
|
+
function qi(r) {
|
|
667
|
+
let t = 5, s = r.indexOf(";"), e = r.indexOf(",");
|
|
668
|
+
return s === -1 || e !== -1 && e < s ? r.substring(t, e) : r.substring(t, s);
|
|
669
669
|
}
|
|
670
|
-
function
|
|
671
|
-
let t =
|
|
670
|
+
function Ai(r) {
|
|
671
|
+
let t = r.children;
|
|
672
672
|
if (t) {
|
|
673
673
|
let s = t.last;
|
|
674
|
-
return s && s.type ===
|
|
674
|
+
return s && s.type === R && O("\\9", s.name);
|
|
675
675
|
}
|
|
676
676
|
return !1;
|
|
677
677
|
}
|
|
678
|
-
let
|
|
678
|
+
let Pi = new A([
|
|
679
679
|
"border-radius",
|
|
680
680
|
"border-top-left-radius",
|
|
681
681
|
"border-top-right-radius",
|
|
@@ -686,127 +686,127 @@ let _i = new A([
|
|
|
686
686
|
"border-end-end-radius",
|
|
687
687
|
"border-end-start-radius"
|
|
688
688
|
]);
|
|
689
|
-
function z(
|
|
690
|
-
return t === 0 ? 0 :
|
|
689
|
+
function z(r, t) {
|
|
690
|
+
return t === 0 ? 0 : r / t;
|
|
691
691
|
}
|
|
692
|
-
let
|
|
692
|
+
let Li = {
|
|
693
693
|
useLocations: !1
|
|
694
694
|
};
|
|
695
|
-
function
|
|
696
|
-
let e = Object.assign({},
|
|
697
|
-
function a(
|
|
698
|
-
return y(
|
|
695
|
+
function Ei(r, t = {}) {
|
|
696
|
+
let e = Object.assign({}, Li, t).useLocations === !0, n = Date.now();
|
|
697
|
+
function a(i) {
|
|
698
|
+
return y(i).trim();
|
|
699
699
|
}
|
|
700
|
-
function y(
|
|
701
|
-
let Y =
|
|
702
|
-
return
|
|
700
|
+
function y(i) {
|
|
701
|
+
let Y = i.loc;
|
|
702
|
+
return r.substring(Y.start.offset, Y.end.offset);
|
|
703
703
|
}
|
|
704
|
-
let k = 0, w = 0,
|
|
704
|
+
let k = 0, w = 0, _ = 0, b = {
|
|
705
705
|
total: 0,
|
|
706
706
|
/** @type {Map<string, { size: number, count: number } & ({ uniqueWithLocations?: undefined } | ({ uniqueWithLocations: { offset: number, line: number, column: number, length: number }[] })) }>} */
|
|
707
707
|
unique: /* @__PURE__ */ new Map()
|
|
708
|
-
}, P = Date.now(),
|
|
708
|
+
}, P = Date.now(), D = $t(r, {
|
|
709
709
|
parseCustomProperty: !0,
|
|
710
710
|
// To find font-families, colors, etc.
|
|
711
711
|
positions: !0,
|
|
712
712
|
// So we can use stringifyNode()
|
|
713
713
|
/** @param {string} comment */
|
|
714
|
-
onComment: function(
|
|
715
|
-
k++, w +=
|
|
714
|
+
onComment: function(i) {
|
|
715
|
+
k++, w += i.length;
|
|
716
716
|
}
|
|
717
|
-
}),
|
|
718
|
-
q(
|
|
719
|
-
enter(
|
|
720
|
-
var Y,
|
|
721
|
-
switch (
|
|
722
|
-
case
|
|
723
|
-
|
|
724
|
-
let p =
|
|
717
|
+
}), T = Date.now(), Xt = D.loc.end.line - D.loc.start.line + 1, Ye = new o(e), re = new C(), se = [], Ge = new o(e), le = new o(e), Qe = new o(e), Ze = new o(e), Je = new o(e), Xe = new o(e), $e = new o(e), ne = new o(e), et = new o(e), ae = new o(e), oe = new o(e), tt = new o(e), Q = new o(e), it = new o(e), ue = new C(), rt = new o(e), ce = 0, fe = 0, pe = new C(), he = new C(), me = new C(), st = new o(e), lt = new o(e), nt = new o(e), ge = new C(), at = new o(e), de = new o(e), ot = /* @__PURE__ */ new Set(), ye = new o(e), M, I, ut = new C(), ct = new C(), ft = new C(), pt = new o(e), Z = new C(), ht = new o(e), mt = [], we = new o(e), be = new o(e), gt = new o(e), dt = new o(e), ke = new C(), yt = new o(e), wt = /* @__PURE__ */ new Set(), K = 0, bt = new C(), J = 0, xe = 0, Ce = new o(e), ze = new C(), kt = new o(e), N = new o(e), Se = new o(e), _e = new o(e), X = new o(e), j = new C(), ve = new C(), xt = new o(e), qe = new o(e), Ct = new o(e), zt = new o(e), St = new o(e), Ae = new o(e), Pe = new o(e), Le = new o(e), $ = new o(e), ee = new o(e), U = new Ue(e), V = new o(e), Oe = new Ue(e), _t = new o(e), B = new o(e), vt = new Ue(e), qt = new o(e), L = 0;
|
|
718
|
+
q(D, {
|
|
719
|
+
enter(i) {
|
|
720
|
+
var Y, Mt;
|
|
721
|
+
switch (i.type) {
|
|
722
|
+
case Te: {
|
|
723
|
+
Ye.p(i.name, i.loc), ue.push(L), rt.p(L, i.loc);
|
|
724
|
+
let p = i.name;
|
|
725
725
|
if (p === "font-face") {
|
|
726
726
|
let g = {};
|
|
727
|
-
e && Ge.p(
|
|
728
|
-
c.type ===
|
|
729
|
-
}),
|
|
727
|
+
e && Ge.p(i.loc.start.offset, i.loc), i.block.children.forEach((c) => {
|
|
728
|
+
c.type === Ve && (g[c.property] = a(c.value));
|
|
729
|
+
}), se.push(g), re.push(1);
|
|
730
730
|
break;
|
|
731
731
|
}
|
|
732
732
|
let l = 1;
|
|
733
|
-
if (
|
|
734
|
-
let g =
|
|
733
|
+
if (i.prelude !== null) {
|
|
734
|
+
let g = i.prelude, c = g && a(i.prelude), f = g.loc;
|
|
735
735
|
if (p === "media")
|
|
736
|
-
Ze.p(c, f),
|
|
736
|
+
Ze.p(c, f), oi(g) && (Je.p(c, f), l++);
|
|
737
737
|
else if (p === "supports")
|
|
738
|
-
|
|
739
|
-
else if (
|
|
740
|
-
let
|
|
741
|
-
|
|
738
|
+
ne.p(c, f), ai(g) && (et.p(c, f), l++);
|
|
739
|
+
else if (O("keyframes", p)) {
|
|
740
|
+
let u = "@" + p + " " + c;
|
|
741
|
+
F(p) && (oe.p(u, f), l++), ae.p(u, f);
|
|
742
742
|
} else if (p === "import")
|
|
743
|
-
q(
|
|
744
|
-
if (
|
|
745
|
-
let h = a(
|
|
746
|
-
return
|
|
743
|
+
q(i, function(u) {
|
|
744
|
+
if (u.type === "Condition" && u.kind === "supports") {
|
|
745
|
+
let h = a(u);
|
|
746
|
+
return ne.p(h, u.loc), this.break;
|
|
747
747
|
}
|
|
748
748
|
}), Qe.p(c, f);
|
|
749
749
|
else if (p === "charset")
|
|
750
750
|
$e.p(c, f);
|
|
751
751
|
else if (p === "container") {
|
|
752
752
|
if (tt.p(c, f), ((Y = g.children.first) == null ? void 0 : Y.type) === "Identifier") {
|
|
753
|
-
let
|
|
754
|
-
Q.p(
|
|
753
|
+
let u = g.children.first.name;
|
|
754
|
+
Q.p(u, f);
|
|
755
755
|
}
|
|
756
756
|
} else p === "property" && it.p(c, f);
|
|
757
757
|
} else
|
|
758
|
-
p === "layer" && (
|
|
759
|
-
|
|
758
|
+
p === "layer" && (le.p("<anonymous>", i.loc), l++);
|
|
759
|
+
re.push(l);
|
|
760
760
|
break;
|
|
761
761
|
}
|
|
762
762
|
case "Layer": {
|
|
763
|
-
|
|
763
|
+
i.name !== null && le.p(i.name, i.loc);
|
|
764
764
|
break;
|
|
765
765
|
}
|
|
766
766
|
case "Feature": {
|
|
767
|
-
Xe.p(
|
|
767
|
+
Xe.p(i.name, i.loc);
|
|
768
768
|
break;
|
|
769
769
|
}
|
|
770
|
-
case
|
|
771
|
-
let p =
|
|
772
|
-
|
|
770
|
+
case Me: {
|
|
771
|
+
let p = i.prelude, l = i.block, g = p.children, c = l.children, f = g ? g.size : 0, u = c ? c.size : 0;
|
|
772
|
+
pe.push(f + u), st.p(f + u, i.loc), he.push(f), lt.p(f, p.loc), me.push(u), nt.p(u, l.loc), ge.push(L), at.p(L, i.loc), ce++, u === 0 && fe++;
|
|
773
773
|
break;
|
|
774
774
|
}
|
|
775
|
-
case
|
|
776
|
-
let p = a(
|
|
777
|
-
if (this.atrule &&
|
|
778
|
-
return
|
|
779
|
-
|
|
780
|
-
let l =
|
|
775
|
+
case Ke: {
|
|
776
|
+
let p = a(i);
|
|
777
|
+
if (this.atrule && O("keyframes", this.atrule.name))
|
|
778
|
+
return de.p(p, i.loc), this.skip;
|
|
779
|
+
Qt(i) && be.p(p, i.loc);
|
|
780
|
+
let l = ci(i);
|
|
781
781
|
if (l !== !1)
|
|
782
782
|
for (let x of l)
|
|
783
|
-
|
|
784
|
-
let g =
|
|
785
|
-
|
|
786
|
-
let c =
|
|
787
|
-
return
|
|
788
|
-
|
|
783
|
+
gt.p(x, i.loc);
|
|
784
|
+
let g = Zt(i);
|
|
785
|
+
ui(i) && ye.p(p, i.loc), ot.add(p), Z.push(g), ht.p(g, i.loc), ke.push(L - 1), yt.p(L - 1, i.loc);
|
|
786
|
+
let c = ei(i).toArray(), [f, u, h] = c;
|
|
787
|
+
return pt.p(c.toString(), i.loc), ut.push(f), ct.push(u), ft.push(h), M === void 0 && (M = c), I === void 0 && (I = c), I !== void 0 && Wt(I, c) < 0 && (I = c), M !== void 0 && Wt(M, c) > 0 && (M = c), mt.push(c), f > 0 && we.p(p, i.loc), fi(i, function(v) {
|
|
788
|
+
dt.p(v.name, v.loc);
|
|
789
789
|
}), this.skip;
|
|
790
790
|
}
|
|
791
|
-
case
|
|
791
|
+
case Ne: {
|
|
792
792
|
if (!this.declaration)
|
|
793
793
|
break;
|
|
794
|
-
let p =
|
|
795
|
-
return
|
|
794
|
+
let p = i.unit;
|
|
795
|
+
return O("\\9", p) ? Oe.push(p.substring(0, p.length - 2), this.declaration.property, i.loc) : Oe.push(p, this.declaration.property, i.loc), this.skip;
|
|
796
796
|
}
|
|
797
|
-
case
|
|
798
|
-
if (
|
|
799
|
-
let p =
|
|
800
|
-
b.total++,
|
|
797
|
+
case ni: {
|
|
798
|
+
if (We("data:", i.value)) {
|
|
799
|
+
let p = i.value, l = p.length, g = qi(p);
|
|
800
|
+
b.total++, _ += l;
|
|
801
801
|
let c = {
|
|
802
802
|
/** @type {number} */
|
|
803
|
-
line:
|
|
803
|
+
line: i.loc.start.line,
|
|
804
804
|
/** @type {number} */
|
|
805
|
-
column:
|
|
805
|
+
column: i.loc.start.column,
|
|
806
806
|
/** @type {number} */
|
|
807
|
-
offset:
|
|
807
|
+
offset: i.loc.start.offset,
|
|
808
808
|
/** @type {number} */
|
|
809
|
-
length:
|
|
809
|
+
length: i.loc.end.offset - i.loc.start.offset
|
|
810
810
|
};
|
|
811
811
|
if (b.unique.has(g)) {
|
|
812
812
|
let f = b.unique.get(g);
|
|
@@ -821,96 +821,96 @@ function Pi(i, t = {}) {
|
|
|
821
821
|
}
|
|
822
822
|
break;
|
|
823
823
|
}
|
|
824
|
-
case
|
|
825
|
-
if (te(
|
|
826
|
-
|
|
824
|
+
case ii: {
|
|
825
|
+
if (te(i)) {
|
|
826
|
+
ve.push(1), B.p(a(i), i.loc);
|
|
827
827
|
break;
|
|
828
828
|
}
|
|
829
829
|
let p = this.declaration, { property: l, important: g } = p, c = 1;
|
|
830
|
-
|
|
831
|
-
let f =
|
|
832
|
-
if (
|
|
833
|
-
|
|
830
|
+
Jt(i) && (xt.p(a(i), i.loc), c++), typeof g == "string" && (qe.p(y(i) + "!" + g, i.loc), c++), Ai(i) && (qe.p(a(i), i.loc), c++);
|
|
831
|
+
let f = i.children, u = i.loc;
|
|
832
|
+
if (ve.push(c), m("margin", l) || m("margin-block", l) || m("margin-inline", l) || m("margin-top", l) || m("margin-right", l) || m("margin-bottom", l) || m("margin-left", l) || m("padding", l) || m("padding-block", l) || m("padding-inline", l) || m("padding-top", l) || m("padding-right", l) || m("padding-bottom", l) || m("padding-left", l))
|
|
833
|
+
di(i) && qt.p(l, p.loc);
|
|
834
834
|
else {
|
|
835
835
|
if (m("z-index", l))
|
|
836
|
-
return
|
|
836
|
+
return Ct.p(a(i), u), this.skip;
|
|
837
837
|
if (m("font", l)) {
|
|
838
|
-
if (
|
|
839
|
-
let { font_size: h, line_height: x, font_family: v } =
|
|
840
|
-
|
|
838
|
+
if (Ie(i)) return;
|
|
839
|
+
let { font_size: h, line_height: x, font_family: v } = ki(i, a, function(E) {
|
|
840
|
+
E.type === "keyword" && B.p(E.value, u);
|
|
841
841
|
});
|
|
842
|
-
v &&
|
|
842
|
+
v && Ae.p(v, u), h && Pe.p(h, u), x && Le.p(x, u);
|
|
843
843
|
break;
|
|
844
844
|
} else if (m("font-size", l)) {
|
|
845
|
-
|
|
845
|
+
Ie(i) || Pe.p(a(i), u);
|
|
846
846
|
break;
|
|
847
847
|
} else if (m("font-family", l)) {
|
|
848
|
-
|
|
848
|
+
Ie(i) || Ae.p(a(i), u);
|
|
849
849
|
break;
|
|
850
850
|
} else if (m("line-height", l))
|
|
851
|
-
|
|
851
|
+
Le.p(a(i), u);
|
|
852
852
|
else if (m("transition", l) || m("animation", l)) {
|
|
853
|
-
|
|
854
|
-
h.type === "fn" ? $.p(a(h.value),
|
|
853
|
+
zi(f, function(h) {
|
|
854
|
+
h.type === "fn" ? $.p(a(h.value), u) : h.type === "duration" ? ee.p(a(h.value), u) : h.type === "keyword" && B.p(a(h.value), u);
|
|
855
855
|
});
|
|
856
856
|
break;
|
|
857
857
|
} else if (m("animation-duration", l) || m("transition-duration", l)) {
|
|
858
858
|
f && f.size > 1 ? f.forEach((h) => {
|
|
859
|
-
h.type !== W && ee.p(a(h),
|
|
860
|
-
}) : ee.p(a(
|
|
859
|
+
h.type !== W && ee.p(a(h), u);
|
|
860
|
+
}) : ee.p(a(i), u);
|
|
861
861
|
break;
|
|
862
862
|
} else if (m("transition-timing-function", l) || m("animation-timing-function", l)) {
|
|
863
863
|
f && f.size > 1 ? f.forEach((h) => {
|
|
864
|
-
h.type !== W && $.p(a(h),
|
|
865
|
-
}) : $.p(a(
|
|
864
|
+
h.type !== W && $.p(a(h), u);
|
|
865
|
+
}) : $.p(a(i), u);
|
|
866
866
|
break;
|
|
867
867
|
} else if (m("container-name", l))
|
|
868
|
-
Q.p(a(
|
|
868
|
+
Q.p(a(i), u);
|
|
869
869
|
else if (m("container", l))
|
|
870
|
-
((
|
|
871
|
-
else if (
|
|
872
|
-
te(
|
|
870
|
+
((Mt = f.first) == null ? void 0 : Mt.type) === "Identifier" && Q.p(f.first.name, u);
|
|
871
|
+
else if (Pi.has(vi(l))) {
|
|
872
|
+
te(i) || vt.push(a(i), l, u);
|
|
873
873
|
break;
|
|
874
|
-
} else m("text-shadow", l) ? te(
|
|
874
|
+
} else m("text-shadow", l) ? te(i) || zt.p(a(i), u) : m("box-shadow", l) && (te(i) || St.p(a(i), u));
|
|
875
875
|
}
|
|
876
|
-
q(
|
|
876
|
+
q(i, function(h) {
|
|
877
877
|
let x = h.name;
|
|
878
878
|
switch (h.type) {
|
|
879
|
-
case
|
|
879
|
+
case li: {
|
|
880
880
|
let v = h.value.length;
|
|
881
|
-
return
|
|
881
|
+
return O("\\9", h.value) && (v = v - 2), U.push("#" + h.value, l, u), V.p("hex" + v, u), this.skip;
|
|
882
882
|
}
|
|
883
|
-
case
|
|
884
|
-
ie.has(x) &&
|
|
883
|
+
case R: {
|
|
884
|
+
ie.has(x) && B.p(x, u);
|
|
885
885
|
let v = x.length;
|
|
886
886
|
if (v > 20 || v < 3)
|
|
887
887
|
return this.skip;
|
|
888
|
-
if (
|
|
889
|
-
let
|
|
890
|
-
|
|
888
|
+
if (gi.has(x)) {
|
|
889
|
+
let E = a(h);
|
|
890
|
+
U.push(E, l, u), V.p(x.toLowerCase(), u);
|
|
891
891
|
return;
|
|
892
892
|
}
|
|
893
|
-
if (
|
|
894
|
-
let
|
|
895
|
-
|
|
893
|
+
if (pi.has(x)) {
|
|
894
|
+
let E = a(h);
|
|
895
|
+
U.push(E, l, u), V.p("named", u);
|
|
896
896
|
return;
|
|
897
897
|
}
|
|
898
|
-
if (
|
|
899
|
-
let
|
|
900
|
-
|
|
898
|
+
if (hi.has(x)) {
|
|
899
|
+
let E = a(h);
|
|
900
|
+
U.push(E, l, u), V.p("system", u);
|
|
901
901
|
return;
|
|
902
902
|
}
|
|
903
903
|
return this.skip;
|
|
904
904
|
}
|
|
905
|
-
case
|
|
906
|
-
if (
|
|
905
|
+
case je: {
|
|
906
|
+
if (S("var", x))
|
|
907
907
|
return this.skip;
|
|
908
|
-
if (
|
|
909
|
-
|
|
908
|
+
if (mi.has(x)) {
|
|
909
|
+
U.push(a(h), l, h.loc), V.p(x.toLowerCase(), h.loc);
|
|
910
910
|
return;
|
|
911
911
|
}
|
|
912
|
-
if (
|
|
913
|
-
|
|
912
|
+
if (O("gradient", x)) {
|
|
913
|
+
_t.p(a(h), h.loc);
|
|
914
914
|
return;
|
|
915
915
|
}
|
|
916
916
|
}
|
|
@@ -918,13 +918,13 @@ function Pi(i, t = {}) {
|
|
|
918
918
|
});
|
|
919
919
|
break;
|
|
920
920
|
}
|
|
921
|
-
case
|
|
921
|
+
case Ve: {
|
|
922
922
|
if (this.atrulePrelude !== null)
|
|
923
923
|
return this.skip;
|
|
924
924
|
K++;
|
|
925
925
|
let p = 1;
|
|
926
|
-
|
|
927
|
-
let { property: l, loc: { start: g } } =
|
|
926
|
+
wt.add(a(i)), ze.push(L - 1), kt.p(L - 1, i.loc), i.important === !0 && (J++, p++, this.atrule && O("keyframes", this.atrule.name) && (xe++, p++)), bt.push(p);
|
|
927
|
+
let { property: l, loc: { start: g } } = i, c = {
|
|
928
928
|
start: {
|
|
929
929
|
line: g.line,
|
|
930
930
|
column: g.column,
|
|
@@ -934,31 +934,31 @@ function Pi(i, t = {}) {
|
|
|
934
934
|
offset: g.offset + l.length
|
|
935
935
|
}
|
|
936
936
|
};
|
|
937
|
-
|
|
937
|
+
N.p(l, c), F(l) ? (_e.p(l, c), j.push(2)) : _i(l) ? (Se.p(l, c), j.push(2)) : Be(l) ? (X.p(l, c), j.push(i.important ? 3 : 2), i.important === !0 && Ce.p(l, c)) : j.push(1);
|
|
938
938
|
break;
|
|
939
939
|
}
|
|
940
940
|
}
|
|
941
|
-
(
|
|
941
|
+
(i.type === Me || i.type === Te) && L++;
|
|
942
942
|
},
|
|
943
|
-
leave(
|
|
944
|
-
(
|
|
943
|
+
leave(i) {
|
|
944
|
+
(i.type === Me || i.type === Te) && L--;
|
|
945
945
|
}
|
|
946
946
|
});
|
|
947
|
-
let
|
|
947
|
+
let At = wt.size, H = Z.size(), Re = ut.aggregate(), De = ct.aggregate(), Ee = ft.aggregate(), Pt = ot.size, d = Object.assign, Lt = r.length, Fe = se.length, Ot = re.aggregate(), Rt = Z.aggregate(), Dt = bt.aggregate(), Et = j.aggregate(), Ft = ve.aggregate(), Tt = Ye.c();
|
|
948
948
|
return {
|
|
949
949
|
stylesheet: {
|
|
950
|
-
sourceLinesOfCode:
|
|
951
|
-
linesOfCode:
|
|
952
|
-
size:
|
|
953
|
-
complexity:
|
|
950
|
+
sourceLinesOfCode: Tt.total + H + K + de.size(),
|
|
951
|
+
linesOfCode: Xt,
|
|
952
|
+
size: Lt,
|
|
953
|
+
complexity: Ot.sum + Rt.sum + Dt.sum + Et.sum + Ft.sum,
|
|
954
954
|
comments: {
|
|
955
955
|
total: k,
|
|
956
956
|
size: w
|
|
957
957
|
},
|
|
958
958
|
embeddedContent: {
|
|
959
959
|
size: {
|
|
960
|
-
total:
|
|
961
|
-
ratio: z(
|
|
960
|
+
total: _,
|
|
961
|
+
ratio: z(_, Lt)
|
|
962
962
|
},
|
|
963
963
|
types: {
|
|
964
964
|
total: b.total,
|
|
@@ -968,185 +968,191 @@ function Pi(i, t = {}) {
|
|
|
968
968
|
}
|
|
969
969
|
}
|
|
970
970
|
},
|
|
971
|
-
atrules:
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
971
|
+
atrules: d(
|
|
972
|
+
Tt,
|
|
973
|
+
{
|
|
974
|
+
fontface: d({
|
|
975
|
+
total: Fe,
|
|
976
|
+
totalUnique: Fe,
|
|
977
|
+
unique: se,
|
|
978
|
+
uniquenessRatio: Fe === 0 ? 0 : 1
|
|
979
|
+
}, e ? {
|
|
980
|
+
uniqueWithLocations: Ge.c().uniqueWithLocations
|
|
981
|
+
} : {}),
|
|
982
|
+
import: Qe.c(),
|
|
983
|
+
media: d(
|
|
984
|
+
Ze.c(),
|
|
985
|
+
{
|
|
986
|
+
browserhacks: Je.c(),
|
|
987
|
+
features: Xe.c()
|
|
988
|
+
}
|
|
989
|
+
),
|
|
990
|
+
charset: $e.c(),
|
|
991
|
+
supports: d(
|
|
992
|
+
ne.c(),
|
|
993
|
+
{
|
|
994
|
+
browserhacks: et.c()
|
|
995
|
+
}
|
|
996
|
+
),
|
|
997
|
+
keyframes: d(
|
|
998
|
+
ae.c(),
|
|
999
|
+
{
|
|
1000
|
+
prefixed: d(
|
|
1001
|
+
oe.c(),
|
|
1002
|
+
{
|
|
1003
|
+
ratio: z(oe.size(), ae.size())
|
|
1004
|
+
}
|
|
1005
|
+
)
|
|
1006
|
+
}
|
|
1007
|
+
),
|
|
1008
|
+
container: d(
|
|
1009
|
+
tt.c(),
|
|
1010
|
+
{
|
|
1011
|
+
names: Q.c()
|
|
1012
|
+
}
|
|
1013
|
+
),
|
|
1014
|
+
layer: le.c(),
|
|
1015
|
+
property: it.c(),
|
|
1016
|
+
complexity: Ot,
|
|
1017
|
+
nesting: d(
|
|
1018
|
+
ue.aggregate(),
|
|
1019
|
+
{
|
|
1020
|
+
items: ue.toArray()
|
|
1021
|
+
},
|
|
1022
|
+
rt.c()
|
|
1023
|
+
)
|
|
1024
|
+
}
|
|
1025
|
+
),
|
|
1023
1026
|
rules: {
|
|
1024
|
-
total:
|
|
1027
|
+
total: ce,
|
|
1025
1028
|
empty: {
|
|
1026
|
-
total:
|
|
1027
|
-
ratio: z(
|
|
1029
|
+
total: fe,
|
|
1030
|
+
ratio: z(fe, ce)
|
|
1028
1031
|
},
|
|
1029
1032
|
sizes: d(
|
|
1030
|
-
|
|
1033
|
+
pe.aggregate(),
|
|
1031
1034
|
{
|
|
1032
|
-
items:
|
|
1035
|
+
items: pe.toArray()
|
|
1033
1036
|
},
|
|
1034
|
-
|
|
1037
|
+
st.c()
|
|
1035
1038
|
),
|
|
1036
1039
|
nesting: d(
|
|
1037
|
-
|
|
1040
|
+
ge.aggregate(),
|
|
1038
1041
|
{
|
|
1039
|
-
items:
|
|
1040
|
-
}
|
|
1042
|
+
items: ge.toArray()
|
|
1043
|
+
},
|
|
1044
|
+
at.c()
|
|
1041
1045
|
),
|
|
1042
1046
|
selectors: d(
|
|
1043
|
-
|
|
1047
|
+
he.aggregate(),
|
|
1044
1048
|
{
|
|
1045
|
-
items:
|
|
1049
|
+
items: he.toArray()
|
|
1046
1050
|
},
|
|
1047
|
-
|
|
1051
|
+
lt.c()
|
|
1048
1052
|
),
|
|
1049
1053
|
declarations: d(
|
|
1050
|
-
|
|
1054
|
+
me.aggregate(),
|
|
1051
1055
|
{
|
|
1052
|
-
items:
|
|
1056
|
+
items: me.toArray()
|
|
1053
1057
|
},
|
|
1054
|
-
|
|
1058
|
+
nt.c()
|
|
1055
1059
|
)
|
|
1056
1060
|
},
|
|
1057
1061
|
selectors: {
|
|
1058
1062
|
total: H,
|
|
1059
|
-
totalUnique:
|
|
1060
|
-
uniquenessRatio: z(
|
|
1063
|
+
totalUnique: Pt,
|
|
1064
|
+
uniquenessRatio: z(Pt, H),
|
|
1061
1065
|
specificity: d(
|
|
1062
1066
|
{
|
|
1063
1067
|
/** @type Specificity */
|
|
1064
|
-
min:
|
|
1068
|
+
min: I === void 0 ? [0, 0, 0] : I,
|
|
1065
1069
|
/** @type Specificity */
|
|
1066
|
-
max:
|
|
1070
|
+
max: M === void 0 ? [0, 0, 0] : M,
|
|
1067
1071
|
/** @type Specificity */
|
|
1068
|
-
sum: [
|
|
1072
|
+
sum: [Re.sum, De.sum, Ee.sum],
|
|
1069
1073
|
/** @type Specificity */
|
|
1070
|
-
mean: [
|
|
1074
|
+
mean: [Re.mean, De.mean, Ee.mean],
|
|
1071
1075
|
/** @type Specificity */
|
|
1072
|
-
mode: [
|
|
1076
|
+
mode: [Re.mode, De.mode, Ee.mode],
|
|
1073
1077
|
/** @type Specificity */
|
|
1074
|
-
items:
|
|
1078
|
+
items: mt
|
|
1075
1079
|
},
|
|
1076
|
-
|
|
1080
|
+
pt.c()
|
|
1077
1081
|
),
|
|
1078
1082
|
complexity: d(
|
|
1079
|
-
|
|
1080
|
-
|
|
1083
|
+
Rt,
|
|
1084
|
+
ht.c(),
|
|
1081
1085
|
{
|
|
1082
1086
|
items: Z.toArray()
|
|
1083
1087
|
}
|
|
1084
1088
|
),
|
|
1085
1089
|
nesting: d(
|
|
1086
|
-
|
|
1090
|
+
ke.aggregate(),
|
|
1087
1091
|
{
|
|
1088
|
-
items:
|
|
1089
|
-
}
|
|
1092
|
+
items: ke.toArray()
|
|
1093
|
+
},
|
|
1094
|
+
yt.c()
|
|
1090
1095
|
),
|
|
1091
1096
|
id: d(
|
|
1092
|
-
|
|
1097
|
+
we.c(),
|
|
1093
1098
|
{
|
|
1094
|
-
ratio: z(
|
|
1099
|
+
ratio: z(we.size(), H)
|
|
1095
1100
|
}
|
|
1096
1101
|
),
|
|
1097
|
-
pseudoClasses:
|
|
1102
|
+
pseudoClasses: gt.c(),
|
|
1098
1103
|
accessibility: d(
|
|
1099
|
-
|
|
1104
|
+
be.c(),
|
|
1100
1105
|
{
|
|
1101
|
-
ratio: z(
|
|
1106
|
+
ratio: z(be.size(), H)
|
|
1102
1107
|
}
|
|
1103
1108
|
),
|
|
1104
|
-
keyframes:
|
|
1109
|
+
keyframes: de.c(),
|
|
1105
1110
|
prefixed: d(
|
|
1106
|
-
|
|
1111
|
+
ye.c(),
|
|
1107
1112
|
{
|
|
1108
|
-
ratio: z(
|
|
1113
|
+
ratio: z(ye.size(), H)
|
|
1109
1114
|
}
|
|
1110
1115
|
),
|
|
1111
|
-
combinators:
|
|
1116
|
+
combinators: dt.c()
|
|
1112
1117
|
},
|
|
1113
1118
|
declarations: {
|
|
1114
1119
|
total: K,
|
|
1115
|
-
totalUnique:
|
|
1116
|
-
uniquenessRatio: z(
|
|
1120
|
+
totalUnique: At,
|
|
1121
|
+
uniquenessRatio: z(At, K),
|
|
1117
1122
|
importants: {
|
|
1118
1123
|
total: J,
|
|
1119
1124
|
ratio: z(J, K),
|
|
1120
1125
|
inKeyframes: {
|
|
1121
|
-
total:
|
|
1122
|
-
ratio: z(
|
|
1126
|
+
total: xe,
|
|
1127
|
+
ratio: z(xe, J)
|
|
1123
1128
|
}
|
|
1124
1129
|
},
|
|
1125
|
-
complexity:
|
|
1130
|
+
complexity: Dt,
|
|
1126
1131
|
nesting: d(
|
|
1127
|
-
|
|
1132
|
+
ze.aggregate(),
|
|
1128
1133
|
{
|
|
1129
|
-
items:
|
|
1130
|
-
}
|
|
1134
|
+
items: ze.toArray()
|
|
1135
|
+
},
|
|
1136
|
+
kt.c()
|
|
1131
1137
|
)
|
|
1132
1138
|
},
|
|
1133
1139
|
properties: d(
|
|
1134
|
-
|
|
1140
|
+
N.c(),
|
|
1135
1141
|
{
|
|
1136
1142
|
prefixed: d(
|
|
1137
|
-
|
|
1143
|
+
_e.c(),
|
|
1138
1144
|
{
|
|
1139
|
-
ratio: z(
|
|
1145
|
+
ratio: z(_e.size(), N.size())
|
|
1140
1146
|
}
|
|
1141
1147
|
),
|
|
1142
1148
|
custom: d(
|
|
1143
1149
|
X.c(),
|
|
1144
1150
|
{
|
|
1145
|
-
ratio: z(X.size(),
|
|
1151
|
+
ratio: z(X.size(), N.size()),
|
|
1146
1152
|
importants: d(
|
|
1147
|
-
|
|
1153
|
+
Ce.c(),
|
|
1148
1154
|
{
|
|
1149
|
-
ratio: z(
|
|
1155
|
+
ratio: z(Ce.size(), X.size())
|
|
1150
1156
|
}
|
|
1151
1157
|
)
|
|
1152
1158
|
}
|
|
@@ -1154,57 +1160,57 @@ function Pi(i, t = {}) {
|
|
|
1154
1160
|
browserhacks: d(
|
|
1155
1161
|
Se.c(),
|
|
1156
1162
|
{
|
|
1157
|
-
ratio: z(Se.size(),
|
|
1163
|
+
ratio: z(Se.size(), N.size())
|
|
1158
1164
|
}
|
|
1159
1165
|
),
|
|
1160
|
-
complexity:
|
|
1166
|
+
complexity: Et
|
|
1161
1167
|
}
|
|
1162
1168
|
),
|
|
1163
1169
|
values: {
|
|
1164
1170
|
colors: d(
|
|
1165
|
-
|
|
1171
|
+
U.count(),
|
|
1166
1172
|
{
|
|
1167
|
-
formats:
|
|
1173
|
+
formats: V.c()
|
|
1168
1174
|
}
|
|
1169
1175
|
),
|
|
1170
|
-
gradients:
|
|
1171
|
-
fontFamilies:
|
|
1172
|
-
fontSizes:
|
|
1173
|
-
lineHeights:
|
|
1174
|
-
zindexes:
|
|
1175
|
-
textShadows:
|
|
1176
|
-
boxShadows:
|
|
1177
|
-
borderRadiuses:
|
|
1176
|
+
gradients: _t.c(),
|
|
1177
|
+
fontFamilies: Ae.c(),
|
|
1178
|
+
fontSizes: Pe.c(),
|
|
1179
|
+
lineHeights: Le.c(),
|
|
1180
|
+
zindexes: Ct.c(),
|
|
1181
|
+
textShadows: zt.c(),
|
|
1182
|
+
boxShadows: St.c(),
|
|
1183
|
+
borderRadiuses: vt.count(),
|
|
1178
1184
|
animations: {
|
|
1179
1185
|
durations: ee.c(),
|
|
1180
1186
|
timingFunctions: $.c()
|
|
1181
1187
|
},
|
|
1182
|
-
prefixes:
|
|
1183
|
-
browserhacks:
|
|
1184
|
-
units:
|
|
1185
|
-
complexity:
|
|
1186
|
-
keywords:
|
|
1187
|
-
resets:
|
|
1188
|
+
prefixes: xt.c(),
|
|
1189
|
+
browserhacks: qe.c(),
|
|
1190
|
+
units: Oe.count(),
|
|
1191
|
+
complexity: Ft,
|
|
1192
|
+
keywords: B.c(),
|
|
1193
|
+
resets: qt.c()
|
|
1188
1194
|
},
|
|
1189
1195
|
__meta__: {
|
|
1190
|
-
parseTime:
|
|
1191
|
-
analyzeTime: Date.now() -
|
|
1196
|
+
parseTime: T - P,
|
|
1197
|
+
analyzeTime: Date.now() - T,
|
|
1192
1198
|
total: Date.now() - n
|
|
1193
1199
|
}
|
|
1194
1200
|
};
|
|
1195
1201
|
}
|
|
1196
|
-
function
|
|
1197
|
-
return
|
|
1202
|
+
function Wt(r, t) {
|
|
1203
|
+
return r[0] === t[0] ? r[1] === t[1] ? t[2] - r[2] : t[1] - r[1] : t[0] - r[0];
|
|
1198
1204
|
}
|
|
1199
1205
|
export {
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1207
|
-
|
|
1208
|
-
|
|
1209
|
-
|
|
1206
|
+
Ei as analyze,
|
|
1207
|
+
Wt as compareSpecificity,
|
|
1208
|
+
F as hasVendorPrefix,
|
|
1209
|
+
Qt as isAccessibilitySelector,
|
|
1210
|
+
oi as isMediaBrowserhack,
|
|
1211
|
+
_i as isPropertyHack,
|
|
1212
|
+
ui as isSelectorPrefixed,
|
|
1213
|
+
ai as isSupportsBrowserhack,
|
|
1214
|
+
Jt as isValuePrefixed,
|
|
1215
|
+
Zt as selectorComplexity
|
|
1210
1216
|
};
|