elm-pages 3.0.0-beta.23 → 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 (441) hide show
  1. package/README.md +1 -1
  2. package/generator/src/compatibility-key.js +2 -2
  3. package/generator/src/dev-server.js +5 -0
  4. package/package.json +8 -8
  5. package/src/BackendTask/Custom.elm +115 -108
  6. package/src/Form/FieldView.elm +96 -10
  7. package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
  8. package/src/Pages/Internal/Platform.elm +1 -1
  9. package/src/Scaffold/Form.elm +38 -28
  10. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +0 -1
  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.elmi +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/Console-Text.elmo +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.elmi +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-DeadCodeEliminateData.elmo +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.elmi +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/Pages-Review-DeadCodeEliminateDataTest.elmo +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.elmi +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-Generated-Main.elmo +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.elmi +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-Color.elmo +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.elmi +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-Monochrome.elmo +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.elmi +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-Format.elmo +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.elmi +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-Console.elmo +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.elmi +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-Highlightable.elmo +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.elmi +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-JUnit.elmo +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.elmi +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-Json.elmo +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.elmi +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-Reporter.elmo +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.elmi +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-Reporter-TestResults.elmo +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.elmi +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-JsMessage.elmo +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.elmi +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-Console.elmo +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.elmi +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-Vendor-Diff.elmo +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.elmi +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/Test-Runner-Node.elmo +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/d.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/i.dat +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/lock +0 -0
  48. 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
  49. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +0 -38
  50. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +0 -29673
  51. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +0 -1
  52. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +0 -27
  53. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  54. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  55. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmi +0 -0
  56. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  57. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  58. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  59. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  60. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  61. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  62. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  63. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  64. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  65. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +0 -1
  66. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -8000
  67. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -27789
  68. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  69. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  70. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  71. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  72. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
  73. package/generator/dead-code-review/node_modules/.package-lock.json +0 -484
  74. package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +0 -345
  75. package/generator/dead-code-review/node_modules/ansi-styles/index.js +0 -163
  76. package/generator/dead-code-review/node_modules/ansi-styles/license +0 -9
  77. package/generator/dead-code-review/node_modules/ansi-styles/package.json +0 -56
  78. package/generator/dead-code-review/node_modules/ansi-styles/readme.md +0 -152
  79. package/generator/dead-code-review/node_modules/anymatch/LICENSE +0 -15
  80. package/generator/dead-code-review/node_modules/anymatch/README.md +0 -87
  81. package/generator/dead-code-review/node_modules/anymatch/index.d.ts +0 -20
  82. package/generator/dead-code-review/node_modules/anymatch/index.js +0 -104
  83. package/generator/dead-code-review/node_modules/anymatch/package.json +0 -48
  84. package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  85. package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +0 -21
  86. package/generator/dead-code-review/node_modules/balanced-match/README.md +0 -97
  87. package/generator/dead-code-review/node_modules/balanced-match/index.js +0 -62
  88. package/generator/dead-code-review/node_modules/balanced-match/package.json +0 -48
  89. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +0 -260
  90. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
  91. package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +0 -14
  92. package/generator/dead-code-review/node_modules/binary-extensions/index.js +0 -1
  93. package/generator/dead-code-review/node_modules/binary-extensions/license +0 -9
  94. package/generator/dead-code-review/node_modules/binary-extensions/package.json +0 -38
  95. package/generator/dead-code-review/node_modules/binary-extensions/readme.md +0 -41
  96. package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  97. package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +0 -21
  98. package/generator/dead-code-review/node_modules/brace-expansion/README.md +0 -135
  99. package/generator/dead-code-review/node_modules/brace-expansion/index.js +0 -203
  100. package/generator/dead-code-review/node_modules/brace-expansion/package.json +0 -46
  101. package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +0 -184
  102. package/generator/dead-code-review/node_modules/braces/LICENSE +0 -21
  103. package/generator/dead-code-review/node_modules/braces/README.md +0 -593
  104. package/generator/dead-code-review/node_modules/braces/index.js +0 -170
  105. package/generator/dead-code-review/node_modules/braces/lib/compile.js +0 -57
  106. package/generator/dead-code-review/node_modules/braces/lib/constants.js +0 -57
  107. package/generator/dead-code-review/node_modules/braces/lib/expand.js +0 -113
  108. package/generator/dead-code-review/node_modules/braces/lib/parse.js +0 -333
  109. package/generator/dead-code-review/node_modules/braces/lib/stringify.js +0 -32
  110. package/generator/dead-code-review/node_modules/braces/lib/utils.js +0 -112
  111. package/generator/dead-code-review/node_modules/braces/package.json +0 -77
  112. package/generator/dead-code-review/node_modules/chalk/index.d.ts +0 -415
  113. package/generator/dead-code-review/node_modules/chalk/license +0 -9
  114. package/generator/dead-code-review/node_modules/chalk/package.json +0 -68
  115. package/generator/dead-code-review/node_modules/chalk/readme.md +0 -341
  116. package/generator/dead-code-review/node_modules/chalk/source/index.js +0 -229
  117. package/generator/dead-code-review/node_modules/chalk/source/templates.js +0 -134
  118. package/generator/dead-code-review/node_modules/chalk/source/util.js +0 -39
  119. package/generator/dead-code-review/node_modules/chokidar/LICENSE +0 -21
  120. package/generator/dead-code-review/node_modules/chokidar/README.md +0 -308
  121. package/generator/dead-code-review/node_modules/chokidar/index.js +0 -973
  122. package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +0 -65
  123. package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +0 -524
  124. package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +0 -654
  125. package/generator/dead-code-review/node_modules/chokidar/package.json +0 -85
  126. package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +0 -188
  127. package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +0 -54
  128. package/generator/dead-code-review/node_modules/color-convert/LICENSE +0 -21
  129. package/generator/dead-code-review/node_modules/color-convert/README.md +0 -68
  130. package/generator/dead-code-review/node_modules/color-convert/conversions.js +0 -839
  131. package/generator/dead-code-review/node_modules/color-convert/index.js +0 -81
  132. package/generator/dead-code-review/node_modules/color-convert/package.json +0 -48
  133. package/generator/dead-code-review/node_modules/color-convert/route.js +0 -97
  134. package/generator/dead-code-review/node_modules/color-name/LICENSE +0 -8
  135. package/generator/dead-code-review/node_modules/color-name/README.md +0 -11
  136. package/generator/dead-code-review/node_modules/color-name/index.js +0 -152
  137. package/generator/dead-code-review/node_modules/color-name/package.json +0 -28
  138. package/generator/dead-code-review/node_modules/commander/LICENSE +0 -22
  139. package/generator/dead-code-review/node_modules/commander/Readme.md +0 -1118
  140. package/generator/dead-code-review/node_modules/commander/esm.mjs +0 -16
  141. package/generator/dead-code-review/node_modules/commander/index.js +0 -27
  142. package/generator/dead-code-review/node_modules/commander/lib/argument.js +0 -147
  143. package/generator/dead-code-review/node_modules/commander/lib/command.js +0 -2160
  144. package/generator/dead-code-review/node_modules/commander/lib/error.js +0 -45
  145. package/generator/dead-code-review/node_modules/commander/lib/help.js +0 -406
  146. package/generator/dead-code-review/node_modules/commander/lib/option.js +0 -326
  147. package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +0 -100
  148. package/generator/dead-code-review/node_modules/commander/package-support.json +0 -16
  149. package/generator/dead-code-review/node_modules/commander/package.json +0 -80
  150. package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +0 -881
  151. package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +0 -130
  152. package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +0 -21
  153. package/generator/dead-code-review/node_modules/cross-spawn/README.md +0 -96
  154. package/generator/dead-code-review/node_modules/cross-spawn/index.js +0 -39
  155. package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +0 -59
  156. package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +0 -91
  157. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +0 -45
  158. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  159. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  160. package/generator/dead-code-review/node_modules/cross-spawn/package.json +0 -73
  161. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +0 -373
  162. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +0 -64
  163. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +0 -22
  164. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +0 -419
  165. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
  166. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +0 -27
  167. package/generator/dead-code-review/node_modules/elm-test/LICENSE +0 -27
  168. package/generator/dead-code-review/node_modules/elm-test/README.md +0 -192
  169. package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +0 -3
  170. package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +0 -25
  171. package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +0 -217
  172. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +0 -30
  173. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +0 -39
  174. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +0 -212
  175. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +0 -207
  176. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +0 -48
  177. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +0 -161
  178. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +0 -158
  179. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +0 -53
  180. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +0 -113
  181. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +0 -38
  182. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +0 -230
  183. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +0 -326
  184. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +0 -440
  185. package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +0 -110
  186. package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +0 -343
  187. package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +0 -109
  188. package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +0 -47
  189. package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +0 -194
  190. package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +0 -276
  191. package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +0 -294
  192. package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +0 -290
  193. package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +0 -941
  194. package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +0 -117
  195. package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +0 -23
  196. package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +0 -322
  197. package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +0 -76
  198. package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +0 -294
  199. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +0 -45
  200. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +0 -36
  201. package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +0 -318
  202. package/generator/dead-code-review/node_modules/elm-test/package.json +0 -69
  203. package/generator/dead-code-review/node_modules/elm-test/templates/after.js +0 -29
  204. package/generator/dead-code-review/node_modules/elm-test/templates/before.js +0 -58
  205. package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +0 -10
  206. package/generator/dead-code-review/node_modules/fill-range/LICENSE +0 -21
  207. package/generator/dead-code-review/node_modules/fill-range/README.md +0 -237
  208. package/generator/dead-code-review/node_modules/fill-range/index.js +0 -249
  209. package/generator/dead-code-review/node_modules/fill-range/package.json +0 -69
  210. package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +0 -43
  211. package/generator/dead-code-review/node_modules/fs.realpath/README.md +0 -33
  212. package/generator/dead-code-review/node_modules/fs.realpath/index.js +0 -66
  213. package/generator/dead-code-review/node_modules/fs.realpath/old.js +0 -303
  214. package/generator/dead-code-review/node_modules/fs.realpath/package.json +0 -26
  215. package/generator/dead-code-review/node_modules/fsevents/LICENSE +0 -22
  216. package/generator/dead-code-review/node_modules/fsevents/README.md +0 -83
  217. package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +0 -46
  218. package/generator/dead-code-review/node_modules/fsevents/fsevents.js +0 -82
  219. package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
  220. package/generator/dead-code-review/node_modules/fsevents/package.json +0 -62
  221. package/generator/dead-code-review/node_modules/glob/LICENSE +0 -15
  222. package/generator/dead-code-review/node_modules/glob/README.md +0 -378
  223. package/generator/dead-code-review/node_modules/glob/common.js +0 -240
  224. package/generator/dead-code-review/node_modules/glob/glob.js +0 -790
  225. package/generator/dead-code-review/node_modules/glob/package.json +0 -55
  226. package/generator/dead-code-review/node_modules/glob/sync.js +0 -486
  227. package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +0 -110
  228. package/generator/dead-code-review/node_modules/glob-parent/LICENSE +0 -15
  229. package/generator/dead-code-review/node_modules/glob-parent/README.md +0 -137
  230. package/generator/dead-code-review/node_modules/glob-parent/index.js +0 -42
  231. package/generator/dead-code-review/node_modules/glob-parent/package.json +0 -48
  232. package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +0 -15
  233. package/generator/dead-code-review/node_modules/graceful-fs/README.md +0 -143
  234. package/generator/dead-code-review/node_modules/graceful-fs/clone.js +0 -23
  235. package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +0 -448
  236. package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +0 -118
  237. package/generator/dead-code-review/node_modules/graceful-fs/package.json +0 -50
  238. package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +0 -355
  239. package/generator/dead-code-review/node_modules/has-flag/index.d.ts +0 -39
  240. package/generator/dead-code-review/node_modules/has-flag/index.js +0 -8
  241. package/generator/dead-code-review/node_modules/has-flag/license +0 -9
  242. package/generator/dead-code-review/node_modules/has-flag/package.json +0 -46
  243. package/generator/dead-code-review/node_modules/has-flag/readme.md +0 -89
  244. package/generator/dead-code-review/node_modules/inflight/LICENSE +0 -15
  245. package/generator/dead-code-review/node_modules/inflight/README.md +0 -37
  246. package/generator/dead-code-review/node_modules/inflight/inflight.js +0 -54
  247. package/generator/dead-code-review/node_modules/inflight/package.json +0 -29
  248. package/generator/dead-code-review/node_modules/inherits/LICENSE +0 -16
  249. package/generator/dead-code-review/node_modules/inherits/README.md +0 -42
  250. package/generator/dead-code-review/node_modules/inherits/inherits.js +0 -9
  251. package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +0 -27
  252. package/generator/dead-code-review/node_modules/inherits/package.json +0 -29
  253. package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +0 -17
  254. package/generator/dead-code-review/node_modules/is-binary-path/index.js +0 -7
  255. package/generator/dead-code-review/node_modules/is-binary-path/license +0 -9
  256. package/generator/dead-code-review/node_modules/is-binary-path/package.json +0 -40
  257. package/generator/dead-code-review/node_modules/is-binary-path/readme.md +0 -34
  258. package/generator/dead-code-review/node_modules/is-extglob/LICENSE +0 -21
  259. package/generator/dead-code-review/node_modules/is-extglob/README.md +0 -107
  260. package/generator/dead-code-review/node_modules/is-extglob/index.js +0 -20
  261. package/generator/dead-code-review/node_modules/is-extglob/package.json +0 -69
  262. package/generator/dead-code-review/node_modules/is-glob/LICENSE +0 -21
  263. package/generator/dead-code-review/node_modules/is-glob/README.md +0 -206
  264. package/generator/dead-code-review/node_modules/is-glob/index.js +0 -150
  265. package/generator/dead-code-review/node_modules/is-glob/package.json +0 -81
  266. package/generator/dead-code-review/node_modules/is-number/LICENSE +0 -21
  267. package/generator/dead-code-review/node_modules/is-number/README.md +0 -187
  268. package/generator/dead-code-review/node_modules/is-number/index.js +0 -18
  269. package/generator/dead-code-review/node_modules/is-number/package.json +0 -82
  270. package/generator/dead-code-review/node_modules/isexe/LICENSE +0 -15
  271. package/generator/dead-code-review/node_modules/isexe/README.md +0 -51
  272. package/generator/dead-code-review/node_modules/isexe/index.js +0 -57
  273. package/generator/dead-code-review/node_modules/isexe/mode.js +0 -41
  274. package/generator/dead-code-review/node_modules/isexe/package.json +0 -31
  275. package/generator/dead-code-review/node_modules/isexe/test/basic.js +0 -221
  276. package/generator/dead-code-review/node_modules/isexe/windows.js +0 -42
  277. package/generator/dead-code-review/node_modules/minimatch/LICENSE +0 -15
  278. package/generator/dead-code-review/node_modules/minimatch/README.md +0 -259
  279. package/generator/dead-code-review/node_modules/minimatch/lib/path.js +0 -4
  280. package/generator/dead-code-review/node_modules/minimatch/minimatch.js +0 -906
  281. package/generator/dead-code-review/node_modules/minimatch/package.json +0 -32
  282. package/generator/dead-code-review/node_modules/normalize-path/LICENSE +0 -21
  283. package/generator/dead-code-review/node_modules/normalize-path/README.md +0 -127
  284. package/generator/dead-code-review/node_modules/normalize-path/index.js +0 -35
  285. package/generator/dead-code-review/node_modules/normalize-path/package.json +0 -77
  286. package/generator/dead-code-review/node_modules/once/LICENSE +0 -15
  287. package/generator/dead-code-review/node_modules/once/README.md +0 -79
  288. package/generator/dead-code-review/node_modules/once/once.js +0 -42
  289. package/generator/dead-code-review/node_modules/once/package.json +0 -33
  290. package/generator/dead-code-review/node_modules/path-key/index.d.ts +0 -40
  291. package/generator/dead-code-review/node_modules/path-key/index.js +0 -16
  292. package/generator/dead-code-review/node_modules/path-key/license +0 -9
  293. package/generator/dead-code-review/node_modules/path-key/package.json +0 -39
  294. package/generator/dead-code-review/node_modules/path-key/readme.md +0 -61
  295. package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +0 -136
  296. package/generator/dead-code-review/node_modules/picomatch/LICENSE +0 -21
  297. package/generator/dead-code-review/node_modules/picomatch/README.md +0 -708
  298. package/generator/dead-code-review/node_modules/picomatch/index.js +0 -3
  299. package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +0 -179
  300. package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +0 -1091
  301. package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +0 -342
  302. package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +0 -391
  303. package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +0 -64
  304. package/generator/dead-code-review/node_modules/picomatch/package.json +0 -81
  305. package/generator/dead-code-review/node_modules/readdirp/LICENSE +0 -21
  306. package/generator/dead-code-review/node_modules/readdirp/README.md +0 -122
  307. package/generator/dead-code-review/node_modules/readdirp/index.d.ts +0 -43
  308. package/generator/dead-code-review/node_modules/readdirp/index.js +0 -287
  309. package/generator/dead-code-review/node_modules/readdirp/package.json +0 -122
  310. package/generator/dead-code-review/node_modules/shebang-command/index.js +0 -19
  311. package/generator/dead-code-review/node_modules/shebang-command/license +0 -9
  312. package/generator/dead-code-review/node_modules/shebang-command/package.json +0 -34
  313. package/generator/dead-code-review/node_modules/shebang-command/readme.md +0 -34
  314. package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +0 -22
  315. package/generator/dead-code-review/node_modules/shebang-regex/index.js +0 -2
  316. package/generator/dead-code-review/node_modules/shebang-regex/license +0 -9
  317. package/generator/dead-code-review/node_modules/shebang-regex/package.json +0 -35
  318. package/generator/dead-code-review/node_modules/shebang-regex/readme.md +0 -33
  319. package/generator/dead-code-review/node_modules/split/.travis.yml +0 -3
  320. package/generator/dead-code-review/node_modules/split/LICENCE +0 -22
  321. package/generator/dead-code-review/node_modules/split/examples/pretty.js +0 -26
  322. package/generator/dead-code-review/node_modules/split/index.js +0 -63
  323. package/generator/dead-code-review/node_modules/split/package.json +0 -30
  324. package/generator/dead-code-review/node_modules/split/readme.markdown +0 -72
  325. package/generator/dead-code-review/node_modules/split/test/options.asynct.js +0 -46
  326. package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +0 -34
  327. package/generator/dead-code-review/node_modules/split/test/split.asynct.js +0 -137
  328. package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +0 -51
  329. package/generator/dead-code-review/node_modules/supports-color/browser.js +0 -5
  330. package/generator/dead-code-review/node_modules/supports-color/index.js +0 -135
  331. package/generator/dead-code-review/node_modules/supports-color/license +0 -9
  332. package/generator/dead-code-review/node_modules/supports-color/package.json +0 -53
  333. package/generator/dead-code-review/node_modules/supports-color/readme.md +0 -76
  334. package/generator/dead-code-review/node_modules/through/.travis.yml +0 -5
  335. package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +0 -15
  336. package/generator/dead-code-review/node_modules/through/LICENSE.MIT +0 -24
  337. package/generator/dead-code-review/node_modules/through/index.js +0 -108
  338. package/generator/dead-code-review/node_modules/through/package.json +0 -36
  339. package/generator/dead-code-review/node_modules/through/readme.markdown +0 -64
  340. package/generator/dead-code-review/node_modules/through/test/async.js +0 -28
  341. package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +0 -30
  342. package/generator/dead-code-review/node_modules/through/test/buffering.js +0 -71
  343. package/generator/dead-code-review/node_modules/through/test/end.js +0 -45
  344. package/generator/dead-code-review/node_modules/through/test/index.js +0 -133
  345. package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +0 -21
  346. package/generator/dead-code-review/node_modules/to-regex-range/README.md +0 -305
  347. package/generator/dead-code-review/node_modules/to-regex-range/index.js +0 -288
  348. package/generator/dead-code-review/node_modules/to-regex-range/package.json +0 -88
  349. package/generator/dead-code-review/node_modules/which/CHANGELOG.md +0 -166
  350. package/generator/dead-code-review/node_modules/which/LICENSE +0 -15
  351. package/generator/dead-code-review/node_modules/which/README.md +0 -54
  352. package/generator/dead-code-review/node_modules/which/bin/node-which +0 -52
  353. package/generator/dead-code-review/node_modules/which/package.json +0 -43
  354. package/generator/dead-code-review/node_modules/which/which.js +0 -125
  355. package/generator/dead-code-review/node_modules/wrappy/LICENSE +0 -15
  356. package/generator/dead-code-review/node_modules/wrappy/README.md +0 -36
  357. package/generator/dead-code-review/node_modules/wrappy/package.json +0 -29
  358. package/generator/dead-code-review/node_modules/wrappy/wrappy.js +0 -33
  359. package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +0 -6
  360. package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +0 -23
  361. package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +0 -593
  362. package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +0 -21
  363. package/generator/dead-code-review/node_modules/xmlbuilder/README.md +0 -103
  364. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +0 -10
  365. package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +0 -12
  366. package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +0 -25
  367. package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +0 -11
  368. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +0 -88
  369. package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +0 -10
  370. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +0 -130
  371. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +0 -41
  372. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +0 -86
  373. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +0 -41
  374. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +0 -80
  375. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +0 -20
  376. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +0 -55
  377. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +0 -44
  378. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +0 -66
  379. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +0 -44
  380. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +0 -115
  381. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +0 -66
  382. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +0 -51
  383. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +0 -235
  384. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +0 -282
  385. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +0 -650
  386. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +0 -21
  387. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +0 -39
  388. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +0 -334
  389. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +0 -77
  390. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +0 -999
  391. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +0 -51
  392. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +0 -45
  393. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +0 -56
  394. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +0 -40
  395. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +0 -209
  396. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +0 -40
  397. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +0 -291
  398. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +0 -82
  399. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +0 -23
  400. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +0 -27
  401. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +0 -485
  402. package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +0 -120
  403. package/generator/dead-code-review/node_modules/xmlbuilder/package.json +0 -51
  404. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +0 -244
  405. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +0 -21
  406. package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +0 -161
  407. package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +0 -11
  408. package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +0 -1771
  409. package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
  410. package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
  411. package/generator/review/elm-stuff/0.19.1/o.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/d.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/i.dat +0 -0
  414. 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
  415. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +0 -25
  416. 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
  417. 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
  418. 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
  419. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +0 -41
  420. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  421. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  422. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  423. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  424. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmi +0 -0
  425. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmo +0 -0
  426. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  427. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  428. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  429. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  430. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  431. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  432. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  433. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  434. package/generator/review/elm-stuff/tests-0.19.1/elm.json +0 -1
  435. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -8000
  436. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -29601
  437. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  438. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  439. package/generator/review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  440. package/generator/review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  441. package/generator/review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
