elm-pages 3.0.0-beta.9 → 3.0.1
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 +2 -2
- package/adapter/netlify.js +207 -0
- package/codegen/{elm-pages-codegen.js → elm-pages-codegen.cjs} +2730 -2938
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/dependencies.c59ecaf7fa8379e3a2d0f793fe9784e3060cb64a6d1fe22b8f6a054502021dbe.json +1 -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.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 +38 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/elmTestOutput.js +30883 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/package.json +1 -0
- package/generator/dead-code-review/elm-stuff/generated-code/elm-community/elm-test/0.19.1-revision9/src/Test/Generated/Main.elm +27 -0
- 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/i.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 +1527 -422
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +17042 -13855
- 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 +2 -2
- package/generator/dead-code-review/elm.json +9 -7
- package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +64 -13
- package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +66 -50
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
- package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
- 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/i.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 +1527 -422
- package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +25118 -21832
- 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 +2 -2
- package/generator/review/elm.json +10 -10
- package/generator/src/RouteBuilder.elm +93 -128
- package/generator/src/SharedTemplate.elm +8 -7
- package/generator/src/SiteConfig.elm +3 -2
- package/generator/src/basepath-middleware.js +3 -3
- package/generator/src/build.js +143 -59
- package/generator/src/cli.js +292 -88
- package/generator/src/codegen.js +29 -27
- package/generator/src/compatibility-key.js +3 -0
- package/generator/src/compile-elm.js +43 -26
- package/generator/src/config.js +2 -4
- package/generator/src/copy-dir.js +2 -2
- package/generator/src/dev-server.js +160 -102
- package/generator/src/dir-helpers.js +9 -26
- package/generator/src/elm-codegen.js +5 -4
- package/generator/src/elm-file-constants.js +2 -3
- package/generator/src/error-formatter.js +12 -11
- package/generator/src/file-helpers.js +3 -4
- package/generator/src/generate-template-module-connector.js +23 -23
- package/generator/src/init.js +9 -8
- package/generator/src/pre-render-html.js +10 -13
- package/generator/src/render-test.js +109 -0
- package/generator/src/render-worker.js +25 -28
- package/generator/src/render.js +320 -143
- package/generator/src/request-cache.js +265 -162
- package/generator/src/resolve-elm-module.js +64 -0
- package/generator/src/rewrite-client-elm-json.js +6 -5
- package/generator/src/rewrite-elm-json-help.js +56 -0
- package/generator/src/rewrite-elm-json.js +17 -7
- package/generator/src/route-codegen-helpers.js +16 -31
- package/generator/src/seo-renderer.js +1 -3
- package/generator/src/vite-utils.js +1 -2
- package/generator/static-code/elm-pages.js +10 -0
- package/generator/static-code/hmr.js +79 -13
- package/generator/template/app/Api.elm +3 -2
- package/generator/template/app/Effect.elm +155 -0
- package/generator/template/app/ErrorPage.elm +49 -6
- package/generator/template/app/Route/Blog/Slug_.elm +86 -0
- package/generator/template/app/Route/Greet.elm +107 -0
- package/generator/template/app/Route/Hello.elm +119 -0
- package/generator/template/app/Route/Index.elm +26 -25
- package/generator/template/app/Shared.elm +38 -39
- package/generator/template/app/Site.elm +4 -7
- package/generator/template/app/View.elm +9 -8
- package/generator/template/codegen/elm.codegen.json +18 -0
- package/generator/template/custom-backend-task.ts +3 -0
- package/generator/template/elm-pages.config.mjs +13 -0
- package/generator/template/elm-tooling.json +0 -3
- package/generator/template/elm.json +34 -25
- package/generator/template/index.ts +1 -2
- package/generator/template/netlify.toml +4 -1
- package/generator/template/package.json +10 -4
- package/generator/template/script/.elm-pages/compiled-ports/custom-backend-task.mjs +7 -0
- package/generator/template/script/custom-backend-task.ts +3 -0
- package/generator/template/script/elm.json +61 -0
- package/generator/template/script/src/AddRoute.elm +312 -0
- package/generator/template/script/src/Stars.elm +42 -0
- package/package.json +30 -27
- package/src/ApiRoute.elm +249 -82
- package/src/BackendTask/Custom.elm +325 -0
- package/src/BackendTask/Env.elm +90 -0
- package/src/{DataSource → BackendTask}/File.elm +171 -56
- package/src/{DataSource → BackendTask}/Glob.elm +136 -125
- package/src/BackendTask/Http.elm +679 -0
- package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
- package/src/BackendTask/Internal/Request.elm +69 -0
- package/src/BackendTask/Random.elm +79 -0
- package/src/BackendTask/Time.elm +47 -0
- package/src/BackendTask.elm +531 -0
- package/src/FatalError.elm +90 -0
- package/src/FormData.elm +21 -18
- package/src/Head/Seo.elm +4 -4
- package/src/Head.elm +112 -8
- package/src/Internal/ApiRoute.elm +7 -5
- package/src/Internal/Request.elm +84 -4
- package/src/PageServerResponse.elm +6 -1
- package/src/Pages/ConcurrentSubmission.elm +127 -0
- package/src/Pages/Form.elm +340 -0
- package/src/Pages/FormData.elm +19 -0
- package/src/Pages/GeneratorProgramConfig.elm +15 -0
- package/src/Pages/Internal/FatalError.elm +5 -0
- package/src/Pages/Internal/Msg.elm +93 -0
- package/src/Pages/Internal/NotFoundReason.elm +4 -4
- package/src/Pages/Internal/Platform/Cli.elm +586 -768
- package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
- package/src/Pages/Internal/Platform/Effect.elm +1 -2
- package/src/Pages/Internal/Platform/GeneratorApplication.elm +379 -0
- package/src/Pages/Internal/Platform/StaticResponses.elm +65 -276
- package/src/Pages/Internal/Platform/ToJsPayload.elm +6 -9
- package/src/Pages/Internal/Platform.elm +330 -203
- package/src/Pages/Internal/ResponseSketch.elm +2 -2
- package/src/Pages/Internal/Script.elm +17 -0
- package/src/Pages/Internal/StaticHttpBody.elm +35 -1
- package/src/Pages/Manifest.elm +52 -11
- package/src/Pages/Navigation.elm +85 -0
- package/src/Pages/PageUrl.elm +26 -12
- package/src/Pages/ProgramConfig.elm +32 -22
- package/src/Pages/Script.elm +166 -0
- package/src/Pages/SiteConfig.elm +3 -2
- package/src/Pages/StaticHttp/Request.elm +2 -2
- package/src/Pages/StaticHttpRequest.elm +23 -99
- package/src/Pages/Url.elm +3 -3
- package/src/PagesMsg.elm +88 -0
- package/src/QueryParams.elm +21 -172
- package/src/RenderRequest.elm +7 -7
- package/src/RequestsAndPending.elm +37 -20
- package/src/Result/Extra.elm +26 -0
- package/src/Scaffold/Form.elm +569 -0
- package/src/Scaffold/Route.elm +1431 -0
- package/src/Server/Request.elm +476 -1001
- package/src/Server/Response.elm +130 -36
- package/src/Server/Session.elm +181 -111
- package/src/Server/SetCookie.elm +80 -32
- package/src/Stub.elm +53 -0
- package/src/Test/Html/Internal/ElmHtml/ToString.elm +8 -9
- package/src/{Path.elm → UrlPath.elm} +33 -36
- package/generator/template/public/images/icon-png.png +0 -0
- package/src/DataSource/Env.elm +0 -38
- package/src/DataSource/Http.elm +0 -446
- package/src/DataSource/Internal/Request.elm +0 -20
- package/src/DataSource/Port.elm +0 -90
- package/src/DataSource.elm +0 -546
- package/src/Form/Field.elm +0 -717
- package/src/Form/FieldStatus.elm +0 -36
- package/src/Form/FieldView.elm +0 -417
- package/src/Form/FormData.elm +0 -22
- package/src/Form/Validation.elm +0 -391
- package/src/Form/Value.elm +0 -118
- package/src/Form.elm +0 -1683
- package/src/FormDecoder.elm +0 -102
- package/src/Pages/FormState.elm +0 -256
- package/src/Pages/Generate.elm +0 -1242
- package/src/Pages/Internal/Form.elm +0 -17
- package/src/Pages/Internal/Platform/Cli.elm.bak +0 -1276
- package/src/Pages/Msg.elm +0 -79
- package/src/Pages/Transition.elm +0 -70
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
module Route.Greet exposing (ActionData, Data, Model, Msg, route)
|
|
2
|
+
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import BackendTask.Http
|
|
5
|
+
import ErrorPage exposing (ErrorPage)
|
|
6
|
+
import FatalError exposing (FatalError)
|
|
7
|
+
import Head
|
|
8
|
+
import Head.Seo as Seo
|
|
9
|
+
import Html
|
|
10
|
+
import Json.Decode as Decode
|
|
11
|
+
import Pages.Url
|
|
12
|
+
import PagesMsg exposing (PagesMsg)
|
|
13
|
+
import RouteBuilder exposing (App, StatefulRoute, StatelessRoute)
|
|
14
|
+
import Server.Request as Request exposing (Request)
|
|
15
|
+
import Server.Response as Response exposing (Response)
|
|
16
|
+
import Shared
|
|
17
|
+
import View exposing (View)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
type alias Model =
|
|
21
|
+
{}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
type alias Msg =
|
|
25
|
+
()
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
type alias RouteParams =
|
|
29
|
+
{}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
33
|
+
route =
|
|
34
|
+
RouteBuilder.serverRender
|
|
35
|
+
{ head = head
|
|
36
|
+
, data = data
|
|
37
|
+
, action = \_ _ -> BackendTask.fail (FatalError.fromString "No action.")
|
|
38
|
+
}
|
|
39
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
type alias Data =
|
|
43
|
+
{ name : Maybe String
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
type alias ActionData =
|
|
48
|
+
{}
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
data : RouteParams -> Request -> BackendTask FatalError (Response Data ErrorPage)
|
|
52
|
+
data routeParams request =
|
|
53
|
+
case request |> Request.queryParam "name" of
|
|
54
|
+
Just name ->
|
|
55
|
+
BackendTask.Http.getJson "http://worldtimeapi.org/api/timezone/America/Los_Angeles"
|
|
56
|
+
(Decode.field "utc_datetime" Decode.string)
|
|
57
|
+
|> BackendTask.allowFatal
|
|
58
|
+
|> BackendTask.map
|
|
59
|
+
(\dateTimeString ->
|
|
60
|
+
Response.render
|
|
61
|
+
{ name = Just dateTimeString }
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
Nothing ->
|
|
65
|
+
BackendTask.succeed
|
|
66
|
+
(Response.render
|
|
67
|
+
{ name = Nothing }
|
|
68
|
+
)
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
head :
|
|
72
|
+
App Data ActionData RouteParams
|
|
73
|
+
-> List Head.Tag
|
|
74
|
+
head app =
|
|
75
|
+
Seo.summary
|
|
76
|
+
{ canonicalUrlOverride = Nothing
|
|
77
|
+
, siteName = "elm-pages"
|
|
78
|
+
, image =
|
|
79
|
+
{ url = Pages.Url.external "TODO"
|
|
80
|
+
, alt = "elm-pages logo"
|
|
81
|
+
, dimensions = Nothing
|
|
82
|
+
, mimeType = Nothing
|
|
83
|
+
}
|
|
84
|
+
, description = "TODO"
|
|
85
|
+
, locale = Nothing
|
|
86
|
+
, title = "TODO title" -- metadata.title -- TODO
|
|
87
|
+
}
|
|
88
|
+
|> Seo.website
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
view :
|
|
92
|
+
App Data ActionData RouteParams
|
|
93
|
+
-> Shared.Model
|
|
94
|
+
-> View (PagesMsg Msg)
|
|
95
|
+
view app shared =
|
|
96
|
+
{ title = "Greetings"
|
|
97
|
+
, body =
|
|
98
|
+
[ Html.div []
|
|
99
|
+
[ case app.data.name of
|
|
100
|
+
Just name ->
|
|
101
|
+
Html.text ("Hello " ++ name)
|
|
102
|
+
|
|
103
|
+
Nothing ->
|
|
104
|
+
Html.text "Hello, I didn't find your name"
|
|
105
|
+
]
|
|
106
|
+
]
|
|
107
|
+
}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
module Route.Hello exposing (ActionData, Data, Model, Msg(..), RouteParams, action, data, route)
|
|
2
|
+
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import BackendTask.Http
|
|
5
|
+
import Effect exposing (Effect)
|
|
6
|
+
import ErrorPage exposing (ErrorPage)
|
|
7
|
+
import FatalError exposing (FatalError)
|
|
8
|
+
import Head
|
|
9
|
+
import Html
|
|
10
|
+
import Json.Decode as Decode
|
|
11
|
+
import PagesMsg exposing (PagesMsg)
|
|
12
|
+
import RouteBuilder exposing (App)
|
|
13
|
+
import Server.Request exposing (Request)
|
|
14
|
+
import Server.Response
|
|
15
|
+
import Shared
|
|
16
|
+
import UrlPath exposing (UrlPath)
|
|
17
|
+
import View exposing (View)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
type alias Model =
|
|
21
|
+
{}
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
type Msg
|
|
25
|
+
= NoOp
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
type alias RouteParams =
|
|
29
|
+
{}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
route =
|
|
33
|
+
RouteBuilder.serverRender { data = data, action = action, head = head }
|
|
34
|
+
|> RouteBuilder.buildWithLocalState
|
|
35
|
+
{ view = view
|
|
36
|
+
, subscriptions = subscriptions
|
|
37
|
+
, update = update
|
|
38
|
+
, init = init
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
init :
|
|
43
|
+
App Data ActionData RouteParams
|
|
44
|
+
-> Shared.Model
|
|
45
|
+
-> ( Model, Effect Msg )
|
|
46
|
+
init app shared =
|
|
47
|
+
( {}, Effect.none )
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
update :
|
|
51
|
+
App Data ActionData RouteParams
|
|
52
|
+
-> Shared.Model
|
|
53
|
+
-> Msg
|
|
54
|
+
-> Model
|
|
55
|
+
-> ( Model, Effect Msg )
|
|
56
|
+
update app shared msg model =
|
|
57
|
+
case msg of
|
|
58
|
+
NoOp ->
|
|
59
|
+
( model, Effect.none )
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
subscriptions :
|
|
63
|
+
RouteParams
|
|
64
|
+
-> UrlPath
|
|
65
|
+
-> Shared.Model
|
|
66
|
+
-> Model
|
|
67
|
+
-> Sub Msg
|
|
68
|
+
subscriptions routeParams path shared model =
|
|
69
|
+
Sub.none
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
type alias Data =
|
|
73
|
+
{ stars : Int
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
|
|
77
|
+
type alias ActionData =
|
|
78
|
+
{}
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
data :
|
|
82
|
+
RouteParams
|
|
83
|
+
-> Request
|
|
84
|
+
-> BackendTask FatalError (Server.Response.Response Data ErrorPage)
|
|
85
|
+
data routeParams request =
|
|
86
|
+
BackendTask.Http.getWithOptions
|
|
87
|
+
{ url = "https://api.github.com/repos/dillonkearns/elm-pages"
|
|
88
|
+
, expect = BackendTask.Http.expectJson (Decode.field "stargazers_count" Decode.int)
|
|
89
|
+
, headers = []
|
|
90
|
+
, cacheStrategy = Just BackendTask.Http.IgnoreCache
|
|
91
|
+
, retries = Nothing
|
|
92
|
+
, timeoutInMs = Nothing
|
|
93
|
+
, cachePath = Nothing
|
|
94
|
+
}
|
|
95
|
+
|> BackendTask.allowFatal
|
|
96
|
+
|> BackendTask.map
|
|
97
|
+
(\stars -> Server.Response.render { stars = stars })
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
head : App Data ActionData RouteParams -> List Head.Tag
|
|
101
|
+
head app =
|
|
102
|
+
[]
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
view :
|
|
106
|
+
App Data ActionData RouteParams
|
|
107
|
+
-> Shared.Model
|
|
108
|
+
-> Model
|
|
109
|
+
-> View (PagesMsg Msg)
|
|
110
|
+
view app shared model =
|
|
111
|
+
{ title = "Hello", body = [ Html.text (String.fromInt app.data.stars) ] }
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
action :
|
|
115
|
+
RouteParams
|
|
116
|
+
-> Request
|
|
117
|
+
-> BackendTask.BackendTask FatalError.FatalError (Server.Response.Response ActionData ErrorPage.ErrorPage)
|
|
118
|
+
action routeParams request =
|
|
119
|
+
BackendTask.succeed (Server.Response.render {})
|
|
@@ -1,14 +1,15 @@
|
|
|
1
|
-
module Route.Index exposing (Data, Model, Msg, route)
|
|
1
|
+
module Route.Index exposing (ActionData, Data, Model, Msg, route)
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import FatalError exposing (FatalError)
|
|
4
5
|
import Head
|
|
5
6
|
import Head.Seo as Seo
|
|
6
7
|
import Html
|
|
7
|
-
import Html.Attributes as Attr
|
|
8
|
-
import Pages.PageUrl exposing (PageUrl)
|
|
9
8
|
import Pages.Url
|
|
10
|
-
import
|
|
11
|
-
import
|
|
9
|
+
import PagesMsg exposing (PagesMsg)
|
|
10
|
+
import UrlPath
|
|
11
|
+
import Route
|
|
12
|
+
import RouteBuilder exposing (App, StatelessRoute)
|
|
12
13
|
import Shared
|
|
13
14
|
import View exposing (View)
|
|
14
15
|
|
|
@@ -26,6 +27,11 @@ type alias RouteParams =
|
|
|
26
27
|
|
|
27
28
|
|
|
28
29
|
type alias Data =
|
|
30
|
+
{ message : String
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
type alias ActionData =
|
|
29
35
|
{}
|
|
30
36
|
|
|
31
37
|
|
|
@@ -38,20 +44,22 @@ route =
|
|
|
38
44
|
|> RouteBuilder.buildNoState { view = view }
|
|
39
45
|
|
|
40
46
|
|
|
41
|
-
data :
|
|
47
|
+
data : BackendTask FatalError Data
|
|
42
48
|
data =
|
|
43
|
-
|
|
49
|
+
BackendTask.succeed Data
|
|
50
|
+
|> BackendTask.andMap
|
|
51
|
+
(BackendTask.succeed "Hello!")
|
|
44
52
|
|
|
45
53
|
|
|
46
54
|
head :
|
|
47
|
-
|
|
55
|
+
App Data ActionData RouteParams
|
|
48
56
|
-> List Head.Tag
|
|
49
|
-
head
|
|
57
|
+
head app =
|
|
50
58
|
Seo.summary
|
|
51
59
|
{ canonicalUrlOverride = Nothing
|
|
52
60
|
, siteName = "elm-pages"
|
|
53
61
|
, image =
|
|
54
|
-
{ url = [ "images", "icon-png.png" ] |>
|
|
62
|
+
{ url = [ "images", "icon-png.png" ] |> UrlPath.join |> Pages.Url.fromPath
|
|
55
63
|
, alt = "elm-pages logo"
|
|
56
64
|
, dimensions = Nothing
|
|
57
65
|
, mimeType = Nothing
|
|
@@ -64,24 +72,17 @@ head static =
|
|
|
64
72
|
|
|
65
73
|
|
|
66
74
|
view :
|
|
67
|
-
|
|
75
|
+
App Data ActionData RouteParams
|
|
68
76
|
-> Shared.Model
|
|
69
|
-
->
|
|
70
|
-
|
|
71
|
-
view maybeUrl sharedModel static =
|
|
77
|
+
-> View (PagesMsg Msg)
|
|
78
|
+
view app shared =
|
|
72
79
|
{ title = "elm-pages is running"
|
|
73
80
|
, body =
|
|
74
81
|
[ Html.h1 [] [ Html.text "elm-pages is up and running!" ]
|
|
75
|
-
, Html.
|
|
76
|
-
|
|
77
|
-
[]
|
|
78
|
-
[ Html.li []
|
|
79
|
-
[ Html.a [ Attr.href "https://elm-pages.com/docs/" ] [ Html.text "Framework documentation" ]
|
|
80
|
-
]
|
|
81
|
-
, Html.li
|
|
82
|
-
[]
|
|
83
|
-
[ Html.a [ Attr.href "https://package.elm-lang.org/packages/dillonkearns/elm-pages/latest/" ] [ Html.text "Elm package documentation" ]
|
|
84
|
-
]
|
|
82
|
+
, Html.p []
|
|
83
|
+
[ Html.text <| "The message is: " ++ app.data.message
|
|
85
84
|
]
|
|
85
|
+
, Route.Blog__Slug_ { slug = "hello" }
|
|
86
|
+
|> Route.link [] [ Html.text "My blog post" ]
|
|
86
87
|
]
|
|
87
88
|
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
module Shared exposing (Data, Model, Msg(..), SharedMsg(..), template)
|
|
2
2
|
|
|
3
|
-
import
|
|
4
|
-
import
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import Effect exposing (Effect)
|
|
5
|
+
import FatalError exposing (FatalError)
|
|
5
6
|
import Html exposing (Html)
|
|
6
7
|
import Html.Events
|
|
7
8
|
import Pages.Flags
|
|
8
9
|
import Pages.PageUrl exposing (PageUrl)
|
|
9
|
-
import
|
|
10
|
+
import UrlPath exposing (UrlPath)
|
|
10
11
|
import Route exposing (Route)
|
|
11
12
|
import SharedTemplate exposing (SharedTemplate)
|
|
12
13
|
import View exposing (View)
|
|
@@ -42,80 +43,78 @@ type alias Model =
|
|
|
42
43
|
|
|
43
44
|
|
|
44
45
|
init :
|
|
45
|
-
|
|
46
|
-
-> Pages.Flags.Flags
|
|
46
|
+
Pages.Flags.Flags
|
|
47
47
|
->
|
|
48
48
|
Maybe
|
|
49
49
|
{ path :
|
|
50
|
-
{ path :
|
|
50
|
+
{ path : UrlPath
|
|
51
51
|
, query : Maybe String
|
|
52
52
|
, fragment : Maybe String
|
|
53
53
|
}
|
|
54
54
|
, metadata : route
|
|
55
55
|
, pageUrl : Maybe PageUrl
|
|
56
56
|
}
|
|
57
|
-
-> ( Model,
|
|
58
|
-
init
|
|
57
|
+
-> ( Model, Effect Msg )
|
|
58
|
+
init flags maybePagePath =
|
|
59
59
|
( { showMenu = False }
|
|
60
|
-
,
|
|
60
|
+
, Effect.none
|
|
61
61
|
)
|
|
62
62
|
|
|
63
63
|
|
|
64
|
-
update : Msg -> Model -> ( Model,
|
|
64
|
+
update : Msg -> Model -> ( Model, Effect Msg )
|
|
65
65
|
update msg model =
|
|
66
66
|
case msg of
|
|
67
67
|
SharedMsg globalMsg ->
|
|
68
|
-
( model,
|
|
68
|
+
( model, Effect.none )
|
|
69
69
|
|
|
70
70
|
MenuClicked ->
|
|
71
|
-
( { model | showMenu = not model.showMenu },
|
|
71
|
+
( { model | showMenu = not model.showMenu }, Effect.none )
|
|
72
72
|
|
|
73
73
|
|
|
74
|
-
subscriptions :
|
|
74
|
+
subscriptions : UrlPath -> Model -> Sub Msg
|
|
75
75
|
subscriptions _ _ =
|
|
76
76
|
Sub.none
|
|
77
77
|
|
|
78
78
|
|
|
79
|
-
data :
|
|
79
|
+
data : BackendTask FatalError Data
|
|
80
80
|
data =
|
|
81
|
-
|
|
81
|
+
BackendTask.succeed ()
|
|
82
82
|
|
|
83
83
|
|
|
84
84
|
view :
|
|
85
85
|
Data
|
|
86
86
|
->
|
|
87
|
-
{ path :
|
|
87
|
+
{ path : UrlPath
|
|
88
88
|
, route : Maybe Route
|
|
89
89
|
}
|
|
90
90
|
-> Model
|
|
91
91
|
-> (Msg -> msg)
|
|
92
92
|
-> View msg
|
|
93
|
-
-> { body : Html msg, title : String }
|
|
93
|
+
-> { body : List (Html msg), title : String }
|
|
94
94
|
view sharedData page model toMsg pageView =
|
|
95
95
|
{ body =
|
|
96
|
-
Html.
|
|
97
|
-
[ Html.
|
|
98
|
-
[ Html.
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
)
|
|
107
|
-
]
|
|
108
|
-
, if model.showMenu then
|
|
109
|
-
Html.ul []
|
|
110
|
-
[ Html.li [] [ Html.text "Menu item 1" ]
|
|
111
|
-
, Html.li [] [ Html.text "Menu item 2" ]
|
|
112
|
-
]
|
|
113
|
-
|
|
114
|
-
else
|
|
115
|
-
Html.text ""
|
|
96
|
+
[ Html.nav []
|
|
97
|
+
[ Html.button
|
|
98
|
+
[ Html.Events.onClick MenuClicked ]
|
|
99
|
+
[ Html.text
|
|
100
|
+
(if model.showMenu then
|
|
101
|
+
"Close Menu"
|
|
102
|
+
|
|
103
|
+
else
|
|
104
|
+
"Open Menu"
|
|
105
|
+
)
|
|
116
106
|
]
|
|
117
|
-
|
|
118
|
-
|
|
107
|
+
, if model.showMenu then
|
|
108
|
+
Html.ul []
|
|
109
|
+
[ Html.li [] [ Html.text "Menu item 1" ]
|
|
110
|
+
, Html.li [] [ Html.text "Menu item 2" ]
|
|
111
|
+
]
|
|
112
|
+
|
|
113
|
+
else
|
|
114
|
+
Html.text ""
|
|
119
115
|
]
|
|
116
|
+
|> Html.map toMsg
|
|
117
|
+
, Html.main_ [] pageView.body
|
|
118
|
+
]
|
|
120
119
|
, title = pageView.title
|
|
121
120
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
module Site exposing (config)
|
|
2
2
|
|
|
3
|
-
import
|
|
3
|
+
import BackendTask exposing (BackendTask)
|
|
4
|
+
import FatalError exposing (FatalError)
|
|
4
5
|
import Head
|
|
5
6
|
import SiteConfig exposing (SiteConfig)
|
|
6
7
|
|
|
@@ -12,13 +13,9 @@ config =
|
|
|
12
13
|
}
|
|
13
14
|
|
|
14
15
|
|
|
15
|
-
head :
|
|
16
|
+
head : BackendTask FatalError (List Head.Tag)
|
|
16
17
|
head =
|
|
17
18
|
[ Head.metaName "viewport" (Head.raw "width=device-width,initial-scale=1")
|
|
18
|
-
, Head.metaName "mobile-web-app-capable" (Head.raw "yes")
|
|
19
|
-
, Head.metaName "theme-color" (Head.raw "#ffffff")
|
|
20
|
-
, Head.metaName "apple-mobile-web-app-capable" (Head.raw "yes")
|
|
21
|
-
, Head.metaName "apple-mobile-web-app-status-bar-style" (Head.raw "black-translucent")
|
|
22
19
|
, Head.sitemapLink "/sitemap.xml"
|
|
23
20
|
]
|
|
24
|
-
|>
|
|
21
|
+
|> BackendTask.succeed
|
|
@@ -1,23 +1,24 @@
|
|
|
1
|
-
module View exposing (View, map
|
|
1
|
+
module View exposing (View, map)
|
|
2
|
+
|
|
3
|
+
{-|
|
|
4
|
+
|
|
5
|
+
@docs View, map
|
|
6
|
+
|
|
7
|
+
-}
|
|
2
8
|
|
|
3
9
|
import Html exposing (Html)
|
|
4
10
|
|
|
5
11
|
|
|
12
|
+
{-| -}
|
|
6
13
|
type alias View msg =
|
|
7
14
|
{ title : String
|
|
8
15
|
, body : List (Html msg)
|
|
9
16
|
}
|
|
10
17
|
|
|
11
18
|
|
|
19
|
+
{-| -}
|
|
12
20
|
map : (msg1 -> msg2) -> View msg1 -> View msg2
|
|
13
21
|
map fn doc =
|
|
14
22
|
{ title = doc.title
|
|
15
23
|
, body = List.map (Html.map fn) doc.body
|
|
16
24
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
placeholder : String -> View msg
|
|
20
|
-
placeholder moduleName =
|
|
21
|
-
{ title = "Placeholder - " ++ moduleName
|
|
22
|
-
, body = [ Html.text moduleName ]
|
|
23
|
-
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"elm-codegen-version": "0.2.0",
|
|
3
|
+
"codegen-helpers": {
|
|
4
|
+
"packages": {
|
|
5
|
+
"elm/core": "1.0.5",
|
|
6
|
+
"dillonkearns/elm-form": "3.0.0",
|
|
7
|
+
"elm/html": "1.0.0",
|
|
8
|
+
"rtfeldman/elm-css": "18.0.0",
|
|
9
|
+
"dillonkearns/elm-pages": "10.0.0",
|
|
10
|
+
"elm/json": "1.1.3"
|
|
11
|
+
},
|
|
12
|
+
"local": [
|
|
13
|
+
".elm-pages/",
|
|
14
|
+
"app/",
|
|
15
|
+
"src/"
|
|
16
|
+
]
|
|
17
|
+
}
|
|
18
|
+
}
|
|
@@ -1,5 +1,18 @@
|
|
|
1
1
|
import { defineConfig } from "vite";
|
|
2
|
+
import adapter from "elm-pages/adapter/netlify.js";
|
|
2
3
|
|
|
3
4
|
export default {
|
|
4
5
|
vite: defineConfig({}),
|
|
6
|
+
adapter,
|
|
7
|
+
headTagsTemplate(context) {
|
|
8
|
+
return `
|
|
9
|
+
<link rel="stylesheet" href="/style.css" />
|
|
10
|
+
<meta name="generator" content="elm-pages v${context.cliVersion}" />
|
|
11
|
+
`;
|
|
12
|
+
},
|
|
13
|
+
preloadTagForFile(file) {
|
|
14
|
+
// add preload directives for JS assets and font assets, etc., skip for CSS files
|
|
15
|
+
// this function will be called with each file that is procesed by Vite, including any files in your headTagsTemplate in your config
|
|
16
|
+
return !file.endsWith(".css");
|
|
17
|
+
},
|
|
5
18
|
};
|
|
@@ -1,52 +1,61 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "application",
|
|
3
3
|
"source-directories": [
|
|
4
|
-
"app",
|
|
5
4
|
"src",
|
|
5
|
+
"app",
|
|
6
6
|
".elm-pages"
|
|
7
7
|
],
|
|
8
8
|
"elm-version": "0.19.1",
|
|
9
9
|
"dependencies": {
|
|
10
10
|
"direct": {
|
|
11
|
-
"dillonkearns/elm-pages": "9.0.0",
|
|
12
|
-
"elm/browser": "1.0.2",
|
|
13
|
-
"elm/core": "1.0.5",
|
|
14
|
-
"elm/html": "1.0.0",
|
|
15
|
-
"elm/json": "1.1.3",
|
|
16
|
-
"elm/url": "1.0.0"
|
|
17
|
-
},
|
|
18
|
-
"indirect": {
|
|
19
|
-
"MartinSStewart/elm-serialize": "1.2.6",
|
|
20
11
|
"avh4/elm-color": "1.0.0",
|
|
21
|
-
"bburdette/toop": "1.2.0",
|
|
22
12
|
"danfishgold/base64-bytes": "1.1.0",
|
|
23
13
|
"danyx23/elm-mimetype": "4.0.1",
|
|
24
14
|
"dillonkearns/elm-bcp47-language-tag": "1.0.1",
|
|
15
|
+
"dillonkearns/elm-form": "3.0.0",
|
|
16
|
+
"dillonkearns/elm-markdown": "7.0.1",
|
|
17
|
+
"dillonkearns/elm-pages": "10.0.0",
|
|
18
|
+
"elm/browser": "1.0.2",
|
|
25
19
|
"elm/bytes": "1.0.8",
|
|
26
|
-
"elm/
|
|
20
|
+
"elm/core": "1.0.5",
|
|
21
|
+
"elm/html": "1.0.0",
|
|
27
22
|
"elm/http": "2.0.0",
|
|
23
|
+
"elm/json": "1.1.3",
|
|
28
24
|
"elm/parser": "1.1.0",
|
|
29
|
-
"elm/project-metadata-utils": "1.0.2",
|
|
30
|
-
"elm/random": "1.0.0",
|
|
31
25
|
"elm/regex": "1.0.0",
|
|
32
26
|
"elm/time": "1.0.0",
|
|
33
|
-
"elm/
|
|
27
|
+
"elm/url": "1.0.0",
|
|
28
|
+
"elm/virtual-dom": "1.0.3",
|
|
34
29
|
"elm-community/dict-extra": "2.4.0",
|
|
35
|
-
"elm-community/list-extra": "8.
|
|
36
|
-
"elm-
|
|
37
|
-
"
|
|
38
|
-
"
|
|
39
|
-
"
|
|
30
|
+
"elm-community/list-extra": "8.7.0",
|
|
31
|
+
"elm-community/result-extra": "2.4.0",
|
|
32
|
+
"jluckyiv/elm-utc-date-strings": "1.0.0",
|
|
33
|
+
"justinmimbs/date": "4.0.1",
|
|
34
|
+
"mdgriffith/elm-codegen": "3.0.0",
|
|
40
35
|
"miniBill/elm-codec": "2.0.0",
|
|
41
|
-
"miniBill/elm-unicode": "1.0.2",
|
|
42
36
|
"noahzgordon/elm-color-extra": "1.0.2",
|
|
37
|
+
"robinheghan/fnv1a": "1.0.0",
|
|
38
|
+
"rtfeldman/elm-css": "18.0.0",
|
|
39
|
+
"the-sett/elm-syntax-dsl": "6.0.2",
|
|
40
|
+
"turboMaCk/non-empty-list-alias": "1.3.1",
|
|
41
|
+
"vito/elm-ansi": "10.0.1"
|
|
42
|
+
},
|
|
43
|
+
"indirect": {
|
|
44
|
+
"Chadtech/elm-bool-extra": "2.4.2",
|
|
45
|
+
"dillonkearns/elm-cli-options-parser": "3.2.0",
|
|
46
|
+
"dillonkearns/elm-date-or-date-time": "2.0.0",
|
|
47
|
+
"elm/file": "1.0.5",
|
|
48
|
+
"elm/random": "1.0.0",
|
|
49
|
+
"elm-community/basics-extra": "4.1.0",
|
|
50
|
+
"elm-community/maybe-extra": "5.3.0",
|
|
51
|
+
"fredcy/elm-parseint": "2.0.1",
|
|
52
|
+
"miniBill/elm-unicode": "1.0.3",
|
|
43
53
|
"robinheghan/murmur3": "1.0.0",
|
|
44
54
|
"rtfeldman/elm-hex": "1.0.0",
|
|
45
|
-
"
|
|
55
|
+
"rtfeldman/elm-iso8601-date-strings": "1.1.4",
|
|
56
|
+
"stil4m/elm-syntax": "7.2.9",
|
|
46
57
|
"stil4m/structured-writer": "1.0.3",
|
|
47
|
-
"
|
|
48
|
-
"vito/elm-ansi": "10.0.1",
|
|
49
|
-
"zwilias/json-decode-exploration": "6.0.0"
|
|
58
|
+
"the-sett/elm-pretty-printer": "3.0.0"
|
|
50
59
|
}
|
|
51
60
|
},
|
|
52
61
|
"test-dependencies": {
|
|
@@ -5,8 +5,7 @@ type ElmPagesInit = {
|
|
|
5
5
|
|
|
6
6
|
const config: ElmPagesInit = {
|
|
7
7
|
load: async function (elmLoaded) {
|
|
8
|
-
|
|
9
|
-
console.log("App loaded", app);
|
|
8
|
+
await elmLoaded;
|
|
10
9
|
},
|
|
11
10
|
flags: function () {
|
|
12
11
|
return "You can decode this in Shared.elm using Json.Decode.string!";
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
[build]
|
|
2
2
|
functions = "functions/"
|
|
3
3
|
publish = "dist/"
|
|
4
|
-
command = "export ELM_HOME=\"$NETLIFY_BUILD_BASE/cache/elm\" && npm install
|
|
4
|
+
command = "mkdir bin && export PATH=\"/opt/build/repo/bin:$PATH\" && echo $PATH && curl https://static.lamdera.com/bin/linux/lamdera -o bin/lamdera && chmod a+x bin/lamdera && export ELM_HOME=\"$NETLIFY_BUILD_BASE/cache/elm\" && npm install && npm run build"
|
|
5
5
|
|
|
6
6
|
[dev]
|
|
7
7
|
command = "npm start"
|
|
8
8
|
targetPort = 1234
|
|
9
9
|
autoLaunch = true
|
|
10
10
|
framework = "#custom"
|
|
11
|
+
|
|
12
|
+
[functions]
|
|
13
|
+
node_bundler = "esbuild"
|