Skip to content

fix(cli): resolve lowercase Windows shims in case-sensitive directories - #2727

Merged
fengmk2 merged 13 commits into
mainfrom
codex/fix-windows-pnpm12-shims
Sep 17, 2026
Merged

fengmk2 merged 13 commits into
mainfrom
codex/fix-windows-pnpm12-shims

Conversation

@fengmk2

@fengmk2 fengmk2 commented Sep 16, 2026

Copy link
Copy Markdown
Member

Fixes #2690.

pnpm 12 creates lowercase .cmd shims. On Windows, uppercase PATHEXT entries prevent which from finding those shims in case-sensitive directories.

Add uppercase and lowercase variants next to each configured PATHEXT entry when the global CLI or NAPI binding starts. With the default order, .EXE and .exe precede .CMD and .cmd. Vite Task, fspy, and child processes use the same extension order with the published which crate.

Run windows_case_sensitive_shims in an isolated NTFS directory on Windows shard 1. Other snapshots keep their existing temp-directory settings.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 16, 2026

Copy link
Copy Markdown

🚀 Deploying Preview to Cloudflare 🚀

Preview URL: https://codex-fix-windows-pnpm12-shims-viteplus-dev.voidzero-docs.workers.dev (commit 1d55298)

This URL reflects your latest Preview deployment

Preview Deployments by commit

Status Deployment URL Commit Updated (UTC) See this deployment's details
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://e853554e-viteplus-dev.voidzero-docs.workers.dev 1d55298 2026-09-17T17:11:48.452Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://b48f4291-viteplus-dev.voidzero-docs.workers.dev 1382591 2026-09-17T16:54:38.819Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://800d3124-viteplus-dev.voidzero-docs.workers.dev e171e3a 2026-09-17T16:35:55.217Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://c674cd5e-viteplus-dev.voidzero-docs.workers.dev 15e5732 2026-09-17T14:56:02.948Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://008db31f-viteplus-dev.voidzero-docs.workers.dev bdd0e53 2026-09-17T08:46:55.430Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://bc2e3509-viteplus-dev.voidzero-docs.workers.dev 201da27 2026-09-16T17:56:05.932Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://34cd7f6e-viteplus-dev.voidzero-docs.workers.dev 999f317 2026-09-16T17:38:12.712Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://b2e2cb81-viteplus-dev.voidzero-docs.workers.dev b869450 2026-09-16T17:22:02.905Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://dd435de3-viteplus-dev.voidzero-docs.workers.dev a52fe84 2026-09-16T16:54:58.959Z Visit the dashboard ↗
  • Build: Success ✅
  • Deployment: Success ✅

View logs ↗
https://77866e45-viteplus-dev.voidzero-docs.workers.dev c124cf5 2026-09-16T16:24:07.710Z Visit the dashboard ↗

@github-actions

github-actions Bot commented Sep 16, 2026

Copy link
Copy Markdown
Contributor

CLI artifact sizes (1d55298)

Final release artifacts built by the canonical build-upstream and build-windows-cli actions.
The dist rows use the Linux build. The core total excludes .node files to match the release artifact.

Artifact Format Base PR Change
packages/cli/dist Directory total 2.15 MiB 2.15 MiB 0 B (0.00%)
packages/core/dist Directory total 3.95 MiB 3.95 MiB 0 B (0.00%)
Combined package dist Directory total 6.09 MiB 6.09 MiB 0 B (0.00%)
vp (Linux x64) Binary 11.22 MiB 11.22 MiB 0 B (0.00%)
vp (Linux x64) gzip -9 4.85 MiB 4.85 MiB +2.77 KiB (+0.06%)
NAPI (Linux x64) Binary 32.02 MiB 32.02 MiB 0 B (0.00%)
NAPI (Linux x64) gzip -9 12.70 MiB 12.70 MiB -688 B (-0.01%)
vp (macOS ARM64) Binary 8.36 MiB 8.36 MiB 0 B (0.00%)
vp (macOS ARM64) gzip -9 4.23 MiB 4.23 MiB -973 B (-0.02%)
NAPI (macOS ARM64) Binary 39.64 MiB 39.64 MiB 0 B (0.00%)
NAPI (macOS ARM64) gzip -9 17.01 MiB 17.01 MiB +5.19 KiB (+0.03%)
vp (Windows x64) Binary 9.10 MiB 9.10 MiB +3.00 KiB (+0.03%)
vp (Windows x64) gzip -9 3.97 MiB 3.97 MiB +1.34 KiB (+0.03%)
NAPI (Windows x64) Binary 26.99 MiB 26.99 MiB +3.50 KiB (+0.01%)
NAPI (Windows x64) gzip -9 10.80 MiB 10.81 MiB +2.79 KiB (+0.03%)
Trampoline (Windows x64) Binary 13.50 KiB 13.50 KiB 0 B (0.00%)
Trampoline (Windows x64) gzip -9 7.03 KiB 7.03 KiB 0 B (0.00%)
Installer (Windows x64) Binary 4.53 MiB 4.53 MiB +512 B (+0.01%)
Installer (Windows x64) gzip -9 2.12 MiB 2.12 MiB -127 B (-0.01%)

