Libraries
My Awesome JavaScript List Part 2
JavaScript Frameworks & Libraries
My Awesome JavaScript List Part 2
#### Here’s the rest of my stash!
…well… not really… here’s the rest of my stash:
Web Development frameworks
· Next.js — Framework for server-rendered or statically-exported React apps.
· San — Flexible JavaScript component framework.
· hapi — Rich framework for building applications and services.
· Koa — Smaller, more expressive, and more robust foundation for web applications and APIs.
· Umi — Pluggable enterprise-level react application framework.
· Vue.js — Progressive JavaScript Framework.
· Mithril — Modern client-side Javascript framework for building Single Page Applications. (HN)
· Solid — Declarative, efficient, and flexible JavaScript library for building user interfaces.
· Neutrino dev
· Alpine.js — Rugged, minimal framework for composing JavaScript behavior in your markup. (Awesome Alpine)
· After.js — Next.js-like framework for server-rendered React apps built with React Router 4.
· Torus — Event-driven model-view UI framework for the web, focused on being tiny, efficient, and free of dependencies. (Web)
· Hyperapp — Tiny framework for building web interfaces. (Web) (HN) (Hyperawesome)
· Hyperapp FX — Effects for use with Hyperapp.
· Phenomic — Modular website compiler (React, Webpack, Reason and whatever you want).
· Halfmoon — Front-end framework with a built-in dark mode and full customizability using CSS variables; great for building dashboards and tools. (Docs)
· Sinuous — Low-level UI library with a tiny footprint. (Docs)
· Overture — Powerful JS library for building really slick web applications, with performance at, or surpassing, native apps.
· Ractive.js — Next-generation DOM manipulation.
· JSX Lite — Write components once, run everywhere. Compiles to Vue, React, Solid, Liquid, and more.
· Perlite — Hyperactiv + lit-html + extensions. Simple and declarative way to create rich client-side widgets designed with server-side apps in mind.
· Democrat — Library that mimic the API of React (Components, hooks, Context…) but instead of producing DOM mutation it produces a state tree.
· Raj — Elm Architecture for JavaScript.
· Reframe — New kind of web framework.
· observablehq/stdlib — Observable standard library.
· Typera — Type-safe routes for Express and Koa.
· Frourio — Fast and type-safe full stack framework, for TypeScript. (Web)
· Svelto — Modular front end framework for modern browsers, with battery included: 100+ widgets and tools.
· modular — Collection of tools and guidance to enable UI development at scale. (Tweet)
· Turbo — Speed of a single-page web application without having to write any JavaScript. (Web)
· Fre — Tiny Coroutine framework with Fiber.
· Glimmer — Fast and light-weight UI components for the web. (Code)
· Glimmer VM — Flexible, low-level rendering pipeline for building a “live” DOM from Handlebars templates that can subsequently be updated cheaply when data changes.
· frint — Modular JavaScript framework for building scalable and reactive applications.
· Nano Router — Framework agnostic minimalistic router with a focus on named routes.
· tiny-request-router — Fast, generic and type safe router (match request method and path).
· Synergy — Tiny runtime library for building web user interfaces. (HN)
· dflex — JavaScript Project to Manipulate DOM Elements.
· morphdom — Fast and lightweight DOM diffing/patching (no virtual DOM needed).
· Forgo — Ultra-light UI runtime. Makes it super easy to create modern web apps using JSX (like React).
· Whats Up — Front-end framework based on ideas of streams and fractals.
· Boost — Collection of type-safe cross-platform packages for building robust server-side and client-side systems.
· Nostalgie — Opinionated, full-stack, runtime-agnostic framework for building web apps and web pages using react. (Web)
· Lumino — Library for building interactive web applications.
Animation
· Anime.js — JavaScript animation engine.
· popmotion — Functional, reactive animation library.
· impress.js — Presentation framework based on the power of CSS3 transforms and transitions.
· Pts — Library for visualization and creative-coding.
· lax.js — Simple & light weight (<2kb gzipped) vanilla JS plugin to create smooth & beautiful animations when you scroll.
· Flipping — Library (and collection of adapters) for implementing FLIP transitions.
· Ola — Smooth animation library for interpolating numbers.
· react-spring — Spring physics based React animation library.
· FAT — Web’s fastest and most lightweight animation tool.
· React Easy Flip — Lightweight React library for smooth FLIP animations.
· AOS — Animate on scroll library.
· flubber — Tools for smoother shape animations.
CLI
· qoa — Minimal interactive command-line prompts.
Test
· Unexpected — Extensible BDD assertion toolkit. (Docs)
· Fishery — Library for setting up JavaScript objects as test data.
· pentf — Parallel end-to-end test framework.
· test-flat — Test framework extension to support resources teardown and cleanup in flat tests.
· zora — Lightest, yet Fastest JavaScript test runner for nodejs and browsers.
· Vest — Declarative Validation Testing.
State management
· Mutik — Tiny (495B) immutable state management library based on Immer.
· Storeon — Tiny event-based Redux-like state manager for React and Preact.
· Overstated — React state management library that’s delightful to use, without sacrificing performance or scalability.
· Effector — Reactive state manager. (Awesome) (Docs) (effector-storage)
· Akita — State Management Tailored-Made for JS Applications.
· Observable Store — Provides a simple way to manage state in Angular, React, Vue.js and other front-end applications.
· Cerebral — Declarative state and side effects management solution for popular JavaScript frameworks.
· Hooksy — State management solution based on react hooks.
· React Easy State — Simple React state management. Made with ❤️ and ES6 Proxies.
· wana — Easy observable state for React.
· Recoil — Experimental set of utilities for state management with React. (Web) (Video) (Reddit) (Rewriting from scratch) (Recoilize — Recoil developer tool)
· State Designer — JavaScript and TypeScript library for managing the state of a user interface.
· Fluxible — Pluggable container for universal flux applications.
· Logux State — Tiny state manager with CRDT, cross-tab, and Logux support.
· Statery — Surprise-Free State Management. Designed for React with functional components.
API bindings
DB
· sql.js — SQLite compiled to JavaScript. Allows you to create a relational database and query it entirely in the browser. (Docs) (HN)
· SQigiL — Postgres SQL template string for Javascript.
· Postgrest JS — Isomorphic JavaScript client for PostgREST.
· Connect PG Simple — Simple, minimal PostgreSQL session store for Express/Connect.
React
This is gonna be a big section….
· state-machines-in-react — Small React, xstate and Framer Motion demo.
UI Components
Table / Data Grid
reactable — Fast, flexible, and simple data tables in React.
ag-grid — Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components.
griddle-react — Simple Grid Component written in React.
react-data-components — React components for sorting, filtering and pagination of data.
react-bootstrap-table — It’ s a react table for bootstrap.
react-data-grid — Excel-like grid component built with React, with editors, keyboard navigation, copy & paste, and the like.
react-pivot — React-Pivot is a data-grid component with pivot-table-like functionality for data display, filtering, and exploration.
autoresponsive-react — Auto Responsive Layout Library For React.
reactabular — Spectacular tables for React.
fixed-data-table — A React table component designed to allow presenting thousands of rows of data.
sematable — Client side sorting, pagination, and text filter for redux/react based apps.
Infinite Scroll
react-lazyload — Lazyload your Component, Image or anything matters the performance.
react-infinity — A UITableView Inspired list and grid display solution with element culling and smooth animations.
react-infinite — A browser-ready efficient scrolling container based on UITableView.
react-infinite-grid — A React component which renders a grid of elements.
react-list — A versatile infinite scroll React component.
react-virtualized — React components for efficiently rendering large lists and tabular data.
Overlay
Display overlay / modal / alert / dialog / lightbox / popup
react-dock — Resizable dockable react component.
react-overlays — Utilities for creating robust overlay components.
boron — A collection of dialog animations with React.js.
react-modal2 — Simple modal component for React.
react-modal — Accessible modal dialog component for React.
react-skylight — A react component for modals and dialogs.
rodal — A React modal with animations.
react-modal-box — React Modal Box Component.
react-aria-modal — A fully accessible and flexible React modal built according WAI-ARIA Authoring Practices.
Notification
Toaster / snackbar — Notify the user with a modeless temporary little popup
react-notification-system — A complete and totally customizable component for notifications in React.
react-notification — Snackbar notifications for React.
react-s-alert — Alerts / Notifications for React with rich configuration options.
react-crouton — A message component for reactjs.
reapop — A React & Redux notifications system.
Tooltip
react-tooltip — React tooltip component.
rc-tooltip — React Tooltip.
react-portal-tooltip — Awesome React tooltips.
Menu
Menus / sidebars
react-burger-menu — An off-canvas sidebar component with a collection of effects and styles using CSS transitions and SVG path animations.
react-sidebar — A sidebar component for React.
react-motion-menu — Motion menu component powered by React Motion.
react-offcanvas — Off-canvas menus for React.
react-tree-menu — A stateless tree menu component for React.
react-metismenu — A ready-to-use menu component for React.
react-contextmenu — Context Menu implemented in React.
rc-menu — React Menu.
Sticky
Fixed headers / scroll-up headers / sticky elements
react-sticky — < Sticky /> component for awesome React apps.
react-headroom — Hide your header until you need it.
react-listview-sticky-header — React listview with sticky section header.
react-sticky-state — React StickyState Component makes native position:sticky statefull and polyfills the missing sticky browser feature.
react-stickynode — A performant and comprehensive React sticky.
react-sticky-node — Sticky react component.
Tabs
react-tabs — React tabs component.
react-simpletabs — Just a simple tabs component built with React.
react-tabtab — React, tabs.
Loader
Loaders / spinners / progress bars — Let the user know that something is loading
halogen — A collection of loading spinners with React.js.
react-ladda — React wrapper for Ladda buttons.
react-progress-button — Simple react.js component for an inline progress indicator.
react-loader — React component that displays a spinner via spin.js until your component is loaded.
react-spinkit — A collection of loading indicators animated with CSS for React.
react-progress-label — Progress label component.
react-redux-loading-bar — Simple Loading Bar for Redux and React.
react-loaders — Lightweight wrapper around Loaders.css.
react-md-spinner — Material Design spinner components for React.js.
rc-progress — React Progress Bar.
react-block-ui — Easy way to block the user from interacting with your UI.
Carousel
react-slick — React carousel component.
react-responsive-carousel — React.js Responsive Carousel (with Swipe).
Collapse
react-collapse — Component-wrapper for collapse animation with react-motion for elements with variable (and dynamic) height.
react-accessible-accordion — Accessible Accordion component for React.
Chart
Display data in charts / graphs / diagrams
react-chartist — React component for Chartist.js.
d3-react-squared — Lightweight event system for (d3) charts and other components for ReactJS.
react-d3-components — D3 Components for React.
recharts — Redefined chart library built with React and D3.
react-chartjs — Common react charting components using chart.js.
react-dazzle — Dashboards made easy in React JS.
react-vis — Data visualization library based on React and d3.
react-sparkline — React component for rendering simple sparklines.
react-sparklines — Beautiful and expressive Sparklines React component.
rumble-charts — React components for building composable and flexible charts.
react-micro-bar-chart — React component for micro bar-charts rendered with D3.
react-timeseries-charts — Declarative timeseries charts.
react-google-charts — React-google-charts React component.
victory — Data viz for React.
react-sigmajs — Lightweight but powerful library for drawing network graphs built on top of SigmaJS.
chartify — React.js plugin for building animated draggable and customizable charts.
react-highcharts — React-highcharts.
react-trend — Simple, elegant spark lines.
Tree
Display a tree data structure
react-treeview — Easy, light, flexible tree view made with React.
react-ui-tree — React tree component.
react-treebeard — React Tree View Component. Data-Driven, Fast, Efficient and Customisable.
UI Navigation
Ways to navigate views
react-scroll — React scroll component.
react-swipe-views — A React Component for binded Tabs and Swipeable Views.
Custom Scrollbar
react-custom-scrollbars — React scrollbars component.
react-scrollbar — Scrollbar component for React.
react-smooth-scrollbar — React implementation of smooth-scrollbar.
react-gemini-scrollbar — React component for custom overlay-scrollbars with native scrolling mechanism.
react-custom-scroll — Easily customize the browser scroll bar with native OS scroll behavior.
Audio / Video
react-player — A react component for playing a variety of URLs, including file paths, YouTube, SoundCloud and Vimeo.
react-youtube — React.js powered YouTube player component.
react-soundplayer — Create custom SoundCloud players with React.
react-video — React component to load video from Vimeo or Youtube across any device.
react-music — Make beats with React.
react-dailymotion — Dailymotion player component for React.
video-react — A web video player built for the HTML5 world using React library.
Map
react-gmaps — A Google Maps component for React.js.
google-map-react — Universal google map react component, allows render react components on the google map.
react-googlemaps — A declarative React interface to Google Maps.
react-leaflet — React components for Leaflet maps.
react-geosuggest — A React autosuggest for the Google Maps Places API.
react-map-gl — A React wrapper for MapboxGL-js and overlay API.
react-mapbox-gl — A React binding of mapbox-gl-js.
Time / Date / Age
Display time / date / age
react-time — Component for React to render relative and/or formatted dates into < time> HTML5 element.
react-timeago — A simple time-ago component for ReactJs.
timeago-react — Simple and efficient react component to format date with
*** time ago
statement. eg: '3 hours ago'.
Photo / Image
Display images / photos
react-image-gallery — Responsive image gallery, carousel, image slider react component.
react-images — A simple lightbox component for displaying an array of images.
react-photo-gallery — Responsive React Photo Gallery.
react-svg-pan-zoom — A React component that adds pan and zoom features to SVG.
react-image-lightbox — React lightbox component.
react-intense — A React component for viewing large images up close.
Icons
Display icons / icon set / emojis
react-icons — Svg react icons of popular icon packs using ES6 imports.
react-emoji — An emoji mixin for React.
react-emoji-react — A clone of slack emoji reactions in react.
Paginator
Display a control element to paginate
react-paginate — A ReactJS component that creates a pagination.
Markdown Viewer
Display parsed markdow source
react-markdown — Render Markdown as React components.
Miscellaneous
react-timesheet — Time Sheet Component for React.
react-blur — React component for blurred backgrounds.
react-split-pane — React split-pane component.
typography — A powerful toolkit for building websites with beautiful typography.
react-json-tree — React JSON Viewer Component, Extracted from redux-devtools.
react-resizable-and-movable — Resizable and movable component for React.
react-dnr — Dragable and Resizable window build with React.js.
react-resizable-box — Resizable component for React. #reactjs.
react-file-reader-input — React file input component for complete control over styling and abstraction from file reading.
react-pagespeed-score — A React component for display a dial-type chart of PageSpeed Insights.
react-autolink — An autolink mixin for React.
react-svg-buttons — Configurable animated SVG buttons for react.
react-avatar — Universal React avatar component makes it possible to generate avatars based on user information.
react-joyride — Create walkthroughs and guided tours for your ReactJS apps. Now with standalone tooltips!.
material-color-hash — Hash strings to Material UI colors.
react-facebook — Facebook components like a Login button, Like, Share, Comments, Page or Embedded Post.
Form Components
Let the user enter data
Date / Time picker
Date picker / time picker / datetime picker / date range picker
react-datepicker — A simple and reusable datepicker component for React.
rc-calendar — React Calendar.
react-date-range — A React component for choosing dates and date ranges.
react-day-picker — Flexible date picker for React.
react-daterange-picker — A React based date range picker.
react-yearly-calendar — React.js Yearly Calendar Component.
react-calendar — A modular toolkit to build calendar-related things in React.
input-moment — React datetime picker powered by momentjs.
react-datetime — A lightweight but complete datetime picker react component.
react-bootstrap-datetimepicker — A react.js datetime picker for bootstrap.
react-bootstrap-daterangepicker — A date/time picker for react (using bootstrap). This is a react port of bootstrap-daterangepicker.
react-big-calendar — Gcal/outlook like calendar component.
react-date-select — A React Date Select / Picker Input Component.
react-infinite-calendar — Infinite scrolling date-picker built with React, with localization, themes, keyboard support, and more.
react-dates — An easily internationalizable, mobile-friendly datepicker library for the web.
react-flatpickr — Flatpickr for React.
Input Types
Masked inputs, specialized inputs; email / telephone number / credit card / etc.
react-input-mask — Yet another react component for input masking.
react-maskedinput — Masked < input/> React component.
react-text-mask — Input mask for React, Angular, and vanilla JavaScript. Flexible, robust & tiny.
react-credit-cards — Beautiful credit cards for your payment forms.
Autocomplete
Autosuggest / autocomplete / typeahead
react-autosuggest — WAI-ARIA compliant React autosuggest component.
react-typeahead — Pure react-based typeahead and typeahead-tokenizer.
react-typeahead-component — Typeahead, written using the React.js library.
Select
react-selectize — A Stateless & Flexible Select component for React inspired by Selectize.
react-aria-menubutton — A fully accessible, easily themeable, React-powered menu button.
react-select — A Select control built with and for React JS.
react-select-box — An accessible select box component for React.
Color Picker
react-input-color — React input color component with hsv color picker.
react-color — Color Pickers from Sketch, Photoshop, Chrome & more.
coloreact — A tiny Color Picker for React.
Toggle
react-toggle — An elegant, accessible toggle component for React. Also a glorified checkbox.
react-ios-switch — React switch component.
Slider
rc-slider — React Slider.
react-slider — Slider component for React.
Radio Button
react-radio-group — Better radio buttons.
Type Select
Let the user select something (e.g. a tag) while typing
react-tagsinput — A simple react component for inputing tags.
react-tag-input — A fantastically simple tagging component for your React projects.
react-mentions — Mention people in a textarea.
react-tokeninput — Tokeninput component for React.
react-autocomplete-input — Autocomplete input field for React.
Autosize Input / Textarea
react-input-autosize — Auto-resizing input field for React.
react-textarea-autosize — < textarea /> component for React which grows with content.
Star Rating
react-star-rating — A simple star rating component built with React.
react-star-rating-input — React.js component for entering 0–5 (or more) stars.
Drag and Drop
react-draggable — React draggable component.
react-dnd-touch-backend — Touch Backend for react-dnd.
react-dropzone — Simple HTML5 drag-drop zone with React.js.
react-dnd — Drag and Drop for React.
react-sortable-pane — Sortable and resizable pane component for React.
react-dragula — Drag and drop so simple it hurts.
react-droparea — Drag and Drop library for React.
Sortable List
Let the user define an order on a list
sortablejs — Sortable — is a JavaScript library for reorderable drag-and-drop lists on modern browsers and touch devices. No jQuery. Supports Meteor, AngularJS, React, Polymer, Knockout and any CSS library, e.g. Bootstrap.
react-anything-sortable — A ReactJS component that can sort any children with touch support and IE8 compatibility.
react-sortable-hoc — A set of higher-order components to turn any list into an animated, touch-friendly, sortable list.
react-sortable — A sortable list component built with React.
Rich Text Editor
react-quill — A Quill component for React.
react-ace — React Ace Component.
react-contenteditable — React component for a div with editable contents.
react-codemirror — Codemirror Component for React.js.
react-medium-editor — React wrapper for medium-editor.
draft-js — A React framework for building text editors.
ritzy — Collaborative web-based rich text editor.
megadraft — Rich Text editor built on top of draft.js.
react-trumbowyg — React wrapper for Trumbowyg.
alloyeditor — WYSIWYG editor based on CKEditor with completely rewritten UI.
react-draft-wysiwyg — A Wysiwyg editor build on top of ReactJS and DraftJS.
Markdown Editor
react-md-editor — React.js Markdown Editor Component.
react-markdown-editor — A markdown editor using React/Reflux.
Image Editing
Image manipulation
react-avatar-cropper — Aiming to be a complete solution for avatar cropping in react.
react-avatar-editor — Facebook like, avatar / profile picture component. Resize and crop your uploaded image using a clear user interface.
react-image-crop — A responsive image cropping tool for React.
react-image-cropper — React image crop.
Form Component Collections
formsy-react-components — A set of React JS components for use in a formsy-react form. Markup adheres to Bootstrap 3 form structure.
formsy-material-ui — A Formsy compatibility wrapper for Material-UI form components.
react-input-enhancements — Set of enhancements for input control.
react-widgets — An à la carte set of polished, extensible, and accessible inputs built for React.
Miscellaneous
react-designer — Easy to configure, lightweight, editable vector graphics in your react components.
react-images-uploader — React.js component for uploading images to the server.
react-tabguard — React Tabguard.
MISC
· micro github — Tiny microservice that makes adding authentication with GitHub to your application easy.
· pico.js — Face detection library in200 lines of JavaScript.
· mdxc — Use React Components within Markdown.
· ReLaXeD — Create PDF documents using web technologies. (Examples)
· Dragula — Drag and drop so simple it hurts.
· Hammer.js — Multi-touch gestures.
· emittery — Simple and modern async event emitter.
· Xstate — State machines and statecharts for the modern web. (State Machines Workshop)
· xstate-component-tree — Build a tree of UI components based on your state chart.
· virtual-scroller — Maps a provided set of JavaScript objects onto DOM nodes, and renders only the DOM nodes that are currently visible, leaving the rest “virtualized”.
· jSPDF — Client-side JavaScript PDF generation for everyone.
· ForgJS — JavaScript lightweight object validator.
· faker.js — Generate massive amounts of realistic fake data in Node.js and the browser.
· arg — Simple argument parsing.
· fbt — JavaScript Internationalization Framework.
· fuzzysearch — Tiny and blazing-fast fuzzy search in JavaScript.
· normalizr — Normalizes nested JSON according to a schema.
· FBJS — Collection of utility libraries used by other Facebook JS projects.
· Uppy — Next open source file uploader for web browsers. (Web)
· ScrollReveal — Animate elements as they scroll into view.
· Shiny — Add shiny reflections to text, backgrounds, and borders on devices that support the DeviceMotion event.
· Hotkey Behavior — Trigger a action on element when keyboard hotkey is pressed.
· Bili — Makes it easier to bundle JavaScript libraries.
· Memoizee — Complete memoize/cache solution for JavaScript.
· Immer — Create the next immutable state by mutating the current one.
· FlexSearch — Web’s fastest and most memory-flexible full-text search library with zero dependencies.
· cofx — Node and javascript library that helps developers describe side-effects as data in a declarative, flexible API.
· Mercury Parser — Extracts the bits that humans care about from any URL you give it.
· Refract — Harness the power of reactive programming to supercharge your components.
· MemJS — Memcache client for node using the binary protocol and SASL authentication.
· memfs — In-memory filesystem with Node’s API.
· Accounts — Fullstack authentication and accounts-management for GraphQL and REST.
· Cleave.js — Format input text content when you are typing…
· Unistore — Tiny 350b centralized state container with component bindings for Preact & React.
· Ramda — Practical functional library for JavaScript programmers.
· fromfrom — JS library written in TS to transform sequences of data from format to another.
· Editor.js — Block-styled editor with clean JSON output.
· ijk — Transforms arrays into virtual DOM trees.
· Cleave.js — Format input text content when you are typing.
· Oboe.js — Streaming approach to JSON. Oboe.js speeds up web applications by providing parsed objects before the response completes.
· Choices.js — Vanilla JS customisable select box/text input plugin.
· Shepherd — Guide your users through a tour of your app.
· object-cull — Create a copy of an object with just the bits you actually need.
· Sigma — JavaScript library dedicated to graph drawing.
· interact.js — JavaScript drag and drop, resizing and multi-touch gestures with inertia and snapping for modern browsers.
· flru — Tiny (215B) and fast Least Recently Used (LRU) cache.
· Yup — Dead simple Object schema validation.
· Lerna — Tool for managing JavaScript projects with multiple packages.
· WikiJs — Wikipedia Interface for Node.js.
· virtual-audio-graph — Library for declaratively manipulating the Web Audio API.
· deep-object-diff — Deep diffs two objects, including nested structures of arrays and objects, and returns the difference.
· Snarkdown — Snarky 1kb Markdown parser written in JavaScript.
· Terser — JavaScript parser, mangler, optimizer and beautifier toolkit for ES6+.
· AppAuthJS — JavaScript client SDK for communicating with OAuth 2.0 and OpenID Connect providers.
· expr-eval — Mathematical expression evaluator in JavaScript.
· robust-predicates — Fast robust predicates for computational geometry in JavaScript.
· Sanctuary — JavaScript functional programming library inspired by Haskell and PureScript.
· modali — Delightful modal dialog component for React, built from the ground up to support React Hooks.
· Tweakpane — Compact GUI for fine-tuning parameters and monitoring value changes.
· crocks — Collection of well known Algebraic Data Types for your utter enjoyment.
· Just — Library of zero-dependency npm modules that do just do one thing.
· nanoid — Tiny (139 bytes), secure, URL-friendly, unique string ID generator for JavaScript.
· debug — Tiny JavaScript debugging utility modelled after Node.js core’s debugging technique. Works in Node.js and web browsers.
· roughViz.js — Reusable JavaScript library for creating sketchy/hand-drawn styled charts in the browser.
· Mitt — Tiny 200 byte functional event emitter / pubsub.
· RequireJS — File and module loader for JavaScript.
· Zero — 3D graphics rendering pipeline. Implemented in JavaScript. Run in a terminal.
· xstate-viz — Visualize state charts.
· htmr — Simple and lightweight (< 2kB) HTML string to React element conversion library.
· react-jsx-parser — React component which can parse JSX and output rendered React Components.
· Static Land — Specification for common algebraic structures in JavaScript based on Fantasy Land.
· sorted-queue — Sorted queue, based on an array-backed binary heap.
· polendina — Non-UI browser testing for JavaScript libraries from the command-line.
· agadoo — Check whether a package is tree-shakeable.
· Fielder — React form library which adapts to change.
· lemonad — Functional programming library for JavaScript. An experiment in elegant JS.
· Mockttp — Lets you quickly & reliably test HTTP requests & responses in JavaScript, in both Node and browsers.
· Flowy — Minimal javascript library to create flowcharts.
· d3-dag — Layout algorithms for visualizing directed acyclic graphs.
· renature — Physics-based animation library for React focused on modeling natural world forces.
· Morphism — Do not repeat anymore your objects transformations.
· Tonic — Stable, Minimal, Auditable, Build-Tool-Free, Low Profile Component Framework.
· Quiet.js — Transmit data with sound using Web Audio — Javascript binding for libquiet.
· Bindery — Library for designing printable books with HTML and CSS.
· Wretch — Tiny wrapper built around fetch with an intuitive syntax.
· Virt.js — Free collection of useful standard devices, that can be used to power various engine that makes use of the exposed interfaces.
· Path-to-RegExp — Turn a path string such as /user/:name into a regular expression.
· Bacon.js — Functional reactive programming library for TypeScript and JavaScript.
· GGEditor — Visual graph editor based on G6 and React.
· Arbor — Graph visualization library using web workers and jQuery. (Web)
· fsm-as-promised — Finite state machine library using ES6 promises.
· x-spreadsheet — Web-based JavaScript(canvas)spreadsheet.
· IsoCity — Isometric city builder in JavaScript.
· Picomatch — Blazing fast and accurate glob matcher written in JavaScript.
· react-isomorphic-data — Easily fetch data in your React components, with similar APIs to react-apollo.
· klona — Tiny (228B) and fast utility to “deep clone” Objects, Arrays, Dates, RegExps, and more.
· ScrollMagic — JavaScript library for magical scroll interactions.
· GoJS — JavaScript and TypeScript library for building interactive diagrams and graphs.
· Rete — JavaScript framework for visual programming and creating node editor. (HN)
· Pre3d — JavaScript 3d rendering engine.
· dancer.js — High-level audio API, designed to make sweet visualizations.
· model-viewer — Easily display interactive 3D models on the web and in AR.
· Spars — General toolkit for creating interactive web experiences.
· NeuroJS — JavaScript deep learning and reinforcement learning library.
· Hareactive — Purely functional reactive programming library.
· Mirage JS — Client-side server to develop, test and prototype your JavaScript app.
· dfa — State machine compiler with regular expression style syntax.
· Jtree — Tree Notation TypeScript/Javascript library.
· Hydra — Livecoding networked visuals in the browser.
· p-queue — Promise queue with concurrency control.
· gsheets — Get public Google Sheets as plain JavaScript/JSON.
· alga-ts — Algebraic graphs implementation in TypeScript.
· on-change — Watch an object or array for changes.
· clean-set — Deep assignment alternative to the object spread operator and Object.assign.
· Uppload — Better JavaScript image uploader with 30+ plugins.
· pino — Super fast, all natural JSON logger.
· Orbit — Composable data framework for ambitious web applications.
· panzoom — Universal pan and zoom library (DOM, SVG, Custom).
· intl-tel-input — JavaScript plugin for entering and validating international telephone numbers.
· three.js — JavaScript 3D library.
· shortid — Short id generator. Url-friendly. Non-predictable. Cluster-compatible.
· styx — Derives a control flow graph from a JavaScript AST.
· Crossfilter — JavaScript library for exploring large multivariate datasets in the browser.
· SiriWave — Apple Siri wave-form replicated in a JS library.
· Shades — Lodash-inspired lens-like library for Javascript.
· mxGraph — Fully client side JavaScript diagramming library.
· cacache — Node.js library for managing local key and content address caches.
· enhanced-resolve — Offers an async require.resolve function. It’s highly configurable.
· notevil — Evalulate javascript like the built-in javascript eval() method but safely.
· react-digraph — Library for creating directed graph editors.
· bent — Functional JS HTTP client (Node.js & Fetch) w/ async await.
· CLUI — Collection of JavaScript libraries for building command-line interfaces with context-aware autocomplete.
· cosha — Colorful shadows for your images.
· Rambda — Faster and smaller alternative to Ramda.
· MathJax — Open-source JavaScript display engine for LaTeX, MathML, and AsciiMath notation that works in all modern browsers. (Web) (HN)
· Litepicker — Date range picker — lightweight, no dependencies.
· core-js — Modular standard library for JavaScript.
· timeago.js — Nano library (less than 2 kb) used to format datetime with *** time ago statement. eg: ‘3 hours ago’.
· Serialize JavaScript — Serialize JavaScript to a superset of JSON that includes regular expressions, dates and functions.
· Tippy.js — Tooltip, popover, dropdown, and menu library.
· howler.js — JavaScript audio library for the modern web.
· date-fns — Modern JavaScript date utility library.
· Midi — Convert MIDI into Tone.js-friendly JSON.
· face-api.js — JavaScript API for face detection and face recognition in the browser and nodejs with tensorflow.js.
· Spotlight — Search widget for your web API.
· Fuse — Lightweight fuzzy-search, in JavaScript.
· Xterm.js — Terminal for the web.
· Change Case — Convert strings between camelCase, PascalCase, Capital Case, snake_case and more.
· ChronoGraph — Reactive, graph-based, computation engine.
· Sprotty — Diagramming framework for the web.
· prerender.js — Loads pages quickly on any browser.
· on-finished — Execute a callback when a request closes, finishes, or errors.
· ColorFns — Modern JavaScript color utilities library.
· grapheme-splitter — JavaScript library that breaks strings into their individual user-perceived characters.
· Web Animations — JavaScript implementation of the Web Animations API.
· p-limit — Run multiple promise-returning & async functions with limited concurrency.
· Highcharts JS — JavaScript charting library based on SVG.
· μPlot — Small, fast chart for time series, lines, areas, ohlc & bars.
· Baobab — JavaScript & TypeScript persistent and optionally immutable data tree with cursors.
· emoji-regex — Regular expression to match all Emoji-only symbols as per the Unicode Standard.
· MerkleTree.js — Construct Merkle Trees and verify proofs in JavaScript.
· Snabbdom — Virtual DOM library with focus on simplicity, modularity, powerful features and performance.
· Thwack — Tiny modern data fetching solution.
· Regenerate — Generate JavaScript-compatible regular expressions based on a given set of Unicode symbols or code points.
· Crank.js — Write JSX-driven components with functions, promises and generators. (Article) (Reddit) (HN)
· redaxios — Axios API, as an 800 byte Fetch wrapper.
· Math.js — Extensive math library for JavaScript and Node.js.
· pixelmatch — Smallest, simplest and fastest JavaScript pixel-level image comparison library.
· quilt — Loosely related set of packages for JavaScript / TypeScript projects at Shopify.
· jsondiffpatch — Diff & patch JavaScript objects.
· RVal — Minimalistic transparent reactive programming library.
· orbit-controls — Generic controls for orbiting a target in 3D.
· estree-walker — Traverse an ESTree-compliant AST.
· Jitsi Meet API library — Can use Jitsi Meet API to create Jitsi Meet video conferences with a custom GUI.
· isomer — Simple isometric graphics library for HTML5 canvas.
· Mordred — Source data from anywhere, for Next.js, Nuxt.js, Eleventy and many more.
· ASScroll — Hybrid smooth scroll setup that combines the performance gains of virtual scroll with the reliability of native scroll.
· Gallery — Light, responsive, and performant JavaScript gallery.
· Logux Server — Build own Logux server or make proxy between WebSocket and HTTP backend on any language.
· @expo/results — Efficient, standards-compliant library for representing results of successful or failed operations.
· Emojibase — Collection of lightweight, up-to-date, pre-generated, specification compliant, localized emoji JSON datasets, regex patterns, and more.
· serve-favicon — Node.js middleware for serving a favicon.
· download — Download and extract files.
· color2k — Color parsing and manipulation lib served in 2kB or less.
· Sandstorm — Open source platform for self-hosting web apps. (Code)
· transformation-matrix — JS isomorphic 2D affine transformations written in ES6 syntax.
· Muuri — JavaScript layout engine that allows you to build all kinds of layouts and make them responsive, sortable, filterable, draggable and/or animated.
· Split — Unopinionated utilities for resizeable split views.
· Parallax Engine — Reacts to the orientation of a smart device.
· fastq — Fast, in memory work queue.
· ac-colors — Reactive JavaScript color library that can freely convert color formats.
· sonic-boom — Extremely fast utf8 only stream implementation.
· Rough Notation — Small JavaScript library to create and animate annotations on a web page. (HN)
· fit-textarea — Automatically expand a to fit its content, in a few bytes.
· NanoPop — Ultra Tiny, Opinionated Positioning Engine. (Web)
· Angelfire — Lets you quickly build right-click-enabled context menus and drop-down menus for any element on your webpage.
· csv-parser — Streaming csv parser inspired by binary-csv that aims to be faster than everyone else.
· updeep — Easily update nested frozen objects and arrays in a declarative and immutable manner.
· Hull.js — JavaScript library that builds concave hull by set of points.
· StegCloak — Hide secrets with invisible characters in plain text securely using passwords.
· p-min-delay — Delay a promise a minimum amount of time.
· match-when — Pattern matching for modern JavaScript.
· NumJs — Like NumPy, in JavaScript.
· spect — Reactive aspect-oriented web-framework.
· js-cid — CID implementation in JavaScript.
· js-ipld-block — Implementation of the Block data structure in JavaScript.
· wildcard-api — Functions as API.
· bpmn-js — BPMN 2.0 rendering toolkit and web modeler.
· fit-curve — JavaScript implementation of Philip J. Schneider’s “Algorithm for Automatically Fitting Digitized Curves” from the book “Graphics Gems”.
· clean-deep — Remove falsy, empty or nullable values from objects.
· regular-table — Regular library, for async and virtual data models.
· Stimulus — Modest JavaScript framework for the HTML you already have. (Web)
· bigpicture.js — Library that allows infinite panning and infinite zooming in HTML pages. (Web)
· Tragopan — Minimal dependency-free pan/zoom library. (HN)
· Deakins — Small Canvas 2D Camera.
· Turbolinks — Makes navigating your web application faster.
· CindyJS — Framework to create interactive (mathematical) content for the web. (Web) (HN)
· axios — Promise based HTTP client for the browser and nodeJS.
· astray — Walk an AST without being led astray.
· vnopts — Validate and normalize options.
· canvas confetti — On-demand confetti gun. (Docs)
· Graphlib — JavaScript library that provides data structures for undirected and directed multi-graphs along with algorithms that can be used with them.
· Dagre — JavaScript library that makes it easy to lay out directed graphs on the client-side.
· ecsy — Highly experimental Entity Component System framework implemented in javascript, aiming to be lightweight, easy to use and with good performance. (Docs)
· Object Visualizer — Visualize the JSON object to the DOM. (HN)
· Reach Schema — Functional schema-driven JavaScript object validation library.
· @cycle/callbags — Set of commonly used stream operators implemented as callbags with Typescript and ES modules.
· umbrella — Broadly scoped ecosystem & mono-repository of ~135 TypeScript projects for functional, data driven development.
· HTM — JSX-like syntax in plain JavaScript — no transpiler necessary.
· NativeScript — Framework for building native iOS and Android apps using JavaScript and CSS.
· schema-dts — JSON-LD TypeScript types for Schema.org vocabulary.
· flatpickr — JS date time picker.
· superjson — Safely serialize JavaScript expressions to a superset of JSON, which includes Dates, BigInts, and more.
· lazy-collections — Collection of fast and lazy operations.
· Perfect Arrows — Set of functions for drawing perfect arrows between points and shapes.
· Autocomplete.js — Fast and full-featured autocomplete library.
· Diagram Maker — Library to display an interactive editor for any graph-like data. (Docs) (HN)
· js-coroutines — 60fps with JavaScript Coroutines for idle processing and animation.
· Transducist — Ergonomic JavaScript/TypeScript transducers for beginners and experts.
· decimal.js — Arbitrary-precision Decimal type for JavaScript.
· Constant-Time JavaScript — Constant-time algorithms written in TypeScript.
· SheetJS — Spreadsheet Data Toolkit. Read, edit, and export spreadsheets. Works in web browsers and servers. (Web)
· Graphology — Robust & multipurpose Graph object for JavaScript & TypeScript. (Docs)
· weak-napi — Make weak references to JavaScript Objects.
· nestie — Tiny (211B) and fast utility to expand a flattened object.
· Mock.js — Simulation data generator.
· Detect features — Detect and report browser and hardware features.
· JSZip — Create, read and edit .zip files with JavaScript.
· Classnames — Simple javascript utility for conditionally joining classNames together.
· cx — Concatenate your classes (with shortcuts).
· Defer — Tiny, type-safe, JavaScript-native defer implementation.
· freshie — Fresh take on building universal applications with support for pluggable frontends and backends.
· Luckysheet — Online spreadsheet like excel that is powerful, simple to configure, and completely open source. (Docs)
· noUiSlider — Lightweight JavaScript range slider.
· QRCode.js — Cross-browser QRCode generator for JavaScript. (Web)
· HyperScript — Create HyperText with JavaScript, on client or server.
· hyperscript-helpers — Terse syntax for hyperscript.
· EnlighterJS — Open source syntax highlighter written in pure javascript.
· eslisp — S-expression syntax for JavaScript, with Lisp-like hygienic macros. Minimal core, maximally customisable.
· Smoldash — Tiny lodash alternative built for the modern web.
· TypewriterJS — Simple yet powerful native javascript plugin for a cool typewriter effect.
· sse.js — Flexible Server Side Events source for JavaScript.
· Arkit — Visualises JavaScript, TypeScript and Flow codebases as meaningful and committable architecture diagrams. (Web)
· jsii — Allows code in any language to naturally interact with JavaScript classes.
· proxy-memoize — Intuitive magical memoization library with Proxy and WeakMap. (Tweet)
· CosmJS — Modular library consisting of multiple packages to power web experiences.
· Arwes — Futuristic Sci-Fi and Cyberpunk Graphical User Interface Framework for Web Apps. (Web)
· psl (Public Suffix List) — JavaScript domain name parser based on the Public Suffix List.
· invariant-packages — Packages for working with invariant(condition, message) assertions.
· evt — EventEmitter’s typesafe replacement.
· webscan — Browser-based network scanner & local-IP detection.
· Pill — Add dynamic content loading to static sites with only 1 KiB of JS.
· fast-deep-equal — Fastest deep equal with ES6 Map, Set and Typed arrays support.
· preview-card — Customizable social media preview image.
· egjs-flicking — Easy-to-use and performant infinite carousel.
· SSE-Z — Slim, easy-to-use wrapper around EventSource.
· DefinitelyExported — Community-defined export maps for popular npm packages.
· jsdiff — JavaScript text differencing implementation.
· HyperFormula — Open source, spreadsheet-like calculation engine.
· fast-json-stringify — Significantly faster than JSON.stringify() for small payloads.
· isbot — JavaScript module that detects bots/crawlers/spiders via the user agent.
· valtio — Makes proxy-state simple.
· pica — High quality image resize in browser.
· Planton — Database-agnostic task scheduler.
· mime-types — JavaScript content-type utility.
· match-sorter — Simple, expected, and deterministic best-match sorting of an array in JavaScript.
· Fetch Event Source — Better API for making Event Source requests, with all the features of fetch().
· rafz — Coordinate requestAnimationFrame calls across your app and/or libraries.
· p-state — Inspect the state of a promise.
· v86 — x86 virtualization in JavaScript, running in your browser and NodeJS. (Web)
· Notyf — Minimalistic, responsive, vanilla JavaScript library to show toast notifications.
· Moveable — Draggable, Resizable, Scalable, Rotatable, Warpable, Pinchable, Groupable, Snappable.
· Execa — Process execution for humans.
· quick-lru — Simple “Least Recently Used” (LRU) cache.
· Deepdash — Tree traversal library written in Underscore/Lodash fashion. (Docs)
· Nano Delay — Tiny (25 bytes) Promise wrapper around setTimeout.
· ES Module Lexer — Low-overhead lexer dedicated to ES module parsing for fast analysis.
· keez — Frictionless hotkey handling for browsers.
· Zet — Set() as it should be.
· Ketting — Hypermedia client for JavaScript.
· yocto-queue — Tiny queue data structure.
· Effects.js — Algebraic effects in javascript with scoped handlers, multishot delimited continuations, stack safety and do notation.
· flatten-js — JavaScript library for 2d geometry.
· is-retry-allowed — Check whether a request can be retried based on the error.code.
· backfill — JavaScript caching library for reducing build time.
· S-Libs — Collection of libraries for any of JS, RxJS, or Angular.
· watchpack — Wrapper library for directory and file watching.
· async-tag — Resolves template literals tag values before applying a generic tag.
· serialize-error — Serialize/deserialize an error into a plain object.
· errorstacks — Tiny library to parse error stack traces.
· Ape-ECS — Entity-Component-System library for JavaScript.
· rrule.js — JavaScript library for working with recurrence rules for calendar dates as defined in the iCalendar RFC and more. (Demo)
· scroller — Super-tiny library for your scrollytelling needs.
· Isomorphic DOMPurify — Makes it possible to use DOMPurify on server and client in the same way.
· navaid — Navigation aid (aka, router) for the browser in 850 bytes.
· glob-to-regexp — Convert a glob to a regular expression.
· cmap — Interactive visualization library for concept map.
· lezer-tree — Incremental GLR parser intended for use in an editor or similar system.
· matchit — Quickly parse & match URLs.
· acorn — Tiny, fast JavaScript parser, written completely in JavaScript.
· jsesc — Given some data, jsesc returns the shortest possible stringified & ASCII-safe representation of that data.
· fastjson — Single-tweet, standards-compliant, high-performance JSON stack.
· grfn — Tiny (~400B) utility that executes a dependency graph of async functions as concurrently as possible.
· Nunjucks — Powerful templating engine with inheritance, asynchronous control, and more. (Web)
· Behavior3JS — Structures and algorithms that assist you in the task of creating intelligent agents for your game or application.
· qs — Querystring parser with nesting support.
· Exifer — Small module that read JPEG/TIFF meta-data.
· jsVideoUrlParser — JavaScript parser to extract information like provider, channel, id, start time from YouTube, Vimeo, Dailymotion, Twitch,… urls.
· TypeDI — Dependency injection tool for TypeScript and JavaScript.
· ibridge — Tiny, promise based, type safe library for easy, bidirectional and secure iframe communication.
· Monio — Async-capable IO monad for JS.
· Total.js — Excellent and stable server-side Node.js framework, client-side library for creating web applications with more than 230 UI components for free.
· memoize-one — Memoization library which only remembers the latest invocation.
· pjson — JSON stream parser for Go.
· InternMap — Map and Set with automatic key interning.
· geometry-processing-js — Fast, general-purpose framework for geometry processing on the web.
· Iterplus — Best of Rust/Haskell/Python iterators in JavaScript.
· SmolScroll — Tiny, flexible scroll listener with React support.
· Robot — Functional, immutable Finite State Machine library. (Docs)
· Enmap — Enhanced Map structure with additional utility methods.
· Honeycomb — Create hex grids easily, in node or the browser.
· chunkify — Split an iterable into evenly sized chunks.
· wobble — Tiny spring physics micro-library that models a damped harmonic oscillator.
· tmp-cache — Least-recently-used cache in 35 lines of code.
· static-eval — Evaluate statically-analyzable expressions.
· Sparse Octree — Sparse, pointer-based octree data structure.
· Signature Pad — JavaScript library for drawing smooth signatures.
· dom-to-image-retina — dom-to-image but generates high-resolution images.
· loglevel — Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods.
· Perfect Freehand — Draw perfect freehand lines.
· Form-Data — Library to create readable “multipart/form-data” streams. Can be used to submit forms and file uploads to other web applications.
· conf — Simple config handling for your app or module.
· gifenc — Fast and lightweight pure-JavaScript GIF encoder.
· tldts — Blazing Fast URL Parsing.
· Barba.js — Easy-to-use library that helps you create fluid and smooth transitions between your website’s pages.
· Shuffle.js — Categorize, sort, and filter a responsive grid of items. (Web)
· stdlib — Standard library for JavaScript and Node.js. (Web)
· gensync — Allows users to use generators in order to write common functions that can be both sync or async.
· monet.js — Monadic types library for JavaScript.
· VivaGraph — Graph drawing library for JavaScript.
· Crochet — Small engine for story-driven games.
· diary — Zero-dependency, fast logging library for both Node and Browser.
· tinydate — Tiny reusable date formatter.
· FingerprintJS — Browser fingerprinting library with the highest accuracy and stability.
· Antiutils — TypeScript/JavaScript utilities for those who don’t like utilities.
General:
· NPM** — Node package manager registry.**
· Awesome WebAudio
· Awesome XState
· Moiva.io** — Measure and compare JavaScript libraries side by side.**
· Scarf** — Installation analytics for your npm package. (Code)**
If you found this guide helpful feel free to checkout my GitHub/gists where I host similar content:
Or checkout my personal resource site:
Web-Dev-Resource-Hub _Edit description_web-dev-resource-hub.netlify.app
By Bryan Guner on March 18, 2021.
Exported from Medium on August 31, 2021.
Last updated