From 8ef25f5a2ada163664f05f75e25098d1935fb109 Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Sun, 28 Apr 2019 16:38:15 +0200 Subject: [PATCH] Require Node.js 8, add TypeScript definition --- .travis.yml | 2 +- index.d.ts | 21 +++++++++++++++++++++ index.test-d.ts | 6 ++++++ package.json | 10 ++++++---- readme.md | 2 +- 5 files changed, 35 insertions(+), 6 deletions(-) create mode 100644 index.d.ts create mode 100644 index.test-d.ts diff --git a/.travis.yml b/.travis.yml index dc1ada6..29ef4bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -4,6 +4,6 @@ os: - windows language: node_js node_js: + - '12' - '10' - '8' - - '6' diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..85eaf98 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,21 @@ +declare namespace termSize { + interface TermSize { + columns: number; + rows: number; + } +} + +/** +Reliably get the terminal window size. + +@example +``` +import termSize = require('term-size'); + +termSize(); +//=> {columns: 143, rows: 24} +``` +*/ +declare function termSize(): termSize.TermSize; + +export = termSize; diff --git a/index.test-d.ts b/index.test-d.ts new file mode 100644 index 0000000..431bdea --- /dev/null +++ b/index.test-d.ts @@ -0,0 +1,6 @@ +import {expectType} from 'tsd'; +import termSize = require('.'); + +const size: termSize.TermSize = termSize(); +expectType(size.columns); +expectType(size.rows); diff --git a/package.json b/package.json index eb2b8c8..a57dffa 100644 --- a/package.json +++ b/package.json @@ -10,13 +10,14 @@ "url": "sindresorhus.com" }, "engines": { - "node": ">=6" + "node": ">=8" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, "files": [ "index.js", + "index.d.ts", "vendor" ], "keywords": [ @@ -37,7 +38,8 @@ "execa": "^1.0.0" }, "devDependencies": { - "ava": "^1.0.1", - "xo": "^0.23.0" + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" } } diff --git a/readme.md b/readme.md index 45f3020..7029908 100644 --- a/readme.md +++ b/readme.md @@ -28,7 +28,7 @@ termSize(); ### termSize() -Returns an `Object` with `columns` and `rows` properties. +Returns an `object` with `columns` and `rows` properties. ## Related