Can´t get Ajax Minifier to work with THREE.js since r128

Hi there !

We use C# with AjaxMinifier 5.14.5506.26202 to combine and compress lists of .js files.
This worked fine for both THREE.js and THREE.min.js included.

Since few Versions (tested with r128 and r129) AjaxMinifer refuses to compress the list, if THREE.js is removed from the List, everything works fine again.

I played arround with the settings a lot, but I didn’t get it to work.
In my experience this could be related to specific ECMA 6 expressions the minifier does not understand correctly.

Which minifier is usually used to create THREE.min.js ? Or are there any intentions to get AjaxMinifier to work again.

The three.js and three.min.js build files contain ES6 syntax since r127.

Terser. Integrated as a rollup plugin.

javascript is a growing language, unusually it is the minifier that has to adapt. as far as i know there are only two feasible minifiers around, one is terser (i think it picked off where uglify left), the other is closure, which seems to be used rarely. i have never heard about ajaxminifier and looking over github the project has been abandoned so it probably has no chance understanding javascript as it is used to today.

Thanks for the answers !

AjaxMinifier understands ECMA6 but has rare problems with some specific statements for example key declarations through variable :

var obj = {[key]:value};

I dont know if Microsoft still supports AjaxMinifier last commits are 6 months old.
[edit] it´s not longer maintained

I´ll have a look into Terser, thanks for the info !

1 Like