fix: support command metadata validation on Node.js 24.20+ - #170
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (1)
Included review availability: Your plan provides up to 2 included reviews per hour; 1 remains after this review. 📝 WalkthroughWalkthroughThe exported command metadata JSON schema now includes the ChangesCommand metadata schema
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This localized schema change provides a stable identifier for command metadata reference resolution on newer Node.js versions; no actionable merge-blocking risk remains after normal checks and review. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
Full details: Linked Issues checkExplanation The change adds the stable schema base URI required to resolve local references and prevent the Invalid URL error reported in issue Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 1 files. ✨ Finishing Touches🧪 Generate unit tests (beta)
Warning Some tools did not complete. Review the errors below. 🔧 ESLint
schemas/main.tsESLint skipped: missing config or dependency (missing-dependency). The ESLint configuration references a package that is not available in the sandbox. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Thanks! 💜 |
Description
Fixes #169.
Starting with Node.js 24.20.0, command metadata validation can fail with an
Invalid URLerror.The command metadata schema uses local fragment references, but does not define a base URI.
jsonschematherefore attempts to resolve these references against its anonymous base, which is rejected by newer Node.js URL parsing behavior.This change defines a stable, non-HTTP schema identifier:
It is used only as an in-memory base URI when resolving references such as
#/definitions/CommandMetaData. It is never fetched over the network.Compatibility
Verified with:
Changes
Adds a
$idto the command metadata JSON schema:export const schema = { + $id: "adonisjs://ace/command-metadata", $ref: "#/definitions/CommandMetaData",Summary by CodeRabbit