renovate 42.19.10 → 42.20.1

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.
Files changed (122) hide show
  1. package/dist/config/migrate-validate.js +1 -2
  2. package/dist/config/migrate-validate.js.map +1 -1
  3. package/dist/config/migration.js +0 -1
  4. package/dist/config/migration.js.map +1 -1
  5. package/dist/config/options/index.js +1 -1
  6. package/dist/config/options/index.js.map +1 -1
  7. package/dist/instrumentation/index.js +3 -4
  8. package/dist/instrumentation/index.js.map +1 -1
  9. package/dist/modules/datasource/crate/index.js +1 -1
  10. package/dist/modules/datasource/crate/index.js.map +1 -1
  11. package/dist/modules/datasource/docker/common.js +6 -0
  12. package/dist/modules/datasource/docker/common.js.map +1 -1
  13. package/dist/modules/datasource/docker/schema.js +1 -1
  14. package/dist/modules/datasource/docker/schema.js.map +1 -1
  15. package/dist/modules/datasource/go/index.js +1 -2
  16. package/dist/modules/datasource/go/index.js.map +1 -1
  17. package/dist/modules/datasource/maven/index.js +2 -2
  18. package/dist/modules/datasource/maven/index.js.map +1 -1
  19. package/dist/modules/datasource/maven/util.js +2 -2
  20. package/dist/modules/datasource/maven/util.js.map +1 -1
  21. package/dist/modules/manager/bazel/artifacts.js +2 -2
  22. package/dist/modules/manager/bazel/artifacts.js.map +1 -1
  23. package/dist/modules/manager/maven-wrapper/artifacts.js +2 -2
  24. package/dist/modules/manager/maven-wrapper/artifacts.js.map +1 -1
  25. package/dist/modules/manager/npm/extract/common/package-file.js +2 -2
  26. package/dist/modules/manager/npm/extract/common/package-file.js.map +1 -1
  27. package/dist/modules/manager/npm/extract/yarn.js +2 -2
  28. package/dist/modules/manager/npm/extract/yarn.js.map +1 -1
  29. package/dist/modules/manager/npm/post-update/index.js +14 -18
  30. package/dist/modules/manager/npm/post-update/index.js.map +1 -1
  31. package/dist/modules/manager/npm/post-update/npm.js +4 -4
  32. package/dist/modules/manager/npm/post-update/npm.js.map +1 -1
  33. package/dist/modules/manager/npm/post-update/pnpm.js +4 -4
  34. package/dist/modules/manager/npm/post-update/pnpm.js.map +1 -1
  35. package/dist/modules/manager/npm/post-update/yarn.js +6 -6
  36. package/dist/modules/manager/npm/post-update/yarn.js.map +1 -1
  37. package/dist/modules/manager/npm/update/dependency/index.js +3 -4
  38. package/dist/modules/manager/npm/update/dependency/index.js.map +1 -1
  39. package/dist/modules/manager/npm/update/dependency/pnpm.js +2 -2
  40. package/dist/modules/manager/npm/update/dependency/pnpm.js.map +1 -1
  41. package/dist/modules/manager/npm/update/index.js +1 -0
  42. package/dist/modules/manager/npm/update/index.js.map +1 -1
  43. package/dist/modules/manager/npm/update/locked-dependency/common/parent-version.js +8 -8
  44. package/dist/modules/manager/npm/update/locked-dependency/common/parent-version.js.map +1 -1
  45. package/dist/modules/manager/npm/update/locked-dependency/package-lock/dep-constraints.js +2 -2
  46. package/dist/modules/manager/npm/update/locked-dependency/package-lock/dep-constraints.js.map +1 -1
  47. package/dist/modules/manager/npm/update/locked-dependency/package-lock/index.js +5 -5
  48. package/dist/modules/manager/npm/update/locked-dependency/package-lock/index.js.map +1 -1
  49. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/get-locked.js +4 -4
  50. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/get-locked.js.map +1 -1
  51. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/index.js +2 -2
  52. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/index.js.map +1 -1
  53. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/replace.js +2 -2
  54. package/dist/modules/manager/npm/update/locked-dependency/yarn-lock/replace.js.map +1 -1
  55. package/dist/modules/manager/npm/update/package-version/index.js +1 -2
  56. package/dist/modules/manager/npm/update/package-version/index.js.map +1 -1
  57. package/dist/modules/manager/npm/utils.js +8 -8
  58. package/dist/modules/manager/npm/utils.js.map +1 -1
  59. package/dist/modules/platform/azure/azure-helper.js +2 -2
  60. package/dist/modules/platform/azure/azure-helper.js.map +1 -1
  61. package/dist/modules/platform/azure/index.js +14 -14
  62. package/dist/modules/platform/azure/index.js.map +1 -1
  63. package/dist/modules/platform/bitbucket/comments.js +4 -4
  64. package/dist/modules/platform/bitbucket/comments.js.map +1 -1
  65. package/dist/modules/platform/bitbucket/index.js +31 -31
  66. package/dist/modules/platform/bitbucket/index.js.map +1 -1
  67. package/dist/modules/platform/bitbucket/utils.js +2 -2
  68. package/dist/modules/platform/bitbucket/utils.js.map +1 -1
  69. package/dist/modules/platform/bitbucket-server/index.js +32 -34
  70. package/dist/modules/platform/bitbucket-server/index.js.map +1 -1
  71. package/dist/modules/platform/bitbucket-server/utils.js +2 -4
  72. package/dist/modules/platform/bitbucket-server/utils.js.map +1 -1
  73. package/dist/modules/platform/codecommit/codecommit-client.js +6 -6
  74. package/dist/modules/platform/codecommit/codecommit-client.js.map +1 -1
  75. package/dist/modules/platform/codecommit/index.js +24 -24
  76. package/dist/modules/platform/codecommit/index.js.map +1 -1
  77. package/dist/modules/platform/gitea/index.js +4 -4
  78. package/dist/modules/platform/gitea/index.js.map +1 -1
  79. package/dist/modules/platform/github/index.js +68 -68
  80. package/dist/modules/platform/github/index.js.map +1 -1
  81. package/dist/modules/platform/github/massage-markdown-links.js +2 -2
  82. package/dist/modules/platform/github/massage-markdown-links.js.map +1 -1
  83. package/dist/modules/platform/github/pr.js +2 -2
  84. package/dist/modules/platform/github/pr.js.map +1 -1
  85. package/dist/modules/platform/github/schema.js +1 -2
  86. package/dist/modules/platform/github/schema.js.map +1 -1
  87. package/dist/modules/platform/gitlab/index.js +29 -30
  88. package/dist/modules/platform/gitlab/index.js.map +1 -1
  89. package/dist/modules/platform/utils/pr-body.js +7 -3
  90. package/dist/modules/platform/utils/pr-body.js.map +1 -1
  91. package/dist/proxy.js +1 -2
  92. package/dist/proxy.js.map +1 -1
  93. package/dist/util/cache/package/index.js +2 -2
  94. package/dist/util/cache/package/index.js.map +1 -1
  95. package/dist/util/cache/package/namespaces.js +1 -1
  96. package/dist/util/cache/package/namespaces.js.map +1 -1
  97. package/dist/util/git/error.js +5 -4
  98. package/dist/util/git/error.js.map +1 -1
  99. package/dist/util/git/index.js +10 -12
  100. package/dist/util/git/index.js.map +1 -1
  101. package/dist/util/git/private-key.js +2 -0
  102. package/dist/util/git/private-key.js.map +1 -1
  103. package/dist/util/http/bitbucket.js +1 -2
  104. package/dist/util/http/bitbucket.js.map +1 -1
  105. package/dist/util/http/cache/abstract-http-cache-provider.js +2 -2
  106. package/dist/util/http/cache/abstract-http-cache-provider.js.map +1 -1
  107. package/dist/util/http/http.js +1 -1
  108. package/dist/util/http/http.js.map +1 -1
  109. package/dist/util/stats.js +1 -1
  110. package/dist/util/stats.js.map +1 -1
  111. package/dist/workers/global/config/parse/codespaces.js +1 -2
  112. package/dist/workers/global/config/parse/codespaces.js.map +1 -1
  113. package/dist/workers/repository/update/branch/auto-replace.js +4 -2
  114. package/dist/workers/repository/update/branch/auto-replace.js.map +1 -1
  115. package/dist/workers/repository/update/branch/automerge.js +4 -1
  116. package/dist/workers/repository/update/branch/automerge.js.map +1 -1
  117. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js +1 -0
  118. package/dist/workers/repository/update/branch/execute-post-upgrade-commands.js.map +1 -1
  119. package/dist/workers/repository/update/branch/index.js +16 -8
  120. package/dist/workers/repository/update/branch/index.js.map +1 -1
  121. package/package.json +3 -2
  122. package/renovate-schema.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"get-locked.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/get-locked.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../../../../logger';\nimport type { YarnLock, YarnLockEntrySummary } from './types';\n\nexport function parseEntry(depNameConstraint: string): {\n entryName: string;\n constraint: string;\n} | null {\n let entryName: string;\n let constraint: string;\n const split = depNameConstraint.split('@');\n if (split.length === 2) {\n [entryName, constraint] = split;\n } else if (split.length === 3) {\n entryName = '@' + split[1];\n constraint = split[2];\n } else {\n logger.debug({ depNameConstraint }, 'Unexpected depNameConstraint');\n return null;\n }\n return { entryName, constraint };\n}\n\nexport function getYarn1LockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n const res: YarnLockEntrySummary[] = [];\n try {\n for (const [depNameConstraint, entry] of Object.entries(yarnLock)) {\n const parsed = parseEntry(depNameConstraint);\n /* v8 ignore next 3 -- needs test */\n if (!parsed) {\n continue;\n }\n const { entryName, constraint } = parsed;\n if (entryName === depName && entry?.version === currentVersion) {\n res.push({ entry, depNameConstraint, depName, constraint });\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'getLockedDependencies() error');\n } /* v8 ignore stop -- needs test */\n return res;\n}\n\nexport function getYarn2LockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n const res: YarnLockEntrySummary[] = [];\n try {\n for (const [fullConstraint, entry] of Object.entries(yarnLock)) {\n if (fullConstraint === '__metadata') {\n continue;\n }\n for (const subConstraint of fullConstraint.split(', ')) {\n const depNameConstraint = subConstraint;\n const parsed = parseEntry(depNameConstraint);\n /* v8 ignore next 3 -- needs test */\n if (!parsed) {\n continue;\n }\n const { entryName } = parsed;\n const constraint = parsed.constraint.replace(/^npm:/, '');\n if (entryName === depName && entry?.version === currentVersion) {\n res.push({ entry, depNameConstraint, depName, constraint });\n }\n }\n } /* v8 ignore start -- needs test */\n } catch (err) {\n logger.warn({ err }, 'getLockedDependencies() error');\n } /* v8 ignore stop -- needs test */\n return res;\n}\n\n// Finds matching dependencies withing a package lock file of sub-entry\nexport function getLockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n if ('__metadata' in yarnLock) {\n return getYarn2LockedDependencies(yarnLock, depName, currentVersion);\n }\n return getYarn1LockedDependencies(yarnLock, depName, currentVersion);\n}\n"]}
