LLockstep Desk
AIコーディングワークスペース

依存関係ロックファイルの差異

マニフェストの直接依存指定をロックファイルのルート項目と比較します。

● ● ●Lockstep Desk●
ワークフロー · 依存関係ロックファイルの差異 ×
const root = lockfile.packages?.[""];
if (!root) return showDrift(["lockfile.root.missing"]);
const drift = [];
for (const group of ["dependencies", "devDependencies", "optionalDependencies"]) {
  const wanted = manifest[group] ?? {};
  const pinned = root[group] ?? {};
  for (const name of new Set([...Object.keys(wanted), ...Object.keys(pinned)])) {
    if (wanted[name] !== pinned[name]) drift.push(group + ":" + name);
  }
}
return drift.length ? showDrift(drift) : reportAgreement();
✳依存関係ロックファイルの差異
✓ 変更内容適用前に確認 ↗
ワークスペースのイメージ
プロジェクト
不足や変更を報告し、ファイルの書き換えやインストールは行わないでください。
適用前に確認
実際の動作を期待する結果と比較します。検証に失敗した場合は、次の変更を加える前に原因を調べてください。
モデル
OpenAI互換またはAnthropicのエンドポイントを、ベースURLと必要なAPIキーで設定し、接続をテストします。ローカルのモデルサーバーは起動が必要です。リモートツールは別途データを送信する場合があります。
ワークフロー

依存関係ロックファイルの差異

ワークフロー ↗
ワークフロー
const root = lockfile.packages?.[""];
if (!root) return showDrift(["lockfile.root.missing"]);
const drift = [];
for (const group of ["dependencies", "devDependencies", "optionalDependencies"]) {
  const wanted = manifest[group] ?? {};
  const pinned = root[group] ?? {};
  for (const name of new Set([...Object.keys(wanted), ...Object.keys(pinned)])) {
    if (wanted[name] !== pinned[name]) drift.push(group + ":" + name);
  }
}
return drift.length ? showDrift(drift) : reportAgreement();
AIコーディングワークスペース

次のアイデアはここから。

Windows版をダウンロード ↗