You've already forked joplin
							
							
				mirror of
				https://github.com/laurent22/joplin.git
				synced 2025-10-31 00:07:48 +02:00 
			
		
		
		
	
		
			
				
	
	
		
			286 lines
		
	
	
		
			8.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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",
 | |
| 		// 	],
 | |
| 		// },
 | |
| 	]
 | |
| }
 |