Sandro Boehme created SLING-4462:
------------------------------------
Summary: Resource Editor :: Integrate Node.js, Grunt and npm for
frontend libraries
Key: SLING-4462
URL: https://issues.apache.org/jira/browse/SLING-4462
Project: Sling
Issue Type: Improvement
Components: Extensions
Affects Versions: Resource Editor 1.0.2
Reporter: Sandro Boehme
Assignee: Sandro Boehme
The goal is to configure the Resource Editor for frontend tests (Jasmine,
Karma, end to end via Webdriver) and to optimize its frontend build
configuration. To accomplish that the Frontend Maven Plugin
(https://github.com/eirslett/frontend-maven-plugin) is used. It installs
Node.js, Grunt and npm locally within in the project and makes it available in
a Maven build.
Contra:
The npm repository that needs to be ignored for SVN is generated within the
project folder.
Pro:
o Avoids that I have to check in the frontend libraries and Bootstrap Less
sources to SVN as they can be copied from the local npm repo during the build
process.
o Eases the listing of the 3rd party licenses of used npm package as the npm
package 'nlf' for example can be used to list the licenses in a specific depth
of transitive dependencies. It allows a good fix for SLING-4205.
o Better supported libraries:
- BDD Unit Tests with different browsers
Via Maven:
https://github.com/karma-runner/maven-karma-plugin (31 Stars)
Via npm:
https://github.com/karma-runner/karma (4760 Stars)
- Less CSS compiler and watch functionality
Via Maven:
https://github.com/marceloverdijk/lesscss-maven-plugin (155 Stars, not
supported anymore)
https://github.com/marceloverdijk/lesscss-java (151 Stars, not supported
anymore)
Via npm:
https://github.com/gruntjs/grunt-contrib-watch (1380 Stars)
https://github.com/gruntjs/grunt-contrib-less (519 Stars)
- Minification:
Via Maven:
https://github.com/davidB/yuicompressor-maven-plugin (80 Stars)
Via npm:
https://github.com/gruntjs/grunt-contrib-uglify (850 Stars)
https://github.com/gruntjs/grunt-contrib-cssmin (513 Stars)
- BDD (Jasmine) End to End Tests are not available via Maven
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)