Skip to content

Upgrade Node.js to v24 and update build artifacts - #26

Draft
ArtyomSavchenko wants to merge 8 commits into
developfrom
claude/cherry-pick-dependency-updates-6brkhi
Draft

Upgrade Node.js to v24 and update build artifacts#26
ArtyomSavchenko wants to merge 8 commits into
developfrom
claude/cherry-pick-dependency-updates-6brkhi

Conversation

@ArtyomSavchenko

Copy link
Copy Markdown
Member

Summary

This PR upgrades the project to Node.js v24 and regenerates webpack build artifacts with updated module imports and enhanced npmrc filtering capabilities.

Key Changes

Node.js Version Upgrade

  • Updated .nvmrc files from v22 to v24 across the monorepo
  • Updated all Dockerfile base images from node:22 to node:24
  • Updated base image tags in pod Dockerfiles to use v20260811 versions

Build Artifacts and Module Updates

  • Regenerated webpack bundles in common/scripts/install-run.js and common/scripts/install-run-rush.js
  • Updated module imports to use node:fs and node:path instead of bare fs and path imports (following Node.js best practices)
  • Added new executionUtilities.js module with IS_WINDOWS constant and escapeArgumentIfNeeded() function for cross-platform command execution

Enhanced npmrc Processing

  • Added filterNpmIncompatibleProperties parameter to npmrc utilities to filter out npm-incompatible properties
  • Introduced NPM_INCOMPATIBLE_PROPERTIES set containing pnpm-specific properties (hoist, hoist-pattern, public-hoist-pattern, shamefully-hoist, email, publish-branch)
  • Added NPM_INCOMPATIBLE_REGISTRY_SCOPED_PROPERTIES set for registry-scoped pnpm properties (tokenHelper, urlTokenHelper)
  • Removed global _combinedNpmrcMap cache from npmrc processing
  • Enhanced trimNpmrcFileLines() function with improved environment variable handling and property filtering logic
  • Added regex patterns for property name extraction and environment variable fallback syntax parsing

Documentation

  • Updated copilot instructions to reference Node.js v24

Implementation Details

  • The npmrc filtering uses regex patterns to identify and comment out incompatible properties while preserving npm-compatible configuration
  • Environment variable expansion now supports fallback syntax (e.g., ${VAR_NAME:-fallback})
  • Cross-platform command escaping handles Windows double-quote escaping and Unix JSON.stringify escaping

https://claude.ai/code/session_01RuvULHMH8SymfrfywaZUog

aonnikov and others added 8 commits August 18, 2026 12:07
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
(cherry picked from commit b355ca890cf5f0b45941dd664ea1df142799c000)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
(cherry picked from commit 8edd79131e93c94c6dacf92c4228cbb2393d7b43)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
(cherry picked from commit 63163c9d71ed9972fb955627700b483055d12bb3)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
(cherry picked from commit 3d6d719a0c5edcc3dfa11e883e8a7bcc77dc8b32)
(cherry picked from commit 84f3689dae49ee2b26089e719792b6e98a9bc583)
(cherry picked from commit bdfbf03c7cb7adf22db3101c74b10fcb188c8ed9)
Signed-off-by: Alexander Onnikov <Alexander.Onnikov@xored.com>
(cherry picked from commit 4cb6ff698bbf4fe6603119281b535ccfbf87130b)
Signed-off-by: Artyom Savchenko <armisav@gmail.com>
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.

2 participants