Jam

For front-end developers who crave maintainable assets,
Jam is a package manager for JavaScript.
Unlike other repositories, we put the browser first.

View on GitHub Find packages

Manage dependencies

Using a stack of script tags isn't the most maintainable way of managing dependencies, with Jam packages and loaders like RequireJS you get automatic dependency resolution.

Fast and modular

Achieve faster load times with asynchronous loading and the ability to optimize downloads. JavaScript modules and packages provide properly namespaced and more modular code.

Use with existing stack

Jam manages only your front-end assets, the rest of your app can be written in your favourite language or framework. Node.js tools can use the repository directly with the Jam API.

Custom builds

No more configuring custom builds of popular libraries. Now, every build can be optimized automatically depending on the parts you use, and additional components can always be loaded later.

Focus on size

Installing multiple versions works great on the server, but client-side we don't want five versions of jQuery! Jam can use powerful dependency resolution to find a working set of packages using only a single version of each.

100% browser

Every package you see here will work in the browser and play nicely with module loaders like RequireJS. We're not hijacking an existing repository, we're creating a 100% browser-focused community!

What is a package manager?

Tools to help install, upgrade, configure and remove resources used by your project.

Manage dependencies

$ jam install backbone
installing from repositories backbone
Building version tree...
repositories checking "backbone"
repositories checking "underscore"
downloading http://packages.jamjs.org/backbone/backbone-0.9.2.tar.gz
downloading http://packages.jamjs.org/underscore/underscore-1.3.3.tar.gz
extracting /home/caolan/.jam/cache/backbone/0.9.2/backbone-0.9.2.tar.gz
extracting /home/caolan/.jam/cache/underscore/1.3.3/underscore-1.3.3.tar.gz
installing underscore@1.3.3
installing backbone@0.9.2
updating jam/jam.json
updating jam/require.config.js
updating jam/require.js
OK

Use packages

<script src="jam/require.js"></script>

<script>
  require(['backbone'], function (Backbone) {
    ...
  });
</script>

Optimize for production

$ jam compile compiled.min.js

Keep packages up to date

$ jam upgrade

Available on most platforms

Jam has been built to support many operating systems, and can be easily installed using NPM (which comes installed with Node.js).

Install Jam