Skip to content

Commit 5f267fe

Browse files
committed
minify 0% #14
1 parent 213b1f8 commit 5f267fe

File tree

8 files changed

+13488
-14
lines changed

8 files changed

+13488
-14
lines changed

dist/index-umd-web.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -772,7 +772,8 @@
772772
}
773773
return val + unit;
774774
case 'Perc':
775-
return token.val + '%';
775+
const perc = reduceNumber(token.val);
776+
return options.minify && perc == '0' ? '0' : perc + '%';
776777
case 'Number':
777778
return reduceNumber(token.val);
778779
case 'Comment':
@@ -2820,7 +2821,7 @@
28202821
if (delim.typ == 'Block-start') {
28212822
const position = map.get(tokens[0]);
28222823
const uniq = new Map;
2823-
parseTokens(tokens, { minify: options.minify }).reduce((acc, curr, index, array) => {
2824+
parseTokens(tokens, { minify: true }).reduce((acc, curr, index, array) => {
28242825
if (curr.typ == 'Whitespace') {
28252826
if (trimWhiteSpace.includes(array[index - 1]?.typ) ||
28262827
trimWhiteSpace.includes(array[index + 1]?.typ) ||
@@ -2829,7 +2830,7 @@
28292830
return acc;
28302831
}
28312832
}
2832-
let t = renderToken(curr, { minify: true });
2833+
let t = renderToken(curr, { minify: false });
28332834
if (t == ',') {
28342835
acc.push([]);
28352836
}

dist/index.cjs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -770,7 +770,8 @@ function renderToken(token, options = {}, reducer, errors) {
770770
}
771771
return val + unit;
772772
case 'Perc':
773-
return token.val + '%';
773+
const perc = reduceNumber(token.val);
774+
return options.minify && perc == '0' ? '0' : perc + '%';
774775
case 'Number':
775776
return reduceNumber(token.val);
776777
case 'Comment':
@@ -2818,7 +2819,7 @@ async function parse$1(iterator, opt = {}) {
28182819
if (delim.typ == 'Block-start') {
28192820
const position = map.get(tokens[0]);
28202821
const uniq = new Map;
2821-
parseTokens(tokens, { minify: options.minify }).reduce((acc, curr, index, array) => {
2822+
parseTokens(tokens, { minify: true }).reduce((acc, curr, index, array) => {
28222823
if (curr.typ == 'Whitespace') {
28232824
if (trimWhiteSpace.includes(array[index - 1]?.typ) ||
28242825
trimWhiteSpace.includes(array[index + 1]?.typ) ||
@@ -2827,7 +2828,7 @@ async function parse$1(iterator, opt = {}) {
28272828
return acc;
28282829
}
28292830
}
2830-
let t = renderToken(curr, { minify: true });
2831+
let t = renderToken(curr, { minify: false });
28312832
if (t == ',') {
28322833
acc.push([]);
28332834
}

dist/lib/parser/parse.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ async function parse(iterator, opt = {}) {
204204
if (delim.typ == 'Block-start') {
205205
const position = map.get(tokens[0]);
206206
const uniq = new Map;
207-
parseTokens(tokens, { minify: options.minify }).reduce((acc, curr, index, array) => {
207+
parseTokens(tokens, { minify: true }).reduce((acc, curr, index, array) => {
208208
if (curr.typ == 'Whitespace') {
209209
if (trimWhiteSpace.includes(array[index - 1]?.typ) ||
210210
trimWhiteSpace.includes(array[index + 1]?.typ) ||
@@ -213,7 +213,7 @@ async function parse(iterator, opt = {}) {
213213
return acc;
214214
}
215215
}
216-
let t = renderToken(curr, { minify: true });
216+
let t = renderToken(curr, { minify: false });
217217
if (t == ',') {
218218
acc.push([]);
219219
}

dist/lib/renderer/render.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,8 @@ function renderToken(token, options = {}, reducer, errors) {
276276
}
277277
return val + unit;
278278
case 'Perc':
279-
return token.val + '%';
279+
const perc = reduceNumber(token.val);
280+
return options.minify && perc == '0' ? '0' : perc + '%';
280281
case 'Number':
281282
return reduceNumber(token.val);
282283
case 'Comment':

src/lib/ast/walk.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ export function* walk(node: AstNode, parent?: AstRuleList, root?: AstRuleList):
1212

1313
for (const child of <Array<AstNode>>node.chi) {
1414

15-
yield* walk(<AstNode>child, <AstRuleList>node, <AstRuleList>(root ?? node))
15+
yield* walk(<AstNode>child, <AstRuleList>node, <AstRuleList>(root ?? node));
1616
}
1717
}
1818
}

src/lib/parser/parse.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ export async function parse(iterator: string, opt: ParserOptions = {}): Promise<
284284
const position: Position = <Position>map.get(tokens[0]);
285285

286286
const uniq = new Map<string, string[]>;
287-
parseTokens(tokens, {minify: options.minify}).reduce((acc: string[][], curr: Token, index: number, array: Token[]) => {
287+
parseTokens(tokens, {minify: true}).reduce((acc: string[][], curr: Token, index: number, array: Token[]) => {
288288

289289
if (curr.typ == 'Whitespace') {
290290

@@ -298,7 +298,7 @@ export async function parse(iterator: string, opt: ParserOptions = {}): Promise<
298298
}
299299
}
300300

301-
let t = renderToken(curr, {minify: true});
301+
let t = renderToken(curr, {minify: false});
302302
if (t == ',') {
303303
acc.push([]);
304304
} else {

src/lib/renderer/render.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,8 @@ export function renderToken(token: Token, options: RenderOptions = {}, reducer?:
437437

438438
case 'Perc':
439439

440-
return token.val + '%';
440+
const perc = reduceNumber(token.val);
441+
return options.minify && perc == '0' ? '0' : perc + '%';
441442

442443
case 'Number':
443444

test/files/css/bootstrap.css

Lines changed: 13471 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)