| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Codecov Report❌ Patch coverage is 93.40659% with 12 lines in your changes missing coverage. Please review.
@@ Coverage Diff @@
## master #2194 +/- ##
==========================================
+ Coverage 92.50% 92.58% +0.07%
==========================================
Files 122 123 +1
Lines 25978 26364 +386
==========================================
+ Hits 24032 24410 +378
- Misses 1946 1954 +8 ☔ View full report in Codecov by Harness.
|
Sorry, something went wrong.
📦 Cargo Bloat ComparisonBinary size change: +0.38% (26.5 MiB → 26.6 MiB) Expand for cargo-bloat outputHead Branch Results File .text Size Crate Name
1.2% 2.5% 332.0KiB aws_lc_sys aws_lc_0_41_0_aes_gcm_encrypt_avx512
1.2% 2.5% 332.0KiB aws_lc_sys aws_lc_0_41_0_aes_gcm_decrypt_avx512
0.3% 0.7% 90.3KiB prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
0.3% 0.6% 85.7KiB prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
0.3% 0.6% 75.2KiB prek prek::languages::<impl prek::config::Language>::install::{{closure}}
0.2% 0.5% 65.2KiB prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
0.2% 0.4% 49.5KiB prek prek::run::{{closure}}
0.2% 0.4% 49.4KiB annotate_snippets annotate_snippets::renderer::render::render
0.2% 0.3% 44.2KiB prek prek::cli::run::run::run::{{closure}}
0.2% 0.3% 43.9KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 31.9KiB prek? <prek::cli::RunOptions as clap_builder::derive::Args>::augment_args
0.1% 0.2% 31.0KiB std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
0.1% 0.2% 29.4KiB granit_parser granit_parser::scanner::Scanner<T>::fetch_more_tokens
0.1% 0.2% 28.3KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::RemoteHook>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 28.0KiB aws_lc_sys aws_lc_0_41_0_edwards25519_scalarmuldouble_alt
0.1% 0.2% 27.5KiB aws_lc_sys aws_lc_0_41_0_edwards25519_scalarmuldouble
0.1% 0.2% 26.1KiB prek prek::cli::try_repo::try_repo::{{closure}}
0.1% 0.2% 24.8KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::LocalHook>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 22.9KiB granit_parser granit_parser::scanner::Scanner<T>::fetch_more_tokens
0.1% 0.2% 22.3KiB [Unknown] Lp384_montjscalarmul_alt_p384_montjadd
42.2% 86.4% 11.2MiB And 24220 smaller methods. Use -n N to show more.
48.8% 100.0% 13.0MiB .text section size, the file size is 26.6MiB
Base Branch Results File .text Size Crate Name
1.2% 2.5% 332.0KiB aws_lc_sys aws_lc_0_41_0_aes_gcm_encrypt_avx512
1.2% 2.5% 332.0KiB aws_lc_sys aws_lc_0_41_0_aes_gcm_decrypt_avx512
0.3% 0.7% 86.8KiB prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
0.3% 0.6% 82.3KiB prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
0.3% 0.5% 69.9KiB prek prek::languages::<impl prek::config::Language>::install::{{closure}}
0.2% 0.5% 64.9KiB prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
0.2% 0.4% 49.5KiB prek prek::run::{{closure}}
0.2% 0.4% 49.4KiB annotate_snippets annotate_snippets::renderer::render::render
0.2% 0.3% 44.0KiB prek prek::cli::run::run::run::{{closure}}
0.2% 0.3% 43.1KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::Config>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 31.8KiB prek? <prek::cli::RunOptions as clap_builder::derive::Args>::augment_args
0.1% 0.2% 29.9KiB std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
0.1% 0.2% 29.4KiB granit_parser granit_parser::scanner::Scanner<T>::fetch_more_tokens
0.1% 0.2% 28.0KiB aws_lc_sys aws_lc_0_41_0_edwards25519_scalarmuldouble_alt
0.1% 0.2% 27.8KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::RemoteHook>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 27.5KiB aws_lc_sys aws_lc_0_41_0_edwards25519_scalarmuldouble
0.1% 0.2% 26.1KiB prek prek::cli::try_repo::try_repo::{{closure}}
0.1% 0.2% 23.8KiB prek? <prek::config::_::<impl serde_core::de::Deserialize for prek::config::LocalHook>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
0.1% 0.2% 22.9KiB granit_parser granit_parser::scanner::Scanner<T>::fetch_more_tokens
0.1% 0.2% 22.3KiB [Unknown] Lp384_montjscalarmul_alt_p384_montjadd
42.0% 86.4% 11.1MiB And 24171 smaller methods. Use -n N to show more.
48.6% 100.0% 12.9MiB .text section size, the file size is 26.5MiB
|
Sorry, something went wrong.
⚡️ Hyperfine BenchmarksSummary: 1 regressions, 0 improvements above the 10% threshold. Environment
Benchmarking basic commands in the main repo: prek --version
prek list
prek validate-config .pre-commit-config.yaml
⚠️ Warning: Performance regression for prek validate-config .pre-commit-config.yaml: 16.1000% slower prek sample-config
Comparing first run (cold) vs subsequent runs (warm cache): prek run --all-files (cold - no cache)
prek run --all-files (warm - with cache)
Running the builtin hook suite on the benchmark workspace: prek run --all-files (full builtin hook suite)
Benchmarking each hook individually on the test repo: prek run trailing-whitespace --all-files
prek run end-of-file-fixer --all-files
prek run check-json --all-files
prek run check-yaml --all-files
prek run check-toml --all-files
prek run check-xml --all-files
prek run detect-private-key --all-files
prek run fix-byte-order-marker --all-files
Benchmarking hook installation (fast path hooks skip Python setup): prek install-hooks (cold - no cache)
prek install-hooks (warm - with cache)
Testing different file selection modes: prek run (staged files only)
prek run --files '*.json' (specific file type)
Benchmarking hook discovery and initialization overhead: prek run --dry-run --all-files (measures init overhead)
Benchmarking meta hooks separately: prek run check-hooks-apply --all-files
prek run check-useless-excludes --all-files
prek run identity --all-files
|
Sorry, something went wrong.
There was a problem hiding this comment.
Adds first-class support for the coursier hook language in prek, enabling hooks to install and run Coursier-provided apps via a system cs/coursier executable. This extends the language backends under crates/prek/src/languages/ and wires the new backend into CI, docs, and the integration test suite.
Changes:
Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.
Show a summary per file| File | Description |
|---|---|
| scripts/generate_ci_matrix.py | Adds coursier to the language-test matrix filters. |
| docs/reference/configuration.md | Removes coursier from “not implemented yet” language list. |
| docs/proposals/hook-shell.md | Removes coursier from “not implemented yet” language list in proposal doc. |
| docs/languages.md | Documents coursier as supported, including behavior and examples. |
| crates/prek/tests/languages/main.rs | Registers the new coursier language test module. |
| crates/prek/tests/languages/coursier.rs | Adds initial integration tests for coursier. |
| crates/prek/src/store.rs | Introduces a Coursier cache bucket. |
| crates/prek/src/languages/mod.rs | Wires Language::Coursier into supported/install/run paths and cache buckets. |
| crates/prek/src/languages/coursier.rs | New coursier backend implementation. |
| crates/prek-consts/src/env_vars.rs | Adds COURSIER_CACHE env var constant. |
| .github/workflows/ci.yml | Installs Coursier in language-test jobs when coursier is in the matrix. |
Sorry, something went wrong.
There was a problem hiding this comment.
Here are some automated review suggestions for this pull request.
Reviewed commit: 5a6528ad21
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
Sorry, something went wrong.
This MR contains the following updates: | Package | Update | Change | |---|---|---| | [prek](https://github.com/j178/prek) | patch | `0.4.4` → `0.4.5` | MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot). **Proposed changes to behavior should be submitted there as MRs.** --- ### Release Notes <details> <summary>j178/prek (prek)</summary> ### [`v0.4.5`](https://github.com/j178/prek/blob/HEAD/CHANGELOG.md#045) [Compare Source](j178/prek@v0.4.4...v0.4.5) Released on 2026-06-15. ##### ✨Highlights 0.4.5 completes `prek`'s pre-commit language coverage. With R, Conda, Perl, and coursier now supported, `prek` supports every language available in pre-commit, plus `prek`-only modern languages such as Bun and Deno. This is full feature parity with pre-commit. The last major compatibility gap is closed, and `prek` is now on the path to 1.0. ##### 💚 Sponsorship If `prek` saves time for you or your team, please consider sponsoring the project on [GitHub Sponsors](https://github.com/sponsors/j178). It helps keep new features, performance work, and maintenance moving. ##### Enhancements - Add `Perl` language support ([#​2201](j178/prek#2201)) - Add `R` language support ([#​2206](j178/prek#2206)) - Add `Conda` language support ([#​2203](j178/prek#2203)) - Add `coursier` language support ([#​2194](j178/prek#2194)) - Add group filters to list ([#​2152](j178/prek#2152)) - Remove legacy repo path support ([#​2150](j178/prek#2150)) - Skip cloning fully filtered remote repos ([#​2151](j178/prek#2151)) ##### Performance - Avoid building JSON trees in syntax hooks ([#​2156](j178/prek#2156)) - Scan mixed line endings without line vector ([#​2160](j178/prek#2160)) - Skip file scan for always-run no-filename hooks ([#​2155](j178/prek#2155)) - Use fixed buffer for EOF scan ([#​2163](j178/prek#2163)) - Use fixed buffer for private key scan ([#​2164](j178/prek#2164)) ##### Bug fixes - Fix pretty-format-json CRLF handling ([#​2210](j178/prek#2210)) - Handle missing blobs in diff snapshots ([#​2211](j178/prek#2211)) - Ignore coursier channel from working repo ([#​2202](j178/prek#2202)) ##### Contributors - [@​j178](https://github.com/j178) </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this MR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box --- This MR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4yMTguMCIsInVwZGF0ZWRJblZlciI6IjQzLjIxOC4wIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJSZW5vdmF0ZSBCb3QiLCJhdXRvbWF0aW9uOmJvdC1hdXRob3JlZCIsImRlcGVuZGVuY3ktdHlwZTo6cGF0Y2giXX0=-->
| Back | FazBrowse Home | New Git URL |
Closes #53