minimatch-fast 0.2.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.
- package/LICENSE +21 -0
- package/README.md +950 -0
- package/dist/cjs/brace-expand.d.ts +42 -0
- package/dist/cjs/brace-expand.d.ts.map +1 -0
- package/dist/cjs/brace-expand.js +172 -0
- package/dist/cjs/brace-expand.js.map +1 -0
- package/dist/cjs/cache.d.ts +36 -0
- package/dist/cjs/cache.d.ts.map +1 -0
- package/dist/cjs/cache.js +91 -0
- package/dist/cjs/cache.js.map +1 -0
- package/dist/cjs/escape.d.ts +40 -0
- package/dist/cjs/escape.d.ts.map +1 -0
- package/dist/cjs/escape.js +52 -0
- package/dist/cjs/escape.js.map +1 -0
- package/dist/cjs/fast-paths.d.ts +54 -0
- package/dist/cjs/fast-paths.d.ts.map +1 -0
- package/dist/cjs/fast-paths.js +213 -0
- package/dist/cjs/fast-paths.js.map +1 -0
- package/dist/cjs/index.d.ts +150 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +250 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/minimatch-class.d.ts +153 -0
- package/dist/cjs/minimatch-class.d.ts.map +1 -0
- package/dist/cjs/minimatch-class.js +618 -0
- package/dist/cjs/minimatch-class.js.map +1 -0
- package/dist/cjs/options.d.ts +31 -0
- package/dist/cjs/options.d.ts.map +1 -0
- package/dist/cjs/options.js +67 -0
- package/dist/cjs/options.js.map +1 -0
- package/dist/cjs/package.json +3 -0
- package/dist/cjs/types.d.ts +194 -0
- package/dist/cjs/types.d.ts.map +1 -0
- package/dist/cjs/types.js +19 -0
- package/dist/cjs/types.js.map +1 -0
- package/dist/cjs/unescape.d.ts +36 -0
- package/dist/cjs/unescape.d.ts.map +1 -0
- package/dist/cjs/unescape.js +49 -0
- package/dist/cjs/unescape.js.map +1 -0
- package/dist/cjs/utils.d.ts +62 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +126 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/esm/brace-expand.d.ts +42 -0
- package/dist/esm/brace-expand.d.ts.map +1 -0
- package/dist/esm/brace-expand.js +165 -0
- package/dist/esm/brace-expand.js.map +1 -0
- package/dist/esm/cache.d.ts +36 -0
- package/dist/esm/cache.d.ts.map +1 -0
- package/dist/esm/cache.js +86 -0
- package/dist/esm/cache.js.map +1 -0
- package/dist/esm/escape.d.ts +40 -0
- package/dist/esm/escape.d.ts.map +1 -0
- package/dist/esm/escape.js +49 -0
- package/dist/esm/escape.js.map +1 -0
- package/dist/esm/fast-paths.d.ts +54 -0
- package/dist/esm/fast-paths.d.ts.map +1 -0
- package/dist/esm/fast-paths.js +209 -0
- package/dist/esm/fast-paths.js.map +1 -0
- package/dist/esm/index.d.ts +150 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +240 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/minimatch-class.d.ts +153 -0
- package/dist/esm/minimatch-class.d.ts.map +1 -0
- package/dist/esm/minimatch-class.js +611 -0
- package/dist/esm/minimatch-class.js.map +1 -0
- package/dist/esm/options.d.ts +31 -0
- package/dist/esm/options.d.ts.map +1 -0
- package/dist/esm/options.js +63 -0
- package/dist/esm/options.js.map +1 -0
- package/dist/esm/package.json +3 -0
- package/dist/esm/types.d.ts +194 -0
- package/dist/esm/types.d.ts.map +1 -0
- package/dist/esm/types.js +16 -0
- package/dist/esm/types.js.map +1 -0
- package/dist/esm/unescape.d.ts +36 -0
- package/dist/esm/unescape.d.ts.map +1 -0
- package/dist/esm/unescape.js +46 -0
- package/dist/esm/unescape.js.map +1 -0
- package/dist/esm/utils.d.ts +62 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +116 -0
- package/dist/esm/utils.js.map +1 -0
- package/package.json +83 -0
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Minimatch class - core pattern matching implementation
|
|
3
|
+
*
|
|
4
|
+
* This is the heart of minimatch-fast. The Minimatch class provides 100% API
|
|
5
|
+
* compatibility with minimatch's Minimatch class while using picomatch
|
|
6
|
+
* internally for faster and more secure pattern matching.
|
|
7
|
+
*
|
|
8
|
+
* Key features:
|
|
9
|
+
* - Pattern compilation and caching for efficient repeated matching
|
|
10
|
+
* - Full support for glob patterns: *, **, ?, [], {}, extglob
|
|
11
|
+
* - Brace expansion using the 'braces' package
|
|
12
|
+
* - Negation patterns with !
|
|
13
|
+
* - Comment patterns with #
|
|
14
|
+
* - Cross-platform path handling (Windows and POSIX)
|
|
15
|
+
*
|
|
16
|
+
* Architecture:
|
|
17
|
+
* 1. Constructor receives pattern and options
|
|
18
|
+
* 2. Pattern is parsed and expanded (braces)
|
|
19
|
+
* 3. Picomatch matchers are created for each expanded pattern
|
|
20
|
+
* 4. match() method tests paths against all matchers
|
|
21
|
+
*
|
|
22
|
+
* Compatibility layer:
|
|
23
|
+
* Some edge cases require special handling to match minimatch's exact behavior:
|
|
24
|
+
* - Dotfiles (. and ..) are never matched by wildcards
|
|
25
|
+
* - Negated character classes [^...] don't match dotfiles
|
|
26
|
+
* - Backslash escapes in character classes ([\b] = literal 'b')
|
|
27
|
+
*
|
|
28
|
+
* @author 686f6c61
|
|
29
|
+
* @see https://github.com/686f6c61/minimatch-fast
|
|
30
|
+
* @license MIT
|
|
31
|
+
*/
|
|
32
|
+
import type { MinimatchOptions, MMRegExp, ParseReturn, ParseReturnFiltered, Platform } from './types.js';
|
|
33
|
+
/**
|
|
34
|
+
* Minimatch class for glob pattern matching
|
|
35
|
+
*/
|
|
36
|
+
export declare class Minimatch {
|
|
37
|
+
/** Original pattern passed to constructor */
|
|
38
|
+
pattern: string;
|
|
39
|
+
/** Options used for matching */
|
|
40
|
+
options: MinimatchOptions;
|
|
41
|
+
/** 2D array of parsed pattern parts after brace expansion */
|
|
42
|
+
set: ParseReturnFiltered[][];
|
|
43
|
+
/** Whether the pattern is negated (starts with !) */
|
|
44
|
+
negate: boolean;
|
|
45
|
+
/** Whether the pattern is a comment (starts with #) */
|
|
46
|
+
comment: boolean;
|
|
47
|
+
/** Whether the pattern is empty */
|
|
48
|
+
empty: boolean;
|
|
49
|
+
/** Whether to preserve multiple consecutive slashes */
|
|
50
|
+
preserveMultipleSlashes: boolean;
|
|
51
|
+
/** Whether to do partial matching */
|
|
52
|
+
partial: boolean;
|
|
53
|
+
/** Result of brace expansion on the pattern */
|
|
54
|
+
globSet: string[];
|
|
55
|
+
/** Brace-expanded patterns split into path portions */
|
|
56
|
+
globParts: string[][];
|
|
57
|
+
/** Whether to perform case-insensitive matching */
|
|
58
|
+
nocase: boolean;
|
|
59
|
+
/** Whether running on Windows */
|
|
60
|
+
isWindows: boolean;
|
|
61
|
+
/** Target platform */
|
|
62
|
+
platform: Platform;
|
|
63
|
+
/** Windows-specific magic root handling */
|
|
64
|
+
windowsNoMagicRoot: boolean;
|
|
65
|
+
/** Compiled regular expression (lazily computed) */
|
|
66
|
+
regexp: false | null | MMRegExp;
|
|
67
|
+
/** Whether backslash is treated as path separator */
|
|
68
|
+
windowsPathsNoEscape: boolean;
|
|
69
|
+
/** Whether negation is disabled */
|
|
70
|
+
nonegate: boolean;
|
|
71
|
+
private _picoOpts;
|
|
72
|
+
private _matchers;
|
|
73
|
+
private _debugFn;
|
|
74
|
+
private _hasNegatedCharClassCached;
|
|
75
|
+
private _requiresTrailingSlashCached;
|
|
76
|
+
private _patternBasename;
|
|
77
|
+
/**
|
|
78
|
+
* Create a new Minimatch instance
|
|
79
|
+
*
|
|
80
|
+
* @param pattern - The glob pattern to match against
|
|
81
|
+
* @param options - Matching options
|
|
82
|
+
*/
|
|
83
|
+
constructor(pattern: string, options?: MinimatchOptions);
|
|
84
|
+
/**
|
|
85
|
+
* Enable debug output
|
|
86
|
+
*/
|
|
87
|
+
private debug;
|
|
88
|
+
/**
|
|
89
|
+
* Check if the pattern contains glob magic characters
|
|
90
|
+
*/
|
|
91
|
+
hasMagic(): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Build the pattern matching set
|
|
94
|
+
*/
|
|
95
|
+
private make;
|
|
96
|
+
/**
|
|
97
|
+
* Parse negation from the pattern
|
|
98
|
+
*/
|
|
99
|
+
private parseNegate;
|
|
100
|
+
/**
|
|
101
|
+
* Perform brace expansion on the pattern
|
|
102
|
+
*/
|
|
103
|
+
braceExpand(): string[];
|
|
104
|
+
/**
|
|
105
|
+
* Split a path by slashes
|
|
106
|
+
*/
|
|
107
|
+
slashSplit(p: string): string[];
|
|
108
|
+
/**
|
|
109
|
+
* Preprocess glob parts (optimization, normalization)
|
|
110
|
+
*/
|
|
111
|
+
private preprocess;
|
|
112
|
+
/**
|
|
113
|
+
* Parse a single pattern part into a regex or string
|
|
114
|
+
*/
|
|
115
|
+
private parse;
|
|
116
|
+
/**
|
|
117
|
+
* Test if a path matches the pattern
|
|
118
|
+
*
|
|
119
|
+
* @param path - The path to test
|
|
120
|
+
* @param partial - Whether to do partial matching
|
|
121
|
+
* @returns true if the path matches
|
|
122
|
+
*/
|
|
123
|
+
match(path: string, partial?: boolean): boolean;
|
|
124
|
+
/**
|
|
125
|
+
* Pre-process pattern for minimatch compatibility
|
|
126
|
+
* Handles edge cases where picomatch behaves differently
|
|
127
|
+
*/
|
|
128
|
+
private preprocessPattern;
|
|
129
|
+
/**
|
|
130
|
+
* Create a regular expression from the pattern
|
|
131
|
+
*
|
|
132
|
+
* @returns RegExp or false if pattern is invalid
|
|
133
|
+
*/
|
|
134
|
+
makeRe(): false | MMRegExp;
|
|
135
|
+
/**
|
|
136
|
+
* Match a file array against a pattern array
|
|
137
|
+
* This is for internal use and advanced matching scenarios
|
|
138
|
+
*
|
|
139
|
+
* @param file - Array of path segments
|
|
140
|
+
* @param pattern - Array of pattern parts
|
|
141
|
+
* @param partial - Whether to do partial matching
|
|
142
|
+
* @returns true if file matches pattern
|
|
143
|
+
*/
|
|
144
|
+
matchOne(file: string[], pattern: ParseReturn[], partial?: boolean): boolean;
|
|
145
|
+
/**
|
|
146
|
+
* Create a new Minimatch class with default options
|
|
147
|
+
*
|
|
148
|
+
* @param def - Default options to apply
|
|
149
|
+
* @returns New Minimatch class with defaults
|
|
150
|
+
*/
|
|
151
|
+
static defaults(def: MinimatchOptions): typeof Minimatch;
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=minimatch-class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"minimatch-class.d.ts","sourceRoot":"","sources":["../../src/minimatch-class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAGH,OAAO,KAAK,EACV,gBAAgB,EAChB,QAAQ,EACR,WAAW,EACX,mBAAmB,EACnB,QAAQ,EAET,MAAM,YAAY,CAAC;AAiBpB;;GAEG;AACH,qBAAa,SAAS;IACpB,6CAA6C;IAC7C,OAAO,EAAE,MAAM,CAAC;IAEhB,gCAAgC;IAChC,OAAO,EAAE,gBAAgB,CAAC;IAE1B,6DAA6D;IAC7D,GAAG,EAAE,mBAAmB,EAAE,EAAE,CAAC;IAE7B,qDAAqD;IACrD,MAAM,EAAE,OAAO,CAAC;IAEhB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IAEjB,mCAAmC;IACnC,KAAK,EAAE,OAAO,CAAC;IAEf,uDAAuD;IACvD,uBAAuB,EAAE,OAAO,CAAC;IAEjC,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IAEjB,+CAA+C;IAC/C,OAAO,EAAE,MAAM,EAAE,CAAC;IAElB,uDAAuD;IACvD,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC;IAEtB,mDAAmD;IACnD,MAAM,EAAE,OAAO,CAAC;IAEhB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IAEnB,sBAAsB;IACtB,QAAQ,EAAE,QAAQ,CAAC;IAEnB,2CAA2C;IAC3C,kBAAkB,EAAE,OAAO,CAAC;IAE5B,oDAAoD;IACpD,MAAM,EAAE,KAAK,GAAG,IAAI,GAAG,QAAQ,CAAC;IAEhC,qDAAqD;IACrD,oBAAoB,EAAE,OAAO,CAAC;IAE9B,mCAAmC;IACnC,QAAQ,EAAE,OAAO,CAAC;IAGlB,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAkC;IACnD,OAAO,CAAC,QAAQ,CAA+B;IAG/C,OAAO,CAAC,0BAA0B,CAAU;IAC5C,OAAO,CAAC,4BAA4B,CAAU;IAC9C,OAAO,CAAC,gBAAgB,CAAS;IAEjC;;;;;OAKG;gBACS,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,gBAAqB;IAsE3D;;OAEG;IACH,OAAO,CAAC,KAAK;IAIb;;OAEG;IACH,QAAQ,IAAI,OAAO;IAkBnB;;OAEG;IACH,OAAO,CAAC,IAAI;IA2DZ;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,WAAW,IAAI,MAAM,EAAE;IAIvB;;OAEG;IACH,UAAU,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAI/B;;OAEG;IACH,OAAO,CAAC,UAAU;IA4ClB;;OAEG;IACH,OAAO,CAAC,KAAK;IAuBb;;;;;;OAMG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,OAAsB,GAAG,OAAO;IA+G7D;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAazB;;;;OAIG;IACH,MAAM,IAAI,KAAK,GAAG,QAAQ;IA+D1B;;;;;;;;OAQG;IACH,QAAQ,CACN,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,EAAE,WAAW,EAAE,EACtB,OAAO,GAAE,OAAe,GACvB,OAAO;IA8GV;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,OAAO,SAAS;CAazD"}
|