An open API service indexing awesome lists of open source software.

https://github.com/helske/changer

Change R Package Name
https://github.com/helske/changer

Last synced: 22 days ago
JSON representation

Change R Package Name

Awesome Lists containing this project

README

        

# changer

[![R-CMD-check](https://github.com/helske/changer/workflows/R-CMD-check/badge.svg)](https://github.com/helske/changer/actions)

Changing the name of an existing R package is annoying but common task in the early stages of package development (at least for me). Package `changer` tries to automate this task:

1. Validity and availability of the new package name is checked by using `available` from [available](https://CRAN.R-project.org/package=available)).
2. *All* complete words matching the package name are replaced in all R scripts,
C/C++/Fortran/Stan source codes, markdown files, and typical files in R packages,
i.e. files with extension `.R`, `.cpp`, `.c`, `.h`, `.f`, `.f90`, `.f95`, `.stan`, `.md`, `.Rmd`, `.Rnw`,
`.html`, `.yaml`, `.yml`, and `.bib`, as well as files `DESCRIPTION`, `NAMESPACE` `inst/CITATION`, `.Rbuildignore`, and `gitignore`.

3. Change file names containing the package name. Only checks files with extensions listed above,
as well as files `[oldname].Rproj`, `[oldname]-package.R`, `[oldname]-defunct.R`, and `[oldname]-deprecated.R`.
4. If `run_roxygen` is `TRUE` (default), old `Rd` files are removed.
5. All files with extensions `.o`, `.so`, and `.dll` in `/src` are removed to force a rebuild of the package.
6. Name of the package directory is changed.
7. If `change_git` is `TRUE` (default), the remote url of the git repository is changed to match the new name. Note that
*you still need to change the name of the repository in Github/Bitbucket etc manually*. For example in Github:
Go to the URL of your Github package, click *Settings* near the top-right, change the name under *Repository name*, and click *Rename*.
8. If `run_roxygen` is `TRUE`, update documentation and rebuild package.

Inspired by back-and-forth naming of the package [particlefield](https://github.com/helske/particlefield)) and [Nick Tierney's blog post]( https://www.njtierney.com/post/2017/10/27/change-pkg-name/).

## Additional issues (read above as well)

* If the package is already published in [CRAN](https://CRAN.R-project.org), then you should first consult folks at CRAN whether they will accept the name change.

* It is strongly recommended to have a backup backup before proceeding.

* Note that if the old package name is a common word, it will be replaced in the docs etc as well!

## Installation

You can install the developed version of changer from Github with:

``` r
devtools::install_github("helske/changer")
```

## Usage

There is just one function in the package:
``` r
changer("../mypackagewithlongandboringname", "Rbitary")
```

## News

### May 2022
- Fixed a major bug, now actually replaces the package name in the `.R` files!
- With additional argument `replace_all` you can now replace also partial
matches instead of just the whole word matches.

### February 2022
- `changer` now tests that the supplied path actually contains an R package by checking the existence of the `DESCRIPTION` file.
- yaml files are also checked, and warning is given regarding the rda files, thanks to Mahmoud Ahmed.