List

List


Package Managers

Host the JavaScript libraries and provide tools for fetching and packaging them.

  • npm - npm is the package manager for JavaScript.
  • Bower - A package manager for the web.
  • component - Client package management for building better web applications.
  • spm - Brand new static package manager.
  • jam - A package manager using a browser-focused and RequireJS compatible repository.
  • jspm - Frictionless browser package management.
  • Ender - The no-library library.
  • volo - Create front end projects from templates, add dependencies, and automate the resulting projects.
  • Duo - Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless.
  • yarn - Fast, reliable, and secure dependency management.
  • pnpm - Fast, disk space efficient package manager.

Component Management

  • Bit - Create, find and reuse components (React, Angular, Node etc.) across applications.


Loaders

Module or loading system for JavaScript.

  • RequireJS - A file and module loader for JavaScript.
  • browserify - Browser-side require() the node.js way.
  • SeaJS - A Module Loader for the Web.
  • HeadJS - The only script in your HEAD.
  • curl - A small, fast, extensible module loader that handles AMD, CommonJS Modules/1.1, CSS, HTML/text, and legacy scripts.
  • lazyload - Tiny, dependency-free async JavaScript and CSS loader.
  • script.js - Asynchronous JavaScript loader and dependency manager.
  • systemjs - AMD, CJS & ES6 spec-compliant module loader.
  • LodJS - Module loader based on AMD.
  • ESL - Module loader browser first, support lazy define and AMD.
  • modulejs - Lightweight JavaScript module system.


Bundlers

  • webpack - Packs CommonJs/AMD modules for the browser.
  • Rollup - Next-generation ES6 module bundler.
  • Brunch - Fast front-end web app build tool with simple declarative config.
  • Parcel - Blazing fast, zero configuration web application bundler.
  • Microbundle - Zero-configuration bundler for tiny modules.
  • FuseBox - A bundler that does it right
  • Snowpack - A lightning-fast frontend build tool, designed for the modern web.


Type Checkers

  • TypeScript - A typed superset of JavaScript that compiles to plain JavaScript.
  • Flow.js - A static type checker for JavaScript from Facebook.
  • Hegel - A static type checker for JavaScript with a bias on type inference an strong type system.
  • TypL - the JavaScript Type Linter with a bias on type inference.
  • Hindley Milner Definitions - runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures.


Testing Frameworks


Frameworks

  • mocha - Simple, flexible, fun JavaScript test framework for node.js & the browser.
  • jasmine - DOM-less simple JavaScript testing framework.
  • qunit - An easy-to-use JavaScript Unit Testing framework.
  • jest - Painless JavaScript Unit Testing.
  • prova - Node & Browser test runner based on Tape and Browserify
  • DalekJS - Automated cross browser functional testing with JavaScript
  • Protractor - Protractor is an end-to-end test framework for AngularJS applications.
  • tape - Tap-producing test harness for node and browsers.
  • TestCafe - Automated browser testing for the modern web development stack.
  • ava - 🚀 Futuristic JavaScript test runner
  • Cypress - Complete end-to-end testing framework for anything that runs in a browser and beyond.


Assertion

  • chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
  • Enzyme - Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
  • react testing library - Simple and complete React DOM testing utilities that encourage good testing practices.
  • Sinon.JS - Test spies, stubs, and mocks for JavaScript.
  • expect.js - Minimalistic BDD-style assertions for Node.JS and the browser.
  • proxyquire - Stub nodejs's require.


Coverage

  • istanbul - Yet another JS code coverage tool.
  • blanket - A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs.
  • JSCover - JSCover is a tool that measures code coverage for JavaScript programs.


Runner

  • phantomjs - Scriptable Headless WebKit.
  • slimerjs - A PhantomJS-like tool running Gecko.
  • casperjs - Navigation scripting & testing utility for PhantomJS and SlimerJS.
  • zombie - Insanely fast, full-stack, headless browser testing using node.js.
  • totoro - A simple and stable cross-browser testing tool.
  • karma - Spectacular Test Runner for JavaScript.
  • nightwatch - UI automated testing framework based on node.js and selenium webdriver.
  • intern - A next-generation code testing stack for JavaScript.
  • yolpo - A statement-by-statement JavaScript interpreter in the browser.
  • puppeteer - Headless Chrome Node.js API by official Google Chrome team.
  • webdriverio - Next-gen WebDriver test automation framework for Node.js.
  • taiko - A Node.js library with a simple API to automate Chromium based browsers.


QA Tools

  • prettier - Prettier is an opinionated code formatter.
  • JSHint - JSHint is a tool that helps to detect errors and potential problems in your JavaScript code.
  • jscs - JavaScript Code Style checker.
  • jsfmt - For formatting, searching, and rewriting JavaScript.
  • jsinspect - Detect copy-pasted and structurally similar code.
  • buddy.js - Magic number detection for JavaScript.
  • ESLint - A fully pluggable tool for identifying and reporting on patterns in JavaScript.
  • JSLint - High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language.
  • JavaScript Standard Style - Opinionated, no-configuration style guide, style checker, and formatter
  • Pre-evaluate code at buildtime - Pre-evaluate your front end javascript code at build-time
  • JS-Beautifier - Npm cli and library to format JS code.
  • husky - Prevents bad git commit, git push and more.


MVC Frameworks and Libraries

  • angular.js - HTML enhanced for web apps. (deprecated)
  • angular - Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages.
  • aurelia - A JavaScript client framework for mobile, desktop and web.
  • backbone - Give your JS App some Backbone with Models, Views, Collections, and Events.
  • ember.js - A JavaScript framework for creating ambitious web applications.
  • meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-javascript web framework.
  • ractive - Next-generation DOM manipulation.
  • vue - Intuitive, fast & composable MVVM for building interactive interfaces.
  • svelte - Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM.
  • knockout - Knockout makes it easier to create rich, responsive UIs with JavaScript.
  • spine - Lightweight MVC library for building JavaScript applications.
  • espresso.js - A minimal JavaScript library for crafting user interfaces.
  • canjs - Can do JS, better, faster, easier.
  • react - A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM.
  • hyperapp - 1kb JavaScript library for building frontend applications.
  • preact - Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM.
  • nativescript - Build truly native cross-platform iOS and Android apps with JavaScript.
  • react-native - A framework for building native apps with React.
  • riot - React-like library, but with very small size.
  • thorax - Strengthening your Backbone.
  • chaplin - An architecture for JavaScript applications using the Backbone.js library.
  • marionette - A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications.
  • ripple - A tiny foundation for building reactive views.
  • rivets - Lightweight and powerful data binding + templating solution.
  • derby - MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers.derby-awesome - A collection of awesome derby components
  • way.js - Simple, lightweight, persistent two-way databinding.
  • mithril.js - Mithril is a client-side MVC framework (Light-weight, Robust, Fast).
  • jsblocks - jsblocks is better MV-ish framework.
  • LiquidLava - Transparent MVC framework for building user interfaces.
  • feathers - A minimalist real-time JavaScript framework for tomorrow's apps.
  • Keo - Functional stateless React components with Shadow DOM support.
  • atvjs - Blazing fast Apple TV application development using pure JavaScript.
  • Alpine.js - offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost.
  • inferno -  An extremely fast, React-like JavaScript library for building modern user interfaces.
  • FoalTS - Elegant and all-inclusive Node.JS framework for building web applications (TypeScript).
  • Lucia - 3kb library for tiny web apps.
  • Adonis - The Node.js Framework highly focused on developer ergonomics, stability and confidence


Node-Powered CMS Frameworks

  • KeystoneJS - powerful CMS and web app framework.
  • Reaction Commerce - reactive CMS, real-time architecture and design.
  • Ghost - simple, powerful publishing platform.
  • Apostrophe - CMS with content editing and essential services.
  • We.js - framework for real time apps, sites or blogs.
  • Hatch.js - CMS platform with social features.
  • TaracotJS - fast and minimalist CMS based on Node.js.
  • Nodizecms - CMS for CoffeeScript lovers.
  • Cody - CMS with WSYWYG editor.
  • PencilBlue - CMS and blogging platform.
  • Strapi - Open source Node.js Headless CMS to easily build customisable APIs.
  • Factor - The Javascript CMS


Templating Engines

