Skip to content

[verify-cli][P2] ビルド済み dist/cli.js が shared の未生成 .js import で起動しない #298

Description

@shinyaoguri

確認日: 2026-09-09。対象コミット: 07277b86572f12dd67e6458867541dab7d7aad56

何が起きたか

verify-cli の tsc build は成功するが、README に記載された通常の Node 実行が失敗する。

再現手順・確認結果

環境: Node.js v24.4.1 / macOS / npm workspaces。

npm run build -w @typedcode/verify-cli
node packages/verify-cli/dist/cli.js --help

実測:

ERR_MODULE_NOT_FOUND:
Cannot find module '.../packages/shared/src/types.js'
imported from .../packages/shared/src/index.ts

shared の main/exports は src/index.ts を指し、そこから参照する .js が出力されていない。tsx で src/cli.ts を直接起動する経路では再現しないため、開発用テストで隠れる。

期待した動作・影響

サポートする Node バージョンで、README と package.json の bin が指す生成物を実行できること。CLI を採点基盤から利用できない。

修正方針

shared を JS/declarations として生成して exports を揃えるか、CLI をバンドルする。ブラウザ向け import/Worker の扱いも確認する。README/CLAUDE.md に既知の配布課題の記載があるが、現在案内するローカル実行方法も含めて解決する。

今回の editor ビルド失敗には installed Monaco 0.55.1 と lockfile 0.56.0 の不一致があったが、本件は別の CLI 起動経路で確認した。古い Monaco に合わせて import を変更することは本 Issue の対策ではない。

受け入れ条件

  • クリーンな依存インストール後の build で --help が終了コード 0 になる。
  • 通常の Node で正しい proof が成功し、壊れた proof が非ゼロ終了する。
  • tsx や ts-node の暗黙の前提を配布物に持たせない。
  • 配布対象に含まれるファイルだけで動作する smoke test がある。
  • npm 公開を扱うなら tarball を一時ディレクトリに install して bin を試験する。
  • README、bin、exports、サポート Node バージョンが一致する。

関連情報

スコープ外

npm への実際の公開、依存パッケージ全体の更新。

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingpkg:repoリポジトリ横断 (docs/CI/依存)

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions