From 23443cb50a0e7095bcb20323c2c19563aaff5bde Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Thu, 2 May 2019 22:08:39 +0200 Subject: [PATCH] Require Node.js 8, add TypeScript definition --- .travis.yml | 2 +- index.d.ts | 34 ++++++++++++++++++++++++++++++++++ index.test-d.ts | 5 +++++ package.json | 17 ++++++++++++----- readme.md | 4 ++-- 5 files changed, 54 insertions(+), 8 deletions(-) create mode 100644 index.d.ts create mode 100644 index.test-d.ts diff --git a/.travis.yml b/.travis.yml index 2ae9d62..f98fed0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ 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..53d55ca --- /dev/null +++ b/index.d.ts @@ -0,0 +1,34 @@ +import words = require('./words.json'); + +declare const superb: { + /** + All the words in alphabetical order. + + @example + ``` + import superb = require('superb'); + + superb.all; + //=> ['ace', 'amazing', …] + ``` + */ + readonly all: Readonly; + + /** + Random word. + + @example + ``` + import superb = require('superb'); + + superb.random(); + //=> 'legendary' + + superb.random(); + //=> 'awesome' + ``` + */ + random(): string; +}; + +export = superb; diff --git a/index.test-d.ts b/index.test-d.ts new file mode 100644 index 0000000..6b63914 --- /dev/null +++ b/index.test-d.ts @@ -0,0 +1,5 @@ +import {expectType} from 'tsd'; +import superb = require('.'); + +expectType(superb.all); +expectType(superb.random()); diff --git a/package.json b/package.json index c58fa02..9a9951e 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", "words.json" ], "keywords": [ @@ -29,10 +30,16 @@ "random" ], "dependencies": { - "unique-random-array": "^1.0.0" + "unique-random-array": "^2.0.0" }, "devDependencies": { - "ava": "*", - "xo": "*" + "ava": "^1.4.1", + "tsd": "^0.7.2", + "xo": "^0.24.0" + }, + "tsd": { + "compilerOptions": { + "resolveJsonModule": true + } } } diff --git a/readme.md b/readme.md index 06352d5..f5e4bde 100644 --- a/readme.md +++ b/readme.md @@ -26,14 +26,14 @@ superb.random(); //=> 'awesome' superb.all; -//=> ['superb', 'legendary', …] +//=> ['ace', 'amazing', …] ``` ## API ### .all -Type: `Array` +Type: `string[]` All the words in alphabetical order.