Templating engines allow you to perform string interpolation.

  • mustache.js - Minimal templating with {{mustaches}} in JavaScript.
  • handlebars.js - An extension to the Mustache templating language.
  • nunjucks - A rich and powerful templating language for JavaScript from Mozilla.
  • hogan.js - A compiler for the Mustache templating language.
  • doT - The fastest + concise JavaScript template engine for nodejs and browsers.
  • dustjs - Asynchronous templates for the browser and node.js.
  • eco - Embedded CoffeeScript templates.
  • JavaScript-Templates - < 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies.
  • t.js - A tiny JavaScript templating framework in ~400 bytes gzipped.
  • Pug - Robust, elegant, feature rich template engine for nodejs. (formerly known as Jade)
  • EJS - Effective JavaScript templating.
  • xtemplate - eXtensible Template Engine lib for node and the browser
  • marko - A fast, lightweight, HTML-based templating engine for Node.js and the browser with async, streaming, custom tags and CommonJS modules as compiled output.
  • swig - (Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine.


Articles and Posts


Data Visualization

Data visualization tools for the web.

  • d3 - A JavaScript visualization library for HTML and SVG.metrics-graphics - A library optimized for concise, principled data graphics and layouts.
  • three.js - JavaScript 3D library.
  • Chart.js - Simple HTML5 Charts using the <canvas> tag.
  • paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
  • fabric.js - JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser.
  • peity - Progressive bar, line and pie charts.
  • raphael - JavaScript Vector Library.
  • echarts - Enterprise Charts.
  • vis - Dynamic, browser-based visualization library.
  • two.js - A renderer agnostic two-dimensional drawing api for the web.
  • g.raphael - Charts for Raphaël.
  • sigma.js - A JavaScript library dedicated to graph drawing.
  • arbor - A graph visualization library using web workers and jQuery.
  • cubism - A D3 plugin for visualizing time series.
  • dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
  • vega - A visualization grammar.
  • processing.js - Processing.js makes your data visualizations work using web standards and without any plug-ins.
  • envisionjs - Dynamic HTML5 visualization.
  • rickshaw - JavaScript toolkit for creating interactive real-time graphs.
  • flot - Attractive JavaScript charts for jQuery.
  • morris.js - Pretty time-series line graphs.
  • nvd3 - Build re-usable charts and chart components for d3.js.
  • svg.js - A lightweight library for manipulating and animating SVG.
  • heatmap.js - JavaScript Library for HTML5 canvas based heatmaps.
  • jquery.sparkline - A plugin for the jQuery JavaScript library to generate small sparkline charts directly in the browser.
  • trianglify - Low poly style background generator with d3.js.
  • d3-cloud - Create word clouds in JavaScript.
  • d4 - A friendly reusable charts DSL for D3.
  • dimple.js - Easy charts for business analytics powered by d3.
  • chartist-js - Simple responsive charts.
  • epoch - A general purpose real-time charting library.
  • c3 - D3-based reusable chart library.
  • BabylonJS - A framework for building 3D games with HTML 5 and WebGL.
  • recharts - Redefined chart library built with React and D3.
  • GraphicsJS - A lightweight JavaScript graphics library with the intuitive API, based on SVG/VML technology.
  • mxGraph - Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor.
  • Frappe Charts - GitHub-inspired simple and modern SVG charts for the web with zero dependencies.
  • Frappe Gantt - A simple, interactive, modern gantt chart library for the web.
  • G2 - A highly interactive data-driven visualization grammar for statistical charts.
  • G2Plot - An interactive and responsive charting library. Based on the grammar of graphics.

There're also some great commercial libraries, like amchartanychartplotlyhighchart, and lightning chart.


Timeline

  • TimelineJS v3 - A Storytelling Timeline built in JavaScript.
  • timesheet.js - JavaScript library for simple HTML5 & CSS3 time sheets.


Spreadsheet

  • HANDSONTABLE - Handsontable is a JavaScript/HTML5 Spreadsheet Library for Developers
  • Frappe Datatable - Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data.
  • Luckysheet - Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.


Editors

  • ace - Ace (Ajax.org Cloud9 Editor).
  • CodeMirror - In-browser code editor.
  • esprima - ECMAScript parsing infrastructure for multipurpose analysis.
  • quill - A cross browser rich text editor with an API.
  • medium-editor - Medium.com WYSIWYG editor clone.
  • pen - enjoy live editing (+markdown).
  • jquery-notebook - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
  • bootstrap-wysiwyg - Tiny bootstrap-compatible WYSIWYG rich text editor.
  • ckeditor-releases - The best web text editor for everyone.
  • editor - A markdown editor. still on development.
  • EpicEditor - An embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more.
  • jsoneditor - A web-based tool to view, edit and format JSON.
  • vim.js - JavaScript port of Vim with a persistent ~/.vimrc.
  • Squire - HTML5 rich text editor.
  • TinyMCE - The JavaScript Rich Text editor.
  • trix - A rich text editor for everyday writing. By Basecamp.
  • Trumbowyg - A lightweight and amazing WYSIWYG JavaScript editor.
  • Draft.js - A React framework for building text editors.
  • bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor
  • wysihtml5 - Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
  • raptor-editor - Raptor, an HTML5 WYSIWYG content editor!
  • popline - Popline is an HTML5 Rich-Text-Editor Toolbar.
  • Summernote - Super simple WYSIWYG editor.


Documentation

  • DevDocs is an all-in-one API documentation reader with a fast, organized, and consistent interface.
  • dexy is a free-form literate documentation tool for writing any kind of technical document incorporating code.
  • docco is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
  • styledocco generates documentation and style guide documents from your stylesheets.
  • Ronn builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
  • dox is a JavaScript documentation generator written with node. Dox no longer generates an opinionated structure or style for your docs, it simply gives you a JSON representation, allowing you to use markdown and JSDoc-style tags.
  • jsdox is a JSDoc3 to Markdown documentation generator.
  • ESDoc is a good documentation generator for JavaScript.
  • YUIDoc is a Node.js application that generates API documentation from comments in source, using a syntax similar to tools like Javadoc and Doxygen.
  • coddoc is a jsdoc parsing library. Coddoc is different in that it is easily extensible by allowing users to add tag and code parsers through the use of coddoc.addTagHandler and coddoc.addCodeHandler. coddoc also parses source code to be used in APIs.
  • sphinx a tool that makes it easy to create intelligent and beautiful documentation
  • Using JSDoc
  • Beautiful docs is a documentation viewer based on markdown files.
  • documentation.js - API documentation generator with support for ES2015+ and flow annotation.
  • jsduck - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
  • codecrumbs is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code.


Files

Libraries for working with files.

  • Papa Parse - A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
  • jBinary - High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
  • diff2html - Git diff output parser and pretty HTML generator.
  • jsPDF - JavaScript PDF generation.
  • PDF.js - PDF Reader in JavaScript.


Functional Programming

Functional programming libraries to extend JavaScript’s capabilities.

  • underscore - JavaScript's utility _ belt.
  • lodash - A utility library delivering consistency, customization, performance, & extras.
  • Sugar - A JavaScript library for working with native objects.
  • lazy.js - Like Underscore, but lazier.
  • ramda - A practical functional library for JavaScript programmers.
  • mout - Modular JavaScript Utilities.
  • mesh - Streamable data synchronization utility.
  • preludejs - Hardcore Functional Programming for JavaScript.
  • rambda - Faster and smaller alternative to Ramda.


Reactive Programming

Reactive programming libraries to extend JavaScript’s capabilities.

  • RxJS - A reactive programming library for JavaScript.
  • Bacon - FRP (functional reactive programming) library for JavaScript.
  • Kefir - FRP library for JavaScript inspired by Bacon.js and RxJS with focus on high performance and low memory consumption.
  • Highland - Re-thinking the JavaScript utility belt, Highland manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
  • Most.js - high performance FRP library.
  • MobX - TFRP library for simple, scalable state management.
  • Cycle.js - A functional and reactive JavaScript library for cleaner code.
  • concent - Definitely the ❤️ simplest but ⚡️strongest state management for react, it is predictable、progressive and efficient.


Data Structure

Data structure libraries to build a more sophisticated application.

  • immutable-js - Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
  • mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
  • buckets - A complete, fully tested and documented data structure library written in JavaScript.
  • hashmap - Simple hashmap implementation that supports any kind of keys.


Date

Date Libraries.

  • moment - Parse, validate, manipulate, and display dates in JavaScript.
  • moment-timezone - Timezone support for moment.js.
  • jquery-timeago - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
  • timezone-js - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data.
  • date - Date() for humans.
  • ms.js - Tiny millisecond conversion utility.
  • countdown.js - Super simple countdowns.
  • timeago.js - Simple library (less then 2kb) used to format date with *** time agostatement.
  • fecha - Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
  • date-fns - Modern JavaScript date utility library.
  • map-countdown - A browser countdown built on top of the Google Maps.
  • dayjs - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
  • luxon - Luxon is a library for working with dates and times in JavaScript.


String

String Libraries.

  • voca - The ultimate JavaScript string library
  • selecting - A library that allows you to access the text selected by the user.
  • underscore.string - String manipulation extensions for Underscore.js JavaScript library.
  • string.js - Extra JavaScript string methods.
  • he - A robust HTML entity encoder/decoder written in JavaScript.
  • multiline - Multiline strings in JavaScript.
  • query-string - Parse and stringify URL query strings.
  • URI.js - JavaScript URL mutation library.
  • jsurl - Lightweight URL manipulation with JavaScript.
  • sprintf.js - A sprintf implementation.
  • url-pattern - Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings.
  • plexis - Lo-fi, powerful, community-driven string manipulation library.

Report Page