summaryrefslogtreecommitdiff
path: root/deps/npm/node_modules/term-size
diff options
context:
space:
mode:
Diffstat (limited to 'deps/npm/node_modules/term-size')
-rw-r--r--deps/npm/node_modules/term-size/index.js70
-rw-r--r--deps/npm/node_modules/term-size/license21
-rw-r--r--deps/npm/node_modules/term-size/package.json75
-rw-r--r--deps/npm/node_modules/term-size/readme.md41
-rwxr-xr-xdeps/npm/node_modules/term-size/vendor/macos/term-sizebin0 -> 8760 bytes
-rw-r--r--deps/npm/node_modules/term-size/vendor/windows/term-size.exebin0 -> 17408 bytes
6 files changed, 207 insertions, 0 deletions
diff --git a/deps/npm/node_modules/term-size/index.js b/deps/npm/node_modules/term-size/index.js
new file mode 100644
index 0000000000..95e410df26
--- /dev/null
+++ b/deps/npm/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/windows/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: https://github.com/sindresorhus/macos-term-size
+ const size = execa.shellSync(path.join(__dirname, 'vendor/macos/term-size')).stdout.split(/\r?\n/);
+
+ 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/deps/npm/node_modules/term-size/license b/deps/npm/node_modules/term-size/license
new file mode 100644
index 0000000000..654d0bfe94
--- /dev/null
+++ b/deps/npm/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/deps/npm/node_modules/term-size/package.json b/deps/npm/node_modules/term-size/package.json
new file mode 100644
index 0000000000..8f2eb54c02
--- /dev/null
+++ b/deps/npm/node_modules/term-size/package.json
@@ -0,0 +1,75 @@
+{
+ "_from": "term-size@^1.2.0",
+ "_id": "term-size@1.2.0",
+ "_inBundle": false,
+ "_integrity": "sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk=",
+ "_location": "/term-size",
+ "_phantomChildren": {},
+ "_requested": {
+ "type": "range",
+ "registry": true,
+ "raw": "term-size@^1.2.0",
+ "name": "term-size",
+ "escapedName": "term-size",
+ "rawSpec": "^1.2.0",
+ "saveSpec": null,
+ "fetchSpec": "^1.2.0"
+ },
+ "_requiredBy": [
+ "/boxen"
+ ],
+ "_resolved": "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz",
+ "_shasum": "458b83887f288fc56d6fffbfad262e26638efa69",
+ "_spec": "term-size@^1.2.0",
+ "_where": "/Users/rebecca/code/npm/node_modules/boxen",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "bugs": {
+ "url": "https://github.com/sindresorhus/term-size/issues"
+ },
+ "bundleDependencies": false,
+ "dependencies": {
+ "execa": "^0.7.0"
+ },
+ "deprecated": false,
+ "description": "Reliably get the terminal window size (columns & rows)",
+ "devDependencies": {
+ "ava": "*",
+ "xo": "*"
+ },
+ "engines": {
+ "node": ">=4"
+ },
+ "files": [
+ "index.js",
+ "vendor"
+ ],
+ "homepage": "https://github.com/sindresorhus/term-size#readme",
+ "keywords": [
+ "term",
+ "terminal",
+ "size",
+ "console",
+ "window",
+ "width",
+ "height",
+ "columns",
+ "rows",
+ "lines",
+ "tty",
+ "redirected"
+ ],
+ "license": "MIT",
+ "name": "term-size",
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/sindresorhus/term-size.git"
+ },
+ "scripts": {
+ "test": "xo && ava"
+ },
+ "version": "1.2.0"
+}
diff --git a/deps/npm/node_modules/term-size/readme.md b/deps/npm/node_modules/term-size/readme.md
new file mode 100644
index 0000000000..dd642cadc2
--- /dev/null
+++ b/deps/npm/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. This module even works when all the TTY file descriptors are redirected!
+
+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/deps/npm/node_modules/term-size/vendor/macos/term-size b/deps/npm/node_modules/term-size/vendor/macos/term-size
new file mode 100755
index 0000000000..e383cc737f
--- /dev/null
+++ b/deps/npm/node_modules/term-size/vendor/macos/term-size
Binary files differ
diff --git a/deps/npm/node_modules/term-size/vendor/windows/term-size.exe b/deps/npm/node_modules/term-size/vendor/windows/term-size.exe
new file mode 100644
index 0000000000..c7a170c964
--- /dev/null
+++ b/deps/npm/node_modules/term-size/vendor/windows/term-size.exe
Binary files differ