Skip to content

chore(deps): upgrade build tooling to Node 24#6081

Merged
markphelps merged 2 commits into
mainfrom
chore/node-24-v1
Jun 24, 2026
Merged

chore(deps): upgrade build tooling to Node 24#6081
markphelps merged 2 commits into
mainfrom
chore/node-24-v1

Conversation

@markphelps

Copy link
Copy Markdown
Collaborator

Why

Flipt v1 had Node version drift across its build tooling: local dev + CI lint/test ran Node 20 (via the .mise.toml pin) and the Dagger release build, while the UI dev Dockerfile was still on Node 18 and @types/node was ^18. Node 18 and 20 are now past/nearing EOL. This converges everything on Node 24 (current Active LTS, supported to April 2028), mirroring the v2 branch upgrade in #6073.

Node here is build-time only — production ships a single Go binary with the UI bundled as static assets, so there is no Node runtime to upgrade. This is purely build-tooling alignment.

Changes

  • .mise.toml: node = "20"node = "24" (drives local dev + CI lint/test via mise)
  • build/internal/ui.go: node:20-bullseye-slimnode:24-bullseye-slim (Dagger release build)
  • ui/Dockerfile: node:18-alpine3.16node:24-alpine (UI dev image)
  • ui/package.json: @types/node ^18.19.118^24.13.2 (lockfile regenerated — diff limited to @types/node + transitive undici-types)

Notes vs. the v2 PR (#6073)

v1 carried more drift than v2 and a slightly different layout:

  • v1's UI Dockerfile was on Node 18 (v2 was on 22).
  • v1 has a single Dagger node ref (build/internal/ui.go); build/testing/ui.go has none, so it is untouched.
  • v1 has no AGENTS.md files and no .github setup-node / .nvmrc / engines to update.
  • examples/nextjs/*/Dockerfile left untouched (user example apps, out of scope).

Verification

Local (Node 24.17.0 via mise):

  • npm install (lockfile diff limited to @types/node + undici-types)
  • npm run build — tsc clean, no type errors from the @types/node 18→24 major bump
  • npm test — 21/21
  • npm run lint — 0 errors (1 pre-existing prettier warning unrelated to this change)

Signed-off-by: Mark Phelps <[email protected]>
Flipt v1 had Node version drift across build tooling: local dev + CI
lint/test ran Node 20 (via the .mise.toml pin) and the Dagger release
build, while the UI dev Dockerfile was still on Node 18 and @types/node
was ^18. Node 18 and 20 are now past/nearing EOL. This converges
everything on Node 24 (current Active LTS, supported to April 2028),
mirroring the v2 branch upgrade in #6073.

Node here is build-time only — production ships a single Go binary with
the UI bundled as static assets, so there is no Node runtime to upgrade.
This is purely build-tooling alignment.

Changes:
- .mise.toml: node "20" -> "24" (local dev + CI lint/test via mise)
- build/internal/ui.go: node:20-bullseye-slim -> node:24-bullseye-slim
- ui/Dockerfile: node:18-alpine3.16 -> node:24-alpine
- ui/package.json: @types/node ^18.19.118 -> ^24.13.2 (lockfile
  regenerated — diff limited to @types/node + transitive undici-types)

Signed-off-by: Mark Phelps <[email protected]>
@markphelps
markphelps requested a review from a team as a code owner June 24, 2026 14:06
@dosubot dosubot Bot added the size:XS This PR changes 0-9 lines, ignoring generated files. label Jun 24, 2026

@erka erka left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice

@erka erka added automerge Used by Kodiak bot to automerge PRs v1 Flipt v1 labels Jun 24, 2026
@markphelps
markphelps enabled auto-merge (squash) June 24, 2026 14:12
@codecov

codecov Bot commented Jun 24, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 65.34%. Comparing base (5ec9db3) to head (3c051ef).

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6081      +/-   ##
==========================================
+ Coverage   65.26%   65.34%   +0.07%     
==========================================
  Files         169      169              
  Lines       14186    14186              
==========================================
+ Hits         9259     9270      +11     
+ Misses       4247     4240       -7     
+ Partials      680      676       -4     
Flag Coverage Δ
unittests 65.34% <ø> (+0.07%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@markphelps
markphelps merged commit c72f41e into main Jun 24, 2026
41 checks passed
@markphelps
markphelps deleted the chore/node-24-v1 branch June 24, 2026 14:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

automerge Used by Kodiak bot to automerge PRs size:XS This PR changes 0-9 lines, ignoring generated files. v1 Flipt v1

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants