Git Product home page Git Product logo

karma-jawr's Introduction

Karma JAWR

npm Build Status Circle CI Status Coverage Status

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.properties or spring-jawr-context.xml
  • webappLocation: Absolute path, point to your maven war project webapp folder
  • 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-jawr

Karma Configuration

  1. Add karma-jawr as loaded plugin and framework
plugins:[
  ....,
  'karma-jawr'
],
frameworks: [
  ...,
  'jawr'
],
  1. Add jawr for karma-jawr options to spec the location for your jawr.properties, webapp folder for building war, template generate folder for you customize gitignore path. using mandatory fields configLocation,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 localeConfigLocation for 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.

Karma-JAWR-Sample

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 properties default 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 debug when 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.

karma-jawr's People

Contributors

aquariuslt avatar harryhe1994 avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.