[AEM 6.4.2] GCC JS Processor not working | Community
Skip to main content
December 4, 2018
Solved

[AEM 6.4.2] GCC JS Processor not working

  • December 4, 2018
  • 7 replies
  • 6811 views

Hello, everyone!

I'm trying to change the JS compiler from Yui to GCC (to use ES6 in our project), I have read the official document ( Change the minification engine for client libraries in AEM ), but for some reason the GCC is not working.

What we have tried:

This doesn't work.

  • Adding the jsProcessor inside the clientLibraryFolder like this:

<?xml version="1.0" encoding="UTF-8"?>

<jcr:root xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"

    jcr:primaryType="cq:ClientLibraryFolder"

    allowProxy="{Boolean}true"

    embed="[project.components]"

    categories="project.all"

    jsProcessor="[default:none,min:gcc;languageIn=ECMASCRIPT6]"/>

This doesn't work either.

If we turn it back to min:yui on the configMgr, it works again, but just minfies the ES5 functions, if we use arrow functions or let/const, it doesn't transform into ES5 (the main reason why we're changing to GCC).

Could you guys please help us?

Thank you!

This post is no longer active and is closed to new replies. Need help? Start a new post to ask your question.
Best answer by smacdonald2008

Cust Care found a ticket related to this and says this doc not valid for 6.4. I recommend opening a ticket so this can be dealt with.

7 replies

smacdonald2008
Level 10
December 4, 2018

I am checking with the team if this doc is still valid.

March 29, 2021
Was there any resolution on this? Im on 6.5 and it still does not work for me
smacdonald2008
smacdonald2008Accepted solution
Level 10
December 4, 2018

Cust Care found a ticket related to this and says this doc not valid for 6.4. I recommend opening a ticket so this can be dealt with.

December 5, 2018

Thank you for your time, Smacdonald!

I will do that.

Best regards,

October 18, 2019

Try with languageIn=ECMASCRIPT_2015

source: Flags and Options · google/closure-compiler Wiki · GitHub

Level 6
March 11, 2021
hi folks, On 6.5.5 I tried languageIn=ECMASCRIPT_2015 and it doesn't seem to work. Does it work for anyone ? thanks Fiona
Level 6
March 29, 2021

 

Hi there,

I set up an OSGI config file called com.adobe.granite.ui.clientlibs.impl.HtmlLibraryManagerImpl.xml with these contents and gcc seems to work o.k.
for JS with some caveats.
I still get some files failing minification because of "strict" errors which I couldn't seem to get around with configuration options in this file.
In the end, I had to fix the errors in the files to get the gcc to minimize them.


<
jcr:root xmlns:sling="http://sling.apache.org/jcr/sling/1.0" xmlns:jcr="http://www.jcp.org/jcr/1.0"
jcr:primaryType="sling:OsgiConfig"
htmllibmanager.disable.replacement="[]"
htmllibmanager.path.list="[/apps,/libs,/etc]"
htmllibmanager.maxDataUriSize="0"
htmllibmanager.useFileSystemOutputCache="{Boolean}true"
htmllibmanager.fileSystemOutputCacheLocation=""
htmllibmanager.timing="{Boolean}false"
htmllibmanager.clientmanager="granite.clientlibrarymanager"
htmllibmanager.maxage="-1"
htmllibmanager.debug="{Boolean}false"
htmllibmanager.forceCQUrlInfo="{Boolean}false"
htmllibmanager.processor.css="[min:yui]"
htmllibmanager.minify="{Boolean}true"
htmllibmanager.debug.init.js="window.CQ_initial_log_level\='INFO';"
htmllibmanager.excluded.path.list="[/etc/commerce/classifications,/etc/commerce/collections,/etc/commerce/payment-methods,/etc/commerce/products,/etc/commerce/shipping-methods,/etc/reports/auditreport,/etc/reports/compreport,/etc/segmentation,/etc/taskmanagement,/etc/workflow/instances]"
htmllibmanager.defaultthemename="default"
htmllibmanager.defaultuserthemename="default"
htmllibmanager.processor.js="[min:gcc;languageIn\=ECMASCRIPT_2015]"
htmllibmanager.gzip="{Boolean}true"
htmllibmanager.longcache.patterns="[]"
htmllibmanager.longcache.format="lc-%s-lc"
/>

 

 

It might be that some of files are minifying for you and others aren't.

Also, it might be worth clearing the clientlibs caches in AEM as described here, so you get a fresh view of them.

https://docs.adobe.com/content/help/en/experience-manager-65/developing/introduction/clientlibs.html

 

 

 

November 22, 2021

After 2 months looking for the solution, this worked for me:

 

min:gcc;languageIn=ECMASCRIPT_2016;languageOut=ECMASCRIPT_2016;compilationLevel=simple;obfuscate=true

 

Don't put "default:none", this was the reason Gcc wasn't working