From 82afa1cbf218885f6ccf37f74ede2e653ab10ba7 Mon Sep 17 00:00:00 2001 From: William Wong Date: Sat, 9 Sep 2023 06:22:34 -0700 Subject: [PATCH 1/2] Type-check tests --- CHANGELOG.md | 1 + packages/use-ref-from/package-lock.json | 13 +++++++++++++ packages/use-ref-from/package.json | 6 ++++-- packages/use-ref-from/src/tsconfig.declaration.json | 6 +++++- ...nfig.json => tsconfig.precommit.production.json} | 1 + .../use-ref-from/src/tsconfig.precommit.test.json | 12 ++++++++++++ .../src/{useRefFrom.spec.js => useRefFrom.spec.ts} | 0 7 files changed, 36 insertions(+), 3 deletions(-) rename packages/use-ref-from/src/{tsconfig.json => tsconfig.precommit.production.json} (78%) create mode 100644 packages/use-ref-from/src/tsconfig.precommit.test.json rename packages/use-ref-from/src/{useRefFrom.spec.js => useRefFrom.spec.ts} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 710154b..37ac037 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed +- Added type-checking for test, by [@compulim](https://github.com/compulim), in PR [#XX](https://github.com/compulim/use-ref-from/pull/XX) - Updates `tsconfig.json` to extend from [`@tsconfig/strictest`](https://npmjs.com/package/@tsconfig/strictest), by [@compulim](https://github.com/compulim), in PR [#21](https://github.com/compulim/use-ref-from/pull/21) - Development dependencies - [`@types/react@18.2.21`](https://npmjs.com/package/@types/react) diff --git a/packages/use-ref-from/package-lock.json b/packages/use-ref-from/package-lock.json index 6f239d4..9cc6c69 100644 --- a/packages/use-ref-from/package-lock.json +++ b/packages/use-ref-from/package-lock.json @@ -18,6 +18,7 @@ "@babel/preset-env": "^7.22.9", "@babel/preset-typescript": "^7.22.5", "@testing-library/react-hooks": "^8.0.1", + "@tsconfig/recommended": "^1.0.2", "@tsconfig/strictest": "^2.0.2", "@types/jest": "^29.5.4", "@types/react": "^17.0.62", @@ -2692,6 +2693,12 @@ "node": ">= 10" } }, + "node_modules/@tsconfig/recommended": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/recommended/-/recommended-1.0.2.tgz", + "integrity": "sha512-dbHBtbWBOjq0/otpopAE02NT2Cm05Qe2JsEKeCf/wjSYbI2hz8nCqnpnOJWHATgjDz4fd3dchs3Wy1gQGjfN6w==", + "dev": true + }, "node_modules/@tsconfig/strictest": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.2.tgz", @@ -9343,6 +9350,12 @@ "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true }, + "@tsconfig/recommended": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@tsconfig/recommended/-/recommended-1.0.2.tgz", + "integrity": "sha512-dbHBtbWBOjq0/otpopAE02NT2Cm05Qe2JsEKeCf/wjSYbI2hz8nCqnpnOJWHATgjDz4fd3dchs3Wy1gQGjfN6w==", + "dev": true + }, "@tsconfig/strictest": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/@tsconfig/strictest/-/strictest-2.0.2.tgz", diff --git a/packages/use-ref-from/package.json b/packages/use-ref-from/package.json index d99f79a..ebabb93 100644 --- a/packages/use-ref-from/package.json +++ b/packages/use-ref-from/package.json @@ -44,9 +44,10 @@ "bump:prod": "if [ `cat package.json | jq -r '(.dependencies // {}) | length'` -ne 0 ]; then npm install --save-exact $(cat package.json | jq -r '(.pinDependencies // {}) as $p | ((.dependencies // {}) | keys) | map(. + \"@\" + ($p[.] // [\"latest\"])[0]) | .[]'); fi", "postbump": "cat package.json | jq '. + (.dependencies = (((.dependencies // {}) + (.localPeerDependencies // {})) | to_entries | sort_by(.key) | from_entries)) | (.devDependencies = (((.devDependencies // {}) + (.localPeerDevDependencies // {})) | to_entries | sort_by(.key) | from_entries))' > package-temp.json && mv package-temp.json package.json", "prebump": "cat package.json | jq '(((.localPeerDependencies // {}) | keys | map([\"dependencies\", .])) + ((.localPeerDevDependencies // {}) | keys | map([\"devDependencies\", .]))) as $localPeerPaths | delpaths($localPeerPaths)' > package-temp.json && mv package-temp.json package.json", - "precommit": "npm run precommit:eslint && npm run precommit:typescript", + "precommit": "npm run precommit:eslint && npm run precommit:typescript:production && npm run precommit:typescript:test", "precommit:eslint": "eslint ./src/", - "precommit:typescript": "tsc --noEmit --project ./src/tsconfig.json", + "precommit:typescript:production": "tsc --noEmit --project ./src/tsconfig.precommit.production.json", + "precommit:typescript:test": "tsc --noEmit --project ./src/tsconfig.precommit.test.json", "prepack": "cp ../../CHANGELOG.md . && cp ../../LICENSE . && cp ../../README.md .", "test": "jest" }, @@ -86,6 +87,7 @@ "@babel/preset-env": "^7.22.9", "@babel/preset-typescript": "^7.22.5", "@testing-library/react-hooks": "^8.0.1", + "@tsconfig/recommended": "^1.0.2", "@tsconfig/strictest": "^2.0.2", "@types/jest": "^29.5.4", "@types/react": "^17.0.62", diff --git a/packages/use-ref-from/src/tsconfig.declaration.json b/packages/use-ref-from/src/tsconfig.declaration.json index d3b8b53..44f92cb 100644 --- a/packages/use-ref-from/src/tsconfig.declaration.json +++ b/packages/use-ref-from/src/tsconfig.declaration.json @@ -2,8 +2,12 @@ "compilerOptions": { "declaration": true, "emitDeclarationOnly": true, + "esModuleInterop": true, + "jsx": "react", + "module": "NodeNext", + "moduleResolution": "NodeNext", "noEmit": false }, "exclude": ["**/*.spec.*", "**/*.test.*", "__test__/**/*"], - "extends": "./tsconfig.json" + "extends": "@tsconfig/strictest/tsconfig.json" } diff --git a/packages/use-ref-from/src/tsconfig.json b/packages/use-ref-from/src/tsconfig.precommit.production.json similarity index 78% rename from packages/use-ref-from/src/tsconfig.json rename to packages/use-ref-from/src/tsconfig.precommit.production.json index bd2c170..7b7635c 100644 --- a/packages/use-ref-from/src/tsconfig.json +++ b/packages/use-ref-from/src/tsconfig.precommit.production.json @@ -7,5 +7,6 @@ "noEmit": true, "strict": true }, + "exclude": ["**/*.spec.ts", "**/*.test.ts", "__test__/**/*"], "extends": "@tsconfig/strictest/tsconfig.json" } diff --git a/packages/use-ref-from/src/tsconfig.precommit.test.json b/packages/use-ref-from/src/tsconfig.precommit.test.json new file mode 100644 index 0000000..622c97a --- /dev/null +++ b/packages/use-ref-from/src/tsconfig.precommit.test.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "esModuleInterop": true, + "jsx": "react", + "module": "NodeNext", + "moduleResolution": "NodeNext", + "noEmit": true, + "strict": true + }, + "extends": "@tsconfig/recommended/tsconfig.json", + "include": ["**/*.spec.ts", "**/*.test.ts", "__test__/**/*"] +} diff --git a/packages/use-ref-from/src/useRefFrom.spec.js b/packages/use-ref-from/src/useRefFrom.spec.ts similarity index 100% rename from packages/use-ref-from/src/useRefFrom.spec.js rename to packages/use-ref-from/src/useRefFrom.spec.ts From 0bef0342921b5b1e47fb63c8f46d4aebbdbca735 Mon Sep 17 00:00:00 2001 From: William Wong Date: Sat, 9 Sep 2023 06:24:30 -0700 Subject: [PATCH 2/2] Update number --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 37ac037..78b6079 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,7 +9,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed -- Added type-checking for test, by [@compulim](https://github.com/compulim), in PR [#XX](https://github.com/compulim/use-ref-from/pull/XX) +- Added type-checking for test, by [@compulim](https://github.com/compulim), in PR [#22](https://github.com/compulim/use-ref-from/pull/22) - Updates `tsconfig.json` to extend from [`@tsconfig/strictest`](https://npmjs.com/package/@tsconfig/strictest), by [@compulim](https://github.com/compulim), in PR [#21](https://github.com/compulim/use-ref-from/pull/21) - Development dependencies - [`@types/react@18.2.21`](https://npmjs.com/package/@types/react)