1
+ {"version":3,"file":"get-locked.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/get-locked.ts"],"names":[],"mappings":"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","sourcesContent":["import { logger } from '../../../../../../logger';\nimport type { YarnLock, YarnLockEntrySummary } from './types';\n\nexport function parseEntry(depNameConstraint: string): {\n entryName: string;\n constraint: string;\n} | null {\n let entryName: string;\n let constraint: string;\n const split = depNameConstraint.split('@');\n if (split.length === 2) {\n [entryName, constraint] = split;\n } else if (split.length === 3) {\n entryName = '@' + split[1];\n constraint = split[2];\n } else {\n logger.debug({ depNameConstraint }, 'Unexpected depNameConstraint');\n return null;\n }\n return { entryName, constraint };\n}\n\nexport function getYarn1LockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n const res: YarnLockEntrySummary[] = [];\n try {\n for (const [depNameConstraint, entry] of Object.entries(yarnLock)) {\n const parsed = parseEntry(depNameConstraint);\n /* v8 ignore next 3 -- needs test */\n if (!parsed) {\n continue;\n }\n const { entryName, constraint } = parsed;\n if (entryName === depName && entry?.version === currentVersion) {\n res.push({ entry, depNameConstraint, depName, constraint });\n }\n } /* v8 ignore next -- needs test */\n } catch (err) {\n logger.warn({ err }, 'getLockedDependencies() error');\n }\n return res;\n}\n\nexport function getYarn2LockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n const res: YarnLockEntrySummary[] = [];\n try {\n for (const [fullConstraint, entry] of Object.entries(yarnLock)) {\n if (fullConstraint === '__metadata') {\n continue;\n }\n for (const subConstraint of fullConstraint.split(', ')) {\n const depNameConstraint = subConstraint;\n const parsed = parseEntry(depNameConstraint);\n /* v8 ignore next 3 -- needs test */\n if (!parsed) {\n continue;\n }\n const { entryName } = parsed;\n const constraint = parsed.constraint.replace(/^npm:/, '');\n if (entryName === depName && entry?.version === currentVersion) {\n res.push({ entry, depNameConstraint, depName, constraint });\n }\n }\n } /* v8 ignore next -- needs test */\n } catch (err) {\n logger.warn({ err }, 'getLockedDependencies() error');\n }\n return res;\n}\n\n// Finds matching dependencies withing a package lock file of sub-entry\nexport function getLockedDependencies(\n yarnLock: YarnLock,\n depName: string,\n currentVersion: string,\n): YarnLockEntrySummary[] {\n if ('__metadata' in yarnLock) {\n return getYarn2LockedDependencies(yarnLock, depName, currentVersion);\n }\n return getYarn1LockedDependencies(yarnLock, depName, currentVersion);\n}\n"]}
@@ -56,11 +56,11 @@ function updateLockedDependency(config) {
56
56
  return { status: 'update-failed' };
57
57
  }
58
58
  return { status: 'updated', files: { [lockFile]: newLockFileContent } };
59
- /* v8 ignore start -- needs test */
59
+ /* v8 ignore next -- needs test */
60
60
  }
61
61
  catch (err) {
62
62
  logger_1.logger.error({ err }, 'updateLockedDependency() error');
63
63
  return { status: 'update-failed' };
64
- } /* v8 ignore stop -- needs test */
64
+ }
65
65
  }
