From 37318e75ebc6787f2a9ffb6d067f50c3bc651b10 Mon Sep 17 00:00:00 2001 From: daviel9 Date: Wed, 24 Jan 2024 13:16:38 +0000 Subject: [PATCH] Use precommit R package --- .Rbuildignore | 1 + .pre-commit-config.yaml | 95 ++++++++++++++++++++++++++++++++--------- 2 files changed, 75 insertions(+), 21 deletions(-) diff --git a/.Rbuildignore b/.Rbuildignore index b75bf30..53800db 100644 --- a/.Rbuildignore +++ b/.Rbuildignore @@ -9,3 +9,4 @@ ^main\.R$ ^.*.quarto ^data-raw$ +^\.pre-commit-config\.yaml$ diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 0481200..7251d6c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,23 +1,76 @@ -# See more hooks: https://github.com/lorenzwalthert/precommit +# All available hooks: https://pre-commit.com/hooks.html +# R specific hooks: https://github.com/lorenzwalthert/precommit repos: - - repo: https://github.com/lorenzwalthert/precommit - rev: v0.1.3 +- repo: https://github.com/lorenzwalthert/precommit + rev: v0.3.2.9027 + hooks: + - id: style-files + args: [--style_pkg=styler, --style_fun=tidyverse_style] + - id: roxygenize + # codemeta must be above use-tidy-description when both are used + # - id: codemeta-description-updated + - id: use-tidy-description + - id: spell-check + exclude: > + (?x)^( + .*\.[rR]| + .*\.feather| + .*\.jpeg| + .*\.pdf| + .*\.png| + .*\.py| + .*\.RData| + .*\.rds| + .*\.Rds| + .*\.Rproj| + .*\.sh| + (.*/|)\.gitignore| + (.*/|)\.gitlab-ci\.yml| + (.*/|)\.lintr| + (.*/|)\.pre-commit-.*| + (.*/|)\.Rbuildignore| + (.*/|)\.Renviron| + (.*/|)\.Rprofile| + (.*/|)\.travis\.yml| + (.*/|)appveyor\.yml| + (.*/|)NAMESPACE| + (.*/|)renv/settings\.dcf| + (.*/|)renv\.lock| + (.*/|)WORDLIST| + \.github/workflows/.*| + data/.*| + )$ + - id: lintr + - id: readme-rmd-rendered + - id: parsable-R + - id: no-browser-statement + - id: no-print-statement + - id: no-debug-statement + - id: deps-in-desc + - id: pkgdown +- repo: https://github.com/pre-commit/pre-commit-hooks + rev: v1.2.3 + hooks: + - id: check-added-large-files + args: ['--maxkb=200'] + - id: file-contents-sorter + files: '^\.Rbuildignore$' + - id: end-of-file-fixer + exclude: '\.Rd' +- repo: https://github.com/pre-commit-ci/pre-commit-ci-config + rev: v1.5.1 hooks: - - id: style-files - name: Style files using styler - args: [ --style_pkg=styler, --style_fun=tidyverse_style ] - - id: roxygenize - name: Run roxygen2::roxygenize() - # codemeta must be above use-tidy-description when both are used - # - id: codemeta-description-updated - - id: use-tidy-description - name: Run sethis::use_tidy_description() - - id: lintr - name: Run lintr::lint() - exclude: renv/activate.R - - id: readme-rmd-rendered - name: Check README.Rmd has been rendered to README.md - - id: parsable-R - name: Check for valid R code using the parse() function - - id: no-browser-statement - name: Check for accidential browser() statements + # Only required when https://pre-commit.ci is used for config validation + - id: check-pre-commit-ci-config +- repo: local + hooks: + - id: forbid-to-commit + name: Don't commit common R artifacts + entry: Cannot commit .Rhistory, .RData, .Rds or .rds. + language: fail + files: '\.(Rhistory|RData|Rds|rds)$' + # `exclude: ` to allow committing specific files + +ci: + autoupdate_schedule: monthly + skip: [pkgdown]