elm-pages 3.0.0-beta.24 → 3.0.0-beta.25

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 (440) hide show
  1. package/README.md +1 -1
  2. package/generator/src/compatibility-key.js +2 -2
  3. package/package.json +1 -1
  4. package/src/BackendTask/Custom.elm +115 -108
  5. package/src/Form/FieldView.elm +96 -10
  6. package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
  7. package/src/Pages/Internal/Platform.elm +1 -1
  8. package/src/Scaffold/Form.elm +38 -28
  9. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +0 -1
  10. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Console-Text.elmi +0 -0
  11. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Console-Text.elmo +0 -0
  12. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  13. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  14. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmi +0 -0
  15. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  16. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Generated-Main.elmi +0 -0
  17. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Generated-Main.elmo +0 -0
  18. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Color.elmi +0 -0
  19. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Color.elmo +0 -0
  20. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Monochrome.elmi +0 -0
  21. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format-Monochrome.elmo +0 -0
  22. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format.elmi +0 -0
  23. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console-Format.elmo +0 -0
  24. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console.elmi +0 -0
  25. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Console.elmo +0 -0
  26. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Highlightable.elmi +0 -0
  27. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Highlightable.elmo +0 -0
  28. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-JUnit.elmi +0 -0
  29. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-JUnit.elmo +0 -0
  30. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Json.elmi +0 -0
  31. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Json.elmo +0 -0
  32. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Reporter.elmi +0 -0
  33. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-Reporter.elmo +0 -0
  34. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-TestResults.elmi +0 -0
  35. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Reporter-TestResults.elmo +0 -0
  36. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-JsMessage.elmi +0 -0
  37. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-JsMessage.elmo +0 -0
  38. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Console.elmi +0 -0
  39. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Console.elmo +0 -0
  40. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Diff.elmi +0 -0
  41. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node-Vendor-Diff.elmo +0 -0
  42. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node.elmi +0 -0
  43. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/Test-Runner-Node.elmo +0 -0
  44. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/d.dat +0 -0
  45. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/i.dat +0 -0
  46. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/lock +0 -0
  47. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm-stuff/0.19.1/o.dat +0 -0
  48. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +0 -38
  49. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +0 -29673
  50. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +0 -1
  51. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +0 -27
  52. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  53. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  54. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmi +0 -0
  55. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  56. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  57. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  58. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  59. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  60. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  61. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  62. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  63. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  64. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +0 -1
  65. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -8000
  66. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -27789
  67. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  68. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  69. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  70. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  71. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
  72. package/generator/dead-code-review/node_modules/.package-lock.json +0 -484
  73. package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +0 -345
  74. package/generator/dead-code-review/node_modules/ansi-styles/index.js +0 -163
  75. package/generator/dead-code-review/node_modules/ansi-styles/license +0 -9
  76. package/generator/dead-code-review/node_modules/ansi-styles/package.json +0 -56
  77. package/generator/dead-code-review/node_modules/ansi-styles/readme.md +0 -152
  78. package/generator/dead-code-review/node_modules/anymatch/LICENSE +0 -15
  79. package/generator/dead-code-review/node_modules/anymatch/README.md +0 -87
  80. package/generator/dead-code-review/node_modules/anymatch/index.d.ts +0 -20
  81. package/generator/dead-code-review/node_modules/anymatch/index.js +0 -104
  82. package/generator/dead-code-review/node_modules/anymatch/package.json +0 -48
  83. package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  84. package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +0 -21
  85. package/generator/dead-code-review/node_modules/balanced-match/README.md +0 -97
  86. package/generator/dead-code-review/node_modules/balanced-match/index.js +0 -62
  87. package/generator/dead-code-review/node_modules/balanced-match/package.json +0 -48
  88. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +0 -260
  89. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
  90. package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +0 -14
  91. package/generator/dead-code-review/node_modules/binary-extensions/index.js +0 -1
  92. package/generator/dead-code-review/node_modules/binary-extensions/license +0 -9
  93. package/generator/dead-code-review/node_modules/binary-extensions/package.json +0 -38
  94. package/generator/dead-code-review/node_modules/binary-extensions/readme.md +0 -41
  95. package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  96. package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +0 -21
  97. package/generator/dead-code-review/node_modules/brace-expansion/README.md +0 -135
  98. package/generator/dead-code-review/node_modules/brace-expansion/index.js +0 -203
  99. package/generator/dead-code-review/node_modules/brace-expansion/package.json +0 -46
  100. package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +0 -184
  101. package/generator/dead-code-review/node_modules/braces/LICENSE +0 -21
  102. package/generator/dead-code-review/node_modules/braces/README.md +0 -593
  103. package/generator/dead-code-review/node_modules/braces/index.js +0 -170
  104. package/generator/dead-code-review/node_modules/braces/lib/compile.js +0 -57
  105. package/generator/dead-code-review/node_modules/braces/lib/constants.js +0 -57
  106. package/generator/dead-code-review/node_modules/braces/lib/expand.js +0 -113
  107. package/generator/dead-code-review/node_modules/braces/lib/parse.js +0 -333
  108. package/generator/dead-code-review/node_modules/braces/lib/stringify.js +0 -32
  109. package/generator/dead-code-review/node_modules/braces/lib/utils.js +0 -112
  110. package/generator/dead-code-review/node_modules/braces/package.json +0 -77
  111. package/generator/dead-code-review/node_modules/chalk/index.d.ts +0 -415
  112. package/generator/dead-code-review/node_modules/chalk/license +0 -9
  113. package/generator/dead-code-review/node_modules/chalk/package.json +0 -68
  114. package/generator/dead-code-review/node_modules/chalk/readme.md +0 -341
  115. package/generator/dead-code-review/node_modules/chalk/source/index.js +0 -229
  116. package/generator/dead-code-review/node_modules/chalk/source/templates.js +0 -134
  117. package/generator/dead-code-review/node_modules/chalk/source/util.js +0 -39
  118. package/generator/dead-code-review/node_modules/chokidar/LICENSE +0 -21
  119. package/generator/dead-code-review/node_modules/chokidar/README.md +0 -308
  120. package/generator/dead-code-review/node_modules/chokidar/index.js +0 -973
  121. package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +0 -65
  122. package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +0 -524
  123. package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +0 -654
  124. package/generator/dead-code-review/node_modules/chokidar/package.json +0 -85
  125. package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +0 -188
  126. package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +0 -54
  127. package/generator/dead-code-review/node_modules/color-convert/LICENSE +0 -21
  128. package/generator/dead-code-review/node_modules/color-convert/README.md +0 -68
  129. package/generator/dead-code-review/node_modules/color-convert/conversions.js +0 -839
  130. package/generator/dead-code-review/node_modules/color-convert/index.js +0 -81
  131. package/generator/dead-code-review/node_modules/color-convert/package.json +0 -48
  132. package/generator/dead-code-review/node_modules/color-convert/route.js +0 -97
  133. package/generator/dead-code-review/node_modules/color-name/LICENSE +0 -8
  134. package/generator/dead-code-review/node_modules/color-name/README.md +0 -11
  135. package/generator/dead-code-review/node_modules/color-name/index.js +0 -152
  136. package/generator/dead-code-review/node_modules/color-name/package.json +0 -28
  137. package/generator/dead-code-review/node_modules/commander/LICENSE +0 -22
  138. package/generator/dead-code-review/node_modules/commander/Readme.md +0 -1118
  139. package/generator/dead-code-review/node_modules/commander/esm.mjs +0 -16
  140. package/generator/dead-code-review/node_modules/commander/index.js +0 -27
  141. package/generator/dead-code-review/node_modules/commander/lib/argument.js +0 -147
  142. package/generator/dead-code-review/node_modules/commander/lib/command.js +0 -2160
  143. package/generator/dead-code-review/node_modules/commander/lib/error.js +0 -45
  144. package/generator/dead-code-review/node_modules/commander/lib/help.js +0 -406
  145. package/generator/dead-code-review/node_modules/commander/lib/option.js +0 -326
  146. package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +0 -100
  147. package/generator/dead-code-review/node_modules/commander/package-support.json +0 -16
  148. package/generator/dead-code-review/node_modules/commander/package.json +0 -80
  149. package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +0 -881
  150. package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +0 -130
  151. package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +0 -21
  152. package/generator/dead-code-review/node_modules/cross-spawn/README.md +0 -96
  153. package/generator/dead-code-review/node_modules/cross-spawn/index.js +0 -39
  154. package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +0 -59
  155. package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +0 -91
  156. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +0 -45
  157. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  158. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  159. package/generator/dead-code-review/node_modules/cross-spawn/package.json +0 -73
  160. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +0 -373
  161. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +0 -64
  162. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +0 -22
  163. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +0 -419
  164. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
  165. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +0 -27
  166. package/generator/dead-code-review/node_modules/elm-test/LICENSE +0 -27
  167. package/generator/dead-code-review/node_modules/elm-test/README.md +0 -192
  168. package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +0 -3
  169. package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +0 -25
  170. package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +0 -217
  171. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +0 -30
  172. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +0 -39
  173. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +0 -212
  174. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +0 -207
  175. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +0 -48
  176. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +0 -161
  177. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +0 -158
  178. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +0 -53
  179. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +0 -113
  180. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +0 -38
  181. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +0 -230
  182. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +0 -326
  183. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +0 -440
  184. package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +0 -110
  185. package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +0 -343
  186. package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +0 -109
  187. package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +0 -47
  188. package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +0 -194
  189. package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +0 -276
  190. package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +0 -294
  191. package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +0 -290
  192. package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +0 -941
  193. package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +0 -117
  194. package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +0 -23
  195. package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +0 -322
  196. package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +0 -76
  197. package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +0 -294
  198. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +0 -45
  199. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +0 -36
  200. package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +0 -318
  201. package/generator/dead-code-review/node_modules/elm-test/package.json +0 -69
  202. package/generator/dead-code-review/node_modules/elm-test/templates/after.js +0 -29
  203. package/generator/dead-code-review/node_modules/elm-test/templates/before.js +0 -58
  204. package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +0 -10
  205. package/generator/dead-code-review/node_modules/fill-range/LICENSE +0 -21
  206. package/generator/dead-code-review/node_modules/fill-range/README.md +0 -237
  207. package/generator/dead-code-review/node_modules/fill-range/index.js +0 -249
  208. package/generator/dead-code-review/node_modules/fill-range/package.json +0 -69
  209. package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +0 -43
  210. package/generator/dead-code-review/node_modules/fs.realpath/README.md +0 -33
  211. package/generator/dead-code-review/node_modules/fs.realpath/index.js +0 -66
  212. package/generator/dead-code-review/node_modules/fs.realpath/old.js +0 -303
  213. package/generator/dead-code-review/node_modules/fs.realpath/package.json +0 -26
  214. package/generator/dead-code-review/node_modules/fsevents/LICENSE +0 -22
  215. package/generator/dead-code-review/node_modules/fsevents/README.md +0 -83
  216. package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +0 -46
  217. package/generator/dead-code-review/node_modules/fsevents/fsevents.js +0 -82
  218. package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
  219. package/generator/dead-code-review/node_modules/fsevents/package.json +0 -62
  220. package/generator/dead-code-review/node_modules/glob/LICENSE +0 -15
  221. package/generator/dead-code-review/node_modules/glob/README.md +0 -378
  222. package/generator/dead-code-review/node_modules/glob/common.js +0 -240
  223. package/generator/dead-code-review/node_modules/glob/glob.js +0 -790
  224. package/generator/dead-code-review/node_modules/glob/package.json +0 -55
  225. package/generator/dead-code-review/node_modules/glob/sync.js +0 -486
  226. package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +0 -110
  227. package/generator/dead-code-review/node_modules/glob-parent/LICENSE +0 -15
  228. package/generator/dead-code-review/node_modules/glob-parent/README.md +0 -137
  229. package/generator/dead-code-review/node_modules/glob-parent/index.js +0 -42
  230. package/generator/dead-code-review/node_modules/glob-parent/package.json +0 -48
  231. package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +0 -15
  232. package/generator/dead-code-review/node_modules/graceful-fs/README.md +0 -143
  233. package/generator/dead-code-review/node_modules/graceful-fs/clone.js +0 -23
  234. package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +0 -448
  235. package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +0 -118
  236. package/generator/dead-code-review/node_modules/graceful-fs/package.json +0 -50
  237. package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +0 -355
  238. package/generator/dead-code-review/node_modules/has-flag/index.d.ts +0 -39
  239. package/generator/dead-code-review/node_modules/has-flag/index.js +0 -8
  240. package/generator/dead-code-review/node_modules/has-flag/license +0 -9
  241. package/generator/dead-code-review/node_modules/has-flag/package.json +0 -46
  242. package/generator/dead-code-review/node_modules/has-flag/readme.md +0 -89
  243. package/generator/dead-code-review/node_modules/inflight/LICENSE +0 -15
  244. package/generator/dead-code-review/node_modules/inflight/README.md +0 -37
  245. package/generator/dead-code-review/node_modules/inflight/inflight.js +0 -54
  246. package/generator/dead-code-review/node_modules/inflight/package.json +0 -29
  247. package/generator/dead-code-review/node_modules/inherits/LICENSE +0 -16
  248. package/generator/dead-code-review/node_modules/inherits/README.md +0 -42
  249. package/generator/dead-code-review/node_modules/inherits/inherits.js +0 -9
  250. package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +0 -27
  251. package/generator/dead-code-review/node_modules/inherits/package.json +0 -29
  252. package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +0 -17
  253. package/generator/dead-code-review/node_modules/is-binary-path/index.js +0 -7
  254. package/generator/dead-code-review/node_modules/is-binary-path/license +0 -9
  255. package/generator/dead-code-review/node_modules/is-binary-path/package.json +0 -40
  256. package/generator/dead-code-review/node_modules/is-binary-path/readme.md +0 -34
  257. package/generator/dead-code-review/node_modules/is-extglob/LICENSE +0 -21
  258. package/generator/dead-code-review/node_modules/is-extglob/README.md +0 -107
  259. package/generator/dead-code-review/node_modules/is-extglob/index.js +0 -20
  260. package/generator/dead-code-review/node_modules/is-extglob/package.json +0 -69
  261. package/generator/dead-code-review/node_modules/is-glob/LICENSE +0 -21
  262. package/generator/dead-code-review/node_modules/is-glob/README.md +0 -206
  263. package/generator/dead-code-review/node_modules/is-glob/index.js +0 -150
  264. package/generator/dead-code-review/node_modules/is-glob/package.json +0 -81
  265. package/generator/dead-code-review/node_modules/is-number/LICENSE +0 -21
  266. package/generator/dead-code-review/node_modules/is-number/README.md +0 -187
  267. package/generator/dead-code-review/node_modules/is-number/index.js +0 -18
  268. package/generator/dead-code-review/node_modules/is-number/package.json +0 -82
  269. package/generator/dead-code-review/node_modules/isexe/LICENSE +0 -15
  270. package/generator/dead-code-review/node_modules/isexe/README.md +0 -51
  271. package/generator/dead-code-review/node_modules/isexe/index.js +0 -57
  272. package/generator/dead-code-review/node_modules/isexe/mode.js +0 -41
  273. package/generator/dead-code-review/node_modules/isexe/package.json +0 -31
  274. package/generator/dead-code-review/node_modules/isexe/test/basic.js +0 -221
  275. package/generator/dead-code-review/node_modules/isexe/windows.js +0 -42
  276. package/generator/dead-code-review/node_modules/minimatch/LICENSE +0 -15
  277. package/generator/dead-code-review/node_modules/minimatch/README.md +0 -259
  278. package/generator/dead-code-review/node_modules/minimatch/lib/path.js +0 -4
  279. package/generator/dead-code-review/node_modules/minimatch/minimatch.js +0 -906
  280. package/generator/dead-code-review/node_modules/minimatch/package.json +0 -32
  281. package/generator/dead-code-review/node_modules/normalize-path/LICENSE +0 -21
  282. package/generator/dead-code-review/node_modules/normalize-path/README.md +0 -127
  283. package/generator/dead-code-review/node_modules/normalize-path/index.js +0 -35
  284. package/generator/dead-code-review/node_modules/normalize-path/package.json +0 -77
  285. package/generator/dead-code-review/node_modules/once/LICENSE +0 -15
  286. package/generator/dead-code-review/node_modules/once/README.md +0 -79
  287. package/generator/dead-code-review/node_modules/once/once.js +0 -42
  288. package/generator/dead-code-review/node_modules/once/package.json +0 -33
  289. package/generator/dead-code-review/node_modules/path-key/index.d.ts +0 -40
  290. package/generator/dead-code-review/node_modules/path-key/index.js +0 -16
  291. package/generator/dead-code-review/node_modules/path-key/license +0 -9
  292. package/generator/dead-code-review/node_modules/path-key/package.json +0 -39
  293. package/generator/dead-code-review/node_modules/path-key/readme.md +0 -61
  294. package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +0 -136
  295. package/generator/dead-code-review/node_modules/picomatch/LICENSE +0 -21
  296. package/generator/dead-code-review/node_modules/picomatch/README.md +0 -708
  297. package/generator/dead-code-review/node_modules/picomatch/index.js +0 -3
  298. package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +0 -179
  299. package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +0 -1091
  300. package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +0 -342
  301. package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +0 -391
  302. package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +0 -64
  303. package/generator/dead-code-review/node_modules/picomatch/package.json +0 -81
  304. package/generator/dead-code-review/node_modules/readdirp/LICENSE +0 -21
  305. package/generator/dead-code-review/node_modules/readdirp/README.md +0 -122
  306. package/generator/dead-code-review/node_modules/readdirp/index.d.ts +0 -43
  307. package/generator/dead-code-review/node_modules/readdirp/index.js +0 -287
  308. package/generator/dead-code-review/node_modules/readdirp/package.json +0 -122
  309. package/generator/dead-code-review/node_modules/shebang-command/index.js +0 -19
  310. package/generator/dead-code-review/node_modules/shebang-command/license +0 -9
  311. package/generator/dead-code-review/node_modules/shebang-command/package.json +0 -34
  312. package/generator/dead-code-review/node_modules/shebang-command/readme.md +0 -34
  313. package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +0 -22
  314. package/generator/dead-code-review/node_modules/shebang-regex/index.js +0 -2
  315. package/generator/dead-code-review/node_modules/shebang-regex/license +0 -9
  316. package/generator/dead-code-review/node_modules/shebang-regex/package.json +0 -35
  317. package/generator/dead-code-review/node_modules/shebang-regex/readme.md +0 -33
  318. package/generator/dead-code-review/node_modules/split/.travis.yml +0 -3
  319. package/generator/dead-code-review/node_modules/split/LICENCE +0 -22
  320. package/generator/dead-code-review/node_modules/split/examples/pretty.js +0 -26
  321. package/generator/dead-code-review/node_modules/split/index.js +0 -63
  322. package/generator/dead-code-review/node_modules/split/package.json +0 -30
  323. package/generator/dead-code-review/node_modules/split/readme.markdown +0 -72
  324. package/generator/dead-code-review/node_modules/split/test/options.asynct.js +0 -46
  325. package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +0 -34
  326. package/generator/dead-code-review/node_modules/split/test/split.asynct.js +0 -137
  327. package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +0 -51
  328. package/generator/dead-code-review/node_modules/supports-color/browser.js +0 -5
  329. package/generator/dead-code-review/node_modules/supports-color/index.js +0 -135
  330. package/generator/dead-code-review/node_modules/supports-color/license +0 -9
  331. package/generator/dead-code-review/node_modules/supports-color/package.json +0 -53
  332. package/generator/dead-code-review/node_modules/supports-color/readme.md +0 -76
  333. package/generator/dead-code-review/node_modules/through/.travis.yml +0 -5
  334. package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +0 -15
  335. package/generator/dead-code-review/node_modules/through/LICENSE.MIT +0 -24
  336. package/generator/dead-code-review/node_modules/through/index.js +0 -108
  337. package/generator/dead-code-review/node_modules/through/package.json +0 -36
  338. package/generator/dead-code-review/node_modules/through/readme.markdown +0 -64
  339. package/generator/dead-code-review/node_modules/through/test/async.js +0 -28
  340. package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +0 -30
  341. package/generator/dead-code-review/node_modules/through/test/buffering.js +0 -71
  342. package/generator/dead-code-review/node_modules/through/test/end.js +0 -45
  343. package/generator/dead-code-review/node_modules/through/test/index.js +0 -133
  344. package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +0 -21
  345. package/generator/dead-code-review/node_modules/to-regex-range/README.md +0 -305
  346. package/generator/dead-code-review/node_modules/to-regex-range/index.js +0 -288
  347. package/generator/dead-code-review/node_modules/to-regex-range/package.json +0 -88
  348. package/generator/dead-code-review/node_modules/which/CHANGELOG.md +0 -166
  349. package/generator/dead-code-review/node_modules/which/LICENSE +0 -15
  350. package/generator/dead-code-review/node_modules/which/README.md +0 -54
  351. package/generator/dead-code-review/node_modules/which/bin/node-which +0 -52
  352. package/generator/dead-code-review/node_modules/which/package.json +0 -43
  353. package/generator/dead-code-review/node_modules/which/which.js +0 -125
  354. package/generator/dead-code-review/node_modules/wrappy/LICENSE +0 -15
  355. package/generator/dead-code-review/node_modules/wrappy/README.md +0 -36
  356. package/generator/dead-code-review/node_modules/wrappy/package.json +0 -29
  357. package/generator/dead-code-review/node_modules/wrappy/wrappy.js +0 -33
  358. package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +0 -6
  359. package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +0 -23
  360. package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +0 -593
  361. package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +0 -21
  362. package/generator/dead-code-review/node_modules/xmlbuilder/README.md +0 -103
  363. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +0 -10
  364. package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +0 -12
  365. package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +0 -25
  366. package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +0 -11
  367. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +0 -88
  368. package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +0 -10
  369. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +0 -130
  370. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +0 -41
  371. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +0 -86
  372. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +0 -41
  373. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +0 -80
  374. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +0 -20
  375. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +0 -55
  376. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +0 -44
  377. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +0 -66
  378. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +0 -44
  379. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +0 -115
  380. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +0 -66
  381. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +0 -51
  382. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +0 -235
  383. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +0 -282
  384. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +0 -650
  385. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +0 -21
  386. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +0 -39
  387. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +0 -334
  388. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +0 -77
  389. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +0 -999
  390. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +0 -51
  391. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +0 -45
  392. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +0 -56
  393. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +0 -40
  394. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +0 -209
  395. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +0 -40
  396. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +0 -291
  397. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +0 -82
  398. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +0 -23
  399. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +0 -27
  400. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +0 -485
  401. package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +0 -120
  402. package/generator/dead-code-review/node_modules/xmlbuilder/package.json +0 -51
  403. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +0 -244
  404. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +0 -21
  405. package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +0 -161
  406. package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +0 -11
  407. package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +0 -1771
  408. package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
  409. package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
  410. package/generator/review/elm-stuff/0.19.1/o.dat +0 -0
  411. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/d.dat +0 -0
  412. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/i.dat +0 -0
  413. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm-stuff/0.19.1/o.dat +0 -0
  414. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +0 -25
  415. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/d.dat +0 -0
  416. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/i.dat +0 -0
  417. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm-stuff/0.19.1/o.dat +0 -0
  418. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +0 -41
  419. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  420. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  421. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  422. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  423. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmi +0 -0
  424. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmo +0 -0
  425. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  426. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  427. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  428. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  429. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  430. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  431. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  432. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  433. package/generator/review/elm-stuff/tests-0.19.1/elm.json +0 -1
  434. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -8000
  435. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -29601
  436. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  437. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  438. package/generator/review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  439. package/generator/review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  440. package/generator/review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
