A curated list of beautiful node_modules that I like to use.
I'm continuously finding, evaluating and using different node_modules. Often I forget the names of the ones I like - especially when it's for something I only do rarely.
I'm also often asked "What module should I use for X?".
This page is my attempt to solve both of these problems, by maintaining a public list of all the modules I like.
Table of Contents generated with DocToc
- Utility Belts
- Debugging
- HTTP
- React
- Filesystem
- Streams
- Data Wrangling
- CLI
- External Services
- Testing
- Uncategorised
- debug - simple, switchable debug logging
- longjohn - stitch together stack traces across event loop ticks
- node-inspector - debug with webkit devtools
- ono - extending errors, including causes
- httpism - Newer and fancier http client
- axios - popular promise-based http client
- request - all-in-one HTTP client
- agentkeepalive - better keepalive support for HTTP client
- primus - websocket client/server
- express - popular and simple middleware based server
- primus - generic websocket-type client/server thing
- ws - actual websocket implementation
- http-shutdown - Ensure HTTP server shutdown cleanly despite keepalives
- body-parser - parse form / json input
- cookie-parser - cookies
- express-secure-cookie - secure cookies by default
- morgan - HTTP request logging
- bunyan-middleware - JSON based request logging
- http-proxy-middleware - Proxy requests through to backend APIs
- linkto - Correctly calculate absolute URL based on incoming request
- routes - basic standalone URL routing. works on client
- lodash-express - lodash templates for express
- express-handlebars - reasonably fast mustache-like templating language
- serialize-javascript - Safely serialise JS for use in
<script>
tags
- knex - Query builder and migrations
- react - React itself
- react-bootstrap - Bootstrap widgets for React
- react-immutable-proptypes
- chokidar - generic file watching
- split - split a stream of data into lines
- immutable - immutable data types
- moment - awesome date/time handling lib
- joi - datatype validation and co-ercion
- tv4 - JSON schema
- xml2js - sometimes XML is unavoidable
- sax - for parsing lots of XML
- escape-string-regexp - escaping regex strings
- validate.js - isomorphic contracts-style validation of data
- dot-prop - safely access deep properties
- daggy - sum types
- chalk - ANSI colours
- mysql
- amqp - been around a long time, API is a bit weird, error handling sometimes annoying
- AMQPea - my own, early days yet
- mocha - test running framework
- sinon - spies/stubs/mocks
- chai - richer set of assertions, optional
expect()
API - dirty-chai - Monkeypatch chai to promote property access assertions into function calls
- supertest - HTTP client for testing servers
- nock - set up fake HTTP responses
- iconv-lite - Additional character sets
- node-sass - Sass, but for node (native module)
- nodemon - automatically restart/re-run script on file changes
- time-tree - timing with nested splits
- hot-module-replacement - hot module replacement for nodejs server code