elm-pages 3.0.0-beta.13 → 3.0.0-beta.15
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.
- package/README.md +1 -1
- package/codegen/elm-pages-codegen.js +1497 -1130
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +1 -1
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +152 -40
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
- package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +58 -10
- package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +45 -29
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +46 -5
- package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +4 -4
- package/generator/src/RouteBuilder.elm +66 -52
- package/generator/src/SharedTemplate.elm +3 -2
- package/generator/src/SiteConfig.elm +3 -2
- package/generator/src/build.js +5 -5
- package/generator/src/cli.js +7 -6
- package/generator/src/compatibility-key.js +1 -1
- package/generator/src/dev-server.js +7 -7
- package/generator/src/error-formatter.js +7 -3
- package/generator/src/render-test.js +109 -0
- package/generator/src/render.js +83 -66
- package/generator/src/request-cache.js +181 -160
- package/generator/static-code/hmr.js +16 -2
- package/generator/template/app/Api.elm +2 -2
- package/generator/template/app/Route/Index.elm +3 -3
- package/generator/template/app/Shared.elm +3 -3
- package/generator/template/app/Site.elm +3 -3
- package/package.json +10 -10
- package/src/ApiRoute.elm +60 -57
- package/src/BackendTask/Env.elm +89 -0
- package/src/{DataSource → BackendTask}/File.elm +89 -43
- package/src/{DataSource → BackendTask}/Glob.elm +134 -125
- package/src/BackendTask/Http.elm +673 -0
- package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
- package/src/BackendTask/Internal/Request.elm +28 -0
- package/src/BackendTask/Port.elm +206 -0
- package/src/{DataSource.elm → BackendTask.elm} +223 -207
- package/src/Exception.elm +95 -0
- package/src/Form.elm +21 -20
- package/src/Head.elm +7 -7
- package/src/Internal/ApiRoute.elm +7 -5
- package/src/PageServerResponse.elm +6 -1
- package/src/Pages/Generate.elm +334 -165
- package/src/Pages/Internal/Platform/Cli.elm +432 -761
- package/src/Pages/Internal/Platform/Cli.elm.bak +22 -22
- package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
- package/src/Pages/Internal/Platform/Effect.elm +0 -1
- package/src/Pages/Internal/Platform/GeneratorApplication.elm +63 -147
- package/src/Pages/Internal/Platform/StaticResponses.elm +73 -301
- package/src/Pages/Internal/Platform/ToJsPayload.elm +4 -4
- package/src/Pages/Internal/Platform.elm +25 -31
- package/src/Pages/Internal/Script.elm +3 -2
- package/src/Pages/Internal/StaticHttpBody.elm +35 -1
- package/src/Pages/Manifest.elm +5 -4
- package/src/Pages/ProgramConfig.elm +8 -7
- package/src/Pages/Script.elm +28 -13
- package/src/Pages/SiteConfig.elm +3 -2
- package/src/Pages/StaticHttp/Request.elm +2 -2
- package/src/Pages/StaticHttpRequest.elm +23 -100
- package/src/RequestsAndPending.elm +8 -19
- package/src/Server/Request.elm +15 -14
- package/src/Server/Session.elm +34 -34
- package/src/Server/SetCookie.elm +1 -1
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.75364bef27ac5a049b87c3325f846fc6dbda23b8ed7187ed06748b96bb6a50a7.json +0 -1
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elm.json +0 -38
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +0 -29603
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +0 -1
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +0 -27
- package/generator/dead-code-review/node_modules/.package-lock.json +0 -484
- package/generator/dead-code-review/node_modules/ansi-styles/index.d.ts +0 -345
- package/generator/dead-code-review/node_modules/ansi-styles/index.js +0 -163
- package/generator/dead-code-review/node_modules/ansi-styles/license +0 -9
- package/generator/dead-code-review/node_modules/ansi-styles/package.json +0 -56
- package/generator/dead-code-review/node_modules/ansi-styles/readme.md +0 -152
- package/generator/dead-code-review/node_modules/anymatch/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/anymatch/README.md +0 -87
- package/generator/dead-code-review/node_modules/anymatch/index.d.ts +0 -20
- package/generator/dead-code-review/node_modules/anymatch/index.js +0 -104
- package/generator/dead-code-review/node_modules/anymatch/package.json +0 -48
- package/generator/dead-code-review/node_modules/balanced-match/.github/FUNDING.yml +0 -2
- package/generator/dead-code-review/node_modules/balanced-match/LICENSE.md +0 -21
- package/generator/dead-code-review/node_modules/balanced-match/README.md +0 -97
- package/generator/dead-code-review/node_modules/balanced-match/index.js +0 -62
- package/generator/dead-code-review/node_modules/balanced-match/package.json +0 -48
- package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json +0 -260
- package/generator/dead-code-review/node_modules/binary-extensions/binary-extensions.json.d.ts +0 -3
- package/generator/dead-code-review/node_modules/binary-extensions/index.d.ts +0 -14
- package/generator/dead-code-review/node_modules/binary-extensions/index.js +0 -1
- package/generator/dead-code-review/node_modules/binary-extensions/license +0 -9
- package/generator/dead-code-review/node_modules/binary-extensions/package.json +0 -38
- package/generator/dead-code-review/node_modules/binary-extensions/readme.md +0 -41
- package/generator/dead-code-review/node_modules/brace-expansion/.github/FUNDING.yml +0 -2
- package/generator/dead-code-review/node_modules/brace-expansion/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/brace-expansion/README.md +0 -135
- package/generator/dead-code-review/node_modules/brace-expansion/index.js +0 -203
- package/generator/dead-code-review/node_modules/brace-expansion/package.json +0 -46
- package/generator/dead-code-review/node_modules/braces/CHANGELOG.md +0 -184
- package/generator/dead-code-review/node_modules/braces/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/braces/README.md +0 -593
- package/generator/dead-code-review/node_modules/braces/index.js +0 -170
- package/generator/dead-code-review/node_modules/braces/lib/compile.js +0 -57
- package/generator/dead-code-review/node_modules/braces/lib/constants.js +0 -57
- package/generator/dead-code-review/node_modules/braces/lib/expand.js +0 -113
- package/generator/dead-code-review/node_modules/braces/lib/parse.js +0 -333
- package/generator/dead-code-review/node_modules/braces/lib/stringify.js +0 -32
- package/generator/dead-code-review/node_modules/braces/lib/utils.js +0 -112
- package/generator/dead-code-review/node_modules/braces/package.json +0 -77
- package/generator/dead-code-review/node_modules/chalk/index.d.ts +0 -415
- package/generator/dead-code-review/node_modules/chalk/license +0 -9
- package/generator/dead-code-review/node_modules/chalk/package.json +0 -68
- package/generator/dead-code-review/node_modules/chalk/readme.md +0 -341
- package/generator/dead-code-review/node_modules/chalk/source/index.js +0 -229
- package/generator/dead-code-review/node_modules/chalk/source/templates.js +0 -134
- package/generator/dead-code-review/node_modules/chalk/source/util.js +0 -39
- package/generator/dead-code-review/node_modules/chokidar/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/chokidar/README.md +0 -308
- package/generator/dead-code-review/node_modules/chokidar/index.js +0 -973
- package/generator/dead-code-review/node_modules/chokidar/lib/constants.js +0 -65
- package/generator/dead-code-review/node_modules/chokidar/lib/fsevents-handler.js +0 -524
- package/generator/dead-code-review/node_modules/chokidar/lib/nodefs-handler.js +0 -654
- package/generator/dead-code-review/node_modules/chokidar/package.json +0 -85
- package/generator/dead-code-review/node_modules/chokidar/types/index.d.ts +0 -188
- package/generator/dead-code-review/node_modules/color-convert/CHANGELOG.md +0 -54
- package/generator/dead-code-review/node_modules/color-convert/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/color-convert/README.md +0 -68
- package/generator/dead-code-review/node_modules/color-convert/conversions.js +0 -839
- package/generator/dead-code-review/node_modules/color-convert/index.js +0 -81
- package/generator/dead-code-review/node_modules/color-convert/package.json +0 -48
- package/generator/dead-code-review/node_modules/color-convert/route.js +0 -97
- package/generator/dead-code-review/node_modules/color-name/LICENSE +0 -8
- package/generator/dead-code-review/node_modules/color-name/README.md +0 -11
- package/generator/dead-code-review/node_modules/color-name/index.js +0 -152
- package/generator/dead-code-review/node_modules/color-name/package.json +0 -28
- package/generator/dead-code-review/node_modules/commander/LICENSE +0 -22
- package/generator/dead-code-review/node_modules/commander/Readme.md +0 -1118
- package/generator/dead-code-review/node_modules/commander/esm.mjs +0 -16
- package/generator/dead-code-review/node_modules/commander/index.js +0 -27
- package/generator/dead-code-review/node_modules/commander/lib/argument.js +0 -147
- package/generator/dead-code-review/node_modules/commander/lib/command.js +0 -2160
- package/generator/dead-code-review/node_modules/commander/lib/error.js +0 -45
- package/generator/dead-code-review/node_modules/commander/lib/help.js +0 -406
- package/generator/dead-code-review/node_modules/commander/lib/option.js +0 -326
- package/generator/dead-code-review/node_modules/commander/lib/suggestSimilar.js +0 -100
- package/generator/dead-code-review/node_modules/commander/package-support.json +0 -16
- package/generator/dead-code-review/node_modules/commander/package.json +0 -80
- package/generator/dead-code-review/node_modules/commander/typings/index.d.ts +0 -881
- package/generator/dead-code-review/node_modules/cross-spawn/CHANGELOG.md +0 -130
- package/generator/dead-code-review/node_modules/cross-spawn/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/cross-spawn/README.md +0 -96
- package/generator/dead-code-review/node_modules/cross-spawn/index.js +0 -39
- package/generator/dead-code-review/node_modules/cross-spawn/lib/enoent.js +0 -59
- package/generator/dead-code-review/node_modules/cross-spawn/lib/parse.js +0 -91
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/escape.js +0 -45
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/readShebang.js +0 -23
- package/generator/dead-code-review/node_modules/cross-spawn/lib/util/resolveCommand.js +0 -52
- package/generator/dead-code-review/node_modules/cross-spawn/package.json +0 -73
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/LICENSE +0 -373
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/README.md +0 -64
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.d.ts +0 -22
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm.js +0 -419
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/elm_solve_deps_wasm_bg.wasm +0 -0
- package/generator/dead-code-review/node_modules/elm-solve-deps-wasm/package.json +0 -27
- package/generator/dead-code-review/node_modules/elm-test/LICENSE +0 -27
- package/generator/dead-code-review/node_modules/elm-test/README.md +0 -192
- package/generator/dead-code-review/node_modules/elm-test/bin/elm-test +0 -3
- package/generator/dead-code-review/node_modules/elm-test/elm/elm.json +0 -25
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Console/Text.elm +0 -217
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Color.elm +0 -30
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format/Monochrome.elm +0 -39
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console/Format.elm +0 -212
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Console.elm +0 -207
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Highlightable.elm +0 -48
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/JUnit.elm +0 -161
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Json.elm +0 -158
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/Reporter.elm +0 -53
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Reporter/TestResults.elm +0 -113
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/JsMessage.elm +0 -38
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Console.elm +0 -230
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node/Vendor/Diff.elm +0 -326
- package/generator/dead-code-review/node_modules/elm-test/elm/src/Test/Runner/Node.elm +0 -440
- package/generator/dead-code-review/node_modules/elm-test/lib/Compile.js +0 -110
- package/generator/dead-code-review/node_modules/elm-test/lib/DependencyProvider.js +0 -343
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmCompiler.js +0 -109
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmHome.js +0 -47
- package/generator/dead-code-review/node_modules/elm-test/lib/ElmJson.js +0 -194
- package/generator/dead-code-review/node_modules/elm-test/lib/FindTests.js +0 -276
- package/generator/dead-code-review/node_modules/elm-test/lib/Generate.js +0 -294
- package/generator/dead-code-review/node_modules/elm-test/lib/Install.js +0 -290
- package/generator/dead-code-review/node_modules/elm-test/lib/Parser.js +0 -941
- package/generator/dead-code-review/node_modules/elm-test/lib/Project.js +0 -117
- package/generator/dead-code-review/node_modules/elm-test/lib/Report.js +0 -23
- package/generator/dead-code-review/node_modules/elm-test/lib/RunTests.js +0 -322
- package/generator/dead-code-review/node_modules/elm-test/lib/Solve.js +0 -76
- package/generator/dead-code-review/node_modules/elm-test/lib/Supervisor.js +0 -294
- package/generator/dead-code-review/node_modules/elm-test/lib/SyncGet.js +0 -45
- package/generator/dead-code-review/node_modules/elm-test/lib/SyncGetWorker.js +0 -36
- package/generator/dead-code-review/node_modules/elm-test/lib/elm-test.js +0 -318
- package/generator/dead-code-review/node_modules/elm-test/package.json +0 -69
- package/generator/dead-code-review/node_modules/elm-test/templates/after.js +0 -29
- package/generator/dead-code-review/node_modules/elm-test/templates/before.js +0 -58
- package/generator/dead-code-review/node_modules/elm-test/templates/tests/Example.elm +0 -10
- package/generator/dead-code-review/node_modules/fill-range/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/fill-range/README.md +0 -237
- package/generator/dead-code-review/node_modules/fill-range/index.js +0 -249
- package/generator/dead-code-review/node_modules/fill-range/package.json +0 -69
- package/generator/dead-code-review/node_modules/fs.realpath/LICENSE +0 -43
- package/generator/dead-code-review/node_modules/fs.realpath/README.md +0 -33
- package/generator/dead-code-review/node_modules/fs.realpath/index.js +0 -66
- package/generator/dead-code-review/node_modules/fs.realpath/old.js +0 -303
- package/generator/dead-code-review/node_modules/fs.realpath/package.json +0 -26
- package/generator/dead-code-review/node_modules/fsevents/LICENSE +0 -22
- package/generator/dead-code-review/node_modules/fsevents/README.md +0 -83
- package/generator/dead-code-review/node_modules/fsevents/fsevents.d.ts +0 -46
- package/generator/dead-code-review/node_modules/fsevents/fsevents.js +0 -82
- package/generator/dead-code-review/node_modules/fsevents/fsevents.node +0 -0
- package/generator/dead-code-review/node_modules/fsevents/package.json +0 -62
- package/generator/dead-code-review/node_modules/glob/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/glob/README.md +0 -378
- package/generator/dead-code-review/node_modules/glob/common.js +0 -240
- package/generator/dead-code-review/node_modules/glob/glob.js +0 -790
- package/generator/dead-code-review/node_modules/glob/package.json +0 -55
- package/generator/dead-code-review/node_modules/glob/sync.js +0 -486
- package/generator/dead-code-review/node_modules/glob-parent/CHANGELOG.md +0 -110
- package/generator/dead-code-review/node_modules/glob-parent/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/glob-parent/README.md +0 -137
- package/generator/dead-code-review/node_modules/glob-parent/index.js +0 -42
- package/generator/dead-code-review/node_modules/glob-parent/package.json +0 -48
- package/generator/dead-code-review/node_modules/graceful-fs/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/graceful-fs/README.md +0 -143
- package/generator/dead-code-review/node_modules/graceful-fs/clone.js +0 -23
- package/generator/dead-code-review/node_modules/graceful-fs/graceful-fs.js +0 -448
- package/generator/dead-code-review/node_modules/graceful-fs/legacy-streams.js +0 -118
- package/generator/dead-code-review/node_modules/graceful-fs/package.json +0 -50
- package/generator/dead-code-review/node_modules/graceful-fs/polyfills.js +0 -355
- package/generator/dead-code-review/node_modules/has-flag/index.d.ts +0 -39
- package/generator/dead-code-review/node_modules/has-flag/index.js +0 -8
- package/generator/dead-code-review/node_modules/has-flag/license +0 -9
- package/generator/dead-code-review/node_modules/has-flag/package.json +0 -46
- package/generator/dead-code-review/node_modules/has-flag/readme.md +0 -89
- package/generator/dead-code-review/node_modules/inflight/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/inflight/README.md +0 -37
- package/generator/dead-code-review/node_modules/inflight/inflight.js +0 -54
- package/generator/dead-code-review/node_modules/inflight/package.json +0 -29
- package/generator/dead-code-review/node_modules/inherits/LICENSE +0 -16
- package/generator/dead-code-review/node_modules/inherits/README.md +0 -42
- package/generator/dead-code-review/node_modules/inherits/inherits.js +0 -9
- package/generator/dead-code-review/node_modules/inherits/inherits_browser.js +0 -27
- package/generator/dead-code-review/node_modules/inherits/package.json +0 -29
- package/generator/dead-code-review/node_modules/is-binary-path/index.d.ts +0 -17
- package/generator/dead-code-review/node_modules/is-binary-path/index.js +0 -7
- package/generator/dead-code-review/node_modules/is-binary-path/license +0 -9
- package/generator/dead-code-review/node_modules/is-binary-path/package.json +0 -40
- package/generator/dead-code-review/node_modules/is-binary-path/readme.md +0 -34
- package/generator/dead-code-review/node_modules/is-extglob/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/is-extglob/README.md +0 -107
- package/generator/dead-code-review/node_modules/is-extglob/index.js +0 -20
- package/generator/dead-code-review/node_modules/is-extglob/package.json +0 -69
- package/generator/dead-code-review/node_modules/is-glob/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/is-glob/README.md +0 -206
- package/generator/dead-code-review/node_modules/is-glob/index.js +0 -150
- package/generator/dead-code-review/node_modules/is-glob/package.json +0 -81
- package/generator/dead-code-review/node_modules/is-number/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/is-number/README.md +0 -187
- package/generator/dead-code-review/node_modules/is-number/index.js +0 -18
- package/generator/dead-code-review/node_modules/is-number/package.json +0 -82
- package/generator/dead-code-review/node_modules/isexe/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/isexe/README.md +0 -51
- package/generator/dead-code-review/node_modules/isexe/index.js +0 -57
- package/generator/dead-code-review/node_modules/isexe/mode.js +0 -41
- package/generator/dead-code-review/node_modules/isexe/package.json +0 -31
- package/generator/dead-code-review/node_modules/isexe/test/basic.js +0 -221
- package/generator/dead-code-review/node_modules/isexe/windows.js +0 -42
- package/generator/dead-code-review/node_modules/minimatch/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/minimatch/README.md +0 -259
- package/generator/dead-code-review/node_modules/minimatch/lib/path.js +0 -4
- package/generator/dead-code-review/node_modules/minimatch/minimatch.js +0 -906
- package/generator/dead-code-review/node_modules/minimatch/package.json +0 -32
- package/generator/dead-code-review/node_modules/normalize-path/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/normalize-path/README.md +0 -127
- package/generator/dead-code-review/node_modules/normalize-path/index.js +0 -35
- package/generator/dead-code-review/node_modules/normalize-path/package.json +0 -77
- package/generator/dead-code-review/node_modules/once/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/once/README.md +0 -79
- package/generator/dead-code-review/node_modules/once/once.js +0 -42
- package/generator/dead-code-review/node_modules/once/package.json +0 -33
- package/generator/dead-code-review/node_modules/path-key/index.d.ts +0 -40
- package/generator/dead-code-review/node_modules/path-key/index.js +0 -16
- package/generator/dead-code-review/node_modules/path-key/license +0 -9
- package/generator/dead-code-review/node_modules/path-key/package.json +0 -39
- package/generator/dead-code-review/node_modules/path-key/readme.md +0 -61
- package/generator/dead-code-review/node_modules/picomatch/CHANGELOG.md +0 -136
- package/generator/dead-code-review/node_modules/picomatch/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/picomatch/README.md +0 -708
- package/generator/dead-code-review/node_modules/picomatch/index.js +0 -3
- package/generator/dead-code-review/node_modules/picomatch/lib/constants.js +0 -179
- package/generator/dead-code-review/node_modules/picomatch/lib/parse.js +0 -1091
- package/generator/dead-code-review/node_modules/picomatch/lib/picomatch.js +0 -342
- package/generator/dead-code-review/node_modules/picomatch/lib/scan.js +0 -391
- package/generator/dead-code-review/node_modules/picomatch/lib/utils.js +0 -64
- package/generator/dead-code-review/node_modules/picomatch/package.json +0 -81
- package/generator/dead-code-review/node_modules/readdirp/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/readdirp/README.md +0 -122
- package/generator/dead-code-review/node_modules/readdirp/index.d.ts +0 -43
- package/generator/dead-code-review/node_modules/readdirp/index.js +0 -287
- package/generator/dead-code-review/node_modules/readdirp/package.json +0 -122
- package/generator/dead-code-review/node_modules/shebang-command/index.js +0 -19
- package/generator/dead-code-review/node_modules/shebang-command/license +0 -9
- package/generator/dead-code-review/node_modules/shebang-command/package.json +0 -34
- package/generator/dead-code-review/node_modules/shebang-command/readme.md +0 -34
- package/generator/dead-code-review/node_modules/shebang-regex/index.d.ts +0 -22
- package/generator/dead-code-review/node_modules/shebang-regex/index.js +0 -2
- package/generator/dead-code-review/node_modules/shebang-regex/license +0 -9
- package/generator/dead-code-review/node_modules/shebang-regex/package.json +0 -35
- package/generator/dead-code-review/node_modules/shebang-regex/readme.md +0 -33
- package/generator/dead-code-review/node_modules/split/.travis.yml +0 -3
- package/generator/dead-code-review/node_modules/split/LICENCE +0 -22
- package/generator/dead-code-review/node_modules/split/examples/pretty.js +0 -26
- package/generator/dead-code-review/node_modules/split/index.js +0 -63
- package/generator/dead-code-review/node_modules/split/package.json +0 -30
- package/generator/dead-code-review/node_modules/split/readme.markdown +0 -72
- package/generator/dead-code-review/node_modules/split/test/options.asynct.js +0 -46
- package/generator/dead-code-review/node_modules/split/test/partitioned_unicode.js +0 -34
- package/generator/dead-code-review/node_modules/split/test/split.asynct.js +0 -137
- package/generator/dead-code-review/node_modules/split/test/try_catch.asynct.js +0 -51
- package/generator/dead-code-review/node_modules/supports-color/browser.js +0 -5
- package/generator/dead-code-review/node_modules/supports-color/index.js +0 -135
- package/generator/dead-code-review/node_modules/supports-color/license +0 -9
- package/generator/dead-code-review/node_modules/supports-color/package.json +0 -53
- package/generator/dead-code-review/node_modules/supports-color/readme.md +0 -76
- package/generator/dead-code-review/node_modules/through/.travis.yml +0 -5
- package/generator/dead-code-review/node_modules/through/LICENSE.APACHE2 +0 -15
- package/generator/dead-code-review/node_modules/through/LICENSE.MIT +0 -24
- package/generator/dead-code-review/node_modules/through/index.js +0 -108
- package/generator/dead-code-review/node_modules/through/package.json +0 -36
- package/generator/dead-code-review/node_modules/through/readme.markdown +0 -64
- package/generator/dead-code-review/node_modules/through/test/async.js +0 -28
- package/generator/dead-code-review/node_modules/through/test/auto-destroy.js +0 -30
- package/generator/dead-code-review/node_modules/through/test/buffering.js +0 -71
- package/generator/dead-code-review/node_modules/through/test/end.js +0 -45
- package/generator/dead-code-review/node_modules/through/test/index.js +0 -133
- package/generator/dead-code-review/node_modules/to-regex-range/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/to-regex-range/README.md +0 -305
- package/generator/dead-code-review/node_modules/to-regex-range/index.js +0 -288
- package/generator/dead-code-review/node_modules/to-regex-range/package.json +0 -88
- package/generator/dead-code-review/node_modules/which/CHANGELOG.md +0 -166
- package/generator/dead-code-review/node_modules/which/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/which/README.md +0 -54
- package/generator/dead-code-review/node_modules/which/bin/node-which +0 -52
- package/generator/dead-code-review/node_modules/which/package.json +0 -43
- package/generator/dead-code-review/node_modules/which/which.js +0 -125
- package/generator/dead-code-review/node_modules/wrappy/LICENSE +0 -15
- package/generator/dead-code-review/node_modules/wrappy/README.md +0 -36
- package/generator/dead-code-review/node_modules/wrappy/package.json +0 -29
- package/generator/dead-code-review/node_modules/wrappy/wrappy.js +0 -33
- package/generator/dead-code-review/node_modules/xmlbuilder/.nycrc +0 -6
- package/generator/dead-code-review/node_modules/xmlbuilder/.vscode/launch.json +0 -23
- package/generator/dead-code-review/node_modules/xmlbuilder/CHANGELOG.md +0 -593
- package/generator/dead-code-review/node_modules/xmlbuilder/LICENSE +0 -21
- package/generator/dead-code-review/node_modules/xmlbuilder/README.md +0 -103
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/Derivation.js +0 -10
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/DocumentPosition.js +0 -12
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/NodeType.js +0 -25
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/OperationType.js +0 -11
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/Utility.js +0 -88
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/WriterState.js +0 -10
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLAttribute.js +0 -130
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCData.js +0 -41
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLCharacterData.js +0 -86
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLComment.js +0 -41
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMConfiguration.js +0 -80
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMErrorHandler.js +0 -20
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMImplementation.js +0 -55
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDOMStringList.js +0 -44
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDAttList.js +0 -66
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDElement.js +0 -44
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDEntity.js +0 -115
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDTDNotation.js +0 -66
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDeclaration.js +0 -51
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocType.js +0 -235
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocument.js +0 -282
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentCB.js +0 -650
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDocumentFragment.js +0 -21
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLDummy.js +0 -39
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLElement.js +0 -334
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNamedNodeMap.js +0 -77
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNode.js +0 -999
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeFilter.js +0 -51
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLNodeList.js +0 -45
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLProcessingInstruction.js +0 -56
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLRaw.js +0 -40
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStreamWriter.js +0 -209
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringWriter.js +0 -40
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLStringifier.js +0 -291
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLText.js +0 -82
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLTypeInfo.js +0 -23
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLUserDataHandler.js +0 -27
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/XMLWriterBase.js +0 -485
- package/generator/dead-code-review/node_modules/xmlbuilder/lib/index.js +0 -120
- package/generator/dead-code-review/node_modules/xmlbuilder/package.json +0 -51
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/escaping.coffee +0 -244
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/basic/object.coffee +0 -21
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/index.coffee +0 -161
- package/generator/dead-code-review/node_modules/xmlbuilder/perf/perf.list +0 -11
- package/generator/dead-code-review/node_modules/xmlbuilder/typings/index.d.ts +0 -1771
- package/generator/review/elm-stuff/0.19.1/d.dat +0 -0
- package/generator/review/elm-stuff/0.19.1/i.dat +0 -0
- package/generator/review/elm-stuff/0.19.1/o.dat +0 -0
- 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
- 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
- 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
- package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision10/install/elm.json +0 -25
- 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
- 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
- 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
- package/generator/review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision7/install/elm.json +0 -41
- package/src/DataSource/Env.elm +0 -62
- package/src/DataSource/Http.elm +0 -446
- package/src/DataSource/Internal/Request.elm +0 -20
- package/src/DataSource/Port.elm +0 -90
- package/src/MultiDict.elm +0 -49
- package/src/PairingHeap.elm +0 -137
- package/src/Parser/Extra/String.elm +0 -33
- package/src/Parser/Extra.elm +0 -69
- package/src/ProgramTest/ComplexQuery.elm +0 -360
- package/src/ProgramTest/EffectSimulation.elm +0 -122
- package/src/ProgramTest/Failure.elm +0 -367
- package/src/ProgramTest/HtmlHighlighter.elm +0 -116
- package/src/ProgramTest/HtmlParserHacks.elm +0 -58
- package/src/ProgramTest/HtmlRenderer.elm +0 -73
- package/src/ProgramTest/Program.elm +0 -30
- package/src/ProgramTest/StringLines.elm +0 -26
- package/src/ProgramTest/TestHtmlHacks.elm +0 -132
- package/src/ProgramTest/TestHtmlParser.elm +0 -201
- package/src/ProgramTest.elm +0 -2339
- package/src/Query/Extra.elm +0 -55
- package/src/SimulatedEffect/Cmd.elm +0 -69
- package/src/SimulatedEffect/Http.elm +0 -330
- package/src/SimulatedEffect/Navigation.elm +0 -69
- package/src/SimulatedEffect/Ports.elm +0 -62
- package/src/SimulatedEffect/Process.elm +0 -24
- package/src/SimulatedEffect/Sub.elm +0 -48
- package/src/SimulatedEffect/Task.elm +0 -252
- package/src/SimulatedEffect/Time.elm +0 -25
- package/src/SimulatedEffect.elm +0 -42
- package/src/String/Extra.elm +0 -6
- package/src/Test/Http.elm +0 -145
- package/src/TestResult.elm +0 -35
- package/src/TestState.elm +0 -305
- package/src/Url/Extra.elm +0 -100
- package/src/Vendored/Diff.elm +0 -321
- package/src/Vendored/Failure.elm +0 -217
- package/src/Vendored/FormatMonochrome.elm +0 -44
- package/src/Vendored/Highlightable.elm +0 -53
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
module BackendTask.Internal.Request exposing (request)
|
|
2
|
+
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import BackendTask.Http exposing (Body, Expect)
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
request :
|
|
8
|
+
{ name : String
|
|
9
|
+
, body : Body
|
|
10
|
+
, expect : Expect a
|
|
11
|
+
}
|
|
12
|
+
-> BackendTask error a
|
|
13
|
+
request ({ name, body, expect } as params) =
|
|
14
|
+
-- elm-review: known-unoptimized-recursion
|
|
15
|
+
BackendTask.Http.request
|
|
16
|
+
{ url = "elm-pages-internal://" ++ name
|
|
17
|
+
, method = "GET"
|
|
18
|
+
, headers = []
|
|
19
|
+
, body = body
|
|
20
|
+
, timeoutInMs = Nothing
|
|
21
|
+
, retries = Nothing
|
|
22
|
+
}
|
|
23
|
+
expect
|
|
24
|
+
|> BackendTask.onError
|
|
25
|
+
(\_ ->
|
|
26
|
+
-- TODO avoid crash here, this should be handled as an internal error
|
|
27
|
+
request params
|
|
28
|
+
)
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
module BackendTask.Port exposing
|
|
2
|
+
( get
|
|
3
|
+
, Error(..)
|
|
4
|
+
)
|
|
5
|
+
|
|
6
|
+
{-| 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.
|
|
7
|
+
|
|
8
|
+
With `BackendTask.Port`, you send and receive JSON to JavaScript running in NodeJS. As with any `BackendTask`, Port BackendTask's are either run at build-time (for pre-rendered routes) or at request-time (for server-rendered routes). See [`BackendTask`](BackendTask) for more about the
|
|
9
|
+
lifecycle of `BackendTask`'s.
|
|
10
|
+
|
|
11
|
+
This means that you can call shell scripts, run NPM packages that are installed, or anything else you could do with NodeJS to perform custom side-effects, get some data, or both.
|
|
12
|
+
|
|
13
|
+
A `BackendTask.Port` will call an async JavaScript function with the given name from the definition in a file called `port-data-source.js` in your project's root directory. The function receives the input JSON value, and the Decoder is used to decode the return value of the async function.
|
|
14
|
+
|
|
15
|
+
@docs get
|
|
16
|
+
|
|
17
|
+
Here is the Elm code and corresponding JavaScript definition for getting an environment variable (or an `Exception BackendTask.Port.Error` if it isn't found). In this example,
|
|
18
|
+
we're using `BackendTask.throw` to let the framework treat that as an unexpected exception, but we could also handle the possible failures of the `Exception` (see [`Exception`](Exception)).
|
|
19
|
+
|
|
20
|
+
import BackendTask exposing (BackendTask)
|
|
21
|
+
import BackendTask.Port
|
|
22
|
+
import Json.Encode
|
|
23
|
+
import OptimizedDecoder as Decode
|
|
24
|
+
|
|
25
|
+
data : BackendTask Throwable String
|
|
26
|
+
data =
|
|
27
|
+
BackendTask.Port.get "environmentVariable"
|
|
28
|
+
(Json.Encode.string "EDITOR")
|
|
29
|
+
Decode.string
|
|
30
|
+
|> BackendTask.throw
|
|
31
|
+
|
|
32
|
+
-- will resolve to "VIM" if you run `EDITOR=vim elm-pages dev`
|
|
33
|
+
|
|
34
|
+
```javascript
|
|
35
|
+
// port-data-source.js
|
|
36
|
+
|
|
37
|
+
module.exports =
|
|
38
|
+
/**
|
|
39
|
+
* @param { unknown } fromElm
|
|
40
|
+
* @returns { Promise<unknown> }
|
|
41
|
+
*/
|
|
42
|
+
{
|
|
43
|
+
environmentVariable: async function (name) {
|
|
44
|
+
const result = process.env[name];
|
|
45
|
+
if (result) {
|
|
46
|
+
return result;
|
|
47
|
+
} else {
|
|
48
|
+
throw `No environment variable called ${name}
|
|
49
|
+
|
|
50
|
+
Available:
|
|
51
|
+
|
|
52
|
+
${Object.keys(process.env).join("\n")}
|
|
53
|
+
`;
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
## Performance
|
|
61
|
+
|
|
62
|
+
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. `elm-pages` performances all `BackendTask`'s in parallel whenever possible.
|
|
63
|
+
So if you do `BackendTask.map2 Tuple.pair myHttpBackendTask myPortBackendTask`, it will resolve those two in parallel. NodeJS performs best when you take advantage of its ability to do non-blocking I/O (file reads, HTTP requests, etc.). If you use `BackendTask.andThen`,
|
|
64
|
+
it will need to resolve them in sequence rather than in parallel, but it's still best to avoid blocking IO operations in your BackendTask Port definitions.
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
## Error Handling
|
|
68
|
+
|
|
69
|
+
There are a few different things that can go wrong when running a port-data-source. These possible errors are captured in the `BackendTask.Port.Error` type.
|
|
70
|
+
|
|
71
|
+
@docs Error
|
|
72
|
+
|
|
73
|
+
Any time you throw a JavaScript exception from a BackendTask.Port definition, it will give you a `PortCallException`. It's usually easier to add a `try`/`catch` in your JavaScript code in `port-data-source.js`
|
|
74
|
+
to handle possible errors, but you can throw a JSON value and handle it in Elm in the `PortCallException` call error.
|
|
75
|
+
|
|
76
|
+
-}
|
|
77
|
+
|
|
78
|
+
import BackendTask
|
|
79
|
+
import BackendTask.Http
|
|
80
|
+
import BackendTask.Internal.Request
|
|
81
|
+
import Exception exposing (Exception)
|
|
82
|
+
import Json.Decode as Decode exposing (Decoder)
|
|
83
|
+
import Json.Encode as Encode
|
|
84
|
+
import TerminalText
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
{-| -}
|
|
88
|
+
get : String -> Encode.Value -> Decoder b -> BackendTask.BackendTask (Exception Error) b
|
|
89
|
+
get portName input decoder =
|
|
90
|
+
BackendTask.Internal.Request.request
|
|
91
|
+
{ name = "port"
|
|
92
|
+
, body =
|
|
93
|
+
Encode.object
|
|
94
|
+
[ ( "input", input )
|
|
95
|
+
, ( "portName", Encode.string portName )
|
|
96
|
+
]
|
|
97
|
+
|> BackendTask.Http.jsonBody
|
|
98
|
+
, expect =
|
|
99
|
+
Decode.oneOf
|
|
100
|
+
[ Decode.field "elm-pages-internal-error" Decode.string
|
|
101
|
+
|> Decode.andThen
|
|
102
|
+
(\errorKind ->
|
|
103
|
+
if errorKind == "PortNotDefined" then
|
|
104
|
+
Exception.Exception (PortNotDefined { name = portName })
|
|
105
|
+
{ title = "Port Error"
|
|
106
|
+
, body =
|
|
107
|
+
[ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I expected to find a port named `"
|
|
108
|
+
, TerminalText.yellow portName
|
|
109
|
+
, TerminalText.text "` but I couldn't find it. Is the function exported in your port-data-source file?"
|
|
110
|
+
]
|
|
111
|
+
|> TerminalText.toString
|
|
112
|
+
}
|
|
113
|
+
|> Decode.succeed
|
|
114
|
+
|
|
115
|
+
else if errorKind == "ExportIsNotFunction" then
|
|
116
|
+
Decode.field "error" Decode.string
|
|
117
|
+
|> Decode.maybe
|
|
118
|
+
|> Decode.map (Maybe.withDefault "")
|
|
119
|
+
|> Decode.map
|
|
120
|
+
(\incorrectPortType ->
|
|
121
|
+
Exception.Exception ExportIsNotFunction
|
|
122
|
+
{ title = "Port Error"
|
|
123
|
+
, body =
|
|
124
|
+
[ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I found an export called `"
|
|
125
|
+
, TerminalText.yellow portName
|
|
126
|
+
, TerminalText.text "` but I expected its type to be function, but instead its type was: "
|
|
127
|
+
, TerminalText.red incorrectPortType
|
|
128
|
+
]
|
|
129
|
+
|> TerminalText.toString
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
else if errorKind == "MissingPortsFile" then
|
|
134
|
+
Exception.Exception MissingPortsFile
|
|
135
|
+
{ title = "Port Error"
|
|
136
|
+
, body =
|
|
137
|
+
[ 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."
|
|
138
|
+
]
|
|
139
|
+
|> TerminalText.toString
|
|
140
|
+
}
|
|
141
|
+
|> Decode.succeed
|
|
142
|
+
|
|
143
|
+
else if errorKind == "ErrorInPortsFile" then
|
|
144
|
+
Decode.field "error" Decode.string
|
|
145
|
+
|> Decode.maybe
|
|
146
|
+
|> Decode.map (Maybe.withDefault "")
|
|
147
|
+
|> Decode.map
|
|
148
|
+
(\errorMessage ->
|
|
149
|
+
Exception.Exception
|
|
150
|
+
ErrorInPortsFile
|
|
151
|
+
{ title = "Port Error"
|
|
152
|
+
, body =
|
|
153
|
+
[ 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"
|
|
154
|
+
, TerminalText.red errorMessage
|
|
155
|
+
, TerminalText.text "\n\nAre there syntax errors or exceptions thrown during import?"
|
|
156
|
+
]
|
|
157
|
+
|> TerminalText.toString
|
|
158
|
+
}
|
|
159
|
+
)
|
|
160
|
+
|
|
161
|
+
else if errorKind == "PortCallException" then
|
|
162
|
+
Decode.field "error" Decode.value
|
|
163
|
+
|> Decode.maybe
|
|
164
|
+
|> Decode.map (Maybe.withDefault Encode.null)
|
|
165
|
+
|> Decode.map
|
|
166
|
+
(\portCallError ->
|
|
167
|
+
Exception.Exception
|
|
168
|
+
(PortCallException portCallError)
|
|
169
|
+
{ title = "Port Error"
|
|
170
|
+
, body =
|
|
171
|
+
[ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I was able to import the port definitions file, but when running it I encountered this exception:\n\n"
|
|
172
|
+
, TerminalText.red (Encode.encode 2 portCallError)
|
|
173
|
+
, TerminalText.text "\n\nYou could add a `try`/`catch` in your `port-data-source` JavaScript code to handle that error."
|
|
174
|
+
]
|
|
175
|
+
|> TerminalText.toString
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
else
|
|
180
|
+
Exception.Exception ErrorInPortsFile
|
|
181
|
+
{ title = "Port Error"
|
|
182
|
+
, body =
|
|
183
|
+
[ TerminalText.text "Something went wrong in a call to BackendTask.Port.get. I expected to find a port named `"
|
|
184
|
+
, TerminalText.yellow portName
|
|
185
|
+
, TerminalText.text "`."
|
|
186
|
+
]
|
|
187
|
+
|> TerminalText.toString
|
|
188
|
+
}
|
|
189
|
+
|> Decode.succeed
|
|
190
|
+
)
|
|
191
|
+
|> Decode.map Err
|
|
192
|
+
, decoder |> Decode.map Ok
|
|
193
|
+
]
|
|
194
|
+
|> BackendTask.Http.expectJson
|
|
195
|
+
}
|
|
196
|
+
|> BackendTask.andThen BackendTask.fromResult
|
|
197
|
+
|
|
198
|
+
|
|
199
|
+
{-| -}
|
|
200
|
+
type Error
|
|
201
|
+
= Error
|
|
202
|
+
| ErrorInPortsFile
|
|
203
|
+
| MissingPortsFile
|
|
204
|
+
| PortNotDefined { name : String }
|
|
205
|
+
| PortCallException Decode.Value
|
|
206
|
+
| ExportIsNotFunction
|