An open API service indexing awesome lists of open source software.

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

      • 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.
    • 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

    • Runner

      • annyang - A JavaScript library for adding voice commands to your site, using speech recognition.
      • voix.js - A JavaScript library to add voice commands to your sites, apps or games.
  • WebSockets

    • Other

      • Socket.io - time applications. Supports auto-reconnection, rooms, and fallbacks (e.g., polling).
      • ws
  • 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.