Bump @apidevtools/json-schema-ref-parser from 11.7.3 to 15.3.5 - #189
Bump @apidevtools/json-schema-ref-parser from 11.7.3 to 15.3.5#189dependabot[bot] wants to merge 2 commits into
Conversation
6e5c24f to
c7109c0
Compare
Bumps [@apidevtools/json-schema-ref-parser](https://github.com/APIDevTools/json-schema-ref-parser) from 11.7.3 to 15.3.5. - [Release notes](https://github.com/APIDevTools/json-schema-ref-parser/releases) - [Commits](APIDevTools/json-schema-ref-parser@v11.7.3...v15.3.5) --- updated-dependencies: - dependency-name: "@apidevtools/json-schema-ref-parser" dependency-version: 15.3.5 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
c7109c0 to
7acfc57
Compare
📦 ライブラリ更新レビュー:
|
| バージョン | リリース日 | |
|---|---|---|
| 変更前 | 11.7.3 | 2024-12-05 |
| 変更後(本PR) | 15.3.5 | 2026-03-30 |
| npm latest | 15.3.6 | 2026-06-11 |
- メジャーバージョンの更新あり: 11 → 15 と、4メジャーバージョンを跨ぐ大きな更新です(v12: 2025-04-11 / v13: 2025-06-03 / v14: 2025-06-16 / v15: 2025-11-11)。
- パッケージ名・organizationの変更はありません(
@apidevtools/json-schema-ref-parserのまま)。 - 本PRは最新ではありません: latest は
15.3.6(本PR作成日2026-06-15より前の2026-06-11公開)。dependabotが拾えなかった理由は深追いしていませんが、マージ後にもう1パッチ分の更新PRが来る見込みです。
3. 変更スコープの確認
lock file差分で追加されたパッケージ:
| パッケージ | バージョン | 種別 |
|---|---|---|
@apidevtools/json-schema-ref-parser |
11.7.3 → 15.3.5 | 更新対象本体 |
js-yaml |
4.2.0(新規ネストコピー) | v15で本体の依存に追加された |
argparse |
^2.0.1 |
新規ではない。js-yaml の依存として参照されるが、既存の hoisted node_modules/argparse で解決されるためノード追加なし |
- v11では本体の依存に
js-yamlはありませんでしたが、v15ではdependencies: { js-yaml: ^4.1.1 }が追加されています(diffでjs-yaml@4.2.0がpkgs/typed-api-spec/node_modules配下に追加)。 js-yaml自体はリポジトリ内で他経由でも既に使われており(lockfile内15箇所)、新規導入というより本体配下へのネストコピーです。- 更新対象との関係が不明なパッケージの混入はありません。
4. ライブラリの依存関係
- このライブラリが依存するもの(v15.3.5):
js-yaml ^4.1.1(→argparse)。peerDependency として@types/json-schema ^7.0.15。- v11時点では
js-yamlへの依存はありませんでした(v15で追加)。
- v11時点では
- このライブラリに依存しているもの:
pkgs/typed-api-spec(dependencies)のみ。リポジトリ内で他に依存しているパッケージはありません。
5. ライブラリの使用箇所とバージョン情報
リポジトリ全体を git grep / 全文検索した結果、参照箇所は以下のみ:
| ファイル | 内容 |
|---|---|
pkgs/typed-api-spec/package.json:125 |
dependencies への宣言(本PRで変更) |
package-lock.json |
lock file エントリ |
- ソースコード(
.ts/.js/.mjs)からの import / require は0件。apidevtools/ref-parser/RefParser/dereferenceいずれもpkgs/typed-api-spec/src/配下にヒットしませんでした。 - git履歴を確認したところ、この依存は Support OpenAPI #153「Support OpenAPI」で追加されましたが、追加以降一度もソースに import された形跡がありません(
git log -S "ref-parser" -- '*.ts'が0件)。OpenAPIの$ref解決用に追加されたものの未配線、という状態です。 - Node.jsバージョンを固定する
.nvmrc/.node-versionは存在しません。CIのsetup-nodeステップにもnode-version指定はなく、publish.yamlのみnode-version: '24'を指定しています。
6. 変更内容の要約(v12〜v15 の breaking change)
変更前後の間に含まれる全メジャーバージョンの breaking change:
- v12.0.0 (2025-04-11): 循環スキーマでの無限ループを防ぐため
dereferenceのキャッシュ挙動を変更(BREAKING)。 fix(BREAKING CHANGE): dereference caching to prevent infinite loops on circular schemas APIDevTools/json-schema-ref-parser#380 - v13.0.0 (2025-06-03): エラー処理ライブラリ
onoへの依存を削除。ono のスタックトレースに依存していた場合に影響(BREAKING)。 - v14.0.0 (2025-06-16): SSRF脆弱性の修正。デフォルトのHTTPリゾルバが内部/プライベートホスト名へリクエストすることを禁止(再有効化フラグあり)(BREAKING)。 APIDevTools/json-schema-ref-parser@0a06a78
- v15.0.0 (2025-11-11):
- ESM-only 出力に移行(
package.jsonに"type": "module")。 - URLエンコーディングを厳格な RFC 6901 準拠に変更(
$等の不要なエンコードを廃止、~→~0//→~1のみ)(BREAKING)。 - 新オプション
mergeKeys(dereference時のキーマージ、デフォルトtrue)を追加。 - Respect RFC 6901, use ESM output, add new mergeKeys dereference option. APIDevTools/json-schema-ref-parser#398
- ESM-only 出力に移行(
- v15.3.x はバグ修正中心(2020-12 anchors対応とそのrevert、edge case修正など)。
⚠️ 上記はいずれもこのライブラリのAPIに関する変更です。本リポジトリは当該APIを一切呼び出していないため、実行時の影響はありません。
7. コード・設定の更新
7-1. APIや仕様変更に伴うコード修正
不要です。 ライブラリが未使用のため、API変更(dereferenceキャッシュ・RFC 6901・SSRF修正・ESM化)に伴うコード修正は発生しません。
7-2. バージョン整合性の確認
本PRで変わるバージョン番号は npm依存の ^11.7.3 → ^15.3.5 のみです。ランタイム/Dockerイメージの変更ではありません。整合性確認の結果:
- v15.3.5 は
engines: { node: ">=20" }を要求します。 - リポジトリ内の Node.js 指定:
pkgs/docsがengines: node >=18.0、publish.yamlがnode-version: '24'、その他のCIはバージョン無指定。 - ただし
pkgs/docsや ルートはtyped-api-specに依存していません(grep typed-api-spec pkgs/docs/package.json等が0件)。そのため node>=20 要求が内部の他パッケージへ波及することはなく、整合性の問題は発生しません。 - npm の
enginesは既定では警告であり、未使用のため実害もありません。
→ 同時に更新すべき箇所はありません。
8. 興味深い更新
- v14 はセキュリティ修正(SSRF対策): デフォルトHTTPリゾルバが内部ホスト名へアクセスするのを禁止。
$refを外部URL解決に使うライブラリならではの実用的な防御です。本リポジトリでは未使用のため恩恵も実害もありませんが、設計の参考になります。 - v15でESM-only化: モダンなツールチェインへの移行。ただし下記の通りCJS consumerには注意が必要です。
- リリースが GitHub Actions の自動publishに移行している(メンテナ変更の注記あり)。
9. 過去の失敗の調査
- このライブラリに関する過去のPR/issueを検索した結果、close(revert含む)された事例はありませんでした(該当PRは本PR Bump @apidevtools/json-schema-ref-parser from 11.7.3 to 15.3.5 #189 のみ、関連issueなし)。
⚠️ レビュー上の注意点(将来このライブラリを使う場合)
ESM-only の罠: v15 は ESM-only です。一方
typed-api-specは CJS/ESM 両対応でビルドしており(exportsに"require": "./dist/index.js"を持つ)、もし将来このライブラリをソースに普通のimport/requireで組み込むと、CJSビルドが壊れます。組み込む際は動的import()を使う必要があります(src/core/openapi/openapi.tsがzod-openapi/@valibot/to-json-schemaで既に採用している手法)。
推奨アクション
- マージは安全(未使用のため breaking change の実害なし)。マージするなら、ほどなく
15.3.6への追従PRが来る点に留意。 - もしくは 依存ごと削除を検討(Support OpenAPI #153 のOpenAPI
$ref解決を今後使う予定がなければ)。 securityラベルについて: v14にSSRF修正が含まれますが、本リポジトリでは未使用のため実際の脆弱性エクスポージャーはなし。「使っていれば該当した」レベルのため、付与は見送りが妥当と考えますが、判断はメンテナにお任せします。
…ema-ref-parser-15.3.5
|
A newer version of @apidevtools/json-schema-ref-parser exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged. |
Bumps @apidevtools/json-schema-ref-parser from 11.7.3 to 15.3.5.
Release notes
Sourced from @apidevtools/json-schema-ref-parser's releases.
... (truncated)
Commits
fddef8aversions and testsecea9d5testc81b48fnormalize pathdf7967efix(edge): fix some edge cases and add more testsf249657only test on lts and currentba43eb8chore(deps): deps bumpf26d8c7Revert "fix: support 2020-12 anchors and ref siblings"f3f7e35fix: support 2020-12 anchors and ref siblingsc355f09fix tests889e69efix(ref): pass original refMaintainer changes
This version was pushed to npm by GitHub Actions, a new releaser for
@apidevtools/json-schema-ref-parsersince your current version.