1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-21 09:38:01 +02:00
joplin/renovate.json5
2024-11-09 12:52:31 +00:00

286 lines
8.4 KiB
Plaintext

{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:base"
],
// We don't update too frequently so that if something is broken in a new package
// release it will have time to be fixed by the time we update. The npm ecosystem
// being what it is even patch releases can have serious breaking changes.
"major": {
"stabilityDays": 200,
},
"minor": {
"stabilityDays": 120,
},
"patch": {
"stabilityDays": 90,
},
// Keep a low limit because otherwise Renovate will do nothing for 3 months then
// suddenly dump 20 pull requests. And this intefer with our GitHub Action to
// automerge PRs, not to mention that they all end up conflicting with each others
// if they are created at the same time.
"prConcurrentLimit": 4,
"prHourlyLimit": 0,
// Tell Renovate to rebase only when there's a conflict, otherwise pull
// requests never get auto-merged because there are always new changes.
"rebaseWhen": "conflicted",
// It seems we need to delete the branches after merge or else it causes this problem:
// https://github.com/renovatebot/renovate/discussions/21256#discussioncomment-5898418
"pruneBranchAfterAutomerge": true,
"ignorePaths": [
"**/bower_components/**",
"**/node_modules/**",
"Assets/**",
"packages/app-cli/tests/**",
"packages/app-clipper/popup",
"packages/app-mobile/android/app/build.gradle",
"packages/generate-plugin-doc/**",
"packages/plugins/**",
"packages/doc-builder/**",
],
"ignoreDeps": [
"@babel/core",
"@codemirror/autocomplete",
"@codemirror/commands",
"@codemirror/lang-cpp",
"@codemirror/lang-html",
"@codemirror/lang-java",
"@codemirror/lang-javascript",
"@codemirror/lang-markdown",
"@codemirror/lang-php",
"@codemirror/lang-rust",
"@codemirror/language",
"@codemirror/language-data",
"@codemirror/legacy-modes",
"@codemirror/lint",
"@codemirror/search",
"@codemirror/state",
"@codemirror/view",
"@replit/codemirror-vim",
"@lezer/common",
"@lezer/highlight",
"@lezer/markdown",
"@fortawesome/fontawesome-svg-core",
"@fortawesome/free-solid-svg-icons",
"@svgr/webpack",
"actions/stale",
"babel-eslint",
"babel-loader",
"babel-preset-react-app",
"browserify",
"codemirror",
"cspell",
"file-loader",
"gradle",
"html-webpack-plugin",
"husky",
"lerna",
"metro-react-native-babel-preset",
"mini-css-extract-plugin",
"rollup-plugin-commonjs",
"rollup-plugin-node-resolve",
"rollup",
"ruby",
"stripe",
"typedoc",
"webpack-cli",
"webpack",
"yeoman-generator",
// pdfjs-dist requires the canvas package, which cannot be built in
// Windows.
//
// An unhandled error occurred inside electron-rebuild node-gyp failed
// to rebuild
// 'D:\a\joplin\joplin\packages\pdf-viewer\node_modules\canvas'.
//
// https://github.com/mozilla/pdf.js/issues/15112
//
// Maybe need to install Canvas separately and follow the instruction
// here to setup the build properly on Windows:
// https://github.com/Automattic/node-canvas#compiling
"pdfjs-dist",
// Too complex to upgrade past TinyMCE 5
// https://www.tiny.cloud/docs/tinymce/6/migration-from-5x/
"tinymce",
// React Native stuff should be updated only when
// upgrading React Native.
"@babel/preset-env",
"@babel/runtime",
"@tsconfig/react-native",
"@types/react-native",
"@testing-library/react-native",
"androidx.appcompat:appcompat",
"babel-plugin-module-resolver",
"com.android.tools.build:gradle",
"com.facebook.flipper:flipper-fresco-plugin",
"com.facebook.flipper:flipper-network-plugin",
"com.facebook.flipper:flipper",
"com.google.code.gson:gson",
"com.google.code.gson",
"de.undercouch:gradle-download-task",
"jsc-android",
"org.robolectric:robolectric",
"react-native",
"activesupport",
"cocoapods",
// We currently don't have automated tests that verify that the
// sidemenus work correctly in the mobile app. Because an update to
// react-native-reanimated has previously broken the sidemenu
// (https://github.com/laurent22/joplin/issues/8456), we disable auto
// updates for it:
"react-native-reanimated",
// Cannot upgrade further due to ESM support
"node-fetch",
"execa",
"open",
"pretty-bytes",
"strip-ansi",
"node-emoji",
"debounce",
"gettext-parser",
"query-string",
"@rmp135/sql-ts",
"file-type",
// Formidable v3 is broken:
// https://github.com/node-formidable/formidable/issues/958
"formidable",
"@types/formidable",
// @koa/cors has undocumented breaking changes, and the package is not
// well supported so we're stuck with latest v3 for now
"@koa/cors",
// Can't upgrade beyond 2.x because it doesn't work with Electron. If
// trying to upgrade again, check that adding a link from the CodeMirror
// editor works. See /packages/app-desktop/gui/dialogs.ts
"smalltalk",
// Don't think we can trust this lib because they don't release a
// changelog and the latest version appears to have breaking changes
// (v0.5.0). Doesn't seem serious unfortunately.
// https://github.com/Leonidas-from-XIV/node-xml2js/issues/677
"xml2js",
// Looks like upgrading AWS causes the mobile build to fail with the following error:
//
// error: Error: Unable to resolve module @aws-sdk/chunked-blob-reader from /Users/laurent/src/joplin/packages/lib/node_modules/@aws-sdk/hash-blob-browser/dist-cjs/index.js: @aws-sdk/chunked-blob-reader could not be found within the project or in these directories:
// ../lib/node_modules
// ../../node_modules
// ../../../node_modules
// /Users/laurent/src/joplin/packages/app-mobile/node_modules/@aws-sdk/chunked-blob-reader
// 2 | Object.defineProperty(exports, "__esModule", { value: true });
// 3 | exports.blobHasher = void 0;
// > 4 | const chunked_blob_reader_1 = require("@aws-sdk/chunked-blob-reader");
// | ^
// 5 | const blobHasher = async function blobHasher(hashCtor, blob) {
// 6 | const hash = new hashCtor();
// 7 | await (0, chunked_blob_reader_1.blobReader)(blob, (chunk) => {
// at ModuleResolver.resolveDependency (/Users/laurent/src/joplin/packages/app-mobile/node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:178:15)
//
// Started failing with:
//
// "aws-sdk": "2.1340.0"
// "@aws-sdk/client-s3": "3.296.0"
// "@aws-sdk/s3-request-presigner": "3.296.0"
"aws-sdk",
"@aws-sdk/client-s3",
"@aws-sdk/s3-request-presigner",
// 2.x appears to have breaking changes since the generated HTML is
// different. Not important enough to fix since the package is only used
// for tests.
"clean-html",
// We are too many versions behind so it needs to be manually upgraded.
"immer",
// We don't really use styled-components anymore and v6 introduces
// breaking changes. Ideally we should just update existing components
// to rscss.
"styled-components",
"@types/styled-components",
// For now we are stuck with v5.1.6 due to this bug:
// https://github.com/TryGhost/node-sqlite3/issues/1747
"sqlite3",
// They refactored it with undocumented breaking changes.
"react-native-vosk",
],
"packageRules": [
{
"matchUpdateTypes": ["patch"],
"automerge": true,
"labels": ["automerge"],
},
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"labels": ["automerge"],
"matchPackagePatterns": [
"@types/*",
],
},
{
"matchUpdateTypes": ["minor", "patch"],
"automerge": true,
"groupName": "types",
"extends": ["schedule:monthly"],
"labels": ["automerge"],
"matchPackagePatterns": [
"electron",
"electron-*",
],
},
{
"matchUpdateTypes": ["major", "minor", "patch"],
"automerge": true,
"groupName": "eslint",
"labels": ["automerge"],
"extends": ["schedule:monthly"],
"matchPackagePatterns": [
// If the apps build and all tests pass, we can assume that Yarn
// and TypeScript are safe to upgrade. They are frequently
// updated so having them here reduces noise.
"eslint",
"eslint-*",
"jest",
"jest-*",
"@typescript-eslint/*",
"yarn",
"typescript",
"prettier",
],
},
// {
// "matchUpdateTypes": ["minor", "patch"],
// "automerge": true,
// "groupName": "aws",
// "labels": ["automerge"],
// "extends": ["schedule:monthly"],
// "matchPackagePatterns": [
// // AWS packages are updated too frequently and we can assume minor
// // updates are stable.
// "@aws-sdk/*",
// "aws-sdk",
// ],
// },
]
}