Skip to content

Commit bac9ca9

Browse files
authored
feat: upgrade development environment to Node.js 24 (#340)
- Updated devcontainer to use Node.js 24 image - Updated .node-version from 22 to 24 - Upgraded @types/node to ^24.10.4 - Added prettier as dev dependency (removed from devcontainer feature) - Kept package.json engines.node at >=20 (GitHub Action runtime requirement) - Split lint workflow into separate TypeScript and codebase jobs - Updated documentation in copilot-instructions.md and CONTRIBUTING.md - Regenerated package-lock.json with Node 24 - Verified all tests pass (501/501) with 100% coverage - All lint and type checks pass"
1 parent d6e09c9 commit bac9ca9

File tree

7 files changed

+58
-20
lines changed

7 files changed

+58
-20
lines changed

.devcontainer/devcontainer.json

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
2-
"name": "typescript-node:22",
3-
"image": "mcr.microsoft.com/devcontainers/typescript-node:22",
2+
"name": "typescript-node:24",
3+
"image": "mcr.microsoft.com/devcontainers/typescript-node:24",
44
"mounts": [
55
"source=${localWorkspaceFolderBasename}-node_modules,target=${containerWorkspaceFolder}/node_modules,type=volume"
66
],
@@ -51,7 +51,6 @@
5151
"GITHUB_TOKEN": "${localEnv:GITHUB_TOKEN}"
5252
},
5353
"features": {
54-
"ghcr.io/devcontainers/features/github-cli:1": {},
55-
"ghcr.io/devcontainers-community/npm-features/prettier": {}
54+
"ghcr.io/devcontainers/features/github-cli:1": {}
5655
}
5756
}

.github/copilot-instructions.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ monorepos. Creates module-specific Git tags, GitHub releases, PR comments, and c
66
## Tech Stack
77

88
- **TypeScript 5.9+** with strict mode
9-
- **Node.js 22+** for local development (`.node-version`); compiles to Node.js 20+ compatible output
9+
- **Node.js 24+** for local development (`.node-version`); compiles to Node.js 20+ compatible output for GitHub Actions
10+
runtime (action.yml uses `node20`)
1011
- **Vitest** for testing with V8 coverage
1112
- **Biome** for linting/formatting (not ESLint/Prettier)
1213
- **@actions/core** and **@octokit** for GitHub integration

.github/workflows/lint.yml

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,8 @@ permissions:
1414
statuses: write # To report GitHub Actions status checks
1515

1616
jobs:
17-
lint:
18-
name: Lint Codebase
17+
lint-typescript:
18+
name: Lint TypeScript
1919
runs-on: ubuntu-latest
2020

2121
steps:
@@ -37,11 +37,23 @@ jobs:
3737
id: npm-ci
3838
run: npm ci --no-fund
3939

40-
- name: Lint Typescript
40+
- name: Lint TypeScript with Biome
4141
id: biome
4242
run: npm run check
4343

44-
- name: Lint Codebase
44+
lint-codebase:
45+
name: Lint Codebase
46+
runs-on: ubuntu-latest
47+
48+
steps:
49+
- name: Checkout
50+
id: checkout
51+
uses: actions/checkout@v6
52+
with:
53+
fetch-depth: 0
54+
persist-credentials: false
55+
56+
- name: Lint Codebase with Super-Linter
4557
id: super-linter
4658
uses: super-linter/super-linter@502f4fe48a81a392756e173e39a861f8c8efe056 # v8.3.0
4759
env:

.node-version

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
22
1+
24

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ Before contributing, please:
5858

5959
### Prerequisites
6060

61-
- **Node.js**: Version 20 or higher (see [.node-version](./.node-version) for the exact version)
61+
- **Node.js**: Version 24 or higher (see [.node-version](./.node-version) for the exact version)
6262
- **npm**: Comes with Node.js
6363
- **Git**: For version control
6464

package-lock.json

Lines changed: 33 additions & 8 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,14 @@
6868
"@octokit/types": "^16.0.0",
6969
"@octokit/webhooks-types": "^7.6.1",
7070
"@types/js-yaml": "^4.0.9",
71-
"@types/node": "^22.17.2",
71+
"@types/node": "^24.10.4",
7272
"@types/which": "^3.0.4",
7373
"@vercel/ncc": "^0.38.4",
7474
"@vitest/coverage-v8": "^3.1.3",
7575
"js-yaml": "^4.1.1",
7676
"make-coverage-badge": "^1.2.0",
7777
"openai": "^6.9.1",
78+
"prettier": "^3.7.4",
7879
"textlint": "^15.4.0",
7980
"textlint-filter-rule-comments": "^1.2.2",
8081
"textlint-rule-terminology": "^5.2.16",

0 commit comments

Comments
 (0)