Hello, Geoff! Looking at GoogleClosureMinimizer, I cannot see how the options can be customized. Could you please create a Jira issue so we can fix this in 5.7.0? Thanks in advance.
Cheers! On Thu, Jan 28, 2021 at 6:31 AM JumpStart < geoff.callender.jumpst...@gmail.com> wrote: > Can I pass options to GoogleClosureMinimizer at runtime? > > I have a 3rd party javascript file (html2canvas.min.js) that > tapestry-webresources is failing to parse because the JS is using > javascript getters, which I think were introduced in ECMASCRIPT5. > > 2021-01-28 04:31:40,536 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) Compilation failed: JSC_PARSE_ERROR. Parse error. getters are not > supported in older versions of JavaScript. If you are targeting newer > versions of JavaScript, set the appropriate language_in option. at > StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.js COMPRESSABLE lastModified: > Thu Jan 28 03:44:05 UTC 2021 size: 165202> line 20 : 0. > > As I am targeting only modern versions of Chrome and Safari, it seems that > I could fix this by passing option —language_in=ECMASCRIPT5 to > google-closure-compiler, but how can I do this? Is there a system property > I can provide at runtime? > > In case it helps, here’s the stack trace... > > 2021-01-28 04:31:40,536 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) Compilation failed: JSC_PARSE_ERROR. Parse error. getters are not > supported in older versions of JavaScript. If you are targeting newer > versions of JavaScript, set the appropriate language_in option. at > StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.js COMPRESSABLE lastModified: > Thu Jan 28 03:44:05 UTC 2021 size: 165202> line 20 : 0. > 2021-01-28 04:31:40,537 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) Operations trace: > 2021-01-28 04:31:40,537 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) [ 1] Streaming compressed module html2canvas.min > 2021-01-28 04:31:40,537 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) [ 2] Streaming classpath:META-INF/modules/html2canvas.min.js > (compressed) > 2021-01-28 04:31:40,537 ERROR [org.apache.tapestry5.ioc.Registry] (default > task-14) [ 3] Minimizing StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.js COMPRESSABLE lastModified: > Thu Jan 28 03:44:05 UTC 2021 size: 165202> > 2021-01-28 04:31:40,544 ERROR > [org.apache.tapestry5.modules.TapestryModule.RequestExceptionHandler] > (default task-14) Processing of request failed with uncaught exception: > org.apache.tapestry5.ioc.internal.OperationException: Compilation failed: > JSC_PARS > E_ERROR. Parse error. getters are not supported in older versions of > JavaScript. If you are targeting newer versions of JavaScript, set the > appropriate language_in option. at StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.j > s COMPRESSABLE lastModified: Thu Jan 28 03:44:05 UTC 2021 size: 165202> > line 20 : 0.: org.apache.tapestry5.ioc.internal.OperationException: > Compilation failed: JSC_PARSE_ERROR. Parse error. getters are not supported > in older versions of JavaScript. If yo > u are targeting newer versions of JavaScript, set the appropriate > language_in option. at StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.js COMPRESSABLE lastModified: > Thu Jan 28 03:44:05 UTC 2021 size: 165202> line 20 : 0. > … > Caused by: java.lang.RuntimeException: Compilation failed: > JSC_PARSE_ERROR. Parse error. getters are not supported in older versions > of JavaScript. If you are targeting newer versions of JavaScript, set the > appropriate language_in option. at StreamableResource<text/javascript > classpath:META-INF/modules/html2canvas.min.js COMPRESSABLE lastModified: > Thu Jan 28 03:44:05 UTC 2021 size: 165202> line 20 : 0. > at > org.apache.tapestry5.internal.webresources.GoogleClosureMinimizer.doMinimize(GoogleClosureMinimizer.java:97) > at > org.apache.tapestry5.internal.webresources.AbstractMinimizer$1.perform(AbstractMinimizer.java:72) > at > org.apache.tapestry5.internal.webresources.AbstractMinimizer$1.perform(AbstractMinimizer.java:68) > at > org.apache.tapestry5.ioc.internal.OperationTrackerImpl.perform(OperationTrackerImpl.java:110) > ... 101 more > > Cheers, > > Geoff -- Thiago