aboutsummaryrefslogtreecommitdiff
path: root/node_modules/set-blocking
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/set-blocking')
-rw-r--r--node_modules/set-blocking/CHANGELOG.md26
-rw-r--r--node_modules/set-blocking/LICENSE.txt14
-rw-r--r--node_modules/set-blocking/README.md31
-rw-r--r--node_modules/set-blocking/index.js7
-rw-r--r--node_modules/set-blocking/package.json74
5 files changed, 152 insertions, 0 deletions
diff --git a/node_modules/set-blocking/CHANGELOG.md b/node_modules/set-blocking/CHANGELOG.md
new file mode 100644
index 0000000..03bf591
--- /dev/null
+++ b/node_modules/set-blocking/CHANGELOG.md
@@ -0,0 +1,26 @@
+# Change Log
+
+All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
+
+<a name="2.0.0"></a>
+# [2.0.0](https://github.com/yargs/set-blocking/compare/v1.0.0...v2.0.0) (2016-05-17)
+
+
+### Features
+
+* add an isTTY check ([#3](https://github.com/yargs/set-blocking/issues/3)) ([66ce277](https://github.com/yargs/set-blocking/commit/66ce277))
+
+
+### BREAKING CHANGES
+
+* stdio/stderr will not be set to blocking if isTTY === false
+
+
+
+<a name="1.0.0"></a>
+# 1.0.0 (2016-05-14)
+
+
+### Features
+
+* implemented shim for stream._handle.setBlocking ([6bde0c0](https://github.com/yargs/set-blocking/commit/6bde0c0))
diff --git a/node_modules/set-blocking/LICENSE.txt b/node_modules/set-blocking/LICENSE.txt
new file mode 100644
index 0000000..836440b
--- /dev/null
+++ b/node_modules/set-blocking/LICENSE.txt
@@ -0,0 +1,14 @@
+Copyright (c) 2016, Contributors
+
+Permission to use, copy, modify, and/or distribute this software
+for any purpose with or without fee is hereby granted, provided
+that the above copyright notice and this permission notice
+appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
+OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE
+LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES
+OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
+WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
+ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/node_modules/set-blocking/README.md b/node_modules/set-blocking/README.md
new file mode 100644
index 0000000..e93b420
--- /dev/null
+++ b/node_modules/set-blocking/README.md
@@ -0,0 +1,31 @@
+# set-blocking
+
+[![Build Status](https://travis-ci.org/yargs/set-blocking.svg)](https://travis-ci.org/yargs/set-blocking)
+[![NPM version](https://img.shields.io/npm/v/set-blocking.svg)](https://www.npmjs.com/package/set-blocking)
+[![Coverage Status](https://coveralls.io/repos/yargs/set-blocking/badge.svg?branch=)](https://coveralls.io/r/yargs/set-blocking?branch=master)
+[![Standard Version](https://img.shields.io/badge/release-standard%20version-brightgreen.svg)](https://github.com/conventional-changelog/standard-version)
+
+set blocking `stdio` and `stderr` ensuring that terminal output does not truncate.
+
+```js
+const setBlocking = require('set-blocking')
+setBlocking(true)
+console.log(someLargeStringToOutput)
+```
+
+## Historical Context/Word of Warning
+
+This was created as a shim to address the bug discussed in [node #6456](https://github.com/nodejs/node/issues/6456). This bug crops up on
+newer versions of Node.js (`0.12+`), truncating terminal output.
+
+You should be mindful of the side-effects caused by using `set-blocking`:
+
+* if your module sets blocking to `true`, it will effect other modules
+ consuming your library. In [yargs](https://github.com/yargs/yargs/blob/master/yargs.js#L653) we only call
+ `setBlocking(true)` once we already know we are about to call `process.exit(code)`.
+* this patch will not apply to subprocesses spawned with `isTTY = true`, this is
+ the [default `spawn()` behavior](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options).
+
+## License
+
+ISC
diff --git a/node_modules/set-blocking/index.js b/node_modules/set-blocking/index.js
new file mode 100644
index 0000000..6f78774
--- /dev/null
+++ b/node_modules/set-blocking/index.js
@@ -0,0 +1,7 @@
+module.exports = function (blocking) {
+ [process.stdout, process.stderr].forEach(function (stream) {
+ if (stream._handle && stream.isTTY && typeof stream._handle.setBlocking === 'function') {
+ stream._handle.setBlocking(blocking)
+ }
+ })
+}
diff --git a/node_modules/set-blocking/package.json b/node_modules/set-blocking/package.json
new file mode 100644
index 0000000..f2762eb
--- /dev/null
+++ b/node_modules/set-blocking/package.json
@@ -0,0 +1,74 @@
+{
+ "_args": [
+ [
+ "set-blocking@2.0.0",
+ "/home/dstaesse/git/website"
+ ]
+ ],
+ "_development": true,
+ "_from": "set-blocking@2.0.0",
+ "_id": "set-blocking@2.0.0",
+ "_inBundle": false,
+ "_integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=",
+ "_location": "/set-blocking",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "version",
+ "registry": true,
+ "raw": "set-blocking@2.0.0",
+ "name": "set-blocking",
+ "escapedName": "set-blocking",
+ "rawSpec": "2.0.0",
+ "saveSpec": null,
+ "fetchSpec": "2.0.0"
+ },
+ "_requiredBy": [
+ "/yargs"
+ ],
+ "_resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz",
+ "_spec": "2.0.0",
+ "_where": "/home/dstaesse/git/website",
+ "author": {
+ "name": "Ben Coe",
+ "email": "ben@npmjs.com"
+ },
+ "bugs": {
+ "url": "https://github.com/yargs/set-blocking/issues"
+ },
+ "description": "set blocking stdio and stderr ensuring that terminal output does not truncate",
+ "devDependencies": {
+ "chai": "^3.5.0",
+ "coveralls": "^2.11.9",
+ "mocha": "^2.4.5",
+ "nyc": "^6.4.4",
+ "standard": "^7.0.1",
+ "standard-version": "^2.2.1"
+ },
+ "files": [
+ "index.js",
+ "LICENSE.txt"
+ ],
+ "homepage": "https://github.com/yargs/set-blocking#readme",
+ "keywords": [
+ "flush",
+ "terminal",
+ "blocking",
+ "shim",
+ "stdio",
+ "stderr"
+ ],
+ "license": "ISC",
+ "main": "index.js",
+ "name": "set-blocking",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/yargs/set-blocking.git"
+ },
+ "scripts": {
+ "coverage": "nyc report --reporter=text-lcov | coveralls",
+ "pretest": "standard",
+ "test": "nyc mocha ./test/*.js",
+ "version": "standard-version"
+ },
+ "version": "2.0.0"
+}