elm-pages 3.0.0-beta.8 → 3.0.0

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 (164) hide show
  1. package/README.md +11 -2
  2. package/adapter/netlify.js +207 -0
  3. package/codegen/{elm-pages-codegen.js → elm-pages-codegen.cjs} +2730 -2938
  4. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  5. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  6. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  7. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  8. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  9. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  10. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +1 -1
  11. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1527 -422
  12. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +16840 -13653
  13. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  14. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +2 -2
  15. package/generator/dead-code-review/elm.json +9 -7
  16. package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +59 -10
  17. package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +52 -36
  18. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  19. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  20. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  21. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  22. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  23. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  24. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  25. package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -1
  26. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +1527 -422
  27. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +25118 -21832
  28. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +1 -1
  29. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +2 -2
  30. package/generator/review/elm.json +10 -10
  31. package/generator/src/RouteBuilder.elm +93 -128
  32. package/generator/src/SharedTemplate.elm +8 -7
  33. package/generator/src/SiteConfig.elm +3 -2
  34. package/generator/src/basepath-middleware.js +3 -3
  35. package/generator/src/build.js +147 -63
  36. package/generator/src/cli.js +292 -88
  37. package/generator/src/codegen.js +29 -27
  38. package/generator/src/compatibility-key.js +3 -0
  39. package/generator/src/compile-elm.js +43 -26
  40. package/generator/src/config.js +2 -4
  41. package/generator/src/copy-dir.js +2 -2
  42. package/generator/src/dev-server.js +159 -92
  43. package/generator/src/dir-helpers.js +9 -26
  44. package/generator/src/elm-codegen.js +5 -4
  45. package/generator/src/elm-file-constants.js +2 -3
  46. package/generator/src/error-formatter.js +12 -11
  47. package/generator/src/file-helpers.js +3 -4
  48. package/generator/src/generate-template-module-connector.js +23 -23
  49. package/generator/src/init.js +9 -8
  50. package/generator/src/pre-render-html.js +10 -13
  51. package/generator/src/render-test.js +109 -0
  52. package/generator/src/render-worker.js +25 -28
  53. package/generator/src/render.js +321 -142
  54. package/generator/src/request-cache.js +265 -162
  55. package/generator/src/resolve-elm-module.js +64 -0
  56. package/generator/src/rewrite-client-elm-json.js +6 -5
  57. package/generator/src/rewrite-elm-json-help.js +56 -0
  58. package/generator/src/rewrite-elm-json.js +17 -7
  59. package/generator/src/route-codegen-helpers.js +16 -31
  60. package/generator/src/seo-renderer.js +12 -7
  61. package/generator/src/vite-utils.js +1 -2
  62. package/generator/static-code/elm-pages.js +10 -0
  63. package/generator/static-code/hmr.js +79 -13
  64. package/generator/template/app/Api.elm +3 -2
  65. package/generator/template/app/Effect.elm +155 -0
  66. package/generator/template/app/ErrorPage.elm +49 -6
  67. package/generator/template/app/Route/Blog/Slug_.elm +86 -0
  68. package/generator/template/app/Route/Greet.elm +107 -0
  69. package/generator/template/app/Route/Hello.elm +119 -0
  70. package/generator/template/app/Route/Index.elm +26 -25
  71. package/generator/template/app/Shared.elm +38 -39
  72. package/generator/template/app/Site.elm +4 -7
  73. package/generator/template/app/View.elm +9 -8
  74. package/generator/template/codegen/elm.codegen.json +18 -0
  75. package/generator/template/custom-backend-task.ts +3 -0
  76. package/generator/template/elm-pages.config.mjs +13 -0
  77. package/generator/template/elm-tooling.json +0 -3
  78. package/generator/template/elm.json +25 -20
  79. package/generator/template/index.ts +1 -2
  80. package/generator/template/netlify.toml +4 -1
  81. package/generator/template/package.json +10 -4
  82. package/generator/template/script/.elm-pages/compiled-ports/custom-backend-task.mjs +7 -0
  83. package/generator/template/script/custom-backend-task.ts +3 -0
  84. package/generator/template/script/elm.json +61 -0
  85. package/generator/template/script/src/AddRoute.elm +312 -0
  86. package/generator/template/script/src/Stars.elm +42 -0
  87. package/package.json +30 -27
  88. package/src/ApiRoute.elm +249 -85
  89. package/src/BackendTask/Custom.elm +325 -0
  90. package/src/BackendTask/Env.elm +90 -0
  91. package/src/{DataSource → BackendTask}/File.elm +171 -56
  92. package/src/{DataSource → BackendTask}/Glob.elm +136 -125
  93. package/src/BackendTask/Http.elm +679 -0
  94. package/src/{DataSource → BackendTask}/Internal/Glob.elm +1 -1
  95. package/src/BackendTask/Internal/Request.elm +69 -0
  96. package/src/BackendTask/Random.elm +79 -0
  97. package/src/BackendTask/Time.elm +47 -0
  98. package/src/BackendTask.elm +531 -0
  99. package/src/FatalError.elm +90 -0
  100. package/src/FormData.elm +21 -18
  101. package/src/Head/Seo.elm +4 -4
  102. package/src/Head.elm +237 -7
  103. package/src/Internal/ApiRoute.elm +7 -5
  104. package/src/Internal/Request.elm +84 -4
  105. package/src/PageServerResponse.elm +6 -1
  106. package/src/Pages/ConcurrentSubmission.elm +127 -0
  107. package/src/Pages/Form.elm +340 -0
  108. package/src/Pages/FormData.elm +19 -0
  109. package/src/Pages/GeneratorProgramConfig.elm +15 -0
  110. package/src/Pages/Internal/FatalError.elm +5 -0
  111. package/src/Pages/Internal/Msg.elm +93 -0
  112. package/src/Pages/Internal/NotFoundReason.elm +4 -4
  113. package/src/Pages/Internal/Platform/Cli.elm +629 -767
  114. package/src/Pages/Internal/Platform/CompatibilityKey.elm +6 -0
  115. package/src/Pages/Internal/Platform/Effect.elm +1 -2
  116. package/src/Pages/Internal/Platform/GeneratorApplication.elm +379 -0
  117. package/src/Pages/Internal/Platform/StaticResponses.elm +65 -276
  118. package/src/Pages/Internal/Platform/ToJsPayload.elm +6 -9
  119. package/src/Pages/Internal/Platform.elm +330 -203
  120. package/src/Pages/Internal/ResponseSketch.elm +2 -2
  121. package/src/Pages/Internal/Script.elm +17 -0
  122. package/src/Pages/Internal/StaticHttpBody.elm +35 -1
  123. package/src/Pages/Manifest.elm +52 -11
  124. package/src/Pages/Navigation.elm +85 -0
  125. package/src/Pages/PageUrl.elm +26 -12
  126. package/src/Pages/ProgramConfig.elm +32 -22
  127. package/src/Pages/Script.elm +166 -0
  128. package/src/Pages/SiteConfig.elm +3 -2
  129. package/src/Pages/StaticHttp/Request.elm +2 -2
  130. package/src/Pages/StaticHttpRequest.elm +23 -99
  131. package/src/Pages/Url.elm +3 -3
  132. package/src/PagesMsg.elm +88 -0
  133. package/src/QueryParams.elm +21 -172
  134. package/src/RenderRequest.elm +7 -7
  135. package/src/RequestsAndPending.elm +37 -20
  136. package/src/Result/Extra.elm +26 -0
  137. package/src/Scaffold/Form.elm +569 -0
  138. package/src/Scaffold/Route.elm +1431 -0
  139. package/src/Server/Request.elm +476 -1001
  140. package/src/Server/Response.elm +130 -36
  141. package/src/Server/Session.elm +181 -111
  142. package/src/Server/SetCookie.elm +80 -32
  143. package/src/Stub.elm +53 -0
  144. package/src/Test/Html/Internal/ElmHtml/ToString.elm +8 -9
  145. package/src/{Path.elm → UrlPath.elm} +33 -36
  146. package/generator/template/public/images/icon-png.png +0 -0
  147. package/src/DataSource/Env.elm +0 -38
  148. package/src/DataSource/Http.elm +0 -446
  149. package/src/DataSource/Internal/Request.elm +0 -20
  150. package/src/DataSource/Port.elm +0 -90
  151. package/src/DataSource.elm +0 -538
  152. package/src/Form/Field.elm +0 -717
  153. package/src/Form/FieldStatus.elm +0 -36
  154. package/src/Form/FieldView.elm +0 -417
  155. package/src/Form/FormData.elm +0 -22
  156. package/src/Form/Validation.elm +0 -391
  157. package/src/Form/Value.elm +0 -118
  158. package/src/Form.elm +0 -1683
  159. package/src/FormDecoder.elm +0 -102
  160. package/src/Pages/FormState.elm +0 -256
  161. package/src/Pages/Generate.elm +0 -1151
  162. package/src/Pages/Internal/Form.elm +0 -17
  163. package/src/Pages/Msg.elm +0 -79
  164. package/src/Pages/Transition.elm +0 -70
@@ -1,17 +0,0 @@
1
- module Pages.Internal.Form exposing (Validation(..), ViewField)
2
-
3
- import Dict exposing (Dict)
4
- import Form.FieldStatus exposing (FieldStatus)
5
- import Json.Encode as Encode
6
-
7
-
8
- type Validation error parsed kind field
9
- = Validation (Maybe (ViewField kind)) (Maybe String) ( Maybe parsed, Dict String (List error) )
10
-
11
-
12
- {-| -}
13
- type alias ViewField kind =
14
- { value : Maybe String
15
- , status : FieldStatus
16
- , kind : ( kind, List ( String, Encode.Value ) )
17
- }
package/src/Pages/Msg.elm DELETED
@@ -1,79 +0,0 @@
1
- module Pages.Msg exposing
2
- ( Msg(..)
3
- , map, onSubmit, fetcherOnSubmit, submitIfValid
4
- )
5
-
6
- {-|
7
-
8
- @docs Msg
9
-
10
- @docs map, onSubmit, fetcherOnSubmit, submitIfValid
11
-
12
- -}
13
-
14
- import Form.FormData exposing (FormData)
15
- import FormDecoder
16
- import Html exposing (Attribute)
17
- import Html.Attributes as Attr
18
- import Json.Decode
19
-
20
-
21
- {-| -}
22
- type Msg userMsg
23
- = UserMsg userMsg
24
- | Submit FormData
25
- | SubmitIfValid String FormData Bool
26
- | SubmitFetcher String FormData Bool (Maybe userMsg)
27
- | FormFieldEvent Json.Decode.Value
28
-
29
-
30
- {-| -}
31
- onSubmit : Attribute (Msg userMsg)
32
- onSubmit =
33
- FormDecoder.formDataOnSubmit
34
- |> Attr.map Submit
35
-
36
-
37
- {-| -}
38
- submitIfValid : String -> (List ( String, String ) -> Bool) -> Attribute (Msg userMsg)
39
- submitIfValid formId isValid =
40
- FormDecoder.formDataOnSubmit
41
- |> Attr.map (\formData -> SubmitIfValid formId formData (isValid formData.fields))
42
-
43
-
44
- {-| -}
45
- fetcherOnSubmit : Maybe ({ fields : List ( String, String ) } -> userMsg) -> String -> (List ( String, String ) -> Bool) -> Attribute (Msg userMsg)
46
- fetcherOnSubmit userMsg formId isValid =
47
- FormDecoder.formDataOnSubmit
48
- |> Attr.map
49
- (\formData ->
50
- SubmitFetcher formId
51
- formData
52
- (isValid formData.fields)
53
- (userMsg
54
- |> Maybe.map
55
- (\toUserMsg ->
56
- toUserMsg { fields = formData.fields }
57
- )
58
- )
59
- )
60
-
61
-
62
- {-| -}
63
- map : (a -> b) -> Msg a -> Msg b
64
- map mapFn msg =
65
- case msg of
66
- UserMsg userMsg ->
67
- UserMsg (mapFn userMsg)
68
-
69
- Submit info ->
70
- Submit info
71
-
72
- SubmitIfValid formId info isValid ->
73
- SubmitIfValid formId info isValid
74
-
75
- SubmitFetcher formId info isValid toUserMsg ->
76
- SubmitFetcher formId info isValid (Maybe.map mapFn toUserMsg)
77
-
78
- FormFieldEvent value ->
79
- FormFieldEvent value
@@ -1,70 +0,0 @@
1
- module Pages.Transition exposing
2
- ( Transition(..), LoadingState(..), map
3
- , FetcherState, FetcherSubmitStatus(..)
4
- )
5
-
6
- {-|
7
-
8
- @docs Transition, LoadingState, map
9
-
10
-
11
- ## Fetchers
12
-
13
- @docs FetcherState, FetcherSubmitStatus
14
-
15
- -}
16
-
17
- import Form.FormData exposing (FormData)
18
- import Path exposing (Path)
19
- import Time
20
-
21
-
22
- {-| -}
23
- type Transition
24
- = Submitting FormData
25
- | LoadAfterSubmit FormData Path LoadingState
26
- | Loading Path LoadingState
27
-
28
-
29
- {-| -}
30
- type LoadingState
31
- = Redirecting
32
- | Load
33
- | ActionRedirect
34
-
35
-
36
- {-| -}
37
- type alias FetcherState actionData =
38
- { status : FetcherSubmitStatus actionData
39
- , payload : FormData
40
- , initiatedAt : Time.Posix
41
- }
42
-
43
-
44
- {-| -}
45
- type FetcherSubmitStatus actionData
46
- = FetcherSubmitting
47
- | FetcherReloading actionData
48
- | FetcherComplete actionData
49
-
50
-
51
- {-| -}
52
- map : (a -> b) -> FetcherState a -> FetcherState b
53
- map mapFn fetcherState =
54
- { status = mapStatus mapFn fetcherState.status
55
- , payload = fetcherState.payload
56
- , initiatedAt = fetcherState.initiatedAt
57
- }
58
-
59
-
60
- mapStatus : (a -> b) -> FetcherSubmitStatus a -> FetcherSubmitStatus b
61
- mapStatus mapFn fetcherSubmitStatus =
62
- case fetcherSubmitStatus of
63
- FetcherSubmitting ->
64
- FetcherSubmitting
65
-
66
- FetcherReloading value ->
67
- FetcherReloading (mapFn value)
68
-
69
- FetcherComplete value ->
70
- FetcherComplete (mapFn value)