using es6 function not working after the minify | Community
Skip to main content
Level 2
June 8, 2022

using es6 function not working after the minify

  • June 8, 2022
  • 5 replies
  • 2476 views

Hello guys,

 

I have an issue regarding using ES6 functions which is after minifying the JS, it seems it doesn't support it. Any input is appreciated. Thank you ! 

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

5 replies

SantoshSai
Community Advisor
Community Advisor
June 8, 2022
milind_bachani
Adobe Employee
Adobe Employee
June 8, 2022

Hi @aemstarternewbie ,

 

Are you generating a webpack sorta js and adding the same to the clientlibs and post that the code is not working fine?

You can override the default aem minification by adding following property in ClientLibraryFolder:

jsProcessor="[default:none,min:none]"


Let me know if that doesnt help or there is a gap in my understanding.

Thanks,

Milind 

Anmol_Bhardwaj
Community Advisor
Community Advisor
June 10, 2022

Yes, I have run into the same issue, minification to ES6 scripts & functions is coming up with a blank file.

As @milind_bachani  suggested, you can either turn off minification through js:Processor property. 

A drawback with that would be, your code would be AS-IS and unminified which can be acessed through the dev console of browsers.

To solve this issue, you can place your script in the ui.frontend module and build it through webpack. Use babel and minifify during building itself.

Then you can turn off minification in AEM(CRX) and you would have minified code.

sravs
Community Advisor
Community Advisor
June 10, 2022

@aemstarternewbie 

 

Try to update your clientlibrary 'jsprocessor' property with below.

 

jsProcessor="[min:gcc;languageIn=ECMASCRIPT_2016;languageOut=ECMASCRIPT_2016;compilationLevel=simple;obfuscate=true]"

 

DEBAL_DAS
June 13, 2022

Steps:1

Please check error.log file there you might see some error associated with that clientlib.

When I had issue with minification , I saw error message in error.log file and then I took necessary steps to fix.

 

Step:2

To troubleshoot the issue please follow the below steps   -

 

a. AEM 6.5 uses following closure-compiler-v20190121.jar for js minification, also highlighted in below screenshot -

 

 

b. If we take a closure look , we could see com.google.javascript is part of this closure compiler bundle.

c. Next you  can download the bundle:closure-compiler-v20190121.jar from aeminstance\crx-quickstart\launchpad\felix\bundle290\version0.0\bundle.jar-embedded. Bundle ID may vary in your case-

 

 

d. To understand the minification issue , you can execute below command to compile the Javascript file -

     java -jar compiler.jar --js hello.js --js_output_file hello-compiled.js

Getting Started with the Closure Compiler Application  |  Google Developers

 

It may throw error during compilation and it will help you why minification isn't working.

 

In my project Front End developers do the minification outside as part of the Frontend build process; Front End devs would not rely on the AEM features, because there are better ways and tools to do so.