@teammy/server 0.1.5 → 0.1.7
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.
- package/README.md +2 -2
- package/dist/main.js +10936 -6840
- package/dist/native-pi-entry.js +14 -1
- package/dist/project-pi-entry.js +51 -11
- package/dist/runtime/workflows/task-bootstrap/prompt.md +2 -0
- package/dist/web/assets/Assistant-BeYamS0w.js +1 -0
- package/dist/web/assets/Assistant-C7QfFYLo.css +1 -0
- package/dist/web/assets/Dashboard-BzmrE4Xv.js +1 -0
- package/dist/web/assets/Files-BvCYgjVV.js +1 -0
- package/dist/web/assets/{Markdown-oZagG-wy.js → Markdown-BRPMsc7D.js} +4 -4
- package/dist/web/assets/Materials-CK-mbNmo.css +1 -0
- package/dist/web/assets/Materials-DK3CkLr0.js +6 -0
- package/dist/web/assets/Sessions-D_579m-e.js +1 -0
- package/dist/web/assets/WorkspaceTree-fMDtGIFa.js +1 -0
- package/dist/web/assets/{file-links-CD346_jf.js → file-links-I1K8CwVK.js} +1 -1
- package/dist/web/assets/{index-Be5hGscJ.css → index-CTIAGUGG.css} +1 -1
- package/dist/web/assets/index-DQsx-e5d.js +66 -0
- package/dist/web/downloads/teammy-skill.zip +0 -0
- package/dist/web/index.html +2 -2
- package/node_modules/@isaacs/nonrecursive-glob-match/LICENSE.md +55 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/README.md +333 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts +114 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js +762 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/index.min.js.map +7 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/package.json +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts +4 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js +142 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/commonjs/parse-class.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts +114 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js +758 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/index.min.js.map +7 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/package.json +3 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts +4 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.d.ts.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js +138 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/dist/esm/parse-class.js.map +1 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/package.json +56 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/src/index.ts +900 -0
- package/node_modules/@isaacs/nonrecursive-glob-match/src/parse-class.ts +158 -0
- package/node_modules/glob/README.md +388 -214
- package/node_modules/glob/dist/commonjs/glob.d.ts +20 -11
- package/node_modules/glob/dist/commonjs/glob.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/glob.js +22 -29
- package/node_modules/glob/dist/commonjs/glob.js.map +1 -1
- package/node_modules/glob/dist/commonjs/has-magic.d.ts +1 -1
- package/node_modules/glob/dist/commonjs/has-magic.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/has-magic.js +1 -4
- package/node_modules/glob/dist/commonjs/has-magic.js.map +1 -1
- package/node_modules/glob/dist/commonjs/ignore.d.ts +16 -4
- package/node_modules/glob/dist/commonjs/ignore.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/ignore.js +24 -4
- package/node_modules/glob/dist/commonjs/ignore.js.map +1 -1
- package/node_modules/glob/dist/commonjs/index.d.ts +3 -2
- package/node_modules/glob/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/index.js.map +1 -1
- package/node_modules/glob/dist/commonjs/index.min.js +2 -3
- package/node_modules/glob/dist/commonjs/index.min.js.map +4 -4
- package/node_modules/glob/dist/commonjs/pattern.d.ts +10 -3
- package/node_modules/glob/dist/commonjs/pattern.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/pattern.js +27 -15
- package/node_modules/glob/dist/commonjs/pattern.js.map +1 -1
- package/node_modules/glob/dist/commonjs/processor.d.ts +23 -10
- package/node_modules/glob/dist/commonjs/processor.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/processor.js +36 -23
- package/node_modules/glob/dist/commonjs/processor.js.map +1 -1
- package/node_modules/glob/dist/commonjs/walker.d.ts +19 -17
- package/node_modules/glob/dist/commonjs/walker.d.ts.map +1 -1
- package/node_modules/glob/dist/commonjs/walker.js +50 -35
- package/node_modules/glob/dist/commonjs/walker.js.map +1 -1
- package/node_modules/glob/dist/esm/glob.d.ts +20 -11
- package/node_modules/glob/dist/esm/glob.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/glob.js +22 -29
- package/node_modules/glob/dist/esm/glob.js.map +1 -1
- package/node_modules/glob/dist/esm/has-magic.d.ts +1 -1
- package/node_modules/glob/dist/esm/has-magic.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/has-magic.js +1 -4
- package/node_modules/glob/dist/esm/has-magic.js.map +1 -1
- package/node_modules/glob/dist/esm/ignore.d.ts +16 -4
- package/node_modules/glob/dist/esm/ignore.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/ignore.js +25 -5
- package/node_modules/glob/dist/esm/ignore.js.map +1 -1
- package/node_modules/glob/dist/esm/index.d.ts +3 -2
- package/node_modules/glob/dist/esm/index.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/index.js.map +1 -1
- package/node_modules/glob/dist/esm/index.min.js +2 -3
- package/node_modules/glob/dist/esm/index.min.js.map +4 -4
- package/node_modules/glob/dist/esm/pattern.d.ts +10 -3
- package/node_modules/glob/dist/esm/pattern.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/pattern.js +27 -15
- package/node_modules/glob/dist/esm/pattern.js.map +1 -1
- package/node_modules/glob/dist/esm/processor.d.ts +23 -10
- package/node_modules/glob/dist/esm/processor.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/processor.js +36 -23
- package/node_modules/glob/dist/esm/processor.js.map +1 -1
- package/node_modules/glob/dist/esm/walker.d.ts +19 -17
- package/node_modules/glob/dist/esm/walker.d.ts.map +1 -1
- package/node_modules/glob/dist/esm/walker.js +51 -36
- package/node_modules/glob/dist/esm/walker.js.map +1 -1
- package/node_modules/glob/package.json +28 -12
- package/node_modules/glob/src/glob.ts +655 -0
- package/node_modules/glob/src/has-magic.ts +23 -0
- package/node_modules/glob/src/ignore.ts +162 -0
- package/node_modules/glob/src/index.ts +225 -0
- package/node_modules/glob/src/pattern.ts +286 -0
- package/node_modules/glob/src/processor.ts +333 -0
- package/node_modules/glob/src/walker.ts +523 -0
- package/node_modules/minimatch/README.md +125 -107
- package/node_modules/minimatch/dist/commonjs/index.d.ts +49 -38
- package/node_modules/minimatch/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/minimatch/dist/commonjs/index.js +782 -359
- package/node_modules/minimatch/dist/commonjs/index.js.map +1 -1
- package/node_modules/minimatch/dist/esm/index.d.ts +49 -38
- package/node_modules/minimatch/dist/esm/index.d.ts.map +1 -1
- package/node_modules/minimatch/dist/esm/index.js +781 -356
- package/node_modules/minimatch/dist/esm/index.js.map +1 -1
- package/node_modules/minimatch/package.json +5 -4
- package/node_modules/path-scurry/README.md +0 -1
- package/node_modules/path-scurry/dist/commonjs/index.d.ts +7 -0
- package/node_modules/path-scurry/dist/commonjs/index.d.ts.map +1 -1
- package/node_modules/path-scurry/dist/commonjs/index.js +59 -21
- package/node_modules/path-scurry/dist/commonjs/index.js.map +1 -1
- package/node_modules/path-scurry/dist/esm/index.d.ts +7 -0
- package/node_modules/path-scurry/dist/esm/index.d.ts.map +1 -1
- package/node_modules/path-scurry/dist/esm/index.js +42 -14
- package/node_modules/path-scurry/dist/esm/index.js.map +1 -1
- package/node_modules/path-scurry/package.json +4 -4
- package/package.json +2 -1
- package/dist/web/assets/Assistant-B3h2yQF3.css +0 -1
- package/dist/web/assets/Assistant-Dm_p8EZl.js +0 -1
- package/dist/web/assets/Dashboard-fwW9NxcC.js +0 -1
- package/dist/web/assets/Files-D-KCDWmO.js +0 -1
- package/dist/web/assets/Sessions-BQhGiLvz.js +0 -1
- package/dist/web/assets/WorkspaceTree-B9733pV3.js +0 -1
- package/dist/web/assets/index-BiiPuwDi.js +0 -66
- package/node_modules/minimatch/dist/commonjs/ast.d.ts +0 -22
- package/node_modules/minimatch/dist/commonjs/ast.d.ts.map +0 -1
- package/node_modules/minimatch/dist/commonjs/ast.js +0 -845
- package/node_modules/minimatch/dist/commonjs/ast.js.map +0 -1
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts +0 -8
- package/node_modules/minimatch/dist/commonjs/brace-expressions.d.ts.map +0 -1
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js +0 -150
- package/node_modules/minimatch/dist/commonjs/brace-expressions.js.map +0 -1
- package/node_modules/minimatch/dist/esm/ast.d.ts +0 -22
- package/node_modules/minimatch/dist/esm/ast.d.ts.map +0 -1
- package/node_modules/minimatch/dist/esm/ast.js +0 -841
- package/node_modules/minimatch/dist/esm/ast.js.map +0 -1
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts +0 -8
- package/node_modules/minimatch/dist/esm/brace-expressions.d.ts.map +0 -1
- package/node_modules/minimatch/dist/esm/brace-expressions.js +0 -146
- package/node_modules/minimatch/dist/esm/brace-expressions.js.map +0 -1
|
@@ -1,60 +1,62 @@
|
|
|
1
1
|
# minimatch
|
|
2
2
|
|
|
3
|
-
A
|
|
3
|
+
A glob matching utility.
|
|
4
4
|
|
|
5
|
-
This is the matching library used internally by
|
|
5
|
+
This is the matching library used internally by
|
|
6
|
+
[node-glob](https://npm.im/node-glob).
|
|
6
7
|
|
|
7
|
-
It works by
|
|
8
|
-
|
|
8
|
+
It works by splitting glob expressions on `/`, and testing each
|
|
9
|
+
path portion with a `Matcher` from
|
|
10
|
+
[@isaacs/nonrecursive-glob-match](http://npm.im/@isaacs/nonrecursive-glob-match).
|
|
9
11
|
|
|
10
|
-
##
|
|
12
|
+
## Why Not Regular Expressions?
|
|
11
13
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
> the following warning carefully, and be thoughtful about what
|
|
15
|
-
> you provide to this library in production systems.
|
|
14
|
+
Regular Expressions are very powerful, and for many applications,
|
|
15
|
+
extremely fast.
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
patterns using regular expressions will be subject to
|
|
17
|
+
However, in JavaScript, they are subject to
|
|
19
18
|
[ReDoS](https://owasp.org/www-community/attacks/Regular_expression_Denial_of_Service_-_ReDoS)
|
|
20
|
-
|
|
19
|
+
in certain cases. Libraries that assemble Regular Expressions
|
|
20
|
+
from arbitrary input are thus vulnerable to patterns that cause
|
|
21
|
+
pathological behavior. For example, patterns like
|
|
22
|
+
`a*a*a*a*a*a*a*a*a*a*a` when matched against a string like
|
|
23
|
+
`'a'.repeat(50) + 'b'` would have to repeatedly backtrack through
|
|
24
|
+
every failure.
|
|
25
|
+
|
|
26
|
+
Most other glob matchers in JavaScript (including versions up
|
|
27
|
+
through v10 of this library) convert the glob pattern to Regular
|
|
28
|
+
Expressions, and then use that to test the string. This is fine
|
|
29
|
+
for trusted input, but can fall over badly in cases that cause
|
|
30
|
+
recursive backtracking.
|
|
31
|
+
|
|
32
|
+
## Important Security Consideration!
|
|
21
33
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
not malice. A dedicated attacker can _always_ find patterns that
|
|
26
|
-
cannot be defended against by a bash-compatible glob pattern
|
|
27
|
-
matching system that uses JavaScript regular expressions.
|
|
34
|
+
Though this library is _not_ vulnerable to ReDOS, _any_ library
|
|
35
|
+
that performs pattern matching based on arbitrary input will
|
|
36
|
+
potentially have edge cases where it performs suboptimally.
|
|
28
37
|
|
|
29
38
|
To be extremely clear:
|
|
30
39
|
|
|
31
40
|
> [!WARNING]
|
|
32
41
|
> **If you create a system where you take user input, and use
|
|
33
|
-
> that input as the source of a
|
|
34
|
-
>
|
|
35
|
-
> pwned.**
|
|
36
|
-
|
|
37
|
-
A future version of this library _may_ use a different matching
|
|
38
|
-
algorithm which does not exhibit backtracking problems. If and
|
|
39
|
-
when that happens, it will likely be a sweeping change, and those
|
|
40
|
-
improvements will **not** be backported to legacy versions.
|
|
42
|
+
> that input as the source of a pattern matcher, in this or any
|
|
43
|
+
> extant glob matcher in JavaScript, you may be pwned.**
|
|
41
44
|
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
entirely by this warning.
|
|
45
|
+
The pattern matching library that Minimatch uses in v11 and above
|
|
46
|
+
will not be backported to earlier versions. It is a much too deep
|
|
47
|
+
of a change to do so.
|
|
46
48
|
|
|
47
49
|
## Usage
|
|
48
50
|
|
|
49
|
-
```
|
|
51
|
+
```ts
|
|
50
52
|
// hybrid module, load with require() or import
|
|
51
53
|
import { minimatch } from 'minimatch'
|
|
52
54
|
// or:
|
|
53
|
-
const { minimatch } = require('minimatch')
|
|
55
|
+
// const { minimatch } = require('minimatch')
|
|
54
56
|
|
|
55
57
|
minimatch('bar.foo', '*.foo') // true!
|
|
56
58
|
minimatch('bar.foo', '*.bar') // false!
|
|
57
|
-
minimatch('bar.foo', '*.+(bar|foo)'
|
|
59
|
+
minimatch('bar.foo', '*.+(bar|foo)') // true!
|
|
58
60
|
```
|
|
59
61
|
|
|
60
62
|
## Features
|
|
@@ -112,6 +114,14 @@ On Windows, UNC paths like `//?/c:/...` or
|
|
|
112
114
|
present when the drive letters are a case-insensitive match to
|
|
113
115
|
one another. The remaining portions of the path/pattern are
|
|
114
116
|
compared case sensitively, unless `nocase:true` is set.
|
|
117
|
+
- The host and share of a pattern starting with
|
|
118
|
+
`//<host>/<share>/...` are compared case-insensitively with
|
|
119
|
+
those of the file path, if neither has magic. For example,
|
|
120
|
+
`//host/share/*` matches `//HOST/SHARE/x`.
|
|
121
|
+
- Patterns starting with `//?/UNC/<host>/<share>/...` will match
|
|
122
|
+
file paths starting with `//<host>/<share>/...`, and vice
|
|
123
|
+
versa, the same as `//?/<drive letter>:`. The `?` is not a
|
|
124
|
+
wildcard character.
|
|
115
125
|
|
|
116
126
|
Note that specifying a UNC path using `\` characters as path
|
|
117
127
|
separators is always allowed in the file path argument, but only
|
|
@@ -123,15 +133,15 @@ is set in the options.
|
|
|
123
133
|
Create a minimatch object by instantiating the `minimatch.Minimatch` class.
|
|
124
134
|
|
|
125
135
|
```javascript
|
|
126
|
-
|
|
127
|
-
|
|
136
|
+
import { Minimatch } from 'minimatch'
|
|
137
|
+
const mm = new Minimatch(pattern, options)
|
|
128
138
|
```
|
|
129
139
|
|
|
130
140
|
### Properties
|
|
131
141
|
|
|
132
142
|
- `pattern` The original pattern the minimatch object represents.
|
|
133
143
|
- `options` The options supplied to the constructor.
|
|
134
|
-
- `set` A 2-dimensional array of
|
|
144
|
+
- `set` A 2-dimensional array of `Matcher` or string expressions.
|
|
135
145
|
Each row in the
|
|
136
146
|
array corresponds to a brace-expanded pattern. Each item in the row
|
|
137
147
|
corresponds to a single path-part. For example, the pattern
|
|
@@ -142,26 +152,16 @@ var mm = new Minimatch(pattern, options)
|
|
|
142
152
|
|
|
143
153
|
If a portion of the pattern doesn't have any "magic" in it
|
|
144
154
|
(that is, it's something like `"foo"` rather than `fo*o?`), then it
|
|
145
|
-
will be left as a string rather than converted to a
|
|
146
|
-
expression.
|
|
155
|
+
will be left as a string rather than converted to a `Matcher`.
|
|
147
156
|
|
|
148
|
-
- `regexp` Created by the `makeRe` method. A single regular expression
|
|
149
|
-
expressing the entire pattern. This is useful in cases where you wish
|
|
150
|
-
to use the pattern somewhat like `fnmatch(3)` with `FNM_PATH` enabled.
|
|
151
157
|
- `negate` True if the pattern is negated.
|
|
152
158
|
- `comment` True if the pattern is a comment.
|
|
153
159
|
- `empty` True if the pattern is `""`.
|
|
154
160
|
|
|
155
161
|
### Methods
|
|
156
162
|
|
|
157
|
-
- `makeRe()` Generate the `regexp` member if necessary, and return it.
|
|
158
|
-
Will return `false` if the pattern is invalid.
|
|
159
163
|
- `match(fname)` Return true if the filename matches the pattern, or
|
|
160
164
|
false otherwise.
|
|
161
|
-
- `matchOne(fileArray, patternArray, partial)` Take a `/`-split
|
|
162
|
-
filename, and match it against a single row in the `regExpSet`. This
|
|
163
|
-
method is mainly for internal use, but is exposed so that it can be
|
|
164
|
-
used by a glob-walker that needs to avoid excessive filesystem calls.
|
|
165
165
|
- `hasMagic()` Returns true if the parsed pattern contains any
|
|
166
166
|
magic characters. Returns false if all comparator parts are
|
|
167
167
|
string literals. If the `magicalBraces` option is set on the
|
|
@@ -185,16 +185,21 @@ All other methods are internal, and will be called as necessary.
|
|
|
185
185
|
Main export. Tests a path against the pattern using the options.
|
|
186
186
|
|
|
187
187
|
```javascript
|
|
188
|
-
|
|
188
|
+
const isJS = minimatch(file, '*.js', { matchBase: true })
|
|
189
189
|
```
|
|
190
190
|
|
|
191
|
+
It keeps the 256 `Minimatch` objects that it used most recently,
|
|
192
|
+
so a pattern that it tests again with the same options is not
|
|
193
|
+
compiled again. To test many paths against one pattern, a
|
|
194
|
+
`Minimatch` object or `minimatch.filter()` is still a bit faster.
|
|
195
|
+
|
|
191
196
|
### minimatch.filter(pattern, options)
|
|
192
197
|
|
|
193
198
|
Returns a function that tests its
|
|
194
199
|
supplied argument, suitable for use with `Array.filter`. Example:
|
|
195
200
|
|
|
196
201
|
```javascript
|
|
197
|
-
|
|
202
|
+
const javascripts = fileList.filter(
|
|
198
203
|
minimatch.filter('*.js', { matchBase: true }),
|
|
199
204
|
)
|
|
200
205
|
```
|
|
@@ -234,21 +239,13 @@ files, in the style of fnmatch or glob. If nothing is matched, and
|
|
|
234
239
|
options.nonull is set, then return a list containing the pattern itself.
|
|
235
240
|
|
|
236
241
|
```javascript
|
|
237
|
-
|
|
242
|
+
const javascripts = minimatch.match(fileList, '*.js', { matchBase: true })
|
|
238
243
|
```
|
|
239
244
|
|
|
240
|
-
### minimatch.makeRe(pattern, options)
|
|
241
|
-
|
|
242
|
-
Make a regular expression object from the pattern.
|
|
243
|
-
|
|
244
245
|
## Options
|
|
245
246
|
|
|
246
247
|
All options are `false` by default.
|
|
247
248
|
|
|
248
|
-
### debug
|
|
249
|
-
|
|
250
|
-
Dump a ton of stuff to stderr.
|
|
251
|
-
|
|
252
249
|
### nobrace
|
|
253
250
|
|
|
254
251
|
Do not expand `{a,b}` and `{1..3}` brace sets.
|
|
@@ -271,11 +268,14 @@ Disable "extglob" style patterns like `+(a|b)`.
|
|
|
271
268
|
|
|
272
269
|
### nocase
|
|
273
270
|
|
|
274
|
-
Perform a case-insensitive match.
|
|
271
|
+
Perform a case-insensitive match. Case is folded one code point at
|
|
272
|
+
a time, with Unicode simple case folding. See [Comparisons to other
|
|
273
|
+
fnmatch/glob
|
|
274
|
+
implementations](#comparisons-to-other-fnmatchglob-implementations).
|
|
275
275
|
|
|
276
276
|
### nocaseMagicOnly
|
|
277
277
|
|
|
278
|
-
When used with `{nocase: true}`, create
|
|
278
|
+
When used with `{nocase: true}`, create matchers that
|
|
279
279
|
are case-insensitive, but leave string match portions untouched.
|
|
280
280
|
Has no effect when used without `{nocase: true}`.
|
|
281
281
|
|
|
@@ -283,6 +283,28 @@ Useful when some other form of case-insensitive matching is used,
|
|
|
283
283
|
or if the original string representation is useful in some other
|
|
284
284
|
way.
|
|
285
285
|
|
|
286
|
+
### normalize
|
|
287
|
+
|
|
288
|
+
Normalize unicode in the pattern, and in each portion of the tested
|
|
289
|
+
path, with this form: `'NFC'`, `'NFD'`, `'NFKC'`, or `'NFKD'`. `true`
|
|
290
|
+
means `'NFC'`.
|
|
291
|
+
|
|
292
|
+
A char such as `é` can be one code point, or `e` followed by a
|
|
293
|
+
combining accent. Some file systems, such as on macOS, can give file
|
|
294
|
+
names in the second form. Without this option, the two forms do not
|
|
295
|
+
match.
|
|
296
|
+
|
|
297
|
+
- The path is split on `/` before it is normalized. So with NFKC, a
|
|
298
|
+
full width `/` normalizes to `/`, but it does not split the path.
|
|
299
|
+
It is a char in its portion.
|
|
300
|
+
- The syntax of the pattern is parsed before it is normalized. So
|
|
301
|
+
with NFKC, a full width `*` is a literal, which matches `*`, and
|
|
302
|
+
not a wildcard.
|
|
303
|
+
- With `nocase`, the strings are normalized, and then case is folded.
|
|
304
|
+
|
|
305
|
+
See [@isaacs/nonrecursive-glob-match](http://npm.im/@isaacs/nonrecursive-glob-match#unicode-normalization)
|
|
306
|
+
for how classes and combining marks after wildcards are normalized.
|
|
307
|
+
|
|
286
308
|
### nonull
|
|
287
309
|
|
|
288
310
|
When a match is not found by `minimatch.match`, return a list containing
|
|
@@ -354,7 +376,7 @@ For legacy reasons, this is also set if
|
|
|
354
376
|
|
|
355
377
|
When a pattern starts with a UNC path or drive letter, and in
|
|
356
378
|
`nocase:true` mode, do not convert the root portions of the
|
|
357
|
-
pattern into a case-insensitive
|
|
379
|
+
pattern into a case-insensitive matchers, and instead
|
|
358
380
|
leave them as strings.
|
|
359
381
|
|
|
360
382
|
This is the default when the platform is `win32` and
|
|
@@ -390,11 +412,15 @@ is equivalent in all cases).
|
|
|
390
412
|
example, the pattern `./a/b/../*` is converted to `./a/*`, and
|
|
391
413
|
so it will match the path string `./a/c`, but not the path
|
|
392
414
|
string `./a/b/../c`. Dots and empty path portions in the
|
|
393
|
-
pattern are preserved.
|
|
415
|
+
pattern are preserved. On Windows, a `..` never removes the
|
|
416
|
+
drive letter or the UNC host and share at the start of a
|
|
417
|
+
pattern, the same as it never removes the `/` at the start of
|
|
418
|
+
a posix pattern. So `C:/a/../../x` is converted to `C:/../x`.
|
|
394
419
|
- `2` (or higher) - Much more aggressive optimizations, suitable
|
|
395
420
|
for use with file-walking cases:
|
|
396
421
|
- Remove cases where a double-dot `..` follows a pattern
|
|
397
|
-
portion that is not `**`, `.`, or empty `''
|
|
422
|
+
portion that is not `**`, `.`, or empty `''`, or a Windows
|
|
423
|
+
root as above. Remove empty
|
|
398
424
|
and `.` portions of the pattern, where safe to do so (ie,
|
|
399
425
|
anywhere other than the last position, the first position, or
|
|
400
426
|
the second position in a pattern starting with `/`, as this
|
|
@@ -402,7 +428,8 @@ is equivalent in all cases).
|
|
|
402
428
|
- Convert patterns containing `<pre>/**/../<p>/<rest>` into the
|
|
403
429
|
equivalent `<pre>/{..,**}/<p>/<rest>`, where `<p>` is a
|
|
404
430
|
a pattern portion other than `.`, `..`, `**`, or empty
|
|
405
|
-
`''`.
|
|
431
|
+
`''`. This stops when there are `braceExpandMax`
|
|
432
|
+
patterns.
|
|
406
433
|
- Dedupe patterns where a `**` portion is present in one and
|
|
407
434
|
omitted in another, and it is not the final path portion, and
|
|
408
435
|
they are otherwise equivalent. So `{a/**/b,a/b}` becomes
|
|
@@ -411,6 +438,8 @@ is equivalent in all cases).
|
|
|
411
438
|
non-dot pattern other than `**`, `.`, `..`, or `''` is in the
|
|
412
439
|
same position in the other. So `a/{*,x}/b` becomes `a/*/b`,
|
|
413
440
|
because `*` can match against `x`.
|
|
441
|
+
- Dedupe only sets of 1000 patterns or fewer, because each
|
|
442
|
+
pattern is compared to each other one.
|
|
414
443
|
|
|
415
444
|
While these optimizations improve the performance of
|
|
416
445
|
file-walking use cases such as [glob](http://npm.im/glob) (ie,
|
|
@@ -418,13 +447,6 @@ is equivalent in all cases).
|
|
|
418
447
|
fail to match a literal string that would have been matched in
|
|
419
448
|
optimization level 1 or 0.
|
|
420
449
|
|
|
421
|
-
Specifically, while the `Minimatch.match()` method will
|
|
422
|
-
optimize the file path string in the same ways, resulting in
|
|
423
|
-
the same matches, it will fail when tested with the regular
|
|
424
|
-
expression provided by `Minimatch.makeRe()`, unless the path
|
|
425
|
-
string is first processed with
|
|
426
|
-
`minimatch.levelTwoFileOptimize()` or similar.
|
|
427
|
-
|
|
428
450
|
### platform
|
|
429
451
|
|
|
430
452
|
When set to `win32`, this will trigger all windows-specific
|
|
@@ -449,26 +471,6 @@ match the pattern provided.
|
|
|
449
471
|
That is, this is an intentional false negative, deemed an
|
|
450
472
|
acceptable break in correctness for security and performance.
|
|
451
473
|
|
|
452
|
-
### maxExtglobRecursion
|
|
453
|
-
|
|
454
|
-
Max depth to traverse for nested extglobs like `*(a|b|c)`
|
|
455
|
-
|
|
456
|
-
Default is 2, which is quite low, but any higher value swiftly
|
|
457
|
-
results in punishing performance impacts. Note that this is _not_
|
|
458
|
-
relevant when the globstar types can be safely coalesced into a
|
|
459
|
-
single set.
|
|
460
|
-
|
|
461
|
-
For example, `*(a|@(b|c)|d)` would be flattened into
|
|
462
|
-
`*(a|b|c|d)`. Thus, many common extglobs will retain good
|
|
463
|
-
performance and never hit this limit, even if they are
|
|
464
|
-
excessively deep and complicated.
|
|
465
|
-
|
|
466
|
-
If the limit is hit, then the extglob characters are simply not
|
|
467
|
-
parsed, and the pattern effectively switches into `noextglob:
|
|
468
|
-
true` mode for the contents of that nested sub-pattern. This will
|
|
469
|
-
typically _not_ result in a match, but is considered a valid
|
|
470
|
-
trade-off for security and performance.
|
|
471
|
-
|
|
472
474
|
## Comparisons to other fnmatch/glob implementations
|
|
473
475
|
|
|
474
476
|
While strict compliance with the existing standards is a
|
|
@@ -497,8 +499,8 @@ If an escaped pattern has no matches, and the `nonull` flag is set,
|
|
|
497
499
|
then minimatch.match returns the pattern as-provided, rather than
|
|
498
500
|
interpreting the character escapes. For example,
|
|
499
501
|
`minimatch.match([], "\\*a\\?")` will return `"\\*a\\?"` rather than
|
|
500
|
-
`"*a?"`. This is
|
|
501
|
-
|
|
502
|
+
`"*a?"`. This is like bash with the `nullglob` option off (the
|
|
503
|
+
default), except that bash also removes the escapes.
|
|
502
504
|
|
|
503
505
|
If brace expansion is not disabled, then it is performed before any
|
|
504
506
|
other interpretation of the glob pattern. Thus, a pattern like
|
|
@@ -506,20 +508,36 @@ other interpretation of the glob pattern. Thus, a pattern like
|
|
|
506
508
|
**first** into the set of `+(a|b)` and `+(a|c)`, and those patterns are
|
|
507
509
|
checked for validity. Since those two are valid, matching proceeds.
|
|
508
510
|
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
which
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
511
|
+
Each portion of a pattern between `/` characters is matched with
|
|
512
|
+
[@isaacs/nonrecursive-glob-match](http://npm.im/@isaacs/nonrecursive-glob-match),
|
|
513
|
+
which uses Bash 5 as its reference, and does not use regular
|
|
514
|
+
expressions. So negated extglobs such as `<start>!(<pattern>*|)*`
|
|
515
|
+
match the same strings as in Bash. These are the known
|
|
516
|
+
differences:
|
|
517
|
+
|
|
518
|
+
- If `dot` is not set, a portion that starts with `.` only matches
|
|
519
|
+
if a literal `.` in the pattern matches that first character.
|
|
520
|
+
Extglobs before that `.` can match the empty string, so the
|
|
521
|
+
pattern can still match. For example, with `nonegate`,
|
|
522
|
+
`!(.a|js)@(.*)` matches `.a`, `.a.js`, and `.js`, because
|
|
523
|
+
`!(.a|js)` matches the empty string. Bash does not match these
|
|
524
|
+
dotfiles.
|
|
525
|
+
- If an extglob such as `?(a` is not closed, Bash matches the
|
|
526
|
+
whole pattern as a literal string. In this library, only the
|
|
527
|
+
`?(` is literal, and the rest of the pattern is still matched
|
|
528
|
+
as a glob. So `a?(b*` matches `a?(bcc` here, but not in Bash.
|
|
529
|
+
- A pattern is split into portions on every `/`, including a `/`
|
|
530
|
+
inside an extglob. So `@(a|b/c)/*` becomes the portions
|
|
531
|
+
`@(a|b`, `c)`, and `*`, and its extglob is not closed. Bash
|
|
532
|
+
keeps the extglob whole, and drops each alternative with a `/`
|
|
533
|
+
in it, as no portion can contain a `/`. So in Bash, `@(a|b/c)/*`
|
|
534
|
+
is the same as `@(a)/*`. Leave out the alternatives with a `/`
|
|
535
|
+
to get the same result here.
|
|
536
|
+
- With `nocase`, case is folded one code point at a time with
|
|
537
|
+
Unicode simple case folding, the same as a JavaScript RegExp
|
|
538
|
+
with the `iu` flags. Bash uses the case functions of the C
|
|
539
|
+
library for the current locale, so its results can change with
|
|
540
|
+
the locale.
|
|
523
541
|
|
|
524
542
|
Note that `fnmatch(3)` in libc is an extremely naive string comparison
|
|
525
543
|
matcher, which does not do anything special for slashes. This library is
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Matcher, type Form } from '@isaacs/nonrecursive-glob-match';
|
|
2
2
|
export type Platform = 'aix' | 'android' | 'darwin' | 'freebsd' | 'haiku' | 'linux' | 'openbsd' | 'sunos' | 'win32' | 'cygwin' | 'netbsd';
|
|
3
3
|
export interface MinimatchOptions {
|
|
4
4
|
/** do not expand `{x,y}` style braces */
|
|
@@ -7,8 +7,6 @@ export interface MinimatchOptions {
|
|
|
7
7
|
nocomment?: boolean;
|
|
8
8
|
/** do not treat patterns starting with `!` as a negation */
|
|
9
9
|
nonegate?: boolean;
|
|
10
|
-
/** print LOTS of debugging output */
|
|
11
|
-
debug?: boolean;
|
|
12
10
|
/** treat `**` the same as `*` */
|
|
13
11
|
noglobstar?: boolean;
|
|
14
12
|
/** do not expand extglobs like `+(a|b)` */
|
|
@@ -37,6 +35,11 @@ export interface MinimatchOptions {
|
|
|
37
35
|
nocase?: boolean;
|
|
38
36
|
/** ignore case only in wildcard patterns */
|
|
39
37
|
nocaseMagicOnly?: boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Normalize unicode in the pattern and in each portion of the
|
|
40
|
+
* tested paths, with this form. `true` means `'NFC'`.
|
|
41
|
+
*/
|
|
42
|
+
normalize?: boolean | Form;
|
|
40
43
|
/** consider braces to be "magic" for the purpose of `hasMagic` */
|
|
41
44
|
magicalBraces?: boolean;
|
|
42
45
|
/**
|
|
@@ -69,6 +72,9 @@ export interface MinimatchOptions {
|
|
|
69
72
|
windowsNoMagicRoot?: boolean;
|
|
70
73
|
/**
|
|
71
74
|
* max number of `{...}` patterns to expand. Default 100_000.
|
|
75
|
+
*
|
|
76
|
+
* At `optimizationLevel` 2 or higher, this also limits the
|
|
77
|
+
* patterns made when `**` is followed by `..`.
|
|
72
78
|
*/
|
|
73
79
|
braceExpandMax?: number;
|
|
74
80
|
/**
|
|
@@ -78,27 +84,6 @@ export interface MinimatchOptions {
|
|
|
78
84
|
* and can handle absurdly excessive patterns.
|
|
79
85
|
*/
|
|
80
86
|
maxGlobstarRecursion?: number;
|
|
81
|
-
/**
|
|
82
|
-
* Max depth to traverse for nested extglobs like `*(a|b|c)`
|
|
83
|
-
*
|
|
84
|
-
* Default is 2, which is quite low, but any higher value
|
|
85
|
-
* swiftly results in punishing performance impacts. Note
|
|
86
|
-
* that this is *not* relevant when the globstar types can
|
|
87
|
-
* be safely coalesced into a single set.
|
|
88
|
-
*
|
|
89
|
-
* For example, `*(a|@(b|c)|d)` would be flattened into
|
|
90
|
-
* `*(a|b|c|d)`. Thus, many common extglobs will retain good
|
|
91
|
-
* performance and never hit this limit, even if they are
|
|
92
|
-
* excessively deep and complicated.
|
|
93
|
-
*
|
|
94
|
-
* If the limit is hit, then the extglob characters are simply
|
|
95
|
-
* not parsed, and the pattern effectively switches into
|
|
96
|
-
* `noextglob: true` mode for the contents of that nested
|
|
97
|
-
* sub-pattern. This will typically _not_ result in a match,
|
|
98
|
-
* but is considered a valid trade-off for security and
|
|
99
|
-
* performance.
|
|
100
|
-
*/
|
|
101
|
-
maxExtglobRecursion?: number;
|
|
102
87
|
}
|
|
103
88
|
export declare const minimatch: {
|
|
104
89
|
(p: string, pattern: string, options?: MinimatchOptions): boolean;
|
|
@@ -107,9 +92,7 @@ export declare const minimatch: {
|
|
|
107
92
|
filter: (pattern: string, options?: MinimatchOptions) => (p: string) => boolean;
|
|
108
93
|
defaults: (def: MinimatchOptions) => typeof minimatch;
|
|
109
94
|
braceExpand: (pattern: string, options?: MinimatchOptions) => string[];
|
|
110
|
-
makeRe: (pattern: string, options?: MinimatchOptions) => false | MMRegExp;
|
|
111
95
|
match: (list: string[], pattern: string, options?: MinimatchOptions) => string[];
|
|
112
|
-
AST: typeof AST;
|
|
113
96
|
Minimatch: typeof Minimatch;
|
|
114
97
|
escape: (s: string, { windowsPathsNoEscape, magicalBraces, }?: Pick<MinimatchOptions, "windowsPathsNoEscape" | "magicalBraces">) => string;
|
|
115
98
|
unescape: (s: string, { windowsPathsNoEscape, magicalBraces, }?: Pick<MinimatchOptions, "windowsPathsNoEscape" | "magicalBraces">) => string;
|
|
@@ -120,13 +103,46 @@ export declare const GLOBSTAR: unique symbol;
|
|
|
120
103
|
export declare const filter: (pattern: string, options?: MinimatchOptions) => (p: string) => boolean;
|
|
121
104
|
export declare const defaults: (def: MinimatchOptions) => typeof minimatch;
|
|
122
105
|
export declare const braceExpand: (pattern: string, options?: MinimatchOptions) => string[];
|
|
123
|
-
export declare const makeRe: (pattern: string, options?: MinimatchOptions) => false | MMRegExp;
|
|
124
106
|
export declare const match: (list: string[], pattern: string, options?: MinimatchOptions) => string[];
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
107
|
+
/**
|
|
108
|
+
* A path that Minimatch#match split, with the settings that the split
|
|
109
|
+
* depends on. `resolved` is the parts after optimizationLevel 2 has
|
|
110
|
+
* resolved `.` and `..` in them, which only depends on the same
|
|
111
|
+
* settings, once a level 2 Minimatch has needed them.
|
|
112
|
+
*/
|
|
113
|
+
export type SplitPath = {
|
|
114
|
+
f: string;
|
|
115
|
+
isWindows: boolean;
|
|
116
|
+
preserveMultipleSlashes: boolean;
|
|
117
|
+
normalize: Form | undefined;
|
|
118
|
+
parts: string[];
|
|
119
|
+
resolved?: string[];
|
|
120
|
+
};
|
|
121
|
+
export type ParseReturnFiltered = string | Matcher | typeof GLOBSTAR;
|
|
122
|
+
/**
|
|
123
|
+
* The rows that Minimatch#match can match without splitting the path:
|
|
124
|
+
* `**` and one more portion (`tail`), a portion with `**` on each side
|
|
125
|
+
* of it (`mid`), a portion and then `**` (`head`), or one portion that
|
|
126
|
+
* matches the basename of the path, with matchBase (`base`).
|
|
127
|
+
*/
|
|
128
|
+
export type RowShape = 'tail' | 'mid' | 'head' | 'base';
|
|
129
|
+
/**
|
|
130
|
+
* The separators that a path has: only `/`, only `\` (a Windows path
|
|
131
|
+
* with no `/`), or both. Scanning for the ones it has is faster.
|
|
132
|
+
*/
|
|
133
|
+
export type PathSeps = '/' | '\\' | 'both';
|
|
134
|
+
/**
|
|
135
|
+
* A pattern row split on its first and last `**`, from a start
|
|
136
|
+
* index. Each body segment has the number of path portions that it
|
|
137
|
+
* and the ones after it need, to find the last index where it can
|
|
138
|
+
* start in a path.
|
|
139
|
+
*/
|
|
140
|
+
export type GlobstarParts = {
|
|
141
|
+
head: ParseReturn[];
|
|
142
|
+
body: ParseReturn[];
|
|
143
|
+
tail: ParseReturn[];
|
|
144
|
+
segments: [segment: ParseReturn[], need: number][];
|
|
128
145
|
};
|
|
129
|
-
export type ParseReturnFiltered = string | MMRegExp | typeof GLOBSTAR;
|
|
130
146
|
export type ParseReturn = ParseReturnFiltered | false;
|
|
131
147
|
export declare class Minimatch {
|
|
132
148
|
#private;
|
|
@@ -147,28 +163,23 @@ export declare class Minimatch {
|
|
|
147
163
|
platform: Platform;
|
|
148
164
|
windowsNoMagicRoot: boolean;
|
|
149
165
|
maxGlobstarRecursion: number;
|
|
150
|
-
regexp: false | null | MMRegExp;
|
|
151
166
|
constructor(pattern: string, options?: MinimatchOptions);
|
|
152
167
|
hasMagic(): boolean;
|
|
153
|
-
debug(..._: unknown[]): void;
|
|
154
168
|
make(): void;
|
|
169
|
+
mergeRows(): void;
|
|
155
170
|
preprocess(globParts: string[][]): string[][];
|
|
156
171
|
adjascentGlobstarOptimize(globParts: string[][]): string[][];
|
|
157
172
|
levelOneOptimize(globParts: string[][]): string[][];
|
|
158
|
-
levelTwoFileOptimize(parts: string | string[]): string[];
|
|
159
173
|
firstPhasePreProcess(globParts: string[][]): string[][];
|
|
160
174
|
secondPhasePreProcess(globParts: string[][]): string[][];
|
|
161
175
|
partsMatch(a: string[], b: string[], emptyGSMatch?: boolean): false | string[];
|
|
162
176
|
parseNegate(): void;
|
|
163
|
-
matchOne(file: string[], pattern: ParseReturn[], partial?: boolean): boolean;
|
|
164
177
|
braceExpand(): string[];
|
|
165
178
|
parse(pattern: string): ParseReturn;
|
|
166
|
-
makeRe(): false | MMRegExp;
|
|
167
|
-
slashSplit(p: string): string[];
|
|
168
179
|
match(f: string, partial?: boolean): boolean;
|
|
169
180
|
static defaults(def: MinimatchOptions): typeof Minimatch;
|
|
170
181
|
}
|
|
171
|
-
export { AST } from './ast.js';
|
|
172
182
|
export { escape } from './escape.js';
|
|
173
183
|
export { unescape } from './unescape.js';
|
|
184
|
+
export type { Form };
|
|
174
185
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|