preface

In the context of tight development cycles, it is important to avoid spending time on useless tasks (such as building wheels). Just remember the following libraries to solve 95% of everyday problems at work.

All links below are source code repositories.

– —

The editor

  • Ace: ACE, Ajax.org Cloud9 Editor.
  • CodeMirror: a browser-side code editor implemented in JS.
  • Esprima: ECMAScript parser for multipurpose analysis.
  • Quill: a cross-browser rich text editor with aN API.
  • A clone of the WYSIWYG editor used at medium-editor:Medium.com.
  • Pen: Enjoy online editing (markdown support).
  • Jquery-notebook: an easy-to-use, elegant text editor. Inspired by Medium.
  • Bootstrap-wysiwyg: compact, bootstrap-compatible rich text editor for what you See is what you get.
  • Ckeditor – Releases: A Web text editor for everyone.
  • Editor: A Markdown editor, but still under development.
  • EpicEditor: An editable JavaScript Markdown editor with split-screen editing, instant previews, autosave drafts, and offline support.
  • Jsoneditor: A Web tool for viewing, editing, and formatting JSON.
  • Vim. Js: has persistent ~/. Vimrc and supports vim’s JavaScript interface.
  • Squire: An HTML5 rich text editor.
  • TinyMCE: a rich text editor for JavaScript.
  • Trix: Rich text editor for everyday writing by Basecamp.
  • Trumbowyg: A lightweight and amazing WYSIWYG JavaScript editor
  • Draft.js: The React framework for building text editors.
  • Bootstrap-wysihtml5: A simple and beautiful WYSIWYG editor.
  • Wysihtml5: Based on HTML5, progressively enhanced open source rich text editor, uses very strict rules aimed at generating html5-compliant tags, avoiding non-standard tags and peer styles.
  • Raptor – Editor: Raptor, a WYSIWYG content editor for HTML5!
  • Popline: Popline is an HTML5 rich text toolbar.
  • Summernote: A minimalist WYSIWYG editor.

The document

  • DevDocs: An all-in-one document reader with a unified, efficient and well-formatted interface.
  • Dexy: a free-form and artistic documentation tool that can be used to write any technical document that contains code.
  • Docco: A fast, dirty, hundred-line, literary document generator that uses Literate CoffeeScript.
  • Styledocco: Generates style specification documents based on style sheets.
  • Ronn: Build manual. It converts simple text files that are friendly to human reading into ROFF format files for terminal display, or into HTML for Web display.
  • Dox: a JavaScript document generator developed by Node.js. Dox does not generate structurally styled documents, but uses JSON representation to implement Markdown and JSDoc style tags.
  • Jsdox: A document generator that converts JSDoc3 to Markdown.
  • ESDoc: An excellent document generator designed for JavaScript.
  • YUIDoc: a Node.js application that extracts source code comments to generate interface documentation, similar to Javadoc and Doxygen.
  • Coddoc: A JSDOC parsing library. Coddoc differs from other tools) in that it is easily extended to add tags and code parsers through codDoc.addTagHandler and codDoc.addCodeHandler. Coddoc can also parse source code to generate interface documentation.
  • Sphinx: a tool that makes creating smart and beautiful documents much easier.
  • Using JSDoc
  • Beautiful Docs: A Markdown format document reader.
  • Documentation. Js: Interface documentation generator that supports ES2015+ and stream annotations.
  • Jsduck: Interface document generator developed for the Sencha JavaScript framework, but also available for other frameworks.
  • Codecrumbs: A visual tool for learning and documenting code bases by inserting breadcrumbs into the source code.

file

  • Papa Parse: A powerful CSV library that supports parsing CSV files/strings, as well as exporting CSV files.
  • JBinary: Perform advanced I/O (load, parse, manipulate, serialize, store) operations on binary files that describe file types and data structures using declarative syntax.
  • Git diff2html: Git difference output parser, also an HTML beautify.
  • JsPDF: a JavaScript PDF file generator.
  • PDF. Js: a JavaScript PDF reader, community driven, supported by Mozilla.

