elm-pages 2.1.10 → 3.0.0-beta.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 (136) hide show
  1. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  2. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  3. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  4. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  5. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmi +0 -0
  6. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmo +0 -0
  7. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  8. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  9. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  10. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  11. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  12. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  13. package/generator/{template/public/style.css → review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock} +0 -0
  14. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  15. package/generator/review/elm-stuff/tests-0.19.1/elm.json +1 -0
  16. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +6795 -0
  17. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +27617 -0
  18. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +110 -0
  19. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +187 -0
  20. package/generator/review/elm-stuff/tests-0.19.1/js/package.json +1 -0
  21. package/generator/review/elm-stuff/tests-0.19.1/src/Reporter.elm +26 -0
  22. package/generator/review/elm-stuff/tests-0.19.1/src/Runner.elm +62 -0
  23. package/generator/review/elm.json +13 -4
  24. package/{src → generator/review/src}/Pages/Review/NoContractViolations.elm +148 -148
  25. package/generator/review/tests/Pages/Review/NoContractViolationsTest.elm +331 -0
  26. package/generator/src/RouteBuilder.elm +420 -0
  27. package/generator/src/SharedTemplate.elm +4 -5
  28. package/generator/src/SiteConfig.elm +3 -9
  29. package/generator/src/build.js +308 -95
  30. package/generator/src/cli.js +103 -8
  31. package/generator/src/codegen.js +192 -35
  32. package/generator/src/compile-elm.js +183 -31
  33. package/generator/src/dev-server.js +353 -96
  34. package/generator/src/elm-application.json +3 -1
  35. package/generator/src/elm-codegen.js +34 -0
  36. package/generator/src/elm-file-constants.js +2 -0
  37. package/generator/src/error-formatter.js +20 -1
  38. package/generator/src/generate-template-module-connector.js +120 -924
  39. package/generator/src/hello.ts +5 -0
  40. package/generator/src/pre-render-html.js +58 -104
  41. package/generator/src/render-worker.js +27 -13
  42. package/generator/src/render.js +252 -197
  43. package/generator/src/request-cache-fs.js +18 -0
  44. package/generator/src/request-cache.js +128 -56
  45. package/generator/src/rewrite-client-elm-json.js +49 -0
  46. package/generator/src/route-codegen-helpers.js +62 -1
  47. package/generator/static-code/dev-style.css +22 -0
  48. package/generator/static-code/elm-pages.js +43 -39
  49. package/generator/static-code/hmr.js +98 -88
  50. package/generator/template/app/Api.elm +25 -0
  51. package/generator/template/app/ErrorPage.elm +38 -0
  52. package/generator/template/app/Route/Index.elm +87 -0
  53. package/generator/template/{src → app}/Shared.elm +34 -13
  54. package/generator/template/app/Site.elm +19 -0
  55. package/generator/template/{src → app}/View.elm +0 -0
  56. package/generator/template/elm-pages.config.mjs +5 -0
  57. package/generator/template/elm.json +14 -5
  58. package/generator/template/{public/index.js → index.ts} +7 -3
  59. package/generator/template/package.json +5 -5
  60. package/generator/template/public/favicon.ico +0 -0
  61. package/generator/template/public/images/icon-png.png +0 -0
  62. package/generator/template/src/.gitkeep +0 -0
  63. package/generator/template/style.css +4 -0
  64. package/package.json +30 -23
  65. package/src/ApiRoute.elm +176 -43
  66. package/src/BuildError.elm +10 -1
  67. package/src/CookieParser.elm +84 -0
  68. package/src/DataSource/Env.elm +38 -0
  69. package/src/DataSource/File.elm +27 -16
  70. package/src/DataSource/Glob.elm +126 -80
  71. package/src/DataSource/Http.elm +283 -304
  72. package/src/DataSource/Internal/Glob.elm +5 -21
  73. package/src/DataSource/Internal/Request.elm +25 -0
  74. package/src/DataSource/Port.elm +17 -14
  75. package/src/DataSource.elm +55 -318
  76. package/src/Form/Field.elm +717 -0
  77. package/src/Form/FieldStatus.elm +36 -0
  78. package/src/Form/FieldView.elm +417 -0
  79. package/src/Form/FormData.elm +22 -0
  80. package/src/Form/Validation.elm +391 -0
  81. package/src/Form/Value.elm +118 -0
  82. package/src/Form.elm +1683 -0
  83. package/src/FormData.elm +58 -0
  84. package/src/FormDecoder.elm +102 -0
  85. package/src/Head/Seo.elm +12 -4
  86. package/src/Head.elm +12 -2
  87. package/src/HtmlPrinter.elm +1 -1
  88. package/src/Internal/ApiRoute.elm +17 -4
  89. package/src/Internal/Request.elm +7 -0
  90. package/src/PageServerResponse.elm +68 -0
  91. package/src/Pages/ContentCache.elm +1 -229
  92. package/src/Pages/Fetcher.elm +58 -0
  93. package/src/Pages/FormState.elm +256 -0
  94. package/src/Pages/Generate.elm +800 -0
  95. package/src/Pages/Internal/Form.elm +17 -0
  96. package/src/Pages/Internal/NotFoundReason.elm +3 -55
  97. package/src/Pages/Internal/Platform/Cli.elm +777 -579
  98. package/src/Pages/Internal/Platform/Effect.elm +5 -5
  99. package/src/Pages/Internal/Platform/StaticResponses.elm +178 -394
  100. package/src/Pages/Internal/Platform/ToJsPayload.elm +24 -23
  101. package/src/Pages/Internal/Platform.elm +1244 -504
  102. package/src/Pages/Internal/ResponseSketch.elm +19 -0
  103. package/src/Pages/Internal/RoutePattern.elm +596 -45
  104. package/src/Pages/Manifest.elm +26 -0
  105. package/src/Pages/Msg.elm +79 -0
  106. package/src/Pages/ProgramConfig.elm +67 -14
  107. package/src/Pages/SiteConfig.elm +3 -6
  108. package/src/Pages/StaticHttp/Request.elm +4 -2
  109. package/src/Pages/StaticHttpRequest.elm +50 -215
  110. package/src/Pages/Transition.elm +70 -0
  111. package/src/Path.elm +1 -0
  112. package/src/Pattern.elm +98 -0
  113. package/src/RenderRequest.elm +2 -2
  114. package/src/RequestsAndPending.elm +111 -9
  115. package/src/Server/Request.elm +1253 -0
  116. package/src/Server/Response.elm +292 -0
  117. package/src/Server/Session.elm +316 -0
  118. package/src/Server/SetCookie.elm +169 -0
  119. package/src/TerminalText.elm +1 -1
  120. package/src/Test/Html/Internal/ElmHtml/Markdown.elm +0 -1
  121. package/src/Test/Html/Internal/ElmHtml/ToString.elm +1 -1
  122. package/generator/src/Page.elm +0 -359
  123. package/generator/src/codegen-template-module.js +0 -183
  124. package/generator/src/elm-pages-js-minified.js +0 -1
  125. package/generator/template/src/Api.elm +0 -14
  126. package/generator/template/src/Page/Index.elm +0 -69
  127. package/generator/template/src/Site.elm +0 -41
  128. package/src/DataSource/ServerRequest.elm +0 -60
  129. package/src/Internal/OptimizedDecoder.elm +0 -18
  130. package/src/KeepOrDiscard.elm +0 -6
  131. package/src/OptimizedDecoder/Pipeline.elm +0 -335
  132. package/src/OptimizedDecoder.elm +0 -818
  133. package/src/Pages/Internal/ApplicationType.elm +0 -6
  134. package/src/Pages/Secrets.elm +0 -83
  135. package/src/Secrets.elm +0 -111
  136. package/src/SecretsDict.elm +0 -45
