Repository navigation
総点検メモ: 本家へのPR候補一覧 (2026-10-12) #1
Copy link
Copy link
Open
Description
lovell/sharp main (3887f0f、2026-10-12時点) を総点検した結果の一覧。候補ごとの詳細は各 issue に書いた。
既存の issue と PR (オープン・クローズ両方) と重複するもの、仕様として意図されたものは除外済み。
本家への issue と PR の文章は、CONTRIBUTING.md の AI Contribution Policy に従って自分の言葉で書くこと。
A. バグ修正
- A-1 [バグ] toFile("x.jxl") で入力と同じ形式のデータが書かれる #2 A-1 [バグ] toFile("x.jxl") で入力と同じ形式のデータが書かれる
- A-2 [バグ] sequentialRead: false が効かない #3 A-2 [バグ] sequentialRead: false が効かない (作業中)
- A-3 [バグ] 16bit 画像の trim で背景色を省略するとしきい値が256倍されない #4 A-3 [バグ] 16bit 画像の trim で背景色を省略するとしきい値が256倍されない
- A-4 [バグ] 非推奨オプション level と subifd がストリーム入力の判定と composite で無視される #5 A-4 [バグ] 非推奨オプション level と subifd がストリーム入力の判定と composite で無視される
- A-5 [バグ] blur({ sigma: "x" }) のエラーが常に received undefined と表示される #6 A-5 [バグ] blur({ sigma: "x" }) のエラーが常に received undefined と表示される
- A-6 [バグ・要検証] 縮小読み込み後の SetDensity の戻り値が捨てられている #7 A-6 [バグ・要検証] 縮小読み込み後の SetDensity の戻り値が捨てられている
- A-7 [バグ・未確認] JPEG をファイル出力すると CMYK でも info.channels が3になる #8 A-7 [バグ・未確認] JPEG をファイル出力すると CMYK でも info.channels が3になる
- A-8 [バグ・未確認] 縮小読み込み時の VipsBlob がエラー時に解放されない #9 A-8 [バグ・未確認] 縮小読み込み時の VipsBlob がエラー時に解放されない
B. テストの修正
- B-1 [テスト] gif.js の invalid dither throws が effort を検証している #10 B-1 [テスト] gif.js の invalid dither throws が effort を検証している
- B-2 [テスト] io.js で pdf.background の同じ検証を2回している #11 B-2 [テスト] io.js で pdf.background の同じ検証を2回している
- B-3 [テスト] sharpen.js が廃止済みの数値引数のままで検証になっていない #12 B-3 [テスト] sharpen.js が廃止済みの数値引数のままで検証になっていない
- B-4 [テスト] coverageIncludeGlobs が lib/*.js のままで branchCoverage が効いていない #13 B-4 [テスト] coverageIncludeGlobs が lib/*.js のままで branchCoverage が効いていない
- B-5 [テスト] エラー分岐のテスト不足 #14 B-5 [テスト] エラー分岐のテスト不足
- B-6 [テスト] 型定義テストに未収録のメソッドとオプション #15 B-6 [テスト] 型定義テストに未収録のメソッドとオプション
C. ドキュメントと型定義の修正
- C-1 [ドキュメント] affine の interpolator の既定値がドキュメントと実装で違う #16 C-1 [ドキュメント] affine の interpolator の既定値がドキュメントと実装で違う
- C-2 [型定義] SharpenOptions.sigma の範囲が古い #17 C-2 [型定義] SharpenOptions.sigma の範囲が古い
- C-3 [型定義] ExtendOptions の範囲が古い #18 C-3 [型定義] ExtendOptions の範囲が古い
- C-4 [型定義] flip と flop の説明が JSDoc と実装と食い違う #19 C-4 [型定義] flip と flop の説明が JSDoc と実装と食い違う
- C-5 [メッセージ] join のエラーメッセージの上限が判定と1桁違う #20 C-5 [メッセージ] join のエラーメッセージの上限が判定と1桁違う
- C-6 [ドキュメント] JSDoc の型の誤り (ignoreIcc, attach) #21 C-6 [ドキュメント] JSDoc の型の誤り (ignoreIcc, attach)
- C-7 [型定義] index.d.ts の typo #22 C-7 [型定義] index.d.ts の typo
- C-8 [ドキュメント] CONTRIBUTING.md の型定義テストへのリンク切れ #23 C-8 [ドキュメント] CONTRIBUTING.md の型定義テストへのリンク切れ
- C-9 [ドキュメント] docs/build.mjs が生成ファイルに書く元ファイル名が .js のまま #24 C-9 [ドキュメント] docs/build.mjs が生成ファイルに書く元ファイル名が .js のまま
D. JS の入力チェックの穴
- D-1 [入力チェック] toFormat() に不正な引数を渡すと TypeError になる #25 D-1 [入力チェック] toFormat() に不正な引数を渡すと TypeError になる
- D-2 [入力チェック] extract() と extract(null) で TypeError になる #26 D-2 [入力チェック] extract() と extract(null) で TypeError になる
- D-3 [入力チェック] normalise の検証失敗後もインスタンスが使えなくなる #27 D-3 [入力チェック] normalise の検証失敗後もインスタンスが使えなくなる
除外したもの
- heif の tune の値が残る件: 本家
#4621で、メンテナが JS 側で直す方針を決めた直後のため - trim の 3x3 判定 (
&&): libvips 側の問題1392への対策として意図的に入れたもの (3fa91bb) - convolve の scale が整数に限られる件: 昔からの挙動で、変えると出力が変わるため要相談
- PR 歓迎の既存 issue (本家
#3984isAnimated、#3309composite の bottom と right、#3780text offset、#1907、#1441maplut、#3147canny と sobel): 既存 issue なので別枠。いずれも PR はまだ無い
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity