@quilted/create 0.2.42 → 0.2.44

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 (285) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/build/esm/_virtual/index.mjs +6 -2
  3. package/build/esm/_virtual/index10.mjs +3 -0
  4. package/build/esm/_virtual/index11.mjs +3 -0
  5. package/build/esm/_virtual/index12.mjs +3 -0
  6. package/build/esm/_virtual/index13.mjs +3 -0
  7. package/build/esm/_virtual/index2.mjs +2 -2
  8. package/build/esm/_virtual/index3.mjs +6 -2
  9. package/build/esm/_virtual/index4.mjs +6 -2
  10. package/build/esm/_virtual/index5.mjs +6 -2
  11. package/build/esm/_virtual/index6.mjs +6 -2
  12. package/build/esm/_virtual/index8.mjs +3 -0
  13. package/build/esm/_virtual/index9.mjs +3 -0
  14. package/build/esm/_virtual/minimatch.mjs +12 -0
  15. package/build/esm/app.mjs +2 -2
  16. package/build/esm/cli.mjs +1 -1
  17. package/build/esm/module.mjs +2 -2
  18. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.mjs +29 -21
  19. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.mjs +24 -18
  20. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.mjs +35 -32
  21. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.mjs +103 -101
  22. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.mjs +19 -13
  23. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.mjs +63 -61
  24. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.mjs +33 -27
  25. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.mjs +25 -19
  26. package/build/esm/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.mjs +15 -10
  27. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.mjs +27 -19
  28. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.mjs +35 -32
  29. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.mjs +39 -33
  30. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.mjs +26 -20
  31. package/build/esm/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.mjs +24 -17
  32. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.mjs +44 -42
  33. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.mjs +37 -30
  34. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.mjs +41 -34
  35. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.mjs +22 -15
  36. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.mjs +103 -98
  37. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.mjs +35 -29
  38. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.mjs +19 -12
  39. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.mjs +64 -59
  40. package/build/esm/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.mjs +34 -27
  41. package/build/esm/node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.mjs +116 -112
  42. package/build/esm/node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.mjs +54 -47
  43. package/build/esm/node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.mjs +144 -137
  44. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/index.mjs +173 -166
  45. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/compile.mjs +57 -51
  46. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/constants.mjs +102 -94
  47. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/expand.mjs +89 -83
  48. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/parse.mjs +312 -305
  49. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/stringify.mjs +30 -24
  50. package/build/esm/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/utils.mjs +116 -108
  51. package/build/esm/node_modules/.pnpm/common-tags@1.8.2/node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.mjs +1 -3
  52. package/build/esm/node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.mjs +63 -61
  53. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/index.mjs +75 -77
  54. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/patterns.mjs +28 -22
  55. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/tasks.mjs +83 -78
  56. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/async.mjs +31 -25
  57. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/deep.mjs +66 -60
  58. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/entry.mjs +66 -59
  59. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/error.mjs +23 -16
  60. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/matchers/matcher.mjs +55 -48
  61. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/matchers/partial.mjs +40 -33
  62. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/provider.mjs +59 -55
  63. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/stream.mjs +38 -32
  64. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/sync.mjs +31 -25
  65. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/transformers/entry.mjs +33 -26
  66. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/async.mjs +43 -38
  67. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/reader.mjs +41 -35
  68. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/stream.mjs +60 -55
  69. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/sync.mjs +48 -43
  70. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/settings.mjs +65 -57
  71. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/array.mjs +26 -20
  72. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/errno.mjs +14 -8
  73. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/fs.mjs +25 -19
  74. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/index.mjs +33 -34
  75. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/path.mjs +39 -33
  76. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/pattern.mjs +170 -164
  77. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/stream.mjs +24 -18
  78. package/build/esm/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/string.mjs +18 -12
  79. package/build/esm/node_modules/.pnpm/fastq@1.13.0/node_modules/fastq/queue.mjs +227 -221
  80. package/build/esm/node_modules/.pnpm/fill-range@7.0.1/node_modules/fill-range/index.mjs +207 -200
  81. package/build/esm/node_modules/.pnpm/find-up@6.3.0/node_modules/find-up/index.mjs +1 -6
  82. package/build/esm/node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.mjs +51 -44
  83. package/build/esm/node_modules/.pnpm/globby@13.1.1/node_modules/globby/ignore.mjs +2 -2
  84. package/build/esm/node_modules/.pnpm/globby@13.1.1/node_modules/globby/index.mjs +3 -3
  85. package/build/esm/node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.mjs +443 -439
  86. package/build/esm/node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.mjs +18 -11
  87. package/build/esm/node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.mjs +116 -109
  88. package/build/esm/node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.mjs +17 -10
  89. package/build/esm/node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.mjs +117 -110
  90. package/build/esm/node_modules/.pnpm/micromatch@4.0.5/node_modules/micromatch/index.mjs +457 -451
  91. package/build/esm/node_modules/.pnpm/minimatch@5.1.0/node_modules/minimatch/lib/path.mjs +14 -7
  92. package/build/esm/node_modules/.pnpm/minimatch@5.1.0/node_modules/minimatch/minimatch.mjs +770 -770
  93. package/build/esm/node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.mjs +40 -34
  94. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.mjs +10 -3
  95. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.mjs +227 -220
  96. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.mjs +941 -935
  97. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.mjs +331 -325
  98. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.mjs +303 -297
  99. package/build/esm/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.mjs +65 -57
  100. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/babel.mjs +605 -605
  101. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/estree.mjs +378 -394
  102. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/typescript.mjs +15 -15
  103. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/yaml.mjs +281 -294
  104. package/build/esm/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/standalone.mjs +155 -155
  105. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/index.mjs +1 -1
  106. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/prompts.mjs +1 -1
  107. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/util/clear.mjs +1 -1
  108. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/index.mjs +17 -12
  109. package/build/esm/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/lib/prompts.mjs +1 -1
  110. package/build/esm/node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.mjs +14 -7
  111. package/build/esm/node_modules/.pnpm/reusify@1.0.4/node_modules/reusify/reusify.mjs +29 -22
  112. package/build/esm/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.mjs +49 -42
  113. package/build/esm/node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.mjs +231 -224
  114. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/nodes/YAMLMap.mjs +1 -1
  115. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/nodes/addPairToJSMap.mjs +1 -1
  116. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/tags.mjs +3 -3
  117. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.mjs +2 -2
  118. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.mjs +1 -1
  119. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/set.mjs +2 -2
  120. package/build/esm/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/stringify/stringifyString.mjs +1 -1
  121. package/build/esm/package.mjs +2 -2
  122. package/build/esm/packages/cli-kit/build/esnext/prompt.esnext.mjs +1 -1
  123. package/build/esm/server.mjs +5 -9
  124. package/build/esm/shared/package-manager.mjs +1 -1
  125. package/build/esm/shared/prompts.mjs +1 -1
  126. package/build/esnext/_virtual/index.esnext +6 -2
  127. package/build/esnext/_virtual/index10.esnext +3 -0
  128. package/build/esnext/_virtual/index11.esnext +3 -0
  129. package/build/esnext/_virtual/index12.esnext +3 -0
  130. package/build/esnext/_virtual/index13.esnext +3 -0
  131. package/build/esnext/_virtual/index2.esnext +2 -2
  132. package/build/esnext/_virtual/index3.esnext +6 -2
  133. package/build/esnext/_virtual/index4.esnext +6 -2
  134. package/build/esnext/_virtual/index5.esnext +6 -2
  135. package/build/esnext/_virtual/index6.esnext +6 -2
  136. package/build/esnext/_virtual/index8.esnext +3 -0
  137. package/build/esnext/_virtual/index9.esnext +3 -0
  138. package/build/esnext/_virtual/minimatch.esnext +12 -0
  139. package/build/esnext/app.esnext +2 -2
  140. package/build/esnext/module.esnext +2 -2
  141. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/adapters/fs.esnext +27 -19
  142. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/constants.esnext +19 -13
  143. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/index.esnext +33 -30
  144. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/async.esnext +99 -97
  145. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/common.esnext +14 -8
  146. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/providers/sync.esnext +59 -57
  147. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/settings.esnext +31 -25
  148. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/fs.esnext +23 -17
  149. package/build/esnext/node_modules/.pnpm/@nodelib_fs.scandir@2.1.5/node_modules/@nodelib/fs.scandir/out/utils/index.esnext +13 -8
  150. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/adapters/fs.esnext +25 -17
  151. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/index.esnext +33 -30
  152. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/async.esnext +38 -32
  153. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/providers/sync.esnext +25 -19
  154. package/build/esnext/node_modules/.pnpm/@nodelib_fs.stat@2.0.5/node_modules/@nodelib/fs.stat/out/settings.esnext +23 -16
  155. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/index.esnext +42 -40
  156. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/async.esnext +36 -29
  157. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/stream.esnext +40 -33
  158. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/providers/sync.esnext +21 -14
  159. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/async.esnext +98 -93
  160. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/common.esnext +30 -24
  161. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/reader.esnext +17 -10
  162. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/readers/sync.esnext +59 -54
  163. package/build/esnext/node_modules/.pnpm/@nodelib_fs.walk@1.2.8/node_modules/@nodelib/fs.walk/out/settings.esnext +33 -26
  164. package/build/esnext/node_modules/.pnpm/arg@5.0.2/node_modules/arg/index.esnext +132 -128
  165. package/build/esnext/node_modules/.pnpm/balanced-match@1.0.2/node_modules/balanced-match/index.esnext +54 -47
  166. package/build/esnext/node_modules/.pnpm/brace-expansion@2.0.1/node_modules/brace-expansion/index.esnext +137 -130
  167. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/index.esnext +66 -59
  168. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/compile.esnext +53 -47
  169. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/constants.esnext +102 -95
  170. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/expand.esnext +89 -83
  171. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/parse.esnext +217 -210
  172. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/stringify.esnext +30 -24
  173. package/build/esnext/node_modules/.pnpm/braces@3.0.2/node_modules/braces/lib/utils.esnext +75 -67
  174. package/build/esnext/node_modules/.pnpm/common-tags@1.8.2/node_modules/common-tags/es/splitStringTransformer/splitStringTransformer.esnext +1 -3
  175. package/build/esnext/node_modules/.pnpm/dir-glob@3.0.1/node_modules/dir-glob/index.esnext +63 -61
  176. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/index.esnext +68 -70
  177. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/patterns.esnext +17 -11
  178. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/managers/tasks.esnext +81 -76
  179. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/async.esnext +29 -23
  180. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/deep.esnext +61 -55
  181. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/entry.esnext +61 -54
  182. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/filters/error.esnext +21 -14
  183. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/matchers/matcher.esnext +49 -42
  184. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/matchers/partial.esnext +31 -24
  185. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/provider.esnext +57 -53
  186. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/stream.esnext +34 -28
  187. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/sync.esnext +29 -23
  188. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/providers/transformers/entry.esnext +29 -22
  189. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/async.esnext +40 -35
  190. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/reader.esnext +39 -33
  191. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/stream.esnext +56 -51
  192. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/readers/sync.esnext +46 -41
  193. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/settings.esnext +59 -51
  194. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/array.esnext +24 -18
  195. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/errno.esnext +12 -6
  196. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/fs.esnext +23 -17
  197. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/index.esnext +31 -32
  198. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/path.esnext +32 -26
  199. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/pattern.esnext +135 -129
  200. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/stream.esnext +23 -17
  201. package/build/esnext/node_modules/.pnpm/fast-glob@3.2.12/node_modules/fast-glob/out/utils/string.esnext +16 -10
  202. package/build/esnext/node_modules/.pnpm/fastq@1.13.0/node_modules/fastq/queue.esnext +220 -215
  203. package/build/esnext/node_modules/.pnpm/fill-range@7.0.1/node_modules/fill-range/index.esnext +193 -186
  204. package/build/esnext/node_modules/.pnpm/find-up@6.3.0/node_modules/find-up/index.esnext +1 -6
  205. package/build/esnext/node_modules/.pnpm/glob-parent@5.1.2/node_modules/glob-parent/index.esnext +31 -24
  206. package/build/esnext/node_modules/.pnpm/globby@13.1.1/node_modules/globby/ignore.esnext +2 -2
  207. package/build/esnext/node_modules/.pnpm/globby@13.1.1/node_modules/globby/index.esnext +3 -3
  208. package/build/esnext/node_modules/.pnpm/ignore@5.2.4/node_modules/ignore/index.esnext +357 -353
  209. package/build/esnext/node_modules/.pnpm/is-extglob@2.1.1/node_modules/is-extglob/index.esnext +18 -11
  210. package/build/esnext/node_modules/.pnpm/is-glob@4.0.3/node_modules/is-glob/index.esnext +111 -104
  211. package/build/esnext/node_modules/.pnpm/is-number@7.0.0/node_modules/is-number/index.esnext +17 -10
  212. package/build/esnext/node_modules/.pnpm/merge2@1.4.1/node_modules/merge2/index.esnext +103 -96
  213. package/build/esnext/node_modules/.pnpm/micromatch@4.0.5/node_modules/micromatch/index.esnext +147 -141
  214. package/build/esnext/node_modules/.pnpm/minimatch@5.1.0/node_modules/minimatch/lib/path.esnext +10 -3
  215. package/build/esnext/node_modules/.pnpm/minimatch@5.1.0/node_modules/minimatch/minimatch.esnext +495 -491
  216. package/build/esnext/node_modules/.pnpm/path-type@4.0.0/node_modules/path-type/index.esnext +38 -32
  217. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/index.esnext +10 -3
  218. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/constants.esnext +198 -191
  219. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/parse.esnext +683 -677
  220. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/picomatch.esnext +137 -131
  221. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/scan.esnext +279 -273
  222. package/build/esnext/node_modules/.pnpm/picomatch@2.3.1/node_modules/picomatch/lib/utils.esnext +65 -57
  223. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/babel.esnext +9 -9
  224. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/estree.esnext +20 -20
  225. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/typescript.esnext +15 -15
  226. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/plugins/yaml.esnext +64 -64
  227. package/build/esnext/node_modules/.pnpm/prettier@3.0.0/node_modules/prettier/standalone.esnext +19 -19
  228. package/build/esnext/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/index.esnext +1 -1
  229. package/build/esnext/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/dist/util/clear.esnext +1 -1
  230. package/build/esnext/node_modules/.pnpm/prompts@2.4.2/node_modules/prompts/index.esnext +16 -11
  231. package/build/esnext/node_modules/.pnpm/queue-microtask@1.2.3/node_modules/queue-microtask/index.esnext +12 -5
  232. package/build/esnext/node_modules/.pnpm/reusify@1.0.4/node_modules/reusify/reusify.esnext +29 -22
  233. package/build/esnext/node_modules/.pnpm/run-parallel@1.2.0/node_modules/run-parallel/index.esnext +47 -40
  234. package/build/esnext/node_modules/.pnpm/to-regex-range@5.0.1/node_modules/to-regex-range/index.esnext +196 -189
  235. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/compose/resolve-block-scalar.esnext +2 -0
  236. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.esnext +2 -0
  237. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/compose/resolve-props.esnext +1 -0
  238. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/nodes/YAMLMap.esnext +1 -1
  239. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/nodes/addPairToJSMap.esnext +1 -1
  240. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/parse/lexer.esnext +5 -0
  241. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/parse/parser.esnext +4 -0
  242. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/tags.esnext +3 -3
  243. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.esnext +2 -2
  244. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.esnext +1 -1
  245. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/schema/yaml-1.1/set.esnext +2 -2
  246. package/build/esnext/node_modules/.pnpm/yaml@2.1.1/node_modules/yaml/browser/dist/stringify/stringifyString.esnext +1 -1
  247. package/build/esnext/package.esnext +2 -2
  248. package/build/esnext/packages/cli-kit/build/esnext/prompt.esnext.esnext +1 -1
  249. package/build/esnext/server.esnext +5 -9
  250. package/build/esnext/shared/package-manager.esnext +1 -1
  251. package/build/esnext/shared/prompts.esnext +1 -1
  252. package/build/tsconfig.tsbuildinfo +1 -1
  253. package/package.json +3 -3
  254. package/source/shared/prompts.ts +1 -1
  255. package/templates/app-basic/App.tsx +3 -4
  256. package/templates/app-basic/browser.tsx +5 -1
  257. package/templates/app-basic/foundation/html/Head.test.tsx +42 -0
  258. package/templates/app-basic/foundation/html/Head.tsx +34 -0
  259. package/templates/app-basic/foundation/html.ts +1 -1
  260. package/templates/app-basic/package.json +4 -4
  261. package/templates/app-basic/server.tsx +89 -3
  262. package/templates/app-empty/package.json +3 -3
  263. package/templates/app-empty/server.tsx +4 -3
  264. package/templates/app-graphql/App.tsx +3 -4
  265. package/templates/app-graphql/browser.tsx +5 -1
  266. package/templates/app-graphql/foundation/html/Head.test.tsx +42 -0
  267. package/templates/app-graphql/foundation/html/Head.tsx +34 -0
  268. package/templates/app-graphql/foundation/html.ts +1 -1
  269. package/templates/app-graphql/package.json +4 -4
  270. package/templates/app-graphql/server.tsx +93 -9
  271. package/templates/app-trpc/App.tsx +3 -4
  272. package/templates/app-trpc/browser.tsx +5 -1
  273. package/templates/app-trpc/foundation/html/Head.test.tsx +42 -0
  274. package/templates/app-trpc/foundation/html/Head.tsx +34 -0
  275. package/templates/app-trpc/foundation/html.ts +1 -1
  276. package/templates/app-trpc/package.json +4 -4
  277. package/templates/app-trpc/server.tsx +93 -8
  278. package/templates/package/package.json +3 -3
  279. package/templates/workspace/package.json +4 -4
  280. package/templates/app-basic/foundation/html/HTML.test.tsx +0 -46
  281. package/templates/app-basic/foundation/html/HTML.tsx +0 -159
  282. package/templates/app-graphql/foundation/html/HTML.test.tsx +0 -46
  283. package/templates/app-graphql/foundation/html/HTML.tsx +0 -159
  284. package/templates/app-trpc/foundation/html/HTML.test.tsx +0 -46
  285. package/templates/app-trpc/foundation/html/HTML.tsx +0 -159
@@ -1,462 +1,466 @@
1
- import { getDefaultExportFromCjs } from '../../../../../_virtual/_commonjsHelpers.mjs';
2
-
3
- // A simple implementation of make-array
4
- function makeArray(subject) {
5
- return Array.isArray(subject) ? subject : [subject];
6
- }
7
- const EMPTY = '';
8
- const SPACE = ' ';
9
- const ESCAPE = '\\';
10
- const REGEX_TEST_BLANK_LINE = /^\s+$/;
11
- const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
12
- const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
13
- const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
14
- const REGEX_SPLITALL_CRLF = /\r?\n/g;
15
- // /foo,
16
- // ./foo,
17
- // ../foo,
18
- // .
19
- // ..
20
- const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
21
- const SLASH = '/';
22
-
23
- // Do not use ternary expression here, since "istanbul ignore next" is buggy
24
- let TMP_KEY_IGNORE = 'node-ignore';
25
- /* istanbul ignore else */
26
- if (typeof Symbol !== 'undefined') {
27
- TMP_KEY_IGNORE = Symbol.for('node-ignore');
28
- }
29
- const KEY_IGNORE = TMP_KEY_IGNORE;
30
- const define = (object, key, value) => Object.defineProperty(object, key, {
31
- value
32
- });
33
- const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
34
- const RETURN_FALSE = () => false;
35
-
36
- // Sanitize the range of a regular expression
37
- // The cases are complicated, see test cases for details
38
- const sanitizeRange = range => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match
39
- // Invalid range (out of order) which is ok for gitignore rules but
40
- // fatal for JavaScript regular expression, so eliminate it.
41
- : EMPTY);
42
-
43
- // See fixtures #59
44
- const cleanRangeBackSlash = slashes => {
45
- const {
46
- length
47
- } = slashes;
48
- return slashes.slice(0, length - length % 2);
49
- };
50
-
51
- // > If the pattern ends with a slash,
52
- // > it is removed for the purpose of the following description,
53
- // > but it would only find a match with a directory.
54
- // > In other words, foo/ will match a directory foo and paths underneath it,
55
- // > but will not match a regular file or a symbolic link foo
56
- // > (this is consistent with the way how pathspec works in general in Git).
57
- // '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
58
- // -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
59
- // you could use option `mark: true` with `glob`
60
-
61
- // '`foo/`' should not continue with the '`..`'
62
- const REPLACERS = [
63
- // > Trailing spaces are ignored unless they are quoted with backslash ("\")
64
- [
65
- // (a\ ) -> (a )
66
- // (a ) -> (a)
67
- // (a \ ) -> (a )
68
- /\\?\s+$/, match => match.indexOf('\\') === 0 ? SPACE : EMPTY],
69
- // replace (\ ) with ' '
70
- [/\\\s/g, () => SPACE],
71
- // Escape metacharacters
72
- // which is written down by users but means special for regular expressions.
73
-
74
- // > There are 12 characters with special meanings:
75
- // > - the backslash \,
76
- // > - the caret ^,
77
- // > - the dollar sign $,
78
- // > - the period or dot .,
79
- // > - the vertical bar or pipe symbol |,
80
- // > - the question mark ?,
81
- // > - the asterisk or star *,
82
- // > - the plus sign +,
83
- // > - the opening parenthesis (,
84
- // > - the closing parenthesis ),
85
- // > - and the opening square bracket [,
86
- // > - the opening curly brace {,
87
- // > These special characters are often called "metacharacters".
88
- [/[\\$.|*+(){^]/g, match => `\\${match}`], [
89
- // > a question mark (?) matches a single character
90
- /(?!\\)\?/g, () => '[^/]'],
91
- // leading slash
92
- [
93
- // > A leading slash matches the beginning of the pathname.
94
- // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
95
- // A leading slash matches the beginning of the pathname
96
- /^\//, () => '^'],
97
- // replace special metacharacter slash after the leading slash
98
- [/\//g, () => '\\/'], [
99
- // > A leading "**" followed by a slash means match in all directories.
100
- // > For example, "**/foo" matches file or directory "foo" anywhere,
101
- // > the same as pattern "foo".
102
- // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
103
- // > under directory "foo".
104
- // Notice that the '*'s have been replaced as '\\*'
105
- /^\^*\\\*\\\*\\\//,
106
- // '**/foo' <-> 'foo'
107
- () => '^(?:.*\\/)?'],
108
- // starting
109
- [
110
- // there will be no leading '/'
111
- // (which has been replaced by section "leading slash")
112
- // If starts with '**', adding a '^' to the regular expression also works
113
- /^(?=[^^])/, function startingReplacer() {
114
- // If has a slash `/` at the beginning or middle
115
- return !/\/(?!$)/.test(this)
116
- // > Prior to 2.22.1
117
- // > If the pattern does not contain a slash /,
118
- // > Git treats it as a shell glob pattern
119
- // Actually, if there is only a trailing slash,
120
- // git also treats it as a shell glob pattern
121
-
122
- // After 2.22.1 (compatible but clearer)
123
- // > If there is a separator at the beginning or middle (or both)
124
- // > of the pattern, then the pattern is relative to the directory
125
- // > level of the particular .gitignore file itself.
126
- // > Otherwise the pattern may also match at any level below
127
- // > the .gitignore level.
128
- ? '(?:^|\\/)'
129
-
130
- // > Otherwise, Git treats the pattern as a shell glob suitable for
131
- // > consumption by fnmatch(3)
132
- : '^';
133
- }],
134
- // two globstars
135
- [
136
- // Use lookahead assertions so that we could match more than one `'/**'`
137
- /\\\/\\\*\\\*(?=\\\/|$)/g,
138
- // Zero, one or several directories
139
- // should not use '*', or it will be replaced by the next replacer
140
-
141
- // Check if it is not the last `'/**'`
142
- (_, index, str) => index + 6 < str.length
143
-
144
- // case: /**/
145
- // > A slash followed by two consecutive asterisks then a slash matches
146
- // > zero or more directories.
147
- // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
148
- // '/**/'
149
- ? '(?:\\/[^\\/]+)*'
150
-
151
- // case: /**
152
- // > A trailing `"/**"` matches everything inside.
153
-
154
- // #21: everything inside but it should not include the current folder
155
- : '\\/.+'],
156
- // normal intermediate wildcards
157
- [
158
- // Never replace escaped '*'
159
- // ignore rule '\*' will match the path '*'
160
-
161
- // 'abc.*/' -> go
162
- // 'abc.*' -> skip this rule,
163
- // coz trailing single wildcard will be handed by [trailing wildcard]
164
- /(^|[^\\]+)(\\\*)+(?=.+)/g,
165
- // '*.js' matches '.js'
166
- // '*.js' doesn't match 'abc'
167
- (_, p1, p2) => {
168
- // 1.
169
- // > An asterisk "*" matches anything except a slash.
170
- // 2.
171
- // > Other consecutive asterisks are considered regular asterisks
172
- // > and will match according to the previous rules.
173
- const unescaped = p2.replace(/\\\*/g, '[^\\/]*');
174
- return p1 + unescaped;
175
- }], [
176
- // unescape, revert step 3 except for back slash
177
- // For example, if a user escape a '\\*',
178
- // after step 3, the result will be '\\\\\\*'
179
- /\\\\\\(?=[$.|*+(){^])/g, () => ESCAPE], [
180
- // '\\\\' -> '\\'
181
- /\\\\/g, () => ESCAPE], [
182
- // > The range notation, e.g. [a-zA-Z],
183
- // > can be used to match one of the characters in a range.
184
-
185
- // `\` is escaped by step 3
186
- /(\\)?\[([^\]/]*?)(\\*)($|\])/g, (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE
187
- // '\\[bar]' -> '\\\\[bar\\]'
188
- ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === ']' ? endEscape.length % 2 === 0
189
- // A normal case, and it is a range notation
190
- // '[bar]'
191
- // '[bar\\\\]'
192
- ? `[${sanitizeRange(range)}${endEscape}]`
193
- // Invalid range notaton
194
- // '[bar\\]' -> '[bar\\\\]'
195
- : '[]' : '[]'],
196
- // ending
197
- [
198
- // 'js' will not match 'js.'
199
- // 'ab' will not match 'abc'
200
- /(?:[^*])$/,
201
- // WTF!
202
- // https://git-scm.com/docs/gitignore
203
- // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
204
- // which re-fixes #24, #38
205
-
206
- // > If there is a separator at the end of the pattern then the pattern
207
- // > will only match directories, otherwise the pattern can match both
208
- // > files and directories.
209
-
210
- // 'js*' will not match 'a.js'
211
- // 'js/' will not match 'a.js'
212
- // 'js' will match 'a.js' and 'a.js/'
213
- match => /\/$/.test(match)
214
- // foo/ will not match 'foo'
215
- ? `${match}$`
216
- // foo matches 'foo' and 'foo/'
217
- : `${match}(?=$|\\/$)`],
218
- // trailing wildcard
219
- [/(\^|\\\/)?\\\*$/, (_, p1) => {
220
- const prefix = p1
221
- // '\^':
222
- // '/*' does not match EMPTY
223
- // '/*' does not match everything
224
-
225
- // '\\\/':
226
- // 'abc/*' does not match 'abc/'
227
- ? `${p1}[^/]+`
228
-
229
- // 'a*' matches 'a'
230
- // 'a*' matches 'aa'
231
- : '[^/]*';
232
- return `${prefix}(?=$|\\/$)`;
233
- }]];
234
-
235
- // A simple cache, because an ignore rule only has only one certain meaning
236
- const regexCache = Object.create(null);
237
-
238
- // @param {pattern}
239
- const makeRegex = (pattern, ignoreCase) => {
240
- let source = regexCache[pattern];
241
- if (!source) {
242
- source = REPLACERS.reduce((prev, current) => prev.replace(current[0], current[1].bind(pattern)), pattern);
243
- regexCache[pattern] = source;
1
+ var ignore;
2
+ var hasRequiredIgnore;
3
+ function requireIgnore() {
4
+ if (hasRequiredIgnore) return ignore;
5
+ hasRequiredIgnore = 1;
6
+ // A simple implementation of make-array
7
+ function makeArray(subject) {
8
+ return Array.isArray(subject) ? subject : [subject];
244
9
  }
245
- return ignoreCase ? new RegExp(source, 'i') : new RegExp(source);
246
- };
247
- const isString = subject => typeof subject === 'string';
248
-
249
- // > A blank line matches no files, so it can serve as a separator for readability.
250
- const checkPattern = pattern => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
251
-
252
- // > A line starting with # serves as a comment.
253
- && pattern.indexOf('#') !== 0;
254
- const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF);
255
- class IgnoreRule {
256
- constructor(origin, pattern, negative, regex) {
257
- this.origin = origin;
258
- this.pattern = pattern;
259
- this.negative = negative;
260
- this.regex = regex;
10
+ const EMPTY = '';
11
+ const SPACE = ' ';
12
+ const ESCAPE = '\\';
13
+ const REGEX_TEST_BLANK_LINE = /^\s+$/;
14
+ const REGEX_INVALID_TRAILING_BACKSLASH = /(?:[^\\]|^)\\$/;
15
+ const REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION = /^\\!/;
16
+ const REGEX_REPLACE_LEADING_EXCAPED_HASH = /^\\#/;
17
+ const REGEX_SPLITALL_CRLF = /\r?\n/g;
18
+ // /foo,
19
+ // ./foo,
20
+ // ../foo,
21
+ // .
22
+ // ..
23
+ const REGEX_TEST_INVALID_PATH = /^\.*\/|^\.+$/;
24
+ const SLASH = '/';
25
+
26
+ // Do not use ternary expression here, since "istanbul ignore next" is buggy
27
+ let TMP_KEY_IGNORE = 'node-ignore';
28
+ /* istanbul ignore else */
29
+ if (typeof Symbol !== 'undefined') {
30
+ TMP_KEY_IGNORE = Symbol.for('node-ignore');
261
31
  }
262
- }
263
- const createRule = (pattern, ignoreCase) => {
264
- const origin = pattern;
265
- let negative = false;
266
-
267
- // > An optional prefix "!" which negates the pattern;
268
- if (pattern.indexOf('!') === 0) {
269
- negative = true;
270
- pattern = pattern.substr(1);
271
- }
272
- pattern = pattern
273
- // > Put a backslash ("\") in front of the first "!" for patterns that
274
- // > begin with a literal "!", for example, `"\!important!.txt"`.
275
- .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
276
- // > Put a backslash ("\") in front of the first hash for patterns that
277
- // > begin with a hash.
278
- .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#');
279
- const regex = makeRegex(pattern, ignoreCase);
280
- return new IgnoreRule(origin, pattern, negative, regex);
281
- };
282
- const throwError = (message, Ctor) => {
283
- throw new Ctor(message);
284
- };
285
- const checkPath = (path, originalPath, doThrow) => {
286
- if (!isString(path)) {
287
- return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
32
+ const KEY_IGNORE = TMP_KEY_IGNORE;
33
+ const define = (object, key, value) => Object.defineProperty(object, key, {
34
+ value
35
+ });
36
+ const REGEX_REGEXP_RANGE = /([0-z])-([0-z])/g;
37
+ const RETURN_FALSE = () => false;
38
+
39
+ // Sanitize the range of a regular expression
40
+ // The cases are complicated, see test cases for details
41
+ const sanitizeRange = range => range.replace(REGEX_REGEXP_RANGE, (match, from, to) => from.charCodeAt(0) <= to.charCodeAt(0) ? match
42
+ // Invalid range (out of order) which is ok for gitignore rules but
43
+ // fatal for JavaScript regular expression, so eliminate it.
44
+ : EMPTY);
45
+
46
+ // See fixtures #59
47
+ const cleanRangeBackSlash = slashes => {
48
+ const {
49
+ length
50
+ } = slashes;
51
+ return slashes.slice(0, length - length % 2);
52
+ };
53
+
54
+ // > If the pattern ends with a slash,
55
+ // > it is removed for the purpose of the following description,
56
+ // > but it would only find a match with a directory.
57
+ // > In other words, foo/ will match a directory foo and paths underneath it,
58
+ // > but will not match a regular file or a symbolic link foo
59
+ // > (this is consistent with the way how pathspec works in general in Git).
60
+ // '`foo/`' will not match regular file '`foo`' or symbolic link '`foo`'
61
+ // -> ignore-rules will not deal with it, because it costs extra `fs.stat` call
62
+ // you could use option `mark: true` with `glob`
63
+
64
+ // '`foo/`' should not continue with the '`..`'
65
+ const REPLACERS = [
66
+ // > Trailing spaces are ignored unless they are quoted with backslash ("\")
67
+ [
68
+ // (a\ ) -> (a )
69
+ // (a ) -> (a)
70
+ // (a \ ) -> (a )
71
+ /\\?\s+$/, match => match.indexOf('\\') === 0 ? SPACE : EMPTY],
72
+ // replace (\ ) with ' '
73
+ [/\\\s/g, () => SPACE],
74
+ // Escape metacharacters
75
+ // which is written down by users but means special for regular expressions.
76
+
77
+ // > There are 12 characters with special meanings:
78
+ // > - the backslash \,
79
+ // > - the caret ^,
80
+ // > - the dollar sign $,
81
+ // > - the period or dot .,
82
+ // > - the vertical bar or pipe symbol |,
83
+ // > - the question mark ?,
84
+ // > - the asterisk or star *,
85
+ // > - the plus sign +,
86
+ // > - the opening parenthesis (,
87
+ // > - the closing parenthesis ),
88
+ // > - and the opening square bracket [,
89
+ // > - the opening curly brace {,
90
+ // > These special characters are often called "metacharacters".
91
+ [/[\\$.|*+(){^]/g, match => `\\${match}`], [
92
+ // > a question mark (?) matches a single character
93
+ /(?!\\)\?/g, () => '[^/]'],
94
+ // leading slash
95
+ [
96
+ // > A leading slash matches the beginning of the pathname.
97
+ // > For example, "/*.c" matches "cat-file.c" but not "mozilla-sha1/sha1.c".
98
+ // A leading slash matches the beginning of the pathname
99
+ /^\//, () => '^'],
100
+ // replace special metacharacter slash after the leading slash
101
+ [/\//g, () => '\\/'], [
102
+ // > A leading "**" followed by a slash means match in all directories.
103
+ // > For example, "**/foo" matches file or directory "foo" anywhere,
104
+ // > the same as pattern "foo".
105
+ // > "**/foo/bar" matches file or directory "bar" anywhere that is directly
106
+ // > under directory "foo".
107
+ // Notice that the '*'s have been replaced as '\\*'
108
+ /^\^*\\\*\\\*\\\//,
109
+ // '**/foo' <-> 'foo'
110
+ () => '^(?:.*\\/)?'],
111
+ // starting
112
+ [
113
+ // there will be no leading '/'
114
+ // (which has been replaced by section "leading slash")
115
+ // If starts with '**', adding a '^' to the regular expression also works
116
+ /^(?=[^^])/, function startingReplacer() {
117
+ // If has a slash `/` at the beginning or middle
118
+ return !/\/(?!$)/.test(this)
119
+ // > Prior to 2.22.1
120
+ // > If the pattern does not contain a slash /,
121
+ // > Git treats it as a shell glob pattern
122
+ // Actually, if there is only a trailing slash,
123
+ // git also treats it as a shell glob pattern
124
+
125
+ // After 2.22.1 (compatible but clearer)
126
+ // > If there is a separator at the beginning or middle (or both)
127
+ // > of the pattern, then the pattern is relative to the directory
128
+ // > level of the particular .gitignore file itself.
129
+ // > Otherwise the pattern may also match at any level below
130
+ // > the .gitignore level.
131
+ ? '(?:^|\\/)'
132
+
133
+ // > Otherwise, Git treats the pattern as a shell glob suitable for
134
+ // > consumption by fnmatch(3)
135
+ : '^';
136
+ }],
137
+ // two globstars
138
+ [
139
+ // Use lookahead assertions so that we could match more than one `'/**'`
140
+ /\\\/\\\*\\\*(?=\\\/|$)/g,
141
+ // Zero, one or several directories
142
+ // should not use '*', or it will be replaced by the next replacer
143
+
144
+ // Check if it is not the last `'/**'`
145
+ (_, index, str) => index + 6 < str.length
146
+
147
+ // case: /**/
148
+ // > A slash followed by two consecutive asterisks then a slash matches
149
+ // > zero or more directories.
150
+ // > For example, "a/**/b" matches "a/b", "a/x/b", "a/x/y/b" and so on.
151
+ // '/**/'
152
+ ? '(?:\\/[^\\/]+)*'
153
+
154
+ // case: /**
155
+ // > A trailing `"/**"` matches everything inside.
156
+
157
+ // #21: everything inside but it should not include the current folder
158
+ : '\\/.+'],
159
+ // normal intermediate wildcards
160
+ [
161
+ // Never replace escaped '*'
162
+ // ignore rule '\*' will match the path '*'
163
+
164
+ // 'abc.*/' -> go
165
+ // 'abc.*' -> skip this rule,
166
+ // coz trailing single wildcard will be handed by [trailing wildcard]
167
+ /(^|[^\\]+)(\\\*)+(?=.+)/g,
168
+ // '*.js' matches '.js'
169
+ // '*.js' doesn't match 'abc'
170
+ (_, p1, p2) => {
171
+ // 1.
172
+ // > An asterisk "*" matches anything except a slash.
173
+ // 2.
174
+ // > Other consecutive asterisks are considered regular asterisks
175
+ // > and will match according to the previous rules.
176
+ const unescaped = p2.replace(/\\\*/g, '[^\\/]*');
177
+ return p1 + unescaped;
178
+ }], [
179
+ // unescape, revert step 3 except for back slash
180
+ // For example, if a user escape a '\\*',
181
+ // after step 3, the result will be '\\\\\\*'
182
+ /\\\\\\(?=[$.|*+(){^])/g, () => ESCAPE], [
183
+ // '\\\\' -> '\\'
184
+ /\\\\/g, () => ESCAPE], [
185
+ // > The range notation, e.g. [a-zA-Z],
186
+ // > can be used to match one of the characters in a range.
187
+
188
+ // `\` is escaped by step 3
189
+ /(\\)?\[([^\]/]*?)(\\*)($|\])/g, (match, leadEscape, range, endEscape, close) => leadEscape === ESCAPE
190
+ // '\\[bar]' -> '\\\\[bar\\]'
191
+ ? `\\[${range}${cleanRangeBackSlash(endEscape)}${close}` : close === ']' ? endEscape.length % 2 === 0
192
+ // A normal case, and it is a range notation
193
+ // '[bar]'
194
+ // '[bar\\\\]'
195
+ ? `[${sanitizeRange(range)}${endEscape}]`
196
+ // Invalid range notaton
197
+ // '[bar\\]' -> '[bar\\\\]'
198
+ : '[]' : '[]'],
199
+ // ending
200
+ [
201
+ // 'js' will not match 'js.'
202
+ // 'ab' will not match 'abc'
203
+ /(?:[^*])$/,
204
+ // WTF!
205
+ // https://git-scm.com/docs/gitignore
206
+ // changes in [2.22.1](https://git-scm.com/docs/gitignore/2.22.1)
207
+ // which re-fixes #24, #38
208
+
209
+ // > If there is a separator at the end of the pattern then the pattern
210
+ // > will only match directories, otherwise the pattern can match both
211
+ // > files and directories.
212
+
213
+ // 'js*' will not match 'a.js'
214
+ // 'js/' will not match 'a.js'
215
+ // 'js' will match 'a.js' and 'a.js/'
216
+ match => /\/$/.test(match)
217
+ // foo/ will not match 'foo'
218
+ ? `${match}$`
219
+ // foo matches 'foo' and 'foo/'
220
+ : `${match}(?=$|\\/$)`],
221
+ // trailing wildcard
222
+ [/(\^|\\\/)?\\\*$/, (_, p1) => {
223
+ const prefix = p1
224
+ // '\^':
225
+ // '/*' does not match EMPTY
226
+ // '/*' does not match everything
227
+
228
+ // '\\\/':
229
+ // 'abc/*' does not match 'abc/'
230
+ ? `${p1}[^/]+`
231
+
232
+ // 'a*' matches 'a'
233
+ // 'a*' matches 'aa'
234
+ : '[^/]*';
235
+ return `${prefix}(?=$|\\/$)`;
236
+ }]];
237
+
238
+ // A simple cache, because an ignore rule only has only one certain meaning
239
+ const regexCache = Object.create(null);
240
+
241
+ // @param {pattern}
242
+ const makeRegex = (pattern, ignoreCase) => {
243
+ let source = regexCache[pattern];
244
+ if (!source) {
245
+ source = REPLACERS.reduce((prev, current) => prev.replace(current[0], current[1].bind(pattern)), pattern);
246
+ regexCache[pattern] = source;
247
+ }
248
+ return ignoreCase ? new RegExp(source, 'i') : new RegExp(source);
249
+ };
250
+ const isString = subject => typeof subject === 'string';
251
+
252
+ // > A blank line matches no files, so it can serve as a separator for readability.
253
+ const checkPattern = pattern => pattern && isString(pattern) && !REGEX_TEST_BLANK_LINE.test(pattern) && !REGEX_INVALID_TRAILING_BACKSLASH.test(pattern)
254
+
255
+ // > A line starting with # serves as a comment.
256
+ && pattern.indexOf('#') !== 0;
257
+ const splitPattern = pattern => pattern.split(REGEX_SPLITALL_CRLF);
258
+ class IgnoreRule {
259
+ constructor(origin, pattern, negative, regex) {
260
+ this.origin = origin;
261
+ this.pattern = pattern;
262
+ this.negative = negative;
263
+ this.regex = regex;
264
+ }
288
265
  }
266
+ const createRule = (pattern, ignoreCase) => {
267
+ const origin = pattern;
268
+ let negative = false;
269
+
270
+ // > An optional prefix "!" which negates the pattern;
271
+ if (pattern.indexOf('!') === 0) {
272
+ negative = true;
273
+ pattern = pattern.substr(1);
274
+ }
275
+ pattern = pattern
276
+ // > Put a backslash ("\") in front of the first "!" for patterns that
277
+ // > begin with a literal "!", for example, `"\!important!.txt"`.
278
+ .replace(REGEX_REPLACE_LEADING_EXCAPED_EXCLAMATION, '!')
279
+ // > Put a backslash ("\") in front of the first hash for patterns that
280
+ // > begin with a hash.
281
+ .replace(REGEX_REPLACE_LEADING_EXCAPED_HASH, '#');
282
+ const regex = makeRegex(pattern, ignoreCase);
283
+ return new IgnoreRule(origin, pattern, negative, regex);
284
+ };
285
+ const throwError = (message, Ctor) => {
286
+ throw new Ctor(message);
287
+ };
288
+ const checkPath = (path, originalPath, doThrow) => {
289
+ if (!isString(path)) {
290
+ return doThrow(`path must be a string, but got \`${originalPath}\``, TypeError);
291
+ }
289
292
 
290
- // We don't know if we should ignore EMPTY, so throw
291
- if (!path) {
292
- return doThrow(`path must not be empty`, TypeError);
293
- }
293
+ // We don't know if we should ignore EMPTY, so throw
294
+ if (!path) {
295
+ return doThrow(`path must not be empty`, TypeError);
296
+ }
294
297
 
295
- // Check if it is a relative path
296
- if (checkPath.isNotRelative(path)) {
297
- const r = '`path.relative()`d';
298
- return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError);
299
- }
300
- return true;
301
- };
302
- const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path);
303
- checkPath.isNotRelative = isNotRelative;
304
- checkPath.convert = p => p;
305
- class Ignore {
306
- constructor({
307
- ignorecase = true,
308
- ignoreCase = ignorecase,
309
- allowRelativePaths = false
310
- } = {}) {
311
- define(this, KEY_IGNORE, true);
312
- this._rules = [];
313
- this._ignoreCase = ignoreCase;
314
- this._allowRelativePaths = allowRelativePaths;
315
- this._initCache();
316
- }
317
- _initCache() {
318
- this._ignoreCache = Object.create(null);
319
- this._testCache = Object.create(null);
320
- }
321
- _addPattern(pattern) {
322
- // #32
323
- if (pattern && pattern[KEY_IGNORE]) {
324
- this._rules = this._rules.concat(pattern._rules);
325
- this._added = true;
326
- return;
298
+ // Check if it is a relative path
299
+ if (checkPath.isNotRelative(path)) {
300
+ const r = '`path.relative()`d';
301
+ return doThrow(`path should be a ${r} string, but got "${originalPath}"`, RangeError);
327
302
  }
328
- if (checkPattern(pattern)) {
329
- const rule = createRule(pattern, this._ignoreCase);
330
- this._added = true;
331
- this._rules.push(rule);
303
+ return true;
304
+ };
305
+ const isNotRelative = path => REGEX_TEST_INVALID_PATH.test(path);
306
+ checkPath.isNotRelative = isNotRelative;
307
+ checkPath.convert = p => p;
308
+ class Ignore {
309
+ constructor({
310
+ ignorecase = true,
311
+ ignoreCase = ignorecase,
312
+ allowRelativePaths = false
313
+ } = {}) {
314
+ define(this, KEY_IGNORE, true);
315
+ this._rules = [];
316
+ this._ignoreCase = ignoreCase;
317
+ this._allowRelativePaths = allowRelativePaths;
318
+ this._initCache();
319
+ }
320
+ _initCache() {
321
+ this._ignoreCache = Object.create(null);
322
+ this._testCache = Object.create(null);
323
+ }
324
+ _addPattern(pattern) {
325
+ // #32
326
+ if (pattern && pattern[KEY_IGNORE]) {
327
+ this._rules = this._rules.concat(pattern._rules);
328
+ this._added = true;
329
+ return;
330
+ }
331
+ if (checkPattern(pattern)) {
332
+ const rule = createRule(pattern, this._ignoreCase);
333
+ this._added = true;
334
+ this._rules.push(rule);
335
+ }
332
336
  }
333
- }
334
337
 
335
- // @param {Array<string> | string | Ignore} pattern
336
- add(pattern) {
337
- this._added = false;
338
- makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this);
338
+ // @param {Array<string> | string | Ignore} pattern
339
+ add(pattern) {
340
+ this._added = false;
341
+ makeArray(isString(pattern) ? splitPattern(pattern) : pattern).forEach(this._addPattern, this);
339
342
 
340
- // Some rules have just added to the ignore,
341
- // making the behavior changed.
342
- if (this._added) {
343
- this._initCache();
343
+ // Some rules have just added to the ignore,
344
+ // making the behavior changed.
345
+ if (this._added) {
346
+ this._initCache();
347
+ }
348
+ return this;
344
349
  }
345
- return this;
346
- }
347
350
 
348
- // legacy
349
- addPattern(pattern) {
350
- return this.add(pattern);
351
- }
351
+ // legacy
352
+ addPattern(pattern) {
353
+ return this.add(pattern);
354
+ }
352
355
 
353
- // | ignored : unignored
354
- // negative | 0:0 | 0:1 | 1:0 | 1:1
355
- // -------- | ------- | ------- | ------- | --------
356
- // 0 | TEST | TEST | SKIP | X
357
- // 1 | TESTIF | SKIP | TEST | X
358
-
359
- // - SKIP: always skip
360
- // - TEST: always test
361
- // - TESTIF: only test if checkUnignored
362
- // - X: that never happen
363
-
364
- // @param {boolean} whether should check if the path is unignored,
365
- // setting `checkUnignored` to `false` could reduce additional
366
- // path matching.
367
-
368
- // @returns {TestResult} true if a file is ignored
369
- _testOne(path, checkUnignored) {
370
- let ignored = false;
371
- let unignored = false;
372
- this._rules.forEach(rule => {
373
- const {
374
- negative
375
- } = rule;
376
- if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
377
- return;
356
+ // | ignored : unignored
357
+ // negative | 0:0 | 0:1 | 1:0 | 1:1
358
+ // -------- | ------- | ------- | ------- | --------
359
+ // 0 | TEST | TEST | SKIP | X
360
+ // 1 | TESTIF | SKIP | TEST | X
361
+
362
+ // - SKIP: always skip
363
+ // - TEST: always test
364
+ // - TESTIF: only test if checkUnignored
365
+ // - X: that never happen
366
+
367
+ // @param {boolean} whether should check if the path is unignored,
368
+ // setting `checkUnignored` to `false` could reduce additional
369
+ // path matching.
370
+
371
+ // @returns {TestResult} true if a file is ignored
372
+ _testOne(path, checkUnignored) {
373
+ let ignored = false;
374
+ let unignored = false;
375
+ this._rules.forEach(rule => {
376
+ const {
377
+ negative
378
+ } = rule;
379
+ if (unignored === negative && ignored !== unignored || negative && !ignored && !unignored && !checkUnignored) {
380
+ return;
381
+ }
382
+ const matched = rule.regex.test(path);
383
+ if (matched) {
384
+ ignored = !negative;
385
+ unignored = negative;
386
+ }
387
+ });
388
+ return {
389
+ ignored,
390
+ unignored
391
+ };
392
+ }
393
+
394
+ // @returns {TestResult}
395
+ _test(originalPath, cache, checkUnignored, slices) {
396
+ const path = originalPath
397
+ // Supports nullable path
398
+ && checkPath.convert(originalPath);
399
+ checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError);
400
+ return this._t(path, cache, checkUnignored, slices);
401
+ }
402
+ _t(path, cache, checkUnignored, slices) {
403
+ if (path in cache) {
404
+ return cache[path];
378
405
  }
379
- const matched = rule.regex.test(path);
380
- if (matched) {
381
- ignored = !negative;
382
- unignored = negative;
406
+ if (!slices) {
407
+ // path/to/a.js
408
+ // ['path', 'to', 'a.js']
409
+ slices = path.split(SLASH);
383
410
  }
384
- });
385
- return {
386
- ignored,
387
- unignored
388
- };
389
- }
411
+ slices.pop();
390
412
 
391
- // @returns {TestResult}
392
- _test(originalPath, cache, checkUnignored, slices) {
393
- const path = originalPath
394
- // Supports nullable path
395
- && checkPath.convert(originalPath);
396
- checkPath(path, originalPath, this._allowRelativePaths ? RETURN_FALSE : throwError);
397
- return this._t(path, cache, checkUnignored, slices);
398
- }
399
- _t(path, cache, checkUnignored, slices) {
400
- if (path in cache) {
401
- return cache[path];
413
+ // If the path has no parent directory, just test it
414
+ if (!slices.length) {
415
+ return cache[path] = this._testOne(path, checkUnignored);
416
+ }
417
+ const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
418
+
419
+ // If the path contains a parent directory, check the parent first
420
+ return cache[path] = parent.ignored
421
+ // > It is not possible to re-include a file if a parent directory of
422
+ // > that file is excluded.
423
+ ? parent : this._testOne(path, checkUnignored);
402
424
  }
403
- if (!slices) {
404
- // path/to/a.js
405
- // ['path', 'to', 'a.js']
406
- slices = path.split(SLASH);
425
+ ignores(path) {
426
+ return this._test(path, this._ignoreCache, false).ignored;
407
427
  }
408
- slices.pop();
409
-
410
- // If the path has no parent directory, just test it
411
- if (!slices.length) {
412
- return cache[path] = this._testOne(path, checkUnignored);
428
+ createFilter() {
429
+ return path => !this.ignores(path);
430
+ }
431
+ filter(paths) {
432
+ return makeArray(paths).filter(this.createFilter());
413
433
  }
414
- const parent = this._t(slices.join(SLASH) + SLASH, cache, checkUnignored, slices);
415
434
 
416
- // If the path contains a parent directory, check the parent first
417
- return cache[path] = parent.ignored
418
- // > It is not possible to re-include a file if a parent directory of
419
- // > that file is excluded.
420
- ? parent : this._testOne(path, checkUnignored);
421
- }
422
- ignores(path) {
423
- return this._test(path, this._ignoreCache, false).ignored;
424
- }
425
- createFilter() {
426
- return path => !this.ignores(path);
435
+ // @returns {TestResult}
436
+ test(path) {
437
+ return this._test(path, this._testCache, true);
438
+ }
427
439
  }
428
- filter(paths) {
429
- return makeArray(paths).filter(this.createFilter());
440
+ const factory = options => new Ignore(options);
441
+ const isPathValid = path => checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
442
+ factory.isPathValid = isPathValid;
443
+
444
+ // Fixes typescript
445
+ factory.default = factory;
446
+ ignore = factory;
447
+
448
+ // Windows
449
+ // --------------------------------------------------------------
450
+ /* istanbul ignore if */
451
+ if (
452
+ // Detect `process` so that it can run in browsers.
453
+ typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {
454
+ /* eslint no-control-regex: "off" */
455
+ const makePosix = str => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, '/');
456
+ checkPath.convert = makePosix;
457
+
458
+ // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
459
+ // 'd:\\foo'
460
+ const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
461
+ checkPath.isNotRelative = path => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
430
462
  }
431
-
432
- // @returns {TestResult}
433
- test(path) {
434
- return this._test(path, this._testCache, true);
435
- }
436
- }
437
- const factory = options => new Ignore(options);
438
- const isPathValid = path => checkPath(path && checkPath.convert(path), path, RETURN_FALSE);
439
- factory.isPathValid = isPathValid;
440
-
441
- // Fixes typescript
442
- factory.default = factory;
443
- var ignore = factory;
444
-
445
- // Windows
446
- // --------------------------------------------------------------
447
- /* istanbul ignore if */
448
- if (
449
- // Detect `process` so that it can run in browsers.
450
- typeof process !== 'undefined' && (process.env && process.env.IGNORE_TEST_WIN32 || process.platform === 'win32')) {
451
- /* eslint no-control-regex: "off" */
452
- const makePosix = str => /^\\\\\?\\/.test(str) || /["<>|\u0000-\u001F]+/u.test(str) ? str : str.replace(/\\/g, '/');
453
- checkPath.convert = makePosix;
454
-
455
- // 'C:\\foo' <- 'C:\\foo' has been converted to 'C:/'
456
- // 'd:\\foo'
457
- const REGIX_IS_WINDOWS_PATH_ABSOLUTE = /^[a-z]:\//i;
458
- checkPath.isNotRelative = path => REGIX_IS_WINDOWS_PATH_ABSOLUTE.test(path) || isNotRelative(path);
463
+ return ignore;
459
464
  }
460
- const gitIgnore = /*@__PURE__*/getDefaultExportFromCjs(ignore);
461
465
 
462
- export { gitIgnore as default };
466
+ export { requireIgnore as __require };