Giter Club home page Giter Club logo

javascriptaggregator's Introduction

Build Status

The JavaScript Aggregator is an OSGi servlet that provides aggregation and code minification services to AMDs loaders that supports the loader extension API. Features include:

  • JavaScript minification using the Google Closure compiler
  • Code trimming using has.js feature detection
  • Require list expansion to reduce the cascade of requests resulting from dependency discovery as modules are loaded on the client
  • CSS Optimizations
  • i18n resource consolidation
  • Caching of previously built/minified output for quicker response on subsequent requests

The Aggregator supports the Eclipse plugin extension architecture to allow the addition of support for:

  • New types of resource repository locations on the server
  • New types of module builders/minifiers
  • New AMD loaders

See the wiki for more details.

###OPENNTF### This project is an OpenNTF project, and is available under the Apache License V2.0. All other aspects of the project, including contributions, defect reports, discussions, feature requests and reviews are subject to the OpenNTF Terms of Use.

###HELP### For help with this project, please visit the discussion forum or ask a question on Stack Overflow with the tag jaggr. Remember to check the wiki.

###UPGRADING###

####1.3.0#### Major changes since 1.2 can be found at [What's new in Version 1.3] (https://github.com/OpenNTF/JavascriptAggregator/wiki/What%27s-new-in-Version-1.3).

There are some interface changes affecting resource factories. See the above link for details. Some extensions may need to be updated and re-compiled in order to
run using the new interfaces.

####1.2.0#### This is a major upgrade. Read what it brings.

We've created a new bundle, jaggr-core, to house all non-osgi specific code. This is now where the vast majority of jaggr code is located. Bundle dependencies may need to be updated.

Besides the name changes, there are some interface changes affecting aggregator extensions. Extensions developed for previous versions of the aggregator won't run on 1.2 without changes.

Developers running from within eclipse should use a java7 jre/jdk for development and running the bundles out of the eclipse workspace. Maven will generate java6 compatible jars from the command line.

####1.1.8#### The changes described below don't affect casual users. Only implementors of JAGGR extensions that deal with calculation of expanded dependencies are affected:

  • com.ibm.jaggr.service.deps.IDependencies.getExpandedDependencies() has been removed. Use com.ibm.jaggr.service.util.DependencyList instead.
  • com.ibm.jaggr.service.util.DependencyList constructor arguments have changed.

####1.1.1####

  • Resources defined in the server-side amd config file that use a "namedbundleresource" scheme url should leave the authority section of the uri blank and have the bundle name be the first segment in the path. (ex: namedbundleresource:///bundle.name/path/to/file)
  • Interface change in IResource (added IResource resolve(String relative);) will affect any third-party resource providers.

javascriptaggregator's People

Contributors

chuckdumont avatar cwgormanibm avatar ddumont avatar jaggr-project avatar projsaha avatar

Watchers

 avatar  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.