# Awesome JavaScript A curated list of amazingly awesome JavaScript libraries, resources and shiny things. * [Awesome JavaScript](#awesome-javascript) * [Package Managers](#package-managers) * [Loaders](#loaders) * Testing Frameworks * Templating Engines * Date * String * Storage * [Functional Programming](#functional-programming) * [Loading Status](#loading-status) ## Package Managers *Host the javascript libraries and provide tools for fetching and packaging them.* * [Bower](https://github.com/bower/bower) - A package manager for the web. * [component](https://github.com/component/component) - Client package management for building better web applications. * [spm](https://github.com/spmjs/spm) - Brand new static package manger. * [browserify](https://github.com/substack/node-browserify) - Browser-side require() the node.js way. * [jam](https://github.com/caolan/jam) - A package manager using a browser-focused and RequireJS compatible repository. * [yepnope.js](https://github.com/SlexAxton/yepnope.js) - An Asynchronous Conditional Resource Loader. * [jspm](https://github.com/jspm/jspm-cli) - Frictionless browser package management. * [Ender](https://github.com/ender-js/Ender) - The no-library library. * [volo](https://github.com/volojs/volo) - Create front end projects from templates, add dependencies, and automate the resulting projects. ## Loaders *Module or loading system for JavaScript.* * [RequireJS](https://github.com/jrburke/requirejs) - A file and module loader for JavaScript. * [SeaJS](https://github.com/seajs/seajs) - A Module Loader for the Web. * [HeadJS](https://github.com/headjs/headjs) - The only script in your HEAD. * [curl](https://github.com/cujojs/curl) - A small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts. * [lazyload](https://github.com/rgrove/lazyload/) - Tiny, dependency-free async JavaScript and CSS loader. * [script.js](https://github.com/ded/script.js) - Asyncronous JavaScript loader and dependency manager. ## String *String Libraries* * [underscore.string](https://github.com/epeli/underscore.string) - String manipulation extensions for Underscore.js javascript library. * [string.js](https://github.com/jprichardson/string.js) - Extra JavaScript string methods. * [sprintf.js](https://github.com/alexei/sprintf.js) - A sprintf implementation. * [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. * [he](https://github.com/mathiasbynens/he) - A robust HTML entity encoder/decoder written in JavaScript. * [query-string](https://github.com/sindresorhus/query-string) - Parse and stringify URL query strings. * [jsurl](https://github.com/Mikhus/jsurl) - Lightweight URL manipulation with JavaScript. ## Functional Programming *Functional programming libraries to extend JavaScript’s capabilities.* * [underscore](https://github.com/jashkenas/underscore) - JavaScript's utility _ belt. * [lodash](https://github.com/lodash/lodash) - A utility library delivering consistency, customization, performance, & extras. * [Sugar](https://github.com/andrewplummer/Sugar) - A Javascript library for working with native objects. * [lazy.js](https://github.com/dtao/lazy.js) - Like Underscore, but lazier. ## Loading Status *Libraries for indicate load status.* * [NProgress](http://ricostacruz.com/nprogress/) - Slim progress bars for Ajax'y applications. * [Spin.js](https://github.com/fgnass/spin.js) - A spinning activity indicator. * [progress.js](https://github.com/usablica/progress.js) - Create and manage progress bar for every objects on the page. * [pace](https://github.com/HubSpot/pace) - Automatically add a progress bar to your site. * [topbar](https://github.com/buunguyen/topbar) - Tiny & beautiful site-wide progress indicator. * [nanobar](https://github.com/jacoborus/nanobar) - Very lighweight progress bars. No jQuery. * [PageLoadingEffects](https://github.com/codrops/PageLoadingEffects) - Modern ways of revealing new content using SVG animations. * [css-loaders](https://github.com/lukehaas/css-loaders) - A collection of loading spinners animated with CSS. Besides libraries, there're [Collection on Codepen](http://codepen.io/collection/HtAne/), and generators like [Ajaxload](http://www.ajaxload.info/), [Preloaders](http://preloaders.net/) and [CSSLoad](http://cssload.net/).