diff --git a/lib/modules/manager/hermit/default-config.spec.ts b/lib/modules/manager/hermit/default-config.spec.ts index d2a7053771f7298195d24852180cf32fdcf74eea..fadc58b1c3af8e1f6e56febb2654192cd8bc81e0 100644 --- a/lib/modules/manager/hermit/default-config.spec.ts +++ b/lib/modules/manager/hermit/default-config.spec.ts @@ -1,12 +1,12 @@ -import { minimatch } from 'minimatch'; import { regexMatches } from '../../../../test/util'; +import { minimatch } from '../../../util/minimatch'; import { defaultConfig } from './default-config'; describe('modules/manager/hermit/default-config', () => { describe('excludeCommitPaths', () => { function miniMatches(target: string, patterns: string[]): boolean { return patterns.some((patt: string) => { - return minimatch(target, patt, { dot: true }); + return minimatch(patt, { dot: true }).match(target); }); } diff --git a/lib/modules/manager/hermit/extract.ts b/lib/modules/manager/hermit/extract.ts index 1c1e1210ff920637b3dd9d6ecb71c0ff59a547de..206ffdb84b8be44df57d97fbcbe692060ef55929 100644 --- a/lib/modules/manager/hermit/extract.ts +++ b/lib/modules/manager/hermit/extract.ts @@ -1,7 +1,7 @@ -import { minimatch } from 'minimatch'; import upath from 'upath'; import { logger } from '../../../logger'; import { readLocalDirectory } from '../../../util/fs'; +import { minimatch } from '../../../util/minimatch'; import { regEx } from '../../../util/regex'; import { HermitDatasource } from '../../datasource/hermit'; import type { PackageDependency, PackageFileContent } from '../types'; @@ -68,7 +68,7 @@ async function listHermitPackages( const out = [] as HermitListItem[]; for (const f of files) { - if (!minimatch(f, '.*.pkg')) { + if (!minimatch('.*.pkg').match(f)) { continue; } diff --git a/lib/modules/manager/npm/extract/utils.ts b/lib/modules/manager/npm/extract/utils.ts index 629d643ae5e7fe333ceb2589036c806aa613a30e..14eb7117526b1504eb3564138f4793f3a4d7e012 100644 --- a/lib/modules/manager/npm/extract/utils.ts +++ b/lib/modules/manager/npm/extract/utils.ts @@ -1,9 +1,10 @@ -import { minimatch } from 'minimatch'; import { logger } from '../../../../logger'; +import { minimatch } from '../../../../util/minimatch'; export function matchesAnyPattern(val: string, patterns: string[]): boolean { const res = patterns.some( - (pattern) => pattern === val + '/' || minimatch(val, pattern, { dot: true }) + (pattern) => + pattern === `${val}/` || minimatch(pattern, { dot: true }).match(val) ); logger.trace({ val, patterns, res }, `matchesAnyPattern`); return res; diff --git a/lib/modules/manager/npm/post-update/npm.ts b/lib/modules/manager/npm/post-update/npm.ts index 2e4175760432363f4e051c036b6cb34804afa492..0c19bb04a8c27a2b4397bfe3a5cf851808554396 100644 --- a/lib/modules/manager/npm/post-update/npm.ts +++ b/lib/modules/manager/npm/post-update/npm.ts @@ -1,6 +1,5 @@ // TODO: types (#7154) import is from '@sindresorhus/is'; -import { minimatch } from 'minimatch'; import upath from 'upath'; import { GlobalConfig } from '../../../../config/global'; import { @@ -20,6 +19,7 @@ import { readLocalFile, renameLocalFile, } from '../../../../util/fs'; +import { minimatch } from '../../../../util/minimatch'; import { trimSlashes } from '../../../../util/url'; import type { PostUpdateConfig, Upgrade } from '../../types'; import { composeLockFile, parseLockFile } from '../utils'; @@ -246,7 +246,7 @@ export function divideWorkspaceAndRootDeps( // stop when the first match is found and // add workspaceDir to workspaces set and upgrade object for (const workspacePattern of workspacePatterns ?? []) { - if (minimatch(workspaceDir, workspacePattern)) { + if (minimatch(workspacePattern).match(workspaceDir)) { workspaceName = workspaceDir; break; } diff --git a/lib/util/package-rules/files.ts b/lib/util/package-rules/files.ts index bb6cd57a3c5c90037f975d426570b99e9b9b006e..e820c8cc514367503730006d94c0da3c9186f3a6 100644 --- a/lib/util/package-rules/files.ts +++ b/lib/util/package-rules/files.ts @@ -1,6 +1,6 @@ import is from '@sindresorhus/is'; -import { minimatch } from 'minimatch'; import type { PackageRule, PackageRuleInputConfig } from '../../config/types'; +import { minimatch } from '../minimatch'; import { Matcher } from './base'; export class FileNamesMatcher extends Matcher { @@ -17,10 +17,10 @@ export class FileNamesMatcher extends Matcher { return matchFileNames.some( (matchFileName) => - minimatch(packageFile, matchFileName, { dot: true }) || + minimatch(matchFileName, { dot: true }).match(packageFile) || (is.array(lockFiles) && lockFiles.some((lockFile) => - minimatch(lockFile, matchFileName, { dot: true }) + minimatch(matchFileName, { dot: true }).match(lockFile) )) ); } diff --git a/lib/util/package-rules/match.ts b/lib/util/package-rules/match.ts index 3ae80396edcc6f59a305a36cd4a8ee8748911aa4..b96249e294f71f8a44c9df7e30c95cd55378ef36 100644 --- a/lib/util/package-rules/match.ts +++ b/lib/util/package-rules/match.ts @@ -1,6 +1,6 @@ import is from '@sindresorhus/is'; -import { minimatch } from 'minimatch'; import { logger } from '../../logger'; +import { minimatch } from '../minimatch'; import { regEx } from '../regex'; export function matchRegexOrMinimatch(pattern: string, input: string): boolean { @@ -13,7 +13,8 @@ export function matchRegexOrMinimatch(pattern: string, input: string): boolean { return false; } } - return minimatch(input, pattern, { dot: true }); + + return minimatch(pattern, { dot: true }).match(input); } export function anyMatchRegexOrMinimatch( diff --git a/lib/workers/repository/extract/file-match.ts b/lib/workers/repository/extract/file-match.ts index 01187497f90d49f5045ac6484a6a21a4e28203ce..1cc6940feff7fb434e8bc6caae8bc4a4f3f1b8a9 100644 --- a/lib/workers/repository/extract/file-match.ts +++ b/lib/workers/repository/extract/file-match.ts @@ -1,6 +1,6 @@ -import { minimatch } from 'minimatch'; import type { RenovateConfig } from '../../../config/types'; import { logger } from '../../../logger'; +import { minimatch } from '../../../util/minimatch'; import { regEx } from '../../../util/regex'; export function getIncludedFiles( @@ -13,7 +13,8 @@ export function getIncludedFiles( return fileList.filter((file) => includePaths.some( (includePath) => - file === includePath || minimatch(file, includePath, { dot: true }) + file === includePath || + minimatch(includePath, { dot: true }).match(file) ) ); } @@ -30,7 +31,7 @@ export function filterIgnoredFiles( !ignorePaths.some( (ignorePath) => file.includes(ignorePath) || - minimatch(file, ignorePath, { dot: true }) + minimatch(ignorePath, { dot: true }).match(file) ) ); } diff --git a/lib/workers/repository/update/branch/commit.ts b/lib/workers/repository/update/branch/commit.ts index 58d11d4ef3224ebdccbf077b0f6a633dd3824da0..a7f4c04eefabbc0669eefd9f1060dde6f0070795 100644 --- a/lib/workers/repository/update/branch/commit.ts +++ b/lib/workers/repository/update/branch/commit.ts @@ -1,10 +1,10 @@ // TODO #7154 import is from '@sindresorhus/is'; -import { minimatch } from 'minimatch'; import { GlobalConfig } from '../../../../config/global'; import { CONFIG_SECRETS_EXPOSED } from '../../../../constants/error-messages'; import { logger } from '../../../../logger'; import { scm } from '../../../../modules/platform/scm'; +import { minimatch } from '../../../../util/minimatch'; import { sanitize } from '../../../../util/sanitize'; import type { BranchConfig } from '../../../types'; @@ -18,7 +18,7 @@ export function commitFilesToBranch( if (is.nonEmptyArray(config.excludeCommitPaths)) { updatedFiles = updatedFiles.filter(({ path: filePath }) => { const matchesExcludePaths = config.excludeCommitPaths!.some( - (excludedPath) => minimatch(filePath, excludedPath, { dot: true }) + (excludedPath) => minimatch(excludedPath, { dot: true }).match(filePath) ); if (matchesExcludePaths) { logger.debug(`Excluding ${filePath} from commit`); diff --git a/lib/workers/repository/update/branch/execute-post-upgrade-commands.ts b/lib/workers/repository/update/branch/execute-post-upgrade-commands.ts index 281588e4d5defa54c24da74e1fe191af6e928718..4b4de4cc8bf89e7a95a3f19b6d72758a62b9cf77 100644 --- a/lib/workers/repository/update/branch/execute-post-upgrade-commands.ts +++ b/lib/workers/repository/update/branch/execute-post-upgrade-commands.ts @@ -1,6 +1,5 @@ // TODO #7154 import is from '@sindresorhus/is'; -import { minimatch } from 'minimatch'; import { mergeChildConfig } from '../../../../config'; import { GlobalConfig } from '../../../../config/global'; import { addMeta, logger } from '../../../../logger'; @@ -13,6 +12,7 @@ import { } from '../../../../util/fs'; import { getRepoStatus } from '../../../../util/git'; import type { FileChange } from '../../../../util/git/types'; +import { minimatch } from '../../../../util/minimatch'; import { regEx } from '../../../../util/regex'; import { sanitize } from '../../../../util/sanitize'; import { compile } from '../../../../util/template'; @@ -110,7 +110,7 @@ export async function postUpgradeCommandsExecutor( for (const relativePath of status.modified.concat(status.not_added)) { for (const pattern of fileFilters) { - if (minimatch(relativePath, pattern, { dot: true })) { + if (minimatch(pattern, { dot: true }).match(relativePath)) { logger.debug( { file: relativePath, pattern }, 'Post-upgrade file saved' @@ -138,7 +138,7 @@ export async function postUpgradeCommandsExecutor( for (const relativePath of status.deleted || []) { for (const pattern of fileFilters) { - if (minimatch(relativePath, pattern, { dot: true })) { + if (minimatch(pattern, { dot: true }).match(relativePath)) { logger.debug( { file: relativePath, pattern }, 'Post-upgrade file removed'