[PR #637] fix(solid,core): support Windows path separators and improve native package diagnostics #678

Open
opened 2026-03-02 23:47:38 +03:00 by kerem · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/anomalyco/opentui/pull/637
Author: @RocketBoyMusic
Created: 2/7/2026
Status: 🔄 Open

Base: mainHead: fix/windows-solid-plugin-paths


📝 Commits (5)

  • 8df56a9 fix(solid,core): support windows paths and improve native package checks
  • 9da1d47 fix(ci): make windows smoke import resolve in workflow
  • 8e9d890 revert(ci): remove windows smoke gate from core workflow
  • 8a605d0 chore(pr): keep windows path fix scoped to solid plugin
  • 8ed3572 Merge branch 'main' into fix/windows-solid-plugin-paths

📊 Changes

3 files changed (+53 additions, -4 deletions)

View changed files

packages/solid/scripts/solid-plugin-paths.ts (+7 -0)
📝 packages/solid/scripts/solid-plugin.ts (+10 -4)
packages/solid/tests/solid-plugin.test.ts (+36 -0)

📄 Description

Summary

I was running into issues in a separate repo while using OpenTUI on Windows, and wanted to fix this here so other users don’t hit the same problems.

This PR makes two focused improvements:

  1. Fixes @opentui/solid Bun plugin path matching so Solid server runtime rewrites work with both Unix (/) and Windows (\\) separators.
  2. Improves @opentui/core diagnostics when platform-native packages are missing, and adds a Windows CI smoke test to catch this earlier.

Changes

  • Updated Solid plugin onLoad server-runtime filters to be path-separator agnostic ([\\/]).
  • Kept rewrite behavior unchanged (server.js -> solid.js and server.js -> store.js).
  • Added regression tests for Unix and Windows paths, plus a negative non-server case.
  • Added clearer error messaging in packages/core/src/zig.ts when native package import fails, including recovery commands.
  • Added a windows-smoke job in build-core.yml that runs bun -e "await import('@opentui/core')".

Testing

  • bun test packages/solid/tests/solid-plugin.test.ts
    • 3 pass, 0 fail

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/anomalyco/opentui/pull/637 **Author:** [@RocketBoyMusic](https://github.com/RocketBoyMusic) **Created:** 2/7/2026 **Status:** 🔄 Open **Base:** `main` ← **Head:** `fix/windows-solid-plugin-paths` --- ### 📝 Commits (5) - [`8df56a9`](https://github.com/anomalyco/opentui/commit/8df56a98bfccabba64f42b9f447720231dc030b6) fix(solid,core): support windows paths and improve native package checks - [`9da1d47`](https://github.com/anomalyco/opentui/commit/9da1d478062819d5c4f9984c3d6a7e3c6ad562fe) fix(ci): make windows smoke import resolve in workflow - [`8e9d890`](https://github.com/anomalyco/opentui/commit/8e9d890b92860d5954591a9f523fdc79dd4606da) revert(ci): remove windows smoke gate from core workflow - [`8a605d0`](https://github.com/anomalyco/opentui/commit/8a605d01317706b0fe49f6d6f2c642d3abf89996) chore(pr): keep windows path fix scoped to solid plugin - [`8ed3572`](https://github.com/anomalyco/opentui/commit/8ed3572197dbe5d61fd4f34f4390394b3bc378bc) Merge branch 'main' into fix/windows-solid-plugin-paths ### 📊 Changes **3 files changed** (+53 additions, -4 deletions) <details> <summary>View changed files</summary> ➕ `packages/solid/scripts/solid-plugin-paths.ts` (+7 -0) 📝 `packages/solid/scripts/solid-plugin.ts` (+10 -4) ➕ `packages/solid/tests/solid-plugin.test.ts` (+36 -0) </details> ### 📄 Description ## Summary I was running into issues in a separate repo while using OpenTUI on Windows, and wanted to fix this here so other users don’t hit the same problems. This PR makes two focused improvements: 1. Fixes `@opentui/solid` Bun plugin path matching so Solid server runtime rewrites work with both Unix (`/`) and Windows (`\\`) separators. 2. Improves `@opentui/core` diagnostics when platform-native packages are missing, and adds a Windows CI smoke test to catch this earlier. ## Changes - Updated Solid plugin `onLoad` server-runtime filters to be path-separator agnostic (`[\\/]`). - Kept rewrite behavior unchanged (`server.js -> solid.js` and `server.js -> store.js`). - Added regression tests for Unix and Windows paths, plus a negative non-server case. - Added clearer error messaging in `packages/core/src/zig.ts` when native package import fails, including recovery commands. - Added a `windows-smoke` job in `build-core.yml` that runs `bun -e "await import('@opentui/core')"`. ## Testing - `bun test packages/solid/tests/solid-plugin.test.ts` - `3 pass, 0 fail` --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/opentui#678
No description provided.