karma-jawr v0.1.15
Karma JAWR
Karma + JAWR Integration.
Concert & Situations
When you are using J2EE for your web application and using server-render template engine (JSP,JSF,Freemarker,Velocity), you might using some web resource bundling solution.
JAWR used to be a JavaEE official web resource packing solution in Java way.
But how can we setup a universal unittest way for JAWR style loading resource way?
If you are noticed karma is popular with managing frontend javascript side and easily integrated with reporters and CI.
Here is a karma-plugin to help you generate some commonjs style temp file by parsing jawr.properties.
So that you can use webpack or other preprocessor for writing frontend unittest in a graceful way.
JAWR Options
- configLocation: Absolute path, point to
jawr.propertiesorspring-jawr-context.xml - webappLocation: Absolute path, point to your maven war project
webappfolder - targetLocation: Absolute path, point to a temp build folder, for require syntax
- localeConfigLocation: Absolute path, optional, if using jawr message generator and using
messages:syntax in jawr properties file, suppose to pre-generate by resources bundle and add as global serving files in the karma config.files.
Usage
Installation
$ yarn add -D karma-jawrKarma Configuration
- Add
karma-jawras loaded plugin and framework
plugins:[
....,
'karma-jawr'
],
frameworks: [
...,
'jawr'
],- Add
jawrforkarma-jawroptions to spec the location for yourjawr.properties,webappfolder for building war, template generate folder for you customize gitignore path. using mandatory fieldsconfigLocation,webappLocation,targetLocation.
the value must be absolute path.
jawr: {
configLocation: pathUtil.resolve('src/main/resources/jawr/') + 'jawr.properties',
webappLocation: pathUtil.resolve('src/main/webapp'),
targetLocation: pathUtil.resolve('src/test/js/build')
}If you are using jawr provided locale generator for frontend locale string You can also add
localeConfigLocationfor locating your locale bundle resources.
Sample Project
You can refer to this sample project. It using last generation J2EE way web application.
Using SpringMVC + JSF + JAWR + ExtJs for building a deployable war file.
And Integrated with travis.ci and coveralls.io for CI.
Document And Design
Please refer to wiki
Change Log
0.1.14
- Fix Issue#2 fix issue#2: mapping patterns not support /path/to/ to match non-recurring path to a directory and every resource under it will be added to the bundle
0.1.13
- Update Dependencies version, and README content at npm
0.1.12
- Fix defect when locale properties contains empty value while
propertiesdefault parsed to null
0.1.11
- Update .last-mappings.json path display, normalizing.
0.1.10
- Update log level from info to debug.
- Fix defect when combine bundle jawr bundle names.
0.1.9
- Fix when mappings in jawr properties including jawr bundle, can not generate correct index.js
0.1.8
- Performance Tuning: Suppose not generate twice index files when all flatten mapping files no change since last time
0.1.7
- New features: Add css bundle support, for better requiring style file for debug in browser.
- Change log level to
debugwhen generating flatten mapping files for ignoring more files. - Mini refactor JawrContext design.
0.1.6
- Fix non-primitive value in locale message properties can not be parse defects.
0.1.5
- Fix non-composite child key calculate not including itself defects.
0.1.4
- Fix locale generator generate function key-value duplicate error.
- Fix locale message mapping detect and filter function.