Skip to content

Commit 9dc1609

Browse files
authored
Replace dtslint with tsd to test .d.ts files (#1051)
This patch replaces `dtslint` with `tsd` for testing `.d.ts` files, ensuring improved type validation and updated test coverage, including: 1. Added a new test file, `index.test-d.ts`, with comprehensive type assertions using `tsd`. 2. Removed existing test file, `index.d.ts` , `index.d.ts`, `test.ts`, `tsconfig.json` and `tslint.json` that is no longer needed. 3. Removed `dtslint` from `dependencies` for `package.json`. 4. Added `tsd` and `@types/node` into `devDependencies` for `package.json`. After this patch: 1. Running `npm test` will test for `.d.ts` files. 2. Running `npm install` will generate interfaces for `.d.ts` files. Fix: #1050
1 parent 7bd1f55 commit 9dc1609

File tree

7 files changed

+403
-753
lines changed

7 files changed

+403
-753
lines changed

package.json

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -17,14 +17,13 @@
1717
"build:dev": "node-gyp -j 16 build --debug",
1818
"rebuild": "npm run clean && node-gyp -j 16 rebuild",
1919
"rebuild:dev": "npm run clean && node-gyp -j 16 rebuild --debug",
20-
"generate-messages": "node scripts/generate_messages.js",
21-
"generate-messages:dev": "node scripts/generate_messages.js --debug",
20+
"generate-messages": "node scripts/generate_messages.js && node scripts/generate_tsd.js",
21+
"generate-messages:dev": "node scripts/generate_messages.js --debug && node scripts/generate_tsd.js",
2222
"clean": "node-gyp clean && rimraf ./generated",
2323
"install": "npm run rebuild",
2424
"postinstall": "npm run generate-messages",
2525
"docs": "cd docs && make",
26-
"test": "node --expose-gc ./scripts/run_test.js && npm run dtslint",
27-
"dtslint": "node scripts/generate_tsd.js",
26+
"test": "node --expose-gc ./scripts/run_test.js && npx tsd",
2827
"lint": "eslint --max-warnings=0 --ext js,ts index.js types scripts lib example rosidl_gen rosidl_parser test benchmark/rclnodejs && node ./scripts/cpplint.js",
2928
"format": "clang-format -i -style=file ./src/*.cpp ./src/*.hpp && prettier --write \"{lib,rosidl_gen,rostsd_gen,rosidl_parser,types,example,test,scripts,benchmark}/**/*.{js,md,ts}\" ./*.{js,md,ts}",
3029
"prepare": "husky"
@@ -45,6 +44,7 @@
4544
},
4645
"devDependencies": {
4746
"@babel/eslint-parser": "^7.25.9",
47+
"@types/node": "^22.13.5",
4848
"@typescript-eslint/eslint-plugin": "^8.18.0",
4949
"@typescript-eslint/parser": "^8.18.0",
5050
"babel-eslint": "^10.1.0",
@@ -60,6 +60,7 @@
6060
"mocha": "^11.0.2",
6161
"sinon": "^19.0.2",
6262
"tree-kill": "^1.2.2",
63+
"tsd": "^0.31.2",
6364
"typescript": "^5.7.2"
6465
},
6566
"dependencies": {
@@ -70,17 +71,16 @@
7071
"compare-versions": "^6.1.1",
7172
"debug": "^4.4.0",
7273
"dot": "^1.1.3",
73-
"dtslint": "^4.2.1",
7474
"fs-extra": "^11.2.0",
75-
"json-bigint": "^1.0.0",
7675
"is-close": "^1.3.3",
76+
"json-bigint": "^1.0.0",
7777
"mkdirp": "^3.0.1",
7878
"mz": "^2.7.0",
7979
"nan": "^2.22.0",
80+
"prettier": "^3.4.2",
8081
"rimraf": "^6.0.1",
8182
"uuid": "^11.0.3",
82-
"walk": "^2.3.15",
83-
"prettier": "^3.4.2"
83+
"walk": "^2.3.15"
8484
},
8585
"husky": {
8686
"hooks": {
@@ -95,6 +95,9 @@
9595
"clang-format -i -style=file"
9696
]
9797
},
98+
"tsd": {
99+
"directory": "test/types"
100+
},
98101
"engines": {
99102
"node": ">= 16.13.0"
100103
}

test/types/index.d.ts

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)