@fengmk2
fengmk2 force-pushed the codex/fix-windows-pnpm12-shims branch 3 times, most recently from 201da27 to bdd0e53 Compare September 17, 2026 08:45
@fengmk2 fengmk2 changed the title fix(cli): resolve Windows shims in case-sensitive directories fix(cli): resolve lowercase Windows shims in case-sensitive directories Sep 17, 2026
@fengmk2 fengmk2 self-assigned this Sep 17, 2026
@fengmk2 fengmk2 added test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: create-e2e Run `vp create` e2e tests test: sfw labels Sep 17, 2026
@fengmk2
fengmk2 marked this pull request as ready for review September 17, 2026 16:18
@fengmk2
fengmk2 force-pushed the codex/fix-windows-pnpm12-shims branch from 9386185 to f49e38f Compare September 17, 2026 16:21
@fengmk2
fengmk2 force-pushed the codex/fix-windows-pnpm12-shims branch 2 times, most recently from e171e3a to 1382591 Compare September 17, 2026 16:53
@fengmk2
fengmk2 merged commit 2722c75 into main Sep 17, 2026
134 checks passed
@fengmk2
fengmk2 deleted the codex/fix-windows-pnpm12-shims branch September 17, 2026 17:25
fengmk2 added a commit that referenced this pull request Sep 18, 2026
This release fixes Homebrew setup, Windows installation, and workspace
dependency commands. It also updates Rolldown, Oxlint, and Oxfmt.

### Fixes & Enhancements

- Homebrew installations complete setup once, retain their bundled CLI,
and direct upgrades to `brew upgrade vite-plus`
([#2729](#2729)), by
@fengmk2.
- Windows installations decode remote legacy PowerShell scripts
correctly
([#2701](#2701)), by
@james-elicx.
- `vp migrate` removes the unsupported React Refresh
`allowCompoundComponents` option and warns about possible lint errors
([#2702](#2702)), by
@fengmk2.
- New monorepo packages use the root lint configuration without a
conflicting nested configuration
([#2667](#2667)), by
@semimikoh.
- Yarn Classic rejects filtered additions and removals instead of
changing unintended dependencies
([#2705](#2705)), by
@jong-kyung.
- Yarn Berry rejects unsupported filtered updates and respects filters
during recursive removal
([#2709](#2709),
[#2712](#2712)), by
@jong-kyung.
- Yarn and Bun warn when a command does not support `--workspace-root`.
Yarn Classic accepts root additions through `vp add` and `vp install
<packages>`
([#2713](#2713)), by
@jong-kyung.
- `vp dedupe` warns about unsupported check options
([#2717](#2717)), by
@jong-kyung.
- Rust command output respects `NO_COLOR`
([#2716](#2716)), by
@liangmiQwQ.
- Windows commands find lowercase shims in directories with
case-sensitive file names
([#2727](#2727)), by
@fengmk2.

### Dependency Updates

- Update `rolldown@1.2.8` to `rolldown@1.2.9`, `oxlint@1.82.0` to
`oxlint@1.83.0`, and `oxfmt@0.67.0` to `oxfmt@0.68.0`. The new lint and
format versions can flag code that passed before. Run `vp fmt` after
upgrading if CI runs `vp check`
([#2725](#2725)), by
@voidzero-guard[bot].

### Docs

- Reorganize the guide and expand the global CLI sections
([#2684](#2684),
[#2715](#2715)), by
@liangmiQwQ.
- Explain Nushell startup requirements and recovery for XDG
installations
([#2704](#2704)), by
@naokihaba.

### Chore

- Add documentation previews for fork PRs
([#2691](#2691)), by
@fengmk2.
- Publish `@voidzero-dev/vite-plus-prompts` with npm releases
([#2707](#2707)), by
@fengmk2.
- Reuse native preview installations and clarify release evidence and
package checks
([#2693](#2693),
[#2708](#2708)), by
@fengmk2.
- Stabilize dependency-removal snapshots and temporarily skip Socket
Firewall tests on Windows
([#2711](#2711),
[#2730](#2730)), by
@fengmk2.
- Clarify package-manager comments and update the preview workflow
reference ([#2706](#2706),
[#2714](#2714)), by
@jong-kyung.
- Run dependency upgrade automation with Kimi K3
([#2723](#2723)), by
@Brooooooklyn.

### Bundled Versions

| Tool | Version | Source |
| --- | --- | --- |
| `vite` | `8.3.0` |
[`434e8e9`](vitejs/vite@434e8e9)
|
| `rolldown` | `1.2.9` |
[`5b4746e`](rolldown/rolldown@5b4746e)
|
| `tsdown` | `0.23.0` | [npm](https://npmx.dev/package/tsdown/v/0.23.0)
|
| `vitest` | `4.1.11` | [npm](https://npmx.dev/package/vitest/v/4.1.11)
|
| `oxlint` | `1.83.0` | [npm](https://npmx.dev/package/oxlint/v/1.83.0)
|
| `oxlint-tsgolint` | `7.0.2001` |
[npm](https://npmx.dev/package/oxlint-tsgolint/v/7.0.2001) |
| `oxfmt` | `0.68.0` | [npm](https://npmx.dev/package/oxfmt/v/0.68.0) |

### Upgrade

```bash
vp upgrade
```

### New Contributors

@james-elicx

**Full Changelog**:
v0.3.2...v0.3.3

---

Merging this PR will trigger the release workflow.

---------

Co-authored-by: voidzero-guard[bot] <278573678+voidzero-guard[bot]@users.noreply.github.com>
Co-authored-by: MK <fengmk2@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

test: create-e2e Run `vp create` e2e tests test: e2e Auto run e2e tests test: install-e2e run vite install e2e test test: sfw

Projects

None yet

Development

Successfully merging this pull request may close these issues.

vp run fails to resolve node_modules/.bin executables with pnpm 12 on Windows (cannot find binary path)

2 participants