Giter Club home page Giter Club logo

awesome-nodejs's Introduction

Awesome Node.js

A curated list of delightful Node.js packages and resources.

Inspired by the awesome list thing.

Packages

Functional programming

  • Lo-Dash - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js.
  • Underscore.js - Provides a whole mess of useful functional programming helpers without extending any built-in objects.
  • 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.

Command-line apps

  • npm - A package-manager for Node.js.
  • Bower - A package manager for the web.
  • Yo - Run Yeoman generators.
  • Pageres - Responsive website screenshots.
  • trash - A safer alternative to rm.
  • ESLint - The pluggable linting utility for JavaScript.
  • JSHint - A community-driven tool to detect errors and potential problems in JavaScript code.
  • cpy - Copy files.
  • torrent - Download torrents.
  • David - Tells you when your package npm dependencies are out of date.
  • vtop - More better top, with nice charts.

HTTP

  • request - Simplified HTTP request client.
  • got - A nicer interface to the built-in http module.
  • superagent - A small progressive HTTP request library.
  • hyperquest - Streaming HTTP requests.

Logging

  • winston - A multi-transport async logging library.
  • Bunyan - A simple and fast JSON logging library.

Web frameworks

  • Koa - A new web framework designed by the team behind Express, which aims to be a smaller, more expressive, and more robust foundation for web applications and APIs.
  • Express - A minimal and flexible web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications.
  • Hapi - A rich framework for building applications and services.
  • Meteor - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework.
  • SailsJS - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API.

Command-line utilities

  • chalk - Terminal string styling done right.
  • minimist - Parse command-line flags
  • Inquirer.js - Interactive command-line prompt.
  • update-notifier - Update notifications for your CLI app.
  • sudo-block - Block users from running your app with root permissions.
  • configstore - Easily load and persist config without having to think about where and how.
  • insight - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics.
  • blessed - A curses-like library.
  • cli-table - Pretty unicode tables.
  • drawille - Draw on the terminal with unicode braille characters.

Build tools

  • gulp.js - Streaming and fast build system that favors code over config.
  • grunt - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc.
  • Broccoli - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions.

Templating

  • handlebars.js - Provides the power necessary to let you build semantic templates effectively with no frustration.
  • Jade - High performance template engine heavily influenced by Haml.
  • nunjucks - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired).

Documentation

  • Docco - A quick-and-dirty documentation generator which produces an HTML document that displays your comments intermingled with your code.
  • JSDoc - API documentation generator similar to JavaDoc or PHPDoc.
  • dox - JavaScript documentation generator for Node.js using Markdown and JSDoc.
  • jsdox - JSDoc3 to Markdown documentation generator.

Filesystem

  • del - Delete files/folders using globs.
  • globby - Glob files with support for multiple patterns.
  • cpy - Copy files.
  • rimraf - Recursively delete files like rm -rf.
  • mkdirp - Recursively create directories like mkdir -p.
  • graceful-fs - Drop-in replacement for the fs module with various improvements.
  • fs-extra - Extra methods for the fs module.

Control flow

  • each-async - Async concurrent iterator like forEach.
  • async - Provides straight-forward, powerful functions for working with asynchronousity.
  • contra - Asynchronous flow control with a functional taste to it.
  • co - The ultimate generator based flow-control goodness.
  • Highland.js - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams.
  • native-promise-only - A polyfill for native ES6 Promises.
  • Bluebird - A fully featured promise library with focus on innovative features and performance.
  • Q - A tool for making and composing asynchronous promises.

Streams

  • through2 - Tiny wrapper around Node streams2 Transform to avoid explicit subclassing noise.
  • concat-stream - Concatenates a stream into strings or binary data.
  • simple-bufferstream - Turn a Buffer into a ReadableStream.
  • co-stream - co generator stream.
  • byline - Super-simple line-by-line Stream reader.