@@ -1,906 +0,0 @@
1
- const minimatch = module.exports = (p, pattern, options = {}) => {
2
- assertValidPattern(pattern)
3
-
4
- // shortcut: comments match nothing.
5
- if (!options.nocomment && pattern.charAt(0) === '#') {
6
- return false
7
- }
8
-
9
- return new Minimatch(pattern, options).match(p)
10
- }
11
-
12
- module.exports = minimatch
13
-
14
- const path = require('./lib/path.js')
15
- minimatch.sep = path.sep
16
-
17
- const GLOBSTAR = Symbol('globstar **')
18
- minimatch.GLOBSTAR = GLOBSTAR
19
- const expand = require('brace-expansion')
20
-
21
- const plTypes = {
22
- '!': { open: '(?:(?!(?:', close: '))[^/]*?)'},
23
- '?': { open: '(?:', close: ')?' },
24
- '+': { open: '(?:', close: ')+' },
25
- '*': { open: '(?:', close: ')*' },
26
- '@': { open: '(?:', close: ')' }
27
- }
28
-
29
- // any single thing other than /
30
- // don't need to escape / when using new RegExp()
31
- const qmark = '[^/]'
32
-
33
- // * => any number of characters
34
- const star = qmark + '*?'
35
-
36
- // ** when dots are allowed. Anything goes, except .. and .
37
- // not (^ or / followed by one or two dots followed by $ or /),
38
- // followed by anything, any number of times.
39
- const twoStarDot = '(?:(?!(?:\\\/|^)(?:\\.{1,2})($|\\\/)).)*?'
40
-
41
- // not a ^ or / followed by a dot,
42
- // followed by anything, any number of times.
43
- const twoStarNoDot = '(?:(?!(?:\\\/|^)\\.).)*?'
44
-
45
- // "abc" -> { a:true, b:true, c:true }
46
- const charSet = s => s.split('').reduce((set, c) => {
47
- set[c] = true
48
- return set
49
- }, {})
50
-
51
- // characters that need to be escaped in RegExp.
52
- const reSpecials = charSet('().*{}+?[]^$\\!')
53
-
54
- // characters that indicate we have to add the pattern start
55
- const addPatternStartSet = charSet('[.(')
56
-
57
- // normalizes slashes.
58
- const slashSplit = /\/+/
59
-
60
- minimatch.filter = (pattern, options = {}) =>
61
- (p, i, list) => minimatch(p, pattern, options)
62
-
63
- const ext = (a, b = {}) => {
64
- const t = {}
65
- Object.keys(a).forEach(k => t[k] = a[k])
66
- Object.keys(b).forEach(k => t[k] = b[k])
67
- return t
68
- }
69
-
70
- minimatch.defaults = def => {
71
- if (!def || typeof def !== 'object' || !Object.keys(def).length) {
72
- return minimatch
73
- }
74
-
75
- const orig = minimatch
76
-
77
- const m = (p, pattern, options) => orig(p, pattern, ext(def, options))
78
- m.Minimatch = class Minimatch extends orig.Minimatch {
79
- constructor (pattern, options) {
80
- super(pattern, ext(def, options))
81
- }
82
- }
83
- m.Minimatch.defaults = options => orig.defaults(ext(def, options)).Minimatch
84
- m.filter = (pattern, options) => orig.filter(pattern, ext(def, options))
85
- m.defaults = options => orig.defaults(ext(def, options))
86
- m.makeRe = (pattern, options) => orig.makeRe(pattern, ext(def, options))
87
- m.braceExpand = (pattern, options) => orig.braceExpand(pattern, ext(def, options))
88
- m.match = (list, pattern, options) => orig.match(list, pattern, ext(def, options))
89
-
90
- return m
91
- }
92
-
93
-
94
-
95
-
96
-
97
- // Brace expansion:
98
- // a{b,c}d -> abd acd
99
- // a{b,}c -> abc ac
100
- // a{0..3}d -> a0d a1d a2d a3d
101
- // a{b,c{d,e}f}g -> abg acdfg acefg
102
- // a{b,c}d{e,f}g -> abdeg acdeg abdeg abdfg
103
- //
104
- // Invalid sets are not expanded.
105
- // a{2..}b -> a{2..}b
106
- // a{b}c -> a{b}c
107
- minimatch.braceExpand = (pattern, options) => braceExpand(pattern, options)
108
-
109
- const braceExpand = (pattern, options = {}) => {
110
- assertValidPattern(pattern)
111
-
112
- // Thanks to Yeting Li <https://github.com/yetingli> for
113
- // improving this regexp to avoid a ReDOS vulnerability.
114
- if (options.nobrace || !/\{(?:(?!\{).)*\}/.test(pattern)) {
115
- // shortcut. no need to expand.
116
- return [pattern]
117
- }
118
-
119
- return expand(pattern)
120
- }
121
-
122
- const MAX_PATTERN_LENGTH = 1024 * 64
123
- const assertValidPattern = pattern => {
124
- if (typeof pattern !== 'string') {
125
- throw new TypeError('invalid pattern')
126
- }
127
-
128
- if (pattern.length > MAX_PATTERN_LENGTH) {
129
- throw new TypeError('pattern is too long')
130
- }
131
- }
132
-
133
- // parse a component of the expanded set.
134
- // At this point, no pattern may contain "/" in it
135
- // so we're going to return a 2d array, where each entry is the full
136
- // pattern, split on '/', and then turned into a regular expression.
137
- // A regexp is made at the end which joins each array with an
138
- // escaped /, and another full one which joins each regexp with |.
139
- //
140
- // Following the lead of Bash 4.1, note that "**" only has special meaning
141
- // when it is the *only* thing in a path portion. Otherwise, any series
142
- // of * is equivalent to a single *. Globstar behavior is enabled by
143
- // default, and can be disabled by setting options.noglobstar.
144
- const SUBPARSE = Symbol('subparse')
145
-
146
- minimatch.makeRe = (pattern, options) =>
147
- new Minimatch(pattern, options || {}).makeRe()
148
-
149
- minimatch.match = (list, pattern, options = {}) => {
150
- const mm = new Minimatch(pattern, options)
151
- list = list.filter(f => mm.match(f))
152
- if (mm.options.nonull && !list.length) {
153
- list.push(pattern)
154
- }
155
- return list
156
- }
157
-
158
- // replace stuff like \* with *
159
- const globUnescape = s => s.replace(/\\(.)/g, '$1')
160
- const regExpEscape = s => s.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&')
161
-
162
- class Minimatch {
163
- constructor (pattern, options) {
164
- assertValidPattern(pattern)
165
-
166
- if (!options) options = {}
167
-
168
- this.options = options
169
- this.set = []
170
- this.pattern = pattern
171
- this.windowsPathsNoEscape = !!options.windowsPathsNoEscape ||
172
- options.allowWindowsEscape === false
173
- if (this.windowsPathsNoEscape) {
174
- this.pattern = this.pattern.replace(/\\/g, '/')
175
- }
176
- this.regexp = null
177
- this.negate = false
178
- this.comment = false
179
- this.empty = false
180
- this.partial = !!options.partial
181
-
182
- // make the set of regexps etc.
183
- this.make()
184
- }
185
-
186
- debug () {}
187
-
188
- make () {
189
- const pattern = this.pattern
190
- const options = this.options
191
-
192
- // empty patterns and comments match nothing.
193
- if (!options.nocomment && pattern.charAt(0) === '#') {
194
- this.comment = true
195
- return
196
- }
197
- if (!pattern) {
198
- this.empty = true
199
- return
200
- }
201
-
202
- // step 1: figure out negation, etc.
203
- this.parseNegate()
204
-
205
- // step 2: expand braces
206
- let set = this.globSet = this.braceExpand()
207
-
208
- if (options.debug) this.debug = (...args) => console.error(...args)
209
-
210
- this.debug(this.pattern, set)
211
-
212
- // step 3: now we have a set, so turn each one into a series of path-portion
213
- // matching patterns.
214
- // These will be regexps, except in the case of "**", which is
215
- // set to the GLOBSTAR object for globstar behavior,
216
- // and will not contain any / characters
217
- set = this.globParts = set.map(s => s.split(slashSplit))
218
-
219
- this.debug(this.pattern, set)
220
-
221
- // glob --> regexps
222
- set = set.map((s, si, set) => s.map(this.parse, this))
223
-
224
- this.debug(this.pattern, set)
225
-
226
- // filter out everything that didn't compile properly.
227
- set = set.filter(s => s.indexOf(false) === -1)
228
-
229
- this.debug(this.pattern, set)
230
-
231
- this.set = set
232
- }
233
-
234
- parseNegate () {
235
- if (this.options.nonegate) return
236
-
237
- const pattern = this.pattern
238
- let negate = false
239
- let negateOffset = 0
240
-
241
- for (let i = 0; i < pattern.length && pattern.charAt(i) === '!'; i++) {
242
- negate = !negate
243
- negateOffset++
244
- }
245
-
246
- if (negateOffset) this.pattern = pattern.slice(negateOffset)
247
- this.negate = negate
248
- }
249
-
250
- // set partial to true to test if, for example,
251
- // "/a/b" matches the start of "/*/b/*/d"
252
- // Partial means, if you run out of file before you run
253
- // out of pattern, then that's fine, as long as all
254
- // the parts match.
255
- matchOne (file, pattern, partial) {
256
- var options = this.options
257
-
258
- this.debug('matchOne',
259
- { 'this': this, file: file, pattern: pattern })
260
-
261
- this.debug('matchOne', file.length, pattern.length)
262
-
263
- for (var fi = 0,
264
- pi = 0,
265
- fl = file.length,
266
- pl = pattern.length
267
- ; (fi < fl) && (pi < pl)
268
- ; fi++, pi++) {
269
- this.debug('matchOne loop')
270
- var p = pattern[pi]
271
- var f = file[fi]
272
-
273
- this.debug(pattern, p, f)
274
-
275
- // should be impossible.
276
- // some invalid regexp stuff in the set.
277
- /* istanbul ignore if */
278
- if (p === false) return false
279
-
280
- if (p === GLOBSTAR) {
281
- this.debug('GLOBSTAR', [pattern, p, f])
282
-
283
- // "**"
284
- // a/**/b/**/c would match the following:
285
- // a/b/x/y/z/c
286
- // a/x/y/z/b/c
287
- // a/b/x/b/x/c
288
- // a/b/c
289
- // To do this, take the rest of the pattern after
290
- // the **, and see if it would match the file remainder.
291
- // If so, return success.
292
- // If not, the ** "swallows" a segment, and try again.
293
- // This is recursively awful.
294
- //
295
- // a/**/b/**/c matching a/b/x/y/z/c
296
- // - a matches a
297
- // - doublestar
298
- // - matchOne(b/x/y/z/c, b/**/c)
299
- // - b matches b
300
- // - doublestar
301
- // - matchOne(x/y/z/c, c) -> no
302
- // - matchOne(y/z/c, c) -> no
303
- // - matchOne(z/c, c) -> no
304
- // - matchOne(c, c) yes, hit
305
- var fr = fi
306
- var pr = pi + 1
307
- if (pr === pl) {
308
- this.debug('** at the end')
309
- // a ** at the end will just swallow the rest.
310
- // We have found a match.
311
- // however, it will not swallow /.x, unless
312
- // options.dot is set.
313
- // . and .. are *never* matched by **, for explosively
314
- // exponential reasons.
315
- for (; fi < fl; fi++) {
316
- if (file[fi] === '.' || file[fi] === '..' ||
317
- (!options.dot && file[fi].charAt(0) === '.')) return false
318
- }
319
- return true
320
- }
321
-
322
- // ok, let's see if we can swallow whatever we can.
323
- while (fr < fl) {
324
- var swallowee = file[fr]
325
-
326
- this.debug('\nglobstar while', file, fr, pattern, pr, swallowee)
327
-
328
- // XXX remove this slice. Just pass the start index.
329
- if (this.matchOne(file.slice(fr), pattern.slice(pr), partial)) {
330
- this.debug('globstar found match!', fr, fl, swallowee)
331
- // found a match.
332
- return true
333
- } else {
334
- // can't swallow "." or ".." ever.
335
- // can only swallow ".foo" when explicitly asked.
336
- if (swallowee === '.' || swallowee === '..' ||
337
- (!options.dot && swallowee.charAt(0) === '.')) {
338
- this.debug('dot detected!', file, fr, pattern, pr)
339
- break
340
- }
341
-
342
- // ** swallows a segment, and continue.
343
- this.debug('globstar swallow a segment, and continue')
344
- fr++
345
- }
346
- }
347
-
348
- // no match was found.
349
- // However, in partial mode, we can't say this is necessarily over.
350
- // If there's more *pattern* left, then
351
- /* istanbul ignore if */
352
- if (partial) {
353
- // ran out of file
354
- this.debug('\n>>> no match, partial?', file, fr, pattern, pr)
355
- if (fr === fl) return true
356
- }
357
- return false
358
- }
359
-
360
- // something other than **
361
- // non-magic patterns just have to match exactly
362
- // patterns with magic have been turned into regexps.
363
- var hit
364
- if (typeof p === 'string') {
365
- hit = f === p
366
- this.debug('string match', p, f, hit)
367
- } else {
368
- hit = f.match(p)
369
- this.debug('pattern match', p, f, hit)
370
- }
371
-
372
- if (!hit) return false
373
- }
374
-
375
- // Note: ending in / means that we'll get a final ""
376
- // at the end of the pattern. This can only match a
377
- // corresponding "" at the end of the file.
378
- // If the file ends in /, then it can only match a
379
- // a pattern that ends in /, unless the pattern just
380
- // doesn't have any more for it. But, a/b/ should *not*
381
- // match "a/b/*", even though "" matches against the
382
- // [^/]*? pattern, except in partial mode, where it might
383
- // simply not be reached yet.
384
- // However, a/b/ should still satisfy a/*
385
-
386
- // now either we fell off the end of the pattern, or we're done.
387
- if (fi === fl && pi === pl) {
388
- // ran out of pattern and filename at the same time.
389
- // an exact hit!
390
- return true
391
- } else if (fi === fl) {
392
- // ran out of file, but still had pattern left.
393
- // this is ok if we're doing the match as part of
394
- // a glob fs traversal.
395
- return partial
396
- } else /* istanbul ignore else */ if (pi === pl) {
397
- // ran out of pattern, still have file left.
398
- // this is only acceptable if we're on the very last
399
- // empty segment of a file with a trailing slash.
400
- // a/* should match a/b/
401
- return (fi === fl - 1) && (file[fi] === '')
402
- }
403
-
404
- // should be unreachable.
405
- /* istanbul ignore next */
406
- throw new Error('wtf?')
407
- }
408
-
409
- braceExpand () {
410
- return braceExpand(this.pattern, this.options)
411
- }
412
-
413
- parse (pattern, isSub) {
414
- assertValidPattern(pattern)
415
-
416
- const options = this.options
417
-
418
- // shortcuts
419
- if (pattern === '**') {
420
- if (!options.noglobstar)
421
- return GLOBSTAR
422
- else
423
- pattern = '*'
424
- }
425
- if (pattern === '') return ''
426
-
427
- let re = ''
428
- let hasMagic = !!options.nocase
429
- let escaping = false
430
- // ? => one single character
431
- const patternListStack = []
432
- const negativeLists = []
433
- let stateChar
434
- let inClass = false
435
- let reClassStart = -1
436
- let classStart = -1
437
- let cs
438
- let pl
439
- let sp
440
- // . and .. never match anything that doesn't start with .,
441
- // even when options.dot is set.
442
- const patternStart = pattern.charAt(0) === '.' ? '' // anything
443
- // not (start or / followed by . or .. followed by / or end)
444
- : options.dot ? '(?!(?:^|\\\/)\\.{1,2}(?:$|\\\/))'
445
- : '(?!\\.)'
446
-
447
- const clearStateChar = () => {
448
- if (stateChar) {
449
- // we had some state-tracking character
450
- // that wasn't consumed by this pass.
451
- switch (stateChar) {
452
- case '*':
453
- re += star
454
- hasMagic = true
455
- break
456
- case '?':
457
- re += qmark
458
- hasMagic = true
459
- break
460
- default:
461
- re += '\\' + stateChar
462
- break
463
- }
464
- this.debug('clearStateChar %j %j', stateChar, re)
465
- stateChar = false
466
- }
467
- }
468
-
469
- for (let i = 0, c; (i < pattern.length) && (c = pattern.charAt(i)); i++) {
470
- this.debug('%s\t%s %s %j', pattern, i, re, c)
471
-
472
- // skip over any that are escaped.
473
- if (escaping) {
474
- /* istanbul ignore next - completely not allowed, even escaped. */
475
- if (c === '/') {
476
- return false
477
- }
478
-
479
- if (reSpecials[c]) {
480
- re += '\\'
481
- }
482
- re += c
483
- escaping = false
484
- continue
485
- }
486
-
487
- switch (c) {
488
- /* istanbul ignore next */
489
- case '/': {
490
- // Should already be path-split by now.
491
- return false
492
- }
493
-
494
- case '\\':
495
- clearStateChar()
496
- escaping = true
497
- continue
498
-
499
- // the various stateChar values
500
- // for the "extglob" stuff.
501
- case '?':
502
- case '*':
503
- case '+':
504
- case '@':
505
- case '!':
506
- this.debug('%s\t%s %s %j <-- stateChar', pattern, i, re, c)
507
-
508
- // all of those are literals inside a class, except that
509
- // the glob [!a] means [^a] in regexp
510
- if (inClass) {
511
- this.debug(' in class')
512
- if (c === '!' && i === classStart + 1) c = '^'
513
- re += c
514
- continue
515
- }
516
-
517
- // if we already have a stateChar, then it means
518
- // that there was something like ** or +? in there.
519
- // Handle the stateChar, then proceed with this one.
520
- this.debug('call clearStateChar %j', stateChar)
521
- clearStateChar()
522
- stateChar = c
523
- // if extglob is disabled, then +(asdf|foo) isn't a thing.
524
- // just clear the statechar *now*, rather than even diving into
525
- // the patternList stuff.
526
- if (options.noext) clearStateChar()
527
- continue
528
-
529
- case '(':
530
- if (inClass) {
531
- re += '('
532
- continue
533
- }
534
-
535
- if (!stateChar) {
536
- re += '\\('
537
- continue
538
- }
539
-
540
- patternListStack.push({
541
- type: stateChar,
542
- start: i - 1,
543
- reStart: re.length,
544
- open: plTypes[stateChar].open,
545
- close: plTypes[stateChar].close
546
- })
547
- // negation is (?:(?!js)[^/]*)
548
- re += stateChar === '!' ? '(?:(?!(?:' : '(?:'
549
- this.debug('plType %j %j', stateChar, re)
550
- stateChar = false
551
- continue
552
-
553
- case ')':
554
- if (inClass || !patternListStack.length) {
555
- re += '\\)'
556
- continue
557
- }
558
-
559
- clearStateChar()
560
- hasMagic = true
561
- pl = patternListStack.pop()
562
- // negation is (?:(?!js)[^/]*)
563
- // The others are (?:<pattern>)<type>
564
- re += pl.close
565
- if (pl.type === '!') {
566
- negativeLists.push(pl)
567
- }
568
- pl.reEnd = re.length
569
- continue
570
-
571
- case '|':
572
- if (inClass || !patternListStack.length) {
573
- re += '\\|'
574
- continue
575
- }
576
-
577
- clearStateChar()
578
- re += '|'
579
- continue
580
-
581
- // these are mostly the same in regexp and glob
582
- case '[':
583
- // swallow any state-tracking char before the [
584
- clearStateChar()
585
-
586
- if (inClass) {
587
- re += '\\' + c
588
- continue
589
- }
590
-
591
- inClass = true
592
- classStart = i
593
- reClassStart = re.length
594
- re += c
595
- continue
596
-
597
- case ']':
598
- // a right bracket shall lose its special
599
- // meaning and represent itself in
600
- // a bracket expression if it occurs
601
- // first in the list. -- POSIX.2 2.8.3.2
602
- if (i === classStart + 1 || !inClass) {
603
- re += '\\' + c
604
- continue
605
- }
606
-
607
- // handle the case where we left a class open.
608
- // "[z-a]" is valid, equivalent to "\[z-a\]"
609
- // split where the last [ was, make sure we don't have
610
- // an invalid re. if so, re-walk the contents of the
611
- // would-be class to re-translate any characters that
612
- // were passed through as-is
613
- // TODO: It would probably be faster to determine this
614
- // without a try/catch and a new RegExp, but it's tricky
615
- // to do safely. For now, this is safe and works.
616
- cs = pattern.substring(classStart + 1, i)
617
- try {
618
- RegExp('[' + cs + ']')
619
- } catch (er) {
620
- // not a valid class!
621
- sp = this.parse(cs, SUBPARSE)
622
- re = re.substring(0, reClassStart) + '\\[' + sp[0] + '\\]'
623
- hasMagic = hasMagic || sp[1]
624
- inClass = false
625
- continue
626
- }
627
-
628
- // finish up the class.
629
- hasMagic = true
630
- inClass = false
631
- re += c
632
- continue
633
-
634
- default:
635
- // swallow any state char that wasn't consumed
636
- clearStateChar()
637
-
638
- if (reSpecials[c] && !(c === '^' && inClass)) {
639
- re += '\\'
640
- }
641
-
642
- re += c
643
- break
644
-
645
- } // switch
646
- } // for
647
-
648
- // handle the case where we left a class open.
649
- // "[abc" is valid, equivalent to "\[abc"
650
- if (inClass) {
651
- // split where the last [ was, and escape it
652
- // this is a huge pita. We now have to re-walk
653
- // the contents of the would-be class to re-translate
654
- // any characters that were passed through as-is
655
- cs = pattern.slice(classStart + 1)
656
- sp = this.parse(cs, SUBPARSE)
657
- re = re.substring(0, reClassStart) + '\\[' + sp[0]
658
- hasMagic = hasMagic || sp[1]
659
- }
660
-
661
- // handle the case where we had a +( thing at the *end*
662
- // of the pattern.
663
- // each pattern list stack adds 3 chars, and we need to go through
664
- // and escape any | chars that were passed through as-is for the regexp.
665
- // Go through and escape them, taking care not to double-escape any
666
- // | chars that were already escaped.
667
- for (pl = patternListStack.pop(); pl; pl = patternListStack.pop()) {
668
- let tail
669
- tail = re.slice(pl.reStart + pl.open.length)
670
- this.debug('setting tail', re, pl)
671
- // maybe some even number of \, then maybe 1 \, followed by a |
672
- tail = tail.replace(/((?:\\{2}){0,64})(\\?)\|/g, (_, $1, $2) => {
673
- /* istanbul ignore else - should already be done */
674
- if (!$2) {
675
- // the | isn't already escaped, so escape it.
676
- $2 = '\\'
677
- }
678
-
679
- // need to escape all those slashes *again*, without escaping the
680
- // one that we need for escaping the | character. As it works out,
681
- // escaping an even number of slashes can be done by simply repeating
682
- // it exactly after itself. That's why this trick works.
683
- //
684
- // I am sorry that you have to see this.
685
- return $1 + $1 + $2 + '|'
686
- })
687
-
688
- this.debug('tail=%j\n %s', tail, tail, pl, re)
689
- const t = pl.type === '*' ? star
690
- : pl.type === '?' ? qmark
691
- : '\\' + pl.type
692
-
693
- hasMagic = true
694
- re = re.slice(0, pl.reStart) + t + '\\(' + tail
695
- }
696
-
697
- // handle trailing things that only matter at the very end.
698
- clearStateChar()
699
- if (escaping) {
700
- // trailing \\
701
- re += '\\\\'
702
- }
703
-
704
- // only need to apply the nodot start if the re starts with
705
- // something that could conceivably capture a dot
706
- const addPatternStart = addPatternStartSet[re.charAt(0)]
707
-
708
- // Hack to work around lack of negative lookbehind in JS
709
- // A pattern like: *.!(x).!(y|z) needs to ensure that a name
710
- // like 'a.xyz.yz' doesn't match. So, the first negative
711
- // lookahead, has to look ALL the way ahead, to the end of
712
- // the pattern.
713
- for (let n = negativeLists.length - 1; n > -1; n--) {
714
- const nl = negativeLists[n]
715
-
716
- const nlBefore = re.slice(0, nl.reStart)
717
- const nlFirst = re.slice(nl.reStart, nl.reEnd - 8)
718
- let nlAfter = re.slice(nl.reEnd)
719
- const nlLast = re.slice(nl.reEnd - 8, nl.reEnd) + nlAfter
720
-
721
- // Handle nested stuff like *(*.js|!(*.json)), where open parens
722
- // mean that we should *not* include the ) in the bit that is considered
723
- // "after" the negated section.
724
- const openParensBefore = nlBefore.split('(').length - 1
725
- let cleanAfter = nlAfter
726
- for (let i = 0; i < openParensBefore; i++) {
727
- cleanAfter = cleanAfter.replace(/\)[+*?]?/, '')
728
- }
729
- nlAfter = cleanAfter
730
-
731
- const dollar = nlAfter === '' && isSub !== SUBPARSE ? '$' : ''
732
- re = nlBefore + nlFirst + nlAfter + dollar + nlLast
733
- }
734
-
735
- // if the re is not "" at this point, then we need to make sure
736
- // it doesn't match against an empty path part.
737
- // Otherwise a/* will match a/, which it should not.
738
- if (re !== '' && hasMagic) {
739
- re = '(?=.)' + re
740
- }
741
-
742
- if (addPatternStart) {
743
- re = patternStart + re
744
- }
745
-
746
- // parsing just a piece of a larger pattern.
747
- if (isSub === SUBPARSE) {
748
- return [re, hasMagic]
749
- }
750
-
751
- // skip the regexp for non-magical patterns
752
- // unescape anything in it, though, so that it'll be
753
- // an exact match against a file etc.
754
- if (!hasMagic) {
755
- return globUnescape(pattern)
756
- }
757
-
758
- const flags = options.nocase ? 'i' : ''
759
- try {
760
- return Object.assign(new RegExp('^' + re + '$', flags), {
761
- _glob: pattern,
762
- _src: re,
763
- })
764
- } catch (er) /* istanbul ignore next - should be impossible */ {
765
- // If it was an invalid regular expression, then it can't match
766
- // anything. This trick looks for a character after the end of
767
- // the string, which is of course impossible, except in multi-line
768
- // mode, but it's not a /m regex.
769
- return new RegExp('$.')
770
- }
771
- }
772
-
773
- makeRe () {
774
- if (this.regexp || this.regexp === false) return this.regexp
775
-
776
- // at this point, this.set is a 2d array of partial
777
- // pattern strings, or "**".
778
- //
779
- // It's better to use .match(). This function shouldn't
780
- // be used, really, but it's pretty convenient sometimes,
781
- // when you just want to work with a regex.
782
- const set = this.set
783
-
784
- if (!set.length) {
785
- this.regexp = false
786
- return this.regexp
787
- }
788
- const options = this.options
789
-
790
- const twoStar = options.noglobstar ? star
791
- : options.dot ? twoStarDot
792
- : twoStarNoDot
793
- const flags = options.nocase ? 'i' : ''
794
-
795
- // coalesce globstars and regexpify non-globstar patterns
796
- // if it's the only item, then we just do one twoStar
797
- // if it's the first, and there are more, prepend (\/|twoStar\/)? to next
798
- // if it's the last, append (\/twoStar|) to previous
799
- // if it's in the middle, append (\/|\/twoStar\/) to previous
800
- // then filter out GLOBSTAR symbols
801
- let re = set.map(pattern => {
802
- pattern = pattern.map(p =>
803
- typeof p === 'string' ? regExpEscape(p)
804
- : p === GLOBSTAR ? GLOBSTAR
805
- : p._src
806
- ).reduce((set, p) => {
807
- if (!(set[set.length - 1] === GLOBSTAR && p === GLOBSTAR)) {
808
- set.push(p)
809
- }
810
- return set
811
- }, [])
812
- pattern.forEach((p, i) => {
813
- if (p !== GLOBSTAR || pattern[i-1] === GLOBSTAR) {
814
- return
815
- }
816
- if (i === 0) {
817
- if (pattern.length > 1) {
818
- pattern[i+1] = '(?:\\\/|' + twoStar + '\\\/)?' + pattern[i+1]
819
- } else {
820
- pattern[i] = twoStar
821
- }
822
- } else if (i === pattern.length - 1) {
823
- pattern[i-1] += '(?:\\\/|' + twoStar + ')?'
824
- } else {
825
- pattern[i-1] += '(?:\\\/|\\\/' + twoStar + '\\\/)' + pattern[i+1]
826
- pattern[i+1] = GLOBSTAR
827
- }
828
- })
829
- return pattern.filter(p => p !== GLOBSTAR).join('/')
830
- }).join('|')
831
-
832
- // must match entire pattern
833
- // ending in a * or ** will make it less strict.
834
- re = '^(?:' + re + ')$'
835
-
836
- // can match anything, as long as it's not this.
837
- if (this.negate) re = '^(?!' + re + ').*$'
838
-
839
- try {
840
- this.regexp = new RegExp(re, flags)
841
- } catch (ex) /* istanbul ignore next - should be impossible */ {
842
- this.regexp = false
843
- }
844
- return this.regexp
845
- }
846
-
847
- match (f, partial = this.partial) {
848
- this.debug('match', f, this.pattern)
849
- // short-circuit in the case of busted things.
850
- // comments, etc.
851
- if (this.comment) return false
852
- if (this.empty) return f === ''
853
-
854
- if (f === '/' && partial) return true
855
-
856
- const options = this.options
857
-
858
- // windows: need to use /, not \
859
- if (path.sep !== '/') {
860
- f = f.split(path.sep).join('/')
861
- }
862
-
863
- // treat the test path as a set of pathparts.
864
- f = f.split(slashSplit)
865
- this.debug(this.pattern, 'split', f)
866
-
867
- // just ONE of the pattern sets in this.set needs to match
868
- // in order for it to be valid. If negating, then just one
869
- // match means that we have failed.
870
- // Either way, return on the first hit.
871
-
872
- const set = this.set
873
- this.debug(this.pattern, 'set', set)
874
-
875
- // Find the basename of the path by looking for the last non-empty segment
876
- let filename
877
- for (let i = f.length - 1; i >= 0; i--) {
878
- filename = f[i]
879
- if (filename) break
880
- }
881
-
882
- for (let i = 0; i < set.length; i++) {
883
- const pattern = set[i]
884
- let file = f
885
- if (options.matchBase && pattern.length === 1) {
886
- file = [filename]
887
- }
888
- const hit = this.matchOne(file, pattern, partial)
889
- if (hit) {
890
- if (options.flipNegate) return true
891
- return !this.negate
892
- }
893
- }
894
-
895
- // didn't get any hits. this is success if it's a negative
896
- // pattern, failure otherwise.
897
- if (options.flipNegate) return false
898
- return this.negate
899
- }
900
-
901
- static defaults (def) {
902
- return minimatch.defaults(def).Minimatch
903
- }
904
- }
905
-
906
- minimatch.Minimatch = Minimatch