mishoo / UglifyJS

JavaScript parser / mangler / compressor / beautifier toolkit
http://lisperator.net/uglifyjs/
Other
13.15k stars 1.25k forks source link

error when obfuscating for() loop #5929

Closed OmlineEditor closed 1 month ago

OmlineEditor commented 1 month ago

Uglify online site: https://lisperator.net/uglifyjs/compress

JavaScript input

const fruits = ["Apple", "Banana", "Orange", "Mango", "Pineapple"];
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}

Parse error: Unexpected token name «i», expected punc «;»

bug

alexlamsl commented 1 month ago

That site is not running the latest version of uglify-js (Note the disclaimer at top of page 😉)

FWIW your code snipplet works fine on uglify-js@3.19.3:

$ cat test.js
const fruits = ["Apple", "Banana", "Orange", "Mango", "Pineapple"];
for (let i = 0; i < fruits.length; i++) {
    console.log(fruits[i]);
}
$ bin/uglifyjs -v
uglify-js 3.19.3
$ bin/uglifyjs test.js --compress --mangle
let fruits=["Apple","Banana","Orange","Mango","Pineapple"];for(let e=0;e<fruits.length;e++)console.log(fruits[e]);