-
-
Notifications
You must be signed in to change notification settings - Fork 129
Feat/deno support #1516
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Feat/deno support #1516
Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## master #1516 +/- ##
==========================================
- Coverage 91.98% 91.90% -0.08%
==========================================
Files 88 91 +3
Lines 18374 18878 +504
==========================================
+ Hits 16901 17350 +449
- Misses 1473 1528 +55 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
📦 Cargo Bloat ComparisonBinary size change: +0.89% (22.5 MiB → 22.7 MiB) Expand for cargo-bloat outputHead Branch ResultsBase Branch Results |
d8626a9 to
7cc4a12
Compare
| } | ||
|
|
||
| /// List all versions of Deno available on GitHub releases. | ||
| async fn list_remote_versions(&self) -> Result<Vec<DenoVersion>> { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It’s better to fetch the remote versions from https://deno.com/versions.json. It’s lightweight and doesn’t have rate‑limit issues.
Add first-class support for Deno as a hook language, enabling pre-commit hooks to run Deno scripts, built-in commands (fmt, lint, check), and npm/jsr packages. Features: - Automatic Deno version management with downloads from GitHub releases - Support for language_version specs: major, minor, patch, semver ranges - Isolated DENO_DIR cache per hook environment - Built-in command detection (fmt, lint, test, etc.) without "deno run" - Script file execution with automatic "deno run" prefix - npm/jsr package support via additional_dependencies - Copies deno.json and deno.lock from repos for reproducible builds The implementation follows the patterns established by Bun and other managed language runtimes in the codebase.
Add comprehensive test coverage and CI integration for Deno support: Tests (10 integration tests): - Basic inline eval execution - TypeScript script file execution - Built-in commands (fmt, lint) - Explicit deno prefix handling - npm package dependencies - language_version specifications - Auto-download without system deno - Semver range versions - Hook failure propagation - Permission flags CI: - Add Deno to language test matrix - Run on Linux only (downloads deno internally) Documentation: - Update languages.md with Deno usage examples - Regenerate CLI reference
7cc4a12 to
d9f55cf
Compare
Closes #619