Compare commits

..

14 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
2 changed files with 235 additions and 123 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

193
README.md
View File

@@ -2,7 +2,10 @@
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>
<summary>Contents</summary>
* [Package Managers](#package-managers) * [Package Managers](#package-managers)
* [Component management](#component-management) * [Component management](#component-management)
* [Loaders](#loaders) * [Loaders](#loaders)
@@ -65,7 +68,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [Table/Grid](#tablegrid) * [Table/Grid](#tablegrid)
* [Frameworks](#frameworks-1) * [Frameworks](#frameworks-1)
* [Boilerplates](#boilerplates) * [Boilerplates](#boilerplates)
* [Image](#image) * [Images](#images)
* [Gesture](#gesture) * [Gesture](#gesture)
* [Maps](#maps) * [Maps](#maps)
* [Typography](#typography) * [Typography](#typography)
@@ -75,74 +78,84 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [Generators](#generators) * [Generators](#generators)
* [Full Text Search](#full-text-search) * [Full Text Search](#full-text-search)
* [SDK](#sdk) * [SDK](#sdk)
* [ORM](#orm)
* [WebSockets](#websockets)
* [Misc](#misc) * [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.
* [ESL](https://github.com/ecomfe/esl) - Module loader browser first, support lazy define and AMD.
* [modulejs](https://github.com/lrsjng/modulejs) - Lightweight JavaScript module system.
## Transpilers ## Transpilers
*Software that converts the modern JavaScript syntax into the older JavaScript syntax.* *Software that converts the modern JavaScript syntax into the older JavaScript syntax.*
* [SWC](https://swc.rs/) - Extensible Rust-based platform for compilation. | 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) |
* [bundle](https://bundle.js.org) - A quick online npm package size checker. | [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
* [Terser](https://github.com/terser/terser) - parser, mangler and compressor toolkit for ES6+ ## Minimizers
* [Uglify](https://github.com/mishoo/UglifyJS) - parser / mangler / compressor / beautifier toolkit
| 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/) - 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 a 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
@@ -161,6 +174,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [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 * [WebdriverI/O](https://webdriver.io/) - Next-gen browser and mobile automation test framework for Node.js
### Assertion ### Assertion
* [chai](https://github.com/chaijs/chai) - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework. * [chai](https://github.com/chaijs/chai) - BDD / TDD assertion framework for node.js and the browser that can be paired with any testing framework.
@@ -169,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
@@ -176,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.
@@ -191,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.
@@ -206,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)
@@ -254,6 +273,7 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
* [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. * [Remult](https://github.com/remult/remult) - A CRUD framework for full-stack TypeScript.
## Node-Powered CMS Frameworks ## Node-Powered CMS Frameworks
* [KeystoneJS](https://github.com/keystonejs/keystone) - powerful CMS and web app framework. * [KeystoneJS](https://github.com/keystonejs/keystone) - powerful CMS and web app framework.
@@ -269,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.*
@@ -286,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.
@@ -299,12 +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.
* [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.*
@@ -355,11 +380,13 @@ A collection of awesome browser-side [JavaScript](https://developer.mozilla.org/
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/). 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
@@ -368,6 +395,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [RevoGrid](https://github.com/revolist/revogrid) - RevoGrid is a fast, responsive excel like data grid library for modern web applications.
## Editors ## Editors
* [ace](https://github.com/ajaxorg/ace) - Ace (Ajax.org Cloud9 Editor). * [ace](https://github.com/ajaxorg/ace) - Ace (Ajax.org Cloud9 Editor).
@@ -395,6 +423,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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 * [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.
@@ -412,6 +441,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [jsduck](https://github.com/senchalabs/jsduck) - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too. * [jsduck](https://github.com/senchalabs/jsduck) - API documentation generator made for Sencha JavaScript frameworks, but can be used for other frameworks too.
* [codecrumbs](https://github.com/Bogdan-Lyashenko/codecrumbs) is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code. * [codecrumbs](https://github.com/Bogdan-Lyashenko/codecrumbs) is a visual tool for learning and documenting a codebase by putting breadcrumbs in source code.
## Files ## Files
*Libraries for working with files.* *Libraries for working with files.*
@@ -421,6 +451,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [jsPDF](https://github.com/MrRio/jsPDF) - JavaScript PDF generation. * [jsPDF](https://github.com/MrRio/jsPDF) - JavaScript PDF generation.
* [PDF.js](https://github.com/mozilla/pdf.js) - PDF Reader in JavaScript. * [PDF.js](https://github.com/mozilla/pdf.js) - PDF Reader in JavaScript.
## Functional Programming ## Functional Programming
*Functional programming libraries to extend JavaScripts capabilities.* *Functional programming libraries to extend JavaScripts capabilities.*
@@ -436,6 +467,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [sweet-monads](https://github.com/JSMonk/sweet-monads) - A utility library containing popular monads and lazy iterators.
## Reactive Programming ## Reactive Programming
*Reactive programming libraries to extend JavaScripts capabilities.* *Reactive programming libraries to extend JavaScripts capabilities.*
@@ -448,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.*
@@ -458,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.*
@@ -476,6 +510,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [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.*
@@ -493,6 +528,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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
* [Numeral-js](https://github.com/adamwdraper/Numeral-js) - A JavaScript library for formatting and manipulating numbers. * [Numeral-js](https://github.com/adamwdraper/Numeral-js) - A JavaScript library for formatting and manipulating numbers.
@@ -505,6 +541,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Polynomial.js](https://github.com/infusion/Polynomial.js) - A polynomials library for JavaScript. * [Polynomial.js](https://github.com/infusion/Polynomial.js) - A polynomials library for JavaScript.
* [Quaternion.js](https://github.com/infusion/Quaternion.js) - A quaternion library for JavaScript * [Quaternion.js](https://github.com/infusion/Quaternion.js) - A quaternion library for JavaScript
## Storage ## Storage
* [store.js](https://github.com/marcuswestin/store.js) - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood. * [store.js](https://github.com/marcuswestin/store.js) - LocalStorage wrapper for all browsers without using cookies or flash. Uses localStorage, globalStorage, and userData behavior under the hood.
@@ -531,6 +568,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [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) * [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.
@@ -541,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.
@@ -550,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.
@@ -561,6 +601,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [ObjectEventTarget](https://github.com/gartz/ObjectEventTarget) - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers). * [ObjectEventTarget](https://github.com/gartz/ObjectEventTarget) - Provide a prototype that add support to event listeners (with same behavior of EventTarget from DOMElements available on browsers).
* [sporadic](https://github.com/marcoonroad/sporadic) - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines. * [sporadic](https://github.com/marcoonroad/sporadic) - Composable concurrency abstractions (such as streams, coroutines and Go-like channels) on top of promises, for Node and browser engines.
## Routing ## Routing
* [director](https://github.com/flatiron/director) - A tiny and isomorphic URL router for JavaScript. * [director](https://github.com/flatiron/director) - A tiny and isomorphic URL router for JavaScript.
@@ -570,6 +611,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [davis.js](https://github.com/olivernn/davis.js) - RESTful degradable JavaScript routing using pushState. * [davis.js](https://github.com/olivernn/davis.js) - RESTful degradable JavaScript routing using pushState.
* [navaid](https://github.com/lukeed/navaid) - A navigation aid (aka, router) for the browser in 850 bytes~! * [navaid](https://github.com/lukeed/navaid) - A navigation aid (aka, router) for the browser in 850 bytes~!
## Security ## Security
* [DOMPurify](https://github.com/cure53/DOMPurify) - A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG. * [DOMPurify](https://github.com/cure53/DOMPurify) - A DOM-only, super-fast, uber-tolerant XSS sanitizer for HTML, MathML and SVG.
@@ -577,6 +619,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [xss-filters](https://github.com/yahoo/xss-filters) - Secure XSS Filters by Yahoo. * [xss-filters](https://github.com/yahoo/xss-filters) - Secure XSS Filters by Yahoo.
* [sanitize-html](https://github.com/apostrophecms/sanitize-html) - sanitize-html provides a simple HTML sanitizer with a clear API. * [sanitize-html](https://github.com/apostrophecms/sanitize-html) - sanitize-html provides a simple HTML sanitizer with a clear API.
## Log ## Log
* [log](https://github.com/adamschwartz/log) - Console.log with style. * [log](https://github.com/adamschwartz/log) - Console.log with style.
@@ -587,15 +630,21 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [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
* [annyang](https://github.com/TalAter/annyang) - A JavaScript library for adding voice commands to your site, using speech recognition. * [annyang](https://github.com/TalAter/annyang) - A JavaScript library for adding voice commands to your site, using speech recognition.
* [voix.js](https://github.com/pazguille/voix) - A JavaScript library to add voice commands to your sites, apps or games. * [voix.js](https://github.com/pazguille/voix) - A JavaScript library to add voice commands to your sites, apps or games.
## API ## API
* [axios](https://github.com/axios/axios) - Promise based HTTP client for the browser and node.js. * [axios](https://github.com/axios/axios) - Promise based HTTP client for the browser and node.js.
@@ -612,15 +661,18 @@ 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.
## Vision Detection ## Vision Detection
* [tracking.js](https://github.com/eduardolundgren/tracking.js) - A modern approach for Computer Vision on the web. * [tracking.js](https://github.com/eduardolundgren/tracking.js) - A modern approach for Computer Vision on the web.
* [ocrad.js](https://github.com/antimatter15/ocrad.js) - OCR in JavaScript via Emscripten. * [ocrad.js](https://github.com/antimatter15/ocrad.js) - OCR in JavaScript via Emscripten.
## Machine Learning ## Machine Learning
* [ConvNetJS](https://github.com/karpathy/convnetjs) - Deep Learning in JavaScript. Train Convolutional Neural Networks (or ordinary ones) in your browser. * [ConvNetJS](https://github.com/karpathy/convnetjs) - Deep Learning in JavaScript. Train Convolutional Neural Networks (or ordinary ones) in your browser.
@@ -634,19 +686,24 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [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. * [bencher](https://github.com/bencherdev/bencher) - A suite of continuous benchmarking tools designed to catch performance regressions in CI.
## Web Worker ## Web Worker
* [partytown](https://github.com/BuilderIO/partytown) - Relocate resource intensive third-party scripts off of the main thread and into a web worker. * [partytown](https://github.com/BuilderIO/partytown) - Relocate resource intensive third-party scripts off of the main thread and into a web worker.
@@ -660,18 +717,20 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [workerpool](https://github.com/josdejong/workerpool) - Offload tasks to a pool of workers on node.js and in the browser. * [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. * [clooney](https://github.com/GoogleChromeLabs/clooney) - Clooney is an actor library for the web. Use workers without thinking about workers.
## Code highlighting ## Code highlighting
* [Highlight.js](https://github.com/isagalaev/highlight.js) - JavaScript syntax highlighter. * [Highlight.js](https://github.com/isagalaev/highlight.js) - JavaScript syntax highlighter.
* [PrismJS](https://github.com/PrismJS/prism) - Lightweight, robust, elegant syntax highlighting. * [PrismJS](https://github.com/PrismJS/prism) - Lightweight, robust, elegant syntax highlighting.
## Loading Status ## Loading Status
*Libraries for indicate load status.* *Libraries for indicate load status.*
* [Mprogress.js](https://github.com/lightningtgc/MProgress.js) - Create Google Material Design progress linear bars. * [Mprogress.js](https://github.com/lightningtgc/MProgress.js) - Create Google Material Design progress linear bars.
* [NProgress](https://ricostacruz.com/nprogress/) - Slim progress bars for Ajax'y applications. * [NProgress](https://ricostacruz.com/nprogress/) - Slim progress bars for Ajax'y applications.
* [Spin.js](https://github.com/fgnass/spin.js) - A spinning activity indicator. * [Spin.js](https://github.com/fgnass/spin.js) - A spinning activity indicator.
* [progress.js](https://github.com/usablica/progress.js) - Create and manage progress bar for every object on the page. * [progress.js](https://github.com/usablica/progress.js) - Create and manage progress bar for every objects on the page.
* [progressbar.js](https://github.com/kimmobrunfeldt/progressbar.js) - Beautiful and responsive progress bars with animated SVG paths. * [progressbar.js](https://github.com/kimmobrunfeldt/progressbar.js) - Beautiful and responsive progress bars with animated SVG paths.
* [pace](https://github.com/HubSpot/pace) - Automatically add a progress bar to your site. * [pace](https://github.com/HubSpot/pace) - Automatically add a progress bar to your site.
* [topbar](https://github.com/buunguyen/topbar) - Tiny & beautiful site-wide progress indicator. * [topbar](https://github.com/buunguyen/topbar) - Tiny & beautiful site-wide progress indicator.
@@ -681,6 +740,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Ladda](https://github.com/hakimel/Ladda) - Buttons with built-in loading indicators. * [Ladda](https://github.com/hakimel/Ladda) - Buttons with built-in loading indicators.
* [css-loaders](https://github.com/lukehaas/css-loaders) - A collection of loading spinners animated with CSS * [css-loaders](https://github.com/lukehaas/css-loaders) - A collection of loading spinners animated with CSS
## Validation ## Validation
* [Parsley.js](https://github.com/guillaumepotier/Parsley.js) - Validate your forms, frontend, without writing a single line of JavaScript. * [Parsley.js](https://github.com/guillaumepotier/Parsley.js) - Validate your forms, frontend, without writing a single line of JavaScript.
@@ -694,6 +754,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Funval](https://github.com/neuledge/funval) - Data validation using functions interfaces (support TypeScript). * [Funval](https://github.com/neuledge/funval) - Data validation using functions interfaces (support TypeScript).
* [vest](https://github.com/ealush/vest) - 🦺 Declarative form validation framework inspired by unit testing. * [vest](https://github.com/ealush/vest) - 🦺 Declarative form validation framework inspired by unit testing.
## Keyboard Wrappers ## Keyboard Wrappers
* [mousetrap](https://github.com/ccampbell/mousetrap) - Simple library for handling keyboard shortcuts in JavaScript. * [mousetrap](https://github.com/ccampbell/mousetrap) - Simple library for handling keyboard shortcuts in JavaScript.
@@ -703,6 +764,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [jquery.hotkeys](https://github.com/jeresig/jquery.hotkeys) - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination. * [jquery.hotkeys](https://github.com/jeresig/jquery.hotkeys) - jQuery Hotkeys lets you watch for keyboard events anywhere in your code supporting almost any key combination.
* [jwerty](https://github.com/keithamus/jwerty) - Awesome handling of keyboard events. * [jwerty](https://github.com/keithamus/jwerty) - Awesome handling of keyboard events.
## Tours And Guides ## Tours And Guides
* [intro.js](https://github.com/usablica/intro.js) - A better way for new feature introduction and step-by-step users guide for your website and project. * [intro.js](https://github.com/usablica/intro.js) - A better way for new feature introduction and step-by-step users guide for your website and project.
@@ -714,6 +776,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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.
@@ -727,6 +790,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [toastify-js](https://github.com/apvarun/toastify-js) - Pure JavaScript library for better notification messages.
## Sliders ## Sliders
* [Swiper](https://github.com/nolimits4web/Swiper) - Mobile touch slider and framework with hardware accelerated transitions. * [Swiper](https://github.com/nolimits4web/Swiper) - Mobile touch slider and framework with hardware accelerated transitions.
@@ -771,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.
@@ -783,12 +848,14 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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. * [Schedule-X](https://github.com/schedule-x/schedule-x) - Material design event calendar. Features drag & drop, dark mode, multiple views and more.
### Select ### Select
* [selectize.js](https://github.com/selectize/selectize.js) - Selectize is the hybrid of a textbox and `<select>` box. It's jQuery based and it has autocomplete and native-feeling keyboard navigation; useful for tagging, contact lists, etc. * [selectize.js](https://github.com/selectize/selectize.js) - Selectize is the hybrid of a textbox and `<select>` box. It's jQuery based and it has autocomplete and native-feeling keyboard navigation; useful for tagging, contact lists, etc.
* [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.
@@ -799,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.
@@ -808,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.
@@ -818,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.
@@ -838,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.
@@ -859,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.
@@ -867,6 +940,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [Slide and swipe](https://github.com/JoanClaret/slide-and-swipe-menu) - A sliding swipe menu that works with touchSwipe library. * [Slide and swipe](https://github.com/JoanClaret/slide-and-swipe-menu) - A sliding swipe menu that works with touchSwipe library.
* [mmenu](https://github.com/FrDH/jQuery.mmenu) - The best jQuery plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp. * [mmenu](https://github.com/FrDH/jQuery.mmenu) - The best jQuery plugin for app look-alike on- and off-canvas menus with sliding submenus for your website and webapp.
## Table/Grid ## Table/Grid
* [jTable](https://github.com/hikalkan/jtable) - A jQuery plugin to create AJAX based CRUD tables. * [jTable](https://github.com/hikalkan/jtable) - A jQuery plugin to create AJAX based CRUD tables.
@@ -879,15 +953,17 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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
* [Semantic UI](https://semantic-ui.com/) - UI Kit with lots of themes and elements. * [Semantic UI](https://semantic-ui.com/) - UI Kit with lots of themes and elements.
* [w2ui](http://w2ui.com/) - A set of jQuery plugins for front-end development of data-driven web applications. * [w2ui](http://w2ui.com/) - A set of jQuery plugins for front-end development of data-driven web applications.
* [fluidity](https://github.com/mrmrs/fluidity) - The world's smallest fully-responsive css framework. * [fluidity](https://github.com/mrmrs/fluidity) - The worlds smallest fully-responsive css framework.
* [Ink](https://github.com/sapo/Ink) - An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping. * [Ink](https://github.com/sapo/Ink) - An HTML5/CSS3 framework used at SAPO for fast and efficient website design and prototyping.
* [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.
@@ -901,17 +977,21 @@ 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.
* [touchemulator](https://github.com/hammerjs/touchemulator) - Emulate touch input on your desktop. * [touchemulator](https://github.com/hammerjs/touchemulator) - Emulate touch input on your desktop.
* [Dragula](https://github.com/bevacqua/dragula/) - Drag and drop so simple it hurts. * [Dragula](https://github.com/bevacqua/dragula/) - Drag and drop so simple it hurts.
## Maps ## Maps
* [Leaflet](https://github.com/Leaflet/Leaflet) - JavaScript library for mobile-friendly interactive maps. * [Leaflet](https://github.com/Leaflet/Leaflet) - JavaScript library for mobile-friendly interactive maps.
@@ -924,6 +1004,7 @@ 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.
@@ -945,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.
@@ -957,6 +1039,7 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [FitText.js](https://github.com/davatron5000/FitText.js) - A jQuery plugin for inflating web type. * [FitText.js](https://github.com/davatron5000/FitText.js) - A jQuery plugin for inflating web type.
* [Lettering.js](https://github.com/davatron5000/Lettering.js) - A lightweight, easy to use JavaScript `<span>` injector for radical Web Typography. * [Lettering.js](https://github.com/davatron5000/Lettering.js) - A lightweight, easy to use JavaScript `<span>` injector for radical Web Typography.
## Animations ## Animations
* [velocity](https://github.com/julianshapiro/velocity) - Accelerated JavaScript animation. * [velocity](https://github.com/julianshapiro/velocity) - Accelerated JavaScript animation.
@@ -982,12 +1065,14 @@ 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.
@@ -1005,12 +1090,16 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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.". * [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. * [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
@@ -1018,6 +1107,25 @@ There're also some great commercial libraries, like [amchart](https://www.amchar
* [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.
@@ -1047,6 +1155,7 @@ 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.
# 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.
@@ -1084,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/)