awesome-javascript
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
https://github.com/sorrycc/awesome-javascript
Last synced: 1 day ago
JSON representation
-
Spreadsheet
-
Runner
- 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.
- Jspreadsheet CE - Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software.
- RevoGrid - RevoGrid is a fast, responsive excel like data grid library for modern web applications.
-
-
Storage
-
Runner
- store.js - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
- jStorage - jStorage is a simple key/value database to store data on browser side.
- cross-storage - Cross domain local storage, with permissions.
- basket.js - A script and resource loader for caching & loading scripts with localStorage.
- bag.js - A caching script and resource loader, similar to basket.js, but with additional k/v interface and localStorage / websql / indexedDB support.
- basil.js - The missing JavaScript smart persistent layer.
- jquery-cookie - A simple, lightweight jQuery plugin for reading, writing and deleting cookies.
- js-cookie - A simple, lightweight JavaScript API for handling browser cookies.
- Cookies - JavaScript Client-Side Cookie Manipulation Library.
- sql.js - SQLite compiled to JavaScript through Emscripten.
- pouchdb - Javascript db inspired by Apache CouchDB to run well within the browser.
- crumbsjs - A lightweight vanilla ES6 cookies and local storage JavaScript library.
- awesome-web-storage - Everything you need to know about client-side storage.
- datavore - A small, fast, in-browser database engine written in JavaScript.
- Hoodie - Offline First backend to work in browser without internet connectivity.
- NeDB - Embedded Persistent database for Browsers, nw.js, electron.
- Dexie.js - Dexie.js is a wrapper library for indexedDB.
- proxy-web-storage - Keep the type of storage value unchanged and change array and object directly. Supports listening to the changes and setting expires.
- PostgreSQL Browser - Browser PostgreSQL Playground, no server, just client and pglite (postgresql wasm)
- localForage - Offline storage, improved. Wraps IndexedDB, WebSQL, or localStorage using a simple but powerful API.
- lawnchair.js - Simple client-side JSON storage.
- DB.js - Promise based IndexDB Wrapper library.
- proxy-web-storage - Keep the type of storage value unchanged and change array and object directly. Supports listening to the changes and setting expires.
-
-
Streaming
-
Runner
- Tailor - Streaming layout service for front-end microservices, inspired by Facebook's BigPipe.
-
-
String
-
Runner
- voca - The ultimate JavaScript string library
- selecting - A library that allows you to access the text selected by the user.
- 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.
- 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.
- url-state-machine - Super fast spec-compliant URL parser state machine for Node.js.
- underscore.string - String manipulation extensions for Underscore.js JavaScript library.
- URI.js - JavaScript URL mutation library.
-
-
Table/Grid
-
Other
- Bootstrap Table - An Extension to the popular Bootstrap framework for creating tables that fit the style of your site with no need for additional markup.
- Masonry - A cascading grid layout library.
- Packery - A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts.
- Isotope - A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts.
- jTable - A jQuery plugin to create AJAX based CRUD tables.
- Tabulator - (jQuery plug-in) An extremely flexible library that create tables with a range of interactive features from any JSON data source or existing HTML table.
- floatThead - (jQuery plug-in) lock any table's header while scrolling within the body. Works on any table and requires no custom html or css.
- flexboxgrid - Grid based on CSS3 flexbox.
-
-
Templating Engines
-
Runner
- 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.
- 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.
- hmpl - Server-oriented customizable templating for JavaScript.
- dustjs - Asynchronous templates for the browser and node.js.
- eco - Embedded CoffeeScript templates.
-
-
Testing Frameworks
-
Assertion
- Enzyme - Enzyme is a JavaScript Testing utility for React that makes it easier to assert, manipulate, and traverse your React Components' output.
- chai - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
- 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.
- Supertest - A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest
- react testing library - Simple and complete React DOM testing utilities that encourage good testing practices.
- Pocket Mocker - In-browser visual network mocking tool, supports fetch/XHR interception.
-
Coverage
-
Frameworks
- Cypress - Complete end-to-end testing framework for anything that runs in a browser and beyond.
- WebdriverI/O - Next-gen browser and mobile automation test framework for Node.js
- mocha - Simple, flexible, fun JavaScript test framework for node.js & the browser.
- jasmine - DOM-less simple JavaScript testing framework.
- 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.
- TestCafe - Automated browser testing for the modern web development stack.
- ava - 🚀 Futuristic JavaScript test runner
- Suites - A unit-testing framework for backends working with inversion of control and dependency injection
- jest - Painless JavaScript Unit Testing.
- tape - Tap-producing test harness for node and browsers.
- qunit - An easy-to-use JavaScript Unit Testing framework.
-
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.
- webdriverio - Next-gen WebDriver test automation framework for Node.js.
- taiko - A Node.js library with a simple API to automate Chromium based browsers.
- Playwright - Node.js library to automate Chromium, Firefox and WebKit with a single API.
- puppeteer - Headless Chrome Node.js API by official Google Chrome team.
-
-
Timeline
-
Runner
- TimelineJS v3 - A Storytelling Timeline built in JavaScript.
- timesheet.js - JavaScript library for simple HTML5 & CSS3 time sheets.
-
-
Tips
-
Other
- tipsy - Facebook-style tooltips plugin for jQuery.
- opentip - An open source JavaScript tooltip based on the prototype framework.
- qTip2 - Pretty powerful tooltips.
- simptip - A simple CSS tooltip made with Sass.
- toolbar - A tooltip style toolbar jQuery plugin
- hint.css - A tooltip library in CSS for your lovely websites.
- tooltipster - A jQuery tooltip plugin.
-
-
Tours And Guides
-
Runner
- intro.js - A better way for new feature introduction and step-by-step users guide for your website and project.
- shepherd - Guide your users through a tour of your app.
- bootstrap-tour - Quick and easy product tours with Twitter Bootstrap Popovers.
- tourist - Simple, flexible tours for your app.
- hopscotch - A framework to make it easy for developers to add product tours to their pages.
- joyride - jQuery feature tour plugin.
- focusable - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page.
- driver.js - Powerful yet light-weight, vanilla JavaScript engine to drive the user's focus across the page
-
-
Transpilers
- SWC - Extensible Rust-based platform for compilation.
-
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.
- Zod - TypeScript-first schema validation with built-in static type inference.
- Yup - JavaScript schema builder and validator.
-
Typography
-
Other
- FlowType.JS - Web typography at its finest: font-size and line-height based on element width.
- BigText - jQuery plugin, calculates the font-size and word-spacing needed to match a line of text to a specific width.
- circletype - A jQuery plugin that lets you curve type on the web.
- simple-text-rotator - Add a super simple rotating text to your website with little to no markup.
- novacancy.js - Text Neon Golden effect jQuery plug-in.
- jquery-responsive-text - Make your text sizing responsive!
- FitText.js - A jQuery plugin for inflating web type.
- Lettering.js - A lightweight, easy to use JavaScript `<span>` injector for radical Web Typography.
- slabText - A jQuery plugin for producing big, bold & responsive headlines.
-
-
Validation
-
Runner
- FormValidation - The best jQuery plugin to validate form fields. Formerly BootstrapValidator.
- Parsley.js - Validate your forms, frontend, without writing a single line of JavaScript.
- validator.js - String validation and sanitization.
- validate.js - Lightweight JavaScript form validation library inspired by CodeIgniter.
- validatr - Cross Browser HTML5 Form Validation.
- is.js - Check types, regexps, presence, time and more.
- FieldVal - multipurpose validation library. Supports both sync and async validation.
- vest - 🦺 Declarative form validation framework inspired by unit testing.
- Funval - Data validation using functions interfaces (support TypeScript).
- jquery-validation - jQuery Validation Plugin.
-
-
Video/Audio
-
Other
- AmplitudeJS - Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required.
- prettyembed.js - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support.
- Play-em JS - Play'em is a JavaScript component that manages a music/video track queue and plays a sequence of songs by embedding several players in a HTML DIV including Youtube, Soundcloud and Vimeo.
- polyplayer - Rule YouTube, Soundcloud and Vimeo player with one API.
- flowplayer - The HTML5 video player for the web
- SoundJS - A library to make working with audio on the web easier. It provides a consistent API for playing audio in different browsers.
- video.js - Video.js - open source HTML5 & Flash video player.
- FitVids.js - A lightweight, easy-to-use jQuery plugin for fluid width video embeds.
- Ion.Sound - Simple sounds on any web page.
- photobooth-js - A widget that allows users to take their avatar pictures on your site.
- clappr - An extensible media player for the web http://clappr.io
- ts-audio - an agnostic and easy-to-use library to work with the `AudioContext` API.
- ffmpeg.js - FFmpeg optimized for in-browser use: minimal size for faster loading, asm.js, performance tunings, etc.
- flv.js - An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash.
- hls.js - A JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
- ractive-player - A library for making interactive videos in React.js.
-
-
Vision Detection
-
Runner
- tracking.js - A modern approach for Computer Vision on the web.
- ocrad.js - OCR in JavaScript via Emscripten.
-
-
Voice Command
-
WebSockets
-
Web Worker
-
Runner
- partytown - Relocate resource intensive third-party scripts off of the main thread and into a web worker.
- comlink - Comlink is a tiny library (1.1kB), that removes the mental barrier of thinking about postMessage and hides the fact that you are working with workers.
- greenlet - Move an async function into its own thread.
- workerize - Moves a module into a Web Worker, automatically reflecting exported functions as asynchronous proxies.
- worker-dom - An in-progress implementation of the DOM API intended to run within a Web Worker.
- threads.js - Offload CPU-intensive tasks to worker threads in node.js, web browsers and electron using one uniform API.
- workly - A really simple way to move a function or class to a web worker.
- stockroom - Offload your store management to a worker easily.
- workerpool - Offload tasks to a pool of workers on node.js and in the browser.
- clooney - Clooney is an actor library for the web. Use workers without thinking about workers.
-
Programming Languages
Categories
Misc
58
Data Visualization
46
MVC Frameworks and Libraries
44
Testing Frameworks
36
Form Widgets
34
Editors
24
Storage
23
Animations
22
Sliders
20
Scroll
18
Modals and Popups
17
Video/Audio
16
Templating Engines
15
Documentation
15
QA Tools
14
Date
13
String
13
API
13
Node-Powered CMS Frameworks
12
Package Managers
12
Functional Programming
11
Game Engines
11
Loading Status
11
Validation
10
Boilerplates
10
Loaders
10
Web Worker
10
Machine Learning
10
Bundlers
10
Notifications
10
Reactive Programming
9
ORM
9
Number
9
Typography
9
Tours And Guides
8
Control Flow
8
Maps
8
Table/Grid
8
Log
8
Color
7
Generators
7
Frameworks
7
Tips
7
Type Checkers
7
Keyboard Wrappers
6
Data Structure
6
ES6
6
Routing
6
SDK
5
Menu
5
I18n And L10n
5
Security
5
Spreadsheet
5
Files
5
Range Sliders
4
RegExp
4
Full Text Search
3
Images
3
Articles and Posts
3
Benchmark
3
Gesture
3
Image Processing
3
Code highlighting
3
Timeline
2
WebSockets
2
Voice Command
2
Vision Detection
2
Streaming
1
Transpilers
1
Browser Detection
1
Operating System
1
Generative AI
1
Component Management
1
Sub Categories
Keywords
javascript
189
typescript
43
nodejs
32
react
27
jquery
20
vue
20
html
13
javascript-library
12
angular
12
svg
12
node
11
jquery-plugin
11
framework
11
awesome-list
11
visualization
10
browser
9
postgresql
9
es6
9
css
9
awesome
9
compiler
9
graph
9
chart
9
graphql
8
modal
8
html5
8
mysql
8
performance
8
web
8
animation
7
web-worker
7
database
7
testing
7
wysiwyg
7
data-visualization
7
dom
7
orm
7
editor
7
canvas
7
json
6
jsx
6
functional-programming
6
automation
6
charts
6
sqlite
6
library
6
tdd
6
static-site-generator
6
wysiwyg-editor
5
fetch
5