Skip to content

Fix Windows runtime bundle paths - #652

Open
denusklo wants to merge 2 commits into
vercel-community:masterfrom
denusklo:fix/windows-runtime-paths
Open

denusklo wants to merge 2 commits into
vercel-community:masterfrom
denusklo:fix/windows-runtime-paths

Conversation

@denusklo

@denusklo denusklo commented Oct 3, 2026

Copy link
Copy Markdown

Summary

Fixes #651.

  • Normalize logical libphp file-map keys before CGI/FPM exclusions and executable-mode assignments.
  • Use POSIX keys for harvested user files too, while preserving physical filesystem paths.
  • Add regression coverage for native, slash, backslash and mixed input keys, file modes, exclusions, PHP ini merging, and real fixture packaging.
  • Make existing path/CGI test expectations portable and isolate environment changes between tests.

Verification

Tested commit 1ccf132 independently on Windows x64, Ubuntu WSL2 x64 and macOS arm64. On each host:

  • npm run build passes.
  • Full Jest suite passes.
  • Real installed runtime files are collected with POSIX keys, intact physical paths, executable PHP/Composer modes and CGI/FPM exclusions.

Node versions: Windows 22.19.0, WSL2 22.23.2, macOS 22.23.3. No Vercel deployment was performed; these checks validate build-time packaging.

Related work

This is independent of #642. That PR fixes local Composer execution, while this failure happens earlier during runtime file collection. No Composer execution behavior changes here.

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.

Windows builds crash in getPhpFiles() because runtime file keys use backslashes

1 participant