Compare commits

...

37 Commits

Author SHA1 Message Date
Gökay Gürcan
1e105f8f18 refactor: switch to table format with badges 2025-07-27 14:55:50 +02:00
Gökay Gürcan
8d6a9433d0 refactor: switch to table format with badges 2025-07-26 15:39:29 +02:00
WILLIAMS EZE
fc50ce9c7d feat: this commit adds openAI sdk to the sdk section (#922)
* feat: this commit adds openAI sdk to the sdk section

* ref: move openAI SDK to the end of the section

* update openai sdk

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2025-05-27 14:25:58 +02:00
WILLIAMS EZE
21e2d7758b feat: Add ws to Websockets section (#921)
* feat: Add WS to Websockets section

* rename WS to ws

* update ws

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2025-05-27 14:25:10 +02:00
Viktor Svertoka
8923a7dd5e docs(md): add Vite link to bundlers list (#929)
Added a link to Vite in the bundlers section of the README. Vite is a next-generation frontend tooling optimized for speed and modern development workflows.
2025-04-01 10:45:59 +02:00
Viktor Svertoka
ddf0110d6f docs(regex-vis): add Regex visualizer & editor (#919)
Added Regex visualizer & editor

Features:

Visualizing regular expressions
Visual editing of regular expressions
Testing of regular expressions

Link: https://github.com/Bowen7/regex-vis
2025-03-07 10:18:18 +01:00
WILLIAMS EZE
5fe2379476 Add Websockets section and initialize it with Socket.io (#918) 2025-03-01 20:55:38 +01:00
Anthony Max
451932a669 Add HMPL (#916)
* Add HMPL

* Correcting the position in the list
2025-02-20 13:41:05 +01:00
ZAKARIA ELALAOUI
9f3d32b56a Add Astro (#914) 2025-02-16 16:48:19 +01:00
ZAKARIA ELALAOUI
b347d5599c Add some ORM packages (#913)
* Add Zod

* Add ORM Section

* Add Prisma to ORM section

* Add Sequelize to ORM section

* Add Mongoose to ORM section

* Add TypeORM to ORM section

* Add Drizzle ORM to ORM section

* Add Kysely to ORM section

* Add Knex to ORM section

* Add MikroORM to ORM section
2025-02-16 15:18:04 +01:00
ZAKARIA ELALAOUI
9c0ba38107 Add Zod (#912) 2025-02-16 12:13:29 +01:00
Serhii Chyzhyk
7d68235698 docs(assertion): add Supertest JavaScript assertion library (#911)
A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest
2025-02-15 20:13:40 +01:00
Viktor Svertoka
aaee06c9fe docs(regexp): add Regulex JavaScript RegExp visualizer (#908)
* docs(regexp): add Regulex JavaScript RegExp visualizer

Added Regulex, a JavaScript regular expression visualizer, to the RegExp section.  
Regulex provides an interactive way to understand regex patterns and their structure.

* docs(regexp): add Regulex JavaScript RegExp visualizer

Added Regulex, a JavaScript regular expression visualizer, to the RegExp section. Regulex provides an interactive way to understand regex patterns and their structure.
2025-02-13 21:41:38 +01:00
Viktor Svertoka
ff4dac0459 chore(ci): update GitHub Actions and Ruby version (#910)
1. Updated GitHub Actions versions:

actions/checkout@v2 → actions/checkout@v4

actions/upload-artifact@v2 → actions/upload-artifact@v4

Updated Ruby version from 2.6 to 3.2 (since 2.6 is no longer supported).

2. Optimized workflow steps:

Moved setup-ruby after checkout for better execution order.

Added bundler-cache: true to setup-ruby to prevent redundant gem installations.

3. Improved awesome_bot installation:

Added --no-document flag to speed up installation.

4. Made validation step more resilient:

Added continue-on-error: true to validate to prevent workflow failure on link errors.

5. Adjusted artifact handling:
Used if: ${{ failure() }} to ensure artifacts are uploaded only if the validation fails.
2025-02-13 18:50:19 +01:00
Hong Minhee (洪 民憙)
6d17f734e4 Add LogTape (#897) 2024-09-03 15:01:53 +02:00
Eduardo Leitão da Cunha Opice Leão
81dd26d1e0 Added JS-PyTorch (#894) 2024-09-03 00:40:47 +02:00
Revolist OU
910e6ca399 Added RevoGrid library to Spreadsheets (#895)
Adding RevoGrid to the Spreadsheet category of the “Awesome JavaScript” list. RevoGrid is designed to address the needs of developers who require a fast, flexible, and feature-rich grid component capable of handling large datasets with ease.
I believe RevoGrid would be a great addition to your list.
2024-09-03 00:39:26 +02:00
Soumya Parihar
8954fba63a Added Lume - Deno based static site generator (#855)
* added next.js

* Update README.md

fix: remove failing links

* added lume- Deno based site generator

* fixed link for web of tomorrow podcast

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2024-07-21 18:17:01 +02:00
Dan Holdsworth
b18db8804d Add roadmap.sh/javascript to Worth-Reading 2024-07-21 17:41:48 +02:00
Mohammad Sadab Saqib
66816d037c added wdio test framework 2024-07-21 17:41:10 +02:00
Everett Pompeii
1b5952d3e2 Add Bencher 2024-07-21 17:40:39 +02:00
Justin Schroeder
22b5185524 Adds Tempo 2024-07-21 17:36:12 +02:00
Yoni Rapoport
5b60804e08 Added Remult 2024-07-21 17:20:10 +02:00
Okiki
9a6adb3d9d add bundle.js.org 2024-07-20 12:00:01 +02:00
StokeBreakup
d76045c441 pg (#887)
* pg

* fix: remove dead links

* fix: another one bites the dust

---------

Co-authored-by: Gökay Gürcan <gokaygurcan@gmail.com>
2024-06-07 20:39:59 +02:00
Tom Österlund
64630aa173 add schedule-x (#876)
Co-authored-by: Tom Österlund <tom_jonathan.oesterlund@prosiebensat1.com>
2024-01-30 10:17:19 +01:00
Debakar Roy
d7300d89f2 Fix broken link to ECMAScript 6 compatibility table and mo.js (#871)
* Fix broken link

* Fix broken link for mo.js
2023-11-02 14:51:05 +01:00
Artem Kobzar
ac34428b6d Propose sweet-monads library into Functional Programming section (#866)
* Propose sweet-monads library into Functional Programming section

* Move the link at the end of the section

* fix: remove broken links

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2023-09-18 10:25:55 +02:00
Carlos Fernandez Cabrero
f54cf284aa Added new transpilers section and links. (#807)
* Added new category and suggestion as example

* Added reference in content list

* Update README.md

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2023-06-22 11:28:54 +02:00
imxaander
e27b03b028 added toastify-js. (#859) 2023-06-21 04:26:55 +02:00
Liberty
510bcd5017 feat: add Everright-formEditor (#858)
* feat: add Everright-formEditor Everright-filter

* feat: add Everright-formEditor

* remove expired url

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2023-06-04 22:34:13 +02:00
Soumya Parihar
498d31e6ee added next.js (#851)
* added next.js

* Update README.md

fix: remove failing links

---------

Co-authored-by: Gökay Gürcan <github@gokaygurcan.com>
2023-04-29 17:21:18 +02:00
infano
10ce9d2860 add the web-worker section(#842) (#843)
* add proxy-web-storage to storage

* add the web-worker section
2022-12-13 09:52:22 +01:00
infano
a1a2db21e3 add proxy-web-storage to storage (#841) 2022-12-05 11:05:14 +01:00
N3-rd
00cad67ddd Added Dexie.js to storage. (#834)
* added Dexie.js

* fix: remove invalid url

Co-authored-by: Gökay Gürcan <gokaygurcan@gmail.com>
2022-08-28 22:51:42 +02:00
addyswitch
78fa5728d1 Added minimizers (#833) 2022-08-22 09:44:16 +02:00
Gökay Gürcan
393cdb7fe9 fix: remove a broken url
html5media
2022-08-20 21:25:35 +02:00
2 changed files with 253 additions and 136 deletions

View File

@@ -11,7 +11,7 @@ on:
- synchronize - synchronize
env: env:
RUBY_VERSION: '2.6' RUBY_VERSION: '3.2'
defaults: defaults:
run: run:
@@ -22,30 +22,32 @@ jobs:
name: Validator name: Validator
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- id: checkout
name: Checkout
uses: actions/checkout@v4
- id: setup-ruby - id: setup-ruby
name: Setup Ruby name: Setup Ruby
uses: ruby/setup-ruby@v1 uses: ruby/setup-ruby@v1
with: with:
ruby-version: ${{ env.RUBY_VERSION }} ruby-version: ${{ env.RUBY_VERSION }}
bundler-cache: true
- id: checkout
name: Checkout
uses: actions/checkout@v2
- id: install-gem - id: install-gem
name: Install gem name: Install gem
run: | run: |
gem install awesome_bot gem install awesome_bot --no-document
- id: validate - id: validate
name: Validate name: Validate
continue-on-error: true
run: | run: |
awesome_bot README.md --request-delay 0.5 --allow-timeout --allow-redirect awesome_bot README.md --request-delay 0.5 --allow-timeout --allow-redirect
- id: upload-artifact - id: upload-artifact
name: Upload artifact name: Upload artifact
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v4
if: failure() if: ${{ failure() }}
with: with:
if-no-files-found: warn if-no-files-found: warn
name: ab-results name: ab-results
@@ -53,4 +55,3 @@ jobs:
ab-results-README.md.json ab-results-README.md.json
ab-results-README.md-filtered.json ab-results-README.md-filtered.json
ab-results-README.md-markdown-table.json ab-results-README.md-markdown-table.json

370
README.md
View File

@@ -2,138 +2,159 @@
A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) libraries, resources and shiny things. A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/en-US/docs/Web/JavaScript) libraries, resources and shiny things.
* [Awesome JavaScript](#awesome-javascript) <details>
* [Package Managers](#package-managers)
* [Component management](#component-management) <summary>Contents</summary>
* [Loaders](#loaders)
* [Bundlers](#bundlers) * [Package Managers](#package-managers)
* [Type Checkers](#type-checkers) * [Component management](#component-management)
* [Testing Frameworks](#testing-frameworks) * [Loaders](#loaders)
* [QA Tools](#qa-tools) * [Transpilers](#transpilers)
* [MVC Frameworks and Libraries](#mvc-frameworks-and-libraries) * [Bundlers](#bundlers)
* [Node-Powered CMS Frameworks](#node-powered-cms-frameworks) * [Minimizers](#minimizers)
* [Templating Engines](#templating-engines) * [Type Checkers](#type-checkers)
* [Game Engines](#game-engines) * [Testing Frameworks](#testing-frameworks)
* [Articles/Posts](#articles-and-posts) * [QA Tools](#qa-tools)
* [Data Visualization](#data-visualization) * [MVC Frameworks and Libraries](#mvc-frameworks-and-libraries)
* [Timeline](#timeline) * [Node-Powered CMS Frameworks](#node-powered-cms-frameworks)
* [Spreadsheet](#spreadsheet) * [Templating Engines](#templating-engines)
* [Editors](#editors) * [Game Engines](#game-engines)
* [Documentation](#documentation) * [Articles/Posts](#articles-and-posts)
* Utilities * [Data Visualization](#data-visualization)
* [Files](#files) * [Timeline](#timeline)
* [Functional Programming](#functional-programming) * [Spreadsheet](#spreadsheet)
* [Reactive Programming](#reactive-programming) * [Editors](#editors)
* [Data Structure](#data-structure) * [Documentation](#documentation)
* [Date](#date) * Utilities
* [String](#string) * [Files](#files)
* [Number](#number) * [Functional Programming](#functional-programming)
* [Storage](#storage) * [Reactive Programming](#reactive-programming)
* [Color](#color) * [Data Structure](#data-structure)
* [I18n And L10n](#i18n-and-l10n) * [Date](#date)
* [Control Flow](#control-flow) * [String](#string)
* [Routing](#routing) * [Number](#number)
* [Security](#security) * [Storage](#storage)
* [Log](#log) * [Color](#color)
* [RegExp](#regexp) * [I18n And L10n](#i18n-and-l10n)
* [Media](#videoaudio) * [Control Flow](#control-flow)
* [Voice Command](#voice-command) * [Routing](#routing)
* [API](#api) * [Security](#security)
* [Streaming](#streaming) * [Log](#log)
* [Vision Detection](#vision-detection) * [RegExp](#regexp)
* [Browser Detection](#browser-detection) * [Media](#videoaudio)
* [Operating System](#operating-system) * [Voice Command](#voice-command)
* [Benchmark](#benchmark) * [API](#api)
* [Machine Learning](#machine-learning) * [Streaming](#streaming)
* UI * [Vision Detection](#vision-detection)
* [Code Highlighting](#code-highlighting) * [Browser Detection](#browser-detection)
* [Loading Status](#loading-status) * [Operating System](#operating-system)
* [Validation](#validation) * [Benchmark](#benchmark)
* [Keyboard Wrappers](#keyboard-wrappers) * [Machine Learning](#machine-learning)
* [Tours And Guides](#tours-and-guides) * [Web Worker](#web-worker)
* [Notifications](#notifications) * UI
* [Sliders](#sliders) * [Code Highlighting](#code-highlighting)
* [Range Sliders](#range-sliders) * [Loading Status](#loading-status)
* [Form Widgets](#form-widgets) * [Validation](#validation)
* [Tips](#tips) * [Keyboard Wrappers](#keyboard-wrappers)
* [Modals and Popups](#modals-and-popups) * [Tours And Guides](#tours-and-guides)
* [Scroll](#scroll) * [Notifications](#notifications)
* [Menu](#menu) * [Sliders](#sliders)
* [Table/Grid](#tablegrid) * [Range Sliders](#range-sliders)
* [Frameworks](#frameworks-1) * [Form Widgets](#form-widgets)
* [Boilerplates](#boilerplates) * [Tips](#tips)
* [Image](#image) * [Modals and Popups](#modals-and-popups)
* [Gesture](#gesture) * [Scroll](#scroll)
* [Maps](#maps) * [Menu](#menu)
* [Typography](#typography) * [Table/Grid](#tablegrid)
* [Animations](#animations) * [Frameworks](#frameworks-1)
* [Image processing](#image-processing) * [Boilerplates](#boilerplates)
* [ES6](#es6) * [Images](#images)
* [Generators](#generators) * [Gesture](#gesture)
* [Full Text Search](#full-text-search) * [Maps](#maps)
* [SDK](#sdk) * [Typography](#typography)
* [Misc](#misc) * [Animations](#animations)
* [Podcasts](#podcasts) * [Image processing](#image-processing)
* [ES6](#es6)
* [Generators](#generators)
* [Full Text Search](#full-text-search)
* [SDK](#sdk)
* [ORM](#orm)
* [WebSockets](#websockets)
* [Misc](#misc)
* [Worth Reading](#worth-reading) * [Worth Reading](#worth-reading)
* [Other Awesome Lists](#other-awesome-lists) * [Other Awesome Lists](#other-awesome-lists)
* [Contributing](#contributing) * [Contributing](#contributing)
---- </details>
----
## Package Managers ## Package Managers
*Host the JavaScript libraries and provide tools for fetching and packaging them.* *Host the JavaScript libraries and provide tools for fetching and packaging them.*
* [npm](https://www.npmjs.com/) - npm is the package manager for JavaScript. | Name | Repository | Description | Badges |
* [Bower](https://github.com/bower/bower) - A package manager for the web. |:-----|:-----------|:------------|:-------|
* [component](https://github.com/componentjs/component) - Client package management for building better web applications. | [npm](https://npmjs.com) | [npm/cli](https://github.com/npm/cli) | the package manager for JavaScript. | ![GitHub](https://img.shields.io/github/stars/npm/cli) |
* [spm](https://github.com/spmjs/spm) - Brand new static package manager. | [Bower](https://bower.io) | [bower/bower](https://github.com/bower/bower) | A package manager for the web. | ![GitHub](https://img.shields.io/github/stars/bower/bower) |
* [jam](https://github.com/caolan/jam) - A package manager using a browser-focused and RequireJS compatible repository. | [jspm](https://jspm.org) | [jspm/jspm-cli](https://github.com/jspm/jspm-cli) | Import Map Package Manager. | ![GitHub](https://img.shields.io/github/stars/jspm/jspm-cli) |
* [jspm](https://github.com/jspm/jspm-cli) - Frictionless browser package management. | [yarn](https://yarnpkg.com) | [yarnpkg/berry](https://github.com/yarnpkg/berry) | Fast, reliable, and secure dependency management. | ![GitHub](https://img.shields.io/github/stars/yarnpkg/berry) |
* [Ender](https://github.com/ender-js/Ender) - The no-library library. | [pnpm](https://pnpm.io) | [pnpm/pnpm](https://github.com/pnpm/pnpm) | Fast, disk space efficient package manager. | ![GitHub](https://img.shields.io/github/stars/pnpm/pnpm) |
* [volo](https://github.com/volojs/volo) - Create front end projects from templates, add dependencies, and automate the resulting projects. | [bun](https://bun.com) | [oven-sh/bun](https://github.com/oven-sh/bun) | Incredibly fast JavaScript runtime, bundler, test runner, and package manager all in one | ![GitHub](https://img.shields.io/github/stars/oven-sh/bun) |
* [Duo](https://github.com/duojs/duo) - Next-generation package manager that blends the best ideas from Component, Browserify and Go to make organizing and writing front-end code quick and painless.
* [yarn](https://yarnpkg.com/) - Fast, reliable, and secure dependency management.
* [pnpm](https://pnpm.io/) - Fast, disk space efficient package manager.
## Component Management ## Component Management
* [Bit](https://github.com/teambit/bit) - Create, find and reuse components (React, Angular, Node etc.) across applications. | Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [Bit](https://bit.dev) | [teambit/bit](https://github.com/teambit/bit) | AI-powered development workspaces with reusable components, architectural clarity and zero overhead. | ![GitHub](https://img.shields.io/github/stars/teambit/bit) |
## Loaders ## Loaders
*Module or loading system for JavaScript.* *Module or loading system for JavaScript.*
* [RequireJS](https://github.com/requirejs/requirejs) - A file and module loader for JavaScript. | Name | Repository | Description | Badges |
* [browserify](https://github.com/substack/node-browserify) - Browser-side require() the node.js way. |:-----|:-----------|:------------|:-------|
* [SeaJS](https://github.com/seajs/seajs) - A Module Loader for the Web. | [RequireJS](https://requirejs.org/) | [requirejs/requirejs](https://github.com/requirejs/requirejs) | A file and module loader for JavaScript. | ![GitHub](https://img.shields.io/github/stars/requirejs/requirejs) |
* [HeadJS](https://github.com/headjs/headjs) - The only script in your HEAD. | [browserify](http://browserify.org/) | [browserify/browserify](https://github.com/browserify/browserify) | browser-side require() the node.js way. | ![GitHub](https://img.shields.io/github/stars/browserify/browserify) |
* [lazyload](https://github.com/rgrove/lazyload/) - Tiny, dependency-free async JavaScript and CSS loader. | [SystemJS](https://github.com/systemjs/systemjs) | [systemjs/systemjs](https://github.com/systemjs/systemjs) | Dynamic ES module loader. | ![GitHub](https://img.shields.io/github/stars/systemjs/systemjs) |
* [script.js](https://github.com/ded/script.js) - Asynchronous JavaScript loader and dependency manager.
* [systemjs](https://github.com/systemjs/systemjs) - AMD, CJS & ES6 spec-compliant module loader.
* [LodJS](https://github.com/yanhaijing/lodjs) - Module loader based on AMD. ## Transpilers
* [ESL](https://github.com/ecomfe/esl) - Module loader browser first, support lazy define and AMD. *Software that converts the modern JavaScript syntax into the older JavaScript syntax.*
* [modulejs](https://github.com/lrsjng/modulejs) - Lightweight JavaScript module system.
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [SWC](https://swc.rs/) | [swc-project/swc](https://github.com/swc-project/swc) | Rust-based platform for the Web. | ![GitHub](https://img.shields.io/github/stars/swc-project/swc) |
## Bundlers ## Bundlers
* [webpack](https://github.com/webpack/webpack) - Packs CommonJs/AMD modules for the browser. | Name | Repository | Description | Badges |
* [Rollup](https://github.com/rollup/rollup) - Next-generation ES6 module bundler. |:-----|:-----------|:------------|:-------|
* [Brunch](https://github.com/brunch/brunch) - Fast front-end web app build tool with simple declarative config. | [webpack](https://webpack.js.org) | [webpack/webpack](https://github.com/webpack/webpack) | A bundler for javascript and friends. | ![GitHub](https://img.shields.io/github/stars/webpack/webpack) |
* [Parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero configuration web application bundler. | [Rollup](https://rollupjs.org/) | [rollup/rollup](https://github.com/rollup/rollup) | Next-generation ES module bundler. | ![GitHub](https://img.shields.io/github/stars/rollup/rollup) |
* [Microbundle](https://github.com/developit/microbundle) - Zero-configuration bundler for tiny modules. | [Parcel](https://parceljs.org) | [parcel-bundler/parcel](https://github.com/parcel-bundler/parcel) | The zero configuration build tool for the web. | ![GitHub](https://img.shields.io/github/stars/parcel-bundler/parcel) |
* [FuseBox](https://github.com/fuse-box/fuse-box) - A bundler that does it right | [Microbundle](https://npm.im/microbundle) | [developit/microbundle](https://github.com/developit/microbundle) | Zero-configuration bundler for tiny modules. | ![GitHub](https://img.shields.io/github/stars/developit/microbundle) |
* [Snowpack](https://www.snowpack.dev/) - A lightning-fast frontend build tool, designed for the modern web. | [bundlejs](https://bundlejs.com) | [okikio/bundlejs](https://github.com/okikio/bundlejs) | An online tool to quickly bundle & minify your projects, while viewing the compressed gzip/brotli bundle size, all running locally on your browser. | ![GitHub](https://img.shields.io/github/stars/okikio/bundlejs) |
| [Vite](https://vite.dev) | [rollup/rollup](https://github.com/vitejs/vite) | Next generation frontend tooling. It's fast! | ![GitHub](https://img.shields.io/github/stars/vitejs/vite) |
## Minimizers
| Name | Repository | Description | Badges |
|:-----|:-----------|:------------|:-------|
| [Terser](https://terser.org) | [terser/terser](https://github.com/terser/terser) | JavaScript parser, mangler and compressor toolkit for ES6+. | ![GitHub](https://img.shields.io/github/stars/terser/terser) |
| [UglifyJS](http://lisperator.net/uglifyjs) | [Uglify](https://github.com/mishoo/UglifyJS) | JavaScript parser / mangler / compressor / beautifier toolkit. | ![GitHub](https://img.shields.io/github/stars/mishoo/UglifyJS) |
## Type Checkers ## Type Checkers
* [TypeScript](https://www.typescriptlang.org/) - A typed superset of JavaScript that compiles to plain JavaScript. * [TypeScript](https://www.typescriptlang.org/) - A typed superset of JavaScript that compiles to plain JavaScript.
* [Flow.js](https://flow.org/en/) - A static type checker for JavaScript from Facebook. * [Flow.js](https://flow.org/) - A static type checker for JavaScript from Facebook.
* [Hegel](https://hegel.js.org/) - A static type checker for JavaScript with a bias on type inference an strong type system. * [Hegel](https://hegel.js.org/) - A static type checker for JavaScript with a bias on type inference an strong type system.
* [TypL](https://github.com/getify/TypL) - the JavaScript Type Linter with a bias on type inference. * [TypL](https://github.com/getify/TypL) - the JavaScript Type Linter with a bias on type inference.
* [Hindley Milner Definitions](https://github.com/xodio/hm-def) - runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures. * [Hindley Milner Definitions](https://github.com/xodio/hm-def) - runtime type checking for JavaScript functions using Haskell-alike Hindley Milner type signatures.
* [Zod](https://github.com/colinhacks/zod) - TypeScript-first schema validation with built-in static type inference.
## Testing Frameworks ## Testing Frameworks
@@ -151,6 +172,8 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing for the modern web development stack. * [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing for the modern web development stack.
* [ava](https://github.com/avajs/ava) - 🚀 Futuristic JavaScript test runner * [ava](https://github.com/avajs/ava) - 🚀 Futuristic JavaScript test runner
* [Cypress](https://www.cypress.io/) - Complete end-to-end testing framework for anything that runs in a browser and beyond. * [Cypress](https://www.cypress.io/) - Complete end-to-end testing framework for anything that runs in a browser and beyond.
* [WebdriverI/O](https://webdriver.io/) - Next-gen browser and mobile automation test framework for Node.js
### Assertion ### Assertion
@@ -160,6 +183,8 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs, and mocks for JavaScript. * [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs, and mocks for JavaScript.
* [expect.js](https://github.com/Automattic/expect.js) - Minimalistic BDD-style assertions for Node.JS and the browser. * [expect.js](https://github.com/Automattic/expect.js) - Minimalistic BDD-style assertions for Node.JS and the browser.
* [proxyquire](https://github.com/thlorenz/proxyquire) - Stub nodejs's require. * [proxyquire](https://github.com/thlorenz/proxyquire) - Stub nodejs's require.
* [Supertest](https://github.com/visionmedia/supertest) - A popular HTTP assertion library for testing REST APIs, often used with other testing frameworks like Mocha or Jest
### Coverage ### Coverage
@@ -167,6 +192,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [blanket](https://github.com/alex-seville/blanket) - A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs. * [blanket](https://github.com/alex-seville/blanket) - A simple code coverage library for JavaScript. Designed to be easy to install and use, for both browser and nodejs.
* [JSCover](https://github.com/tntim96/JSCover) - JSCover is a tool that measures code coverage for JavaScript programs. * [JSCover](https://github.com/tntim96/JSCover) - JSCover is a tool that measures code coverage for JavaScript programs.
### Runner ### Runner
* [phantomjs](https://github.com/ariya/phantomjs) - Scriptable Headless WebKit. * [phantomjs](https://github.com/ariya/phantomjs) - Scriptable Headless WebKit.
@@ -182,6 +208,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [taiko](https://github.com/getgauge/taiko) - A Node.js library with a simple API to automate Chromium based browsers. * [taiko](https://github.com/getgauge/taiko) - A Node.js library with a simple API to automate Chromium based browsers.
* [Playwright](https://github.com/microsoft/playwright) - Node.js library to automate Chromium, Firefox and WebKit with a single API. * [Playwright](https://github.com/microsoft/playwright) - Node.js library to automate Chromium, Firefox and WebKit with a single API.
## QA Tools ## QA Tools
* [prettier](https://github.com/prettier/prettier) - Prettier is an opinionated code formatter. * [prettier](https://github.com/prettier/prettier) - Prettier is an opinionated code formatter.
@@ -197,6 +224,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [JS-Beautifier](https://github.com/beautify-web/js-beautify) - Npm cli and library to format JS code. * [JS-Beautifier](https://github.com/beautify-web/js-beautify) - Npm cli and library to format JS code.
* [husky](https://github.com/typicode/husky) - Prevents bad git commit, git push and more. * [husky](https://github.com/typicode/husky) - Prevents bad git commit, git push and more.
## MVC Frameworks and Libraries ## MVC Frameworks and Libraries
* [angular.js](https://github.com/angular/angular.js) - HTML enhanced for web apps. (deprecated) * [angular.js](https://github.com/angular/angular.js) - HTML enhanced for web apps. (deprecated)
@@ -243,6 +271,8 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [Blockly](https://github.com/google/blockly) - A library that adds a visual code editor to web and mobile apps by Google. * [Blockly](https://github.com/google/blockly) - A library that adds a visual code editor to web and mobile apps by Google.
* [Million](https://github.com/aidenybai/million) - <1kb compiler-focused virtual DOM. It's fast! * [Million](https://github.com/aidenybai/million) - <1kb compiler-focused virtual DOM. It's fast!
* [Whatsup](https://github.com/whatsup/whatsup) - A frontend framework for chillout-mode development 🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system. * [Whatsup](https://github.com/whatsup/whatsup) - A frontend framework for chillout-mode development 🥤. JSX components on generators, fast mobx-like state management and exclusive cssx style system.
* [Remult](https://github.com/remult/remult) - A CRUD framework for full-stack TypeScript.
## Node-Powered CMS Frameworks ## Node-Powered CMS Frameworks
@@ -259,6 +289,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [Strapi](https://github.com/strapi/strapi) - Open source Node.js Headless CMS to easily build customisable APIs. * [Strapi](https://github.com/strapi/strapi) - Open source Node.js Headless CMS to easily build customisable APIs.
* [Factor](https://github.com/fiction-com/factor) - The Javascript CMS * [Factor](https://github.com/fiction-com/factor) - The Javascript CMS
## Templating Engines ## Templating Engines
*Templating engines allow you to perform string interpolation.* *Templating engines allow you to perform string interpolation.*
@@ -276,6 +307,8 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [xtemplate](https://github.com/xtemplate/xtemplate) - eXtensible Template Engine lib for node and the browser * [xtemplate](https://github.com/xtemplate/xtemplate) - eXtensible Template Engine lib for node and the browser
* [marko](https://github.com/marko-js/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. * [marko](https://github.com/marko-js/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](https://github.com/paularmstrong/swig) - (Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine. * [swig](https://github.com/paularmstrong/swig) - (Archived) A simple, powerful, and extendable Node.js and browser-based JavaScript template engine.
* [hmpl](https://hmpl-lang.dev) - Server-oriented customizable templating for JavaScript.
## Game Engines ## Game Engines
* [A-Frame](https://aframe.io) - Make WebVR. * [A-Frame](https://aframe.io) - Make WebVR.
@@ -289,13 +322,14 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [PixiJS](https://pixijs.com) - The HTML5 Creation Engine. * [PixiJS](https://pixijs.com) - The HTML5 Creation Engine.
* [PlayCanvas](https://playcanvas.com) - PlayCanvas WebGL Game Engine. * [PlayCanvas](https://playcanvas.com) - PlayCanvas WebGL Game Engine.
## Articles and Posts ## Articles and Posts
* [The JavaScript that you should know](https://medium.com/@pedropolisenso/o-javasscript-que-voc%C3%AA-deveria-conhecer-b70e94d1d706) - Article about concepts of JavaScript Functional. * [The JavaScript that you should know](https://medium.com/@pedropolisenso/o-javasscript-que-voc%C3%AA-deveria-conhecer-b70e94d1d706) - Article about concepts of JavaScript Functional.
* [How JavaScript works](https://blog.sessionstack.com/tagged/tutorial) - A series of articles about the building blocks of JavaScript.
* [Multi-threading using web-workers](https://www.loginradius.com/blog/async/adding-multi-threading-to-javascript-using-web-workers/) - Web Workers: Adding Multi-threading to JavaScript * [Multi-threading using web-workers](https://www.loginradius.com/blog/async/adding-multi-threading-to-javascript-using-web-workers/) - Web Workers: Adding Multi-threading to JavaScript
* [this keyword in JavaScript](https://www.loginradius.com/blog/async/breaking-down-this-keyword-in-javascript/) - Breaking down the 'this' keyword in JavaScript * [this keyword in JavaScript](https://www.loginradius.com/blog/async/breaking-down-this-keyword-in-javascript/) - Breaking down the 'this' keyword in JavaScript
## Data Visualization ## Data Visualization
*Data visualization tools for the web.* *Data visualization tools for the web.*
@@ -316,7 +350,6 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [cubism](https://github.com/square/cubism) - A D3 plugin for visualizing time series. * [cubism](https://github.com/square/cubism) - A D3 plugin for visualizing time series.
* [dc.js](https://github.com/dc-js/dc.js) - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js * [dc.js](https://github.com/dc-js/dc.js) - Multi-Dimensional charting built to work natively with crossfilter rendered with d3.js
* [vega](https://github.com/trifacta/vega) - A visualization grammar. * [vega](https://github.com/trifacta/vega) - A visualization grammar.
* [processing.js](http://processingjs.org/) - Processing.js makes your data visualizations work using web standards and without any plug-ins.
* [envisionjs](https://github.com/HumbleSoftware/envisionjs) - Dynamic HTML5 visualization. * [envisionjs](https://github.com/HumbleSoftware/envisionjs) - Dynamic HTML5 visualization.
* [rickshaw](https://github.com/shutterstock/rickshaw) - JavaScript toolkit for creating interactive real-time graphs. * [rickshaw](https://github.com/shutterstock/rickshaw) - JavaScript toolkit for creating interactive real-time graphs.
* [flot](https://github.com/flot/flot) - Attractive JavaScript charts for jQuery. * [flot](https://github.com/flot/flot) - Attractive JavaScript charts for jQuery.
@@ -344,20 +377,24 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [cola.js](https://ialab.it.monash.edu/webcola/) - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques * [cola.js](https://ialab.it.monash.edu/webcola/) - library for arranging your HTML5 documents and diagrams using constraint-based optimization techniques
* [jointjs](https://github.com/clientIO/joint) - Diagramming library to create static diagrams or fully interactive diagramming tools. * [jointjs](https://github.com/clientIO/joint) - Diagramming library to create static diagrams or fully interactive diagramming tools.
* [vizzu](https://github.com/vizzuhq/vizzu-lib) - Library for animated data visualizations and data stories. * [vizzu](https://github.com/vizzuhq/vizzu-lib) - Library for animated data visualizations and data stories.
There're also some great commercial libraries, like [amchart](https://www.amcharts.com/), [anychart](https://www.anychart.com/), [plotly](https://plotly.com/), [highchart](https://www.highcharts.com/), and [lightning chart](https://www.arction.com/lightningchart-js/). There're also some great commercial libraries, like [amchart](https://www.amcharts.com/), [anychart](https://www.anychart.com/), [plotly](https://plotly.com/), and [lightning chart](https://www.arction.com/lightningchart-js/).
## Timeline ## Timeline
* [TimelineJS v3](https://github.com/NUKnightLab/TimelineJS3) - A Storytelling Timeline built in JavaScript. * [TimelineJS v3](https://github.com/NUKnightLab/TimelineJS3) - A Storytelling Timeline built in JavaScript.
* [timesheet.js](https://github.com/sbstjn/timesheet.js) - JavaScript library for simple HTML5 & CSS3 time sheets. * [timesheet.js](https://github.com/sbstjn/timesheet.js) - JavaScript library for simple HTML5 & CSS3 time sheets.
## Spreadsheet ## Spreadsheet
* [HANDSONTABLE](https://github.com/handsontable/handsontable) - Handsontable is a JavaScript/HTML5 Spreadsheet Library for Developers * [HANDSONTABLE](https://github.com/handsontable/handsontable) - Handsontable is a JavaScript/HTML5 Spreadsheet Library for Developers
* [Frappe Datatable](https://github.com/frappe/datatable) - Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data. * [Frappe Datatable](https://github.com/frappe/datatable) - Frappe DataTable is a simple, modern and interactive datatable library for displaying tabular data.
* [Luckysheet](https://github.com/mengshukeji/Luckysheet) - Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source. * [Luckysheet](https://github.com/mengshukeji/Luckysheet) - Luckysheet is an online spreadsheet like excel that is powerful, simple to configure, and completely open source.
* [Jspreadsheet CE](https://github.com/jspreadsheet/ce) - Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software. * [Jspreadsheet CE](https://github.com/jspreadsheet/ce) - Jspreadsheet is a lightweight vanilla javascript plugin to create amazing web-based interactive tables and spreadsheets compatible with other spreadsheet software.
* [RevoGrid](https://github.com/revolist/revogrid) - RevoGrid is a fast, responsive excel like data grid library for modern web applications.
## Editors ## Editors
@@ -384,12 +421,12 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [raptor-editor](https://github.com/PANmedia/raptor-editor) - Raptor, an HTML5 WYSIWYG content editor! * [raptor-editor](https://github.com/PANmedia/raptor-editor) - Raptor, an HTML5 WYSIWYG content editor!
* [popline](https://github.com/kenshin54/popline) - Popline is an HTML5 Rich-Text-Editor Toolbar. * [popline](https://github.com/kenshin54/popline) - Popline is an HTML5 Rich-Text-Editor Toolbar.
* [Summernote](https://github.com/summernote/summernote) - Super simple WYSIWYG editor. * [Summernote](https://github.com/summernote/summernote) - Super simple WYSIWYG editor.
* [Everright-formEditor](https://github.com/Liberty-liu/Everright-formEditor) - A visual drag-and-drop low-code form editor
## Documentation ## Documentation
* [DevDocs](https://devdocs.io/) is an all-in-one API documentation reader with a fast, organized, and consistent interface. * [DevDocs](https://devdocs.io/) is an all-in-one API documentation reader with a fast, organized, and consistent interface.
* [dexy](http://www.dexy.it/) is a free-form literate documentation tool for writing any kind of technical document incorporating code.
* [docco](http://ashkenas.com/docco/) is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator. * [docco](http://ashkenas.com/docco/) is a quick-and-dirty, hundred-line-long, literate-programming-style documentation generator.
* [styledocco](http://jacobrask.github.io/styledocco/) generates documentation and style guide documents from your stylesheets. * [styledocco](http://jacobrask.github.io/styledocco/) generates documentation and style guide documents from your stylesheets.
* [Ronn](https://github.com/rtomayko/ronn) builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web. * [Ronn](https://github.com/rtomayko/ronn) builds manuals. It converts simple, human readable textfiles to roff for terminal display, and also to HTML for the web.
@@ -428,6 +465,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [rambda](https://github.com/selfrefactor/rambda) - Faster and smaller alternative to *Ramda*. * [rambda](https://github.com/selfrefactor/rambda) - Faster and smaller alternative to *Ramda*.
* [fxts](https://github.com/marpple/FxTS) - Lazy evaluation and concurrency. * [fxts](https://github.com/marpple/FxTS) - Lazy evaluation and concurrency.
* [wild-wild-path](https://github.com/ehmicky/wild-wild-path) - Object property paths with wildcards and regexps. * [wild-wild-path](https://github.com/ehmicky/wild-wild-path) - Object property paths with wildcards and regexps.
* [sweet-monads](https://github.com/JSMonk/sweet-monads) - A utility library containing popular monads and lazy iterators.
## Reactive Programming ## Reactive Programming
@@ -442,6 +480,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Cycle.js](https://cycle.js.org) - A functional and reactive JavaScript library for cleaner code. * [Cycle.js](https://cycle.js.org) - A functional and reactive JavaScript library for cleaner code.
* [concent](https://github.com/concentjs/concent) - Definitely the ❤️ simplest but ⚡️ strongest state management for react, it is predictable、progressive and efficient. * [concent](https://github.com/concentjs/concent) - Definitely the ❤️ simplest but ⚡️ strongest state management for react, it is predictable、progressive and efficient.
## Data Structure ## Data Structure
*Data structure libraries to build a more sophisticated application.* *Data structure libraries to build a more sophisticated application.*
@@ -452,6 +491,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [ngraph.graph](https://github.com/anvaka/ngraph.graph) - Graph data structure in javascript. * [ngraph.graph](https://github.com/anvaka/ngraph.graph) - Graph data structure in javascript.
* [js-sdsl](https://github.com/zly201/js-sdsl) - Refer to the javascript standard data structure library implemented by c++ stl, which supports c++ bidirectional iterator mode. * [js-sdsl](https://github.com/zly201/js-sdsl) - Refer to the javascript standard data structure library implemented by c++ stl, which supports c++ bidirectional iterator mode.
## Date ## Date
*Date Libraries.* *Date Libraries.*
@@ -468,6 +508,8 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [map-countdown](https://github.com/dawidjaniga/map-countdown) - A browser countdown built on top of the Google Maps. * [map-countdown](https://github.com/dawidjaniga/map-countdown) - A browser countdown built on top of the Google Maps.
* [dayjs](https://github.com/iamkun/dayjs) - Day.js 2KB immutable date library alternative to Moment.js with the same modern API. * [dayjs](https://github.com/iamkun/dayjs) - Day.js 2KB immutable date library alternative to Moment.js with the same modern API.
* [luxon](https://github.com/moment/luxon) - Luxon is a library for working with dates and times in JavaScript. * [luxon](https://github.com/moment/luxon) - Luxon is a library for working with dates and times in JavaScript.
* [tempo](https://github.com/formkit/tempo) - Parsing, formatting, and timezones — Tempo is a small tree-shakable library for native Date objects.
## String ## String
*String Libraries.* *String Libraries.*
@@ -484,7 +526,8 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [sprintf.js](https://github.com/alexei/sprintf.js) - A sprintf implementation. * [sprintf.js](https://github.com/alexei/sprintf.js) - A sprintf implementation.
* [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings. * [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for urls and other strings. Turn strings into data or data into strings.
* [plexis](https://github.com/plexis-js/plexis) - Lo-fi, powerful, community-driven string manipulation library. * [plexis](https://github.com/plexis-js/plexis) - Lo-fi, powerful, community-driven string manipulation library.
* [url-state-machine](https://github.com/anonrig/url-js) - Super fast spec-compliant URL parser state machine for Node.js. * [url-state-machine](https://github.com/anonrig/url-js) - Super fast spec-compliant URL parser state machine for Node.js.
## Number ## Number
@@ -521,7 +564,11 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Hoodie](https://github.com/hoodiehq/hoodie) - Offline First backend to work in browser without internet connectivity. * [Hoodie](https://github.com/hoodiehq/hoodie) - Offline First backend to work in browser without internet connectivity.
* [NeDB](https://github.com/louischatriot/nedb) - Embedded Persistent database for Browsers, nw.js, electron. * [NeDB](https://github.com/louischatriot/nedb) - Embedded Persistent database for Browsers, nw.js, electron.
* [Lovefield](https://google.github.io/lovefield) - Lovefield is a relational database for web apps, By Google. * [Lovefield](https://google.github.io/lovefield) - Lovefield is a relational database for web apps, By Google.
* [Dexie.js](https://github.com/dexie/Dexie.js) - Dexie.js is a wrapper library for indexedDB.
* [proxy-web-storage](https://github.com/KID-joker/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](https://github.com/datawan-labs/pg) - Browser PostgreSQL Playground, no server, just client and pglite (postgresql wasm)
## Color ## Color
* [randomColor](https://github.com/davidmerfield/randomColor) - A color generator for JavaScript. * [randomColor](https://github.com/davidmerfield/randomColor) - A color generator for JavaScript.
@@ -532,8 +579,9 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [TinyColor](https://github.com/bgrins/TinyColor) - Fast, small color manipulation and conversion for JavaScript. * [TinyColor](https://github.com/bgrins/TinyColor) - Fast, small color manipulation and conversion for JavaScript.
* [Vibrant.js](https://github.com/jariz/vibrant.js/) - Extract prominent colors from an image. * [Vibrant.js](https://github.com/jariz/vibrant.js/) - Extract prominent colors from an image.
## I18n And L10n
*Localization (l10n) and internationalization (i18n) JavaScript libraries.* ## i18n and l10n
*Internationalization (i18n) and localization (l10n) JavaScript libraries.*
* [i18next](https://github.com/i18next/i18next) - internationalisation (i18n) with JavaScript the easy way. * [i18next](https://github.com/i18next/i18next) - internationalisation (i18n) with JavaScript the easy way.
* [polyglot](https://github.com/airbnb/polyglot.js) - tiny i18n helper library. * [polyglot](https://github.com/airbnb/polyglot.js) - tiny i18n helper library.
@@ -541,6 +589,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [ttag](https://github.com/ttag-org/ttag) - Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext. * [ttag](https://github.com/ttag-org/ttag) - Modern javascript i18n localization library based on ES6 tagged templates and the good old GNU gettext.
* [attranslate](https://github.com/fkirc/attranslate) - A JavaScript-tool for synchronizing translation-files, including JSON/YAML/XML and other formats. * [attranslate](https://github.com/fkirc/attranslate) - A JavaScript-tool for synchronizing translation-files, including JSON/YAML/XML and other formats.
## Control Flow ## Control Flow
* [async](https://github.com/caolan/async) - Async utilities for node and the browser. * [async](https://github.com/caolan/async) - Async utilities for node and the browser.
@@ -579,10 +628,15 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [loglevel](https://github.com/pimterry/loglevel) - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods. * [loglevel](https://github.com/pimterry/loglevel) - Minimal lightweight logging for JavaScript, adding reliable log level methods to wrap any available console.log methods.
* [minilog](http://mixu.net/minilog/) Lightweight client & server-side logging with Stream-API backends. * [minilog](http://mixu.net/minilog/) Lightweight client & server-side logging with Stream-API backends.
* [storyboard](http://guigrpa.github.io/storyboard/) - Universal logging library + Chrome extension; it lets you see all client and server tasks triggered by a user action in a single place. * [storyboard](http://guigrpa.github.io/storyboard/) - Universal logging library + Chrome extension; it lets you see all client and server tasks triggered by a user action in a single place.
* [LogTape](https://logtape.org/) - Simple logging library with zero dependencies for Deno, Node.js, Bun, browsers, and edge functions.
## RegExp ## RegExp
* [RegEx101](https://regex101.com/#javascript) - Online regex tester and debugger for JavaScript. Also supports Python, PHP and PCRE. * [RegEx101](https://regex101.com/#javascript) - Online regex tester and debugger for JavaScript. Also supports Python, PHP and PCRE.
* [RegExr](https://regexr.com/) - HTML/JS based tool for creating, testing, and learning about Regular Expressions. * [RegExr](https://regexr.com/) - HTML/JS based tool for creating, testing, and learning about Regular Expressions.
* [Regulex](https://jex.im/regulex/) - JavaScript Regular Expression Parser & Visualizer.
* [Regex-Vis](https://regex-vis.com/) - Regex visualizer & editor.
## Voice Command ## Voice Command
@@ -600,7 +654,6 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [jquery.rest](https://github.com/jpillora/jquery.rest) - A jQuery plugin for easy consumption of RESTful APIs. * [jquery.rest](https://github.com/jpillora/jquery.rest) - A jQuery plugin for easy consumption of RESTful APIs.
* [Rails Ranger](https://github.com/victor-am/rails-ranger) - An opinionated REST client for Ruby on Rails APIs. * [Rails Ranger](https://github.com/victor-am/rails-ranger) - An opinionated REST client for Ruby on Rails APIs.
* [wretch](https://github.com/elbywan/wretch) - A tiny wrapper built around fetch with an intuitive syntax. * [wretch](https://github.com/elbywan/wretch) - A tiny wrapper built around fetch with an intuitive syntax.
* [Bearer.sh](https://github.com/Bearer/bearer-js) - Universal API client that supports OAuth / API Key / Basic / etc.
* [FarFetch](https://github.com/WebsiteBeaver/far-fetch) - Modern Fetch API wrapper for simplicity, with concise file uploading. * [FarFetch](https://github.com/WebsiteBeaver/far-fetch) - Modern Fetch API wrapper for simplicity, with concise file uploading.
* [Optic](https://github.com/opticdev/optic) - Optic automatically documents and tests your APIs. * [Optic](https://github.com/opticdev/optic) - Optic automatically documents and tests your APIs.
* [SWR](https://github.com/vercel/swr) - React Hooks library for remote data fetching. * [SWR](https://github.com/vercel/swr) - React Hooks library for remote data fetching.
@@ -608,6 +661,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [SWRV](https://github.com/Kong/swrv) - Stale-while-revalidate data fetching for Vue. * [SWRV](https://github.com/Kong/swrv) - Stale-while-revalidate data fetching for Vue.
* [Vue Query](https://github.com/DamianOsipiuk/vue-query) - Hooks for fetching, caching and updating asynchronous data in Vue. * [Vue Query](https://github.com/DamianOsipiuk/vue-query) - Hooks for fetching, caching and updating asynchronous data in Vue.
## Streaming ## Streaming
* [Tailor](https://github.com/zalando/tailor) - Streaming layout service for front-end microservices, inspired by Facebook's BigPipe. * [Tailor](https://github.com/zalando/tailor) - Streaming layout service for front-end microservices, inspired by Facebook's BigPipe.
@@ -630,19 +684,39 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [ml5.js](https://ml5js.org) - Friendly Machine Learning for the Web. * [ml5.js](https://ml5js.org) - Friendly Machine Learning for the Web.
* [Synapses](https://github.com/mrdimosthenis/Synapses) - Lightweight cross-platform Neural Network library. * [Synapses](https://github.com/mrdimosthenis/Synapses) - Lightweight cross-platform Neural Network library.
* [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native JavaScript code with zero dependencies. * [m2cgen](https://github.com/BayesWitnesses/m2cgen) - A CLI tool to transpile trained classic ML models into a native JavaScript code with zero dependencies.
* [JS-PyTorch](https://github.com/eduardoleao052/js-pytorch) - GPU accelerated PyTorch in JavaScript.
## Browser Detection ## Browser Detection
* [bowser](https://github.com/ded/bowser) - a browser detector. * [bowser](https://github.com/ded/bowser) - a browser detector.
## Operating System ## Operating System
* [os.js](https://github.com/os-js/OS.js) - An open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more. * [os.js](https://github.com/os-js/OS.js) - An open-source web desktop platform with a window manager, application APIs, GUI toolkit, filesystem abstractions and much more.
## Benchmark ## Benchmark
* [benchmark.js](https://github.com/bestiejs/benchmark.js) - A benchmarking library. As used on jsPerf.com. * [benchmark.js](https://github.com/bestiejs/benchmark.js) - A benchmarking library. As used on jsPerf.com.
* [matcha](https://github.com/logicalparadox/matcha) - A caffeine driven, simplistic approach to benchmarking. * [matcha](https://github.com/logicalparadox/matcha) - A caffeine driven, simplistic approach to benchmarking.
* [bencher](https://github.com/bencherdev/bencher) - A suite of continuous benchmarking tools designed to catch performance regressions in CI.
## Web Worker
* [partytown](https://github.com/BuilderIO/partytown) - Relocate resource intensive third-party scripts off of the main thread and into a web worker.
* [comlink](https://github.com/GoogleChromeLabs/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](https://github.com/developit/greenlet) - Move an async function into its own thread.
* [workerize](https://github.com/developit/workerize) - Moves a module into a Web Worker, automatically reflecting exported functions as asynchronous proxies.
* [worker-dom](https://github.com/ampproject/worker-dom) - An in-progress implementation of the DOM API intended to run within a Web Worker.
* [threads.js](https://github.com/andywer/threads.js) - Offload CPU-intensive tasks to worker threads in node.js, web browsers and electron using one uniform API.
* [workly](https://github.com/pshihn/workly) - A really simple way to move a function or class to a web worker.
* [stockroom](https://github.com/developit/stockroom) - Offload your store management to a worker easily.
* [workerpool](https://github.com/josdejong/workerpool) - Offload tasks to a pool of workers on node.js and in the browser.
* [clooney](https://github.com/GoogleChromeLabs/clooney) - Clooney is an actor library for the web. Use workers without thinking about workers.
## Code highlighting ## Code highlighting
@@ -697,13 +771,12 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [shepherd](https://github.com/HubSpot/shepherd) - Guide your users through a tour of your app. * [shepherd](https://github.com/HubSpot/shepherd) - Guide your users through a tour of your app.
* [bootstrap-tour](https://github.com/sorich87/bootstrap-tour) - Quick and easy product tours with Twitter Bootstrap Popovers. * [bootstrap-tour](https://github.com/sorich87/bootstrap-tour) - Quick and easy product tours with Twitter Bootstrap Popovers.
* [tourist](https://github.com/easelinc/tourist) - Simple, flexible tours for your app. * [tourist](https://github.com/easelinc/tourist) - Simple, flexible tours for your app.
* [chardin.js](https://github.com/heelhook/chardin.js) - Simple overlay instructions for your apps.
* [pageguide](https://github.com/tracelytics/pageguide) - An interactive guide for web page elements using jQuery and CSS3.
* [hopscotch](https://github.com/linkedin/hopscotch) - A framework to make it easy for developers to add product tours to their pages. * [hopscotch](https://github.com/linkedin/hopscotch) - A framework to make it easy for developers to add product tours to their pages.
* [joyride](https://github.com/zurb/joyride) - jQuery feature tour plugin. * [joyride](https://github.com/zurb/joyride) - jQuery feature tour plugin.
* [focusable](https://github.com/zzarcon/focusable) - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page. * [focusable](https://github.com/zzarcon/focusable) - Set a spotlight focus on DOM element adding a overlay layer to the rest of the page.
* [driver.js](https://github.com/kamranahmedse/driver.js) - Powerful yet light-weight, vanilla JavaScript engine to drive the user's focus across the page * [driver.js](https://github.com/kamranahmedse/driver.js) - Powerful yet light-weight, vanilla JavaScript engine to drive the user's focus across the page
## Notifications ## Notifications
* [iziToast](https://github.com/dolce/iziToast) - Elegant, responsive, flexible and lightweight notification plugin with no dependencies. * [iziToast](https://github.com/dolce/iziToast) - Elegant, responsive, flexible and lightweight notification plugin with no dependencies.
@@ -715,6 +788,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [smoke.js](https://github.com/hxgf/smoke.js) - Framework-agnostic styled alert system for JavaScript. * [smoke.js](https://github.com/hxgf/smoke.js) - Framework-agnostic styled alert system for JavaScript.
* [notie](https://github.com/jaredreich/notie) - Simple notifications and inputs with no dependencies. * [notie](https://github.com/jaredreich/notie) - Simple notifications and inputs with no dependencies.
* [notifire](https://github.com/notifirehq/notifire) - Open-source notification infrastructure for products. * [notifire](https://github.com/notifirehq/notifire) - Open-source notification infrastructure for products.
* [toastify-js](https://github.com/apvarun/toastify-js) - Pure JavaScript library for better notification messages.
## Sliders ## Sliders
@@ -761,6 +835,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Ion.CheckRadio](https://github.com/IonDen/ion.checkRadio) - jQuery plugin for styling checkboxes and radio-buttons. With skin support. * [Ion.CheckRadio](https://github.com/IonDen/ion.checkRadio) - jQuery plugin for styling checkboxes and radio-buttons. With skin support.
* [awesomplete](https://github.com/LeaVerou/awesomplete) - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - https://projects.verou.me/awesomplete/ * [awesomplete](https://github.com/LeaVerou/awesomplete) - Ultra lightweight, usable, beautiful autocomplete with zero dependencies. - https://projects.verou.me/awesomplete/
### Calendar ### Calendar
* [pickadate.js](https://github.com/amsul/pickadate.js) - The mobile-friendly, responsive, and lightweight jQuery date & time input picker. * [pickadate.js](https://github.com/amsul/pickadate.js) - The mobile-friendly, responsive, and lightweight jQuery date & time input picker.
@@ -771,6 +846,8 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Date Range Picker](https://github.com/dangrossman/daterangepicker) - creates a dropdown menu from which a user can select a range of dates. * [Date Range Picker](https://github.com/dangrossman/daterangepicker) - creates a dropdown menu from which a user can select a range of dates.
* [Duet Date Picker](https://github.com/duetds/date-picker) - open source version of Duet Design Systems accessible date picker, WCAG 2.1 accessibility complaint * [Duet Date Picker](https://github.com/duetds/date-picker) - open source version of Duet Design Systems accessible date picker, WCAG 2.1 accessibility complaint
* [tui.calendar](https://github.com/nhn/tui.calendar) - A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar. * [tui.calendar](https://github.com/nhn/tui.calendar) - A JavaScript schedule calendar that is full featured. Now your service just got the customizable calendar.
* [Schedule-X](https://github.com/schedule-x/schedule-x) - Material design event calendar. Features drag & drop, dark mode, multiple views and more.
### Select ### Select
@@ -778,6 +855,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [select2](https://github.com/select2/select2) - a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results. * [select2](https://github.com/select2/select2) - a jQuery based replacement for select boxes. It supports searching, remote data sets, and infinite scrolling of results.
* [chosen](https://github.com/harvesthq/chosen) - A library for making long, unwieldy select boxes more friendly. * [chosen](https://github.com/harvesthq/chosen) - A library for making long, unwieldy select boxes more friendly.
### File Uploader ### File Uploader
* [jQuery-File-Upload](https://github.com/blueimp/jQuery-File-Upload) - File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery. * [jQuery-File-Upload](https://github.com/blueimp/jQuery-File-Upload) - File Upload widget with multiple file selection, drag&amp;drop support, progress bar, validation and preview images, audio and video for jQuery.
@@ -788,6 +866,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [plupload](https://github.com/moxiecode/plupload) - A JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight and Flash. * [plupload](https://github.com/moxiecode/plupload) - A JavaScript API for dealing with file uploads it supports features like multiple file selection, file type filtering, request chunking, client side image scaling and it uses different runtimes to achieve this such as HTML 5, Silverlight and Flash.
* [filepond](https://github.com/pqina/filepond) - A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience. * [filepond](https://github.com/pqina/filepond) - A JavaScript library that can upload anything you throw at it, optimizes images for faster uploads, and offers a great, accessible, silky smooth user experience.
### Other ### Other
* [form](https://github.com/jquery-form/form) - jQuery Form Plugin. * [form](https://github.com/jquery-form/form) - jQuery Form Plugin.
@@ -797,6 +876,8 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [stretchy](https://github.com/LeaVerou/stretchy) - Form element autosizing, the way it should be. * [stretchy](https://github.com/LeaVerou/stretchy) - Form element autosizing, the way it should be.
* [analytics](https://github.com/davidwells/analytics) - A lightweight, extendable analytics library designed to work with any third-party analytics provider to track page views, custom events, & identify users. * [analytics](https://github.com/davidwells/analytics) - A lightweight, extendable analytics library designed to work with any third-party analytics provider to track page views, custom events, & identify users.
* [dat.GUI](https://github.com/dataarts/dat.gui) - A lightweight gui controller for changing variables in JavaScript. * [dat.GUI](https://github.com/dataarts/dat.gui) - A lightweight gui controller for changing variables in JavaScript.
## Tips ## Tips
* [tipsy](https://github.com/jaz303/tipsy) - Facebook-style tooltips plugin for jQuery. * [tipsy](https://github.com/jaz303/tipsy) - Facebook-style tooltips plugin for jQuery.
@@ -807,6 +888,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [toolbar](https://github.com/paulkinzett/toolbar) - A tooltip style toolbar jQuery plugin * [toolbar](https://github.com/paulkinzett/toolbar) - A tooltip style toolbar jQuery plugin
* [hint.css](https://github.com/chinchang/hint.css) - A tooltip library in CSS for your lovely websites. * [hint.css](https://github.com/chinchang/hint.css) - A tooltip library in CSS for your lovely websites.
## Modals and Popups ## Modals and Popups
* [Magnific-Popup](https://github.com/dimsemenov/Magnific-Popup) - Light and responsive lightbox script with focus on performance. * [Magnific-Popup](https://github.com/dimsemenov/Magnific-Popup) - Light and responsive lightbox script with focus on performance.
@@ -827,6 +909,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [keukenhof](https://github.com/Alexandrshy/keukenhof) - Lightweight, no dependencies, accessibility enabled TypeScript library for creating modal windows. * [keukenhof](https://github.com/Alexandrshy/keukenhof) - Lightweight, no dependencies, accessibility enabled TypeScript library for creating modal windows.
* [screenfull.js](https://github.com/sindresorhus/screenfull.js) - the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have to. * [screenfull.js](https://github.com/sindresorhus/screenfull.js) - the JavaScript Fullscreen API, which lets you bring the page or any element into fullscreen. Smoothens out the browser implementation differences, so you don't have to.
## Scroll ## Scroll
* [scrollMonitor](https://github.com/stutrek/scrollMonitor) - A simple and fast API to monitor elements as you scroll. * [scrollMonitor](https://github.com/stutrek/scrollMonitor) - A simple and fast API to monitor elements as you scroll.
@@ -848,6 +931,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [locomotive-scroll](https://github.com/locomotivemtl/locomotive-scroll) - Detects the elements in viewport and smooth scrolling with parallax. * [locomotive-scroll](https://github.com/locomotivemtl/locomotive-scroll) - Detects the elements in viewport and smooth scrolling with parallax.
* [elevator.js](https://github.com/tholman/elevator.js) - Finally, a "back to top" button that behaves like a real elevator. * [elevator.js](https://github.com/tholman/elevator.js) - Finally, a "back to top" button that behaves like a real elevator.
## Menu ## Menu
* [jQuery-menu-aim](https://github.com/kamens/jQuery-menu-aim) - jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns like Amazon's. * [jQuery-menu-aim](https://github.com/kamens/jQuery-menu-aim) - jQuery plugin to fire events when user's cursor aims at particular dropdown menu items. For making responsive mega dropdowns like Amazon's.
@@ -868,7 +952,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Packery](https://packery.metafizzy.co/) - A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts. * [Packery](https://packery.metafizzy.co/) - A grid layout library that uses a bin-packing algorithm. Useable for draggable layouts.
* [Isotope](https://isotope.metafizzy.co/) - A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts. * [Isotope](https://isotope.metafizzy.co/) - A filterable, sortable, grid layout library. Can implement Masonry, Packery, and other layouts.
* [flexboxgrid](https://github.com/kristoferjoseph/flexboxgrid/) - Grid based on CSS3 flexbox. * [flexboxgrid](https://github.com/kristoferjoseph/flexboxgrid/) - Grid based on CSS3 flexbox.
## Frameworks ## Frameworks
@@ -879,6 +963,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [DataFormsJS](https://github.com/dataformsjs/dataformsjs) - A minimal JavaScript Framework and standalone components for rapid development of sites and SPA's. * [DataFormsJS](https://github.com/dataformsjs/dataformsjs) - A minimal JavaScript Framework and standalone components for rapid development of sites and SPA's.
* [EHTML](https://github.com/Guseyn/EHTML) - HTML Framework that allows you not to write JavaScript code. * [EHTML](https://github.com/Guseyn/EHTML) - HTML Framework that allows you not to write JavaScript code.
## Boilerplates ## Boilerplates
* [html5-boilerplate](https://github.com/h5bp/html5-boilerplate) - A professional front-end template for building fast, robust, and adaptable web apps or sites. * [html5-boilerplate](https://github.com/h5bp/html5-boilerplate) - A professional front-end template for building fast, robust, and adaptable web apps or sites.
@@ -892,11 +977,14 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [npm run-scripts](https://gist.github.com/addyosmani/9f10c555e32a8d06ddb0) Task automation with NPM run-scripts. * [npm run-scripts](https://gist.github.com/addyosmani/9f10c555e32a8d06ddb0) Task automation with NPM run-scripts.
* [Wasp](https://github.com/wasp-lang/wasp) Wasp is a declarative domain-specific language for developing, building, and deploying modern Javascript full-stack web apps with less code. * [Wasp](https://github.com/wasp-lang/wasp) Wasp is a declarative domain-specific language for developing, building, and deploying modern Javascript full-stack web apps with less code.
## Images ## Images
* [Drift](https://github.com/imgix/drift) - Easily add "zoom on hover" functionality to your site's images. Lightweight, no-dependency JavaScript. * [Drift](https://github.com/imgix/drift) - Easily add "zoom on hover" functionality to your site's images. Lightweight, no-dependency JavaScript.
* [Magnificent.js](https://github.com/AndersDJohnson/magnificent.js) - Zoom responsively, images & more, w/ jQuery. * [Magnificent.js](https://github.com/AndersDJohnson/magnificent.js) - Zoom responsively, images & more, w/ jQuery.
* [Panolens.js](https://github.com/pchen66/panolens.js) - Panolens.js is an event-driven and WebGL based panorama viewer. Lightweight and flexible * [Panolens.js](https://github.com/pchen66/panolens.js) - Panolens.js is an event-driven and WebGL based panorama viewer. Lightweight and flexible
## Gesture ## Gesture
* [hammer.js](https://github.com/hammerjs/hammer.js) - A JavaScript library for multi-touch gestures. * [hammer.js](https://github.com/hammerjs/hammer.js) - A JavaScript library for multi-touch gestures.
@@ -916,10 +1004,10 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [OpenLayers3](https://openlayers.org/) - A high-performance, feature-packed library for all your mapping needs. * [OpenLayers3](https://openlayers.org/) - A high-performance, feature-packed library for all your mapping needs.
* [H3js](https://github.com/uber/h3) - Hexagonal hierarchical geospatial indexing system ported to javascript by Uber for geospatial visualization. * [H3js](https://github.com/uber/h3) - Hexagonal hierarchical geospatial indexing system ported to javascript by Uber for geospatial visualization.
## Video/Audio ## Video/Audio
* [prettyembed.js](https://github.com/mike-zarandona/prettyembed.js) - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support. * [prettyembed.js](https://github.com/mike-zarandona/prettyembed.js) - Prettier embeds for your YouTubes - with nice options like high-res preview images, advanced customization of embed options, and optional FitVids support.
* [html5media](https://github.com/etianen/html5media) - Enables <video> and <audio> tags in all major browsers. <https://html5media.info/>
* [Play-em JS](https://github.com/adrienjoly/playemjs) - 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. * [Play-em JS](https://github.com/adrienjoly/playemjs) - 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](https://github.com/Acconut/polyplayer) - Rule YouTube, Soundcloud and Vimeo player with one API. * [polyplayer](https://github.com/Acconut/polyplayer) - Rule YouTube, Soundcloud and Vimeo player with one API.
* [flowplayer](https://github.com/flowplayer/flowplayer) - The HTML5 video player for the web * [flowplayer](https://github.com/flowplayer/flowplayer) - The HTML5 video player for the web
@@ -931,7 +1019,6 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Ion.Sound](https://github.com/IonDen/ion.sound) - Simple sounds on any web page. * [Ion.Sound](https://github.com/IonDen/ion.sound) - Simple sounds on any web page.
* [photobooth-js](https://github.com/WolframHempel/photobooth-js) - A widget that allows users to take their avatar pictures on your site. * [photobooth-js](https://github.com/WolframHempel/photobooth-js) - A widget that allows users to take their avatar pictures on your site.
* [clappr](https://github.com/clappr/clappr) - An extensible media player for the web http://clappr.io * [clappr](https://github.com/clappr/clappr) - An extensible media player for the web http://clappr.io
* [exifr](https://github.com/MikeKovarik/exifr) - The fastest and most versatile EXIF reading library. https://mutiny.cz/exifr/
* [ts-audio](https://github.com/EvandroLG/ts-audio) - an agnostic and easy-to-use library to work with the `AudioContext` API. * [ts-audio](https://github.com/EvandroLG/ts-audio) - an agnostic and easy-to-use library to work with the `AudioContext` API.
* [AmplitudeJS](https://521dimensions.com/open-source/amplitudejs) - Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required. * [AmplitudeJS](https://521dimensions.com/open-source/amplitudejs) - Open Source HTML5 Web Audio Library. Design your web audio player, the way you want. No dependencies required.
* [ractive-player](https://github.com/ysulyma/ractive-player) - A library for making interactive videos in React.js. * [ractive-player](https://github.com/ysulyma/ractive-player) - A library for making interactive videos in React.js.
@@ -939,6 +1026,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [flv.js](https://github.com/bilibili/flv.js) - An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash. * [flv.js](https://github.com/bilibili/flv.js) - An HTML5 Flash Video (FLV) Player written in pure JavaScript without Flash.
* [hls.js](https://github.com/video-dev/hls.js) - A JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback. * [hls.js](https://github.com/video-dev/hls.js) - A JavaScript library that implements an HTTP Live Streaming client. It relies on HTML5 video and MediaSource Extensions for playback.
## Typography ## Typography
* [FlowType.JS](https://github.com/simplefocus/FlowType.JS) - Web typography at its finest: font-size and line-height based on element width. * [FlowType.JS](https://github.com/simplefocus/FlowType.JS) - Web typography at its finest: font-size and line-height based on element width.
@@ -969,7 +1057,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [shuffle-images](https://github.com/peachananr/shuffle-images) - The Simplest Way to shuffle through images in a Creative Way. * [shuffle-images](https://github.com/peachananr/shuffle-images) - The Simplest Way to shuffle through images in a Creative Way.
* [smoothState.js](https://github.com/miguel-perez/smoothState.js) - Unobtrusive page transitions with jQuery. * [smoothState.js](https://github.com/miguel-perez/smoothState.js) - Unobtrusive page transitions with jQuery.
* [Anime.js](https://animejs.com/) - A JavaScript animation engine. * [Anime.js](https://animejs.com/) - A JavaScript animation engine.
* [Mo.js](http://mojs.io) - Motion graphics toolbelt for the web. * [Mo.js](https://mojs.github.io/) - Motion graphics toolbelt for the web.
* [particles.js](https://github.com/VincentGarreau/particles.js) - A lightweight JavaScript library for creating particles. * [particles.js](https://github.com/VincentGarreau/particles.js) - A lightweight JavaScript library for creating particles.
* [tsParticles](https://github.com/matteobruni/tsparticles) - A new and improved version of particles.js with bug fixes and many new features. * [tsParticles](https://github.com/matteobruni/tsparticles) - A new and improved version of particles.js with bug fixes and many new features.
* [particles-bg](https://github.com/lindelof/particles-bg) - A lightweight React particles animation background component. * [particles-bg](https://github.com/lindelof/particles-bg) - A lightweight React particles animation background component.
@@ -977,18 +1065,20 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [typicaljs](https://github.com/camwiegert/typical) - Animated typing in ~400 bytes 🐡 of JavaScript * [typicaljs](https://github.com/camwiegert/typical) - Animated typing in ~400 bytes 🐡 of JavaScript
* [AutoAnimate](https://auto-animate.formkit.com) - Add motion to your apps with a single line of code. * [AutoAnimate](https://auto-animate.formkit.com) - Add motion to your apps with a single line of code.
## Image Processing ## Image Processing
* [lena.js](https://github.com/davidsonfellipe/lena.js) - A Library for image processing with filters and util functions. * [lena.js](https://github.com/davidsonfellipe/lena.js) - A Library for image processing with filters and util functions.
* [pica](https://github.com/nodeca/pica) - High quality image resize (with fast Lanczos filter, implemented in pure JS). * [pica](https://github.com/nodeca/pica) - High quality image resize (with fast Lanczos filter, implemented in pure JS).
* [cropper](https://github.com/fengyuanchen/cropper) - A simple jQuery image cropping plugin. * [cropper](https://github.com/fengyuanchen/cropper) - A simple jQuery image cropping plugin.
## ES6 ## ES6
* [es6features](https://github.com/lukehoban/es6features) - Overview of ECMAScript 6 features. * [es6features](https://github.com/lukehoban/es6features) - Overview of ECMAScript 6 features.
* [es6-features](https://github.com/rse/es6-features) - ECMAScript 6: Feature Overview & Comparison. * [es6-features](https://github.com/rse/es6-features) - ECMAScript 6: Feature Overview & Comparison.
* [es6-cheatsheet](https://github.com/DrkSephy/es6-cheatsheet) - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets. * [es6-cheatsheet](https://github.com/DrkSephy/es6-cheatsheet) - ES2015 [ES6] cheatsheet containing tips, tricks, best practices and code snippets.
* [ECMAScript 6 compatibility table](http://kangax.github.io/compat-table/es6/) - Compatibility tables for all ECMAScript 6 features on a variety of environments. * [ECMAScript 6 compatibility table](https://compat-table.github.io/compat-table/es6/) - Compatibility tables for all ECMAScript 6 features on a variety of environments.
* [Babel (Formerly 6to5)](https://github.com/babel/babel) - Turn ES6+ code into vanilla ES5 with no runtime. * [Babel (Formerly 6to5)](https://github.com/babel/babel) - Turn ES6+ code into vanilla ES5 with no runtime.
* [Traceur compiler](https://github.com/google/traceur-compiler) - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more. * [Traceur compiler](https://github.com/google/traceur-compiler) - ES6 features > ES5. Includes classes, generators, promises, destructuring patterns, default parameters & more.
@@ -998,19 +1088,44 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Gatsby.js](https://github.com/gatsbyjs/gatsby) - React-based static site generator. * [Gatsby.js](https://github.com/gatsbyjs/gatsby) - React-based static site generator.
* [Gridsome](https://github.com/gridsome/gridsome) - Vue-powered static site generator. * [Gridsome](https://github.com/gridsome/gridsome) - Vue-powered static site generator.
* [Docusaurus](https://github.com/facebook/docusaurus) - React-based static site generator by Facebook, ideal for content-centric websites. * [Docusaurus](https://github.com/facebook/docusaurus) - React-based static site generator by Facebook, ideal for content-centric websites.
* [Next.js](https://github.com/vercel/next.js) - React powered static site generator, and they say "All the tools you need to make the Web. Faster.".
* [Lume](https://github.com/lumeland/lume) - Static site generator for Deno.
* [Astro](https://github.com/withastro/astro) - The web framework for content-driven websites.
## SDK ## SDK
* [javascript-sdk-design](https://github.com/huei90/javascript-sdk-design) - JavaScript SDK design guide extracted from work and personal experience. * [javascript-sdk-design](https://github.com/huei90/javascript-sdk-design) - JavaScript SDK design guide extracted from work and personal experience.
* [Spotify SDK](https://github.com/loverajoel/spotify-sdk) - Entity oriented SDK to work with the Spotify Web API. * [Spotify SDK](https://github.com/loverajoel/spotify-sdk) - Entity oriented SDK to work with the Spotify Web API.
* [Square Node.js SDK](https://github.com/square/connect-nodejs-sdk/) - JavaScript client library for payments and other Square APIs. * [Square Node.js SDK](https://github.com/square/connect-nodejs-sdk/) - JavaScript client library for payments and other Square APIs.
* [OpenAI SDK](https://github.com/openai/openai-node) - Official JavaScript / TypeScript library for the OpenAI API.
## Full Text Search ## Full Text Search
* [lunr](https://github.com/olivernn/lunr.js) - Library for use in the browser and It indexes JSON documents and provides a simple search interface for retrieving documents that best match text queries. * [lunr](https://github.com/olivernn/lunr.js) - Library for use in the browser and It indexes JSON documents and provides a simple search interface for retrieving documents that best match text queries.
* [flexsearch](https://github.com/nextapps-de/flexsearch) - It is a Next-Generation full text search library for Browser and Node.js. * [flexsearch](https://github.com/nextapps-de/flexsearch) - It is a Next-Generation full text search library for Browser and Node.js.
* [Elasticlunr](https://github.com/weixsong/elasticlunr.js) - This library is based on lunr.js, but more flexible and customized. * [Elasticlunr](https://github.com/weixsong/elasticlunr.js) - This library is based on lunr.js, but more flexible and customized.
## ORM
* [Prisma](https://github.com/prisma/prisma) Next-generation ORM for Node.js & TypeScript | PostgreSQL, MySQL, MariaDB, SQL Server, SQLite, MongoDB and CockroachDB.
* [Sequelize](https://github.com/sequelize/sequelize) Feature-rich ORM for modern Node.js and TypeScript | PostgreSQL, MySQL, MariaDB, SQLite, MS SQL Server, Snowflake, Oracle DB...
* [Mongoose](https://github.com/Automattic/mongoose) MongoDB object modeling designed to work in an asynchronous environment.
* [TypeORM](https://github.com/typeorm/typeorm) ORM for TypeScript and JavaScript, Works in NodeJS, Browser, Ionic, Cordova and Electron platforms.
* [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm) Headless TypeScript ORM with a head. Runs on Node, Bun and Deno.
* [Kysely](https://github.com/kysely-org/kysely) A type-safe typescript SQL query builder.
* [Knex](https://github.com/knex/knex) A query builder for PostgreSQL, MySQL, CockroachDB, SQL Server, SQLite3 and Oracle, designed to be flexible, portable, and fun to use.
* [MikroORM](https://github.com/mikro-orm/mikro-orm) TypeScript ORM for Node.js based on Data Mapper, Unit of Work and Identity Map patterns.
## WebSockets
* [Socket.io](https://github.com/socketio/socket.io) The most widely used WebSocket library for real-time applications. Supports auto-reconnection, rooms, and fallbacks (e.g., polling).
* [ws](https://github.com/websockets/ws) Simple to use, blazing fast and thoroughly tested WebSocket client and server for Node.js.
## Misc ## Misc
* [echo](https://github.com/toddmotto/echo) - Lazy-loading images with data-* attributes. * [echo](https://github.com/toddmotto/echo) - Lazy-loading images with data-* attributes.
@@ -1040,12 +1155,9 @@ https://listjs.com
* [lune](https://github.com/ryanseys/lune) - Library to calculate the phases of the moon accurately. * [lune](https://github.com/ryanseys/lune) - Library to calculate the phases of the moon accurately.
* [jsemu](https://github.com/fcambus/jsemu) - A list of emulators written in the JavaScript programming language. * [jsemu](https://github.com/fcambus/jsemu) - A list of emulators written in the JavaScript programming language.
## Podcasts
* [JavaScript Air](https://javascriptair.com/) - The live video broadcast podcast all about JavaScript and the Web platform.
* [Web of Tomorrow](http://www.weboftomorrowpodcast.com/) - Podcast about JavaScript for beginners.
# Worth Reading # Worth Reading
* [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS) - Possibly the best book written on modern JavaScript, completely readable online for free, or can be bought to support the author. * [You Don't Know JS](https://github.com/getify/You-Dont-Know-JS) - Possibly the best book written on modern JavaScript, completely readable online for free, or can be bought to support the author.
* [braziljs/js-the-right-way](https://github.com/braziljs/js-the-right-way/) - An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web. * [braziljs/js-the-right-way](https://github.com/braziljs/js-the-right-way/) - An easy-to-read, quick reference for JS best practices, accepted coding standards, and links around the Web.
* [JSbooks](https://github.com/revolunet/JSbooks) - Directory of free JavaScript ebooks. * [JSbooks](https://github.com/revolunet/JSbooks) - Directory of free JavaScript ebooks.
@@ -1055,9 +1167,11 @@ https://listjs.com
* [JavaScript Tutorials](https://hackr.io/tutorials/learn-javascript) - Learn Javascript online from a diverse range of user ranked online tutorials. * [JavaScript Tutorials](https://hackr.io/tutorials/learn-javascript) - Learn Javascript online from a diverse range of user ranked online tutorials.
* [Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS) - Pragmatic, balanced FP in JavaScript. * [Functional-Light JavaScript](https://github.com/getify/Functional-Light-JS) - Pragmatic, balanced FP in JavaScript.
* [Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript) - Clean Code concepts adapted for JavaScript. * [Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript) - Clean Code concepts adapted for JavaScript.
* [Roadmap.sh JavaScript Roadmap](https://roadmap.sh/javascript) - Learn JavaScript from a community sourced learning roadmap.
# Other Awesome Lists # Other Awesome Lists
* [sotayamashita/awesome-css](https://github.com/sotayamashita/awesome-css) * [sotayamashita/awesome-css](https://github.com/sotayamashita/awesome-css)
* [emijrp/awesome-awesome](https://github.com/emijrp/awesome-awesome) * [emijrp/awesome-awesome](https://github.com/emijrp/awesome-awesome)
* [bayandin/awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) * [bayandin/awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness)
@@ -1079,10 +1193,12 @@ https://listjs.com
* [denolib/awesome-deno](https://github.com/denolib/awesome-deno) * [denolib/awesome-deno](https://github.com/denolib/awesome-deno)
* [apvarun/awesome-bun](https://github.com/apvarun/awesome-bun) * [apvarun/awesome-bun](https://github.com/apvarun/awesome-bun)
# Contributing # Contributing
Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) first. Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) first.
# License # License
[![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/) [![CC0](https://licensebuttons.net/p/zero/1.0/88x31.png)](https://creativecommons.org/publicdomain/zero/1.0/)