awesome-javascript
🐢 A collection of awesome browser-side JavaScript libraries, resources and shiny things.
https://github.com/sorrycc/awesome-javascript
Last synced: 19 days ago
JSON representation
Animations
Other
- Anime.js - A JavaScript animation engine.
- Mo.js - Motion graphics toolbelt for the web.
- velocity - Accelerated JavaScript animation.
- jquery.transit - Super-smooth CSS3 transformations and transitions for jQuery.
- bounce.js - Create tasty CSS3 powered animations in no time.
- TransitionEnd - TransitionEnd is an agnostic and cross-browser library to work with transitioned event.
- Dynamic.js - JavaScript library to create physics-based CSS animations.
- the-cube - The Cube is an experiment with CSS3 transitions.
- Effeckt.css - A Performant Transitions and Animations Library.
- textillate - A simple plugin for CSS3 text animations.
- move.js - CSS3 backed JavaScript animation framework.
- animatable - One property, two values, endless possibilities.
- shuffle-images - The Simplest Way to shuffle through images in a Creative Way.
- smoothState.js - Unobtrusive page transitions with jQuery.
- particles.js - A lightweight JavaScript library for creating particles.
- particles-bg - A lightweight React particles animation background component.
- barbajs - It helps you create fluid and smooth transitions between your website's pages.
- typicaljs - Animated typing in ~400 bytes 🐡 of JavaScript
- GreenSock-JS - High-performance HTML5 animations that work in all major browsers.
- tsParticles - A new and improved version of particles.js with bug fixes and many new features.
- animate.css - A cross-browser library of CSS animations. As easy to use as an easy thing.
- AutoAnimate - Add motion to your apps with a single line of code.
API
Runner
- axios - Promise based HTTP client for the browser and node.js.
- bottleneck - A powerful rate limiter that makes throttling easy.
- oauth-signature-js - JavaScript OAuth 1.0a signature generator for node and the browser.
- amygdala - RESTful HTTP client for JavaScript powered web applications.
- jquery.rest - A jQuery plugin for easy consumption of RESTful APIs.
- Rails Ranger - An opinionated REST client for Ruby on Rails APIs.
- wretch - A tiny wrapper built around fetch with an intuitive syntax.
- Optic - Optic automatically documents and tests your APIs.
- SWR - React Hooks library for remote data fetching.
- SWRV - Stale-while-revalidate data fetching for Vue.
- Vue Query - Hooks for fetching, caching and updating asynchronous data in Vue.
- FarFetch - Modern Fetch API wrapper for simplicity, with concise file uploading.
Articles and Posts
Runner
- The JavaScript that you should know - Article about concepts of JavaScript Functional.
- Multi-threading using web-workers - Web Workers: Adding Multi-threading to JavaScript
- this keyword in JavaScript - Breaking down the 'this' keyword in JavaScript
Benchmark
Runner
- benchmark.js - A benchmarking library. As used on jsPerf.com.
- matcha - A caffeine driven, simplistic approach to benchmarking.
- bencher - A suite of continuous benchmarking tools designed to catch performance regressions in CI.
Boilerplates
Other
- npm run-scripts - scripts.
- html5-boilerplate - A professional front-end template for building fast, robust, and adaptable web apps or sites.
- mobile-boilerplate - A front-end template that helps you build fast, modern mobile web apps.
- webplate - An awesome front-end framework that lets you stay focused on building your site or app while remaining really easy to use.
- Cerberus - A few simple, but solid patterns for responsive HTML emails. Even in Outlook.
- full-page-intro-and-navigation - An intro page with a full width background image, a bold animated menu and an iOS-like blurred effect behind the navigation.
- Fluid-Squares - A fluid grid of square units.
- Mobile-First-RWD - An example of a mobile-first responsive web design.
- this-is-responsive - This Is Responsive.
- Wasp - specific language for developing, building, and deploying modern Javascript full-stack web apps with less code.
Browser Detection
Runner
- bowser - a browser detector.
Bundlers
- Snowpack - A lightning-fast frontend build tool, designed for the modern web.
- webpack - Packs CommonJs/AMD modules for the browser.
- Rollup - Next-generation ES6 module bundler.
- Brunch - Fast front-end web app build tool with simple declarative config.
- Parcel - Blazing fast, zero configuration web application bundler.
- Microbundle - Zero-configuration bundler for tiny modules.
- FuseBox - A bundler that does it right
- Terser - parser, mangler and compressor toolkit for ES6+
- Uglify - parser / mangler / compressor / beautifier toolkit
- Vite - Next Generation Frontend Tooling.
- bundle - A quick online npm package size checker.
Code highlighting
Runner
- Highlight.js - JavaScript syntax highlighter.
- PrismJS - Lightweight, robust, elegant syntax highlighting.
- shiki - Code highlighter powered by VS Code TextMate grammars. Accurate, themeable, works in Node or browser, great for JS and TS.
Color
Runner
- randomColor - A color generator for JavaScript.
- chroma.js - JavaScript library for all kinds of color manipulations.
- color - JavaScript color conversion and manipulation library.
- colors - Smarter defaults for colors on the web.
- PleaseJS - JavaScript Library for creating random pleasing colors and color schemes.
- TinyColor - Fast, small color manipulation and conversion for JavaScript.
- Vibrant.js - Extract prominent colors from an image.
- color-space - Conversions between 162 color spaces (OKLCH, CAM16, Munsell, camera logs) with cited references.
Component Management
- Bit - Create, find and reuse components (React, Angular, Node etc.) across applications.
Control Flow
Runner
- async - Async utilities for node and the browser.
- q - A tool for making and composing asynchronous promises in JavaScript.
- when - A solid, fast Promises/A+ and when() implementation, plus other async goodies.
- ObjectEventTarget - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
- sporadic - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
- step - An async control-flow library that makes stepping through logic easy.
- Bluebird - fully featured promise library with focus on innovative features and performance.
- contra - Asynchronous flow control with a functional taste to it.
Data Structure
Runner
- mori - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript.
- buckets - A complete, fully tested and documented data structure library written in JavaScript.
- hashmap - Simple hashmap implementation that supports any kind of keys.
- ngraph.graph - Graph data structure in javascript.
- js-sdsl - Refer to the javascript standard data structure library implemented by c++ stl, which supports c++ bidirectional iterator mode.
- immutable-js - Immutable Data Collections including Sequence, Range, Repeat, Map, OrderedMap, Set and a sparse Vector.
Data Visualization
Runner
- visjs - Multiple Libraries for dynamic, browser-based data visualization.
- cola.js - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
- amchart - js/).
- d3 - A JavaScript visualization library for HTML and SVG.
- three.js - JavaScript 3D library.
- Chart.js - Simple HTML5 Charts using the <canvas> tag.
- paper.js - The Swiss Army Knife of Vector Graphics Scripting – Scriptographer ported to JavaScript and the browser, using HTML5 Canvas.
- peity - Progressive bar, line and pie charts.
- raphael - JavaScript Vector Library.
- echarts - Enterprise Charts.
- two.js - A renderer agnostic two-dimensional drawing api for the web.
- g.raphael - Charts for Raphaël.
- sigma.js - A JavaScript library dedicated to graph drawing.
- arbor - A graph visualization library using web workers and jQuery.
- cubism - A D3 plugin for visualizing time series.
- dc.js - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
- vega - A visualization grammar.
- envisionjs - Dynamic HTML5 visualization.
- rickshaw - JavaScript toolkit for creating interactive real-time graphs.
- flot - Attractive JavaScript charts for jQuery.
- morris.js - Pretty time-series line graphs.
- nvd3 - Build re-usable charts and chart components for d3.js.
- heatmap.js - JavaScript Library for HTML5 canvas based heatmaps.
- jquery.sparkline - A plugin for the jQuery JavaScript library to generate small sparkline charts directly in the browser.
- trianglify - Low poly style background generator with d3.js.
- d3-cloud - Create word clouds in JavaScript.
- d4 - A friendly reusable charts DSL for D3.
- chartist-js - Simple responsive charts.
- epoch - A general purpose real-time charting library.
- c3 - D3-based reusable chart library.
- BabylonJS - A framework for building 3D games with HTML 5 and WebGL.
- recharts - Redefined chart library built with React and D3.
- GraphicsJS - A lightweight JavaScript graphics library with the intuitive API, based on SVG/VML technology.
- mxGraph - Diagramming library that enables interactive graph and charting applications to be quickly created that run natively in any major browser that is supported by its vendor.
- Frappe Charts - GitHub-inspired simple and modern SVG charts for the web with zero dependencies.
- Frappe Gantt - A simple, interactive, modern gantt chart library for the web.
- G2 - A highly interactive data-driven visualization grammar for statistical charts.
- G2Plot - An interactive and responsive charting library. Based on the grammar of graphics.
- Cytoscape.js - A fully featured graph theory library.
- jointjs - Diagramming library to create static diagrams or fully interactive diagramming tools.
- vizzu - Library for animated data visualizations and data stories.
- G6 - A graph visualization engine.
- Infographic - A next-generation declarative infographic visualization engine.
- metrics-graphics - A library optimized for concise, principled data graphics and layouts.
- fabric.js - JavaScript Canvas Library, SVG-to-Canvas (& canvas-to-SVG) Parser.
- dimple.js - Easy charts for business analytics powered by d3.
Date
Runner
- moment - Parse, validate, manipulate, and display dates in JavaScript.
- moment-timezone - Timezone support for moment.js.
- jquery-timeago - A jQuery plugin that makes it easy to support automatically updating fuzzy timestamps (e.g. "4 minutes ago").
- timezone-js - Timezone-enabled JavaScript Date object. Uses Olson zoneinfo files for timezone data.
- date - Date() for humans.
-
timeago.js
- Simple library (less then 2kb) used to format date with
*** time agostatement. - fecha - Lightweight date formatting and parsing (~2KB). Meant to replace parsing and formatting functionality of moment.js.
- date-fns - Modern JavaScript date utility library.
- dayjs - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
- luxon - Luxon is a library for working with dates and times in JavaScript.
- tempo - Parsing, formatting, and timezones — Tempo is a small tree-shakable library for native Date objects.
- countdown.js - Super simple countdowns.
- ms.js - Tiny millisecond conversion utility.
- map-countdown - A browser countdown built on top of the Google Maps.
Documentation
Runner
- DevDocs - in-one API documentation reader with a fast, organized, and consistent interface.
- docco - and-dirty, hundred-line-long, literate-programming-style documentation generator.
- styledocco
- Ronn
- dox - style tags.
- jsdox
- ESDoc
- YUIDoc
- coddoc
- Beautiful docs
- jsduck - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
- codecrumbs
- sphinx
- documentation.js - API documentation generator with support for ES2015+ and flow annotation.
Editors
Runner
- ace - Ace (Ajax.org Cloud9 Editor).
- CodeMirror - In-browser code editor.
- esprima - ECMAScript parsing infrastructure for multipurpose analysis.
- quill - A cross browser rich text editor with an API.
- medium-editor - Medium.com WYSIWYG editor clone.
- pen - enjoy live editing (+markdown).
- jquery-notebook - A simple, clean and elegant text editor. Inspired by the awesomeness of Medium.
- bootstrap-wysiwyg - Tiny bootstrap-compatible WYSIWYG rich text editor.
- editor - A markdown editor. still on development.
- EpicEditor - An embeddable JavaScript Markdown editor with split fullscreen editing, live previewing, automatic draft saving, offline support, and more.
- jsoneditor - A web-based tool to view, edit and format JSON.
-
vim.js
- JavaScript port of Vim with a persistent
~/.vimrc. - Squire - HTML5 rich text editor.
- TinyMCE - The JavaScript Rich Text editor.
- trix - A rich text editor for everyday writing. By Basecamp.
- Trumbowyg - A lightweight and amazing WYSIWYG JavaScript editor.
- Draft.js - A React framework for building text editors.
- bootstrap-wysihtml5 - Simple, beautiful wysiwyg editor
- wysihtml5 - Open source rich text editor based on HTML5 and the progressive-enhancement approach. Uses a sophisticated security concept and aims to generate fully valid HTML5 markup by preventing unmaintainable tag soups and inline styles.
- raptor-editor - Raptor, an HTML5 WYSIWYG content editor!
- popline - Popline is an HTML5 Rich-Text-Editor Toolbar.
- Summernote - Super simple WYSIWYG editor.
- Everright-formEditor - A visual drag-and-drop low-code form editor
- ckeditor-releases - The best web text editor for everyone.
ES6
Other
- ECMAScript 6 compatibility table - Compatibility tables for all ECMAScript 6 features on a variety of environments.
- es6features - Overview of ECMAScript 6 features.
- es6-features - ECMAScript 6: Feature Overview & Comparison.
- es6-cheatsheet - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
- Babel (Formerly 6to5) - Turn ES6+ code into vanilla ES5 with no runtime.
- Traceur compiler - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
Files
Runner
- Papa Parse - A powerful CSV library that supports parsing CSV files/strings and also exporting to CSV.
- jBinary - High-level I/O (loading, parsing, manipulating, serializing, saving) for binary files with declarative syntax for describing file types and data structures.
- diff2html - Git diff output parser and pretty HTML generator.
- jsPDF - JavaScript PDF generation.
- PDF.js - PDF Reader in JavaScript.
- File Viewer - Browser-native components for previewing files without server-side conversion.
Form Widgets
Calendar
- pickadate.js - The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
- fullcalendar - Full-sized drag & drop event calendar (jQuery plugin).