parsable-R
hook now gives more context on where and how
parsing fails (#423).Thanks to @danielinteractive, @jonocarroll for their contributions.
User visible changes
.pre-commit-config.yaml
templates now contain hook to
validate the pre-commit.ci
configuration (#407).Bug fixes
spell-check
hook is case-insensitive
on all operating systems. This may re-order your whole
inst/WORDLIST
(#405).forbid-to-commit
in template
.pre-commit-config.yaml
has now the correct
exclude-files
regular expression to ignore
.csv
, .RData
, .Rds
,
.rds
and .Rhistory
(#410).Internals
options(install.packages.compile.from.source = "never")
is used in the CI to avoid failing builds due to missing build-time deps
(#412).Thanks to @danielinteractive and @mpadge for their contributions.
API changes
style-files
hook now takes
ignore-start
and ignore-stop
arguments, passed
to options("styler.ignore_start")
and
options("styler.ignore_stop")
. By default, {styler}
defaults are used.use_precommit()
now exposes the argument
autoupdate
, defaulting to TRUE
(which was the
previous behavior). This tells {precommit} whether or not to run
autoupdate()
as part of the former function invocation
(#386).New features
no-debug-statement
checks for leftover
debug()
and debugonce()
statements in the
committed code (#385, @lukasfeick-sw)..pre-commit-config.yaml
does now include
the hook file-contents-sorter
to sort
.Rbuildignore
(#366)..pre-commit-config.yaml
default to monthly
hook updates (instead of weekly) to avoid notification triggers and git
version convolution (#370).language: r
(#350).Documentation
Bug fixes
R
as a dependency with
snippet_generate("additional-deps-roxygenize")
(#358).roxygenize
hook now fails if it generates an
.Rd
file that is not tracked with version control
(#363).deps-in-desc
and parsable-R
can now handle
code chunk headers with where purl
or eval
are
not literals like TRUE
, but variables defined elsewhere in
code (#361, #382).deps-in-desc
now prints the original file (not a
tempfile) also for .Rmd
and .Rnw
files.Thanks to all people who contributed to this release: @assignUser, @danhalligan, @gravesti, @hadley, @KyleDCox, @lorenzwalthert, @lukasfeick-sw, @MarkMc1089, @pat-s, @RoyalTS, and @smingerson.
This is a maintenance release on the request of CRAN (#337) and to
improve experience with the language: r
switch conducted in
v0.2.0
. In particular, note that projects using {renv} and
RStudio are not very compatible with hook versions > 0.1.3.9014 and
autoupdate()
results in downgrading the hook versions
(#346).
API Changes
--no-warn-cache
in the
style-files
and the roxygenize
hook is
deprecated and will be removed in a future release. Please remove it
from your .pre-commit-config.yaml
(#340. #341).Other changes
style-files
hook fails more informatively if required
package is not listed in additional_dependencies:
(#333).deps-in-desc
always excludes README.md
(#336).roxygenize
problem handling (#338).snippet_generate("additional-deps-roxygenize")
(#344)Thanks to all people who contributed to this release:
@lorenzwalthert, @pat-s, and @smingerson.
This version marks the switch to language: r
of all
existing hooks. This means two things:
pre-commit >= 2.11.1
(ideally even
>= 2.13.0
). See *Installation/Update** below (#233,
#250, #260, #264, #273, #315, #313, #308, #301, #300, #295, #285,
#328).style-files
). See
vignette("ci")
for a comparison of the two services
(#318).API changes
use_precommit()
gains a new argument ci
defaulting to "native"
(for pre-commit) to set up continuous
integration. Other allowed values are "gha"
(forNULL
(for no CI).use_ci(ci = "native")
can be
used to set up continuous integration for existing repos. The default
behavior for ci
for both functions is governed by the R
option precommit.ci
.version_precommit()
and update_precommit()
are new functions to check the version of the installed pre-commit
executable and to update it (#197).style-files
hook gains an argument
--cache-root
that is passed to
options(styler.cache_root = ...)
(#305).style-files
hook now supports the full style_file()
API, e.g. you can supply --scope=spaces
and similar via
args:
in your .pre-commit-config.yaml
. See the
docs
for details.style-files
and roxygenize
hooks now warn
if there is no permanent {R.cache}
cache set up. You can
silence the warning with the hook argument --no-warn-cache
(#225).Installation/Update
Please follow the update instructions or installation instructions depending on whether or not you previously used pre-commit.
Major changes
roxygenize
hook runs pkgload::load_all()
, you
need to list all dependencies of your package in
additional_dependencies
field in
.pre-commit-config.yaml
. You will be prompted to add them
if they are missing,
precommit::snippet_generate("additional-deps-roxygenize")
generates the code you can copy/paste (#247, #248, #249).parsable-R
hook can now also parse
.Rmd
files (#325).use_precommit(..., install_hooks = TRUE)
is no longer
blocking by default. New option
precommit.block_install_hooks
(defaults to
FALSE
) governs the behavior (#312).inst/WORDLIST
(#303)..lintr
and .gitlab-ci.yml
are not ignored
in the spell check hook (#317).Unknown or uninitialised column: text
(#268).deps-in-desc
now checks .Rprofile
,
.Rmd
and .Rnw
files in addition to
.R
files (#216)..Rmd
,
.Rnw
and .Rprofile
files (#287).{renv}
infra files are not checked anymore by default
in the template config files (#237)..png
, .jpeg
, .pdf
and files
in .github/workflows
are no longer spell-checked in the
template config file (#276).Minor changes
fs >= 1.5.1
(#330).exclude:
pattern of the spell
check hook are now ordered alphabetically (#276).deps-in-desc
hook now points to the hook argument
--allow_private_imports
when the hook fails due to private
imports (#254).lorenzwalthert/precommit
. This does not affect
users directly (#430).A big hand to all the contributors of this release:
@adamblake, @arbues6, @b4D8, @bart1, @dhersz, @joelnitta, @jucor, @lorenzwalthert, @lukasfeick-sw, @MarkMc1089, @njtierney, @pat-s, @pwildenhain, and @rossdrucker
For previous versions of NEWS.md
with news bullet per
patch release, see the latest
NEWS.md
before gathering.
This is mainly a CRAN maintenance release because of #201 and includes some bug fixes and no API changes.
A big hand to all the contributors of this release: @fschoner, @krzyslom, @lorenzwalthert, @maurolepore, @pat-s, and @zkamvar.
Minor Changes
use_precommit()
should now work as
expected (#185).use_precommit()
now writes to the right
.Rbuildignore
when root
is not the current
working directory (#188, @krzyslom).precommit::uninstall_precommit()
now correctly removes
^\\.pre-commit-config.yaml$
from .Rbuildignore
and does not show a prompt (#199).Initial CRAN release. See https://lorenzwalthert.github.io/precommit/.
Major Changes
use_precommit()
gains new
install_hooks = TRUE
parameter. Now all hook environments
defined in yaml config are by default installed in advance. (#163)Breaking Changes
uninstall_precommit()
’s scope
argument
value "global"
was renamed to "user"
.Major Changes
.pre-commit-config-config.yaml
for the spell check
hook for easy manipulation. Also, additional patterns were excluded such
as .sh
(#157).Minor Changes
DESCRIPTION
now links the pkgdown website in addition
to the GitHub repo (#155)..Renviron
, .Rrofile
, .RData
,
.feather
and .Rds
is now also excluded from
the spell checking hook.Breaking Changes
A major API review was conducted to make the package ready for a CRAN submission in #152:
path_root
renamed to
root
.root
now always defaults to
here::here()
for consistency.config_source
was renamed to
config_source
in use_precommit_config()
and
use_precommit()
.use_precommit_config
’s argument force
gains a default value for consistency with
use_config()
.use_precommit_config
’s argument verbose
now is in the same position as in use_config()
.Additional breaking changes are:
r-precommit
instead of
r-reticulate
to avoid conflicts with other packages
commonly installed in r-reticulate
(#147).spell-check
does no longer take the hook
argument ignore-files
since this was inconsistent with the
pre-commit framework. To exclude additional files, specify the
exclude:
key in your .pre-commit-config.yaml
file. If you like to keep excluding the default files, make sure you
include the default
regex (#153).git diff --cached
contains roxygen comments (#151).Test release process.
use_precommit()
gains new argument
config_source
to copy an existing config file into the repo
at initialization. The argument defaults to
options('precommit.config_source')
to make it easy for
users to use their preferred hooks in every repo they initialize
(#111).r-precommit
env if not existent before
installing into it (#114)..pre-commit-config.yaml
includes hook to check
files have a EOF blank line (#126).path_pre_commit_exec()
in favor of
path_precommit_exec()
and adapt internals to replace
pre_commit
with precommit
(#130).BREAKING: If you used precommit < 0.0.0.9017
(and if you choose a different installation strategy than
precommit::install_precommit()), you can link your existing executable by setting the R option
precommit.executable`
to the path where you stored the pre-commit executable.
Adding tools to work with hooks:
install_precommit()
, use_precommit()
,
uninstall_precommit()
, open_config()
and
open_wordlist()
using conda environments on all
platforms.
Make repo a fully R CMD CHECK compliant R package (includes
moving hooks to inst/bin
from bin
.)
renamed repo from pre-commit-hooks to precommit.
added pkgdown website, restructured README.