Skip to content

fix(release): default to Node 22, not the long-dead Node 18 - #195

Merged
rubenvdlinde merged 1 commit into
mainfrom
fix/node-default-22
Aug 6, 2026
Merged

fix(release): default to Node 22, not the long-dead Node 18#195
rubenvdlinde merged 1 commit into
mainfrom
fix/node-default-22

Conversation

@rubenvdlinde

Copy link
Copy Markdown
Contributor

Node 18 left support in April 2025 and now fails on packages the fleet already depends on. It cost two apps their releases:

  • nldesign — the icon build loads an ES module from @conduction/nextcloud-vue and dies with SyntaxError: Unexpected token 'export', because Node 18 treats it as CommonJS. Node 20.19+ can require ESM, so it builds fine locally and only fails on the runner.
  • app_versions — builds with Vite 7, which requires Node 20.19+.

Both are the failure mode nobody diagnoses: works on every developer's machine, only the runner disagrees.

Callers can still pin their own node-version; this only moves the floor for those that don't. release.yml already defaulted to 20 and is left alone, since nothing has failed on it.

Node 18 left support in April 2025 and now fails on packages the fleet
already depends on. It cost two apps their releases:

nldesign's icon build loads an ES module from @conduction/nextcloud-vue
and dies with "SyntaxError: Unexpected token 'export'", because Node 18
treats that file as CommonJS. Node 20.19+ can require ESM, so it builds
fine locally and only fails on the runner.

app_versions builds with Vite 7, which requires Node 20.19+.

Both are the sort of failure that never gets diagnosed, because the thing
works on every developer's machine and only the runner disagrees.

Callers can still pin their own node-version; this only moves the floor
for everyone who does not. release.yml already defaulted to 20 and is
left alone, since nothing has failed on it.
@rubenvdlinde
rubenvdlinde merged commit 75ba70e into main Aug 6, 2026
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.

1 participant