├── LICENSE └── README.md /LICENSE: -------------------------------------------------------------------------------- 1 | No Copyright - CC0 1.0 Universal (CC0 1.0) 2 | 3 | The person who associated a work with this deed has dedicated 4 | the work to the public domain by waiving all of his or her rights 5 | to the work worldwide under copyright law, including all related and 6 | neighboring rights, to the extent allowed by law. 7 | 8 | You can copy, modify, distribute and perform the work, 9 | even for commercial purposes, all without asking permission. 10 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Node.js Stuff 2 | ============= 3 | 4 | A continuously expanded list of Node.js libs I want to keep in mind. 5 | 6 | * [Node Version Manager](#node-version-manager) 7 | * [Development Tools](#development-tools) 8 | * [Process Manager](#process-manager) 9 | * [ORM's & ODM's](#orms--odms) 10 | * [File Based Databases](#file-based-databases) 11 | * [Command Line](#command-line) 12 | * [Scraper & Crawler](#scraper--crawler) 13 | * [Data Parser/Converter](#data-parserconverter) 14 | * [Fake Data & Mocking](#fake-data--mocking) 15 | * [Geo & Mapping](#geo--mapping) 16 | * [Authentication](#authentication) 17 | * [Validation](#validation) 18 | * [Security](#security) 19 | * [Headless Browser](#headless-browser) 20 | * [Internationalization](#internationalization) 21 | * [General](#general) 22 | 23 | ### Node Version Manager 24 | - [n](https://github.com/tj/n) - Version management 25 | - [nave](https://github.com/isaacs/nave) - Virtual Environments for Node 26 | - [nvm](https://github.com/creationix/nvm) - Bash script to manage multiple versions 27 | 28 | ### Development Tools 29 | - [backpack](https://github.com/palmerhq/backpack) - Minimalistic build system 30 | - [iron-node](http://s-a.github.io/iron-node/index.html) - Debug Node.js code with Chrome Developer Tools 31 | - [nodemon](https://github.com/remy/nodemon) - Monitor for any changes in your application and restart the server 32 | - [node-dev](https://github.com/fgnass/node-dev) - Zero-conf reloading 33 | - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools 34 | - [node-supervisor](https://github.com/isaacs/node-supervisor) - Supervisor script that runs your code, watches for changes and reloads your application 35 | - [theseus](https://github.com/adobe-research/theseus) - A debugger for Brackets 36 | 37 | ### Web Application Frameworks 38 | - [adonisjs](http://www.adonisjs.com/) - ES6 friendly MVC Framework 39 | - [deployd](http://deployd.com/) - Toolkit for building realtime APIs 40 | - [egg](https://eggjs.org/) - Framework based on koa.js 41 | - [fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework 42 | - [nest](https://github.com/nestjs/nest) - Framework for building efficient, reliable and scalable server-side applications 43 | - [sails](http://sailsjs.org/) - MVC framework with auto-generated REST APIs, Web-Socket support and security policies 44 | - [strapi](http://strapi.io/) - Framework with admin panel, user management and GraphQL support 45 | - [trails](https://github.com/trailsjs/trails) - Framework with API-driven design philosophy 46 | 47 | ### Process Manager 48 | - [forever](https://github.com/foreverjs/forever) - CLI tool for ensuring that a given script runs continuously 49 | - [naught](https://github.com/andrewrk/naught) - Zero downtime deployment 50 | - [PM2](https://github.com/Unitech/pm2) - Process manager for with a built-in load balancer 51 | 52 | ### ORM's & ODM's 53 | - [bookshelf](http://bookshelfjs.org/) - ORM for PostgreSQL, MySQL, and SQLite 54 | - [graffiti](https://github.com/RisingStack/graffiti) - GraphQL ORM 55 | - [jugglingdb](https://github.com/1602/jugglingdb) - ORM/ODM for Redis, Mongo, MySQL, SQLite, PostgreSQL, neo4j and memory 56 | - [Massive.js](https://github.com/dmfay/massive-js) - A data mapper for PostgreSQL 57 | - [mongoose](http://mongoosejs.com/) - ODM for Mongo 58 | - [mongorito](https://github.com/vdemedes/mongorito) - ES6 generator-based MongoDB ODM 59 | - [moron.js](https://github.com/Vincit/moron.js) - Based on knex supporting SQLite3, Postgres and MySQL 60 | - [node-orm2](https://github.com/dresende/node-orm2) - ORM for MySQL, MariaDB, PostgreSQL, Amazon Redshift and SQLite 61 | - [objection.js](https://github.com/Vincit/objection.js) - An SQL ORM 62 | - [prisma](https://github.com/prisma/prisma) - Database Tools incl. ORM, Migrations and Admin UI 63 | - [sequelize](http://docs.sequelizejs.com/en/latest/) - ORM for PostgreSQL, MySQL, MariaDB, SQLite and MSSQL 64 | - [thinky](https://github.com/neumino/thinky) - Rethink ORM 65 | - [waterline](https://github.com/balderdashy/waterline) - ORM/ODM for MySQL, Mongo, PostgreSQL, Redis and more 66 | 67 | ### File Based Databases 68 | - [diskdb](https://github.com/arvindr21/diskDB) - A Lightweight Disk based JSON Database with a MongoDB like API 69 | - [lowdb](https://github.com/typicode/lowdb) - Flat JSON file database (Lo-Dash functional programming API) 70 | - [nedb](https://github.com/louischatriot/nedb) - Embedded datastore (Mongo API) 71 | 72 | ### Command Line 73 | - [blessed](https://github.com/chjj/blessed) - High-level widgets for the Terminal 74 | - [blessed-contrib](https://github.com/yaronn/blessed-contrib) - Terminal dashboards using ascii/ansi 75 | - [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling helper 76 | - [Clor](https://github.com/bucaran/clor) - Civilized terminal styles 77 | - [cmnd](https://github.com/keithwhor/cmnd) - Command Line Interface Utility using ES6 idioms 78 | - [colors](https://github.com/marak/colors.js/) - Get colors in your console 79 | - [Commander](https://github.com/visionmedia/commander.js) - Command-line interfaces made easy 80 | - [Caporal.js](https://github.com/mattallty/Caporal.js) - Full-featured framework for building command line apps 81 | - [Inquirer](https://github.com/SBoudrias/Inquirer.js) - A collection of common interactive command line user interfaces 82 | - [minimist](https://github.com/substack/minimist) - Parse argument options 83 | - [Terminal Kit](https://github.com/cronvel/terminal-kit) - Terminal utilities 84 | - [vantage](https://github.com/dthree/vantage) - An interactive CLI for Node 85 | - [vorpal](https://github.com/dthree/vorpal) - Framework for interactive CLI apps. 86 | - [yargs](https://github.com/bcoe/yargs) - Optstrings parser 87 | 88 | ### Scraper & Crawler 89 | - [crawler](https://github.com/sylvinus/node-crawler) - Web Crawler/Spider + server-side jQuery 90 | - [ineed](https://github.com/inikulin/ineed) - Web scraping and HTML-reprocessing 91 | - [noodlejs](http://noodlejs.com/) - Server and module for querying and scraping data from web documents 92 | - [node-osmosis](https://github.com/rc0x03/node-osmosis) - HTML/XML parser and web scraper for NodeJS 93 | - [scrape-it](https://github.com/IonicaBizau/scrape-it) - A scraping module for humans 94 | - [scraperjs](https://github.com/ruipgil/scraperjs) - A complete and versatile web scraper 95 | - [skrap](https://github.com/nickdima/skrap) - Easily scrap web pages by providing json recipes 96 | - [SUq](https://github.com/MattMcFarland/SUq) - Scraping Utility 97 | - [x-ray](https://github.com/lapwinglabs/x-ray) - See through the noise 98 | - [yakuza](https://github.com/Narzerus/yakuza) - Highly scalable scraping framework 99 | 100 | ### Data Parser/Converter 101 | - [any-json](https://github.com/laktak/any-json) - Convert csv, xls, xlsx, xml, yaml and more to JSON 102 | - [BabyParse](https://github.com/Rich-Harris/BabyParse) - CSV parser based on PapaParse 103 | - [dsv](https://github.com/mbostock/dsv) - A parser and formatter for DSV (CSV and TSV) files 104 | - [exceljs](https://github.com/guyonroche/exceljs) - Excel Workbook Manager 105 | - [node-csv](https://github.com/wdavidw/node-csv) - Full featured CSV parser 106 | 107 | ### Fake Data & Mocking 108 | - [chance](http://chancejs.com) - Minimalist generator of random strings, numbers and more 109 | - [faker](https://github.com/marak/Faker.js/) - Generate massive amounts of fake data 110 | - [fake identity](https://github.com/travishorn/fake-identity) - Generate random identity objects including name, address, etc 111 | - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations library 112 | 113 | ### Geo & Mapping 114 | - [Leaflet headless](https://github.com/jieter/leaflet-headless) - Headless version of Leaflet using jsdom and canvas 115 | - [mapshaper](https://github.com/mbloch/mapshaper) - Tools for editing geospatial vector data 116 | - [node-gdal](https://github.com/naturalatlas/node-gdal) - GDAL bindings 117 | - [ogr2ogr](https://github.com/wavded/ogr2ogr) - ogr2ogr wrapper 118 | - [tilestream](https://github.com/mapbox/tilestream) - A map tile server powered by MBTiles files 119 | - [tilestrata](https://github.com/naturalatlas/tilestrata) - A pluggable map tile server 120 | - [turf](https://github.com/Turfjs/turf) - A modular geospatial engine 121 | - [Windshaft](https://github.com/CartoDB/Windshaft) - A map tile server for PostGIS based on Mapnik 122 | 123 | ### Authentication 124 | - [darklord](https://github.com/GrumpyWizards/DarkLord) - Stateless Authentication Server - JWT based authentication 125 | - [drywall](https://github.com/jedireza/drywall/) - A website and user system 126 | - [everyauth](https://github.com/bnoguchi/everyauth) - Authentication and authorization (password, facebook, & more) 127 | - [frame](https://github.com/jedireza/frame) - A user system API based on hapi 128 | - [node-oauth2-server](https://github.com/thomseddon/node-oauth2-server) - Complete, compliant and well tested module for implementing an OAuth2 Server/Provider 129 | - [passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication 130 | - [passwordless](https://github.com/florianheinemann/passwordless) - Module to authenticate users without password 131 | 132 | ### Validation 133 | - [is.js](https://github.com/arasatasaygin/is.js) - Micro check library 134 | - [joi](https://github.com/hapijs/joi) - Object schema validation 135 | - [validator.js](https://github.com/chriso/validator.js) - String validation and sanitization 136 | 137 | ### Security 138 | - [Credential](https://github.com/ericelliott/credential) - Password hashing and verification 139 | - [CSRF](http://www.senchalabs.org/connect/csrf.html) - CSRF protection middleware 140 | - [Helmet](https://github.com/helmetjs/helmet) - Middleware to help secure your Express/Connect apps 141 | - [NodeSecurity](https://github.com/nodesecurity) - The Node Security Project 142 | 143 | ### Headless Browser 144 | - [casperjs](http://casperjs.org/) - Navigation scripting & testing utility for PhantomJS and SlimerJS 145 | - [nightmarejs](http://www.nightmarejs.org/) - A high level wrapper for Phantomjs 146 | - [phantomjs](http://phantomjs.org/) - Headless WebKit scriptable with a JavaScript API 147 | - [puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome Node.js API 148 | - [slimerjs](http://slimerjs.org/) - Scriptable browser based on Gecko 149 | 150 | ### Internationalization 151 | - [i18n](https://github.com/mashpie/i18n-node) - Lightweight simple translation module 152 | - [i18n-abide](https://github.com/mozilla/i18n-abide) - connect module for i18n and l10n support 153 | - [Jed](https://github.com/SlexAxton/Jed) - Gettext Style i18n 154 | - [messageformat](https://github.com/SlexAxton/messageformat.js) - MessageFormat for Javascript - i18n Plural and Gender Capable Messages 155 | - [polyglot.js](https://github.com/airbnb/polyglot.js) - Give your JavaScript the ability to speak many languages 156 | 157 | ### General 158 | - [cheerio](https://github.com/cheeriojs/cheerio) - Implementation of core jQuery for the server 159 | - [del](https://github.com/sindresorhus/del) - Delete files/folders using globs 160 | - [fortune](http://fortunejs.com) - A framework for prototyping hypermedia APIs 161 | - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the fs object 162 | --------------------------------------------------------------------------------