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.
Files changed (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +950 -0
  3. package/dist/cjs/brace-expand.d.ts +42 -0
  4. package/dist/cjs/brace-expand.d.ts.map +1 -0
  5. package/dist/cjs/brace-expand.js +172 -0
  6. package/dist/cjs/brace-expand.js.map +1 -0
  7. package/dist/cjs/cache.d.ts +36 -0
  8. package/dist/cjs/cache.d.ts.map +1 -0
  9. package/dist/cjs/cache.js +91 -0
  10. package/dist/cjs/cache.js.map +1 -0
  11. package/dist/cjs/escape.d.ts +40 -0
  12. package/dist/cjs/escape.d.ts.map +1 -0
  13. package/dist/cjs/escape.js +52 -0
  14. package/dist/cjs/escape.js.map +1 -0
  15. package/dist/cjs/fast-paths.d.ts +54 -0
  16. package/dist/cjs/fast-paths.d.ts.map +1 -0
  17. package/dist/cjs/fast-paths.js +213 -0
  18. package/dist/cjs/fast-paths.js.map +1 -0
  19. package/dist/cjs/index.d.ts +150 -0
  20. package/dist/cjs/index.d.ts.map +1 -0
  21. package/dist/cjs/index.js +250 -0
  22. package/dist/cjs/index.js.map +1 -0
  23. package/dist/cjs/minimatch-class.d.ts +153 -0
  24. package/dist/cjs/minimatch-class.d.ts.map +1 -0
  25. package/dist/cjs/minimatch-class.js +618 -0
  26. package/dist/cjs/minimatch-class.js.map +1 -0
  27. package/dist/cjs/options.d.ts +31 -0
  28. package/dist/cjs/options.d.ts.map +1 -0
  29. package/dist/cjs/options.js +67 -0
  30. package/dist/cjs/options.js.map +1 -0
  31. package/dist/cjs/package.json +3 -0
  32. package/dist/cjs/types.d.ts +194 -0
  33. package/dist/cjs/types.d.ts.map +1 -0
  34. package/dist/cjs/types.js +19 -0
  35. package/dist/cjs/types.js.map +1 -0
  36. package/dist/cjs/unescape.d.ts +36 -0
  37. package/dist/cjs/unescape.d.ts.map +1 -0
  38. package/dist/cjs/unescape.js +49 -0
  39. package/dist/cjs/unescape.js.map +1 -0
  40. package/dist/cjs/utils.d.ts +62 -0
  41. package/dist/cjs/utils.d.ts.map +1 -0
  42. package/dist/cjs/utils.js +126 -0
  43. package/dist/cjs/utils.js.map +1 -0
  44. package/dist/esm/brace-expand.d.ts +42 -0
  45. package/dist/esm/brace-expand.d.ts.map +1 -0
  46. package/dist/esm/brace-expand.js +165 -0
  47. package/dist/esm/brace-expand.js.map +1 -0
  48. package/dist/esm/cache.d.ts +36 -0
  49. package/dist/esm/cache.d.ts.map +1 -0
  50. package/dist/esm/cache.js +86 -0
  51. package/dist/esm/cache.js.map +1 -0
  52. package/dist/esm/escape.d.ts +40 -0
  53. package/dist/esm/escape.d.ts.map +1 -0
  54. package/dist/esm/escape.js +49 -0
  55. package/dist/esm/escape.js.map +1 -0
  56. package/dist/esm/fast-paths.d.ts +54 -0
  57. package/dist/esm/fast-paths.d.ts.map +1 -0
  58. package/dist/esm/fast-paths.js +209 -0
  59. package/dist/esm/fast-paths.js.map +1 -0
  60. package/dist/esm/index.d.ts +150 -0
  61. package/dist/esm/index.d.ts.map +1 -0
  62. package/dist/esm/index.js +240 -0
  63. package/dist/esm/index.js.map +1 -0
  64. package/dist/esm/minimatch-class.d.ts +153 -0
  65. package/dist/esm/minimatch-class.d.ts.map +1 -0
  66. package/dist/esm/minimatch-class.js +611 -0
  67. package/dist/esm/minimatch-class.js.map +1 -0
  68. package/dist/esm/options.d.ts +31 -0
  69. package/dist/esm/options.d.ts.map +1 -0
  70. package/dist/esm/options.js +63 -0
  71. package/dist/esm/options.js.map +1 -0
  72. package/dist/esm/package.json +3 -0
  73. package/dist/esm/types.d.ts +194 -0
  74. package/dist/esm/types.d.ts.map +1 -0
  75. package/dist/esm/types.js +16 -0
  76. package/dist/esm/types.js.map +1 -0
  77. package/dist/esm/unescape.d.ts +36 -0
  78. package/dist/esm/unescape.d.ts.map +1 -0
  79. package/dist/esm/unescape.js +46 -0
  80. package/dist/esm/unescape.js.map +1 -0
  81. package/dist/esm/utils.d.ts +62 -0
  82. package/dist/esm/utils.d.ts.map +1 -0
  83. package/dist/esm/utils.js +116 -0
  84. package/dist/esm/utils.js.map +1 -0
  85. 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"}