Expand my Community achievements bar.

Don’t miss the AEM Skill Exchange in SF on Nov 14—hear from industry leaders, learn best practices, and enhance your AEM strategy with practical tips.

YUI Compressor and SAMAXES plugin trimming the spaces while css minification

Avatar

Level 2

Hi All,

I am trying to use SAMAXES and YUI maven plugin to minify the css during the maven build. but both of these plugins are trimming the spaces in the css as

calc (14px + (some function) getting replaced with (14px+(some function))

which makes the value invalid in the browser.

In case anyone faced the similar issue can you please let me know ?

i am doing the following configuration in my pom.xml

For YUI following is teh configuration used

<!-- minify css through maven start -->
<plugin>

   <artifactId>yuicompressor-maven-plugin</artifactId>

   <groupId>net.alchim31.maven</groupId>

   <version>1.5.1</version>

   <executions>

   <execution>

   <goals>

   <goal>compress</goal>

   </goals>

   </execution>

   </executions>

   <configuration>

   <webappDirectory>project dir</webappDirectory>

   <excludes>

   <exclude>**/*.js</exclude>

   <exclude>**/*.min.css</exclude>

   </excludes>

   <includes>

   <include>**/*.css</include>

   </includes>

   <force>true</force>

   </configuration>

</plugin>

<!-- minify css through maven end -->

For SAMAXES,

<plugin>

     <groupId>com.samaxes.maven</groupId>

     <artifactId>minify-maven-plugin</artifactId>

     <version>1.7.6</version>

          <executions>

               <execution>

                    <id>default-minify</id>

                         <configuration>

                              <webappSourceDir>source dir</webappSourceDir>

                              <cssSourceDir>css</cssSourceDir>

                              <webappTargetDir>target dir</webappTargetDir>

                              <cssTargetDir>css</cssTargetDir>

                              <cssSourceFiles>

                              <cssSourceFile>style.css</cssSourceFile>

                              </cssSourceFiles>

                              <cssFinalFile>project.css</cssFinalFile>

                         </configuration>

                         <goals>

                              <goal>minify</goal>

                         </goals>

               </execution>

          </executions>

</plugin>

Thanks..

2 Replies

Avatar

Level 10

check this for a workaround - https://github.com/yui/yuicompressor/issues/59

or use an alternative to calc()

otherwise try with npm based minifiers..

Avatar

Community Advisor

Hi Gajan

   AEM has inbuilt minification in its publish env unless you have disabled it in Publish. The JS and CSS will be minified using YUI engine by default. But due to the incompatibility of the YUI engine to minify the latest UI technologies , it is recommended to use the latest minification engine GCC . Please see here Change the minification engine for client libraries in AEM

Thanks

Veena