Consider timing diagnostics and adapters for slow repeated CLI startup

オープン
#44 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
35/100
issue の種類
機能追加
明瞭さ
説明が足りない
活発さ
静か
技術スタック
node.js, typescript

調査の方向性

issue にはファイルもテストも記載されていません。まず、コマンドを繰り返し実行する suite を再現し、起動時間と出力マッチングのオーバーヘッドを比較します。次に、方向性を 1 つ—タイミング診断、ドキュメント、または adapter—に絞り込みます。完了時には、明確なガイダンスまたは診断に加えて、任意の adapter について argv、cwd、環境、streams、exit-code の動作が維持されている必要があります。

索引モデルが issue の本文から書いたものです。

説明

Some CLI golden suites run the same command many times, and for TypeScript/Node CLIs a
single cold start can be around a second. When a tryscript file or suite has many console
blocks, that startup cost can dominate the run even when tryscript's own matching overhead
is small.

It would be useful to consider support or guidance here without changing tryscript's core
shell semantics.

Possible directions:

  • Document how to diagnose startup-bound suites versus output-matching overhead.
  • Add optional timing diagnostics, such as per-command duration and a slowest-commands
    summary.
  • Provide guidance for CLI authors on reducing startup cost: lazy imports, prebuilt JS,
    Node compile cache, avoiding heavy barrel imports, etc.
  • Consider an advanced adapter/lifecycle pattern for CLIs that can safely run multiple
    invocations through one prestarted process while preserving argv, cwd, env, stdin,
    stdout/stderr, and exit-code behavior.

The adapter idea is not universally safe because many CLIs rely on process isolation or
global state. Even if tryscript does not implement daemonization directly, docs and timing
visibility would help users see where slow golden tests are spending time and choose the
right mitigation.

主要言語
TypeScript
スター
13
フォーク
1
平均マージ
3時間 38分
マージ済み PR(30日)
3

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

jlevy/tryscript のほかの issue

jlevy/tryscript の issue をすべて見る

似ている issue

TypeScript の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。