Skip to content

Commit

Permalink
test: setup workspace & coverage (#441)
Browse files Browse the repository at this point in the history
  • Loading branch information
tien authored Feb 4, 2025
1 parent 439a212 commit de99a7c
Show file tree
Hide file tree
Showing 12 changed files with 190 additions and 34 deletions.
7 changes: 6 additions & 1 deletion .github/workflows/verification.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,5 +11,10 @@ jobs:
- uses: ./.github/actions/setup
- run: yarn prettier --check .
- run: yarn lint
- run: yarn test
- run: yarn build

- run: yarn test run --coverage
- if: always()
uses: codecov/codecov-action@v5
with:
token: ${{ secrets.CODECOV_TOKEN }}
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
node_modules
coverage
.yarn/*
!.yarn/patches
.nx/cache
Expand Down
2 changes: 1 addition & 1 deletion .husky/pre-commit
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
yarn lint
yarn test
yarn test run
4 changes: 0 additions & 4 deletions nx.json
Original file line number Diff line number Diff line change
Expand Up @@ -12,10 +12,6 @@
},
"lint": {
"cache": true
},
"test": {
"dependsOn": ["^build"],
"cache": true
}
},
"parallel": 9
Expand Down
6 changes: 4 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@
"build:packages": "nx run-many -t build --projects='packages/*'",
"publish:packages": "yarn build:packages && scripts/publish.sh",
"lint": "nx run-many -t lint -- --max-warnings=0",
"test": "nx run-many -t test",
"test": "vitest",
"postinstall": "husky"
},
"devDependencies": {
Expand All @@ -41,8 +41,10 @@
"@commitlint/cli": "^19.6.1",
"@commitlint/config-conventional": "^19.6.0",
"@trivago/prettier-plugin-sort-imports": "^5.2.2",
"@vitest/coverage-v8": "3.0.4",
"husky": "^9.1.7",
"nx": "^20.4.0",
"prettier": "^3.4.2"
"prettier": "^3.4.2",
"vitest": "^3.0.4"
}
}
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@
"dev": "tsc --build --watch",
"build": "rm -rf build && tsc --build",
"lint": "eslint src",
"test": "vitest run"
"test": "vitest"
},
"dependencies": {
"@reactive-dot/utils": "workspace:^",
Expand Down
4 changes: 2 additions & 2 deletions packages/core/vitest.config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import { defineConfig } from "vitest/config";
import { defineProject } from "vitest/config";

export default defineConfig({});
export default defineProject({});
2 changes: 1 addition & 1 deletion packages/utils/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
"dev": "tsc --build --watch",
"build": "rm -rf build && tsc --build",
"lint": "eslint src",
"test": "vitest run"
"test": "vitest"
},
"devDependencies": {
"@reactive-dot/eslint-config": "workspace:^",
Expand Down
4 changes: 2 additions & 2 deletions packages/utils/vitest.config.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
import { defineConfig } from "vitest/config";
import { defineProject } from "vitest/config";

export default defineConfig({});
export default defineProject({});
16 changes: 16 additions & 0 deletions vitest.config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
import { coverageConfigDefaults, defineConfig } from "vitest/config";

export default defineConfig({
test: {
coverage: {
reporter: ["text", "json-summary", "json"],
reportOnFailure: true,
include: ["packages/**"],
exclude: [
"**/build/**",
"packages/eslint-config",
...coverageConfigDefaults.exclude,
],
},
},
});
1 change: 1 addition & 0 deletions vitest.workspace.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export default ["packages/*"];
175 changes: 155 additions & 20 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -206,7 +206,7 @@ __metadata:
languageName: node
linkType: hard

"@ampproject/remapping@npm:^2.2.0":
"@ampproject/remapping@npm:^2.2.0, @ampproject/remapping@npm:^2.3.0":
version: 2.3.0
resolution: "@ampproject/remapping@npm:2.3.0"
dependencies:
Expand Down Expand Up @@ -711,25 +711,25 @@ __metadata:
languageName: node
linkType: hard

"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2":
version: 7.26.2
resolution: "@babel/parser@npm:7.26.2"
"@babel/parser@npm:^7.25.4, @babel/parser@npm:^7.26.5, @babel/parser@npm:^7.26.7":
version: 7.26.7
resolution: "@babel/parser@npm:7.26.7"
dependencies:
"@babel/types": "npm:^7.26.0"
"@babel/types": "npm:^7.26.7"
bin:
parser: ./bin/babel-parser.js
checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7
checksum: 10c0/dcb08a4f2878ece33caffefe43b71488d753324bae7ca58d64bca3bc4af34dcfa1b58abdf9972516d76af760fceb25bb9294ca33461d56b31c5059ccfe32001f
languageName: node
linkType: hard

"@babel/parser@npm:^7.26.5, @babel/parser@npm:^7.26.7":
version: 7.26.7
resolution: "@babel/parser@npm:7.26.7"
"@babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.2":
version: 7.26.2
resolution: "@babel/parser@npm:7.26.2"
dependencies:
"@babel/types": "npm:^7.26.7"
"@babel/types": "npm:^7.26.0"
bin:
parser: ./bin/babel-parser.js
checksum: 10c0/dcb08a4f2878ece33caffefe43b71488d753324bae7ca58d64bca3bc4af34dcfa1b58abdf9972516d76af760fceb25bb9294ca33461d56b31c5059ccfe32001f
checksum: 10c0/751a743087b3a9172a7599f1421830d44c38f065ef781588d2bfb1c98f9b461719a226feb13c868d7a284783eee120c88ea522593118f2668f46ebfb1105c4d7
languageName: node
linkType: hard

Expand Down Expand Up @@ -1962,6 +1962,16 @@ __metadata:
languageName: node
linkType: hard

"@babel/types@npm:^7.25.4, @babel/types@npm:^7.26.5, @babel/types@npm:^7.26.7":
version: 7.26.7
resolution: "@babel/types@npm:7.26.7"
dependencies:
"@babel/helper-string-parser": "npm:^7.25.9"
"@babel/helper-validator-identifier": "npm:^7.25.9"
checksum: 10c0/7810a2bca97b13c253f07a0863a628d33dbe76ee3c163367f24be93bfaf4c8c0a325f73208abaaa050a6b36059efc2950c2e4b71fb109c0f07fa62221d8473d4
languageName: node
linkType: hard

"@babel/types@npm:^7.25.8":
version: 7.25.8
resolution: "@babel/types@npm:7.25.8"
Expand All @@ -1983,13 +1993,10 @@ __metadata:
languageName: node
linkType: hard

"@babel/types@npm:^7.26.5, @babel/types@npm:^7.26.7":
version: 7.26.7
resolution: "@babel/types@npm:7.26.7"
dependencies:
"@babel/helper-string-parser": "npm:^7.25.9"
"@babel/helper-validator-identifier": "npm:^7.25.9"
checksum: 10c0/7810a2bca97b13c253f07a0863a628d33dbe76ee3c163367f24be93bfaf4c8c0a325f73208abaaa050a6b36059efc2950c2e4b71fb109c0f07fa62221d8473d4
"@bcoe/v8-coverage@npm:^1.0.2":
version: 1.0.2
resolution: "@bcoe/v8-coverage@npm:1.0.2"
checksum: 10c0/1eb1dc93cc17fb7abdcef21a6e7b867d6aa99a7ec88ec8207402b23d9083ab22a8011213f04b2cf26d535f1d22dc26139b7929e6c2134c254bd1e14ba5e678c3
languageName: node
linkType: hard

Expand Down Expand Up @@ -3844,6 +3851,13 @@ __metadata:
languageName: node
linkType: hard

"@istanbuljs/schema@npm:^0.1.2":
version: 0.1.3
resolution: "@istanbuljs/schema@npm:0.1.3"
checksum: 10c0/61c5286771676c9ca3eb2bd8a7310a9c063fb6e0e9712225c8471c582d157392c88f5353581c8c9adbe0dff98892317d2fdfc56c3499aa42e0194405206a963a
languageName: node
linkType: hard

"@jest/schemas@npm:^29.6.3":
version: 29.6.3
resolution: "@jest/schemas@npm:29.6.3"
Expand Down Expand Up @@ -3916,7 +3930,7 @@ __metadata:
languageName: node
linkType: hard

"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
"@jridgewell/trace-mapping@npm:^0.3.18, @jridgewell/trace-mapping@npm:^0.3.20, @jridgewell/trace-mapping@npm:^0.3.23, @jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
version: 0.3.25
resolution: "@jridgewell/trace-mapping@npm:0.3.25"
dependencies:
Expand Down Expand Up @@ -6426,6 +6440,32 @@ __metadata:
languageName: node
linkType: hard

"@vitest/coverage-v8@npm:3.0.4":
version: 3.0.4
resolution: "@vitest/coverage-v8@npm:3.0.4"
dependencies:
"@ampproject/remapping": "npm:^2.3.0"
"@bcoe/v8-coverage": "npm:^1.0.2"
debug: "npm:^4.4.0"
istanbul-lib-coverage: "npm:^3.2.2"
istanbul-lib-report: "npm:^3.0.1"
istanbul-lib-source-maps: "npm:^5.0.6"
istanbul-reports: "npm:^3.1.7"
magic-string: "npm:^0.30.17"
magicast: "npm:^0.3.5"
std-env: "npm:^3.8.0"
test-exclude: "npm:^7.0.1"
tinyrainbow: "npm:^2.0.0"
peerDependencies:
"@vitest/browser": 3.0.4
vitest: 3.0.4
peerDependenciesMeta:
"@vitest/browser":
optional: true
checksum: 10c0/bffa89652d6a10fde188893e16c53885803f6bf3be76bb1b2224050ce00feea056e5f23642b2cc21f37385ec0da88fbfaab098a55ab723d23effc3cd6e54ecd0
languageName: node
linkType: hard

"@vitest/expect@npm:3.0.4":
version: 3.0.4
resolution: "@vitest/expect@npm:3.0.4"
Expand Down Expand Up @@ -11291,6 +11331,22 @@ __metadata:
languageName: node
linkType: hard

"glob@npm:^10.4.1":
version: 10.4.5
resolution: "glob@npm:10.4.5"
dependencies:
foreground-child: "npm:^3.1.0"
jackspeak: "npm:^3.1.2"
minimatch: "npm:^9.0.4"
minipass: "npm:^7.1.2"
package-json-from-dist: "npm:^1.0.0"
path-scurry: "npm:^1.11.1"
bin:
glob: dist/esm/bin.mjs
checksum: 10c0/19a9759ea77b8e3ca0a43c2f07ecddc2ad46216b786bb8f993c445aee80d345925a21e5280c7b7c6c59e860a0154b84e4b2b60321fea92cd3c56b4a7489f160e
languageName: node
linkType: hard

"glob@npm:^7.0.0, glob@npm:^7.1.3, glob@npm:^7.1.6":
version: 7.2.3
resolution: "glob@npm:7.2.3"
Expand Down Expand Up @@ -11775,7 +11831,7 @@ __metadata:
languageName: node
linkType: hard

"html-escaper@npm:^2.0.2":
"html-escaper@npm:^2.0.0, html-escaper@npm:^2.0.2":
version: 2.0.2
resolution: "html-escaper@npm:2.0.2"
checksum: 10c0/208e8a12de1a6569edbb14544f4567e6ce8ecc30b9394fcaa4e7bb1e60c12a7c9a1ed27e31290817157e8626f3a4f29e76c8747030822eb84a6abb15c255f0a0
Expand Down Expand Up @@ -12664,6 +12720,45 @@ __metadata:
languageName: node
linkType: hard

"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.2":
version: 3.2.2
resolution: "istanbul-lib-coverage@npm:3.2.2"
checksum: 10c0/6c7ff2106769e5f592ded1fb418f9f73b4411fd5a084387a5410538332b6567cd1763ff6b6cadca9b9eb2c443cce2f7ea7d7f1b8d315f9ce58539793b1e0922b
languageName: node
linkType: hard

"istanbul-lib-report@npm:^3.0.0, istanbul-lib-report@npm:^3.0.1":
version: 3.0.1
resolution: "istanbul-lib-report@npm:3.0.1"
dependencies:
istanbul-lib-coverage: "npm:^3.0.0"
make-dir: "npm:^4.0.0"
supports-color: "npm:^7.1.0"
checksum: 10c0/84323afb14392de8b6a5714bd7e9af845cfbd56cfe71ed276cda2f5f1201aea673c7111901227ee33e68e4364e288d73861eb2ed48f6679d1e69a43b6d9b3ba7
languageName: node
linkType: hard

"istanbul-lib-source-maps@npm:^5.0.6":
version: 5.0.6
resolution: "istanbul-lib-source-maps@npm:5.0.6"
dependencies:
"@jridgewell/trace-mapping": "npm:^0.3.23"
debug: "npm:^4.1.1"
istanbul-lib-coverage: "npm:^3.0.0"
checksum: 10c0/ffe75d70b303a3621ee4671554f306e0831b16f39ab7f4ab52e54d356a5d33e534d97563e318f1333a6aae1d42f91ec49c76b6cd3f3fb378addcb5c81da0255f
languageName: node
linkType: hard

"istanbul-reports@npm:^3.1.7":
version: 3.1.7
resolution: "istanbul-reports@npm:3.1.7"
dependencies:
html-escaper: "npm:^2.0.0"
istanbul-lib-report: "npm:^3.0.0"
checksum: 10c0/a379fadf9cf8dc5dfe25568115721d4a7eb82fbd50b005a6672aff9c6989b20cc9312d7865814e0859cd8df58cbf664482e1d3604be0afde1f7fc3ccc1394a51
languageName: node
linkType: hard

"jackspeak@npm:^3.1.2":
version: 3.4.0
resolution: "jackspeak@npm:3.4.0"
Expand Down Expand Up @@ -13433,6 +13528,26 @@ __metadata:
languageName: node
linkType: hard

"magicast@npm:^0.3.5":
version: 0.3.5
resolution: "magicast@npm:0.3.5"
dependencies:
"@babel/parser": "npm:^7.25.4"
"@babel/types": "npm:^7.25.4"
source-map-js: "npm:^1.2.0"
checksum: 10c0/a6cacc0a848af84f03e3f5bda7b0de75e4d0aa9ddce5517fd23ed0f31b5ddd51b2d0ff0b7e09b51f7de0f4053c7a1107117edda6b0732dca3e9e39e6c5a68c64
languageName: node
linkType: hard

"make-dir@npm:^4.0.0":
version: 4.0.0
resolution: "make-dir@npm:4.0.0"
dependencies:
semver: "npm:^7.5.3"
checksum: 10c0/69b98a6c0b8e5c4fe9acb61608a9fbcfca1756d910f51e5dbe7a9e5cfb74fca9b8a0c8a0ffdf1294a740826c1ab4871d5bf3f62f72a3049e5eac6541ddffed68
languageName: node
linkType: hard

"make-fetch-happen@npm:^13.0.0":
version: 13.0.1
resolution: "make-fetch-happen@npm:13.0.1"
Expand Down Expand Up @@ -15286,6 +15401,13 @@ __metadata:
languageName: node
linkType: hard

"package-json-from-dist@npm:^1.0.0":
version: 1.0.1
resolution: "package-json-from-dist@npm:1.0.1"
checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b
languageName: node
linkType: hard

"package-json@npm:^8.1.0":
version: 8.1.1
resolution: "package-json@npm:8.1.1"
Expand Down Expand Up @@ -16892,9 +17014,11 @@ __metadata:
"@commitlint/cli": "npm:^19.6.1"
"@commitlint/config-conventional": "npm:^19.6.0"
"@trivago/prettier-plugin-sort-imports": "npm:^5.2.2"
"@vitest/coverage-v8": "npm:3.0.4"
husky: "npm:^9.1.7"
nx: "npm:^20.4.0"
prettier: "npm:^3.4.2"
vitest: "npm:^3.0.4"
languageName: unknown
linkType: soft

Expand Down Expand Up @@ -18638,6 +18762,17 @@ __metadata:
languageName: node
linkType: hard

"test-exclude@npm:^7.0.1":
version: 7.0.1
resolution: "test-exclude@npm:7.0.1"
dependencies:
"@istanbuljs/schema": "npm:^0.1.2"
glob: "npm:^10.4.1"
minimatch: "npm:^9.0.4"
checksum: 10c0/6d67b9af4336a2e12b26a68c83308c7863534c65f27ed4ff7068a56f5a58f7ac703e8fc80f698a19bb154fd8f705cdf7ec347d9512b2c522c737269507e7b263
languageName: node
linkType: hard

"text-extensions@npm:^2.0.0":
version: 2.4.0
resolution: "text-extensions@npm:2.4.0"
Expand Down

0 comments on commit de99a7c

Please sign in to comment.