aboutsummaryrefslogtreecommitdiff
path: root/node_modules/term-size
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/term-size')
-rw-r--r--node_modules/term-size/index.js70
-rw-r--r--node_modules/term-size/license21
-rw-r--r--node_modules/term-size/node_modules/execa/index.js172
-rw-r--r--node_modules/term-size/node_modules/execa/license21
-rw-r--r--node_modules/term-size/node_modules/execa/package.json62
-rw-r--r--node_modules/term-size/node_modules/execa/readme.md137
-rw-r--r--node_modules/term-size/node_modules/npm-run-path/index.js23
-rw-r--r--node_modules/term-size/node_modules/npm-run-path/license21
-rw-r--r--node_modules/term-size/node_modules/npm-run-path/package.json42
-rw-r--r--node_modules/term-size/node_modules/npm-run-path/readme.md66
-rw-r--r--node_modules/term-size/package.json46
-rw-r--r--node_modules/term-size/readme.md41
-rwxr-xr-xnode_modules/term-size/vendor/resizebin0 -> 67056 bytes
-rw-r--r--node_modules/term-size/vendor/win-term-size.exebin0 -> 17408 bytes
14 files changed, 722 insertions, 0 deletions
diff --git a/node_modules/term-size/index.js b/node_modules/term-size/index.js
new file mode 100644
index 000000000..c6974e2e3
--- /dev/null
+++ b/node_modules/term-size/index.js
@@ -0,0 +1,70 @@
+'use strict';
+const path = require('path');
+const execa = require('execa');
+
+const create = (columns, rows) => ({
+ columns: parseInt(columns, 10),
+ rows: parseInt(rows, 10)
+});
+
+module.exports = () => {
+ const env = process.env;
+ const stdout = process.stdout;
+ const stderr = process.stderr;
+
+ if (stdout && stdout.columns && stdout.rows) {
+ return create(stdout.columns, stdout.rows);
+ }
+
+ if (stderr && stderr.columns && stderr.rows) {
+ return create(stderr.columns, stderr.rows);
+ }
+
+ // these values are static, so not the first choice
+ if (env.COLUMNS && env.LINES) {
+ return create(env.COLUMNS, env.LINES);
+ }
+
+ if (process.platform === 'win32') {
+ try {
+ // Binary: https://github.com/sindresorhus/win-term-size
+ const size = execa.sync(path.join(__dirname, 'vendor/win-term-size.exe')).stdout.split(/\r?\n/);
+
+ if (size.length === 2) {
+ return create(size[0], size[1]);
+ }
+ } catch (err) {}
+ } else {
+ if (process.platform === 'darwin') {
+ try {
+ // Binary is from https://www.xquartz.org
+ const size = execa.shellSync(path.join(__dirname, 'vendor/resize'), ['-u']).stdout.match(/\d+/g);
+
+ if (size.length === 2) {
+ return create(size[0], size[1]);
+ }
+ } catch (err) {}
+ }
+
+ // `resize` is preferred as it works even when all file descriptors are redirected
+ // https://linux.die.net/man/1/resize
+ try {
+ const size = execa.sync('resize', ['-u']).stdout.match(/\d+/g);
+
+ if (size.length === 2) {
+ return create(size[0], size[1]);
+ }
+ } catch (err) {}
+
+ try {
+ const columns = execa.sync('tput', ['cols']).stdout;
+ const rows = execa.sync('tput', ['lines']).stdout;
+
+ if (columns && rows) {
+ return create(columns, rows);
+ }
+ } catch (err) {}
+ }
+
+ return create(80, 24);
+};
diff --git a/node_modules/term-size/license b/node_modules/term-size/license
new file mode 100644
index 000000000..654d0bfe9
--- /dev/null
+++ b/node_modules/term-size/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/term-size/node_modules/execa/index.js b/node_modules/term-size/node_modules/execa/index.js
new file mode 100644
index 000000000..5f3714a08
--- /dev/null
+++ b/node_modules/term-size/node_modules/execa/index.js
@@ -0,0 +1,172 @@
+'use strict';
+var childProcess = require('child_process');
+var crossSpawnAsync = require('cross-spawn-async');
+var stripEof = require('strip-eof');
+var objectAssign = require('object-assign');
+var npmRunPath = require('npm-run-path');
+var isStream = require('is-stream');
+var pathKey = require('path-key')();
+var TEN_MEBIBYTE = 1024 * 1024 * 10;
+
+function handleArgs(cmd, args, opts) {
+ var parsed;
+
+ if (opts && opts.__winShell === true) {
+ delete opts.__winShell;
+ parsed = {
+ command: cmd,
+ args: args,
+ options: opts,
+ file: cmd,
+ original: cmd
+ };
+ } else {
+ parsed = crossSpawnAsync._parse(cmd, args, opts);
+ }
+
+ opts = objectAssign({
+ maxBuffer: TEN_MEBIBYTE,
+ stripEof: true,
+ preferLocal: true,
+ encoding: 'utf8'
+ }, parsed.options);
+
+ if (opts.preferLocal) {
+ opts.env = objectAssign({}, opts.env || process.env);
+ opts.env[pathKey] = npmRunPath({
+ cwd: opts.cwd,
+ path: opts.env[pathKey]
+ });
+ }
+
+ return {
+ cmd: parsed.command,
+ args: parsed.args,
+ opts: opts
+ };
+}
+
+function handleInput(spawned, opts) {
+ var input = opts.input;
+
+ if (input === null || input === undefined) {
+ return;
+ }
+
+ if (isStream(input)) {
+ input.pipe(spawned.stdin);
+ } else {
+ spawned.stdin.end(input);
+ }
+}
+
+function handleOutput(opts, val) {
+ if (opts.stripEof) {
+ val = stripEof(val);
+ }
+
+ return val;
+}
+
+function handleShell(fn, cmd, opts) {
+ var file;
+ var args;
+
+ opts = objectAssign({}, opts);
+
+ if (process.platform === 'win32') {
+ opts.__winShell = true;
+ file = process.env.comspec || 'cmd.exe';
+ args = ['/s', '/c', '"' + cmd + '"'];
+ opts.windowsVerbatimArguments = true;
+ } else {
+ file = '/bin/sh';
+ args = ['-c', cmd];
+ }
+
+ if (opts.shell) {
+ file = opts.shell;
+ }
+
+ return fn(file, args, opts);
+}
+
+module.exports = function (cmd, args, opts) {
+ var spawned;
+
+ var promise = new Promise(function (resolve, reject) {
+ var parsed = handleArgs(cmd, args, opts);
+
+ spawned = childProcess.execFile(parsed.cmd, parsed.args, parsed.opts, function (err, stdout, stderr) {
+ if (err) {
+ err.stdout = stdout;
+ err.stderr = stderr;
+ err.message += stdout;
+ reject(err);
+ return;
+ }
+
+ resolve({
+ stdout: handleOutput(parsed.opts, stdout),
+ stderr: handleOutput(parsed.opts, stderr)
+ });
+ });
+
+ crossSpawnAsync._enoent.hookChildProcess(spawned, parsed);
+
+ handleInput(spawned, parsed.opts);
+ });
+
+ spawned.then = promise.then.bind(promise);
+ spawned.catch = promise.catch.bind(promise);
+
+ return spawned;
+};
+
+module.exports.stdout = function () {
+ // TODO: set `stderr: 'ignore'` when that option is implemented
+ return module.exports.apply(null, arguments).then(function (x) {
+ return x.stdout;
+ });
+};
+
+module.exports.stderr = function () {
+ // TODO: set `stdout: 'ignore'` when that option is implemented
+ return module.exports.apply(null, arguments).then(function (x) {
+ return x.stderr;
+ });
+};
+
+module.exports.shell = function (cmd, opts) {
+ return handleShell(module.exports, cmd, opts);
+};
+
+module.exports.spawn = function (cmd, args, opts) {
+ var parsed = handleArgs(cmd, args, opts);
+ var spawned = childProcess.spawn(parsed.cmd, parsed.args, parsed.opts);
+
+ crossSpawnAsync._enoent.hookChildProcess(spawned, parsed);
+
+ return spawned;
+};
+
+module.exports.sync = function (cmd, args, opts) {
+ var parsed = handleArgs(cmd, args, opts);
+
+ if (isStream(parsed.opts.input)) {
+ throw new TypeError('The `input` option cannot be a stream in sync mode');
+ }
+
+ var result = childProcess.spawnSync(parsed.cmd, parsed.args, parsed.opts);
+
+ if (parsed.opts.stripEof) {
+ result.stdout = stripEof(result.stdout);
+ result.stderr = stripEof(result.stderr);
+ }
+
+ return result;
+};
+
+module.exports.shellSync = function (cmd, opts) {
+ return handleShell(module.exports.sync, cmd, opts);
+};
diff --git a/node_modules/term-size/node_modules/execa/license b/node_modules/term-size/node_modules/execa/license
new file mode 100644
index 000000000..654d0bfe9
--- /dev/null
+++ b/node_modules/term-size/node_modules/execa/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/term-size/node_modules/execa/package.json b/node_modules/term-size/node_modules/execa/package.json
new file mode 100644
index 000000000..9e0682eee
--- /dev/null
+++ b/node_modules/term-size/node_modules/execa/package.json
@@ -0,0 +1,62 @@
+{
+ "name": "execa",
+ "version": "0.4.0",
+ "description": "A better `child_process`",
+ "license": "MIT",
+ "repository": "sindresorhus/execa",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "maintainers": [
+ {
+ "name": "James Talmage",
+ "email": "james@talmage.io",
+ "url": "github.com/jamestalmage"
+ }
+ ],
+ "engines": {
+ "node": ">=0.12"
+ },
+ "scripts": {
+ "test": "xo && nyc ava",
+ "coveralls": "nyc report --reporter=text-lcov | coveralls"
+ },
+ "files": [
+ "index.js"
+ ],
+ "keywords": [
+ "exec",
+ "child",
+ "process",
+ "execute",
+ "fork",
+ "execfile",
+ "spawn",
+ "file",
+ "shell",
+ "bin",
+ "binary",
+ "binaries",
+ "npm",
+ "path",
+ "local"
+ ],
+ "dependencies": {
+ "cross-spawn-async": "^2.1.1",
+ "is-stream": "^1.1.0",
+ "npm-run-path": "^1.0.0",
+ "object-assign": "^4.0.1",
+ "path-key": "^1.0.0",
+ "strip-eof": "^1.0.0"
+ },
+ "devDependencies": {
+ "ava": "*",
+ "cat-names": "^1.0.2",
+ "coveralls": "^2.11.9",
+ "get-stream": "^2.0.0",
+ "nyc": "^6.4.0",
+ "xo": "*"
+ }
+}
diff --git a/node_modules/term-size/node_modules/execa/readme.md b/node_modules/term-size/node_modules/execa/readme.md
new file mode 100644
index 000000000..1231e6d8d
--- /dev/null
+++ b/node_modules/term-size/node_modules/execa/readme.md
@@ -0,0 +1,137 @@
+# execa [![Build Status: Linux](https://travis-ci.org/sindresorhus/execa.svg?branch=master)](https://travis-ci.org/sindresorhus/execa) [![Build status: Windows](https://ci.appveyor.com/api/projects/status/x5ajamxtjtt93cqv/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/execa/branch/master) [![Coverage Status](https://coveralls.io/repos/github/sindresorhus/execa/badge.svg?branch=master)](https://coveralls.io/github/sindresorhus/execa?branch=master)
+
+> A better [`child_process`](https://nodejs.org/api/child_process.html)
+
+
+## Why
+
+- Promise interface.
+- [Strips EOF](https://github.com/sindresorhus/strip-eof) from the output so you don't have to `stdout.trim()`.
+- Supports [shebang](https://en.wikipedia.org/wiki/Shebang_(Unix)) binaries cross-platform.
+- [Improved Windows support.](https://github.com/IndigoUnited/node-cross-spawn-async#why)
+- Higher max buffer. 10 MB instead of 200 KB.
+- [Executes locally installed binaries by name.](#preferlocal)
+
+
+## Install
+
+```
+$ npm install --save execa
+```
+
+
+## Usage
+
+```js
+const execa = require('execa');
+
+execa('echo', ['unicorns']).then(result => {
+ console.log(result.stdout);
+ //=> 'unicorns'
+});
+
+execa.shell('echo unicorns').then(result => {
+ console.log(result.stdout);
+ //=> 'unicorns'
+});
+
+// example of catching an error
+execa.shell('exit 3').catch(error => {
+ console.log(error);
+ /*
+ {
+ message: 'Command failed: /bin/sh -c exit 3'
+ killed: false,
+ code: 3,
+ signal: null,
+ cmd: '/bin/sh -c exit 3',
+ stdout: '',
+ stderr: ''
+ }
+ */
+});
+```
+
+
+## API
+
+### execa(file, [arguments], [options])
+
+Execute a file.
+
+Same options as [`child_process.execFile`](https://nodejs.org/api/child_process.html#child_process_child_process_execfile_file_args_options_callback).
+
+Returns a [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess).
+
+The `child_process` instance is enhanced to also be promise for a result object with `stdout` and `stderr` properties.
+
+### execa.stdout(file, [arguments], [options])
+
+Same as `execa()`, but returns only `stdout`.
+
+### execa.stderr(file, [arguments], [options])
+
+Same as `execa()`, but returns only `stderr`.
+
+### execa.shell(command, [options])
+
+Execute a command through the system shell. Prefer `execa()` whenever possible, as it's both faster and safer.
+
+Same options as [`child_process.exec`](https://nodejs.org/api/child_process.html#child_process_child_process_exec_command_options_callback).
+
+Returns a [`child_process` instance](https://nodejs.org/api/child_process.html#child_process_class_childprocess).
+
+The `child_process` instance is enhanced to also be promise for a result object with `stdout` and `stderr` properties.
+
+### execa.spawn(file, [arguments], [options])
+
+Spawn a file.
+
+Same API as [`child_process.spawn`](https://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options).
+
+### execa.sync(file, [arguments], [options])
+
+Execute a file synchronously.
+
+Same options as [`child_process.execFileSync`](https://nodejs.org/api/child_process.html#child_process_child_process_execfilesync_file_args_options), except the default encoding is `utf8` instead of `buffer`.
+
+Returns the same result object as [`child_process.spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options).
+
+### execa.shellSync(file, [options])
+
+Execute a command synchronously through the system shell.
+
+Same options as [`child_process.execSync`](https://nodejs.org/api/child_process.html#child_process_child_process_execsync_command_options), except the default encoding is `utf8` instead of `buffer`.
+
+Returns the same result object as [`child_process.spawnSync`](https://nodejs.org/api/child_process.html#child_process_child_process_spawnsync_command_args_options).
+
+### options
+
+Additional options:
+
+#### stripEof
+
+Type: `boolean`<br>
+Default: `true`
+
+[Strip EOF](https://github.com/sindresorhus/strip-eof) (last newline) from the output.
+
+#### preferLocal
+
+Type: `boolean`<br>
+Default: `true`
+
+Prefer locally installed binaries when looking for a binary to execute.<br>
+If you `$ npm install foo`, you can then `execa('foo')`.
+
+#### input
+
+Type: `string` `Buffer` `ReadableStream`
+
+Write some input to the `stdin` of your binary.<br>
+Streams are not allowed when using the synchronous methods.
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/node_modules/term-size/node_modules/npm-run-path/index.js b/node_modules/term-size/node_modules/npm-run-path/index.js
new file mode 100644
index 000000000..92b8d7dc3
--- /dev/null
+++ b/node_modules/term-size/node_modules/npm-run-path/index.js
@@ -0,0 +1,23 @@
+'use strict';
+var path = require('path');
+var pathKey = require('path-key');
+
+module.exports = function (opts) {
+ opts = opts || {};
+
+ var prev;
+ var pth = path.resolve(opts.cwd || '.');
+
+ var ret = [];
+
+ while (prev !== pth) {
+ ret.push(path.join(pth, 'node_modules/.bin'));
+ prev = pth;
+ pth = path.resolve(pth, '..');
+ }
+
+ // ensure the running `node` binary is used
+ ret.push(path.dirname(process.execPath));
+
+ return ret.concat(opts.path || process.env[pathKey()]).join(path.delimiter);
+};
diff --git a/node_modules/term-size/node_modules/npm-run-path/license b/node_modules/term-size/node_modules/npm-run-path/license
new file mode 100644
index 000000000..654d0bfe9
--- /dev/null
+++ b/node_modules/term-size/node_modules/npm-run-path/license
@@ -0,0 +1,21 @@
+The MIT License (MIT)
+
+Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/node_modules/term-size/node_modules/npm-run-path/package.json b/node_modules/term-size/node_modules/npm-run-path/package.json
new file mode 100644
index 000000000..4f5ca5cda
--- /dev/null
+++ b/node_modules/term-size/node_modules/npm-run-path/package.json
@@ -0,0 +1,42 @@
+{
+ "name": "npm-run-path",
+ "version": "1.0.0",
+ "description": "Get your PATH prepended with locally installed binaries",
+ "license": "MIT",
+ "repository": "sindresorhus/npm-run-path",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "files": [
+ "index.js"
+ ],
+ "keywords": [
+ "npm",
+ "run",
+ "path",
+ "package",
+ "bin",
+ "binary",
+ "binaries",
+ "script",
+ "cli",
+ "command-line",
+ "execute",
+ "executable"
+ ],
+ "dependencies": {
+ "path-key": "^1.0.0"
+ },
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ }
+}
diff --git a/node_modules/term-size/node_modules/npm-run-path/readme.md b/node_modules/term-size/node_modules/npm-run-path/readme.md
new file mode 100644
index 000000000..da6d13e84
--- /dev/null
+++ b/node_modules/term-size/node_modules/npm-run-path/readme.md
@@ -0,0 +1,66 @@
+# npm-run-path [![Build Status](https://travis-ci.org/sindresorhus/npm-run-path.svg?branch=master)](https://travis-ci.org/sindresorhus/npm-run-path)
+
+> Get your [PATH](https://en.wikipedia.org/wiki/PATH_(variable)) prepended with locally installed binaries
+
+In [npm run scripts](https://docs.npmjs.com/cli/run-script) you can execute locally installed binaries by name. This enables the same outside npm.
+
+
+## Install
+
+```
+$ npm install --save npm-run-path
+```
+
+
+## Usage
+
+```js
+const childProcess = require('child_process');
+const npmRunPath = require('npm-run-path');
+
+console.log(process.env.PATH);
+//=> '/usr/local/bin'
+
+console.log(npmRunPath());
+//=> '/Users/sindresorhus/dev/foo/node_modules/.bin:/Users/sindresorhus/dev/node_modules/.bin:/Users/sindresorhus/node_modules/.bin:/Users/node_modules/.bin:/node_modules/.bin:/usr/local/bin'
+
+// `foo` is a locally installed binary
+childProcess.execFileSync('foo', {
+ env: {
+ PATH: npmRunPath()
+ }
+});
+```
+
+
+## API
+
+### npmRunPath([options])
+
+#### options
+
+##### cwd
+
+Type: `string`
+Default: `process.cwd()`
+
+Working directory.
+
+##### path
+
+Type: `string`
+Default: [`PATH`](https://github.com/sindresorhus/path-key)
+
+PATH to be appended.<br>
+Set it to an empty string to exclude the default PATH.
+
+
+## Related
+
+- [npm-run-path-cli](https://github.com/sindresorhus/npm-run-path-cli) - CLI for this module
+- [execa](https://github.com/sindresorhus/execa) - Execute a locally installed binary
+
+
+## License
+
+MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/node_modules/term-size/package.json b/node_modules/term-size/package.json
new file mode 100644
index 000000000..bd3a150b7
--- /dev/null
+++ b/node_modules/term-size/package.json
@@ -0,0 +1,46 @@
+{
+ "name": "term-size",
+ "version": "0.1.1",
+ "description": "Reliably get the terminal window size",
+ "license": "MIT",
+ "repository": "sindresorhus/term-size",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "files": [
+ "index.js",
+ "vendor"
+ ],
+ "keywords": [
+ "term",
+ "terminal",
+ "size",
+ "console",
+ "window",
+ "width",
+ "height",
+ "columns",
+ "rows",
+ "lines",
+ "tty"
+ ],
+ "dependencies": {
+ "execa": "^0.4.0"
+ },
+ "devDependencies": {
+ "ava": "*",
+ "execa": "^0.4.0",
+ "xo": "*"
+ },
+ "xo": {
+ "esnext": true
+ }
+}
diff --git a/node_modules/term-size/readme.md b/node_modules/term-size/readme.md
new file mode 100644
index 000000000..a067f8009
--- /dev/null
+++ b/node_modules/term-size/readme.md
@@ -0,0 +1,41 @@
+# term-size [![Build Status: Linux & macOS](https://travis-ci.org/sindresorhus/term-size.svg?branch=master)](https://travis-ci.org/sindresorhus/term-size) [![Build Status: Windows](https://ci.appveyor.com/api/projects/status/c3tydg6uedsk0bob/branch/master?svg=true)](https://ci.appveyor.com/project/sindresorhus/term-size/branch/master)
+
+> Reliably get the terminal window size
+
+Because [`process.stdout.columns`](https://nodejs.org/api/tty.html#tty_writestream_columns) doesn't exist when run [non-interactively](http://www.tldp.org/LDP/abs/html/intandnonint.html), for example, in a child process or when piped.
+
+Confirmed working on macOS, Linux, and Windows.
+
+
+## Install
+
+```
+$ npm install --save term-size
+```
+
+
+## Usage
+
+```js
+const termSize = require('term-size');
+
+termSize();
+//=> {columns: 143, rows: 24}
+```
+
+
+## API
+
+### termSize()
+
+Returns an `Object` with `columns` and `rows` properties.
+
+
+## Related
+
+- [term-size-cli](https://github.com/sindresorhus/term-size-cli) - CLI for this module
+
+
+## License
+
+MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/node_modules/term-size/vendor/resize b/node_modules/term-size/vendor/resize
new file mode 100755
index 000000000..476ede4c0
--- /dev/null
+++ b/node_modules/term-size/vendor/resize
Binary files differ
diff --git a/node_modules/term-size/vendor/win-term-size.exe b/node_modules/term-size/vendor/win-term-size.exe
new file mode 100644
index 000000000..c7a170c96
--- /dev/null
+++ b/node_modules/term-size/vendor/win-term-size.exe
Binary files differ