66
66
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/index.ts"],"names":[],"mappings":"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","sourcesContent":["import { parseSyml } from '@yarnpkg/parsers';\nimport { logger } from '../../../../../../logger';\nimport { api as semver } from '../../../../../versioning/npm';\nimport type { UpdateLockedConfig, UpdateLockedResult } from '../../../../types';\nimport { getLockedDependencies } from './get-locked';\nimport { replaceConstraintVersion } from './replace';\nimport type { YarnLock, YarnLockEntryUpdate } from './types';\n\nexport function updateLockedDependency(\n config: UpdateLockedConfig,\n): UpdateLockedResult {\n const { depName, currentVersion, newVersion, lockFile, lockFileContent } =\n config;\n logger.debug(\n `npm.updateLockedDependency: ${depName}@${currentVersion} -> ${newVersion} [${lockFile}]`,\n );\n let yarnLock: YarnLock;\n try {\n // TODO #22198\n yarnLock = parseSyml(lockFileContent!);\n } catch (err) {\n logger.warn({ err }, 'Failed to parse yarn files');\n return { status: 'update-failed' };\n }\n try {\n const lockedDeps = getLockedDependencies(yarnLock, depName, currentVersion);\n if (!lockedDeps.length) {\n const newLockedDeps = getLockedDependencies(\n yarnLock,\n depName,\n newVersion,\n );\n if (newLockedDeps.length) {\n logger.debug(\n `${depName}@${currentVersion} not found in ${lockFile} but ${depName}@${newVersion} was - looks like it's already updated`,\n );\n return { status: 'already-updated' };\n }\n logger.debug(\n `${depName}@${currentVersion} not found in ${lockFile} - cannot update`,\n );\n return { status: 'update-failed' };\n }\n if ('__metadata' in yarnLock) {\n logger.debug(\n 'Cannot patch Yarn 2+ lock file directly - falling back to using yarn',\n );\n return { status: 'unsupported' };\n }\n logger.debug(\n `Found matching dependencies with length ${lockedDeps.length}`,\n );\n const updateLockedDeps: YarnLockEntryUpdate[] = [];\n for (const lockedDep of lockedDeps) {\n if (semver.matches(newVersion, lockedDep.constraint)) {\n logger.debug(\n `Dependency ${depName} can be updated from ${newVersion} to ${newVersion} in range ${lockedDep.constraint}`,\n );\n updateLockedDeps.push({ ...lockedDep, newVersion });\n continue;\n }\n logger.debug(\n `Dependency ${depName} cannot be updated from ${newVersion} to ${newVersion} in range ${lockedDep.constraint}`,\n );\n return { status: 'update-failed' };\n }\n // TODO #22198\n let newLockFileContent = lockFileContent!;\n for (const dependency of updateLockedDeps) {\n const { depName, constraint, newVersion } = dependency;\n newLockFileContent = replaceConstraintVersion(\n newLockFileContent,\n depName,\n constraint,\n newVersion,\n );\n }\n /* v8 ignore next 4 -- cannot test */\n if (newLockFileContent === lockFileContent) {\n logger.debug('Failed to make any changes to lock file');\n return { status: 'update-failed' };\n }\n return { status: 'updated', files: { [lockFile]: newLockFileContent } };\n /* v8 ignore start -- needs test */\n } catch (err) {\n logger.error({ err }, 'updateLockedDependency() error');\n return { status: 'update-failed' };\n } /* v8 ignore stop -- needs test */\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/index.ts"],"names":[],"mappings":";;AAQA,wDAgFC;AAxFD,8CAA6C;AAC7C,qDAAkD;AAClD,uDAA8D;AAE9D,6CAAqD;AACrD,uCAAqD;AAGrD,SAAgB,sBAAsB,CACpC,MAA0B;IAE1B,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,eAAe,EAAE,GACtE,MAAM,CAAC;IACT,eAAM,CAAC,KAAK,CACV,+BAA+B,OAAO,IAAI,cAAc,OAAO,UAAU,KAAK,QAAQ,GAAG,CAC1F,CAAC;IACF,IAAI,QAAkB,CAAC;IACvB,IAAI,CAAC;QACH,cAAc;QACd,QAAQ,GAAG,IAAA,mBAAS,EAAC,eAAgB,CAAC,CAAC;IACzC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACnD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;IACD,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,kCAAqB,EAAC,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACvB,MAAM,aAAa,GAAG,IAAA,kCAAqB,EACzC,QAAQ,EACR,OAAO,EACP,UAAU,CACX,CAAC;YACF,IAAI,aAAa,CAAC,MAAM,EAAE,CAAC;gBACzB,eAAM,CAAC,KAAK,CACV,GAAG,OAAO,IAAI,cAAc,iBAAiB,QAAQ,QAAQ,OAAO,IAAI,UAAU,wCAAwC,CAC3H,CAAC;gBACF,OAAO,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;YACvC,CAAC;YACD,eAAM,CAAC,KAAK,CACV,GAAG,OAAO,IAAI,cAAc,iBAAiB,QAAQ,kBAAkB,CACxE,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACrC,CAAC;QACD,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC7B,eAAM,CAAC,KAAK,CACV,sEAAsE,CACvE,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,CAAC;QACnC,CAAC;QACD,eAAM,CAAC,KAAK,CACV,2CAA2C,UAAU,CAAC,MAAM,EAAE,CAC/D,CAAC;QACF,MAAM,gBAAgB,GAA0B,EAAE,CAAC;QACnD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;YACnC,IAAI,SAAM,CAAC,OAAO,CAAC,UAAU,EAAE,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;gBACrD,eAAM,CAAC,KAAK,CACV,cAAc,OAAO,wBAAwB,UAAU,OAAO,UAAU,aAAa,SAAS,CAAC,UAAU,EAAE,CAC5G,CAAC;gBACF,gBAAgB,CAAC,IAAI,CAAC,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,CAAC,CAAC;gBACpD,SAAS;YACX,CAAC;YACD,eAAM,CAAC,KAAK,CACV,cAAc,OAAO,2BAA2B,UAAU,OAAO,UAAU,aAAa,SAAS,CAAC,UAAU,EAAE,CAC/G,CAAC;YACF,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACrC,CAAC;QACD,cAAc;QACd,IAAI,kBAAkB,GAAG,eAAgB,CAAC;QAC1C,KAAK,MAAM,UAAU,IAAI,gBAAgB,EAAE,CAAC;YAC1C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,GAAG,UAAU,CAAC;YACvD,kBAAkB,GAAG,IAAA,kCAAwB,EAC3C,kBAAkB,EAClB,OAAO,EACP,UAAU,EACV,UAAU,CACX,CAAC;QACJ,CAAC;QACD,qCAAqC;QACrC,IAAI,kBAAkB,KAAK,eAAe,EAAE,CAAC;YAC3C,eAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAC;YACxD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,kBAAkB,EAAE,EAAE,CAAC;QACxE,kCAAkC;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,eAAM,CAAC,KAAK,CAAC,EAAE,GAAG,EAAE,EAAE,gCAAgC,CAAC,CAAC;QACxD,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,CAAC;IACrC,CAAC;AACH,CAAC","sourcesContent":["import { parseSyml } from '@yarnpkg/parsers';\nimport { logger } from '../../../../../../logger';\nimport { api as semver } from '../../../../../versioning/npm';\nimport type { UpdateLockedConfig, UpdateLockedResult } from '../../../../types';\nimport { getLockedDependencies } from './get-locked';\nimport { replaceConstraintVersion } from './replace';\nimport type { YarnLock, YarnLockEntryUpdate } from './types';\n\nexport function updateLockedDependency(\n config: UpdateLockedConfig,\n): UpdateLockedResult {\n const { depName, currentVersion, newVersion, lockFile, lockFileContent } =\n config;\n logger.debug(\n `npm.updateLockedDependency: ${depName}@${currentVersion} -> ${newVersion} [${lockFile}]`,\n );\n let yarnLock: YarnLock;\n try {\n // TODO #22198\n yarnLock = parseSyml(lockFileContent!);\n } catch (err) {\n logger.warn({ err }, 'Failed to parse yarn files');\n return { status: 'update-failed' };\n }\n try {\n const lockedDeps = getLockedDependencies(yarnLock, depName, currentVersion);\n if (!lockedDeps.length) {\n const newLockedDeps = getLockedDependencies(\n yarnLock,\n depName,\n newVersion,\n );\n if (newLockedDeps.length) {\n logger.debug(\n `${depName}@${currentVersion} not found in ${lockFile} but ${depName}@${newVersion} was - looks like it's already updated`,\n );\n return { status: 'already-updated' };\n }\n logger.debug(\n `${depName}@${currentVersion} not found in ${lockFile} - cannot update`,\n );\n return { status: 'update-failed' };\n }\n if ('__metadata' in yarnLock) {\n logger.debug(\n 'Cannot patch Yarn 2+ lock file directly - falling back to using yarn',\n );\n return { status: 'unsupported' };\n }\n logger.debug(\n `Found matching dependencies with length ${lockedDeps.length}`,\n );\n const updateLockedDeps: YarnLockEntryUpdate[] = [];\n for (const lockedDep of lockedDeps) {\n if (semver.matches(newVersion, lockedDep.constraint)) {\n logger.debug(\n `Dependency ${depName} can be updated from ${newVersion} to ${newVersion} in range ${lockedDep.constraint}`,\n );\n updateLockedDeps.push({ ...lockedDep, newVersion });\n continue;\n }\n logger.debug(\n `Dependency ${depName} cannot be updated from ${newVersion} to ${newVersion} in range ${lockedDep.constraint}`,\n );\n return { status: 'update-failed' };\n }\n // TODO #22198\n let newLockFileContent = lockFileContent!;\n for (const dependency of updateLockedDeps) {\n const { depName, constraint, newVersion } = dependency;\n newLockFileContent = replaceConstraintVersion(\n newLockFileContent,\n depName,\n constraint,\n newVersion,\n );\n }\n /* v8 ignore next 4 -- cannot test */\n if (newLockFileContent === lockFileContent) {\n logger.debug('Failed to make any changes to lock file');\n return { status: 'update-failed' };\n }\n return { status: 'updated', files: { [lockFile]: newLockFileContent } };\n /* v8 ignore next -- needs test */\n } catch (err) {\n logger.error({ err }, 'updateLockedDependency() error');\n return { status: 'update-failed' };\n }\n}\n"]}
@@ -13,11 +13,11 @@ function replaceConstraintVersion(lockFileContent, depName, constraint, newVersi
13
13
  const matchString = `(${escaped}(("|",|,)[^\n:]*)?:\n)(.*\n)*?(\\s+dependencies|\n[@a-z])`;
14
14
  // yarn will fill in the details later
15
15
  const matchResult = (0, regex_1.regEx)(matchString).exec(lockFileContent);
16
- /* v8 ignore start -- needs test */
16
+ /* v8 ignore next -- needs test */
17
17
  if (!matchResult) {
18
18
  logger_1.logger.debug({ depName, constraint, newVersion }, 'Could not find constraint in lock file');
19
19
  return lockFileContent;
20
- } /* v8 ignore stop -- needs test */
20
+ }
21
21
  let constraintLine = matchResult[1];
22
22
  if (newConstraint) {
23
23
  const newDepNameConstraint = `${depName}@${newConstraint}`;
@@ -1 +1 @@
1
- {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/replace.ts"],"names":[],"mappings":";;AAGA,4DAoCC;AAvCD,qDAAkD;AAClD,wDAAqD;AAErD,SAAgB,wBAAwB,CACtC,eAAuB,EACvB,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,aAAsB;IAEtB,IAAI,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,MAAM,iBAAiB,GAAG,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,OAAO,2DAA2D,CAAC;IAC3F,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7D,mCAAmC;IACnC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EACnC,wCAAwC,CACzC,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC,CAAC,kCAAkC;IACpC,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,oBAAoB,GAAG,GAAG,OAAO,IAAI,aAAa,EAAE,CAAC;QAC3D,cAAc,GAAG,cAAc,CAAC,OAAO,CACrC,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAC5B,IAAA,aAAK,EAAC,WAAW,CAAC,EAClB,GAAG,cAAc,cAAc,UAAU,OAAO,CACjD,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from '../../../../../../logger';\nimport { regEx } from '../../../../../../util/regex';\n\nexport function replaceConstraintVersion(\n lockFileContent: string,\n depName: string,\n constraint: string,\n newVersion: string,\n newConstraint?: string,\n): string {\n if (lockFileContent.startsWith('__metadata:')) {\n // Yarn 2+\n return lockFileContent;\n }\n const depNameConstraint = `${depName}@${constraint}`;\n const escaped = depNameConstraint.replace(/(@|\\^|\\.|\\\\|\\|)/g, '\\\\$1');\n const matchString = `(${escaped}((\"|\",|,)[^\\n:]*)?:\\n)(.*\\n)*?(\\\\s+dependencies|\\n[@a-z])`;\n // yarn will fill in the details later\n const matchResult = regEx(matchString).exec(lockFileContent);\n /* v8 ignore start -- needs test */\n if (!matchResult) {\n logger.debug(\n { depName, constraint, newVersion },\n 'Could not find constraint in lock file',\n );\n return lockFileContent;\n } /* v8 ignore stop -- needs test */\n let constraintLine = matchResult[1];\n if (newConstraint) {\n const newDepNameConstraint = `${depName}@${newConstraint}`;\n constraintLine = constraintLine.replace(\n depNameConstraint,\n newDepNameConstraint,\n );\n }\n return lockFileContent.replace(\n regEx(matchString),\n `${constraintLine} version \"${newVersion}\"\\n$5`,\n );\n}\n"]}
1
+ {"version":3,"file":"replace.js","sourceRoot":"","sources":["../../../../../../../lib/modules/manager/npm/update/locked-dependency/yarn-lock/replace.ts"],"names":[],"mappings":";;AAGA,4DAoCC;AAvCD,qDAAkD;AAClD,wDAAqD;AAErD,SAAgB,wBAAwB,CACtC,eAAuB,EACvB,OAAe,EACf,UAAkB,EAClB,UAAkB,EAClB,aAAsB;IAEtB,IAAI,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAC9C,UAAU;QACV,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,MAAM,iBAAiB,GAAG,GAAG,OAAO,IAAI,UAAU,EAAE,CAAC;IACrD,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;IACtE,MAAM,WAAW,GAAG,IAAI,OAAO,2DAA2D,CAAC;IAC3F,sCAAsC;IACtC,MAAM,WAAW,GAAG,IAAA,aAAK,EAAC,WAAW,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC7D,kCAAkC;IAClC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,eAAM,CAAC,KAAK,CACV,EAAE,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,EACnC,wCAAwC,CACzC,CAAC;QACF,OAAO,eAAe,CAAC;IACzB,CAAC;IACD,IAAI,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC;IACpC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,oBAAoB,GAAG,GAAG,OAAO,IAAI,aAAa,EAAE,CAAC;QAC3D,cAAc,GAAG,cAAc,CAAC,OAAO,CACrC,iBAAiB,EACjB,oBAAoB,CACrB,CAAC;IACJ,CAAC;IACD,OAAO,eAAe,CAAC,OAAO,CAC5B,IAAA,aAAK,EAAC,WAAW,CAAC,EAClB,GAAG,cAAc,cAAc,UAAU,OAAO,CACjD,CAAC;AACJ,CAAC","sourcesContent":["import { logger } from '../../../../../../logger';\nimport { regEx } from '../../../../../../util/regex';\n\nexport function replaceConstraintVersion(\n lockFileContent: string,\n depName: string,\n constraint: string,\n newVersion: string,\n newConstraint?: string,\n): string {\n if (lockFileContent.startsWith('__metadata:')) {\n // Yarn 2+\n return lockFileContent;\n }\n const depNameConstraint = `${depName}@${constraint}`;\n const escaped = depNameConstraint.replace(/(@|\\^|\\.|\\\\|\\|)/g, '\\\\$1');\n const matchString = `(${escaped}((\"|\",|,)[^\\n:]*)?:\\n)(.*\\n)*?(\\\\s+dependencies|\\n[@a-z])`;\n // yarn will fill in the details later\n const matchResult = regEx(matchString).exec(lockFileContent);\n /* v8 ignore next -- needs test */\n if (!matchResult) {\n logger.debug(\n { depName, constraint, newVersion },\n 'Could not find constraint in lock file',\n );\n return lockFileContent;\n }\n let constraintLine = matchResult[1];\n if (newConstraint) {\n const newDepNameConstraint = `${depName}@${newConstraint}`;\n constraintLine = constraintLine.replace(\n depNameConstraint,\n newDepNameConstraint,\n );\n }\n return lockFileContent.replace(\n regEx(matchString),\n `${constraintLine} version \"${newVersion}\"\\n$5`,\n );\n}\n"]}
@@ -17,13 +17,12 @@ function bumpPackageVersion(content, currentValue, bumpVersion) {
17
17
  if (isMirrorBumpVersion(bumpVersion)) {
18
18
  const mirrorPackage = bumpVersion.replace('mirror:', '');
19
19
  const parsedContent = JSON.parse(content);
20
- /* v8 ignore start -- needs test */
20
+ /* v8 ignore next -- needs test */
21
21
  newPjVersion =
22
22
  parsedContent.dependencies?.[mirrorPackage] ??
23
23
  parsedContent.devDependencies?.[mirrorPackage] ??
24
24
  parsedContent.optionalDependencies?.[mirrorPackage] ??
25
25
  parsedContent.peerDependencies?.[mirrorPackage];
26
- /* v8 ignore stop -- needs test */
27
26
  if (!newPjVersion) {
28
27
  logger_1.logger.warn({ mirrorPackage }, 'bumpVersion mirror package not found');
29
28
  return { bumpedContent };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/package-version/index.ts"],"names":[],"mappings":";;AAcA,gDAqDC;;AAlED,4DAA4B;AAC5B,kDAA+C;AAC/C,qDAAkD;AAKlD,SAAS,mBAAmB,CAC1B,WAAmB;IAEnB,OAAO,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,YAAoB,EACpB,WAA6C;IAE7C,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,YAAY,EAAE,EAC7B,iDAAiD,CAClD,CAAC;IACF,uBAAuB;IACvB,IAAI,YAA2B,CAAC;IAChC,IAAI,aAAa,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC;QACH,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,mCAAmC;YACnC,YAAY;gBACV,aAAa,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC3C,aAAa,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC;oBAC9C,aAAa,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC;oBACnD,aAAa,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;YAClD,kCAAkC;YAClC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,eAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,sCAAsC,CAAC,CAAC;gBACvE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,gBAAM,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,2BAA2B;QAC3B,eAAM,CAAC,KAAK,CAAC,iBAAiB,YAAa,EAAE,CAAC,CAAC;QAC/C,aAAa,GAAG,OAAO,CAAC,OAAO,CAC7B,IAAA,aAAK,EAAC,kCAAkC,CAAC,EACzC,aAAa,YAAa,EAAE,CAC7B,CAAC;QACF,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAM,CAAC,IAAI,CACT;YACE,OAAO;YACP,YAAY;YACZ,WAAW;SACZ,EACD,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC","sourcesContent":["import type { ReleaseType } from 'semver';\nimport semver from 'semver';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { BumpPackageVersionResult } from '../../../types';\n\ntype MirrorBumpVersion = `mirror:${string}`;\n\nfunction isMirrorBumpVersion(\n bumpVersion: string,\n): bumpVersion is MirrorBumpVersion {\n return bumpVersion.startsWith('mirror:');\n}\n\nexport function bumpPackageVersion(\n content: string,\n currentValue: string,\n bumpVersion: ReleaseType | `mirror:${string}`,\n): BumpPackageVersionResult {\n logger.debug(\n { bumpVersion, currentValue },\n 'Checking if we should bump package.json version',\n );\n // TODO: types (#22198)\n let newPjVersion: string | null;\n let bumpedContent = content;\n\n try {\n if (isMirrorBumpVersion(bumpVersion)) {\n const mirrorPackage = bumpVersion.replace('mirror:', '');\n const parsedContent = JSON.parse(content);\n /* v8 ignore start -- needs test */\n newPjVersion =\n parsedContent.dependencies?.[mirrorPackage] ??\n parsedContent.devDependencies?.[mirrorPackage] ??\n parsedContent.optionalDependencies?.[mirrorPackage] ??\n parsedContent.peerDependencies?.[mirrorPackage];\n /* v8 ignore stop -- needs test */\n if (!newPjVersion) {\n logger.warn({ mirrorPackage }, 'bumpVersion mirror package not found');\n return { bumpedContent };\n }\n } else {\n newPjVersion = semver.inc(currentValue, bumpVersion);\n }\n // TODO: fix types (#22198)\n logger.debug(`newPjVersion: ${newPjVersion!}`);\n bumpedContent = content.replace(\n regEx(`(?<version>\"version\":\\\\s*\")[^\"]*`),\n `$<version>${newPjVersion!}`,\n );\n if (bumpedContent === content) {\n logger.debug('Version was already bumped');\n } else {\n logger.debug('Bumped package.json version');\n }\n } catch {\n logger.warn(\n {\n content,\n currentValue,\n bumpVersion,\n },\n 'Failed to bumpVersion',\n );\n }\n return { bumpedContent };\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../lib/modules/manager/npm/update/package-version/index.ts"],"names":[],"mappings":";;AAcA,gDAqDC;;AAlED,4DAA4B;AAC5B,kDAA+C;AAC/C,qDAAkD;AAKlD,SAAS,mBAAmB,CAC1B,WAAmB;IAEnB,OAAO,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED,SAAgB,kBAAkB,CAChC,OAAe,EACf,YAAoB,EACpB,WAA6C;IAE7C,eAAM,CAAC,KAAK,CACV,EAAE,WAAW,EAAE,YAAY,EAAE,EAC7B,iDAAiD,CAClD,CAAC;IACF,uBAAuB;IACvB,IAAI,YAA2B,CAAC;IAChC,IAAI,aAAa,GAAG,OAAO,CAAC;IAE5B,IAAI,CAAC;QACH,IAAI,mBAAmB,CAAC,WAAW,CAAC,EAAE,CAAC;YACrC,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAC1C,kCAAkC;YAClC,YAAY;gBACV,aAAa,CAAC,YAAY,EAAE,CAAC,aAAa,CAAC;oBAC3C,aAAa,CAAC,eAAe,EAAE,CAAC,aAAa,CAAC;oBAC9C,aAAa,CAAC,oBAAoB,EAAE,CAAC,aAAa,CAAC;oBACnD,aAAa,CAAC,gBAAgB,EAAE,CAAC,aAAa,CAAC,CAAC;YAElD,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,eAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,sCAAsC,CAAC,CAAC;gBACvE,OAAO,EAAE,aAAa,EAAE,CAAC;YAC3B,CAAC;QACH,CAAC;aAAM,CAAC;YACN,YAAY,GAAG,gBAAM,CAAC,GAAG,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;QACvD,CAAC;QACD,2BAA2B;QAC3B,eAAM,CAAC,KAAK,CAAC,iBAAiB,YAAa,EAAE,CAAC,CAAC;QAC/C,aAAa,GAAG,OAAO,CAAC,OAAO,CAC7B,IAAA,aAAK,EAAC,kCAAkC,CAAC,EACzC,aAAa,YAAa,EAAE,CAC7B,CAAC;QACF,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;YAC9B,eAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,eAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,eAAM,CAAC,IAAI,CACT;YACE,OAAO;YACP,YAAY;YACZ,WAAW;SACZ,EACD,uBAAuB,CACxB,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,CAAC;AAC3B,CAAC","sourcesContent":["import type { ReleaseType } from 'semver';\nimport semver from 'semver';\nimport { logger } from '../../../../../logger';\nimport { regEx } from '../../../../../util/regex';\nimport type { BumpPackageVersionResult } from '../../../types';\n\ntype MirrorBumpVersion = `mirror:${string}`;\n\nfunction isMirrorBumpVersion(\n bumpVersion: string,\n): bumpVersion is MirrorBumpVersion {\n return bumpVersion.startsWith('mirror:');\n}\n\nexport function bumpPackageVersion(\n content: string,\n currentValue: string,\n bumpVersion: ReleaseType | `mirror:${string}`,\n): BumpPackageVersionResult {\n logger.debug(\n { bumpVersion, currentValue },\n 'Checking if we should bump package.json version',\n );\n // TODO: types (#22198)\n let newPjVersion: string | null;\n let bumpedContent = content;\n\n try {\n if (isMirrorBumpVersion(bumpVersion)) {\n const mirrorPackage = bumpVersion.replace('mirror:', '');\n const parsedContent = JSON.parse(content);\n /* v8 ignore next -- needs test */\n newPjVersion =\n parsedContent.dependencies?.[mirrorPackage] ??\n parsedContent.devDependencies?.[mirrorPackage] ??\n parsedContent.optionalDependencies?.[mirrorPackage] ??\n parsedContent.peerDependencies?.[mirrorPackage];\n\n if (!newPjVersion) {\n logger.warn({ mirrorPackage }, 'bumpVersion mirror package not found');\n return { bumpedContent };\n }\n } else {\n newPjVersion = semver.inc(currentValue, bumpVersion);\n }\n // TODO: fix types (#22198)\n logger.debug(`newPjVersion: ${newPjVersion!}`);\n bumpedContent = content.replace(\n regEx(`(?<version>\"version\":\\\\s*\")[^\"]*`),\n `$<version>${newPjVersion!}`,\n );\n if (bumpedContent === content) {\n logger.debug('Version was already bumped');\n } else {\n logger.debug('Bumped package.json version');\n }\n } catch {\n logger.warn(\n {\n content,\n currentValue,\n bumpVersion,\n },\n 'Failed to bumpVersion',\n );\n }\n return { bumpedContent };\n}\n"]}
@@ -31,11 +31,11 @@ async function getNpmrcContent(dir) {
31
31
  let originalNpmrcContent = null;
32
32
  try {
33
33
  originalNpmrcContent = await (0, fs_1.readLocalFile)(npmrcFilePath, 'utf8');
34
- /* v8 ignore start -- needs test */
35
34
  }
36
35
  catch {
36
+ /* v8 ignore next -- needs test */
37
37
  originalNpmrcContent = null;
38
- } /* v8 ignore stop -- needs test */
38
+ }
39
39
  if (originalNpmrcContent) {
40
40
  logger_1.logger.debug(`npmrc file ${npmrcFilePath} found in repository`);
41
41
  }
@@ -52,31 +52,31 @@ async function updateNpmrcContent(dir, originalContent, additionalLines) {
52
52
  logger_1.logger.debug(`Writing updated .npmrc file to ${npmrcFilePath}`);
53
53
  await (0, fs_1.writeLocalFile)(npmrcFilePath, `${newContent}\n`);
54
54
  }
55
- /* v8 ignore start -- needs test */
56
55
  }
57
56
  catch {
57
+ /* v8 ignore next -- needs test */
58
58
  logger_1.logger.warn('Unable to write custom npmrc file');
59
- } /* v8 ignore stop -- needs test */
59
+ }
60
60
  }
61
61
  async function resetNpmrcContent(dir, originalContent) {
62
62
  const npmrcFilePath = upath_1.default.join(dir, '.npmrc');
63
63
  if (originalContent) {
64
64
  try {
65
65
  await (0, fs_1.writeLocalFile)(npmrcFilePath, originalContent);
66
- /* v8 ignore start -- needs test */
66
+ /* v8 ignore next -- needs test */
67
67
  }
68
68
  catch {
69
69
  logger_1.logger.warn('Unable to reset npmrc to original contents');
70
- } /* v8 ignore stop -- needs test */
70
+ }
71
71
  }
72
72
  else {
73
73
  try {
74
74
  await (0, fs_1.deleteLocalFile)(npmrcFilePath);
75
- /* v8 ignore start -- needs test */
76
75
  }
77
76
  catch {
77
+ /* v8 ignore next -- needs test */
78
78
  logger_1.logger.warn('Unable to delete custom npmrc');
79
- } /* v8 ignore stop -- needs test */
79
+ }
80
80
  }
81
81
  }
82
82
  async function loadPackageJson(parentDir) {
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import detectIndent from 'detect-indent';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport {\n deleteLocalFile,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\n\nimport { PackageJson } from './schema';\nimport type { LockFile, ParseLockFileResult } from './types';\n\nexport function parseLockFile(lockFile: string): ParseLockFileResult {\n const detectedIndent = detectIndent(lockFile).indent || ' ';\n\n let lockFileParsed: LockFile | undefined;\n try {\n lockFileParsed = JSON.parse(lockFile);\n } catch (err) {\n logger.warn({ err }, 'Error parsing npm lock file');\n }\n\n return { detectedIndent, lockFileParsed };\n}\n\nexport function composeLockFile(lockFile: LockFile, indent: string): string {\n return JSON.stringify(lockFile, null, indent) + '\\n';\n}\n\nexport async function getNpmrcContent(dir: string): Promise<string | null> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n let originalNpmrcContent: string | null = null;\n try {\n originalNpmrcContent = await readLocalFile(npmrcFilePath, 'utf8');\n /* v8 ignore start -- needs test */\n } catch {\n originalNpmrcContent = null;\n } /* v8 ignore stop -- needs test */\n if (originalNpmrcContent) {\n logger.debug(`npmrc file ${npmrcFilePath} found in repository`);\n }\n return originalNpmrcContent;\n}\n\nexport async function updateNpmrcContent(\n dir: string,\n originalContent: string | null,\n additionalLines: string[],\n): Promise<void> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n const newNpmrc = originalContent\n ? [originalContent, ...additionalLines]\n : additionalLines;\n try {\n const newContent = newNpmrc.length ? newNpmrc.join('\\n') : null;\n if (newContent !== originalContent) {\n logger.debug(`Writing updated .npmrc file to ${npmrcFilePath}`);\n await writeLocalFile(npmrcFilePath, `${newContent}\\n`);\n }\n /* v8 ignore start -- needs test */\n } catch {\n logger.warn('Unable to write custom npmrc file');\n } /* v8 ignore stop -- needs test */\n}\n\nexport async function resetNpmrcContent(\n dir: string,\n originalContent: string | null,\n): Promise<void> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n if (originalContent) {\n try {\n await writeLocalFile(npmrcFilePath, originalContent);\n /* v8 ignore start -- needs test */\n } catch {\n logger.warn('Unable to reset npmrc to original contents');\n } /* v8 ignore stop -- needs test */\n } else {\n try {\n await deleteLocalFile(npmrcFilePath);\n /* v8 ignore start -- needs test */\n } catch {\n logger.warn('Unable to delete custom npmrc');\n } /* v8 ignore stop -- needs test */\n }\n}\n\nexport async function loadPackageJson(parentDir: string): Promise<PackageJson> {\n const json = await readLocalFile(\n upath.join(parentDir, 'package.json'),\n 'utf8',\n );\n const res = PackageJson.safeParse(json);\n if (res.success) {\n return res.data;\n }\n return {};\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../lib/modules/manager/npm/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import detectIndent from 'detect-indent';\nimport upath from 'upath';\nimport { logger } from '../../../logger';\nimport {\n deleteLocalFile,\n readLocalFile,\n writeLocalFile,\n} from '../../../util/fs';\n\nimport { PackageJson } from './schema';\nimport type { LockFile, ParseLockFileResult } from './types';\n\nexport function parseLockFile(lockFile: string): ParseLockFileResult {\n const detectedIndent = detectIndent(lockFile).indent || ' ';\n\n let lockFileParsed: LockFile | undefined;\n try {\n lockFileParsed = JSON.parse(lockFile);\n } catch (err) {\n logger.warn({ err }, 'Error parsing npm lock file');\n }\n\n return { detectedIndent, lockFileParsed };\n}\n\nexport function composeLockFile(lockFile: LockFile, indent: string): string {\n return JSON.stringify(lockFile, null, indent) + '\\n';\n}\n\nexport async function getNpmrcContent(dir: string): Promise<string | null> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n let originalNpmrcContent: string | null = null;\n try {\n originalNpmrcContent = await readLocalFile(npmrcFilePath, 'utf8');\n } catch {\n /* v8 ignore next -- needs test */\n originalNpmrcContent = null;\n }\n if (originalNpmrcContent) {\n logger.debug(`npmrc file ${npmrcFilePath} found in repository`);\n }\n return originalNpmrcContent;\n}\n\nexport async function updateNpmrcContent(\n dir: string,\n originalContent: string | null,\n additionalLines: string[],\n): Promise<void> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n const newNpmrc = originalContent\n ? [originalContent, ...additionalLines]\n : additionalLines;\n try {\n const newContent = newNpmrc.length ? newNpmrc.join('\\n') : null;\n if (newContent !== originalContent) {\n logger.debug(`Writing updated .npmrc file to ${npmrcFilePath}`);\n await writeLocalFile(npmrcFilePath, `${newContent}\\n`);\n }\n } catch {\n /* v8 ignore next -- needs test */\n logger.warn('Unable to write custom npmrc file');\n }\n}\n\nexport async function resetNpmrcContent(\n dir: string,\n originalContent: string | null,\n): Promise<void> {\n const npmrcFilePath = upath.join(dir, '.npmrc');\n if (originalContent) {\n try {\n await writeLocalFile(npmrcFilePath, originalContent);\n /* v8 ignore next -- needs test */\n } catch {\n logger.warn('Unable to reset npmrc to original contents');\n }\n } else {\n try {\n await deleteLocalFile(npmrcFilePath);\n } catch {\n /* v8 ignore next -- needs test */\n logger.warn('Unable to delete custom npmrc');\n }\n }\n}\n\nexport async function loadPackageJson(parentDir: string): Promise<PackageJson> {\n const json = await readLocalFile(\n upath.join(parentDir, 'package.json'),\n 'utf8',\n );\n const res = PackageJson.safeParse(json);\n if (res.success) {\n return res.data;\n }\n return {};\n}\n"]}
@@ -63,9 +63,9 @@ async function getFile(repoId, filePath, branchName) {
63
63
  }
64
64
  }
65
65
  }
66
- catch /* v8 ignore start */ {
66
+ catch /* v8 ignore next */ {
67
67
  // it 's not a JSON, so I send the content directly with the line under
68
- } /* v8 ignore stop */
68
+ }
69
69
  return fileContent;
70
70
  }