@@ -1,10 +1,12 @@
1
1
  module Pages.Internal.Platform.ToJsPayload exposing
2
- ( ToJsSuccessPayloadNew
2
+ ( NewThingForPort
3
+ , ToJsSuccessPayloadNew
3
4
  , ToJsSuccessPayloadNewCombined(..)
4
5
  , successCodecNew2
5
6
  )
6
7
 
7
8
  import BuildError exposing (BuildError)
9
+ import Bytes exposing (Bytes)
8
10
  import Codec exposing (Codec)
9
11
  import Dict exposing (Dict)
10
12
  import Head
@@ -22,6 +24,8 @@ type alias ToJsSuccessPayloadNew =
22
24
  , title : String
23
25
  , staticHttpCache : Dict String String
24
26
  , is404 : Bool
27
+ , statusCode : Int
28
+ , headers : List ( String, String )
25
29
  }
26
30
 
27
31
 
@@ -44,6 +48,12 @@ errorCodec =
44
48
  |> Codec.buildObject
45
49
 
46
50
 
51
+ type alias NewThingForPort =
52
+ { oldThing : Json.Encode.Value
53
+ , binaryPageData : Bytes
54
+ }
55
+
56
+
47
57
  successCodecNew : String -> String -> Codec ToJsSuccessPayloadNew
