Skip to content

feat!: node engine v20, eslint v10, prepare ts v6, matrix build#35

Open
allanhvam wants to merge 2 commits into
mainfrom
dev
Open

feat!: node engine v20, eslint v10, prepare ts v6, matrix build#35
allanhvam wants to merge 2 commits into
mainfrom
dev

Conversation

@allanhvam
Copy link
Copy Markdown
Owner

No description provided.

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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]);
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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.

Suggested change
assert.ok(!args[0]);
assert.ok(args[0] == null);

Copilot uses AI. Check for mistakes.
Comment thread package.json
"type": "module",
"engines": {
"node": ">=18.19.0"
"node": ">=20.0.0"
Copy link

Copilot AI Mar 24, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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).

Suggested change
"node": ">=20.0.0"
"node": ">=20.19.0"

Copilot uses AI. Check for mistakes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants