-
-
Save dariubs/f576f8306f2f8444f6c62e6efab59c80 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Awesome JS (awesome-js) [](https://awesome.re) | |
| A curated collection of awesome **JavaScript** libraries, tools, runtimes, resources, and shiny things — across **browser**, **Node.js**, **Deno**, **Bun**, **edge/serverless**, **desktop**, and **mobile**. | |
| > Scope: anything primarily built for JavaScript/TypeScript ecosystems (not just browser-side). | |
| * [Awesome JS](#awesome-js) | |
| * [Runtimes](#runtimes) | |
| * [Package Managers](#package-managers) | |
| * [Monorepo & Workspace Tools](#monorepo--workspace-tools) | |
| * [Module Systems](#module-systems) | |
| * [Build Tools](#build-tools) | |
| * [Transpilers](#transpilers) | |
| * [Bundlers](#bundlers) | |
| * [Minimizers](#minimizers) | |
| * [Type Checking & Validation](#type-checking--validation) | |
| * [Testing](#testing) | |
| * [Test Runners](#test-runners) | |
| * [Assertion & Mocking](#assertion--mocking) | |
| * [E2E / Browser Automation](#e2e--browser-automation) | |
| * [Coverage](#coverage) | |
| * [Code Quality](#code-quality) | |
| * [Documentation](#documentation) | |
| * [Frontend](#frontend) | |
| * [UI Frameworks](#ui-frameworks) | |
| * [State Management](#state-management) | |
| * [Data Visualization](#data-visualization) | |
| * [Editors](#editors) | |
| * [Animations](#animations) | |
| * [Maps](#maps) | |
| * [Backend](#backend) | |
| * [Web Frameworks](#web-frameworks) | |
| * [API Clients & Data Fetching](#api-clients--data-fetching) | |
| * [Authentication](#authentication) | |
| * [ORM & Databases](#orm--databases) | |
| * [Queues & Jobs](#queues--jobs) | |
| * [WebSockets](#websockets) | |
| * [CMS](#cms) | |
| * [Utilities](#utilities) | |
| * [Files](#files) | |
| * [Functional Programming](#functional-programming) | |
| * [Reactive Programming](#reactive-programming) | |
| * [Data Structures](#data-structures) | |
| * [Date & Time](#date--time) | |
| * [String](#string) | |
| * [Number](#number) | |
| * [Storage](#storage) | |
| * [Color](#color) | |
| * [I18n & L10n](#i18n--l10n) | |
| * [Control Flow](#control-flow) | |
| * [Routing](#routing) | |
| * [RegExp](#regexp) | |
| * [Security](#security) | |
| * [Logging](#logging) | |
| * [Benchmarking](#benchmarking) | |
| * [Cross-Platform](#cross-platform) | |
| * [CLI](#cli) | |
| * [Desktop Apps](#desktop-apps) | |
| * [Mobile Apps](#mobile-apps) | |
| * [AI & ML](#ai--ml) | |
| * [Generative AI](#generative-ai) | |
| * [Articles & Posts](#articles--posts) | |
| * [Worth Reading](#worth-reading) | |
| * [Other Awesome Lists](#other-awesome-lists) | |
| * [Contributing](#contributing) | |
| * [License](#license) | |
| ---- | |
| ## Runtimes | |
| *Where JavaScript runs.* | |
| * [Node.js](https://nodejs.org/) - Server-side JavaScript runtime. | |
| * [Deno](https://deno.com/runtime) - Secure runtime with modern tooling built-in. | |
| * [Bun](https://bun.sh/) - Fast runtime + bundler + package manager. | |
| * [Cloudflare Workers](https://developers.cloudflare.com/workers/) - Edge/serverless JavaScript runtime. | |
| * [Electron](https://www.electronjs.org/) - Build cross-platform desktop apps with JavaScript. | |
| * [React Native](https://reactnative.dev/) - Build native mobile apps with JavaScript/TypeScript. | |
| ## Package Managers | |
| *Host libraries and provide tools for fetching and packaging them.* | |
| * [npm](https://www.npmjs.com/) - Package manager for JavaScript. | |
| * [yarn](https://yarnpkg.com/) - Fast, reliable dependency management. | |
| * [pnpm](https://pnpm.io/) - Fast, disk space efficient package manager. | |
| * [bun](https://bun.sh/) - Runtime + package manager. | |
| * [jspm](https://github.com/jspm/jspm-cli) - Package management & import maps tooling. | |
| <details> | |
| <summary>Legacy / historical</summary> | |
| * [Bower](https://github.com/bower/bower) - Legacy front-end package manager. | |
| * [component](https://github.com/componentjs/component) - Client package management for building web apps. | |
| * [Ender](https://github.com/ender-js/Ender) - The no-library library. | |
| </details> | |
| ## Monorepo & Workspace Tools | |
| *Manage multiple packages/apps in one repo.* | |
| * [Nx](https://nx.dev/) - Smart, fast monorepos for JS/TS. | |
| * [Turborepo](https://turbo.build/repo) - High-performance build system for monorepos. | |
| * [Lerna](https://lerna.js.org/) - Monorepo tooling (often combined with npm/yarn/pnpm workspaces). | |
| * [Changesets](https://github.com/changesets/changesets) - Versioning + changelogs for monorepos. | |
| * [Bit](https://github.com/teambit/bit) - Create, find, and reuse components across apps. | |
| ## Module Systems | |
| *How code is loaded (ESM/CJS + loaders).* | |
| * [ES Modules](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Modules) - Standard module system for modern JS. | |
| * [SystemJS](https://github.com/systemjs/systemjs) - Dynamic module loader for browsers and Node. | |
| * [RequireJS](https://github.com/requirejs/requirejs) - AMD module loader. | |
| * [browserify](https://github.com/substack/node-browserify) - Bundle Node-style `require()` for browsers. | |
| ## Build Tools | |
| ### Transpilers | |
| *Convert modern JS/TS syntax into target environments.* | |
| * [SWC](https://swc.rs/) - Fast compiler platform (JS/TS). | |
| * [Babel](https://github.com/babel/babel) - JavaScript compiler. | |
| ### Bundlers | |
| *Bundle modules and assets.* | |
| * [Vite](https://vite.dev/) - Modern dev server + bundler. | |
| * [webpack](https://github.com/webpack/webpack) - Mature bundler for complex apps. | |
| * [Rollup](https://github.com/rollup/rollup) - Great for libraries (ESM-first). | |
| * [Parcel](https://github.com/parcel-bundler/parcel) - Zero-config bundler. | |
| * [esbuild](https://github.com/evanw/esbuild) - Extremely fast bundler/transpiler. | |
| * [Microbundle](https://github.com/developit/microbundle) - Zero-config bundler for tiny modules. | |
| * [FuseBox](https://github.com/fuse-box/fuse-box) - A bundler that does it right. | |
| * [Snowpack](https://www.snowpack.dev/) - Modern dev/build tool (historically popular). | |
| * [bundlephobia](https://bundlephobia.com/) - Quick npm package size checker. | |
| ### Minimizers | |
| *Minify JS for production.* | |
| * [Terser](https://github.com/terser/terser) - Minifier for ES6+. | |
| * [UglifyJS](https://github.com/mishoo/UglifyJS) - Classic minifier (legacy for modern syntax). | |
| ## Type Checking & Validation | |
| * [TypeScript](https://www.typescriptlang.org/) - Typed superset of JavaScript. | |
| * [Flow](https://flow.org/) - Static type checker for JavaScript. | |
| * [Zod](https://github.com/colinhacks/zod) - TypeScript-first schema validation. | |
| * [Yup](https://github.com/jquense/yup) - Schema builder and validator. | |
| * [io-ts](https://github.com/gcanti/io-ts) - Runtime types + decoding. | |
| * [Ajv](https://github.com/ajv-validator/ajv) - Fast JSON Schema validator. | |
| ## Testing | |
| ### Test Runners | |
| * [Vitest](https://vitest.dev/) - Fast unit test framework powered by Vite. | |
| * [Jest](https://github.com/facebook/jest) - Painless JavaScript unit testing. | |
| * [Mocha](https://github.com/mochajs/mocha) - Flexible test framework for Node and browser. | |
| * [AVA](https://github.com/avajs/ava) - Futuristic JavaScript test runner. | |
| * [Tape](https://github.com/substack/tape) - Tap-producing test harness. | |
| * [QUnit](https://github.com/qunitjs/qunit) - Easy-to-use unit testing framework. | |
| ### Assertion & Mocking | |
| * [Chai](https://github.com/chaijs/chai) - BDD/TDD assertion library. | |
| * [Sinon](https://github.com/sinonjs/sinon) - Spies, stubs, and mocks. | |
| * [Testing Library](https://testing-library.com/) - Test UI the way users interact. | |
| ### E2E / Browser Automation | |
| * [Playwright](https://github.com/microsoft/playwright) - Automate Chromium/Firefox/WebKit. | |
| * [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome/Chromium automation. | |
| * [Cypress](https://www.cypress.io/) - End-to-end testing framework. | |
| * [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. | |
| * [WebdriverIO](https://webdriver.io/) - Node.js browser/mobile automation. | |
| ### Coverage | |
| * [Istanbul / nyc](https://github.com/istanbuljs/nyc) - Coverage reporting. | |
| * [c8](https://github.com/bcoe/c8) - Coverage using V8’s built-in coverage. | |
| ## Code Quality | |
| *Format, lint, and keep code healthy.* | |
| * [ESLint](https://github.com/eslint/eslint) - Pluggable linting utility. | |
| * [Prettier](https://github.com/prettier/prettier) - Opinionated formatter. | |
| * [Biome](https://biomejs.dev/) - Fast formatter + linter (JS/TS). | |
| * [Standard](https://github.com/standard/standard) - JavaScript Standard Style. | |
| * [Husky](https://github.com/typicode/husky) - Git hooks made easy. | |
| * [lint-staged](https://github.com/lint-staged/lint-staged) - Run linters on staged files. | |
| ## Documentation | |
| *Write and publish docs, API refs, and guides.* | |
| * [DevDocs](https://devdocs.io/) - Fast API documentation browser. | |
| * [Docusaurus](https://docusaurus.io/) - Documentation site generator. | |
| * [VitePress](https://vitepress.dev/) - Vite-powered docs. | |
| * [Docsify](https://docsify.js.org/) - Docs site without a build step. | |
| * [Storybook](https://storybook.js.org/) - UI component workshop + docs. | |
| * [typedoc](https://typedoc.org/) - TypeScript API documentation. | |
| ## Frontend | |
| ### UI Frameworks | |
| * [React](https://react.dev/) - UI library. | |
| * [Vue](https://vuejs.org/) - Progressive framework. | |
| * [Svelte](https://svelte.dev/) - Compiler-based UI framework. | |
| * [Angular](https://angular.dev/) - Full-featured framework (TypeScript). | |
| * [Preact](https://github.com/preactjs/preact) - Fast, small React alternative. | |
| * [Solid](https://www.solidjs.com/) - Fine-grained reactivity. | |
| * [Alpine.js](https://github.com/alpinejs/alpine) - Minimal reactive framework. | |
| ### State Management | |
| * [Redux](https://redux.js.org/) - Predictable state container. | |
| * [Zustand](https://github.com/pmndrs/zustand) - Small, fast state management for React. | |
| * [MobX](https://github.com/mobxjs/mobx) - Simple, scalable state management. | |
| * [XState](https://xstate.js.org/) - State machines and statecharts. | |
| ### Data Visualization | |
| * [D3](https://github.com/d3/d3) - Visualization library for HTML/SVG/Canvas. | |
| * [Chart.js](https://github.com/chartjs/Chart.js) - Simple canvas charts. | |
| * [ECharts](https://github.com/apache/echarts) - Powerful charting. | |
| * [Three.js](https://github.com/mrdoob/three.js) - 3D library. | |
| * [Vega](https://github.com/vega/vega) - Visualization grammar. | |
| * [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory visualizations. | |
| ### Editors | |
| * [CodeMirror](https://github.com/codemirror/dev) - Code editor. | |
| * [Monaco Editor](https://microsoft.github.io/monaco-editor/) - VS Code editor core. | |
| * [Ace](https://github.com/ajaxorg/ace) - Browser code editor. | |
| * [Quill](https://github.com/quilljs/quill) - Rich text editor. | |
| * [TinyMCE](https://github.com/tinymce/tinymce) - Rich text editor. | |
| ### Animations | |
| * [GSAP](https://gsap.com/) - High-performance animations. | |
| * [anime.js](https://animejs.com/) - Animation engine. | |
| * [motion](https://motion.dev/) - Modern animation library. | |
| * [three.js](https://github.com/mrdoob/three.js) - 3D animations and scenes. | |
| ### Maps | |
| * [Leaflet](https://github.com/Leaflet/Leaflet) - Interactive maps. | |
| * [MapLibre GL JS](https://maplibre.org/maplibre-gl-js/docs/) - Open-source WebGL maps. | |
| * [OpenLayers](https://openlayers.org/) - Feature-packed mapping library. | |
| * [Cesium](https://github.com/CesiumGS/cesium) - 3D globes and maps. | |
| ## Backend | |
| ### Web Frameworks | |
| * [Express](https://expressjs.com/) - Minimal Node.js web framework. | |
| * [Fastify](https://www.fastify.io/) - Fast, schema-based framework. | |
| * [NestJS](https://nestjs.com/) - Opinionated framework (TypeScript-first). | |
| * [Koa](https://koajs.com/) - Lightweight middleware framework. | |
| * [Hono](https://hono.dev/) - Small, fast framework for edge runtimes (also Node). | |
| * [SvelteKit](https://kit.svelte.dev/) - Full-stack Svelte framework. | |
| * [Next.js](https://nextjs.org/) - Full-stack React framework. | |
| ### API Clients & Data Fetching | |
| * [axios](https://github.com/axios/axios) - HTTP client for Node and browser. | |
| * [ky](https://github.com/sindresorhus/ky) - Tiny Fetch-based HTTP client. | |
| * [SWR](https://github.com/vercel/swr) - React Hooks data fetching. | |
| * [TanStack Query](https://github.com/TanStack/query) - Async state + caching. | |
| ### Authentication | |
| * [Passport](https://www.passportjs.org/) - Authentication middleware for Node. | |
| * [Lucia](https://lucia-auth.com/) - Auth library (TypeScript-friendly). | |
| * [NextAuth.js](https://authjs.dev/) - Authentication for Next.js and beyond. | |
| ### ORM & Databases | |
| * [Prisma](https://github.com/prisma/prisma) - Type-safe ORM. | |
| * [Drizzle ORM](https://github.com/drizzle-team/drizzle-orm) - SQL-first TypeScript ORM. | |
| * [Sequelize](https://github.com/sequelize/sequelize) - Feature-rich ORM. | |
| * [TypeORM](https://github.com/typeorm/typeorm) - ORM for TS/JS. | |
| * [Mongoose](https://github.com/Automattic/mongoose) - MongoDB object modeling. | |
| * [Knex](https://github.com/knex/knex) - SQL query builder. | |
| * [Kysely](https://github.com/kysely-org/kysely) - Type-safe SQL query builder. | |
| ### Queues & Jobs | |
| * [BullMQ](https://github.com/taskforcesh/bullmq) - Redis-backed queue. | |
| * [Agenda](https://github.com/agenda/agenda) - Job scheduling for Node. | |
| * [Bree](https://github.com/breejs/bree) - Job scheduler using worker threads. | |
| ### WebSockets | |
| * [Socket.IO](https://github.com/socketio/socket.io) - Realtime framework with fallbacks. | |
| * [ws](https://github.com/websockets/ws) - Fast WebSocket implementation. | |
| ### CMS | |
| * [Strapi](https://github.com/strapi/strapi) - Open-source headless CMS. | |
| * [Ghost](https://github.com/tryghost/Ghost) - Publishing platform. | |
| * [KeystoneJS](https://github.com/keystonejs/keystone) - CMS + app framework. | |
| ## Utilities | |
| ### Files | |
| * [Papa Parse](https://github.com/mholt/PapaParse) - CSV parsing. | |
| * [jsPDF](https://github.com/parallax/jsPDF) - PDF generation. | |
| * [PDF.js](https://github.com/mozilla/pdf.js) - PDF reader in JavaScript. | |
| * [diff2html](https://github.com/rtfpessoa/diff2html) - Git diff → pretty HTML. | |
| ### Functional Programming | |
| * [lodash](https://github.com/lodash/lodash) - Utility library. | |
| * [underscore](https://github.com/jashkenas/underscore) - Utility belt. | |
| * [ramda](https://github.com/ramda/ramda) - Practical FP library. | |
| * [fxjs](https://github.com/marpple/FxTS) - Lazy evaluation + concurrency helpers. | |
| ### Reactive Programming | |
| * [RxJS](https://github.com/ReactiveX/rxjs) - Reactive programming library. | |
| * [Most.js](https://github.com/cujojs/most) - High-performance FRP library. | |
| * [Bacon.js](https://github.com/baconjs/bacon.js) - FRP library. | |
| ### Data Structures | |
| * [immutable-js](https://github.com/immutable-js/immutable-js) - Persistent data structures. | |
| * [js-sdsl](https://github.com/zly201/js-sdsl) - STL-like containers for JS. | |
| ### Date & Time | |
| * [date-fns](https://github.com/date-fns/date-fns) - Modern date utility library. | |
| * [dayjs](https://github.com/iamkun/dayjs) - Small Moment-like API. | |
| * [luxon](https://github.com/moment/luxon) - Dates and times with Intl. | |
| * [ms](https://github.com/vercel/ms) - Millisecond conversion utility. | |
| ### String | |
| * [he](https://github.com/mathiasbynens/he) - HTML entity encoder/decoder. | |
| * [query-string](https://github.com/sindresorhus/query-string) - Parse/stringify URL query strings. | |
| * [sprintf.js](https://github.com/alexei/sprintf.js) - sprintf implementation. | |
| ### Number | |
| * [Numeral.js](https://github.com/adamwdraper/Numeral-js) - Number formatting. | |
| * [chance](https://github.com/chancejs/chancejs) - Random generator helpers. | |
| * [Fraction.js](https://github.com/infusion/Fraction.js) - Rational numbers. | |
| ### Storage | |
| * [localForage](https://github.com/localForage/localForage) - Offline storage wrapper. | |
| * [Dexie.js](https://github.com/dexie/Dexie.js) - IndexedDB wrapper. | |
| * [js-cookie](https://github.com/js-cookie/js-cookie) - Cookie API. | |
| ### Color | |
| * [chroma.js](https://github.com/gka/chroma.js) - Color manipulations. | |
| * [randomColor](https://github.com/davidmerfield/randomColor) - Color generator. | |
| * [TinyColor](https://github.com/bgrins/TinyColor) - Color manipulation/conversion. | |
| ### I18n & L10n | |
| * [i18next](https://github.com/i18next/i18next) - Internationalization framework. | |
| * [ttag](https://github.com/ttag-org/ttag) - Modern i18n using tagged templates. | |
| ### Control Flow | |
| * [async](https://github.com/caolan/async) - Async utilities. | |
| * [p-limit](https://github.com/sindresorhus/p-limit) - Limit concurrent promises. | |
| * [p-retry](https://github.com/sindresorhus/p-retry) - Retry async functions. | |
| ### Routing | |
| * [director](https://github.com/flatiron/director) - Isomorphic router. | |
| * [page.js](https://github.com/visionmedia/page.js) - Micro client-side router. | |
| ### RegExp | |
| * [Regex101](https://regex101.com/#javascript) - Online regex tester/debugger. | |
| * [RegExr](https://regexr.com/) - Regex editor and learning tool. | |
| ### Security | |
| * [DOMPurify](https://github.com/cure53/DOMPurify) - XSS sanitizer for HTML/SVG/MathML. | |
| * [sanitize-html](https://github.com/apostrophecms/sanitize-html) - HTML sanitizer. | |
| * [js-xss](https://github.com/leizongmin/js-xss) - Sanitize untrusted HTML. | |
| ### Logging | |
| * [pino](https://github.com/pinojs/pino) - Very fast logger for Node. | |
| * [winston](https://github.com/winstonjs/winston) - Multi-transport async logging. | |
| * [loglevel](https://github.com/pimterry/loglevel) - Minimal log level wrapper. | |
| ### Benchmarking | |
| * [benchmark.js](https://github.com/bestiejs/benchmark.js) - Benchmarking library. | |
| * [matcha](https://github.com/logicalparadox/matcha) - Simple benchmarking runner. | |
| ## Cross-Platform | |
| ### CLI | |
| * [commander](https://github.com/tj/commander.js) - CLI framework. | |
| * [yargs](https://github.com/yargs/yargs) - CLI argument parsing. | |
| * [oclif](https://github.com/oclif/oclif) - Opinionated CLI framework. | |
| * [zx](https://github.com/google/zx) - Write shell scripts in JavaScript. | |
| ### Desktop Apps | |
| * [Electron](https://www.electronjs.org/) - Cross-platform desktop apps. | |
| * [Tauri](https://tauri.app/) - Smaller desktop apps (JS frontend + Rust core). | |
| ### Mobile Apps | |
| * [React Native](https://reactnative.dev/) - Native mobile apps with JS/TS. | |
| * [Expo](https://expo.dev/) - Tooling + platform for React Native apps. | |
| * [Ionic](https://ionicframework.com/) - Hybrid app framework. | |
| ## AI & ML | |
| * [TensorFlow.js](https://www.tensorflow.org/js/) - Train/deploy ML models in JS. | |
| * [Brain.js](https://github.com/BrainJS/brain.js) - Neural networks in JavaScript. | |
| * [ml5.js](https://ml5js.org/) - Friendly ML for the web. | |
| ## Generative AI | |
| * [OpenAI SDK](https://github.com/openai/openai-node) - Official JavaScript/TypeScript library for the OpenAI API. | |
| * [LangChain.js](https://github.com/langchain-ai/langchainjs) - LLM application framework for JS/TS. | |
| * [Vercel AI SDK](https://sdk.vercel.ai/docs) - Build AI features for web apps. | |
| ## Articles & Posts | |
| * [Clean Code JavaScript](https://github.com/ryanmcdermott/clean-code-javascript) - Clean Code ideas adapted for JS. | |
| * [javascript-algorithms](https://github.com/trekhleb/javascript-algorithms) - Algorithms and data structures in JS. | |
| * [Roadmap.sh JavaScript Roadmap](https://roadmap.sh/javascript) - Community learning roadmap. | |
| # Worth Reading | |
| * [You Don’t Know JS Yet](https://github.com/getify/You-Dont-Know-JS) - Deep dive series on JS fundamentals and internals. | |
| * [Superhero.js](http://superherojs.com) - Resources for creating and maintaining large JS codebases. | |
| * [braziljs/js-the-right-way](https://github.com/braziljs/js-the-right-way/) - Quick reference for JS best practices. | |
| # Other Awesome Lists | |
| * [sindresorhus/awesome](https://github.com/sindresorhus/awesome) | |
| * [enaqx/awesome-react](https://github.com/enaqx/awesome-react) | |
| * [denolib/awesome-deno](https://github.com/denolib/awesome-deno) | |
| * [apvarun/awesome-bun](https://github.com/apvarun/awesome-bun) | |
| # Contributing | |
| Contributions welcome! Read the [contribution guidelines](CONTRIBUTING.md) first. | |
| # License | |
| [](https://creativecommons.org/publicdomain/zero/1.0/) | |
| To the extent possible under law, the authors have waived all copyright and related or neighboring rights to this work. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Awesome JavaScript Books [](https://awesome.re) | |
| Best JS books and JavaScript books list — curated recommendations from beginner to advanced. | |
| A curated list of the **best JavaScript books (JS books)** — free and paid — for beginners through advanced developers. If you’re searching for **top JavaScript books**, **best JS books**, or simply great **JavaScript programming books** to level up, start here. | |
| **Keywords:** js books, javascript books, best js books, top javascript books, best javascript books, javascript programming books | |
| ## Contents | |
| * [JavaScript Books](#javascript-books) | |
| * [Beginner](#beginner) | |
| * [Intermediate](#intermediate) | |
| * [Advanced](#advanced) | |
| * [JavaScript in Depth](#javascript-in-depth) | |
| * [Web APIs & Browser](#web-apis--browser) | |
| * [Node.js](#nodejs) | |
| * [TypeScript](#typescript) | |
| * [Testing](#testing) | |
| * [Performance & Reliability](#performance--reliability) | |
| * [Resources](#resources) | |
| * [Contributing](#contributing) | |
| * [License](#license) | |
| ## JavaScript Books | |
| ### Beginner | |
| #### [Eloquent JavaScript (4th Edition)](https://eloquentjavascript.net/) — *Free to read online* | |
| <img src="https://eloquentjavascript.net/img/cover.jpg" width="120" alt="Eloquent JavaScript cover"/> | |
| A modern introduction to programming with lots of exercises and small projects. Great if you want practice, not just theory. | |
| #### [The JavaScript Tutorial](https://javascript.info/) — *Free* | |
| A structured online “book” that starts from fundamentals and builds toward real-world language and browser topics. | |
| #### [JavaScript for Kids](https://nostarch.com/javascriptforkids) — *Paid* | |
| A friendly, hands-on introduction that teaches core programming ideas through small games and visual examples. | |
| #### [Head First JavaScript Programming](https://www.oreilly.com/library/view/head-first-javascript/9781449340124/) — *Paid* | |
| A highly visual, beginner-friendly approach that helps concepts stick through exercises and puzzles. | |
| --- | |
| ### Intermediate | |
| #### [You Don’t Know JS Yet (2nd Edition)](https://github.com/getify/You-Dont-Know-JS) — *Free on GitHub* | |
| A deep-dive series that explains *why* JavaScript behaves the way it does (scope, closures, types, async, etc.). Great once you’ve written some JS and want to level up. | |
| #### [Effective JavaScript](https://www.oreilly.com/library/view/effective-javascript/9780132902250/) — *Paid* | |
| 68 practical tips that improve correctness, readability, and maintainability. Focuses on the sharp edges and best practices. | |
| #### [JavaScript: The Definitive Guide](https://www.oreilly.com/library/view/javascript-the-definitive/9781491952016/) — *Paid* | |
| A comprehensive reference that covers the language plus important web platform APIs. | |
| #### [Learning JavaScript Design Patterns](https://addyosmani.com/resources/essentialjsdesignpatterns/book/) — *Free* | |
| Classic patterns and practical guidance for structuring applications, plus common anti-patterns to avoid. | |
| --- | |
| ### Advanced | |
| #### [JavaScript: The Good Parts](https://www.oreilly.com/library/view/javascript-the-good/9780596517748/) — *Paid* | |
| A short, opinionated classic that highlights powerful ideas in the language (and pitfalls to avoid). Useful for historical context and fundamentals. | |
| #### [JavaScript Enlightenment](https://frontendmasters.com/books/javascript-enlightenment/) — *Free* | |
| A compact, detail-oriented exploration of the language’s tricky parts—great for strengthening mental models. | |
| #### [DOM Enlightenment](http://domenlightenment.com/) — *Free* | |
| A focused technical guide to the DOM, events, and the realities of browser scripting. | |
| --- | |
| ## JavaScript in Depth | |
| #### [Speaking JavaScript](http://speakingjs.com/es5/) — *Free* | |
| A detailed guide for programmers coming from other languages; explains JS concepts, idioms, and common patterns. | |
| #### [Exploring ES6](https://exploringjs.com/es6.html) — *Free to read online* | |
| A thorough walkthrough of ES2015 features and how they changed modern JavaScript. | |
| #### [Understanding ECMAScript 6](https://www.nostarch.com/understandinges6) — *Paid* | |
| A clear explanation of ES6 features with examples and rationale—good if you want a book format rather than an online guide. | |
| --- | |
| ## Web APIs & Browser | |
| #### [MDN Web Docs: JavaScript Guide](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide) — *Free* | |
| The go-to reference for core language concepts with examples and links to related Web APIs. | |
| #### [MDN Web Docs: Web APIs](https://developer.mozilla.org/en-US/docs/Web/API) — *Free* | |
| Reference pages for DOM, events, fetch, storage, canvas, and many other browser APIs. | |
| --- | |
| ## Node.js | |
| #### [Node.js Design Patterns](https://www.oreilly.com/library/view/nodejs-design-patterns/9781839214110/) — *Paid* | |
| A strong guide to building scalable Node applications with proven patterns, architecture, and async best practices. | |
| #### [The Node.js Handbook](https://www.freecodecamp.org/news/the-node-js-handbook/) — *Free* | |
| A practical, fast-moving introduction to Node concepts, modules, npm, and building simple apps. | |
| --- | |
| ## TypeScript | |
| #### [TypeScript Handbook](https://www.typescriptlang.org/docs/handbook/intro.html) — *Free* | |
| The official guide that explains the type system, narrowing, generics, and best practices. | |
| #### [Effective TypeScript](https://www.oreilly.com/library/view/effective-typescript/9781492053736/) — *Paid* | |
| A best-practices book focused on writing TypeScript that is safe, ergonomic, and maintainable. | |
| --- | |
| ## Testing | |
| #### [Testing JavaScript Applications](https://www.manning.com/books/testing-javascript-applications) — *Paid* | |
| A practical approach to testing strategy—unit, integration, UI, and tooling choices. | |
| #### [Jest Documentation](https://jestjs.io/docs/getting-started) — *Free* | |
| Hands-on docs for unit and integration testing with a popular JavaScript test runner. | |
| --- | |
| ## Performance & Reliability | |
| #### [Web Performance 101](https://3perf.com/book) — *Free to read online* | |
| A modern performance primer: metrics, loading strategies, and real-world optimization techniques. | |
| #### [High Performance Browser Networking](https://hpbn.co/) — *Free to read online* | |
| Deep dive into how browsers and networks actually work (TCP/TLS/HTTP/2/3), and what that means for performance. | |
| --- | |
| ## Resources | |
| * [ECMAScript (Language Spec)](https://tc39.es/ecma262/) — The official JavaScript specification. | |
| * [Can I use](https://caniuse.com/) — Browser support tables for Web platform features. | |
| * [MDN Web Docs](https://developer.mozilla.org/) — Reference + guides across the Web platform. | |
| * [Frontend Masters Book Collection](https://frontendmasters.com/books/) — Several high-quality JS-related books. | |
| ## Contributing | |
| Contributions are welcome! | |
| * Add a book with: **title + link + price tag + 1–3 sentence original blurb** | |
| * Prefer official sources (author/publisher/site) over third-party summaries | |
| * Keep descriptions original (no copy-paste) | |
| See [CONTRIBUTING.md](CONTRIBUTING.md). | |
| ## License | |
| This work is licensed under the **Creative Commons Attribution 4.0 International License (CC BY 4.0)**. | |
| See [LICENSE](LICENSE). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment