From 039944bb5b3876913171b895488874b5c200e458 Mon Sep 17 00:00:00 2001 From: Dimitri Benin Date: Tue, 30 Apr 2019 13:47:01 +0000 Subject: [PATCH] Add TypeScript definition (#16) --- .travis.yml | 1 + index.d.ts | 23 +++++++++++++++++++++++ index.test-d.ts | 4 ++++ package.json | 6 ++++-- 4 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 index.d.ts create mode 100644 index.test-d.ts diff --git a/.travis.yml b/.travis.yml index f3fa8cd..f98fed0 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,4 +1,5 @@ language: node_js node_js: + - '12' - '10' - '8' diff --git a/index.d.ts b/index.d.ts new file mode 100644 index 0000000..a05ef56 --- /dev/null +++ b/index.d.ts @@ -0,0 +1,23 @@ +/** +Regular expression for matching [semver](https://github.com/npm/node-semver) versions. + +@example +``` +import semverRegex = require('semver-regex'); + +semverRegex().test('v1.0.0'); +//=> true + +semverRegex().test('1.2.3-alpha.10.beta.0+build.unicorn.rainbow'); +//=> true + +semverRegex().exec('unicorn 1.0.0 rainbow')[0]; +//=> '1.0.0' + +'unicorn 1.0.0 and rainbow 2.1.3'.match(semverRegex()); +//=> ['1.0.0', '2.1.3'] +``` +*/ +declare function semverRegex(): RegExp; + +export = semverRegex; diff --git a/index.test-d.ts b/index.test-d.ts new file mode 100644 index 0000000..b916579 --- /dev/null +++ b/index.test-d.ts @@ -0,0 +1,4 @@ +import {expectType} from 'tsd'; +import semverRegex = require('.'); + +expectType(semverRegex()); diff --git a/package.json b/package.json index 492638b..5b079ac 100644 --- a/package.json +++ b/package.json @@ -13,10 +13,11 @@ "node": ">=8" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "keywords": [ "semver", @@ -30,6 +31,7 @@ ], "devDependencies": { "ava": "^1.4.1", + "tsd": "^0.7.2", "xo": "^0.24.0" } }