0
0
mirror of https://github.com/yanhao98/renovate-example.git synced 2025-07-13 05:30:48 +08:00
Files
renovate-example/default.json5

70 lines
4.0 KiB
Plaintext

// https://semver.org/lang/zh-CN/#合法语义化版本的巴科斯范式语法
// https://docs.renovatebot.com/configuration-options/
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended", // https://docs.renovatebot.com/presets-config/#configrecommended
"mergeConfidence:all-badges", // https://docs.renovatebot.com/presets-mergeConfidence/#mergeconfidenceall-badges
"group:allNonMajor", // https://docs.renovatebot.com/presets-group/#groupallnonmajor
"customManagers:dockerfileVersions", // https://docs.renovatebot.com/presets-customManagers/#custommanagersdockerfileversions
"customManagers:githubActionsVersions", // https://docs.renovatebot.com/presets-customManagers/#custommanagersgithubactionsversions
"helpers:disableTypesNodeMajor", // https://docs.renovatebot.com/presets-helpers/#helpersdisabletypesnodemajor
":widenPeerDependencies",
":disablePeerDependencies", // https://docs.renovatebot.com/presets-default/#disablepeerdependencies
":prConcurrentLimitNone", // 取消并发 PR 限制
":semanticCommitTypeAll(chore)" // 统一使用 chore 作为 commit 类型
],
"vulnerabilityAlerts": { "enabled": true, "labels": ["security"], "automerge": false, "schedule": "at any time" },
"platformAutomerge": true, // https://docs.renovatebot.com/configuration-options/#platformautomerge
"labels": [ "dependencies" ],
"dependencyDashboard": false,
"forkProcessing": "enabled",
"rangeStrategy": "bump",
"internalChecksFilter": "none", // https://docs.renovatebot.com/configuration-options/#internalchecksfilter
"packageRules": [
// It's easier to deal with all the Vite plugins at once when Vite ships a new major version
{ "groupName": "vite packages", "extends": ["packages:vite"] },
{ "groupName": "primevue packages", "matchPackageNames": [ "primelocale", "/^primevue/", "/^@prime/" ] },
// TypeScript doesn't follow semver, so we need to separate minor and patch updates
// <https://www.semver-ts.org/1-background.html>
{ "groupName": "typescript", "matchDepNames": ["typescript"], "separateMinorPatch": true, "separateMultipleMinor": true },
// Prettier, when used as a devDependency to format code, should be pinned.
// SemVer only applies to its API, not its formatting behavior.
{ "matchDepNames": ["prettier"], "matchDepTypes": ["devDependencies"], "groupName": "prettier", "rangeStrategy": "pin" },
// Minor releases for v0.x packages may contain breaking changes
{ "groupName": "v0.x", "matchCurrentVersion": "/^0./", "separateMinorPatch": true },
{ "groupName": "github-actions", "matchManagers": [ "github-actions" ] },
{ "groupName": "Dockerfile", "matchManagers": [ "dockerfile" ] },
{ "groupName": "types", "groupSlug": "types", "matchPackageNames": [ "/^@types//" ] },
{ "minimumReleaseAge": "14 days", "matchPackageNames": [ "*" ] }
// major 更新需要人工确认
// { "matchUpdateTypes": ["major"], "dependencyDashboardApproval": true },
],
// "commitBody": "[skip ci]", // 根据 CI 配置调整
"customManagers": [
// https://semantic-release.gitbook.io/semantic-release/usage/installation#notes
/* === run: npx semantic-release@24.2.1 === */
{
"customType": "regex",
"description": "Update semantic-release version used by npx",
"fileMatch": [ "^\\.github/workflows/[^/]+\\.ya?ml$", "^default\\.json5$" ],
"matchStrings": [ "\\srun: npx semantic-release@(?<currentValue>.*?)\\s" ],
"datasourceTemplate": "npm",
"depNameTemplate": "semantic-release"
},
{
"customType": "regex",
"description": "Update Node.js version configured in `.npmrc`. match `use-node-version=22.9.0`",
"fileMatch": [ "^\\.npmrc$" , "^default\\.json5$" ],
"matchStrings": [ "use-node-version=(?<currentValue>.*?)\\s" ],
"datasourceTemplate": "node",
"depNameTemplate": "node"
}
]
}