48
58
  successCodecNew canonicalSiteUrl currentPagePath =
49
59
  Codec.object ToJsSuccessPayloadNew
@@ -63,6 +73,10 @@ successCodecNew canonicalSiteUrl currentPagePath =
63
73
  .staticHttpCache
64
74
  (Codec.dict Codec.string)
65
75
  |> Codec.field "is404" .is404 Codec.bool
76
+ |> Codec.field "statusCode" .statusCode Codec.int
77
+ |> Codec.field "headers"
78
+ .headers
79
+ (Codec.dict Codec.string |> Codec.map Dict.toList Dict.fromList)
66
80
  |> Codec.buildObject
67
81
 
68
82
 
@@ -74,10 +88,8 @@ headCodec canonicalSiteUrl currentPagePath =
74
88
 
75
89
  type ToJsSuccessPayloadNewCombined
76
90
  = PageProgress ToJsSuccessPayloadNew
77
- | SendApiResponse { body : String, staticHttpCache : Dict String String, statusCode : Int }
78
- | ReadFile String
79
- | Glob String
80
- | DoHttp { masked : Pages.StaticHttp.Request.Request, unmasked : Pages.StaticHttp.Request.Request }
91
+ | SendApiResponse { body : Json.Encode.Value, staticHttpCache : Dict String String, statusCode : Int }
92
+ | DoHttp Pages.StaticHttp.Request.Request Bool
81
93
  | Port String
82
94
  | Errors (List BuildError)
83
95
  | ApiResponse
@@ -86,7 +98,7 @@ type ToJsSuccessPayloadNewCombined
86
98
  successCodecNew2 : String -> String -> Codec ToJsSuccessPayloadNewCombined
87
99
  successCodecNew2 canonicalSiteUrl currentPagePath =
88
100
  Codec.custom
89
- (\errorsTag vApiResponse success vReadFile vGlob vDoHttp vSendApiResponse vPort value ->
101
+ (\errorsTag vApiResponse success vDoHttp vSendApiResponse vPort value ->
90
102
  case value of
91
103
  ApiResponse ->
92
104
  vApiResponse
@@ -97,14 +109,8 @@ successCodecNew2 canonicalSiteUrl currentPagePath =
97
109
  PageProgress payload ->
98
110
  success payload
99
111
 
100
- ReadFile filePath ->
101
- vReadFile filePath
102
-
103
- Glob globPattern ->
104
- vGlob globPattern
105
-
106
- DoHttp requestUrl ->
107
- vDoHttp requestUrl
112
+ DoHttp requestUrl _ ->
113
+ vDoHttp requestUrl requestUrl.useCache
108
114
 
109
115
  SendApiResponse record ->
110
116
  vSendApiResponse record
@@ -115,19 +121,14 @@ successCodecNew2 canonicalSiteUrl currentPagePath =
115
121
  |> Codec.variant1 "Errors" Errors errorCodec
116
122
  |> Codec.variant0 "ApiResponse" ApiResponse
117
123
  |> Codec.variant1 "PageProgress" PageProgress (successCodecNew canonicalSiteUrl currentPagePath)
118
- |> Codec.variant1 "ReadFile" ReadFile Codec.string
119
- |> Codec.variant1 "Glob" Glob Codec.string
120
- |> Codec.variant1 "DoHttp"
124
+ |> Codec.variant2 "DoHttp"
121
125
  DoHttp
122
- (Codec.object (\masked unmasked -> { masked = masked, unmasked = unmasked })
123
- |> Codec.field "masked" .masked Pages.StaticHttp.Request.codec
124
- |> Codec.field "unmasked" .unmasked Pages.StaticHttp.Request.codec
125
- |> Codec.buildObject
126
- )
126
+ Pages.StaticHttp.Request.codec
127
+ Codec.bool
127
128
  |> Codec.variant1 "ApiResponse"
128
129
  SendApiResponse
129
130
  (Codec.object (\body staticHttpCache statusCode -> { body = body, staticHttpCache = staticHttpCache, statusCode = statusCode })
130
- |> Codec.field "body" .body Codec.string
131
+ |> Codec.field "body" .body Codec.value
131
132
  |> Codec.field "staticHttpCache"
132
133
  .staticHttpCache
133
134
  (Codec.dict Codec.string)