build: tsdown vendor alias uses URL.pathname, which breaks pnpm build on Windows
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 1/5
- 見積もり時間
- 1時間未満
- 初心者へのやさしさ
- 88/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 活発
- 技術スタック
- node.js, typescript
- 領域
- build-system
調査の方向性
不具合は tsdown.config.ts の .pathname 式にあります。'@limrun/xdelta3-wasm' のベンダーエイリアスは new URL(..., import.meta.url).pathname から作られています。issue で提案されているとおり、これを node:url の fileURLToPath に置き換えてください。Windows で pnpm build が完了し、エイリアスが src/vendor/limrun-delta-sync-omitted.ts に解決されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
Problem
pnpm build fails on a Windows host:
Could not resolve '@limrun/xdelta3-wasm' ... Matched alias not found
tsdown.config.ts builds the vendor-alias target with new URL(..., import.meta.url).pathname, which yields a POSIX-shaped path on Windows:
'@limrun/xdelta3-wasm': new URL('./src/vendor/limrun-delta-sync-omitted.ts', import.meta.url)
.pathname,
For file:///C:/.../src/vendor/limrun-delta-sync-omitted.ts, .pathname returns /C:/.../src/vendor/limrun-delta-sync-omitted.ts — a path with a leading slash before the drive letter, which no resolver can match.
Scope
Build-time only, for someone building from source on Windows. It does not affect running a published package, since releases are built on the Linux lanes.
Pre-existing, not introduced by any currently open PR. Present on main and on a7821ef58 (fix/windows-daemon-start-3291), whose diff does not touch tsdown.config.ts. Last change to the file: 0c1ebb33a, feat(provider-webdriver): add TestMu AI device cloud provider (#3118).
Fix
Use fileURLToPath from node:url:
import { fileURLToPath } from 'node:url';
'@limrun/xdelta3-wasm': fileURLToPath(new URL('./src/vendor/limrun-delta-sync-omitted.ts', import.meta.url)),
The reporter confirmed the build completes with that change, and ran the full native Windows checklist on top of it.
Found by
pai-scaffolde while building this head natively on Windows 11 — evidence at https://github.com/callstack/agent-device/pull/3330#issuecomment-6084583110. They offered to open a PR for it.
- 主要言語
- TypeScript
- スター
- 4.9k
- フォーク
- 328
- 平均マージ
- 12時間 16分
- マージ済み PR(30日)
- 538
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
callstack/agent-device のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
callstack/agent-device#1869 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 半日 初心者へのやさしさ 42/100
callstack/agent-device#3360 ·
メンテナーはふだん 1 日以内に返信
-
needs-triage
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
callstack/agent-device#3359 ·
メンテナーはふだん 1 日以内に返信
-
難易度 3/5 1〜2日 初心者へのやさしさ 62/100
callstack/agent-device#3358 ·
メンテナーはふだん 1 日以内に返信
-
iOS selector click taps a point resolved from a pre-tap capture, so a layout shift between capture and tap retargets it silently対応中かも @thymikee が今日担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 25/100
callstack/agent-device#3354 ·
メンテナーはふだん 1 日以内に返信
callstack/agent-device の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
openclaw/openclaw#168089 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
✨ enhancement needs-discussion
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inference対応中かも @alok-108 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
microsoft/playwright#43263 ·
メンテナーはふだん 1 日以内に返信
-
area:studio type:security
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信