Node.js Stuff
A continuously expanded list of Node.js libs I want to keep in mind.
- Node Version Manager
- Development Tools
- Process Manager
- ORM's & ODM's
- File Based Databases
- Command Line
- Scraper & Crawler
- Data Parser/Converter
- Fake Data & Mocking
- Geo & Mapping
- Authentication
- Validation
- Security
- Headless Browser
- Internationalization
- General
Node Version Manager
- n - Version management
- nave - Virtual Environments for Node
- nvm - Bash script to manage multiple versions
Development Tools
- backpack - Minimalistic build system
- iron-node - Debug Node.js code with Chrome Developer Tools
- nodemon - Monitor for any changes in your application and restart the server
- node-dev - Zero-conf reloading
- node-inspector - Debugger based on Blink Developer Tools
- node-supervisor - Supervisor script that runs your code, watches for changes and reloads your application
- theseus - A debugger for Brackets
Web Application Frameworks
- adonisjs - ES6 friendly MVC Framework
- deployd - Toolkit for building realtime APIs
- egg - Framework based on koa.js
- fastify - Fast and low overhead web framework
- nest - Framework for building efficient, reliable and scalable server-side applications
- sails - MVC framework with auto-generated REST APIs, Web-Socket support and security policies
- strapi - Framework with admin panel, user management and GraphQL support
- trails - Framework with API-driven design philosophy
Process Manager
- forever - CLI tool for ensuring that a given script runs continuously
- naught - Zero downtime deployment
- PM2 - Process manager for with a built-in load balancer
ORM's & ODM's
- bookshelf - ORM for PostgreSQL, MySQL, and SQLite
- graffiti - GraphQL ORM
- jugglingdb - ORM/ODM for Redis, Mongo, MySQL, SQLite, PostgreSQL, neo4j and memory
- Massive.js - A data mapper for PostgreSQL
- mongoose - ODM for Mongo
- mongorito - ES6 generator-based MongoDB ODM
- moron.js - Based on knex supporting SQLite3, Postgres and MySQL
- node-orm2 - ORM for MySQL, MariaDB, PostgreSQL, Amazon Redshift and SQLite
- objection.js - An SQL ORM
- prisma - Database Tools incl. ORM, Migrations and Admin UI
- sequelize - ORM for PostgreSQL, MySQL, MariaDB, SQLite and MSSQL
- thinky - Rethink ORM
- waterline - ORM/ODM for MySQL, Mongo, PostgreSQL, Redis and more
File Based Databases
- diskdb - A Lightweight Disk based JSON Database with a MongoDB like API
- lowdb - Flat JSON file database (Lo-Dash functional programming API)
- nedb - Embedded datastore (Mongo API)
Command Line
- blessed - High-level widgets for the Terminal
- blessed-contrib - Terminal dashboards using ascii/ansi
- chalk - Terminal string styling helper
- Clor - Civilized terminal styles
- cmnd - Command Line Interface Utility using ES6 idioms
- colors - Get colors in your console
- Commander - Command-line interfaces made easy
- Caporal.js - Full-featured framework for building command line apps
- Inquirer - A collection of common interactive command line user interfaces
- minimist - Parse argument options
- Terminal Kit - Terminal utilities
- vantage - An interactive CLI for Node
- vorpal - Framework for interactive CLI apps.
- yargs - Optstrings parser
Scraper & Crawler
- crawler - Web Crawler/Spider + server-side jQuery
- ineed - Web scraping and HTML-reprocessing
- noodlejs - Server and module for querying and scraping data from web documents
- node-osmosis - HTML/XML parser and web scraper for NodeJS
- scrape-it - A scraping module for humans
- scraperjs - A complete and versatile web scraper
- skrap - Easily scrap web pages by providing json recipes
- SUq - Scraping Utility
- x-ray - See through the noise
- yakuza - Highly scalable scraping framework
Data Parser/Converter
- any-json - Convert csv, xls, xlsx, xml, yaml and more to JSON
- BabyParse - CSV parser based on PapaParse
- dsv - A parser and formatter for DSV (CSV and TSV) files
- exceljs - Excel Workbook Manager
- node-csv - Full featured CSV parser
Fake Data & Mocking
- chance - Minimalist generator of random strings, numbers and more
- faker - Generate massive amounts of fake data
- fake identity - Generate random identity objects including name, address, etc
- nock - HTTP mocking and expectations library
Geo & Mapping
- Leaflet headless - Headless version of Leaflet using jsdom and canvas
- mapshaper - Tools for editing geospatial vector data
- node-gdal - GDAL bindings
- ogr2ogr - ogr2ogr wrapper
- tilestream - A map tile server powered by MBTiles files
- tilestrata - A pluggable map tile server
- turf - A modular geospatial engine
- Windshaft - A map tile server for PostGIS based on Mapnik
Authentication
- darklord - Stateless Authentication Server - JWT based authentication
- drywall - A website and user system
- everyauth - Authentication and authorization (password, facebook, & more)
- frame - A user system API based on hapi
- node-oauth2-server - Complete, compliant and well tested module for implementing an OAuth2 Server/Provider
- passport - Simple, unobtrusive authentication
- passwordless - Module to authenticate users without password
Validation
- is.js - Micro check library
- joi - Object schema validation
- validator.js - String validation and sanitization
Security
- Credential - Password hashing and verification
- CSRF - CSRF protection middleware
- Helmet - Middleware to help secure your Express/Connect apps
- NodeSecurity - The Node Security Project
Headless Browser
- casperjs - Navigation scripting & testing utility for PhantomJS and SlimerJS
- nightmarejs - A high level wrapper for Phantomjs
- phantomjs - Headless WebKit scriptable with a JavaScript API
- puppeteer - Headless Chrome Node.js API
- slimerjs - Scriptable browser based on Gecko
Internationalization
- i18n - Lightweight simple translation module
- i18n-abide - connect module for i18n and l10n support
- Jed - Gettext Style i18n
- messageformat - MessageFormat for Javascript - i18n Plural and Gender Capable Messages
- polyglot.js - Give your JavaScript the ability to speak many languages