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
@@ -0,0 +1,202 @@
1
+ module BackendTask.Port exposing
2
+ ( get
3
+ , Error(..)
4
+ )
5
+
6
+ {-|
7
+
8
+ @docs get
9
+
10
+ @docs Error
11
+
12
+ -}
13
+
14
+ import BackendTask
15
+ import BackendTask.Http
16
+ import BackendTask.Internal.Request
17
+ import Exception exposing (Catchable)
18
+ import Json.Decode as Decode exposing (Decoder)
19
+ import Json.Encode as Encode
20
+ import TerminalText
21
+
22
+
23
+ {-| In a vanilla Elm application, ports let you either send or receive JSON data between your Elm application and the JavaScript context in the user's browser at runtime.
24
+
25
+ With `BackendTask.Port`, you send and receive JSON to JavaScript running in NodeJS during build-time. This means that you can call shell scripts, or run NPM packages that are installed, or anything else you could do with NodeJS.
26
+
27
+ A `BackendTask.Port` will call an async JavaScript function with the given name. The function receives the input JSON value, and the Decoder is used to decode the return value of the async function.
28
+
29
+ Here is the Elm code and corresponding JavaScript definition for getting an environment variable (or a build error if it isn't found).
30
+
31
+ import BackendTask exposing (BackendTask)
32
+ import BackendTask.Port
33
+ import Json.Encode
34
+ import OptimizedDecoder as Decode
35
+
36
+ data : BackendTask String
37
+ data =
38
+ BackendTask.Port.get "environmentVariable"
39
+ (Json.Encode.string "EDITOR")
40
+ Decode.string
41
+
42
+ -- will resolve to "VIM" if you run `EDITOR=vim elm-pages dev`
43
+
44
+ ```javascript
45
+ const kleur = require("kleur");
46
+
47
+
48
+ module.exports =
49
+ /**
50
+ * @param { unknown } fromElm
51
+ * @returns { Promise<unknown> }
52
+ */
53
+ {
54
+ environmentVariable: async function (name) {
55
+ const result = process.env[name];
56
+ if (result) {
57
+ return result;
58
+ } else {
59
+ throw `No environment variable called ${kleur
60
+ .yellow()
61
+ .underline(name)}\n\nAvailable:\n\n${Object.keys(process.env).join(
62
+ "\n"
63
+ )}`;
64
+ }
65
+ },
66
+ }
67
+ ```
68
+
69
+
70
+ ## Error Handling
71
+
72
+ `port-data-source.js`
73
+
74
+ Any time you throw an exception from a BackendTask.Port definition, it will result in a build error in your `elm-pages build` or dev server. In the example above, if the environment variable
75
+ is not found it will result in a build failure. Notice that the NPM package `kleur` is being used in this example to add color to the output for that build error. You can use any tool you
76
+ prefer to add ANSI color codes within the error string in an exception and it will show up with color output in the build output and dev server.
77
+
78
+
79
+ ## Performance
80
+
81
+ As with any JavaScript or NodeJS code, avoid doing blocking IO operations. For example, avoid using `fs.readFileSync`, because blocking IO can slow down your elm-pages builds and dev server.
82
+
83
+ -}
84
+ get : String -> Encode.Value -> Decoder b -> BackendTask.BackendTask (Catchable Error) b
85
+ get portName input decoder =
86
+ BackendTask.Internal.Request.request
87
+ { name = "port"
88
+ , body =
89
+ Encode.object
90
+ [ ( "input", input )
91
+ , ( "portName", Encode.string portName )
92
+ ]
93
+ |> BackendTask.Http.jsonBody
94
+ , expect =
95
+ Decode.oneOf
96
+ [ Decode.field "elm-pages-internal-error" Decode.string
97
+ |> Decode.andThen
98
+ (\errorKind ->
99
+ if errorKind == "PortNotDefined" then
100
+ Exception.Catchable (PortNotDefined { name = portName })
101
+ { title = "Port Error"
102
+ , body =
103
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I expected to find a port named `"
104
+ , TerminalText.yellow portName
105
+ , TerminalText.text "` but I couldn't find it. Is the function exported in your port-data-source file?"
106
+ ]
107
+ |> TerminalText.toString
108
+ }
109
+ |> Decode.succeed
110
+
111
+ else if errorKind == "ExportIsNotFunction" then
112
+ Decode.field "error" Decode.string
113
+ |> Decode.maybe
114
+ |> Decode.map (Maybe.withDefault "")
115
+ |> Decode.map
116
+ (\incorrectPortType ->
117
+ Exception.Catchable ExportIsNotFunction
118
+ { title = "Port Error"
119
+ , body =
120
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I found an export called `"
121
+ , TerminalText.yellow portName
122
+ , TerminalText.text "` but I expected its type to be function, but instead its type was: "
123
+ , TerminalText.red incorrectPortType
124
+ ]
125
+ |> TerminalText.toString
126
+ }
127
+ )
128
+
129
+ else if errorKind == "MissingPortsFile" then
130
+ Exception.Catchable MissingPortsFile
131
+ { title = "Port Error"
132
+ , body =
133
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I couldn't find your port-data-source file. Be sure to create a 'port-data-source.ts' or 'port-data-source.js' file."
134
+ ]
135
+ |> TerminalText.toString
136
+ }
137
+ |> Decode.succeed
138
+
139
+ else if errorKind == "ErrorInPortsFile" then
140
+ Decode.field "error" Decode.string
141
+ |> Decode.maybe
142
+ |> Decode.map (Maybe.withDefault "")
143
+ |> Decode.map
144
+ (\errorMessage ->
145
+ Exception.Catchable
146
+ ErrorInPortsFile
147
+ { title = "Port Error"
148
+ , body =
149
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I couldn't import the port definitions file, because of this exception:\n\n"
150
+ , TerminalText.red errorMessage
151
+ , TerminalText.text "\n\nAre there syntax errors or exceptions thrown during import?"
152
+ ]
153
+ |> TerminalText.toString
154
+ }
155
+ )
156
+
157
+ else if errorKind == "PortCallError" then
158
+ Decode.field "error" Decode.value
159
+ |> Decode.maybe
160
+ |> Decode.map (Maybe.withDefault Encode.null)
161
+ |> Decode.map
162
+ (\portCallError ->
163
+ Exception.Catchable
164
+ (PortCallError portCallError)
165
+ { title = "Port Error"
166
+ , body =
167
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I couldn't import the port definitions file, because of this exception:\n\n"
168
+ , TerminalText.red (Encode.encode 2 portCallError)
169
+ , TerminalText.text "\n\nAre there syntax errors or exceptions thrown during import?"
170
+ ]
171
+ |> TerminalText.toString
172
+ }
173
+ )
174
+
175
+ else
176
+ Exception.Catchable ErrorInPortsFile
177
+ { title = "Port Error"
178
+ , body =
179
+ [ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I expected to find a port named `"
180
+ , TerminalText.yellow portName
181
+ , TerminalText.text "`."
182
+ ]
183
+ |> TerminalText.toString
184
+ }
185
+ |> Decode.succeed
186
+ )
187
+ |> Decode.map Err
188
+ , decoder |> Decode.map Ok
189
+ ]
190
+ |> BackendTask.Http.expectJson
191
+ }
192
+ |> BackendTask.andThen BackendTask.fromResult
193
+
194
+
195
+ {-| -}
196
+ type Error
197
+ = Error
198
+ | ErrorInPortsFile
199
+ | MissingPortsFile
200
+ | PortNotDefined { name : String }
201
+ | PortCallError Decode.Value
202
+ | ExportIsNotFunction