71
71
  return null; // no file found
@@ -1 +1 @@
1
- {"version":3,"file":"azure-helper.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/azure-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WebApiTeam } from 'azure-devops-node-api/interfaces/CoreInterfaces.js';\nimport type {\n GitCommit,\n GitRef,\n} from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { logger } from '../../../logger';\nimport { streamToString } from '../../../util/streams';\nimport { getNewBranchName } from '../util';\nimport * as azureApi from './azure-got-wrapper';\nimport { WrappedException } from './schema';\nimport {\n getBranchNameWithoutRefsPrefix,\n getBranchNameWithoutRefsheadsPrefix,\n} from './util';\n\nconst mergePolicyGuid = 'fa4e907d-c16b-4a4c-9dfa-4916e5d171ab'; // Magic GUID for merge strategy policy configurations\n\nexport async function getRefs(\n repoId: string,\n branchName?: string,\n): Promise<GitRef[]> {\n logger.debug(`getRefs(${repoId}, ${branchName!})`);\n const azureApiGit = await azureApi.gitApi();\n const refs = await azureApiGit.getRefs(\n repoId,\n undefined,\n getBranchNameWithoutRefsPrefix(branchName),\n );\n return refs;\n}\n\nexport interface AzureBranchObj {\n name: string;\n oldObjectId: string;\n}\n\nexport async function getAzureBranchObj(\n repoId: string,\n branchName: string,\n from?: string,\n): Promise<AzureBranchObj> {\n const fromBranchName = getNewBranchName(from);\n const refs = await getRefs(repoId, fromBranchName);\n if (refs.length === 0) {\n logger.debug(`getAzureBranchObj without a valid from, so initial commit.`);\n // TODO: fix undefined\n return {\n name: getNewBranchName(branchName)!,\n oldObjectId: '0000000000000000000000000000000000000000',\n };\n }\n return {\n // TODO: fix undefined (#22198)\n name: getNewBranchName(branchName)!,\n oldObjectId: refs[0].objectId!,\n };\n}\n\n// if no branchName, look globally\nexport async function getFile(\n repoId: string,\n filePath: string,\n branchName: string,\n): Promise<string | null> {\n logger.trace(`getFile(filePath=${filePath}, branchName=${branchName})`);\n const azureApiGit = await azureApi.gitApi();\n const item = await azureApiGit.getItemText(\n repoId,\n filePath,\n undefined,\n undefined,\n 0, // because we look for 1 file\n false,\n false,\n true,\n {\n versionType: 0, // branch\n versionOptions: 0,\n version: getBranchNameWithoutRefsheadsPrefix(branchName),\n },\n );\n\n if (item?.readable) {\n const fileContent = await streamToString(item);\n try {\n const result = WrappedException.safeParse(fileContent);\n if (result.success) {\n if (result.data.typeKey === 'GitItemNotFoundException') {\n logger.warn({ filePath }, 'Unable to find file');\n return null;\n }\n if (result.data.typeKey === 'GitUnresolvableToCommitException') {\n logger.warn({ branchName }, 'Unable to find branch');\n return null;\n }\n }\n } catch /* v8 ignore start */ {\n // it 's not a JSON, so I send the content directly with the line under\n } /* v8 ignore stop */\n\n return fileContent;\n }\n\n return null; // no file found\n}\n\nexport async function getCommitDetails(\n commit: string,\n repoId: string,\n): Promise<GitCommit> {\n logger.debug(`getCommitDetails(${commit}, ${repoId})`);\n const azureApiGit = await azureApi.gitApi();\n const results = await azureApiGit.getCommit(commit, repoId);\n return results;\n}\n\nexport async function getMergeMethod(\n repoId: string,\n project: string,\n branchRef?: string | null,\n defaultBranch?: string,\n): Promise<GitPullRequestMergeStrategy> {\n logger.debug(\n `getMergeMethod(branchRef=${branchRef}, defaultBranch=${defaultBranch})`,\n );\n interface Scope {\n repositoryId: string;\n refName?: string;\n matchKind: 'Prefix' | 'Exact' | 'DefaultBranch';\n }\n const isRelevantScope = (scope: Scope): boolean => {\n if (\n scope.matchKind === 'DefaultBranch' &&\n // TODO: types (#22198)\n (!branchRef || branchRef === `refs/heads/${defaultBranch!}`)\n ) {\n return true;\n }\n if (scope.repositoryId !== repoId && scope.repositoryId !== null) {\n return false;\n }\n if (!branchRef) {\n return true;\n }\n // TODO #22198\n return scope.matchKind === 'Exact'\n ? scope.refName === branchRef\n : branchRef.startsWith(scope.refName!);\n };\n\n const policyConfigurations = (\n await (\n await azureApi.policyApi()\n ).getPolicyConfigurations(project, undefined, mergePolicyGuid)\n )\n .filter((p) => p.settings.scope.some(isRelevantScope))\n .map((p) => p.settings)[0];\n\n logger.debug(\n // TODO: types (#22198)\n `getMergeMethod(branchRef=${branchRef!}) determining mergeMethod from matched policy:\\n${JSON.stringify(\n policyConfigurations,\n null,\n 4,\n )}`,\n );\n\n try {\n // TODO: fix me, wrong types\n return Object.keys(policyConfigurations)\n .map(\n (p) =>\n GitPullRequestMergeStrategy[\n p.slice(5) as never\n ] as never as GitPullRequestMergeStrategy,\n )\n .find((p) => p)!;\n } catch {\n return GitPullRequestMergeStrategy.NoFastForward;\n }\n}\n\nexport async function getAllProjectTeams(\n projectId: string,\n): Promise<WebApiTeam[]> {\n const allTeams: WebApiTeam[] = [];\n const azureApiCore = await azureApi.coreApi();\n const top = 100;\n let skip = 0;\n let length = 0;\n\n do {\n const teams = await azureApiCore.getTeams(projectId, undefined, top, skip);\n length = teams.length;\n allTeams.push(...teams);\n skip += top;\n } while (top <= length);\n\n return allTeams;\n}\n"]}
1
+ {"version":3,"file":"azure-helper.js","sourceRoot":"","sources":["../../../../lib/modules/platform/azure/azure-helper.ts"],"names":[],"mappings":"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","sourcesContent":["import type { WebApiTeam } from 'azure-devops-node-api/interfaces/CoreInterfaces.js';\nimport type {\n GitCommit,\n GitRef,\n} from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { GitPullRequestMergeStrategy } from 'azure-devops-node-api/interfaces/GitInterfaces.js';\nimport { logger } from '../../../logger';\nimport { streamToString } from '../../../util/streams';\nimport { getNewBranchName } from '../util';\nimport * as azureApi from './azure-got-wrapper';\nimport { WrappedException } from './schema';\nimport {\n getBranchNameWithoutRefsPrefix,\n getBranchNameWithoutRefsheadsPrefix,\n} from './util';\n\nconst mergePolicyGuid = 'fa4e907d-c16b-4a4c-9dfa-4916e5d171ab'; // Magic GUID for merge strategy policy configurations\n\nexport async function getRefs(\n repoId: string,\n branchName?: string,\n): Promise<GitRef[]> {\n logger.debug(`getRefs(${repoId}, ${branchName!})`);\n const azureApiGit = await azureApi.gitApi();\n const refs = await azureApiGit.getRefs(\n repoId,\n undefined,\n getBranchNameWithoutRefsPrefix(branchName),\n );\n return refs;\n}\n\nexport interface AzureBranchObj {\n name: string;\n oldObjectId: string;\n}\n\nexport async function getAzureBranchObj(\n repoId: string,\n branchName: string,\n from?: string,\n): Promise<AzureBranchObj> {\n const fromBranchName = getNewBranchName(from);\n const refs = await getRefs(repoId, fromBranchName);\n if (refs.length === 0) {\n logger.debug(`getAzureBranchObj without a valid from, so initial commit.`);\n // TODO: fix undefined\n return {\n name: getNewBranchName(branchName)!,\n oldObjectId: '0000000000000000000000000000000000000000',\n };\n }\n return {\n // TODO: fix undefined (#22198)\n name: getNewBranchName(branchName)!,\n oldObjectId: refs[0].objectId!,\n };\n}\n\n// if no branchName, look globally\nexport async function getFile(\n repoId: string,\n filePath: string,\n branchName: string,\n): Promise<string | null> {\n logger.trace(`getFile(filePath=${filePath}, branchName=${branchName})`);\n const azureApiGit = await azureApi.gitApi();\n const item = await azureApiGit.getItemText(\n repoId,\n filePath,\n undefined,\n undefined,\n 0, // because we look for 1 file\n false,\n false,\n true,\n {\n versionType: 0, // branch\n versionOptions: 0,\n version: getBranchNameWithoutRefsheadsPrefix(branchName),\n },\n );\n\n if (item?.readable) {\n const fileContent = await streamToString(item);\n try {\n const result = WrappedException.safeParse(fileContent);\n if (result.success) {\n if (result.data.typeKey === 'GitItemNotFoundException') {\n logger.warn({ filePath }, 'Unable to find file');\n return null;\n }\n if (result.data.typeKey === 'GitUnresolvableToCommitException') {\n logger.warn({ branchName }, 'Unable to find branch');\n return null;\n }\n }\n } catch /* v8 ignore next */ {\n // it 's not a JSON, so I send the content directly with the line under\n }\n\n return fileContent;\n }\n\n return null; // no file found\n}\n\nexport async function getCommitDetails(\n commit: string,\n repoId: string,\n): Promise<GitCommit> {\n logger.debug(`getCommitDetails(${commit}, ${repoId})`);\n const azureApiGit = await azureApi.gitApi();\n const results = await azureApiGit.getCommit(commit, repoId);\n return results;\n}\n\nexport async function getMergeMethod(\n repoId: string,\n project: string,\n branchRef?: string | null,\n defaultBranch?: string,\n): Promise<GitPullRequestMergeStrategy> {\n logger.debug(\n `getMergeMethod(branchRef=${branchRef}, defaultBranch=${defaultBranch})`,\n );\n interface Scope {\n repositoryId: string;\n refName?: string;\n matchKind: 'Prefix' | 'Exact' | 'DefaultBranch';\n }\n const isRelevantScope = (scope: Scope): boolean => {\n if (\n scope.matchKind === 'DefaultBranch' &&\n // TODO: types (#22198)\n (!branchRef || branchRef === `refs/heads/${defaultBranch!}`)\n ) {\n return true;\n }\n if (scope.repositoryId !== repoId && scope.repositoryId !== null) {\n return false;\n }\n if (!branchRef) {\n return true;\n }\n // TODO #22198\n return scope.matchKind === 'Exact'\n ? scope.refName === branchRef\n : branchRef.startsWith(scope.refName!);\n };\n\n const policyConfigurations = (\n await (\n await azureApi.policyApi()\n ).getPolicyConfigurations(project, undefined, mergePolicyGuid)\n )\n .filter((p) => p.settings.scope.some(isRelevantScope))\n .map((p) => p.settings)[0];\n\n logger.debug(\n // TODO: types (#22198)\n `getMergeMethod(branchRef=${branchRef!}) determining mergeMethod from matched policy:\\n${JSON.stringify(\n policyConfigurations,\n null,\n 4,\n )}`,\n );\n\n try {\n // TODO: fix me, wrong types\n return Object.keys(policyConfigurations)\n .map(\n (p) =>\n GitPullRequestMergeStrategy[\n p.slice(5) as never\n ] as never as GitPullRequestMergeStrategy,\n )\n .find((p) => p)!;\n } catch {\n return GitPullRequestMergeStrategy.NoFastForward;\n }\n}\n\nexport async function getAllProjectTeams(\n projectId: string,\n): Promise<WebApiTeam[]> {\n const allTeams: WebApiTeam[] = [];\n const azureApiCore = await azureApi.coreApi();\n const top = 100;\n let skip = 0;\n let length = 0;\n\n do {\n const teams = await azureApiCore.getTeams(projectId, undefined, top, skip);\n length = teams.length;\n allTeams.push(...teams);\n skip += top;\n } while (top <= length);\n\n return allTeams;\n}\n"]}
@@ -119,7 +119,7 @@ async function getRawFile(fileName, repoName, branchOrTag) {
119
119
  }
