[2.0] Exclude build-host native artifacts from the generic binding release
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 15/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 活発
- 技術スタック
- rust, typescript
- 領域
- build-system, release
調査の方向性
Start with the files field in packages/binding/package.json, then the packing step in scripts/semantic-release-workspace.mjs, and compare it with the rejection logic in scripts/site-toolchain-snapshot.mjs. The loader order in packages/binding/src/native-loader.ts around lines 407-411 shows why the local artifact wins. Done means a packed @master/css-binding tarball contains no artifacts/mastercss.node or artifacts/mcss, and the matching target package is still selected for each platform.
索引モデルが issue の本文から書いたものです。
説明
Parent: #470 (release tracker #467)
Release blocker
The standard release can publish the build host's native binary inside the platform-neutral @master/css-binding package. Its loader prioritizes that local artifact over the correct optional target package, breaking consumers on another OS/architecture.
Evidence
packages/binding/package.jsonincludesartifactsinfiles.cargo xtask build-nativewritespackages/binding/artifacts/mastercss.nodeand the CLI executable. The release runs the root build before packing.scripts/semantic-release-workspace.mjspacks the package without excluding those development artifacts.packages/binding/src/native-loader.ts:407-411selectsresolvePackageArtifact('mastercss.node')before the matching target package.- Calling the actual release plugin's
preparein a disposable workspace produced a tarball containing bothpackage/artifacts/mastercss.nodeandpackage/artifacts/mcss. - Simulating the Linux release binary in that generic package on macOS reproduced
NATIVE_LOAD_FAILED/ invalid Mach-O even with the matching Darwin package available to resolution. No working-tree binary was changed.
The snapshot staging path already rejects this condition in scripts/site-toolchain-snapshot.mjs, but the standard release path lacks the same protection. A successful native target smoke test does not exercise the generic wrapper tarball.
Acceptance
- Generic binding tarballs contain no build-host native artifacts; native binaries ship only in matching target packages.
- Add a packed-wrapper check to the actual release preparation/validation path, not only snapshot staging.
- Test the assembled public dependency closure on every supported target, verifying selection of the matching addon and CLI.
- Preserve intentional local-checkout artifact loading without exporting it into published archives.
- Reconcile snapshot and normal release packing so one cannot succeed with an artifact shape the other correctly rejects.
- 主要言語
- TypeScript
- スター
- 2k
- フォーク
- 44
- 平均マージ
- 1日 14時間
- マージ済み PR(30日)
- 1
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
master-co/css のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 63/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
似ている issue
-
Billion-context documentation addendum: nudge is independent of window occupancy. | billion-context 文档补充:nudge 与窗口占用无关対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープン
難易度 1/5 1〜3時間 初心者へのやさしさ 86/100
ranxianglei/billion-context#5893 ·
メンテナーはふだん 1 日以内に返信
-
stringify escapes leading digits in pseudo-class arguments (:nth-child(1) becomes :nth-child(\31 ))オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
メンテナーはふだん 1 日以内に返信
-
enhancement security severity:low
難易度 2/5 1〜3時間 初心者へのやさしさ 83/100
Battle-Cattle/BCUK-Bot-4#959 ·
メンテナーはふだん 1 日以内に返信
-
[Bug]: Claude account rows no longer show the email (since #8055), so "Account 1, 2, 3" cannot be told apart対応中かも このイシューにリンクされたプルリクエストがオープン中、またはマージ済みです。 オープンaccount-pool bug gui
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
lidge-jun/opencodex#8286 · コメント 2 件 · リアクション 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
メンテナーはふだん 1 日以内に返信