diff --git a/.changeset/engine.md b/.changeset/engine.md
new file mode 100644
index 0000000..78a2083
--- /dev/null
+++ b/.changeset/engine.md
@@ -0,0 +1,10 @@
+---
+'@haetae/common': patch
+'@haetae/core': patch
+'@haetae/git': patch
+'@haetae/js': patch
+'@haetae/utils': patch
+'haetae': patch
+---
+
+BREAKING CHANGE: Set `"node": ">=20"` for engine.
diff --git a/.nvmrc b/.nvmrc
index 4b5ebaf..209e3ef 100644
--- a/.nvmrc
+++ b/.nvmrc
@@ -1 +1 @@
-18.6.0
+20
diff --git a/package.json b/package.json
index ac78950..8d17537 100644
--- a/package.json
+++ b/package.json
@@ -5,7 +5,7 @@
"license": "MIT",
"private": true,
"engines": {
- "node": ">=18.6.0",
+ "node": ">=20",
"pnpm": ">=8.6.2"
},
"packageManager": "pnpm@8.6.2",
diff --git a/packages/cli/package.json b/packages/cli/package.json
index 4d27140..5a587fd 100644
--- a/packages/cli/package.json
+++ b/packages/cli/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/common/package.json b/packages/common/package.json
index e73e07a..79bab1d 100644
--- a/packages/common/package.json
+++ b/packages/common/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/core/package.json b/packages/core/package.json
index 76dfef7..6c59d0a 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/docs/pages/getting-started.mdx b/packages/docs/pages/getting-started.mdx
index 2b29116..0c9ad18 100644
--- a/packages/docs/pages/getting-started.mdx
+++ b/packages/docs/pages/getting-started.mdx
@@ -51,7 +51,7 @@ By just a simple config, Haetae can automatically detect the dependency graph an
## Installation
-So, let's install Haetae. (Node 16 or higher is required.)
+So, let's install Haetae. (Node 20 or higher is required.)
It doesn't matter whether your project is new or existing (Haetae can be incrementally adapted).
It's good for monorepo as well. (Guided later in other part of docs.)
Literally **any project** is proper.
diff --git a/packages/git/package.json b/packages/git/package.json
index 7f32e62..1726a47 100644
--- a/packages/git/package.json
+++ b/packages/git/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/haetae/package.json b/packages/haetae/package.json
index d081463..ef3c30f 100644
--- a/packages/haetae/package.json
+++ b/packages/haetae/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/js/package.json b/packages/js/package.json
index 34d3424..0ea0fa1 100644
--- a/packages/js/package.json
+++ b/packages/js/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/packages/utils/package.json b/packages/utils/package.json
index 0289e3a..f7dd3bd 100644
--- a/packages/utils/package.json
+++ b/packages/utils/package.json
@@ -6,7 +6,7 @@
"private": false,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"exports": "./dist/index.js",
"types": "./dist/index.d.ts",
diff --git a/test-project/package.json b/test-project/package.json
index 444638c..caf5471 100644
--- a/test-project/package.json
+++ b/test-project/package.json
@@ -6,7 +6,7 @@
"private": true,
"type": "module",
"engines": {
- "node": ">=16"
+ "node": ">=20"
},
"packageManager": "yarn@1.22.1",
"workspaces": [
diff --git a/test-project/readme.md b/test-project/readme.md
index 4929cf9..7bf5b08 100644
--- a/test-project/readme.md
+++ b/test-project/readme.md
@@ -70,7 +70,7 @@ There is `engines` restriction in package.json, as `subpath imports` is added fr
// package.json
{
"engines": {
- "node": ">=16"
+ "node": ">=20"
}
}
```