120
120
  return item?.content ?? null;
121
121
  }
122
- catch (err) /* v8 ignore start */ {
122
+ catch (err) /* v8 ignore next */ {
123
123
  if (err.message?.includes('<title>Azure DevOps Services Unavailable</title>')) {
124
124
  logger_1.logger.debug('Azure DevOps is currently unavailable when attempting to fetch file - throwing ExternalHostError');
125
125
  throw new external_host_error_1.ExternalHostError(err, exports.id);
@@ -131,7 +131,7 @@ async function getRawFile(fileName, repoName, branchOrTag) {
131
131
  throw new external_host_error_1.ExternalHostError(err, exports.id);
132
132
  }
133
133
  throw err;
134
- } /* v8 ignore stop */
134
+ }
135
135
  }
136
136
  async function getJsonFile(fileName, repoName, branchOrTag) {
137
137
  const raw = await getRawFile(fileName, repoName, branchOrTag);
@@ -152,11 +152,11 @@ async function initRepo({ repository, cloneSubmodules, cloneSubmodulesFilter, })
152
152
  logger_1.logger.debug('Repository is disabled- throwing error to abort renovation');
153
153
  throw new Error(error_messages_1.REPOSITORY_ARCHIVED);
154
154
  }
155
- /* v8 ignore start */
155
+ /* v8 ignore next */
156
156
  if (!repo.defaultBranch) {
157
157
  logger_1.logger.debug('Repo is empty');
158
158
  throw new Error(error_messages_1.REPOSITORY_EMPTY);
159
- } /* v8 ignore stop */
159
+ }
160
160
  // TODO #22198
