awesome-nodejs
Delightful Node.js packages and resources
https://github.com/eric-erki/awesome-nodejs
Last synced: about 17 hours ago
JSON representation
-
Related lists
-
Miscellaneous
- awesome-cross-platform-nodejs - Resources for writing and testing cross-platform code.
- awesome-npm - Resources and tips for using npm.
-
-
Resources
-
Miscellaneous
- Microsoft Node.js Guidelines - Tips, tricks, and resources for working with Node.js on Microsoft platforms.
- generator-nm - Scaffold out a node module.
- node-module-boilerplate - Boilerplate to kickstart creating a node module.
- Module Requests & Ideas - Request a JavaScript module you wish existed or get ideas for modules.
- nodebots - Robots powered by JavaScript.
-
Videos
- Introduction to Node.js with Ryan Dahl
- Nodetuts - Series of talks, including TCP & HTTP API servers, async programming, and more.
- Hands on with Node.js
-
Articles
- Teach Yourself Node.js in 10 Steps
- Mastering the filesystem in Node.js
- Error Handling in Node.js
- Semver: A Primer
- Art of README - Learn the art of writing quality READMEs.
- Semver: Tilde and Caret
-
Books
- Node.js in Action
- Express in Action
- Practical Modern JavaScript
- Mixu's Node book
- Mastering Node
- Practical Node.js: Building Real-World Scalable Web Apps
- Pro Express.js
- Mastering Modular JavaScript
- Node.js in Practice
- Professional Node.js: Building Javascript Based Scalable Software
- Web Development with Node and Express
- Secure Your Node.js Web Application
- Pro Express.js
- Pro Express.js
-
Courses
- Learn to build apps and APIs with Node.js - Video course by Wes Bos.
- Learn and Understand Node.js
- Real Time Web with Node.js
-
Tools
- OctoLinker - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
- RunKit - Embed a Node.js environment on any website.
- RequireBin - Shareable JavaScript programs powered by npm and browserify.
- OctoLinker - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub.
- npm-hub - Chrome extension to display npm dependencies at the bottom of a repo's readme.
-
Community
-
Cheatsheets
- Stream FAQs - Answering common questions about streams, covering pagination, events, and more.
- Express.js
-
Tutorials
- module-best-practices - Some good practices when writing new npm modules.
- You Don't Know Node.js - Introduction to Node.js core features and asynchronous JavaScript.
- The Art of Node - An introduction to Node.js.
- The Node Way - An entire philosophy of Node.js best practices and guiding principles exists for writing maintainable modules, scalable applications, and code that is actually pleasant to read.
- stream-handbook - How to write Node.js programs with streams.
-
Newsletters
- Node Module Of The Week! - Weekly dose of hand picked node modules.
-
Discovery
- npmcompare.com - Compare and discover npm packages.
- npms - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about).
- npm addict - Your daily injection of npm packages.
-
Blogs
-
-
Packages
-
Node.js management
- nvm for Windows - Version management for Windows.
- n - Node.js version management.
- nave - Virtual Environments for Node.js.
- nodeenv - Node.js virtual environment compatible to Python's virtualenv.
-
Miscellaneous
- execa - Better `child_process`.
- clipboardy - Access the system clipboard (copy/paste).
- Faker.js - Generate massive amounts of fake data.
- cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
- semver - Semantic version parser.
- dot-prop - Get a property from a nested object using a dot path.
- file-type - Detect the file type of a Buffer.
- nodegit - Native bindings to Git.
- webworker-threads - Lightweight Web Worker API implementation with native threads.
- hypernova - Server-side rendering your JavaScript views.
- Bottleneck - Rate limiter that makes throttling easy.
- emittery - Simple and modern async event emitter.
- import-fresh - Import a module while bypassing the cache.
- import-lazy - Import a module lazily.
- json-strictify - Safely serialize a value to JSON without data loss or going into an infinite loop.
- resolve-from - Resolve the path of a module like `require.resolve()` but from a given path.
- ssh2 - SSH2 client and server module.
- ow - Function argument validation for humans.
- hasha - Hashing made simple. Get the hash of a buffer/string/stream/file.
- onetime - Only run a function once.
- strip-bom - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream.
- os-locale - Get the system locale.
- adit - SSH tunneling made simple.
- node-pre-gyp - Makes it easy to publish and install Node.js C++ addons from binaries.
- opencv - Bindings for OpenCV. The defacto computer vision library.
- dotenv - Load environment variables from .env file.
- @sindresorhus/is - Type check values.
- env-dot-prop - Get, set, or delete nested properties of process.env using a dot path.
- remote-git-tags - Get tags from a remote git repo.
- mem - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input.
- Electron - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))*
- simplecrawler - Event driven web crawler.
- opn - Opens stuff like websites, files, executables.
- jsdom - JavaScript implementation of HTML and the DOM.
-
Command-line utilities
- shelljs - Portable Unix shell commands.
- log-symbols - Colored symbols for various log levels.
- figures - Unicode symbols with Windows CMD fallbacks.
- cross-env - Set environment variables cross-platform.
- oclif - CLI framework complete with parser, automatic documentation, testing, and plugins.
- Bit - Create, maintain, find and use small modules and components across repositories.
- Ink - React for interactive command-line apps.
- chalk - Terminal string styling done right.
- boxen - Create boxes in the terminal.
- ora - Elegant terminal spinner.
- cli-cursor - Toggle the CLI cursor.
- log-update - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc.
- terminal-link - Create clickable links in the terminal.
- cli-columns - Columnated unicode and ansi-safe text lists.
- cli-truncate - Truncate a string to a specific width in the terminal.
- multispinner - Multiple, simultaneous, individually controllable CLI spinners.
- gradient-string - Beautiful color gradients in terminal output.
- yargs - Command-line parser that automatically generates an elegant user-interface.
- Inquirer.js - Interactive command-line prompt.
- string-width - Get the visual width of a string - the number of columns required to display it.
- blessed - Curses-like library.
- terminal-image - Display images in the terminal.
- vorpal - Interactive CLI apps.
- meow - CLI app helper.
- drawille - Draw on the terminal with unicode braille characters.
- cli-table3 - Pretty unicode tables.
- conf - Simple config handling for your app or module.
- get-stdin - Easier stdin.
- columnify - Create text-based columns suitable for console output. Supports cell wrapping.
- listr - Terminal task list.
- ansi-escapes - ANSI escape codes for manipulating the terminal.
- yn - Parse yes/no like values.
- ascii-charts - ASCII bar chart in the terminal.
- cfonts - Sexy ASCII fonts for the console.
- omelette - Shell autocompletion helper.
- sudo-block - Block users from running your app with root permissions.
- sparkly - Generate sparklines `▁▂▃▅▂▇`.
- first-run - Check if it's the first time the process is run.
- loud-rejection - Make unhandled promise rejections fail loudly instead of the default silent fail.
- term-size - Reliably get the terminal window size.
- update-notifier - Update notifications for your CLI app.
- insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
-
Process management
- node-windows - Run scripts as a native Windows service and log to the Event viewer.
- nodemon - Monitor for changes in your app and automatically restart the server.
- PM2 - Advanced Process Manager.
- Phusion Passenger - Friendly process manager that integrates directly into Nginx.
- node-mac - Run scripts as a native Mac daemon and log to the console app.
- node-linux - Run scripts as native system service and log to syslog.
- supervisor - Restart scripts when they crash or restart when a `*.js` file changes.
-
Filesystem
- rimraf - Recursively delete files like `rm -rf`.
- make-dir - Recursively create directories like `mkdir -p`.
- cpy - Copy files.
- chokidar - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS.
- graceful-fs - Drop-in replacement for the `fs` module with various improvements.
- fs-extra - Extra methods for the `fs` module.
- del - Delete files/folders using globs.
- find-up - Find a file by walking up parent directories.
- globby - Glob files with support for multiple patterns.
- filenamify - Convert a string to a valid filename.
- fs-jetpack - Completely redesigned file system API for convenience in everyday use.
- load-json-file - Read and parse a JSON file.
- write-json-file - Stringify and write JSON to a file atomically.
- fs-write-stream-atomic - Like `fs.createWriteStream()`, but atomic.
- lnfs - Force create symlinks like `ln -fs`.
- istextorbinary - Check if a file is text or binary.
- pkg-dir - Find the root directory of an npm package.
- filehound - Flexible and fluent interface for searching the file system.
- proper-lockfile - Inter-process and inter-machine lockfile utility.
-
Command-line apps
- lessmd - Markdown in the terminal.
- np - Better `npm publish`.
- gtop - System monitoring dashboard for the terminal.
- clipboard-cli - Copy & paste on the terminal.
- Cash - Cross-platform Unix shell commands in pure JavaScript.
- speed-test - Test your internet connection speed and ping.
- bcat - Pipe command output to web browsers.
- localtunnel - Expose your localhost to the world.
- wallpaper - Change the desktop wallpaper.
- auto-install - Auto installs dependencies as you code.
- carbon-now-cli - Beautiful images of your code — from right inside your terminal.
- pageres - Capture website screenshots.
- trash - Safer alternative to `rm`.
- fkill - Fabulously kill processes. Cross-platform.
- vtop - More better top, with nice charts.
- is-online - Check if the internet connection is up.
- emoj - Find relevant emoji from text on the command-line.
- browser-run - Easily run code in a browser environment.
- XO - Enforce strict code style using the JavaScript happiness style.
- cost-of-modules - Find out which dependencies are slowing you down.
- David - Tells you when your package npm dependencies are out of date.
- gh-home - Open the GitHub page of the repo in the current directory.
- Jsome - Pretty prints JSON with configurable colors and indentation.
- npm-home - Open the npm page of a package.
- npm-name - Check whether a package name is available on npm.
- empty-trash - Empty the trash.
- is-up - Check whether a website is up or down.
- public-ip - Get your public IP address.
- Live Server - Development HTTP-server with livereload capability.
- normit - Google Translate with speech synthesis in your terminal.
- pjs - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal.
- license-checker - Check licenses of your app's dependencies.
- tmpin - Adds stdin support to any CLI app that accepts file input.
- wifi-password - Get the current wifi password.
- dark-mode - Toggle the macOS Dark Mode.
- mobicon - Mobile app icon generator.
- mobisplash - Mobile app splash screen generator.
- diff2html-cli - Pretty git diff to HTML generator.
- jscpd - Copy/paste detector for source code.
- atmo - Server-side API mocking.
- svg-term-cli - Share terminal sessions via SVG.
- kill-tabs - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory.
- itunes-remote - Interactively control iTunes.
- brightness - Change the screen brightness.
- dev-time - Get the current local time of a GitHub user.
- subdownloader - Subtitle downloader for movies and TV series.
- iponmap - IP location finder.
- themer - Generate themes for your editor, terminal, wallpaper, Slack, and more.
- Standard - JavaScript Standard Style — One style to rule them all.
- http-server - Simple, zero-config command-line HTTP server.
- trymodule - Try out npm packages in the terminal.
- torrent - Download torrents.
- pen - Live Markdown preview in the browser from your favorite editor.
- alex - Catch insensitive, inconsiderate writing.
-
AST
- babel-parser - JavaScript parser used in Babel.
- Acorn - Tiny, fast JavaScript parser.
-
Documentation
- JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
- ESDoc - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage.
- documentation.js - API documentation generator with support for ES2015+ and flow annotation.
- Docco - Documentation generator which produces an HTML document that displays your comments intermingled with your code.
-
Web frameworks
- MERN - Easily build production-ready universal apps with MongoDB, Express, React, and webpack.
- Nest - Angular-inspired framework for building efficient and scalable server-side apps.
- Fastify - Fast and low overhead web framework.
- ThinkJS - Framework with ES2015+ support, WebSockets, REST API.
- ActionHero - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients.
- seneca - Toolkit for writing microservices.
- Hemera - Write reliable and fault-tolerant microservices with [NATS](https://nats.io).
- Micro - Minimalistic microservice framework with an async approach.
- Moleculer - Fast & powerful microservices framework.
- Next.js - Minimalistic framework for server-rendered universal JavaScript web apps.
- MERN - Easily build production-ready universal apps with MongoDB, Express, React, and webpack.
- Nuxt.js - Minimalistic framework for server-rendered Vue.js apps.
- LoopBack - Powerful framework for creating REST APIs and easily connecting to backend data sources.
- Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))*
-
Database
- TypeORM - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more.
- Sequelize - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL.
- Objection.js - Lightweight ORM built on the SQL query builder Knex.
- Lowdb - Small JavaScript database powered by Lodash.
- Mongoose - Elegant MongoDB object modeling.
- LevelUP - LevelDB.
- MongoDB - MongoDB driver.
- Aerospike - Aerospike client.
- MySQL - MySQL client.
- PostgreSQL - PostgreSQL client. Pure JavaScript and native libpq bindings.
- pg-promise - PostgreSQL framework for native SQL using promises.
- couchdb-nano - CouchDB client.
- Couchbase - Couchbase client.
- Bookshelf - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
- Waterline - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases.
- OpenRecord - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord.
- NeDB - Embedded persistent database written in JavaScript.
- Finale - RESTful endpoint generator for your Sequelize models.
- database-js - Wrapper for multiple databases with a JDBC-like connection.
- orm2 - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB.
- Redis - Redis client.
- Keyv - Simple key-value storage with support for multiple backends.
- Massive - PostgreSQL data access tool.
-
Automation
- robotjs - Desktop Automation: control the mouse, keyboard and read the screen.
-
Debugging / Profiling
- 0x - Flamegraph profiling.
- ironNode - Node.js debugger supporting ES2015 out of the box.
- ndb - Improved debugging experience, enabled by Chrome DevTools.
- why-is-node-running - Node.js is running but you don't know why?
- njsTrace - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function.
- stackman - Enhance an error stacktrace with code excerpts and other goodies.
- locus - Starts a REPL at runtime that has access to all variables.
- ctrace - Well-formatted and improved trace system calls and signals.
- leakage - Write memory leak tests.
- node-inspector - Debugger based on Blink Developer Tools.
- vstream - Instrumentable streams mix-ins to inspect a pipeline of streams.
- debug - Tiny debugging utility.
-
URL
- linkify-it - Link patterns detector with full unicode support.
- normalize-url - Normalize a URL.
- humanize-url - Humanize a URL: http://sindresorhus.com → sindresorhus.com.
- url-pattern - Easier than regex string matching patterns for URLs and other strings.
- url-unshort - Expand shortened URLs.
- speakingurl - Generate a slug from a string with transliteration.
- embedza - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags.
-
Natural language processing
-
Content management systems
- Strapi - Content Management Framework (headless-CMS) to build powerful APIs.
- KeystoneJS - CMS and web application platform built on Express and MongoDB.
- ApostropheCMS - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB.
-
Mad science
- isomorphic-git - Pure JavaScript implementation of Git.
- js-git - JavaScript implementation of Git.
- turf - Modular geospatial processing and analysis engine.
- peerflix - Streaming torrent client.
- Brain.js - Machine-learning framework.
- ipfs - Distributed file system that seeks to connect all computing devices with the same system of files.
- BitcoinJS - Clean, readable, proven Bitcoin library.
- Cytoscape.js - Graph theory (a.k.a. network) modeling and analysis.
- NodeOS - The first operating system powered by npm.
- peerwiki - All of Wikipedia on BitTorrent.
- peercast - Stream a torrent video to Chromecast.
- Bitcore - Pure and powerful Bitcoin library.
- webcat - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication.
- skale - High performance distributed data processing engine.
- dat - Real-time replication and versioning for data sets.
- seedshot - Temporary P2P screenshot sharing from your browser.
- xlsx - Pure JS Excel spreadsheet reader and writer.
- webtorrent - Streaming torrent client for Node.js and the browser.
- PDFKit - PDF generation library.
-
Image
- pica - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed.
- gm - GraphicsMagick and ImageMagick wrapper.
- sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
- probe-image-size - Get the size of most image formats without a full download.
- image-type - Detect the image type of a Buffer/Uint8Array.
- lwip - Lightweight image processor which does not require ImageMagick.
- jimp - Image processing in pure JavaScript.
-
Date
- Luxon - Library for working with dates and times.
- date-fns - Modern date utility.
- dateformat - Date formatting.
- tz-format - Format a date with timezone: `2015-11-30T10:40:35+01:00`.
- cctz - Fast parsing, formatting, and timezone conversation for dates.
- Moment.js - Parse, validate, manipulate, and display dates.
-
Minifiers
-
Build tools
- rollup - Next-generation ES2015 module bundler.
- Brunch - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow.
- parcel - Blazing fast, zero config web app bundler.
- webpack - Packs modules and assets for the browser.
- Broccoli - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.
- FuseBox - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support.
- Start - Functional task runner with shareable presets.
- ygor - Promising task runner for when `npm run` isn't enough and everything else is too much.
- pkg - Package your Node.js project into an executable.
-
Parsing
- Jison - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family.
- markdown-it - Markdown parser with 100% CommonMark support, extensions and syntax plugins.
- PostCSS - CSS parser / stringifier.
- csv-parser - Streaming CSV parser that aims to be faster than everyone else.
- js-yaml - Very fast YAML parser.
- xml2js - XML to JavaScript object converter.
- binary-extract - Extract a value from a buffer of JSON without parsing the whole thing.
- URI.js - URL mutation.
- PEG.js - Simple parser generator that produces fast parsers with excellent error reporting.
- parse5 - Fast full-featured spec compliant HTML parser.
- strip-json-comments - Strip comments from JSON.
- strip-css-comments - Strip comments from CSS.
- parse-json - Parse JSON with more helpful errors.
- JSONStream - Streaming JSON.parse and stringify.
- neat-csv - Fast CSV parser. Callback interface for the above.
- Stylecow - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins.
- ref - Read/write structured binary data in Buffers.
- xlsx-populate - Read/write Excel XLSX.
- fast-xml-parser - Validate and parse XML.
- x-ray - Web scraping utility.
- remark - Markdown processor powered by plugins.
- nearley - Simple, fast, powerful parsing for JavaScript.
- Chevrotain - Very fast and feature rich parser building toolkit for JavaScript.
- google-libphonenumber - Parse, format, store and validate phone numbers.
-
Testing
- Mochify - TDD with Browserify, Mocha, PhantomJS and WebDriver.
- Nightwatch - Automated UI testing framework based on Selenium WebDriver.
- WebdriverIO - Automated testing based on the WebDriver protocol.
- testen - Run tests for multiple versions of Node.js locally with NVM.
- intern - Code testing stack.
- TestCafe - Automated browser testing.
- toxy - Hackable HTTP proxy to simulate failure scenarios and network conditions.
- power-assert - Provides descriptive assertion messages through the standard assert interface.
- loadtest - Run load tests for your web application, with an API for automation.
- Sinon.JS - Test spies, stubs and mocks.
- navit - PhantomJS / SlimerJS wrapper to simplify browser test scripting.
- hook-std - Hook and modify stdout/stderr.
- abstruse - Continuous Integration server.
- nyc - Code coverage tool built on istanbul that works with subprocesses.
- trevor - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI.
- Jest - Painless JavaScript testing.
- tape - TAP-producing test harness.
- tap - TAP test framework.
-
Hardware
- johnny-five - Firmata based Arduino Framework.
- onoff - GPIO access and interrupt detection.
- i2c-bus - I2C serial bus access.
- spi-device - SPI serial bus access.
- pigpio - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi.
- gps - NMEA parser for handling GPS receivers.
- usb - USB library.
- serialport - Access serial ports for reading and writing.
-
Humanize
- pretty-error - Errors with less clutter.
- pretty-ms - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`.
- pretty-bytes - Convert bytes to a human readable string: `1337` → `1.34 kB`.
- read-art - Extract readable content from any page.
- ms - Tiny millisecond conversion utility.
-
Control flow
- Bluebird - Promise library with focus on innovative features and performance.
- pify - Promisify a callback-style function.
- observable-to-promise - Convert an Observable to a Promise.
- async - Provides straight-forward, powerful functions for working with asynchronicity.
- More…
- zen-observable - Implementation of Observables.
- delay - Delay a promise a specified amount of time.
- promise-memoize - Memoize promise-returning functions, with expire and prefetch.
- valvelet - Limit the execution rate of a promise-returning function.
- p-map - Map over promises concurrently.
- RxJS - Reactive programming.
- Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
- each-async - Async concurrent iterator like forEach.
- js-csp - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go).
-
Real-time
- Socket.io - Enables real-time bidirectional event-based communication.
- Primus - An abstraction layer for real-time frameworks to prevent module lock-in.
- Kalm - Low-level socket router and middleware framework.
- MQTT.js - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP.
- SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
- Faye - Real-time client-server message bus, based on Bayeux protocol.
- deepstream.io - Scalable real-time microservice framework.
- µWebSockets - Highly scalable WebSocket server & client library.
-
Streams
- through2 - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise.
- into-stream - Convert a buffer/string/array/object into a stream.
- get-stream - Get a stream as a string or buffer.
- readable-stream - Mirror of Streams2 and Streams3 implementations in core.
- from2 - Convenience wrapper for ReadableStream, inspired by `through2`.
- duplexify - Turn a writeable and readable stream into a single streams2 duplex stream.
- pumpify - Combine an array of streams into a single duplex stream.
- peek-stream - Transform stream that lets you peek the first line before deciding how to parse it.
- byline - Super-simple line-by-line Stream reader.
- first-chunk-stream - Transform the first chunk in a stream.
- pad-stream - Pad each line in a stream.
- multistream - Combine multiple streams into a single stream.
- through2-concurrent - Transform object streams concurrently.
- binary-split - Newline (or any delimiter) splitter stream.
- stream-combiner2 - Turn a pipeline into a single stream.
-
Templating
- EJS - Simple unopinionated templating language.
- Pug - High-performance template engine heavily influenced by Haml.
- marko - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags.
- nunjucks - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired).
- handlebars.js - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks.
-
Compression
- Archiver - Streaming interface for archive generation, supporting ZIP and TAR.
- pako - High speed zlib port to pure js (deflate, inflate, gzip).
- yazl - Zip.
- yauzl - Unzip.
- tar-stream - Streaming tar parser and generator. Also see [tar-fs](https://github.com/mafintosh/tar-fs).
- decompress - Decompression module with support for `tar`, `tar.gz` and `zip` files out of the box.
-
Text
- matcher - Simple wildcard matching.
- camelcase - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar.
- escape-string-regexp - Escape RegExp special characters.
- he - HTML entity encoder/decoder.
- string-length - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes.
- splice-string - Remove or replace part of a string like `Array#splice`.
- indent-string - Indent each line in a string.
- strip-indent - Strip leading whitespace from every line in a string.
- detect-indent - Detect the indentation of code.
- i18n-node - Simple translation module with dynamic JSON storage.
- babelfish - i18n with very easy syntax for plurals.
- unhomoglyph - Normalize visually similar unicode characters.
- i18next - Internationalization framework.
- execall - Find multiple RegExp matches in a string.
- iconv-lite - Convert character encodings.
-
Static site generators
- DocPad - Static site generator with dynamic abilities and huge plugin ecosystem.
- Wintersmith - Flexible, minimalistic, multi-platform static site generator.
- Assemble - Static site generator for Node.js, Grunt.js, and Yeoman.
- Phenomic - Modern static website generator based on the React and Webpack ecosystem.
- docsify - Markdown documentation site generator with no statically built HTML files.
-
Functional programming
- Ramda - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data.
- Lazy.js - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases.
- Mout - Utility library with the biggest difference between other existing solutions is that you can choose to load only the modules/functions that you need, no extra overhead.
- Kefir.js - Reactive library with focus on high performance and low memory usage.
- immutable - Immutable data collections.
- lodash - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
- Folktale - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse.
- Bacon.js - Functional reactive programming.
-
Authentication
-
Benchmarking
- Benchmark.js - Benchmarking library that supports high-resolution timers and returns statistically significant results.
- matcha - Simplistic approach to benchmarking.
-
Email
- emailjs - Send text/HTML emails with attachments to any SMTP server.
- Nodemailer - The fastest way to handle email.
- email-templates - Create, preview, and send custom email templates.
-
Forum
- nodeBB - Forum platform for the modern web.
-
Blogging
-
Logging
- winston - Multi-transport async logging library.
- pino - Extremely fast logger inspired by Bunyan.
- console-log-level - The most simple logger imaginable with support for log levels and custom prefixes.
- storyboard - End-to-end, hierarchical, real-time, colorful logs and stories.
- signale - Hackable console logger with beautiful output.
-
HTTP
- request - Simplified HTTP request client.
- got - Nicer interface to the built-in `http` module.
- http-fake-backend - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
- gotql - GraphQL request library built on [got](https://github.com/sindresorhus/got).
- wreck - HTTP Client Utilities.
- gh-got - Convenience wrapper for `got` to interact with the GitHub API.
- flashheart - REST client.
- download - Download and extract files effortlessly.
- cacheable-request - Wrap native HTTP requests with RFC compliant cache support.
- superagent - HTTP request library.
- http-proxy - HTTP proxy.
- node-fetch - `window.fetch` for Node.js.
-
Number
- round-to - Round a number to a specific number of decimal places: `1.234` → `1.2`.
- unique-random - Generate random numbers that are consecutively unique.
- random-int - Generate a random integer.
- random-float - Generate a random float.
-
Math
- mathjs - An extensive math library.
- ndarray - Multidimensional arrays.
- algebra - Algebraic structures.
- multimath - Core to create fast image math in WebAssembly and JS.
- math-clamp - Clamp a number.
-
Weird
- cat-names - Get popular cat names.
- cows - ASCII cows.
- superb - Get superb like words.
- dog-names - Get popular dog names.
- superheroes - Get superhero names.
- supervillains - Get supervillain names.
- cat-ascii-faces - `₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”`.
- nerds - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon.
- cool-ascii-faces - Get some cool ascii faces.
-
Data validation
- joi - Object schema description language and validator for JavaScript objects.
- is-my-json-valid - JSON Schema validator that uses code generation to be extremely fast.
- property-validator - Easy property validation for Express.
- ajv - The fastest JSON Schema validator. Supports v5 proposals.
- schema-inspector - JSON API sanitization and validation.
-
Network
-
Security
- upash - Unified API for all password hashing algorithms.
-
Authorization
- CASL - Isomorphic authorization for UI and API.
-
Job queues
- bull - Persistent job and message queue.
- idoit - Redis-backed job queue engine with advanced job control.
- rsmq - Redis-backed message queue.
- bee-queue - High-performance Redis-backed job queue.
- kue - Redis-backed priority job queue.
- node-resque - Redis-backed job queue.
- agenda - MongoDB-backed job scheduling.
-
Serialization
-
Programming Languages
Categories
Sub Categories
Command-line apps
54
Command-line utilities
42
Miscellaneous
42
Parsing
24
Database
23
Mad science
19
Filesystem
19
Testing
18
Streams
15
Text
15
Web frameworks
14
Control flow
14
Books
14
HTTP
12
Debugging / Profiling
12
Build tools
9
Weird
9
Functional programming
8
Hardware
8
Real-time
8
Image
7
Process management
7
Job queues
7
URL
7
Community
6
Date
6
Articles
6
Compression
6
Tutorials
5
Templating
5
Logging
5
Math
5
Network
5
Tools
5
Humanize
5
Static site generators
5
Minifiers
5
Data validation
5
Number
4
Node.js management
4
Documentation
4
Natural language processing
4
Discovery
3
Videos
3
Content management systems
3
Courses
3
Email
3
Serialization
3
Benchmarking
2
Blogging
2
Authentication
2
Cheatsheets
2
AST
2
Authorization
1
Forum
1
Automation
1
Security
1
Blogs
1
Newsletters
1
Keywords
nodejs
115
javascript
101
node
26
cli
21
typescript
19
npm-package
17
command-line
11
http
10
json
10
postgresql
9
mysql
8
promise
8
browser
7
node-js
7
orm
6
database
6
cli-app
6
shell
6
node-module
6
stream
6
testing
6
terminal
6
react
5
framework
5
websockets
5
performance
5
api
5
sqlite
5
async
5
server
5
windows
5
css
5
static-site-generator
5
promises
5
electron
5
html
5
raspberry-pi
5
iot
5
http-client
4
network
4
serialization
4
redis
4
mongodb
4
parser
4
list
4
web
4
beaglebone-black
4
compiler
4
npm
4
webdriver
4