Skip to content

Commit 342a7b7

Browse files
fix(minifier): pad after define arguments
1 parent 5ba6897 commit 342a7b7

File tree

2 files changed

+20
-5
lines changed

2 files changed

+20
-5
lines changed

src/minifier.ts

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,8 +54,23 @@ export function minify(
5454
isSymbol(token.value) &&
5555
((tokens[i - 2]?.value === '#' && tokens[i - 1]?.value === 'include') ||
5656
(tokens[i - 3]?.value === '#' && tokens[i - 2]?.value === 'define'))
57-
)
58-
minified += ' '
57+
) {
58+
// Move padding after #define arguments
59+
if (token.value === '(') {
60+
while (i < tokens.length) {
61+
const next = tokens[i++]
62+
minified += next.value
63+
64+
if (next.value === ')') break
65+
}
66+
67+
minified += ' ' + tokens[i].value
68+
69+
continue
70+
} else {
71+
minified += ' '
72+
}
73+
}
5974

6075
let prefix = token.value
6176
if (tokens[i - 1]?.value === '.') {

tests/__snapshots__/index.test.ts.snap

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
exports[`minify > can mangle GLSL 1`] = `
44
"#version 300 es
55
precision mediump float;
6-
#define a (n)n+=1
6+
#define a(n) n+=1
77
#define b
88
#if defined(b)
99
const bool c=true;
@@ -33,7 +33,7 @@ Map {
3333
exports[`minify > can mangle externals in GLSL 1`] = `
3434
"#version 300 es
3535
precision mediump float;
36-
#define a (n)n+=1
36+
#define a(n) n+=1
3737
#define b
3838
#if defined(b)
3939
const bool c=true;
@@ -91,7 +91,7 @@ Map {
9191
exports[`minify > can minify GLSL 1`] = `
9292
"#version 300 es
9393
precision mediump float;
94-
#define PLUS (n)n+=1
94+
#define PLUS(n) n+=1
9595
#define TEST
9696
#if defined(TEST)
9797
const bool isTest=true;

0 commit comments

Comments
 (0)