Skip to content

addyosmani/basket.js

Repository files navigation

basket.js logo

Basket.js is a script and resource loader for caching and loading scripts using localStorage

##Introduction for the Non-Developer

Modern web applications will typically make use of more than one JavaScript or CSS framework. As the number of scripts add up, so does the number of HTTP requests. This leads to increased page load times and reduced performance. Basket.js is a project dedicated to aleviating this problem.

Basket.js loads your site's scripts into a page and saves them in localStorage so they can be reused after the session until they are expired. It also checks to see if the scripts are already in localStorage, and if not, loads them. This prevents unneccessary reloading of scripts and can improve load time and website performance.

Build Status

Resources

Examples

Articles

Contribute

Style Guide

This project follows the Idiomatic guide to writing JavaScript - a concise extension to the jQuery Core Style guidelines, with the exception of multiple var statements. Please ensure any pull requests follow these closely.

Unit Tests

We are also attempting to get as much unit test coverage as possible. For this reason, please add unit tests for any new or changed functionality and remember to lint and test your code using grunt.

Also, please don't edit files in the "dist" subdirectory as they are generated via grunt. You'll find source code in the "lib" subdirectory!

Building

To build the project, you will first need to install the necessary dependencies (such as RSVP) using npm and Bower.

Run:

$ npm install & bower install

in the project root to get everything you need. Next, to actually build the project you will need Grunt.

Run:

$ grunt release

to generate a new release, otherwise just running grunt test will run the unit tests.

Team

Addy Osmani avatar Sindre Sorhus avatar Andrée Hansson avatar Mat Scales avatar
Addy Osmani Sindre Sorhus Andrée Hansson Mat Scales

License

MIT © Basket.js team