From bb744a1f4e3dba2258c083bd47669e0d010d0488 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Tue, 30 May 2023 10:43:46 +0100 Subject: Check TypeScript declarations are valid --- .github/workflows/tests.yml | 2 ++ package-lock.json | 33 +++++++++++++++++++++++++++++++++ package.json | 3 +++ 3 files changed, 38 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index c37abf4..6d7d472 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -22,3 +22,5 @@ jobs: - run: npm install - run: npm test + + - run: npm run check-typescript diff --git a/package-lock.json b/package-lock.json index 165d145..ada43c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,6 +24,7 @@ "mammoth": "bin/mammoth" }, "devDependencies": { + "@types/node": "^20.2.5", "browserify": "~13.0.1", "browserify-prepend-licenses": "~1.0.0", "duck": "^0.1.12", @@ -31,12 +32,19 @@ "hamjest": "^4.0.1", "mocha": "~2.2.5", "temp": "^0.9.4", + "typescript": "^5.0.4", "uglify-js": "~2.4.8" }, "engines": { "node": ">=12.0.0" } }, + "node_modules/@types/node": { + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", + "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==", + "dev": true + }, "node_modules/@xmldom/xmldom": { "version": "0.8.6", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz", @@ -2918,6 +2926,19 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" + } + }, "node_modules/uglify-js": { "version": "2.4.24", "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", @@ -3101,6 +3122,12 @@ } }, "dependencies": { + "@types/node": { + "version": "20.2.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.2.5.tgz", + "integrity": "sha512-JJulVEQXmiY9Px5axXHeYGLSjhkZEnD+MDPDGbCbIAbMslkKwmygtZFy1X6s/075Yo94sf8GuSlFfPzysQrWZQ==", + "dev": true + }, "@xmldom/xmldom": { "version": "0.8.6", "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.6.tgz", @@ -5568,6 +5595,12 @@ "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "dev": true }, + "typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", + "dev": true + }, "uglify-js": { "version": "2.4.24", "resolved": "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz", diff --git a/package.json b/package.json index 2432a16..8acc01d 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "xmlbuilder": "^10.0.0" }, "devDependencies": { + "@types/node": "^20.2.5", "browserify": "~13.0.1", "browserify-prepend-licenses": "~1.0.0", "duck": "^0.1.12", @@ -36,6 +37,7 @@ "hamjest": "^4.0.1", "mocha": "~2.2.5", "temp": "^0.9.4", + "typescript": "^5.0.4", "uglify-js": "~2.4.8" }, "browser": { @@ -48,6 +50,7 @@ "scripts": { "pretest": "eslint lib test", "test": "mocha 'test/**/*.tests.js'", + "check-typescript": "tsc --noEmit lib/index.d.ts", "prepare": "make mammoth.browser.min.js" }, "license": "BSD-2-Clause", -- cgit v1.2.3