elm-pages 3.0.0-beta.13 → 3.0.0-beta.14

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 (465) hide show
  1. package/README.md +1 -1
  2. package/codegen/elm-pages-codegen.js +1497 -1127
  3. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  4. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  5. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  6. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  7. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  8. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +1 -1
  9. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
  10. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +152 -40
  11. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  12. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  13. package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +58 -10
  14. package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +45 -29
  15. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  16. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  17. package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -1
  18. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
  19. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +46 -5
  20. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  21. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
  22. package/generator/src/RouteBuilder.elm +66 -52
  23. package/generator/src/SharedTemplate.elm +3 -2
  24. package/generator/src/SiteConfig.elm +3 -2
  25. package/generator/src/build.js +5 -5
  26. package/generator/src/cli.js +7 -6
  27. package/generator/src/compatibility-key.js +1 -1
  28. package/generator/src/dev-server.js +7 -7
  29. package/generator/src/render-test.js +109 -0
  30. package/generator/src/render.js +77 -51
  31. package/generator/src/request-cache.js +149 -158
  32. package/generator/template/app/Api.elm +2 -2
  33. package/generator/template/app/Route/Index.elm +3 -3
  34. package/generator/template/app/Shared.elm +3 -3
  35. package/generator/template/app/Site.elm +3 -3
  36. package/package.json +10 -10
  37. package/src/ApiRoute.elm +63 -57
  38. package/src/BackendTask/Env.elm +87 -0
  39. package/src/{DataSource → BackendTask}/File.elm +89 -43
  40. package/src/{DataSource → BackendTask}/Glob.elm +134 -125
  41. package/src/BackendTask/Http.elm +637 -0
  42. package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
  43. package/src/BackendTask/Internal/Request.elm +28 -0
  44. package/src/BackendTask/Port.elm +202 -0
  45. package/src/{DataSource.elm → BackendTask.elm} +223 -207
  46. package/src/Exception.elm +37 -0
  47. package/src/Form.elm +20 -20
  48. package/src/Head.elm +7 -7
  49. package/src/Internal/ApiRoute.elm +7 -5
  50. package/src/PageServerResponse.elm +6 -1
  51. package/src/Pages/Generate.elm +35 -63
  52. package/src/Pages/Internal/Platform/Cli.elm +422 -731
  53. package/src/Pages/Internal/Platform/Cli.elm.bak +22 -22
  54. package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
  55. package/src/Pages/Internal/Platform/Effect.elm +0 -1
  56. package/src/Pages/Internal/Platform/GeneratorApplication.elm +51 -111
  57. package/src/Pages/Internal/Platform/StaticResponses.elm +73 -287
  58. package/src/Pages/Internal/Platform/ToJsPayload.elm +4 -4
  59. package/src/Pages/Internal/Platform.elm +25 -31
  60. package/src/Pages/Internal/Script.elm +3 -2
  61. package/src/Pages/Internal/StaticHttpBody.elm +35 -1
  62. package/src/Pages/Manifest.elm +5 -4
  63. package/src/Pages/ProgramConfig.elm +8 -7
  64. package/src/Pages/Script.elm +28 -13
  65. package/src/Pages/SiteConfig.elm +3 -2
  66. package/src/Pages/StaticHttp/Request.elm +2 -2
  67. package/src/Pages/StaticHttpRequest.elm +39 -94
  68. package/src/RequestsAndPending.elm +8 -19
  69. package/src/Server/Request.elm +14 -14
  70. package/src/Server/Session.elm +34 -34
  71. package/src/Server/SetCookie.elm +1 -1
  72. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +0 -1
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. 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
  81. 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
  82. 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
  83. 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
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +0 -38
  112. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +0 -29603
  113. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +0 -1
  114. package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +0 -27
  115. package/generator/dead-code-review/node_modules/.package-lock.json +0 -484
  116. package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +0 -345
  117. package/generator/dead-code-review/node_modules/ansi-styles/index.js +0 -163
  118. package/generator/dead-code-review/node_modules/ansi-styles/license +0 -9
  119. package/generator/dead-code-review/node_modules/ansi-styles/package.json +0 -56
  120. package/generator/dead-code-review/node_modules/ansi-styles/readme.md +0 -152
  121. package/generator/dead-code-review/node_modules/anymatch/LICENSE +0 -15
  122. package/generator/dead-code-review/node_modules/anymatch/README.md +0 -87
  123. package/generator/dead-code-review/node_modules/anymatch/index.d.ts +0 -20
  124. package/generator/dead-code-review/node_modules/anymatch/index.js +0 -104
  125. package/generator/dead-code-review/node_modules/anymatch/package.json +0 -48
  126. package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +0 -2
  127. package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +0 -21
  128. package/generator/dead-code-review/node_modules/balanced-match/README.md +0 -97
  129. package/generator/dead-code-review/node_modules/balanced-match/index.js +0 -62
  130. package/generator/dead-code-review/node_modules/balanced-match/package.json +0 -48
  131. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +0 -260
  132. package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
  133. package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +0 -14
  134. package/generator/dead-code-review/node_modules/binary-extensions/index.js +0 -1
  135. package/generator/dead-code-review/node_modules/binary-extensions/license +0 -9
  136. package/generator/dead-code-review/node_modules/binary-extensions/package.json +0 -38
  137. package/generator/dead-code-review/node_modules/binary-extensions/readme.md +0 -41
  138. package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
  139. package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +0 -21
  140. package/generator/dead-code-review/node_modules/brace-expansion/README.md +0 -135
  141. package/generator/dead-code-review/node_modules/brace-expansion/index.js +0 -203
  142. package/generator/dead-code-review/node_modules/brace-expansion/package.json +0 -46
  143. package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +0 -184
  144. package/generator/dead-code-review/node_modules/braces/LICENSE +0 -21
  145. package/generator/dead-code-review/node_modules/braces/README.md +0 -593
  146. package/generator/dead-code-review/node_modules/braces/index.js +0 -170
  147. package/generator/dead-code-review/node_modules/braces/lib/compile.js +0 -57
  148. package/generator/dead-code-review/node_modules/braces/lib/constants.js +0 -57
  149. package/generator/dead-code-review/node_modules/braces/lib/expand.js +0 -113
  150. package/generator/dead-code-review/node_modules/braces/lib/parse.js +0 -333
  151. package/generator/dead-code-review/node_modules/braces/lib/stringify.js +0 -32
  152. package/generator/dead-code-review/node_modules/braces/lib/utils.js +0 -112
  153. package/generator/dead-code-review/node_modules/braces/package.json +0 -77
  154. package/generator/dead-code-review/node_modules/chalk/index.d.ts +0 -415
  155. package/generator/dead-code-review/node_modules/chalk/license +0 -9
  156. package/generator/dead-code-review/node_modules/chalk/package.json +0 -68
  157. package/generator/dead-code-review/node_modules/chalk/readme.md +0 -341
  158. package/generator/dead-code-review/node_modules/chalk/source/index.js +0 -229
  159. package/generator/dead-code-review/node_modules/chalk/source/templates.js +0 -134
  160. package/generator/dead-code-review/node_modules/chalk/source/util.js +0 -39
  161. package/generator/dead-code-review/node_modules/chokidar/LICENSE +0 -21
  162. package/generator/dead-code-review/node_modules/chokidar/README.md +0 -308
  163. package/generator/dead-code-review/node_modules/chokidar/index.js +0 -973
  164. package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +0 -65
  165. package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +0 -524
  166. package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +0 -654
  167. package/generator/dead-code-review/node_modules/chokidar/package.json +0 -85
  168. package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +0 -188
  169. package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +0 -54
  170. package/generator/dead-code-review/node_modules/color-convert/LICENSE +0 -21
  171. package/generator/dead-code-review/node_modules/color-convert/README.md +0 -68
  172. package/generator/dead-code-review/node_modules/color-convert/conversions.js +0 -839
  173. package/generator/dead-code-review/node_modules/color-convert/index.js +0 -81
  174. package/generator/dead-code-review/node_modules/color-convert/package.json +0 -48
  175. package/generator/dead-code-review/node_modules/color-convert/route.js +0 -97
  176. package/generator/dead-code-review/node_modules/color-name/LICENSE +0 -8
  177. package/generator/dead-code-review/node_modules/color-name/README.md +0 -11
  178. package/generator/dead-code-review/node_modules/color-name/index.js +0 -152
  179. package/generator/dead-code-review/node_modules/color-name/package.json +0 -28
  180. package/generator/dead-code-review/node_modules/commander/LICENSE +0 -22
  181. package/generator/dead-code-review/node_modules/commander/Readme.md +0 -1118
  182. package/generator/dead-code-review/node_modules/commander/esm.mjs +0 -16
  183. package/generator/dead-code-review/node_modules/commander/index.js +0 -27
  184. package/generator/dead-code-review/node_modules/commander/lib/argument.js +0 -147
  185. package/generator/dead-code-review/node_modules/commander/lib/command.js +0 -2160
  186. package/generator/dead-code-review/node_modules/commander/lib/error.js +0 -45
  187. package/generator/dead-code-review/node_modules/commander/lib/help.js +0 -406
  188. package/generator/dead-code-review/node_modules/commander/lib/option.js +0 -326
  189. package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +0 -100
  190. package/generator/dead-code-review/node_modules/commander/package-support.json +0 -16
  191. package/generator/dead-code-review/node_modules/commander/package.json +0 -80
  192. package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +0 -881
  193. package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +0 -130
  194. package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +0 -21
  195. package/generator/dead-code-review/node_modules/cross-spawn/README.md +0 -96
  196. package/generator/dead-code-review/node_modules/cross-spawn/index.js +0 -39
  197. package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +0 -59
  198. package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +0 -91
  199. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +0 -45
  200. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
  201. package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
  202. package/generator/dead-code-review/node_modules/cross-spawn/package.json +0 -73
  203. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +0 -373
  204. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +0 -64
  205. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +0 -22
  206. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +0 -419
  207. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
  208. package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +0 -27
  209. package/generator/dead-code-review/node_modules/elm-test/LICENSE +0 -27
  210. package/generator/dead-code-review/node_modules/elm-test/README.md +0 -192
  211. package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +0 -3
  212. package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +0 -25
  213. package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +0 -217
  214. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +0 -30
  215. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +0 -39
  216. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +0 -212
  217. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +0 -207
  218. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +0 -48
  219. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +0 -161
  220. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +0 -158
  221. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +0 -53
  222. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +0 -113
  223. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +0 -38
  224. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +0 -230
  225. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +0 -326
  226. package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +0 -440
  227. package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +0 -110
  228. package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +0 -343
  229. package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +0 -109
  230. package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +0 -47
  231. package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +0 -194
  232. package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +0 -276
  233. package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +0 -294
  234. package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +0 -290
  235. package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +0 -941
  236. package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +0 -117
  237. package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +0 -23
  238. package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +0 -322
  239. package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +0 -76
  240. package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +0 -294
  241. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +0 -45
  242. package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +0 -36
  243. package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +0 -318
  244. package/generator/dead-code-review/node_modules/elm-test/package.json +0 -69
  245. package/generator/dead-code-review/node_modules/elm-test/templates/after.js +0 -29
  246. package/generator/dead-code-review/node_modules/elm-test/templates/before.js +0 -58
  247. package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +0 -10
  248. package/generator/dead-code-review/node_modules/fill-range/LICENSE +0 -21
  249. package/generator/dead-code-review/node_modules/fill-range/README.md +0 -237
  250. package/generator/dead-code-review/node_modules/fill-range/index.js +0 -249
  251. package/generator/dead-code-review/node_modules/fill-range/package.json +0 -69
  252. package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +0 -43
  253. package/generator/dead-code-review/node_modules/fs.realpath/README.md +0 -33
  254. package/generator/dead-code-review/node_modules/fs.realpath/index.js +0 -66
  255. package/generator/dead-code-review/node_modules/fs.realpath/old.js +0 -303
  256. package/generator/dead-code-review/node_modules/fs.realpath/package.json +0 -26
  257. package/generator/dead-code-review/node_modules/fsevents/LICENSE +0 -22
  258. package/generator/dead-code-review/node_modules/fsevents/README.md +0 -83
  259. package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +0 -46
  260. package/generator/dead-code-review/node_modules/fsevents/fsevents.js +0 -82
  261. package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
  262. package/generator/dead-code-review/node_modules/fsevents/package.json +0 -62
  263. package/generator/dead-code-review/node_modules/glob/LICENSE +0 -15
  264. package/generator/dead-code-review/node_modules/glob/README.md +0 -378
  265. package/generator/dead-code-review/node_modules/glob/common.js +0 -240
  266. package/generator/dead-code-review/node_modules/glob/glob.js +0 -790
  267. package/generator/dead-code-review/node_modules/glob/package.json +0 -55
  268. package/generator/dead-code-review/node_modules/glob/sync.js +0 -486
  269. package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +0 -110
  270. package/generator/dead-code-review/node_modules/glob-parent/LICENSE +0 -15
  271. package/generator/dead-code-review/node_modules/glob-parent/README.md +0 -137
  272. package/generator/dead-code-review/node_modules/glob-parent/index.js +0 -42
  273. package/generator/dead-code-review/node_modules/glob-parent/package.json +0 -48
  274. package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +0 -15
  275. package/generator/dead-code-review/node_modules/graceful-fs/README.md +0 -143
  276. package/generator/dead-code-review/node_modules/graceful-fs/clone.js +0 -23
  277. package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +0 -448
  278. package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +0 -118
  279. package/generator/dead-code-review/node_modules/graceful-fs/package.json +0 -50
  280. package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +0 -355
  281. package/generator/dead-code-review/node_modules/has-flag/index.d.ts +0 -39
  282. package/generator/dead-code-review/node_modules/has-flag/index.js +0 -8
  283. package/generator/dead-code-review/node_modules/has-flag/license +0 -9
  284. package/generator/dead-code-review/node_modules/has-flag/package.json +0 -46
  285. package/generator/dead-code-review/node_modules/has-flag/readme.md +0 -89
  286. package/generator/dead-code-review/node_modules/inflight/LICENSE +0 -15
  287. package/generator/dead-code-review/node_modules/inflight/README.md +0 -37
  288. package/generator/dead-code-review/node_modules/inflight/inflight.js +0 -54
  289. package/generator/dead-code-review/node_modules/inflight/package.json +0 -29
  290. package/generator/dead-code-review/node_modules/inherits/LICENSE +0 -16
  291. package/generator/dead-code-review/node_modules/inherits/README.md +0 -42
  292. package/generator/dead-code-review/node_modules/inherits/inherits.js +0 -9
  293. package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +0 -27
  294. package/generator/dead-code-review/node_modules/inherits/package.json +0 -29
  295. package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +0 -17
  296. package/generator/dead-code-review/node_modules/is-binary-path/index.js +0 -7
  297. package/generator/dead-code-review/node_modules/is-binary-path/license +0 -9
  298. package/generator/dead-code-review/node_modules/is-binary-path/package.json +0 -40
  299. package/generator/dead-code-review/node_modules/is-binary-path/readme.md +0 -34
  300. package/generator/dead-code-review/node_modules/is-extglob/LICENSE +0 -21
  301. package/generator/dead-code-review/node_modules/is-extglob/README.md +0 -107
  302. package/generator/dead-code-review/node_modules/is-extglob/index.js +0 -20
  303. package/generator/dead-code-review/node_modules/is-extglob/package.json +0 -69
  304. package/generator/dead-code-review/node_modules/is-glob/LICENSE +0 -21
  305. package/generator/dead-code-review/node_modules/is-glob/README.md +0 -206
  306. package/generator/dead-code-review/node_modules/is-glob/index.js +0 -150
  307. package/generator/dead-code-review/node_modules/is-glob/package.json +0 -81
  308. package/generator/dead-code-review/node_modules/is-number/LICENSE +0 -21
  309. package/generator/dead-code-review/node_modules/is-number/README.md +0 -187
  310. package/generator/dead-code-review/node_modules/is-number/index.js +0 -18
  311. package/generator/dead-code-review/node_modules/is-number/package.json +0 -82
  312. package/generator/dead-code-review/node_modules/isexe/LICENSE +0 -15
  313. package/generator/dead-code-review/node_modules/isexe/README.md +0 -51
  314. package/generator/dead-code-review/node_modules/isexe/index.js +0 -57
  315. package/generator/dead-code-review/node_modules/isexe/mode.js +0 -41
  316. package/generator/dead-code-review/node_modules/isexe/package.json +0 -31
  317. package/generator/dead-code-review/node_modules/isexe/test/basic.js +0 -221
  318. package/generator/dead-code-review/node_modules/isexe/windows.js +0 -42
  319. package/generator/dead-code-review/node_modules/minimatch/LICENSE +0 -15
  320. package/generator/dead-code-review/node_modules/minimatch/README.md +0 -259
  321. package/generator/dead-code-review/node_modules/minimatch/lib/path.js +0 -4
  322. package/generator/dead-code-review/node_modules/minimatch/minimatch.js +0 -906
  323. package/generator/dead-code-review/node_modules/minimatch/package.json +0 -32
  324. package/generator/dead-code-review/node_modules/normalize-path/LICENSE +0 -21
  325. package/generator/dead-code-review/node_modules/normalize-path/README.md +0 -127
  326. package/generator/dead-code-review/node_modules/normalize-path/index.js +0 -35
  327. package/generator/dead-code-review/node_modules/normalize-path/package.json +0 -77
  328. package/generator/dead-code-review/node_modules/once/LICENSE +0 -15
  329. package/generator/dead-code-review/node_modules/once/README.md +0 -79
  330. package/generator/dead-code-review/node_modules/once/once.js +0 -42
  331. package/generator/dead-code-review/node_modules/once/package.json +0 -33
  332. package/generator/dead-code-review/node_modules/path-key/index.d.ts +0 -40
  333. package/generator/dead-code-review/node_modules/path-key/index.js +0 -16
  334. package/generator/dead-code-review/node_modules/path-key/license +0 -9
  335. package/generator/dead-code-review/node_modules/path-key/package.json +0 -39
  336. package/generator/dead-code-review/node_modules/path-key/readme.md +0 -61
  337. package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +0 -136
  338. package/generator/dead-code-review/node_modules/picomatch/LICENSE +0 -21
  339. package/generator/dead-code-review/node_modules/picomatch/README.md +0 -708
  340. package/generator/dead-code-review/node_modules/picomatch/index.js +0 -3
  341. package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +0 -179
  342. package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +0 -1091
  343. package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +0 -342
  344. package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +0 -391
  345. package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +0 -64
  346. package/generator/dead-code-review/node_modules/picomatch/package.json +0 -81
  347. package/generator/dead-code-review/node_modules/readdirp/LICENSE +0 -21
  348. package/generator/dead-code-review/node_modules/readdirp/README.md +0 -122
  349. package/generator/dead-code-review/node_modules/readdirp/index.d.ts +0 -43
  350. package/generator/dead-code-review/node_modules/readdirp/index.js +0 -287
  351. package/generator/dead-code-review/node_modules/readdirp/package.json +0 -122
  352. package/generator/dead-code-review/node_modules/shebang-command/index.js +0 -19
  353. package/generator/dead-code-review/node_modules/shebang-command/license +0 -9
  354. package/generator/dead-code-review/node_modules/shebang-command/package.json +0 -34
  355. package/generator/dead-code-review/node_modules/shebang-command/readme.md +0 -34
  356. package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +0 -22
  357. package/generator/dead-code-review/node_modules/shebang-regex/index.js +0 -2
  358. package/generator/dead-code-review/node_modules/shebang-regex/license +0 -9
  359. package/generator/dead-code-review/node_modules/shebang-regex/package.json +0 -35
  360. package/generator/dead-code-review/node_modules/shebang-regex/readme.md +0 -33
  361. package/generator/dead-code-review/node_modules/split/.travis.yml +0 -3
  362. package/generator/dead-code-review/node_modules/split/LICENCE +0 -22
  363. package/generator/dead-code-review/node_modules/split/examples/pretty.js +0 -26
  364. package/generator/dead-code-review/node_modules/split/index.js +0 -63
  365. package/generator/dead-code-review/node_modules/split/package.json +0 -30
  366. package/generator/dead-code-review/node_modules/split/readme.markdown +0 -72
  367. package/generator/dead-code-review/node_modules/split/test/options.asynct.js +0 -46
  368. package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +0 -34
  369. package/generator/dead-code-review/node_modules/split/test/split.asynct.js +0 -137
  370. package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +0 -51
  371. package/generator/dead-code-review/node_modules/supports-color/browser.js +0 -5
  372. package/generator/dead-code-review/node_modules/supports-color/index.js +0 -135
  373. package/generator/dead-code-review/node_modules/supports-color/license +0 -9
  374. package/generator/dead-code-review/node_modules/supports-color/package.json +0 -53
  375. package/generator/dead-code-review/node_modules/supports-color/readme.md +0 -76
  376. package/generator/dead-code-review/node_modules/through/.travis.yml +0 -5
  377. package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +0 -15
  378. package/generator/dead-code-review/node_modules/through/LICENSE.MIT +0 -24
  379. package/generator/dead-code-review/node_modules/through/index.js +0 -108
  380. package/generator/dead-code-review/node_modules/through/package.json +0 -36
  381. package/generator/dead-code-review/node_modules/through/readme.markdown +0 -64
  382. package/generator/dead-code-review/node_modules/through/test/async.js +0 -28
  383. package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +0 -30
  384. package/generator/dead-code-review/node_modules/through/test/buffering.js +0 -71
  385. package/generator/dead-code-review/node_modules/through/test/end.js +0 -45
  386. package/generator/dead-code-review/node_modules/through/test/index.js +0 -133
  387. package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +0 -21
  388. package/generator/dead-code-review/node_modules/to-regex-range/README.md +0 -305
  389. package/generator/dead-code-review/node_modules/to-regex-range/index.js +0 -288
  390. package/generator/dead-code-review/node_modules/to-regex-range/package.json +0 -88
  391. package/generator/dead-code-review/node_modules/which/CHANGELOG.md +0 -166
  392. package/generator/dead-code-review/node_modules/which/LICENSE +0 -15
  393. package/generator/dead-code-review/node_modules/which/README.md +0 -54
  394. package/generator/dead-code-review/node_modules/which/bin/node-which +0 -52
  395. package/generator/dead-code-review/node_modules/which/package.json +0 -43
  396. package/generator/dead-code-review/node_modules/which/which.js +0 -125
  397. package/generator/dead-code-review/node_modules/wrappy/LICENSE +0 -15
  398. package/generator/dead-code-review/node_modules/wrappy/README.md +0 -36
  399. package/generator/dead-code-review/node_modules/wrappy/package.json +0 -29
  400. package/generator/dead-code-review/node_modules/wrappy/wrappy.js +0 -33
  401. package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +0 -6
  402. package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +0 -23
  403. package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +0 -593
  404. package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +0 -21
  405. package/generator/dead-code-review/node_modules/xmlbuilder/README.md +0 -103
  406. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +0 -10
  407. package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +0 -12
  408. package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +0 -25
  409. package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +0 -11
  410. package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +0 -88
  411. package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +0 -10
  412. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +0 -130
  413. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +0 -41
  414. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +0 -86
  415. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +0 -41
  416. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +0 -80
  417. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +0 -20
  418. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +0 -55
  419. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +0 -44
  420. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +0 -66
  421. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +0 -44
  422. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +0 -115
  423. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +0 -66
  424. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +0 -51
  425. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +0 -235
  426. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +0 -282
  427. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +0 -650
  428. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +0 -21
  429. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +0 -39
  430. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +0 -334
  431. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +0 -77
  432. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +0 -999
  433. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +0 -51
  434. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +0 -45
  435. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +0 -56
  436. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +0 -40
  437. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +0 -209
  438. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +0 -40
  439. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +0 -291
  440. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +0 -82
  441. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +0 -23
  442. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +0 -27
  443. package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +0 -485
  444. package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +0 -120
  445. package/generator/dead-code-review/node_modules/xmlbuilder/package.json +0 -51
  446. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +0 -244
  447. package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +0 -21
  448. package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +0 -161
  449. package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +0 -11
  450. package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +0 -1771
  451. package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
  452. package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
  453. package/generator/review/elm-stuff/0.19.1/o.dat +0 -0
  454. 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
  455. 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
  456. 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
  457. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +0 -25
  458. 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
  459. 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
  460. 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
  461. package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +0 -41
  462. package/src/DataSource/Env.elm +0 -62
  463. package/src/DataSource/Http.elm +0 -446
  464. package/src/DataSource/Internal/Request.elm +0 -20
  465. package/src/DataSource/Port.elm +0 -90
