Skip to content

Support prek.toml in auto-update#1547

Merged
j178 merged 2 commits intoprektomlfrom
auto-update-toml
Feb 3, 2026
Merged

Support prek.toml in auto-update#1547
j178 merged 2 commits intoprektomlfrom
auto-update-toml

Conversation

@j178
Copy link
Owner

@j178 j178 commented Feb 3, 2026

No description provided.

Support `prek sample-config --format toml`
Copilot AI review requested due to automatic review settings February 3, 2026 12:36
@j178 j178 added the enhancement New feature or request label Feb 3, 2026
@codecov
Copy link

codecov bot commented Feb 3, 2026

Codecov Report

❌ Patch coverage is 84.74576% with 18 lines in your changes missing coverage. Please review.
✅ Project coverage is 91.58%. Comparing base (29b165c) to head (cbf329b).
⚠️ Report is 2 commits behind head on prektoml.

Files with missing lines Patch % Lines
crates/prek/src/cli/auto_update.rs 81.69% 13 Missing ⚠️
crates/prek/src/cli/sample_config.rs 88.88% 4 Missing ⚠️
crates/prek/src/main.rs 80.00% 1 Missing ⚠️
Additional details and impacted files
@@             Coverage Diff              @@
##           prektoml    #1547      +/-   ##
============================================
- Coverage     91.61%   91.58%   -0.04%     
============================================
  Files            91       91              
  Lines         17981    18078      +97     
============================================
+ Hits          16474    16557      +83     
- Misses         1507     1521      +14     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds auto-update support for TOML-based prek configuration (prek.toml) by updating revisions in TOML configs and expanding the integration test suite to cover TOML update scenarios.

Changes:

  • Detect .toml config files during auto-update and update [[repos]].rev using toml_edit.
  • Preserve/add/remove # frozen: ... markers for TOML configs when --freeze is used.
  • Add integration tests covering basic TOML updates and TOML freeze behavior (including existing comments).

Reviewed changes

Copilot reviewed 4 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
crates/prek/src/cli/auto_update.rs Adds TOML-aware config rewriting via toml_edit, refactors YAML rewrite into a helper.
crates/prek/tests/auto_update.rs Adds TOML-focused auto-update integration tests (basic + freeze + comment cases).
crates/prek/Cargo.toml Adds toml_edit dependency to the prek crate.
Cargo.toml Adds workspace dependency pin for toml_edit.
Cargo.lock Locks new toml_edit dependency and transitive changes.

@prek-ci-bot
Copy link

prek-ci-bot bot commented Feb 3, 2026

📦 Cargo Bloat Comparison

Binary size change: +0.43% (23.5 MiB → 23.6 MiB)

Expand for cargo-bloat output

Head Branch Results

 File  .text    Size             Crate Name
 0.3%   0.7% 75.4KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.7% 71.2KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.6% 65.6KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.5% 51.2KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.5% 50.5KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4% 43.4KiB              prek prek::identify::by_extension::{{closure}}
 0.2%   0.4% 41.5KiB              prek prek::cli::run::run::run::{{closure}}
 0.2%   0.4% 40.2KiB              prek prek::run::{{closure}}
 0.1%   0.3% 31.8KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.3% 28.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 24.8KiB             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% 22.6KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 22.2KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 21.2KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
 0.1%   0.2% 20.4KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 20.0KiB   cargo_metadata? <cargo_metadata::_::<impl serde_core::de::Deserialize for cargo_metadata::Package>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 19.6KiB              prek prek::archive::unzip::{{closure}}
 0.1%   0.2% 19.5KiB              prek prek::cli::run::filter::collect_files_from_args::{{closure}}
 0.1%   0.2% 19.3KiB               std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
 0.1%   0.2% 19.3KiB        serde_json serde_json::value::de::<impl serde_core::de::Deserialize for serde_json::value::Value>::deserialize
38.3%  91.5%  9.0MiB                   And 20741 smaller methods. Use -n N to show more.
41.9% 100.0%  9.9MiB                   .text section size, the file size is 23.6MiB

Base Branch Results

 File  .text    Size             Crate Name
 0.3%   0.7% 71.9KiB             prek? <prek::cli::Command as clap_builder::derive::Subcommand>::augment_subcommands
 0.3%   0.7% 71.3KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.3%   0.7% 65.6KiB              prek prek::languages::<impl prek::config::Language>::run::{{closure}}::{{closure}}
 0.2%   0.5% 51.2KiB annotate_snippets annotate_snippets::renderer::render::render
 0.2%   0.5% 50.5KiB              prek prek::languages::<impl prek::config::Language>::install::{{closure}}
 0.2%   0.4% 43.7KiB              prek prek::run::{{closure}}
 0.2%   0.4% 43.4KiB              prek prek::identify::by_extension::{{closure}}
 0.2%   0.4% 41.8KiB              prek prek::cli::run::run::run::{{closure}}
 0.1%   0.3% 31.3KiB             prek? <prek::cli::RunArgs as clap_builder::derive::Args>::augment_args
 0.1%   0.3% 28.4KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 24.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% 22.6KiB      serde_saphyr saphyr_parser_bw::scanner::Scanner<T>::fetch_more_tokens
 0.1%   0.2% 22.2KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 21.2KiB      clap_builder clap_builder::parser::parser::Parser::get_matches_with
 0.1%   0.2% 20.4KiB              prek prek::hooks::meta_hooks::MetaHooks::run::{{closure}}
 0.1%   0.2% 20.0KiB   cargo_metadata? <cargo_metadata::_::<impl serde_core::de::Deserialize for cargo_metadata::Package>::deserialize::__Visitor as serde_core::de::Visitor>::visit_map
 0.1%   0.2% 19.5KiB              prek prek::archive::unzip::{{closure}}
 0.1%   0.2% 19.5KiB              prek prek::cli::run::filter::collect_files_from_args::{{closure}}
 0.1%   0.2% 19.3KiB               std core::ptr::drop_in_place<prek::languages::<impl prek::config::Language>::install::{{closure}}>
 0.1%   0.2% 19.2KiB              prek <prek::languages::ruby::ruby::Ruby as prek::languages::LanguageImpl>::install::{{closure}}
38.2%  91.4%  9.0MiB                   And 20665 smaller methods. Use -n N to show more.
41.8% 100.0%  9.8MiB                   .text section size, the file size is 23.5MiB

Base automatically changed from sample-config to prektoml February 3, 2026 13:36
@j178 j178 force-pushed the auto-update-toml branch from 036518d to 29c9db2 Compare February 3, 2026 13:51
@j178 j178 force-pushed the auto-update-toml branch from 29c9db2 to cbf329b Compare February 3, 2026 14:00
@j178 j178 merged commit b51aab5 into prektoml Feb 3, 2026
49 checks passed
@j178 j178 deleted the auto-update-toml branch February 3, 2026 14:06
j178 added a commit that referenced this pull request Feb 3, 2026
j178 added a commit that referenced this pull request Feb 4, 2026
j178 added a commit that referenced this pull request Feb 5, 2026
@j178 j178 mentioned this pull request Feb 6, 2026
16 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants