# Awesome JavaScript [](https://github.com/sorrycc/awesome-javascript/)
A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) libraries, resources and shiny things.
Contents
* [Package Managers](#package-managers)
* [Component management](#component-management)
* [Loaders](#loaders)
* [Transpilers](#transpilers)
* [Bundlers](#bundlers)
* [Minimizers](#minimizers)
* [Type Checkers](#type-checkers)
* [Testing Frameworks](#testing-frameworks)
* [QA Tools](#qa-tools)
* [MVC Frameworks and Libraries](#mvc-frameworks-and-libraries)
* [Node-Powered CMS Frameworks](#node-powered-cms-frameworks)
* [Templating Engines](#templating-engines)
* [Game Engines](#game-engines)
* [Articles/Posts](#articles-and-posts)
* [Data Visualization](#data-visualization)
* [Timeline](#timeline)
* [Spreadsheet](#spreadsheet)
* [Editors](#editors)
* [Documentation](#documentation)
* Utilities
* [Files](#files)
* [Functional Programming](#functional-programming)
* [Reactive Programming](#reactive-programming)
* [Data Structure](#data-structure)
* [Date](#date)
* [String](#string)
* [Number](#number)
* [Storage](#storage)
* [Color](#color)
* [I18n And L10n](#i18n-and-l10n)
* [Control Flow](#control-flow)
* [Routing](#routing)
* [Security](#security)
* [Log](#log)
* [RegExp](#regexp)
* [Media](#videoaudio)
* [Voice Command](#voice-command)
* [API](#api)
* [Streaming](#streaming)
* [Vision Detection](#vision-detection)
* [Browser Detection](#browser-detection)
* [Operating System](#operating-system)
* [Benchmark](#benchmark)
* [Machine Learning](#machine-learning)
* [Web Worker](#web-worker)
* UI
* [Code Highlighting](#code-highlighting)
* [Loading Status](#loading-status)
* [Validation](#validation)
* [Keyboard Wrappers](#keyboard-wrappers)
* [Tours And Guides](#tours-and-guides)
* [Notifications](#notifications)
* [Sliders](#sliders)
* [Range Sliders](#range-sliders)
* [Form Widgets](#form-widgets)
* [Tips](#tips)
* [Modals and Popups](#modals-and-popups)
* [Scroll](#scroll)
* [Menu](#menu)
* [Table/Grid](#tablegrid)
* [Frameworks](#frameworks-1)
* [Boilerplates](#boilerplates)
* [Images](#images)
* [Gesture](#gesture)
* [Maps](#maps)
* [Typography](#typography)
* [Animations](#animations)
* [Image processing](#image-processing)
* [ES6](#es6)
* [Generators](#generators)
* [Full Text Search](#full-text-search)
* [SDK](#sdk)
* [ORM](#orm)
* [WebSockets](#websockets)
* [Misc](#misc)
* [Worth Reading](#worth-reading)
* [Other Awesome Lists](#other-awesome-lists)
* [Contributing](#contributing)
----
## Package Managers
*Host the JavaScript libraries and provide tools for fetching and packaging them.*
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [npm](https://npmjs.com) | [npm/cli](https://github.com/npm/cli) | the package manager for JavaScript. |  |
| [Bower](https://bower.io) | [bower/bower](https://github.com/bower/bower) | A package manager for the web. |  |
| [jspm](https://jspm.org) | [jspm/jspm-cli](https://github.com/jspm/jspm-cli) | Import Map Package Manager. |  |
| [yarn](https://yarnpkg.com) | [yarnpkg/berry](https://github.com/yarnpkg/berry) | Fast, reliable, and secure dependency management. |  |
| [pnpm](https://pnpm.io) | [pnpm/pnpm](https://github.com/pnpm/pnpm) | Fast, disk space efficient package manager. |  |
| [bun](https://bun.com) | [oven-sh/bun](https://github.com/oven-sh/bun) | Incredibly fast JavaScript runtime, bundler, test runner, and package manager – all in one |  |
## Component Management
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [Bit](https://bit.dev) | [teambit/bit](https://github.com/teambit/bit) | AI-powered development workspaces with reusable components, architectural clarity and zero overhead. |  |
## Loaders
*Module or loading system for JavaScript.*
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [RequireJS](https://requirejs.org/) | [requirejs/requirejs](https://github.com/requirejs/requirejs) | A file and module loader for JavaScript. |  |
| [browserify](http://browserify.org/) | [browserify/browserify](https://github.com/browserify/browserify) | browser-side require() the node.js way. |  |
| [SystemJS](https://github.com/systemjs/systemjs) | [systemjs/systemjs](https://github.com/systemjs/systemjs) | Dynamic ES module loader. |  |
## Transpilers
*Software that converts the modern JavaScript syntax into the older JavaScript syntax.*
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [SWC](https://swc.rs/) | [swc-project/swc](https://github.com/swc-project/swc) | Rust-based platform for the Web. |  |
## Bundlers
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [webpack](https://webpack.js.org) | [webpack/webpack](https://github.com/webpack/webpack) | A bundler for javascript and friends. |  |
| [Rollup](https://rollupjs.org/) | [rollup/rollup](https://github.com/rollup/rollup) | Next-generation ES module bundler. |  |
| [Parcel](https://parceljs.org) | [parcel-bundler/parcel](https://github.com/parcel-bundler/parcel) | The zero configuration build tool for the web. |  |
| [Microbundle](https://npm.im/microbundle) | [developit/microbundle](https://github.com/developit/microbundle) | Zero-configuration bundler for tiny modules. |  |
| [bundlejs](https://bundlejs.com) | [okikio/bundlejs](https://github.com/okikio/bundlejs) | An online tool to quickly bundle & minify your projects, while viewing the compressed gzip/brotli bundle size, all running locally on your browser. |  |
| [Vite](https://vite.dev) | [vitejs/vite](https://github.com/vitejs/vite) | Next generation frontend tooling. It's fast! |  |
## Minimizers
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [Terser](https://terser.org) | [terser/terser](https://github.com/terser/terser) | JavaScript parser, mangler and compressor toolkit for ES6+. |  |
| [UglifyJS](http://lisperator.net/uglifyjs) | [Uglify](https://github.com/mishoo/UglifyJS) | JavaScript parser / mangler / compressor / beautifier toolkit. |  |
## Type Checkers
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [TypeScript](https://www.typescriptlang.org/) | - | A typed superset of JavaScript that compiles to plain JavaScript. | |
| [Flow.js](https://flow.org/) | - | A static type checker for JavaScript from Facebook. | |
| [Hegel](https://hegel.js.org/) | - | A static type checker for JavaScript with a bias on type inference an strong type system. | |
| [TypL](https://github.com/getify/TypL) | [getify/TypL](https://github.com/getify/TypL) | the JavaScript Type Linter with a bias on type inference. |  |
| [Hindley Milner Definitions](https://github.com/xodio/hm-def) | [xodio/hm-def](https://github.com/xodio/hm-def) | runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures. |  |
| [Zod](https://github.com/colinhacks/zod) | [colinhacks/zod](https://github.com/colinhacks/zod) | TypeScript-first schema validation with built-in static type inference. |  |
## Testing Frameworks
### Frameworks
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [mocha](https://github.com/mochajs/mocha) | [mochajs/mocha](https://github.com/mochajs/mocha) | Simple, flexible, fun JavaScript test framework for node.js & the browser. |  |
| [jasmine](https://github.com/jasmine/jasmine) | [jasmine/jasmine](https://github.com/jasmine/jasmine) | DOM-less simple JavaScript testing framework. |  |
| [qunit](https://github.com/jquery/qunit) | [jquery/qunit](https://github.com/jquery/qunit) | An easy-to-use JavaScript Unit Testing framework. |  |
| [jest](https://github.com/facebook/jest) | [facebook/jest](https://github.com/facebook/jest) | Painless JavaScript Unit Testing. |  |
| [prova](https://github.com/azer/prova) | [azer/prova](https://github.com/azer/prova) | Node & Browser test runner based on Tape and Browserify |  |
| [DalekJS](https://github.com/dalekjs/dalek) | [dalekjs/dalek](https://github.com/dalekjs/dalek) | Automated cross browser functional testing with JavaScript |  |
| [Protractor](https://github.com/angular/protractor) | [angular/protractor](https://github.com/angular/protractor) | Protractor is an end-to-end test framework for AngularJS applications. |  |
| [tape](https://github.com/substack/tape) | [substack/tape](https://github.com/substack/tape) | Tap-producing test harness for node and browsers. |  |
| [TestCafe](https://github.com/DevExpress/testcafe) | [DevExpress/testcafe](https://github.com/DevExpress/testcafe) | Automated browser testing for the modern web development stack. |  |
| [ava](https://github.com/avajs/ava) | [avajs/ava](https://github.com/avajs/ava) | 🚀 Futuristic JavaScript test runner |  |
| [Cypress](https://www.cypress.io/) | - | Complete end-to-end testing framework for anything that runs in a browser and beyond. | |
| [WebdriverI/O](https://webdriver.io/) | - | Next-gen browser and mobile automation test framework for Node.js | |
### Assertion
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [chai](https://github.com/chaijs/chai) | [chaijs/chai](https://github.com/chaijs/chai) | BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. |  |
| [Enzyme](https://airbnb.io/enzyme/index.html) | - | Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output. | |
| [react testing library](https://github.com/kentcdodds/react-testing-library) | [kentcdodds/react-testing-library](https://github.com/kentcdodds/react-testing-library) | Simple and complete React DOM testing utilities that encourage good testing practices. |  |
| [Sinon.JS](https://github.com/sinonjs/sinon) | [sinonjs/sinon](https://github.com/sinonjs/sinon) | Test spies, stubs, and mocks for JavaScript. |  |
| [expect.js](https://github.com/Automattic/expect.js) | [Automattic/expect.js](https://github.com/Automattic/expect.js) | Minimalistic BDD-style assertions for Node.JS and the browser. |  |
| [proxyquire](https://github.com/thlorenz/proxyquire) | [thlorenz/proxyquire](https://github.com/thlorenz/proxyquire) | Stub nodejs's require. |  |
| [Supertest](https://github.com/visionmedia/supertest) | [visionmedia/supertest](https://github.com/visionmedia/supertest) | A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest |  |
### Coverage
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [istanbul](https://github.com/gotwarlost/istanbul) | [gotwarlost/istanbul](https://github.com/gotwarlost/istanbul) | Yet another JS code coverage tool. |  |
| [blanket](https://github.com/alex-seville/blanket) | [alex-seville/blanket](https://github.com/alex-seville/blanket) | A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs. |  |
| [JSCover](https://github.com/tntim96/JSCover) | [tntim96/JSCover](https://github.com/tntim96/JSCover) | JSCover is a tool that measures code coverage for JavaScript programs. |  |
### Runner
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [phantomjs](https://github.com/ariya/phantomjs) | [ariya/phantomjs](https://github.com/ariya/phantomjs) | Scriptable Headless WebKit. |  |
| [slimerjs](https://github.com/laurentj/slimerjs) | [laurentj/slimerjs](https://github.com/laurentj/slimerjs) | A PhantomJS-like tool running Gecko. |  |
| [casperjs](https://github.com/casperjs/casperjs) | [casperjs/casperjs](https://github.com/casperjs/casperjs) | Navigation scripting & testing utility for PhantomJS and SlimerJS. |  |
| [zombie](https://github.com/assaf/zombie) | [assaf/zombie](https://github.com/assaf/zombie) | Insanely fast, full-stack, headless browser testing using node.js. |  |
| [totoro](https://github.com/totorojs/totoro) | [totorojs/totoro](https://github.com/totorojs/totoro) | A simple and stable cross-browser testing tool. |  |
| [karma](https://github.com/karma-runner/karma) | [karma-runner/karma](https://github.com/karma-runner/karma) | Spectacular Test Runner for JavaScript. |  |
| [nightwatch](https://github.com/nightwatchjs/nightwatch) | [nightwatchjs/nightwatch](https://github.com/nightwatchjs/nightwatch) | UI automated testing framework based on node.js and selenium webdriver. |  |
| [intern](https://github.com/theintern/intern) | [theintern/intern](https://github.com/theintern/intern) | A next-generation code testing stack for JavaScript. |  |
| [puppeteer](https://github.com/GoogleChrome/puppeteer) | [GoogleChrome/puppeteer](https://github.com/GoogleChrome/puppeteer) | Headless Chrome Node.js API by official Google Chrome team. |  |
| [webdriverio](https://github.com/webdriverio/webdriverio) | [webdriverio/webdriverio](https://github.com/webdriverio/webdriverio) | Next-gen WebDriver test automation framework for Node.js. |  |
| [taiko](https://github.com/getgauge/taiko) | [getgauge/taiko](https://github.com/getgauge/taiko) | A Node.js library with a simple API to automate Chromium based browsers. |  |
| [Playwright](https://github.com/microsoft/playwright) | [microsoft/playwright](https://github.com/microsoft/playwright) | Node.js library to automate Chromium, Firefox and WebKit with a single API. |  |
## QA Tools
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [prettier](https://github.com/prettier/prettier) | [prettier/prettier](https://github.com/prettier/prettier) | Prettier is an opinionated code formatter. |  |
| [JSHint](https://github.com/jshint/jshint/) | [jshint/jshint](https://github.com/jshint/jshint) | JSHint is a tool that helps to detect errors and potential problems in your JavaScript code. |  |
| [jscs](https://github.com/jscs-dev/node-jscs) | [jscs-dev/node-jscs](https://github.com/jscs-dev/node-jscs) | JavaScript Code Style checker. |  |
| [jsfmt](https://github.com/rdio/jsfmt) | [rdio/jsfmt](https://github.com/rdio/jsfmt) | For formatting, searching, and rewriting JavaScript. |  |
| [jsinspect](https://github.com/danielstjules/jsinspect) | [danielstjules/jsinspect](https://github.com/danielstjules/jsinspect) | Detect copy-pasted and structurally similar code. |  |
| [buddy.js](https://github.com/danielstjules/buddy.js) | [danielstjules/buddy.js](https://github.com/danielstjules/buddy.js) | Magic number detection for JavaScript. |  |
| [ESLint](https://github.com/eslint/eslint) | [eslint/eslint](https://github.com/eslint/eslint) | A fully pluggable tool for identifying and reporting on patterns in JavaScript. |  |
| [JSLint](https://github.com/douglascrockford/JSLint) | [douglascrockford/JSLint](https://github.com/douglascrockford/JSLint) | High-standards, strict & opinionated code quality tool, aiming to keep only good parts of the language. |  |
| [JavaScript Standard Style](https://github.com/feross/standard) | [feross/standard](https://github.com/feross/standard) | Opinionated, no-configuration style guide, style checker, and formatter |  |
| [Pre-evaluate code at buildtime](https://github.com/kentcdodds/preval.macro) | [kentcdodds/preval.macro](https://github.com/kentcdodds/preval.macro) | Pre-evaluate your front end javascript code at build-time |  |
| [JS-Beautifier](https://github.com/beautify-web/js-beautify) | [beautify-web/js-beautify](https://github.com/beautify-web/js-beautify) | Npm cli and library to format JS code. |  |
| [husky](https://github.com/typicode/husky) | [typicode/husky](https://github.com/typicode/husky) | Prevents bad git commit, git push and more. |  |
## MVC Frameworks and Libraries
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [angular.js](https://github.com/angular/angular.js) | [angular/angular.js](https://github.com/angular/angular.js) | HTML enhanced for web apps. (deprecated) |  |
| [angular](https://github.com/angular/angular) | [angular/angular](https://github.com/angular/angular) | Angular is a development platform for building mobile and desktop web applications using Typescript/JavaScript and other languages. |  |
| [aurelia](http://aurelia.io) | - | A JavaScript client framework for mobile, desktop and web. | |
| [backbone](https://github.com/jashkenas/backbone) | [jashkenas/backbone](https://github.com/jashkenas/backbone) | Give your JS App some Backbone with Models, Views, Collections, and Events. |  |
| [ember.js](https://github.com/emberjs/ember.js) | [emberjs/ember.js](https://github.com/emberjs/ember.js) | A JavaScript framework for creating ambitious web applications. |  |
| [meteor](https://github.com/meteor/meteor) | [meteor/meteor](https://github.com/meteor/meteor) | An ultra-simple, database-everywhere, data-on-the-wire, pure-javascript web framework. |  |
| [ractive](https://github.com/ractivejs/ractive) | [ractivejs/ractive](https://github.com/ractivejs/ractive) | Next-generation DOM manipulation. |  |
| [vue](https://github.com/vuejs/vue) | [vuejs/vue](https://github.com/vuejs/vue) | Intuitive, fast & composable MVVM for building interactive interfaces. |  |
| [svelte](https://github.com/sveltejs/svelte) | [sveltejs/svelte](https://github.com/sveltejs/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](https://github.com/knockout/knockout) | [knockout/knockout](https://github.com/knockout/knockout) | Knockout makes it easier to create rich, responsive UIs with JavaScript. |  |
| [spine](https://github.com/spine/spine) | [spine/spine](https://github.com/spine/spine) | Lightweight MVC library for building JavaScript applications. |  |
| [espresso.js](https://github.com/techlayer/espresso.js) | [techlayer/espresso.js](https://github.com/techlayer/espresso.js) | A minimal JavaScript library for crafting user interfaces. |  |
| [canjs](https://github.com/canjs/canjs) | [canjs/canjs](https://github.com/canjs/canjs) | Can do JS, better, faster, easier. |  |
| [react](https://reactjs.org/) | - | A library for building user interfaces. It's declarative, efficient, and extremely flexible. Works with a Virtual DOM. | |
| [hyperapp](https://github.com/hyperapp/hyperapp) | [hyperapp/hyperapp](https://github.com/hyperapp/hyperapp) | 1kb JavaScript library for building frontend applications. |  |
| [preact](https://github.com/developit/preact) | [developit/preact](https://github.com/developit/preact) | Fast 3kb React alternative with the same ES6 API. Components & Virtual DOM. |  |
| [nativescript](https://github.com/NativeScript/NativeScript) | [NativeScript/NativeScript](https://github.com/NativeScript/NativeScript) | Build truly native cross-platform iOS and Android apps with JavaScript. |  |
| [react-native](https://github.com/facebook/react-native) | [facebook/react-native](https://github.com/facebook/react-native) | A framework for building native apps with React. |  |
| [riot](https://github.com/riot/riot) | [riot/riot](https://github.com/riot/riot) | React-like library, but with very small size. |  |
| [thorax](https://github.com/walmartlabs/thorax) | [walmartlabs/thorax](https://github.com/walmartlabs/thorax) | Strengthening your Backbone. |  |
| [chaplin](https://github.com/chaplinjs/chaplin) | [chaplinjs/chaplin](https://github.com/chaplinjs/chaplin) | An architecture for JavaScript applications using the Backbone.js library. |  |
| [marionette](https://github.com/marionettejs/backbone.marionette) | [marionettejs/backbone.marionette](https://github.com/marionettejs/backbone.marionette) | A composite application library for Backbone.js that aims to simplify the construction of large scale JavaScript applications. |  |
| [ripple](https://github.com/ripplejs/ripple) | [ripplejs/ripple](https://github.com/ripplejs/ripple) | A tiny foundation for building reactive views. |  |
| [rivets](https://github.com/mikeric/rivets) | [mikeric/rivets](https://github.com/mikeric/rivets) | Lightweight and powerful data binding + templating solution. |  |
| [derby](https://github.com/derbyjs/derby) | [derbyjs/derby](https://github.com/derbyjs/derby) | MVC framework making it easy to write realtime, collaborative applications that run in both Node.js and browsers. |  |
| [derby-awesome](https://github.com/russll/awesome-derby) | [russll/awesome-derby](https://github.com/russll/awesome-derby) | A collection of awesome derby components |  |
| [way.js](https://github.com/gwendall/way.js) | [gwendall/way.js](https://github.com/gwendall/way.js) | Simple, lightweight, persistent two-way databinding. |  |
| [mithril.js](https://github.com/lhorie/mithril.js) | [lhorie/mithril.js](https://github.com/lhorie/mithril.js) | Mithril is a client-side MVC framework (Light-weight, Robust, Fast). |  |
| [jsblocks](https://github.com/astoilkov/jsblocks) | [astoilkov/jsblocks](https://github.com/astoilkov/jsblocks) | jsblocks is better MV-ish framework. |  |
| [feathers](https://github.com/feathersjs/feathers) | [feathersjs/feathers](https://github.com/feathersjs/feathers) | A minimalist real-time JavaScript framework for tomorrow's apps. |  |
| [Keo](https://github.com/Wildhoney/Keo) | [Wildhoney/Keo](https://github.com/Wildhoney/Keo) | Functional stateless React components with Shadow DOM support. |  |
| [atvjs](https://github.com/emadalam/atvjs) | [emadalam/atvjs](https://github.com/emadalam/atvjs) | Blazing fast Apple TV application development using pure JavaScript. |  |
| [Alpine.js](https://github.com/alpinejs/alpine) | [alpinejs/alpine](https://github.com/alpinejs/alpine) | offers you the reactive and declarative nature of big frameworks like Vue or React at a much lower cost. |  |
| [inferno](https://github.com/infernojs/inferno) | [infernojs/inferno](https://github.com/infernojs/inferno) | 🔥 An extremely fast, React-like JavaScript library for building modern user interfaces. |  |
| [FoalTS](https://foalts.org) | - | Elegant and all-inclusive Node.JS framework for building web applications (TypeScript). | |
| [Lucia](https://github.com/aidenybai/lucia) | [aidenybai/lucia](https://github.com/aidenybai/lucia) | 3kb library for tiny web apps. |  |
| [Adonis](https://github.com/adonisjs/core) | [adonisjs/core](https://github.com/adonisjs/core) | The Node.js Framework highly focused on developer ergonomics, stability and confidence. |  |
| [GrapesJS](https://github.com/artf/grapesjs) | [artf/grapesjs](https://github.com/artf/grapesjs) | Free and Open source Web Builder Framework. Next generation tool for building templates without coding. |  |
| [Rete.js](https://github.com/retejs/rete) | [retejs/rete](https://github.com/retejs/rete) | A modular framework for visual programming allows to create node based editor in browser. |  |
| [litegraph.js](https://github.com/jagenjo/litegraph.js) | [jagenjo/litegraph.js](https://github.com/jagenjo/litegraph.js) | A graph node engine and editor similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. |  |
| [Drawflow](https://github.com/jerosoler/Drawflow) | [jerosoler/Drawflow](https://github.com/jerosoler/Drawflow) | This allow you to create data flows easily and quickly. |  |
| [Blockly](https://github.com/google/blockly) | [google/blockly](https://github.com/google/blockly) | A library that adds a visual code editor to web and mobile apps by Google. |  |
| [Million](https://github.com/aidenybai/million) | [aidenybai/million](https://github.com/aidenybai/million) | <1kb compiler-focused virtual DOM. It's fast! |  |
| [Whatsup](https://github.com/whatsup/whatsup) | [whatsup/whatsup](https://github.com/whatsup/whatsup) | A frontend framework for chillout-mode development 🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system. |  |
| [Remult](https://github.com/remult/remult) | [remult/remult](https://github.com/remult/remult) | A CRUD framework for full-stack TypeScript. |  |
## Node-Powered CMS Frameworks
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [KeystoneJS](https://github.com/keystonejs/keystone) | [keystonejs/keystone](https://github.com/keystonejs/keystone) | powerful CMS and web app framework. |  |
| [Reaction Commerce](https://github.com/reactioncommerce/reaction) | [reactioncommerce/reaction](https://github.com/reactioncommerce/reaction) | reactive CMS, real-time architecture and design. |  |
| [Ghost](https://github.com/tryghost/Ghost) | [tryghost/Ghost](https://github.com/tryghost/Ghost) | simple, powerful publishing platform. |  |
| [Apostrophe](https://github.com/punkave/apostrophe) | [punkave/apostrophe](https://github.com/punkave/apostrophe) | CMS with content editing and essential services. |  |
| [We.js](https://github.com/wejs/we/) | [wejs/we](https://github.com/wejs/we) | framework for real time apps, sites or blogs. |  |
| [Hatch.js](https://github.com/inventures/hatchjs) | [inventures/hatchjs](https://github.com/inventures/hatchjs) | CMS platform with social features. |  |
| [TaracotJS](https://github.com/xtremespb/taracotjs-generator/) | [xtremespb/taracotjs-generator](https://github.com/xtremespb/taracotjs-generator) | fast and minimalist CMS based on Node.js. |  |
| [Nodizecms](https://github.com/nodize/nodizecms) | [nodize/nodizecms](https://github.com/nodize/nodizecms) | CMS for CoffeeScript lovers. |  |
| [Cody](https://github.com/jcoppieters/cody) | [jcoppieters/cody](https://github.com/jcoppieters/cody) | CMS with WSYWYG editor. |  |
| [PencilBlue](https://github.com/pencilblue/pencilblue/) | [pencilblue/pencilblue](https://github.com/pencilblue/pencilblue) | CMS and blogging platform. |  |
| [Strapi](https://github.com/strapi/strapi) | [strapi/strapi](https://github.com/strapi/strapi) | Open source Node.js Headless CMS to easily build customisable APIs. |  |
| [Factor](https://github.com/fiction-com/factor) | [fiction-com/factor](https://github.com/fiction-com/factor) | The Javascript CMS |  |
## Templating Engines
*Templating engines allow you to perform string interpolation.*
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [mustache.js](https://github.com/janl/mustache.js) | [janl/mustache.js](https://github.com/janl/mustache.js) | Minimal templating with {{mustaches}} in JavaScript. |  |
| [handlebars.js](https://github.com/handlebars-lang/handlebars.js) | [handlebars-lang/handlebars.js](https://github.com/handlebars-lang/handlebars.js) | An extension to the Mustache templating language. |  |
| [nunjucks](https://mozilla.github.io/nunjucks/) | - | A rich and powerful templating language for JavaScript from Mozilla. | |
| [hogan.js](https://github.com/twitter/hogan.js) | [twitter/hogan.js](https://github.com/twitter/hogan.js) | A compiler for the Mustache templating language. |  |
| [doT](https://github.com/olado/doT) | [olado/doT](https://github.com/olado/doT) | The fastest + concise JavaScript template engine for nodejs and browsers. |  |
| [dustjs](https://github.com/linkedin/dustjs/) | [linkedin/dustjs](https://github.com/linkedin/dustjs) | Asynchronous templates for the browser and node.js. |  |
| [eco](https://github.com/sstephenson/eco/) | [sstephenson/eco](https://github.com/sstephenson/eco) | Embedded CoffeeScript templates. |  |
| [JavaScript-Templates](https://github.com/blueimp/JavaScript-Templates) | [blueimp/JavaScript-Templates](https://github.com/blueimp/JavaScript-Templates) | < 1KB lightweight, fast & powerful JavaScript templating engine with zero dependencies. |  |
| [t.js](https://github.com/jasonmoo/t.js) | [jasonmoo/t.js](https://github.com/jasonmoo/t.js) | A tiny JavaScript templating framework in ~400 bytes gzipped. |  |
| [Pug](https://github.com/pugjs/pug) | [pugjs/pug](https://github.com/pugjs/pug) | Robust, elegant, feature rich template engine for nodejs. (formerly known as Jade) |  |
| [EJS](https://github.com/mde/ejs) | [mde/ejs](https://github.com/mde/ejs) | Effective JavaScript templating. |  |
| [xtemplate](https://github.com/xtemplate/xtemplate) | [xtemplate/xtemplate](https://github.com/xtemplate/xtemplate) | eXtensible Template Engine lib for node and the browser |  |
| [marko](https://github.com/marko-js/marko) | [marko-js/marko](https://github.com/marko-js/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](https://github.com/paularmstrong/swig) | [paularmstrong/swig](https://github.com/paularmstrong/swig) | (Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine. |  |
| [hmpl](https://hmpl-lang.dev) | - | Server-oriented customizable templating for JavaScript. | |
## Game Engines
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [A-Frame](https://aframe.io) | - | Make WebVR. | |
| [Cocos](https://www.cocos.com) | - | Open Source Cross-Platform Game Development Framework. | |
| [Impact](https://impactjs.com) | - | Impact - HTML5 Canvas & JavaScript Game Engine. | |
| [GDevelop](https://gdevelop.io) | - | Free and Easy Game-Making App. | |
| [Kaboom.js](https://kaboomjs.com) | - | A game programming library that helps you make games fast and fun. | |
| [Matter.js](https://brm.io/matter-js) | - | A 2D rigid body JavaScript physics engine. | |
| [melonJS](https://melonjs.org) | - | Open source HTML5 game engine that empowers developers and designers to focus on content. | |
| [Phaser](https://phaser.io) | - | Phaser - A fast, fun and free open source HTML5 game framework. | |
| [PixiJS](https://pixijs.com) | - | The HTML5 Creation Engine. | |
| [PlayCanvas](https://playcanvas.com) | - | PlayCanvas WebGL Game Engine. | |
## Articles and Posts
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [The JavaScript that you should know](https://medium.com/@pedropolisenso/o-javasscript-que-voc%C3%AA-deveria-conhecer-b70e94d1d706) | - | Article about concepts of JavaScript Functional. | |
| [Multi-threading using web-workers](https://www.loginradius.com/blog/async/adding-multi-threading-to-javascript-using-web-workers/) | - | Web Workers: Adding Multi-threading to JavaScript | |
| [this keyword in JavaScript](https://www.loginradius.com/blog/async/breaking-down-this-keyword-in-javascript/) | - | Breaking down the 'this' keyword in JavaScript | |
## Data Visualization
*Data visualization tools for the web.*
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [d3](https://github.com/d3/d3) | [d3/d3](https://github.com/d3/d3) | A JavaScript visualization library for HTML and SVG. |  |
| [metrics-graphics](https://github.com/mozilla/metrics-graphics) | [mozilla/metrics-graphics](https://github.com/mozilla/metrics-graphics) | A library optimized for concise, principled data graphics and layouts. |  |
| [three.js](https://github.com/mrdoob/three.js) | [mrdoob/three.js](https://github.com/mrdoob/three.js) | JavaScript 3D library. |  |
| [Chart.js](https://github.com/chartjs/Chart.js) | [chartjs/Chart.js](https://github.com/chartjs/Chart.js) | Simple HTML5 Charts using the <canvas> tag. |  |
| [paper.js](https://github.com/paperjs/paper.js) | [paperjs/paper.js](https://github.com/paperjs/paper.js) | The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas. |  |
| [fabric.js](https://github.com/kangax/fabric.js) | [kangax/fabric.js](https://github.com/kangax/fabric.js) | JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser. |  |
| [peity](https://github.com/benpickles/peity) | [benpickles/peity](https://github.com/benpickles/peity) | Progressive