chore(deps): Drop Node.js 20, add Node.js 26 support

Node.js 20 reaches end-of-life on 2026-04-30, so raise the minimum
supported version to 22 (the next active LTS) and add Node.js 26 to the
CI matrix as the current release line.

- Bump engines.node to >=22.0.0 in package.json and scripts/memory
- Update CI matrix to [22.x, 24.x, 26.x] (drop 20.x and 25.x; 25.x EOL 2026-06)
- Update test-action.yml matrix to [22, 24, 26]
- Drop the obsolete `node --run` workaround comment in ci.yml since
  `node --run` is supported on all matrix versions
- Update Node.js version mentions in English docs, llms-install.md,
  configShard, bug report template, and code samples in hi/vi
  github-actions guides

Dockerfile (node:22-slim) is intentionally left at the minimum supported
version so the published image confirms Repomix runs on the floor.
This commit is contained in:
Kazuki Yamada
2026-05-09 18:49:37 +09:00
parent b99706131b
commit 9caf541368
13 changed files with 23 additions and 25 deletions
+1 -1
View File
@@ -43,4 +43,4 @@ body:
attributes:
label: Node.js Version
description: "Output of `node --version`"
placeholder: "e.g. v18.16.0"
placeholder: "e.g. v22.0.0"
+3 -5
View File
@@ -88,7 +88,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [20.x, 22.x, 24.x, 25.x]
node-version: [22.x, 24.x, 26.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -99,8 +99,7 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
# Run tests directly instead of using npm scripts with node --run which is not supported in older Node versions
- run: ./node_modules/.bin/vitest --reporter=verbose
- run: npm run test -- --reporter=verbose
env:
CI_OS: ${{ runner.os }}
@@ -161,7 +160,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
node-version: [20.x, 22.x, 24.x, 25.x]
node-version: [22.x, 24.x, 26.x]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -172,7 +171,6 @@ jobs:
with:
node-version: ${{ matrix.node-version }}
- run: npm ci
# Run build directly instead of using npm scripts with node --run which is not supported in older Node versions
- run: ./node_modules/.bin/rimraf lib && ./node_modules/.bin/tsc -p tsconfig.build.json --sourceMap --declaration
- name: Remove dev dependencies
run: npm prune --omit=dev
+5 -5
View File
@@ -15,13 +15,13 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [18, 20, 22]
node-version: [22, 24, 26]
include:
- node-version: 18
test-case: "minimal"
- node-version: 20
test-case: "basic"
- node-version: 22
test-case: "minimal"
- node-version: 24
test-case: "basic"
- node-version: 26
test-case: "full"
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
+1 -1
View File
@@ -10,7 +10,7 @@ Repomix MCP server is a powerful tool that packages local or remote codebases in
Before installation, you need:
1. Node.js 20.0.0 or higher
1. Node.js 22.0.0 or higher
2. npm (Node Package Manager)
## Installation and Configuration
+1 -1
View File
@@ -59,7 +59,7 @@
"vitest": "^4.1.4"
},
"engines": {
"node": ">=20.0.0",
"node": ">=22.0.0",
"yarn": ">=1.22.22"
}
},
+1 -1
View File
@@ -124,7 +124,7 @@
"vitest": "^4.1.4"
},
"engines": {
"node": ">=20.0.0",
"node": ">=22.0.0",
"yarn": ">=1.22.22"
}
}
+3 -3
View File
@@ -17,7 +17,7 @@
"typescript": "^6.0.3"
},
"engines": {
"node": ">=18.0.0"
"node": ">=22.0.0"
}
},
"../..": {
@@ -27,7 +27,7 @@
"@clack/prompts": "^0.11.0",
"@modelcontextprotocol/sdk": "^1.29.0",
"@repomix/strip-comments": "^2.4.2",
"@repomix/tree-sitter-wasms": "^0.1.16",
"@repomix/tree-sitter-wasms": "^0.1.17",
"@secretlint/core": "^11.6.0",
"@secretlint/secretlint-rule-preset-recommend": "^11.6.0",
"commander": "^14.0.3",
@@ -74,7 +74,7 @@
"vitest": "^4.1.4"
},
"engines": {
"node": ">=20.0.0",
"node": ">=22.0.0",
"yarn": ">=1.22.22"
}
},
+1 -1
View File
@@ -23,7 +23,7 @@
"typescript": "^6.0.3"
},
"engines": {
"node": ">=18.0.0"
"node": ">=22.0.0"
},
"keywords": [
"benchmark",
@@ -91,7 +91,7 @@ const jsonLd = {
isAccessibleForFree: true,
installUrl: npmUrl,
downloadUrl: npmUrl,
softwareRequirements: 'Node.js 20.0.0 or higher',
softwareRequirements: 'Node.js 22.0.0 or higher',
image: `${siteUrl}/images/repomix-logo.svg`,
screenshot: ogImageUrl,
author: {
@@ -20,7 +20,7 @@ Thank you for your interest in **Repomix**! 🚀 We'd love your help to make it
### Prerequisites
- Node.js ≥ 20.0.0
- Node.js ≥ 22.0.0
- Git
- npm
- Docker (optional, for running the website or containerized development)
+1 -1
View File
@@ -15,7 +15,7 @@ Repomix packs a repository into a single AI-friendly file so you can give an AI
### Does Repomix work with C#, Python, Java, Go, Rust, or other languages?
Yes. Repomix can pack repositories written in any programming language because it reads files from your project and formats them for AI tools. Repomix itself runs on Node.js, so you need Node.js 20 or later when using the CLI. Some advanced features, such as Tree-sitter code compression, depend on language parser support and may vary by language.
Yes. Repomix can pack repositories written in any programming language because it reads files from your project and formats them for AI tools. Repomix itself runs on Node.js, so you need Node.js 22 or later when using the CLI. Some advanced features, such as Tree-sitter code compression, depend on language parser support and may vary by language.
See [Installation](/guide/installation) for runtime requirements.
@@ -31,7 +31,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
node-version: '22'
- name: Run Repomix
run: npx repomix --output-file repomix-output.xml
@@ -71,7 +71,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
node-version: '22'
- name: Run Repomix
run: |
@@ -128,7 +128,7 @@ jobs:
strategy:
matrix:
output-style: [xml, markdown, json, plain]
node-version: [20, 22]
node-version: [22, 24]
steps:
- uses: actions/checkout@v3
@@ -186,7 +186,7 @@ jobs:
- name: Setup Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
node-version: '22'
- name: Install Repomix
run: npm install -g repomix