Real-time

  • Socket.io - Enables real-time bidirectional event-based communication.
  • SocketCluster - Scalable HTTP + WebSocket engine which can run on multiple CPU cores.
  • Primus - An abstraction layer for real-time frameworks to prevent module lock-in.

Date

Image

  • sharp - The fastest module for resizing JPEG, PNG, WebP and TIFF images.
  • image-type - Detect the image type of a Buffer/Uint8Array.
  • gm - GraphicsMagick and ImageMagick wrapper.

Text

Math

  • ndarray - Multidimensional arrays.

Parsing

Humanize

  • pretty-bytes - Convert bytes to a human readable string: 1337 โ†’ 1.34 kB.
  • pretty-ms - Convert milliseconds to a human readable string: 1337000000 โ†’ 15d 11h 23m 20s.
  • ms - Tiny milisecond conversion utility.
  • pretty-error - Errors with less clutter.
  • humanize - Data formatter for human readability.
  • node-read - Extract readable content from any page.

Compression

Network

Static site generators

  • Metalsmith - An extremely simple, pluggable static site generator.
  • Wintersmith - Flexible, minimalistic, multi-platform static site generator.
  • Assemble - Static site generator for Node.js, Grunt.js, and Yeoman.

Content management systems

  • KeystoneJS - CMS and web application platform built on Express and MongoDB.
  • Calipso - A simple content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple.

Forum

  • nodeBB - A better forum platform for the modern web.

Blogging

  • ghost - Simple, powerful publishing platform that allows you to share your story with the world.
  • Hexo - Fast, simple and powerful blogging framework.

Debugging

  • node-inspector - Debugger based on Blink Developer Tools.
  • Theseus - A new type of JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree.
  • longjohn - Long stack traces with configurable call trace length.
  • debug - Tiny debugging utility.

Database

  • Drivers
    • LevelUP - LevelDB, Node.js style.
    • MongoDB - Native MongoDB driver for Node.js.
    • MySQL - A pure Node.js JavaScript Client implementing the MySQL protocol.
    • Redis - Redis client for Node.js.
  • ODM / ORM
    • Bookshelf - A Node.js ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js.
    • Mongoose - Elegant MongoDB object modeling for Node.js.
    • Sequelize - Multi-dialect ORM. Supports SQLite, MySQL, PostgreSQL.
  • Query builder
    • Knex - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use.

Testing

  • tape - TAP-producing test harness.
  • Mocha - A feature-rich test framework making asynchronous testing simple and fun.
  • loadtest - Run load tests for your web application, with an API for automation.

Minifiers

Authentication

  • Passport - Simple, unobtrusive authentication.

Node.js management

  • n - Node.js version management.
  • nave - Virtual Environments for Node.js.
  • nodeenv - A Node.js virtual environment compatible to Python's virtualenv.

Polyfills

AST

  • Esprima - A high performance, standard-compliant JavaScript parser.
  • Rocambole - Recursively walk and transform JavaScript AST.

Weird

Miscellaneous

  • multiline - Multiline strings in JavaScript.
  • opn - Opens stuff like websites, files, executables.
  • semver - semver parser.
  • cheerio - Fast, flexible, and lean implementation of core jQuery designed specifically for the server.
  • browserify - Browser-side require() the Node.js way.
  • Faker.js - Generate massive amounts of fake data.

Resources

Tutorials

Articles

Videos

Podcasts

Books

Blogs

  • Node.js blog
  • HowToNode - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code.

Courses

Tools

  • GitHub Linker - Chrome extension that linkifies dependencies in package.json on GitHub.

Contribute

Contributions welcome! Read the contribution guidelines first.

License

CC0

To the extent possible under law, Sindre Sorhus has waived all copyright and related or neighboring rights to this work.

awesome-nodejs's People

Contributors

bevacqua avatar bndr avatar jhermann avatar jondubois avatar kdamball avatar lpinca avatar lukechesser avatar madbence avatar mrjoelkemp avatar sdepold avatar sindresorhus avatar stefanbuck avatar zafarali avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.