renovate 42.80.2 → 42.80.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -127,7 +127,7 @@ async function validate(configType, desc, config, strict, isPreset = false) {
127
127
  }
128
128
  logger_1.logger.info('Config validated successfully');
129
129
  })().catch((e) => {
130
- // eslint-disable-next-line no-console
130
+ // oxlint-disable-next-line no-console -- intentional: display critical error on CLI
131
131
  console.error(e);
132
132
  process.exit(99);
133
133
  });
@@ -1 +1 @@
1
- {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../lib/config-validator.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { dequal } from 'dequal';\nimport { pathExists, readFile } from 'fs-extra';\nimport { getConfigFileNames } from './config/app-strings';\nimport { massageConfig } from './config/massage';\nimport { migrateConfig } from './config/migration';\nimport type { RenovateConfig } from './config/types';\nimport { validateConfig } from './config/validation';\nimport { logger } from './logger';\nimport { getEnv } from './util/env';\nimport { getConfig as getFileConfig } from './workers/global/config/parse/file';\nimport { getParsedContent } from './workers/global/config/parse/util';\n\nlet returnVal = 0;\n\nasync function validate(\n configType: 'global' | 'repo',\n desc: string,\n config: RenovateConfig,\n strict: boolean,\n isPreset = false,\n): Promise<void> {\n const { isMigrated, migratedConfig } = migrateConfig(config);\n if (isMigrated) {\n logger.warn(\n {\n oldConfig: config,\n newConfig: migratedConfig,\n },\n 'Config migration necessary',\n );\n if (strict) {\n returnVal = 1;\n }\n }\n const massagedConfig = massageConfig(migratedConfig);\n const res = await validateConfig(configType, massagedConfig, isPreset);\n if (res.errors.length) {\n logger.error(\n { file: desc, errors: res.errors },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n if (res.warnings.length) {\n logger.warn(\n { file: desc, warnings: res.warnings },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n}\n\ninterface PackageJson {\n renovate?: RenovateConfig;\n 'renovate-config'?: Record<string, RenovateConfig>;\n}\n\n(async () => {\n const strictArgIndex = process.argv.indexOf('--strict');\n const strict = strictArgIndex >= 0;\n if (strict) {\n process.argv.splice(strictArgIndex, 1);\n }\n if (process.argv.length > 2) {\n for (const file of process.argv.slice(2)) {\n try {\n if (!(await pathExists(file))) {\n returnVal = 1;\n logger.error({ file }, 'File does not exist');\n break;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('global', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n } else {\n for (const file of getConfigFileNames().filter(\n (name) => name !== 'package.json',\n )) {\n try {\n if (!(await pathExists(file))) {\n continue;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('repo', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n try {\n const pkgJson = JSON.parse(\n await readFile('package.json', 'utf8'),\n ) as PackageJson;\n if (pkgJson.renovate) {\n logger.info(`Validating package.json > renovate`);\n await validate(\n 'repo',\n 'package.json > renovate',\n pkgJson.renovate,\n strict,\n );\n }\n if (pkgJson['renovate-config']) {\n logger.info(`Validating package.json > renovate-config`);\n for (const presetConfig of Object.values(pkgJson['renovate-config'])) {\n await validate(\n 'repo',\n 'package.json > renovate-config',\n presetConfig,\n strict,\n true,\n );\n }\n }\n } catch {\n // ignore\n }\n try {\n const env = getEnv();\n const fileConfig = await getFileConfig(env);\n if (!dequal(fileConfig, {})) {\n const file = env.RENOVATE_CONFIG_FILE ?? 'config.js';\n logger.info(`Validating ${file}`);\n try {\n await validate('global', file, fileConfig, strict);\n } catch (err) {\n logger.error({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n }\n } catch {\n // ignore\n }\n }\n if (returnVal !== 0) {\n process.exit(returnVal);\n }\n logger.info('Config validated successfully');\n})().catch((e) => {\n // eslint-disable-next-line no-console\n console.error(e);\n process.exit(99);\n});\n"]}
1
+ {"version":3,"file":"config-validator.js","sourceRoot":"","sources":["../lib/config-validator.ts"],"names":[],"mappings":"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","sourcesContent":["#!/usr/bin/env node\nimport 'source-map-support/register';\nimport './punycode.cjs';\nimport { dequal } from 'dequal';\nimport { pathExists, readFile } from 'fs-extra';\nimport { getConfigFileNames } from './config/app-strings';\nimport { massageConfig } from './config/massage';\nimport { migrateConfig } from './config/migration';\nimport type { RenovateConfig } from './config/types';\nimport { validateConfig } from './config/validation';\nimport { logger } from './logger';\nimport { getEnv } from './util/env';\nimport { getConfig as getFileConfig } from './workers/global/config/parse/file';\nimport { getParsedContent } from './workers/global/config/parse/util';\n\nlet returnVal = 0;\n\nasync function validate(\n configType: 'global' | 'repo',\n desc: string,\n config: RenovateConfig,\n strict: boolean,\n isPreset = false,\n): Promise<void> {\n const { isMigrated, migratedConfig } = migrateConfig(config);\n if (isMigrated) {\n logger.warn(\n {\n oldConfig: config,\n newConfig: migratedConfig,\n },\n 'Config migration necessary',\n );\n if (strict) {\n returnVal = 1;\n }\n }\n const massagedConfig = massageConfig(migratedConfig);\n const res = await validateConfig(configType, massagedConfig, isPreset);\n if (res.errors.length) {\n logger.error(\n { file: desc, errors: res.errors },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n if (res.warnings.length) {\n logger.warn(\n { file: desc, warnings: res.warnings },\n 'Found errors in configuration',\n );\n returnVal = 1;\n }\n}\n\ninterface PackageJson {\n renovate?: RenovateConfig;\n 'renovate-config'?: Record<string, RenovateConfig>;\n}\n\n(async () => {\n const strictArgIndex = process.argv.indexOf('--strict');\n const strict = strictArgIndex >= 0;\n if (strict) {\n process.argv.splice(strictArgIndex, 1);\n }\n if (process.argv.length > 2) {\n for (const file of process.argv.slice(2)) {\n try {\n if (!(await pathExists(file))) {\n returnVal = 1;\n logger.error({ file }, 'File does not exist');\n break;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('global', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n } else {\n for (const file of getConfigFileNames().filter(\n (name) => name !== 'package.json',\n )) {\n try {\n if (!(await pathExists(file))) {\n continue;\n }\n const parsedContent = await getParsedContent(file);\n try {\n logger.info(`Validating ${file}`);\n await validate('repo', file, parsedContent, strict);\n } catch (err) {\n logger.warn({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n } catch (err) {\n logger.warn({ file, err }, 'File could not be parsed');\n returnVal = 1;\n }\n }\n try {\n const pkgJson = JSON.parse(\n await readFile('package.json', 'utf8'),\n ) as PackageJson;\n if (pkgJson.renovate) {\n logger.info(`Validating package.json > renovate`);\n await validate(\n 'repo',\n 'package.json > renovate',\n pkgJson.renovate,\n strict,\n );\n }\n if (pkgJson['renovate-config']) {\n logger.info(`Validating package.json > renovate-config`);\n for (const presetConfig of Object.values(pkgJson['renovate-config'])) {\n await validate(\n 'repo',\n 'package.json > renovate-config',\n presetConfig,\n strict,\n true,\n );\n }\n }\n } catch {\n // ignore\n }\n try {\n const env = getEnv();\n const fileConfig = await getFileConfig(env);\n if (!dequal(fileConfig, {})) {\n const file = env.RENOVATE_CONFIG_FILE ?? 'config.js';\n logger.info(`Validating ${file}`);\n try {\n await validate('global', file, fileConfig, strict);\n } catch (err) {\n logger.error({ file, err }, 'File is not valid Renovate config');\n returnVal = 1;\n }\n }\n } catch {\n // ignore\n }\n }\n if (returnVal !== 0) {\n process.exit(returnVal);\n }\n logger.info('Config validated successfully');\n})().catch((e) => {\n // oxlint-disable-next-line no-console -- intentional: display critical error on CLI\n console.error(e);\n process.exit(99);\n});\n"]}
@@ -49,7 +49,7 @@ function getConfig(input) {
49
49
  program = program.option(optionString, option.description, coersions_1.coersions[option.type]);
50
50
  }
51
51
  });
52
- /* eslint-disable no-console */
52
+ /* oxlint-disable no-console -- intentional: CLI help output */
53
53
  /* istanbul ignore next */
54
54
  function helpConsole() {
55
55
  console.log(' Examples:');
@@ -58,7 +58,7 @@ function getConfig(input) {
58
58
  console.log(' $ LOG_LEVEL=debug renovate --labels=renovate,dependency --ignore-unstable=false singapore/lint-condo');
59
59
  console.log(' $ renovate singapore/lint-condo singapore/package-test');
60
60
  console.log(` $ renovate singapore/lint-condo --onboarding-config='{"extends":["config:recommended"]}'`);
61
- /* eslint-enable no-console */
61
+ /* oxlint-enable no-console */
62
62
  }
63
63
  program = program
64
64
  .version(expose_cjs_1.pkg.version, '-v, --version')
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../../lib/workers/global/config/parse/cli.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from 'commander';\nimport { getOptions } from '../../../../config/options';\nimport type { AllConfig } from '../../../../config/types';\nimport { pkg } from '../../../../expose.cjs';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { coersions } from './coersions';\nimport type { ParseConfigOptions } from './types';\n\nexport function getCliName(option: ParseConfigOptions): string {\n if (option.cli === false) {\n return '';\n }\n const nameWithHyphens = option.name.replace(regEx(/([A-Z])/g), '-$1');\n return `--${nameWithHyphens.toLowerCase()}`;\n}\n\nexport function getConfig(input: string[]): AllConfig {\n // massage migrated configuration keys\n const argv = input\n .map((a) =>\n a\n .replace(\n '--allow-post-upgrade-command-templating',\n '--allow-command-templating',\n )\n .replace('--allowed-post-upgrade-commands', '--allowed-commands')\n .replace('--endpoints=', '--host-rules=')\n .replace('--expose-env=true', '--trust-level=high')\n .replace('--expose-env', '--trust-level=high')\n .replace('--renovate-fork', '--include-forks')\n .replace('\"platform\":\"', '\"hostType\":\"')\n .replace('\"endpoint\":\"', '\"matchHost\":\"')\n .replace('\"host\":\"', '\"matchHost\":\"')\n .replace('--azure-auto-complete', '--platform-automerge') // migrate: azureAutoComplete\n .replace('--git-lab-automerge', '--platform-automerge') // migrate: gitLabAutomerge\n .replace(/^--dry-run$/, '--dry-run=true')\n .replace(/^--require-config$/, '--require-config=true')\n .replace('--aliases', '--registry-aliases')\n .replace('--include-forks=true', '--fork-processing=enabled')\n .replace('--include-forks', '--fork-processing=enabled')\n .replace('--recreate-closed=false', '--recreate-when=auto')\n .replace('--recreate-closed=true', '--recreate-when=always')\n .replace('--recreate-closed', '--recreate-when=always'),\n )\n .filter((a) => !a.startsWith('--git-fs'));\n const options = getOptions();\n\n const config: Record<string, any> = {};\n\n let program = new Command().arguments('[repositories...]');\n\n options.forEach((option) => {\n if (option.cli !== false) {\n const param = `<${option.type}>`.replace('<boolean>', '[boolean]');\n const optionString = `${getCliName(option)} ${param}`;\n program = program.option(\n optionString,\n option.description,\n coersions[option.type],\n );\n }\n });\n\n /* eslint-disable no-console */\n /* istanbul ignore next */\n function helpConsole(): void {\n console.log(' Examples:');\n console.log('');\n console.log(' $ renovate --token 123test singapore/lint-condo');\n console.log(\n ' $ LOG_LEVEL=debug renovate --labels=renovate,dependency --ignore-unstable=false singapore/lint-condo',\n );\n console.log(' $ renovate singapore/lint-condo singapore/package-test');\n console.log(\n ` $ renovate singapore/lint-condo --onboarding-config='{\"extends\":[\"config:recommended\"]}'`,\n );\n /* eslint-enable no-console */\n }\n\n program = program\n .version(pkg.version, '-v, --version')\n .on('--help', helpConsole)\n .action((repositories: string[], opts: Record<string, unknown>) => {\n if (repositories?.length) {\n config.repositories = repositories;\n }\n\n for (const option of options) {\n if (option.cli !== false) {\n if (opts[option.name] !== undefined) {\n config[option.name] = opts[option.name];\n if (option.name === 'dryRun') {\n if (config[option.name] === 'true') {\n logger.warn(\n 'cli config dryRun property has been changed to full',\n );\n config[option.name] = 'full';\n } else if (config[option.name] === 'false') {\n logger.warn(\n 'cli config dryRun property has been changed to null',\n );\n config[option.name] = null;\n } else if (config[option.name] === 'null') {\n config[option.name] = null;\n }\n }\n if (option.name === 'requireConfig') {\n if (config[option.name] === 'true') {\n logger.warn(\n 'cli config requireConfig property has been changed to required',\n );\n config[option.name] = 'required';\n } else if (config[option.name] === 'false') {\n logger.warn(\n 'cli config requireConfig property has been changed to optional',\n );\n config[option.name] = 'optional';\n }\n }\n }\n }\n }\n })\n .parse(argv);\n\n return config;\n}\n"]}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../../../lib/workers/global/config/parse/cli.ts"],"names":[],"mappings":"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","sourcesContent":["import { Command } from 'commander';\nimport { getOptions } from '../../../../config/options';\nimport type { AllConfig } from '../../../../config/types';\nimport { pkg } from '../../../../expose.cjs';\nimport { logger } from '../../../../logger';\nimport { regEx } from '../../../../util/regex';\nimport { coersions } from './coersions';\nimport type { ParseConfigOptions } from './types';\n\nexport function getCliName(option: ParseConfigOptions): string {\n if (option.cli === false) {\n return '';\n }\n const nameWithHyphens = option.name.replace(regEx(/([A-Z])/g), '-$1');\n return `--${nameWithHyphens.toLowerCase()}`;\n}\n\nexport function getConfig(input: string[]): AllConfig {\n // massage migrated configuration keys\n const argv = input\n .map((a) =>\n a\n .replace(\n '--allow-post-upgrade-command-templating',\n '--allow-command-templating',\n )\n .replace('--allowed-post-upgrade-commands', '--allowed-commands')\n .replace('--endpoints=', '--host-rules=')\n .replace('--expose-env=true', '--trust-level=high')\n .replace('--expose-env', '--trust-level=high')\n .replace('--renovate-fork', '--include-forks')\n .replace('\"platform\":\"', '\"hostType\":\"')\n .replace('\"endpoint\":\"', '\"matchHost\":\"')\n .replace('\"host\":\"', '\"matchHost\":\"')\n .replace('--azure-auto-complete', '--platform-automerge') // migrate: azureAutoComplete\n .replace('--git-lab-automerge', '--platform-automerge') // migrate: gitLabAutomerge\n .replace(/^--dry-run$/, '--dry-run=true')\n .replace(/^--require-config$/, '--require-config=true')\n .replace('--aliases', '--registry-aliases')\n .replace('--include-forks=true', '--fork-processing=enabled')\n .replace('--include-forks', '--fork-processing=enabled')\n .replace('--recreate-closed=false', '--recreate-when=auto')\n .replace('--recreate-closed=true', '--recreate-when=always')\n .replace('--recreate-closed', '--recreate-when=always'),\n )\n .filter((a) => !a.startsWith('--git-fs'));\n const options = getOptions();\n\n const config: Record<string, any> = {};\n\n let program = new Command().arguments('[repositories...]');\n\n options.forEach((option) => {\n if (option.cli !== false) {\n const param = `<${option.type}>`.replace('<boolean>', '[boolean]');\n const optionString = `${getCliName(option)} ${param}`;\n program = program.option(\n optionString,\n option.description,\n coersions[option.type],\n );\n }\n });\n\n /* oxlint-disable no-console -- intentional: CLI help output */\n /* istanbul ignore next */\n function helpConsole(): void {\n console.log(' Examples:');\n console.log('');\n console.log(' $ renovate --token 123test singapore/lint-condo');\n console.log(\n ' $ LOG_LEVEL=debug renovate --labels=renovate,dependency --ignore-unstable=false singapore/lint-condo',\n );\n console.log(' $ renovate singapore/lint-condo singapore/package-test');\n console.log(\n ` $ renovate singapore/lint-condo --onboarding-config='{\"extends\":[\"config:recommended\"]}'`,\n );\n /* oxlint-enable no-console */\n }\n\n program = program\n .version(pkg.version, '-v, --version')\n .on('--help', helpConsole)\n .action((repositories: string[], opts: Record<string, unknown>) => {\n if (repositories?.length) {\n config.repositories = repositories;\n }\n\n for (const option of options) {\n if (option.cli !== false) {\n if (opts[option.name] !== undefined) {\n config[option.name] = opts[option.name];\n if (option.name === 'dryRun') {\n if (config[option.name] === 'true') {\n logger.warn(\n 'cli config dryRun property has been changed to full',\n );\n config[option.name] = 'full';\n } else if (config[option.name] === 'false') {\n logger.warn(\n 'cli config dryRun property has been changed to null',\n );\n config[option.name] = null;\n } else if (config[option.name] === 'null') {\n config[option.name] = null;\n }\n }\n if (option.name === 'requireConfig') {\n if (config[option.name] === 'true') {\n logger.warn(\n 'cli config requireConfig property has been changed to required',\n );\n config[option.name] = 'required';\n } else if (config[option.name] === 'false') {\n logger.warn(\n 'cli config requireConfig property has been changed to optional',\n );\n config[option.name] = 'optional';\n }\n }\n }\n }\n }\n })\n .parse(argv);\n\n return config;\n}\n"]}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "renovate",
3
3
  "description": "Automated dependency updates. Flexible so you don't need to be.",
4
- "version": "42.80.2",
4
+ "version": "42.80.3",
5
5
  "type": "commonjs",
6
6
  "bin": {
7
7
  "renovate": "dist/renovate.js",
@@ -87,7 +87,7 @@
87
87
  "pnpm": "^10.0.0"
88
88
  },
89
89
  "volta": {
90
- "node": "24.12.0",
90
+ "node": "24.13.0",
91
91
  "pnpm": "10.27.0"
92
92
  },
93
93
  "dependencies": {
@@ -278,6 +278,7 @@
278
278
  "eslint-formatter-gha": "1.6.0",
279
279
  "eslint-import-resolver-typescript": "4.4.4",
280
280
  "eslint-plugin-import-x": "4.16.1",
281
+ "eslint-plugin-oxlint": "1.36.0",
281
282
  "eslint-plugin-promise": "7.2.1",
282
283
  "expect-more-jest": "5.5.0",
283
284
  "globals": "16.5.0",
@@ -291,6 +292,7 @@
291
292
  "nock": "14.0.10",
292
293
  "npm-run-all2": "8.0.4",
293
294
  "nyc": "17.1.0",
295
+ "oxlint": "1.36.0",
294
296
  "rimraf": "6.1.2",
295
297
  "semantic-release": "25.0.2",
296
298
  "tar": "7.5.2",
@@ -324,6 +326,8 @@
324
326
  "doc-fence-check": "tsx tools/check-fenced-code.ts",
325
327
  "lint-documentation": "vitest run --coverage false test/docs/**.spec.ts",
326
328
  "lint-other": "vitest run --coverage false test/other/**.spec.ts",
329
+ "oxlint": "oxlint --import-plugin",
330
+ "oxlint-fix": "oxlint --import-plugin --fix",
327
331
  "eslint": "NODE_OPTIONS=--max-old-space-size=8192 eslint . --cache --cache-location .cache/eslint",
328
332
  "eslint-fix": "NODE_OPTIONS=--max-old-space-size=8192 eslint --cache --cache-location .cache/eslint --fix .",
329
333
  "eslint-ci": "NODE_OPTIONS=--max-old-space-size=8192 eslint . --cache --cache-strategy content --cache-location .cache/eslint --format gha",
@@ -332,8 +336,8 @@
332
336
  "git-check": "node tools/check-git-version.mjs",
333
337
  "jest": "GIT_ALLOW_PROTOCOL=file LOG_LEVEL=fatal vitest run --logHeapUsage",
334
338
  "vitest": "GIT_ALLOW_PROTOCOL=file LOG_LEVEL=fatal vitest run --logHeapUsage",
335
- "lint": "run-s ls-lint type-check eslint prettier markdown-lint git-check doc-fence-check",
336
- "lint-fix": "run-s eslint-fix prettier-fix markdown-lint-fix",
339
+ "lint": "run-s ls-lint type-check oxlint eslint prettier markdown-lint git-check doc-fence-check",
340
+ "lint-fix": "run-s oxlint-fix eslint-fix prettier-fix markdown-lint-fix",
337
341
  "ls-lint": "ls-lint",
338
342
  "markdown-lint": "markdownlint-cli2",
339
343
  "markdown-lint-fix": "markdownlint-cli2 --fix",
@@ -1,7 +1,7 @@
1
1
  {
2
- "title": "JSON schema for Renovate 42.80.2 config files (https://renovatebot.com/)",
2
+ "title": "JSON schema for Renovate 42.80.3 config files (https://renovatebot.com/)",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
- "x-renovate-version": "42.80.2",
4
+ "x-renovate-version": "42.80.3",
5
5
  "allowComments": true,
6
6
  "type": "object",
7
7
  "properties": {