Functional programming

  • Underscore: a JavaScript utility.
  • Lodash: A utility library that provides consistency, customisability, high performance, and additional functionality.
  • Sugar: A JavaScript library that extends native object functionality.
  • lazy.jsSimilar to:UnderscoreBut the performance is superior
  • Ramda: a useful library for JavaScript programmers.
  • Mout: Modular JavaScript tool library.
  • Mesh: stream data synchronization tool.
  • Preludejs: JavaScript core functional programming.
  • rambda:RamdaQuick and compact alternatives.

Responsive programming

  • RxJs: Responsive extensions to JavaScript.
  • Bacon: FPR (Functional responsive programming) library for JavaScript.
  • Kefir: Bacon.js and RxJs-inspired FRP libraries focused on high performance and low memory consumption.
  • Highland: A rethinking of JavaScript utilities, Highland can easily manage synchronous and asynchronous information using only standard JavaScript and Node-like streams.
  • Most. Js: high-performance FRP library.
  • Cycle.js: a functional and responsive JavaScript framework for predictable code.
  • Concent: Definitely ❤️’s simplest yet ⚡️’s most powerful React state management development framework, predictable, progressive, and high performance.

The data structure

The data structure library is used to build a more complex application.

  • Immutation-js: An immutable Set of data, including Sequence, Range, Repeat, Map, OrderedMap, Set, and SPARSE Vector.
  • Mori: Libraries that use ClojureScript to persist data structures and support native JavaScript apis.
  • Buckets: A complete JavaScript library with well-tested and well-documented data structures.
  • Hashmap: A simple hash mapping implementation that supports any type of key value.

The date of

Date library.

  • Moment: Parse, validate, manipulate, and display dates.
  • Moment-timezone: a timezone library based on moment.js.
  • Jquery-timeago is a jquery plugin that automatically updates fuzzy timestamps (e.g. “4 minutes ago “).
  • Timezone-js: allows JavaScript Date objects to have timezone functionality. Use the Olson Zoneinfo file to record time zone data.
  • Date: human-friendly date ().
  • Ms. Js: compact millisecond conversion tool.
  • Countdown. js: super small countdown.
  • timeago.js: a very lightweight (~ 1.7KB) for converting time toXXX time agoFormat library.
  • Fecha: Lightweight date formatting and parsing library (about 2KB). Can be used to replace the moment. Js function of formatting and parsing dates.
  • Date-fns: Modern JavaScript date library.
  • Map-countdown: Browser countdown built on Top of Google Maps.
  • Dayjs is a date library that has the same modern interface as moment.js, but is only 2KB in size and can be used to replace moment.js.

string

  • Voca: a super handy JavaScript string library.
  • Selecting: A library that allows you to retrieve user-selected text.
  • Underscore. String: underscore. Js string operation extension.
  • String.js: Additional JavaScript string methods.
  • He: Robust HTML entity encoding/decoder.
  • Multiline: a string of multiple lines.
  • Query-string: parses and strings the URL query string.
  • Uri.js: URL manipulation library.
  • Jsurl: Lightweight URL manipulation library.
  • Sprintf.js: Implements string formatting.
  • Url-pattern: It is simpler than regular expressions to match urls or other strings. Strings and data can be converted to each other.
  • Plexis: Low-fidelity, powerful, community-driven string manipulation library.

digital

  • Numeral-js: library for formatting and manipulating numbers.
  • Chance.js: JavaScript random generator that can generate numbers, strings, etc.
  • Odometer: Smooth digital transition effects.
  • Accounting.js: lightweight library for formatting numbers, money, and currencies, completely localized and dependency free.
  • Money.js: A small (1KB) currency conversion library for both the Web and nodeJS.
  • Fraction.js: a library of rational numbers.
  • Complex.js: a Complex number library.
  • Polynomial.js: a Polynomial library.
  • Quaternion. Js: a Quaternion manipulation library for JavaScript.

storage

  • Store.js: Encapsulates LocalStorage for all browsers, without using cookies and Flash. Use localStorage, globalStorage, and user data confidentially.
  • LocalForage: Improved offline storage. It encapsulates IndexedDB, WebSQL, and localStorage, and has a simple and powerful API.
  • JStorage: jStorage is a simple key-value pair database for storing data on the browser side.
  • Cross-storage: enables cross-domain storage.
  • Basket. Js: resource loader for loading and caching scripts with localStorage.
  • Bag.js: Can cache scripts and load resources, similar to basket. Js, but with key-value interface and support for localStorage/webSQL/indexedDB.
  • Basily.js: intelligent JavaScript data persistence layer library.
  • Jquery-cookie: lightweight and simple jquery plug-in for reading, editing, and deleting cookies.
  • Js-cookie: a simple and lightweight jQuery plug-in for reading and deleting cookies.
  • Cookies: A library of client-side Cookie operations.
  • Db.js: Promise-based library that encapsulates IndexedDB.
  • Lawnchair.js: Simple client-side JSON storage.
  • Sql. js: Compile SQLite into JavaScript based on Emscripten.
  • Crumbsjs: A lightweight native ES6 cookies and locally stored JavaScript library.
  • Awesome-web-storage: Everything you need to know about client storage.

color

  • RandomColor: JavaScript color generator.
  • Chroma.js: a JavaScript library with various color manipulations.
  • Color: JavaScript color conversion and manipulation library.
  • Colors: Smarter default Web colors.
  • PleaseJS: A JavaScript library that randomly creates pleasing colors and color schemes.
  • TinyColor: fast, lightweight color manipulation and conversion library.
  • Vibrant. Js: Extract primary colors from images.

Internationalization and localization

  • I18next: An easy way to implement internationalization (I18N) with JavaScript.
  • Polyglot: A small international helper library.
  • Babelfish: An I18N library with a friendly and easy-to-understand API and a variety of built-in support.
  • Ttag: A trendy JavaScript internationalization and localization library based on ES6 tag templates and good old GNU Gettext.

The control flow

  • Async: Async library for Node.js and browsers.
  • Q: a JavaScript tool that implements asynchronous promises.
  • Step: an asynchronous control flow library that makes logic execution easier.
  • Contra: Asynchronous flow control implemented in a functional style.
  • Bluebird: A full-featured Promoise library focused on feature innovation and performance improvement.
  • When: Fast and reliable, Promises/A+ standard when() implementation with other features of asynchronous operation.
  • ObjectEventTarget: Add an event-listening prototype for a normal object (as in browser DOMElement’s EventTarget).
  • Sporadic: A composite concurrency abstraction (like streams, coroutines, and the like Go Channels) at the top of the promise, supporting Node.js and browser engines.

routing

  • Director: A small, URL isomorphic route.
  • Page.js: Small client router (about 1200 bytes) inspired by Express Router.
  • Pathjs: Simple, lightweight Web routing.
  • Crossroads: JavaScript routing.
  • Davis.js: Degraded RESTful JavaScript routing based on pushState.
  • Navaid: a browser-side navigation aid system (also known as routing), only 850 bytes in size!

security

  • DOMPurify: An ultra-fast, high-fault tolerant DOM-only XSS filter for HTML, MathML, and SVG.
  • Js-xss: Filters untrusted HTML (preventing XSS attacks) through the whitelist configuration.
  • Xss-filters: Secure XSS filters from Yahoo.

The log

  • Log: console. log with style.
  • Conzole: DEBUG panel that encapsulates JavaScript native Console object methods and functions and displays the panel within the page.
  • Console. log-wrapper: Logs to console cleanly, compatible with all browsers.
  • Loglevel: The lightest JavaScript logging tool library that adds a reliable logging level to the wrapped console.log method.
  • Minilog: a lightweight, streaming API display logging library that can be used on both client and server sides.
  • Storyboard: Common log library + Chrome extension. Provides a single entry point to view task trigger logs that include both client and server.