@@ -1,276 +0,0 @@
1
- // @flow
2
-
3
- const gracefulFs = require('graceful-fs');
4
- const fs = require('fs');
5
- const glob = require('glob');
6
- const path = require('path');
7
- const Parser = require('./Parser');
8
- const Project = require('./Project');
9
-
10
- void Project;
11
-
12
- // Double stars at the start and end is the correct way to ignore directories in
13
- // the `glob` package.
14
- // https://github.com/isaacs/node-glob/issues/270#issuecomment-273949982
15
- // https://github.com/isaacs/node-glob/blob/f5a57d3d6e19b324522a3fa5bdd5075fd1aa79d1/common.js#L222-L231
16
- const ignoredDirsGlobs = ['**/elm-stuff/**', '**/node_modules/**'];
17
-
18
- function resolveGlobs(
19
- fileGlobs /*: Array<string> */,
20
- projectRootDir /*: string */
21
- ) /*: Array<string> */ {
22
- return Array.from(
23
- new Set(
24
- fileGlobs.flatMap((fileGlob) => {
25
- const absolutePath = path.resolve(fileGlob);
26
- try {
27
- const stat = fs.statSync(absolutePath);
28
- // If the CLI arg exists…
29
- return stat.isDirectory()
30
- ? // …and it’s a directory, find all .elm files in there…
31
- findAllElmFilesInDir(absolutePath)
32
- : // …otherwise use it as-is.
33
- [absolutePath];
34
- } catch (error) {
35
- // If the CLI arg does not exist…
36
- return error.code === 'ENOENT'
37
- ? // …resolve it as a glob for shells that don’t support globs.
38
- resolveCliArgGlob(absolutePath, projectRootDir)
39
- : // The glob package ignores other types of stat errors.
40
- [];
41
- }
42
- })
43
- ),
44
- // The `glob` package returns absolute paths with slashes always, even on
45
- // Windows. All other paths in elm-test use the native directory separator
46
- // so normalize here.
47
- (filePath) => path.normalize(filePath)
48
- );
49
- }
50
-
51
- function resolveCliArgGlob(
52
- fileGlob /*: string */,
53
- projectRootDir /*: string */
54
- ) /*: Array<string> */ {
55
- // Globs passed as CLI arguments are relative to CWD, while elm-test
56
- // operates from the project root dir.
57
- const globRelativeToProjectRoot = path.relative(
58
- projectRootDir,
59
- path.resolve(fileGlob)
60
- );
61
-
62
- // glob@8 (via minimatch@5) had a breaking change where you _have_ to use
63
- // forwards slash as path separator, regardless of platform, making it
64
- // unambiguous which characters are separators and which are escapes. This
65
- // restores the previous behavior, avoiding a breaking change in elm-test.
66
- // Note: As far I can tell, escaping glob syntax has _never_ worked on
67
- // Windows. In Elm, needing to escape glob syntax should be very rare, since
68
- // Elm file paths must match the module name (letters only). So it’s probably
69
- // more worth supporting `some\folder\*Test.elm` rather than escaping.
70
- // https://github.com/isaacs/node-glob/issues/468
71
- // https://github.com/isaacs/minimatch/commit/9104d8d175bdd8843338103be1401f80774d2a10#diff-f41746899d033115e03bebe4fbde76acf2de4bf261bfb221744808f4c8a286cf
72
- const pattern =
73
- process.platform === 'win32'
74
- ? globRelativeToProjectRoot.replace(/\\/g, '/')
75
- : globRelativeToProjectRoot;
76
-
77
- return glob
78
- .sync(pattern, {
79
- cwd: projectRootDir,
80
- nocase: true,
81
- absolute: true,
82
- ignore: ignoredDirsGlobs,
83
- // Match directories as well and mark them with a trailing slash.
84
- nodir: false,
85
- mark: true,
86
- })
87
- .flatMap((filePath) =>
88
- filePath.endsWith('/') ? findAllElmFilesInDir(filePath) : filePath
89
- );
90
- }
91
-
92
- // Recursively search for *.elm files.
93
- function findAllElmFilesInDir(dir /*: string */) /*: Array<string> */ {
94
- return glob.sync('**/*.elm', {
95
- cwd: dir,
96
- nocase: true,
97
- absolute: true,
98
- ignore: ignoredDirsGlobs,
99
- nodir: true,
100
- });
101
- }
102
-
103
- function findTests(
104
- testFilePaths /*: Array<string> */,
105
- project /*: typeof Project.Project */
106
- ) /*: Promise<Array<{ moduleName: string, possiblyTests: Array<string> }>> */ {
107
- return Promise.all(
108
- testFilePaths.map((filePath) => {
109
- const matchingSourceDirs = project.testsSourceDirs.filter((dir) =>
110
- filePath.startsWith(`${dir}${path.sep}`)
111
- );
112
-
113
- // Tests must be in tests/ or in source-directories – otherwise they won’t
114
- // compile. Elm won’t be able to find imports.
115
- switch (matchingSourceDirs.length) {
116
- case 0:
117
- return Promise.reject(
118
- Error(
119
- missingSourceDirectoryError(
120
- filePath,
121
- project.elmJson.type === 'package'
122
- )
123
- )
124
- );
125
-
126
- case 1:
127
- // Keep going.
128
- break;
129
-
130
- default:
131
- // This shouldn’t be possible for package projects.
132
- return Promise.reject(
133
- new Error(
134
- multipleSourceDirectoriesError(
135
- filePath,
136
- matchingSourceDirs,
137
- project.testsDir
138
- )
139
- )
140
- );
141
- }
142
-
143
- // By finding the module name from the file path we can import it even if
144
- // the file is full of errors. Elm will then report what’s wrong.
145
- const moduleNameParts = path
146
- .relative(matchingSourceDirs[0], filePath)
147
- .replace(/\.elm$/, '')
148
- .split(path.sep);
149
- const moduleName = moduleNameParts.join('.');
150
-
151
- if (!moduleNameParts.every(Parser.isUpperName)) {
152
- return Promise.reject(
153
- new Error(
154
- badModuleNameError(filePath, matchingSourceDirs[0], moduleName)
155
- )
156
- );
157
- }
158
-
159
- return Parser.extractExposedPossiblyTests(
160
- filePath,
161
- // We’re reading files asynchronously in a loop here, so it makes sense
162
- // to use graceful-fs to avoid “too many open files” errors.
163
- gracefulFs.createReadStream
164
- ).then((possiblyTests) => ({
165
- moduleName,
166
- possiblyTests,
167
- }));
168
- })
169
- );
170
- }
171
-
172
- function missingSourceDirectoryError(filePath, isPackageProject) {
173
- return `
174
- This file:
175
-
176
- ${filePath}
177
-
178
- …matches no source directory! Imports won't work then.
179
-
180
- ${
181
- isPackageProject
182
- ? 'Move it to tests/ or src/ in your project root.'
183
- : 'Move it to tests/ in your project root, or make sure it is covered by "source-directories" in your elm.json.'
184
- }
185
- `.trim();
186
- }
187
-
188
- function multipleSourceDirectoriesError(
189
- filePath,
190
- matchingSourceDirs,
191
- testsDir
192
- ) {
193
- const note = matchingSourceDirs.includes(testsDir)
194
- ? "Note: The tests/ folder counts as a source directory too (even if it isn't listed in your elm.json)!"
195
- : '';
196
-
197
- return `
198
- This file:
199
-
200
- ${filePath}
201
-
202
- …matches more than one source directory:
203
-
204
- ${matchingSourceDirs.join('\n')}
205
-
206
- Edit "source-directories" in your elm.json and try to make it so no source directory contains another source directory!
207
-
208
- ${note}
209
- `.trim();
210
- }
211
-
212
- function badModuleNameError(filePath, sourceDir, moduleName) {
213
- return `
214
- This file:
215
-
216
- ${filePath}
217
-
218
- …located in this directory:
219
-
220
- ${sourceDir}
221
-
222
- …is problematic. Trying to construct a module name from the parts after the directory gives:
223
-
224
- ${moduleName}
225
-
226
- …but module names need to look like for example:
227
-
228
- Main
229
- Http.Helpers
230
-
231
- Make sure that all parts start with an uppercase letter and don't contain any spaces or anything like that.
232
- `.trim();
233
- }
234
-
235
- function noFilesFoundError(
236
- projectRootDir /*: string */,
237
- testFileGlobs /*: Array<string> */
238
- ) /*: string */ {
239
- return testFileGlobs.length === 0
240
- ? `
241
- ${noFilesFoundInTestsDir(projectRootDir)}
242
-
243
- To generate some initial tests to get things going: elm-test init
244
-
245
- Alternatively, if your project has tests in a different directory,
246
- try calling elm-test with a glob such as: elm-test "src/**/*Tests.elm"
247
- `.trim()
248
- : `
249
- No files found matching:
250
-
251
- ${testFileGlobs.join('\n')}
252
-
253
- Are the above patterns correct? Maybe try running elm-test with no arguments?
254
- `.trim();
255
- }
256
-
257
- function noFilesFoundInTestsDir(projectRootDir) {
258
- const testsDir = path.join(projectRootDir, 'tests');
259
- try {
260
- const stats = fs.statSync(testsDir);
261
- return stats.isDirectory()
262
- ? 'No .elm files found in the tests/ directory.'
263
- : `Expected a directory but found something else at: ${testsDir}\nCheck it out! Could you remove it?`;
264
- } catch (error) {
265
- return error.code === 'ENOENT'
266
- ? 'The tests/ directory does not exist.'
267
- : `Failed to read the tests/ directory: ${error.message}`;
268
- }
269
- }
270
-
271
- module.exports = {
272
- findTests,
273
- ignoredDirsGlobs,
274
- noFilesFoundError,
275
- resolveGlobs,
276
- };
@@ -1,294 +0,0 @@
1
- // @flow
2
-
3
- const { supportsColor } = require('chalk');
4
- const fs = require('fs');
5
- const path = require('path');
6
- const DependencyProvider = require('./DependencyProvider.js');
7
- const ElmJson = require('./ElmJson');
8
- const Project = require('./Project');
9
- const Report = require('./Report');
10
- const Solve = require('./Solve');
11
-
12
- // These values are used _only_ in flow types. 'use' them with the javascript
13
- // void operator to keep eslint happy.
14
- void DependencyProvider;
15
- void Project;
16
- void Report;
17
-
18
- const before = fs.readFileSync(
19
- path.join(__dirname, '..', 'templates', 'before.js'),
20
- 'utf8'
21
- );
22
-
23
- const after = fs.readFileSync(
24
- path.join(__dirname, '..', 'templates', 'after.js'),
25
- 'utf8'
26
- );
27
-
28
- function prepareCompiledJsFile(
29
- pipeFilename /*: string */,
30
- dest /*: string */
31
- ) /*: void */ {
32
- const content = fs.readFileSync(dest, 'utf8');
33
- const finalContent = `
34
- ${before}
35
- var Elm = (function(module) {
36
- ${addKernelTestChecking(content)}
37
- return this.Elm;
38
- })({});
39
- var pipeFilename = ${JSON.stringify(pipeFilename)};
40
- ${after}
41
- `.trim();
42
- fs.writeFileSync(dest, finalContent);
43
-
44
- // Needed when the user has `"type": "module"` in their package.json.
45
- // Our output is CommonJS.
46
- fs.writeFileSync(
47
- path.join(path.dirname(dest), 'package.json'),
48
- JSON.stringify({ type: 'commonjs' })
49
- );
50
- }
51
-
52
- // For older versions of elm-explorations/test we need to list every single
53
- // variant of the `Test` type. To avoid having to update this regex if a new
54
- // variant is added, newer versions of elm-explorations/test have prefixed all
55
- // variants with `ElmTestVariant__` so we can match just on that.
56
- const testVariantDefinition =
57
- /^var\s+\$elm_explorations\$test\$Test\$Internal\$(?:ElmTestVariant__\w+|UnitTest|FuzzTest|Labeled|Skipped|Only|Batch)\s*=\s*(?:\w+\(\s*)?function\s*\([\w, ]*\)\s*\{\s*return *\{/gm;
58
-
59
- const checkDefinition =
60
- /^(var\s+\$author\$project\$Test\$Runner\$Node\$check)\s*=\s*\$author\$project\$Test\$Runner\$Node\$checkHelperReplaceMe___;?$/m;
61
-
62
- // Create a symbol, tag all `Test` constructors with it and make the `check`
63
- // function look for it.
64
- function addKernelTestChecking(content) {
65
- return (
66
- 'var __elmTestSymbol = Symbol("elmTestSymbol");\n' +
67
- content
68
- .replace(testVariantDefinition, '$&__elmTestSymbol: __elmTestSymbol, ')
69
- .replace(
70
- checkDefinition,
71
- '$1 = value => value && value.__elmTestSymbol === __elmTestSymbol ? $elm$core$Maybe$Just(value) : $elm$core$Maybe$Nothing;'
72
- )
73
- );
74
- }
75
-
76
- function getGeneratedSrcDir(generatedCodeDir /*: string */) /*: string */ {
77
- return path.join(generatedCodeDir, 'src');
78
- }
79
-
80
- function generateElmJson(
81
- dependencyProvider /*: DependencyProvider */,
82
- project /*: typeof Project.Project */
83
- ) /*: void */ {
84
- const generatedSrc = getGeneratedSrcDir(project.generatedCodeDir);
85
-
86
- fs.mkdirSync(generatedSrc, { recursive: true });
87
-
88
- const sourceDirs = [
89
- // Include the generated test application.
90
- generatedSrc,
91
-
92
- // NOTE: we must include node-test-runner's Elm source as a source-directory
93
- // instead of adding it as a dependency so that it can include port modules
94
- path.join(__dirname, '..', 'elm', 'src'),
95
- ]
96
- .concat(project.testsSourceDirs)
97
- .filter(
98
- // When running node-test-runner's own test suite, the node-test-runner/src folder
99
- // will get added twice: once because it's the source-directory of the packge being tested,
100
- // and once because elm-test will always add it.
101
- // To prevent elm from being confused, we need to remove the duplicate when this happens.
102
- (value, index, self) => self.indexOf(value) === index
103
- )
104
- .map((absolutePath) =>
105
- // Relative paths have the nice benefit that if the user moves their
106
- // directory, this doesn't break.
107
- path.relative(project.generatedCodeDir, absolutePath)
108
- );
109
-
110
- const testElmJson = {
111
- type: 'application',
112
- 'source-directories': sourceDirs,
113
- 'elm-version': '0.19.1',
114
- dependencies: Solve.getDependenciesCached(dependencyProvider, project),
115
- 'test-dependencies': {
116
- direct: {},
117
- indirect: {},
118
- },
119
- };
120
-
121
- // Generate the new elm.json, if necessary.
122
- const generatedContents = JSON.stringify(testElmJson, null, 4);
123
- const generatedPath = ElmJson.getPath(project.generatedCodeDir);
124
-
125
- // Don't write a fresh elm.json if it's going to be the same. If we do,
126
- // it will update the timestamp on the file, which will cause `elm make`
127
- // to do a bunch of unnecessary work.
128
- if (
129
- !fs.existsSync(generatedPath) ||
130
- generatedContents !== fs.readFileSync(generatedPath, 'utf8')
131
- ) {
132
- // package projects don't explicitly list their transitive dependencies,
133
- // to we have to figure out what they are. We write the elm.json that
134
- // we have so far, and run elm to see what it thinks is missing.
135
- fs.writeFileSync(generatedPath, generatedContents);
136
- }
137
- }
138
-
139
- function getMainModule(generatedCodeDir /*: string */) /*: {
140
- moduleName: string,
141
- path: string,
142
- } */ {
143
- const moduleName = ['Test', 'Generated', 'Main'];
144
- return {
145
- moduleName: moduleName.join('.'),
146
- path:
147
- // We'll be putting the generated Main in something like this:
148
- //
149
- // my-project-name/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revisionX/src/Test/Generated/Main.elm
150
- path.join(getGeneratedSrcDir(generatedCodeDir), ...moduleName) + '.elm',
151
- };
152
- }
153
-
154
- function generateMainModule(
155
- fuzz /*: number */,
156
- seed /*: number */,
157
- report /*: typeof Report.Report */,
158
- testFileGlobs /*: Array<string> */,
159
- testFilePaths /*: Array<string> */,
160
- testModules /*: Array<{
161
- moduleName: string,
162
- possiblyTests: Array<string>,
163
- }> */,
164
- mainModule /*: { moduleName: string, path: string } */,
165
- processes /*: number */
166
- ) /*: void */ {
167
- const testFileBody = makeTestFileBody(
168
- testModules,
169
- makeOptsCode(fuzz, seed, report, testFileGlobs, testFilePaths, processes)
170
- );
171
-
172
- const testFileContents = `module ${mainModule.moduleName} exposing (main)\n\n${testFileBody}`;
173
-
174
- fs.mkdirSync(path.dirname(mainModule.path), { recursive: true });
175
-
176
- fs.writeFileSync(mainModule.path, testFileContents);
177
- }
178
-
179
- function makeTestFileBody(
180
- testModules /*: Array<{
181
- moduleName: string,
182
- possiblyTests: Array<string>,
183
- }> */,
184
- optsCode /*: string */
185
- ) /*: string */ {
186
- const imports = testModules.map((mod) => `import ${mod.moduleName}`);
187
-
188
- const possiblyTestsList = makeList(testModules.map(makeModuleTuple));
189
-
190
- return `
191
- ${imports.join('\n')}
192
-
193
- import Test.Reporter.Reporter exposing (Report(..))
194
- import Console.Text exposing (UseColor(..))
195
- import Test.Runner.Node
196
- import Test
197
-
198
- main : Test.Runner.Node.TestProgram
199
- main =
200
- Test.Runner.Node.run
201
- ${indentAllButFirstLine(' ', optsCode)}
202
- ${indentAllButFirstLine(' ', possiblyTestsList)}
203
- `.trim();
204
- }
205
-
206
- function makeModuleTuple(mod /*: {
207
- moduleName: string,
208
- possiblyTests: Array<string>,
209
- } */) /*: string */ {
210
- const list = mod.possiblyTests.map(
211
- (test) => `Test.Runner.Node.check ${mod.moduleName}.${test}`
212
- );
213
-
214
- return `
215
- ( "${mod.moduleName}"
216
- , ${indentAllButFirstLine(' ', makeList(list))}
217
- )
218
- `.trim();
219
- }
220
-
221
- function makeList(parts /*: Array<string> */) /*: string */ {
222
- if (parts.length === 0) {
223
- return '[]';
224
- }
225
-
226
- const list = parts.map(
227
- (part, index) =>
228
- `${index === 0 ? '' : ', '}${indentAllButFirstLine(' ', part)}`
229
- );
230
-
231
- return `
232
- [ ${list.join('\n')}
233
- ]
234
- `.trim();
235
- }
236
-
237
- function indentAllButFirstLine(indent, string) {
238
- return string
239
- .split('\n')
240
- .map((line, index) => (index === 0 ? line : indent + line))
241
- .join('\n');
242
- }
243
-
244
- function makeOptsCode(
245
- fuzz /*: number */,
246
- seed /*: number */,
247
- report /*: typeof Report.Report */,
248
- testFileGlobs /*: Array<string> */,
249
- testFilePaths /*: Array<string> */,
250
- processes /*: number */
251
- ) /*: string */ {
252
- return `
253
- { runs = ${fuzz}
254
- , report = ${generateElmReportVariant(report)}
255
- , seed = ${seed}
256
- , processes = ${processes}
257
- , globs =
258
- ${indentAllButFirstLine(' ', makeList(testFileGlobs.map(makeElmString)))}
259
- , paths =
260
- ${indentAllButFirstLine(' ', makeList(testFilePaths.map(makeElmString)))}
261
- }
262
- `.trim();
263
- }
264
-
265
- function generateElmReportVariant(
266
- report /*: typeof Report.Report */
267
- ) /*: string */ {
268
- switch (report) {
269
- case 'json':
270
- return 'JsonReport';
271
- case 'junit':
272
- return 'JUnitReport';
273
- case 'console':
274
- if (supportsColor) {
275
- return 'ConsoleReport UseColor';
276
- } else {
277
- return 'ConsoleReport Monochrome';
278
- }
279
- }
280
- }
281
-
282
- function makeElmString(string) {
283
- return `"${string
284
- .replace(/[\\"]/g, '\\$&')
285
- .replace(/\n/g, '\\n')
286
- .replace(/\r/g, '\\r')}"`;
287
- }
288
-
289
- module.exports = {
290
- generateElmJson,
291
- generateMainModule,
292
- getMainModule,
293
- prepareCompiledJsFile,
294
- };