@@ -1,654 +0,0 @@
1
- 'use strict';
2
-
3
- const fs = require('fs');
4
- const sysPath = require('path');
5
- const { promisify } = require('util');
6
- const isBinaryPath = require('is-binary-path');
7
- const {
8
- isWindows,
9
- isLinux,
10
- EMPTY_FN,
11
- EMPTY_STR,
12
- KEY_LISTENERS,
13
- KEY_ERR,
14
- KEY_RAW,
15
- HANDLER_KEYS,
16
- EV_CHANGE,
17
- EV_ADD,
18
- EV_ADD_DIR,
19
- EV_ERROR,
20
- STR_DATA,
21
- STR_END,
22
- BRACE_START,
23
- STAR
24
- } = require('./constants');
25
-
26
- const THROTTLE_MODE_WATCH = 'watch';
27
-
28
- const open = promisify(fs.open);
29
- const stat = promisify(fs.stat);
30
- const lstat = promisify(fs.lstat);
31
- const close = promisify(fs.close);
32
- const fsrealpath = promisify(fs.realpath);
33
-
34
- const statMethods = { lstat, stat };
35
-
36
- // TODO: emit errors properly. Example: EMFILE on Macos.
37
- const foreach = (val, fn) => {
38
- if (val instanceof Set) {
39
- val.forEach(fn);
40
- } else {
41
- fn(val);
42
- }
43
- };
44
-
45
- const addAndConvert = (main, prop, item) => {
46
- let container = main[prop];
47
- if (!(container instanceof Set)) {
48
- main[prop] = container = new Set([container]);
49
- }
50
- container.add(item);
51
- };
52
-
53
- const clearItem = cont => key => {
54
- const set = cont[key];
55
- if (set instanceof Set) {
56
- set.clear();
57
- } else {
58
- delete cont[key];
59
- }
60
- };
61
-
62
- const delFromSet = (main, prop, item) => {
63
- const container = main[prop];
64
- if (container instanceof Set) {
65
- container.delete(item);
66
- } else if (container === item) {
67
- delete main[prop];
68
- }
69
- };
70
-
71
- const isEmptySet = (val) => val instanceof Set ? val.size === 0 : !val;
72
-
73
- /**
74
- * @typedef {String} Path
75
- */
76
-
77
- // fs_watch helpers
78
-
79
- // object to hold per-process fs_watch instances
80
- // (may be shared across chokidar FSWatcher instances)
81
-
82
- /**
83
- * @typedef {Object} FsWatchContainer
84
- * @property {Set} listeners
85
- * @property {Set} errHandlers
86
- * @property {Set} rawEmitters
87
- * @property {fs.FSWatcher=} watcher
88
- * @property {Boolean=} watcherUnusable
89
- */
90
-
91
- /**
92
- * @type {Map<String,FsWatchContainer>}
93
- */
94
- const FsWatchInstances = new Map();
95
-
96
- /**
97
- * Instantiates the fs_watch interface
98
- * @param {String} path to be watched
99
- * @param {Object} options to be passed to fs_watch
100
- * @param {Function} listener main event handler
101
- * @param {Function} errHandler emits info about errors
102
- * @param {Function} emitRaw emits raw event data
103
- * @returns {fs.FSWatcher} new fsevents instance
104
- */
105
- function createFsWatchInstance(path, options, listener, errHandler, emitRaw) {
106
- const handleEvent = (rawEvent, evPath) => {
107
- listener(path);
108
- emitRaw(rawEvent, evPath, {watchedPath: path});
109
-
110
- // emit based on events occurring for files from a directory's watcher in
111
- // case the file's watcher misses it (and rely on throttling to de-dupe)
112
- if (evPath && path !== evPath) {
113
- fsWatchBroadcast(
114
- sysPath.resolve(path, evPath), KEY_LISTENERS, sysPath.join(path, evPath)
115
- );
116
- }
117
- };
118
- try {
119
- return fs.watch(path, options, handleEvent);
120
- } catch (error) {
121
- errHandler(error);
122
- }
123
- }
124
-
125
- /**
126
- * Helper for passing fs_watch event data to a collection of listeners
127
- * @param {Path} fullPath absolute path bound to fs_watch instance
128
- * @param {String} type listener type
129
- * @param {*=} val1 arguments to be passed to listeners
130
- * @param {*=} val2
131
- * @param {*=} val3
132
- */
133
- const fsWatchBroadcast = (fullPath, type, val1, val2, val3) => {
134
- const cont = FsWatchInstances.get(fullPath);
135
- if (!cont) return;
136
- foreach(cont[type], (listener) => {
137
- listener(val1, val2, val3);
138
- });
139
- };
140
-
141
- /**
142
- * Instantiates the fs_watch interface or binds listeners
143
- * to an existing one covering the same file system entry
144
- * @param {String} path
145
- * @param {String} fullPath absolute path
146
- * @param {Object} options to be passed to fs_watch
147
- * @param {Object} handlers container for event listener functions
148
- */
149
- const setFsWatchListener = (path, fullPath, options, handlers) => {
150
- const {listener, errHandler, rawEmitter} = handlers;
151
- let cont = FsWatchInstances.get(fullPath);
152
-
153
- /** @type {fs.FSWatcher=} */
154
- let watcher;
155
- if (!options.persistent) {
156
- watcher = createFsWatchInstance(
157
- path, options, listener, errHandler, rawEmitter
158
- );
159
- return watcher.close.bind(watcher);
160
- }
161
- if (cont) {
162
- addAndConvert(cont, KEY_LISTENERS, listener);
163
- addAndConvert(cont, KEY_ERR, errHandler);
164
- addAndConvert(cont, KEY_RAW, rawEmitter);
165
- } else {
166
- watcher = createFsWatchInstance(
167
- path,
168
- options,
169
- fsWatchBroadcast.bind(null, fullPath, KEY_LISTENERS),
170
- errHandler, // no need to use broadcast here
171
- fsWatchBroadcast.bind(null, fullPath, KEY_RAW)
172
- );
173
- if (!watcher) return;
174
- watcher.on(EV_ERROR, async (error) => {
175
- const broadcastErr = fsWatchBroadcast.bind(null, fullPath, KEY_ERR);
176
- cont.watcherUnusable = true; // documented since Node 10.4.1
177
- // Workaround for https://github.com/joyent/node/issues/4337
178
- if (isWindows && error.code === 'EPERM') {
179
- try {
180
- const fd = await open(path, 'r');
181
- await close(fd);
182
- broadcastErr(error);
183
- } catch (err) {}
184
- } else {
185
- broadcastErr(error);
186
- }
187
- });
188
- cont = {
189
- listeners: listener,
190
- errHandlers: errHandler,
191
- rawEmitters: rawEmitter,
192
- watcher
193
- };
194
- FsWatchInstances.set(fullPath, cont);
195
- }
196
- // const index = cont.listeners.indexOf(listener);
197
-
198
- // removes this instance's listeners and closes the underlying fs_watch
199
- // instance if there are no more listeners left
200
- return () => {
201
- delFromSet(cont, KEY_LISTENERS, listener);
202
- delFromSet(cont, KEY_ERR, errHandler);
203
- delFromSet(cont, KEY_RAW, rawEmitter);
204
- if (isEmptySet(cont.listeners)) {
205
- // Check to protect against issue gh-730.
206
- // if (cont.watcherUnusable) {
207
- cont.watcher.close();
208
- // }
209
- FsWatchInstances.delete(fullPath);
210
- HANDLER_KEYS.forEach(clearItem(cont));
211
- cont.watcher = undefined;
212
- Object.freeze(cont);
213
- }
214
- };
215
- };
216
-
217
- // fs_watchFile helpers
218
-
219
- // object to hold per-process fs_watchFile instances
220
- // (may be shared across chokidar FSWatcher instances)
221
- const FsWatchFileInstances = new Map();
222
-
223
- /**
224
- * Instantiates the fs_watchFile interface or binds listeners
225
- * to an existing one covering the same file system entry
226
- * @param {String} path to be watched
227
- * @param {String} fullPath absolute path
228
- * @param {Object} options options to be passed to fs_watchFile
229
- * @param {Object} handlers container for event listener functions
230
- * @returns {Function} closer
231
- */
232
- const setFsWatchFileListener = (path, fullPath, options, handlers) => {
233
- const {listener, rawEmitter} = handlers;
234
- let cont = FsWatchFileInstances.get(fullPath);
235
-
236
- /* eslint-disable no-unused-vars, prefer-destructuring */
237
- let listeners = new Set();
238
- let rawEmitters = new Set();
239
-
240
- const copts = cont && cont.options;
241
- if (copts && (copts.persistent < options.persistent || copts.interval > options.interval)) {
242
- // "Upgrade" the watcher to persistence or a quicker interval.
243
- // This creates some unlikely edge case issues if the user mixes
244
- // settings in a very weird way, but solving for those cases
245
- // doesn't seem worthwhile for the added complexity.
246
- listeners = cont.listeners;
247
- rawEmitters = cont.rawEmitters;
248
- fs.unwatchFile(fullPath);
249
- cont = undefined;
250
- }
251
-
252
- /* eslint-enable no-unused-vars, prefer-destructuring */
253
-
254
- if (cont) {
255
- addAndConvert(cont, KEY_LISTENERS, listener);
256
- addAndConvert(cont, KEY_RAW, rawEmitter);
257
- } else {
258
- // TODO
259
- // listeners.add(listener);
260
- // rawEmitters.add(rawEmitter);
261
- cont = {
262
- listeners: listener,
263
- rawEmitters: rawEmitter,
264
- options,
265
- watcher: fs.watchFile(fullPath, options, (curr, prev) => {
266
- foreach(cont.rawEmitters, (rawEmitter) => {
267
- rawEmitter(EV_CHANGE, fullPath, {curr, prev});
268
- });
269
- const currmtime = curr.mtimeMs;
270
- if (curr.size !== prev.size || currmtime > prev.mtimeMs || currmtime === 0) {
271
- foreach(cont.listeners, (listener) => listener(path, curr));
272
- }
273
- })
274
- };
275
- FsWatchFileInstances.set(fullPath, cont);
276
- }
277
- // const index = cont.listeners.indexOf(listener);
278
-
279
- // Removes this instance's listeners and closes the underlying fs_watchFile
280
- // instance if there are no more listeners left.
281
- return () => {
282
- delFromSet(cont, KEY_LISTENERS, listener);
283
- delFromSet(cont, KEY_RAW, rawEmitter);
284
- if (isEmptySet(cont.listeners)) {
285
- FsWatchFileInstances.delete(fullPath);
286
- fs.unwatchFile(fullPath);
287
- cont.options = cont.watcher = undefined;
288
- Object.freeze(cont);
289
- }
290
- };
291
- };
292
-
293
- /**
294
- * @mixin
295
- */
296
- class NodeFsHandler {
297
-
298
- /**
299
- * @param {import("../index").FSWatcher} fsW
300
- */
301
- constructor(fsW) {
302
- this.fsw = fsW;
303
- this._boundHandleError = (error) => fsW._handleError(error);
304
- }
305
-
306
- /**
307
- * Watch file for changes with fs_watchFile or fs_watch.
308
- * @param {String} path to file or dir
309
- * @param {Function} listener on fs change
310
- * @returns {Function} closer for the watcher instance
311
- */
312
- _watchWithNodeFs(path, listener) {
313
- const opts = this.fsw.options;
314
- const directory = sysPath.dirname(path);
315
- const basename = sysPath.basename(path);
316
- const parent = this.fsw._getWatchedDir(directory);
317
- parent.add(basename);
318
- const absolutePath = sysPath.resolve(path);
319
- const options = {persistent: opts.persistent};
320
- if (!listener) listener = EMPTY_FN;
321
-
322
- let closer;
323
- if (opts.usePolling) {
324
- options.interval = opts.enableBinaryInterval && isBinaryPath(basename) ?
325
- opts.binaryInterval : opts.interval;
326
- closer = setFsWatchFileListener(path, absolutePath, options, {
327
- listener,
328
- rawEmitter: this.fsw._emitRaw
329
- });
330
- } else {
331
- closer = setFsWatchListener(path, absolutePath, options, {
332
- listener,
333
- errHandler: this._boundHandleError,
334
- rawEmitter: this.fsw._emitRaw
335
- });
336
- }
337
- return closer;
338
- }
339
-
340
- /**
341
- * Watch a file and emit add event if warranted.
342
- * @param {Path} file Path
343
- * @param {fs.Stats} stats result of fs_stat
344
- * @param {Boolean} initialAdd was the file added at watch instantiation?
345
- * @returns {Function} closer for the watcher instance
346
- */
347
- _handleFile(file, stats, initialAdd) {
348
- if (this.fsw.closed) {
349
- return;
350
- }
351
- const dirname = sysPath.dirname(file);
352
- const basename = sysPath.basename(file);
353
- const parent = this.fsw._getWatchedDir(dirname);
354
- // stats is always present
355
- let prevStats = stats;
356
-
357
- // if the file is already being watched, do nothing
358
- if (parent.has(basename)) return;
359
-
360
- const listener = async (path, newStats) => {
361
- if (!this.fsw._throttle(THROTTLE_MODE_WATCH, file, 5)) return;
362
- if (!newStats || newStats.mtimeMs === 0) {
363
- try {
364
- const newStats = await stat(file);
365
- if (this.fsw.closed) return;
366
- // Check that change event was not fired because of changed only accessTime.
367
- const at = newStats.atimeMs;
368
- const mt = newStats.mtimeMs;
369
- if (!at || at <= mt || mt !== prevStats.mtimeMs) {
370
- this.fsw._emit(EV_CHANGE, file, newStats);
371
- }
372
- if (isLinux && prevStats.ino !== newStats.ino) {
373
- this.fsw._closeFile(path)
374
- prevStats = newStats;
375
- this.fsw._addPathCloser(path, this._watchWithNodeFs(file, listener));
376
- } else {
377
- prevStats = newStats;
378
- }
379
- } catch (error) {
380
- // Fix issues where mtime is null but file is still present
381
- this.fsw._remove(dirname, basename);
382
- }
383
- // add is about to be emitted if file not already tracked in parent
384
- } else if (parent.has(basename)) {
385
- // Check that change event was not fired because of changed only accessTime.
386
- const at = newStats.atimeMs;
387
- const mt = newStats.mtimeMs;
388
- if (!at || at <= mt || mt !== prevStats.mtimeMs) {
389
- this.fsw._emit(EV_CHANGE, file, newStats);
390
- }
391
- prevStats = newStats;
392
- }
393
- }
394
- // kick off the watcher
395
- const closer = this._watchWithNodeFs(file, listener);
396
-
397
- // emit an add event if we're supposed to
398
- if (!(initialAdd && this.fsw.options.ignoreInitial) && this.fsw._isntIgnored(file)) {
399
- if (!this.fsw._throttle(EV_ADD, file, 0)) return;
400
- this.fsw._emit(EV_ADD, file, stats);
401
- }
402
-
403
- return closer;
404
- }
405
-
406
- /**
407
- * Handle symlinks encountered while reading a dir.
408
- * @param {Object} entry returned by readdirp
409
- * @param {String} directory path of dir being read
410
- * @param {String} path of this item
411
- * @param {String} item basename of this item
412
- * @returns {Promise<Boolean>} true if no more processing is needed for this entry.
413
- */
414
- async _handleSymlink(entry, directory, path, item) {
415
- if (this.fsw.closed) {
416
- return;
417
- }
418
- const full = entry.fullPath;
419
- const dir = this.fsw._getWatchedDir(directory);
420
-
421
- if (!this.fsw.options.followSymlinks) {
422
- // watch symlink directly (don't follow) and detect changes
423
- this.fsw._incrReadyCount();
424
-
425
- let linkPath;
426
- try {
427
- linkPath = await fsrealpath(path);
428
- } catch (e) {
429
- this.fsw._emitReady();
430
- return true;
431
- }
432
-
433
- if (this.fsw.closed) return;
434
- if (dir.has(item)) {
435
- if (this.fsw._symlinkPaths.get(full) !== linkPath) {
436
- this.fsw._symlinkPaths.set(full, linkPath);
437
- this.fsw._emit(EV_CHANGE, path, entry.stats);
438
- }
439
- } else {
440
- dir.add(item);
441
- this.fsw._symlinkPaths.set(full, linkPath);
442
- this.fsw._emit(EV_ADD, path, entry.stats);
443
- }
444
- this.fsw._emitReady();
445
- return true;
446
- }
447
-
448
- // don't follow the same symlink more than once
449
- if (this.fsw._symlinkPaths.has(full)) {
450
- return true;
451
- }
452
-
453
- this.fsw._symlinkPaths.set(full, true);
454
- }
455
-
456
- _handleRead(directory, initialAdd, wh, target, dir, depth, throttler) {
457
- // Normalize the directory name on Windows
458
- directory = sysPath.join(directory, EMPTY_STR);
459
-
460
- if (!wh.hasGlob) {
461
- throttler = this.fsw._throttle('readdir', directory, 1000);
462
- if (!throttler) return;
463
- }
464
-
465
- const previous = this.fsw._getWatchedDir(wh.path);
466
- const current = new Set();
467
-
468
- let stream = this.fsw._readdirp(directory, {
469
- fileFilter: entry => wh.filterPath(entry),
470
- directoryFilter: entry => wh.filterDir(entry),
471
- depth: 0
472
- }).on(STR_DATA, async (entry) => {
473
- if (this.fsw.closed) {
474
- stream = undefined;
475
- return;
476
- }
477
- const item = entry.path;
478
- let path = sysPath.join(directory, item);
479
- current.add(item);
480
-
481
- if (entry.stats.isSymbolicLink() && await this._handleSymlink(entry, directory, path, item)) {
482
- return;
483
- }
484
-
485
- if (this.fsw.closed) {
486
- stream = undefined;
487
- return;
488
- }
489
- // Files that present in current directory snapshot
490
- // but absent in previous are added to watch list and
491
- // emit `add` event.
492
- if (item === target || !target && !previous.has(item)) {
493
- this.fsw._incrReadyCount();
494
-
495
- // ensure relativeness of path is preserved in case of watcher reuse
496
- path = sysPath.join(dir, sysPath.relative(dir, path));
497
-
498
- this._addToNodeFs(path, initialAdd, wh, depth + 1);
499
- }
500
- }).on(EV_ERROR, this._boundHandleError);
501
-
502
- return new Promise(resolve =>
503
- stream.once(STR_END, () => {
504
- if (this.fsw.closed) {
505
- stream = undefined;
506
- return;
507
- }
508
- const wasThrottled = throttler ? throttler.clear() : false;
509
-
510
- resolve();
511
-
512
- // Files that absent in current directory snapshot
513
- // but present in previous emit `remove` event
514
- // and are removed from @watched[directory].
515
- previous.getChildren().filter((item) => {
516
- return item !== directory &&
517
- !current.has(item) &&
518
- // in case of intersecting globs;
519
- // a path may have been filtered out of this readdir, but
520
- // shouldn't be removed because it matches a different glob
521
- (!wh.hasGlob || wh.filterPath({
522
- fullPath: sysPath.resolve(directory, item)
523
- }));
524
- }).forEach((item) => {
525
- this.fsw._remove(directory, item);
526
- });
527
-
528
- stream = undefined;
529
-
530
- // one more time for any missed in case changes came in extremely quickly
531
- if (wasThrottled) this._handleRead(directory, false, wh, target, dir, depth, throttler);
532
- })
533
- );
534
- }
535
-
536
- /**
537
- * Read directory to add / remove files from `@watched` list and re-read it on change.
538
- * @param {String} dir fs path
539
- * @param {fs.Stats} stats
540
- * @param {Boolean} initialAdd
541
- * @param {Number} depth relative to user-supplied path
542
- * @param {String} target child path targeted for watch
543
- * @param {Object} wh Common watch helpers for this path
544
- * @param {String} realpath
545
- * @returns {Promise<Function>} closer for the watcher instance.
546
- */
547
- async _handleDir(dir, stats, initialAdd, depth, target, wh, realpath) {
548
- const parentDir = this.fsw._getWatchedDir(sysPath.dirname(dir));
549
- const tracked = parentDir.has(sysPath.basename(dir));
550
- if (!(initialAdd && this.fsw.options.ignoreInitial) && !target && !tracked) {
551
- if (!wh.hasGlob || wh.globFilter(dir)) this.fsw._emit(EV_ADD_DIR, dir, stats);
552
- }
553
-
554
- // ensure dir is tracked (harmless if redundant)
555
- parentDir.add(sysPath.basename(dir));
556
- this.fsw._getWatchedDir(dir);
557
- let throttler;
558
- let closer;
559
-
560
- const oDepth = this.fsw.options.depth;
561
- if ((oDepth == null || depth <= oDepth) && !this.fsw._symlinkPaths.has(realpath)) {
562
- if (!target) {
563
- await this._handleRead(dir, initialAdd, wh, target, dir, depth, throttler);
564
- if (this.fsw.closed) return;
565
- }
566
-
567
- closer = this._watchWithNodeFs(dir, (dirPath, stats) => {
568
- // if current directory is removed, do nothing
569
- if (stats && stats.mtimeMs === 0) return;
570
-
571
- this._handleRead(dirPath, false, wh, target, dir, depth, throttler);
572
- });
573
- }
574
- return closer;
575
- }
576
-
577
- /**
578
- * Handle added file, directory, or glob pattern.
579
- * Delegates call to _handleFile / _handleDir after checks.
580
- * @param {String} path to file or ir
581
- * @param {Boolean} initialAdd was the file added at watch instantiation?
582
- * @param {Object} priorWh depth relative to user-supplied path
583
- * @param {Number} depth Child path actually targeted for watch
584
- * @param {String=} target Child path actually targeted for watch
585
- * @returns {Promise}
586
- */
587
- async _addToNodeFs(path, initialAdd, priorWh, depth, target) {
588
- const ready = this.fsw._emitReady;
589
- if (this.fsw._isIgnored(path) || this.fsw.closed) {
590
- ready();
591
- return false;
592
- }
593
-
594
- const wh = this.fsw._getWatchHelpers(path, depth);
595
- if (!wh.hasGlob && priorWh) {
596
- wh.hasGlob = priorWh.hasGlob;
597
- wh.globFilter = priorWh.globFilter;
598
- wh.filterPath = entry => priorWh.filterPath(entry);
599
- wh.filterDir = entry => priorWh.filterDir(entry);
600
- }
601
-
602
- // evaluate what is at the path we're being asked to watch
603
- try {
604
- const stats = await statMethods[wh.statMethod](wh.watchPath);
605
- if (this.fsw.closed) return;
606
- if (this.fsw._isIgnored(wh.watchPath, stats)) {
607
- ready();
608
- return false;
609
- }
610
-
611
- const follow = this.fsw.options.followSymlinks && !path.includes(STAR) && !path.includes(BRACE_START);
612
- let closer;
613
- if (stats.isDirectory()) {
614
- const absPath = sysPath.resolve(path);
615
- const targetPath = follow ? await fsrealpath(path) : path;
616
- if (this.fsw.closed) return;
617
- closer = await this._handleDir(wh.watchPath, stats, initialAdd, depth, target, wh, targetPath);
618
- if (this.fsw.closed) return;
619
- // preserve this symlink's target path
620
- if (absPath !== targetPath && targetPath !== undefined) {
621
- this.fsw._symlinkPaths.set(absPath, targetPath);
622
- }
623
- } else if (stats.isSymbolicLink()) {
624
- const targetPath = follow ? await fsrealpath(path) : path;
625
- if (this.fsw.closed) return;
626
- const parent = sysPath.dirname(wh.watchPath);
627
- this.fsw._getWatchedDir(parent).add(wh.watchPath);
628
- this.fsw._emit(EV_ADD, wh.watchPath, stats);
629
- closer = await this._handleDir(parent, stats, initialAdd, depth, path, wh, targetPath);
630
- if (this.fsw.closed) return;
631
-
632
- // preserve this symlink's target path
633
- if (targetPath !== undefined) {
634
- this.fsw._symlinkPaths.set(sysPath.resolve(path), targetPath);
635
- }
636
- } else {
637
- closer = this._handleFile(wh.watchPath, stats, initialAdd);
638
- }
639
- ready();
640
-
641
- this.fsw._addPathCloser(path, closer);
642
- return false;
643
-
644
- } catch (error) {
645
- if (this.fsw._handleError(error)) {
646
- ready();
647
- return path;
648
- }
649
- }
650
- }
651
-
652
- }
653
-
654
- module.exports = NodeFsHandler;