Regular expression

  • RegEx101: An online JavaScript regular expression tester and debugger. It also supports Python, PHP, and PCRE.
  • RegExr: HTML/JS tool for creating, testing, and learning regular expressions.

Voice command

  • Annyang: Add a voice recognition library for voice commands to your website.
  • Voix.js: JavaScript library for adding voice commands to websites, apps, or games.

API

  • Axios: Promise based HTTP client for Node.js and browsers.
  • Bottleneck: Powerful speed limiter that makes it easier to regulate flow.
  • Oauth-signature-js: Oauth 1.0A signature generator for Nodes and browsers.
  • Amygdala: Provides RESTful HTTP client solutions for Web applications.
  • Jquery. rest: a jquery plugin that makes RESTful apis easier to use.
  • Rails Ranger: A strict REST client designed for the Ruby Tails interface.
  • Wretch: A compact intuitive syntax fetch functionality package.
  • FarFetch: Easy to use modern Fetch interface encapsulation, simplifies file upload.
  • Optic: Optic is used for automatic testing and document generation of apis.
  • SWR: React Hooks library for remote data pulling.

Streaming media

  • Tailor: Streaming media layout service for front-end microservices, inspired by Facebook BigPipe.

Visual inspection

  • Tracking.js: A modern approach to computational vision on the Web.
  • Ocrad.js: JavaScript OCR implementation based on Emscripten.

Machine learning

  • ConvNetJS: JavaScript deep learning. Train convolutional neural networks (or normal neural networks) in the browser environment.
  • DN2A: Digital neural network architecture.
  • Brain.js: JavaScript neural network.
  • Mind. Js: a flexible neural network library.
  • Synaptic. Js: unstructured neural network library for Node.js and browsers.
  • Tensorflow.js: a JavaScript library for training and deploying ML models in browsers and Node.js.
  • Ml5.js: web-friendly machine learning library.
  • Synapses: Lightweight cross-platform neural network library.

Browser detection

  • Bowser: a browser detector that is small, fast and apI-rich.

The benchmark

  • Benchmark.js: the benchmark library used by jsperf.com.
  • Matcha: A simple implementation of caffeine-driven benchmarks.

animation

  • Velocity: Accelerates JavaScript animation.
  • Jquery. transit: Jquery plugin with super smooth CSS3 transformations and transitions.
  • Impess.js: Use CSS3 transformations and transitions to create prezi-like renderings in HTML documents.
  • Bounce. Js: Create fun CSS3 animations instantly.
  • Greensock-js: High-performance HTML5 animation for all major browsers.
  • TransitionEnd: TransitionEnd is a cross-browser library that uses the TransitonEnd event.
  • Dynamics.js: For creating a CSS animation library that conforms to the laws of physical motion.
  • The-cube: The Cube is a CSS3 transition effects experiment.
  • Effeckt. CSS: a high performance transition animation library.
  • Animate. CSS: A cross-browser CSS animation library to be as easy to use as possible.
  • Textillate: Simple plugin for CSS3 text animation.
  • Move.js: JavaScript animation framework based on CSS3.
  • Animatable: One attribute, two values, infinite possibilities.
  • Shuffle-images: Simply and creatively shuffling images. www.thepetedesign.com/demos/shuff…
  • Smoothstate. js: jQuery library for Do-not-Disturb page transitions. smoothstate.com/
  • Animo.js: A JavaScript animation engine. animejs.com
  • Particles. Js: lightweight JavaScript library for creating particles.
  • TsParticles: Particles. Js is a new update with bug fixes and many new features.
  • Particles – BG: a lightweight particle motion animation background React component.

The image processing

  • Lena. Js: image processing library with filters and utility functions.
  • Pica: Resizing images with high quality (Lanczos filter algorithm implemented with fast, pure JS).
  • Cropper: a simple image clipping plugin for jQuery.

The last

Article history

  • Must Know JavaScript library – Visual library