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,343 +0,0 @@
1
- // @flow
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
- const wasm = require('elm-solve-deps-wasm');
6
- const ElmHome = require('./ElmHome.js');
7
- const SyncGet = require('./SyncGet.js');
8
- const collator = new Intl.Collator('en', { numeric: true }); // for sorting SemVer strings
9
-
10
- // Initialization work done only once.
11
- wasm.init();
12
- const syncGetWorker /*: {| get: (string) => string, shutDown: () => void |} */ =
13
- SyncGet.startWorker();
14
-
15
- // Cache of existing versions according to the package website.
16
- class OnlineVersionsCache {
17
- map /*: Map<string, Array<string>> */ = new Map();
18
-
19
- update() {
20
- const pubgrubHome = path.join(ElmHome.elmHome(), 'pubgrub');
21
- fs.mkdirSync(pubgrubHome, { recursive: true });
22
- const cachePath = path.join(pubgrubHome, 'versions_cache.json');
23
- const remotePackagesUrl = 'https://package.elm-lang.org/all-packages';
24
- if (this.map.size === 0) {
25
- let cacheFile;
26
- try {
27
- // Read from disk existing versions which are already cached.
28
- cacheFile = fs.readFileSync(cachePath, 'utf8');
29
- } catch (_) {
30
- // The cache file does not exist so let's reset it.
31
- this.map = onlineVersionsFromScratch(cachePath, remotePackagesUrl);
32
- return;
33
- }
34
- try {
35
- this.map = parseOnlineVersions(JSON.parse(cacheFile));
36
- } catch (error) {
37
- throw new Error(
38
- `Failed to parse the cache file ${cachePath}.\n${error.message}`
39
- );
40
- }
41
- }
42
- this.updateWithRequestSince(cachePath, remotePackagesUrl);
43
- }
44
-
45
- // Update the cache with a request to the package server.
46
- updateWithRequestSince(
47
- cachePath /*: string */,
48
- remotePackagesUrl /*: string */
49
- ) /*: void */ {
50
- // Count existing versions.
51
- let versionsCount = 0;
52
- for (const versions of this.map.values()) {
53
- versionsCount += versions.length;
54
- }
55
-
56
- // Complete cache with a remote call to the package server.
57
- const remoteUrl = remotePackagesUrl + '/since/' + (versionsCount - 1); // -1 to check if no package was deleted.
58
- const newVersions = JSON.parse(syncGetWorker.get(remoteUrl));
59
- if (newVersions.length === 0) {
60
- // Reload from scratch since it means at least one package was deleted from the registry.
61
- this.map = onlineVersionsFromScratch(cachePath, remotePackagesUrl);
62
- return;
63
- }
64
- // Check that the last package in the list was already in cache
65
- // since the list returned by the package server is sorted newest first.
66
- const { pkg, version } = splitPkgVersion(newVersions.pop());
67
- const cachePkgVersions = this.map.get(pkg);
68
- if (
69
- cachePkgVersions !== undefined &&
70
- cachePkgVersions[cachePkgVersions.length - 1] === version
71
- ) {
72
- // Insert (in reverse) newVersions into onlineVersionsCache map.
73
- for (const pkgVersion of newVersions.reverse()) {
74
- const { pkg, version } = splitPkgVersion(pkgVersion);
75
- const versionsOfPkg = this.map.get(pkg);
76
- if (versionsOfPkg === undefined) {
77
- this.map.set(pkg, [version]);
78
- } else {
79
- versionsOfPkg.push(version);
80
- }
81
- }
82
- // Save the updated onlineVersionsCache to disk.
83
- const onlineVersions = Object.fromEntries(this.map.entries());
84
- fs.writeFileSync(cachePath, JSON.stringify(onlineVersions));
85
- } else {
86
- // There was a problem and a package got deleted from the server.
87
- this.map = onlineVersionsFromScratch(cachePath, remotePackagesUrl);
88
- }
89
- }
90
-
91
- getVersions(pkg /*: string */) /*: Array<string> */ {
92
- const versions = this.map.get(pkg);
93
- return versions === undefined ? [] : versions;
94
- }
95
- }
96
-
97
- class OnlineAvailableVersionLister {
98
- // Memoization cache to avoid doing the same work twice in list.
99
- memoCache /*: Map<string, Array<string>> */ = new Map();
100
- onlineCache /*: OnlineVersionsCache */;
101
-
102
- constructor(onlineCache /*: OnlineVersionsCache */) {
103
- onlineCache.update();
104
- this.onlineCache = onlineCache;
105
- }
106
-
107
- list(pkg /*: string */) /*: Array<string> */ {
108
- const memoVersions = this.memoCache.get(pkg);
109
- if (memoVersions !== undefined) {
110
- return memoVersions;
111
- }
112
- const offlineVersions = readVersionsInElmHomeAndSort(pkg);
113
- const allVersionsSet = new Set(this.onlineCache.getVersions(pkg));
114
- // Combine local and online versions.
115
- for (const version of offlineVersions) {
116
- allVersionsSet.add(version);
117
- }
118
- const allVersions = [...allVersionsSet].sort(flippedSemverCompare);
119
- this.memoCache.set(pkg, allVersions);
120
- return allVersions;
121
- }
122
- }
123
-
124
- class OfflineAvailableVersionLister {
125
- // Memoization cache to avoid doing the same work twice in list.
126
- cache /*: Map<string, Array<string>> */ = new Map();
127
-
128
- list(pkg /*: string */) /*: Array<string> */ {
129
- const memoVersions = this.cache.get(pkg);
130
- if (memoVersions !== undefined) {
131
- return memoVersions;
132
- }
133
-
134
- const offlineVersions = readVersionsInElmHomeAndSort(pkg);
135
-
136
- this.cache.set(pkg, offlineVersions);
137
- return offlineVersions;
138
- }
139
- }
140
-
141
- function readVersionsInElmHomeAndSort(pkg /*: string */) /*: Array<string> */ {
142
- const pkgPath = ElmHome.packagePath(pkg);
143
- let offlineVersions;
144
- try {
145
- offlineVersions = fs.readdirSync(pkgPath);
146
- } catch (_) {
147
- // The directory doesn't exist or we don't have permissions.
148
- // It's fine to catch all cases and return an empty list.
149
- offlineVersions = [];
150
- }
151
-
152
- return offlineVersions.sort(flippedSemverCompare);
153
- }
154
-
155
- class DependencyProvider {
156
- cache /*: OnlineVersionsCache */ = new OnlineVersionsCache();
157
-
158
- // Solve dependencies completely offline, without any http request.
159
- solveOffline(
160
- elmJson /*: string */,
161
- useTest /*: boolean */,
162
- extra /*: { [string]: string } */
163
- ) /*: string */ {
164
- const lister = new OfflineAvailableVersionLister();
165
- try {
166
- return wasm.solve_deps(
167
- elmJson,
168
- useTest,
169
- extra,
170
- fetchElmJsonOffline,
171
- (pkg) => lister.list(pkg)
172
- );
173
- } catch (errorMessage) {
174
- throw new Error(errorMessage);
175
- }
176
- }
177
-
178
- // Solve dependencies with http requests when required.
179
- solveOnline(
180
- elmJson /*: string */,
181
- useTest /*: boolean */,
182
- extra /*: { [string]: string } */
183
- ) /*: string */ {
184
- const lister = new OnlineAvailableVersionLister(this.cache);
185
- try {
186
- return wasm.solve_deps(
187
- elmJson,
188
- useTest,
189
- extra,
190
- fetchElmJsonOnline,
191
- (pkg) => lister.list(pkg)
192
- );
193
- } catch (errorMessage) {
194
- throw new Error(errorMessage);
195
- }
196
- }
197
- }
198
-
199
- function fetchElmJsonOnline(
200
- pkg /*: string */,
201
- version /*: string */
202
- ) /*: string */ {
203
- try {
204
- return fetchElmJsonOffline(pkg, version);
205
- } catch (_) {
206
- // `fetchElmJsonOffline` can only fail in ways that are either expected
207
- // (such as file does not exist or no permissions)
208
- // or because there was an error parsing `pkg` and `version`.
209
- // In such case, this will throw again with `cacheElmJsonPath()` so it's fine.
210
- const remoteUrl = remoteElmJsonUrl(pkg, version);
211
- const elmJson = syncGetWorker.get(remoteUrl);
212
- const cachePath = cacheElmJsonPath(pkg, version);
213
- const parentDir = path.dirname(cachePath);
214
- fs.mkdirSync(parentDir, { recursive: true });
215
- fs.writeFileSync(cachePath, elmJson);
216
- return elmJson;
217
- }
218
- }
219
-
220
- function fetchElmJsonOffline(
221
- pkg /*: string */,
222
- version /*: string */
223
- ) /*: string */ {
224
- try {
225
- return fs.readFileSync(homeElmJsonPath(pkg, version), 'utf8');
226
- } catch (_) {
227
- // The read can only fail if the elm.json file does not exist
228
- // or if we don't have the permissions to read it so it's fine to catch all.
229
- // Otherwise, it means that `homeElmJsonPath()` failed while processing `pkg` and `version`.
230
- // In such case, again, it's fine to catch all since the next call to `cacheElmJsonPath()`
231
- // will fail the same anyway.
232
- return fs.readFileSync(cacheElmJsonPath(pkg, version), 'utf8');
233
- }
234
- }
235
-
236
- // Reset the cache of existing versions from scratch
237
- // with a request to the package server.
238
- function onlineVersionsFromScratch(
239
- cachePath /*: string */,
240
- remotePackagesUrl /*: string */
241
- ) /*: Map<string, Array<string>> */ {
242
- const onlineVersionsJson = syncGetWorker.get(remotePackagesUrl);
243
- fs.writeFileSync(cachePath, onlineVersionsJson);
244
- const onlineVersions = JSON.parse(onlineVersionsJson);
245
- try {
246
- return parseOnlineVersions(onlineVersions);
247
- } catch (error) {
248
- throw new Error(
249
- `Failed to parse the response from the request to ${remotePackagesUrl}.\n${error.message}`
250
- );
251
- }
252
- }
253
-
254
- // Helper functions ##################################################
255
-
256
- /* Compares two versions so that newer versions appear first when sorting with this function. */
257
- function flippedSemverCompare(a /*: string */, b /*: string */) /*: number */ {
258
- return collator.compare(b, a);
259
- }
260
-
261
- function parseOnlineVersions(
262
- json /*: mixed */
263
- ) /*: Map<string, Array<string>> */ {
264
- if (typeof json !== 'object' || json === null || Array.isArray(json)) {
265
- throw new Error(
266
- `Expected an object, but got: ${
267
- json === null ? 'null' : Array.isArray(json) ? 'Array' : typeof json
268
- }`
269
- );
270
- }
271
-
272
- const result = new Map();
273
-
274
- for (const [key, value] of Object.entries(json)) {
275
- result.set(key, parseVersions(key, value));
276
- }
277
-
278
- return result;
279
- }
280
-
281
- function parseVersions(
282
- key /*: string */,
283
- json /*: mixed */
284
- ) /*: Array<string> */ {
285
- if (!Array.isArray(json)) {
286
- throw new Error(
287
- `Expected ${JSON.stringify(key)} to be an array, but got: ${typeof json}`
288
- );
289
- }
290
-
291
- for (const [index, item] of json.entries()) {
292
- if (typeof item !== 'string') {
293
- throw new Error(
294
- `Expected${JSON.stringify(
295
- key
296
- )}->${index} to be a string, but got: ${typeof item}`
297
- );
298
- }
299
- }
300
-
301
- // $FlowFixMe[incompatible-return]: We dynamically checked that `json` is an `Array<string>`.
302
- return json;
303
- }
304
-
305
- function remoteElmJsonUrl(
306
- pkg /*: string */,
307
- version /*: string */
308
- ) /*: string */ {
309
- return `https://package.elm-lang.org/packages/${pkg}/${version}/elm.json`;
310
- }
311
-
312
- function cacheElmJsonPath(
313
- pkg /*: string */,
314
- version /*: string */
315
- ) /*: string */ {
316
- const parts = ElmHome.splitAuthorPkg(pkg);
317
- return path.join(
318
- ElmHome.elmHome(),
319
- 'pubgrub',
320
- 'elm_json_cache',
321
- parts.author,
322
- parts.pkg,
323
- version,
324
- 'elm.json'
325
- );
326
- }
327
-
328
- function homeElmJsonPath(
329
- pkg /*: string */,
330
- version /*: string */
331
- ) /*: string */ {
332
- return path.join(ElmHome.packagePath(pkg), version, 'elm.json');
333
- }
334
-
335
- function splitPkgVersion(str /*: string */) /*: {
336
- pkg: string,
337
- version: string,
338
- } */ {
339
- const parts = str.split('@');
340
- return { pkg: parts[0], version: parts[1] };
341
- }
342
-
343
- module.exports = DependencyProvider;
@@ -1,109 +0,0 @@
1
- // @flow
2
-
3
- 'use strict';
4
-
5
- var spawn = require('cross-spawn');
6
-
7
- var defaultOptions = {
8
- spawn: spawn,
9
- cwd: undefined,
10
- pathToElm: 'elm',
11
- output: undefined,
12
- report: undefined,
13
- processOpts: undefined,
14
- };
15
-
16
- // Converts an object of key/value pairs to an array of arguments suitable
17
- // to be passed to child_process.spawn for elm-make.
18
- function compilerArgsFromOptions(options) {
19
- var args = [];
20
-
21
- if (options.output != null) {
22
- args.push('--output', options.output);
23
- }
24
-
25
- if (options.report != null) {
26
- args.push('--report', options.report);
27
- }
28
-
29
- return args;
30
- }
31
-
32
- function runCompiler(sources, options) {
33
- var pathToElm = options.pathToElm;
34
- var processArgs = ['make'].concat(sources, compilerArgsFromOptions(options));
35
-
36
- var processOpts = Object.assign(
37
- {},
38
- {
39
- env: Object.assign({ LANG: 'en_US.UTF-8' }, process.env),
40
- stdio: 'inherit',
41
- cwd: options.cwd,
42
- },
43
- options.processOpts
44
- );
45
-
46
- return options.spawn(pathToElm, processArgs, processOpts);
47
- }
48
-
49
- function compilerErrorToString(err, pathToElm) {
50
- if (typeof err === 'object' && typeof err.code === 'string') {
51
- switch (err.code) {
52
- case 'ENOENT':
53
- return (
54
- 'Could not find Elm compiler "' + pathToElm + '". Is it installed?'
55
- );
56
-
57
- case 'EACCES':
58
- return (
59
- 'Elm compiler "' +
60
- pathToElm +
61
- '" did not have permission to run. Do you need to give it executable permissions?'
62
- );
63
-
64
- default:
65
- return (
66
- 'Error attempting to run Elm compiler "' + pathToElm + '":\n' + err
67
- );
68
- }
69
- } else if (typeof err === 'object' && typeof err.message === 'string') {
70
- return JSON.stringify(err.message);
71
- } else {
72
- return (
73
- 'Exception thrown when attempting to run Elm compiler ' +
74
- JSON.stringify(pathToElm)
75
- );
76
- }
77
- }
78
-
79
- function compile(
80
- sources /*: Array<string> */,
81
- options /*: {|
82
- spawn?: (
83
- string,
84
- Array<string>,
85
- child_process$spawnOpts
86
- ) => child_process$ChildProcess,
87
- cwd?: string,
88
- pathToElm?: string,
89
- output?: string,
90
- report?: 'json',
91
- processOpts?: child_process$spawnOpts,
92
- |} */
93
- ) /*: child_process$ChildProcess */ {
94
- var optionsWithDefaults = Object.assign({}, defaultOptions, options);
95
- try {
96
- return runCompiler(sources, optionsWithDefaults).on(
97
- 'error',
98
- function (err) {
99
- throw err;
100
- }
101
- );
102
- } catch (err) {
103
- throw new Error(compilerErrorToString(err, optionsWithDefaults.pathToElm));
104
- }
105
- }
106
-
107
- module.exports = {
108
- compile: compile,
109
- };
@@ -1,47 +0,0 @@
1
- // @flow
2
-
3
- const path = require('path');
4
- const os = require('os');
5
-
6
- function elmHome() /*: string */ {
7
- const elmHomeEnv = process.env['ELM_HOME'];
8
- return elmHomeEnv === undefined ? defaultElmHome() : elmHomeEnv;
9
- }
10
-
11
- function defaultElmHome() /*: string */ {
12
- return process.platform === 'win32'
13
- ? defaultWindowsElmHome()
14
- : defaultUnixElmHome();
15
- }
16
-
17
- function defaultUnixElmHome() /*: string */ {
18
- return path.join(os.homedir(), '.elm');
19
- }
20
-
21
- function defaultWindowsElmHome() /*: string */ {
22
- const appData = process.env.APPDATA;
23
- const dir =
24
- appData === undefined
25
- ? path.join(os.homedir(), 'AppData', 'Roaming')
26
- : appData;
27
- return path.join(dir, 'elm');
28
- }
29
-
30
- function packagePath(pkg /*: string */) /*: string */ {
31
- const parts = splitAuthorPkg(pkg);
32
- return path.join(elmHome(), '0.19.1', 'packages', parts.author, parts.pkg);
33
- }
34
-
35
- function splitAuthorPkg(pkgIdentifier /*: string */) /*: {
36
- author: string,
37
- pkg: string,
38
- } */ {
39
- const parts = pkgIdentifier.split('/');
40
- return { author: parts[0], pkg: parts[1] };
41
- }
42
-
43
- module.exports = {
44
- elmHome,
45
- packagePath,
46
- splitAuthorPkg,
47
- };
@@ -1,194 +0,0 @@
1
- // @flow
2
-
3
- const fs = require('fs');
4
- const path = require('path');
5
-
6
- // Poor man’s type alias. We can’t use /*:: type Dependencies = ... */ because of:
7
- // https://github.com/prettier/prettier/issues/2597
8
- const Dependencies /*: { [string]: string } */ = {};
9
-
10
- const DirectAndIndirectDependencies /*: {
11
- direct: typeof Dependencies,
12
- indirect: typeof Dependencies,
13
- } */ = { direct: {}, indirect: {} };
14
-
15
- const ElmJson /*:
16
- | {
17
- type: 'application',
18
- 'source-directories': Array<string>,
19
- dependencies: typeof DirectAndIndirectDependencies,
20
- 'test-dependencies': typeof DirectAndIndirectDependencies,
21
- [string]: mixed,
22
- }
23
- | {
24
- type: 'package',
25
- dependencies: typeof Dependencies,
26
- 'test-dependencies': typeof Dependencies,
27
- [string]: mixed,
28
- } */ = {
29
- type: 'package',
30
- dependencies: Dependencies,
31
- 'test-dependencies': Dependencies,
32
- };
33
-
34
- function getPath(dir /*: string */) /*: string */ {
35
- return path.join(dir, 'elm.json');
36
- }
37
-
38
- function write(dir /*: string */, elmJson /*: typeof ElmJson */) /*: void */ {
39
- const elmJsonPath = getPath(dir);
40
-
41
- try {
42
- fs.writeFileSync(elmJsonPath, JSON.stringify(elmJson, null, 4) + '\n');
43
- } catch (error) {
44
- throw new Error(
45
- `${elmJsonPath}\nFailed to write elm.json:\n${error.message}`
46
- );
47
- }
48
- }
49
-
50
- function read(dir /*: string */) /*: typeof ElmJson */ {
51
- const elmJsonPath = getPath(dir);
52
-
53
- try {
54
- return readHelper(elmJsonPath);
55
- } catch (error) {
56
- throw new Error(
57
- `${elmJsonPath}\nFailed to read elm.json:\n${error.message}`
58
- );
59
- }
60
- }
61
-
62
- function readHelper(elmJsonPath /*: string */) /*: typeof ElmJson */ {
63
- const json = parseObject(
64
- JSON.parse(fs.readFileSync(elmJsonPath, 'utf8')),
65
- 'the file'
66
- );
67
-
68
- switch (json.type) {
69
- case 'application':
70
- return {
71
- ...json,
72
- type: 'application',
73
- 'source-directories': parseSourceDirectories(
74
- json['source-directories']
75
- ),
76
- dependencies: parseDirectAndIndirectDependencies(
77
- json.dependencies,
78
- 'dependencies'
79
- ),
80
- 'test-dependencies': parseDirectAndIndirectDependencies(
81
- json['test-dependencies'],
82
- 'test-dependencies'
83
- ),
84
- };
85
-
86
- case 'package':
87
- return {
88
- ...json,
89
- type: 'package',
90
- dependencies: parseDependencies(json.dependencies, 'dependencies'),
91
- 'test-dependencies': parseDependencies(
92
- json['test-dependencies'],
93
- 'test-dependencies'
94
- ),
95
- };
96
-
97
- default:
98
- throw new Error(
99
- `Expected "type" to be "application" or "package", but got: ${stringify(
100
- json.type
101
- )}`
102
- );
103
- }
104
- }
105
-
106
- function parseSourceDirectories(json /*: mixed */) /*: Array<string> */ {
107
- if (!Array.isArray(json)) {
108
- throw new Error(
109
- `Expected "source-directories" to be an array, but got: ${stringify(
110
- json
111
- )}`
112
- );
113
- }
114
-
115
- const result = [];
116
-
117
- for (const [index, item] of json.entries()) {
118
- if (typeof item !== 'string') {
119
- throw new Error(
120
- `Expected "source-directories"->${index} to be a string, but got: ${stringify(
121
- item
122
- )}`
123
- );
124
- }
125
- result.push(item);
126
- }
127
-
128
- if (result.length === 0) {
129
- throw new Error(
130
- 'Expected "source-directories" to contain at least one item, but it is empty.'
131
- );
132
- }
133
-
134
- return result;
135
- }
136
-
137
- function parseDirectAndIndirectDependencies(
138
- json /*: mixed */,
139
- what /*: string */
140
- ) /*: typeof DirectAndIndirectDependencies */ {
141
- const jsonObject = parseObject(json, what);
142
- return {
143
- direct: parseDependencies(jsonObject.direct, `${what}->"direct"`),
144
- indirect: parseDependencies(jsonObject.indirect, `${what}->"indirect"`),
145
- };
146
- }
147
-
148
- function parseDependencies(
149
- json /*: mixed */,
150
- what /*: string */
151
- ) /*: typeof Dependencies */ {
152
- const jsonObject = parseObject(json, what);
153
- const result = {};
154
-
155
- for (const [key, value] of Object.entries(jsonObject)) {
156
- if (typeof value !== 'string') {
157
- throw new Error(
158
- `Expected ${what}->${stringify(
159
- key
160
- )} to be a string, but got: ${stringify(value)}`
161
- );
162
- }
163
- result[key] = value;
164
- }
165
-
166
- return result;
167
- }
168
-
169
- function parseObject(
170
- json /*: mixed */,
171
- what /*: string */
172
- ) /*: { +[string]: mixed } */ {
173
- if (json == null || typeof json !== 'object' || Array.isArray(json)) {
174
- throw new Error(
175
- `Expected ${what} to be an object, but got: ${stringify(json)}`
176
- );
177
- }
178
- return json;
179
- }
180
-
181
- function stringify(json /*: mixed */) /*: string */ {
182
- const maybeString = JSON.stringify(json);
183
- return maybeString === undefined ? 'undefined' : maybeString;
184
- }
185
-
186
- module.exports = {
187
- Dependencies,
188
- DirectAndIndirectDependencies,
189
- ElmJson,
190
- getPath,
191
- parseDirectAndIndirectDependencies,
192
- read,
193
- write,
194
- };