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,4 +1,4 @@
1
- module DataSource.Glob exposing
1
+ module BackendTask.Glob exposing
2
2
  ( Glob
3
3
  , capture, match
4
4
  , captureFilePath
@@ -9,8 +9,8 @@ module DataSource.Glob exposing
9
9
  , map, succeed
10
10
  , oneOf
11
11
  , zeroOrMore, atLeastOne
12
- , toDataSource
13
- , toDataSourceWithOptions
12
+ , toBackendTask
13
+ , toBackendTaskWithOptions
14
14
  , defaultOptions, Options, Include(..)
15
15
  )
16
16
 
@@ -18,23 +18,23 @@ module DataSource.Glob exposing
18
18
 
19
19
  @docs Glob
20
20
 
21
- This module helps you get a List of matching file paths from your local file system as a [`DataSource`](DataSource#DataSource). See the [`DataSource`](DataSource) module documentation
22
- for ways you can combine and map `DataSource`s.
21
+ This module helps you get a List of matching file paths from your local file system as a [`BackendTask`](BackendTask#BackendTask). See the [`BackendTask`](BackendTask) module documentation
22
+ for ways you can combine and map `BackendTask`s.
23
23
 
24
24
  A common example would be to find all the markdown files of your blog posts. If you have all your blog posts in `content/blog/*.md`
25
25
  , then you could use that glob pattern in most shells to refer to each of those files.
26
26
 
27
- With the `DataSource.Glob` API, you could get all of those files like so:
27
+ With the `BackendTask.Glob` API, you could get all of those files like so:
28
28
 
29
- import DataSource exposing (DataSource)
29
+ import BackendTask exposing (BackendTask)
30
30
 
31
- blogPostsGlob : DataSource (List String)
31
+ blogPostsGlob : BackendTask (List String)
32
32
  blogPostsGlob =
33
33
  Glob.succeed (\slug -> slug)
34
34
  |> Glob.match (Glob.literal "content/blog/")
35
35
  |> Glob.capture Glob.wildcard
36
36
  |> Glob.match (Glob.literal ".md")
37
- |> Glob.toDataSource
37
+ |> Glob.toBackendTask
38
38
 
39
39
  Let's say you have these files locally:
40
40
 
@@ -47,11 +47,11 @@ Let's say you have these files locally:
47
47
  - second-post.md
48
48
  ```
49
49
 
50
- We would end up with a `DataSource` like this:
50
+ We would end up with a `BackendTask` like this:
51
51
 
52
- DataSource.succeed [ "first-post", "second-post" ]
52
+ BackendTask.succeed [ "first-post", "second-post" ]
53
53
 
54
- Of course, if you add or remove matching files, the DataSource will get those new files (unlike `DataSource.succeed`). That's why we have Glob!
54
+ Of course, if you add or remove matching files, the BackendTask will get those new files (unlike `BackendTask.succeed`). That's why we have Glob!
55
55
 
56
56
  You can even see the `elm-pages dev` server will automatically flow through any added/removed matching files with its hot module reloading.
57
57
 
@@ -66,10 +66,10 @@ There are two functions for building up a Glob pattern: `capture` and `match`.
66
66
  `capture` and `match` both build up a `Glob` pattern that will match 0 or more files on your local file system.
67
67
  There will be one argument for every `capture` in your pipeline, whereas `match` does not apply any arguments.
68
68
 
69
- import DataSource exposing (DataSource)
70
- import DataSource.Glob as Glob
69
+ import BackendTask exposing (BackendTask)
70
+ import BackendTask.Glob as Glob
71
71
 
72
- blogPostsGlob : DataSource (List String)
72
+ blogPostsGlob : BackendTask (List String)
73
73
  blogPostsGlob =
74
74
  Glob.succeed (\slug -> slug)
75
75
  -- no argument from this, but we will only
@@ -81,7 +81,7 @@ There will be one argument for every `capture` in your pipeline, whereas `match`
81
81
  -- no argument from this, but we will only
82
82
  -- match files that end with `.md`
83
83
  |> Glob.match (Glob.literal ".md")
84
- |> Glob.toDataSource
84
+ |> Glob.toBackendTask
85
85
 
86
86
  So to understand _which_ files will match, you can ignore whether you are using `capture` or `match` and just read
87
87
  the patterns you're using in order to understand what will match. To understand what Elm data type you will get
@@ -94,10 +94,10 @@ used in the function you use in `Glob.succeed`.
94
94
 
95
95
  Let's try our blogPostsGlob from before, but change every `match` to `capture`.
96
96
 
97
- import DataSource exposing (DataSource)
97
+ import BackendTask exposing (BackendTask)
98
98
 
99
99
  blogPostsGlob :
100
- DataSource
100
+ BackendTask
101
101
  (List
102
102
  { filePath : String
103
103
  , slug : String
@@ -113,15 +113,15 @@ Let's try our blogPostsGlob from before, but change every `match` to `capture`.
113
113
  |> Glob.capture (Glob.literal "content/blog/")
114
114
  |> Glob.capture Glob.wildcard
115
115
  |> Glob.capture (Glob.literal ".md")
116
- |> Glob.toDataSource
116
+ |> Glob.toBackendTask
117
117
 
118
118
  Notice that we now need 3 arguments at the start of our pipeline instead of 1. That's because
119
119
  we apply 1 more argument every time we do a `Glob.capture`, much like `Json.Decode.Pipeline.required`, or other pipeline APIs.
120
120
 
121
121
  Now we actually have the full file path of our files. But having that slug (like `first-post`) is also very helpful sometimes, so
122
- we kept that in our record as well. So we'll now have the equivalent of this `DataSource` with the current `.md` files in our `blog` folder:
122
+ we kept that in our record as well. So we'll now have the equivalent of this `BackendTask` with the current `.md` files in our `blog` folder:
123
123
 
124
- DataSource.succeed
124
+ BackendTask.succeed
125
125
  [ { filePath = "content/blog/first-post.md"
126
126
  , slug = "first-post"
127
127
  }
@@ -152,23 +152,23 @@ title: My First Post
152
152
  This is my first post!
153
153
  ```
154
154
 
155
- Then we could read that title for our blog post list page using our `blogPosts` `DataSource` that we defined above.
155
+ Then we could read that title for our blog post list page using our `blogPosts` `BackendTask` that we defined above.
156
156
 
157
- import DataSource.File
157
+ import BackendTask.File
158
158
  import Json.Decode as Decode exposing (Decoder)
159
159
 
160
- titles : DataSource (List BlogPost)
160
+ titles : BackendTask (List BlogPost)
161
161
  titles =
162
162
  blogPosts
163
- |> DataSource.map
163
+ |> BackendTask.map
164
164
  (List.map
165
165
  (\blogPost ->
166
- DataSource.File.request
166
+ BackendTask.File.request
167
167
  blogPost.filePath
168
- (DataSource.File.frontmatter blogFrontmatterDecoder)
168
+ (BackendTask.File.frontmatter blogFrontmatterDecoder)
169
169
  )
170
170
  )
171
- |> DataSource.resolve
171
+ |> BackendTask.resolve
172
172
 
173
173
  type alias BlogPost =
174
174
  { title : String }
@@ -180,7 +180,7 @@ Then we could read that title for our blog post list page using our `blogPosts`
180
180
 
181
181
  That will give us
182
182
 
183
- DataSource.succeed
183
+ BackendTask.succeed
184
184
  [ { title = "My First Post" }
185
185
  , { title = "My Second Post" }
186
186
  ]
@@ -212,23 +212,24 @@ That will give us
212
212
  @docs zeroOrMore, atLeastOne
213
213
 
214
214
 
215
- ## Getting Glob Data from a DataSource
215
+ ## Getting Glob Data from a BackendTask
216
216
 
217
- @docs toDataSource
217
+ @docs toBackendTask
218
218
 
219
219
 
220
220
  ### With Custom Options
221
221
 
222
- @docs toDataSourceWithOptions
222
+ @docs toBackendTaskWithOptions
223
223
 
224
224
  @docs defaultOptions, Options, Include
225
225
 
226
226
  -}
227
227
 
228
- import DataSource exposing (DataSource)
229
- import DataSource.Http
230
- import DataSource.Internal.Glob exposing (Glob(..))
231
- import DataSource.Internal.Request
228
+ import BackendTask exposing (BackendTask)
229
+ import BackendTask.Http
230
+ import BackendTask.Internal.Glob exposing (Glob(..))
231
+ import BackendTask.Internal.Request
232
+ import Exception exposing (Catchable, Throwable)
232
233
  import Json.Decode as Decode
233
234
  import Json.Encode as Encode
234
235
  import List.Extra
@@ -237,7 +238,7 @@ import List.Extra
237
238
  {-| A pattern to match local files and capture parts of the path into a nice Elm data type.
238
239
  -}
239
240
  type alias Glob a =
240
- DataSource.Internal.Glob.Glob a
241
+ BackendTask.Internal.Glob.Glob a
241
242
 
242
243
 
243
244
  {-| A `Glob` can be mapped. This can be useful for transforming a sub-match in-place.
@@ -245,26 +246,26 @@ type alias Glob a =
245
246
  For example, if you wanted to take the slugs for a blog post and make sure they are normalized to be all lowercase, you
246
247
  could use
247
248
 
248
- import DataSource exposing (DataSource)
249
- import DataSource.Glob as Glob
249
+ import BackendTask exposing (BackendTask)
250
+ import BackendTask.Glob as Glob
250
251
 
251
- blogPostsGlob : DataSource (List String)
252
+ blogPostsGlob : BackendTask (List String)
252
253
  blogPostsGlob =
253
254
  Glob.succeed (\slug -> slug)
254
255
  |> Glob.match (Glob.literal "content/blog/")
255
256
  |> Glob.capture (Glob.wildcard |> Glob.map String.toLower)
256
257
  |> Glob.match (Glob.literal ".md")
257
- |> Glob.toDataSource
258
+ |> Glob.toBackendTask
258
259
 
259
- If you want to validate file formats, you can combine that with some `DataSource` helpers to turn a `Glob (Result String value)` into
260
- a `DataSource (List value)`.
260
+ If you want to validate file formats, you can combine that with some `BackendTask` helpers to turn a `Glob (Result String value)` into
261
+ a `BackendTask (List value)`.
261
262
 
262
263
  For example, you could take a date and parse it.
263
264
 
264
- import DataSource exposing (DataSource)
265
- import DataSource.Glob as Glob
265
+ import BackendTask exposing (BackendTask)
266
+ import BackendTask.Glob as Glob
266
267
 
267
- example : DataSource (List ( String, String ))
268
+ example : BackendTask (List ( String, String ))
268
269
  example =
269
270
  Glob.succeed
270
271
  (\dateResult slug ->
@@ -276,9 +277,9 @@ For example, you could take a date and parse it.
276
277
  |> Glob.match (Glob.literal "/")
277
278
  |> Glob.capture Glob.wildcard
278
279
  |> Glob.match (Glob.literal ".md")
279
- |> Glob.toDataSource
280
- |> DataSource.map (List.map DataSource.fromResult)
281
- |> DataSource.resolve
280
+ |> Glob.toBackendTask
281
+ |> BackendTask.map (List.map BackendTask.fromResult)
282
+ |> BackendTask.resolve
282
283
 
283
284
  expectDateFormat : List String -> Result String String
284
285
  expectDateFormat dateParts =
@@ -317,11 +318,11 @@ fullFilePath =
317
318
 
318
319
  {-|
319
320
 
320
- import DataSource exposing (DataSource)
321
- import DataSource.Glob as Glob
321
+ import BackendTask exposing (BackendTask)
322
+ import BackendTask.Glob as Glob
322
323
 
323
324
  blogPosts :
324
- DataSource
325
+ BackendTask
325
326
  (List
326
327
  { filePath : String
327
328
  , slug : String
@@ -338,7 +339,7 @@ fullFilePath =
338
339
  |> Glob.match (Glob.literal "content/blog/")
339
340
  |> Glob.capture Glob.wildcard
340
341
  |> Glob.match (Glob.literal ".md")
341
- |> Glob.toDataSource
342
+ |> Glob.toBackendTask
342
343
 
343
344
  This function does not change which files will or will not match. It just gives you the full matching
344
345
  file path in your `Glob` pipeline.
@@ -357,8 +358,8 @@ where you can run commands like `rm client/*.js` to remove all `.js` files in th
357
358
  Just like a `*` glob pattern in bash, this `Glob.wildcard` function will only match within a path part. If you need to
358
359
  match 0 or more path parts like, see `recursiveWildcard`.
359
360
 
360
- import DataSource exposing (DataSource)
361
- import DataSource.Glob as Glob
361
+ import BackendTask exposing (BackendTask)
362
+ import BackendTask.Glob as Glob
362
363
 
363
364
  type alias BlogPost =
364
365
  { year : String
@@ -367,7 +368,7 @@ match 0 or more path parts like, see `recursiveWildcard`.
367
368
  , slug : String
368
369
  }
369
370
 
370
- example : DataSource (List BlogPost)
371
+ example : BackendTask (List BlogPost)
371
372
  example =
372
373
  Glob.succeed BlogPost
373
374
  |> Glob.match (Glob.literal "blog/")
@@ -379,7 +380,7 @@ match 0 or more path parts like, see `recursiveWildcard`.
379
380
  |> Glob.match (Glob.literal "/")
380
381
  |> Glob.capture Glob.wildcard
381
382
  |> Glob.match (Glob.literal ".md")
382
- |> Glob.toDataSource
383
+ |> Glob.toBackendTask
383
384
 
384
385
  ```shell
385
386
 
@@ -390,9 +391,9 @@ match 0 or more path parts like, see `recursiveWildcard`.
390
391
 
391
392
  That will match to:
392
393
 
393
- results : DataSource (List BlogPost)
394
+ results : BackendTask (List BlogPost)
394
395
  results =
395
- DataSource.succeed
396
+ BackendTask.succeed
396
397
  [ { year = "2021"
397
398
  , month = "05"
398
399
  , day = "27"
@@ -439,16 +440,16 @@ digits =
439
440
 
440
441
  Leading 0's are ignored.
441
442
 
442
- import DataSource exposing (DataSource)
443
- import DataSource.Glob as Glob
443
+ import BackendTask exposing (BackendTask)
444
+ import BackendTask.Glob as Glob
444
445
 
445
- slides : DataSource (List Int)
446
+ slides : BackendTask (List Int)
446
447
  slides =
447
448
  Glob.succeed identity
448
449
  |> Glob.match (Glob.literal "slide-")
449
450
  |> Glob.capture Glob.int
450
451
  |> Glob.match (Glob.literal ".md")
451
- |> Glob.toDataSource
452
+ |> Glob.toBackendTask
452
453
 
453
454
  With files
454
455
 
@@ -471,9 +472,9 @@ With files
471
472
 
472
473
  Yields
473
474
 
474
- matches : DataSource (List Int)
475
+ matches : BackendTask (List Int)
475
476
  matches =
476
- DataSource.succeed
477
+ BackendTask.succeed
477
478
  [ 1
478
479
  , 1
479
480
  , 2
@@ -509,10 +510,10 @@ In contrast, `wildcard` will never match `/`, so it only matches within a single
509
510
 
510
511
  This is the elm-pages equivalent of `**/*.txt` in standard shell syntax:
511
512
 
512
- import DataSource exposing (DataSource)
513
- import DataSource.Glob as Glob
513
+ import BackendTask exposing (BackendTask)
514
+ import BackendTask.Glob as Glob
514
515
 
515
- example : DataSource (List ( List String, String ))
516
+ example : BackendTask (List ( List String, String ))
516
517
  example =
517
518
  Glob.succeed Tuple.pair
518
519
  |> Glob.match (Glob.literal "articles/")
@@ -520,7 +521,7 @@ This is the elm-pages equivalent of `**/*.txt` in standard shell syntax:
520
521
  |> Glob.match (Glob.literal "/")
521
522
  |> Glob.capture Glob.wildcard
522
523
  |> Glob.match (Glob.literal ".txt")
523
- |> Glob.toDataSource
524
+ |> Glob.toBackendTask
524
525
 
525
526
  With these files:
526
527
 
@@ -536,9 +537,9 @@ With these files:
536
537
 
537
538
  We would get the following matches:
538
539
 
539
- matches : DataSource (List ( List String, String ))
540
+ matches : BackendTask (List ( List String, String ))
540
541
  matches =
541
- DataSource.succeed
542
+ BackendTask.succeed
542
543
  [ ( [ "archive", "1977", "06", "10" ], "apple-2-announced" )
543
544
  , ( [], "google-io-2021-recap" )
544
545
  ]
@@ -551,16 +552,16 @@ And also note that it matches 0 path parts into an empty list.
551
552
  If we didn't include the `wildcard` after the `recursiveWildcard`, then we would only get
552
553
  a single level of matches because it is followed by a file extension.
553
554
 
554
- example : DataSource (List String)
555
+ example : BackendTask (List String)
555
556
  example =
556
557
  Glob.succeed identity
557
558
  |> Glob.match (Glob.literal "articles/")
558
559
  |> Glob.capture Glob.recursiveWildcard
559
560
  |> Glob.match (Glob.literal ".txt")
560
561
 
561
- matches : DataSource (List String)
562
+ matches : BackendTask (List String)
562
563
  matches =
563
- DataSource.succeed
564
+ BackendTask.succeed
564
565
  [ "google-io-2021-recap"
565
566
  ]
566
567
 
@@ -615,8 +616,8 @@ Some common uses include
615
616
  - In-between wildcards, to say "these dynamic parts are separated by `/`"
616
617
 
617
618
  ```elm
618
- import DataSource exposing (DataSource)
619
- import DataSource.Glob as Glob
619
+ import BackendTask exposing (BackendTask)
620
+ import BackendTask.Glob as Glob
620
621
 
621
622
  blogPosts =
622
623
  Glob.succeed
@@ -676,7 +677,7 @@ Exactly the same as `match` except it also captures the matched sub-pattern.
676
677
  , slug : String
677
678
  }
678
679
 
679
- archives : DataSource ArchivesArticle
680
+ archives : BackendTask ArchivesArticle
680
681
  archives =
681
682
  Glob.succeed ArchivesArticle
682
683
  |> Glob.match (Glob.literal "archive/")
@@ -688,13 +689,13 @@ Exactly the same as `match` except it also captures the matched sub-pattern.
688
689
  |> Glob.match (Glob.literal "/")
689
690
  |> Glob.capture Glob.wildcard
690
691
  |> Glob.match (Glob.literal ".md")
691
- |> Glob.toDataSource
692
+ |> Glob.toBackendTask
692
693
 
693
694
  The file `archive/1977/06/10/apple-2-released.md` will give us this match:
694
695
 
695
696
  matches : List ArchivesArticle
696
697
  matches =
697
- DataSource.succeed
698
+ BackendTask.succeed
698
699
  [ { year = 1977
699
700
  , month = 6
700
701
  , day = 10
@@ -732,7 +733,7 @@ capture (Glob matcherPattern apply1) (Glob pattern apply2) =
732
733
 
733
734
  {-|
734
735
 
735
- import DataSource.Glob as Glob
736
+ import BackendTask.Glob as Glob
736
737
 
737
738
  type Extension
738
739
  = Json
@@ -743,7 +744,7 @@ capture (Glob matcherPattern apply1) (Glob pattern apply2) =
743
744
  , extension : String
744
745
  }
745
746
 
746
- dataFiles : DataSource (List DataFile)
747
+ dataFiles : BackendTask (List DataFile)
747
748
  dataFiles =
748
749
  Glob.succeed DataFile
749
750
  |> Glob.match (Glob.literal "my-data/")
@@ -767,9 +768,9 @@ If we have the following files
767
768
 
768
769
  That gives us
769
770
 
770
- results : DataSource (List DataFile)
771
+ results : BackendTask (List DataFile)
771
772
  results =
772
- DataSource.succeed
773
+ BackendTask.succeed
773
774
  [ { name = "authors"
774
775
  , extension = Yml
775
776
  }
@@ -780,7 +781,7 @@ That gives us
780
781
 
781
782
  You could also match an optional file path segment using `oneOf`.
782
783
 
783
- rootFilesMd : DataSource (List String)
784
+ rootFilesMd : BackendTask (List String)
784
785
  rootFilesMd =
785
786
  Glob.succeed (\slug -> slug)
786
787
  |> Glob.match (Glob.literal "blog/")
@@ -792,7 +793,7 @@ You could also match an optional file path segment using `oneOf`.
792
793
  )
793
794
  )
794
795
  |> Glob.match (Glob.literal ".md")
795
- |> Glob.toDataSource
796
+ |> Glob.toBackendTask
796
797
 
797
798
  With these files:
798
799
 
@@ -805,9 +806,9 @@ With these files:
805
806
 
806
807
  This would give us:
807
808
 
808
- results : DataSource (List String)
809
+ results : BackendTask (List String)
809
810
  results =
810
- DataSource.succeed
811
+ BackendTask.succeed
811
812
  [ "first-post"
812
813
  , "second-post"
813
814
  ]
@@ -874,7 +875,7 @@ atLeastOne ( defaultMatch, otherMatchers ) =
874
875
  -- |> Maybe.withDefault (defaultMatch |> Tuple.second)
875
876
  -- , []
876
877
  -- )
877
- DataSource.Internal.Glob.extractMatches (defaultMatch |> Tuple.second) allMatchers match_
878
+ BackendTask.Internal.Glob.extractMatches (defaultMatch |> Tuple.second) allMatchers match_
878
879
  |> toNonEmptyWithDefault (defaultMatch |> Tuple.second)
879
880
  , rest
880
881
  )
@@ -894,11 +895,11 @@ toNonEmptyWithDefault default list =
894
895
  ( default, [] )
895
896
 
896
897
 
897
- {-| In order to get match data from your glob, turn it into a `DataSource` with this function.
898
+ {-| In order to get match data from your glob, turn it into a `BackendTask` with this function.
898
899
  -}
899
- toDataSource : Glob a -> DataSource (List a)
900
- toDataSource glob =
901
- toDataSourceWithOptions defaultOptions glob
900
+ toBackendTask : Glob a -> BackendTask error (List a)
901
+ toBackendTask glob =
902
+ toBackendTaskWithOptions defaultOptions glob
902
903
 
903
904
 
904
905
  {-| <https://github.com/mrmlnc/fast-glob#onlyfiles>
@@ -912,7 +913,7 @@ type Include
912
913
  | FilesAndFolders
913
914
 
914
915
 
915
- {-| Custom options you can pass in to run the glob with [`toDataSourceWithOptions`](#toDataSourceWithOptions).
916
+ {-| Custom options you can pass in to run the glob with [`toBackendTaskWithOptions`](#toBackendTaskWithOptions).
916
917
 
917
918
  { includeDotFiles = Bool -- https://github.com/mrmlnc/fast-glob#dot
918
919
  , include = Include -- return results that are `OnlyFiles`, `OnlyFolders`, or both `FilesAndFolders` (default is `OnlyFiles`)
@@ -933,7 +934,7 @@ type alias Options =
933
934
  }
934
935
 
935
936
 
936
- {-| The default options used in [`toDataSource`](#toDataSource). To use a custom set of options, use [`toDataSourceWithOptions`](#toDataSourceWithOptions).
937
+ {-| The default options used in [`toBackendTask`](#toBackendTask). To use a custom set of options, use [`toBackendTaskWithOptions`](#toBackendTaskWithOptions).
937
938
  -}
938
939
  defaultOptions : Options
939
940
  defaultOptions =
@@ -960,26 +961,26 @@ encodeOptions options =
960
961
  |> Encode.object
961
962
 
962
963
 
963
- {-| Same as toDataSource, but lets you set custom glob options. For example, to list folders instead of files,
964
+ {-| Same as toBackendTask, but lets you set custom glob options. For example, to list folders instead of files,
964
965
 
965
- import DataSource.Glob as Glob exposing (OnlyFolders, defaultOptions)
966
+ import BackendTask.Glob as Glob exposing (OnlyFolders, defaultOptions)
966
967
 
967
- matchingFiles : Glob a -> DataSource (List a)
968
+ matchingFiles : Glob a -> BackendTask (List a)
968
969
  matchingFiles glob =
969
970
  glob
970
- |> Glob.toDataSourceWithOptions { defaultOptions | include = OnlyFolders }
971
+ |> Glob.toBackendTaskWithOptions { defaultOptions | include = OnlyFolders }
971
972
 
972
973
  -}
973
- toDataSourceWithOptions : Options -> Glob a -> DataSource (List a)
974
- toDataSourceWithOptions options glob =
975
- DataSource.Internal.Request.request
974
+ toBackendTaskWithOptions : Options -> Glob a -> BackendTask error (List a)
975
+ toBackendTaskWithOptions options glob =
976
+ BackendTask.Internal.Request.request
976
977
  { name = "glob"
977
978
  , body =
978
979
  Encode.object
979
- [ ( "pattern", Encode.string <| DataSource.Internal.Glob.toPattern glob )
980
+ [ ( "pattern", Encode.string <| BackendTask.Internal.Glob.toPattern glob )
980
981
  , ( "options", encodeOptions options )
981
982
  ]
982
- |> DataSource.Http.jsonBody
983
+ |> BackendTask.Http.jsonBody
983
984
  , expect =
984
985
  Decode.map2 (\fullPath captures -> { fullPath = fullPath, captures = captures })
985
986
  (Decode.field "fullPath" Decode.string)
@@ -990,24 +991,26 @@ toDataSourceWithOptions options glob =
990
991
  rawGlob
991
992
  |> List.map
992
993
  (\{ fullPath, captures } ->
993
- DataSource.Internal.Glob.run fullPath captures glob
994
+ BackendTask.Internal.Glob.run fullPath captures glob
994
995
  |> .match
995
996
  )
996
997
  )
997
- |> DataSource.Http.expectJson
998
+ |> BackendTask.Http.expectJson
998
999
  }
1000
+ |> BackendTask.onError
1001
+ (\_ -> BackendTask.succeed [])
999
1002
 
1000
1003
 
1001
1004
  {-| Sometimes you want to make sure there is a unique file matching a particular pattern.
1002
- This is a simple helper that will give you a `DataSource` error if there isn't exactly 1 matching file.
1005
+ This is a simple helper that will give you a `BackendTask` error if there isn't exactly 1 matching file.
1003
1006
  If there is exactly 1, then you successfully get back that single match.
1004
1007
 
1005
1008
  For example, maybe you can have
1006
1009
 
1007
- import DataSource exposing (DataSource)
1008
- import DataSource.Glob as Glob
1010
+ import BackendTask exposing (BackendTask)
1011
+ import BackendTask.Glob as Glob
1009
1012
 
1010
- findBlogBySlug : String -> DataSource String
1013
+ findBlogBySlug : String -> BackendTask String
1011
1014
  findBlogBySlug slug =
1012
1015
  Glob.succeed identity
1013
1016
  |> Glob.captureFilePath
@@ -1032,9 +1035,9 @@ If we used `findBlogBySlug "first-post"` with these files:
1032
1035
 
1033
1036
  This would give us:
1034
1037
 
1035
- results : DataSource String
1038
+ results : BackendTask String
1036
1039
  results =
1037
- DataSource.succeed "blog/first-post/index.md"
1040
+ BackendTask.succeed "blog/first-post/index.md"
1038
1041
 
1039
1042
  If we used `findBlogBySlug "first-post"` with these files:
1040
1043
 
@@ -1045,47 +1048,53 @@ If we used `findBlogBySlug "first-post"` with these files:
1045
1048
  - index.md
1046
1049
  ```
1047
1050
 
1048
- Then we will get a `DataSource` error saying `More than one file matched.` Keep in mind that `DataSource` failures
1051
+ Then we will get a `BackendTask` error saying `More than one file matched.` Keep in mind that `BackendTask` failures
1049
1052
  in build-time routes will cause a build failure, giving you the opportunity to fix the problem before users see the issue,
1050
1053
  so it's ideal to make this kind of assertion rather than having fallback behavior that could silently cover up
1051
1054
  issues (like if we had instead ignored the case where there are two or more matching blog post files).
1052
1055
 
1053
1056
  -}
1054
- expectUniqueMatch : Glob a -> DataSource a
1057
+ expectUniqueMatch : Glob a -> BackendTask (Catchable String) a
1055
1058
  expectUniqueMatch glob =
1056
1059
  glob
1057
- |> toDataSource
1058
- |> DataSource.andThen
1060
+ |> toBackendTask
1061
+ |> BackendTask.andThen
1059
1062
  (\matchingFiles ->
1060
1063
  case matchingFiles of
1061
1064
  [ file ] ->
1062
- DataSource.succeed file
1065
+ BackendTask.succeed file
1063
1066
 
1064
1067
  [] ->
1065
- DataSource.fail <| "No files matched the pattern: " ++ toPatternString glob
1068
+ BackendTask.fail <|
1069
+ Exception.fromStringWithValue
1070
+ ("No files matched the pattern: " ++ toPatternString glob)
1071
+ ("No files matched the pattern: " ++ toPatternString glob)
1066
1072
 
1067
1073
  _ ->
1068
- DataSource.fail "More than one file matched."
1074
+ BackendTask.fail <|
1075
+ Exception.fromStringWithValue
1076
+ "More than one file matched."
1077
+ "More than one file matched."
1069
1078
  )
1070
1079
 
1071
1080
 
1072
1081
  {-| -}
1073
- expectUniqueMatchFromList : List (Glob a) -> DataSource a
1082
+ expectUniqueMatchFromList : List (Glob a) -> BackendTask String a
1074
1083
  expectUniqueMatchFromList globs =
1075
1084
  globs
1076
- |> List.map toDataSource
1077
- |> DataSource.combine
1078
- |> DataSource.andThen
1085
+ |> List.map toBackendTask
1086
+ |> BackendTask.combine
1087
+ |> BackendTask.andThen
1079
1088
  (\matchingFiles ->
1080
1089
  case List.concat matchingFiles of
1081
1090
  [ file ] ->
1082
- DataSource.succeed file
1091
+ BackendTask.succeed file
1083
1092
 
1084
1093
  [] ->
1085
- DataSource.fail <| "No files matched the patterns: " ++ (globs |> List.map toPatternString |> String.join ", ")
1094
+ BackendTask.fail <| "No files matched the patterns: " ++ (globs |> List.map toPatternString |> String.join ", ")
1086
1095
 
1087
1096
  _ ->
1088
- DataSource.fail "More than one file matched."
1097
+ BackendTask.fail "More than one file matched."
1089
1098
  )
1090
1099
 
1091
1100