Merge pull request #2355 from shogo82148/bump-minimatch-v10
@actions/glob: bump minimatch from v3.0.4 to v10.2.5
This commit is contained in:
@@ -303,7 +303,7 @@ describe('pattern', () => {
|
|||||||
expect(pattern.match(`${root}foo/bar/baz`)).toBeFalsy()
|
expect(pattern.match(`${root}foo/bar/baz`)).toBeFalsy()
|
||||||
pattern = new Pattern(`${root}foo/b[!]r/b*`)
|
pattern = new Pattern(`${root}foo/b[!]r/b*`)
|
||||||
expect(pattern.searchPath).toBe(`${root}foo${path.sep}b!r`)
|
expect(pattern.searchPath).toBe(`${root}foo${path.sep}b!r`)
|
||||||
expect(pattern.match(`${root}foo/b!r/baz`)).toBeTruthy()
|
expect(pattern.match(`${root}foo/b!r/baz`)).toBeFalsy()
|
||||||
pattern = new Pattern(`${root}foo/b[[]ar/b*`)
|
pattern = new Pattern(`${root}foo/b[[]ar/b*`)
|
||||||
expect(pattern.searchPath).toBe(`${root}foo${path.sep}b[ar`)
|
expect(pattern.searchPath).toBe(`${root}foo${path.sep}b[ar`)
|
||||||
expect(pattern.match(`${root}foo/b[ar/baz`)).toBeTruthy()
|
expect(pattern.match(`${root}foo/b[ar/baz`)).toBeTruthy()
|
||||||
@@ -340,9 +340,18 @@ describe('pattern', () => {
|
|||||||
pattern = new Pattern('C:/foo/b\\[a]r/b*')
|
pattern = new Pattern('C:/foo/b\\[a]r/b*')
|
||||||
expect(pattern.searchPath).toBe(`C:\\foo\\b\\ar`)
|
expect(pattern.searchPath).toBe(`C:\\foo\\b\\ar`)
|
||||||
expect(pattern.match('C:/foo/b/ar/baz')).toBeTruthy()
|
expect(pattern.match('C:/foo/b/ar/baz')).toBeTruthy()
|
||||||
|
|
||||||
|
// Regression testing for minimatch v3
|
||||||
|
// Historically, minimatch/glob had a bug when parsing a character class
|
||||||
|
// containing an escaped '!' (e.g. `[\\!]`). In some cases, the internal
|
||||||
|
// pattern construction would incorrectly insert the literal string
|
||||||
|
// "undefined" into the generated pattern/segment, which could make a
|
||||||
|
// pattern intended to match `b[\\!]r` also match a path segment like
|
||||||
|
// `b[undefined/!]r`. This test ensures that a pattern with a literal
|
||||||
|
// `[\\!]` in the directory name does *not* match such malformed paths.
|
||||||
pattern = new Pattern('C:/foo/b[\\!]r/b*')
|
pattern = new Pattern('C:/foo/b[\\!]r/b*')
|
||||||
expect(pattern.searchPath).toBe('C:\\foo\\b[\\!]r')
|
expect(pattern.searchPath).toBe('C:\\foo\\b[\\!]r')
|
||||||
expect(pattern.match('C:/foo/b[undefined/!]r/baz')).toBeTruthy() // Note, "undefined" substr to accommodate a bug in Minimatch when nocase=true
|
expect(pattern.match('C:/foo/b[undefined/!]r/baz')).toBeFalsy()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|||||||
Generated
+28
-26
@@ -10,7 +10,7 @@
|
|||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^3.0.0",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^10.2.5"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
@@ -49,37 +49,39 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/balanced-match": {
|
"node_modules/balanced-match": {
|
||||||
"version": "1.0.2",
|
"version": "4.0.4",
|
||||||
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz",
|
||||||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
|
"integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==",
|
||||||
"license": "MIT"
|
|
||||||
},
|
|
||||||
"node_modules/brace-expansion": {
|
|
||||||
"version": "1.1.13",
|
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.13.tgz",
|
|
||||||
"integrity": "sha512-9ZLprWS6EENmhEOpjCYW2c8VkmOvckIJZfkr7rBW6dObmfgJ/L1GpSYW5Hpo9lDz4D1+n0Ckz8rU7FwHDQiG/w==",
|
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"engines": {
|
||||||
"balanced-match": "^1.0.0",
|
"node": "18 || 20 || >=22"
|
||||||
"concat-map": "0.0.1"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/concat-map": {
|
"node_modules/brace-expansion": {
|
||||||
"version": "0.0.1",
|
"version": "5.0.5",
|
||||||
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.5.tgz",
|
||||||
"integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
|
"integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==",
|
||||||
"license": "MIT"
|
"license": "MIT",
|
||||||
},
|
|
||||||
"node_modules/minimatch": {
|
|
||||||
"version": "3.1.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
|
|
||||||
"integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
|
|
||||||
"license": "ISC",
|
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"brace-expansion": "^1.1.7"
|
"balanced-match": "^4.0.2"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": "*"
|
"node": "18 || 20 || >=22"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/minimatch": {
|
||||||
|
"version": "10.2.5",
|
||||||
|
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz",
|
||||||
|
"integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==",
|
||||||
|
"license": "BlueOak-1.0.0",
|
||||||
|
"dependencies": {
|
||||||
|
"brace-expansion": "^5.0.5"
|
||||||
|
},
|
||||||
|
"engines": {
|
||||||
|
"node": "18 || 20 || >=22"
|
||||||
|
},
|
||||||
|
"funding": {
|
||||||
|
"url": "https://github.com/sponsors/isaacs"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tunnel": {
|
"node_modules/tunnel": {
|
||||||
|
|||||||
@@ -45,6 +45,6 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^3.0.0",
|
"@actions/core": "^3.0.0",
|
||||||
"minimatch": "^3.0.4"
|
"minimatch": "^10.2.5"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,14 +2,10 @@ import * as os from 'os'
|
|||||||
import * as path from 'path'
|
import * as path from 'path'
|
||||||
import * as pathHelper from './internal-path-helper.js'
|
import * as pathHelper from './internal-path-helper.js'
|
||||||
import assert from 'assert'
|
import assert from 'assert'
|
||||||
import minimatch from 'minimatch'
|
import {Minimatch, type MinimatchOptions} from 'minimatch'
|
||||||
import {MatchKind} from './internal-match-kind.js'
|
import {MatchKind} from './internal-match-kind.js'
|
||||||
import {Path} from './internal-path.js'
|
import {Path} from './internal-path.js'
|
||||||
|
|
||||||
type IMinimatch = minimatch.IMinimatch
|
|
||||||
type IMinimatchOptions = minimatch.IOptions
|
|
||||||
const {Minimatch} = minimatch
|
|
||||||
|
|
||||||
const IS_WINDOWS = process.platform === 'win32'
|
const IS_WINDOWS = process.platform === 'win32'
|
||||||
|
|
||||||
export class Pattern {
|
export class Pattern {
|
||||||
@@ -38,7 +34,7 @@ export class Pattern {
|
|||||||
/**
|
/**
|
||||||
* The Minimatch object used for matching
|
* The Minimatch object used for matching
|
||||||
*/
|
*/
|
||||||
private readonly minimatch: IMinimatch
|
private readonly minimatch: Minimatch
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to workaround a limitation with Minimatch when determining a partial
|
* Used to workaround a limitation with Minimatch when determining a partial
|
||||||
@@ -126,7 +122,7 @@ export class Pattern {
|
|||||||
this.isImplicitPattern = isImplicitPattern
|
this.isImplicitPattern = isImplicitPattern
|
||||||
|
|
||||||
// Create minimatch
|
// Create minimatch
|
||||||
const minimatchOptions: IMinimatchOptions = {
|
const minimatchOptions: MinimatchOptions = {
|
||||||
dot: true,
|
dot: true,
|
||||||
nobrace: true,
|
nobrace: true,
|
||||||
nocase: IS_WINDOWS,
|
nocase: IS_WINDOWS,
|
||||||
|
|||||||
Reference in New Issue
Block a user