Skip to content

Commit 74201f5

Browse files
committed
replace minimatch with picomatch
446kb -> 83kb, faster
1 parent e8f046a commit 74201f5

File tree

2 files changed

+4
-6
lines changed

2 files changed

+4
-6
lines changed

lib/match-tasks.js

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@
1010
// Requirements
1111
// ------------------------------------------------------------------------------
1212

13-
const { minimatch } = require('minimatch')
14-
const Minimatch = minimatch.Minimatch
13+
const picomatch = require('picomatch')
1514

1615
// ------------------------------------------------------------------------------
1716
// Helpers
@@ -21,7 +20,7 @@ const COLON_OR_SLASH = /[:/]/g
2120
const CONVERT_MAP = { ':': '/', '/': ':' }
2221

2322
/**
24-
* Swaps ":" and "/", in order to use ":" as the separator in minimatch.
23+
* Swaps ":" and "/", in order to use ":" as the separator in picomatch.
2524
*
2625
* @param {string} s - A text to swap.
2726
* @returns {string} The text which was swapped.
@@ -44,8 +43,7 @@ function createFilter (pattern) {
4443
const spacePos = trimmed.indexOf(' ')
4544
const task = spacePos < 0 ? trimmed : trimmed.slice(0, spacePos)
4645
const args = spacePos < 0 ? '' : trimmed.slice(spacePos)
47-
const matcher = new Minimatch(swapColonAndSlash(task), { nonegate: true })
48-
const match = matcher.match.bind(matcher)
46+
const match = picomatch(swapColonAndSlash(task), { nonegate: true })
4947

5048
return { match, task, args }
5149
}

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
"ansi-styles": "^6.2.1",
3535
"cross-spawn": "^7.0.6",
3636
"memorystream": "^0.3.1",
37-
"minimatch": "^10.0.1",
37+
"picomatch": "^4.0.2",
3838
"pidtree": "^0.6.0",
3939
"read-package-json-fast": "^4.0.0",
4040
"shell-quote": "^1.7.3",

0 commit comments

Comments
 (0)