@projectwallace/format-css 2.2.1 → 2.2.3

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.
Files changed (2) hide show
  1. package/dist/format-css.js +134 -120
  2. package/package.json +2 -2
@@ -1,64 +1,77 @@
1
- import { parse as X, NODE_TYPES as l, ATTR_FLAG_CASE_INSENSITIVE as z, ATTR_FLAG_CASE_SENSITIVE as tt, ATTR_OPERATOR_EQUAL as et, ATTR_OPERATOR_STAR_EQUAL as rt, ATTR_OPERATOR_DOLLAR_EQUAL as st, ATTR_OPERATOR_CARET_EQUAL as it, ATTR_OPERATOR_PIPE_EQUAL as lt, ATTR_OPERATOR_TILDE_EQUAL as nt } from "@projectwallace/css-parser";
2
- const f = " ", c = "", k = ":", b = ";", $ = '"', P = "(", N = ")", ut = "[", ct = "]", w = "{", g = "}", D = ",";
3
- function pt(R, { minify: O = !1, tab_size: L = void 0 } = /* @__PURE__ */ Object.create(null)) {
1
+ import { parse as X, NODE_TYPES as u, ATTR_FLAG_CASE_INSENSITIVE as z, ATTR_FLAG_CASE_SENSITIVE as tt, ATTR_OPERATOR_EQUAL as et, ATTR_OPERATOR_STAR_EQUAL as rt, ATTR_OPERATOR_DOLLAR_EQUAL as st, ATTR_OPERATOR_CARET_EQUAL as it, ATTR_OPERATOR_PIPE_EQUAL as lt, ATTR_OPERATOR_TILDE_EQUAL as nt } from "@projectwallace/css-parser";
2
+ const _ = " ", p = "", k = ":", b = ";", w = '"', P = "(", N = ")", ut = "[", pt = "]", d = "{", g = "}", D = ",";
3
+ function ct(R, { minify: O = !1, tab_size: L = void 0 } = /* @__PURE__ */ Object.create(null)) {
4
4
  if (L !== void 0 && Number(L) < 1)
5
5
  throw new TypeError("tab_size must be a number greater than 0");
6
- const E = O ? c : `
7
- `, p = O ? c : f, M = O ? c : b;
8
- let A = [], d = X(R, {
6
+ const E = O ? p : `
7
+ `, c = O ? p : _, M = O ? p : b;
8
+ let A = [], Q = X(R, {
9
9
  on_comment: ({ start: t, end: e }) => {
10
10
  A.push(t, e);
11
11
  }
12
12
  }), a = 0;
13
13
  function o(t) {
14
- return O === !0 ? c : L !== void 0 ? f.repeat(L * t) : " ".repeat(t);
14
+ return O === !0 ? p : L !== void 0 ? _.repeat(L * t) : " ".repeat(t);
15
15
  }
16
- function _(t, e, r = a) {
16
+ function f(t, e, s = a) {
17
17
  if (O || t === void 0 || e === void 0)
18
- return c;
19
- let s = c;
20
- for (let i = 0; i < A.length; i += 2) {
21
- let n = A[i];
22
- if (n === void 0 || n < t) continue;
23
- let u = A[i + 1];
24
- if (u === void 0 || u > e) break;
25
- s.length > 0 && (s += E + o(r)), s += R.slice(n, u);
18
+ return p;
19
+ let r = p;
20
+ for (let l = 0; l < A.length; l += 2) {
21
+ let i = A[l];
22
+ if (i === void 0 || i < t) continue;
23
+ let n = A[l + 1];
24
+ if (n === void 0 || n > e) break;
25
+ r.length > 0 && (r += E + o(s)), r += R.slice(i, n);
26
26
  }
27
- return s;
27
+ return r;
28
28
  }
29
- function Q(t) {
30
- return t.replace(/(?:^['"])|(?:['"]$)/g, c);
29
+ function I(t) {
30
+ return t.replace(/(?:^['"])|(?:['"]$)/g, p);
31
31
  }
32
- function m(t) {
33
- return t = (t == null ? void 0 : t.toString()) || "", $ + Q(t) + $;
32
+ function S(t) {
33
+ return t = (t == null ? void 0 : t.toString()) || "", w + I(t) + w;
34
34
  }
35
35
  function B(t) {
36
- let e = [], r = t.text, s = r.charCodeAt(0);
37
- return s === 43 || s === 45 ? e.push(f) : s !== 44 && e.push(p), e.push(r), s === 43 || s === 45 ? e.push(f) : e.push(p), e.join(c);
36
+ let e = [], s = t.text, r = s.charCodeAt(0);
37
+ return r === 43 || r === 45 ? e.push(_) : r !== 44 && e.push(c), e.push(s), r === 43 || r === 45 ? e.push(_) : e.push(c), e.join(p);
38
38
  }
39
- function S(t) {
40
- var r, s;
39
+ function m(t) {
40
+ var s, r, l;
41
41
  let e = [];
42
42
  for (let i of t) {
43
- if (i.type === l.FUNCTION) {
44
- let n = i.name.toLowerCase();
45
- e.push(n, P), e.push(S(i.children)), e.push(N);
46
- } else i.type === l.DIMENSION ? e.push(i.value, (r = i.unit) == null ? void 0 : r.toLowerCase()) : i.type === l.STRING ? e.push(m(i.text)) : i.type === l.OPERATOR ? e.push(B(i)) : i.type === l.PARENTHESIS ? e.push(P, S(i.children), N) : i.type === l.URL && typeof i.value == "string" ? (e.push("url("), e.push(m(i.value)), e.push(N)) : e.push(i.text);
47
- i.type !== l.OPERATOR && i.has_next && ((s = i.next_sibling) == null ? void 0 : s.type) !== l.OPERATOR && e.push(f);
43
+ if (i.type === u.FUNCTION) {
44
+ let n = (s = i.name) == null ? void 0 : s.toLowerCase();
45
+ e.push(n, P), e.push(m(i.children)), e.push(N);
46
+ } else if (i.type === u.DIMENSION)
47
+ e.push(i.value, (r = i.unit) == null ? void 0 : r.toLowerCase());
48
+ else if (i.type === u.STRING)
49
+ e.push(S(i.text));
50
+ else if (i.type === u.OPERATOR)
51
+ e.push(B(i));
52
+ else if (i.type === u.PARENTHESIS)
53
+ e.push(P, m(i.children), N);
54
+ else if (i.type === u.URL && typeof i.value == "string") {
55
+ e.push("url(");
56
+ let { value: n } = i;
57
+ /^['"]?data:/i.test(n) ? e.push(I(n)) : e.push(S(n)), e.push(N);
58
+ } else
59
+ e.push(i.text);
60
+ i.type !== u.OPERATOR && i.has_next && ((l = i.next_sibling) == null ? void 0 : l.type) !== u.OPERATOR && e.push(_);
48
61
  }
49
- return e.join(c);
62
+ return e.join(p);
50
63
  }
51
64
  function H(t) {
52
- return t === null ? c : S(t);
65
+ return t === null ? p : m(t);
53
66
  }
54
67
  function F(t) {
55
68
  let e = [];
56
69
  if (t.is_important) {
57
- let i = t.text, n = i.endsWith(b), u = i.lastIndexOf("!"), T = n ? -1 : void 0;
58
- e.push(p, i.slice(u, T).toLowerCase());
70
+ let l = t.text, i = l.endsWith(b), n = l.lastIndexOf("!"), T = i ? -1 : void 0;
71
+ e.push(c, l.slice(n, T).toLowerCase());
59
72
  }
60
- let r = H(t.value), s = t.property;
61
- return s === "font" && (r = r.replace(/\s*\/\s*/, "/")), r === c && O === !0 && (r += f), s.startsWith("--") || (s = s.toLowerCase()), s + k + p + r + e.join(c);
73
+ let s = H(t.value), r = t.property;
74
+ return r === "font" && (s = s.replace(/\s*\/\s*/, "/")), s === p && O === !0 && (s += _), r.startsWith("--") || (r = r.toLowerCase()), r + k + c + s + e.join(p);
62
75
  }
63
76
  function G(t) {
64
77
  switch (t) {
@@ -77,142 +90,143 @@ function pt(R, { minify: O = !1, tab_size: L = void 0 } = /* @__PURE__ */ Object
77
90
  return "=";
78
91
  }
79
92
  }
80
- function I(t) {
81
- let e = [], r = t.nth_a, s = t.nth_b;
82
- return r && e.push(r), r && s && e.push(p), s && (r && !s.startsWith("-") && e.push("+", p), e.push(parseFloat(s))), e.join(c);
93
+ function v(t) {
94
+ let e = [], s = t.nth_a, r = t.nth_b;
95
+ return s && e.push(s), s && r && e.push(c), r && (s && !r.startsWith("-") && e.push("+", c), e.push(parseFloat(r))), e.join(p);
83
96
  }
84
97
  function Y(t) {
85
- var r, s;
98
+ var s, r;
86
99
  let e = [];
87
- return ((r = t.children[0]) == null ? void 0 : r.type) === l.NTH_SELECTOR && (e.push(I(t.children[0])), e.push(f, "of", f)), ((s = t.children[1]) == null ? void 0 : s.type) === l.SELECTOR_LIST && e.push(y(t.children[1])), e.join(c);
100
+ return ((s = t.children[0]) == null ? void 0 : s.type) === u.NTH_SELECTOR && (e.push(v(t.children[0])), e.push(_, "of", _)), ((r = t.children[1]) == null ? void 0 : r.type) === u.SELECTOR_LIST && e.push(y(t.children[1])), e.join(p);
88
101
  }
89
102
  function W(t, e = !1) {
103
+ let s = t.name ?? "";
90
104
  switch (t.type) {
91
- case l.TYPE_SELECTOR:
92
- return t.name.toLowerCase();
93
- case l.COMBINATOR: {
105
+ case u.TYPE_SELECTOR:
106
+ return s.toLowerCase() ?? "";
107
+ case u.COMBINATOR: {
94
108
  let r = t.text;
95
- return /^\s+$/.test(r) ? f : (e ? c : p) + r + p;
109
+ return /^\s+$/.test(r) ? _ : (e ? p : c) + r + c;
96
110
  }
97
- case l.PSEUDO_ELEMENT_SELECTOR:
98
- case l.PSEUDO_CLASS_SELECTOR: {
99
- let r = [k], s = t.name.toLowerCase();
100
- return (s === "before" || s === "after" || t.type === l.PSEUDO_ELEMENT_SELECTOR) && r.push(k), r.push(s), t.has_children && (r.push(P), t.children.length > 0 && (s === "highlight" ? r.push(S(t.children)) : r.push(y(t))), r.push(N)), r.join(c);
111
+ case u.PSEUDO_ELEMENT_SELECTOR:
112
+ case u.PSEUDO_CLASS_SELECTOR: {
113
+ let r = [k];
114
+ return s = s.toLowerCase(), (s === "before" || s === "after" || t.type === u.PSEUDO_ELEMENT_SELECTOR) && r.push(k), r.push(s), t.has_children && (r.push(P), t.children.length > 0 && (s === "highlight" ? r.push(m(t.children)) : r.push(y(t))), r.push(N)), r.join(p);
101
115
  }
102
- case l.ATTRIBUTE_SELECTOR: {
103
- let r = [ut, t.name.toLowerCase()];
104
- return t.attr_operator && (r.push(G(t.attr_operator)), typeof t.value == "string" && r.push(m(t.value)), t.attr_flags === z ? r.push(f, "i") : t.attr_flags === tt && r.push(f, "s")), r.push(ct), r.join(c);
116
+ case u.ATTRIBUTE_SELECTOR: {
117
+ let r = [ut, s.toLowerCase()];
118
+ return t.attr_operator && (r.push(G(t.attr_operator)), typeof t.value == "string" && r.push(S(t.value)), t.attr_flags === z ? r.push(_, "i") : t.attr_flags === tt && r.push(_, "s")), r.push(pt), r.join(p);
105
119
  }
106
120
  default:
107
121
  return t.text;
108
122
  }
109
123
  }
110
- function v(t) {
111
- if (t.type === l.NTH_SELECTOR)
112
- return I(t);
113
- if (t.type === l.NTH_OF_SELECTOR)
124
+ function x(t) {
125
+ if (t.type === u.NTH_SELECTOR)
126
+ return v(t);
127
+ if (t.type === u.NTH_OF_SELECTOR)
114
128
  return Y(t);
115
- if (t.type === l.SELECTOR_LIST)
129
+ if (t.type === u.SELECTOR_LIST)
116
130
  return y(t);
117
- if (t.type === l.LANG_SELECTOR)
118
- return m(t.text);
131
+ if (t.type === u.LANG_SELECTOR)
132
+ return S(t.text);
119
133
  let e = [];
120
- return t.children.forEach((r, s) => {
121
- const i = W(r, s === 0);
122
- e.push(i);
123
- }), e.join(c);
134
+ return t.children.forEach((s, r) => {
135
+ const l = W(s, r === 0);
136
+ e.push(l);
137
+ }), e.join(p);
124
138
  }
125
139
  function y(t) {
126
140
  let e = [];
127
- for (let r of t)
128
- e.push(v(r)), r.has_next && e.push(D, p);
129
- return e.join(c);
141
+ for (let s of t)
142
+ e.push(x(s)), s.has_next && e.push(D, c);
143
+ return e.join(p);
130
144
  }
131
145
  function K(t) {
132
- let e = [], r;
133
- for (let s of t) {
134
- if (r !== void 0) {
135
- let n = _(r, s.start);
136
- n && e.push(o(a) + n);
146
+ let e = [], s;
147
+ for (let r of t) {
148
+ if (s !== void 0) {
149
+ let i = f(s, r.start);
150
+ i && e.push(o(a) + i);
137
151
  }
138
- let i = v(s);
139
- s.has_next && (i += D), e.push(o(a) + i), r = s.end;
152
+ let l = x(r);
153
+ r.has_next && (l += D), e.push(o(a) + l), s = r.end;
140
154
  }
141
155
  return e.join(E);
142
156
  }
143
- function x(t) {
157
+ function j(t) {
144
158
  var T;
145
159
  let e = [];
146
160
  a++;
147
- let r = t.children;
148
- if (r.length === 0) {
149
- let h = _(t.start, t.end);
161
+ let s = t.children;
162
+ if (s.length === 0) {
163
+ let h = f(t.start, t.end);
150
164
  if (h)
151
165
  return e.push(o(a) + h), a--, e.push(o(a) + g), e.join(E);
152
166
  }
153
- let s = r[0], i = _(t.start, s == null ? void 0 : s.start);
154
- i && e.push(o(a) + i);
155
- let n;
156
- for (let h of r) {
157
- if (n !== void 0) {
158
- let C = _(n, h.start);
167
+ let r = s[0], l = f(t.start, r == null ? void 0 : r.start);
168
+ l && e.push(o(a) + l);
169
+ let i;
170
+ for (let h of s) {
171
+ if (i !== void 0) {
172
+ let C = f(i, h.start);
159
173
  C && e.push(o(a) + C);
160
174
  }
161
- let Z = ((T = h.next_sibling) == null ? void 0 : T.type) !== l.DECLARATION;
162
- if (h.type === l.DECLARATION) {
175
+ let Z = ((T = h.next_sibling) == null ? void 0 : T.type) !== u.DECLARATION;
176
+ if (h.type === u.DECLARATION) {
163
177
  let C = F(h), J = Z ? M : b;
164
178
  e.push(o(a) + C + J);
165
- } else h.type === l.STYLE_RULE ? (n !== void 0 && e.length !== 0 && e.push(c), e.push(j(h))) : h.type === l.AT_RULE && (n !== void 0 && e.length !== 0 && e.push(c), e.push(o(a) + U(h)));
166
- n = h.end;
179
+ } else h.type === u.STYLE_RULE ? (i !== void 0 && e.length !== 0 && e.push(p), e.push(U(h))) : h.type === u.AT_RULE && (i !== void 0 && e.length !== 0 && e.push(p), e.push(o(a) + $(h)));
180
+ i = h.end;
167
181
  }
168
- let u = _(n, t.end);
169
- return u && e.push(o(a) + u), a--, e.push(o(a) + g), e.join(E);
182
+ let n = f(i, t.end);
183
+ return n && e.push(o(a) + n), a--, e.push(o(a) + g), e.join(E);
170
184
  }
171
- function j(t) {
172
- var r, s;
185
+ function U(t) {
186
+ var s, r;
173
187
  let e = [];
174
- if (((r = t.first_child) == null ? void 0 : r.type) === l.SELECTOR_LIST) {
175
- let i = K(t.first_child), n = _(t.first_child.end, (s = t.block) == null ? void 0 : s.start);
176
- n && (i += E + o(a) + n), i += p + w, t.block && (t.block.has_children || _(t.block.start, t.block.end)) || (i += g), e.push(i);
188
+ if (((s = t.first_child) == null ? void 0 : s.type) === u.SELECTOR_LIST) {
189
+ let l = K(t.first_child), i = f(t.first_child.end, (r = t.block) == null ? void 0 : r.start);
190
+ i && (l += E + o(a) + i), l += c + d, t.block && (t.block.has_children || f(t.block.start, t.block.end)) || (l += g), e.push(l);
177
191
  }
178
- return t.block && (t.block.has_children || _(t.block.start, t.block.end)) && e.push(x(t.block)), e.join(E);
192
+ return t.block && (t.block.has_children || f(t.block.start, t.block.end)) && e.push(j(t.block)), e.join(E);
179
193
  }
180
194
  function V(t) {
181
- return t.replace(/\s*([:,])/g, t.toLowerCase().includes("selector(") ? "$1" : "$1 ").replace(/\)([a-zA-Z])/g, ") $1").replace(/\s*(=>|<=)\s*/g, " $1 ").replace(/([^<>=\s])([<>])([^<>=\s])/g, `$1${p}$2${p}$3`).replace(/\s+/g, p).replace(/calc\(\s*([^()+\-*/]+)\s*([*/+-])\s*([^()+\-*/]+)\s*\)/g, (e, r, s, i) => {
182
- let n = s === "+" || s === "-" ? f : p;
183
- return `calc(${r.trim()}${n}${s}${n}${i.trim()})`;
195
+ return t.replace(/\s*([:,])/g, t.toLowerCase().includes("selector(") ? "$1" : "$1 ").replace(/\)([a-zA-Z])/g, ") $1").replace(/\s*(=>|<=)\s*/g, " $1 ").replace(/([^<>=\s])([<>])([^<>=\s])/g, `$1${c}$2${c}$3`).replace(/\s+/g, c).replace(/calc\(\s*([^()+\-*/]+)\s*([*/+-])\s*([^()+\-*/]+)\s*\)/g, (e, s, r, l) => {
196
+ let i = r === "+" || r === "-" ? _ : c;
197
+ return `calc(${s.trim()}${i}${r}${i}${l.trim()})`;
184
198
  }).replace(/selector|url|supports|layer\(/gi, (e) => e.toLowerCase());
185
199
  }
186
- function U(t) {
187
- let e = [], r = ["@", t.name.toLowerCase()];
188
- return t.prelude && r.push(f, V(t.prelude.text)), t.block === null ? r.push(b) : (r.push(p, w), !t.block.is_empty || _(t.block.start, t.block.end) || r.push(g)), e.push(r.join(c)), t.block !== null && (!t.block.is_empty || _(t.block.start, t.block.end)) && e.push(x(t.block)), e.join(E);
200
+ function $(t) {
201
+ let e = [], s = ["@", t.name.toLowerCase()];
202
+ return t.prelude && s.push(_, V(t.prelude.text)), t.block === null ? s.push(b) : (s.push(c, d), !t.block.is_empty || f(t.block.start, t.block.end) || s.push(g)), e.push(s.join(p)), t.block !== null && (!t.block.is_empty || f(t.block.start, t.block.end)) && e.push(j(t.block)), e.join(E);
189
203
  }
190
204
  function q(t) {
191
- let e = [], r = t.children;
192
- if (r.length === 0)
193
- return _(0, t.end, 0);
194
- let s = r[0];
195
- if (s) {
196
- let u = _(0, s.start, 0);
197
- u && e.push(u);
205
+ let e = [], s = t.children;
206
+ if (s.length === 0)
207
+ return f(0, t.end, 0);
208
+ let r = s[0];
209
+ if (r) {
210
+ let n = f(0, r.start, 0);
211
+ n && e.push(n);
198
212
  }
199
- let i;
200
- for (let u of t) {
201
- if (i !== void 0) {
202
- let T = _(i, u.start, 0);
213
+ let l;
214
+ for (let n of t) {
215
+ if (l !== void 0) {
216
+ let T = f(l, n.start, 0);
203
217
  T && e.push(T);
204
218
  }
205
- u.type === l.STYLE_RULE ? e.push(j(u)) : u.type === l.AT_RULE && e.push(U(u)), i = u.end, u.has_next && (u.next_sibling && _(u.end, u.next_sibling.start, 0) || e.push(c));
219
+ n.type === u.STYLE_RULE ? e.push(U(n)) : n.type === u.AT_RULE && e.push($(n)), l = n.end, n.has_next && (n.next_sibling && f(n.end, n.next_sibling.start, 0) || e.push(p));
206
220
  }
207
- let n = _(i, t.end, 0);
208
- return n && e.push(n), e.join(E);
221
+ let i = f(l, t.end, 0);
222
+ return i && e.push(i), e.join(E);
209
223
  }
210
- return q(d).trimEnd();
224
+ return q(Q).trimEnd();
211
225
  }
212
- function _t(R) {
213
- return pt(R, { minify: !0 });
226
+ function ft(R) {
227
+ return ct(R, { minify: !0 });
214
228
  }
215
229
  export {
216
- pt as format,
217
- _t as minify
230
+ ct as format,
231
+ ft as minify
218
232
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@projectwallace/format-css",
3
- "version": "2.2.1",
3
+ "version": "2.2.3",
4
4
  "description": "Fast, small, zero-config library to format or minify CSS with basic rules.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -60,6 +60,6 @@
60
60
  "singleQuote": true
61
61
  },
62
62
  "dependencies": {
63
- "@projectwallace/css-parser": "^0.12.3"
63
+ "@projectwallace/css-parser": "^0.13.0"
64
64
  }
65
65
  }