diff --git a/knip.jsonc b/knip.jsonc index 78c3fbd..d92c246 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -1,5 +1,24 @@ { "$schema": "https://unpkg.com/knip@6/schema-jsonc.json", + // ツールが生成するドットフォルダを除外する。対象がどれで、クラス全体を除外する + // 形にしている理由は eslint.config.mjs の ignores のコメントにある。 + // + // これらのフォルダは入れ子の .gitignore(例: .remember/.gitignore の `*`)で git + // からは除外されているが、knip はそれを見ずに中のファイルを挙げる。リポジトリ + // 直下の .gitignore に1つずつ足せば knip も挙げなくなるが、それではツールが + // 増えるたびに触ることになる。 + // + // フォルダは追跡しておらず、作業する人の環境によって在ったり無かったりする。 + // 無い環境で knip を実行すると、この指定に一致するファイルが1つも無いため + // Configuration hint(`**/.*/** knip.jsonc Remove from ignore`)が出る。 + // このヒントが示すのは、判定した環境にそうしたフォルダが無かったことだけである。 + // ヒントに従ってこの指定を外すと、フォルダが在る環境では中の .ts / .cjs が未使用 + // ファイルとして挙がり、`pnpm knip` が exit 1 で落ちる。現に一度外したことで + // main が落ちた。外してよいかを判定するには、そうしたフォルダが在る作業ツリーで + // 確かめる必要がある。 + // + // 以上はいずれも knip 6.31.0 で実測。 + "ignore": ["**/.*/**"], "workspaces": { ".": { // scripts/e2e/ は実データ(実 Stripe / 実 Jomon)に対する E2E 検証を手で