{"id":18733527,"url":"https://github.com/insightsengineering/verdepcheck","last_synced_at":"2025-04-12T18:31:49.002Z","repository":{"id":103218210,"uuid":"602141575","full_name":"insightsengineering/verdepcheck","owner":"insightsengineering","description":"An R package that tests your R package against the min/max versions of specified dependencies","archived":false,"fork":false,"pushed_at":"2025-01-19T03:49:19.000Z","size":738,"stargazers_count":7,"open_issues_count":7,"forks_count":0,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-26T12:51:14.182Z","etag":null,"topics":["check","devtools","r","testing","utils"],"latest_commit_sha":null,"homepage":"https://insightsengineering.github.io/verdepcheck/","language":"R","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/insightsengineering.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS.md","contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"custom":["https://pharmaverse.org"]}},"created_at":"2023-02-15T15:28:09.000Z","updated_at":"2024-10-14T11:42:35.000Z","dependencies_parsed_at":"2024-05-21T00:32:05.243Z","dependency_job_id":"ec2bd4ba-be5f-4a8d-af81-352ac06530f9","html_url":"https://github.com/insightsengineering/verdepcheck","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fverdepcheck","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fverdepcheck/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fverdepcheck/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/insightsengineering%2Fverdepcheck/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/insightsengineering","download_url":"https://codeload.github.com/insightsengineering/verdepcheck/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613543,"owners_count":21133531,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["check","devtools","r","testing","utils"],"created_at":"2024-11-07T15:10:13.576Z","updated_at":"2025-04-12T18:31:48.531Z","avatar_url":"https://github.com/insightsengineering.png","language":"R","funding_links":["https://pharmaverse.org"],"categories":[],"sub_categories":[],"readme":"# verdepcheck\n\nHave you ever encounter following errors?\n\n```r\nError: object ‘foo’ is not exported by 'namespace:bar'\n```\n\n```r\n`foo()` was deprecated in bar 1.0.0.\ni Please use `baz()` instead.\n```\n\nThis package is a tool for package developers to check your package using various versions of dependencies. It will help you detect new breaking changes of dependencies as well as the minimal version supported.\n\n## Overview\n\nTypical workflow includes the following:\n\n- read local package dependencies from the `DESCRIPTION` file using dedicated `Config/Needs/verdepcheck` field\n- derive dependencies version from `Imports` and `Suggests` according to the strategy used\n- resolve and identify potential conflicts of dependencies\n- download and install to the temporary directory\n- execute `R CMD CHECK` using directory from the previous step as a library path\n\nSupported strategies are:\n\n- `max` - use the greatest version of dependent packages. Please note that using development version is not guaranteed to be stable.\n- `release` - use the released version of dependent packages. It will try use CRAN if possible else if GitHub release is available then use it else fail.\n- `min_cohort` - find maximum date of directly dependent packages release dates and use that as PPM snapshot date for dependency resolve.\n- `min_isolated` - for each direct dependency: find its release date and use it as PPM snapshot for resolving itself. Next, combine all the individual resolutions and resolve it altogether again.\n\nThe main functions are:\n\n- `new_\u003cstrategy\u003e_deps_installation_proposal` for creating `installation_proposal` objects\n- `\u003cstrategy\u003e_deps_check` that creates and executes `installation_proposal` and then run `\"R CMD CHECK\"`\n\nThis package is heavily based on [`pkgdepends`](https://r-lib.github.io/pkgdepends/) for dependency resolution and [`rcmdcheck`](https://rcmdcheck.r-lib.org/) for executing `\"R CMD CHECK\"`.\n\n## Install\n\n```r\ndevtools::install_github(\"insightsengineering/verdepcheck\")\n```\n\n## Usage\n\nThe main goal of package authors is to use it within GitHub Action or any other CI tool. See [r-verdepcheck-action](https://github.com/insightsengineering/r-verdepcheck-action).\n\n```r\nx \u003c- max_deps_check(\"(path to your package)\")\n\n# print results for debugging\nx$ip$show_solution()\nx$ip$draw()\n\n# create artifact\nx$ip$create_lockfile(\"/path/to/pkg.lock\")\n\n# print R CMD CHECK results\nx$check$session_info\nx$check$status\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsengineering%2Fverdepcheck","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finsightsengineering%2Fverdepcheck","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finsightsengineering%2Fverdepcheck/lists"}