summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Matt Kane <m@mk.gg> 2025-05-22 12:50:33 +0100
committerGravatar GitHub <noreply@github.com> 2025-05-22 12:50:33 +0100
commit3c3b492375bd6a63f1fb6cede3685aff999be3c9 (patch)
treeb31da1406ce090db2c7cda50b43ea206968e8d14
parent543a2d2756c0ce57dffc3097198234c6cb7d7675 (diff)
downloadastro-3c3b492375bd6a63f1fb6cede3685aff999be3c9.tar.gz
astro-3c3b492375bd6a63f1fb6cede3685aff999be3c9.tar.zst
astro-3c3b492375bd6a63f1fb6cede3685aff999be3c9.zip
fix: increase minimum Node version to 18.20.8 (#13809)
Co-authored-by: Emanuele Stoppa <my.burning@gmail.com> Co-authored-by: florian-lefebvre <69633530+florian-lefebvre@users.noreply.github.com> Co-authored-by: ematipico <602478+ematipico@users.noreply.github.com> Co-authored-by: sarah11918 <5098874+sarah11918@users.noreply.github.com> Co-authored-by: yanthomasdev <61414485+yanthomasdev@users.noreply.github.com>
-rw-r--r--.changeset/upset-tires-shout.md20
-rw-r--r--packages/astro-prism/package.json2
-rwxr-xr-xpackages/astro/astro.js2
-rw-r--r--packages/astro/package.json2
-rw-r--r--packages/astro/src/core/build/plugins/plugin-manifest.ts4
-rw-r--r--packages/create-astro/package.json2
-rw-r--r--packages/integrations/markdoc/package.json2
-rw-r--r--packages/integrations/mdx/package.json2
-rw-r--r--packages/integrations/preact/package.json2
-rw-r--r--packages/integrations/react/package.json2
-rw-r--r--packages/integrations/solid/package.json2
-rw-r--r--packages/integrations/svelte/package.json2
-rw-r--r--packages/integrations/vue/package.json2
-rw-r--r--packages/telemetry/package.json2
-rw-r--r--packages/upgrade/package.json2
15 files changed, 35 insertions, 15 deletions
diff --git a/.changeset/upset-tires-shout.md b/.changeset/upset-tires-shout.md
new file mode 100644
index 000000000..8f9fa8d67
--- /dev/null
+++ b/.changeset/upset-tires-shout.md
@@ -0,0 +1,20 @@
+---
+'@astrojs/markdoc': minor
+'@astrojs/preact': minor
+'@astrojs/svelte': minor
+'@astrojs/react': minor
+'@astrojs/solid-js': minor
+'@astrojs/mdx': minor
+'@astrojs/vue': minor
+'create-astro': minor
+'@astrojs/prism': minor
+'@astrojs/telemetry': minor
+'@astrojs/upgrade': minor
+'astro': minor
+---
+
+Increases minimum Node.js version to 18.20.8
+
+Node.js 18 has now reached end-of-life and should not be used. For now, Astro will continue to support Node.js 18.20.8, which is the final LTS release of Node.js 18, as well as Node.js 20 and Node.js 22 or later. We will drop support for Node.js 18 in a future release, so we recommend upgrading to Node.js 22 as soon as possible. See Astro's [Node.js support policy](https://docs.astro.build/en/upgrade-astro/#support) for more details.
+
+:warning: **Important note for users of Cloudflare Pages**: The current build image for Cloudflare Pages uses Node.js 18.17.1 by default, which is no longer supported by Astro. If you are using Cloudflare Pages you should [override the default Node.js version](https://developers.cloudflare.com/pages/configuration/build-image/#override-default-versions) to Node.js 22. This does not affect users of Cloudflare Workers, which uses Node.js 22 by default.
diff --git a/packages/astro-prism/package.json b/packages/astro-prism/package.json
index 654dfb8e7..3541338a5 100644
--- a/packages/astro-prism/package.json
+++ b/packages/astro-prism/package.json
@@ -39,6 +39,6 @@
"astro-scripts": "workspace:*"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
}
diff --git a/packages/astro/astro.js b/packages/astro/astro.js
index a02e60b76..79108396b 100755
--- a/packages/astro/astro.js
+++ b/packages/astro/astro.js
@@ -12,7 +12,7 @@ const CI_INSTRUCTIONS = {
};
// Hardcode supported Node.js version so we don't have to read differently in CJS & ESM.
-const engines = '>=18.17.1';
+const engines = '>=18.20.8';
const skipSemverCheckIfAbove = 19;
/** `astro *` */
diff --git a/packages/astro/package.json b/packages/astro/package.json
index d97409741..9e474801a 100644
--- a/packages/astro/package.json
+++ b/packages/astro/package.json
@@ -217,7 +217,7 @@
"vitest": "^3.0.9"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0",
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0",
"npm": ">=9.6.5",
"pnpm": ">=7.1.0"
},
diff --git a/packages/astro/src/core/build/plugins/plugin-manifest.ts b/packages/astro/src/core/build/plugins/plugin-manifest.ts
index 7fc4e05b8..4e6bc978c 100644
--- a/packages/astro/src/core/build/plugins/plugin-manifest.ts
+++ b/packages/astro/src/core/build/plugins/plugin-manifest.ts
@@ -66,14 +66,14 @@ function vitePluginManifest(options: StaticBuildOptions, internals: BuildInterna
return Date.now().toString();
}
},
- async load(id) {
+ load(id) {
if (id === RESOLVED_SSR_MANIFEST_VIRTUAL_MODULE_ID) {
const imports = [
`import { deserializeManifest as _deserializeManifest } from 'astro/app'`,
`import { _privateSetManifestDontUseThis } from 'astro:ssr-manifest'`,
];
- const resolvedDriver = await resolveSessionDriver(options.settings.config.session?.driver);
+ const resolvedDriver = resolveSessionDriver(options.settings.config.session?.driver);
const contents = [
`const manifest = _deserializeManifest('${manifestReplace}');`,
diff --git a/packages/create-astro/package.json b/packages/create-astro/package.json
index cda08b667..ff7653ea3 100644
--- a/packages/create-astro/package.json
+++ b/packages/create-astro/package.json
@@ -39,7 +39,7 @@
"astro-scripts": "workspace:*"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/markdoc/package.json b/packages/integrations/markdoc/package.json
index 2e993858c..8ca915091 100644
--- a/packages/integrations/markdoc/package.json
+++ b/packages/integrations/markdoc/package.json
@@ -82,7 +82,7 @@
"vite": "^6.3.4"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/mdx/package.json b/packages/integrations/mdx/package.json
index 6d470690d..cd37c2b34 100644
--- a/packages/integrations/mdx/package.json
+++ b/packages/integrations/mdx/package.json
@@ -72,7 +72,7 @@
"vite": "^6.3.4"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/preact/package.json b/packages/integrations/preact/package.json
index f36438287..366c2a963 100644
--- a/packages/integrations/preact/package.json
+++ b/packages/integrations/preact/package.json
@@ -49,7 +49,7 @@
"preact": "^10.6.5"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/react/package.json b/packages/integrations/react/package.json
index d07827af5..160909fc9 100644
--- a/packages/integrations/react/package.json
+++ b/packages/integrations/react/package.json
@@ -59,7 +59,7 @@
"react-dom": "^17.0.2 || ^18.0.0 || ^19.0.0"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/solid/package.json b/packages/integrations/solid/package.json
index 83abe4115..fc46737ae 100644
--- a/packages/integrations/solid/package.json
+++ b/packages/integrations/solid/package.json
@@ -52,7 +52,7 @@
}
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/svelte/package.json b/packages/integrations/svelte/package.json
index 04fd3c0e1..027ca892f 100644
--- a/packages/integrations/svelte/package.json
+++ b/packages/integrations/svelte/package.json
@@ -50,7 +50,7 @@
"typescript": "^5.3.3"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/integrations/vue/package.json b/packages/integrations/vue/package.json
index d82c77a31..97de0f267 100644
--- a/packages/integrations/vue/package.json
+++ b/packages/integrations/vue/package.json
@@ -54,7 +54,7 @@
"vue": "^3.2.30"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json
index 1b5f4baa0..896e35838 100644
--- a/packages/telemetry/package.json
+++ b/packages/telemetry/package.json
@@ -45,7 +45,7 @@
"astro-scripts": "workspace:*"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
},
"publishConfig": {
"provenance": true
diff --git a/packages/upgrade/package.json b/packages/upgrade/package.json
index c441cf1f4..d3754dd89 100644
--- a/packages/upgrade/package.json
+++ b/packages/upgrade/package.json
@@ -40,6 +40,6 @@
"astro-scripts": "workspace:*"
},
"engines": {
- "node": "^18.17.1 || ^20.3.0 || >=22.0.0"
+ "node": "18.20.8 || ^20.3.0 || >=22.0.0"
}
}