mirror of
https://github.com/clash-verge-rev/clash-verge-rev.git
synced 2026-11-07 09:42:07 +08:00
Add a packageRule that pulls @tauri-apps/* packages and tauri/tauri-* crates out of the generic npm and cargo groups into one shared "tauri" group, so frontend and backend halves of a Tauri upgrade are validated together. Pin tauri-plugin-mihomo by rev instead of branch so Renovate tracks it: branch-pinned git dependencies are skipped with skipReason git-dependency and never produce updates. With the rev pin the plugin joins the tauri group via digest updates. The rev is the commit already locked in Cargo.lock, so resolution is unchanged.
166 lines
5.3 KiB
JSON
166 lines
5.3 KiB
JSON
{
|
|
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
|
|
"extends": ["config:recommended", ":disableDependencyDashboard"],
|
|
"baseBranchPatterns": ["dev"],
|
|
"enabledManagers": [
|
|
"asdf",
|
|
"cargo",
|
|
"custom.regex",
|
|
"devcontainer",
|
|
"github-actions",
|
|
"npm",
|
|
"rust-toolchain"
|
|
],
|
|
"labels": ["dependencies"],
|
|
"ignorePaths": [
|
|
"**/node_modules/**",
|
|
"**/bower_components/**",
|
|
"**/vendor/**",
|
|
"**/__tests__/**",
|
|
"**/test/**",
|
|
"**/tests/**",
|
|
"**/__fixtures__/**",
|
|
"shared/**"
|
|
],
|
|
"rangeStrategy": "replace",
|
|
"prCreation": "not-pending",
|
|
"internalChecksFilter": "strict",
|
|
"packageRules": [
|
|
{
|
|
"matchUpdateTypes": ["patch"],
|
|
"automerge": true
|
|
},
|
|
{
|
|
"matchPackageNames": ["*"],
|
|
"semanticCommitType": "chore"
|
|
},
|
|
{
|
|
"description": "Group all cargo dependencies into a single PR and bump Cargo.toml ranges",
|
|
"matchManagers": ["cargo"],
|
|
"groupName": "cargo dependencies",
|
|
"rangeStrategy": "bump"
|
|
},
|
|
{
|
|
"description": "Group all npm dependencies into a single PR",
|
|
"matchManagers": ["npm"],
|
|
"groupName": "npm dependencies"
|
|
},
|
|
{
|
|
"description": "Update Tauri npm packages and Cargo crates together so frontend and backend stay in sync",
|
|
"matchPackageNames": ["@tauri-apps/**", "tauri", "tauri-*"],
|
|
"groupName": "tauri"
|
|
},
|
|
{
|
|
"description": "Group all GitHub Actions updates into a single PR",
|
|
"matchManagers": ["github-actions"],
|
|
"groupName": "github actions"
|
|
},
|
|
{
|
|
"description": "Recompile generated agentic workflows with gh aw compile instead of updating individual action pins",
|
|
"matchManagers": ["github-actions"],
|
|
"matchFileNames": [".github/workflows/*.lock.yml"],
|
|
"enabled": false
|
|
},
|
|
{
|
|
"description": "Ignore gh-aw dependency updates in workflow files; upgrade agentic workflows with gh aw upgrade instead",
|
|
"matchFileNames": [".github/workflows/**"],
|
|
"matchPackageNames": ["/gh-aw/"],
|
|
"enabled": false
|
|
},
|
|
{
|
|
"description": "Skip TypeScript 7.0 series",
|
|
"matchManagers": ["npm"],
|
|
"matchPackageNames": ["typescript"],
|
|
"allowedVersions": "<7.0.0 || >=7.1.0"
|
|
},
|
|
{
|
|
"description": "Prevent project from supply chain attack",
|
|
"matchDatasources": ["npm"],
|
|
"minimumReleaseAge": "1 days"
|
|
},
|
|
{
|
|
"description": "Group Node.js version updates across workflows, devcontainer, tool-versions, and package.json",
|
|
"matchPackageNames": [
|
|
"node",
|
|
"nodejs",
|
|
"ghcr.io/devcontainers/features/node"
|
|
],
|
|
"groupName": "Node.js"
|
|
},
|
|
{
|
|
"description": "Group PNPM version updates across package.json, tool-versions, workflows, and devcontainer",
|
|
"matchPackageNames": ["pnpm"],
|
|
"groupName": "pnpm"
|
|
},
|
|
{
|
|
"description": "Group Rust toolchain updates across rust-toolchain.toml, workflows, devcontainer, and tool-versions",
|
|
"matchPackageNames": [
|
|
"rust",
|
|
"rust-lang/rust",
|
|
"ghcr.io/devcontainers/features/rust"
|
|
],
|
|
"groupName": "Rust toolchain"
|
|
}
|
|
],
|
|
"customManagers": [
|
|
{
|
|
"customType": "regex",
|
|
"description": "Update Node.js in GitHub Workflows",
|
|
"fileMatch": ["^\\.github/workflows/.*\\.ya?ml$"],
|
|
"matchStrings": [
|
|
"node-version:\\s*['\"]?(?<currentValue>\\d+\\.\\d+\\.\\d+)['\"]?"
|
|
],
|
|
"depNameTemplate": "node",
|
|
"datasourceTemplate": "node-version"
|
|
},
|
|
{
|
|
"customType": "regex",
|
|
"description": "Update Rust toolchain in GitHub Workflows",
|
|
"fileMatch": ["^\\.github/workflows/.*\\.ya?ml$"],
|
|
"matchStrings": [
|
|
"(?:toolchain:\\s*['\"]|--toolchain\\s+|dtolnay/rust-toolchain@)(?<currentValue>\\d+\\.\\d+\\.\\d+)['\"]?"
|
|
],
|
|
"depNameTemplate": "rust-lang/rust",
|
|
"datasourceTemplate": "github-releases"
|
|
},
|
|
{
|
|
"customType": "regex",
|
|
"description": "Update Node.js in devcontainer.json",
|
|
"fileMatch": ["^\\.devcontainer/devcontainer\\.json$"],
|
|
"matchStrings": [
|
|
"\"ghcr\\.io/devcontainers/features/node:[^\"]+\":\\s*\\{[^}]*\"version\":\\s*\"(?<currentValue>[^\"]+)\""
|
|
],
|
|
"depNameTemplate": "node",
|
|
"datasourceTemplate": "node-version"
|
|
},
|
|
{
|
|
"customType": "regex",
|
|
"description": "Update Rust in devcontainer.json",
|
|
"fileMatch": ["^\\.devcontainer/devcontainer\\.json$"],
|
|
"matchStrings": [
|
|
"\"ghcr\\.io/devcontainers/features/rust:[^\"]+\":\\s*\\{[^}]*\"version\":\\s*\"(?<currentValue>[^\"]+)\""
|
|
],
|
|
"depNameTemplate": "rust-lang/rust",
|
|
"datasourceTemplate": "github-releases"
|
|
},
|
|
{
|
|
"customType": "regex",
|
|
"description": "Update pnpm in devcontainer.json",
|
|
"fileMatch": ["^\\.devcontainer/devcontainer\\.json$"],
|
|
"matchStrings": [
|
|
"\"ghcr\\.io/devcontainers/features/node:[^\"]+\":\\s*\\{[^}]*\"pnpmVersion\":\\s*\"(?<currentValue>[^\"]+)\""
|
|
],
|
|
"depNameTemplate": "pnpm",
|
|
"datasourceTemplate": "npm"
|
|
}
|
|
],
|
|
"postUpdateOptions": ["pnpmDedupe"],
|
|
"ignoreDeps": ["criterion"],
|
|
"lockFileMaintenance": {
|
|
"enabled": true,
|
|
"description": "Force update lockfile to track latest commits of git dependencies",
|
|
"schedule": ["* 0-4 1 * *"],
|
|
"automerge": true
|
|
}
|
|
}
|