161
161
  config.repoId = repo.id;
162
162
  config.project = repo.project.name;
@@ -422,12 +422,12 @@ async function updatePr({ number: prNo, prTitle: title, prBody: body, state, pla
422
422
  const prToCache = (0, util_2.getRenovatePRFormat)(updatedPr);
423
423
  // We need to update the cached entry for this PR
424
424
  const existingIndex = config.prList.findIndex((item) => item.number === prNo);
425
- /* v8 ignore start: should not happen */
425
+ /* v8 ignore next: should not happen */
426
426
  if (existingIndex === -1) {
427
427
  logger_1.logger.warn({ prNo }, 'PR not found in cache');
428
428
  // Add to cache
429
429
  config.prList.push(prToCache);
430
- } /* v8 ignore stop */
430
+ }
431
431
  else {
432
432
  // overwrite existing PR in cache
433
433
  config.prList[existingIndex] = prToCache;
@@ -572,28 +572,28 @@ function massageMarkdown(input) {
572
572
  function maxBodyLength() {
573
573
  return 4000;
574
574
  }
575
- /* v8 ignore start */
575
+ /* v8 ignore next */
576
576
  function findIssue() {
577
577
  // TODO: Needs implementation (#9592)
578
578
  logger_1.logger.debug(`findIssue() is not implemented`);
579
579
  return Promise.resolve(null);
580
- } /* v8 ignore stop */
581
- /* v8 ignore start */
580
+ }
581
+ /* v8 ignore next */
582
582
  function ensureIssue() {
583
583
  // TODO: Needs implementation (#9592)
584
584
  logger_1.logger.debug(`ensureIssue() is not implemented`);
585
585
  return Promise.resolve(null);
586
- } /* v8 ignore stop */
587
- /* v8 ignore start */
586
+ }
587
+ /* v8 ignore next */
588
588
  function ensureIssueClosing() {
589
589
  return Promise.resolve();
590
- } /* v8 ignore stop */
591
- /* v8 ignore start */
590
+ }
591
+ /* v8 ignore next */
592
592
  function getIssueList() {
593
593
  logger_1.logger.debug(`getIssueList()`);
594
594
  // TODO: Needs implementation (#9592)
595
595
  return Promise.resolve([]);
596
- } /* v8 ignore stop */
596
+ }
597
597
  async function getUserIds(users) {
598
598
  const azureApiGit = await azureApi.gitApi();
599
599
  const azureApiCore = await azureApi.coreApi();