aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Williamson <mike@zwobble.org>2023-05-30 10:43:46 +0100
committerMichael Williamson <mike@zwobble.org>2023-05-30 10:43:46 +0100
commitbb744a1f4e3dba2258c083bd47669e0d010d0488 (patch)
tree7f57e30c0cdeb46bade0f2dd3a34f1720e9b5e9e
parentb02278fc5677b0eb749534ed90ff3a63bd159fcc (diff)
Check TypeScript declarations are valid
-rw-r--r--.github/workflows/tests.yml2
-rw-r--r--package-lock.json33
-rw-r--r--package.json3
3 files changed, 38 insertions, 0 deletions
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",