fix: package updates - #21
Conversation
| "strictNullChecks": true, | ||
| "sourceMap": true, | ||
| "strict": true, | ||
| "module": "esnext", |
There was a problem hiding this comment.
Any reason for overriding module and moduleResolution?
lavere
left a comment
There was a problem hiding this comment.
Automated review. Generated automatically when I was requested as a reviewer. It has not been read by a human.
This PR is a dependency bump plus a swap from ESLint to Biome; the src/ and test/ changes are purely formatting and type-annotation spacing with no behavioral difference, and build, typecheck and all 65 tests pass locally. The defects are all in the tooling configuration: the lint script now auto-writes instead of checking, so CI no longer gates on lint/format, and the Node/peer-dependency metadata is now internally inconsistent with the versions the PR actually installs. Note the CI workflows still pin Node 20 while several new devDependencies declare engines of Node >=22.
package.json:10(medium)"lint": "biome check --write"changes lint from a check into a mutation..github/workflows/test.ymlrunsnpm run lintin CI, so Biome will silently rewrite the checked-out files and exit 0 for anything it can safely fix (all formatting violations and most recommended-rule violations). The previouseslint .failed the build on those. As written, lint no longer gates the PR and unformatted code can merge. CI should runbiome ci(orbiome checkwithout--write); keep--writeonly in the lint-staged hook on line 58.package.json:55(medium)peerDependenciesstill caps@js-joda/coreat^5.0.0, but line 35 bumps the devDependency to^6.0.1(package-lock resolves 6.0.1) and the README was changed in this same PR to say "@js-joda/core 5.0 or higher". The library is therefore built and tested against a major version it declares as unsupported, and any consumer on js-joda 6 gets an ERESOLVE peer conflict. Either add|| ^6.0.0to the peer range or keep the devDependency on 5.x.package.json:52(medium)engines.nodeis left at>=18.0.0while the rest of the PR moves the project to Node 22 (@tsconfig/node22, README changed to "Node 22+"), and the new devDependencies hard-require it:lint-staged@17declaresengines.node >=22.22.1and@commitlint/cli@21declares>=22.12.0. Both CI workflows (.github/workflows/test.yml line 19 and commitlint.yml line 16) still pin Node 20 and are not updated by this PR, so the commitlint and lint steps run those packages on an unsupported runtime. Bump the workflows to Node 22 and alignengines.nodewith the documented requirement.
This is mostly bumping packages and also switching from eslint to biome and that leads to some formatting changes.