How to use a different minification library for AEM client libraries than the default YUI Compressor library?
In AEM, you can swap out yui engine with GCC (Google Closure Compiler https://github.com/google/closure-compiler-js).
For example, see these client library nodes that use GCC for js:
/libs/granite/contexthub/dependencies/coralui /etc/clientlibs/granite/coralui3 /etc/clientlibs/granite/coralui2 /libs/dam/gui/coral/components/admin/adhocassetshare/clientlibs/adhocassetshare /libs/dam/gui/components/admin/adhocassetshare/clientlibs/shareembedded /etc/clientlibs/screens/player/shared /etc/clientlibs/screens/player/firmware /libs/dam/gui/components/admin/adhocassetshare/clientlibs/shareembeddedpreview /apps/geometrixx-instore/clientlibs
Note: If you want to implement your own custom script processor, then you would implement this java interface:
This allows you to define ScriptProcessors that can modify script sources:
the processors are configurable with options
the processor can be used for minification, but also for non-minified cases
OPTIONS FOR GCC ARE:
failOnWarning (defaults to “false”)
languageIn (defaults to “ECMASCRIPT5”)
languageOut (defaults to “ECMASCRIPT5”)
compilationLevel (defaults to “simple”) (can be “whitespace”, “simple”, “advanced”)