Search code examples
javascriptconcatenationuglifyjs2

UglifyJS2 thows parse error (Unexpected token: name (Abide)) everytime


I try to use uglifyJS2 to concatenate all JavaScript files (from ZURB Foundation 6 including some custom ones) into one single file.

In an upcoming project I can't simply use ZURB's Yeti Launch application. So I plan to use both sass for scss files (works already) and uglifyjs2 for JavaScript files over command line.

Unfortunately I can't get uglifyjs2 to concatenate the scripts by fire the following command in command line:

uglifyjs foundation-sites/js/*.js -o foundation-stes/dist/foundation.min.js

It throws the following error even if I input only one single file (like foundation.abide.js):

Parse error at foundation-sites/js/foundation.abide.js:10,6 Unexpected token: name (Abide) Error at new JS_Parse_Error (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1526:18) at js_error (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:1534:11) at croak (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2026:9) at token_error (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2034:9) at unexpected (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2040:9) at semicolon (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2060:56) at simple_statement (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2240:73) at eval (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2113:19) at eval (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2073:24) at block_ (eval at <anonymous> (/usr/local/lib/node_modules/uglify-js/tools/node.js:22:1), <anonymous>:2353:20)

But if I write some basic scripts it works perfectly. Is there anything I'm doing wrong? Is anybody able to hive me a helpful hint?


Solution

  • You need to transform ES6 to ES5 before using uglifyjs. At the moment uglifyjs does not support ES6 syntax. You can use babel for it. See more https://babeljs.io/.