Conversation
There was a problem hiding this comment.
Pull request overview
This PR modernizes the Node/TypeScript tooling and CI setup, aligning the project with newer runtimes and linting infrastructure.
Changes:
- Bumps package version to
0.7.0, raises Node engine requirement to>=20, and upgrades ESLint to v10 (+ related dependencies). - Tweaks TypeScript compilation output structure (
rootDir) and adjusts a trigger-args test expectation. - Updates GitHub Actions workflows to use a Node version matrix for CI and newer action major versions.
Reviewed changes
Copilot reviewed 5 out of 7 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
tsconfig.json |
Sets rootDir to ./src to control emitted output paths under outDir. |
src/tests/triggers.test.ts |
Adjusts assertion logic for startup trigger args. |
src/stores/DurableFunctionsWorkflowHistoryStore.ts |
Minor logic cleanup around hex padding and final history row values. |
package.json |
Version bump + Node engine bump + ESLint v10 toolchain updates. |
package-lock.json |
Lockfile updates reflecting the new toolchain versions and transitive deps. |
.github/workflows/build.yml |
Adds Node matrix (20/22/24) and updates checkout/setup-node action versions. |
.github/workflows/publish.yml |
Updates checkout/setup-node action versions for publish workflow. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| assert.ok(args); | ||
| assert.ok(Array.isArray(args)); | ||
| assert.equal(args.length, 1); | ||
| assert.ok(!args[0]); |
There was a problem hiding this comment.
The assertion assert.ok(!args[0]) is overly permissive (it would also pass for 0, false, or ""). Since the goal appears to be “no args were provided”, consider asserting specifically that the single element is null or undefined (e.g., args[0] == null or an explicit === null || === undefined check) so the test can’t mask unexpected values.
| assert.ok(!args[0]); | |
| assert.ok(args[0] == null); |
| "type": "module", | ||
| "engines": { | ||
| "node": ">=18.19.0" | ||
| "node": ">=20.0.0" |
There was a problem hiding this comment.
package.json declares engines.node as >=20.0.0, but the updated dev tooling (e.g., ESLint 10.x as recorded in package-lock.json) requires Node ^20.19.0 (or newer). This mismatch can lead to contributors using Node 20.0–20.18 satisfying engines but failing installs due to dependency engine constraints. Consider bumping engines.node to >=20.19.0 (or whatever minimum your toolchain actually supports).
| "node": ">=20.0.0" | |
| "node": ">=20.19.0" |
No description provided.