From 455ce17e788ee36d98506a73f7275c2a12079ab5 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sat, 12 Sep 2015 02:04:51 +0300 Subject: [PATCH 001/399] Add `probe-image-size` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 125be991b..471695265 100644 --- a/readme.md +++ b/readme.md @@ -331,6 +331,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [lwip](https://github.com/EyalAr/lwip) - Lightweight image processor which does not require ImageMagick. - [pica](https://github.com/nodeca/pica) - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed. - [is-progressive](https://github.com/sindresorhus/is-progressive) - Check if a JPEG image is progressive. +- [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download. ### Text From 4ca6ef1d48258db9682f153f2b8dfd6e38b57f8c Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sat, 12 Sep 2015 09:36:15 +0300 Subject: [PATCH 002/399] Created "URL" section, #352 --- readme.md | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/readme.md b/readme.md index 471695265..4f0ae1288 100644 --- a/readme.md +++ b/readme.md @@ -28,6 +28,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Number](#number) - [Math](#math) - [Date](#date) +- [URL](#url) - [Data validation](#data-validation) - [Parsing](#parsing) - [Humanize](#humanize) @@ -341,8 +342,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [repeating](https://github.com/sindresorhus/repeating) - Repeat a string. - [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes. - [camelcase](https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar. -- [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL. -- [humanize-url](https://github.com/sindresorhus/humanize-url) - Humanize a URL: http://sindresorhus.com → sindresorhus.com. - [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) - Escape RegExp special characters. - [execall](https://github.com/sindresorhus/execall) - Find multiple RegExp matches in a string. - [splice-string](https://github.com/sindresorhus/splice-string) - Remove or replace part of a string like `Array#splice`. @@ -352,10 +351,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [he](https://github.com/mathiasbynens/he) - A robust HTML entity encoder/decoder. - [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage. - [babelfish](https://github.com/nodeca/babelfish/) - i18n with very easy syntax for plurals. -- [speakingurl](https://github.com/pid/speakingurl) - Generate a slug from a string with transliteration. -- [linkify-it](https://github.com/markdown-it/linkify-it) - Link patterns detector with full unicode support. - [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. -- [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings. ## Number @@ -381,6 +377,15 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. +### URL + +- [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL. +- [humanize-url](https://github.com/sindresorhus/humanize-url) - Humanize a URL: http://sindresorhus.com → sindresorhus.com. +- [speakingurl](https://github.com/pid/speakingurl) - Generate a slug from a string with transliteration. +- [linkify-it](https://github.com/markdown-it/linkify-it) - Link patterns detector with full unicode support. +- [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings. + + ### Data validation - [joi](https://github.com/spumko/joi) - Object schema description language and validator for JavaScript objects. From 1e024af065ac3a6ce299688c24529aeb05de10ed Mon Sep 17 00:00:00 2001 From: Stephen Sawchuk Date: Sun, 13 Sep 2015 19:56:23 -0400 Subject: [PATCH 003/399] Add `stream-faqs` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4f0ae1288..4fd757ddd 100644 --- a/readme.md +++ b/readme.md @@ -703,6 +703,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Cheatsheets - [Express.js](https://github.com/azat-co/cheatsheets/blob/master/express4/index.md) +- [Stream FAQs](https://github.com/stephenplusplus/stream-faqs) - Answering common questions about streams, covering pagination, events, and more. ### Tools From 48f03e0c6f93c57bfe346aa1cbedb6dbc507323e Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sun, 13 Sep 2015 12:01:09 +0300 Subject: [PATCH 004/399] Add `url-unshort` and `embedza` --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 4f0ae1288..cbac6a8f1 100644 --- a/readme.md +++ b/readme.md @@ -381,9 +381,11 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL. - [humanize-url](https://github.com/sindresorhus/humanize-url) - Humanize a URL: http://sindresorhus.com → sindresorhus.com. +- [url-unshort](https://github.com/nodeca/url-unshort) - Expand shortened URLs. - [speakingurl](https://github.com/pid/speakingurl) - Generate a slug from a string with transliteration. - [linkify-it](https://github.com/markdown-it/linkify-it) - Link patterns detector with full unicode support. - [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings. +- [embedza](https://github.com/nodeca/embedza) - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags. ### Data validation From 27ba60e098d907713068886b3c1d5a540ab4d6b8 Mon Sep 17 00:00:00 2001 From: Hyunje Alex Jun Date: Sun, 20 Sep 2015 02:42:57 +0900 Subject: [PATCH 005/399] Add pen, a Markdown previewer https://github.com/noraesae/pen --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6e0707979..e97a506ca 100644 --- a/readme.md +++ b/readme.md @@ -116,6 +116,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [rtail](https://github.com/kilianc/rtail) - Terminal output to the browser in seconds, using UNIX pipes. - [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. +- [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. ### Functional programming From a82203b7109abd83dc9c829f5e67442db72ab81a Mon Sep 17 00:00:00 2001 From: Anatoliy Gatt Date: Mon, 21 Sep 2015 13:05:46 +0700 Subject: [PATCH 006/399] Close #359 PR: Add StrongLoop Talks to Videos. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e97a506ca..f29b3efa2 100644 --- a/readme.md +++ b/readme.md @@ -679,6 +679,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals) - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. +- [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. ### Podcasts From faea0c2b1d0e01a558fe6254bbe4f7b5d3e90545 Mon Sep 17 00:00:00 2001 From: Chintan Radia Date: Wed, 23 Sep 2015 18:05:35 +0530 Subject: [PATCH 007/399] add subdownloader --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f29b3efa2..ea9fd3136 100644 --- a/readme.md +++ b/readme.md @@ -117,6 +117,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. +- [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. ### Functional programming From 9e06b09bd8098483043455575b82aa8147d5acf2 Mon Sep 17 00:00:00 2001 From: Carter Thaxton Date: Thu, 24 Sep 2015 14:37:27 -0700 Subject: [PATCH 008/399] Fix spelling of asynchronicity --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index ea9fd3136..b3ceb6d28 100644 --- a/readme.md +++ b/readme.md @@ -278,7 +278,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronousity. + - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. - [async-chainable](https://github.com/hash-bang/async-chainable) - Chainable, pluggable async functionality. - [after-all-results](https://github.com/watson/after-all-results) - Bundle results of async functions calls into one callback with all the results. - Generators From 650ce8a74410abb41ca88395402cb015e189e5b1 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 12:18:33 +0700 Subject: [PATCH 009/399] add AVA http://ava.li --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b3ceb6d28..622969ec7 100644 --- a/readme.md +++ b/readme.md @@ -469,6 +469,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Testing +- [AVA](http://ava.li) - Simple concurrent test runner. - [tape](https://github.com/substack/tape) - [TAP](http://testanything.org)-producing test harness. - [Mocha](http://mochajs.org/) - A feature-rich test framework making asynchronous testing simple and fun. - [Mochify](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver. From 3db2dbf11cc82f4cfabc8457d9f7f3d1a04c0ebc Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 12:19:16 +0700 Subject: [PATCH 010/399] =?UTF-8?q?io.js=20=E2=86=92=20Node.js?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 622969ec7..76a7c655b 100644 --- a/readme.md +++ b/readme.md @@ -524,14 +524,14 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [set-immediate-shim](https://github.com/sindresorhus/set-immediate-shim) - Simple `setImmediate()` ponyfill. - [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) - Node.js 0.12 `path.isAbsolute()` ponyfill. - [os-tmpdir](https://github.com/sindresorhus/os-tmpdir) - Node.js `os.tmpdir()` ponyfill. - - [os-homedir](https://github.com/sindresorhus/os-homedir) - io.js 2.3.0 `os.homedir()` ponyfill. + - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4.0 `os.homedir()` ponyfill. - [debug-log](https://github.com/sindresorhus/debug-log) - Node.js 0.12 `util.debuglog()` ponyfill. - [buffer-equals](https://github.com/sindresorhus/buffer-equals) - Node.js 0.12 `buffer.equals()` ponyfill. - - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - io.js 1.5.0 `buffer.indexOf()` ponyfill. + - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4.0 `buffer.indexOf()` ponyfill. - [buf-compare](https://github.com/sindresorhus/buf-compare) - Node.js 0.12 `Buffer.compare()` ponyfill. - [fs-access](https://github.com/sindresorhus/fs-access) - Node.js 0.12 `fs.access()` & `fs.accessSync()` ponyfill. - [exec-file-sync](https://github.com/sindresorhus/exec-file-sync) - Node.js 0.12 `childProcess.execFileSync()` ponyfill. - - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - io.js 2.2.0 `childProcess.ChildProcess` ponyfill. + - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4.0 `childProcess.ChildProcess` ponyfill. - [node-status-codes](https://github.com/sindresorhus/node-status-codes) - Node.js `http.STATUS_CODES` ponyfill. - [exit-code](https://github.com/isaacs/exit-code) - Node.js 0.12 `process.exitCode` polyfill. - JavaScript From 02ff1da80d4b01eb1bab8526cc52e2b78343d938 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 12:32:49 +0700 Subject: [PATCH 011/399] remove `Package Manager` category --- readme.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/readme.md b/readme.md index 76a7c655b..811be3d01 100644 --- a/readme.md +++ b/readme.md @@ -46,7 +46,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Process management](#process-management) - [Automation](#automation) - [AST](#ast) -- [Package managers](#package-managers) - [Static site generators](#static-site-generators) - [Content management systems](#content-management-systems) - [Forum](#forum) @@ -573,14 +572,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST. -### Package managers - -- [npm](https://github.com/npm/npm/) - A package manager for Node.js and the web. -- [jspm.io](http://jspm.io) - Frictionless browser package management with support for ES2015, CommonJS, AMD modules. -- [Duo](http://duojs.org) - A next-generation package manager for the front-end. -- [Bower](http://bower.io) - A package manager for the web. - - ### Static site generators - [Metalsmith](http://www.metalsmith.io) - An extremely simple, pluggable static site generator. From 35afafb74e1a02c8fc3f166ce227b723057ee7d0 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 12:33:35 +0700 Subject: [PATCH 012/399] minor tweaks --- readme.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/readme.md b/readme.md index 811be3d01..52700c3f2 100644 --- a/readme.md +++ b/readme.md @@ -78,7 +78,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots. - [trash](https://github.com/sindresorhus/trash) - A safer alternative to `rm`. - [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm. -- [xo](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style. +- [XO](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style. - [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping. - [np](https://github.com/sindresorhus/np) - A better `npm publish`. - [yo](https://github.com/yeoman/yo) - Run Yeoman generators. @@ -228,7 +228,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [nunjucks](https://github.com/mozilla/nunjucks) - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired). - [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. -- [Jade](https://github.com/visionmedia/jade) - High performance template engine heavily influenced by Haml. +- [Jade](https://github.com/visionmedia/jade) - High-performance template engine heavily influenced by Haml. ### Web frameworks @@ -240,10 +240,10 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* - [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API. - [Restify](http://mcavage.me/node-restify/) - A node framework built specifically to enable you to build correct REST web services. -- [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node, command-line and HTTP interface. +- [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. - [Derby](https://github.com/derbyjs/derby) - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. - [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. -- [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components and progressive rendering. +- [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. @@ -312,7 +312,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [stream-combiner2](https://github.com/substack/stream-combiner2) - Turn a pipeline into a single stream. - [readable-stream](https://github.com/isaacs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. - [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently. -- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream/) - Fast conversion/scaling of images using a pool of long lived graphicsmagick processes. +- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream/) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes. ### Real-time @@ -484,7 +484,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Benchmarking - [Benchmark.js](http://benchmarkjs.com) - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results. -- [matcha](https://github.com/logicalparadox/matcha) - A caffeine driven, simplistic approach to benchmarking. +- [matcha](https://github.com/logicalparadox/matcha) - A caffeine-driven, simplistic approach to benchmarking. ### Minifiers @@ -501,7 +501,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [everyauth](https://github.com/bnoguchi/everyauth) - Authentication and authorization (password, Facebook, etc) for your Connect and Express apps. - [passwordless](https://passwordless.net) - Token-based authentication middleware for Express allowing authentication without passwords. - [Lockit](https://github.com/zemirco/lockit) - Full featured authentication solution for Express. Supports a variety of databases, predefined routes, email and two-factor authentication. -- [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa and Hapi. +- [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. ### Email @@ -535,8 +535,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [exit-code](https://github.com/isaacs/exit-code) - Node.js 0.12 `process.exitCode` polyfill. - JavaScript - [object-assign](https://github.com/sindresorhus/object-assign) - ES2015 `Object.assign()` ponyfill. - - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - ES2015 `Promise` ponyfill. + - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. - [es6-shim](https://github.com/paulmillr/es6-shim) - Collection of ES2015 polyfills. - More ES2015 polyfills at [es6-tools](https://github.com/addyosmani/es6-tools#polyfills). From bca51a8387c691c3719dbfa7b4c7ddde3d8d8080 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 12:35:36 +0700 Subject: [PATCH 013/399] add `jimp` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 52700c3f2..83ae1bf6d 100644 --- a/readme.md +++ b/readme.md @@ -332,6 +332,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [gm](https://github.com/aheckmann/gm) - GraphicsMagick and ImageMagick wrapper. - [lwip](https://github.com/EyalAr/lwip) - Lightweight image processor which does not require ImageMagick. - [pica](https://github.com/nodeca/pica) - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed. +- [jimp](https://github.com/oliver-moran/jimp) - Image processing in pure JavaScript. - [is-progressive](https://github.com/sindresorhus/is-progressive) - Check if a JPEG image is progressive. - [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download. From 515253b8d9a2b8a315899636a3cbfcf83510e554 Mon Sep 17 00:00:00 2001 From: Ashik Nesin Date: Mon, 28 Sep 2015 12:44:30 +0700 Subject: [PATCH 014/399] add `Live Server` closes #362 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 83ae1bf6d..a207bf9e2 100644 --- a/readme.md +++ b/readme.md @@ -98,6 +98,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. - [http-server](https://github.com/nodeapps/http-server) - Simple, zero-config command-line HTTP server. +- [Live Server](https://github.com/tapio/live-server) - A simple development HTTP-server with livereload capability. - [bcat](https://github.com/kessler/node-bcat) - Pipe command output to web browsers. - [normit](https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal. - [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor. From 32bd26a139a534f4b8a6600985e22943053c3cba Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 28 Sep 2015 15:03:52 +0700 Subject: [PATCH 015/399] add some more Node.js ponyfills --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index a207bf9e2..b2f3061a1 100644 --- a/readme.md +++ b/readme.md @@ -535,6 +535,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4.0 `childProcess.ChildProcess` ponyfill. - [node-status-codes](https://github.com/sindresorhus/node-status-codes) - Node.js `http.STATUS_CODES` ponyfill. - [exit-code](https://github.com/isaacs/exit-code) - Node.js 0.12 `process.exitCode` polyfill. + - [core-assert](https://github.com/sindresorhus/core-assert) - Node.js `assert` as a standalone module. + - [deep-strict-equal](https://github.com/sindresorhus/deep-strict-equal) - Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module. - JavaScript - [object-assign](https://github.com/sindresorhus/object-assign) - ES2015 `Object.assign()` ponyfill. - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - ES2015 `Promise` ponyfill. From f11c5f43261c8e734446a6a8e1cdc266c3efba78 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 3 Oct 2015 22:57:44 +0700 Subject: [PATCH 016/399] add article "Mastering the filesystem in Node.js" by @yoshuawuyts --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index b2f3061a1..6d94c0167 100644 --- a/readme.md +++ b/readme.md @@ -662,7 +662,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Articles - [Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors) -- [Teach Yourself Node.JS in 10 Steps](http://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) +- [Teach Yourself Node.js in 10 Steps](http://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) +- [Mastering the filesystem in Node.js](https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801) ### Newsletters From 34c373d9c801d15025a61e832986abc49c177ad8 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Sun, 4 Oct 2015 11:26:08 +0200 Subject: [PATCH 017/399] Add trevor to Testing --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6d94c0167..311f20b89 100644 --- a/readme.md +++ b/readme.md @@ -481,6 +481,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. - [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. +- [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. ### Benchmarking From 2723bb679471ad8583291a84b7d68455ad613000 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 5 Oct 2015 23:50:36 +0700 Subject: [PATCH 018/399] Update contributing.md --- contributing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/contributing.md b/contributing.md index f7a8f5458..c523c70d2 100644 --- a/contributing.md +++ b/contributing.md @@ -8,6 +8,7 @@ Please ensure your pull request adheres to the following guidelines: - Use the following format: `[package](link) - Description.` - Additions should be added to the bottom of the relevant category. - New categories, or improvements to the existing categorization are welcome. +- Link to the GitHub repo, not npmjs.com. - Keep descriptions short and simple, but descriptive. - Don't mention `Node.js` in the description as it's implied. - Start the description with a capital and end with a full stop/period. From bddc1fbbff97a8c31a793b97bfa35c2d52e425f8 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Wed, 7 Oct 2015 11:14:07 +0200 Subject: [PATCH 019/399] Add console-log-level to Logging --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 311f20b89..00f4b58f4 100644 --- a/readme.md +++ b/readme.md @@ -169,6 +169,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [winston](https://github.com/flatiron/winston) - A multi-transport async logging library. - [Bunyan](https://github.com/trentm/node-bunyan) - A simple and fast JSON logging library. - [intel](https://seanmonstar.github.io/intel) - A comprehensive logging library (handlers, filters, formatters, console injection). +- [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. ### Command-line utilities From 33efad74114df3d6435d725032994b8093d10724 Mon Sep 17 00:00:00 2001 From: Uzzal Devkota Date: Wed, 7 Oct 2015 22:40:10 +0700 Subject: [PATCH 020/399] Close #368 PR: Add xml2js to parsing. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 311f20b89..a273da425 100644 --- a/readme.md +++ b/readme.md @@ -417,6 +417,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Stylecow](https://github.com/stylecow/stylecow) - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins. - [js-yaml](https://github.com/nodeca/js-yaml) - Very fast YAML parser. - [excel-stream](https://github.com/dominictarr/excel-stream) - Streaming Excel spreadsheet to JSON parser. +- [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. ### Humanize From 1ee35fd5a1af5f5a2c62c3b812a02f1a4c6654a4 Mon Sep 17 00:00:00 2001 From: Azat Mardan Date: Wed, 7 Oct 2015 18:35:23 -0700 Subject: [PATCH 021/399] add Pro Express.js add - [Pro Express.js](http://proexpressjs.com) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a273da425..b2417f5fd 100644 --- a/readme.md +++ b/readme.md @@ -694,6 +694,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Practical Node.js: Building Real-World Scalable Web Apps](http://practicalnodebook.com) - [Mixu's Node book](http://book.mixu.net/node/) - [Web Development with Node and Express](http://shop.oreilly.com/product/0636920032977.do) +- [Pro Express.js](http://proexpressjs.com) ### Blogs From fe2cbd5f07b167551dd23246dc4d7d9c3deed003 Mon Sep 17 00:00:00 2001 From: Mahdi Dibaiee Date: Fri, 9 Oct 2015 03:37:15 +0700 Subject: [PATCH 022/399] Close #363 PR: Add locus to debugging tools. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b2417f5fd..a5f0cb5cb 100644 --- a/readme.md +++ b/readme.md @@ -162,6 +162,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [vstream](https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams. - [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies. - [TraceGL](https://github.com/traceglMPL/tracegl) - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens. +- [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. ### Logging From 152e5fe26cb7dc47ec9ec533ef11753492dddfa4 Mon Sep 17 00:00:00 2001 From: dc Date: Fri, 9 Oct 2015 14:19:50 -0700 Subject: [PATCH 023/399] Added Vorpal I was going to add this later on as it matured, but it's currently trending in the top 5 on HN, so thought now would be a good time, if that's okay with you. :) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a5f0cb5cb..f42df024b 100644 --- a/readme.md +++ b/readme.md @@ -118,6 +118,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. +- [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. ### Functional programming From eb6f83162858d24b9fc4deb4a2e30db55cec698c Mon Sep 17 00:00:00 2001 From: Azat Mardan Date: Sun, 11 Oct 2015 13:47:29 +0700 Subject: [PATCH 024/399] Close #370 PR: add webapplog.com/tag/node-js. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f42df024b..9522c34ba 100644 --- a/readme.md +++ b/readme.md @@ -702,6 +702,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Node.js blog](http://blog.nodejs.org) - [HowToNode](http://howtonode.org) - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code. +- [webapplog.com](http://webapplog.com/tag/node-js/) — Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan. ### Courses From 2f03d4ace28196a9f4906cbc249379e4b45bbe22 Mon Sep 17 00:00:00 2001 From: Sergio Lepore Date: Thu, 15 Oct 2015 16:01:23 -0300 Subject: [PATCH 025/399] Add limdu Machine-learning for Node.js --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6aaa5b7a0..bc3405727 100644 --- a/readme.md +++ b/readme.md @@ -71,6 +71,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [NodeOS](http://node-os.com) - The first operating system powered by npm. +- [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. ### Command-line apps From d20be0096627319d3109b7783f15b40e0adc1e50 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 16 Oct 2015 15:20:57 +0700 Subject: [PATCH 026/399] add RequireBin and Tonic --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index bc3405727..5f938987a 100644 --- a/readme.md +++ b/readme.md @@ -719,6 +719,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [GitHub Linker](https://chrome.google.com/webstore/detail/github-linker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub. - [npm-hub](https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme. +- [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. +- [Tonic](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. ### Miscellaneous From 2c1baf721a0508df2f4c5ebde78b4f3a6c04517f Mon Sep 17 00:00:00 2001 From: Charlie Date: Fri, 16 Oct 2015 15:35:04 +0700 Subject: [PATCH 027/399] Close #379 PR: add email.js to the Email Category. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5f938987a..949bcd6ab 100644 --- a/readme.md +++ b/readme.md @@ -515,6 +515,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Email - [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email. +- [emailjs](https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server. ### Node.js management From a184f97f61b8368da635a992e3575c5a672f3b24 Mon Sep 17 00:00:00 2001 From: Max Franz Date: Tue, 20 Oct 2015 00:54:14 +0700 Subject: [PATCH 028/399] add Cytoscape.js closes #376 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 949bcd6ab..5cd976ee8 100644 --- a/readme.md +++ b/readme.md @@ -72,6 +72,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [NodeOS](http://node-os.com) - The first operating system powered by npm. - [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. +- [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. ### Command-line apps From 49e7b5020195237a870361e651d6a9cbf41829b5 Mon Sep 17 00:00:00 2001 From: Alexander Zhukov Date: Thu, 22 Oct 2015 02:11:02 +0700 Subject: [PATCH 029/399] Close #381 PR: Add `iponmap` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5cd976ee8..fcf136708 100644 --- a/readme.md +++ b/readme.md @@ -121,6 +121,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. - [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. +- [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. ### Functional programming From f84a56bfbcab8c4d241533a25562b77752de6241 Mon Sep 17 00:00:00 2001 From: Denis Demchenko Date: Sun, 25 Oct 2015 18:35:25 +0300 Subject: [PATCH 030/399] Add The Node Way as a tutorial --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fcf136708..92b1ad114 100644 --- a/readme.md +++ b/readme.md @@ -663,6 +663,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams. - [browserify-handbook](https://github.com/substack/browserify-handbook) - The definitive guide for browserify. - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. +- [The Node Way](http://thenodeway.io) — 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. ### Discovery From 7a91fa106b7bb6d44a5e8491a5acaa150ee02512 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 26 Oct 2015 14:17:46 +0700 Subject: [PATCH 031/399] Update readme.md --- readme.md | 54 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 31 insertions(+), 23 deletions(-) diff --git a/readme.md b/readme.md index 92b1ad114..4e75245af 100644 --- a/readme.md +++ b/readme.md @@ -65,9 +65,9 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library. -- [Bitcore](http://bitcore.io/) - A pure and powerful Bitcoin library. +- [Bitcore](http://bitcore.io) - A pure and powerful Bitcoin library. - [PDFKit](http://pdfkit.org) - PDF generation library. -- [turf](https://github.com/Turfjs/turf/) - Modular geospatial processing and analysis engine. +- [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [NodeOS](http://node-os.com) - The first operating system powered by npm. @@ -96,7 +96,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [is-up](https://github.com/sindresorhus/is-up) - Check whether a website is up or down. - [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up. - [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address. -- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the Dark Mode in OS X 10.10 from the command-line. +- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the OS X Dark Mode. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. - [http-server](https://github.com/nodeapps/http-server) - Simple, zero-config command-line HTTP server. @@ -120,7 +120,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. -- [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. @@ -134,8 +133,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. - [Mout](http://moutjs.com) - 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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. -- [RxJS](http://reactivex.io/) - Functional reactive library for transforming, composing, and querying various kinds of data. -- [Lazy.js](https://github.com/dtao/lazy.js/) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. +- [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. +- [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. ### HTTP @@ -196,6 +195,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it. - [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run. - [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ +- [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. - [blessed](https://github.com/chjj/blessed) - A curses-like library. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. - [cli-table](https://github.com/LearnBoost/cli-table) - Pretty unicode tables. @@ -211,12 +211,12 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Build tools - [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. -- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Broccoli](https://github.com/broccolijs/broccoli) - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way. - [webpack](https://github.com/webpack/webpack) - Packs CommonJS/AMD modules for the browser. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. +- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. ### Hardware @@ -224,15 +224,15 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [johnny-five](https://github.com/rwaldron/johnny-five) - Firmata based Arduino Framework. - [serialport](https://github.com/voodootikigod/node-serialport) - Access serial ports for reading and writing. - [usb](https://github.com/nonolith/node-usb) - USB library. -- [cylon.js](http://cylonjs.com/) - Next generation robotics framework with support for 26 different platforms. +- [cylon.js](http://cylonjs.com) - Next generation robotics framework with support for 26 different platforms. - [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access. ### Templating -- [handlebars.js](https://github.com/wycats/handlebars.js/) - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks. - [marko](https://github.com/marko-js/marko) - A fast and lightweight HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. - [nunjucks](https://github.com/mozilla/nunjucks) - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired). +- [handlebars.js](https://github.com/wycats/handlebars.js) - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks. - [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. - [Jade](https://github.com/visionmedia/jade) - High-performance template engine heavily influenced by Haml. @@ -253,7 +253,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. - ### Documentation - [Docco](http://jashkenas.github.io/docco/) - A quick-and-dirty documentation generator which produces an HTML document that displays your comments intermingled with your code. @@ -272,16 +271,24 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [mkdirp](https://github.com/substack/node-mkdirp) - Recursively create directories like `mkdir -p`. - [graceful-fs](https://github.com/isaacs/node-graceful-fs) - Drop-in replacement for the `fs` module with various improvements. - [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on OS X. +- [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories. +- [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file. +- [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically. - [fs-write-stream-atomic](https://github.com/npm/fs-write-stream-atomic) - Like `fs.createWriteStream()`, but atomic. - [filenamify](https://github.com/sindresorhus/filenamify) - Convert a string to a valid filename. - [lnfs](https://github.com/kevva/lnfs) - Force create symlinks like `ln -fs`. - [istextorbinary](https://github.com/bevry/istextorbinary) - Check if a file is text or binary. - [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use. - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. +- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of a npm package. ### Control flow +- Promises + - [Bluebird](https://github.com/petkaantonov/bluebird) - A fully featured promise library with focus on innovative features and performance. + - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Promise ponyfill. + - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. @@ -291,9 +298,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [co](https://github.com/visionmedia/co) - The ultimate generator based flow-control goodness. - [suspend](https://github.com/jmar777/suspend) - Generator-based control flow that plays nice with callbacks, promises, and thunks. - [bluebird-co](https://github.com/novacrazy/bluebird-co) - A set of high performance yield handlers for Bluebird coroutines. -- Promises - - [Bluebird](https://github.com/petkaantonov/bluebird) - A fully featured promise library with focus on innovative features and performance. - - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Promise ponyfill. - Streams - [Highland.js](http://highlandjs.org) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams. - Channels @@ -306,6 +310,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [through2](https://github.com/rvagg/through2) - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise. - [from2](https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, inspired by `through2`. +- [get-stream](https://github.com/sindresorhus/get-stream) - Get a stream as a string or buffer. - [concat-stream](https://github.com/maxogden/concat-stream) - Concatenates a stream into strings or binary data. - [into-stream](https://github.com/sindresorhus/into-stream) - Convert a buffer/string/array/object into a stream. - [duplexify](https://github.com/mafintosh/duplexify) - Turn a writeable and readable stream into a single streams2 duplex stream. @@ -319,14 +324,14 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [stream-combiner2](https://github.com/substack/stream-combiner2) - Turn a pipeline into a single stream. - [readable-stream](https://github.com/isaacs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. - [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently. -- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream/) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes. +- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes. ### Real-time - [Socket.io](http://socket.io) - Enables real-time bidirectional event-based communication. - [SockJS](https://github.com/sockjs/sockjs-node) - Low latency, full duplex, cross-domain channel browser-server, with WebSockets or without. -- [Faye](http://faye.jcoglan.com/) - Real-time client-server message bus, based on Bayeux protocol. +- [Faye](http://faye.jcoglan.com) - Real-time client-server message bus, based on Bayeux protocol. - [SocketCluster](https://github.com/topcloud/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. @@ -410,6 +415,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [parse5](https://github.com/inikulin/parse5) - Fast full-featured spec compliant HTML parser. - [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON. - [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS. +- [parse-json](https://github.com/sindresorhus/parse-json) - Parse JSON with more helpful errors. - [URI.js](https://github.com/medialize/URI.js) - URL mutation. - [PostCSS](https://github.com/postcss/postcss) - CSS parser / stringifier. - [JSONStream](https://github.com/dominictarr/JSONStream) - Streaming JSON.parse and stringify. @@ -477,10 +483,12 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Testing -- [AVA](http://ava.li) - Simple concurrent test runner. -- [tape](https://github.com/substack/tape) - [TAP](http://testanything.org)-producing test harness. -- [Mocha](http://mochajs.org/) - A feature-rich test framework making asynchronous testing simple and fun. +- [AVA](https://ava.li) - Futuristic test runner. +- [tap](https://github.com/isaacs/node-tap) - A TAP test framework. +- [tape](https://github.com/substack/tape) - TAP-producing test harness. +- [Mocha](http://mochajs.org) - A feature-rich test framework making asynchronous testing simple and fun. - [Mochify](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver. +- [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. - [istanbul](https://github.com/gotwarlost/istanbul) - A code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. - [Sinon.JS](https://github.com/cjohansen/Sinon.JS) - Test spies, stubs and mocks. @@ -488,7 +496,6 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. - [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. -- [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. ### Benchmarking @@ -564,12 +571,12 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Process management +- [PM2](https://github.com/Unitech/pm2) - Advanced Process Manager. - [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. - [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app. - [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog. - [forever](https://github.com/nodejitsu/forever) - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). - [supervisor](https://github.com/isaacs/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. -- [PM2](https://github.com/Unitech/pm2) - Advanced Process Manager. - [Phusion Passenger](https://www.phusionpassenger.com/node_weekly) - Friendly process manager that integrates directly into Nginx. - [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. @@ -581,7 +588,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### AST -- [Acorn](https://github.com/marijnh/acorn/) - A tiny, fast JavaScript parser. +- [Acorn](https://github.com/marijnh/acorn) - A tiny, fast JavaScript parser. - [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST. @@ -633,6 +640,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [require-uncached](https://github.com/sindresorhus/require-uncached) - Require a module bypassing the cache. - [stringify-object](https://github.com/yeoman/stringify-object) - Stringify an object/array like JSON.stringify just without all the double-quotes. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. +- [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()`. - [shelljs](https://github.com/arturadib/shelljs) - Portable Unix shell commands. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. - [nan](https://github.com/rvagg/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. @@ -642,7 +650,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. - [Bottleneck](https://github.com/SGrondin/bottleneck) - A powerful rate limiter that makes throttling easy. - [webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads. -- [node-pre-gyp](https://github.com/mapbox/node-pre-gyp/) - Makes it easy to publish and install Node.js C++ addons from binaries. +- [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries. - [opencv](https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library. - [common-errors](https://github.com/shutterstock/node-common-errors) - Common error classes and utility functions. - [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. @@ -667,7 +675,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Discovery -- [node-modules.com](http://node-modules.com/) - An alternative npm search engine with a more intelligent and personal results ranking. +- [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking. ### Articles From b51e98fbdb38703e86d02546edf22c33f15c4801 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 26 Oct 2015 14:19:58 +0700 Subject: [PATCH 032/399] add `nyc` by @bcoe --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4e75245af..02a1dc418 100644 --- a/readme.md +++ b/readme.md @@ -491,6 +491,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. - [istanbul](https://github.com/gotwarlost/istanbul) - A code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. +- [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses. - [Sinon.JS](https://github.com/cjohansen/Sinon.JS) - Test spies, stubs and mocks. - [navit](https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting. - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. From 7519cac837f794f43cac44f54dfe3f095f79c34e Mon Sep 17 00:00:00 2001 From: Rahul J Date: Fri, 30 Oct 2015 09:05:25 +0700 Subject: [PATCH 033/399] Close #385 PR: add `nodemon`. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 02a1dc418..acf726324 100644 --- a/readme.md +++ b/readme.md @@ -577,6 +577,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app. - [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog. - [forever](https://github.com/nodejitsu/forever) - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). +- [nodemon](https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server. - [supervisor](https://github.com/isaacs/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. - [Phusion Passenger](https://www.phusionpassenger.com/node_weekly) - Friendly process manager that integrates directly into Nginx. - [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. From 1a301246db0b7ae98d3ea7e9496c79d88de2af02 Mon Sep 17 00:00:00 2001 From: Steven Bock Date: Sat, 31 Oct 2015 01:46:38 +0700 Subject: [PATCH 034/399] Close #386 PR: Add a video series for beginners. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index acf726324..4778192b0 100644 --- a/readme.md +++ b/readme.md @@ -698,6 +698,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. - [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. +- [thenewboston's Node.js for Beginners](https://www.thenewboston.com/videos.php?cat=355) ### Podcasts From 8fee4e9cf714a542813fc72eb3df98672ee02489 Mon Sep 17 00:00:00 2001 From: Richard Littauer Date: Sun, 1 Nov 2015 10:33:44 -0500 Subject: [PATCH 035/399] Added section on updating a PR --- contributing.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/contributing.md b/contributing.md index c523c70d2..052b5a443 100644 --- a/contributing.md +++ b/contributing.md @@ -17,3 +17,7 @@ Please ensure your pull request adheres to the following guidelines: - The pull request should have a useful title and include a link to the package and why it should be included. Thank you for your suggestions! + +### Updating your PR + +A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/docs/blob/master/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. From 921a6aa4b467bbf595187c1f6ec61c19ca4e7b89 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 2 Nov 2015 00:39:57 +0700 Subject: [PATCH 036/399] readme tweaks --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 4778192b0..052089157 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,8 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. +**Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** + ## Packages From 0afbd8c97ca0b037ac5390bcfb80177cfa3023b8 Mon Sep 17 00:00:00 2001 From: Alejandro Oviedo Date: Mon, 2 Nov 2015 23:05:04 +0700 Subject: [PATCH 037/399] Close #389 PR: add `nodegit`. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 052089157..4f3a66db0 100644 --- a/readme.md +++ b/readme.md @@ -664,6 +664,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [nar](https://github.com/h2non/nar) - Create self-contained executable binaries. - [node-bell](https://github.com/eleme/node-bell) - Real-time anomalies detection for periodic time series. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. +- [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. ## Resources From 02c3761534ca522d29681cffff9b786a487e3bea Mon Sep 17 00:00:00 2001 From: Jacob Blakely Date: Mon, 2 Nov 2015 17:23:24 -0800 Subject: [PATCH 038/399] add hanging-indent --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4f3a66db0..9cfbde9d7 100644 --- a/readme.md +++ b/readme.md @@ -368,6 +368,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage. - [babelfish](https://github.com/nodeca/babelfish/) - i18n with very easy syntax for plurals. - [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. +- [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. ## Number From 0ffabae3a324f4125e128ebd398532d51bfcb01d Mon Sep 17 00:00:00 2001 From: Nadeem Shabir Date: Wed, 4 Nov 2015 14:28:37 +0700 Subject: [PATCH 039/399] Close #391 PR: add jsome. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 9cfbde9d7..583947282 100644 --- a/readme.md +++ b/readme.md @@ -123,6 +123,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. +- [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. ### Functional programming From 3df4b16420d48ab46dc5084b3f867093758035be Mon Sep 17 00:00:00 2001 From: frankenbot Date: Wed, 4 Nov 2015 19:54:36 -0800 Subject: [PATCH 040/399] Update redirects --- readme.md | 80 +++++++++++++++++++++++++++---------------------------- 1 file changed, 40 insertions(+), 40 deletions(-) diff --git a/readme.md b/readme.md index 583947282..358ad0acf 100644 --- a/readme.md +++ b/readme.md @@ -62,12 +62,12 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [GitTorrent](https://github.com/cjb/GitTorrent) - Peer-to-peer network of Git repositories being shared over BitTorrent. - [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client. - [dat](http://dat-data.com) - Real-time replication and versioning for data sets. -- [ipfs](https://github.com/jbenet/node-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. +- [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. - [stackgl](http://stack.gl) - Open software ecosystem for WebGL, built on top of browserify and npm. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library. -- [Bitcore](http://bitcore.io) - A pure and powerful Bitcoin library. +- [Bitcore](https://bitcore.io/) - A pure and powerful Bitcoin library. - [PDFKit](http://pdfkit.org) - PDF generation library. - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. @@ -101,7 +101,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the OS X Dark Mode. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. -- [http-server](https://github.com/nodeapps/http-server) - Simple, zero-config command-line HTTP server. +- [http-server](https://github.com/indexzero/http-server) - Simple, zero-config command-line HTTP server. - [Live Server](https://github.com/tapio/live-server) - A simple development HTTP-server with livereload capability. - [bcat](https://github.com/kessler/node-bcat) - Pipe command output to web browsers. - [normit](https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal. @@ -128,11 +128,11 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Functional programming -- [lodash](http://lodash.com) - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. +- [lodash](https://lodash.com/) - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. - [mori](http://swannodette.github.io/mori/) - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. - [Ramda](http://ramdajs.com) - A utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. -- [Folktale](http://folktale.github.io) - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. +- [Folktale](http://folktalejs.org/) - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. - [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. - [Mout](http://moutjs.com) - 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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. @@ -144,7 +144,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [got](https://github.com/sindresorhus/got) - A nicer interface to the built-in `http` module. - [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API. -- [request](https://github.com/mikeal/request) - Simplified HTTP request client. +- [request](https://github.com/request/request) - Simplified HTTP request client. - [Nock](https://github.com/pgte/nock) - A HTTP mocking and expectations library. - [hyperquest](https://github.com/substack/hyperquest) - Streaming HTTP requests. - [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too). @@ -173,15 +173,15 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Logging -- [winston](https://github.com/flatiron/winston) - A multi-transport async logging library. +- [winston](https://github.com/winstonjs/winston) - A multi-transport async logging library. - [Bunyan](https://github.com/trentm/node-bunyan) - A simple and fast JSON logging library. -- [intel](https://seanmonstar.github.io/intel) - A comprehensive logging library (handlers, filters, formatters, console injection). +- [intel](http://seanmonstar.github.io/intel/) - A comprehensive logging library (handlers, filters, formatters, console injection). - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. ### Command-line utilities -- [chalk](https://github.com/sindresorhus/chalk) - Terminal string styling done right. +- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right. - [meow](https://github.com/sindresorhus/meow) - CLI app helper. - [minimist](https://github.com/substack/minimist) - Parse command-line flags. - [get-stdin](https://github.com/sindresorhus/get-stdin) - Easier stdin. @@ -201,11 +201,11 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. - [blessed](https://github.com/chjj/blessed) - A curses-like library. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. -- [cli-table](https://github.com/LearnBoost/cli-table) - Pretty unicode tables. +- [cli-table](https://github.com/Automattic/cli-table) - Pretty unicode tables. - [drawille](https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters. - [googleauth](https://github.com/maxogden/googleauth) - Create and load persistent Google authentication tokens for command-line apps. - [ascii-charts](https://github.com/jstrace/chart) - ASCII bar chart in the terminal. -- [progress](https://github.com/visionmedia/node-progress) - Flexible ascii progress bar. +- [progress](https://github.com/tj/node-progress) - Flexible ascii progress bar. - [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor. - [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. - [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console. @@ -238,7 +238,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [handlebars.js](https://github.com/wycats/handlebars.js) - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks. - [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. -- [Jade](https://github.com/visionmedia/jade) - High-performance template engine heavily influenced by Haml. +- [Jade](https://github.com/jadejs/jade) - High-performance template engine heavily influenced by Haml. ### Web frameworks @@ -249,7 +249,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources. - [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* - [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API. -- [Restify](http://mcavage.me/node-restify/) - A node framework built specifically to enable you to build correct REST web services. +- [Restify](http://restify.com) - A node framework built specifically to enable you to build correct REST web services. - [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. - [Derby](https://github.com/derbyjs/derby) - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. - [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. @@ -260,7 +260,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Docco](http://jashkenas.github.io/docco/) - A quick-and-dirty documentation generator which produces an HTML document that displays your comments intermingled with your code. - [JSDoc](http://usejsdoc.org) - API documentation generator similar to JavaDoc or PHPDoc. -- [dox](https://github.com/visionmedia/dox) - JavaScript documentation generator using Markdown and JSDoc. +- [dox](https://github.com/tj/dox) - JavaScript documentation generator using Markdown and JSDoc. - [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator. - [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs. @@ -298,7 +298,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [async-chainable](https://github.com/hash-bang/async-chainable) - Chainable, pluggable async functionality. - [after-all-results](https://github.com/watson/after-all-results) - Bundle results of async functions calls into one callback with all the results. - Generators - - [co](https://github.com/visionmedia/co) - The ultimate generator based flow-control goodness. + - [co](https://github.com/tj/co) - The ultimate generator based flow-control goodness. - [suspend](https://github.com/jmar777/suspend) - Generator-based control flow that plays nice with callbacks, promises, and thunks. - [bluebird-co](https://github.com/novacrazy/bluebird-co) - A set of high performance yield handlers for Bluebird coroutines. - Streams @@ -325,7 +325,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [pad-stream](https://github.com/sindresorhus/pad-stream) - Pad each line in a stream. - [multistream](https://github.com/feross/multistream) - Combine multiple streams into a single stream. - [stream-combiner2](https://github.com/substack/stream-combiner2) - Turn a pipeline into a single stream. -- [readable-stream](https://github.com/isaacs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. +- [readable-stream](https://github.com/nodejs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. - [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently. - [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes. @@ -335,7 +335,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Socket.io](http://socket.io) - Enables real-time bidirectional event-based communication. - [SockJS](https://github.com/sockjs/sockjs-node) - Low latency, full duplex, cross-domain channel browser-server, with WebSockets or without. - [Faye](http://faye.jcoglan.com) - Real-time client-server message bus, based on Bayeux protocol. -- [SocketCluster](https://github.com/topcloud/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. +- [SocketCluster](https://github.com/SocketCluster/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. @@ -382,7 +382,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Math -- [ndarray](https://github.com/mikolalysenko/ndarray) - Multidimensional arrays. +- [ndarray](https://github.com/scijs/ndarray) - Multidimensional arrays. - [mathjs](https://github.com/josdejong/mathjs) - An extensive math library. - [math-sum](https://github.com/sindresorhus/math-sum) - Sum numbers. - [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number. @@ -408,7 +408,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Data validation -- [joi](https://github.com/spumko/joi) - Object schema description language and validator for JavaScript objects. +- [joi](https://github.com/hapijs/joi) - Object schema description language and validator for JavaScript objects. - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast. @@ -425,7 +425,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [JSONStream](https://github.com/dominictarr/JSONStream) - Streaming JSON.parse and stringify. - [csv-parser](https://github.com/mafintosh/csv-parser) - Streaming CSV parser that aims to be faster than everyone else. - [neat-csv](https://github.com/sindresorhus/neat-csv) - Fast CSV parser. Callback interface for the above. -- [PEG.js](https://github.com/dmajda/pegjs) - Simple parser generator that produces fast parsers with excellent error reporting. +- [PEG.js](https://github.com/pegjs/pegjs) - Simple parser generator that produces fast parsers with excellent error reporting. - [x-ray](https://github.com/lapwinglabs/x-ray) - A web scraping utility to see through the `` noise. - [nearley](https://github.com/Hardmath123/nearley) - Simple, fast, powerful parsing for JavaScript. - [binary-extract](https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of JSON without parsing the whole thing. @@ -440,7 +440,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [pretty-bytes](https://github.com/sindresorhus/pretty-bytes) - Convert bytes to a human readable string: `1337` → `1.34 kB`. - [pretty-ms](https://github.com/sindresorhus/pretty-ms) - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`. -- [ms](https://github.com/guille/ms.js) - Tiny millisecond conversion utility. +- [ms](https://github.com/rauchg/ms.js) - Tiny millisecond conversion utility. - [pretty-error](https://github.com/AriaMinaei/pretty-error) - Errors with less clutter. - [humanize](https://github.com/taijinlee/humanize) - Data formatter for human readability. - [read-art](https://github.com/Tjatse/node-readability) - Extract readable content from any page. @@ -448,7 +448,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Compression -- [Archiver](https://github.com/ctalkington/node-archiver) - Streaming interface for archive generation, supporting ZIP and TAR. +- [Archiver](https://github.com/archiverjs/node-archiver) - Streaming interface for archive generation, supporting ZIP and TAR. - [decompress-zip](https://github.com/bower/decompress-zip) - Unzip. - [pako](https://github.com/nodeca/pako) - High speed zlib port to pure js (deflate, inflate, gzip). - [tar-stream](https://github.com/mafintosh/tar-stream) - Streaming tar parser and generator. Also see [tar-fs](https://github.com/mafintosh/tar-fs). @@ -465,7 +465,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Database - Drivers - - [LevelUP](https://github.com/rvagg/node-levelup) - LevelDB. + - [LevelUP](https://github.com/Level/levelup) - LevelDB. - [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver. - [PostgreSQL](https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings. - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. @@ -496,7 +496,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. - [istanbul](https://github.com/gotwarlost/istanbul) - A code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. - [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses. -- [Sinon.JS](https://github.com/cjohansen/Sinon.JS) - Test spies, stubs and mocks. +- [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs and mocks. - [navit](https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting. - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. - [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. @@ -512,9 +512,9 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Minifiers - [UglifyJS2](http://lisperator.net/uglifyjs/) - JavaScript minifier. -- [clean-css](https://github.com/GoalSmashers/clean-css) - CSS minifier. -- [minimize](https://github.com/Moveo/minimize) - HTML minifier. -- [imagemin](https://github.com/kevva/imagemin) - Image minifier. +- [clean-css](https://github.com/jakubpawlowicz/clean-css) - CSS minifier. +- [minimize](https://github.com/Swaagie/minimize) - HTML minifier. +- [imagemin](https://github.com/imagemin/imagemin) - Image minifier. ### Authentication @@ -534,7 +534,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Node.js management -- [n](https://github.com/visionmedia/n) - Node.js version management. +- [n](https://github.com/tj/n) - Node.js version management. - [nave](https://github.com/isaacs/nave) - Virtual Environments for Node.js. - [nodeenv](https://github.com/ekalinin/nodeenv) - A Node.js virtual environment compatible to Python's virtualenv. - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. @@ -580,9 +580,9 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. - [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app. - [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog. -- [forever](https://github.com/nodejitsu/forever) - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). +- [forever](https://github.com/foreverjs/forever) - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). - [nodemon](https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server. -- [supervisor](https://github.com/isaacs/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. +- [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. - [Phusion Passenger](https://www.phusionpassenger.com/node_weekly) - Friendly process manager that integrates directly into Nginx. - [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. @@ -594,7 +594,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### AST -- [Acorn](https://github.com/marijnh/acorn) - A tiny, fast JavaScript parser. +- [Acorn](https://github.com/ternjs/acorn) - A tiny, fast JavaScript parser. - [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST. @@ -621,7 +621,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Blogging - [ghost](https://ghost.org) - Simple, powerful publishing platform that allows you to share your story with the world. -- [Hexo](http://hexo.io) - Fast, simple and powerful blogging framework. +- [Hexo](https://hexo.io/) - Fast, simple and powerful blogging framework. ### Weird @@ -647,9 +647,9 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [stringify-object](https://github.com/yeoman/stringify-object) - Stringify an object/array like JSON.stringify just without all the double-quotes. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. - [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()`. -- [shelljs](https://github.com/arturadib/shelljs) - Portable Unix shell commands. +- [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. -- [nan](https://github.com/rvagg/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. +- [nan](https://github.com/nodejs/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. - [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. - [ssh2](https://github.com/mscdex/ssh2) - An SSH2 client module. - [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily. @@ -662,9 +662,9 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. - [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file. - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. -- [semver](https://github.com/isaacs/node-semver) - [semver](http://semver.org) parser. +- [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. - [nar](https://github.com/h2non/nar) - Create self-contained executable binaries. -- [node-bell](https://github.com/eleme/node-bell) - Real-time anomalies detection for periodic time series. +- [node-bell](https://github.com/eleme/bell.js) - Real-time anomalies detection for periodic time series. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. @@ -687,7 +687,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Articles - [Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors) -- [Teach Yourself Node.js in 10 Steps](http://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) +- [Teach Yourself Node.js in 10 Steps](https://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) - [Mastering the filesystem in Node.js](https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801) ### Newsletters @@ -698,7 +698,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) -- [LearnAllTheNodes](http://www.learnallthenodes.com) - Series of useful tips, tricks, and packages. +- [LearnAllTheNodes](https://www.learnallthenodes.com/) - Series of useful tips, tricks, and packages. - [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals) - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. @@ -722,13 +722,13 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Blogs -- [Node.js blog](http://blog.nodejs.org) +- [Node.js blog](https://nodejs.org/en/blog/) - [HowToNode](http://howtonode.org) - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code. - [webapplog.com](http://webapplog.com/tag/node-js/) — Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan. ### Courses -- [Real Time Web with Node.js](http://node.codeschool.com) +- [Real Time Web with Node.js](http://campus.codeschool.com/auth/codeschool) ### Cheatsheets From b06c62ae5065f2eb70fd5f0f9393892aca35703a Mon Sep 17 00:00:00 2001 From: Jacob Blakely Date: Fri, 6 Nov 2015 15:59:07 -0800 Subject: [PATCH 041/399] add multispinner --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 358ad0acf..056182d2e 100644 --- a/readme.md +++ b/readme.md @@ -209,6 +209,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor. - [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. - [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console. +- [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners. ### Build tools From 19d978748d248039e3aef2495e92531dd183676b Mon Sep 17 00:00:00 2001 From: dc Date: Sun, 8 Nov 2015 15:07:13 +0700 Subject: [PATCH 042/399] Close #394 PR: add itunes-remote --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 056182d2e..103456712 100644 --- a/readme.md +++ b/readme.md @@ -124,6 +124,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. - [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. +- [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. ### Functional programming From b1c083c3a11a549dd280b1096a809edee97280c5 Mon Sep 17 00:00:00 2001 From: Vahid Hallaji Date: Wed, 11 Nov 2015 23:20:22 +0330 Subject: [PATCH 043/399] Add a course link Anthony Alicea is an excellent instructor and his course has 356 reviews with 4.9 average rating and 8915 students (me too) enrolled in course up to this commit time. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 103456712..7d93cae42 100644 --- a/readme.md +++ b/readme.md @@ -731,6 +731,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Courses - [Real Time Web with Node.js](http://campus.codeschool.com/auth/codeschool) +- [Learn and Understand Node.js](https://www.udemy.com/understand-nodejs) ### Cheatsheets From b408a89b5159283ed12104d4e14324bb8717939c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matija=20Marohni=C4=87?= Date: Fri, 20 Nov 2015 02:40:39 +0100 Subject: [PATCH 044/399] Extend webpack's description --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 7d93cae42..55ff516c9 100644 --- a/readme.md +++ b/readme.md @@ -218,7 +218,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. - [Broccoli](https://github.com/broccolijs/broccoli) - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way. -- [webpack](https://github.com/webpack/webpack) - Packs CommonJS/AMD modules for the browser. +- [webpack](https://github.com/webpack/webpack) - Packs CommonJS/AMD modules, styles, images, fonts and other assets for the browser. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. From 1920f97d7d236b4e0eff4a87acccc4c70bfc25c3 Mon Sep 17 00:00:00 2001 From: vaibhav Date: Mon, 23 Nov 2015 23:14:07 +0700 Subject: [PATCH 045/399] Close #398 PR: add new resource 'nodetuts' in videos section. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 55ff516c9..4bf74a4de 100644 --- a/readme.md +++ b/readme.md @@ -706,6 +706,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. - [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. - [thenewboston's Node.js for Beginners](https://www.thenewboston.com/videos.php?cat=355) +- [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. ### Podcasts From a3ba4c240596f9104934a57327a004b283a81617 Mon Sep 17 00:00:00 2001 From: Luiz Freneda Date: Fri, 4 Dec 2015 22:35:31 +0100 Subject: [PATCH 046/399] Close #401 PR: Add `Massive`. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4bf74a4de..5c65e8916 100644 --- a/readme.md +++ b/readme.md @@ -474,6 +474,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Redis](https://github.com/luin/ioredis) - Redis client. - ODM / ORM - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. + - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - [Mongoose](http://mongoosejs.com) - Elegant MongoDB object modeling. - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL. - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. From 4e13702f5dd7467d891fd9f0dc3d0f5a7dc902ea Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Fri, 11 Dec 2015 14:54:40 +0100 Subject: [PATCH 047/399] add dev-time-cli --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5c65e8916..bf16b833d 100644 --- a/readme.md +++ b/readme.md @@ -125,6 +125,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. - [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. - [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. +- [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. ### Functional programming From 38af6b18a25010904248ebb07337a71143bbc00f Mon Sep 17 00:00:00 2001 From: Nick Duffy Date: Sat, 12 Dec 2015 23:16:22 +0100 Subject: [PATCH 048/399] Close #410 PR: Add 2015 Node Interactive conferense. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index bf16b833d..2f8feeda0 100644 --- a/readme.md +++ b/readme.md @@ -709,6 +709,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. - [thenewboston's Node.js for Beginners](https://www.thenewboston.com/videos.php?cat=355) - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. +- [Node Interactive 2015](https://github.com/duffn/nodeinteractive-2015) - List of talks, keynotes and panels from the 2015 Node Interactive conference. ### Podcasts From 3f5e4245c0b44536bb7087c5426c20027937f610 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 16 Dec 2015 21:20:01 +0100 Subject: [PATCH 049/399] simplify webpack description closes #412 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 2f8feeda0..6221aa587 100644 --- a/readme.md +++ b/readme.md @@ -219,7 +219,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. - [Broccoli](https://github.com/broccolijs/broccoli) - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way. -- [webpack](https://github.com/webpack/webpack) - Packs CommonJS/AMD modules, styles, images, fonts and other assets for the browser. +- [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. From b83ee9d7b82f548252d69927f43d9339299b735f Mon Sep 17 00:00:00 2001 From: Chintan Radia Date: Mon, 21 Dec 2015 18:08:42 +0100 Subject: [PATCH 050/399] Close #414 PR: add text-meme. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6221aa587..035823d75 100644 --- a/readme.md +++ b/readme.md @@ -126,6 +126,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. - [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. - [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. +- [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. ### Functional programming From c2847341f1c39287c36b72303ca12ef0b94afb53 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 23 Dec 2015 01:28:06 +0100 Subject: [PATCH 051/399] add `awesome-cross-platform-nodejs` by @bcoe --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 035823d75..0f3ca86c8 100644 --- a/readme.md +++ b/readme.md @@ -755,6 +755,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [nodebots](http://nodebots.io) - Robots powered by JavaScript. - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. +- [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. ## Contribute From 992ccbb0f76b1eb453ca5ffc03b1bf5ea1f4d841 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Yosbel=20Mar=C3=ADn?= Date: Fri, 25 Dec 2015 18:51:03 +0100 Subject: [PATCH 052/399] Close #416 PR: add Jison to the Parsing list. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0f3ca86c8..d539d07c5 100644 --- a/readme.md +++ b/readme.md @@ -438,6 +438,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [js-yaml](https://github.com/nodeca/js-yaml) - Very fast YAML parser. - [excel-stream](https://github.com/dominictarr/excel-stream) - Streaming Excel spreadsheet to JSON parser. - [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. +- [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. ### Humanize From 77778395d59fb891bd6d5b359734ad32ed3e92d4 Mon Sep 17 00:00:00 2001 From: Titus Wormer Date: Sat, 26 Dec 2015 21:25:21 +0100 Subject: [PATCH 053/399] Rename mdast to remark --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d539d07c5..bfcd3711e 100644 --- a/readme.md +++ b/readme.md @@ -418,7 +418,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. ### Parsing -- [mdast](https://github.com/wooorm/mdast) - Markdown processor powered by plugins. +- [remark](https://github.com/wooorm/remark) - Markdown processor powered by plugins. - [markdown-it](https://github.com/markdown-it/markdown-it) - A very fast markdown parser with 100% CommonMark support, extensions and syntax plugins. - [parse5](https://github.com/inikulin/parse5) - Fast full-featured spec compliant HTML parser. - [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON. From a486e6e8ceb48772e3ebd13a45a22dd9742b7b57 Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Sun, 27 Dec 2015 13:52:12 +0100 Subject: [PATCH 054/399] add mobicon to cli apps --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index bfcd3711e..f730223db 100644 --- a/readme.md +++ b/readme.md @@ -127,6 +127,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. - [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. +- [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. ### Functional programming From 0d6d709468d69677a209d3afdcd8ee43a236134d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fatih=20Kadir=20Ak=C4=B1n?= Date: Fri, 1 Jan 2016 00:22:18 +0100 Subject: [PATCH 055/399] Close #422 PR: Add Omelette --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f730223db..784cdcacb 100644 --- a/readme.md +++ b/readme.md @@ -214,6 +214,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. - [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console. - [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners. +- [omelette](https://github.com/f/omelette) - Shell autocompletion helper. ### Build tools From 52fb908d231f4db636a056b24b55a2931fc25284 Mon Sep 17 00:00:00 2001 From: lichengyin Date: Fri, 1 Jan 2016 22:13:05 +0100 Subject: [PATCH 056/399] Close #419 PR: add ThinkJS. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 784cdcacb..c1b6e3d19 100644 --- a/readme.md +++ b/readme.md @@ -260,6 +260,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Derby](https://github.com/derbyjs/derby) - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. - [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. - [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. +- [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. ### Documentation From 018dc207485a6843c278c503b4648ee03abe1c87 Mon Sep 17 00:00:00 2001 From: Eric Kryski Date: Fri, 1 Jan 2016 22:19:58 +0100 Subject: [PATCH 057/399] Close #421 PR: Add Feathers. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c1b6e3d19..4e5e18b9e 100644 --- a/readme.md +++ b/readme.md @@ -251,6 +251,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [Koa](http://koajs.com) - 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](http://expressjs.com) - A minimal and flexible web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. +- [Feathers](http://feathersjs.com) - A minimal and flexible microservice framework built in the spirit of Express. - [Hapi](http://hapijs.com) - A rich framework for building applications and services. - [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources. - [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* From c7f7eb8241dfd4e61bcb60e72cad03eb16ed07ac Mon Sep 17 00:00:00 2001 From: Yoshiya Hinosawa Date: Sun, 3 Jan 2016 20:05:19 +0100 Subject: [PATCH 058/399] Close #424 PR: Add documentation.js. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4e5e18b9e..5feecc9d4 100644 --- a/readme.md +++ b/readme.md @@ -271,6 +271,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [dox](https://github.com/tj/dox) - JavaScript documentation generator using Markdown and JSDoc. - [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator. - [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs. +- [documentation.js](http://documentation.js.org) - API documentation generator with support for ES2015+ and flow annotation. ### Filesystem From f764743b32feaba7c3927cf127667efaf258df0d Mon Sep 17 00:00:00 2001 From: Danny Arnold Date: Wed, 6 Jan 2016 13:57:16 +0100 Subject: [PATCH 059/399] add bugger --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5feecc9d4..17646253e 100644 --- a/readme.md +++ b/readme.md @@ -173,6 +173,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies. - [TraceGL](https://github.com/traceglMPL/tracegl) - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens. - [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. +- [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. ### Logging From 634bfc5f47bd391738849ac45eeba207c378d116 Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Mon, 11 Jan 2016 12:51:14 +0100 Subject: [PATCH 060/399] add mobisplash --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 17646253e..9d2fe49ba 100644 --- a/readme.md +++ b/readme.md @@ -128,6 +128,7 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. - [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. +- [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. ### Functional programming From 191c51b3aa4642f42bc40f8b58067e6b29550889 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 12 Jan 2016 00:19:01 +0100 Subject: [PATCH 061/399] add Community section --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index 9d2fe49ba..a33adc332 100644 --- a/readme.md +++ b/readme.md @@ -758,6 +758,13 @@ Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. - [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. - [Tonic](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. +### Community + +- [`#node.js` on Freenode](http://webchat.freenode.net/?channels=node.js) +- [Stack Overflow](http://stackoverflow.com/questions/tagged/node.js) +- [Reddit](https://www.reddit.com/r/node) +- [Twitter](https://twitter.com/nodejs) + ### Miscellaneous - [nodebots](http://nodebots.io) - Robots powered by JavaScript. From 784f8a4e95707ce9d32b2c508ba9c75ab6af54d2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E2=8C=81=20s=C9=AA=C9=B4=E1=B4=85=CA=80=E1=B4=87=20s?= =?UTF-8?q?=E1=B4=8F=CA=80=CA=9C=E1=B4=9Cs=20=E2=8C=81?= Date: Wed, 13 Jan 2016 20:41:27 +0100 Subject: [PATCH 062/399] link up awesome-npm https://github.com/sindresorhus/awesome-npm --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index a33adc332..6e9dcb0bc 100644 --- a/readme.md +++ b/readme.md @@ -2,7 +2,7 @@ > A curated list of delightful Node.js [packages](#packages) and [resources](#resources). -Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. +*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* **Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** From 226f44f7ec2b55766166a648a2d0e2966078cfcc Mon Sep 17 00:00:00 2001 From: Rodrigo Fernandes Date: Wed, 13 Jan 2016 21:41:52 +0000 Subject: [PATCH 063/399] Add diff2html-cli to Command-line apps --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6e9dcb0bc..466f31e09 100644 --- a/readme.md +++ b/readme.md @@ -129,6 +129,7 @@ - [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. - [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. - [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. +- [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator. ### Functional programming From fb4308671002edba3e2319c8ef45e0b27a15b758 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 14 Jan 2016 23:57:08 +0100 Subject: [PATCH 064/399] add Code of Conduct --- code-of-conduct.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++ contributing.md | 6 +++++- 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 code-of-conduct.md diff --git a/code-of-conduct.md b/code-of-conduct.md new file mode 100644 index 000000000..be26cfd23 --- /dev/null +++ b/code-of-conduct.md @@ -0,0 +1,50 @@ +# Contributor Code of Conduct + +As contributors and maintainers of this project, and in the interest of +fostering an open and welcoming community, we pledge to respect all people who +contribute through reporting issues, posting feature requests, updating +documentation, submitting pull requests or patches, and other activities. + +We are committed to making participation in this project a harassment-free +experience for everyone, regardless of level of experience, gender, gender +identity and expression, sexual orientation, disability, personal appearance, +body size, race, ethnicity, age, religion, or nationality. + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery +* Personal attacks +* Trolling or insulting/derogatory comments +* Public or private harassment +* Publishing other's private information, such as physical or electronic + addresses, without explicit permission +* Other unethical or unprofessional conduct + +Project maintainers have the right and responsibility to remove, edit, or +reject comments, commits, code, wiki edits, issues, and other contributions +that are not aligned to this Code of Conduct, or to ban temporarily or +permanently any contributor for other behaviors that they deem inappropriate, +threatening, offensive, or harmful. + +By adopting this Code of Conduct, project maintainers commit themselves to +fairly and consistently applying these principles to every aspect of managing +this project. Project maintainers who do not follow or enforce the Code of +Conduct may be permanently removed from the project team. + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. + +Instances of abusive, harassing, or otherwise unacceptable behavior may be +reported by contacting a project maintainer at sindresorhus@gmail.com. All +complaints will be reviewed and investigated and will result in a response that +is deemed necessary and appropriate to the circumstances. Maintainers are +obligated to maintain confidentiality with regard to the reporter of an +incident. + + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], +version 1.3.0, available at +[http://contributor-covenant.org/version/1/3/0/][version] + +[homepage]: http://contributor-covenant.org +[version]: http://contributor-covenant.org/version/1/3/0/ diff --git a/contributing.md b/contributing.md index 052b5a443..346cc3fcb 100644 --- a/contributing.md +++ b/contributing.md @@ -1,6 +1,10 @@ # Contribution Guidelines -Please ensure your pull request adheres to the following guidelines: +Please note that this project is released with a [Contributor Code of Conduct](code-of-conduct.md). By participating in this project you agree to abide by its terms. + +- + +Ensure your pull request adheres to the following guidelines: - Search previous suggestions before making a new one, as yours may be a duplicate. - Suggested packages should be tested and documented. From ecfb2c7b33f17ca1913e26655c83f4b0e956f37e Mon Sep 17 00:00:00 2001 From: "Kent C. Dodds" Date: Tue, 19 Jan 2016 15:42:33 -0700 Subject: [PATCH 065/399] Add cross-env --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 466f31e09..c6d454120 100644 --- a/readme.md +++ b/readme.md @@ -218,6 +218,7 @@ - [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console. - [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners. - [omelette](https://github.com/f/omelette) - Shell autocompletion helper. +- [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. ### Build tools From 256dcc134f1cd957b3613438372a053be4b8561c Mon Sep 17 00:00:00 2001 From: Raphael Pigulla Date: Fri, 22 Jan 2016 16:49:42 +0100 Subject: [PATCH 066/399] Close #433 PR: Add json-strictify. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c6d454120..aaf8787c2 100644 --- a/readme.md +++ b/readme.md @@ -682,6 +682,7 @@ - [node-bell](https://github.com/eleme/bell.js) - Real-time anomalies detection for periodic time series. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. +- [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. ## Resources From 7cc849b8c7dfeff4e2482a7d9f03896c9ffaee71 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 25 Jan 2016 20:41:41 +0100 Subject: [PATCH 067/399] fix typo --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index aaf8787c2..87d556a0b 100644 --- a/readme.md +++ b/readme.md @@ -296,7 +296,7 @@ - [istextorbinary](https://github.com/bevry/istextorbinary) - Check if a file is text or binary. - [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use. - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. -- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of a npm package. +- [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. ### Control flow From 38337986416e62196bec7f09baaf8c98bcc3a19c Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Tue, 26 Jan 2016 18:57:11 +0100 Subject: [PATCH 068/399] add rfpify --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 87d556a0b..51f5154fe 100644 --- a/readme.md +++ b/readme.md @@ -305,6 +305,7 @@ - [Bluebird](https://github.com/petkaantonov/bluebird) - A fully featured promise library with focus on innovative features and performance. - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Promise ponyfill. - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function. + - [rfpify](https://github.com/samverschueren/rfpify) - Promisify a result-first callback-style function. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. From 9e683f9fb963394b208b6afea31aacd1656ba4b1 Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Tue, 26 Jan 2016 19:00:41 +0100 Subject: [PATCH 069/399] add tz-format --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 87d556a0b..e5e4fe736 100644 --- a/readme.md +++ b/readme.md @@ -406,6 +406,7 @@ - [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates. - [Moment Timezone](http://momentjs.com/timezone/) - IANA Time Zone Database + Moment.js. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. +- [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. ### URL From dffccfa5a6e31e2db45b55222e9e684a630ef15c Mon Sep 17 00:00:00 2001 From: Gianfranco Palumbo Date: Thu, 28 Jan 2016 18:10:12 +0100 Subject: [PATCH 070/399] Close #449 PR: Fix link for Express.js cheatsheet. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 01f562f7b..701a33fc5 100644 --- a/readme.md +++ b/readme.md @@ -753,7 +753,7 @@ ### Cheatsheets -- [Express.js](https://github.com/azat-co/cheatsheets/blob/master/express4/index.md) +- [Express.js](https://github.com/azat-co/cheatsheets/blob/master/express4) - [Stream FAQs](https://github.com/stephenplusplus/stream-faqs) - Answering common questions about streams, covering pagination, events, and more. ### Tools From 6fb293099ccd63d7bcba0089534cf51f2f9cbf89 Mon Sep 17 00:00:00 2001 From: Manuel Vila Date: Thu, 4 Feb 2016 08:03:20 +0900 Subject: [PATCH 071/399] Add npm addict Daily injection of npm packages: https://npmaddict.com --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 701a33fc5..99963c2d5 100644 --- a/readme.md +++ b/readme.md @@ -701,6 +701,7 @@ ### Discovery - [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking. +- [npm addict](https://npmaddict.com) - Your daily injection of npm packages. ### Articles From f9157f76dac87a38b1a4397f5dd3f652f6aca873 Mon Sep 17 00:00:00 2001 From: Tiago Rodrigues Date: Mon, 8 Feb 2016 17:12:55 +0700 Subject: [PATCH 072/399] Close #446 PR: Add YUIDoc. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 99963c2d5..0105227c2 100644 --- a/readme.md +++ b/readme.md @@ -276,6 +276,7 @@ - [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator. - [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs. - [documentation.js](http://documentation.js.org) - API documentation generator with support for ES2015+ and flow annotation. +- [YUIDoc](http://yui.github.com/yuidoc/) - Generates API documentation from comments in source. ### Filesystem From 8879232b52ff18d1795b4c4257e9779d9196fd93 Mon Sep 17 00:00:00 2001 From: Kir Belevich Date: Tue, 9 Feb 2016 15:28:11 +0700 Subject: [PATCH 073/399] Close #454 PR: add "start" tasks runner to "Build tools" section. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0105227c2..0cdff5c9e 100644 --- a/readme.md +++ b/readme.md @@ -230,6 +230,7 @@ - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. +- [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. ### Hardware From 567c19b1767e6c35130910f52743f0f49ede00c1 Mon Sep 17 00:00:00 2001 From: Rahul J Date: Wed, 10 Feb 2016 17:09:34 +0700 Subject: [PATCH 074/399] Close #456 PR: Add new category for job queues along with Kue and Bull modules. --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index 0cdff5c9e..37133a57a 100644 --- a/readme.md +++ b/readme.md @@ -42,6 +42,7 @@ - [Minifiers](#minifiers) - [Authentication](#authentication) - [Email](#email) +- [Job queues](#job-queues) - [Node.js management](#nodejs-management) - [Polyfills](#polyfills) - [Natural language processing](#natural-language-processing) @@ -551,6 +552,12 @@ - [emailjs](https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server. +### Job queues + +- [kue](https://github.com/Automattic/kue) - Priority job queue backed by Redis. +- [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. + + ### Node.js management - [n](https://github.com/tj/n) - Node.js version management. From 266e6eda46cf6e4f17ab5743b897fa4e92c6d0e3 Mon Sep 17 00:00:00 2001 From: dc Date: Fri, 12 Feb 2016 12:41:26 +0700 Subject: [PATCH 075/399] Close #458 PR: Add Table of Contents. --- readme.md | 118 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 66 insertions(+), 52 deletions(-) diff --git a/readme.md b/readme.md index 37133a57a..74cde9529 100644 --- a/readme.md +++ b/readme.md @@ -4,58 +4,77 @@ *Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* +*Please read the [contribution guidelines](contributing.md) before contributing.* + **Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** -## Packages +## Table of Contents + +- [Packages](#packages) + - [Mad science](#mad-science) + - [Command-line apps](#command-line-apps) + - [Functional programming](#functional-programming) + - [HTTP](#http) + - [Debugging / Profiling](#debugging--profiling) + - [Logging](#logging) + - [Command-line utilities](#command-line-utilities) + - [Build tools](#build-tools) + - [Hardware](#hardware) + - [Templating](#templating) + - [Web frameworks](#web-frameworks) + - [Documentation](#documentation) + - [Filesystem](#filesystem) + - [Control flow](#control-flow) + - [Streams](#streams) + - [Real-time](#real-time) + - [Image](#image) + - [Text](#text) + - [Number](#number) + - [Math](#math) + - [Date](#date) + - [URL](#url) + - [Data validation](#data-validation) + - [Parsing](#parsing) + - [Humanize](#humanize) + - [Compression](#compression) + - [Network](#network) + - [Database](#database) + - [Testing](#testing) + - [Benchmarking](#benchmarking) + - [Minifiers](#minifiers) + - [Authentication](#authentication) + - [Email](#email) + - [Job queues](#job-queues) + - [Node.js management](#nodejs-management) + - [Polyfills](#polyfills) + - [Natural language processing](#natural-language-processing) + - [Process management](#process-management) + - [Automation](#automation) + - [AST](#ast) + - [Static site generators](#static-site-generators) + - [Content management systems](#content-management-systems) + - [Forum](#forum) + - [Blogging](#blogging) + - [Weird](#weird) + - [Miscellaneous](#miscellaneous) +- [Resources](#resources) + - [Tutorials](#tutorials) + - [Discovery](#discovery) + - [Articles](#articles) + - [Newsletters](#newsletters) + - [Videos](#videos) + - [Podcasts](#podcasts) + - [Books](#books) + - [Blogs](#blogs) + - [Courses](#courses) + - [Cheatsheets](#cheatsheets) + - [Tools](#tools) + - [Community](#community) + - [Miscellaneous](#miscellaneous) -- [Mad science](#mad-science) -- [Command-line apps](#command-line-apps) -- [Functional programming](#functional-programming) -- [HTTP](#http) -- [Debugging / Profiling](#debugging--profiling) -- [Logging](#logging) -- [Command-line utilities](#command-line-utilities) -- [Build tools](#build-tools) -- [Hardware](#hardware) -- [Templating](#templating) -- [Web frameworks](#web-frameworks) -- [Documentation](#documentation) -- [Filesystem](#filesystem) -- [Control flow](#control-flow) -- [Streams](#streams) -- [Real-time](#real-time) -- [Image](#image) -- [Text](#text) -- [Number](#number) -- [Math](#math) -- [Date](#date) -- [URL](#url) -- [Data validation](#data-validation) -- [Parsing](#parsing) -- [Humanize](#humanize) -- [Compression](#compression) -- [Network](#network) -- [Database](#database) -- [Testing](#testing) -- [Benchmarking](#benchmarking) -- [Minifiers](#minifiers) -- [Authentication](#authentication) -- [Email](#email) -- [Job queues](#job-queues) -- [Node.js management](#nodejs-management) -- [Polyfills](#polyfills) -- [Natural language processing](#natural-language-processing) -- [Process management](#process-management) -- [Automation](#automation) -- [AST](#ast) -- [Static site generators](#static-site-generators) -- [Content management systems](#content-management-systems) -- [Forum](#forum) -- [Blogging](#blogging) -- [Weird](#weird) -- [Miscellaneous](#miscellaneous) +## Packages ### Mad science @@ -788,11 +807,6 @@ - [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. -## Contribute - -Contributions welcome! Read the [contribution guidelines](contributing.md) first. - - ## License [![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) From 4cccc1bbd234217c8da7c0dd4bc0dc239945efac Mon Sep 17 00:00:00 2001 From: Netto Farah Date: Mon, 15 Feb 2016 09:57:07 -0800 Subject: [PATCH 076/399] add property-validator `property-validator` is a property validation library built on top of `validator.js` to help developers validate request, query, body params and request headers. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 74cde9529..b2ca54105 100644 --- a/readme.md +++ b/readme.md @@ -447,6 +447,7 @@ - [joi](https://github.com/hapijs/joi) - Object schema description language and validator for JavaScript objects. - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast. +- [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express. ### Parsing From 7d49e1d14335e0b84e4313b36f4da581a6f31763 Mon Sep 17 00:00:00 2001 From: dc Date: Wed, 24 Feb 2016 01:36:33 +0700 Subject: [PATCH 077/399] Close #462 PR: Add Cash. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b2ca54105..d7f702ec3 100644 --- a/readme.md +++ b/readme.md @@ -150,6 +150,7 @@ - [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. - [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. - [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator. +- [Cash](https://github.com/dthree/cash) - Cross-platform Unix shell commands in pure JavaScript. ### Functional programming From dffa7ee9934b2002bd709e19c1500b00f5210162 Mon Sep 17 00:00:00 2001 From: Shannon Moeller Date: Sat, 27 Feb 2016 11:20:45 -0500 Subject: [PATCH 078/399] Add ygor. A promising task runner. Fills a gap between `npm run` and tools like `gulp` and `grunt`. Promotes `async` and `await` for flow control. https://github.com/shannonmoeller/ygor --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d7f702ec3..96f468e07 100644 --- a/readme.md +++ b/readme.md @@ -252,6 +252,7 @@ - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. +- [ygor](https://github.com/shannonmoeller/ygor) - A promising task runner for when `npm run` isn't enough and everything else is too much. ### Hardware From db629991fa0eb1ead299cb245050b79af63278ff Mon Sep 17 00:00:00 2001 From: Shannon Moeller Date: Sat, 27 Feb 2016 11:37:52 -0500 Subject: [PATCH 079/399] Add cli-columns. Loggable columnated text lists. Like `ls` output. Unicode and ANSI safe. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d7f702ec3..896c7ad6c 100644 --- a/readme.md +++ b/readme.md @@ -236,6 +236,7 @@ - [progress](https://github.com/tj/node-progress) - Flexible ascii progress bar. - [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor. - [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. +- [cli-columns](https://github.com/shannonmoeller/cli-columns) - Columnated unicode and ansi-safe text lists. - [cfonts](https://github.com/dominikwilkowski/cfonts) - Sexy ASCII fonts for the console. - [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners. - [omelette](https://github.com/f/omelette) - Shell autocompletion helper. From 7378b68565b9b4a55af92e8485845d17468c6a00 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 1 Mar 2016 14:09:27 +0700 Subject: [PATCH 080/399] move `shelljs` to CLI utils section --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 896c7ad6c..873e61ee0 100644 --- a/readme.md +++ b/readme.md @@ -241,6 +241,7 @@ - [multispinner](https://github.com/codekirei/node-multispinner) - Multiple, simultaneous, individually controllable CLI spinners. - [omelette](https://github.com/f/omelette) - Shell autocompletion helper. - [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. +- [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. ### Build tools @@ -695,7 +696,6 @@ - [stringify-object](https://github.com/yeoman/stringify-object) - Stringify an object/array like JSON.stringify just without all the double-quotes. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. - [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()`. -- [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. - [nan](https://github.com/nodejs/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. - [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. From 720124b10c2ac075bd8e05984e1aca157c1bff26 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 1 Mar 2016 14:26:32 +0700 Subject: [PATCH 081/399] add some stuff --- readme.md | 134 ++++++++++++++++++++++++++++++------------------------ 1 file changed, 75 insertions(+), 59 deletions(-) diff --git a/readme.md b/readme.md index 873e61ee0..efc22d7a6 100644 --- a/readme.md +++ b/readme.md @@ -12,66 +12,66 @@ ## Table of Contents - [Packages](#packages) - - [Mad science](#mad-science) - - [Command-line apps](#command-line-apps) - - [Functional programming](#functional-programming) - - [HTTP](#http) - - [Debugging / Profiling](#debugging--profiling) - - [Logging](#logging) - - [Command-line utilities](#command-line-utilities) - - [Build tools](#build-tools) - - [Hardware](#hardware) - - [Templating](#templating) - - [Web frameworks](#web-frameworks) - - [Documentation](#documentation) - - [Filesystem](#filesystem) - - [Control flow](#control-flow) - - [Streams](#streams) - - [Real-time](#real-time) - - [Image](#image) - - [Text](#text) - - [Number](#number) - - [Math](#math) - - [Date](#date) - - [URL](#url) - - [Data validation](#data-validation) - - [Parsing](#parsing) - - [Humanize](#humanize) - - [Compression](#compression) - - [Network](#network) - - [Database](#database) - - [Testing](#testing) - - [Benchmarking](#benchmarking) - - [Minifiers](#minifiers) - - [Authentication](#authentication) - - [Email](#email) - - [Job queues](#job-queues) - - [Node.js management](#nodejs-management) - - [Polyfills](#polyfills) - - [Natural language processing](#natural-language-processing) - - [Process management](#process-management) - - [Automation](#automation) - - [AST](#ast) - - [Static site generators](#static-site-generators) - - [Content management systems](#content-management-systems) - - [Forum](#forum) - - [Blogging](#blogging) - - [Weird](#weird) - - [Miscellaneous](#miscellaneous) + - [Mad science](#mad-science) + - [Command-line apps](#command-line-apps) + - [Functional programming](#functional-programming) + - [HTTP](#http) + - [Debugging / Profiling](#debugging--profiling) + - [Logging](#logging) + - [Command-line utilities](#command-line-utilities) + - [Build tools](#build-tools) + - [Hardware](#hardware) + - [Templating](#templating) + - [Web frameworks](#web-frameworks) + - [Documentation](#documentation) + - [Filesystem](#filesystem) + - [Control flow](#control-flow) + - [Streams](#streams) + - [Real-time](#real-time) + - [Image](#image) + - [Text](#text) + - [Number](#number) + - [Math](#math) + - [Date](#date) + - [URL](#url) + - [Data validation](#data-validation) + - [Parsing](#parsing) + - [Humanize](#humanize) + - [Compression](#compression) + - [Network](#network) + - [Database](#database) + - [Testing](#testing) + - [Benchmarking](#benchmarking) + - [Minifiers](#minifiers) + - [Authentication](#authentication) + - [Email](#email) + - [Job queues](#job-queues) + - [Node.js management](#nodejs-management) + - [Polyfills](#polyfills) + - [Natural language processing](#natural-language-processing) + - [Process management](#process-management) + - [Automation](#automation) + - [AST](#ast) + - [Static site generators](#static-site-generators) + - [Content management systems](#content-management-systems) + - [Forum](#forum) + - [Blogging](#blogging) + - [Weird](#weird) + - [Miscellaneous](#miscellaneous) - [Resources](#resources) - - [Tutorials](#tutorials) - - [Discovery](#discovery) - - [Articles](#articles) - - [Newsletters](#newsletters) - - [Videos](#videos) - - [Podcasts](#podcasts) - - [Books](#books) - - [Blogs](#blogs) - - [Courses](#courses) - - [Cheatsheets](#cheatsheets) - - [Tools](#tools) - - [Community](#community) - - [Miscellaneous](#miscellaneous) + - [Tutorials](#tutorials) + - [Discovery](#discovery) + - [Articles](#articles) + - [Newsletters](#newsletters) + - [Videos](#videos) + - [Podcasts](#podcasts) + - [Books](#books) + - [Blogs](#blogs) + - [Courses](#courses) + - [Cheatsheets](#cheatsheets) + - [Tools](#tools) + - [Community](#community) + - [Miscellaneous](#miscellaneous) ## Packages @@ -106,6 +106,7 @@ - [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping. - [np](https://github.com/sindresorhus/np) - A better `npm publish`. - [yo](https://github.com/yeoman/yo) - Run Yeoman generators. +- [Babel](https://babeljs.io/docs/usage/cli/) - Use next generation JavaScript, today. - [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. - [JSCS](https://github.com/jscs-dev/node-jscs) - JavaScript Code Style checker. - [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. @@ -151,6 +152,9 @@ - [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. - [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator. - [Cash](https://github.com/dthree/cash) - Cross-platform Unix shell commands in pure JavaScript. +- [vaca](https://github.com/sindresorhus/vaca) - Get a random ASCII 🐮. +- [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. +- [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. ### Functional programming @@ -191,6 +195,7 @@ - [longjohn](https://github.com/mattinsler/longjohn) - Long stack traces with configurable call trace length. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. - [jstrace](https://github.com/jstrace/jstrace) - Dynamic tracing for JavaScript, similar to dtrace, ktap etc. +- [why-is-node-running](https://github.com/mafintosh/why-is-node-running) - Node.js is running but you don't know why? - [njsTrace](https://github.com/valyouw/njstrace) - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function. - [vstream](https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams. - [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies. @@ -223,6 +228,7 @@ - [insight](https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics. - [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels. - [figures](https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks. +- [boxen](https://github.com/sindresorhus/boxen) - Create boxes in the terminal. - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it. - [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run. - [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ @@ -242,6 +248,7 @@ - [omelette](https://github.com/f/omelette) - Shell autocompletion helper. - [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. +- [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. ### Build tools @@ -331,6 +338,7 @@ - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Promise ponyfill. - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function. - [rfpify](https://github.com/samverschueren/rfpify) - Promisify a result-first callback-style function. + - [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. @@ -409,6 +417,7 @@ - [babelfish](https://github.com/nodeca/babelfish/) - i18n with very easy syntax for plurals. - [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. - [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. +- [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. ## Number @@ -544,6 +553,7 @@ - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. - [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. +- [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. ### Benchmarking @@ -598,6 +608,7 @@ - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4.0 `os.homedir()` ponyfill. - [debug-log](https://github.com/sindresorhus/debug-log) - Node.js 0.12 `util.debuglog()` ponyfill. - [buffer-equals](https://github.com/sindresorhus/buffer-equals) - Node.js 0.12 `buffer.equals()` ponyfill. + - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3.0 `buffer.includes()` ponyfill. - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4.0 `buffer.indexOf()` ponyfill. - [buf-compare](https://github.com/sindresorhus/buf-compare) - Node.js 0.12 `Buffer.compare()` ponyfill. - [fs-access](https://github.com/sindresorhus/fs-access) - Node.js 0.12 `fs.access()` & `fs.accessSync()` ponyfill. @@ -682,16 +693,19 @@ - [supervillains](https://github.com/sindresorhus/supervillains) - Get supervillain names. - [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces. - [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ” +- [cows](https://github.com/sindresorhus/cows) - ASCII cows. ### Miscellaneous +- [execa](https://github.com/sindresorhus/execa) - A better `child_process`. - [cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. - [Electron](https://github.com/atom/electron) - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))* - [opn](https://github.com/sindresorhus/opn) - Opens stuff like websites, files, executables. - [hasha](https://github.com/sindresorhus/hasha) - Hashing made simple. Get the hash of a buffer/string/stream/file. - [dot-prop](https://github.com/sindresorhus/dot-prop) - Get a property from a nested object using a dot path. - [onetime](https://github.com/sindresorhus/onetime) - Only run a function once. +- [mem](https://github.com/sindresorhus/mem) - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input. - [require-uncached](https://github.com/sindresorhus/require-uncached) - Require a module bypassing the cache. - [stringify-object](https://github.com/yeoman/stringify-object) - Stringify an object/array like JSON.stringify just without all the double-quotes. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. @@ -716,6 +730,8 @@ - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. +- [parent-module](https://github.com/sindresorhus/parent-module) - Get the path of the parent module. +- [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. ## Resources From d57a3fe6586ab95d4acf41555e0b310ad717b568 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 1 Mar 2016 14:27:55 +0700 Subject: [PATCH 082/399] add `power-assert` by @twada --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index efc22d7a6..58a3192c6 100644 --- a/readme.md +++ b/readme.md @@ -543,6 +543,7 @@ - [tap](https://github.com/isaacs/node-tap) - A TAP test framework. - [tape](https://github.com/substack/tape) - TAP-producing test harness. - [Mocha](http://mochajs.org) - A feature-rich test framework making asynchronous testing simple and fun. +- [power-assert](https://github.com/power-assert-js/power-assert) - Provides descriptive assertion messages through the standard assert interface. - [Mochify](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver. - [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. From 9d18bdec72845b83bf4d2421fd229143983271d5 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 1 Mar 2016 16:55:34 +0700 Subject: [PATCH 083/399] use SVG badge --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 58a3192c6..aefd150a3 100644 --- a/readme.md +++ b/readme.md @@ -829,6 +829,6 @@ ## License -[![CC0](http://i.creativecommons.org/p/zero/1.0/88x31.png)](http://creativecommons.org/publicdomain/zero/1.0/) +[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) To the extent possible under law, [Sindre Sorhus](http://sindresorhus.com) has waived all copyright and related or neighboring rights to this work. From 858578955aecd1ac7b8ca054bb1f91ba6e672a95 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Thu, 3 Mar 2016 23:48:23 +0300 Subject: [PATCH 084/399] Improve ssh2 note --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index aefd150a3..262c50109 100644 --- a/readme.md +++ b/readme.md @@ -714,7 +714,7 @@ - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. - [nan](https://github.com/nodejs/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. - [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. -- [ssh2](https://github.com/mscdex/ssh2) - An SSH2 client module. +- [ssh2](https://github.com/mscdex/ssh2) - An SSH2 client and server module. - [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. - [Bottleneck](https://github.com/SGrondin/bottleneck) - A powerful rate limiter that makes throttling easy. From c2a95cd03115695bf7abe13665361d5a7970c203 Mon Sep 17 00:00:00 2001 From: Oleg Gaidarenko Date: Thu, 3 Mar 2016 23:41:14 +0300 Subject: [PATCH 085/399] Add "adit" package to "Miscellaneous" section (https://github.com/markelog/adit) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1aa605233..d4872a142 100644 --- a/readme.md +++ b/readme.md @@ -716,6 +716,7 @@ - [nan](https://github.com/nodejs/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. - [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. - [ssh2](https://github.com/mscdex/ssh2) - An SSH2 client and server module. +- [adit](https://github.com/markelog/adit) - SSH tunneling made simple. - [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. - [Bottleneck](https://github.com/SGrondin/bottleneck) - A powerful rate limiter that makes throttling easy. From b2be7ed7bd7ee998b07976ee3c2d5696a862c891 Mon Sep 17 00:00:00 2001 From: EGOIST <0x142857@gmail.com> Date: Sun, 6 Mar 2016 22:09:15 +0700 Subject: [PATCH 086/399] Close #470 PR: Add testen. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d4872a142..fcfc24a77 100644 --- a/readme.md +++ b/readme.md @@ -556,6 +556,7 @@ - [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. +- [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. ### Benchmarking From d41ff57d4b88839ac836621f046b96f5ea0e6732 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 6 Mar 2016 22:11:14 +0700 Subject: [PATCH 087/399] Add `ora` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fcfc24a77..815cf6ea4 100644 --- a/readme.md +++ b/readme.md @@ -249,6 +249,7 @@ - [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. +- [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. ### Build tools From 9a3a1de5bf457d4e2a6f45d3024a60ac0f8a82d3 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 10 Mar 2016 22:05:59 +0700 Subject: [PATCH 088/399] Add `term-img` https://github.com/sindresorhus/term-img --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 815cf6ea4..f109e5098 100644 --- a/readme.md +++ b/readme.md @@ -250,6 +250,7 @@ - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. - [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. +- [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. ### Build tools From 4485a8c07e4a4425697b69dcce2c054d2ddb61ee Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 10 Mar 2016 22:06:49 +0700 Subject: [PATCH 089/399] Add `0x` --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index f109e5098..4661b34d2 100644 --- a/readme.md +++ b/readme.md @@ -65,7 +65,7 @@ - [Newsletters](#newsletters) - [Videos](#videos) - [Podcasts](#podcasts) - - [Books](#books) + - [Books](#books)p - [Blogs](#blogs) - [Courses](#courses) - [Cheatsheets](#cheatsheets) @@ -202,6 +202,7 @@ - [TraceGL](https://github.com/traceglMPL/tracegl) - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens. - [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. - [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. +- [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. ### Logging From 66fdb6ac9b64db76ca8f105a775aa0c94cfd42b5 Mon Sep 17 00:00:00 2001 From: Benjamin Coe Date: Sun, 13 Mar 2016 14:23:00 +0700 Subject: [PATCH 090/399] Close #472 PR: Add yargs. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4661b34d2..eed6e4529 100644 --- a/readme.md +++ b/readme.md @@ -252,6 +252,7 @@ - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. - [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. +- [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. ### Build tools From 4c322d4925e6a31fb96ac737e3a66a7f5bd663ce Mon Sep 17 00:00:00 2001 From: Rodolfo Silva Date: Thu, 17 Mar 2016 10:25:59 +0700 Subject: [PATCH 091/399] Close #475 PR: Removing `p` after Books link. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index eed6e4529..81d0ffe3a 100644 --- a/readme.md +++ b/readme.md @@ -65,7 +65,7 @@ - [Newsletters](#newsletters) - [Videos](#videos) - [Podcasts](#podcasts) - - [Books](#books)p + - [Books](#books) - [Blogs](#blogs) - [Courses](#courses) - [Cheatsheets](#cheatsheets) From 9286188e45dacd06e98496ae3842b4c48acaab4a Mon Sep 17 00:00:00 2001 From: Guillermo Grau Panea Date: Thu, 17 Mar 2016 11:33:31 +0700 Subject: [PATCH 092/399] Close #474 PR: Add storyboard. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 81d0ffe3a..50e55891d 100644 --- a/readme.md +++ b/readme.md @@ -211,6 +211,7 @@ - [Bunyan](https://github.com/trentm/node-bunyan) - A simple and fast JSON logging library. - [intel](http://seanmonstar.github.io/intel/) - A comprehensive logging library (handlers, filters, formatters, console injection). - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. +- [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. ### Command-line utilities From 831f050e9042c4ed936a7347da01085e44f289ff Mon Sep 17 00:00:00 2001 From: David Frank Date: Mon, 21 Mar 2016 13:55:13 +0700 Subject: [PATCH 093/399] Close #478 PR: Add node-fetch. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 50e55891d..62a9321aa 100644 --- a/readme.md +++ b/readme.md @@ -185,6 +185,7 @@ - [http-proxy](https://github.com/nodejitsu/node-http-proxy) - A full-featured HTTP proxy. - [rocky](https://github.com/h2non/rocky) - Featured, middleware-oriented HTTP proxy with traffic replay and intercept. - [superagent](https://github.com/visionmedia/superagent) - A small progressive HTTP request library. +- [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. ### Debugging / Profiling From dfabe74d8d21b33eea1e615d7bbf9b84c0044d36 Mon Sep 17 00:00:00 2001 From: Tom Date: Tue, 22 Mar 2016 20:56:23 +0700 Subject: [PATCH 094/399] Close #479 PR: Add deepstream.io. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 62a9321aa..b0a1da246 100644 --- a/readme.md +++ b/readme.md @@ -392,6 +392,7 @@ - [SocketCluster](https://github.com/SocketCluster/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. +- [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. ### Image From 1544e8f30b371112a1816479bfa6d287a8011f90 Mon Sep 17 00:00:00 2001 From: Vitaly Tomilov Date: Fri, 25 Mar 2016 21:39:48 +0700 Subject: [PATCH 095/399] Close #480 PR: Add pg-promise. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b0a1da246..e9f5c5e74 100644 --- a/readme.md +++ b/readme.md @@ -539,6 +539,7 @@ - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB. - [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more. + - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - Query builder - [Knex](http://knexjs.org) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other From acd0f72f5a092656fb6dbd067d5ae69da5323325 Mon Sep 17 00:00:00 2001 From: VictorBjelkholm Date: Tue, 29 Mar 2016 18:07:52 +0700 Subject: [PATCH 096/399] Close #477 PR: Add trymodule. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e9f5c5e74..eabdddeaa 100644 --- a/readme.md +++ b/readme.md @@ -155,6 +155,7 @@ - [vaca](https://github.com/sindresorhus/vaca) - Get a random ASCII 🐮. - [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. - [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. +- [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal. ### Functional programming From b44887cd5da79f984646c9cb9e75e91e7a3aea7f Mon Sep 17 00:00:00 2001 From: Gianluca Casati Date: Thu, 14 Apr 2016 14:23:51 +0700 Subject: [PATCH 097/399] Add algebra (#484) Hi, I added my algebra package. Currently I am adding more documentation, tests and cleaning the code to prepare for a 1.0 version. The API is almost stable right now. The algebra package let also define custom groups and rings, I did not added it in the description to keep it shorter. Complex and Quaternion are implemented as composition algebras using the Cayley-Dickson operator over Reals, so also Octonion are implemented as well as Complexes over a custom field (for example using strings instead of numbers, if you find operators that respect the ring definition laws). I hope algebra can enter the awesome node list. Thanks, Gianluca. Closes #484 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index eabdddeaa..ea0f2a56e 100644 --- a/readme.md +++ b/readme.md @@ -443,7 +443,7 @@ - [mathjs](https://github.com/josdejong/mathjs) - An extensive math library. - [math-sum](https://github.com/sindresorhus/math-sum) - Sum numbers. - [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number. - +- [algebra](https://github.com/fibo/algebra) - Algebraic structures. ### Date From 130f0db1ff71475219e769499600b04f490ecff3 Mon Sep 17 00:00:00 2001 From: Viraj Sinha Date: Thu, 14 Apr 2016 14:26:28 +0700 Subject: [PATCH 098/399] Add liftoff (#485) Closes #485 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ea0f2a56e..a68d17881 100644 --- a/readme.md +++ b/readme.md @@ -256,6 +256,7 @@ - [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. +- [liftoff](https://github.com/js-cli/js-liftoff) - Bootstrapping tool for building command-line app. ### Build tools From 1c8599b2659fd2c3f5b647a15cc6fdc9e1638d38 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 14 Apr 2016 14:30:23 +0700 Subject: [PATCH 099/399] meta tweaks --- readme.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/readme.md b/readme.md index a68d17881..d3fa69526 100644 --- a/readme.md +++ b/readme.md @@ -87,7 +87,7 @@ - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library. -- [Bitcore](https://bitcore.io/) - A pure and powerful Bitcoin library. +- [Bitcore](https://bitcore.io) - A pure and powerful Bitcoin library. - [PDFKit](http://pdfkit.org) - PDF generation library. - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. @@ -160,11 +160,11 @@ ### Functional programming -- [lodash](https://lodash.com/) - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. +- [lodash](https://lodash.com) - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. - [mori](http://swannodette.github.io/mori/) - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. - [Ramda](http://ramdajs.com) - A utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. -- [Folktale](http://folktalejs.org/) - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. +- [Folktale](http://folktalejs.org) - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. - [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. - [Mout](http://moutjs.com) - 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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. @@ -424,13 +424,13 @@ - [detect-indent](https://github.com/sindresorhus/detect-indent) - Detect the indentation of code. - [he](https://github.com/mathiasbynens/he) - A robust HTML entity encoder/decoder. - [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage. -- [babelfish](https://github.com/nodeca/babelfish/) - i18n with very easy syntax for plurals. +- [babelfish](https://github.com/nodeca/babelfish) - i18n with very easy syntax for plurals. - [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. - [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. -## Number +### Number - [random-int](https://github.com/sindresorhus/random-int) - Generate a random integer. - [random-float](https://github.com/sindresorhus/random-float) - Generate a random float. @@ -446,6 +446,7 @@ - [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number. - [algebra](https://github.com/fibo/algebra) - Algebraic structures. + ### Date - [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates. @@ -694,7 +695,7 @@ ### Blogging - [ghost](https://ghost.org) - Simple, powerful publishing platform that allows you to share your story with the world. -- [Hexo](https://hexo.io/) - Fast, simple and powerful blogging framework. +- [Hexo](https://hexo.io) - Fast, simple and powerful blogging framework. ### Weird @@ -778,7 +779,7 @@ ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) -- [LearnAllTheNodes](https://www.learnallthenodes.com/) - Series of useful tips, tricks, and packages. +- [LearnAllTheNodes](https://www.learnallthenodes.com) - Series of useful tips, tricks, and packages. - [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals) - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. From 999998b52f68b52f9115abdd434ec2f296df440f Mon Sep 17 00:00:00 2001 From: Cristian Cortez Date: Thu, 14 Apr 2016 22:53:38 +0700 Subject: [PATCH 100/399] Add terminal-recorder (#486) `terminal-recorder` tool might be helpful in case you need to document a process on your terminal (like using git commands, devops procedures, etc..). It records your terminal keystrokes and export them to an interactive html documentation (where you can pause and also copy the plain command text), so you can share it easily with your friends. https://www.npmjs.com/package/terminal-recorder Closes #486 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d3fa69526..3ea49055f 100644 --- a/readme.md +++ b/readme.md @@ -156,6 +156,7 @@ - [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. - [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. - [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal. +- [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML. ### Functional programming From 238313fbb1503cb8e248c05ebd1401d25034221f Mon Sep 17 00:00:00 2001 From: Christopher Giffard Date: Fri, 15 Apr 2016 15:33:15 +0700 Subject: [PATCH 101/399] Add simplecrawler (#489) Simplecrawler is a simple but powerful event driven web crawler. Rationale: * Simplecrawler is well documented and tested. * Simplecrawler has more than thirty individual contributors and a core team of three. * Simplecrawler has some notoriety: with nearly 1000 stars on Github it is the most popular still-maintained web crawler library for node. * Articles and blog entries have been written about simplecrawler, (most notably [this one from WIRED](http://www.wired.com/2015/10/cyphon-wired-archive-migration/)) and it has seen continued use in many large organisations. Closes #489 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3ea49055f..818bd1e81 100644 --- a/readme.md +++ b/readme.md @@ -748,6 +748,7 @@ - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. - [parent-module](https://github.com/sindresorhus/parent-module) - Get the path of the parent module. - [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. +- [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. ## Resources From 3985ba45652cd111ad966fd0583e85968c56b4d6 Mon Sep 17 00:00:00 2001 From: Guy Podjarny Date: Fri, 22 Apr 2016 01:09:22 +0700 Subject: [PATCH 102/399] Add a `Security` section & snyk Added security section: The importance of having developers embrace security is growing, and I believe every (awesome) list of this nature should have a security section enumerating security tools. Added snyk: I kicked off the section with snyk, which holds your hand through finding vulnerable npm dependencies and fixing them through guided upgrades or patches, as well as adding that to your build so you don't accidentally add vulnerable dependencies later on. It's worth noting that while Snyk is a company, the client & vulnerability DB is open source (https://github.com/Snyk/vulndb), and the testing & patching functionality is forever free. Full disclosure: I'm a part of the Snyk team, on a mission to help make open source more secure! ;) Closes #491 --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index 818bd1e81..e383b3ef6 100644 --- a/readme.md +++ b/readme.md @@ -41,6 +41,7 @@ - [Network](#network) - [Database](#database) - [Testing](#testing) + - [Security](#security) - [Benchmarking](#benchmarking) - [Minifiers](#minifiers) - [Authentication](#authentication) @@ -571,6 +572,11 @@ - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. +### Security + +- [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. + + ### Benchmarking - [Benchmark.js](http://benchmarkjs.com) - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results. From f996170cba87429649505adaaf3fb3b54d2ea933 Mon Sep 17 00:00:00 2001 From: Drew Goodwin Date: Fri, 22 Apr 2016 08:12:41 +0700 Subject: [PATCH 103/399] Rename Jade to Pug The project is being renamed due to trademark claims made on Jade: https://github.com/pugjs/pug/issues/2184 Closes #493 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e383b3ef6..8ecd669c0 100644 --- a/readme.md +++ b/readme.md @@ -290,7 +290,7 @@ - [handlebars.js](https://github.com/wycats/handlebars.js) - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks. - [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. -- [Jade](https://github.com/jadejs/jade) - High-performance template engine heavily influenced by Haml. +- [Pug](https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml. ### Web frameworks From da1593580e124aaa0a29d83c051ff10a901f02e9 Mon Sep 17 00:00:00 2001 From: Aaron H Date: Fri, 22 Apr 2016 08:15:37 +0700 Subject: [PATCH 104/399] Add nano Added nano, a minimalistic CouchDB driver for Node.js. Closes #492 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8ecd669c0..5976415c3 100644 --- a/readme.md +++ b/readme.md @@ -534,6 +534,7 @@ - [PostgreSQL](https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings. - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. - [Redis](https://github.com/luin/ioredis) - Redis client. + - [nano](https://github.com/dscape/nano) - CouchDB client. - ODM / ORM - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. From 749547bedf91ab43e3de24f264975381082dee04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Iv=C3=A1n=20S=C3=A1nchez=20Ortega?= Date: Mon, 25 Apr 2016 09:22:24 +0200 Subject: [PATCH 105/399] Add 'sander' in filesystem (#495) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5976415c3..10c2994e0 100644 --- a/readme.md +++ b/readme.md @@ -340,6 +340,7 @@ - [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use. - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. - [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. +- [sander](https://github.com/rich-harris/sander) - Promise-based replacement for the `fs` module. ### Control flow From 69efd54a88c5e5165eab8eef106433360ee6ab39 Mon Sep 17 00:00:00 2001 From: vsemozhetbyt Date: Mon, 25 Apr 2016 15:37:20 +0700 Subject: [PATCH 106/399] Add jsdom [jsdom](https://github.com/tmpvar/jsdom) - A JavaScript implementation of the WHATWG DOM and HTML standards. Closes #497 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 10c2994e0..fce6ea018 100644 --- a/readme.md +++ b/readme.md @@ -757,6 +757,7 @@ - [parent-module](https://github.com/sindresorhus/parent-module) - Get the path of the parent module. - [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. - [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. +- [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM. ## Resources From cb4ca17b612952b68fa0ca967917dd890eb591a3 Mon Sep 17 00:00:00 2001 From: Luke Edwards Date: Fri, 29 Apr 2016 00:08:38 +0700 Subject: [PATCH 107/399] Add Fly Closes #498 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fce6ea018..07fe5e7ea 100644 --- a/readme.md +++ b/readme.md @@ -272,6 +272,7 @@ - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. - [ygor](https://github.com/shannonmoeller/ygor) - A promising task runner for when `npm run` isn't enough and everything else is too much. +- [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. ### Hardware From 03e2bf1a9195905ca4740777d10e206f44e3bbdd Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 29 Apr 2016 21:46:57 +0700 Subject: [PATCH 108/399] add some articles --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index 07fe5e7ea..249194501 100644 --- a/readme.md +++ b/readme.md @@ -782,6 +782,11 @@ - [Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors) - [Teach Yourself Node.js in 10 Steps](https://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) - [Mastering the filesystem in Node.js](https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801) +- [Semver: A Primer](https://nodesource.com/blog/semver-a-primer/) +- [Semver: Tilde and Caret](https://nodesource.com/blog/semver-tilde-and-caret/) +- [Why Asynchronous?](https://nodesource.com/blog/why-asynchronous/) +- [Understanding the Node.js Event Loop](https://nodesource.com/blog/understanding-the-nodejs-event-loop/) +- [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/) ### Newsletters From 37fefc02c73a1e3420b9d2405a00948f18e19ce3 Mon Sep 17 00:00:00 2001 From: Daniel Cohen Date: Sun, 1 May 2016 21:57:43 +0700 Subject: [PATCH 109/399] Add npmcompare.com MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit …packages Closes #500 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 249194501..832baa1ea 100644 --- a/readme.md +++ b/readme.md @@ -776,6 +776,7 @@ - [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking. - [npm addict](https://npmaddict.com) - Your daily injection of npm packages. +- [npmcompare.com](https://npmcompare.com) - Compare and discover npm packages. ### Articles From 1fb85c3dec831609da0dbe6c3237579ec4d751ea Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 2 May 2016 15:24:37 +0700 Subject: [PATCH 110/399] add meta files --- .editorconfig | 8 ++++++++ .gitattributes | 1 + 2 files changed, 9 insertions(+) create mode 100644 .editorconfig create mode 100644 .gitattributes diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 000000000..aaac3258b --- /dev/null +++ b/.editorconfig @@ -0,0 +1,8 @@ +root = true + +[*] +indent_style = tab +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +insert_final_newline = true diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..176a458f9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +* text=auto From 47c559391630f4a28aca824da097bf945b3106e8 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 2 May 2016 15:30:19 +0700 Subject: [PATCH 111/399] update code of conduct --- code-of-conduct.md | 80 ++++++++++++++++++++++++++++++---------------- contributing.md | 2 +- 2 files changed, 53 insertions(+), 29 deletions(-) diff --git a/code-of-conduct.md b/code-of-conduct.md index be26cfd23..a7c7db8b0 100644 --- a/code-of-conduct.md +++ b/code-of-conduct.md @@ -1,24 +1,41 @@ -# Contributor Code of Conduct +# Contributor Covenant Code of Conduct -As contributors and maintainers of this project, and in the interest of -fostering an open and welcoming community, we pledge to respect all people who -contribute through reporting issues, posting feature requests, updating -documentation, submitting pull requests or patches, and other activities. +## Our Pledge -We are committed to making participation in this project a harassment-free -experience for everyone, regardless of level of experience, gender, gender -identity and expression, sexual orientation, disability, personal appearance, -body size, race, ethnicity, age, religion, or nationality. +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of experience, +nationality, personal appearance, race, religion, or sexual identity and +orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members Examples of unacceptable behavior by participants include: -* The use of sexualized language or imagery -* Personal attacks -* Trolling or insulting/derogatory comments +* The use of sexualized language or imagery and unwelcome sexual attention or +advances +* Trolling, insulting/derogatory comments, and personal or political attacks * Public or private harassment -* Publishing other's private information, such as physical or electronic - addresses, without explicit permission -* Other unethical or unprofessional conduct +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions @@ -26,25 +43,32 @@ that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful. -By adopting this Code of Conduct, project maintainers commit themselves to -fairly and consistently applying these principles to every aspect of managing -this project. Project maintainers who do not follow or enforce the Code of -Conduct may be permanently removed from the project team. +## Scope This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +## Enforcement Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting a project maintainer at sindresorhus@gmail.com. All +reported by contacting the project team at sindresorhus@gmail.com. All complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. Maintainers are -obligated to maintain confidentiality with regard to the reporter of an -incident. +is deemed necessary and appropriate to the circumstances. The project team is +obligated to maintain confidentiality with regard to the reporter of an incident. +Further details of specific enforcement policies may be posted separately. + +Project maintainers who do not follow or enforce the Code of Conduct in good +faith may face temporary or permanent repercussions as determined by other +members of the project's leadership. +## Attribution -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 1.3.0, available at -[http://contributor-covenant.org/version/1/3/0/][version] +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, +available at [http://contributor-covenant.org/version/1/4][version] [homepage]: http://contributor-covenant.org -[version]: http://contributor-covenant.org/version/1/3/0/ +[version]: http://contributor-covenant.org/version/1/4/ diff --git a/contributing.md b/contributing.md index 346cc3fcb..90913f92b 100644 --- a/contributing.md +++ b/contributing.md @@ -20,7 +20,7 @@ Ensure your pull request adheres to the following guidelines: - Make sure your text editor is set to remove trailing whitespace. - The pull request should have a useful title and include a link to the package and why it should be included. -Thank you for your suggestions! +Thank you for your suggestion! ### Updating your PR From d39ee6acf2c9cc7e5cf4c20664ab173af7de06eb Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 4 May 2016 21:09:45 +0700 Subject: [PATCH 112/399] add Node.js icon --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 832baa1ea..3d0066ea5 100644 --- a/readme.md +++ b/readme.md @@ -1,5 +1,7 @@ # Awesome Node.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) +[](https://nodejs.org) + > A curated list of delightful Node.js [packages](#packages) and [resources](#resources). *Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* From ee0ef9cbe9ace5ececbfd34dbd187c6a88317940 Mon Sep 17 00:00:00 2001 From: Victor Lupu Date: Sun, 8 May 2016 12:33:21 +0700 Subject: [PATCH 113/399] Add schema-inspector I find it one of the best documented and customizable modules for object validation. Best thing about it, also includes sanitization. Closes #501 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3d0066ea5..d59e2b8ae 100644 --- a/readme.md +++ b/readme.md @@ -477,6 +477,7 @@ - [joi](https://github.com/hapijs/joi) - Object schema description language and validator for JavaScript objects. - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast. - [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express. +- [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation. ### Parsing From 57b03bd0732fae5715d83f2fce92be1ae5f56548 Mon Sep 17 00:00:00 2001 From: Douglas Wade Date: Mon, 16 May 2016 01:48:20 -0700 Subject: [PATCH 114/399] Replace bell with banshee (#510) Bell.js is no longer maintained, and banshee is the recommended replacement. As such, list banshee in bell's place. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d59e2b8ae..9e0fdbf4b 100644 --- a/readme.md +++ b/readme.md @@ -754,7 +754,7 @@ - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. - [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. - [nar](https://github.com/h2non/nar) - Create self-contained executable binaries. -- [node-bell](https://github.com/eleme/bell.js) - Real-time anomalies detection for periodic time series. +- [banshee](https://github.com/eleme/banshee) - Real-time anomalies detection for periodic time series. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. From b1a8d67dfe65a5e699190c02db21257713316581 Mon Sep 17 00:00:00 2001 From: Nikita Liashenko Date: Mon, 16 May 2016 19:04:13 +0300 Subject: [PATCH 115/399] Add Mostly Node podcast --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 9e0fdbf4b..7dbc2d3c6 100644 --- a/readme.md +++ b/readme.md @@ -812,6 +812,7 @@ ### Podcasts - [NodeUp](http://nodeup.com) +- [Mostly Node](http://mostlynode.com) ### Books From eb00d666d8f30551ee52da7938da0b1b7df30470 Mon Sep 17 00:00:00 2001 From: Nikita Liashenko Date: Wed, 18 May 2016 12:03:18 +0300 Subject: [PATCH 116/399] Add "Secure Your Node.js Web Application" book (#513) I have read this book recently and I think it's the best thing, where you can find security tips and tricks with good explanation. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7dbc2d3c6..5f080ed33 100644 --- a/readme.md +++ b/readme.md @@ -824,6 +824,7 @@ - [Mixu's Node book](http://book.mixu.net/node/) - [Web Development with Node and Express](http://shop.oreilly.com/product/0636920032977.do) - [Pro Express.js](http://proexpressjs.com) +- [Secure Your Node.js Web Application](http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856) ### Blogs From a91fbd5aed251acca500d52110cf5f6350e48bc1 Mon Sep 17 00:00:00 2001 From: Alister Norris Date: Wed, 18 May 2016 22:26:15 +0700 Subject: [PATCH 117/399] Add Nightwatch Closes #514 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5f080ed33..752f56717 100644 --- a/readme.md +++ b/readme.md @@ -576,6 +576,7 @@ - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. +- [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver. ### Security From bcef26487adec5a8567cad53d4fa36d65db2f75c Mon Sep 17 00:00:00 2001 From: Alexander Komlev Date: Mon, 6 Jun 2016 20:17:06 +0200 Subject: [PATCH 118/399] Add ctrace Well-formatted and improved trace system calls and signals (when the debugger does not help). ```ctrace``` are indispensable in the following cases - Debugging complex performance issues or not identified unhandled errors and exceptions in own code or someone else's code - Learning OS kernel Closes #519 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 752f56717..394cccf2a 100644 --- a/readme.md +++ b/readme.md @@ -209,6 +209,7 @@ - [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. - [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. - [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. +- [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals. ### Logging From 0726ccaccef503bff804ddcb49d2b8426beb380e Mon Sep 17 00:00:00 2001 From: Maik Ellerbrock Date: Tue, 7 Jun 2016 13:06:27 +0200 Subject: [PATCH 119/399] Add nsp Closes #523 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 394cccf2a..7513413ca 100644 --- a/readme.md +++ b/readme.md @@ -583,6 +583,7 @@ ### Security - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. +- [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project. ### Benchmarking From 6bd59432d54bfa8d1a2f761c3296bb869972ad57 Mon Sep 17 00:00:00 2001 From: omphalos Date: Tue, 7 Jun 2016 06:21:23 -0500 Subject: [PATCH 120/399] Add kad (#520) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7513413ca..e5c2e0562 100644 --- a/readme.md +++ b/readme.md @@ -98,6 +98,7 @@ - [NodeOS](http://node-os.com) - The first operating system powered by npm. - [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. - [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. +- [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table. ### Command-line apps From a2d06e02e76f19edc98cdd2a7990918f2d8c376b Mon Sep 17 00:00:00 2001 From: Maik Ellerbrock Date: Wed, 8 Jun 2016 07:01:54 +0800 Subject: [PATCH 121/399] Add "You Don't Know Node.js" (#525) --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index e5c2e0562..45de4f4f2 100644 --- a/readme.md +++ b/readme.md @@ -778,6 +778,8 @@ - [browserify-handbook](https://github.com/substack/browserify-handbook) - The definitive guide for browserify. - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. - [The Node Way](http://thenodeway.io) — 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. +- [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. + ### Discovery From 68046d442f43442f2cd82d7270a15610f1983cc4 Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Fri, 10 Jun 2016 14:54:24 +0200 Subject: [PATCH 122/399] add listr (#529) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 45de4f4f2..e1940596e 100644 --- a/readme.md +++ b/readme.md @@ -263,6 +263,7 @@ - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. - [liftoff](https://github.com/js-cli/js-liftoff) - Bootstrapping tool for building command-line app. +- [listr](https://github.com/samverschueren/listr) - Terminal task list. ### Build tools From 01b30e4114323754641b82e225574e3f5d4d5b9d Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 14 Jun 2016 18:54:48 +0200 Subject: [PATCH 123/399] =?UTF-8?q?OS=20X=20=E2=86=92=20macOS?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index e1940596e..b2b56bfe8 100644 --- a/readme.md +++ b/readme.md @@ -123,7 +123,7 @@ - [is-up](https://github.com/sindresorhus/is-up) - Check whether a website is up or down. - [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up. - [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address. -- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the OS X Dark Mode. +- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. - [http-server](https://github.com/indexzero/http-server) - Simple, zero-config command-line HTTP server. @@ -335,7 +335,7 @@ - [rimraf](https://github.com/isaacs/rimraf) - Recursively delete files like `rm -rf`. - [mkdirp](https://github.com/substack/node-mkdirp) - Recursively create directories like `mkdir -p`. - [graceful-fs](https://github.com/isaacs/node-graceful-fs) - Drop-in replacement for the `fs` module with various improvements. -- [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on OS X. +- [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS. - [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories. - [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file. - [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically. From 6d28088bb2ad4561f5d523eeeb43e9404a27bbb6 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 18 Jun 2016 13:05:07 +0200 Subject: [PATCH 124/399] Add npms https://npms.io --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b2b56bfe8..b5633f707 100644 --- a/readme.md +++ b/readme.md @@ -784,6 +784,7 @@ ### Discovery +- [npms](https://npms.io) - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about). - [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking. - [npm addict](https://npmaddict.com) - Your daily injection of npm packages. - [npmcompare.com](https://npmcompare.com) - Compare and discover npm packages. From 1639c8f618b2b7afd1e207f144a62607e306b4fd Mon Sep 17 00:00:00 2001 From: Jacob Payne Date: Sat, 18 Jun 2016 21:37:51 +0200 Subject: [PATCH 125/399] Add Kefir.js Kefir.js is a prominent frp library inspired by Bacon.js and RxJS with focus on high performance and low memory usage. Closes #534 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b5633f707..240679954 100644 --- a/readme.md +++ b/readme.md @@ -175,6 +175,7 @@ - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. - [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. +- [Kefir.js](https://github.com/rpominov/kefir) - Reactive library with focus on high performance and low memory usage. ### HTTP From 7e44c960454d7d79b7741ba02b0da39ee188f2f1 Mon Sep 17 00:00:00 2001 From: Frederic Charette Date: Sat, 18 Jun 2016 15:43:25 -0400 Subject: [PATCH 126/399] Add Kalm (#532) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 240679954..83f554716 100644 --- a/readme.md +++ b/readme.md @@ -405,6 +405,7 @@ - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. - [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. +- [Kalm](https://github.com/fed135/Kalm) - Modular socket wrapper and optimizer. ### Image From c1b6c7f407ad82113a64c00497c602e47faa12a4 Mon Sep 17 00:00:00 2001 From: John Gracey Date: Sat, 18 Jun 2016 12:45:12 -0700 Subject: [PATCH 127/399] Add RegEx-DoS (#531) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 83f554716..98ad7fd9e 100644 --- a/readme.md +++ b/readme.md @@ -588,6 +588,7 @@ - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project. +- [RegEx-DoS](https://github.com/jagracey/RegEx-DoS) - CLI tool to identify possible regex denial of service (ReDos) vulnerabilities in your project. ### Benchmarking From c5bf8735bcce4514504409319bd4e6550a36efbb Mon Sep 17 00:00:00 2001 From: Biktop Date: Sat, 18 Jun 2016 21:53:40 +0200 Subject: [PATCH 128/399] Add Objection.js Modern light ORM (supports Promises, ES6/ES7 syntax) is built on the knee. Has very good documentation and samples. Closes #528 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 98ad7fd9e..45fe162c8 100644 --- a/readme.md +++ b/readme.md @@ -556,6 +556,7 @@ - [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB. - [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. + - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - Query builder - [Knex](http://knexjs.org) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other From 7bffdcd99350bf3a558c93d54e7c08806aff58ac Mon Sep 17 00:00:00 2001 From: Sam Verschueren Date: Sat, 18 Jun 2016 21:54:23 +0200 Subject: [PATCH 129/399] meta tweaks --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 45fe162c8..9162e8866 100644 --- a/readme.md +++ b/readme.md @@ -175,7 +175,7 @@ - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. - [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. -- [Kefir.js](https://github.com/rpominov/kefir) - Reactive library with focus on high performance and low memory usage. +- [Kefir.js](https://github.com/rpominov/kefir) - Reactive library with focus on high performance and low memory usage. ### HTTP @@ -685,7 +685,7 @@ ### Automation -- [robotjs](https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen. +- [robotjs](https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen. ### AST From 1504add716502e6945d37f88099f01b3d7db2a4f Mon Sep 17 00:00:00 2001 From: Eric Saboia Date: Fri, 24 Jun 2016 15:20:13 +0200 Subject: [PATCH 130/399] Add Hypernova (#536) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 9162e8866..941c34fd5 100644 --- a/readme.md +++ b/readme.md @@ -771,6 +771,7 @@ - [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. - [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. - [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM. +- [hypernova](https://github.com/airbnb/hypernova) - A service for server-side rendering your JavaScript views. ## Resources From 3e291e7356c279e1094c2262185befd8f6479db4 Mon Sep 17 00:00:00 2001 From: David Ferguson Date: Fri, 24 Jun 2016 15:22:50 +0200 Subject: [PATCH 131/399] Add Polo - Zero-config service discovery Polo is a really slick little module I've used in numerous projects allowing you to easily discover other services running on your network. Closes #537 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 941c34fd5..3a4d8ccaf 100644 --- a/readme.md +++ b/readme.md @@ -534,6 +534,7 @@ - [get-port](https://github.com/sindresorhus/get-port) - Get an available port. - [ipify](https://github.com/sindresorhus/ipify) - Get your public IP address. - [getmac](https://github.com/bevry/getmac) - Get the computer MAC address. +- [polo](https://github.com/mafintosh/polo) - Zero-config service discovery. ### Database From ce1c34ee333f9f4d117391b5dbea5a29489f9d5f Mon Sep 17 00:00:00 2001 From: Florian Breisch Date: Fri, 24 Jun 2016 15:29:42 +0200 Subject: [PATCH 132/399] Add ESDoc - Documentation generator targeting ES2015 (#538) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3a4d8ccaf..41dbc5d55 100644 --- a/readme.md +++ b/readme.md @@ -326,6 +326,7 @@ - [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs. - [documentation.js](http://documentation.js.org) - API documentation generator with support for ES2015+ and flow annotation. - [YUIDoc](http://yui.github.com/yuidoc/) - Generates API documentation from comments in source. +- [ESDoc](https://esdoc.org) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. ### Filesystem From 6ea16cdcbab9b1b57972fe67b10057250e8998ca Mon Sep 17 00:00:00 2001 From: Alexander Abashkin Date: Sun, 26 Jun 2016 15:38:13 +0200 Subject: [PATCH 133/399] Add WebdriverIO WebdriverIO is a serious framework for automated testing based on WebDriver protocol. it provides own test-runner, reporters, services, plugins, sync/async API, eventhandling, multiremoting and powerfull debugging Closes #539 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 41dbc5d55..6f94db630 100644 --- a/readme.md +++ b/readme.md @@ -585,6 +585,7 @@ - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. - [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver. +- [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol. ### Security From b46dc2b536582a8b059453a015d8a83ad608a9d5 Mon Sep 17 00:00:00 2001 From: Andrey Kucherenko Date: Wed, 29 Jun 2016 14:38:28 +0200 Subject: [PATCH 134/399] Add jscpd - Copy/paste detector for source code `jscpd` is a tool for detect copy/paste in programming code. Supports different languages like javascript, coffeescript, java, typescript, css, less, html, etc. As report `jscpd` use console output, json and xml/html formats. Also `jscpd` can show authors of duplication based on `git blame` report. Homepage: https://github.com/kucherenko/jscpd Closes #541 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6f94db630..36cd2d93e 100644 --- a/readme.md +++ b/readme.md @@ -161,6 +161,7 @@ - [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. - [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal. - [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML. +- [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code. ### Functional programming From 9edd271a10457ce90a0aa008f21bdcbc68dba582 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 29 Jun 2016 14:39:24 +0200 Subject: [PATCH 135/399] Remove JSCS It's being deprecated in favor of ESLint --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 36cd2d93e..cd54137f5 100644 --- a/readme.md +++ b/readme.md @@ -112,7 +112,6 @@ - [yo](https://github.com/yeoman/yo) - Run Yeoman generators. - [Babel](https://babeljs.io/docs/usage/cli/) - Use next generation JavaScript, today. - [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. -- [JSCS](https://github.com/jscs-dev/node-jscs) - JavaScript Code Style checker. - [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. - [cpy](https://github.com/sindresorhus/cpy) - Copy files. - [fkill](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform. From f8f4b565f0a4a65e1c84cb157882f440cc0ce89b Mon Sep 17 00:00:00 2001 From: Jan Hecking Date: Sun, 3 Jul 2016 05:00:04 +0800 Subject: [PATCH 136/399] Add Aerospike DB client (#540) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index cd54137f5..9879ad4df 100644 --- a/readme.md +++ b/readme.md @@ -547,6 +547,7 @@ - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. - [Redis](https://github.com/luin/ioredis) - Redis client. - [nano](https://github.com/dscape/nano) - CouchDB client. + - [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client. - ODM / ORM - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. From 3e2460ee38eb7084eae4e26bdb6cd46ff72ce60f Mon Sep 17 00:00:00 2001 From: Raathigeshan Kugarajan Date: Sun, 3 Jul 2016 23:05:31 +0200 Subject: [PATCH 137/399] Add atmo https://github.com/Raathigesh/Atmo Closes #542 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 9879ad4df..8d797d580 100644 --- a/readme.md +++ b/readme.md @@ -161,6 +161,7 @@ - [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal. - [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML. - [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code. +- [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking. ### Functional programming From 6cce1f60348d49d09cf7abf862545f271276a480 Mon Sep 17 00:00:00 2001 From: Xavier Garcia Buils Date: Mon, 4 Jul 2016 21:18:20 +0200 Subject: [PATCH 138/399] Add iterum Hi! [iterum](https://github.com/xgbuils/iterum) has useful methods to build generators based on other generators and it takes advantage of the lazy properties of these. Thanks. Closes #543 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8d797d580..aa9c4167d 100644 --- a/readme.md +++ b/readme.md @@ -369,6 +369,7 @@ - [co](https://github.com/tj/co) - The ultimate generator based flow-control goodness. - [suspend](https://github.com/jmar777/suspend) - Generator-based control flow that plays nice with callbacks, promises, and thunks. - [bluebird-co](https://github.com/novacrazy/bluebird-co) - A set of high performance yield handlers for Bluebird coroutines. + - [iterum](https://github.com/xgbuils/iterum) - Build generator pipelines using Array-like methods. - Streams - [Highland.js](http://highlandjs.org) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams. - Channels From c6367b2f9c45bb39310f6579a2ed8a99fb3c6cd7 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 7 Jul 2016 14:52:58 +0200 Subject: [PATCH 139/399] =?UTF-8?q?Table=20of=20Contents=20=E2=86=92=20Con?= =?UTF-8?q?tents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index aa9c4167d..e8c2f5596 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@ **Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** -## Table of Contents +## Contents - [Packages](#packages) - [Mad science](#mad-science) From f81cbc4b14003165840f1f21b107c5adb5894d25 Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Tue, 12 Jul 2016 16:19:40 +0200 Subject: [PATCH 140/399] Add google-libphonenumber to Parsing (#548) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e8c2f5596..13e200938 100644 --- a/readme.md +++ b/readme.md @@ -511,6 +511,7 @@ - [excel-stream](https://github.com/dominictarr/excel-stream) - Streaming Excel spreadsheet to JSON parser. - [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. - [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. +- [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers. ### Humanize From 9e4313140204e51d85dfb400f61301911e25691c Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Tue, 12 Jul 2016 17:50:29 +0200 Subject: [PATCH 141/399] Fix "Error Handling in Node.js" link (#549) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 13e200938..d913eed60 100644 --- a/readme.md +++ b/readme.md @@ -803,7 +803,7 @@ ### Articles -- [Error Handling in Node.js](http://www.joyent.com/developers/node/design/errors) +- [Error Handling in Node.js](https://www.joyent.com/node-js/production/design/errors) - [Teach Yourself Node.js in 10 Steps](https://ponyfoo.com/articles/teach-yourself-nodejs-in-10-steps) - [Mastering the filesystem in Node.js](https://medium.com/@yoshuawuyts/mastering-the-filesystem-in-node-js-4706b7cb0801) - [Semver: A Primer](https://nodesource.com/blog/semver-a-primer/) From 18778c2c3c6e28ebac202028d778714092815648 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 14 Jul 2016 13:19:47 +0200 Subject: [PATCH 142/399] Add `user-info` https://github.com/sindresorhus/user-info --- readme.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index d913eed60..080eb4fa6 100644 --- a/readme.md +++ b/readme.md @@ -648,15 +648,16 @@ - [set-immediate-shim](https://github.com/sindresorhus/set-immediate-shim) - Simple `setImmediate()` ponyfill. - [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) - Node.js 0.12 `path.isAbsolute()` ponyfill. - [os-tmpdir](https://github.com/sindresorhus/os-tmpdir) - Node.js `os.tmpdir()` ponyfill. - - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4.0 `os.homedir()` ponyfill. + - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4 `os.homedir()` ponyfill. + - [user-info](https://github.com/sindresorhus/user-info) - Node.js 6 `os.userInfo()` ponyfill. - [debug-log](https://github.com/sindresorhus/debug-log) - Node.js 0.12 `util.debuglog()` ponyfill. - [buffer-equals](https://github.com/sindresorhus/buffer-equals) - Node.js 0.12 `buffer.equals()` ponyfill. - - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3.0 `buffer.includes()` ponyfill. - - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4.0 `buffer.indexOf()` ponyfill. + - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3 `buffer.includes()` ponyfill. + - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4 `buffer.indexOf()` ponyfill. - [buf-compare](https://github.com/sindresorhus/buf-compare) - Node.js 0.12 `Buffer.compare()` ponyfill. - [fs-access](https://github.com/sindresorhus/fs-access) - Node.js 0.12 `fs.access()` & `fs.accessSync()` ponyfill. - [exec-file-sync](https://github.com/sindresorhus/exec-file-sync) - Node.js 0.12 `childProcess.execFileSync()` ponyfill. - - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4.0 `childProcess.ChildProcess` ponyfill. + - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4 `childProcess.ChildProcess` ponyfill. - [node-status-codes](https://github.com/sindresorhus/node-status-codes) - Node.js `http.STATUS_CODES` ponyfill. - [exit-code](https://github.com/isaacs/exit-code) - Node.js 0.12 `process.exitCode` polyfill. - [core-assert](https://github.com/sindresorhus/core-assert) - Node.js `assert` as a standalone module. From aa970246c9e61c5a5fe732855d4239f4fcbf6a0c Mon Sep 17 00:00:00 2001 From: Atrox Date: Mon, 1 Aug 2016 16:37:20 +0200 Subject: [PATCH 143/399] Move agenda to job queues section (#560) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 080eb4fa6..0fd7e35c8 100644 --- a/readme.md +++ b/readme.md @@ -632,6 +632,7 @@ - [kue](https://github.com/Automattic/kue) - Priority job queue backed by Redis. - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. +- [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. ### Node.js management @@ -766,7 +767,6 @@ - [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries. - [opencv](https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library. - [common-errors](https://github.com/shutterstock/node-common-errors) - Common error classes and utility functions. -- [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. - [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file. - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. - [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. From b8a1e1d3b089cdd2a00756005b9634d35f9966e1 Mon Sep 17 00:00:00 2001 From: MofeLee Date: Tue, 2 Aug 2016 23:13:03 +0800 Subject: [PATCH 144/399] add devtool (#561) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0fd7e35c8..0fb99673a 100644 --- a/readme.md +++ b/readme.md @@ -200,6 +200,7 @@ - [ironNode](https://github.com/s-a/iron-node) - Node.js debugger supporting ES2015 out of the box. - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools. +- [devtool](https://github.com/Jam3/devtool) - Run Node.js programs through Chrome Dev Tools. - [Theseus](https://github.com/adobe-research/theseus) - A new type of JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree. - [longjohn](https://github.com/mattinsler/longjohn) - Long stack traces with configurable call trace length. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. From 081bf961fda20ef18e50b50469e80466da1b3898 Mon Sep 17 00:00:00 2001 From: Matt Bierner Date: Tue, 2 Aug 2016 12:09:45 -0700 Subject: [PATCH 145/399] Add Microsoft Node.js Guidelines (#550) Adds a link to the Microsoft Node.js Guidelines under miscellaneous. These guidelines help developers work with Node.js on Microsoft platforms. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0fb99673a..e61d02668 100644 --- a/readme.md +++ b/readme.md @@ -884,6 +884,7 @@ - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. - [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. +- [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. ## License From 4673450593c581f4a9824e68822f1b2f18bec90a Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 5 Aug 2016 01:54:18 +0200 Subject: [PATCH 146/399] trying out something new --- readme.md | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index e61d02668..93b48d970 100644 --- a/readme.md +++ b/readme.md @@ -1,13 +1,18 @@ # Awesome Node.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) -[](https://nodejs.org) +[](https://nodejs.org) > A curated list of delightful Node.js [packages](#packages) and [resources](#resources). -*Inspired by the [awesome](https://github.com/sindresorhus/awesome) list thing. You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* - +*You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* *Please read the [contribution guidelines](contributing.md) before contributing.* +- + +

🔥 Want to strengthen your core JavaScript skills and master ES6?
I would personally recommend this awesome ES6 course by Wes Bos.

+ +- + **Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** From a742bf657455c5f6b34d4597e1102b2436f9f276 Mon Sep 17 00:00:00 2001 From: Skyler Hair Date: Fri, 5 Aug 2016 14:37:30 -0600 Subject: [PATCH 147/399] Add `nerds` (#556) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 93b48d970..f9a80fbd4 100644 --- a/readme.md +++ b/readme.md @@ -745,6 +745,7 @@ - [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces. - [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ” - [cows](https://github.com/sindresorhus/cows) - ASCII cows. +- [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon. ### Miscellaneous From 09b0d143975d5f0166933df3dad6fd4f5ffa175b Mon Sep 17 00:00:00 2001 From: Nick Spragg Date: Tue, 9 Aug 2016 19:47:04 +0100 Subject: [PATCH 148/399] Add filehound (#565) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f9a80fbd4..375aca47a 100644 --- a/readme.md +++ b/readme.md @@ -356,6 +356,7 @@ - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. - [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. - [sander](https://github.com/rich-harris/sander) - Promise-based replacement for the `fs` module. +- [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system. ### Control flow From db8e3f39e314511d6d420daa4ca22a7f68e4c3d7 Mon Sep 17 00:00:00 2001 From: Felix Kollmar Date: Tue, 9 Aug 2016 20:49:22 +0200 Subject: [PATCH 149/399] Add CloudRail closes #562 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 375aca47a..91d9db687 100644 --- a/readme.md +++ b/readme.md @@ -627,6 +627,7 @@ - [passwordless](https://passwordless.net) - Token-based authentication middleware for Express allowing authentication without passwords. - [Lockit](https://github.com/zemirco/lockit) - Full featured authentication solution for Express. Supports a variety of databases, predefined routes, email and two-factor authentication. - [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. +- [CloudRail](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …). ### Email From baf8cae55c1e2e621a653223e01e15f7294fbbc7 Mon Sep 17 00:00:00 2001 From: Nick Spragg Date: Thu, 11 Aug 2016 21:24:02 +0100 Subject: [PATCH 150/399] Add Flashheart (#566) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 91d9db687..02c97815d 100644 --- a/readme.md +++ b/readme.md @@ -199,6 +199,7 @@ - [rocky](https://github.com/h2non/rocky) - Featured, middleware-oriented HTTP proxy with traffic replay and intercept. - [superagent](https://github.com/visionmedia/superagent) - A small progressive HTTP request library. - [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. +- [flashheart](https://github.com/bbc/flashheart) - A fully-featured REST client built for ease of use and resilience. ### Debugging / Profiling From bd670c167f690849788e2078f315b4d24d8f718a Mon Sep 17 00:00:00 2001 From: Farhan Yousaf Date: Fri, 12 Aug 2016 02:06:02 -0700 Subject: [PATCH 151/399] Remove LearnAllTheNodes as the website for the video links doesn't exist anymore, or was down when I checked. (#567) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 02c97815d..784d58ec8 100644 --- a/readme.md +++ b/readme.md @@ -831,7 +831,6 @@ ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) -- [LearnAllTheNodes](https://www.learnallthenodes.com) - Series of useful tips, tricks, and packages. - [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals) - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. From a37c99963af960fe7cdf0fbec8cbcbecba1a3100 Mon Sep 17 00:00:00 2001 From: Siddharth Kshetrapal Date: Fri, 19 Aug 2016 03:26:07 +0530 Subject: [PATCH 152/399] Add auto-install (#568) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 784d58ec8..f0f335bf1 100644 --- a/readme.md +++ b/readme.md @@ -167,6 +167,7 @@ - [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML. - [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code. - [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking. +- [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code. ### Functional programming From b7028c0ee8d20df7aec76a5a09859fc77511b06a Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 29 Aug 2016 14:42:54 +0200 Subject: [PATCH 153/399] =?UTF-8?q?now=20haz=20a=20beautiful=20URL:=20node?= =?UTF-8?q?.cool=20=E2=9C=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index f0f335bf1..4457849f3 100644 --- a/readme.md +++ b/readme.md @@ -4,6 +4,8 @@ > A curated list of delightful Node.js [packages](#packages) and [resources](#resources). +**Just type [`node.cool`](https://node.cool) to go here ✨** + *You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* *Please read the [contribution guidelines](contributing.md) before contributing.* From 7656342fdaf6466dbcbc561522f232c784b5c79c Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 29 Aug 2016 14:46:58 +0200 Subject: [PATCH 154/399] formatting tweaks --- readme.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 4457849f3..b8d6cd9f0 100644 --- a/readme.md +++ b/readme.md @@ -680,7 +680,6 @@ - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - ES2015 `Promise` ponyfill. - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. - [es6-shim](https://github.com/paulmillr/es6-shim) - Collection of ES2015 polyfills. - - More ES2015 polyfills at [es6-tools](https://github.com/addyosmani/es6-tools#polyfills). ### Natural language processing @@ -804,7 +803,7 @@ - [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams. - [browserify-handbook](https://github.com/substack/browserify-handbook) - The definitive guide for browserify. - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. -- [The Node Way](http://thenodeway.io) — 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. +- [The Node Way](http://thenodeway.io) - 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. - [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. @@ -863,7 +862,7 @@ - [Node.js blog](https://nodejs.org/en/blog/) - [HowToNode](http://howtonode.org) - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code. -- [webapplog.com](http://webapplog.com/tag/node-js/) — Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan. +- [webapplog.com](http://webapplog.com/tag/node-js/) - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan. ### Courses From 837baf0f808bb02f99e00e8b9ea0afc835369c9e Mon Sep 17 00:00:00 2001 From: Dirceu Pereira Tiegs Date: Sun, 4 Sep 2016 15:13:30 -0300 Subject: [PATCH 155/399] Add pino (#573) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b8d6cd9f0..fab228231 100644 --- a/readme.md +++ b/readme.md @@ -232,6 +232,7 @@ - [intel](http://seanmonstar.github.io/intel/) - A comprehensive logging library (handlers, filters, formatters, console injection). - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. +- [pino](https://github.com/mcollina/pino) - Extremely fast logger inspired by Bunyan. ### Command-line utilities From bfb25ab0c4fadeddcefaa2f1e8a6a31f652d6cd3 Mon Sep 17 00:00:00 2001 From: Khoa Nguyen Date: Tue, 6 Sep 2016 20:12:40 +0700 Subject: [PATCH 156/399] Add Phenomic (#574) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fab228231..a31fbdb77 100644 --- a/readme.md +++ b/readme.md @@ -721,6 +721,7 @@ - [Wintersmith](http://wintersmith.io) - Flexible, minimalistic, multi-platform static site generator. - [Assemble](http://assemble.io) - Static site generator for Node.js, Grunt.js, and Yeoman. - [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem. +- [Phenomic](https://phenomic.io) - Modern static website generator based on the React and Webpack ecosystem. ### Content management systems From 72825f8187612a5cc572546d3fe31cad09cead93 Mon Sep 17 00:00:00 2001 From: Evgeny Poberezkin Date: Fri, 9 Sep 2016 11:17:37 +0100 Subject: [PATCH 157/399] Add ajv (#576) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a31fbdb77..6effa6b54 100644 --- a/readme.md +++ b/readme.md @@ -498,6 +498,7 @@ - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast. - [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express. - [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation. +- [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5 proposals. ### Parsing From 2a5ffeaa1ddda290fbe45fa8cc98d44c601a843b Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Mon, 19 Sep 2016 19:31:21 +0200 Subject: [PATCH 158/399] Add ref (#582) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6effa6b54..000b09cdb 100644 --- a/readme.md +++ b/readme.md @@ -525,6 +525,7 @@ - [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. - [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. - [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers. +- [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers. ### Humanize From 5bc126e86779fd261df6fc541b990eb1973cbbf7 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Thu, 29 Sep 2016 08:10:47 +0400 Subject: [PATCH 159/399] Add `promise-memoize` (#589) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 000b09cdb..a605d0132 100644 --- a/readme.md +++ b/readme.md @@ -372,6 +372,7 @@ - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function. - [rfpify](https://github.com/samverschueren/rfpify) - Promisify a result-first callback-style function. - [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time. + - [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. From 72f60eec029b35a5461faf16625442c74d9bb6f2 Mon Sep 17 00:00:00 2001 From: Kenneth Palaganas Date: Fri, 7 Oct 2016 16:46:08 +0800 Subject: [PATCH 160/399] Add rollup (#593) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a605d0132..80acd41eb 100644 --- a/readme.md +++ b/readme.md @@ -291,6 +291,7 @@ - [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. - [ygor](https://github.com/shannonmoeller/ygor) - A promising task runner for when `npm run` isn't enough and everything else is too much. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. +- [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler. ### Hardware From 8d92500dee040dad3eae10b1d2512f64d56818b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Halil=20=C4=B0brahim=20=C5=9Eener?= Date: Tue, 18 Oct 2016 20:36:43 +0300 Subject: [PATCH 161/399] Add MQTT.js (#579) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 80acd41eb..450097c11 100644 --- a/readme.md +++ b/readme.md @@ -423,6 +423,7 @@ - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. - [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. - [Kalm](https://github.com/fed135/Kalm) - Modular socket wrapper and optimizer. +- [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - A lightweight pub-sub based messaging protocol for use on top of TCP/IP. ### Image From 5b2f53f97dd496f188f1db643a267d965679ef5d Mon Sep 17 00:00:00 2001 From: Luigi Pinca Date: Tue, 18 Oct 2016 20:01:31 +0200 Subject: [PATCH 162/399] Add valvelet (#594) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 450097c11..63cd2a21a 100644 --- a/readme.md +++ b/readme.md @@ -374,6 +374,7 @@ - [rfpify](https://github.com/samverschueren/rfpify) - Promisify a result-first callback-style function. - [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time. - [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch. + - [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. From 74b75e2bcbd214c255219f8084463e6b1b70a373 Mon Sep 17 00:00:00 2001 From: Jordan Tucker Date: Tue, 18 Oct 2016 13:14:26 -0500 Subject: [PATCH 163/399] Add ActionHero (#591) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 63cd2a21a..78bb05cbc 100644 --- a/readme.md +++ b/readme.md @@ -328,6 +328,7 @@ - [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. - [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. - [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. +- [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. ### Documentation From 0092f5c0af3bf3619b3ad53b471b114bf2dcdf42 Mon Sep 17 00:00:00 2001 From: Terkel Date: Tue, 18 Oct 2016 20:15:59 +0200 Subject: [PATCH 164/399] Add Jest (#597) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 78bb05cbc..7eab05287 100644 --- a/readme.md +++ b/readme.md @@ -609,6 +609,7 @@ - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. - [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver. - [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol. +- [Jest](https://github.com/facebook/jest) - Painless JavaScript testing. ### Security From 7a9e1b38a2ea5c1543e9d2182be667ff4f859f7a Mon Sep 17 00:00:00 2001 From: Stephen Whitmore Date: Wed, 19 Oct 2016 02:11:14 -0400 Subject: [PATCH 165/399] Add article: Art of README (#595) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7eab05287..b584e0226 100644 --- a/readme.md +++ b/readme.md @@ -834,6 +834,7 @@ - [Why Asynchronous?](https://nodesource.com/blog/why-asynchronous/) - [Understanding the Node.js Event Loop](https://nodesource.com/blog/understanding-the-nodejs-event-loop/) - [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/) +- [Art of README](https://github.com/noffle/art-of-readme) - Learn the art of writing quality READMEs. ### Newsletters From abcc696307c410432bdd58a8a8c27101402b7cd6 Mon Sep 17 00:00:00 2001 From: Brandon Bayer Date: Sat, 22 Oct 2016 16:09:18 -0500 Subject: [PATCH 166/399] Add MERN (#599) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b584e0226..d98ee321e 100644 --- a/readme.md +++ b/readme.md @@ -329,6 +329,7 @@ - [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. - [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. +- [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. ### Documentation From 86a2d0f3127791650892defec98d423eba77443b Mon Sep 17 00:00:00 2001 From: Vedran Blazenka Date: Sun, 23 Oct 2016 22:16:28 +0200 Subject: [PATCH 167/399] Add seedshot (#600) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d98ee321e..089a55ff9 100644 --- a/readme.md +++ b/readme.md @@ -106,6 +106,7 @@ - [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. - [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. - [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table. +- [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. ### Command-line apps From 227ff9b2b7991879d663df1f68a44b42392d2778 Mon Sep 17 00:00:00 2001 From: Brandon Bayer Date: Wed, 26 Oct 2016 04:08:32 -0500 Subject: [PATCH 168/399] Add Next.js (#603) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 089a55ff9..c53826823 100644 --- a/readme.md +++ b/readme.md @@ -331,6 +331,7 @@ - [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. - [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. +- [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered React apps. ### Documentation From e5f6c7fe91a661920946f5e5eb196d921ae07448 Mon Sep 17 00:00:00 2001 From: typicode Date: Thu, 3 Nov 2016 05:38:57 +0100 Subject: [PATCH 169/399] Add Lowdb (#605) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c53826823..ebc6f4226 100644 --- a/readme.md +++ b/readme.md @@ -589,6 +589,7 @@ - [Knex](http://knexjs.org) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other - [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript. + - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. ### Testing From 551a3058eb96479d0f6f8cd9b7f05c05bd584ab5 Mon Sep 17 00:00:00 2001 From: bubalubu Date: Sun, 13 Nov 2016 13:20:19 +0700 Subject: [PATCH 170/399] Add uWebSockets (#618) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ebc6f4226..92a487257 100644 --- a/readme.md +++ b/readme.md @@ -429,6 +429,7 @@ - [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. - [Kalm](https://github.com/fed135/Kalm) - Modular socket wrapper and optimizer. - [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - A lightweight pub-sub based messaging protocol for use on top of TCP/IP. +- [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server & client library. ### Image From 9a8c03a8c8b58f62881429148047e6a2e07a5c8c Mon Sep 17 00:00:00 2001 From: Boris Kirov Date: Mon, 14 Nov 2016 18:44:14 +0300 Subject: [PATCH 171/399] Add TestCafe (#617) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 92a487257..5d1185d85 100644 --- a/readme.md +++ b/readme.md @@ -615,6 +615,7 @@ - [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver. - [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol. - [Jest](https://github.com/facebook/jest) - Painless JavaScript testing. +- [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. ### Security From 11a774be9632ba02b1e6f22d8e2020e821cf5bb8 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 17 Nov 2016 12:42:32 +0700 Subject: [PATCH 172/399] improve contribution guidelines --- contributing.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index 90913f92b..78f3960b9 100644 --- a/contributing.md +++ b/contributing.md @@ -6,19 +6,23 @@ Please note that this project is released with a [Contributor Code of Conduct](c Ensure your pull request adheres to the following guidelines: +- **If you just created something, wait at least 30 days before submitting.** This is to give it some time to mature and ensure it's not just a publish-and-forget type of project. +- Keep in mind that the list is very mature by now, so the bar of getting something accepted is high. Only submit something unique and generally useful. The world (and this list) doesn't need yet another ORM or framework. For CLI tools, the bar is especially high, and unless it's something very awesome, I would suggest submitting to [awesome-cli-apps](https://github.com/aharris88/awesome-cli-apps) instead. +- If you submit a project that is similar to an existing project in the list, argument how it's better. - Search previous suggestions before making a new one, as yours may be a duplicate. - Suggested packages should be tested and documented. - Make an individual pull request for each suggestion. - Use the following format: `[package](link) - Description.` - Additions should be added to the bottom of the relevant category. -- New categories, or improvements to the existing categorization are welcome. - Link to the GitHub repo, not npmjs.com. - Keep descriptions short and simple, but descriptive. - Don't mention `Node.js` in the description as it's implied. - Start the description with a capital and end with a full stop/period. +- Don't start the description with `A` or `An`. - Check your spelling and grammar. - Make sure your text editor is set to remove trailing whitespace. - The pull request should have a useful title and include a link to the package and why it should be included. +- New categories or improvements to the existing categorization are welcome, but should be done in a separate pull request. Thank you for your suggestion! From 87233f2f000168b9d3945ee804293cde7996c59c Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 17 Nov 2016 12:45:59 +0700 Subject: [PATCH 173/399] add pull request template --- .github/pull_request_template.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 .github/pull_request_template.md diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md new file mode 100644 index 000000000..6f7a0fa8e --- /dev/null +++ b/.github/pull_request_template.md @@ -0,0 +1,3 @@ +**By submitting this pull request, I promise I have read the [contribution guidelines](https://github.com/sindresorhus/awesome-nodejs/blob/master/contributing.md) twice and ensured my submission follows it. I realize not doing so wastes the maintainers' time that they could have spent making the world better. 🖖** + +⬆⬆⬆⬆⬆⬆⬆⬆⬆⬆ From 6d4db690e611d331ad9e3f484303c35e0d2b4309 Mon Sep 17 00:00:00 2001 From: Aman Mittal Date: Wed, 23 Nov 2016 10:43:52 +0530 Subject: [PATCH 174/399] Add "Express in Action" to Books (#622) Good resource, for learning more about ExpressJS. Introduced me to some tips that I never came across internet while learning. --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5d1185d85..44066cb0b 100644 --- a/readme.md +++ b/readme.md @@ -874,6 +874,7 @@ - [Web Development with Node and Express](http://shop.oreilly.com/product/0636920032977.do) - [Pro Express.js](http://proexpressjs.com) - [Secure Your Node.js Web Application](http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856) +- [Express in Action](https://www.manning.com/books/express-in-action) ### Blogs From fe881e556fc6c502e4ba4db96ca3c622d98aaaba Mon Sep 17 00:00:00 2001 From: Rob Powell Date: Tue, 29 Nov 2016 04:30:54 +0000 Subject: [PATCH 175/399] Add Couchbase to Database section (#625) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 44066cb0b..40755a3f9 100644 --- a/readme.md +++ b/readme.md @@ -574,6 +574,7 @@ - [Redis](https://github.com/luin/ioredis) - Redis client. - [nano](https://github.com/dscape/nano) - CouchDB client. - [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client. + - [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client. - ODM / ORM - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. From cddfbf42e100d9ccd1c75bcd7bebb5bc8e11c391 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Tue, 29 Nov 2016 08:35:44 +0400 Subject: [PATCH 176/399] Add idoit to Job queues section (#614) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 40755a3f9..d44d40e76 100644 --- a/readme.md +++ b/readme.md @@ -661,6 +661,7 @@ - [kue](https://github.com/Automattic/kue) - Priority job queue backed by Redis. - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. - [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. +- [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. ### Node.js management From a3ba7e82a57e7bcfaaff5b606d3ebb8d75823a2d Mon Sep 17 00:00:00 2001 From: Vadim Makeev Date: Fri, 9 Dec 2016 13:52:29 +0300 Subject: [PATCH 177/399] Updated link for wifi-password CLI package (#631) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d44d40e76..c7c948576 100644 --- a/readme.md +++ b/readme.md @@ -144,7 +144,7 @@ - [license-checker](https://github.com/davglass/license-checker) - Check licenses of your app's dependencies. - [browser-run](https://github.com/juliangruber/browser-run) - Easily run code in a browser environment. - [modhelp](https://github.com/runvnc/modhelp) - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager. -- [wifi-password](https://github.com/kevva/wifi-password) - Get the current wifi password. +- [wifi-password](https://github.com/kevva/wifi-password-cli) - Get the current wifi password. - [wallpaper](https://github.com/sindresorhus/wallpaper) - Change the desktop wallpaper. - [brightness](https://github.com/kevva/brightness-cli) - Change the screen brightness. - [torrent](https://github.com/maxogden/torrent) - Download torrents. From 2e66f7e88db9a96642bb6ef5e4753ea3bc8b9a23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Danilo=20C=C3=A1ssio=20Gon=C3=A7alves=20Miranda?= Date: Mon, 12 Dec 2016 18:52:11 -0300 Subject: [PATCH 178/399] Update "Real Time Web with Node.js" link (#635) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index c7c948576..97be1670a 100644 --- a/readme.md +++ b/readme.md @@ -886,7 +886,7 @@ ### Courses -- [Real Time Web with Node.js](http://campus.codeschool.com/auth/codeschool) +- [Real Time Web with Node.js](https://www.codeschool.com/courses/real-time-web-with-node-js) - [Learn and Understand Node.js](https://www.udemy.com/understand-nodejs) ### Cheatsheets From 5aa9439d353be525ea3bec753babd7d7ea131d50 Mon Sep 17 00:00:00 2001 From: Svetlana Linuxenko Date: Thu, 15 Dec 2016 04:29:03 +0200 Subject: [PATCH 179/399] Add lessmd (#604) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 97be1670a..89b2dc2cf 100644 --- a/readme.md +++ b/readme.md @@ -171,6 +171,7 @@ - [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code. - [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking. - [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code. +- [lessmd](https://github.com/linuxenko/lessmd) - Markdown in the terminal. ### Functional programming From e778c390e3a222cfc6c73e1c506f73e8e8943d5c Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 17 Dec 2016 01:18:22 +0100 Subject: [PATCH 180/399] Add cost-of-modules Closes #627 --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 89b2dc2cf..cc11517e8 100644 --- a/readme.md +++ b/readme.md @@ -172,6 +172,7 @@ - [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking. - [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code. - [lessmd](https://github.com/linuxenko/lessmd) - Markdown in the terminal. +- [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down. ### Functional programming From c7815ac8b31677872fd2a578d62e22b792b29180 Mon Sep 17 00:00:00 2001 From: Manikanth Date: Fri, 16 Dec 2016 19:21:42 -0500 Subject: [PATCH 181/399] Add localtunnel (#630) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index cc11517e8..63ac853bb 100644 --- a/readme.md +++ b/readme.md @@ -173,6 +173,7 @@ - [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code. - [lessmd](https://github.com/linuxenko/lessmd) - Markdown in the terminal. - [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down. +- [localtunnel](https://github.com/localtunnel/localtunnel) - Expose your localhost to the world. ### Functional programming From 94d667bfde2670e49d6b594a61f2cda1bd09c57d Mon Sep 17 00:00:00 2001 From: Andrej Badin Date: Sat, 17 Dec 2016 01:27:53 +0100 Subject: [PATCH 182/399] Add date-fns (#637) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 63ac853bb..d418a44c5 100644 --- a/readme.md +++ b/readme.md @@ -491,6 +491,7 @@ - [Moment Timezone](http://momentjs.com/timezone/) - IANA Time Zone Database + Moment.js. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. +- [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. ### URL From 294468e7efc75cdefcd3010ae7bae72a12bc58f0 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Sat, 17 Dec 2016 04:44:19 +0400 Subject: [PATCH 183/399] Add unhomoglyph (#632) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d418a44c5..ee26aa991 100644 --- a/readme.md +++ b/readme.md @@ -466,6 +466,7 @@ - [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. - [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. +- [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. ### Number From 2f9cc5a9f9b3a169ee5a548a2b08db8212ed010d Mon Sep 17 00:00:00 2001 From: Vsevolod Strukchinsky Date: Mon, 26 Dec 2016 17:42:14 +0500 Subject: [PATCH 184/399] Add cctz (#629) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ee26aa991..738d91c4f 100644 --- a/readme.md +++ b/readme.md @@ -493,6 +493,7 @@ - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. - [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. +- [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates. ### URL From c41111b827842e8bc99b831ea138c3749d57afbd Mon Sep 17 00:00:00 2001 From: Dale Inverarity Date: Thu, 5 Jan 2017 18:36:06 -0500 Subject: [PATCH 185/399] Add Nuxt.js (#645) * Update readme.md --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 738d91c4f..9e2866178 100644 --- a/readme.md +++ b/readme.md @@ -335,6 +335,7 @@ - [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. - [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. - [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered React apps. +- [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. ### Documentation From 0315fe7b46694089999adca3ca766b83ce8da0ce Mon Sep 17 00:00:00 2001 From: Federico Brigante Date: Mon, 9 Jan 2017 00:24:14 +0900 Subject: [PATCH 186/399] Remove Node.js 0.10 polyfills (#647) --- readme.md | 9 --------- 1 file changed, 9 deletions(-) diff --git a/readme.md b/readme.md index 9e2866178..bee10b1e5 100644 --- a/readme.md +++ b/readme.md @@ -683,25 +683,16 @@ - Node.js - [set-immediate-shim](https://github.com/sindresorhus/set-immediate-shim) - Simple `setImmediate()` ponyfill. - - [path-is-absolute](https://github.com/sindresorhus/path-is-absolute) - Node.js 0.12 `path.isAbsolute()` ponyfill. - [os-tmpdir](https://github.com/sindresorhus/os-tmpdir) - Node.js `os.tmpdir()` ponyfill. - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4 `os.homedir()` ponyfill. - [user-info](https://github.com/sindresorhus/user-info) - Node.js 6 `os.userInfo()` ponyfill. - - [debug-log](https://github.com/sindresorhus/debug-log) - Node.js 0.12 `util.debuglog()` ponyfill. - - [buffer-equals](https://github.com/sindresorhus/buffer-equals) - Node.js 0.12 `buffer.equals()` ponyfill. - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3 `buffer.includes()` ponyfill. - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4 `buffer.indexOf()` ponyfill. - - [buf-compare](https://github.com/sindresorhus/buf-compare) - Node.js 0.12 `Buffer.compare()` ponyfill. - - [fs-access](https://github.com/sindresorhus/fs-access) - Node.js 0.12 `fs.access()` & `fs.accessSync()` ponyfill. - - [exec-file-sync](https://github.com/sindresorhus/exec-file-sync) - Node.js 0.12 `childProcess.execFileSync()` ponyfill. - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4 `childProcess.ChildProcess` ponyfill. - [node-status-codes](https://github.com/sindresorhus/node-status-codes) - Node.js `http.STATUS_CODES` ponyfill. - - [exit-code](https://github.com/isaacs/exit-code) - Node.js 0.12 `process.exitCode` polyfill. - [core-assert](https://github.com/sindresorhus/core-assert) - Node.js `assert` as a standalone module. - [deep-strict-equal](https://github.com/sindresorhus/deep-strict-equal) - Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module. - JavaScript - - [object-assign](https://github.com/sindresorhus/object-assign) - ES2015 `Object.assign()` ponyfill. - - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - ES2015 `Promise` ponyfill. - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. - [es6-shim](https://github.com/paulmillr/es6-shim) - Collection of ES2015 polyfills. From a8a908be191b3cf8b26c1ca6d5f804080c2aabae Mon Sep 17 00:00:00 2001 From: Fernando Girotto Date: Fri, 13 Jan 2017 14:30:58 -0200 Subject: [PATCH 187/399] Add seneca (#610) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index bee10b1e5..f99793122 100644 --- a/readme.md +++ b/readme.md @@ -336,6 +336,7 @@ - [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. - [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered React apps. - [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. +- [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. ### Documentation From 25c7989b160ba4211dc451872d0f44f7e7cae314 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michael=20K=C3=BChnel?= Date: Fri, 13 Jan 2017 17:41:10 +0100 Subject: [PATCH 188/399] Add http-fake-backend to HTTP section (#636) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f99793122..c21450504 100644 --- a/readme.md +++ b/readme.md @@ -207,6 +207,7 @@ - [superagent](https://github.com/visionmedia/superagent) - A small progressive HTTP request library. - [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. - [flashheart](https://github.com/bbc/flashheart) - A fully-featured REST client built for ease of use and resilience. +- [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. ### Debugging / Profiling From d9909e034435e11c601da9698298f3447f91becf Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Fri, 13 Jan 2017 20:27:58 +0100 Subject: [PATCH 189/399] Add skale (#624) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c21450504..680193064 100644 --- a/readme.md +++ b/readme.md @@ -107,6 +107,7 @@ - [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. - [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. +- [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine. ### Command-line apps From 842ba00129e1b97c441919a06db026706059727c Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 14 Jan 2017 14:04:27 +0700 Subject: [PATCH 190/399] Link to the awesome-promises list --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 680193064..9737f6598 100644 --- a/readme.md +++ b/readme.md @@ -386,6 +386,7 @@ - [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time. - [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch. - [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function. + - [More…](https://github.com/wbinnssmith/awesome-promises) - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. From 0ef8992b1b78931403c04d3ee1205732be143e78 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 14 Jan 2017 14:48:28 +0700 Subject: [PATCH 191/399] Various improvements Removed some moot libs, added some new ones, improved descriptions, sorted by interestingness, etc. --- readme.md | 241 ++++++++++++++++++++++++++---------------------------- 1 file changed, 114 insertions(+), 127 deletions(-) diff --git a/readme.md b/readme.md index 9737f6598..6bf75b261 100644 --- a/readme.md +++ b/readme.md @@ -11,11 +11,11 @@ - -

🔥 Want to strengthen your core JavaScript skills and master ES6?
I would personally recommend this awesome ES6 course by Wes Bos.

+

🌈 Want to strengthen your core JavaScript skills and master ES6?
I would recommend this awesome ES6 course by Wes Bos. You might also like his React course.

- -**Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus).** +Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus). ## Contents @@ -89,61 +89,60 @@ ### Mad science - [webtorrent](https://github.com/feross/webtorrent) - Streaming torrent client for Node.js and the browser. -- [GitTorrent](https://github.com/cjb/GitTorrent) - Peer-to-peer network of Git repositories being shared over BitTorrent. - [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client. - [dat](http://dat-data.com) - Real-time replication and versioning for data sets. - [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. +- [GitTorrent](https://github.com/cjb/GitTorrent) - Peer-to-peer network of Git repositories being shared over BitTorrent. - [stackgl](http://stack.gl) - Open software ecosystem for WebGL, built on top of browserify and npm. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library. -- [Bitcore](https://bitcore.io) - A pure and powerful Bitcoin library. +- [Bitcore](https://bitcore.io) - Pure and powerful Bitcoin library. - [PDFKit](http://pdfkit.org) - PDF generation library. - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. -- [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [NodeOS](http://node-os.com) - The first operating system powered by npm. - [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. - [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. - [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. +- [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine. ### Command-line apps -- [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots. -- [trash](https://github.com/sindresorhus/trash) - A safer alternative to `rm`. +- [np](https://github.com/sindresorhus/np) - Better `npm publish`. +- [trash](https://github.com/sindresorhus/trash) - Safer alternative to `rm`. - [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm. -- [XO](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style. - [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping. -- [np](https://github.com/sindresorhus/np) - A better `npm publish`. -- [yo](https://github.com/yeoman/yo) - Run Yeoman generators. -- [Babel](https://babeljs.io/docs/usage/cli/) - Use next generation JavaScript, today. -- [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. -- [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. +- [emoj](https://github.com/sindresorhus/emoj) - Find relevant emoji from text on the command-line. +- [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots. - [cpy](https://github.com/sindresorhus/cpy) - Copy files. -- [fkill](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform. -- [vantage](https://github.com/dthree/vantage) - Distributed, realtime CLI for your live app. - [vtop](https://github.com/MrRio/vtop) - More better top, with nice charts. -- [tmpin](https://github.com/sindresorhus/tmpin) - Adds stdin support to any CLI app that accepts file input. - [empty-trash](https://github.com/sindresorhus/empty-trash) - Empty the trash. - [is-up](https://github.com/sindresorhus/is-up) - Check whether a website is up or down. - [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up. - [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address. -- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode. +- [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Copy & paste on the terminal. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. +- [XO](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style. +- [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. +- [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. +- [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. - [http-server](https://github.com/indexzero/http-server) - Simple, zero-config command-line HTTP server. -- [Live Server](https://github.com/tapio/live-server) - A simple development HTTP-server with livereload capability. +- [Live Server](https://github.com/tapio/live-server) - Development HTTP-server with livereload capability. - [bcat](https://github.com/kessler/node-bcat) - Pipe command output to web browsers. - [normit](https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal. - [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor. - [jsinspect](https://github.com/danielstjules/jsinspect) - Detect copy-pasted and structurally similar code. - [esformatter](https://github.com/millermedeiros/esformatter) - JavaScript code beautifier/formatter. +- [fkill](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform. - [pjs](https://github.com/danielstjules/pjs) - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal. - [license-checker](https://github.com/davglass/license-checker) - Check licenses of your app's dependencies. - [browser-run](https://github.com/juliangruber/browser-run) - Easily run code in a browser environment. +- [tmpin](https://github.com/sindresorhus/tmpin) - Adds stdin support to any CLI app that accepts file input. - [modhelp](https://github.com/runvnc/modhelp) - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager. - [wifi-password](https://github.com/kevva/wifi-password-cli) - Get the current wifi password. - [wallpaper](https://github.com/sindresorhus/wallpaper) - Change the desktop wallpaper. @@ -153,12 +152,13 @@ - [rtail](https://github.com/kilianc/rtail) - Terminal output to the browser in seconds, using UNIX pipes. - [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. +- [vantage](https://github.com/dthree/vantage) - Distributed, realtime CLI for your live app. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. +- [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. - [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. - [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. -- [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. - [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. - [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. @@ -179,11 +179,11 @@ ### Functional programming -- [lodash](https://lodash.com) - A utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. +- [lodash](https://lodash.com) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. -- [mori](http://swannodette.github.io/mori/) - A library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. -- [Ramda](http://ramdajs.com) - A utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. -- [Folktale](http://folktalejs.org) - A suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. +- [mori](http://swannodette.github.io/mori/) - Library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. +- [Ramda](http://ramdajs.com) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. +- [Folktale](http://folktalejs.org) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. - [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. - [Mout](http://moutjs.com) - 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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. @@ -194,20 +194,19 @@ ### HTTP -- [got](https://github.com/sindresorhus/got) - A nicer interface to the built-in `http` module. +- [got](https://github.com/sindresorhus/got) - Nicer interface to the built-in `http` module. - [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API. -- [request](https://github.com/request/request) - Simplified HTTP request client. -- [Nock](https://github.com/pgte/nock) - A HTTP mocking and expectations library. -- [hyperquest](https://github.com/substack/hyperquest) - Streaming HTTP requests. - [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too). +- [request](https://github.com/request/request) - Simplified HTTP request client. +- [Nock](https://github.com/pgte/nock) - HTTP mocking and expectations library. - [spdy](https://github.com/indutny/node-spdy) - Creates SPDY servers with the same API as the built-in `https` module. - [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities. - [download](https://github.com/kevva/download) - Download and extract files effortlessly. -- [http-proxy](https://github.com/nodejitsu/node-http-proxy) - A full-featured HTTP proxy. +- [http-proxy](https://github.com/nodejitsu/node-http-proxy) - HTTP proxy. - [rocky](https://github.com/h2non/rocky) - Featured, middleware-oriented HTTP proxy with traffic replay and intercept. -- [superagent](https://github.com/visionmedia/superagent) - A small progressive HTTP request library. +- [superagent](https://github.com/visionmedia/superagent) - HTTP request library. - [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. -- [flashheart](https://github.com/bbc/flashheart) - A fully-featured REST client built for ease of use and resilience. +- [flashheart](https://github.com/bbc/flashheart) - REST client. - [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. @@ -216,7 +215,7 @@ - [ironNode](https://github.com/s-a/iron-node) - Node.js debugger supporting ES2015 out of the box. - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools. - [devtool](https://github.com/Jam3/devtool) - Run Node.js programs through Chrome Dev Tools. -- [Theseus](https://github.com/adobe-research/theseus) - A new type of JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree. +- [Theseus](https://github.com/adobe-research/theseus) - JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree. - [longjohn](https://github.com/mattinsler/longjohn) - Long stack traces with configurable call trace length. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. - [jstrace](https://github.com/jstrace/jstrace) - Dynamic tracing for JavaScript, similar to dtrace, ktap etc. @@ -224,7 +223,6 @@ - [njsTrace](https://github.com/valyouw/njstrace) - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function. - [vstream](https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams. - [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies. -- [TraceGL](https://github.com/traceglMPL/tracegl) - Transforms your JavaScript, injecting monitoring code that produces a log of everything that happens. - [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. - [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. - [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. @@ -233,12 +231,12 @@ ### Logging -- [winston](https://github.com/winstonjs/winston) - A multi-transport async logging library. -- [Bunyan](https://github.com/trentm/node-bunyan) - A simple and fast JSON logging library. -- [intel](http://seanmonstar.github.io/intel/) - A comprehensive logging library (handlers, filters, formatters, console injection). +- [pino](https://github.com/mcollina/pino) - Extremely fast logger inspired by Bunyan. +- [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library. +- [Bunyan](https://github.com/trentm/node-bunyan) - JSON logging library. +- [intel](http://seanmonstar.github.io/intel/) - Logging library (handlers, filters, formatters, console injection). - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. -- [pino](https://github.com/mcollina/pino) - Extremely fast logger inspired by Bunyan. ### Command-line utilities @@ -247,28 +245,29 @@ - [meow](https://github.com/sindresorhus/meow) - CLI app helper. - [minimist](https://github.com/substack/minimist) - Parse command-line flags. - [get-stdin](https://github.com/sindresorhus/get-stdin) - Easier stdin. -- [user-home](https://github.com/sindresorhus/user-home) - Get the path to the user home directory. +- [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. - [log-update](https://github.com/sindresorhus/log-update) - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc. - [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt. +- [listr](https://github.com/samverschueren/listr) - Terminal task list. +- [conf](https://github.com/sindresorhus/conf) - Simple config handling for your app or module. - [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app. - [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal. -- [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions. -- [configstore](https://github.com/yeoman/configstore) - Easily load and persist config without having to think about where and how. -- [insight](https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics. - [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels. - [figures](https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks. - [boxen](https://github.com/sindresorhus/boxen) - Create boxes in the terminal. - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it. +- [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal. - [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run. -- [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ -- [vorpal](https://github.com/dthree/vorpal) - A framework for interactive CLI apps. -- [blessed](https://github.com/chjj/blessed) - A curses-like library. +- [vorpal](https://github.com/dthree/vorpal) - Interactive CLI apps. +- [blessed](https://github.com/chjj/blessed) - Curses-like library. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. - [cli-table](https://github.com/Automattic/cli-table) - Pretty unicode tables. - [drawille](https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters. +- [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions. - [googleauth](https://github.com/maxogden/googleauth) - Create and load persistent Google authentication tokens for command-line apps. - [ascii-charts](https://github.com/jstrace/chart) - ASCII bar chart in the terminal. - [progress](https://github.com/tj/node-progress) - Flexible ascii progress bar. +- [insight](https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics. - [cli-cursor](https://github.com/sindresorhus/cli-cursor) - Toggle the CLI cursor. - [columnify](https://github.com/timoxley/columnify) - Create text-based columns suitable for console output. Supports cell wrapping. - [cli-columns](https://github.com/shannonmoeller/cli-columns) - Columnated unicode and ansi-safe text lists. @@ -278,26 +277,24 @@ - [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. -- [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. +- [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. -- [liftoff](https://github.com/js-cli/js-liftoff) - Bootstrapping tool for building command-line app. -- [listr](https://github.com/samverschueren/listr) - Terminal task list. ### Build tools +- [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser. +- [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler. - [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. -- [Broccoli](https://github.com/broccolijs/broccoli) - A fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way. -- [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser. +- [Broccoli](https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. -- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. -- [ygor](https://github.com/shannonmoeller/ygor) - A promising task runner for when `npm run` isn't enough and everything else is too much. +- [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much. +- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. -- [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler. ### Hardware @@ -311,9 +308,9 @@ ### Templating -- [marko](https://github.com/marko-js/marko) - A fast and lightweight HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. -- [nunjucks](https://github.com/mozilla/nunjucks) - A powerful templating engine with inheritance, asynchronous control, and more (jinja2 inspired). -- [handlebars.js](https://github.com/wycats/handlebars.js) - A superset of Mustache templates which adds powerful features like helpers and more advanced blocks. +- [marko](https://github.com/marko-js/marko) - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. +- [nunjucks](https://github.com/mozilla/nunjucks) - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired). +- [handlebars.js](https://github.com/wycats/handlebars.js) - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks. - [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. - [Pug](https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml. @@ -321,14 +318,14 @@ ### Web frameworks -- [Koa](http://koajs.com) - 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](http://expressjs.com) - A minimal and flexible web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. -- [Feathers](http://feathersjs.com) - A minimal and flexible microservice framework built in the spirit of Express. -- [Hapi](http://hapijs.com) - A rich framework for building applications and services. +- [Hapi](http://hapijs.com) - Framework for building applications and services. +- [Koa](http://koajs.com) - 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](http://expressjs.com) - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. +- [Feathers](http://feathersjs.com) - Microservice framework built in the spirit of Express. - [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources. - [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* - [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API. -- [Restify](http://restify.com) - A node framework built specifically to enable you to build correct REST web services. +- [Restify](http://restify.com) - Enables you to build correct REST web services. - [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. - [Derby](https://github.com/derbyjs/derby) - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. - [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. @@ -343,7 +340,7 @@ ### Documentation -- [Docco](http://jashkenas.github.io/docco/) - A quick-and-dirty documentation generator which produces an HTML document that displays your comments intermingled with your code. +- [Docco](http://jashkenas.github.io/docco/) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. - [JSDoc](http://usejsdoc.org) - API documentation generator similar to JavaDoc or PHPDoc. - [dox](https://github.com/tj/dox) - JavaScript documentation generator using Markdown and JSDoc. - [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator. @@ -363,6 +360,7 @@ - [graceful-fs](https://github.com/isaacs/node-graceful-fs) - Drop-in replacement for the `fs` module with various improvements. - [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS. - [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories. +- [proper-lockfile](https://github.com/IndigoUnited/node-proper-lockfile) - Inter-process and inter-machine lockfile utility. - [load-json-file](https://github.com/sindresorhus/load-json-file) - Read and parse a JSON file. - [write-json-file](https://github.com/sindresorhus/write-json-file) - Stringify and write JSON to a file atomically. - [fs-write-stream-atomic](https://github.com/npm/fs-write-stream-atomic) - Like `fs.createWriteStream()`, but atomic. @@ -379,26 +377,27 @@ ### Control flow - Promises - - [Bluebird](https://github.com/petkaantonov/bluebird) - A fully featured promise library with focus on innovative features and performance. - - [pinkie-promise](https://github.com/floatdrop/pinkie-promise) - Promise ponyfill. + - [Bluebird](https://github.com/petkaantonov/bluebird) - Promise library with focus on innovative features and performance. - [pify](https://github.com/sindresorhus/pify) - Promisify a callback-style function. - - [rfpify](https://github.com/samverschueren/rfpify) - Promisify a result-first callback-style function. - [delay](https://github.com/sindresorhus/delay) - Delay a promise a specified amount of time. - [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch. - [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function. + - [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently. - [More…](https://github.com/wbinnssmith/awesome-promises) -- Callbacks - - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. - - [async-chainable](https://github.com/hash-bang/async-chainable) - Chainable, pluggable async functionality. - - [after-all-results](https://github.com/watson/after-all-results) - Bundle results of async functions calls into one callback with all the results. +- Observables + - [zen-observable](https://github.com/zenparsing/zen-observable) - Implementation of Observables. + - [RxJS](https://github.com/ReactiveX/RxJS) - Reactive programming. + - [observable-to-promise](https://github.com/sindresorhus/awesome-observables) - Convert an Observable to a Promise. + - [More…](https://github.com/sindresorhus/awesome-observables) - Generators - [co](https://github.com/tj/co) - The ultimate generator based flow-control goodness. - - [suspend](https://github.com/jmar777/suspend) - Generator-based control flow that plays nice with callbacks, promises, and thunks. - - [bluebird-co](https://github.com/novacrazy/bluebird-co) - A set of high performance yield handlers for Bluebird coroutines. + - [bluebird-co](https://github.com/novacrazy/bluebird-co) - High performance yield handlers for Bluebird coroutines. - [iterum](https://github.com/xgbuils/iterum) - Build generator pipelines using Array-like methods. - Streams - [Highland.js](http://highlandjs.org) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams. +- Callbacks + - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. + - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. - Channels - [js-csp](https://github.com/jlongster/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). - Other @@ -410,12 +409,11 @@ - [through2](https://github.com/rvagg/through2) - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise. - [from2](https://github.com/hughsk/from2) - Convenience wrapper for ReadableStream, inspired by `through2`. - [get-stream](https://github.com/sindresorhus/get-stream) - Get a stream as a string or buffer. -- [concat-stream](https://github.com/maxogden/concat-stream) - Concatenates a stream into strings or binary data. - [into-stream](https://github.com/sindresorhus/into-stream) - Convert a buffer/string/array/object into a stream. - [duplexify](https://github.com/mafintosh/duplexify) - Turn a writeable and readable stream into a single streams2 duplex stream. - [pumpify](https://github.com/mafintosh/pumpify) - Combine an array of streams into a single duplex stream. - [peek-stream](https://github.com/mafintosh/peek-stream) - Transform stream that lets you peek the first line before deciding how to parse it. -- [binary-split](https://github.com/maxogden/binary-split) - A fast newline (or any delimiter) splitter stream. +- [binary-split](https://github.com/maxogden/binary-split) - Newline (or any delimiter) splitter stream. - [byline](https://github.com/jahewson/node-byline) - Super-simple line-by-line Stream reader. - [first-chunk-stream](https://github.com/sindresorhus/first-chunk-stream) - Transform the first chunk in a stream. - [pad-stream](https://github.com/sindresorhus/pad-stream) - Pad each line in a stream. @@ -428,6 +426,7 @@ ### Real-time +- [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server & client library. - [Socket.io](http://socket.io) - Enables real-time bidirectional event-based communication. - [SockJS](https://github.com/sockjs/sockjs-node) - Low latency, full duplex, cross-domain channel browser-server, with WebSockets or without. - [Faye](http://faye.jcoglan.com) - Real-time client-server message bus, based on Bayeux protocol. @@ -436,8 +435,7 @@ - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. - [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. - [Kalm](https://github.com/fed135/Kalm) - Modular socket wrapper and optimizer. -- [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - A lightweight pub-sub based messaging protocol for use on top of TCP/IP. -- [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server & client library. +- [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. ### Image @@ -456,7 +454,6 @@ - [Underscore.string](https://github.com/epeli/underscore.string) - Collection of string manipulation utilities. - [iconv-lite](https://github.com/ashtuchkin/iconv-lite) - Convert character encodings. -- [repeating](https://github.com/sindresorhus/repeating) - Repeat a string. - [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes. - [camelcase](https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar. - [escape-string-regexp](https://github.com/sindresorhus/escape-string-regexp) - Escape RegExp special characters. @@ -465,10 +462,9 @@ - [indent-string](https://github.com/sindresorhus/indent-string) - Indent each line in a string. - [strip-indent](https://github.com/sindresorhus/strip-indent) - Strip leading whitespace from every line in a string. - [detect-indent](https://github.com/sindresorhus/detect-indent) - Detect the indentation of code. -- [he](https://github.com/mathiasbynens/he) - A robust HTML entity encoder/decoder. +- [he](https://github.com/mathiasbynens/he) - HTML entity encoder/decoder. - [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage. - [babelfish](https://github.com/nodeca/babelfish) - i18n with very easy syntax for plurals. -- [parse-columns](https://github.com/sindresorhus/parse-columns) - Parse text columns, like the output of Unix commands. - [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. - [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. @@ -493,11 +489,11 @@ ### Date +- [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. - [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates. - [Moment Timezone](http://momentjs.com/timezone/) - IANA Time Zone Database + Moment.js. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. -- [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. - [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates. @@ -524,7 +520,7 @@ ### Parsing - [remark](https://github.com/wooorm/remark) - Markdown processor powered by plugins. -- [markdown-it](https://github.com/markdown-it/markdown-it) - A very fast markdown parser with 100% CommonMark support, extensions and syntax plugins. +- [markdown-it](https://github.com/markdown-it/markdown-it) - Markdown parser with 100% CommonMark support, extensions and syntax plugins. - [parse5](https://github.com/inikulin/parse5) - Fast full-featured spec compliant HTML parser. - [strip-json-comments](https://github.com/sindresorhus/strip-json-comments) - Strip comments from JSON. - [strip-css-comments](https://github.com/sindresorhus/strip-css-comments) - Strip comments from CSS. @@ -532,10 +528,10 @@ - [URI.js](https://github.com/medialize/URI.js) - URL mutation. - [PostCSS](https://github.com/postcss/postcss) - CSS parser / stringifier. - [JSONStream](https://github.com/dominictarr/JSONStream) - Streaming JSON.parse and stringify. -- [csv-parser](https://github.com/mafintosh/csv-parser) - Streaming CSV parser that aims to be faster than everyone else. - [neat-csv](https://github.com/sindresorhus/neat-csv) - Fast CSV parser. Callback interface for the above. +- [csv-parser](https://github.com/mafintosh/csv-parser) - Streaming CSV parser that aims to be faster than everyone else. - [PEG.js](https://github.com/pegjs/pegjs) - Simple parser generator that produces fast parsers with excellent error reporting. -- [x-ray](https://github.com/lapwinglabs/x-ray) - A web scraping utility to see through the `` noise. +- [x-ray](https://github.com/lapwinglabs/x-ray) - Web scraping utility. - [nearley](https://github.com/Hardmath123/nearley) - Simple, fast, powerful parsing for JavaScript. - [binary-extract](https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of JSON without parsing the whole thing. - [json-mask](https://github.com/nemtsov/json-mask) - Tiny language and engine for selecting parts of an object, hiding/masking the rest. @@ -560,11 +556,12 @@ ### Compression +- [yazl](https://github.com/thejoshwolfe/yazl) - Zip. +- [yauzl](https://github.com/thejoshwolfe/yauzl) - Unzip. - [Archiver](https://github.com/archiverjs/node-archiver) - Streaming interface for archive generation, supporting ZIP and TAR. -- [decompress-zip](https://github.com/bower/decompress-zip) - Unzip. - [pako](https://github.com/nodeca/pako) - High speed zlib port to pure js (deflate, inflate, gzip). - [tar-stream](https://github.com/mafintosh/tar-stream) - Streaming tar parser and generator. Also see [tar-fs](https://github.com/mafintosh/tar-fs). -- [decompress](https://github.com/kevva/decompress) - A pluggable decompression module with support for `tar`, `tar.gz` and `zip` files out of the box. +- [decompress](https://github.com/kevva/decompress) - Decompression module with support for `tar`, `tar.gz` and `zip` files out of the box. ### Network @@ -578,28 +575,28 @@ ### Database - Drivers - - [LevelUP](https://github.com/Level/levelup) - LevelDB. - - [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver. - [PostgreSQL](https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings. - - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. - [Redis](https://github.com/luin/ioredis) - Redis client. + - [LevelUP](https://github.com/Level/levelup) - LevelDB. + - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. - [nano](https://github.com/dscape/nano) - CouchDB client. - [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client. - [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client. + - [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver. - ODM / ORM + - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL. - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - [Mongoose](http://mongoosejs.com) - Elegant MongoDB object modeling. - - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL. - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. - - [Iridium](https://github.com/SierraSoftworks/Iridium) - A high performance MongoDB ORM with support for promises, distributed caching, preprocessing, validation and plugins. + - [Iridium](https://github.com/SierraSoftworks/Iridium) - MongoDB ORM with support for promises, distributed caching, preprocessing, validation and plugins. - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB. - [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - Query builder - - [Knex](http://knexjs.org) - A query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. + - [Knex](http://knexjs.org) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other - [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript. - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. @@ -608,19 +605,18 @@ ### Testing - [AVA](https://ava.li) - Futuristic test runner. -- [tap](https://github.com/isaacs/node-tap) - A TAP test framework. +- [Mocha](http://mochajs.org) - Feature-rich test framework making asynchronous testing simple and fun. +- [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses. +- [tap](https://github.com/isaacs/node-tap) - TAP test framework. - [tape](https://github.com/substack/tape) - TAP-producing test harness. -- [Mocha](http://mochajs.org) - A feature-rich test framework making asynchronous testing simple and fun. - [power-assert](https://github.com/power-assert-js/power-assert) - Provides descriptive assertion messages through the standard assert interface. - [Mochify](https://github.com/mantoni/mochify.js) - TDD with Browserify, Mocha, PhantomJS and WebDriver. - [trevor](https://github.com/vdemedes/trevor) - Run tests against multiple versions of Node.js without switching versions manually or pushing to Travis CI. - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. -- [istanbul](https://github.com/gotwarlost/istanbul) - A code coverage tool that computes statement, line, function and branch coverage with module loader hooks to transparently add coverage when running tests. -- [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses. - [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs and mocks. - [navit](https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting. - [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. -- [intern](https://github.com/theintern/intern) - A next-generation code testing stack for JavaScript. +- [intern](https://github.com/theintern/intern) - Code testing stack. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. @@ -639,12 +635,13 @@ ### Benchmarking -- [Benchmark.js](http://benchmarkjs.com) - A robust benchmarking library that works on nearly all JavaScript platforms, supports high-resolution timers, and returns statistically significant results. -- [matcha](https://github.com/logicalparadox/matcha) - A caffeine-driven, simplistic approach to benchmarking. +- [Benchmark.js](http://benchmarkjs.com) - Benchmarking library that supports high-resolution timers and returns statistically significant results. +- [matcha](https://github.com/logicalparadox/matcha) - Simplistic approach to benchmarking. ### Minifiers +- [babili](https://github.com/babel/babili) - ES2015+ aware minifier based on the Babel toolchain. - [UglifyJS2](http://lisperator.net/uglifyjs/) - JavaScript minifier. - [clean-css](https://github.com/jakubpawlowicz/clean-css) - CSS minifier. - [minimize](https://github.com/Swaagie/minimize) - HTML minifier. @@ -679,22 +676,15 @@ - [n](https://github.com/tj/n) - Node.js version management. - [nave](https://github.com/isaacs/nave) - Virtual Environments for Node.js. -- [nodeenv](https://github.com/ekalinin/nodeenv) - A Node.js virtual environment compatible to Python's virtualenv. +- [nodeenv](https://github.com/ekalinin/nodeenv) - Node.js virtual environment compatible to Python's virtualenv. - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. ### Polyfills - Node.js - - [set-immediate-shim](https://github.com/sindresorhus/set-immediate-shim) - Simple `setImmediate()` ponyfill. - - [os-tmpdir](https://github.com/sindresorhus/os-tmpdir) - Node.js `os.tmpdir()` ponyfill. - - [os-homedir](https://github.com/sindresorhus/os-homedir) - Node.js 4 `os.homedir()` ponyfill. - [user-info](https://github.com/sindresorhus/user-info) - Node.js 6 `os.userInfo()` ponyfill. - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3 `buffer.includes()` ponyfill. - - [buf-indexof](https://github.com/sindresorhus/buf-indexof) - Node.js 4 `buffer.indexOf()` ponyfill. - - [child-process-ctor](https://github.com/sindresorhus/child-process-ctor) - Node.js 4 `childProcess.ChildProcess` ponyfill. - - [node-status-codes](https://github.com/sindresorhus/node-status-codes) - Node.js `http.STATUS_CODES` ponyfill. - - [core-assert](https://github.com/sindresorhus/core-assert) - Node.js `assert` as a standalone module. - [deep-strict-equal](https://github.com/sindresorhus/deep-strict-equal) - Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module. - JavaScript - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. @@ -706,17 +696,17 @@ - [retext](https://github.com/wooorm/retext) - An extensible natural language system. - [franc](https://github.com/wooorm/franc) - Detect the language of text. - [leven](https://github.com/sindresorhus/leven) - Measure the difference between two strings using the Levenshtein distance algorithm. -- [natural](https://github.com/NaturalNode/natural) - A general natural language facility. +- [natural](https://github.com/NaturalNode/natural) - Natural language facility. ### Process management - [PM2](https://github.com/Unitech/pm2) - Advanced Process Manager. -- [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. +- [nodemon](https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server. - [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app. - [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog. -- [forever](https://github.com/foreverjs/forever) - A simple CLI tool for ensuring that a given script runs continuously (i.e. forever). -- [nodemon](https://github.com/remy/nodemon) - Monitor for changes in your app and automatically restart the server. +- [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. +- [forever](https://github.com/foreverjs/forever) - Ensures that a given script runs continuously. - [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. - [Phusion Passenger](https://www.phusionpassenger.com/node_weekly) - Friendly process manager that integrates directly into Nginx. - [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. @@ -729,13 +719,13 @@ ### AST -- [Acorn](https://github.com/ternjs/acorn) - A tiny, fast JavaScript parser. +- [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser. - [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST. ### Static site generators -- [Metalsmith](http://www.metalsmith.io) - An extremely simple, pluggable static site generator. +- [Metalsmith](http://www.metalsmith.io) - Pluggable static site generator. - [Wintersmith](http://wintersmith.io) - Flexible, minimalistic, multi-platform static site generator. - [Assemble](http://assemble.io) - Static site generator for Node.js, Grunt.js, and Yeoman. - [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem. @@ -745,23 +735,24 @@ ### Content management systems - [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB. -- [Calipso](http://calip.so) - A simple content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple. -- [Apostrophe2](http://apostrophenow.org) - A content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. +- [Calipso](http://calip.so) - Content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple. +- [Apostrophe2](http://apostrophenow.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. ### Forum -- [nodeBB](https://nodebb.org) - A better forum platform for the modern web. +- [nodeBB](https://nodebb.org) - Forum platform for the modern web. ### Blogging -- [ghost](https://ghost.org) - Simple, powerful publishing platform that allows you to share your story with the world. +- [ghost](https://ghost.org) - Simple, powerful publishing platform. - [Hexo](https://hexo.io) - Fast, simple and powerful blogging framework. ### Weird +- [cows](https://github.com/sindresorhus/cows) - ASCII cows. - [superb](https://github.com/sindresorhus/superb) - Get superb like words. - [cat-names](https://github.com/sindresorhus/cat-names) - Get popular cat names. - [dog-names](https://github.com/sindresorhus/dog-names) - Get popular dog names. @@ -769,13 +760,12 @@ - [supervillains](https://github.com/sindresorhus/supervillains) - Get supervillain names. - [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces. - [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ” -- [cows](https://github.com/sindresorhus/cows) - ASCII cows. - [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon. ### Miscellaneous -- [execa](https://github.com/sindresorhus/execa) - A better `child_process`. +- [execa](https://github.com/sindresorhus/execa) - Better `child_process`. - [cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. - [Electron](https://github.com/atom/electron) - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))* - [opn](https://github.com/sindresorhus/opn) - Opens stuff like websites, files, executables. @@ -784,26 +774,22 @@ - [onetime](https://github.com/sindresorhus/onetime) - Only run a function once. - [mem](https://github.com/sindresorhus/mem) - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input. - [require-uncached](https://github.com/sindresorhus/require-uncached) - Require a module bypassing the cache. -- [stringify-object](https://github.com/yeoman/stringify-object) - Stringify an object/array like JSON.stringify just without all the double-quotes. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. -- [deep-assign](https://github.com/sindresorhus/deep-assign) - Recursive `Object.assign()`. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. -- [nan](https://github.com/nodejs/nan) - A header file filled with macro and utility goodness for making add-on development for across Node.js versions easier. -- [multiline](https://github.com/sindresorhus/multiline) - Multiline strings in JavaScript. -- [ssh2](https://github.com/mscdex/ssh2) - An SSH2 client and server module. +- [nan](https://github.com/nodejs/nan) - Makes native add-on development for across Node.js versions easier. +- [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server module. - [adit](https://github.com/markelog/adit) - SSH tunneling made simple. - [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. -- [Bottleneck](https://github.com/SGrondin/bottleneck) - A powerful rate limiter that makes throttling easy. +- [Bottleneck](https://github.com/SGrondin/bottleneck) - Rate limiter that makes throttling easy. - [webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads. +- [clipboardy](https://github.com/sindresorhus/clipboardy) - Access the system clipboard (copy/paste). - [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries. - [opencv](https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library. -- [common-errors](https://github.com/shutterstock/node-common-errors) - Common error classes and utility functions. - [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file. - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. - [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. - [nar](https://github.com/h2non/nar) - Create self-contained executable binaries. -- [banshee](https://github.com/eleme/banshee) - Real-time anomalies detection for periodic time series. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. @@ -811,7 +797,7 @@ - [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. - [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. - [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM. -- [hypernova](https://github.com/airbnb/hypernova) - A service for server-side rendering your JavaScript views. +- [hypernova](https://github.com/airbnb/hypernova) - Server-side rendering your JavaScript views. ## Resources @@ -898,13 +884,14 @@ ### Tools -- [GitHub Linker](https://chrome.google.com/webstore/detail/github-linker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub. +- [OctoLinker](https://chrome.google.com/webstore/detail/octolinker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub. - [npm-hub](https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme. +- [RunKit](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. - [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. -- [Tonic](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. ### Community +- [Gitter](https://gitter.im/nodejs/node) - [`#node.js` on Freenode](http://webchat.freenode.net/?channels=node.js) - [Stack Overflow](http://stackoverflow.com/questions/tagged/node.js) - [Reddit](https://www.reddit.com/r/node) From 7901980ea96b5267a05c1db99e58697e51928fde Mon Sep 17 00:00:00 2001 From: James Sumners Date: Tue, 17 Jan 2017 15:03:42 -0500 Subject: [PATCH 192/399] Update link to Pino logger (#649) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6bf75b261..e3d70cbde 100644 --- a/readme.md +++ b/readme.md @@ -231,7 +231,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] ### Logging -- [pino](https://github.com/mcollina/pino) - Extremely fast logger inspired by Bunyan. +- [pino](https://github.com/pinojs/pino) - Extremely fast logger inspired by Bunyan. - [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library. - [Bunyan](https://github.com/trentm/node-bunyan) - JSON logging library. - [intel](http://seanmonstar.github.io/intel/) - Logging library (handlers, filters, formatters, console injection). From 4c4fdd11f4d95c91f66ed36a66d11e0efa289a63 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 29 Jan 2017 14:17:51 +0700 Subject: [PATCH 193/399] Fix broken link Closes #651 --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e3d70cbde..ea9dd496c 100644 --- a/readme.md +++ b/readme.md @@ -708,7 +708,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. - [forever](https://github.com/foreverjs/forever) - Ensures that a given script runs continuously. - [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. -- [Phusion Passenger](https://www.phusionpassenger.com/node_weekly) - Friendly process manager that integrates directly into Nginx. +- [Phusion Passenger](https://www.phusionpassenger.com) - Friendly process manager that integrates directly into Nginx. - [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. From 9af447d5867a965ca5d0f74991355f8addec5d61 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 29 Jan 2017 14:19:22 +0700 Subject: [PATCH 194/399] Remove Calipso It's a dead project: https://github.com/cliftonc/calipso/issues/257 --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index ea9dd496c..3e7fb5aac 100644 --- a/readme.md +++ b/readme.md @@ -735,7 +735,6 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] ### Content management systems - [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB. -- [Calipso](http://calip.so) - Content management system, built along similar themes to Drupal and Wordpress, that is designed to be fast, flexible and simple. - [Apostrophe2](http://apostrophenow.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. From dca62f19bf300d39b57034f84a27f9e18a1f1cbd Mon Sep 17 00:00:00 2001 From: JT Wright Date: Mon, 6 Mar 2017 23:24:18 -0700 Subject: [PATCH 195/399] Add Hashnode Node.js channel (#661) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3e7fb5aac..2d58fedb7 100644 --- a/readme.md +++ b/readme.md @@ -895,6 +895,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [Stack Overflow](http://stackoverflow.com/questions/tagged/node.js) - [Reddit](https://www.reddit.com/r/node) - [Twitter](https://twitter.com/nodejs) +- [Hashnode](https://hashnode.com/n/nodejs) ### Miscellaneous From ca5d1896c0880bb1eb385d3d7717c07dc8e7664c Mon Sep 17 00:00:00 2001 From: Brian Cooke Date: Sat, 11 Mar 2017 10:06:15 +0100 Subject: [PATCH 196/399] Add onoff (#670) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2d58fedb7..2234fa0a5 100644 --- a/readme.md +++ b/readme.md @@ -304,6 +304,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [usb](https://github.com/nonolith/node-usb) - USB library. - [cylon.js](http://cylonjs.com) - Next generation robotics framework with support for 26 different platforms. - [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access. +- [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection. ### Templating From 39adf679b5633d2fe3a0950345b978f0d18619ca Mon Sep 17 00:00:00 2001 From: Brian Cooke Date: Sat, 11 Mar 2017 10:07:16 +0100 Subject: [PATCH 197/399] Add spi-device (#669) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2234fa0a5..8121b1f3c 100644 --- a/readme.md +++ b/readme.md @@ -305,6 +305,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [cylon.js](http://cylonjs.com) - Next generation robotics framework with support for 26 different platforms. - [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access. - [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection. +- [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access. ### Templating From 528170da5a65aa1167e830f2d1888a8761196004 Mon Sep 17 00:00:00 2001 From: Brian Cooke Date: Sat, 11 Mar 2017 10:08:26 +0100 Subject: [PATCH 198/399] Add pigpio (#671) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8121b1f3c..d096ce55a 100644 --- a/readme.md +++ b/readme.md @@ -306,6 +306,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access. - [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection. - [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access. +- [pigpio](https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi. ### Templating From 556a2fae85c3cc9ab4bcf95dad04c2f52b1fc3b0 Mon Sep 17 00:00:00 2001 From: Julien Moulin Date: Wed, 15 Mar 2017 11:20:27 +0100 Subject: [PATCH 199/399] Add xlsx-populate (#674) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d096ce55a..a267c53df 100644 --- a/readme.md +++ b/readme.md @@ -545,6 +545,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. - [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers. - [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers. +- [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX. ### Humanize From 01b7b0b72868a237444455ced08ae1a594f44ce5 Mon Sep 17 00:00:00 2001 From: James Date: Wed, 15 Mar 2017 03:25:14 -0700 Subject: [PATCH 200/399] Add FuseBox (#660) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a267c53df..4133eba66 100644 --- a/readme.md +++ b/readme.md @@ -295,6 +295,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. +- [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. ### Hardware From 77126ae4b7642fc9e78d3fc60fedf56290b8bbbb Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 21 Mar 2017 14:08:17 +0700 Subject: [PATCH 201/399] =?UTF-8?q?=F0=9F=90=B1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 4133eba66..a0ffd8a3c 100644 --- a/readme.md +++ b/readme.md @@ -9,11 +9,12 @@ *You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* *Please read the [contribution guidelines](contributing.md) before contributing.* -- +--- -

🌈 Want to strengthen your core JavaScript skills and master ES6?
I would recommend this awesome ES6 course by Wes Bos. You might also like his React course.

+

🐱

+

Support this project and improve your JavaScript skills with this awesome ES6 course by Wes Bos.
Try his free JavaScript 30 course for a taste of what to expect. You might also like his React course.

-- +--- Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus). From 9281d333584269c6d9c7a0c6853b12e0d8ff422f Mon Sep 17 00:00:00 2001 From: Mehdy Dara Date: Sun, 30 Apr 2017 17:05:56 +0200 Subject: [PATCH 202/399] Add docsify (#679) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a0ffd8a3c..a71f38315 100644 --- a/readme.md +++ b/readme.md @@ -736,6 +736,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [Assemble](http://assemble.io) - Static site generator for Node.js, Grunt.js, and Yeoman. - [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem. - [Phenomic](https://phenomic.io) - Modern static website generator based on the React and Webpack ecosystem. +- [docsify](https://docsify.js.org) - Markdown documentation site generator with no statically built HTML files. ### Content management systems From 651c15fd0974db7cdedc2ef6d4342debedf92921 Mon Sep 17 00:00:00 2001 From: Ivan Seidel Date: Mon, 8 May 2017 03:57:33 -0300 Subject: [PATCH 203/399] Add DraftLog (#682) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a71f38315..f6ccb83d6 100644 --- a/readme.md +++ b/readme.md @@ -281,6 +281,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. +- [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`. ### Build tools From 55d7aee1fb91f25ca45bb84b4e3b2edfaea6dc92 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 8 May 2017 15:05:15 +0800 Subject: [PATCH 204/399] Remove Derby and Restberry MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit They’re unmaintained. Ref: https://github.com/sindresorhus/awesome-nodejs/pull/682#issuecomment-299272332 --- readme.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/readme.md b/readme.md index f6ccb83d6..4c60099d1 100644 --- a/readme.md +++ b/readme.md @@ -297,7 +297,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. -- [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. +- [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. ### Hardware @@ -333,8 +333,6 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API. - [Restify](http://restify.com) - Enables you to build correct REST web services. - [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. -- [Derby](https://github.com/derbyjs/derby) - MVC framework, making it easy to write realtime, collaborative applications that run in both Node.js and browsers. -- [Restberry](http://restberry.com) - Framework for setting up RESTful JSON APIs, applied to your database models without needing to write any code. - [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. - [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. From f1841e7cb6a5795351f5732dd5857c51e8ce2e9f Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 8 May 2017 23:42:37 +0800 Subject: [PATCH 205/399] Minor tweaks --- readme.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/readme.md b/readme.md index 4c60099d1..428fdc7cf 100644 --- a/readme.md +++ b/readme.md @@ -4,19 +4,20 @@ > A curated list of delightful Node.js [packages](#packages) and [resources](#resources). -**Just type [`node.cool`](https://node.cool) to go here ✨** +Just type [`node.cool`](https://node.cool) to go here ✨ *You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* *Please read the [contribution guidelines](contributing.md) before contributing.* + --- -

🐱

-

Support this project and improve your JavaScript skills with this awesome ES6 course by Wes Bos.
Try his free JavaScript 30 course for a taste of what to expect. You might also like his React course.

+

🦄 Support my open-source work by buying this awesome video course:
Learn to build apps and APIs with Node.js by Wes Bos
Try his free JavaScript 30 course for a taste of what to expect & check out his ES6, React, Sublime courses.

--- -Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter](https://twitter.com/sindresorhus). + +Check out my [blog](https://blog.sindresorhus.com) and say "hi" on [Twitter](https://twitter.com/sindresorhus). ## Contents @@ -881,6 +882,7 @@ Check out my [blog](https://blog.sindresorhus.com) 🦄 or say *hi* on [Twitter] - [Real Time Web with Node.js](https://www.codeschool.com/courses/real-time-web-with-node-js) - [Learn and Understand Node.js](https://www.udemy.com/understand-nodejs) +- [Learn to build apps and APIs with Node.js](https://learnnode.com/friend/AWESOME) - Video course by Wes Bos. ### Cheatsheets From 987aedb4dd02bfc7cf608d8cc07bfbf9372781ac Mon Sep 17 00:00:00 2001 From: Vse Mozhet Byt Date: Mon, 8 May 2017 19:52:40 +0300 Subject: [PATCH 206/399] Add `pkg` to Build tools section (#686) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 428fdc7cf..f55ecd743 100644 --- a/readme.md +++ b/readme.md @@ -299,6 +299,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. - [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. +- [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable. ### Hardware From 53ae832a117ea145e20c2c524d9370a6973bf5ec Mon Sep 17 00:00:00 2001 From: Harminder Virk Date: Sat, 13 May 2017 00:38:18 +0530 Subject: [PATCH 207/399] Add AdonisJs (#481) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f55ecd743..5fe4273c9 100644 --- a/readme.md +++ b/readme.md @@ -342,6 +342,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered React apps. - [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. +- [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. ### Documentation From 31cab2625766e2b9b501482d2f34c3e2038b9d2c Mon Sep 17 00:00:00 2001 From: Robert Herhold Date: Tue, 16 May 2017 08:34:11 -0400 Subject: [PATCH 208/399] Update MySQL driver URL (#687) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 5fe4273c9..d323e78be 100644 --- a/readme.md +++ b/readme.md @@ -586,7 +586,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [PostgreSQL](https://github.com/brianc/node-postgres) - PostgreSQL client. Pure JavaScript and native libpq bindings. - [Redis](https://github.com/luin/ioredis) - Redis client. - [LevelUP](https://github.com/Level/levelup) - LevelDB. - - [MySQL](https://github.com/felixge/node-mysql) - MySQL client. + - [MySQL](https://github.com/mysqljs/mysql) - MySQL client. - [nano](https://github.com/dscape/nano) - CouchDB client. - [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client. - [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client. From 909ce35ecc524d2552fb4e1b31600c0c0a496286 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 22 May 2017 01:30:13 +0700 Subject: [PATCH 209/399] Update renamed modules --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index d323e78be..e4eda994a 100644 --- a/readme.md +++ b/readme.md @@ -781,13 +781,13 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [dot-prop](https://github.com/sindresorhus/dot-prop) - Get a property from a nested object using a dot path. - [onetime](https://github.com/sindresorhus/onetime) - Only run a function once. - [mem](https://github.com/sindresorhus/mem) - Memoize functions - an optimization technique used to speed up consecutive function calls by caching the result of calls with identical input. -- [require-uncached](https://github.com/sindresorhus/require-uncached) - Require a module bypassing the cache. +- [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. - [nan](https://github.com/nodejs/nan) - Makes native add-on development for across Node.js versions easier. - [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server module. - [adit](https://github.com/markelog/adit) - SSH tunneling made simple. -- [lazy-req](https://github.com/sindresorhus/lazy-req) - Require modules lazily. +- [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. - [Bottleneck](https://github.com/SGrondin/bottleneck) - Rate limiter that makes throttling easy. - [webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads. From 541d5bc5bbea6c5f3f39258cab403690c36e1801 Mon Sep 17 00:00:00 2001 From: Brahim Hadriche Date: Tue, 6 Jun 2017 06:37:32 -0600 Subject: [PATCH 210/399] Update Kalm URL (#693) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e4eda994a..50b2f5ac8 100644 --- a/readme.md +++ b/readme.md @@ -441,7 +441,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. - [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. - [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. -- [Kalm](https://github.com/fed135/Kalm) - Modular socket wrapper and optimizer. +- [Kalm](https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework. - [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. From 488a3e34465df8f0c34fd1fc6f65a9c3e314b923 Mon Sep 17 00:00:00 2001 From: Joni Sar Date: Wed, 7 Jun 2017 22:45:26 +0300 Subject: [PATCH 211/399] Add Bit (#689) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 50b2f5ac8..6ac4cdc7d 100644 --- a/readme.md +++ b/readme.md @@ -283,6 +283,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. - [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`. +- [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories. ### Build tools From c2da3fd921761454015dbb7521bb1fded7ad659e Mon Sep 17 00:00:00 2001 From: Andy Wermke Date: Wed, 7 Jun 2017 21:46:42 +0200 Subject: [PATCH 212/399] Add leakage (#688) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6ac4cdc7d..83df4a95f 100644 --- a/readme.md +++ b/readme.md @@ -229,6 +229,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. - [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. - [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals. +- [leakage](https://github.com/andywer/leakage) - Write memory leak tests. ### Logging From 20fbbac5d083fba80e677d3593df45bbf8a5b152 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 14 Jun 2017 20:42:21 +0200 Subject: [PATCH 213/399] Replace `mkdirp` with `make-dir` `mkdirp` is not very well maintained and has some serious issues. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 83df4a95f..ea7d12643 100644 --- a/readme.md +++ b/readme.md @@ -365,7 +365,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [globby](https://github.com/sindresorhus/globby) - Glob files with support for multiple patterns. - [cpy](https://github.com/sindresorhus/cpy) - Copy files. - [rimraf](https://github.com/isaacs/rimraf) - Recursively delete files like `rm -rf`. -- [mkdirp](https://github.com/substack/node-mkdirp) - Recursively create directories like `mkdir -p`. +- [make-dir](https://github.com/sindresorhus/make-dir) - Recursively create directories like `mkdir -p`. - [graceful-fs](https://github.com/isaacs/node-graceful-fs) - Drop-in replacement for the `fs` module with various improvements. - [chokidar](https://github.com/paulmillr/chokidar) - Filesystem watcher which stabilizes events from `fs.watch` and `fs.watchFile` as well as using native `fsevents` on macOS. - [find-up](https://github.com/sindresorhus/find-up) - Find a file by walking up parent directories. From c30bd1b0a2f8d2a1dfc46b68d592b85dab6dcb3d Mon Sep 17 00:00:00 2001 From: Santosh Sahoo Date: Fri, 7 Jul 2017 10:38:55 -0700 Subject: [PATCH 214/399] Add node-resque (#703) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ea7d12643..376196e8f 100644 --- a/readme.md +++ b/readme.md @@ -680,6 +680,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. - [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. - [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. +- [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue. ### Node.js management From a08a1d3f5093ce376a03569b8e2b7bc9ca33a4c2 Mon Sep 17 00:00:00 2001 From: Wahyu Kristianto Date: Sat, 8 Jul 2017 01:07:28 +0700 Subject: [PATCH 215/399] Update Next.js description (#709) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 376196e8f..2e0acc173 100644 --- a/readme.md +++ b/readme.md @@ -341,7 +341,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. - [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. -- [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered React apps. +- [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered universal JavaScript web apps. - [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. - [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. From 488769436af428b9e19809ddbab2fdde13265977 Mon Sep 17 00:00:00 2001 From: Dustin Deus Date: Fri, 7 Jul 2017 22:15:38 +0200 Subject: [PATCH 216/399] Add Hemera (#673) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2e0acc173..bab242222 100644 --- a/readme.md +++ b/readme.md @@ -345,6 +345,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. - [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. +- [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). ### Documentation From 4424998675ecf0a96887e71248a34ddf81717651 Mon Sep 17 00:00:00 2001 From: Robert Eisele Date: Sun, 23 Jul 2017 20:48:22 +0200 Subject: [PATCH 217/399] Add DHCP (#710) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index bab242222..6e5566678 100644 --- a/readme.md +++ b/readme.md @@ -581,6 +581,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [ipify](https://github.com/sindresorhus/ipify) - Get your public IP address. - [getmac](https://github.com/bevry/getmac) - Get the computer MAC address. - [polo](https://github.com/mafintosh/polo) - Zero-config service discovery. +- [DHCP](https://github.com/infusion/node-dhcp) - DHCP client and server. ### Database From 10c4edd3c571c6f34498acc6a283bf21caaa0d47 Mon Sep 17 00:00:00 2001 From: Siegfried Ehret Date: Tue, 25 Jul 2017 15:51:32 +0200 Subject: [PATCH 218/399] Update repo for js-csp (#713) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6e5566678..6e222e2b7 100644 --- a/readme.md +++ b/readme.md @@ -409,7 +409,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. - Channels - - [js-csp](https://github.com/jlongster/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). + - [js-csp](https://github.com/ubolonton/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). - Other - [zone](https://github.com/strongloop/zone) - Provides a way to group and track resources and errors across asynchronous operations. From b472e91fa30e758184bc5dec37093e5b96fb617c Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 2 Aug 2017 01:42:57 +0200 Subject: [PATCH 219/399] Tiny tweak --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index 78f3960b9..dc60040b7 100644 --- a/contributing.md +++ b/contributing.md @@ -2,7 +2,7 @@ Please note that this project is released with a [Contributor Code of Conduct](code-of-conduct.md). By participating in this project you agree to abide by its terms. -- +--- Ensure your pull request adheres to the following guidelines: From 1bd984ee540bf8bf3d9a4876dfa8e992f23081b6 Mon Sep 17 00:00:00 2001 From: Selwyn Date: Sat, 26 Aug 2017 22:12:29 +0200 Subject: [PATCH 220/399] Remove deprecated module `nar` (#727) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 6e222e2b7..ef147dc83 100644 --- a/readme.md +++ b/readme.md @@ -802,7 +802,6 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file. - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. - [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. -- [nar](https://github.com/h2non/nar) - Create self-contained executable binaries. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. From f02ae9f6e633fcf76ee99abb73dc14a30470b1c1 Mon Sep 17 00:00:00 2001 From: Boris K Date: Thu, 31 Aug 2017 05:03:37 +0200 Subject: [PATCH 221/399] Add gradient-string (#724) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ef147dc83..b1228f4f1 100644 --- a/readme.md +++ b/readme.md @@ -285,6 +285,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. - [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`. - [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories. +- [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output. ### Build tools From 24cee57d755949521021f4af157952ce29ec5ae9 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 22 Sep 2017 14:33:29 +0700 Subject: [PATCH 222/399] Remove `longjohn` Fixes #723 --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index b1228f4f1..93b559dbc 100644 --- a/readme.md +++ b/readme.md @@ -218,7 +218,6 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools. - [devtool](https://github.com/Jam3/devtool) - Run Node.js programs through Chrome Dev Tools. - [Theseus](https://github.com/adobe-research/theseus) - JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree. -- [longjohn](https://github.com/mattinsler/longjohn) - Long stack traces with configurable call trace length. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. - [jstrace](https://github.com/jstrace/jstrace) - Dynamic tracing for JavaScript, similar to dtrace, ktap etc. - [why-is-node-running](https://github.com/mafintosh/why-is-node-running) - Node.js is running but you don't know why? From 69909bbd36e4a6e557ffb42b623f34ae07e389e7 Mon Sep 17 00:00:00 2001 From: Jan Kuri Date: Fri, 22 Sep 2017 09:46:46 +0200 Subject: [PATCH 223/399] Add abstruse (#728) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 93b559dbc..abdc6bd66 100644 --- a/readme.md +++ b/readme.md @@ -636,6 +636,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol. - [Jest](https://github.com/facebook/jest) - Painless JavaScript testing. - [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. +- [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. ### Security From aaa2125a3b7cdeac6f79c2e865aa4c2e957b6957 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 22 Sep 2017 16:34:57 +0700 Subject: [PATCH 224/399] Remove broken link Closes #716 --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index abdc6bd66..dbcf92849 100644 --- a/readme.md +++ b/readme.md @@ -853,7 +853,6 @@ Just type [`node.cool`](https://node.cool) to go here ✨ ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) -- [Introduction to Node.js Fundamentals](http://strongloop.com/node-js/videos/#a-video-intro-to-nodejs-fundamentals) - [Hands on with Node.js](https://learn.bevry.me/node/preface) - [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. - [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. From eb36f054342c84e2cd12d4606cfbe29f2e6f6400 Mon Sep 17 00:00:00 2001 From: Alexey Kucherenko Date: Fri, 22 Sep 2017 23:52:00 +0300 Subject: [PATCH 225/399] Add email-templates (#725) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index dbcf92849..16b655d05 100644 --- a/readme.md +++ b/readme.md @@ -675,6 +675,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email. - [emailjs](https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server. +- [email-templates](https://github.com/niftylettuce/email-templates) - Create, preview, and send custom email templates. ### Job queues From 27e4d3c71942d4f741591bcef9a4449c7146b162 Mon Sep 17 00:00:00 2001 From: Simone Primarosa Date: Mon, 25 Sep 2017 08:05:12 +0200 Subject: [PATCH 226/399] Add credential-plus (#730) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 16b655d05..df3516f61 100644 --- a/readme.md +++ b/readme.md @@ -644,6 +644,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project. - [RegEx-DoS](https://github.com/jagracey/RegEx-DoS) - CLI tool to identify possible regex denial of service (ReDos) vulnerabilities in your project. +- [credential-plus](https://github.com/simonepri/credential-plus) - Password hashing and verification made easy. ### Benchmarking From 9acd26d11d6fa6108527969b5ad7310994d6a245 Mon Sep 17 00:00:00 2001 From: Karsten Gresch Date: Mon, 25 Sep 2017 09:02:37 +0200 Subject: [PATCH 227/399] Add `Node.js 8 the Right Way` (#733) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index df3516f61..2362974de 100644 --- a/readme.md +++ b/readme.md @@ -872,6 +872,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Node.js in Action](http://www.amazon.com/Node-js-Action-Mike-Cantelon/dp/1617290572) - [Node.js in Practice](http://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939) - [Mastering Node](http://visionmedia.github.io/masteringnode/) +- [Node.js 8 the Right Way](https://pragprog.com/book/jwnode2/node-js-8-the-right-way) - [Professional Node.js: Building Javascript Based Scalable Software](http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/) - [Practical Node.js: Building Real-World Scalable Web Apps](http://practicalnodebook.com) - [Mixu's Node book](http://book.mixu.net/node/) From fa00d9987b05f6a60258f80a9a71e24e6ec63ca9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Katranc=C4=B1?= Date: Fri, 13 Oct 2017 06:48:30 +0300 Subject: [PATCH 228/399] Add github-npm-stats (#738) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2362974de..446c4aafc 100644 --- a/readme.md +++ b/readme.md @@ -904,6 +904,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [npm-hub](https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme. - [RunKit](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. - [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. +- [github-npm-stats](https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef) - Chrome extension that displays npm download stats on GitHub. ### Community From 33bec0517a07082fe0ccee409fba1adbe066cb18 Mon Sep 17 00:00:00 2001 From: Selwyn Date: Sat, 4 Nov 2017 17:30:02 +0100 Subject: [PATCH 229/399] Add Micro (#741) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 446c4aafc..0f84af4c5 100644 --- a/readme.md +++ b/readme.md @@ -346,6 +346,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. - [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. - [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). +- [Micro](https://github.com/zeit/micro) - Minimalistic microservice framework with an async approach. ### Documentation From 01e08b5a0313d91a5121b95892790cd829c63bcb Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Fri, 17 Nov 2017 21:24:39 +0700 Subject: [PATCH 230/399] Add cacheable-request (#750) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0f84af4c5..36b131f1c 100644 --- a/readme.md +++ b/readme.md @@ -210,6 +210,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. - [flashheart](https://github.com/bbc/flashheart) - REST client. - [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. +- [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support. ### Debugging / Profiling From 47788b0ab571bd3b986dc33a0bb3cd250cf0691d Mon Sep 17 00:00:00 2001 From: Luke Childs Date: Fri, 17 Nov 2017 21:25:00 +0700 Subject: [PATCH 231/399] Add Keyv (#751) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 36b131f1c..8c0ba2fa3 100644 --- a/readme.md +++ b/readme.md @@ -614,6 +614,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - Other - [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript. - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. + - [Keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends. ### Testing From 503ab63cb7f8062591d19c2f79ad762e1c33a6e6 Mon Sep 17 00:00:00 2001 From: Brandon Smith Date: Mon, 25 Dec 2017 09:01:50 -0500 Subject: [PATCH 232/399] Update `ammending-a-commit-guide.md` link (#762) --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index dc60040b7..9410a9a7f 100644 --- a/contributing.md +++ b/contributing.md @@ -28,4 +28,4 @@ Thank you for your suggestion! ### Updating your PR -A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/docs/blob/master/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. +A lot of times, making a PR adhere to the standards above can be difficult. If the maintainers notice anything that we'd like changed, we'll ask you to edit your PR before we merge it. If you're not sure how to do that, [here is a guide](https://github.com/RichardLitt/knowledge/blob/master/github/amending-a-commit-guide.md) on the different ways you can update your PR so that we can merge it. From 6597189625262577afaa7344f39ee7d16b64689d Mon Sep 17 00:00:00 2001 From: Mario Nebl Date: Fri, 29 Dec 2017 20:43:22 +0100 Subject: [PATCH 233/399] Add svg-term-cli (#765) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8c0ba2fa3..dfbc81888 100644 --- a/readme.md +++ b/readme.md @@ -177,6 +177,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [lessmd](https://github.com/linuxenko/lessmd) - Markdown in the terminal. - [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down. - [localtunnel](https://github.com/localtunnel/localtunnel) - Expose your localhost to the world. +- [svg-term-cli](https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG. ### Functional programming From af3c3207e91c4fb7778a0bfd0730255828dbe9d4 Mon Sep 17 00:00:00 2001 From: David Hill Date: Sat, 3 Feb 2018 07:11:42 +0000 Subject: [PATCH 234/399] Fix link to Folktale.js (#774) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index dfbc81888..94eef11df 100644 --- a/readme.md +++ b/readme.md @@ -186,7 +186,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. - [mori](http://swannodette.github.io/mori/) - Library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. - [Ramda](http://ramdajs.com) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. -- [Folktale](http://folktalejs.org) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. +- [Folktale](http://folktale.origamitower.com) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. - [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. - [Mout](http://moutjs.com) - 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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. From 2420e01dfc6de7a5e26ff3c2d4fc64b6722793d7 Mon Sep 17 00:00:00 2001 From: Angristan Date: Sun, 4 Feb 2018 03:27:01 +0100 Subject: [PATCH 235/399] Add gtop (#772) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 94eef11df..1c8823312 100644 --- a/readme.md +++ b/readme.md @@ -178,6 +178,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [cost-of-modules](https://github.com/siddharthkp/cost-of-modules) - Find out which dependencies are slowing you down. - [localtunnel](https://github.com/localtunnel/localtunnel) - Expose your localhost to the world. - [svg-term-cli](https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG. +- [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for the terminal. ### Functional programming From c7525e5c0adbf53024798b5bbfd20f70510bdf40 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 15 Feb 2018 00:14:36 +0700 Subject: [PATCH 236/399] Update URL to XO --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 1c8823312..45d0b6164 100644 --- a/readme.md +++ b/readme.md @@ -128,7 +128,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address. - [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Copy & paste on the terminal. - [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. -- [XO](https://github.com/sindresorhus/xo) - Enforce strict code style using the JavaScript happiness style. +- [XO](https://github.com/xojs/xo) - Enforce strict code style using the JavaScript happiness style. - [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. - [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. - [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. From ea74c6f6da9ab0baea3c96a3a26ae6b59ef3e396 Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Thu, 15 Feb 2018 00:35:52 -0800 Subject: [PATCH 237/399] Fix typo in contribution guidelines (#780) --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index 9410a9a7f..ab002c95f 100644 --- a/contributing.md +++ b/contributing.md @@ -8,7 +8,7 @@ Ensure your pull request adheres to the following guidelines: - **If you just created something, wait at least 30 days before submitting.** This is to give it some time to mature and ensure it's not just a publish-and-forget type of project. - Keep in mind that the list is very mature by now, so the bar of getting something accepted is high. Only submit something unique and generally useful. The world (and this list) doesn't need yet another ORM or framework. For CLI tools, the bar is especially high, and unless it's something very awesome, I would suggest submitting to [awesome-cli-apps](https://github.com/aharris88/awesome-cli-apps) instead. -- If you submit a project that is similar to an existing project in the list, argument how it's better. +- If you submit a project that is similar to an existing project in the list, argue how it's better. - Search previous suggestions before making a new one, as yours may be a duplicate. - Suggested packages should be tested and documented. - Make an individual pull request for each suggestion. From 98728609b40fb92b725a6114f56123ad04be316d Mon Sep 17 00:00:00 2001 From: Simone Primarosa Date: Mon, 5 Mar 2018 20:44:51 +0100 Subject: [PATCH 238/399] Rename credential-plus to upash (#788) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 45d0b6164..30c5ae388 100644 --- a/readme.md +++ b/readme.md @@ -649,7 +649,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project. - [RegEx-DoS](https://github.com/jagracey/RegEx-DoS) - CLI tool to identify possible regex denial of service (ReDos) vulnerabilities in your project. -- [credential-plus](https://github.com/simonepri/credential-plus) - Password hashing and verification made easy. +- [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. ### Benchmarking From f07a0a59dfcac379e1cc6f5bae923a84172752c4 Mon Sep 17 00:00:00 2001 From: Lucas Santos Date: Mon, 12 Mar 2018 15:28:24 -0300 Subject: [PATCH 239/399] Add gotql (#767) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 30c5ae388..c5f678a82 100644 --- a/readme.md +++ b/readme.md @@ -213,6 +213,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [flashheart](https://github.com/bbc/flashheart) - REST client. - [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. - [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support. +- [gotql](https://github.com/khaosdoctor/gotql) - GraphQL request library built on [got](https://github.com/sindresorhus/got). ### Debugging / Profiling From 0dee478ec4ffa8178668775db0b647bdc9e1d395 Mon Sep 17 00:00:00 2001 From: Alessandro Miliucci Date: Mon, 12 Mar 2018 19:34:47 +0100 Subject: [PATCH 240/399] Add rsmq (#791) --- readme.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index c5f678a82..2f80aefae 100644 --- a/readme.md +++ b/readme.md @@ -687,11 +687,12 @@ Just type [`node.cool`](https://node.cool) to go here ✨ ### Job queues -- [kue](https://github.com/Automattic/kue) - Priority job queue backed by Redis. +- [kue](https://github.com/Automattic/kue) - Redis-backed priority job queue. - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. -- [agenda](https://github.com/rschmukler/agenda) - Lightweight job scheduling on MongoDB. +- [agenda](https://github.com/rschmukler/agenda) - MonoDB-backed job scheduling. - [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. - [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue. +- [rsmq](https://github.com/smrchy/rsmq) - Redis-backed message queue. ### Node.js management From 2068fa9db2b8c6afaba6363d1de5be6f3557ff34 Mon Sep 17 00:00:00 2001 From: kingzez Date: Tue, 13 Mar 2018 02:47:23 +0800 Subject: [PATCH 241/399] Add parcel (#757) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2f80aefae..e8b8a3c9f 100644 --- a/readme.md +++ b/readme.md @@ -306,6 +306,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. - [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. - [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable. +- [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler. ### Hardware From cb435511d3e99f929a5d17f8d04fcf41b274c219 Mon Sep 17 00:00:00 2001 From: Matt Swensen Date: Mon, 12 Mar 2018 12:53:37 -0600 Subject: [PATCH 242/399] Add themer (#777) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e8b8a3c9f..ace756742 100644 --- a/readme.md +++ b/readme.md @@ -179,6 +179,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [localtunnel](https://github.com/localtunnel/localtunnel) - Expose your localhost to the world. - [svg-term-cli](https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG. - [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for the terminal. +- [themer](https://github.com/mjswensen/themer) - Generate themes for your editor, terminal, wallpaper, Slack, and more. ### Functional programming From 01617ec4addcf930fcd34f8dc8c882aad5db1a28 Mon Sep 17 00:00:00 2001 From: Florian Breisch Date: Sat, 31 Mar 2018 21:59:08 +0200 Subject: [PATCH 243/399] Deduplicate Nock-entry (#798) --- readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme.md b/readme.md index ace756742..bd8b3b23f 100644 --- a/readme.md +++ b/readme.md @@ -203,7 +203,6 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API. - [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too). - [request](https://github.com/request/request) - Simplified HTTP request client. -- [Nock](https://github.com/pgte/nock) - HTTP mocking and expectations library. - [spdy](https://github.com/indutny/node-spdy) - Creates SPDY servers with the same API as the built-in `https` module. - [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities. - [download](https://github.com/kevva/download) - Download and extract files effortlessly. @@ -635,7 +634,7 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [loadtest](https://github.com/alexfernandez/loadtest) - Run load tests for your web application, with an API for automation. - [Sinon.JS](https://github.com/sinonjs/sinon) - Test spies, stubs and mocks. - [navit](https://github.com/nodeca/navit) - PhantomJS / SlimerJS wrapper to simplify browser test scripting. -- [nock](https://github.com/pgte/nock) - HTTP mocking and expectations. +- [Nock](https://github.com/pgte/nock) - HTTP mocking and expectations. - [intern](https://github.com/theintern/intern) - Code testing stack. - [toxy](https://github.com/h2non/toxy) - Hackable HTTP proxy to simulate failure scenarios and network conditions. - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. From a7ca82a4ea4ae77fc33bf7a5b8caabe8b407a3f3 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 20 Apr 2018 13:03:30 +0700 Subject: [PATCH 244/399] Add logo for the list --- media/logo.ai | 1108 ++++++++++++++++++++++++++++++++++++++++++++++++ media/logo.svg | 1 + readme.md | 52 ++- 3 files changed, 1140 insertions(+), 21 deletions(-) create mode 100644 media/logo.ai create mode 100644 media/logo.svg diff --git a/media/logo.ai b/media/logo.ai new file mode 100644 index 000000000..19821f249 --- /dev/null +++ b/media/logo.ai @@ -0,0 +1,1108 @@ +%PDF-1.5 % +1 0 obj <>/OCGs[6 0 R 28 0 R 47 0 R]>>/Pages 3 0 R/Type/Catalog>> endobj 2 0 obj <>stream + + + + + Adobe Illustrator CC 22.0 (Macintosh) + 2018-04-20T12:56:51+07:00 + 2018-04-20T13:02:09+07:00 + 2018-04-20T13:02:09+07:00 + + + + 256 + 172 + JPEG + /9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgArAEAAwER AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE 1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp 0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo +DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9U4q7FXYq7FXYq7FXYq7 FXYq7FWO+cPOdh5ctPipNqEqk21qD17cnp0X9fbK8mQRasuUQHm8o0rz15hg8yHVWka5kuWVJ7UV 4yJX4Y0XelK/DT+JzFjlPFbhRzSEre7QSmWCOUo0RkUMY3FGWorxYCu475nB2IX4pdirsVdirsVd iqyeUxQSShGlMalhGgqzUFeKg03PbEoLwnVfPXmGfzINVWRraS2ZkgtTXjGlfijddq1p8Vf4DMGW U8VuulmkZW9X8n+c7DzHafDSHUIlBubUnp25JXqv6u+ZWPIJObiyiY82RZY2uxV2KuxV2KuxV2Ku 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 sVdirsVdirsVdirsVdirsVdirsVdirsVf//Z + + + + 1 + True + False + + 1000.000000 + 800.000000 + Pixels + + + + Cyan + Magenta + Yellow + Black + + + + + + Default Swatch Group + 0 + + + + application/pdf + + + Sindre Sorhus + + + + + Awesome Node.js logo + + + + + Header font: Orbitron (Medium) Tagline font: San Francisco Display (Regular) 46pt + + + proof:pdf + xmp.did:195fbc05-644f-4eaf-99cf-0531d2f53f58 + uuid:292a08f8-8872-2e4c-a81d-77ae8284f44d + uuid:70fc32ea-a999-744f-9595-2f63e3706e46 + + xmp.iid:265bceb0-e443-4ec2-bb2b-32e4f6aaa020 + xmp.did:265bceb0-e443-4ec2-bb2b-32e4f6aaa020 + uuid:70fc32ea-a999-744f-9595-2f63e3706e46 + proof:pdf + + + + + saved + xmp.iid:3b6fb069-e2ac-43cf-b6b1-050d9ebb8c44 + 2018-04-20T12:41:02+07:00 + Adobe Illustrator CC 22.0 (Macintosh) + / + + + saved + xmp.iid:195fbc05-644f-4eaf-99cf-0531d2f53f58 + 2018-04-20T12:56:50+07:00 + Adobe Illustrator CC 22.0 (Macintosh) + / + + + + True + Adobe PDF library 15.00 + Document + + https://github.com/sindresorhus/awesome + + + + + + + + + + + + + + + + + + + + + + + + + + endstream endobj 3 0 obj <> endobj 8 0 obj <>/Resources<>/Properties<>/XObject<>>>/Thumb 55 0 R/TrimBox[0.0 0.0 1000.0 800.0]/Type/Page>> endobj 49 0 obj <>stream +HWɊdWὊyغ%kca D./-cDf-ATƹ/;/t|)qnJ20/~/x#pfBXv;KR *:Pʘ`voCLZǙU +V};|tM*v),:\-ZP5bqb085<]+PWUɿP6JIW/)giWL ߅ WKt5Cc}6ڭA¾>y5\l(˃9I݅h"EJxs* ^&P57t5S.S$J^ٮ{ҵ/>~famC$.RV35WhX`fcϐ?9VLHvil-kR* +faT3IxnvWuiz!O`JzϓɈRיs٘(6 $DNGӍ^'-}q-Qΐ1++vW[Hp׺DAybU<γcNi7NJmEіeg+ekXVIn=Ɗ9W4*4j! 8cxêIKcR Jz[0RƵ%k)܎f^&G3&Gmx:S%$Elu[!xm̬(̂Kpe;- -$(sS}E3v<ْsfnF@[-ui&jI;|kMGe\i +qz|T$ΥX^${=]r,L܆7C^HO$O}Ѭf&A֜du`o*<I]626q\;+:<C;ZBܓ%2R %IƜ£ݳ r:hUą J|RvTƭ'=Z0AŢS'́zM~8'-{xq GŰ>iV/u9Opݼ2CWOoLԭJןV:;[Q09(6!zkJN81&lvK_lrK, |9]L$7֝겿 + +phl;vUD0|0Vv`ʺ4U}lT9>V22oce|+d̿X:VX:V毎p>GGb ~y}}TE+Zb׬ 73Da@BJm^7SAsZw +bP^w +rUxDsTx/. +T +75w)/GTC#8xN9Jn<* eRm E#y*Or(MU[|ź +9 CƵBgYJ $<5 ({8)JFP¶FNƿwq #{ :g׵Tۋu=j;@7DNp)" FFgNEU^ݓqq -g1FZڰq(p^ DClЕ#@M`VrH!U[\\2#;' h)YGPJ֧S a9v霢>|{.$q#4)k3ؑY@NznSeuJ8]<%tq>Oo _ ɠQߜY :=7`ыv[nq3P.߷vWXH2P+D""4hyv(8 #|W{gûj:;J" =R2oALGݟQ›`sJAX6gE7]Nr%+Y4uSߦEI-t45Y&獰#v5=ᥑ?;:n;%P6BuNhS@ihXi2t a-F:!VMNy[!ک2^'$4cEٚĀ~63Rkk SPrϴ^*ļO$okKdM;5G Z-e9kcTyxlL,\ZOd8A|IS|"㛟?> endstream endobj 50 0 obj <> endobj 55 0 obj <>stream +8;Z\5>B7\*#i1T#l'M,lqoKK(:48d$N=(j'a`KYrW!FGqiW[uef_?+"a)Ld#Nb;$B +hA5X?NgablH2:$*[KSdk46@M&'_g-ON!hl0'C1_bR$^BWR0:p0Ao_Q9\Ym:nU$4=r +fPlu;Lf'M,"C +Lo;PeCV5ZU76HF,$re+%7]JNGY"(0/Ak9l'C!Sdh8\JGPW32VaY0sjLerI>E(0mlU +<)>BU'pMAn"[5l^>>o:lr"dCg2E(ObN&;^D!,cnA&!?NGA/d/&0a;ul4!I%&]q4U: +*eaggQ?UTqP@hB&LI-d` +;2f\>Q^U_NDBp#Oqa0lQm%:L0U(ZE#i=5k"Y5?oDp`Kbq#1D +=s!;a^3DAi`J^)FC7ZT%0AAN/WLo00n%m^?Z)&kNXoG^e_b[^Y"Pousp(3V/2h(Z` +OP27=9"eI0SQFOI8^cnmnc4pJri1Rf#C=LgCIfV[63k&`%lG[W`<2d#=(rrEh:VKL +IKojb~> endstream endobj 56 0 obj [/Indexed/DeviceRGB 255 57 0 R] endobj 57 0 obj <>stream +8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0 +b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup` +E1r!/,*0[*9.aFIR2&b-C#soRZ7Dl%MLY\.?d>Mn +6%Q2oYfNRF$$+ON<+]RUJmC0InDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j$XKrcYp0n+Xl_nU*O( +l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~> endstream endobj 54 0 obj <>>>/Subtype/Form>>stream +0 0 0 rg +/GS0 gs +q 1 0 0 1 20.7398 85.9172 cm +0 0 m +0 -7.277 3.324 -10.736 8.625 -10.736 c +13.634 -10.736 16.307 -7.637 16.307 -4.133 c +19.631 -4.133 l +19.631 -8.378 16.217 -13.769 8.49 -13.769 c +1.168 -13.769 -3.324 -8.962 -3.324 -0.022 c +-3.324 4.268 l +-3.324 13.207 1.28 18.193 8.513 18.193 c +15.947 18.193 19.608 12.825 19.608 8.041 c +16.284 8.041 l +16.284 11.41 13.589 15.139 8.513 15.139 c +3.392 15.139 0 11.455 0 4.245 c +h +f +Q +q 1 0 0 1 64.359 72.8 cm +0 0 m +-3.302 0 l +-3.302 3.212 l +-3.437 3.212 l +-4.268 1.303 -6.514 -0.382 -10.332 -0.382 c +-15.184 -0.382 -18.665 2.381 -18.665 7.749 c +-18.665 23.517 l +-15.363 23.517 l +-15.363 8.692 l +-15.363 4.245 -12.78 2.65 -9.456 2.65 c +-5.772 2.65 -3.324 5.076 -3.324 8.939 c +-3.324 23.517 l +0 23.517 l +h +f +Q +q 1 0 0 1 71.5016 96.3166 cm +0 0 m +3.302 0 l +3.302 -3.032 l +3.392 -3.032 l +4.11 -1.505 5.862 0.359 9.344 0.359 c +9.815 0.359 10.31 0.314 10.759 0.27 c +10.759 -2.808 l +10.377 -2.74 9.636 -2.718 8.939 -2.718 c +4.717 -2.718 3.302 -5.458 3.302 -8.895 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 99.9596 80.6389 cm +0 0 m +0 2.897 l +-6.289 2.897 l +-9.726 2.897 -11.186 1.258 -11.186 -1.033 c +-11.186 -3.953 -8.782 -5.368 -6.132 -5.368 c +-2.628 -5.368 0 -3.167 0 0 c +-6.918 -8.221 m +-11.478 -8.221 -14.6 -5.413 -14.6 -1.101 c +-14.6 2.965 -11.77 5.57 -6.401 5.593 c +0 5.593 l +0 8.131 l +0 11.433 -1.932 13.207 -5.278 13.207 c +-8.513 13.207 -10.287 11.612 -10.557 9.119 c +-13.679 9.119 l +-13.409 13.207 -10.602 16.06 -5.144 16.06 c +-0.247 16.06 3.302 13.342 3.302 8.513 c +3.302 -7.839 l +0.09 -7.839 l +0.09 -4.784 l +0 -4.784 l +-1.123 -6.671 -3.324 -8.221 -6.918 -8.221 c +f +Q +q 1 0 0 1 111.5719 102.2239 cm +0 0 m +3.302 0 l +3.302 -5.907 l +8.108 -5.907 l +8.108 -8.715 l +3.302 -8.715 l +3.302 -23.202 l +3.302 -26.1 4.245 -26.818 7.232 -26.818 c +7.637 -26.818 7.974 -26.818 8.311 -26.773 c +8.311 -29.491 l +7.974 -29.559 7.187 -29.648 6.401 -29.648 c +1.033 -29.648 0 -27.537 0 -23 c +0 -8.715 l +-3.212 -8.715 l +-3.212 -5.907 l +0 -5.907 l +h +f +Q +125.902 96.317 3.302 -23.517 re +127.542 104.29 m +128.799 104.29 129.81 103.28 129.81 102.044 c +129.81 100.786 128.799 99.776 127.542 99.776 c +126.329 99.776 125.318 100.786 125.318 102.044 c +125.318 103.28 126.329 104.29 127.542 104.29 c +f +q 1 0 0 1 136.5709 96.3166 cm +0 0 m +3.302 0 l +3.302 -3.212 l +3.392 -3.212 l +4.268 -1.64 6.469 0.382 10.332 0.382 c +15.184 0.382 18.8 -2.695 18.8 -8.4 c +18.8 -23.517 l +15.498 -23.517 l +15.498 -8.895 l +15.498 -4.874 13.14 -2.65 9.456 -2.65 c +5.144 -2.65 3.302 -5.75 3.302 -9.119 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 164.4674 85.6926 cm +0 0 m +0 -1.595 l +0 -6.648 2.493 -9.703 6.626 -9.703 c +10.691 -9.703 13.05 -6.514 13.05 -1.595 c +13.05 0 l +13.05 4.919 10.557 8.108 6.626 8.108 c +2.516 8.108 0 5.211 0 0 c +13.05 -12.735 m +13.05 -8.737 l +12.96 -8.737 l +12.084 -10.691 9.546 -12.623 6.132 -12.623 c +0.651 -12.623 -3.302 -8.782 -3.302 -1.864 c +-3.302 0.314 l +-3.302 7.187 0.674 11.006 6.132 11.006 c +9.501 11.006 12.039 9.142 13.095 7.187 c +13.185 7.187 l +13.185 10.624 l +16.352 10.624 l +16.352 -12.713 l +16.352 -18.553 11.949 -21.652 6.604 -21.652 c +0.741 -21.652 -2.224 -18.71 -2.763 -14.892 c +0.674 -14.892 l +1.078 -16.868 3.122 -18.8 6.604 -18.8 c +10.512 -18.8 13.05 -16.509 13.05 -12.735 c +f +Q +q 1 0 0 1 198.6529 102.2239 cm +0 0 m +3.302 0 l +3.302 -5.907 l +8.108 -5.907 l +8.108 -8.715 l +3.302 -8.715 l +3.302 -23.202 l +3.302 -26.1 4.245 -26.818 7.232 -26.818 c +7.637 -26.818 7.974 -26.818 8.311 -26.773 c +8.311 -29.491 l +7.974 -29.559 7.187 -29.648 6.401 -29.648 c +1.033 -29.648 0 -27.537 0 -23 c +0 -8.715 l +-3.212 -8.715 l +-3.212 -5.907 l +0 -5.907 l +h +f +Q +q 1 0 0 1 212.8482 105.0764 cm +0 0 m +3.279 0 l +3.279 -11.972 l +3.369 -11.972 l +4.268 -10.399 6.469 -8.378 10.332 -8.378 c +15.184 -8.378 18.8 -11.455 18.8 -17.16 c +18.8 -32.276 l +15.498 -32.276 l +15.498 -17.654 l +15.498 -13.634 13.14 -11.41 9.456 -11.41 c +5.144 -11.41 3.279 -14.51 3.279 -17.879 c +3.279 -32.276 l +0 -32.276 l +h +f +Q +q 1 0 0 1 253.1656 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 288.317 83.5139 cm +0 0 m +0 2.111 l +0 7.367 -2.605 10.242 -6.312 10.242 c +-10.624 10.242 -13.207 7.277 -13.207 2.111 c +-13.207 0.045 l +-13.207 -5.166 -10.624 -8.153 -6.312 -8.153 c +-2.628 -8.153 0 -5.278 0 0 c +-13.229 -7.053 m +-13.319 -7.053 l +-13.319 -10.714 l +-16.441 -10.714 l +-16.441 21.562 l +-13.162 21.562 l +-13.162 9.456 l +-13.072 9.456 l +-11.927 11.388 -9.254 13.185 -6.042 13.185 c +-0.562 13.185 3.302 9.276 3.302 2.336 c +3.302 -0.225 l +3.302 -6.985 -0.494 -11.096 -6.087 -11.096 c +-9.613 -11.096 -11.882 -9.434 -13.229 -7.053 c +f +Q +q 1 0 0 1 312.5523 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 329.4654 96.6985 cm +0 0 m +5.548 0 8.198 -3.257 8.198 -6.94 c +5.076 -6.94 l +4.964 -5.099 3.773 -2.83 -0.135 -2.83 c +-3.077 -2.83 -5.256 -4.11 -5.256 -6.626 c +-5.256 -9.344 -2.269 -9.995 0.584 -10.557 c +4.964 -11.365 8.782 -12.466 8.782 -17.093 c +8.782 -21.742 4.986 -24.28 -0.359 -24.28 c +-5.503 -24.28 -8.962 -21.697 -8.962 -17.654 c +-5.728 -17.654 l +-5.413 -19.811 -3.526 -21.45 -0.09 -21.45 c +3.661 -21.45 5.503 -19.698 5.503 -17.475 c +5.503 -14.689 2.942 -14.15 -0.517 -13.432 c +-4.941 -12.466 -8.513 -11.186 -8.513 -6.985 c +-8.513 -2.156 -4.47 0 0 0 c +f +Q +q 1 0 0 1 345.3678 102.2239 cm +0 0 m +3.302 0 l +3.302 -5.907 l +8.108 -5.907 l +8.108 -8.715 l +3.302 -8.715 l +3.302 -23.202 l +3.302 -26.1 4.245 -26.818 7.232 -26.818 c +7.637 -26.818 7.974 -26.818 8.311 -26.773 c +8.311 -29.491 l +7.974 -29.559 7.187 -29.648 6.401 -29.648 c +1.033 -29.648 0 -27.537 0 -23 c +0 -8.715 l +-3.212 -8.715 l +-3.212 -5.907 l +0 -5.907 l +h +f +Q +q 1 0 0 1 368.5924 72.8 cm +0 0 m +0 30.637 l +3.347 30.637 l +19.474 5.75 l +19.563 5.75 l +19.563 30.637 l +22.798 30.637 l +22.798 0 l +19.451 0 l +3.302 24.887 l +3.234 24.887 l +3.234 0 l +h +f +Q +q 1 0 0 1 401.1158 85.5803 cm +0 0 m +0 -1.977 l +0 -7.075 2.448 -10.22 6.648 -10.22 c +10.826 -10.22 13.274 -7.098 13.274 -1.977 c +13.274 0 l +13.274 5.099 10.826 8.221 6.648 8.221 c +2.448 8.221 0 5.099 0 0 c +16.576 0.157 m +16.576 -2.156 l +16.576 -8.49 13.072 -13.162 6.648 -13.162 c +0.225 -13.162 -3.302 -8.49 -3.302 -2.156 c +-3.302 0.157 l +-3.302 6.469 0.247 11.118 6.648 11.118 c +13.027 11.118 16.576 6.469 16.576 0.157 c +f +Q +q 1 0 0 1 426.2047 85.6252 cm +0 0 m +0 -2.134 l +0 -7.524 2.718 -10.242 6.446 -10.242 c +10.646 -10.242 13.14 -7.21 13.14 -2.156 c +13.14 0.022 l +13.14 4.874 10.579 8.153 6.401 8.153 c +2.763 8.153 0 5.48 0 0 c +12.982 7.322 m +13.072 7.322 l +13.072 19.451 l +16.374 19.451 l +16.374 -12.825 l +13.252 -12.825 l +13.252 -9.164 l +13.162 -9.164 l +11.904 -11.478 9.479 -13.185 6.109 -13.185 c +0 -13.185 -3.302 -8.737 -3.302 -2.246 c +-3.302 0.157 l +-3.302 6.536 0.27 11.096 6.109 11.096 c +9.411 11.096 11.837 9.366 12.982 7.322 c +f +Q +q 1 0 0 1 464.5455 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 475.6412 77.0901 cm +0 0 m +1.303 0 2.358 -1.056 2.358 -2.358 c +2.358 -3.639 1.303 -4.717 0 -4.717 c +-1.303 -4.717 -2.358 -3.639 -2.358 -2.358 c +-2.358 -1.056 -1.303 0 0 0 c +f +Q +q 1 0 0 1 486.2877 104.2903 cm +0 0 m +1.258 0 2.269 -1.011 2.269 -2.246 c +2.269 -3.504 1.258 -4.515 0 -4.515 c +-1.213 -4.515 -2.224 -3.504 -2.224 -2.246 c +-2.224 -1.011 -1.213 0 0 0 c +1.662 -32.366 m +1.662 -37.689 -0.562 -39.823 -4.335 -39.823 c +-5.031 -39.823 -6.132 -39.711 -6.469 -39.621 c +-6.469 -36.926 l +-6.109 -36.993 -5.48 -37.038 -4.964 -37.038 c +-2.493 -37.038 -1.64 -35.578 -1.64 -32.321 c +-1.64 -7.974 l +1.662 -7.974 l +h +f +Q +q 1 0 0 1 502.8419 96.6985 cm +0 0 m +5.548 0 8.198 -3.257 8.198 -6.94 c +5.076 -6.94 l +4.964 -5.099 3.773 -2.83 -0.135 -2.83 c +-3.077 -2.83 -5.256 -4.11 -5.256 -6.626 c +-5.256 -9.344 -2.269 -9.995 0.584 -10.557 c +4.964 -11.365 8.782 -12.466 8.782 -17.093 c +8.782 -21.742 4.986 -24.28 -0.359 -24.28 c +-5.503 -24.28 -8.962 -21.697 -8.962 -17.654 c +-5.728 -17.654 l +-5.414 -19.811 -3.526 -21.45 -0.09 -21.45 c +3.661 -21.45 5.503 -19.698 5.503 -17.475 c +5.503 -14.689 2.942 -14.15 -0.517 -13.432 c +-4.942 -12.466 -8.513 -11.186 -8.513 -6.985 c +-8.513 -2.156 -4.47 0 0 0 c +f +Q +q 1 0 0 1 526.628 96.3166 cm +0 0 m +3.302 0 l +3.302 -2.942 l +3.459 -2.942 l +4.223 -1.325 6.289 0.382 9.456 0.382 c +13.185 0.382 15.386 -1.168 16.307 -3.504 c +16.441 -3.504 l +17.317 -1.482 19.766 0.382 23.674 0.382 c +28.593 0.382 31.58 -2.628 31.58 -7.524 c +31.58 -23.517 l +28.278 -23.517 l +28.278 -8.131 l +28.278 -4.964 26.459 -2.65 22.955 -2.65 c +19.384 -2.65 17.43 -5.166 17.43 -8.49 c +17.43 -23.517 l +14.128 -23.517 l +14.128 -8.49 l +14.128 -4.739 12.129 -2.65 8.76 -2.65 c +5.615 -2.65 3.302 -4.829 3.302 -8.49 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 567.5518 85.5803 cm +0 0 m +0 -1.977 l +0 -7.075 2.448 -10.22 6.648 -10.22 c +10.826 -10.22 13.274 -7.098 13.274 -1.977 c +13.274 0 l +13.274 5.099 10.826 8.221 6.648 8.221 c +2.448 8.221 0 5.099 0 0 c +16.576 0.157 m +16.576 -2.156 l +16.576 -8.49 13.072 -13.162 6.648 -13.162 c +0.225 -13.162 -3.302 -8.49 -3.302 -2.156 c +-3.302 0.157 l +-3.302 6.469 0.247 11.118 6.648 11.118 c +13.027 11.118 16.576 6.469 16.576 0.157 c +f +Q +q 1 0 0 1 592.6407 85.6252 cm +0 0 m +0 -2.134 l +0 -7.524 2.718 -10.242 6.446 -10.242 c +10.646 -10.242 13.14 -7.21 13.14 -2.156 c +13.14 0.022 l +13.14 4.874 10.579 8.153 6.401 8.153 c +2.763 8.153 0 5.48 0 0 c +12.982 7.322 m +13.072 7.322 l +13.072 19.451 l +16.374 19.451 l +16.374 -12.825 l +13.252 -12.825 l +13.252 -9.164 l +13.162 -9.164 l +11.904 -11.478 9.479 -13.185 6.109 -13.185 c +0 -13.185 -3.302 -8.737 -3.302 -2.246 c +-3.302 0.157 l +-3.302 6.536 0.27 11.096 6.109 11.096 c +9.411 11.096 11.837 9.366 12.982 7.322 c +f +Q +q 1 0 0 1 634.5303 72.8 cm +0 0 m +-3.302 0 l +-3.302 3.212 l +-3.437 3.212 l +-4.268 1.303 -6.514 -0.382 -10.332 -0.382 c +-15.184 -0.382 -18.665 2.381 -18.665 7.749 c +-18.665 23.517 l +-15.363 23.517 l +-15.363 8.692 l +-15.363 4.245 -12.78 2.65 -9.456 2.65 c +-5.772 2.65 -3.324 5.076 -3.324 8.939 c +-3.324 23.517 l +0 23.517 l +h +f +Q +641.83 105.076 3.302 -32.276 re +f +q 1 0 0 1 667.1661 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 684.0792 96.6985 cm +0 0 m +5.548 0 8.198 -3.257 8.198 -6.94 c +5.076 -6.94 l +4.964 -5.099 3.773 -2.83 -0.135 -2.83 c +-3.077 -2.83 -5.256 -4.11 -5.256 -6.626 c +-5.256 -9.344 -2.269 -9.995 0.584 -10.557 c +4.964 -11.365 8.782 -12.466 8.782 -17.093 c +8.782 -21.742 4.986 -24.28 -0.359 -24.28 c +-5.503 -24.28 -8.962 -21.697 -8.962 -17.654 c +-5.728 -17.654 l +-5.413 -19.811 -3.526 -21.45 -0.09 -21.45 c +3.661 -21.45 5.503 -19.698 5.503 -17.475 c +5.503 -14.689 2.942 -14.15 -0.517 -13.432 c +-4.941 -12.466 -8.513 -11.186 -8.513 -6.985 c +-8.513 -2.156 -4.47 0 0 0 c +f +Q +q 1 0 0 1 721.0723 80.6389 cm +0 0 m +0 2.897 l +-6.289 2.897 l +-9.726 2.897 -11.186 1.258 -11.186 -1.033 c +-11.186 -3.953 -8.782 -5.368 -6.132 -5.368 c +-2.628 -5.368 0 -3.167 0 0 c +-6.918 -8.221 m +-11.478 -8.221 -14.6 -5.413 -14.6 -1.101 c +-14.6 2.965 -11.77 5.57 -6.401 5.593 c +0 5.593 l +0 8.131 l +0 11.433 -1.932 13.207 -5.278 13.207 c +-8.513 13.207 -10.287 11.612 -10.557 9.119 c +-13.679 9.119 l +-13.409 13.207 -10.602 16.06 -5.144 16.06 c +-0.247 16.06 3.302 13.342 3.302 8.513 c +3.302 -7.839 l +0.09 -7.839 l +0.09 -4.784 l +0 -4.784 l +-1.123 -6.671 -3.324 -8.221 -6.918 -8.221 c +f +Q +q 1 0 0 1 731.3145 96.3166 cm +0 0 m +3.302 0 l +3.302 -3.212 l +3.392 -3.212 l +4.268 -1.64 6.469 0.382 10.332 0.382 c +15.184 0.382 18.8 -2.695 18.8 -8.4 c +18.8 -23.517 l +15.498 -23.517 l +15.498 -8.895 l +15.498 -4.874 13.14 -2.65 9.456 -2.65 c +5.144 -2.65 3.302 -5.75 3.302 -9.119 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 759.211 85.6252 cm +0 0 m +0 -2.134 l +0 -7.524 2.718 -10.242 6.446 -10.242 c +10.646 -10.242 13.14 -7.21 13.14 -2.156 c +13.14 0.022 l +13.14 4.874 10.579 8.153 6.401 8.153 c +2.763 8.153 0 5.48 0 0 c +12.982 7.322 m +13.072 7.322 l +13.072 19.451 l +16.374 19.451 l +16.374 -12.825 l +13.252 -12.825 l +13.252 -9.164 l +13.162 -9.164 l +11.904 -11.478 9.479 -13.185 6.109 -13.185 c +0 -13.185 -3.302 -8.737 -3.302 -2.246 c +-3.302 0.157 l +-3.302 6.536 0.27 11.096 6.109 11.096 c +9.411 11.096 11.837 9.366 12.982 7.322 c +f +Q +q 1 0 0 1 792.0489 96.3166 cm +0 0 m +3.302 0 l +3.302 -3.032 l +3.392 -3.032 l +4.11 -1.505 5.862 0.359 9.344 0.359 c +9.815 0.359 10.31 0.314 10.759 0.27 c +10.759 -2.808 l +10.377 -2.74 9.636 -2.718 8.939 -2.718 c +4.717 -2.718 3.302 -5.458 3.302 -8.895 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 822.0567 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 838.9698 96.6985 cm +0 0 m +5.548 0 8.198 -3.257 8.198 -6.94 c +5.076 -6.94 l +4.964 -5.099 3.773 -2.83 -0.135 -2.83 c +-3.077 -2.83 -5.256 -4.11 -5.256 -6.626 c +-5.256 -9.344 -2.269 -9.995 0.584 -10.557 c +4.964 -11.365 8.782 -12.466 8.782 -17.093 c +8.782 -21.742 4.986 -24.28 -0.359 -24.28 c +-5.503 -24.28 -8.962 -21.697 -8.962 -17.654 c +-5.728 -17.654 l +-5.413 -19.811 -3.526 -21.45 -0.09 -21.45 c +3.661 -21.45 5.503 -19.698 5.503 -17.475 c +5.503 -14.689 2.942 -14.15 -0.517 -13.432 c +-4.941 -12.466 -8.513 -11.186 -8.513 -6.985 c +-8.513 -2.156 -4.47 0 0 0 c +f +Q +q 1 0 0 1 855.838 85.5803 cm +0 0 m +0 -1.977 l +0 -7.075 2.448 -10.22 6.648 -10.22 c +10.826 -10.22 13.274 -7.098 13.274 -1.977 c +13.274 0 l +13.274 5.099 10.826 8.221 6.648 8.221 c +2.448 8.221 0 5.099 0 0 c +16.576 0.157 m +16.576 -2.156 l +16.576 -8.49 13.072 -13.162 6.648 -13.162 c +0.225 -13.162 -3.302 -8.49 -3.302 -2.156 c +-3.302 0.157 l +-3.302 6.469 0.247 11.118 6.648 11.118 c +13.027 11.118 16.576 6.469 16.576 0.157 c +f +Q +q 1 0 0 1 896.8965 72.8 cm +0 0 m +-3.302 0 l +-3.302 3.212 l +-3.437 3.212 l +-4.268 1.303 -6.514 -0.382 -10.332 -0.382 c +-15.184 -0.382 -18.665 2.381 -18.665 7.749 c +-18.665 23.517 l +-15.363 23.517 l +-15.363 8.692 l +-15.363 4.245 -12.78 2.65 -9.456 2.65 c +-5.772 2.65 -3.324 5.076 -3.324 8.939 c +-3.324 23.517 l +0 23.517 l +h +f +Q +q 1 0 0 1 904.0391 96.3166 cm +0 0 m +3.302 0 l +3.302 -3.032 l +3.392 -3.032 l +4.11 -1.505 5.862 0.359 9.344 0.359 c +9.815 0.359 10.31 0.314 10.759 0.27 c +10.759 -2.808 l +10.377 -2.74 9.636 -2.718 8.939 -2.718 c +4.717 -2.718 3.302 -5.458 3.302 -8.895 c +3.302 -23.517 l +0 -23.517 l +h +f +Q +q 1 0 0 1 918.3243 85.9172 cm +0 0 m +0 6.356 3.594 10.781 9.591 10.781 c +14.981 10.781 18.193 7.165 18.418 3.729 c +15.116 3.729 l +14.6 5.84 12.601 7.794 9.815 7.794 c +5.728 7.794 3.302 4.807 3.302 -0.18 c +3.302 -2.538 l +3.302 -7.367 5.862 -10.489 9.86 -10.489 c +13.027 -10.489 14.824 -8.782 15.273 -6.828 c +18.575 -6.828 l +17.789 -10.579 15.026 -13.499 9.591 -13.499 c +3.459 -13.499 0 -8.76 0 -2.516 c +h +f +Q +q 1 0 0 1 957.3165 86.591 cm +0 0 m +0 0.067 l +0 4.155 -2.471 7.255 -6.199 7.255 c +-9.973 7.255 -12.398 4.133 -12.398 0.067 c +-12.398 0 l +h +-15.723 -3.212 m +-15.723 -0.517 l +-15.723 5.705 -12.309 10.107 -6.199 10.107 c +-0.18 10.107 3.324 5.75 3.324 -0.786 c +3.324 -2.853 l +-12.398 -2.853 l +-12.398 -3.324 l +-12.398 -8.108 -10.018 -11.32 -5.93 -11.32 c +-2.965 -11.32 -1.101 -9.793 -0.359 -7.547 c +2.987 -7.547 l +2.111 -11.32 -0.943 -14.173 -6.042 -14.173 c +-12.084 -14.173 -15.723 -9.86 -15.723 -3.212 c +f +Q +q 1 0 0 1 974.2296 96.6985 cm +0 0 m +5.548 0 8.198 -3.257 8.198 -6.94 c +5.076 -6.94 l +4.964 -5.099 3.773 -2.83 -0.135 -2.83 c +-3.077 -2.83 -5.256 -4.11 -5.256 -6.626 c +-5.256 -9.344 -2.269 -9.995 0.584 -10.557 c +4.964 -11.365 8.782 -12.466 8.782 -17.093 c +8.782 -21.742 4.986 -24.28 -0.359 -24.28 c +-5.503 -24.28 -8.962 -21.697 -8.962 -17.654 c +-5.728 -17.654 l +-5.413 -19.811 -3.526 -21.45 -0.09 -21.45 c +3.661 -21.45 5.503 -19.698 5.503 -17.475 c +5.503 -14.689 2.942 -14.15 -0.517 -13.432 c +-4.941 -12.466 -8.513 -11.186 -8.513 -6.985 c +-8.513 -2.156 -4.47 0 0 0 c +f +Q + endstream endobj 58 0 obj <> endobj 52 0 obj <> endobj 47 0 obj <> endobj 59 0 obj [/View/Design] endobj 60 0 obj <>>> endobj 53 0 obj <> endobj 51 0 obj <> endobj 61 0 obj <> endobj 62 0 obj <>stream +%!PS-Adobe-3.0 %%Creator: Adobe Illustrator(R) 17.0 %%AI8_CreatorVersion: 22.0.1 %%For: (Sindre Sorhus) () %%Title: (logo.ai) %%CreationDate: 20/04/2018 13:02 %%Canvassize: 16383 %%BoundingBox: -179 -101 822 564 %%HiResBoundingBox: -178.254969520276 -100.574471276437 821.745030479724 563.638610839844 %%DocumentProcessColors: Cyan Magenta Yellow Black %AI5_FileFormat 13.0 %AI12_BuildNumber: 249 %AI3_ColorUsage: Color %AI7_ImageSettings: 0 %%RGBProcessColor: 0 0 0 ([Registration]) %AI3_Cropmarks: -178.254969520276 -153.151597214659 821.745030479724 646.84840278534 %AI3_TemplateBox: 319.5 240.5 319.5 240.5 %AI3_TileBox: -81.2549695202761 -32.651597214659 701.745030479724 526.348402785341 %AI3_DocumentPreview: None %AI5_ArtSize: 14400 14400 %AI5_RulerUnits: 6 %AI9_ColorModel: 1 %AI5_ArtFlags: 0 0 0 1 0 0 1 0 0 %AI5_TargetResolution: 800 %AI5_NumLayers: 1 %AI17_Begin_Content_if_version_gt:17 1 %AI9_OpenToView: -490 765 0.6667 1428 852 18 0 0 6 42 0 0 0 1 1 0 1 1 0 1 %AI17_Alternate_Content %AI9_OpenToView: -490 765 0.6667 1428 852 18 0 0 6 42 0 0 0 1 1 0 1 1 0 1 %AI17_End_Versioned_Content %AI5_OpenViewLayers: 7 %%PageOrigin:0 0 %AI7_GridSettings: 72 8 72 8 1 0 0.800000011920929 0.800000011920929 0.800000011920929 0.899999976158142 0.899999976158142 0.899999976158142 %AI9_Flatten: 1 %AI12_CMSettings: 00.MS %%EndComments endstream endobj 63 0 obj <>stream +%%BoundingBox: -179 -101 822 564 %%HiResBoundingBox: -178.254969520276 -100.574471276437 821.745030479724 563.638610839844 %AI7_Thumbnail: 128 88 8 %%BeginData: 7524 Hex Bytes %0000330000660000990000CC0033000033330033660033990033CC0033FF %0066000066330066660066990066CC0066FF009900009933009966009999 %0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66 %00FF9900FFCC3300003300333300663300993300CC3300FF333300333333 %3333663333993333CC3333FF3366003366333366663366993366CC3366FF %3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99 %33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033 %6600666600996600CC6600FF6633006633336633666633996633CC6633FF %6666006666336666666666996666CC6666FF669900669933669966669999 %6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33 %66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF %9933009933339933669933999933CC9933FF996600996633996666996699 %9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33 %99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF %CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399 %CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933 %CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF %CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC %FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699 %FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33 %FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100 %000011111111220000002200000022222222440000004400000044444444 %550000005500000055555555770000007700000077777777880000008800 %000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB %DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF %00FF0000FFFFFF0000FF00FFFFFF00FFFFFF %524C45FD2DFF58AEFD22FFA883FD59FF585858AEFD20FFA858337DA8FD56 %FFFD0558FD1FFFA8FD04587DA8FD53FFAEFD04582D58A8FD1FFFFD0658A8 %FD52FFFD055883FD22FFFD055883A8FD4FFFAEFD05587DA8FD23FFFD0458 %3358A8FD4DFFAEFD055883FD26FF7DFD0558A8FD4BFFA8FD04583383A8FD %27FFFD0458335883FD49FFAE5858587D5883FD2AFF835858835858A8FD47 %FFA82D5858582D83FD2CFF83FD055883FD45FFA8FD0558A8FD2EFF83FD05 %5883FD43FF832D5858582DA8FD30FF83FD05587DFD41FF83587D585858AE %FD32FF83FD055883FD3FFF83FD0558A8FD34FF83FD05587DFD3DFF83FD05 %58AEFD36FFA8FD05587DFD3AFFA88333FD0458A8FD38FFA8FD0658FD39FF %83FD0558FD3BFFAE7D5883585858FD36FFA85833FD0458AEFFFFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FF %A8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FFA8FD0658FD35 %FFA8FD435883FD065883FD34FF83FD495833A8FD34FFAE58585883585858 %83585858835858588358585883585858835858588358585883FD0B588358 %585883585858835858588358585883585858835858588358585883585883 %FD34FF83FD495833A8FD34FFA8FD215883AEFFA8FFFFFFFD225883FD34FF %83FD0F58335833FD1058FD06FFFD21582DA8FD34FFA85883585858835858 %5883FD055883AEFF58585883585858835858588358585883FD06FFFD0558 %8358585883FD055883A8FF835858835858588358585883FD045883FD34FF %83FD0E58AEFD04FF83FD0E58FD06FFFD0E5883AEFFFFFFA883FD0C582DA8 %FD34FFA8FD0C5883FD07FFAE7DFD0B587DFD06FFFD0D58AEFD07FFA8FD0C %5883FD34FF83FD0B582DA8FD08FFFD0D58FD05FFA8FD0D58FD08FFA8FD0B %5833A8FD34FFAE5858588358585883FD045883FD08FF8358835858588358 %585883587DFD06FF5858588358585883FD0558FD08FFAE587D5858588358 %585883585883FD34FF83FD0B582DA8FD08FFFD0D58FD05FFAEFD0D58FD08 %FFA8FD0B5833A8FD34FFA8FD0C5883FD08FF83FD0B5883FD06FFFD0D58FD %08FFAEFD0C5883FD34FF83FD0B583383FD08FFFD0D58FD06FF7D2DFD0B58 %A8FD07FF7DFD0B582DA8FD35FFFD0558835858588358585883AEFD04FFA8 %FD05588358585883585858A8FD06FF83FD045883585858835858588383FD %05FF7DFD0458835858588358585883FD36FF8333FD0B58335883FFA883FD %0E58A8FD06FFAEFD0F58A8A8A8FD0F58FD36FFA8FD1F5883FD08FF83FD0F %587DFD0F58FD38FF83FD1E58FD09FFAE582DFD1B582DA8FD39FF83FD0458 %835858588358585883585858835858588358585883585858FD0BFFAE8358 %5858835858588358585883585858835858588358585883585858A8FD3BFF %835833FD155833587DFD0DFFA883FD1958A8FD3DFFAEA8FD155883A8FD10 %FFAE7DFD14587D83FD42FFA8A87D835883588358835883588358837D8383 %FD15FFA8A87D835883588358835883588358837D8383AEAEFDFCFFFDFCFF %FDFCFFFDFCFFFD0DFFA9FD3DFFA8537D777D537D7DFFA87DA8FFFFFFA87D %7EFFFFFFA97DA2FF7D7D777D537D7EFFFFFF7D7D537D777DA8FFFFA8537D %777D537EFFFF7E7D777D537D7D7D537D53A2FFFFFF7E537D777D53A8FD35 %FF7D2828522852282853A9217DFFFFFF53214CA8FFFF7E00A85328285228 %5228287EFF2828285228522728A8A827282852284C2153FF7D0052285228 %2828522852217DFF77274C2852282821A8FD3BFF5253FF7D28FFFFA82852 %287EFFFF5252FF5353FD05FF27A8A8287DFD04FFA977FF7D28A8FFA9FFFF %5328FF7D4CA8FFFFA827A8FFFFA85353FF287DFD04FFA8287DFD34FFFD05 %A8A9A85328FF7E287DFF53287D5228FFA82877FF2853A8A8A8CB7E287DFF %217DA8A9A8A8A8FFFF7D27FD05FF5228FF7D28FFFFFFA8287DFFFFFF2853 %FF524CA9FD04A8277DFD34FFA8284C284C28282877FFFF2877A95252FF7D %28A8A828CBFF532828284C282827A8FF53274C2828284C53FF7D4CA8FD04 %FF7D28FF7D52FFFFFFA928A8FFFFFF5353FF52522828284C28287DFD34FF %7D287DA87DA87D5228FFFF7D2753277EFFA928532853FFFF28537DA27DA8 %7D7EA8FFFFA87DA87DA85328A87E27FD05FF5328FF7D28FFFFFFA8287DFF %FFFF2877FF5328A87DA27DA87DA8FD34FF7E27FD05FF5353FFFFA84C2853 %FFFFFF7D28287DFFFF5352FD07FFA87EA8FD04FFA827FF7E28A8FD04FF7D %28FF7D52FFFFFFA928A8FFFFFF5353FF527DFD3BFF7D2828532852282828 %FFFFFF522753FFFFFF7E2828A9FFFF52282853285228527DFF21284C5228 %532828A8A82152285328522753FF7D27FFFFFF7E287DFFFFFF2853FF5327 %522853285228A8FD35FF7D5352534C53527DFFFFFFA828FD05FF537DFFFF %FFCB525352534C5328A8FFA852534C5352537EFFFF7E4C5352534C53A8FF %7D53FD04FF52A8FFFFFF7D53FFA8534C5352534C527EFD4EFFA9FD0BFFA8 %FD07FFA9FD07FFA8FD0FFFA9FFFFFFA9FD5CFF4CA8FD0CFF7D53FD6FFFA8 %287DFD0CFFA87DFD58FFA87E7D7E7D7E7DFFFFFF7E7E7D7E7DA8FFFFA87E %7D7E7D7D28A8FFA87D7E7D7E7DFD05FFA8A8FFFF7D7E7D7E7DA8FD50FF7D %004C284C282852FF5328284C2852277DA852284C285228287EA827282852 %282852FD04FF7D28FF5228284C2852007EFD4FFF7D52A8FFFFFF7D4CA853 %52FD04FF7D52A828A8FFFFFFA928A87D53FD04FF7D28FD04FF5353FF287D %FD04FF7E7EFD4FFF7D28FD04FFA827A9287DFD04FF53537D28A8FFFFFFA8 %287E7D28A87D7E7D7728FD04FF7D28FF28537DA87D7EA8FD50FF7D53FD04 %FF7E52A85353FD04FF7D52A828FD05FF28A87D4C2828284C2853FD04FF53 %53FFA2284C2828284C7EFD4FFF7D28FD04FFA828FF4C7DFD04FF53537D28 %A8FFFFFFA8287E7D28FFA8A9A8FFA8FD04FF7D28FFFFA9A8FFA8A8287DFD %4FFF5353FD04FF7E4CA85352A8A8A9A85352A828A2A8A9A8A828A87D52A8 %FFA8A9A8FFFFA9A8FF7D53FF537DFFA8FFA85253FD4FFF7D28FD04FFA827 %FF7D2827282728277EA8522728272827287EA8282827FD0428FF5253FF7D %28FF53282728272827A8FD4FFFA8A9FD05FFA8FFFFA8A8A8A9A8FD04FFA8 %A8A9A8A8A8FFFFFFA8A9A8A8A8A9FFFFA8FF7D53FFFFA8A8A8A9A8FD74FF %A8A87E5328FD7AFFA84C2828277EFD7BFFFD04A8FDFCFFFDFCFFFDFCFFFD %CCFFA8FD27FFA8FD49FFA87DA8FD14FFA8FF7DFD07FFA8FD08FFA8FFFF7D %FFA8FD06FFA8FD14FFA8FD04FFA8FD0FFFA8A8FD1EFF7DFFA8A8A8FFFD04 %A87DA87DA8A8A87DA8A8A87DA8FF7DA87D7DA8A87D7DFFA87D7DFF7D7DA8 %A87DA852FFFF7D7DA8A8A87DFFA87D7DFF7DA8FFFFA8A87DFFFFA87D7D52 %A8A87DA8A87D7DFD06A87DA8A87DA8FFA87DA8A87DA8A8A87DA8FFA87DA8 %7DA87D7DA8A87DA8A8FFA8A87DA87DFD05A87DA8FFFFFFA8A8FFFFFD04A8 %7DFF7D7DFD04A87DFF7DFD04A8FF7DFF7DFF7DA87D7DFFA8A8FF7D7D7DA8 %7DA8A8A8FFFFA8A87DA8A8FF7DA8FFA87DA87DFFA8A87D7DA8FF7DA87DA8 %7DA8FFA87DFF7DA8A8FF7DA87DA87DA87DA8FFA87DA87DFFA87DA8A8A8FF %7DFF7DA87DA87DA87DFF7DA8FFA87DA87DFFFFA87DA8A87D7DFD04FF7DA8 %7DA87D7D7DA8A87D52A87DA87D7DA8A87DA87DA8FF7D7DA8A8FD047DFF7D %A87DA87D7DA8A852A87DFFA8A8A87D7DA87DA87DA87D7D7DA8A8A87DA852 %A8FFA8A87DA8A87DA87DA8A8FD047DA87DA87DA8A87D7DFFFD047DA8A87D %A87DA8FFA8A87D7DA8A87D7DA87DA87DA87DA8A8A87DA87D7D7DA87D7DFD %05FF7DA8FFA8A8FFA8FFA8A8FFFFA8FFA8FFA8FF7D7DA8FFA8FFA8FFA8FF %A8FFFFFFA8A8FFFFA8FFA8A8FFA8A8FFA8FFA8FFA8A8FFFFA8FFFFA8A8FF %7DFD04A8FFA8FFA8FFFFFF7DFFFFA8A8FFA8A8A8FFFFA8A8FFA8FFFFFFA8 %FFA8FFA8FFA8A8FFFFA8FFA8A8A8FFA8FFA8A8FFFFA8FFA8FFFFA8A8FFA8 %FFFFA8A8FD16FFA8A87DFD26FFA8A8FDFCFFFD44FFFF %%EndData endstream endobj 64 0 obj <>stream +%AI12_CompressedDataxܽz(I6^C &6kfݸQY{Xh4F9^8GT06Pfv\-tv<@b39(]봝 BXkmOo0G3{I]Rْ!rЁ+Rh +#x*&̷&:+p`zx("9TS,?{zMq.2Ǒ(q'ݒb 8mqS#=~mI":p/נO23j ^hy% `B[: O K`>z ;\Lpr8ۦ,5lou)̞X(&Q"iO;Xy+q{Kyb`bgP]Oh&r,1f iaYL$N$9 )K)[Œ8/ito9#;bBw=0 +029Ψrir75FmQ[OwkȵxyML5*,{9f ]5#hApK[Ѷ|n$w[P I_ER9v3`v-Ucjai@1TqFrKBw8q@M_z +oJtD +$ņ'q`.d1AVHI +ozqP0Tf݆ba =D܀{J+@}9P5 x jD/a_~oU070p۱olH,wQwzJXP.k7W_+hܯԒrup]Z]CHaCjl"PE6pC +A#sD- or 1.i7.ؕ\-%l&7jc/1;vnRx$ 3A/kao R\;Zxe0H[h<ɟ6M`DK"(7nX:BɰMO,bd ,zŖhD6c в'!KO/fgnp;0bnh꛽D^gv; hɻr!ͣ5X?tM`]Y@go·k`F/cr~x{rEpoڊm ۟IC׆Q_87B"Dţdg(Kbqh0<K),G8΃~. 7r>|>0ܵNS26;P_4^@ i$0yLj/l{޹)tĶ8l58p{ĩ ~UpU-iswd$7MHxAgHM -JOd4J]\vtG 5`@K%zW%#!9J=fZNE`H!tQcz=M!DȩE*$јA0^s02`{#A(ћvO Q v#<]n`\jr^=lN1@ Pa4B0ޑ%&]z1~T >"cʸbcPe-z +| 1$@/%M3Z^ v1Z,}ے[5q +5Qnepy\/6@$l@.T{MHN*t1=Q`"J/ FSm7;xBdY[PM9յ("׳4;j}<Č&K,q"j*B5Zr :ε%7_^7(T6|#AM=ךB@M7KDP ?́do {v8x&Z >fF-&_7+,zʿݲE%}r VÒDlZ914<0T]5:I+|PGYXGk8,F`@,Z/lSSg+*ךA2lFFsy?$[ґ ?JEbD0ISHLLz`[0%=N -4'7y]@߁7RMe.-w%?LJiGT$k*e2`|EPo#tZ0,Jd*dgKK}g2 {X`THf)ވh#X8F7Kev4;fLѳi x*%( +βfʄ/+:Ld*&Z`(E"e +f0KrlmX[w{ȟsM_^5? vu W5C4k f7$7)ѫܔЛb vVԖ[~N?~dy, Y)sfG;/7t-Y{ &ԃ'a<,KmY1Mq.J[>*Dmع"CEt'⩈~=HdՇpu%b>ɋ.BP~cbW +WW"SZ.Կ.#M>a+RB$T~F٣x"*5S:׏B#L h9Fay[th +u$Ś5rC1vv-e!w!텍zYTW$sp +FD͆ȃݖ#Ac_4.ЌBnm3.YciY3*/&vV3FaFEk2IE3 J,H+(y  f&d{zx ;:ˇ">({ %dTT%%&^FŽe~_NQ@0 T^ƚ/7= #z#{{$  +,{f3PPZÇ|>]3s&jKgkM 2^eXEֻƉZK:hwe +ϐ l{KmB`F7Ҭ*dT΍+{5y3xo+k0P\-m\rWDJKYb7#M`W41xx{/ˡ>RyG!S(_ 8w5O}29j_2xJszZo+ Ǘ2[l]f˟O|rVL~_{5ׇgr9S:=x0-:#.>/ݏ27xLO uښsq,L&Wzy3)-yw[#6g<3(c} 'V׋D"N#Ef?i\8ܰ@J?R2-~ Y1_JbV~pfrj}% -K~Wvw[x'mBsf =P.$ ؿD<3Tvh׉sF|e^ ~ekD>s|b8'?gwJ`,r:ݴ 8&djme3uDIj[ǻ?U+T8,J^u9v-U6?vWI=r}Q֔~۲YM@RRG]%1 +zns*WŸmNi\`TiZ%J`{No i%񕾷Ui +6}O\[;kRߚs[q[zI!pfPUFS9f\nm^HI"=oldzYԲu#]) KdFIiTO'{{gHeoM*~r4)rݰS1ê.n3ͷDw:b帪B.r?尛:~Qtxy)D¯%( +E5k5 +q`- VuSM1Z9`{ S(ωodP؛8"͉ v*ioL‚@I$tY}x, |HqT\2" z"j+'Jcj4Xw $hNJr\QI_0s]ͱ̧2$B*rl$clG%&ĺƊV@kḭq[*𚣘j&i%7e3*'K՜ĵ9DQcdvD1)z}pR "9"DCalM8i؍'qo}:*U?_?] +n4)!0R5+gK.Ǖv\*?Yy9,T?.n+mGߜ'd[LiРVfAoS:Mﻴ)-0p{RZ-TR.>`GC[~#tp) 2/fWmHԔnv)0lL7LShۦ5zʩg{ a)ƉjJ''L^94ƙ +GPG7%Jt@eY CZR xG›"ub\6Ti~'Hl_\7e_l?vcN#zFG\<@ސosJ~GvzB| +l뛋Q*D`[:FJIz,۳_|ͷ£#[}51ןݑ/!ҙFg釸vHDfғtZ$jZupVIWdbܺ)=t +`xYݽ8Oƴ KF -lbTU}n6Ȓ黧o +o5؝ÑF +wl~o2h+7}qTs\Kq*Y[DB; Ø߈t4^ LAzZ^8*ߺMhʗ}p[X.Q4t}l/IeJ\;=UʍKn3 +Ҏ\sp޳XrQ<pihox?o3Gww@Ư&sfQua~C;_f@SJltQ ='^mxzLJUrzr#}I̜?'RUo4 +6.[Sj3,}Wۭxo[.X?TwF_~idOgE5@@2b/V>7l-H=.d^r7|^/*O/P` 2y66':јXu,[1I 'Q*;.sMZ@kMnƋt)m7߳S;( 2M}֥gqRmYDu }}::oʸ$wh1HX.R vdNTm\ŏY\uWx +}߅AIֲ7@_^OԬ0C :+EՑrjJ[sz/q"@PVY* v.~`!}#S~.G/r-B뵴exN}~ rr4ڻJe+Q^9/V\l_. +5 r.Z?\`aӕl6ُ-0ʔfB  vki>"-~A:b9vϼR9)bv@AcAPG?kD_sOql 0C^ b] KHm,I==a?vҾai*؞=,`/:~abBc+4PsT),!]o^odGi(\!S?ȌÅoE7fqr]Ë͗ʀxLm#,k<8$)x*q kbnm+DД~vb ⪎/q0jP+n ʙfw\҅44; !4Nyn? gШ],+ls +e+z.}56}MIHK8kσZ(e:+Bp_ϳj1Yg;Xeqfk1~WH29?rWL63ٖe;Q^W ؜_<vV+v9Ƒы;>OGw^e[˱ 欎wb2 +a\^`;ZSd<~ |QM.uQ>D>+ XjZ|<3LjHN72s>_Tno"/K-*w^nms,vxWV﷖yn(17*:.u!qQA#DoBg6 Jd2 )-x-IQD;ۯq6r[*&MϵcAkUT(/LU2U۷ x\:{t ]z!o`Z5E/G p/Ϳo^´jﺰkmX]$?܀^}e ̊ +ޒk`{qŕD(k^FRh"dփ=g"P&JsY~Rm~Yܖ`^:Z6~<.J?cQ$+T<$)S6r(}.*(NA^qL1{gnt UUDjf`xRhQ,5W)lukPUv=b>>{vr_l%5["vb]VEUܥн89gc14d5b&y$a)$ # ;^9C +皻xv!ETXQ1jXE qh]ۼΐk "t8J!"KC'`GBw7s 𺿗d8vH^rKhM.B͆!X"N2=8;R(xL:zh ik!.|.r5`P/j +,ٷFD1^":r@BH"bF3'Yfw4f4sP@H+ +]XOQVgvk*x;xfTiܐpJQ]n.(o?C +Buԕtezؑ&e9-jiӞ'C0 ="\cӧ7VZQ4MTrq\Uj|yؠ-sFwT 2-RRM35BS]o4`XX9C;S egSk;ݝJ@v?K)B +QWEwHCA CX +D;@&r!1e_lacҾ$J傻;"X$0lwZa[ ܁S ?RU;fEB>$`oK'b1s0bPƪb6^+bcfdED`:5H3Xs>. H"U"7(bz |Y*0^.rԒMŀ"vd;P/.}oaE2@r hВS"cR[gW>0QѳՆ~v\YI%G~eHg6O +,T)0x'CJm[YkSV +?%Q*nGBG9a$gV'4j~״T Pυ){ٵضfZq WNzZʉH uG"4e^k*kvɯiЀ.BZ38j42#zRe4.$L5ȉO u7>wxK#0mNG0쾁Q9M'>rWG;5 9t #+({,ށ^W~W.RJFD)x(Mz5Tar亾|J_wbOpz[lZ?}.Y{_͍ +F{j<;c-[~ $j Cq9g^~9#XzrC:t.U|&pC6'o;xXoW =0/OH}R৺e#W)҄'-nС0z&6''rM\Z6 ';;KY_6Y[MRCi;ڜ =%fB^~KzHzS5}g;MϨ.RV-h!9՚^k8զ=muGօ H B O`5BHq_qTU˵ Rz^"oK Fi )1AwnXl5!2u_i'jW89Zgqd޵fꪐ,ڇ7{ji!g54nEkUH_Ov1SS5Di7-ZHjJ",<]sk/=m04" *ڪGo:HߢX m{[BBjsBi6;rۜ>9֧\!]`O )TD{ߤcGNOzAYjDy"x%p :?oѴ"_L'S!9i:4B;ۋ.@Z`#o06>(tbWCnR*=`c " 2/My/imB +%8ġAҋMF򏭖B5ڮDy;H"ϕ q؜j3L/쪝ꩃH5O#fP)sRm z]SmUh>nht5zXΤ{W!ۻoA*֛WKot[) ¦V[įDwBNUi#=ݧSc^5ik=(>9t=IסR*zۿi׆>utQquԲA`ShU f5bp4[f~/7KW{dځO0{{mv +ztk X +v|W!7 } c//Xs72$9s']~{u.v{y@iV ) Ҹj:*A +D] )X/jXysQ9 +iEH}?ڻ#dH'.ץu'\FHcs'T!8OXH/jdH)t/%ʱF_HWq}rP!E8JP#!v&oH>0|?yew.Rƴ(Zb_tDI2by+)j\}#ϥeǚ0/dA_Y48+&@Ԙ's*"*?vWww>@d6B^$ĜNOny}[pdIAG \WuS'd:>-$[' rrU''pGv \ja.#c<ުHSLNt|H6"Wۖ89C; iu'?>S,̠èojş6?O1;'a؝ƫl*9CyNYwތj&E_KxPᥠJ|:џ̹' +} k˰9 EAcu3-̲q_黦ږߚ(ߟx[RQQ(I1B1~[-K~:k`7Y=Y;&J䘾)yeZoU=U_؞Ns5uY6 qD-Ѣ MֱJW14;bs®,]+QʎMLV2$/uii} >&\&O ,הv=S㻩eZ:[ %^ZjuLh +NKw%Х僝d5hMt (薧26u>Kѱot+*On%AbEF,7+Z +-qԛUjSU2 s_ou\: J{ FF -xH,dW7J]=4zp:CzNqo F-|SٜZ=oD׌6x d=>Da+cנTg@[*m:%XkYYFƥC:7:=K!庖LeH7/ӈߘFA+u7rHi%rMiX-72g3F`+CYY mC2b-%c? +QɰVޙ 5}GȻ}:e#bUEɭeȗKLߦkm+VJ9ttP#8q:-R918NH=5N_43$i9ttRi9tt:ق 3lrscnn958NawRY6<<*8@sW ֻKجTx@V7E볘+[QGO]$N*hFgvG,&ևI JfTVǏOܧFhm|i.g>h>K]2Ŕ98% [}o#MLCAD %8m, EҌR3 {0D; 8{} l t~k,< K0+4 +d&(kZfAFd#L RLGįj+ea= YM"T1rF?IFW8 +YjgvYӈ0VL_ z.LXG6yXja ^cgʇkgg5B|8)OwҨ4Qق靌7}Sgĝ;N=Z3·S ۻΚZC-ˇ?+z+L>|11b"m*D>Z4]z(#!M^kasU&3 Yi3_0N!fNv{/CPS`)#JGo &Ehcu2i8ZP6`egrpN^-mRvb/a0cW0rWڍVWI^-%,>ϒ_t_XJ"_DO6])ͤ2RΔtԧ3e>)#5f.͹ "`F75N,p,ͦ3!92c2j쏦8!cNڗn>>!uQR&N1h59gU8Z5~iR`<kqֈxecZ+jܝ%vDeh'W2k^)|"Jy/CuS*YpgGPN]Z)kz .#5{Ga9{G!k2kBpNf!(`O7N6pk>%T.vA4LPzeF՗c&iL{L{z wgGs]m@If1~K%+\IL?'ZJc%5GȽ +G世_*p/4C&k9#jG+;揱Ydܣ:fCϣh)ǵü\Qztz[:<trTqJk[>^iJmG)z0 '}_Ogs:~I[5#]RNyᒝ0&琹@b+z#u<^;ÊsALWu/֑P/ Sb6GLiμHIxݻ^jڇiPT3G$Wxm$`,0]XnҜ?H/4@ZҺHvvs)!/zR)\AF +InKy%eEڡdvlcS: xT['2tk?7:!V wzzqD?`ʗVě:.(wkVZqY:.R;ξ^رf:ueFl?N\XL,F/dKF/oKi@:GiI'VGJ*qXŕb͔~bellHU-WC K⠡iTpK`#4+vɽsxa 0 1Z#|1SS$vɏQfmqJ=vrAϺd#״Z[8 w1s{.hJM2|.;qU Mo]$HG5S]p@AE ƍk.):vF:2sOS_9`OfRRv90*:]A09bL9rd@{Ht@]QOx?z,@9&ULΐf,@`/04 Мun5?( jEY8UO"%TO"yYV洢͝ZOQ+g|x|; +x*ʧgiU:Q>'SuIusR{c'd`n(ݺ~frn(eUmka֝Z6uNR]?ӻRϸM6ӧ3Y#Ng+"N'Ӭꧮ|l]?x&r~UN[uGeVj]?!,gg\r~I]?3uN)gWe TOQ_Ȭ~gG쟡Y!Ny? Ɩw\=CjjSϠK5W3|%MT8%fTϸּS(Va{8֊BONJv0,;?ALTO~L=>y#iB9C+JQQ6u@]? ѶgX{Ux}LPv僳Ҏ:~n;fuNƭ3z>K]?~;ҖVhu+ŧQ~,\eU?#/gp^OfUnmүwXuRϺim\dxM,Ⱌ'~NPϸ~U4w#W3zΓaU?ٽp'Qe]8X]{t]? % (vd]?ܦ;q,7vV,p S/CƁʴŚʥUKUw1Ĝ`&=U(}k$׮Tzrz)NJ*35Q=~xu"pGDw,%)onz`TJUuV^؝ a;y[>~&c 67WS~T>?6 5:짗an-~v5]z^nJP3w%'9=\^5K'/7㠿_sY*S L\`J5t0"u_+/.)}P$6Lk  ׅ}yT#9UcgQ6aS _M>MP&_X~.n6V]72ݙS'xk+%?Ql|v63W>3p &?XT]l9XmLIRi3ԶDsU\-xls^zn~q:0 rg.¯a^nV[B_,qY`k9_Cks=lJƱp.;M< tVxPHʡr ¤r+\/%1kASz4jk+ z#W|}$ l+S&'_AA%[+b{bTŠ ́7ޫXf`)K;DJH2C}zyt2y$Z(R9`jUb7Q h#&A?^GW^# _#eOhC:X1=8=yU{CboFc^x0֪\1XFc F_Q5X YWzv?ֲjqxן/} >Xq7~YF^UUo⯫Ʋ2uB6->c@d>b@&rL[ÛpҲ⸪$G7  p~/ bAݭeݦ|h~6EU0"9Q%p2a|cu@F3~-j̋7ck7f=ހRVt{m򆺌Z~zD}p&Kc* +Ԗźsa{pZuBcd`)hg-Ը9RxK>tU*#B{gu:q==4‹X6x|;)D2 X/ڐ@E[s~Z6dNbno<#*oW9|܍7a:t~~W bWQF%̀ȌP)bؘJ3 v0T6d=YU2~ `9E)㺤n/"ahH窉B}‹Ѧ)7#OfI, AngG.Ul'[*}_ޣi]IW.@XT0.R\-u՝?n.6gf7J(3.IFt$5.;wQdU!]}OGʕa_|6: [ +ՂUx iHծ,q篵sV^Uu^ b~cns&~V$ݡb^!?X6 KZ O/dn~Z.Ps;CeCLG. i)VЛZ~<039 +3'ո0gn*zدD~%[ 97lx(c[w((%otpW@S_ܠ3@Mb +on0/aq ,D^UlE`Ve᠙֢6XG7c9My+ c#EQ>b4 nYo1kٜ6[l ^J4 +jr2kk/V9s:b7g>>%-1)K?{%p-%)Åؾtp~mRBW=i:\ynA#{uCQq(-B<̈Ჟ~A*44꓍jJ>XcMÏyBֆ_;Z +9VԶՆ)]lVq,X,}נO\ȭ#O 0۸+7]E + \ k]BGxWkmպ?30;UGnsFoa9ģi>+]gfq<h9#)VӐ%i |y^hc ]k2T|Ex!5 U8^9/_嫒JxR/i7" )퓏E&30"Vx~E "0 L0ʼgfp~`?{bP[Ɨ%fbćp2§X`PVrBH5!h'xHe% Es@nKXg.KcPQ ,#ZW6'@ZR]z#B) +$ؽE<+Iɱ"qʯObm$S xmܟ/SSa8"HeHDcpR"D. nc?;p#SzyH˷K|SE43b%%4A" nx0Joaa`3.\" g*msCK@@{jpkR"hjKRw6"AJ&LNսNYZB{Q-+څ}R;UW*P1 1J1C#z}Ws\,ڑ +Le"g %Lꃴ#W¢bYc@R& oU00c0o0!OEwPHqEIbň/p6C76A|k6|SDՑƑ6F|9R10l;-9$'wHQ#*~@@#J]E +BlOg_<3"Uz.Jp777㱛 pk}Qo杗eP_<>:ZEyn }]|0t^Y_7o=|ý!(/?|Aޖ^㭿}ӁPJxÿa B>/E~B;[q}ΗZ_zЦ/^Ý7Dz{#<6MCD1x˛BkɓZh +Pb_L(ٮے^*_hDkoW%˴[>ͯ'U:^~+E۷N?~~W9{0Jo8z̮>t5 8_pnl(φn*w1ԳOfƓKm\8-+R[=k7xާ?A|i20u\n>һW+߾}SEۮUkxc}oyvϿ[w77.oDᕯ>}i˿_~t~a/?YH w_v!7?J=o7ϻW?LxA/@Wo_~Owvgܛ+F5X/؝wwIbxt_t9.ù=_XY~}2}k]7Ν(y Mb~~zCϾy?߸of$o@L_곕c̦ 5PkԊ%.Zb{Ki-:\ąZK&u7[2bkw~{|g>zvswe˷n~ɽ4}wGO/WΕ>&on}ӧK?Խ6&ԩϮLi鵩෿~Swџ>˦YnY3uT/±*-\Y zn]]""Ve6.n!Kwn]k]QHXʹrxz[V.mχ|ց4?LIVFVo~Ӎj΢%wػ$zo*Q\~̚ Ր2k.WʬP^M]ߓYs){ϫJ.Ys9䢙53k.W;3k.W)R5ʫ9O"F3By5,w~mkjڍ+Z[ _rqļxOEMAj#3+np|{6{=W-'oy~>\|{2C|!wr0ξk#anm0w'?<| {ry}k\:?>x[kHa}}'wk?~51…+b3Fo_レw +jv_+{¡Kb+O\/Wwz1gn_~ ×߆,\ef/O!6Io~&g5) ޽~+žھ_>_77zyin؟.ok>G 750ؾqYt}W'݋כ|G\@8Xz4!SO 22B)_߻귄ӿ֮_~c*cGyR\k7nȮ71~ɏ%!Z00zZw1+iuф|}/$GBK\wva{$t ^Am740h) csilÕ4ܧhVJ,F[S +.Ds!Ҙ \R,1f!tDvFqBrABߥB4pr7sޭ4>Y$rHJ" H\8"'Z`n,@3<=剛3MO|8-|e$Z$ 8v0R1J|C Cփ@\\ɉ&BX#ؐhG<>VR68412&IoM ARF\e(ɭ-i?G؇GI"l0:ǁ"$3[<8ND60ƑHۂSzQ-4lЋ'}Kf%B19Dc' mK Nc&k.att֎i|LP\DOI/mN@Zؐ#CHAg]-:im45xhl$h#+Ӌ#=-=-@$E:yMAfqjH!Lcq%Тlt? ۩%@ti1%-'҇{:ד 0ܢsn,FFYYeq3^qIIf^AMoT*9ޕpVb[JwD ITZJrbc1cprbq cњabrfڛO#CLJZ->[ EQqGRhhfכakOcF™67 }&4̈́=/o_|!K#.:HχbРh:qꄁT,-C['Q+K -.k YF @ñ<& SEJЇޗIғ948@%h8 &$op/Œ9ܜrOJmJKnl0BON͹2aX)5J&YC Fu͇` ' Tcz>dLjX*'pz@_lX@GD& uK<#r%[KӇ40uHDI0 LR!9sIx*-bX.B0[<(I,4(&@Vh,'Y-Kx25g\c4Ӈ&F1(ZT4t nĞH~hQhzP1]7iO4: LH@?6tm-A0}(8V sqQ[a@bpA$ ht{P + $hgf>mgh<3ז]>kY6=Q̗̩Gk6;g{BjSVl PuEH 2#DէeN@Cq2td˹SD +q"RC7zIZ@g#0> id1,,NnqkOp;cXie^#vcJI, :#Zs5PHjgGdJbNkP$\zjEbأ4Sc6ٰf΍mo(g@gí6AO0e 6YWc0e qz0l)2 "'ҹ?[o4e #tAKU$hS`4LY_-R`fP JhoJV`WFGv<CjЩG'pg7A 5cnq_m"V }oq쾷8`5O)[ζ_ﱳwbБ.wh)'78I}RRT!j^"IӦt  bmqFɪȤsaXޱ8wOpUt*ҡ`Y7[-g:  ,дl*7=%N[:bj-)C-.%ueh`t$ U)6qx%فtn$"K-Ϻh~$' Q2vfiX18f -Yg0<rtEZ$q5A͡ lї<"߇iSlDJ7@#eÑ8hG'aѱ@*!w 70R@iNph3AE72H_$)BYu 8-I<1@v+bXlb=lq]ziiHU_B̔,\ -;HdwK!" [uI%IH䬆Gbص8WZ2ѿz`G"@r"H|6+"g7}Og 7ҭ1 jA + 40Zj1H#^H™аs&~C0ش yy SIDHg Bґe-$-NC08Fw15sC23QY l2%3bȜ*bmHfX*[-ˁKOS82EG{1#wu1rq O6H ؒv!1j7FAe1ftUF5 Lnٞow۵Z~}*/_Y:2<Pp?HZ_si")藞2lBq/dk (!}u~S9J$'J. "iH/~$]&S>z[2p2-K{$ q`E ː>|DrC!*#%HI +~j&G X=h7qb3CO<āDR.tp2h5I[4{▒8L(2\ dceO -YIsXZt@Ц}ipmIi"a?urif=u?LCCǏ0Ioςʚs[xy#Rȃ+25lBXCcId?҆Ȥn<5 +3Za|hy鮮P(şg-] i,4$ZҠ+)]WazV"I-kɑ3bq6)F>0h] N'ϖindP_E$u Ӷ/aJM=4&ߨl2B8鍨0ÕG)R$u +pR`!@1|W5h'i\gI%C# FЛ病Ү>E`<-|5tKԡ9D@a~9Y80$X<lOKqMj}:Me},HoW$bw]qZ 2rg.W +`$A̐@@xe& DhoVnY{̃dȩj'Loj<Lc?~ k#k vS(J*#|Lj=B"; "`G{;-C@}(Ƃh 7Wp(qq>CF9QTq;hG!b˪m.g$Ǿk6R8֟8.Ƽ奄,3r9T^^ mF殠J ꀂ8rq4YP :%P`4LG% .9"f*&P*ذ ԒP(MLD+Z'GBվђ[ɭ=QD16ĭWxB}R>Yt >Cԭ) :L(N}@iUe@'x(#" !% ~TLG' e&8rK; ഫrn7Nbelї$.QgۄL/zd!_ߔ뇈cbҰ?K&dyA:䐖ajjTP۔5 YmB/&9"s@oxPF6Doc !gvp/z962<YM Rukҟ8VH7q|yeBg?{n:|KX{JC!{pX%`o䊁~*FH )3q}>ȐkܳL^$# XD"iThpH5MvNm 2~(ȎDDZfU`xʄݘ3a4&ZxVFQ5J<U: Xrf=aRqU,ok:Z-藦?te0~<1dQ=y暀C-6k囇}vgy.:0l7e/PKBkDZ -ؠ}Y;҄cѝ5|)^iMPأ 0'")ZԽ( b- +߶d!q;"&塁A7  /T94Y<8=2J 1,2rP[CK,Xmjfʹ~,ȸJ9BF'_;CZ;6rjLPSjyK,O)[d[r[oޒ?%xK-[oޒ?%yK2L[p:${vrrɃ`'N{$= "[^ #KS3>@MY|I "3=:jaGaqmB5>x.z>:9>4U:$@O?_7gjoO }VA"jA\V") #^EFjŇX2Q:`7dg7Ӹ>.)mȶsD׃M2a>ǀ.!nhluӗh69Z`͝6ok' wsvG4~Ry"~ +Ҷ-I}ل 4똾w@ݪchC1`Jsfh͂z,+' +*|,bDMKV"n +2׈8ۼFia.5=G̍N ^5ۊֆl9I~S8fV.lV5pQ;Tq"Ҕ":h`l;0S?,'6jha -e7WhQaUy0 +93;wFZҠρQYO $ST/Ri) C{!l>{:0Ye-ءќl, 4+!Q1v;^|xAʜ3P1AU7L qS{P_0s]fh};(I&Ez%؜l@t%d`/?L\s핲= z"/ 9ۼ͑ \Siޣ Ѝ|Yӳ|4PTHSac]TӬsXdDSq!aL0i4z|,-0ts +7l=ys.F:RϧOҋg:sQ0Z(vT{fEt VY`_-5Ih1+harF(59ETJ^ +ͺz/J/t:ffƀ66 u-߯t{ 4<8C뗑NK@2j tR|oH )zlEKs6ԮL* =t%Q j$hăFEF 4+ZgCq#lBwcH0Q%Ubv E^fĀɼ[CrC3,5B8sGÝhۇ-;O;2[kvp9aICpAyˣNA:\=34NF(Zatٓ9܏>SS < c- +4JX< X>2`*aw&켢 b;xAXYwɇ] + ey^bҜco:w`,\̦^gy;|UHVv4-a$Җ_+3X^36DWbΚ HC*e5g]ִq%e> RT}^R,Y3KĘ-ƒPw# d$v|GpLudNWCWNUL G~";ژҸ\%XZ"K`^i,yTYDDzi%"(-"05đBth9l-Եŭ{"Aey32cI"t y` {BꈁK}fĕqI;BlHj8Ǟ(fN *?4~֯Jp!qv%<$↱"}ͤjrBʏvRar҂ " +,RҘay^)(`e0\wGb5$.aaMW%d iYFO[R-6K.4>ia݃ BI,GUsXaQ5DpetKBkVBHQbéM_M#ͯGANF WNJ ڒeqg"h/p"GP U!&..8.@ԡ>3 FJmrמrv*6 \t7FΞ (ZmᚙD4w#áľvzjpL3.%wzl* TLt?T&0`wC*:XZ(Y9pgջwS[- jF#ϬBW(Mi9tKVz'YTȦ~;N˨PޡL`dG?LERڼc;̼ â& dxd<0洁 j,6Cmw?p&+W bɜ]d$\#4bG v&5UxC;UkEQRnz+pK#^**.D^@αb++Or::Y:((]hI#OFleኻjE(]mңcߣ1w=/a(3+ %|8x~4fi'  .,&ezeI^Xטൂ|\N*?_xJBsʄb=\Y\ +9VGYA$Ǽĸ-+% ȧ 7pX) 4hEP]xl~:*/NU$9s(ԉ"Bw-Tw-rb9L5puAA%UĶV]2IH'QrŸNYCKSwyrt4t 2s_::qߒ`b-HbÂR,ܣl&g,Ґ"94lm".؝eysǦ7-O׏XXSiDq ʊ!J?*EV\j50⾹>He/*/6#`F,d|u փp>qeM4Wn,RaIbUBDM 9b,oDaდ(K~IsEP>t8W۽ZI # #ȏ ++!$M1}k?7MCI \D4"*BEO#Mĉhan{f?1$R0"` @:33Q_Dh? +B%;=Kk=,Qn^bY-RKFdJvTG$.I(];*wαѝ[)cv1N'ͩ1Vo[ŒY,!{/aEJ:;)nzc7id_3cEPULYH5=L(]tab8z^-éb,/s=R5X)wM8C; bJ +GPe?[ dd^O +c-hW*;:⛻31as\40zXqlZ稸i,¦.q~ְ xzZs +6<(piyz'-O. +| D[\LO(Bm;1'ItTN(]x5P5xnҕZB'A벅VC7w>:ʤycn x=a7@)f޵\ 0#o,e,R$mҍoґoܕz:Y-cgmM;Xг,7@ŏzd*WvOAM'TKG۷,$YX~:bn`J 3s^0O((]RULdTrV w/O˛J;'_8J5&ͦ 7Mzp%/Јr\ (#qüw",?8jtz/v4fQR=oA}cdZ{^= EqNt/aq6߻E۪5,y\͋ 8p{U@S(oXˮO# =^D8HET ^pKYRD"UBaa*0ŕ*w/y*mhdnO[qHR`:ϪlS,3bӞC:\[s`fQQvuFJhҌ4PR`9M4{{XDaafhzm< 'pW`9cŒ4bE20z{"I⊄+T6QO@+hz;?&UL ӖKrzqKC7SuP!䦻c%̥&[J \5/R]itiܥ`ڥ¥̥~5D( !p_ɕјu1]qre4-4_Sk̥壆ܓ ix* R5V.ON:YxeJ\Weɻ0"9Zޓ7Ϩk2ZB9JT +,dfQFV=<{C(Zk.!a-4}蝇p-V%Tf׽1[p 7d@Go1e!7m@yj"W3LȰw'ˬ/n&#K741m!q$=yu:0mޓNy`a6pa]m! ىV<8L@¹ y/Qf:h=9CFkDM0kvK]V%eYL$DE?LX0$Dh* ˏ9z)0<̆Ü!xɦp&j |0ו];h.3~q;M}x40^Vi;oL,c ?1f$"XK^6P^6`^[91w/cDDs3xrJHX{{YrF>F.vdb+i*Se%٣"Iw4& 3wed?tz'NHCh5c +f-5)MM 1w,R<5\yf68\Ugxt ZO V)2.dY;ܻ2 ےhZm9N dHg6$Hgb*/V`T!Z4܎7.HHR/,[DZ|>$Dej E^{\'j*αxY,yZlʞI" P&ji⨳sO|~ݙM~F_ǯ <(.]|%N5G^a:7fszz{y(ty D_G?tX~'wz% +S䳜!!Rƨ YCg;= r=S["Ȝ / Ň-ב0 +KfPFGD4DeI,Ā#u"z6IѪ@\P a)(k͇a0d£F]@X SR)v>օ +$H4 (&Pԛ'VutIv2Q + *&&obמЛF9K־BWBg’0f)^ fϼ:&:]#ubl8jB c[N$YлG|+?% ]"Spoª.|PwȠ&F}sAAŮ4~GJ&D>I +| MvYAƂ 2.oA+prV.Dpf0!u5P +pq>4\jq+YΰiPC]U*$_FDv?|g>;g'__/]zV.\8 endstream endobj 6 0 obj <> endobj 28 0 obj <> endobj 40 0 obj [/View/Design] endobj 41 0 obj <>>> endobj 21 0 obj [/View/Design] endobj 22 0 obj <>>> endobj 48 0 obj [47 0 R] endobj 65 0 obj <> endobj xref 0 66 0000000004 65535 f +0000000016 00000 n +0000000173 00000 n +0000021748 00000 n +0000000005 00000 f +0000000007 00000 f +0000095457 00000 n +0000000009 00000 f +0000021799 00000 n +0000000010 00000 f +0000000011 00000 f +0000000012 00000 f +0000000013 00000 f +0000000014 00000 f +0000000015 00000 f +0000000016 00000 f +0000000017 00000 f +0000000018 00000 f +0000000019 00000 f +0000000020 00000 f +0000000023 00000 f +0000095714 00000 n +0000095745 00000 n +0000000024 00000 f +0000000025 00000 f +0000000026 00000 f +0000000027 00000 f +0000000000 00000 f +0000095527 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000095598 00000 n +0000095629 00000 n +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000000000 00000 f +0000044385 00000 n +0000095830 00000 n +0000022215 00000 n +0000025127 00000 n +0000044695 00000 n +0000044272 00000 n +0000044572 00000 n +0000026566 00000 n +0000025192 00000 n +0000026005 00000 n +0000026053 00000 n +0000044209 00000 n +0000044456 00000 n +0000044487 00000 n +0000044769 00000 n +0000044943 00000 n +0000046332 00000 n +0000054093 00000 n +0000095855 00000 n +trailer <<0F36B1F5F8364A4E9E3A6FB3ED946CA1>]>> startxref 96176 %%EOF \ No newline at end of file diff --git a/media/logo.svg b/media/logo.svg new file mode 100644 index 000000000..ee41fdef4 --- /dev/null +++ b/media/logo.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/readme.md b/readme.md index bd8b3b23f..c0d4ad7da 100644 --- a/readme.md +++ b/readme.md @@ -1,23 +1,28 @@ -# Awesome Node.js [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) - -[](https://nodejs.org) - -> A curated list of delightful Node.js [packages](#packages) and [resources](#resources). - -Just type [`node.cool`](https://node.cool) to go here ✨ - -*You might also like [awesome-npm](https://github.com/sindresorhus/awesome-npm).* -*Please read the [contribution guidelines](contributing.md) before contributing.* - - ---- - -

🦄 Support my open-source work by buying this awesome video course:
Learn to build apps and APIs with Node.js by Wes Bos
Try his free JavaScript 30 course for a taste of what to expect & check out his ES6, React, Sublime courses.

- ---- - - -Check out my [blog](https://blog.sindresorhus.com) and say "hi" on [Twitter](https://twitter.com/sindresorhus). +
+
+ Awesome Node.js +
+
+

+ My open source work is supported by the community +

+

+ Special thanks to: +
+ + wtgtybhertgeghgtwtg + +

+
+
+ + Awesome + +

+ Just type node.cool to go here. Check out my blog and follow me on Twitter. +

+
+
## Contents @@ -928,10 +933,15 @@ Just type [`node.cool`](https://node.cool) to go here ✨ - [nodebots](http://nodebots.io) - Robots powered by JavaScript. - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. -- [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. - [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. +## Related lists + +- [awesome-npm](https://github.com/sindresorhus/awesome-npm) - Resources and tips for using npm. +- [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. + + ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) From 983723b5e28f19ddccef26a3c56eb4f6a080eb52 Mon Sep 17 00:00:00 2001 From: Stuart Romanek Date: Fri, 20 Apr 2018 12:46:25 -0400 Subject: [PATCH 245/399] Updated name and url for ApostropheCMS (#804) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index c0d4ad7da..9d939d882 100644 --- a/readme.md +++ b/readme.md @@ -765,7 +765,7 @@ ### Content management systems - [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB. -- [Apostrophe2](http://apostrophenow.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. +- [ApostropheCMS](https://apostrophecms.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. ### Forum From 302a3d6658a2016ee626ed6b47b06e35ee41364a Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 3 May 2018 22:15:33 +0700 Subject: [PATCH 246/399] Add Module Requests & Ideas Closes #382 --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index 9d939d882..fd724ab4e 100644 --- a/readme.md +++ b/readme.md @@ -934,6 +934,8 @@ - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. - [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. +- [Module Requests & Ideas](https://github.com/sindresorhus/module-requests) - +Request a JavaScript module you wish existed or get ideas for modules. ## Related lists From aef123f9e2c92a6d26b9db8f098576933b13f123 Mon Sep 17 00:00:00 2001 From: Rocco Musolino Date: Thu, 3 May 2018 17:24:38 +0200 Subject: [PATCH 247/399] Add netcat (#699) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fd724ab4e..66955a2e9 100644 --- a/readme.md +++ b/readme.md @@ -593,6 +593,7 @@ - [getmac](https://github.com/bevry/getmac) - Get the computer MAC address. - [polo](https://github.com/mafintosh/polo) - Zero-config service discovery. - [DHCP](https://github.com/infusion/node-dhcp) - DHCP client and server. +- [netcat](https://github.com/roccomuso/netcat) - Netcat port in pure JS. ### Database From 8b818bf39de687011eca11c58f317eccf23715e8 Mon Sep 17 00:00:00 2001 From: Icebob Date: Thu, 3 May 2018 17:30:58 +0200 Subject: [PATCH 248/399] Add Moleculer (#696) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 66955a2e9..b2c94a9ad 100644 --- a/readme.md +++ b/readme.md @@ -357,6 +357,7 @@ - [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. - [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). - [Micro](https://github.com/zeit/micro) - Minimalistic microservice framework with an async approach. +- [Moleculer](https://moleculer.services) - Fast & powerful microservices framework. ### Documentation From 01eb3c4aa8802c6c43c875efdc31a7f6b74310bd Mon Sep 17 00:00:00 2001 From: Theodore Vorillas Date: Thu, 3 May 2018 19:29:31 +0300 Subject: [PATCH 249/399] Add Fastify (#742) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b2c94a9ad..7f4afefec 100644 --- a/readme.md +++ b/readme.md @@ -358,6 +358,7 @@ - [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). - [Micro](https://github.com/zeit/micro) - Minimalistic microservice framework with an async approach. - [Moleculer](https://moleculer.services) - Fast & powerful microservices framework. +- [Fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework. ### Documentation From 4b17d22f7ad9c46ecb0f3384e2aa384f34f1574b Mon Sep 17 00:00:00 2001 From: reviewher <24845478+reviewher@users.noreply.github.com> Date: Thu, 3 May 2018 12:32:35 -0400 Subject: [PATCH 250/399] Add xlsx (#739) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7f4afefec..396a9e1be 100644 --- a/readme.md +++ b/readme.md @@ -115,6 +115,7 @@ - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine. +- [xlsx](https://github.com/sheetjs/js-xlsx) - Pure JS Excel spreadsheet reader and writer. ### Command-line apps From 45e4d837e6839613d7bc12ba2e9556b2f20f44de Mon Sep 17 00:00:00 2001 From: Charismatron Date: Thu, 3 May 2018 18:38:27 +0200 Subject: [PATCH 251/399] Update `Node.js in Action` book to the second edition (#737) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 396a9e1be..3d10844e8 100644 --- a/readme.md +++ b/readme.md @@ -886,7 +886,7 @@ ### Books -- [Node.js in Action](http://www.amazon.com/Node-js-Action-Mike-Cantelon/dp/1617290572) +- [Node.js in Action](https://www.manning.com/books/node-js-in-action-second-edition) - [Node.js in Practice](http://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939) - [Mastering Node](http://visionmedia.github.io/masteringnode/) - [Node.js 8 the Right Way](https://pragprog.com/book/jwnode2/node-js-8-the-right-way) From 9e3f552e73475567731227ad94961c4ebf6b2b9b Mon Sep 17 00:00:00 2001 From: Robert Eisele Date: Thu, 3 May 2018 18:57:10 +0200 Subject: [PATCH 252/399] Add gps (#719) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3d10844e8..e5e068b2f 100644 --- a/readme.md +++ b/readme.md @@ -325,6 +325,7 @@ - [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection. - [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access. - [pigpio](https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi. +- [gps](https://github.com/infusion/GPS.js) - NMEA parser for handling GPS receivers. ### Templating From 1e5ad68e89587b866edc7f2264093ece6aa28a00 Mon Sep 17 00:00:00 2001 From: Frederic Charette Date: Thu, 3 May 2018 13:01:52 -0400 Subject: [PATCH 253/399] Add Serialization section (#691) --- readme.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/readme.md b/readme.md index e5e068b2f..8e9625571 100644 --- a/readme.md +++ b/readme.md @@ -74,6 +74,7 @@ - [Forum](#forum) - [Blogging](#blogging) - [Weird](#weird) + - [Serialization](#serialization) - [Miscellaneous](#miscellaneous) - [Resources](#resources) - [Tutorials](#tutorials) @@ -797,6 +798,13 @@ - [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon. +### Serialization + +- [snappy](https://github.com/kesla/node-snappy) - Native bindings for Google's Snappy compression library. +- [protobuf](https://github.com/dcodeIO/protobuf.js) - Implementation of Protocol Buffers. +- [compactr](https://github.com/compactr/compactr.js) - Implementation of the Compactr protocol. + + ### Miscellaneous - [execa](https://github.com/sindresorhus/execa) - Better `child_process`. From 9fa128a3e4f12a2360bd588b1893b622c20a6626 Mon Sep 17 00:00:00 2001 From: Shahar Soel <4233843+bd82@users.noreply.github.com> Date: Thu, 3 May 2018 20:18:52 +0300 Subject: [PATCH 254/399] Add Chevrotain (#782) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8e9625571..a76e43309 100644 --- a/readme.md +++ b/readme.md @@ -569,6 +569,7 @@ - [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers. - [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers. - [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX. +- [Chevrotain](https://github.com/SAP/chevrotain) - Very fast and feature rich parser building toolkit for JavaScript. ### Humanize From 90dbdefdfc4f0514aa782cef09331742566c0108 Mon Sep 17 00:00:00 2001 From: Jeff Dickey <216188+jdxcode@users.noreply.github.com> Date: Thu, 3 May 2018 10:22:51 -0700 Subject: [PATCH 255/399] Add oclif (#779) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a76e43309..9cdc94968 100644 --- a/readme.md +++ b/readme.md @@ -296,6 +296,7 @@ - [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`. - [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories. - [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output. +- [oclif](https://github.com/oclif/oclif) - CLI framework complete with parser, automatic documentation, testing, and plugins. ### Build tools From cae520d4b3f877308443a07fc690382a44be8a97 Mon Sep 17 00:00:00 2001 From: Mehdi Hasan Khan Date: Thu, 3 May 2018 23:40:53 +0600 Subject: [PATCH 256/399] Add TypeORM (#760) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 9cdc94968..e4cf607a7 100644 --- a/readme.md +++ b/readme.md @@ -626,6 +626,7 @@ - [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. + - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. - Query builder - [Knex](http://knexjs.org) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other From 75e75ffa455d9fad59747007252a4c90bf1f90c6 Mon Sep 17 00:00:00 2001 From: Vlad Goldman Date: Thu, 3 May 2018 20:41:27 +0300 Subject: [PATCH 257/399] Update Kefir.js link (#768) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e4cf607a7..5d29eef8d 100644 --- a/readme.md +++ b/readme.md @@ -201,7 +201,7 @@ - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. - [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. -- [Kefir.js](https://github.com/rpominov/kefir) - Reactive library with focus on high performance and low memory usage. +- [Kefir.js](https://github.com/kefirjs/kefir) - Reactive library with focus on high performance and low memory usage. ### HTTP From 4284f6dd59bc02dd56f596eaa2b16fe2ecb500ee Mon Sep 17 00:00:00 2001 From: Chris Marx Date: Thu, 3 May 2018 13:45:15 -0400 Subject: [PATCH 258/399] Add Nest (#764) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5d29eef8d..124a59350 100644 --- a/readme.md +++ b/readme.md @@ -363,6 +363,7 @@ - [Micro](https://github.com/zeit/micro) - Minimalistic microservice framework with an async approach. - [Moleculer](https://moleculer.services) - Fast & powerful microservices framework. - [Fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework. +- [Nest](https://github.com/nestjs/nest) - Angular-inspired framework for building efficient and scalable server-side apps. ### Documentation From adc916e52d279e926570283f6cb66dbb72d04250 Mon Sep 17 00:00:00 2001 From: Vitaly Puzrin Date: Thu, 3 May 2018 20:49:22 +0300 Subject: [PATCH 259/399] Add multimath (#736) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 124a59350..4316a310d 100644 --- a/readme.md +++ b/readme.md @@ -513,6 +513,7 @@ - [math-sum](https://github.com/sindresorhus/math-sum) - Sum numbers. - [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number. - [algebra](https://github.com/fibo/algebra) - Algebraic structures. +- [multimath](https://github.com/nodeca/multimath) - Core to create fast image math in WebAssembly and JS. ### Date From ada02c18d78e765ce52533258fe932350f324fbd Mon Sep 17 00:00:00 2001 From: Tom Juszczyk Date: Thu, 3 May 2018 13:01:57 -0500 Subject: [PATCH 260/399] Add Finale (#748) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4316a310d..7fa2fc98c 100644 --- a/readme.md +++ b/readme.md @@ -635,6 +635,7 @@ - [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript. - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. - [Keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends. + - [Finale](https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models. ### Testing From 83676dd0b13f903bc7f04aebdba4a933a7b5d6bc Mon Sep 17 00:00:00 2001 From: Adriano Raiano Date: Thu, 3 May 2018 20:06:21 +0200 Subject: [PATCH 261/399] Add i18next (#763) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7fa2fc98c..7d8819dde 100644 --- a/readme.md +++ b/readme.md @@ -496,6 +496,7 @@ - [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. - [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. +- [i18next](https://github.com/i18next/i18next) - Internationalization framework. ### Number From ad699e5f18512a3fbb9bbd529fb43b406af9403a Mon Sep 17 00:00:00 2001 From: Mitya Date: Thu, 3 May 2018 21:20:42 +0300 Subject: [PATCH 262/399] Add Strapi (#803) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 7d8819dde..4c422f219 100644 --- a/readme.md +++ b/readme.md @@ -779,6 +779,7 @@ - [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB. - [ApostropheCMS](https://apostrophecms.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. +- [Strapi](https://strapi.io) - Content Management Framework (headless-CMS) to build powerful APIs. ### Forum From 97cf338afa5400b915ec9c7dc57a19c97d7af8a8 Mon Sep 17 00:00:00 2001 From: Thiago Delgado Pinto Date: Thu, 3 May 2018 15:31:25 -0300 Subject: [PATCH 263/399] Add database-js (#771) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4c422f219..3fbc87b42 100644 --- a/readme.md +++ b/readme.md @@ -637,6 +637,7 @@ - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. - [Keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends. - [Finale](https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models. + - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. ### Testing From 3aee3e1761d1f123ba9ca1caa5f1fd128e1f2563 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 4 May 2018 01:33:10 +0700 Subject: [PATCH 264/399] Remove hogan.js It's unmaintained --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 3fbc87b42..59593dfc6 100644 --- a/readme.md +++ b/readme.md @@ -335,7 +335,6 @@ - [marko](https://github.com/marko-js/marko) - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. - [nunjucks](https://github.com/mozilla/nunjucks) - Templating engine with inheritance, asynchronous control, and more (jinja2 inspired). - [handlebars.js](https://github.com/wycats/handlebars.js) - Superset of Mustache templates which adds powerful features like helpers and more advanced blocks. -- [hogan.js](http://twitter.github.io/hogan.js/) - Twitter's small, fast, phase-separated compiler for Mustache templates. - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. - [Pug](https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml. From 2819ce8ca854d730848b2fae5b4a4382af45d2c7 Mon Sep 17 00:00:00 2001 From: Lewis J Ellis Date: Thu, 3 May 2018 11:41:50 -0700 Subject: [PATCH 265/399] Add bee-queue (#721) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 59593dfc6..1c8413c54 100644 --- a/readme.md +++ b/readme.md @@ -712,6 +712,7 @@ - [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. - [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue. - [rsmq](https://github.com/smrchy/rsmq) - Redis-backed message queue. +- [bee-queue](https://github.com/bee-queue/bee-queue) - High-performance Redis-backed job queue. ### Node.js management From 7b70cc54decb42b1c7f5ce716516aacae05a0d13 Mon Sep 17 00:00:00 2001 From: Amit Gupta Date: Fri, 4 May 2018 00:27:41 +0530 Subject: [PATCH 266/399] Add fast-xml-parser (#784) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1c8413c54..61bd0f2a3 100644 --- a/readme.md +++ b/readme.md @@ -573,6 +573,7 @@ - [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers. - [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX. - [Chevrotain](https://github.com/SAP/chevrotain) - Very fast and feature rich parser building toolkit for JavaScript. +- [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Validate and parse XML. ### Humanize From 91ffba8e700d4695342d6d2d200388aa89315075 Mon Sep 17 00:00:00 2001 From: Sergii Stotskyi Date: Thu, 3 May 2018 22:29:29 +0300 Subject: [PATCH 267/399] Add CASL (#753) --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index 61bd0f2a3..8ad36c927 100644 --- a/readme.md +++ b/readme.md @@ -61,6 +61,7 @@ - [Benchmarking](#benchmarking) - [Minifiers](#minifiers) - [Authentication](#authentication) + - [Authorization](#authorization) - [Email](#email) - [Job queues](#job-queues) - [Node.js management](#nodejs-management) @@ -698,6 +699,11 @@ - [CloudRail](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …). +### Authorization + +- [CASL](https://github.com/stalniy/casl) - Isomorphic authorization for UI and API. + + ### Email - [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email. From 142086a29656056310937f62050a3061d9e56fd3 Mon Sep 17 00:00:00 2001 From: Simone Primarosa Date: Thu, 3 May 2018 21:50:06 +0200 Subject: [PATCH 268/399] Add env-dot-prop (#732) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 8ad36c927..3cf1b6a9f 100644 --- a/readme.md +++ b/readme.md @@ -855,6 +855,7 @@ - [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. - [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM. - [hypernova](https://github.com/airbnb/hypernova) - Server-side rendering your JavaScript views. +- [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. ## Resources From ec11eba831e0e3e82e34c192c4104eb37db00833 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ca=C3=ADque=20de=20Castro=20Soares=20da=20Silva?= Date: Wed, 9 May 2018 09:16:09 -0300 Subject: [PATCH 269/399] Fix typo in `agenda` description (#807) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 3cf1b6a9f..62677b201 100644 --- a/readme.md +++ b/readme.md @@ -715,7 +715,7 @@ - [kue](https://github.com/Automattic/kue) - Redis-backed priority job queue. - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. -- [agenda](https://github.com/rschmukler/agenda) - MonoDB-backed job scheduling. +- [agenda](https://github.com/rschmukler/agenda) - MongoDB-backed job scheduling. - [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. - [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue. - [rsmq](https://github.com/smrchy/rsmq) - Redis-backed message queue. From 7b5ce9bea11e0b6de3875213589bfd51f9939ba5 Mon Sep 17 00:00:00 2001 From: Kir Belevich Date: Tue, 15 May 2018 16:51:04 +0000 Subject: [PATCH 270/399] Update `Start` link and description (#809) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 62677b201..c23743ebf 100644 --- a/readme.md +++ b/readme.md @@ -309,7 +309,7 @@ - [Broccoli](https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. -- [start](https://github.com/start-runner/start) - Simple tasks runner powered by composable functions and promise chaining. +- [Start](https://github.com/deepsweet/start) - Functional task runner with shareable presets. - [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much. - [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. - [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. From 3cb6fa411dec6b969b1d5e373632ad83ab846042 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 15 May 2018 23:58:04 +0700 Subject: [PATCH 271/399] Cleanup Removing unmaintained or low-quality stuff. --- readme.md | 213 ++++++++++++++++-------------------------------------- 1 file changed, 64 insertions(+), 149 deletions(-) diff --git a/readme.md b/readme.md index c23743ebf..90f20e7bc 100644 --- a/readme.md +++ b/readme.md @@ -65,7 +65,6 @@ - [Email](#email) - [Job queues](#job-queues) - [Node.js management](#nodejs-management) - - [Polyfills](#polyfills) - [Natural language processing](#natural-language-processing) - [Process management](#process-management) - [Automation](#automation) @@ -101,30 +100,32 @@ - [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client. - [dat](http://dat-data.com) - Real-time replication and versioning for data sets. - [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. -- [GitTorrent](https://github.com/cjb/GitTorrent) - Peer-to-peer network of Git repositories being shared over BitTorrent. - [stackgl](http://stack.gl) - Open software ecosystem for WebGL, built on top of browserify and npm. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. -- [BitcoinJS](http://bitcoinjs.org) - Clean, readable, proven Bitcoin library. -- [Bitcore](https://bitcore.io) - Pure and powerful Bitcoin library. -- [PDFKit](http://pdfkit.org) - PDF generation library. +- [BitcoinJS](https://github.com/bitcoinjs/bitcoinjs-lib) - Clean, readable, proven Bitcoin library. +- [Bitcore](https://github.com/bitpay/bitcore) - Pure and powerful Bitcoin library. +- [PDFKit](https://github.com/devongovett/pdfkit) - PDF generation library. - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. -- [NodeOS](http://node-os.com) - The first operating system powered by npm. +- [NodeOS](https://github.com/NodeOS/NodeOS) - The first operating system powered by npm. - [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. -- [Cytoscape.js](http://js.cytoscape.org) - Graph theory (a.k.a. network) modeling and analysis. -- [kad](https://github.com/kadtools/kad) - Kademlia distributed hash table. +- [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis. +- [Kadence](https://kadence.github.io/) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine. - [xlsx](https://github.com/sheetjs/js-xlsx) - Pure JS Excel spreadsheet reader and writer. +- [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) - Pure JavaScript implementation of Git. ### Command-line apps - [np](https://github.com/sindresorhus/np) - Better `npm publish`. -- [trash](https://github.com/sindresorhus/trash) - Safer alternative to `rm`. - [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm. +- [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. +- [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. +- [trash](https://github.com/sindresorhus/trash) - Safer alternative to `rm`. - [speed-test](https://github.com/sindresorhus/speed-test) - Test your internet connection speed and ping. - [emoj](https://github.com/sindresorhus/emoj) - Find relevant emoji from text on the command-line. - [pageres](https://github.com/sindresorhus/pageres) - Capture website screenshots. @@ -135,7 +136,6 @@ - [is-online](https://github.com/sindresorhus/is-online) - Check if the internet connection is up. - [public-ip](https://github.com/sindresorhus/public-ip) - Get your public IP address. - [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Copy & paste on the terminal. -- [ttystudio](https://github.com/chjj/ttystudio) - Record your terminal and compile it to a GIF or APNG without any external dependencies, bash scripts, gif concatenation, etc. - [XO](https://github.com/xojs/xo) - Enforce strict code style using the JavaScript happiness style. - [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. - [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. @@ -145,40 +145,28 @@ - [Live Server](https://github.com/tapio/live-server) - Development HTTP-server with livereload capability. - [bcat](https://github.com/kessler/node-bcat) - Pipe command output to web browsers. - [normit](https://github.com/pawurb/normit) - Google Translate with speech synthesis in your terminal. -- [slap](https://github.com/slap-editor/slap) - Sublime-like terminal-based text editor. -- [jsinspect](https://github.com/danielstjules/jsinspect) - Detect copy-pasted and structurally similar code. -- [esformatter](https://github.com/millermedeiros/esformatter) - JavaScript code beautifier/formatter. - [fkill](https://github.com/sindresorhus/fkill-cli) - Fabulously kill processes. Cross-platform. - [pjs](https://github.com/danielstjules/pjs) - Pipeable JavaScript. Quickly filter, map, and reduce from the terminal. - [license-checker](https://github.com/davglass/license-checker) - Check licenses of your app's dependencies. - [browser-run](https://github.com/juliangruber/browser-run) - Easily run code in a browser environment. - [tmpin](https://github.com/sindresorhus/tmpin) - Adds stdin support to any CLI app that accepts file input. -- [modhelp](https://github.com/runvnc/modhelp) - Syntax-highlighted module READMEs in terminal with ANSI-friendly pager. - [wifi-password](https://github.com/kevva/wifi-password-cli) - Get the current wifi password. - [wallpaper](https://github.com/sindresorhus/wallpaper) - Change the desktop wallpaper. - [brightness](https://github.com/kevva/brightness-cli) - Change the screen brightness. - [torrent](https://github.com/maxogden/torrent) - Download torrents. -- [tfa](https://github.com/jasnell/tfa) - Two-factor authentication client. -- [rtail](https://github.com/kilianc/rtail) - Terminal output to the browser in seconds, using UNIX pipes. - [kill-tabs](https://github.com/sindresorhus/kill-tabs) - Kill all Chrome tabs to improve performance, decrease battery usage, and save memory. - [alex](https://github.com/wooorm/alex) - Catch insensitive, inconsiderate writing. -- [vantage](https://github.com/dthree/vantage) - Distributed, realtime CLI for your live app. - [pen](https://github.com/noraesae/pen) - Live Markdown preview in the browser from your favorite editor. - [subdownloader](https://github.com/beatfreaker/subdownloader) - Subtitle downloader for movies and TV series. - [dark-mode](https://github.com/sindresorhus/dark-mode) - Toggle the macOS Dark Mode. - [iponmap](https://github.com/nogizhopaboroda/iponmap) - IP location finder. - [Jsome](https://github.com/Javascipt/Jsome) - Pretty prints JSON with configurable colors and indentation. - [itunes-remote](https://github.com/mischah/itunes-remote) - Interactively control iTunes. -- [text-meme](https://github.com/beatfreaker/text-meme-cli) - Generate a text meme. - [mobicon](https://github.com/samverschueren/mobicon-cli) - Mobile app icon generator. - [mobisplash](https://github.com/samverschueren/mobisplash-cli) - Mobile app splash screen generator. - [diff2html-cli](https://github.com/rtfpessoa/diff2html-cli) - Pretty git diff to HTML generator. - [Cash](https://github.com/dthree/cash) - Cross-platform Unix shell commands in pure JavaScript. -- [vaca](https://github.com/sindresorhus/vaca) - Get a random ASCII 🐮. -- [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. -- [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. - [trymodule](https://github.com/VictorBjelkholm/trymodule) - Try out npm packages in the terminal. -- [terminal-recorder](https://github.com/cortezcristian/terminal-recorder) - Record your terminal usage and export it to interactive HTML. - [jscpd](https://github.com/kucherenko/jscpd) - Copy/paste detector for source code. - [atmo](https://github.com/Raathigesh/Atmo) - Server-side API mocking. - [auto-install](https://github.com/siddharthkp/auto-install) - Auto installs dependencies as you code. @@ -194,11 +182,9 @@ - [lodash](https://lodash.com) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. -- [mori](http://swannodette.github.io/mori/) - Library for using ClojureScript's persistent data structures and supporting API from the comfort of vanilla JavaScript. -- [Ramda](http://ramdajs.com) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. +- [Ramda](https://github.com/ramda/ramda) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. - [Folktale](http://folktale.origamitower.com) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. -- [underscore-contrib](http://documentcloud.github.io/underscore-contrib/) - The brass buckles on Underscore's utility belt. -- [Mout](http://moutjs.com) - 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. +- [Mout](https://github.com/mout/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. - [Bacon.js](http://baconjs.github.io) - Functional reactive programming. - [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. @@ -211,11 +197,9 @@ - [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API. - [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too). - [request](https://github.com/request/request) - Simplified HTTP request client. -- [spdy](https://github.com/indutny/node-spdy) - Creates SPDY servers with the same API as the built-in `https` module. - [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities. - [download](https://github.com/kevva/download) - Download and extract files effortlessly. - [http-proxy](https://github.com/nodejitsu/node-http-proxy) - HTTP proxy. -- [rocky](https://github.com/h2non/rocky) - Featured, middleware-oriented HTTP proxy with traffic replay and intercept. - [superagent](https://github.com/visionmedia/superagent) - HTTP request library. - [node-fetch](https://github.com/bitinn/node-fetch) - `window.fetch` for Node.js. - [flashheart](https://github.com/bbc/flashheart) - REST client. @@ -228,16 +212,12 @@ - [ironNode](https://github.com/s-a/iron-node) - Node.js debugger supporting ES2015 out of the box. - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools. -- [devtool](https://github.com/Jam3/devtool) - Run Node.js programs through Chrome Dev Tools. -- [Theseus](https://github.com/adobe-research/theseus) - JavaScript debugger featuring real-time code coverage, retroactive inspection and asynchronous call tree. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. -- [jstrace](https://github.com/jstrace/jstrace) - Dynamic tracing for JavaScript, similar to dtrace, ktap etc. - [why-is-node-running](https://github.com/mafintosh/why-is-node-running) - Node.js is running but you don't know why? - [njsTrace](https://github.com/valyouw/njstrace) - Instrument and trace your code, see all function calls, arguments, return values, as well as the time spent in each function. - [vstream](https://github.com/joyent/node-vstream) - Instrumentable streams mix-ins to inspect a pipeline of streams. - [stackman](https://github.com/watson/stackman) - Enhance an error stacktrace with code excerpts and other goodies. - [locus](https://github.com/alidavut/locus) - Starts a REPL at runtime that has access to all variables. -- [bugger](https://github.com/buggerjs/bugger) - Provides Chrome Devtools bindings to debug programs in Chrome. - [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. - [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals. - [leakage](https://github.com/andywer/leakage) - Write memory leak tests. @@ -247,8 +227,6 @@ - [pino](https://github.com/pinojs/pino) - Extremely fast logger inspired by Bunyan. - [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library. -- [Bunyan](https://github.com/trentm/node-bunyan) - JSON logging library. -- [intel](http://seanmonstar.github.io/intel/) - Logging library (handlers, filters, formatters, console injection). - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. @@ -257,28 +235,29 @@ - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right. - [meow](https://github.com/sindresorhus/meow) - CLI app helper. -- [minimist](https://github.com/substack/minimist) - Parse command-line flags. -- [get-stdin](https://github.com/sindresorhus/get-stdin) - Easier stdin. +- [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. - [ora](https://github.com/sindresorhus/ora) - Elegant terminal spinner. +- [get-stdin](https://github.com/sindresorhus/get-stdin) - Easier stdin. - [log-update](https://github.com/sindresorhus/log-update) - Log by overwriting the previous output in the terminal. Useful for rendering progress bars, animations, etc. -- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt. +- [Ink](https://github.com/vadimdemedes/ink) - React for interactive command-line apps. - [listr](https://github.com/samverschueren/listr) - Terminal task list. - [conf](https://github.com/sindresorhus/conf) - Simple config handling for your app or module. -- [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app. - [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal. - [log-symbols](https://github.com/sindresorhus/log-symbols) - Colored symbols for various log levels. - [figures](https://github.com/sindresorhus/figures) - Unicode symbols with Windows CMD fallbacks. - [boxen](https://github.com/sindresorhus/boxen) - Create boxes in the terminal. +- [terminal-link](https://github.com/sindresorhus/terminal-link) - Create clickable links in the terminal. +- [terminal-image](https://github.com/sindresorhus/terminal-image) - Display images in the terminal. - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it. - [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal. - [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run. - [vorpal](https://github.com/dthree/vorpal) - Interactive CLI apps. - [blessed](https://github.com/chjj/blessed) - Curses-like library. +- [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. - [cli-table](https://github.com/Automattic/cli-table) - Pretty unicode tables. - [drawille](https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters. -- [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions. -- [googleauth](https://github.com/maxogden/googleauth) - Create and load persistent Google authentication tokens for command-line apps. +- [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app. - [ascii-charts](https://github.com/jstrace/chart) - ASCII bar chart in the terminal. - [progress](https://github.com/tj/node-progress) - Flexible ascii progress bar. - [insight](https://github.com/yeoman/insight) - Helps you understand how your tool is being used by anonymously reporting usage metrics to Google Analytics. @@ -290,32 +269,27 @@ - [omelette](https://github.com/f/omelette) - Shell autocompletion helper. - [cross-env](https://github.com/kentcdodds/cross-env) - Set environment variables cross-platform. - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. +- [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions. - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. - [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ -- [term-img](https://github.com/sindresorhus/term-img) - Display images in your terminal. -- [yargs](https://github.com/yargs/yargs) - Command-line parser that automatically generates an elegant user-interface. -- [DraftLog](https://github.com/ivanseidel/node-draftlog) - Create multiple updatable log lines. Works just like `console.log`. - [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories. - [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output. - [oclif](https://github.com/oclif/oclif) - CLI framework complete with parser, automatic documentation, testing, and plugins. +- [term-size](https://github.com/sindresorhus/term-size) - Reliably get the terminal window size. ### Build tools +- [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler. - [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser. - [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler. - [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. -- [browserify](https://github.com/substack/node-browserify) - Browser-side require() the Node.js way. - [Broccoli](https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. -- [strong-build](https://github.com/strongloop/strong-build) - Build a node app package and prepare to deploy it as a package to production or use git to commit to a deploy branch. - [Start](https://github.com/deepsweet/start) - Functional task runner with shareable presets. - [ygor](https://github.com/shannonmoeller/ygor) - Promising task runner for when `npm run` isn't enough and everything else is too much. -- [grunt](http://gruntjs.com) - Task runner that can perform repetitive tasks like minification, compilation, unit testing, linting, etc. -- [Fly](https://github.com/bucaran/fly) - Modern build system based in co-routines, generators and promises. - [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. - [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable. -- [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler. ### Hardware @@ -323,7 +297,6 @@ - [johnny-five](https://github.com/rwaldron/johnny-five) - Firmata based Arduino Framework. - [serialport](https://github.com/voodootikigod/node-serialport) - Access serial ports for reading and writing. - [usb](https://github.com/nonolith/node-usb) - USB library. -- [cylon.js](http://cylonjs.com) - Next generation robotics framework with support for 26 different platforms. - [i2c-bus](https://github.com/fivdi/i2c-bus) - I2C serial bus access. - [onoff](https://github.com/fivdi/onoff) - GPIO access and interrupt detection. - [spi-device](https://github.com/fivdi/spi-device) - SPI serial bus access. @@ -348,15 +321,12 @@ - [Feathers](http://feathersjs.com) - Microservice framework built in the spirit of Express. - [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources. - [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* -- [SailsJS](http://sailsjs.org) - An MVC web framework with a modern twist, supporting WebSockets, streams, and a data-driven API. - [Restify](http://restify.com) - Enables you to build correct REST web services. -- [Interfake](https://github.com/basicallydan/interfake) - Rapid prototyping framework for making mock HTTP APIs, with a Node.js, command-line and HTTP interface. -- [Catberry](http://catberry.org) - Framework with Flux architecture, isomorphic web-components, and progressive rendering. -- [ThinkJS](https://thinkjs.org) - Framework with ES2015+ support, WebSockets, REST API. -- [ActionHero](http://www.actionherojs.com) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. +- [ThinkJS](https://github.com/thinkjs/thinkjs) - Framework with ES2015+ support, WebSockets, REST API. +- [ActionHero](https://github.com/actionhero/actionhero) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. - [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. -- [Next.js](https://zeit.co/blog/next) - Minimalistic framework for server-rendered universal JavaScript web apps. -- [Nuxt.js](https://nuxtjs.org) - Minimalistic framework for server-rendered Vue.js apps. +- [Next.js](https://github.com/zeit/next.js) - Minimalistic framework for server-rendered universal JavaScript web apps. +- [Nuxt.js](https://github.com/nuxt/nuxt.js) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. - [AdonisJs](http://adonisjs.com) - A true MVC framework for Node.js built on solid foundations of Dependency Injection and IoC container. - [Hemera](https://github.com/hemerajs/hemera) - Write reliable and fault-tolerant microservices with [NATS](https://nats.io). @@ -368,14 +338,10 @@ ### Documentation +- [documentation.js](https://github.com/documentationjs/documentation) - API documentation generator with support for ES2015+ and flow annotation. +- [ESDoc](https://github.com/esdoc/esdoc) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. - [Docco](http://jashkenas.github.io/docco/) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. - [JSDoc](http://usejsdoc.org) - API documentation generator similar to JavaDoc or PHPDoc. -- [dox](https://github.com/tj/dox) - JavaScript documentation generator using Markdown and JSDoc. -- [jsdox](https://github.com/sutoiku/jsdox) - JSDoc3 to Markdown documentation generator. -- [apiDoc](https://github.com/apidoc/apidoc) - Inline documentation for RESTful web APIs. -- [documentation.js](http://documentation.js.org) - API documentation generator with support for ES2015+ and flow annotation. -- [YUIDoc](http://yui.github.com/yuidoc/) - Generates API documentation from comments in source. -- [ESDoc](https://esdoc.org) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. ### Filesystem @@ -398,7 +364,6 @@ - [fs-jetpack](https://github.com/szwacz/fs-jetpack) - Completely redesigned file system API for convenience in everyday use. - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. - [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. -- [sander](https://github.com/rich-harris/sander) - Promise-based replacement for the `fs` module. - [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system. @@ -411,25 +376,19 @@ - [promise-memoize](https://github.com/nodeca/promise-memoize) - Memoize promise-returning functions, with expire and prefetch. - [valvelet](https://github.com/lpinca/valvelet) - Limit the execution rate of a promise-returning function. - [p-map](https://github.com/sindresorhus/p-map) - Map over promises concurrently. - - [More…](https://github.com/wbinnssmith/awesome-promises) + - [More…](https://github.com/sindresorhus/promise-fun) - Observables - [zen-observable](https://github.com/zenparsing/zen-observable) - Implementation of Observables. - [RxJS](https://github.com/ReactiveX/RxJS) - Reactive programming. - [observable-to-promise](https://github.com/sindresorhus/awesome-observables) - Convert an Observable to a Promise. - [More…](https://github.com/sindresorhus/awesome-observables) -- Generators - - [co](https://github.com/tj/co) - The ultimate generator based flow-control goodness. - - [bluebird-co](https://github.com/novacrazy/bluebird-co) - High performance yield handlers for Bluebird coroutines. - - [iterum](https://github.com/xgbuils/iterum) - Build generator pipelines using Array-like methods. - Streams - - [Highland.js](http://highlandjs.org) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams. + - [Highland.js](https://github.com/caolan/highland) - Manages synchronous and asynchronous code easily, using nothing more than standard JavaScript and Node-like Streams. - Callbacks - [each-async](https://github.com/sindresorhus/each-async) - Async concurrent iterator like forEach. - [async](https://github.com/caolan/async) - Provides straight-forward, powerful functions for working with asynchronicity. - Channels - [js-csp](https://github.com/ubolonton/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). -- Other - - [zone](https://github.com/strongloop/zone) - Provides a way to group and track resources and errors across asynchronous operations. ### Streams @@ -449,19 +408,16 @@ - [stream-combiner2](https://github.com/substack/stream-combiner2) - Turn a pipeline into a single stream. - [readable-stream](https://github.com/nodejs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. - [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently. -- [graphicsmagick-stream](https://github.com/e-conomic/graphicsmagick-stream) - Fast conversion/scaling of images using a pool of long lived GraphicsMagick processes. ### Real-time - [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server & client library. -- [Socket.io](http://socket.io) - Enables real-time bidirectional event-based communication. -- [SockJS](https://github.com/sockjs/sockjs-node) - Low latency, full duplex, cross-domain channel browser-server, with WebSockets or without. -- [Faye](http://faye.jcoglan.com) - Real-time client-server message bus, based on Bayeux protocol. +- [Socket.io](https://github.com/socketio/socket.io) - Enables real-time bidirectional event-based communication. +- [Faye](https://github.com/faye/faye) - Real-time client-server message bus, based on Bayeux protocol. - [SocketCluster](https://github.com/SocketCluster/socketcluster) - Scalable HTTP + WebSocket engine which can run on multiple CPU cores. - [Primus](https://github.com/primus/primus) - An abstraction layer for real-time frameworks to prevent module lock-in. -- [Straw](https://github.com/simonswain/straw) - Real-time dataflow framework. -- [deepstream.io](https://deepstream.io) - Scalable real-time microservice framework. +- [deepstream.io](https://github.com/deepstreamIO/deepstream.io-client-js) - Scalable real-time microservice framework. - [Kalm](https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework. - [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. @@ -474,13 +430,11 @@ - [lwip](https://github.com/EyalAr/lwip) - Lightweight image processor which does not require ImageMagick. - [pica](https://github.com/nodeca/pica) - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed. - [jimp](https://github.com/oliver-moran/jimp) - Image processing in pure JavaScript. -- [is-progressive](https://github.com/sindresorhus/is-progressive) - Check if a JPEG image is progressive. - [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download. ### Text -- [Underscore.string](https://github.com/epeli/underscore.string) - Collection of string manipulation utilities. - [iconv-lite](https://github.com/ashtuchkin/iconv-lite) - Convert character encodings. - [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string - by correctly counting astral symbols and ignoring ansi escape codes. - [camelcase](https://github.com/sindresorhus/camelcase) - Convert a dash/dot/underscore/space separated string to camelCase: foo-bar → fooBar. @@ -493,7 +447,6 @@ - [he](https://github.com/mathiasbynens/he) - HTML entity encoder/decoder. - [i18n-node](https://github.com/mashpie/i18n-node) - Simple translation module with dynamic JSON storage. - [babelfish](https://github.com/nodeca/babelfish) - i18n with very easy syntax for plurals. -- [hanging-indent](https://github.com/codekirei/hanging-indent) - Format a string into a hanging-indented paragraph. - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. - [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. - [i18next](https://github.com/i18next/i18next) - Internationalization framework. @@ -511,7 +464,6 @@ - [ndarray](https://github.com/scijs/ndarray) - Multidimensional arrays. - [mathjs](https://github.com/josdejong/mathjs) - An extensive math library. -- [math-sum](https://github.com/sindresorhus/math-sum) - Sum numbers. - [math-clamp](https://github.com/sindresorhus/math-clamp) - Clamp a number. - [algebra](https://github.com/fibo/algebra) - Algebraic structures. - [multimath](https://github.com/nodeca/multimath) - Core to create fast image math in WebAssembly and JS. @@ -519,9 +471,9 @@ ### Date +- [Luxon](https://github.com/moment/luxon) - Library for working with dates and times. - [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. - [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates. -- [Moment Timezone](http://momentjs.com/timezone/) - IANA Time Zone Database + Moment.js. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. - [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates. @@ -564,12 +516,10 @@ - [x-ray](https://github.com/lapwinglabs/x-ray) - Web scraping utility. - [nearley](https://github.com/Hardmath123/nearley) - Simple, fast, powerful parsing for JavaScript. - [binary-extract](https://github.com/juliangruber/binary-extract) - Extract a value from a buffer of JSON without parsing the whole thing. -- [json-mask](https://github.com/nemtsov/json-mask) - Tiny language and engine for selecting parts of an object, hiding/masking the rest. - [Stylecow](https://github.com/stylecow/stylecow) - Parse, manipulate and convert modern CSS to make it compatible with all browsers. Extensible with plugins. - [js-yaml](https://github.com/nodeca/js-yaml) - Very fast YAML parser. -- [excel-stream](https://github.com/dominictarr/excel-stream) - Streaming Excel spreadsheet to JSON parser. - [xml2js](https://github.com/Leonidas-from-XIV/node-xml2js) - XML to JavaScript object converter. -- [Jison](http://zaach.github.io/jison/) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. +- [Jison](https://github.com/zaach/jison) - Friendly JavaScript parser generator. It shares genes with Bison, Yacc and family. - [google-libphonenumber](https://github.com/seegno/google-libphonenumber) - Parse, format, store and validate phone numbers. - [ref](https://github.com/TooTallNate/ref) - Read/write structured binary data in Buffers. - [xlsx-populate](https://github.com/dtjohnson/xlsx-populate) - Read/write Excel XLSX. @@ -583,7 +533,6 @@ - [pretty-ms](https://github.com/sindresorhus/pretty-ms) - Convert milliseconds to a human readable string: `1337000000` → `15d 11h 23m 20s`. - [ms](https://github.com/rauchg/ms.js) - Tiny millisecond conversion utility. - [pretty-error](https://github.com/AriaMinaei/pretty-error) - Errors with less clutter. -- [humanize](https://github.com/taijinlee/humanize) - Data formatter for human readability. - [read-art](https://github.com/Tjatse/node-readability) - Extract readable content from any page. @@ -602,7 +551,6 @@ - [get-port](https://github.com/sindresorhus/get-port) - Get an available port. - [ipify](https://github.com/sindresorhus/ipify) - Get your public IP address. - [getmac](https://github.com/bevry/getmac) - Get the computer MAC address. -- [polo](https://github.com/mafintosh/polo) - Zero-config service discovery. - [DHCP](https://github.com/infusion/node-dhcp) - DHCP client and server. - [netcat](https://github.com/roccomuso/netcat) - Netcat port in pure JS. @@ -614,31 +562,29 @@ - [Redis](https://github.com/luin/ioredis) - Redis client. - [LevelUP](https://github.com/Level/levelup) - LevelDB. - [MySQL](https://github.com/mysqljs/mysql) - MySQL client. - - [nano](https://github.com/dscape/nano) - CouchDB client. + - [couchdb-nano](https://github.com/apache/couchdb-nano) - CouchDB client. - [Aerospike](https://github.com/aerospike/aerospike-client-nodejs) - Aerospike client. - [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client. - [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver. - ODM / ORM - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL. - - [Bookshelf](http://bookshelfjs.org) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. + - [Bookshelf](https://github.com/bookshelf/bookshelf) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - - [Mongoose](http://mongoosejs.com) - Elegant MongoDB object modeling. + - [Mongoose](https://github.com/Automattic/mongoose) - Elegant MongoDB object modeling. - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. - - [Iridium](https://github.com/SierraSoftworks/Iridium) - MongoDB ORM with support for promises, distributed caching, preprocessing, validation and plugins. - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB. - - [firenze](https://github.com/fahad19/firenze) - Adapter-based ORM for MySQL, Memory, Redis, localStorage and more. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. - Query builder - - [Knex](http://knexjs.org) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. + - [Knex](https://github.com/tgriesser/knex) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other - [NeDB](https://github.com/louischatriot/nedb) - Embedded persistent database written in JavaScript. - [Lowdb](https://github.com/typicode/lowdb) - Small JavaScript database powered by Lodash. - [Keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends. - [Finale](https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models. - - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. + - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. ### Testing @@ -660,7 +606,7 @@ - [hook-std](https://github.com/sindresorhus/hook-std) - Hook and modify stdout/stderr. - [testen](https://github.com/egoist/testen) - Run tests for multiple versions of Node.js locally with NVM. - [Nightwatch](https://github.com/nightwatchjs/nightwatch) - Automated UI testing framework based on Selenium WebDriver. -- [WebdriverIO](http://webdriver.io) - Automated testing based on the WebDriver protocol. +- [WebdriverIO](https://github.com/webdriverio/webdriverio) - Automated testing based on the WebDriver protocol. - [Jest](https://github.com/facebook/jest) - Painless JavaScript testing. - [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. - [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. @@ -669,21 +615,19 @@ ### Security - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. -- [nsp](https://github.com/nodesecurity/nsp) - CLI tool to identify known vulnerabilities in your project. -- [RegEx-DoS](https://github.com/jagracey/RegEx-DoS) - CLI tool to identify possible regex denial of service (ReDos) vulnerabilities in your project. - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. ### Benchmarking -- [Benchmark.js](http://benchmarkjs.com) - Benchmarking library that supports high-resolution timers and returns statistically significant results. +- [Benchmark.js](https://github.com/bestiejs/benchmark.js) - Benchmarking library that supports high-resolution timers and returns statistically significant results. - [matcha](https://github.com/logicalparadox/matcha) - Simplistic approach to benchmarking. ### Minifiers - [babili](https://github.com/babel/babili) - ES2015+ aware minifier based on the Babel toolchain. -- [UglifyJS2](http://lisperator.net/uglifyjs/) - JavaScript minifier. +- [UglifyJS2](https://github.com/mishoo/UglifyJS2) - JavaScript minifier. - [clean-css](https://github.com/jakubpawlowicz/clean-css) - CSS minifier. - [minimize](https://github.com/Swaagie/minimize) - HTML minifier. - [imagemin](https://github.com/imagemin/imagemin) - Image minifier. @@ -691,10 +635,7 @@ ### Authentication -- [Passport](http://passportjs.org) - Simple, unobtrusive authentication. -- [everyauth](https://github.com/bnoguchi/everyauth) - Authentication and authorization (password, Facebook, etc) for your Connect and Express apps. -- [passwordless](https://passwordless.net) - Token-based authentication middleware for Express allowing authentication without passwords. -- [Lockit](https://github.com/zemirco/lockit) - Full featured authentication solution for Express. Supports a variety of databases, predefined routes, email and two-factor authentication. +- [Passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication. - [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. - [CloudRail](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …). @@ -730,17 +671,6 @@ - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. -### Polyfills - -- Node.js - - [user-info](https://github.com/sindresorhus/user-info) - Node.js 6 `os.userInfo()` ponyfill. - - [buffer-includes](https://github.com/sindresorhus/buffer-includes) - Node.js 5.3 `buffer.includes()` ponyfill. - - [deep-strict-equal](https://github.com/sindresorhus/deep-strict-equal) - Test for deep equality - Node.js `assert.deepStrictEqual()` algorithm as a standalone module. -- JavaScript - - [harmony-reflect](https://github.com/tvcutsem/harmony-reflect) - ES2015 `Reflect` and `Proxy` polyfill. - - [es6-shim](https://github.com/paulmillr/es6-shim) - Collection of ES2015 polyfills. - - ### Natural language processing - [retext](https://github.com/wooorm/retext) - An extensible natural language system. @@ -756,10 +686,8 @@ - [node-mac](https://github.com/coreybutler/node-mac) - Run scripts as a native Mac daemon and log to the console app. - [node-linux](https://github.com/coreybutler/node-linux) - Run scripts as native system service and log to syslog. - [node-windows](https://github.com/coreybutler/node-windows) - Run scripts as a native Windows service and log to the Event viewer. -- [forever](https://github.com/foreverjs/forever) - Ensures that a given script runs continuously. - [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. -- [Phusion Passenger](https://www.phusionpassenger.com) - Friendly process manager that integrates directly into Nginx. -- [naught](https://github.com/andrewrk/naught) - Process manager with zero downtime deployment. +- [Phusion Passenger](https://github.com/phusion/passenger) - Friendly process manager that integrates directly into Nginx. ### Automation @@ -770,35 +698,34 @@ ### AST - [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser. -- [Rocambole](https://github.com/millermedeiros/rocambole) - Recursively walk and transform JavaScript AST. +- [Babylon](https://github.com/babel/babel/tree/master/packages/babylon) - JavaScript parser used in Babel. ### Static site generators -- [Metalsmith](http://www.metalsmith.io) - Pluggable static site generator. -- [Wintersmith](http://wintersmith.io) - Flexible, minimalistic, multi-platform static site generator. -- [Assemble](http://assemble.io) - Static site generator for Node.js, Grunt.js, and Yeoman. +- [Wintersmith](https://github.com/jnordberg/wintersmith) - Flexible, minimalistic, multi-platform static site generator. +- [Assemble](https://github.com/assemble/assemble/) - Static site generator for Node.js, Grunt.js, and Yeoman. - [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem. -- [Phenomic](https://phenomic.io) - Modern static website generator based on the React and Webpack ecosystem. -- [docsify](https://docsify.js.org) - Markdown documentation site generator with no statically built HTML files. +- [Phenomic](https://github.com/phenomic/phenomic) - Modern static website generator based on the React and Webpack ecosystem. +- [docsify](https://github.com/QingWei-Li/docsify) - Markdown documentation site generator with no statically built HTML files. ### Content management systems -- [KeystoneJS](http://keystonejs.com) - CMS and web application platform built on Express and MongoDB. -- [ApostropheCMS](https://apostrophecms.org) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. -- [Strapi](https://strapi.io) - Content Management Framework (headless-CMS) to build powerful APIs. +- [KeystoneJS](hhttps://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB. +- [ApostropheCMS](https://github.com/apostrophecms/apostrophe) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. +- [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. ### Forum -- [nodeBB](https://nodebb.org) - Forum platform for the modern web. +- [nodeBB](https://github.com/NodeBB/NodeBB) - Forum platform for the modern web. ### Blogging -- [ghost](https://ghost.org) - Simple, powerful publishing platform. -- [Hexo](https://hexo.io) - Fast, simple and powerful blogging framework. +- [Ghost](https://github.com/TryGhost/Ghost) - Simple, powerful publishing platform. +- [Hexo](https://github.com/hexojs/hexo) - Fast, simple and powerful blogging framework. ### Weird @@ -834,28 +761,29 @@ - [import-fresh](https://github.com/sindresorhus/import-fresh) - Import a module while bypassing the cache. - [strip-bom](https://github.com/sindresorhus/strip-bom) - Strip UTF-8 byte order mark (BOM) from a string/buffer/stream. - [os-locale](https://github.com/sindresorhus/os-locale) - Get the system locale. -- [nan](https://github.com/nodejs/nan) - Makes native add-on development for across Node.js versions easier. - [ssh2](https://github.com/mscdex/ssh2) - SSH2 client and server module. - [adit](https://github.com/markelog/adit) - SSH tunneling made simple. - [import-lazy](https://github.com/sindresorhus/import-lazy) - Import a module lazily. - [file-type](https://github.com/sindresorhus/file-type) - Detect the file type of a Buffer. - [Bottleneck](https://github.com/SGrondin/bottleneck) - Rate limiter that makes throttling easy. +- [ow](https://github.com/sindresorhus/ow) - Function argument validation for humans. - [webworker-threads](https://github.com/audreyt/node-webworker-threads) - Lightweight Web Worker API implementation with native threads. - [clipboardy](https://github.com/sindresorhus/clipboardy) - Access the system clipboard (copy/paste). - [node-pre-gyp](https://github.com/mapbox/node-pre-gyp) - Makes it easy to publish and install Node.js C++ addons from binaries. - [opencv](https://github.com/peterbraden/node-opencv) - Bindings for OpenCV. The defacto computer vision library. - [dotenv](https://github.com/motdotla/dotenv) - Load environment variables from .env file. - [remote-git-tags](https://github.com/sindresorhus/remote-git-tags) - Get tags from a remote git repo. -- [semver](https://github.com/npm/node-semver) - [semver](http://semver.org) parser. +- [semver](https://github.com/npm/node-semver) - Semantic version parser. - [Faker.js](https://github.com/Marak/Faker.js) - Generate massive amounts of fake data. - [nodegit](https://github.com/nodegit/nodegit) - Native bindings to Git. - [json-strictify](https://github.com/pigulla/json-strictify) - Safely serialize a value to JSON without data loss or going into an infinite loop. -- [parent-module](https://github.com/sindresorhus/parent-module) - Get the path of the parent module. - [resolve-from](https://github.com/sindresorhus/resolve-from) - Resolve the path of a module like `require.resolve()` but from a given path. - [simplecrawler](https://github.com/cgiffard/node-simplecrawler) - Event driven web crawler. - [jsdom](https://github.com/tmpvar/jsdom) - JavaScript implementation of HTML and the DOM. - [hypernova](https://github.com/airbnb/hypernova) - Server-side rendering your JavaScript views. +- [@sindresorhus/is](https://github.com/sindresorhus/is) - Type check values. - [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. +- [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter. ## Resources @@ -865,7 +793,6 @@ - [Nodeschool](http://nodeschool.io) - Learn Node.js with interactive lessons. - [The Art of Node](https://github.com/maxogden/art-of-node/#the-art-of-node) - An introduction to Node.js. - [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams. -- [browserify-handbook](https://github.com/substack/browserify-handbook) - The definitive guide for browserify. - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. - [The Node Way](http://thenodeway.io) - 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. - [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. @@ -874,7 +801,6 @@ ### Discovery - [npms](https://npms.io) - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about). -- [node-modules.com](http://node-modules.com) - An alternative npm search engine with a more intelligent and personal results ranking. - [npm addict](https://npmaddict.com) - Your daily injection of npm packages. - [npmcompare.com](https://npmcompare.com) - Compare and discover npm packages. @@ -892,23 +818,14 @@ ### Newsletters -- [node weekly](http://nodeweekly.com) - Weekly e-mail round-up of Node.js news and articles. -- [nmotw](http://nmotw.in) - Node Module Of The Week, weekly dose of hand picked node modules. +- [Node Weekly](http://nodeweekly.com) - Weekly e-mail round-up of Node.js news and articles. +- [Node Module Of The Week!](https://nmotw.in) - Weekly dose of hand picked node modules. ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) - [Hands on with Node.js](https://learn.bevry.me/node/preface) -- [Full Streams Ahead](http://dry.ly/full-streams-ahead) - Introduction to streams. -- [StrongLoop Talks](https://strongloop.com/node-js/videos/) - Series of talks. -- [thenewboston's Node.js for Beginners](https://www.thenewboston.com/videos.php?cat=355) - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. -- [Node Interactive 2015](https://github.com/duffn/nodeinteractive-2015) - List of talks, keynotes and panels from the 2015 Node Interactive conference. - -### Podcasts - -- [NodeUp](http://nodeup.com) -- [Mostly Node](http://mostlynode.com) ### Books @@ -927,14 +844,13 @@ ### Blogs - [Node.js blog](https://nodejs.org/en/blog/) -- [HowToNode](http://howtonode.org) - Teaching how to do various tasks in Node.js as well as teach fundamental concepts that are needed to write effective code. - [webapplog.com](http://webapplog.com/tag/node-js/) - Blog posts on Node.js and JavaScript from the author of Practical Node.js and Pro Express.js Azat Mardan. ### Courses +- [Learn to build apps and APIs with Node.js](https://learnnode.com/friend/AWESOME) - Video course by Wes Bos. - [Real Time Web with Node.js](https://www.codeschool.com/courses/real-time-web-with-node-js) - [Learn and Understand Node.js](https://www.udemy.com/understand-nodejs) -- [Learn to build apps and APIs with Node.js](https://learnnode.com/friend/AWESOME) - Video course by Wes Bos. ### Cheatsheets @@ -964,8 +880,7 @@ - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. - [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. -- [Module Requests & Ideas](https://github.com/sindresorhus/module-requests) - -Request a JavaScript module you wish existed or get ideas for modules. +- [Module Requests & Ideas](https://github.com/sindresorhus/module-requests) - Request a JavaScript module you wish existed or get ideas for modules. ## Related lists From 6bc5dd15dae1fe3c1a93c566b45271fe55e81b42 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 18 May 2018 12:14:34 +0700 Subject: [PATCH 272/399] Add `signale` --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 90f20e7bc..569887410 100644 --- a/readme.md +++ b/readme.md @@ -229,6 +229,7 @@ - [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library. - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. +- [signale](https://github.com/klauscfhq/signale) - Hackable console logger with beautiful output. ### Command-line utilities From 41d7f9fc82aa7e7cfe82df05daf9056986f59ec8 Mon Sep 17 00:00:00 2001 From: selfish <7327741+selfish@users.noreply.github.com> Date: Tue, 19 Jun 2018 19:35:32 +0300 Subject: [PATCH 273/399] Correct broken URL to KeystoneJS (#818) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 569887410..d0da63095 100644 --- a/readme.md +++ b/readme.md @@ -713,7 +713,7 @@ ### Content management systems -- [KeystoneJS](hhttps://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB. +- [KeystoneJS](https://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB. - [ApostropheCMS](https://github.com/apostrophecms/apostrophe) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. - [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. From ee16871d9607025f29d856df8664364d46a6bccb Mon Sep 17 00:00:00 2001 From: Tobias Bieniek Date: Thu, 21 Jun 2018 18:11:19 +0200 Subject: [PATCH 274/399] Replace the unmaintained `cli-table` with `cli-table3` (#821) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d0da63095..62c2cd4dd 100644 --- a/readme.md +++ b/readme.md @@ -256,7 +256,7 @@ - [blessed](https://github.com/chjj/blessed) - Curses-like library. - [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. -- [cli-table](https://github.com/Automattic/cli-table) - Pretty unicode tables. +- [cli-table3](https://github.com/cli-table/cli-table3) - Pretty unicode tables. - [drawille](https://github.com/madbence/node-drawille) - Draw on the terminal with unicode braille characters. - [update-notifier](https://github.com/yeoman/update-notifier) - Update notifications for your CLI app. - [ascii-charts](https://github.com/jstrace/chart) - ASCII bar chart in the terminal. From 1c656d7d5e4f67436e1b5cef2a86090936e0192e Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 25 Jun 2018 13:45:08 +0700 Subject: [PATCH 275/399] Replace `limdu` with `Brain.js` The former is no longer maintained. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 62c2cd4dd..aee03ffd7 100644 --- a/readme.md +++ b/readme.md @@ -109,7 +109,7 @@ - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. - [NodeOS](https://github.com/NodeOS/NodeOS) - The first operating system powered by npm. -- [limdu](https://github.com/erelsgl/limdu) - Machine-learning framework. +- [Brain.js](https://github.com/BrainJS/brain.js) - Machine-learning framework. - [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis. - [Kadence](https://kadence.github.io/) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. From f69908ef3f4d9059df6d2eb66662ef7440948027 Mon Sep 17 00:00:00 2001 From: Valentin Vetter Date: Tue, 26 Jun 2018 18:15:10 +0200 Subject: [PATCH 276/399] Fix dead link to babel-parser (#822) Because Babylon has been moved into the main Babel mono-repo as @babel/parser. --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index aee03ffd7..b79c9c1a2 100644 --- a/readme.md +++ b/readme.md @@ -699,7 +699,7 @@ ### AST - [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser. -- [Babylon](https://github.com/babel/babel/tree/master/packages/babylon) - JavaScript parser used in Babel. +- [babel-parser](https://github.com/babel/babel/tree/master/packages/babel-parser) - JavaScript parser used in Babel. ### Static site generators From d3ce6bbb464422285140aaf1fda7107d44e046fb Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 28 Jul 2018 21:12:33 +0700 Subject: [PATCH 277/399] Add ndb --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b79c9c1a2..625cbd927 100644 --- a/readme.md +++ b/readme.md @@ -210,6 +210,7 @@ ### Debugging / Profiling +- [ndb](https://github.com/GoogleChromeLabs/ndb) - Improved debugging experience, enabled by Chrome DevTools. - [ironNode](https://github.com/s-a/iron-node) - Node.js debugger supporting ES2015 out of the box. - [node-inspector](https://github.com/node-inspector/node-inspector) - Debugger based on Blink Developer Tools. - [debug](https://github.com/visionmedia/debug) - Tiny debugging utility. From 299d424c223b4a01fe9bf5bad71f1ca6ce53d339 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Milo=C5=A1=20Sutanovac?= Date: Thu, 2 Aug 2018 21:20:32 +0200 Subject: [PATCH 278/399] Add carbon-now-cli (#846) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 625cbd927..ab386192f 100644 --- a/readme.md +++ b/readme.md @@ -176,6 +176,7 @@ - [svg-term-cli](https://github.com/marionebl/svg-term-cli) - Share terminal sessions via SVG. - [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for the terminal. - [themer](https://github.com/mjswensen/themer) - Generate themes for your editor, terminal, wallpaper, Slack, and more. +- [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal. ### Functional programming From ce37e2d274c21154e308b0e37551fce124024376 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 4 Aug 2018 00:25:01 +0700 Subject: [PATCH 279/399] =?UTF-8?q?Botpress=20is=20a=20=F0=9F=A6=84=20spon?= =?UTF-8?q?sor=20on=20Patreon!?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://sindresorhus.com/thanks --- readme.md | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index ab386192f..27da838fc 100644 --- a/readme.md +++ b/readme.md @@ -9,8 +9,14 @@

Special thanks to:
+
- wtgtybhertgeghgtwtg + wtgtybhertgeghgtwtg + +
+
+ + Botpress


From 58d97db3e787148fb0bfbe15f764cd37ac8a6112 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 11 Aug 2018 02:28:13 +0700 Subject: [PATCH 280/399] Formatting tweaks --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index 27da838fc..f7a78ce23 100644 --- a/readme.md +++ b/readme.md @@ -280,7 +280,7 @@ - [shelljs](https://github.com/shelljs/shelljs) - Portable Unix shell commands. - [sudo-block](https://github.com/sindresorhus/sudo-block) - Block users from running your app with root permissions. - [loud-rejection](https://github.com/sindresorhus/loud-rejection) - Make unhandled promise rejections fail loudly instead of the default silent fail. -- [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines ▁▂▃▅▂▇ +- [sparkly](https://github.com/sindresorhus/sparkly) - Generate sparklines `▁▂▃▅▂▇`. - [Bit](https://github.com/teambit/bit) - Create, maintain, find and use small modules and components across repositories. - [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output. - [oclif](https://github.com/oclif/oclif) - CLI framework complete with parser, automatic documentation, testing, and plugins. @@ -746,7 +746,7 @@ - [superheroes](https://github.com/sindresorhus/superheroes) - Get superhero names. - [supervillains](https://github.com/sindresorhus/supervillains) - Get supervillain names. - [cool-ascii-faces](https://github.com/maxogden/cool-ascii-faces) - Get some cool ascii faces. -- [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - ₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ” +- [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - `₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”`. - [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon. From 98a4d9f38f705a52ead46f0964cb2213186f7b59 Mon Sep 17 00:00:00 2001 From: Vaibhav Mule Date: Tue, 18 Sep 2018 10:59:47 +0530 Subject: [PATCH 281/399] Remove `Podcasts` from TOC as it doesn't exist (#860) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index f7a78ce23..f25eedcb0 100644 --- a/readme.md +++ b/readme.md @@ -88,7 +88,6 @@ - [Articles](#articles) - [Newsletters](#newsletters) - [Videos](#videos) - - [Podcasts](#podcasts) - [Books](#books) - [Blogs](#blogs) - [Courses](#courses) From cfc96e3abe7996cf179f24fd69ac4443ce87e878 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nicol=C3=A1s=20Bevacqua?= Date: Tue, 2 Oct 2018 04:57:35 -0300 Subject: [PATCH 282/399] Add JavaScript books (#862) --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index f25eedcb0..573f34631 100644 --- a/readme.md +++ b/readme.md @@ -848,6 +848,8 @@ - [Pro Express.js](http://proexpressjs.com) - [Secure Your Node.js Web Application](http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856) - [Express in Action](https://www.manning.com/books/express-in-action) +- [Practical Modern JavaScript](https://www.amazon.com/Practical-Modern-JavaScript-Dive-Future/dp/149194353X) +- [Mastering Modular JavaScript](https://www.amazon.com/Mastering-Modular-JavaScript-Nicolas-Bevacqua/dp/1491955686/) ### Blogs From 0c6bd70f76de71978779b60f4fe5005ba599cdd2 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 13 Oct 2018 12:35:34 +0700 Subject: [PATCH 283/399] Replace RawGit URL in the readme --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 573f34631..569906e18 100644 --- a/readme.md +++ b/readme.md @@ -11,7 +11,7 @@

- wtgtybhertgeghgtwtg + wtgtybhertgeghgtwtg

From 6860b155cc5573c0fc09e95f914e0eeec29fb09d Mon Sep 17 00:00:00 2001 From: Antoni Kepinski Date: Sat, 13 Oct 2018 08:19:41 +0200 Subject: [PATCH 284/399] Add cash-cli (#847) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 569906e18..f217a9d97 100644 --- a/readme.md +++ b/readme.md @@ -182,6 +182,7 @@ - [gtop](https://github.com/aksakalli/gtop) - System monitoring dashboard for the terminal. - [themer](https://github.com/mjswensen/themer) - Generate themes for your editor, terminal, wallpaper, Slack, and more. - [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal. +- [cash-cli](https://github.com/xxczaki/cash-cli) - Convert between 170 currencies. ### Functional programming From 8c6c0368b1855e3462c480f79bdae5de3889c13a Mon Sep 17 00:00:00 2001 From: Artak Date: Sat, 13 Oct 2018 10:25:16 +0400 Subject: [PATCH 285/399] Add Zeronode (#857) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f217a9d97..18300bac2 100644 --- a/readme.md +++ b/readme.md @@ -343,6 +343,7 @@ - [Moleculer](https://moleculer.services) - Fast & powerful microservices framework. - [Fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework. - [Nest](https://github.com/nestjs/nest) - Angular-inspired framework for building efficient and scalable server-side apps. +- [Zeronode](https://github.com/sfast/zeronode) - Minimal building block for reliable and fault-tolerant microservices. ### Documentation From 024d44713985368da9e9f2d31e4e53708317be93 Mon Sep 17 00:00:00 2001 From: Kyle Martin Date: Sat, 13 Oct 2018 19:30:54 +1300 Subject: [PATCH 286/399] Add Node.js Best Practices (#859) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 18300bac2..a90f61308 100644 --- a/readme.md +++ b/readme.md @@ -800,6 +800,7 @@ ### Tutorials +- [Node.js Best Practices](https://github.com/i0natan/nodebestpractices) - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages. - [Nodeschool](http://nodeschool.io) - Learn Node.js with interactive lessons. - [The Art of Node](https://github.com/maxogden/art-of-node/#the-art-of-node) - An introduction to Node.js. - [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams. @@ -807,7 +808,6 @@ - [The Node Way](http://thenodeway.io) - 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. - [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. - ### Discovery - [npms](https://npms.io) - Superb package search with deep analysis of package quality using a [myriad of metrics](https://npms.io/about). From 051a1be011c1c080ff38130b3c5c8d7a77b64b32 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 13 Oct 2018 13:37:31 +0700 Subject: [PATCH 287/399] Tiny tweak to contribution guidelines --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index ab002c95f..afe1bb32c 100644 --- a/contributing.md +++ b/contributing.md @@ -14,7 +14,7 @@ Ensure your pull request adheres to the following guidelines: - Make an individual pull request for each suggestion. - Use the following format: `[package](link) - Description.` - Additions should be added to the bottom of the relevant category. -- Link to the GitHub repo, not npmjs.com. +- Link to the GitHub repo, not npmjs.com or its website. - Keep descriptions short and simple, but descriptive. - Don't mention `Node.js` in the description as it's implied. - Start the description with a capital and end with a full stop/period. From 8cbc1824782544b55353893364a3487b2bec0473 Mon Sep 17 00:00:00 2001 From: Drew Youngwerth Date: Sat, 13 Oct 2018 00:42:03 -0600 Subject: [PATCH 288/399] Add Cliffy (#826) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index a90f61308..561a9123e 100644 --- a/readme.md +++ b/readme.md @@ -260,7 +260,6 @@ - [string-width](https://github.com/sindresorhus/string-width) - Get the visual width of a string - the number of columns required to display it. - [cli-truncate](https://github.com/sindresorhus/cli-truncate) - Truncate a string to a specific width in the terminal. - [first-run](https://github.com/sindresorhus/first-run) - Check if it's the first time the process is run. -- [vorpal](https://github.com/dthree/vorpal) - Interactive CLI apps. - [blessed](https://github.com/chjj/blessed) - Curses-like library. - [Inquirer.js](https://github.com/SBoudrias/Inquirer.js) - Interactive command-line prompt. - [yn](https://github.com/sindresorhus/yn) - Parse yes/no like values. @@ -285,6 +284,7 @@ - [gradient-string](https://github.com/bokub/gradient-string) - Beautiful color gradients in terminal output. - [oclif](https://github.com/oclif/oclif) - CLI framework complete with parser, automatic documentation, testing, and plugins. - [term-size](https://github.com/sindresorhus/term-size) - Reliably get the terminal window size. +- [Cliffy](https://github.com/drew-y/cliffy) - Framework for interactive CLIs. ### Build tools From d788d6b269fdbcd4edd9b1e244b8e44cc346b0b1 Mon Sep 17 00:00:00 2001 From: novddd <24556287+novddd@users.noreply.github.com> Date: Sat, 13 Oct 2018 10:04:35 +0300 Subject: [PATCH 289/399] Add taskbook (#845) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 561a9123e..17a87d4d3 100644 --- a/readme.md +++ b/readme.md @@ -183,6 +183,7 @@ - [themer](https://github.com/mjswensen/themer) - Generate themes for your editor, terminal, wallpaper, Slack, and more. - [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal. - [cash-cli](https://github.com/xxczaki/cash-cli) - Convert between 170 currencies. +- [taskbook](https://github.com/klauscfhq/taskbook) - Tasks, boards & notes for the command-line habitat. ### Functional programming From b8094979c14b1c6ff6bb3e479255656c07100679 Mon Sep 17 00:00:00 2001 From: Brandon Weiss Date: Sat, 13 Oct 2018 00:16:16 -0700 Subject: [PATCH 290/399] Add discharge (#853) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 17a87d4d3..dd2d99405 100644 --- a/readme.md +++ b/readme.md @@ -184,6 +184,7 @@ - [carbon-now-cli](https://github.com/mixn/carbon-now-cli) - Beautiful images of your code — from right inside your terminal. - [cash-cli](https://github.com/xxczaki/cash-cli) - Convert between 170 currencies. - [taskbook](https://github.com/klauscfhq/taskbook) - Tasks, boards & notes for the command-line habitat. +- [discharge](https://github.com/brandonweiss/discharge) - Easily deploy static websites to Amazon S3. ### Functional programming From 552e8745063ebced322d483b579ee7f8ef93e80f Mon Sep 17 00:00:00 2001 From: Matheus Marchini Date: Sat, 13 Oct 2018 00:20:11 -0700 Subject: [PATCH 291/399] Add llnode (#850) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index dd2d99405..5e4846eb6 100644 --- a/readme.md +++ b/readme.md @@ -231,6 +231,7 @@ - [0x](https://github.com/davidmarkclements/0x) - Flamegraph profiling. - [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals. - [leakage](https://github.com/andywer/leakage) - Write memory leak tests. +- [llnode](https://github.com/nodejs/llnode) - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. ### Logging From 5d8c2e363eb279bb3109e89ffee32f70204a5804 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Sat, 13 Oct 2018 15:21:13 +0800 Subject: [PATCH 292/399] Add node-casbin (#848) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5e4846eb6..c566889a4 100644 --- a/readme.md +++ b/readme.md @@ -656,6 +656,7 @@ ### Authorization - [CASL](https://github.com/stalniy/casl) - Isomorphic authorization for UI and API. +- [node-casbin](https://github.com/casbin/node-casbin) - Authorization library that supports access control models like ACL, RBAC and ABAC. ### Email From 5f7394b25bab451287f7287f8765f1ca32bfb0fd Mon Sep 17 00:00:00 2001 From: vixentael Date: Sat, 13 Oct 2018 10:27:10 +0300 Subject: [PATCH 293/399] Add themis (#842) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c566889a4..1f9c82543 100644 --- a/readme.md +++ b/readme.md @@ -629,6 +629,7 @@ - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. +- [themis](https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on. ### Benchmarking From 34c6449cfd7bb59e8d19c04f426e7c5c09864ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Lytek?= Date: Sat, 13 Oct 2018 09:29:35 +0200 Subject: [PATCH 294/399] Add TypeGraphQL (#841) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1f9c82543..848d597d5 100644 --- a/readme.md +++ b/readme.md @@ -347,6 +347,7 @@ - [Fastify](https://github.com/fastify/fastify) - Fast and low overhead web framework. - [Nest](https://github.com/nestjs/nest) - Angular-inspired framework for building efficient and scalable server-side apps. - [Zeronode](https://github.com/sfast/zeronode) - Minimal building block for reliable and fault-tolerant microservices. +- [TypeGraphQL](https://github.com/19majkel94/type-graphql) - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators. ### Documentation From ca23c78a4907ec8ec70a5a6b95287139997c1795 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Kosiec?= Date: Sat, 13 Oct 2018 09:47:28 +0200 Subject: [PATCH 295/399] Add Mongo Seeding (#834) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 848d597d5..676055f20 100644 --- a/readme.md +++ b/readme.md @@ -599,6 +599,7 @@ - [Keyv](https://github.com/lukechilds/keyv) - Simple key-value storage with support for multiple backends. - [Finale](https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models. - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. + - [Mongo Seeding](https://github.com/pkosiec/mongo-seeding) - Populate MongoDB databases with JavaScript and JSON files. ### Testing From 1524092d7a78af2d2c90eb6f9fee63c62ed0de35 Mon Sep 17 00:00:00 2001 From: Mario Kozjak Date: Sat, 13 Oct 2018 10:46:45 +0200 Subject: [PATCH 296/399] Add rpc-websockets (#829) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 676055f20..c9afaadc6 100644 --- a/readme.md +++ b/readme.md @@ -434,6 +434,7 @@ - [deepstream.io](https://github.com/deepstreamIO/deepstream.io-client-js) - Scalable real-time microservice framework. - [Kalm](https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework. - [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. +- [rpc-websockets](https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets. ### Image From 09e68166735e046eac03b9dec53a5e64960f2896 Mon Sep 17 00:00:00 2001 From: PatrickJS Date: Mon, 15 Oct 2018 11:38:18 -0700 Subject: [PATCH 297/399] Add Tipe (#827) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c9afaadc6..cf65aff48 100644 --- a/readme.md +++ b/readme.md @@ -733,6 +733,7 @@ - [KeystoneJS](https://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB. - [ApostropheCMS](https://github.com/apostrophecms/apostrophe) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. - [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. +- [Tipe](https://github.com/tipeio/tipe) - Developer-first content management system with GraphQL and REST API from a schema file. ### Forum From 94b20d34899653e54d7ce550488dc842a03d42a2 Mon Sep 17 00:00:00 2001 From: Emanuele Date: Tue, 16 Oct 2018 12:43:14 +0100 Subject: [PATCH 298/399] Remove node-orm2 (#869) It's not maintained anymore. --- readme.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/readme.md b/readme.md index cf65aff48..6c90a0c22 100644 --- a/readme.md +++ b/readme.md @@ -587,8 +587,7 @@ - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - [Mongoose](https://github.com/Automattic/mongoose) - Elegant MongoDB object modeling. - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. - - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - - [orm2](https://github.com/dresende/node-orm2) - ORM for PostgreSQL, MariaDB, MySQL, Amazon Redshift, SQLite, MongoDB. + - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. From 909aff1423f34ff23aafb7a2859a603554f86240 Mon Sep 17 00:00:00 2001 From: Debdutto Chakraborty Date: Wed, 17 Oct 2018 12:25:05 +0530 Subject: [PATCH 299/399] Add Aedes (#868) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 6c90a0c22..579c1e7fe 100644 --- a/readme.md +++ b/readme.md @@ -435,6 +435,7 @@ - [Kalm](https://github.com/kalm/kalm.js) - Low-level socket router and middleware framework. - [MQTT.js](https://github.com/mqttjs/MQTT.js) - Client for MQTT - Pub-sub based messaging protocol for use on top of TCP/IP. - [rpc-websockets](https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets. +- [Aedes](https://github.com/mcollina/aedes) - Barebone MQTT server that can run on any stream server. ### Image From 599e17f96c2b7fed614bac386b038c9981920330 Mon Sep 17 00:00:00 2001 From: Guillaume Poussel Date: Tue, 30 Oct 2018 20:51:43 +0100 Subject: [PATCH 300/399] Update stackgl link (#874) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 579c1e7fe..eee375c70 100644 --- a/readme.md +++ b/readme.md @@ -105,7 +105,7 @@ - [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client. - [dat](http://dat-data.com) - Real-time replication and versioning for data sets. - [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. -- [stackgl](http://stack.gl) - Open software ecosystem for WebGL, built on top of browserify and npm. +- [stackgl](https://stackgl.github.io) - Open software ecosystem for WebGL, built on top of browserify and npm. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](https://github.com/bitcoinjs/bitcoinjs-lib) - Clean, readable, proven Bitcoin library. From a13c0890f59ce1a2d54b6bba1acf079d9ff9ee55 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 9 Nov 2018 00:56:35 +0700 Subject: [PATCH 301/399] Add move-file --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index eee375c70..b046482f7 100644 --- a/readme.md +++ b/readme.md @@ -379,6 +379,7 @@ - [fs-extra](https://github.com/jprichardson/node-fs-extra) - Extra methods for the `fs` module. - [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. - [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system. +- [move-file](https://github.com/sindresorhus/move-file) - Move a file, even works across devices. ### Control flow @@ -588,7 +589,7 @@ - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - [Mongoose](https://github.com/Automattic/mongoose) - Elegant MongoDB object modeling. - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. - - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. + - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. From d47347f00c2cf68935873bc43a49cd9138e72312 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 9 Dec 2018 19:11:46 +0700 Subject: [PATCH 302/399] Update link to "Hands on with Node.js" Fixes #881 --- readme.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/readme.md b/readme.md index b046482f7..4da782858 100644 --- a/readme.md +++ b/readme.md @@ -844,7 +844,7 @@ ### Videos - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) -- [Hands on with Node.js](https://learn.bevry.me/node/preface) +- [Hands on with Node.js](https://learn.bevry.me/hands-on-with-node.js/preface) - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. ### Books @@ -915,4 +915,4 @@ [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) -To the extent possible under law, [Sindre Sorhus](http://sindresorhus.com) has waived all copyright and related or neighboring rights to this work. +To the extent possible under law, [Sindre Sorhus](https://sindresorhus.com) has waived all copyright and related or neighboring rights to this work. From 3136560e68ac830dd51d5f365dc37273dfbc545d Mon Sep 17 00:00:00 2001 From: Stefan Streichsbier Date: Sat, 29 Dec 2018 15:24:45 +0100 Subject: [PATCH 303/399] Add GuardRails (#887) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4da782858..4b46a22a2 100644 --- a/readme.md +++ b/readme.md @@ -634,6 +634,7 @@ - [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. - [themis](https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on. +- [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. ### Benchmarking From 80338c4a23a2f0192119b4025a149b6b1d1b22eb Mon Sep 17 00:00:00 2001 From: Yazhong Liu Date: Sun, 17 Feb 2019 02:22:59 +0800 Subject: [PATCH 304/399] Add YodaOS (#902) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4b46a22a2..59e44ec5c 100644 --- a/readme.md +++ b/readme.md @@ -114,6 +114,7 @@ - [turf](https://github.com/Turfjs/turf) - Modular geospatial processing and analysis engine. - [webcat](https://github.com/mafintosh/webcat) - p2p pipe across the web using WebRTC that uses your GitHub private/public key for authentication. - [NodeOS](https://github.com/NodeOS/NodeOS) - The first operating system powered by npm. +- [YodaOS](https://github.com/yodaos-project/yodaos) - AI operating system. - [Brain.js](https://github.com/BrainJS/brain.js) - Machine-learning framework. - [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis. - [Kadence](https://kadence.github.io/) - Kademlia distributed hash table. From 76ae482302c2d9e3378632f6c44e9cf4427e5acc Mon Sep 17 00:00:00 2001 From: ehmicky Date: Sun, 10 Mar 2019 13:36:40 +0100 Subject: [PATCH 305/399] Add Portable Node.js guide (#904) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 59e44ec5c..245b0e2ba 100644 --- a/readme.md +++ b/readme.md @@ -819,6 +819,7 @@ - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. - [The Node Way](http://thenodeway.io) - 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. - [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. +- [Portable Node.js guide](https://github.com/ehmicky/portable-node-guide) - Practical guide on how to write portable/cross-platform Node.js code. ### Discovery From a5d119b2a822c2f294d3f412d36522c7e272beca Mon Sep 17 00:00:00 2001 From: Hongarc Date: Fri, 19 Apr 2019 19:30:00 +0700 Subject: [PATCH 306/399] Add `npm semver calculator` (#927) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 245b0e2ba..8e40f93d0 100644 --- a/readme.md +++ b/readme.md @@ -889,6 +889,7 @@ - [RunKit](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. - [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. - [github-npm-stats](https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef) - Chrome extension that displays npm download stats on GitHub. +- [npm semver calculator](https://semver.npmjs.com) - Visually explore what versions of a package a semver range matches. ### Community From bbfc0ca0ae324331567ebb27e2e5724c656d9429 Mon Sep 17 00:00:00 2001 From: Hongarc Date: Sun, 28 Apr 2019 22:39:31 +0700 Subject: [PATCH 307/399] Update links to point to repos instead of websites (#929) --- readme.md | 44 ++++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/readme.md b/readme.md index 8e40f93d0..36910728c 100644 --- a/readme.md +++ b/readme.md @@ -103,9 +103,9 @@ - [webtorrent](https://github.com/feross/webtorrent) - Streaming torrent client for Node.js and the browser. - [peerflix](https://github.com/mafintosh/peerflix) - Streaming torrent client. -- [dat](http://dat-data.com) - Real-time replication and versioning for data sets. +- [dat](https://github.com/datproject/dat-node) - Real-time replication and versioning for data sets. - [ipfs](https://github.com/ipfs/js-ipfs) - Distributed file system that seeks to connect all computing devices with the same system of files. -- [stackgl](https://stackgl.github.io) - Open software ecosystem for WebGL, built on top of browserify and npm. +- [stackgl](https://github.com/stackgl) - Open software ecosystem for WebGL, built on top of browserify and npm. - [peerwiki](https://github.com/mafintosh/peerwiki) - All of Wikipedia on BitTorrent. - [peercast](https://github.com/mafintosh/peercast) - Stream a torrent video to Chromecast. - [BitcoinJS](https://github.com/bitcoinjs/bitcoinjs-lib) - Clean, readable, proven Bitcoin library. @@ -117,7 +117,7 @@ - [YodaOS](https://github.com/yodaos-project/yodaos) - AI operating system. - [Brain.js](https://github.com/BrainJS/brain.js) - Machine-learning framework. - [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis. -- [Kadence](https://kadence.github.io/) - Kademlia distributed hash table. +- [Kadence](https://gitlab.com/deadcanaries/kadence) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. - [js-git](https://github.com/creationix/js-git) - JavaScript implementation of Git. - [skale](https://github.com/skale-me/skale-engine) - High performance distributed data processing engine. @@ -144,7 +144,7 @@ - [clipboard-cli](https://github.com/sindresorhus/clipboard-cli) - Copy & paste on the terminal. - [XO](https://github.com/xojs/xo) - Enforce strict code style using the JavaScript happiness style. - [Standard](https://github.com/feross/standard) - JavaScript Standard Style — One style to rule them all. -- [ESLint](http://eslint.org) - The pluggable linting utility for JavaScript. +- [ESLint](https://github.com/eslint/eslint) - The pluggable linting utility for JavaScript. - [dev-time](https://github.com/samverschueren/dev-time-cli) - Get the current local time of a GitHub user. - [David](https://github.com/alanshaw/david) - Tells you when your package npm dependencies are out of date. - [http-server](https://github.com/indexzero/http-server) - Simple, zero-config command-line HTTP server. @@ -190,13 +190,13 @@ ### Functional programming -- [lodash](https://lodash.com) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. +- [lodash](https://github.com/lodash/lodash) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. - [immutable](https://github.com/facebook/immutable-js) - Immutable data collections. - [Ramda](https://github.com/ramda/ramda) - Utility library with a focus on flexible functional composition enabled by automatic currying and reversed argument order. Avoids mutating data. -- [Folktale](http://folktale.origamitower.com) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. +- [Folktale](https://github.com/origamitower/folktale) - Suite of libraries for generic functional programming in JavaScript that allows you to write elegant, modular applications with fewer bugs, and more reuse. - [Mout](https://github.com/mout/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. -- [Bacon.js](http://baconjs.github.io) - Functional reactive programming. -- [RxJS](http://reactivex.io) - Functional reactive library for transforming, composing, and querying various kinds of data. +- [Bacon.js](https://github.com/baconjs/bacon.js) - Functional reactive programming. +- [RxJS](https://github.com/reactivex/rxjs) - Functional reactive library for transforming, composing, and querying various kinds of data. - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. - [Kefir.js](https://github.com/kefirjs/kefir) - Reactive library with focus on high performance and low memory usage. @@ -296,7 +296,7 @@ - [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler. - [webpack](https://github.com/webpack/webpack) - Packs modules and assets for the browser. - [rollup](https://github.com/rollup/rollup) - Next-generation ES2015 module bundler. -- [gulp](http://gulpjs.com) - Streaming and fast build system that favors code over config. +- [gulp](https://github.com/gulpjs/gulp) - Streaming and fast build system that favors code over config. - [Broccoli](https://github.com/broccolijs/broccoli) - Fast, reliable asset pipeline, supporting constant-time rebuilds and compact build definitions. - [Brunch](https://github.com/brunch/brunch) - Front-end web app build tool with simple declarative config, fast incremental compilation, and an opinionated workflow. - [Start](https://github.com/deepsweet/start) - Functional task runner with shareable presets. @@ -328,16 +328,16 @@ ### Web frameworks -- [Hapi](http://hapijs.com) - Framework for building applications and services. -- [Koa](http://koajs.com) - 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](http://expressjs.com) - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. -- [Feathers](http://feathersjs.com) - Microservice framework built in the spirit of Express. -- [LoopBack](http://loopback.io) - Powerful framework for creating REST APIs and easily connecting to backend data sources. -- [Meteor](https://www.meteor.com) - An ultra-simple, database-everywhere, data-on-the-wire, pure-Javascript web framework. *(You might like [awesome-meteor](https://github.com/Urigo/awesome-meteor))* -- [Restify](http://restify.com) - Enables you to build correct REST web services. +- [Hapi](https://github.com/hapijs/hapi) - Framework for building applications and services. +- [Koa](https://github.com/koajs/koa) - 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](https://github.com/expressjs/express) - Web application framework, providing a robust set of features for building single and multi-page, and hybrid web applications. +- [Feathers](https://github.com/feathersjs/feathers) - Microservice framework built in the spirit of Express. +- [LoopBack](https://github.com/strongloop/loopback) - Powerful framework for creating REST APIs and easily connecting to backend data sources. +- [Meteor](https://github.com/meteor/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))* +- [Restify](https://github.com/restify/node-restify) - Enables you to build correct REST web services. - [ThinkJS](https://github.com/thinkjs/thinkjs) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](https://github.com/actionhero/actionhero) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. -- [MERN](http://mern.io) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. +- [MERN](https://github.com/Hashnode/mern-cli) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. - [Next.js](https://github.com/zeit/next.js) - Minimalistic framework for server-rendered universal JavaScript web apps. - [Nuxt.js](https://github.com/nuxt/nuxt.js) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. @@ -355,8 +355,8 @@ - [documentation.js](https://github.com/documentationjs/documentation) - API documentation generator with support for ES2015+ and flow annotation. - [ESDoc](https://github.com/esdoc/esdoc) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. -- [Docco](http://jashkenas.github.io/docco/) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. -- [JSDoc](http://usejsdoc.org) - API documentation generator similar to JavaDoc or PHPDoc. +- [Docco](https://github.com/jashkenas/docco) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. +- [JSDoc](https://github.com/jsdoc3/jsdoc) - API documentation generator similar to JavaDoc or PHPDoc. ### Filesystem @@ -607,8 +607,8 @@ ### Testing -- [AVA](https://ava.li) - Futuristic test runner. -- [Mocha](http://mochajs.org) - Feature-rich test framework making asynchronous testing simple and fun. +- [AVA](https://github.com/avajs/ava) - Futuristic test runner. +- [Mocha](https://github.com/mochajs/mocha) - Feature-rich test framework making asynchronous testing simple and fun. - [nyc](https://github.com/bcoe/nyc) - Code coverage tool built on istanbul that works with subprocesses. - [tap](https://github.com/isaacs/node-tap) - TAP test framework. - [tape](https://github.com/substack/tape) - TAP-producing test harness. @@ -813,7 +813,7 @@ ### Tutorials - [Node.js Best Practices](https://github.com/i0natan/nodebestpractices) - Summary and curation of the top-ranked content on Node.js best practices, available in multiple languages. -- [Nodeschool](http://nodeschool.io) - Learn Node.js with interactive lessons. +- [Nodeschool](https://github.com/nodeschool) - Learn Node.js with interactive lessons. - [The Art of Node](https://github.com/maxogden/art-of-node/#the-art-of-node) - An introduction to Node.js. - [stream-handbook](https://github.com/substack/stream-handbook) - How to write Node.js programs with streams. - [module-best-practices](https://github.com/mattdesl/module-best-practices) - Some good practices when writing new npm modules. From 075ba95fddd9950b62346b542c6fbb6311b5a75f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=96=9B=E5=AE=9A=E8=B0=94=E7=9A=84=E7=8C=AB?= Date: Mon, 29 Apr 2019 00:03:52 +0800 Subject: [PATCH 308/399] Add cherow (#890) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 36910728c..b8044970c 100644 --- a/readme.md +++ b/readme.md @@ -720,6 +720,7 @@ - [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser. - [babel-parser](https://github.com/babel/babel/tree/master/packages/babel-parser) - JavaScript parser used in Babel. +- [cherow](https://github.com/cherow/cherow) - JavaScript parser with focus on performance and stability. ### Static site generators From a63442d9e50266bb0830e190e7dbfaf69d7c58de Mon Sep 17 00:00:00 2001 From: Roman Date: Mon, 29 Apr 2019 02:36:21 +1000 Subject: [PATCH 309/399] Add rate-limiter-flexible (#893) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b8044970c..f81b586fd 100644 --- a/readme.md +++ b/readme.md @@ -636,6 +636,7 @@ - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. - [themis](https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on. - [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. +- [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) - Brute-force and DDoS attack protection. ### Benchmarking From cd44898f6df88508fbcc68f6d0d24976955139db Mon Sep 17 00:00:00 2001 From: Marlom Girardi Date: Sun, 28 Apr 2019 17:41:11 +0100 Subject: [PATCH 310/399] Add talk about the V8 garbage collector (#894) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f81b586fd..62984a2a8 100644 --- a/readme.md +++ b/readme.md @@ -851,6 +851,7 @@ - [Introduction to Node.js with Ryan Dahl](https://www.youtube.com/watch?v=jo_B4LTHi3I) - [Hands on with Node.js](https://learn.bevry.me/hands-on-with-node.js/preface) - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. +- [V8 Garbage Collector](https://v8.dev/blog/trash-talk) - Trash talk about the V8 garbage collector. ### Books From ca5c0858720caa33b290eb117462426399f9f5a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jes=C3=BAs=20Rubio?= Date: Sun, 28 Apr 2019 19:01:05 +0200 Subject: [PATCH 311/399] Add Strong Node.js (#909) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 62984a2a8..3dd591524 100644 --- a/readme.md +++ b/readme.md @@ -884,6 +884,7 @@ - [Express.js](https://github.com/azat-co/cheatsheets/blob/master/express4) - [Stream FAQs](https://github.com/stephenplusplus/stream-faqs) - Answering common questions about streams, covering pagination, events, and more. +- [Strong Node.js](https://github.com/jesusprubio/strong-node) - Checklist for source code security analysis of a Node.js web service. ### Tools From 1f24c3b6bfc2c2142a3928aad68a0607228ae88e Mon Sep 17 00:00:00 2001 From: Gennady Kozlenko Date: Sun, 28 Apr 2019 20:12:43 +0300 Subject: [PATCH 312/399] Add node-video-lib (#898) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3dd591524..0433b79be 100644 --- a/readme.md +++ b/readme.md @@ -808,6 +808,7 @@ - [@sindresorhus/is](https://github.com/sindresorhus/is) - Type check values. - [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. - [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter. +- [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. ## Resources From 53739f5cd1b5bf8924b5cf40baba865ad5e61fd3 Mon Sep 17 00:00:00 2001 From: Gajus Kuizinas Date: Mon, 29 Apr 2019 04:29:35 +0100 Subject: [PATCH 313/399] Add slonik (#906) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0433b79be..cd8397676 100644 --- a/readme.md +++ b/readme.md @@ -592,6 +592,7 @@ - [Waterline](https://github.com/balderdashy/waterline) - Datastore-agnostic tool that dramatically simplifies interaction with one or more databases. - [OpenRecord](https://github.com/PhilWaldmann/openrecord) - ORM for PostgreSQL, MySQL, SQLite3 and RESTful datastores. Similar to ActiveRecord. - [pg-promise](https://github.com/vitaly-t/pg-promise) - PostgreSQL framework for native SQL using promises. + - [slonik](https://github.com/gajus/slonik) - PostgreSQL client with strict types, detailed logging and assertions. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. - Query builder From 09881df13ebba3819397b855eb5eb2ec56e0d6a7 Mon Sep 17 00:00:00 2001 From: Hongarc Date: Mon, 29 Apr 2019 11:22:10 +0700 Subject: [PATCH 314/399] Add `Day.js` (#928) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index cd8397676..5d7e0e5c5 100644 --- a/readme.md +++ b/readme.md @@ -492,6 +492,7 @@ - [Luxon](https://github.com/moment/luxon) - Library for working with dates and times. - [date-fns](https://github.com/date-fns/date-fns) - Modern date utility. - [Moment.js](http://momentjs.com) - Parse, validate, manipulate, and display dates. +- [Day.js](https://github.com/iamkun/dayjs) - Immutable date library alternative to Moment.js. - [dateformat](https://github.com/felixge/node-dateformat) - Date formatting. - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. - [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates. From 9cd2fb93e970a54183c85fde5d2e88bc272892fa Mon Sep 17 00:00:00 2001 From: Justin Law Date: Sun, 28 Apr 2019 21:38:57 -0700 Subject: [PATCH 315/399] Add RedisSMQ (#903) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5d7e0e5c5..0a3b962a9 100644 --- a/readme.md +++ b/readme.md @@ -685,6 +685,7 @@ - [node-resque](https://github.com/taskrabbit/node-resque) - Redis-backed job queue. - [rsmq](https://github.com/smrchy/rsmq) - Redis-backed message queue. - [bee-queue](https://github.com/bee-queue/bee-queue) - High-performance Redis-backed job queue. +- [RedisSMQ](https://github.com/weyoss/redis-smq) - Simple high-performance Redis message queue with real-time monitoring. ### Node.js management From 72201ec844e80386ef8b933528fbc9a9918ad266 Mon Sep 17 00:00:00 2001 From: umporo <34281902+umporo@users.noreply.github.com> Date: Mon, 29 Apr 2019 06:40:50 +0200 Subject: [PATCH 316/399] Add book "Get Programming with Node.js" (#905) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0a3b962a9..228a807c3 100644 --- a/readme.md +++ b/readme.md @@ -872,6 +872,7 @@ - [Express in Action](https://www.manning.com/books/express-in-action) - [Practical Modern JavaScript](https://www.amazon.com/Practical-Modern-JavaScript-Dive-Future/dp/149194353X) - [Mastering Modular JavaScript](https://www.amazon.com/Mastering-Modular-JavaScript-Nicolas-Bevacqua/dp/1491955686/) +- [Get Programming with Node.js](https://www.manning.com/books/get-programming-with-node-js) ### Blogs From 053a1264ec56c2f780ef22bdbfb2d3ab00070e34 Mon Sep 17 00:00:00 2001 From: Patrick Juchli Date: Mon, 29 Apr 2019 06:54:47 +0200 Subject: [PATCH 317/399] Add basic-ftp (#907) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 228a807c3..8f9cf437b 100644 --- a/readme.md +++ b/readme.md @@ -812,6 +812,7 @@ - [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. - [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter. - [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. +- [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. ## Resources From 63fc7cbf28599ffe9d7685d0be221acf307a448e Mon Sep 17 00:00:00 2001 From: KY3LxD <38943742+KY3LxD@users.noreply.github.com> Date: Sun, 28 Apr 2019 22:08:49 -0700 Subject: [PATCH 318/399] Improve a description (#877) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 8f9cf437b..e19a69877 100644 --- a/readme.md +++ b/readme.md @@ -128,7 +128,7 @@ ### Command-line apps - [np](https://github.com/sindresorhus/np) - Better `npm publish`. -- [npm-name](https://github.com/sindresorhus/npm-name) - Check whether a package name is available on npm. +- [npm-name](https://github.com/sindresorhus/npm-name) - Check a package name's availability on npm. - [gh-home](https://github.com/sindresorhus/gh-home) - Open the GitHub page of the repo in the current directory. - [npm-home](https://github.com/sindresorhus/npm-home) - Open the npm page of a package. - [trash](https://github.com/sindresorhus/trash) - Safer alternative to `rm`. From b371bc52bd17cf3d245319afb8ffdd56e34b2ab4 Mon Sep 17 00:00:00 2001 From: Victor Nizeyimana Date: Mon, 29 Apr 2019 07:14:08 +0200 Subject: [PATCH 319/399] Add Discord server (#882) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e19a69877..1a7b625f1 100644 --- a/readme.md +++ b/readme.md @@ -909,6 +909,7 @@ - [Reddit](https://www.reddit.com/r/node) - [Twitter](https://twitter.com/nodejs) - [Hashnode](https://hashnode.com/n/nodejs) +- [Discord](https://discordapp.com/invite/96WGtJt) ### Miscellaneous From d61feb0ba7475224333a8d1a347da3cfa683be3a Mon Sep 17 00:00:00 2001 From: Eric Date: Mon, 29 Apr 2019 07:35:41 +0200 Subject: [PATCH 320/399] Add nlp.js (#918) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1a7b625f1..8a4edbaa6 100644 --- a/readme.md +++ b/readme.md @@ -702,6 +702,7 @@ - [franc](https://github.com/wooorm/franc) - Detect the language of text. - [leven](https://github.com/sindresorhus/leven) - Measure the difference between two strings using the Levenshtein distance algorithm. - [natural](https://github.com/NaturalNode/natural) - Natural language facility. +- [nlp.js](https://github.com/axa-group/nlp.js) - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more. ### Process management From bdaf22b8cff9c22ed5fceea9bf939c7733f90213 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Fri, 3 May 2019 12:55:46 +0700 Subject: [PATCH 321/399] Remove Snyk https://twitter.com/sindresorhus/status/1123986529498664961 --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 8a4edbaa6..e1baacc32 100644 --- a/readme.md +++ b/readme.md @@ -634,7 +634,6 @@ ### Security -- [snyk](https://github.com/Snyk/snyk) - CLI and build-time tool to find & fix vulnerable npm dependencies. - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. - [themis](https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on. - [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. From b2ec83bf4807462b6a51e31b3c34883aa5bb0301 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 13 May 2019 12:36:11 +0700 Subject: [PATCH 322/399] `opn` was renamed to `open` --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e1baacc32..07f5772eb 100644 --- a/readme.md +++ b/readme.md @@ -780,7 +780,7 @@ - [execa](https://github.com/sindresorhus/execa) - Better `child_process`. - [cheerio](https://github.com/cheeriojs/cheerio) - Fast, flexible, and lean implementation of core jQuery designed specifically for the server. - [Electron](https://github.com/atom/electron) - Build cross platform desktop apps with web technologies. *(You might like [awesome-electron](https://github.com/sindresorhus/awesome-electron))* -- [opn](https://github.com/sindresorhus/opn) - Opens stuff like websites, files, executables. +- [open](https://github.com/sindresorhus/open) - Opens stuff like websites, files, executables. - [hasha](https://github.com/sindresorhus/hasha) - Hashing made simple. Get the hash of a buffer/string/stream/file. - [dot-prop](https://github.com/sindresorhus/dot-prop) - Get a property from a nested object using a dot path. - [onetime](https://github.com/sindresorhus/onetime) - Only run a function once. From 8af46528bb2bee7e2d22587033e98be501989559 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 13 May 2019 12:50:51 +0700 Subject: [PATCH 323/399] Add tempy --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 07f5772eb..a5c89729f 100644 --- a/readme.md +++ b/readme.md @@ -381,6 +381,7 @@ - [pkg-dir](https://github.com/sindresorhus/pkg-dir) - Find the root directory of an npm package. - [filehound](https://github.com/nspragg/filehound) - Flexible and fluent interface for searching the file system. - [move-file](https://github.com/sindresorhus/move-file) - Move a file, even works across devices. +- [tempy](https://github.com/sindresorhus/tempy) - Get a random temporary file or directory path. ### Control flow From eea4525168344dd58de9af58474b4e0bf6d4707f Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 13 May 2019 12:51:04 +0700 Subject: [PATCH 324/399] Add crypto-hash --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index a5c89729f..41fdb9170 100644 --- a/readme.md +++ b/readme.md @@ -639,6 +639,7 @@ - [themis](https://github.com/cossacklabs/themis) - Multilanguage framework for making typical encryption schemes easy to use: data at rest, authenticated data exchange, transport protection, authentication, and so on. - [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. - [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) - Brute-force and DDoS attack protection. +- [crypto-hash](https://github.com/sindresorhus/crypto-hash) - Async non-blocking hashing. ### Benchmarking From a7d62faee4a80687184537f8f4bd817d410801cd Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 23 May 2019 16:59:39 +0700 Subject: [PATCH 325/399] Enable the repo Sponsor button --- .github/funding.yml | 4 ++++ readme.md | 18 +----------------- 2 files changed, 5 insertions(+), 17 deletions(-) create mode 100644 .github/funding.yml diff --git a/.github/funding.yml b/.github/funding.yml new file mode 100644 index 000000000..15edf6e25 --- /dev/null +++ b/.github/funding.yml @@ -0,0 +1,4 @@ +github: sindresorhus +open_collective: sindresorhus +patreon: sindresorhus +custom: https://sindresorhus.com/donate diff --git a/readme.md b/readme.md index 41fdb9170..251077b2e 100644 --- a/readme.md +++ b/readme.md @@ -3,26 +3,10 @@ Awesome Node.js
-

- My open source work is supported by the community -

-

- Special thanks to: -
-
- - wtgtybhertgeghgtwtg - -
-
- - Botpress - -



- Awesome + Awesome

Just type node.cool to go here. Check out my blog and follow me on Twitter. From 2663b774b8fbc491c2eb450ba2a5b0a67ef73049 Mon Sep 17 00:00:00 2001 From: Peter Nguyen Tr Date: Thu, 30 May 2019 04:23:50 +0200 Subject: [PATCH 326/399] Add CodeceptJS (#931) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 251077b2e..147457e96 100644 --- a/readme.md +++ b/readme.md @@ -615,6 +615,7 @@ - [Jest](https://github.com/facebook/jest) - Painless JavaScript testing. - [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. - [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. +- [CodeceptJS](https://github.com/Codeception/CodeceptJS) - End-to-end testing. ### Security From 1b14de61e60123f94117a6a7ba5ce66bf114e1bc Mon Sep 17 00:00:00 2001 From: Nick Spragg <5319732+nspragg@users.noreply.github.com> Date: Thu, 30 May 2019 03:32:33 +0100 Subject: [PATCH 327/399] Add sqs-consumer (#934) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 147457e96..6766c0225 100644 --- a/readme.md +++ b/readme.md @@ -672,6 +672,7 @@ - [rsmq](https://github.com/smrchy/rsmq) - Redis-backed message queue. - [bee-queue](https://github.com/bee-queue/bee-queue) - High-performance Redis-backed job queue. - [RedisSMQ](https://github.com/weyoss/redis-smq) - Simple high-performance Redis message queue with real-time monitoring. +- [sqs-consumer](https://github.com/bbc/sqs-consumer) - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate. ### Node.js management From 091a6bbc383361c9e8d72a5e274fd1cb0a4112b1 Mon Sep 17 00:00:00 2001 From: Rick Arnett Date: Sat, 15 Jun 2019 07:55:09 -0400 Subject: [PATCH 328/399] Remove kue (no longer maintained) (#945) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 6766c0225..4e48c0cc2 100644 --- a/readme.md +++ b/readme.md @@ -664,7 +664,6 @@ ### Job queues -- [kue](https://github.com/Automattic/kue) - Redis-backed priority job queue. - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. - [agenda](https://github.com/rschmukler/agenda) - MongoDB-backed job scheduling. - [idoit](https://github.com/nodeca/idoit) - Redis-backed job queue engine with advanced job control. From 3a687f7730e932b221fcd04cade07573dec92384 Mon Sep 17 00:00:00 2001 From: Franck LN Date: Wed, 19 Jun 2019 01:35:46 -0400 Subject: [PATCH 329/399] Add article about Express + GraphQL (#946) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4e48c0cc2..2a994ca64 100644 --- a/readme.md +++ b/readme.md @@ -832,6 +832,7 @@ - [Understanding the Node.js Event Loop](https://nodesource.com/blog/understanding-the-nodejs-event-loop/) - [Understanding Object Streams](https://nodesource.com/blog/understanding-object-streams/) - [Art of README](https://github.com/noffle/art-of-readme) - Learn the art of writing quality READMEs. +- [Using Express to Quickly Build a GraphQL Server](https://snipcart.com/blog/graphql-nodejs-express-tutorial) ### Newsletters From bfa876caacabca977484878c9f23e5255d9a7e17 Mon Sep 17 00:00:00 2001 From: Gajus Kuizinas Date: Fri, 21 Jun 2019 13:13:33 +0200 Subject: [PATCH 330/399] Add global-agent (#952) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2a994ca64..82a044ed8 100644 --- a/readme.md +++ b/readme.md @@ -200,6 +200,7 @@ - [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. - [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support. - [gotql](https://github.com/khaosdoctor/gotql) - GraphQL request library built on [got](https://github.com/sindresorhus/got). +- [global-agent](https://github.com/gajus/global-agent) – Global HTTP/HTTPS proxy agent that is configurable using environment variables. ### Debugging / Profiling From e3cc52e60c79f8363021b3e6a2e76eaf0de05d29 Mon Sep 17 00:00:00 2001 From: Ryan Rosenblum Date: Sat, 29 Jun 2019 11:21:53 -0400 Subject: [PATCH 331/399] Add nodenv (#942) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 82a044ed8..4fc584642 100644 --- a/readme.md +++ b/readme.md @@ -681,6 +681,7 @@ - [nave](https://github.com/isaacs/nave) - Virtual Environments for Node.js. - [nodeenv](https://github.com/ekalinin/nodeenv) - Node.js virtual environment compatible to Python's virtualenv. - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. +- [nodenv](https://github.com/nodenv/nodenv) - Version manager that is similar to Ruby's rbenv. It supports auto version switching. ### Natural language processing From b1329b3b9849508c094b9101f19898b4f4a74715 Mon Sep 17 00:00:00 2001 From: Axel Terizaki Date: Sat, 29 Jun 2019 17:26:10 +0200 Subject: [PATCH 332/399] Add qrcode (#949) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4fc584642..0f3923f47 100644 --- a/readme.md +++ b/readme.md @@ -435,6 +435,7 @@ - [pica](https://github.com/nodeca/pica) - High quality & fast resize (lanczos3) in pure JS. Alternative to canvas drawImage(), when no pixelation allowed. - [jimp](https://github.com/oliver-moran/jimp) - Image processing in pure JavaScript. - [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download. +- [qrcode](https://github.com/soldair/node-qrcode) - QR code and bar code generator. ### Text From 79c8a62935d9ff55fd620b183b97dc015a46f691 Mon Sep 17 00:00:00 2001 From: Axel Terizaki Date: Sat, 29 Jun 2019 20:10:04 +0200 Subject: [PATCH 333/399] Add better-queue (#947) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0f3923f47..ea8eaae9e 100644 --- a/readme.md +++ b/readme.md @@ -674,6 +674,7 @@ - [bee-queue](https://github.com/bee-queue/bee-queue) - High-performance Redis-backed job queue. - [RedisSMQ](https://github.com/weyoss/redis-smq) - Simple high-performance Redis message queue with real-time monitoring. - [sqs-consumer](https://github.com/bbc/sqs-consumer) - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate. +- [better-queue](https://github.com/diamondio/better-queue) - Simple and efficient job queue when you cannot use Redis. ### Node.js management From 69dca735bdbf86341c499e73b1d7da8186ea1e26 Mon Sep 17 00:00:00 2001 From: Aleksey Date: Tue, 2 Jul 2019 20:23:59 -0700 Subject: [PATCH 334/399] Add thetool (#951) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ea8eaae9e..38bfd379d 100644 --- a/readme.md +++ b/readme.md @@ -218,6 +218,7 @@ - [ctrace](https://github.com/automation-stack/ctrace) - Well-formatted and improved trace system calls and signals. - [leakage](https://github.com/andywer/leakage) - Write memory leak tests. - [llnode](https://github.com/nodejs/llnode) - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. +- [thetool](https://github.com/sfninja/thetool) - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. ### Logging From 43f361ff20a39585f141cc8dde2f0cf61544c59d Mon Sep 17 00:00:00 2001 From: Aditya Kresna Date: Tue, 23 Jul 2019 13:32:07 +0700 Subject: [PATCH 335/399] Update `ajv` description (#962) --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 38bfd379d..11ec306f6 100644 --- a/readme.md +++ b/readme.md @@ -503,7 +503,7 @@ - [is-my-json-valid](https://github.com/mafintosh/is-my-json-valid) - JSON Schema validator that uses code generation to be extremely fast. - [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express. - [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation. -- [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5 proposals. +- [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5, v6 and v7 proposals. ### Parsing From 153a5804c0847f81cd2b3fad4c24c7b028c02ba5 Mon Sep 17 00:00:00 2001 From: Vadim Demedes Date: Mon, 12 Aug 2019 09:44:49 -0700 Subject: [PATCH 336/399] Add Segment as sponsor (#966) --- media/segment-logo.svg | 1 + readme.md | 13 +++++++++++++ 2 files changed, 14 insertions(+) create mode 100644 media/segment-logo.svg diff --git a/media/segment-logo.svg b/media/segment-logo.svg new file mode 100644 index 000000000..311468de7 --- /dev/null +++ b/media/segment-logo.svg @@ -0,0 +1 @@ + diff --git a/readme.md b/readme.md index 11ec306f6..4f338bc43 100644 --- a/readme.md +++ b/readme.md @@ -3,6 +3,19 @@ Awesome Node.js
+

+ Special thanks to: +
+
+ + Segment + +

+

+ + Save time setting up analytics with Segment. We're hiring! + +



From 441b59dee13aeff4698ed13ff6661b021ee89935 Mon Sep 17 00:00:00 2001 From: Dave Sag <387098+davesag@users.noreply.github.com> Date: Mon, 23 Sep 2019 04:19:40 +0930 Subject: [PATCH 337/399] Add jose-simple (#956) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4f338bc43..73cec9db0 100644 --- a/readme.md +++ b/readme.md @@ -641,6 +641,7 @@ - [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. - [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) - Brute-force and DDoS attack protection. - [crypto-hash](https://github.com/sindresorhus/crypto-hash) - Async non-blocking hashing. +- [jose-simple](https://github.com/davesag/jose-simple) — Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard. ### Benchmarking From 9ad711e5dc1cd02f249ab433f2fc8cbbd5edb10a Mon Sep 17 00:00:00 2001 From: Sai Phaninder Reddy Jonnala Date: Sun, 22 Sep 2019 15:01:06 -0400 Subject: [PATCH 338/399] Add MJML (#963) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 73cec9db0..fd3210cbe 100644 --- a/readme.md +++ b/readme.md @@ -677,6 +677,7 @@ - [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email. - [emailjs](https://github.com/eleith/emailjs) - Send text/HTML emails with attachments to any SMTP server. - [email-templates](https://github.com/niftylettuce/email-templates) - Create, preview, and send custom email templates. +- [MJML](https://github.com/mjmlio/mjml) - Markup language designed to reduce the pain of creating responsive emails. ### Job queues From 57286cc28112705d8761b9ef539c1ed3672bfc66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Celso=20In=C3=A1cio?= Date: Sun, 22 Sep 2019 16:03:41 -0300 Subject: [PATCH 339/399] Add Puppeteer (#964) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fd3210cbe..fcbdf6704 100644 --- a/readme.md +++ b/readme.md @@ -632,6 +632,7 @@ - [TestCafe](https://github.com/DevExpress/testcafe) - Automated browser testing. - [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. - [CodeceptJS](https://github.com/Codeception/CodeceptJS) - End-to-end testing. +- [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome. ### Security From 8aba49d8f7e0573e2b26296b7c9fafe5283e8358 Mon Sep 17 00:00:00 2001 From: Brandon Weiss Date: Mon, 23 Sep 2019 04:18:25 -0700 Subject: [PATCH 340/399] Add Charge (#970) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index fcbdf6704..3fd9543de 100644 --- a/readme.md +++ b/readme.md @@ -742,6 +742,7 @@ - [DocPad](https://github.com/docpad/docpad) - Static site generator with dynamic abilities and huge plugin ecosystem. - [Phenomic](https://github.com/phenomic/phenomic) - Modern static website generator based on the React and Webpack ecosystem. - [docsify](https://github.com/QingWei-Li/docsify) - Markdown documentation site generator with no statically built HTML files. +- [Charge](https://github.com/brandonweiss/charge) - Opinionated, zero-config static site generator using JSX and MDX. ### Content management systems From 8f7de27a24ca21a3e41c95871e1fda5a01bb7a07 Mon Sep 17 00:00:00 2001 From: fiiv Date: Mon, 23 Sep 2019 11:29:16 +0000 Subject: [PATCH 341/399] Add frameworkless tutorial series (#959) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 3fd9543de..eb082b8e6 100644 --- a/readme.md +++ b/readme.md @@ -836,6 +836,7 @@ - [The Node Way](http://thenodeway.io) - 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. - [You Don't Know Node.js](https://github.com/azat-co/you-dont-know-node) - Introduction to Node.js core features and asynchronous JavaScript. - [Portable Node.js guide](https://github.com/ehmicky/portable-node-guide) - Practical guide on how to write portable/cross-platform Node.js code. +- [Build a real web app with no frameworks](https://frameworkless.js.org/course) - A set of video tutorials/livestreams to help you build and deploy a real, live web app using a handful of simple libraries and the core Node.js modules. ### Discovery From 984f72801225a722bc8b5fd8e7006e80f29301a5 Mon Sep 17 00:00:00 2001 From: Florian Breisch Date: Thu, 26 Sep 2019 11:26:50 +0200 Subject: [PATCH 342/399] Add nanoid (#971) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index eb082b8e6..f3af2ed06 100644 --- a/readme.md +++ b/readme.md @@ -469,6 +469,7 @@ - [matcher](https://github.com/sindresorhus/matcher) - Simple wildcard matching. - [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. - [i18next](https://github.com/i18next/i18next) - Internationalization framework. +- [nanoid](https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator. ### Number From e28154681c565285664a2caba13f6fce743e5e53 Mon Sep 17 00:00:00 2001 From: sv2 Date: Thu, 26 Sep 2019 02:31:04 -0700 Subject: [PATCH 343/399] Add swagger-stats (#967) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f3af2ed06..569ea2d51 100644 --- a/readme.md +++ b/readme.md @@ -232,6 +232,7 @@ - [leakage](https://github.com/andywer/leakage) - Write memory leak tests. - [llnode](https://github.com/nodejs/llnode) - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. - [thetool](https://github.com/sfninja/thetool) - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. +- [swagger-stats](https://github.com/slanatech/swagger-stats) - Trace API calls and monitor API performance, health, and usage metrics. ### Logging From cdcdc4e03b335e862d8721fef7b9a04fe6200cdb Mon Sep 17 00:00:00 2001 From: Adam Stankiewicz Date: Thu, 26 Sep 2019 11:33:06 +0200 Subject: [PATCH 344/399] Add modern-node (#972) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 569ea2d51..e6961fc72 100644 --- a/readme.md +++ b/readme.md @@ -928,6 +928,7 @@ - [nodebots](http://nodebots.io) - Robots powered by JavaScript. - [node-module-boilerplate](https://github.com/sindresorhus/node-module-boilerplate) - Boilerplate to kickstart creating a node module. +- [modern-node](https://github.com/sheerun/modern-node) - Toolkit for creating node modules with Jest, Prettier, ESLint, and Standard. - [generator-nm](https://github.com/sindresorhus/generator-nm) - Scaffold out a node module. - [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. - [Module Requests & Ideas](https://github.com/sindresorhus/module-requests) - Request a JavaScript module you wish existed or get ideas for modules. From 7c739dc73ea0d4f6140e80261c269723f22cfccd Mon Sep 17 00:00:00 2001 From: Peter Halasz Date: Tue, 8 Oct 2019 08:49:56 +0200 Subject: [PATCH 345/399] Add npkill (#978) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e6961fc72..d8d727bc8 100644 --- a/readme.md +++ b/readme.md @@ -183,6 +183,7 @@ - [cash-cli](https://github.com/xxczaki/cash-cli) - Convert between 170 currencies. - [taskbook](https://github.com/klauscfhq/taskbook) - Tasks, boards & notes for the command-line habitat. - [discharge](https://github.com/brandonweiss/discharge) - Easily deploy static websites to Amazon S3. +- [npkill](https://github.com/voidcosmos/npkill) - Easily find and remove old and heavy node_modules folders. ### Functional programming From 1282beba6abd55f98b696ab33346ae30425069bf Mon Sep 17 00:00:00 2001 From: hatai Date: Fri, 1 Nov 2019 14:01:49 +0900 Subject: [PATCH 346/399] Remove MERN (#990) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index d8d727bc8..ee2f308ab 100644 --- a/readme.md +++ b/readme.md @@ -338,7 +338,6 @@ - [Restify](https://github.com/restify/node-restify) - Enables you to build correct REST web services. - [ThinkJS](https://github.com/thinkjs/thinkjs) - Framework with ES2015+ support, WebSockets, REST API. - [ActionHero](https://github.com/actionhero/actionhero) - Framework for making reusable & scalable APIs for TCP sockets, WebSockets, and HTTP clients. -- [MERN](https://github.com/Hashnode/mern-cli) - Easily build production-ready universal apps with MongoDB, Express, React, and webpack. - [Next.js](https://github.com/zeit/next.js) - Minimalistic framework for server-rendered universal JavaScript web apps. - [Nuxt.js](https://github.com/nuxt/nuxt.js) - Minimalistic framework for server-rendered Vue.js apps. - [seneca](https://github.com/senecajs/seneca) - Toolkit for writing microservices. From 283561a5448ad0d6b6435ff2671d167980b90da8 Mon Sep 17 00:00:00 2001 From: smanu85 Date: Fri, 1 Nov 2019 06:02:09 +0100 Subject: [PATCH 347/399] Remove dead link (#989) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index ee2f308ab..89f18d280 100644 --- a/readme.md +++ b/readme.md @@ -880,7 +880,6 @@ - [Professional Node.js: Building Javascript Based Scalable Software](http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/) - [Practical Node.js: Building Real-World Scalable Web Apps](http://practicalnodebook.com) - [Mixu's Node book](http://book.mixu.net/node/) -- [Web Development with Node and Express](http://shop.oreilly.com/product/0636920032977.do) - [Pro Express.js](http://proexpressjs.com) - [Secure Your Node.js Web Application](http://www.amazon.com/Secure-Your-Node-js-Web-Application/dp/1680500856) - [Express in Action](https://www.manning.com/books/express-in-action) From a772f5829f11c6b1b29f8150bc3c8a674a8f5cdc Mon Sep 17 00:00:00 2001 From: Jon Date: Fri, 1 Nov 2019 05:04:29 +0000 Subject: [PATCH 348/399] Add link to "10 Things I Regret About Node.js" (#986) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 89f18d280..137f41716 100644 --- a/readme.md +++ b/readme.md @@ -870,6 +870,7 @@ - [Hands on with Node.js](https://learn.bevry.me/hands-on-with-node.js/preface) - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. - [V8 Garbage Collector](https://v8.dev/blog/trash-talk) - Trash talk about the V8 garbage collector. +- [10 Things I Regret About Node.js by Ryan Dahl](https://www.youtube.com/watch?v=M3BM9TB-8yA) - Insightful talk by the creator of Node.js about some of its limitions. ### Books From 832c5d5d68858130231f268cc9cf9adf6be34e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20Ad=C3=A1mek?= Date: Fri, 1 Nov 2019 06:05:27 +0100 Subject: [PATCH 349/399] Add MikroORM (#968) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 137f41716..a2db0f863 100644 --- a/readme.md +++ b/readme.md @@ -599,6 +599,7 @@ - [slonik](https://github.com/gajus/slonik) - PostgreSQL client with strict types, detailed logging and assertions. - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. + - [MikroORM](https://github.com/mikro-orm/mikro-orm) - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite. - Query builder - [Knex](https://github.com/tgriesser/knex) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other From 56b0ef362d9ce06fd08770c3f5e42ad092605153 Mon Sep 17 00:00:00 2001 From: Daksh Shah Date: Sun, 17 Nov 2019 12:33:03 +0530 Subject: [PATCH 350/399] Remove CloudRail (#992) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index a2db0f863..117ff4545 100644 --- a/readme.md +++ b/readme.md @@ -667,7 +667,6 @@ - [Passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication. - [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. -- [CloudRail](https://github.com/CloudRail/cloudrail-si-node-sdk) - Unified API for social authentication (Facebook, Twitter, Slack, Instagram, …). ### Authorization From 160ecc18fbcf8fda4c2d63b9d4df8603b96b663e Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 23 Nov 2019 01:10:03 +0700 Subject: [PATCH 351/399] =?UTF-8?q?Botpress=20is=20a=20sponsor=20=E2=9D=A4?= =?UTF-8?q?=EF=B8=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- readme.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/readme.md b/readme.md index 117ff4545..2e217f972 100644 --- a/readme.md +++ b/readme.md @@ -7,17 +7,27 @@ Special thanks to:

+
+ Botpress + +
+

+ + and + +

- Segment + Segment -

-

+
Save time setting up analytics with Segment. We're hiring!



+
+
Awesome From e1ed73095e07758f8b8a6f420d3d90ee984978cb Mon Sep 17 00:00:00 2001 From: ehmicky Date: Thu, 12 Dec 2019 21:18:05 +0100 Subject: [PATCH 352/399] Add nve (#999) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2e217f972..484517671 100644 --- a/readme.md +++ b/readme.md @@ -646,6 +646,7 @@ - [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. - [CodeceptJS](https://github.com/Codeception/CodeceptJS) - End-to-end testing. - [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome. +- [nve](https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally. ### Security From 2882da0805ed92d80bb9d53a73b3247236581657 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Mon, 16 Dec 2019 22:13:54 +0100 Subject: [PATCH 353/399] Add mention of GitHub Sponsors --- readme.md | 65 +++++++------------------------------------------------ 1 file changed, 8 insertions(+), 57 deletions(-) diff --git a/readme.md b/readme.md index 484517671..68effec76 100644 --- a/readme.md +++ b/readme.md @@ -3,6 +3,7 @@ Awesome Node.js
+

Special thanks to:
@@ -11,11 +12,12 @@ Botpress
-

- - and - -

+ Botpress is an open-source conversational assistant creation platform. +
+ They welcome contributions from anyone, whether you're into machine learning,
want to get started in open-source, or just have an improvement idea.
+
+
+
Segment @@ -24,6 +26,7 @@ Save time setting up analytics with Segment. We're hiring!

+



@@ -37,7 +40,6 @@
- ## Contents - [Packages](#packages) @@ -103,7 +105,6 @@ - [Community](#community) - [Miscellaneous](#miscellaneous) - ## Packages ### Mad science @@ -131,7 +132,6 @@ - [xlsx](https://github.com/sheetjs/js-xlsx) - Pure JS Excel spreadsheet reader and writer. - [isomorphic-git](https://github.com/isomorphic-git/isomorphic-git) - Pure JavaScript implementation of Git. - ### Command-line apps - [np](https://github.com/sindresorhus/np) - Better `npm publish`. @@ -195,7 +195,6 @@ - [discharge](https://github.com/brandonweiss/discharge) - Easily deploy static websites to Amazon S3. - [npkill](https://github.com/voidcosmos/npkill) - Easily find and remove old and heavy node_modules folders. - ### Functional programming - [lodash](https://github.com/lodash/lodash) - Utility library delivering consistency, customization, performance, & extras. A better and faster Underscore.js. @@ -208,7 +207,6 @@ - [Lazy.js](https://github.com/dtao/lazy.js) - Utility library similar to lodash/Underscore but with lazy evaluation, which can translate to superior performance in many cases. - [Kefir.js](https://github.com/kefirjs/kefir) - Reactive library with focus on high performance and low memory usage. - ### HTTP - [got](https://github.com/sindresorhus/got) - Nicer interface to the built-in `http` module. @@ -226,7 +224,6 @@ - [gotql](https://github.com/khaosdoctor/gotql) - GraphQL request library built on [got](https://github.com/sindresorhus/got). - [global-agent](https://github.com/gajus/global-agent) – Global HTTP/HTTPS proxy agent that is configurable using environment variables. - ### Debugging / Profiling - [ndb](https://github.com/GoogleChromeLabs/ndb) - Improved debugging experience, enabled by Chrome DevTools. @@ -245,7 +242,6 @@ - [thetool](https://github.com/sfninja/thetool) - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. - [swagger-stats](https://github.com/slanatech/swagger-stats) - Trace API calls and monitor API performance, health, and usage metrics. - ### Logging - [pino](https://github.com/pinojs/pino) - Extremely fast logger inspired by Bunyan. @@ -254,7 +250,6 @@ - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. - [signale](https://github.com/klauscfhq/signale) - Hackable console logger with beautiful output. - ### Command-line utilities - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right. @@ -301,7 +296,6 @@ - [term-size](https://github.com/sindresorhus/term-size) - Reliably get the terminal window size. - [Cliffy](https://github.com/drew-y/cliffy) - Framework for interactive CLIs. - ### Build tools - [parcel](https://github.com/parcel-bundler/parcel) - Blazing fast, zero config web app bundler. @@ -315,7 +309,6 @@ - [FuseBox](https://github.com/fuse-box/fuse-box) - Fast build system that combines the power of webpack, JSPM and SystemJS, with first-class TypeScript support. - [pkg](https://github.com/zeit/pkg) - Package your Node.js project into an executable. - ### Hardware - [johnny-five](https://github.com/rwaldron/johnny-five) - Firmata based Arduino Framework. @@ -327,7 +320,6 @@ - [pigpio](https://github.com/fivdi/pigpio) - Fast GPIO, PWM, servo control, state change notification, and interrupt handling on the Raspberry Pi. - [gps](https://github.com/infusion/GPS.js) - NMEA parser for handling GPS receivers. - ### Templating - [marko](https://github.com/marko-js/marko) - HTML-based templating engine that compiles templates to CommonJS modules and supports streaming, async rendering and custom tags. @@ -336,7 +328,6 @@ - [EJS](https://github.com/mde/ejs) - Simple unopinionated templating language. - [Pug](https://github.com/pugjs/pug) - High-performance template engine heavily influenced by Haml. - ### Web frameworks - [Hapi](https://github.com/hapijs/hapi) - Framework for building applications and services. @@ -360,7 +351,6 @@ - [Zeronode](https://github.com/sfast/zeronode) - Minimal building block for reliable and fault-tolerant microservices. - [TypeGraphQL](https://github.com/19majkel94/type-graphql) - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators. - ### Documentation - [documentation.js](https://github.com/documentationjs/documentation) - API documentation generator with support for ES2015+ and flow annotation. @@ -368,7 +358,6 @@ - [Docco](https://github.com/jashkenas/docco) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. - [JSDoc](https://github.com/jsdoc3/jsdoc) - API documentation generator similar to JavaDoc or PHPDoc. - ### Filesystem - [del](https://github.com/sindresorhus/del) - Delete files/folders using globs. @@ -393,7 +382,6 @@ - [move-file](https://github.com/sindresorhus/move-file) - Move a file, even works across devices. - [tempy](https://github.com/sindresorhus/tempy) - Get a random temporary file or directory path. - ### Control flow - Promises @@ -417,7 +405,6 @@ - Channels - [js-csp](https://github.com/ubolonton/js-csp) - Communicating sequential processes for JavaScript (like Clojurescript core.async, or Go). - ### Streams - [through2](https://github.com/rvagg/through2) - Tiny wrapper around streams2 Transform to avoid explicit subclassing noise. @@ -436,7 +423,6 @@ - [readable-stream](https://github.com/nodejs/readable-stream) - Mirror of Streams2 and Streams3 implementations in core. - [through2-concurrent](https://github.com/almost/through2-concurrent) - Transform object streams concurrently. - ### Real-time - [µWebSockets](https://github.com/uWebSockets/uWebSockets) - Highly scalable WebSocket server & client library. @@ -450,7 +436,6 @@ - [rpc-websockets](https://github.com/elpheria/rpc-websockets) - JSON-RPC 2.0 implementation over WebSockets. - [Aedes](https://github.com/mcollina/aedes) - Barebone MQTT server that can run on any stream server. - ### Image - [sharp](https://github.com/lovell/sharp) - The fastest module for resizing JPEG, PNG, WebP and TIFF images. @@ -462,7 +447,6 @@ - [probe-image-size](https://github.com/nodeca/probe-image-size) - Get the size of most image formats without a full download. - [qrcode](https://github.com/soldair/node-qrcode) - QR code and bar code generator. - ### Text - [iconv-lite](https://github.com/ashtuchkin/iconv-lite) - Convert character encodings. @@ -482,7 +466,6 @@ - [i18next](https://github.com/i18next/i18next) - Internationalization framework. - [nanoid](https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator. - ### Number - [random-int](https://github.com/sindresorhus/random-int) - Generate a random integer. @@ -490,7 +473,6 @@ - [unique-random](https://github.com/sindresorhus/unique-random) - Generate random numbers that are consecutively unique. - [round-to](https://github.com/sindresorhus/round-to) - Round a number to a specific number of decimal places: `1.234` → `1.2`. - ### Math - [ndarray](https://github.com/scijs/ndarray) - Multidimensional arrays. @@ -499,7 +481,6 @@ - [algebra](https://github.com/fibo/algebra) - Algebraic structures. - [multimath](https://github.com/nodeca/multimath) - Core to create fast image math in WebAssembly and JS. - ### Date - [Luxon](https://github.com/moment/luxon) - Library for working with dates and times. @@ -510,7 +491,6 @@ - [tz-format](https://github.com/samverschueren/tz-format) - Format a date with timezone: `2015-11-30T10:40:35+01:00`. - [cctz](https://github.com/floatdrop/node-cctz) - Fast parsing, formatting, and timezone conversation for dates. - ### URL - [normalize-url](https://github.com/sindresorhus/normalize-url) - Normalize a URL. @@ -521,7 +501,6 @@ - [url-pattern](https://github.com/snd/url-pattern) - Easier than regex string matching patterns for URLs and other strings. - [embedza](https://github.com/nodeca/embedza) - Create HTML snippets/embeds from URLs using info from oEmbed, Open Graph, meta tags. - ### Data validation - [joi](https://github.com/hapijs/joi) - Object schema description language and validator for JavaScript objects. @@ -530,7 +509,6 @@ - [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation. - [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5, v6 and v7 proposals. - ### Parsing - [remark](https://github.com/wooorm/remark) - Markdown processor powered by plugins. @@ -558,7 +536,6 @@ - [Chevrotain](https://github.com/SAP/chevrotain) - Very fast and feature rich parser building toolkit for JavaScript. - [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) - Validate and parse XML. - ### Humanize - [pretty-bytes](https://github.com/sindresorhus/pretty-bytes) - Convert bytes to a human readable string: `1337` → `1.34 kB`. @@ -567,7 +544,6 @@ - [pretty-error](https://github.com/AriaMinaei/pretty-error) - Errors with less clutter. - [read-art](https://github.com/Tjatse/node-readability) - Extract readable content from any page. - ### Compression - [yazl](https://github.com/thejoshwolfe/yazl) - Zip. @@ -577,7 +553,6 @@ - [tar-stream](https://github.com/mafintosh/tar-stream) - Streaming tar parser and generator. Also see [tar-fs](https://github.com/mafintosh/tar-fs). - [decompress](https://github.com/kevva/decompress) - Decompression module with support for `tar`, `tar.gz` and `zip` files out of the box. - ### Network - [get-port](https://github.com/sindresorhus/get-port) - Get an available port. @@ -586,7 +561,6 @@ - [DHCP](https://github.com/infusion/node-dhcp) - DHCP client and server. - [netcat](https://github.com/roccomuso/netcat) - Netcat port in pure JS. - ### Database - Drivers @@ -620,7 +594,6 @@ - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. - [Mongo Seeding](https://github.com/pkosiec/mongo-seeding) - Populate MongoDB databases with JavaScript and JSON files. - ### Testing - [AVA](https://github.com/avajs/ava) - Futuristic test runner. @@ -648,7 +621,6 @@ - [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome. - [nve](https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally. - ### Security - [upash](https://github.com/simonepri/upash) - Unified API for all password hashing algorithms. @@ -658,13 +630,11 @@ - [crypto-hash](https://github.com/sindresorhus/crypto-hash) - Async non-blocking hashing. - [jose-simple](https://github.com/davesag/jose-simple) — Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard. - ### Benchmarking - [Benchmark.js](https://github.com/bestiejs/benchmark.js) - Benchmarking library that supports high-resolution timers and returns statistically significant results. - [matcha](https://github.com/logicalparadox/matcha) - Simplistic approach to benchmarking. - ### Minifiers - [babili](https://github.com/babel/babili) - ES2015+ aware minifier based on the Babel toolchain. @@ -673,19 +643,16 @@ - [minimize](https://github.com/Swaagie/minimize) - HTML minifier. - [imagemin](https://github.com/imagemin/imagemin) - Image minifier. - ### Authentication - [Passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication. - [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. - ### Authorization - [CASL](https://github.com/stalniy/casl) - Isomorphic authorization for UI and API. - [node-casbin](https://github.com/casbin/node-casbin) - Authorization library that supports access control models like ACL, RBAC and ABAC. - ### Email - [Nodemailer](https://github.com/andris9/Nodemailer) - The fastest way to handle email. @@ -693,7 +660,6 @@ - [email-templates](https://github.com/niftylettuce/email-templates) - Create, preview, and send custom email templates. - [MJML](https://github.com/mjmlio/mjml) - Markup language designed to reduce the pain of creating responsive emails. - ### Job queues - [bull](https://github.com/OptimalBits/bull) - Persistent job and message queue. @@ -706,7 +672,6 @@ - [sqs-consumer](https://github.com/bbc/sqs-consumer) - Build Amazon Simple Queue Service (SQS) based apps without the boilerplate. - [better-queue](https://github.com/diamondio/better-queue) - Simple and efficient job queue when you cannot use Redis. - ### Node.js management - [n](https://github.com/tj/n) - Node.js version management. @@ -715,7 +680,6 @@ - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. - [nodenv](https://github.com/nodenv/nodenv) - Version manager that is similar to Ruby's rbenv. It supports auto version switching. - ### Natural language processing - [retext](https://github.com/wooorm/retext) - An extensible natural language system. @@ -724,7 +688,6 @@ - [natural](https://github.com/NaturalNode/natural) - Natural language facility. - [nlp.js](https://github.com/axa-group/nlp.js) - Building bots, with entity extraction, sentiment analysis, automatic language identify, and more. - ### Process management - [PM2](https://github.com/Unitech/pm2) - Advanced Process Manager. @@ -735,19 +698,16 @@ - [supervisor](https://github.com/petruisfan/node-supervisor) - Restart scripts when they crash or restart when a `*.js` file changes. - [Phusion Passenger](https://github.com/phusion/passenger) - Friendly process manager that integrates directly into Nginx. - ### Automation - [robotjs](https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen. - ### AST - [Acorn](https://github.com/ternjs/acorn) - Tiny, fast JavaScript parser. - [babel-parser](https://github.com/babel/babel/tree/master/packages/babel-parser) - JavaScript parser used in Babel. - [cherow](https://github.com/cherow/cherow) - JavaScript parser with focus on performance and stability. - ### Static site generators - [Wintersmith](https://github.com/jnordberg/wintersmith) - Flexible, minimalistic, multi-platform static site generator. @@ -757,7 +717,6 @@ - [docsify](https://github.com/QingWei-Li/docsify) - Markdown documentation site generator with no statically built HTML files. - [Charge](https://github.com/brandonweiss/charge) - Opinionated, zero-config static site generator using JSX and MDX. - ### Content management systems - [KeystoneJS](https://github.com/keystonejs/keystone) - CMS and web application platform built on Express and MongoDB. @@ -765,18 +724,15 @@ - [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. - [Tipe](https://github.com/tipeio/tipe) - Developer-first content management system with GraphQL and REST API from a schema file. - ### Forum - [nodeBB](https://github.com/NodeBB/NodeBB) - Forum platform for the modern web. - ### Blogging - [Ghost](https://github.com/TryGhost/Ghost) - Simple, powerful publishing platform. - [Hexo](https://github.com/hexojs/hexo) - Fast, simple and powerful blogging framework. - ### Weird - [cows](https://github.com/sindresorhus/cows) - ASCII cows. @@ -789,14 +745,12 @@ - [cat-ascii-faces](https://github.com/melaniecebula/cat-ascii-faces) - `₍˄·͈༝·͈˄₎◞ ̑̑ෆ⃛ (=ↀωↀ=)✧ (^・o・^)ノ”`. - [nerds](https://github.com/SkyHacks/nerds) - Get data from nerdy topics like Harry Potter, Star Wars, and Pokémon. - ### Serialization - [snappy](https://github.com/kesla/node-snappy) - Native bindings for Google's Snappy compression library. - [protobuf](https://github.com/dcodeIO/protobuf.js) - Implementation of Protocol Buffers. - [compactr](https://github.com/compactr/compactr.js) - Implementation of the Compactr protocol. - ### Miscellaneous - [execa](https://github.com/sindresorhus/execa) - Better `child_process`. @@ -836,7 +790,6 @@ - [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. - [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. - ## Resources ### Tutorials @@ -944,13 +897,11 @@ - [Microsoft Node.js Guidelines](https://github.com/Microsoft/nodejs-guidelines) - Tips, tricks, and resources for working with Node.js on Microsoft platforms. - [Module Requests & Ideas](https://github.com/sindresorhus/module-requests) - Request a JavaScript module you wish existed or get ideas for modules. - ## Related lists - [awesome-npm](https://github.com/sindresorhus/awesome-npm) - Resources and tips for using npm. - [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. - ## License [![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) From 9ed5b04bfcb0e66da3d7dcfdd5a6e936e367e06d Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Tue, 31 Dec 2019 18:07:49 +0100 Subject: [PATCH 354/399] Adhere to guidelines --- license | 121 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 15 +++---- 2 files changed, 126 insertions(+), 10 deletions(-) create mode 100644 license diff --git a/license b/license new file mode 100644 index 000000000..0e259d42c --- /dev/null +++ b/license @@ -0,0 +1,121 @@ +Creative Commons Legal Code + +CC0 1.0 Universal + + CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE + LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN + ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS + INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES + REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS + PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM + THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED + HEREUNDER. + +Statement of Purpose + +The laws of most jurisdictions throughout the world automatically confer +exclusive Copyright and Related Rights (defined below) upon the creator +and subsequent owner(s) (each and all, an "owner") of an original work of +authorship and/or a database (each, a "Work"). + +Certain owners wish to permanently relinquish those rights to a Work for +the purpose of contributing to a commons of creative, cultural and +scientific works ("Commons") that the public can reliably and without fear +of later claims of infringement build upon, modify, incorporate in other +works, reuse and redistribute as freely as possible in any form whatsoever +and for any purposes, including without limitation commercial purposes. +These owners may contribute to the Commons to promote the ideal of a free +culture and the further production of creative, cultural and scientific +works, or to gain reputation or greater distribution for their Work in +part through the use and efforts of others. + +For these and/or other purposes and motivations, and without any +expectation of additional consideration or compensation, the person +associating CC0 with a Work (the "Affirmer"), to the extent that he or she +is an owner of Copyright and Related Rights in the Work, voluntarily +elects to apply CC0 to the Work and publicly distribute the Work under its +terms, with knowledge of his or her Copyright and Related Rights in the +Work and the meaning and intended legal effect of CC0 on those rights. + +1. Copyright and Related Rights. A Work made available under CC0 may be +protected by copyright and related or neighboring rights ("Copyright and +Related Rights"). Copyright and Related Rights include, but are not +limited to, the following: + + i. the right to reproduce, adapt, distribute, perform, display, + communicate, and translate a Work; + ii. moral rights retained by the original author(s) and/or performer(s); +iii. publicity and privacy rights pertaining to a person's image or + likeness depicted in a Work; + iv. rights protecting against unfair competition in regards to a Work, + subject to the limitations in paragraph 4(a), below; + v. rights protecting the extraction, dissemination, use and reuse of data + in a Work; + vi. database rights (such as those arising under Directive 96/9/EC of the + European Parliament and of the Council of 11 March 1996 on the legal + protection of databases, and under any national implementation + thereof, including any amended or successor version of such + directive); and +vii. other similar, equivalent or corresponding rights throughout the + world based on applicable law or treaty, and any national + implementations thereof. + +2. Waiver. To the greatest extent permitted by, but not in contravention +of, applicable law, Affirmer hereby overtly, fully, permanently, +irrevocably and unconditionally waives, abandons, and surrenders all of +Affirmer's Copyright and Related Rights and associated claims and causes +of action, whether now known or unknown (including existing as well as +future claims and causes of action), in the Work (i) in all territories +worldwide, (ii) for the maximum duration provided by applicable law or +treaty (including future time extensions), (iii) in any current or future +medium and for any number of copies, and (iv) for any purpose whatsoever, +including without limitation commercial, advertising or promotional +purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each +member of the public at large and to the detriment of Affirmer's heirs and +successors, fully intending that such Waiver shall not be subject to +revocation, rescission, cancellation, termination, or any other legal or +equitable action to disrupt the quiet enjoyment of the Work by the public +as contemplated by Affirmer's express Statement of Purpose. + +3. Public License Fallback. Should any part of the Waiver for any reason +be judged legally invalid or ineffective under applicable law, then the +Waiver shall be preserved to the maximum extent permitted taking into +account Affirmer's express Statement of Purpose. In addition, to the +extent the Waiver is so judged Affirmer hereby grants to each affected +person a royalty-free, non transferable, non sublicensable, non exclusive, +irrevocable and unconditional license to exercise Affirmer's Copyright and +Related Rights in the Work (i) in all territories worldwide, (ii) for the +maximum duration provided by applicable law or treaty (including future +time extensions), (iii) in any current or future medium and for any number +of copies, and (iv) for any purpose whatsoever, including without +limitation commercial, advertising or promotional purposes (the +"License"). The License shall be deemed effective as of the date CC0 was +applied by Affirmer to the Work. Should any part of the License for any +reason be judged legally invalid or ineffective under applicable law, such +partial invalidity or ineffectiveness shall not invalidate the remainder +of the License, and in such case Affirmer hereby affirms that he or she +will not (i) exercise any of his or her remaining Copyright and Related +Rights in the Work or (ii) assert any associated claims and causes of +action with respect to the Work, in either case contrary to Affirmer's +express Statement of Purpose. + +4. Limitations and Disclaimers. + + a. No trademark or patent rights held by Affirmer are waived, abandoned, + surrendered, licensed or otherwise affected by this document. + b. Affirmer offers the Work as-is and makes no representations or + warranties of any kind concerning the Work, express, implied, + statutory or otherwise, including without limitation warranties of + title, merchantability, fitness for a particular purpose, non + infringement, or the absence of latent or other defects, accuracy, or + the present or absence of errors, whether or not discoverable, all to + the greatest extent permissible under applicable law. + c. Affirmer disclaims responsibility for clearing rights of other persons + that may apply to the Work or any use thereof, including without + limitation any person's Copyright and Related Rights in the Work. + Further, Affirmer disclaims responsibility for obtaining any necessary + consents, permissions or other rights required for any use of the + Work. + d. Affirmer understands and acknowledges that Creative Commons is not a + party to this document and has no duty or obligation with respect to + this CC0 or use of the Work. diff --git a/readme.md b/readme.md index 68effec76..1953c49c1 100644 --- a/readme.md +++ b/readme.md @@ -104,6 +104,7 @@ - [Tools](#tools) - [Community](#community) - [Miscellaneous](#miscellaneous) +- [Related lists](#related-lists) ## Packages @@ -222,7 +223,7 @@ - [http-fake-backend](https://github.com/micromata/http-fake-backend) - Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes. - [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support. - [gotql](https://github.com/khaosdoctor/gotql) - GraphQL request library built on [got](https://github.com/sindresorhus/got). -- [global-agent](https://github.com/gajus/global-agent) – Global HTTP/HTTPS proxy agent that is configurable using environment variables. +- [global-agent](https://github.com/gajus/global-agent) - Global HTTP/HTTPS proxy agent that is configurable using environment variables. ### Debugging / Profiling @@ -628,7 +629,7 @@ - [GuardRails](https://github.com/apps/guardrails) - GitHub app that provides security feedback in pull requests. - [rate-limiter-flexible](https://github.com/animir/node-rate-limiter-flexible) - Brute-force and DDoS attack protection. - [crypto-hash](https://github.com/sindresorhus/crypto-hash) - Async non-blocking hashing. -- [jose-simple](https://github.com/davesag/jose-simple) — Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard. +- [jose-simple](https://github.com/davesag/jose-simple) - Encryption and decryption of data using the JOSE (JSON Object Signing and Encryption) standard. ### Benchmarking @@ -788,7 +789,7 @@ - [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. - [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter. - [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. -- [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. +- [basic-ftp](https://github.com/patrickjuchli/basic-ftp) - FTP/FTPS client. ## Resources @@ -842,7 +843,7 @@ - [Node.js in Practice](http://www.amazon.com/Node-js-Practice-Alex-R-Young/dp/1617290939) - [Mastering Node](http://visionmedia.github.io/masteringnode/) - [Node.js 8 the Right Way](https://pragprog.com/book/jwnode2/node-js-8-the-right-way) -- [Professional Node.js: Building Javascript Based Scalable Software](http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/) +- [Professional Node.js: Building JavaScript Based Scalable Software](http://www.amazon.com/Professional-Node-js-Building-Javascript-Scalable-ebook/dp/B009L7QETY/) - [Practical Node.js: Building Real-World Scalable Web Apps](http://practicalnodebook.com) - [Mixu's Node book](http://book.mixu.net/node/) - [Pro Express.js](http://proexpressjs.com) @@ -901,9 +902,3 @@ - [awesome-npm](https://github.com/sindresorhus/awesome-npm) - Resources and tips for using npm. - [awesome-cross-platform-nodejs](https://github.com/bcoe/awesome-cross-platform-nodejs) - Resources for writing and testing cross-platform code. - -## License - -[![CC0](http://mirrors.creativecommons.org/presskit/buttons/88x31/svg/cc-zero.svg)](https://creativecommons.org/publicdomain/zero/1.0/) - -To the extent possible under law, [Sindre Sorhus](https://sindresorhus.com) has waived all copyright and related or neighboring rights to this work. From a39aa5003498cfc893c6d026f378523a5c4b19fd Mon Sep 17 00:00:00 2001 From: Forbes Lindesay Date: Sat, 22 Feb 2020 05:53:36 +0000 Subject: [PATCH 355/399] Add @databases (#1017) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1953c49c1..d56a0a4ee 100644 --- a/readme.md +++ b/readme.md @@ -594,6 +594,7 @@ - [Finale](https://github.com/tommybananas/finale) - RESTful endpoint generator for your Sequelize models. - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. - [Mongo Seeding](https://github.com/pkosiec/mongo-seeding) - Populate MongoDB databases with JavaScript and JSON files. + - [@databases](https://github.com/ForbesLindesay/atdatabases) - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection. ### Testing From c975c07f6c738e4342f35bc51808ff11a976cea0 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 22 Feb 2020 22:31:11 +0700 Subject: [PATCH 356/399] Update contribution guidelines I'm tired of having to spend time reviewing throwaway projects that I later have to remove because they become unmaintained. --- contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index afe1bb32c..923227314 100644 --- a/contributing.md +++ b/contributing.md @@ -6,7 +6,7 @@ Please note that this project is released with a [Contributor Code of Conduct](c Ensure your pull request adheres to the following guidelines: -- **If you just created something, wait at least 30 days before submitting.** This is to give it some time to mature and ensure it's not just a publish-and-forget type of project. +- **The submitted project should be more than 30 days old and the repo should have at least 30 stars.** - Keep in mind that the list is very mature by now, so the bar of getting something accepted is high. Only submit something unique and generally useful. The world (and this list) doesn't need yet another ORM or framework. For CLI tools, the bar is especially high, and unless it's something very awesome, I would suggest submitting to [awesome-cli-apps](https://github.com/aharris88/awesome-cli-apps) instead. - If you submit a project that is similar to an existing project in the list, argue how it's better. - Search previous suggestions before making a new one, as yours may be a duplicate. From dd2cc3f98760fc6cbf58ab77a1657eb8d49653b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Chopin?= Date: Sat, 22 Feb 2020 17:27:41 +0100 Subject: [PATCH 357/399] Add consola (#1008) --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d56a0a4ee..a25b82bde 100644 --- a/readme.md +++ b/readme.md @@ -249,7 +249,8 @@ - [winston](https://github.com/winstonjs/winston) - Multi-transport async logging library. - [console-log-level](https://github.com/watson/console-log-level) - The most simple logger imaginable with support for log levels and custom prefixes. - [storyboard](https://github.com/guigrpa/storyboard) - End-to-end, hierarchical, real-time, colorful logs and stories. -- [signale](https://github.com/klauscfhq/signale) - Hackable console logger with beautiful output. +- [signale](https://github.com/klauscfhq/signale) - Console logger. +- [consola](https://github.com/nuxt/consola) - Console logger. ### Command-line utilities From f3cb45c7f126e58b84f89c94012a2bfd142a2af2 Mon Sep 17 00:00:00 2001 From: Antoni Kepinski Date: Sat, 22 Feb 2020 17:33:55 +0100 Subject: [PATCH 358/399] Add cashify (#985) Co-authored-by: Sindre Sorhus --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index a25b82bde..4706d6876 100644 --- a/readme.md +++ b/readme.md @@ -791,7 +791,8 @@ - [env-dot-prop](https://github.com/simonepri/env-dot-prop) - Get, set, or delete nested properties of process.env using a dot path. - [emittery](https://github.com/sindresorhus/emittery) - Simple and modern async event emitter. - [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. -- [basic-ftp](https://github.com/patrickjuchli/basic-ftp) - FTP/FTPS client. +- [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. +- [cashify](https://github.com/xxczaki/cashify) - Currency conversion. ## Resources From 7c11d9f05fc1f69a604a1e9889e7768476f75e9a Mon Sep 17 00:00:00 2001 From: Arnaud Botella Date: Sat, 22 Feb 2020 17:38:00 +0100 Subject: [PATCH 359/399] Add genepi (#975) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4706d6876..b73bad8cf 100644 --- a/readme.md +++ b/readme.md @@ -793,6 +793,7 @@ - [node-video-lib](https://github.com/gkozlenko/node-video-lib) - Pure JavaScript library for working with MP4 and FLV video files and creating MPEG-TS chunks for HLS streaming. - [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. - [cashify](https://github.com/xxczaki/cashify) - Currency conversion. +- [genepi](https://github.com/Geode-solutions/genepi) - Automatically generate a native Node.js addon from C++ code. ## Resources From a290754d800bb4af3fa2ebd1dade8ae154b1c1d7 Mon Sep 17 00:00:00 2001 From: garethx Date: Sat, 22 Feb 2020 16:52:10 +0000 Subject: [PATCH 360/399] Add CodeSandbox (#1015) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b73bad8cf..df5a0ddf8 100644 --- a/readme.md +++ b/readme.md @@ -882,6 +882,7 @@ - [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. - [github-npm-stats](https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef) - Chrome extension that displays npm download stats on GitHub. - [npm semver calculator](https://semver.npmjs.com) - Visually explore what versions of a package a semver range matches. +- [CodeSandbox](https://codesandbox.io/s/node-http-server-node) - Online IDE and prototyping. ### Community From 0b6afc40a4eff09547ed0a994ffa63d0acb3ea2a Mon Sep 17 00:00:00 2001 From: Albert Buenaventura Date: Sun, 23 Feb 2020 01:00:07 +0800 Subject: [PATCH 361/399] Add Playwright (#1010) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index df5a0ddf8..b46c4a10a 100644 --- a/readme.md +++ b/readme.md @@ -622,6 +622,7 @@ - [abstruse](https://github.com/bleenco/abstruse) - Continuous Integration server. - [CodeceptJS](https://github.com/Codeception/CodeceptJS) - End-to-end testing. - [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome. +- [Playwright](https://github.com/microsoft/playwright) - Headless Chromium, WebKit, and Firefox with a single API. - [nve](https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally. ### Security From 9523511f0b2fdd02b794acc06cabe4a9bbfb01e7 Mon Sep 17 00:00:00 2001 From: Will <11353590+june07@users.noreply.github.com> Date: Sat, 22 Feb 2020 11:42:25 -0800 Subject: [PATCH 362/399] Add NiM (#1005) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b46c4a10a..67d1c9ea0 100644 --- a/readme.md +++ b/readme.md @@ -242,6 +242,7 @@ - [llnode](https://github.com/nodejs/llnode) - Post-mortem analysis tool which allows you to inspect objects and get insights from a crashed Node.js process. - [thetool](https://github.com/sfninja/thetool) - Capture different CPU, memory, and other profiles for your app in Chrome DevTools friendly format. - [swagger-stats](https://github.com/slanatech/swagger-stats) - Trace API calls and monitor API performance, health, and usage metrics. +- [NiM](https://github.com/june07/nim) - Manages DevTools debugging workflow. ### Logging From f318b3d9db9f8adac147b635063712aa5c075091 Mon Sep 17 00:00:00 2001 From: David Ralph Date: Sun, 1 Mar 2020 16:04:54 +0000 Subject: [PATCH 363/399] Remove request (#1025) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 67d1c9ea0..c8c9edd49 100644 --- a/readme.md +++ b/readme.md @@ -213,7 +213,6 @@ - [got](https://github.com/sindresorhus/got) - Nicer interface to the built-in `http` module. - [gh-got](https://github.com/sindresorhus/gh-got) - Convenience wrapper for `got` to interact with the GitHub API. - [axios](https://github.com/mzabriskie/axios) - Promise based HTTP client (works in the browser too). -- [request](https://github.com/request/request) - Simplified HTTP request client. - [wreck](https://github.com/hapijs/wreck) - HTTP Client Utilities. - [download](https://github.com/kevva/download) - Download and extract files effortlessly. - [http-proxy](https://github.com/nodejitsu/node-http-proxy) - HTTP proxy. From bb4eab01c7c71fd6b32b2cdf761cbc8c07fc10b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Georg=20Daniel=20Vahtram=C3=A4e?= <48998862+GeorgDV@users.noreply.github.com> Date: Thu, 9 Apr 2020 09:13:22 +0300 Subject: [PATCH 364/399] Add husky (#1031) * Add husky * Update readme.md Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index c8c9edd49..2f36b35b9 100644 --- a/readme.md +++ b/readme.md @@ -795,6 +795,7 @@ - [basic-ftp](https://github.com/patrickjuchli/basic-ftp) – FTP/FTPS client. - [cashify](https://github.com/xxczaki/cashify) - Currency conversion. - [genepi](https://github.com/Geode-solutions/genepi) - Automatically generate a native Node.js addon from C++ code. +- [husky](https://github.com/typicode/husky) - Create Git hook scripts. ## Resources From 81bdbc998bad16f220ddb3245138c95b83b87797 Mon Sep 17 00:00:00 2001 From: Anh Hong Date: Mon, 13 Apr 2020 14:27:14 +0700 Subject: [PATCH 365/399] Add Docusaurus (#1032) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 2f36b35b9..6705bab94 100644 --- a/readme.md +++ b/readme.md @@ -359,6 +359,7 @@ - [ESDoc](https://github.com/esdoc/esdoc) - Documentation generator targeting ES2015, attaching test code and measuring documentation coverage. - [Docco](https://github.com/jashkenas/docco) - Documentation generator which produces an HTML document that displays your comments intermingled with your code. - [JSDoc](https://github.com/jsdoc3/jsdoc) - API documentation generator similar to JavaDoc or PHPDoc. +- [Docusaurus](https://github.com/facebook/docusaurus) - Documentation website generator that leverages React and Markdown, and comes with translation and versioning features. ### Filesystem From e0bb7e71cae52ee9c0e2717bc275a27c1589728f Mon Sep 17 00:00:00 2001 From: Cuz <1101451857@qq.com> Date: Tue, 14 Apr 2020 20:02:05 +0800 Subject: [PATCH 366/399] Add patch-package (#1033) Co-authored-by: Sindre Sorhus --- readme.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 6705bab94..4a85ad41d 100644 --- a/readme.md +++ b/readme.md @@ -103,7 +103,7 @@ - [Cheatsheets](#cheatsheets) - [Tools](#tools) - [Community](#community) - - [Miscellaneous](#miscellaneous) + - [Miscellaneous](#miscellaneous-1) - [Related lists](#related-lists) ## Packages @@ -797,6 +797,7 @@ - [cashify](https://github.com/xxczaki/cashify) - Currency conversion. - [genepi](https://github.com/Geode-solutions/genepi) - Automatically generate a native Node.js addon from C++ code. - [husky](https://github.com/typicode/husky) - Create Git hook scripts. +- [patch-package](https://github.com/ds300/patch-package) - Make and preserve fixes to npm dependencies. ## Resources From a78939bb011bc31c10838efeb7da914a93e48883 Mon Sep 17 00:00:00 2001 From: ipcenas <47504178+ipcenas@users.noreply.github.com> Date: Fri, 24 Apr 2020 09:54:00 +0200 Subject: [PATCH 367/399] Add Mastering REST APIs in Node.js: Zero-To-Hero (#1035) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4a85ad41d..d70b4355b 100644 --- a/readme.md +++ b/readme.md @@ -844,6 +844,7 @@ - [Nodetuts](http://nodetuts.com) - Series of talks, including TCP & HTTP API servers, async programming, and more. - [V8 Garbage Collector](https://v8.dev/blog/trash-talk) - Trash talk about the V8 garbage collector. - [10 Things I Regret About Node.js by Ryan Dahl](https://www.youtube.com/watch?v=M3BM9TB-8yA) - Insightful talk by the creator of Node.js about some of its limitions. +- [Mastering REST APIs in Node.js: Zero-To-Hero](https://www.manning.com/livevideo/mastering-rest-apis-in-nodejs) - Video course on how to make REST APIs using Node.js. ### Books From da7c8a5919c60d1948ea3bd63ef6d136564bc26b Mon Sep 17 00:00:00 2001 From: Pedro Augusto de Paula Barbosa Date: Wed, 20 May 2020 08:02:37 -0300 Subject: [PATCH 368/399] Update description for Sequelize (#1037) * Update information about Sequelize in readme * Update readme.md Co-authored-by: Sindre Sorhus --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index d70b4355b..4ed926946 100644 --- a/readme.md +++ b/readme.md @@ -576,7 +576,7 @@ - [Couchbase](https://github.com/couchbase/couchnode) - Couchbase client. - [MongoDB](https://github.com/mongodb/node-mongodb-native) - MongoDB driver. - ODM / ORM - - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL. + - [Sequelize](https://github.com/sequelize/sequelize) - Multi-dialect ORM. Supports PostgreSQL, SQLite, MySQL, and more. - [Bookshelf](https://github.com/bookshelf/bookshelf) - ORM for PostgreSQL, MySQL and SQLite3 in the style of Backbone.js. - [Massive](https://github.com/robconery/massive-js) - PostgreSQL data access tool. - [Mongoose](https://github.com/Automattic/mongoose) - Elegant MongoDB object modeling. From 44675d2f1a8766c0b7e9a1a108acc90051ecd2fe Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 3 Jun 2020 15:29:46 +0800 Subject: [PATCH 369/399] Add social preview to the repo --- media/social-preview.png | Bin 0 -> 30480 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 media/social-preview.png diff --git a/media/social-preview.png b/media/social-preview.png new file mode 100644 index 0000000000000000000000000000000000000000..dd7e320e53bca1512c5e850936ab77dfa2ce57e8 GIT binary patch literal 30480 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 literal 0 HcmV?d00001 From 1f230367d2670f76d46973ac7d020e8f7e1072a1 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 5 Jul 2020 17:26:53 +0800 Subject: [PATCH 370/399] Add list description --- readme.md | 32 +++++--------------------------- 1 file changed, 5 insertions(+), 27 deletions(-) diff --git a/readme.md b/readme.md index 4ed926946..54cb5f17d 100644 --- a/readme.md +++ b/readme.md @@ -3,39 +3,17 @@ Awesome Node.js
-
-

- Special thanks to: -
-
- - Botpress - -
- Botpress is an open-source conversational assistant creation platform. -
- They welcome contributions from anyone, whether you're into machine learning,
want to get started in open-source, or just have an improvement idea.
-
-
-
- - Segment - -
- - Save time setting up analytics with Segment. We're hiring! - -

-
-
-


Awesome

- Just type node.cool to go here. Check out my blog and follow me on Twitter. + Just type node.cool to go here. Follow me on Twitter. +

+
+

+ Node.js is an open-source, cross-platform, JavaScript runtime for writing servers and command-line tools.


From 585cb3d12cab98bb512fc7256a27ad54594924d7 Mon Sep 17 00:00:00 2001 From: mohanpierce99 <32239797+mohanpierce99@users.noreply.github.com> Date: Sun, 5 Jul 2020 23:14:37 +0530 Subject: [PATCH 371/399] Add StegCloak (#1041) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 54cb5f17d..aedaeb539 100644 --- a/readme.md +++ b/readme.md @@ -446,6 +446,7 @@ - [unhomoglyph](https://github.com/nodeca/unhomoglyph) - Normalize visually similar unicode characters. - [i18next](https://github.com/i18next/i18next) - Internationalization framework. - [nanoid](https://github.com/ai/nanoid) - Tiny, secure, URL-friendly, unique string ID generator. +- [StegCloak](https://github.com/kurolabs/stegcloak) - Conceal secrets within strings, in plain sight. ### Number From 927fce50656b4bbf73519a9d63e6ae9216ecafcf Mon Sep 17 00:00:00 2001 From: Wilco Fiers Date: Mon, 6 Jul 2020 15:48:08 +0200 Subject: [PATCH 372/399] Add axe-core (#1029) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index aedaeb539..955b18ea0 100644 --- a/readme.md +++ b/readme.md @@ -604,6 +604,7 @@ - [Puppeteer](https://github.com/GoogleChrome/puppeteer) - Headless Chrome. - [Playwright](https://github.com/microsoft/playwright) - Headless Chromium, WebKit, and Firefox with a single API. - [nve](https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally. +- [axe-core](https://github.com/dequelabs/axe-core) - Accessibility engine for automated Web UI testing. ### Security From a9a312fb47fe379ca9f206bbfcc014f2ce4bde5c Mon Sep 17 00:00:00 2001 From: Yorkie Liu Date: Wed, 8 Jul 2020 03:27:11 +0800 Subject: [PATCH 373/399] Add pipcook (#1016) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 955b18ea0..d41679640 100644 --- a/readme.md +++ b/readme.md @@ -103,6 +103,7 @@ - [NodeOS](https://github.com/NodeOS/NodeOS) - The first operating system powered by npm. - [YodaOS](https://github.com/yodaos-project/yodaos) - AI operating system. - [Brain.js](https://github.com/BrainJS/brain.js) - Machine-learning framework. +- [Pipcook](https://github.com/alibaba/pipcook) - Front-end algorithm framework to create a machine learning pipeline. - [Cytoscape.js](https://github.com/cytoscape/cytoscape.js) - Graph theory (a.k.a. network) modeling and analysis. - [Kadence](https://gitlab.com/deadcanaries/kadence) - Kademlia distributed hash table. - [seedshot](https://github.com/twobucks/seedshot) - Temporary P2P screenshot sharing from your browser. From 09150236bdc062703b6bce6223bf6bf6944aeae1 Mon Sep 17 00:00:00 2001 From: Andrew Powers Date: Sun, 19 Jul 2020 13:49:21 -0700 Subject: [PATCH 374/399] Add Factor (#1018) * Update readme.md * Fix Factor description. * Update readme.md Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index d41679640..7f113e20d 100644 --- a/readme.md +++ b/readme.md @@ -709,6 +709,7 @@ - [ApostropheCMS](https://github.com/apostrophecms/apostrophe) - Content management system with an emphasis on intuitive front end content editing and administration built on Express and MongoDB. - [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. - [Tipe](https://github.com/tipeio/tipe) - Developer-first content management system with GraphQL and REST API from a schema file. +- [Factor](https://github.com/fiction-com/factor) - Vue.js dashboard framework and headless CMS. ### Forum From 4496d618bbb383a0d463294ae01c059b5cdd569c Mon Sep 17 00:00:00 2001 From: vardrop Date: Mon, 3 Aug 2020 00:36:39 +0200 Subject: [PATCH 375/399] Remove RequireBin (#1050) --- readme.md | 1 - 1 file changed, 1 deletion(-) diff --git a/readme.md b/readme.md index 7f113e20d..e3bc1c940 100644 --- a/readme.md +++ b/readme.md @@ -866,7 +866,6 @@ - [OctoLinker](https://chrome.google.com/webstore/detail/octolinker/jlmafbaeoofdegohdhinkhilhclaklkp) - Chrome extension that linkifies dependencies in package.json, .js, .jsx, .coffee and .md files on GitHub. - [npm-hub](https://chrome.google.com/webstore/detail/npm-hub/kbbbjimdjbjclaebffknlabpogocablj) - Chrome extension to display npm dependencies at the bottom of a repo's readme. - [RunKit](http://blog.tonicdev.com/2015/09/30/embedded-tonic.html) - Embed a Node.js environment on any website. -- [RequireBin](http://requirebin.com) - Shareable JavaScript programs powered by npm and browserify. - [github-npm-stats](https://chrome.google.com/webstore/detail/github-npm-stats/oomfflokggoffaiagenekchfnpighcef) - Chrome extension that displays npm download stats on GitHub. - [npm semver calculator](https://semver.npmjs.com) - Visually explore what versions of a package a semver range matches. - [CodeSandbox](https://codesandbox.io/s/node-http-server-node) - Online IDE and prototyping. From 5fa434a6ff98f15feb3203163ba4b2cfafc96077 Mon Sep 17 00:00:00 2001 From: simo Date: Sat, 5 Sep 2020 16:01:30 +0300 Subject: [PATCH 376/399] Update description for Grant package (#1055) Co-authored-by: Sindre Sorhus --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index e3bc1c940..5ed566463 100644 --- a/readme.md +++ b/readme.md @@ -632,7 +632,7 @@ ### Authentication - [Passport](https://github.com/jaredhanson/passport) - Simple, unobtrusive authentication. -- [Grant](https://github.com/simov/grant) - OAuth middleware for Express, Koa, and Hapi. +- [Grant](https://github.com/simov/grant) - OAuth providers for Express, Koa, Hapi, Fastify, AWS Lambda, Azure, Google Cloud, Vercel, and many more. ### Authorization From 61cd0cf2ae0a50aee024a2e05bb1776a5ac42490 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 9 Sep 2020 17:55:28 +0200 Subject: [PATCH 377/399] Support update --- readme.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/readme.md b/readme.md index 5ed566463..551aa6489 100644 --- a/readme.md +++ b/readme.md @@ -3,6 +3,20 @@ Awesome Node.js
+

+

+ + My open source work is supported by the community + +

+ Special thanks to: +
+
+ + + +

+


From bc96a6e1ab5a82da2e23437852f9b41bcee43566 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 30 Sep 2020 01:42:36 +0200 Subject: [PATCH 378/399] Add more contribution guidelines --- contributing.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/contributing.md b/contributing.md index 923227314..75ab09b60 100644 --- a/contributing.md +++ b/contributing.md @@ -6,7 +6,8 @@ Please note that this project is released with a [Contributor Code of Conduct](c Ensure your pull request adheres to the following guidelines: -- **The submitted project should be more than 30 days old and the repo should have at least 30 stars.** +- **The submitted project should be more than 30 days old and the repo should have at least 40 stars.** +- Don't open a Draft / WIP pull request while you work on the guidelines. A pull request should be 100% ready and should adhere to all the guidelines when you open it. - Keep in mind that the list is very mature by now, so the bar of getting something accepted is high. Only submit something unique and generally useful. The world (and this list) doesn't need yet another ORM or framework. For CLI tools, the bar is especially high, and unless it's something very awesome, I would suggest submitting to [awesome-cli-apps](https://github.com/aharris88/awesome-cli-apps) instead. - If you submit a project that is similar to an existing project in the list, argue how it's better. - Search previous suggestions before making a new one, as yours may be a duplicate. From 296f58821e403e28b20e1be2606db851e1dcead5 Mon Sep 17 00:00:00 2001 From: Wojciech Krysiak Date: Wed, 30 Sep 2020 15:34:43 +0200 Subject: [PATCH 379/399] Add AdminBro (#1063) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 551aa6489..5bb4943fd 100644 --- a/readme.md +++ b/readme.md @@ -724,6 +724,7 @@ - [Strapi](https://github.com/strapi/strapi) - Content Management Framework (headless-CMS) to build powerful APIs. - [Tipe](https://github.com/tipeio/tipe) - Developer-first content management system with GraphQL and REST API from a schema file. - [Factor](https://github.com/fiction-com/factor) - Vue.js dashboard framework and headless CMS. +- [AdminBro](https://github.com/SoftwareBrothers/admin-bro) - Auto-generated admin panel with CRUD for all your resources. ### Forum From cbfd2c960e60d28a9d24a5119e8513d3911ce953 Mon Sep 17 00:00:00 2001 From: v 1 r t l Date: Thu, 1 Oct 2020 03:36:19 +0300 Subject: [PATCH 380/399] Add Tinyhttp (#1047) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 5bb4943fd..f74549ec7 100644 --- a/readme.md +++ b/readme.md @@ -345,6 +345,7 @@ - [Nest](https://github.com/nestjs/nest) - Angular-inspired framework for building efficient and scalable server-side apps. - [Zeronode](https://github.com/sfast/zeronode) - Minimal building block for reliable and fault-tolerant microservices. - [TypeGraphQL](https://github.com/19majkel94/type-graphql) - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators. +- [Tinyhttp](https://github.com/talentlessguy/tinyhttp) - Modern and fast Express-like web framework. ### Documentation From c02a40902a535b6a10ea6cbbc3ee176aa31eef83 Mon Sep 17 00:00:00 2001 From: Daniel Norman Date: Mon, 12 Oct 2020 00:06:47 +0200 Subject: [PATCH 381/399] Add Prisma (#1053) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index f74549ec7..662c3a3f3 100644 --- a/readme.md +++ b/readme.md @@ -582,6 +582,7 @@ - [Objection.js](https://github.com/Vincit/objection.js) - Lightweight ORM built on the SQL query builder Knex. - [TypeORM](https://github.com/typeorm/typeorm) - ORM for PostgreSQL, MariaDB, MySQL, SQLite, and more. - [MikroORM](https://github.com/mikro-orm/mikro-orm) - TypeScript ORM based on Data Mapper, Unit of Work and Identity Map patterns. Supports MongoDB, PostgreSQL, MySQL and SQLite. + - [Prisma](https://github.com/prisma/prisma) - Modern database access (ORM alternative). Auto-generated and type-safe query builder in TypeScript. Supports PostgreSQL, MySQL & SQLite. - Query builder - [Knex](https://github.com/tgriesser/knex) - Query builder for PostgreSQL, MySQL and SQLite3, designed to be flexible, portable, and fun to use. - Other From 41115ae92a89f6aa6eba5f7da9a9d0c9d5d7f61e Mon Sep 17 00:00:00 2001 From: ehmicky Date: Mon, 19 Oct 2020 13:13:16 -0700 Subject: [PATCH 382/399] Add link to Netlify job description (#1071) Co-authored-by: Sindre Sorhus --- readme.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/readme.md b/readme.md index 662c3a3f3..b77f44530 100644 --- a/readme.md +++ b/readme.md @@ -32,6 +32,12 @@
+--- + +A friend of mine [@ehmicky](https://github.com/ehmicky) is looking for a senior/expert Node.js backend engineer to join their fully remote, international, diverse (44% women and non-binary) and friendly team at Netlify. The job description is [here](https://boards.greenhouse.io/netlify/jobs/4832483002). + +--- + ## Contents - [Packages](#packages) From aed94cb7ea4435a699d8904d579468385a9fa072 Mon Sep 17 00:00:00 2001 From: Mikael Finstad Date: Wed, 11 Nov 2020 23:40:33 +0100 Subject: [PATCH 383/399] Add editly (#1073) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index b77f44530..f6de754b5 100644 --- a/readme.md +++ b/readme.md @@ -803,6 +803,7 @@ A friend of mine [@ehmicky](https://github.com/ehmicky) is looking for a senior/ - [genepi](https://github.com/Geode-solutions/genepi) - Automatically generate a native Node.js addon from C++ code. - [husky](https://github.com/typicode/husky) - Create Git hook scripts. - [patch-package](https://github.com/ds300/patch-package) - Make and preserve fixes to npm dependencies. +- [editly](https://github.com/mifi/editly) - Declarative video editing API. ## Resources From 8c020c68e3720ad72d5fa5e6b0bff33dae6a5e4e Mon Sep 17 00:00:00 2001 From: ehmicky Date: Mon, 16 Nov 2020 03:33:46 -0800 Subject: [PATCH 384/399] Remove link to Netlify job description (#1077) --- readme.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/readme.md b/readme.md index f6de754b5..cb5ff0e85 100644 --- a/readme.md +++ b/readme.md @@ -32,12 +32,6 @@
---- - -A friend of mine [@ehmicky](https://github.com/ehmicky) is looking for a senior/expert Node.js backend engineer to join their fully remote, international, diverse (44% women and non-binary) and friendly team at Netlify. The job description is [here](https://boards.greenhouse.io/netlify/jobs/4832483002). - ---- - ## Contents - [Packages](#packages) From b4c6262683a42d410bb9e789d193d72fc329e53b Mon Sep 17 00:00:00 2001 From: Ian Storm Taylor Date: Tue, 24 Nov 2020 13:26:25 -0500 Subject: [PATCH 385/399] Add Superstruct (#1081) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index cb5ff0e85..1ad47b7ca 100644 --- a/readme.md +++ b/readme.md @@ -506,6 +506,7 @@ - [property-validator](https://github.com/nettofarah/property-validator) - Easy property validation for Express. - [schema-inspector](https://github.com/Atinux/schema-inspector) - JSON API sanitization and validation. - [ajv](https://github.com/epoberezkin/ajv) - The fastest JSON Schema validator. Supports v5, v6 and v7 proposals. +- [Superstruct](https://github.com/ianstormtaylor/superstruct) - Simple and composable way to validate data in JavaScript (and TypeScript). ### Parsing From 6d1a9c2f912610c866fbe277fd815805402c47d9 Mon Sep 17 00:00:00 2001 From: Dmitry Lukanin Date: Thu, 10 Dec 2020 18:27:22 +0300 Subject: [PATCH 386/399] Add Marble.js (#1083) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 1ad47b7ca..a3a5f2faf 100644 --- a/readme.md +++ b/readme.md @@ -346,6 +346,7 @@ - [Zeronode](https://github.com/sfast/zeronode) - Minimal building block for reliable and fault-tolerant microservices. - [TypeGraphQL](https://github.com/19majkel94/type-graphql) - Modern framework for creating GraphQL APIs with TypeScript, using classes and decorators. - [Tinyhttp](https://github.com/talentlessguy/tinyhttp) - Modern and fast Express-like web framework. +- [Marble.js](https://github.com/marblejs/marble) - Functional reactive framework for building server-side apps, based on TypeScript and RxJS. ### Documentation From ae2be553607d0775da5686aa0da28fad280b6283 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Thu, 10 Dec 2020 23:34:07 +0800 Subject: [PATCH 387/399] Mention discussions --- readme.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/readme.md b/readme.md index a3a5f2faf..bb0f8188f 100644 --- a/readme.md +++ b/readme.md @@ -32,6 +32,8 @@
+**You can now [discuss Node.js and ask questions](https://github.com/sindresorhus/awesome-nodejs/discussions) right in this repo.** + ## Contents - [Packages](#packages) From 94dc675f807f580434fed3afe7448722dc1a2d01 Mon Sep 17 00:00:00 2001 From: Simon Hofmann Date: Sat, 12 Dec 2020 16:14:22 +0100 Subject: [PATCH 388/399] Add nut.js (#1078) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index bb0f8188f..4ce8bba00 100644 --- a/readme.md +++ b/readme.md @@ -707,6 +707,7 @@ ### Automation - [robotjs](https://github.com/octalmage/robotjs) - Desktop Automation: control the mouse, keyboard and read the screen. +- [nut.js](https://github.com/nut-tree/nut.js) - Cross-platform native GUI automation / testing framework with image matching capabilities which integrates with Jest. ### AST From 8df329c401446d04615669d9b1bf72d41a6f545b Mon Sep 17 00:00:00 2001 From: Cristian Greco Date: Sat, 12 Dec 2020 15:15:44 +0000 Subject: [PATCH 389/399] Add testcontainers-node (#1076) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 4ce8bba00..e35bbffc6 100644 --- a/readme.md +++ b/readme.md @@ -626,6 +626,7 @@ - [Playwright](https://github.com/microsoft/playwright) - Headless Chromium, WebKit, and Firefox with a single API. - [nve](https://github.com/ehmicky/nve) - Run any command on multiple versions of Node.js locally. - [axe-core](https://github.com/dequelabs/axe-core) - Accessibility engine for automated Web UI testing. +- [testcontainers-node](https://github.com/testcontainers/testcontainers-node) - Provides lightweight, throwaway instances of common databases, Selenium web browsers, or anything else that can run in a Docker container. ### Security From d08afe33de32f644d6b5e36b3eccdfdd1ef7ce29 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sun, 13 Dec 2020 01:40:45 +0800 Subject: [PATCH 390/399] Update contributing.md --- contributing.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/contributing.md b/contributing.md index 75ab09b60..12b3590df 100644 --- a/contributing.md +++ b/contributing.md @@ -17,6 +17,8 @@ Ensure your pull request adheres to the following guidelines: - Additions should be added to the bottom of the relevant category. - Link to the GitHub repo, not npmjs.com or its website. - Keep descriptions short and simple, but descriptive. +- Descriptions should not be marketing taglines. +- Descriptions should not be title-case. - Don't mention `Node.js` in the description as it's implied. - Start the description with a capital and end with a full stop/period. - Don't start the description with `A` or `An`. From 3cb87e75a881924a1e40217168367c345047c07c Mon Sep 17 00:00:00 2001 From: Yohan Lasorsa Date: Sat, 12 Dec 2020 18:50:59 +0100 Subject: [PATCH 391/399] Add smoke (#1069) --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index e35bbffc6..f5467b0ee 100644 --- a/readme.md +++ b/readme.md @@ -218,6 +218,7 @@ - [cacheable-request](https://github.com/lukechilds/cacheable-request) - Wrap native HTTP requests with RFC compliant cache support. - [gotql](https://github.com/khaosdoctor/gotql) - GraphQL request library built on [got](https://github.com/sindresorhus/got). - [global-agent](https://github.com/gajus/global-agent) - Global HTTP/HTTPS proxy agent that is configurable using environment variables. +- [smoke](https://github.com/sinedied/smoke) - File-based HTTP mock server with recording abilities. ### Debugging / Profiling From 31d72e2d7e2ddcbcbfa22dc2481cbff7625fe508 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 13 Jan 2021 16:59:54 +0700 Subject: [PATCH 392/399] Add note about ESM --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index f5467b0ee..45a2f2968 100644 --- a/readme.md +++ b/readme.md @@ -19,6 +19,11 @@


+

+ Node.js package maintainers → Get ready for ESM! +

+
+
Awesome From c692a38933104426945b68c43bb8358c5de98d99 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Wed, 20 Jan 2021 14:44:30 +0700 Subject: [PATCH 393/399] Update a link --- readme.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/readme.md b/readme.md index 45a2f2968..0511c3e13 100644 --- a/readme.md +++ b/readme.md @@ -12,7 +12,7 @@ Special thanks to:

- +

From bba59988ace9bfc1e59d98d0a44b42548a41f27d Mon Sep 17 00:00:00 2001 From: Ganesh Pendyala Date: Fri, 22 Jan 2021 21:05:38 +0530 Subject: [PATCH 394/399] Add fnm (#1089) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 0511c3e13..838ff0f2f 100644 --- a/readme.md +++ b/readme.md @@ -692,6 +692,7 @@ - [nodeenv](https://github.com/ekalinin/nodeenv) - Node.js virtual environment compatible to Python's virtualenv. - [nvm for Windows](https://github.com/coreybutler/nvm-windows) - Version management for Windows. - [nodenv](https://github.com/nodenv/nodenv) - Version manager that is similar to Ruby's rbenv. It supports auto version switching. +- [fnm](https://github.com/Schniz/fnm) - Cross-platform Node.js version manager built in Rust. ### Natural language processing From c963e515f8c569828a2bfee34bf33252fcdbb04d Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 30 Jan 2021 11:57:06 +0700 Subject: [PATCH 395/399] Meta tweaks --- readme.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/readme.md b/readme.md index 838ff0f2f..4170f0c0a 100644 --- a/readme.md +++ b/readme.md @@ -15,6 +15,11 @@ +
+
+ + +



From ee1c547eae4b054a59766a1f5a20fee57271f1c2 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 6 Mar 2021 11:34:39 +0700 Subject: [PATCH 396/399] Add links to official resources Fixes #1103 --- readme.md | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/readme.md b/readme.md index 4170f0c0a..ac32c4ee3 100644 --- a/readme.md +++ b/readme.md @@ -46,6 +46,7 @@ ## Contents +- [Official](#official) - [Packages](#packages) - [Mad science](#mad-science) - [Command-line apps](#command-line-apps) @@ -110,6 +111,12 @@ - [Miscellaneous](#miscellaneous-1) - [Related lists](#related-lists) +## Official + +- [Website](https://nodejs.org) +- [Documentation](https://nodejs.org/dist/latest/docs/api/) +- [Repository](https://github.com/nodejs/node) + ## Packages ### Mad science From c4722c5b4d3a806060ba4d2ee3426aa491a0e920 Mon Sep 17 00:00:00 2001 From: Tom Bradley Date: Sat, 6 Mar 2021 05:37:14 +0100 Subject: [PATCH 397/399] Add video tutorial (#1104) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index ac32c4ee3..729c62549 100644 --- a/readme.md +++ b/readme.md @@ -870,6 +870,7 @@ - [V8 Garbage Collector](https://v8.dev/blog/trash-talk) - Trash talk about the V8 garbage collector. - [10 Things I Regret About Node.js by Ryan Dahl](https://www.youtube.com/watch?v=M3BM9TB-8yA) - Insightful talk by the creator of Node.js about some of its limitions. - [Mastering REST APIs in Node.js: Zero-To-Hero](https://www.manning.com/livevideo/mastering-rest-apis-in-nodejs) - Video course on how to make REST APIs using Node.js. +- [Make a vanilla Node.js REST API](https://www.youtube.com/watch?v=_1xa8Bsho6A) - Building a REST API without using a framework like Express. ### Books From 3d6569efe50b83637d9ea6d89fae9558392d254d Mon Sep 17 00:00:00 2001 From: Olivier Guimbal Date: Sun, 7 Mar 2021 11:01:23 +0100 Subject: [PATCH 398/399] Add pg-mem (#1092) Co-authored-by: Sindre Sorhus --- readme.md | 1 + 1 file changed, 1 insertion(+) diff --git a/readme.md b/readme.md index 729c62549..d4f87f788 100644 --- a/readme.md +++ b/readme.md @@ -615,6 +615,7 @@ - [database-js](https://github.com/mlaanderson/database-js) - Wrapper for multiple databases with a JDBC-like connection. - [Mongo Seeding](https://github.com/pkosiec/mongo-seeding) - Populate MongoDB databases with JavaScript and JSON files. - [@databases](https://github.com/ForbesLindesay/atdatabases) - Query PostgreSQL, MySQL and SQLite3 with plain SQL without risking SQL injection. + - [pg-mem](https://github.com/oguimbal/pg-mem) - In-memory PostgreSQL instance for your tests. ### Testing From 15eb27383b072fe97f0ad69778811f233432fad3 Mon Sep 17 00:00:00 2001 From: Sindre Sorhus Date: Sat, 13 Mar 2021 00:50:01 +0700 Subject: [PATCH 399/399] Meta tweaks --- readme.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/readme.md b/readme.md index d4f87f788..44790d578 100644 --- a/readme.md +++ b/readme.md @@ -20,6 +20,19 @@ +
+
+ +
+ Doppler +
+ All your environment variables, in one place +
+ Stop struggling with scattered API keys, hacking together home-brewed tools, +
+ and avoiding access controls. Keep your team and servers in sync with Doppler. +
+