Reusable Renovate config for Appium and Appium-adjacent projects
Modify your Renovate config file (renovate.json
, etc.) to extend:
"github>appium/appium//renovate/default"
For example, a JSON config should contain:
{
"extends": [
"github>appium/appium//renovate/default"
]
}
If you already have a top-level extends
, then append this to the list.
See the Renovate docs for more information on what does what.
Appium-the-project has many repos--not just this one! We found ourselves duplicating most of this config across packages, so here's a reusable config.
Appium extension authors--or anyone else--may use this config as well.
config:js-app
- everything gets pinned except peer deps (plus a bunch of other reasonable defaults)group:definitelyTyped
- Groups all@types/*
packages into one PRworkarounds:typesNodeVersioning
-@types/node
tracks Node.js versions instead:automergeStableNonMajor
- Automatically merges "patch" and "minor" updates for semver stable (>=1.0.0) packages (assuming they pass CI):automergeDigest
- Automatically merges "digest" updates (assuming they pass CI):enableVulnerabilityAlerts
- For "security" purposes:rebaseStalePrs
- Renovate will automatically rebase its PRs:semanticCommits
- Renovate will use semantic commit messages:semanticPrefixChore
- Renovate's PRs have thechore
prefix in its semantic commit message
- Do not upgrade to major versions of packages which have become ESM-only. Unfortunately this is an explicit deny-list.
- Groups (groups updates into single PR):
- ESLint-related and @appium/eslint-config-appium
- teen_process and its DT types
- Appium-scoped (
@appium
) packages. This applies to other repos which depend on Appium, such as official drivers.
Note: The packages in the do-not-upgrade-majors list may or may not be used by Appium; the intent is to not remove anything from this list (unless they start publishing CJS again).
- Uses the parent directory for the commit scope if applicable; otherwise uses
deps
. The parent directory is typically only applicable in monorepos.
Apache-2.0