elm-pages 3.0.0-beta.0 → 3.0.0-beta.10
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 +10 -1
- package/codegen/elm-pages-codegen.js +39026 -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.elmi +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/Reporter.elmi +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.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/lock +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 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +6795 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +25835 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +110 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +187 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/package.json +1 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Reporter.elm +26 -0
- package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Runner.elm +62 -0
- package/generator/dead-code-review/elm.json +35 -0
- package/generator/dead-code-review/src/Pages/Review/DeadCodeEliminateData.elm +304 -0
- package/generator/dead-code-review/src/ReviewConfig.elm +9 -0
- package/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm +673 -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/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/node_runner.js +1 -1
- package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +1 -1
- package/generator/src/SharedTemplate.elm +1 -1
- package/generator/src/build.js +75 -42
- package/generator/src/compatibility-key.js +1 -0
- package/generator/src/config.js +41 -0
- package/generator/src/dev-server.js +36 -56
- package/generator/src/generate-template-module-connector.js +2 -28
- package/generator/src/pre-render-html.js +31 -17
- package/generator/src/render.js +2 -0
- package/generator/src/seo-renderer.js +11 -4
- package/generator/src/vite-utils.js +78 -0
- package/generator/template/app/Api.elm +1 -1
- package/generator/template/app/Site.elm +6 -1
- package/package.json +5 -3
- package/src/ApiRoute.elm +0 -3
- package/src/DataSource/File.elm +1 -1
- package/src/DataSource/Internal/Request.elm +0 -5
- package/src/DataSource.elm +39 -31
- package/src/Form/Field.elm +1 -1
- package/src/Form.elm +1 -1
- package/src/Head/Seo.elm +16 -27
- package/src/Head.elm +126 -0
- package/src/HtmlPrinter.elm +7 -3
- package/src/Pages/Generate.elm +544 -102
- package/src/Pages/Internal/NotFoundReason.elm +3 -2
- package/src/Pages/Internal/Platform/Cli.elm +91 -27
- package/src/Pages/Internal/Platform/Cli.elm.bak +1276 -0
- package/src/Pages/Internal/Platform/CompatibilityKey.elm +6 -0
- package/src/Pages/Internal/Platform.elm +34 -27
- package/src/Pages/ProgramConfig.elm +6 -3
- package/src/Server/Session.elm +149 -83
- package/src/Server/SetCookie.elm +89 -31
|
@@ -0,0 +1,673 @@
|
|
|
1
|
+
module Pages.Review.DeadCodeEliminateDataTest exposing (all)
|
|
2
|
+
|
|
3
|
+
import Pages.Review.DeadCodeEliminateData exposing (rule)
|
|
4
|
+
import Review.Test
|
|
5
|
+
import Test exposing (Test, describe, test)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
all : Test
|
|
9
|
+
all =
|
|
10
|
+
describe "dead code elimination"
|
|
11
|
+
[ test "replaces data record setter" <|
|
|
12
|
+
\() ->
|
|
13
|
+
"""module Route.Index exposing (Data, Model, Msg, route)
|
|
14
|
+
|
|
15
|
+
import Server.Request as Request
|
|
16
|
+
|
|
17
|
+
import DataSource exposing (DataSource)
|
|
18
|
+
import RouteBuilder exposing (Page, StaticPayload, single)
|
|
19
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
20
|
+
import Pages.Url
|
|
21
|
+
import Path
|
|
22
|
+
import Route exposing (Route)
|
|
23
|
+
import Shared
|
|
24
|
+
import View exposing (View)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
type alias Model =
|
|
28
|
+
{}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
type alias Msg =
|
|
32
|
+
()
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
type alias RouteParams =
|
|
36
|
+
{}
|
|
37
|
+
|
|
38
|
+
|
|
39
|
+
type alias Data =
|
|
40
|
+
()
|
|
41
|
+
|
|
42
|
+
|
|
43
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
44
|
+
route =
|
|
45
|
+
single
|
|
46
|
+
{ head = head
|
|
47
|
+
, data = data
|
|
48
|
+
}
|
|
49
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
data : DataSource Data
|
|
53
|
+
data =
|
|
54
|
+
DataSource.succeed ()
|
|
55
|
+
"""
|
|
56
|
+
|> Review.Test.run rule
|
|
57
|
+
|> Review.Test.expectErrors
|
|
58
|
+
[ Review.Test.error
|
|
59
|
+
{ message = "Codemod"
|
|
60
|
+
, details =
|
|
61
|
+
[ "" ]
|
|
62
|
+
, under =
|
|
63
|
+
"""data = data
|
|
64
|
+
}"""
|
|
65
|
+
}
|
|
66
|
+
|> Review.Test.whenFixed
|
|
67
|
+
"""module Route.Index exposing (Data, Model, Msg, route)
|
|
68
|
+
|
|
69
|
+
import Server.Request as Request
|
|
70
|
+
|
|
71
|
+
import DataSource exposing (DataSource)
|
|
72
|
+
import RouteBuilder exposing (Page, StaticPayload, single)
|
|
73
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
74
|
+
import Pages.Url
|
|
75
|
+
import Path
|
|
76
|
+
import Route exposing (Route)
|
|
77
|
+
import Shared
|
|
78
|
+
import View exposing (View)
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
type alias Model =
|
|
82
|
+
{}
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
type alias Msg =
|
|
86
|
+
()
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
type alias RouteParams =
|
|
90
|
+
{}
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
type alias Data =
|
|
94
|
+
()
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
98
|
+
route =
|
|
99
|
+
single
|
|
100
|
+
{ head = head
|
|
101
|
+
, data = DataSource.fail ""
|
|
102
|
+
}
|
|
103
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
data : DataSource Data
|
|
107
|
+
data =
|
|
108
|
+
DataSource.succeed ()
|
|
109
|
+
"""
|
|
110
|
+
]
|
|
111
|
+
, test "supports aliased DataSource module import" <|
|
|
112
|
+
\() ->
|
|
113
|
+
"""module Route.Index exposing (Data, Model, Msg, route)
|
|
114
|
+
|
|
115
|
+
import Server.Request as Request
|
|
116
|
+
import DataSource as DS
|
|
117
|
+
import RouteBuilder exposing (Page, StaticPayload, single)
|
|
118
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
119
|
+
import Pages.Url
|
|
120
|
+
import Path
|
|
121
|
+
import Route exposing (Route)
|
|
122
|
+
import Shared
|
|
123
|
+
import View exposing (View)
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
type alias Model =
|
|
127
|
+
{}
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
type alias Msg =
|
|
131
|
+
()
|
|
132
|
+
|
|
133
|
+
|
|
134
|
+
type alias RouteParams =
|
|
135
|
+
{}
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
type alias Data =
|
|
139
|
+
()
|
|
140
|
+
|
|
141
|
+
|
|
142
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
143
|
+
route =
|
|
144
|
+
single
|
|
145
|
+
{ head = head
|
|
146
|
+
, data = data
|
|
147
|
+
}
|
|
148
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
149
|
+
|
|
150
|
+
|
|
151
|
+
data : DataSource Data
|
|
152
|
+
data =
|
|
153
|
+
DataSource.succeed ()
|
|
154
|
+
"""
|
|
155
|
+
|> Review.Test.run rule
|
|
156
|
+
|> Review.Test.expectErrors
|
|
157
|
+
[ Review.Test.error
|
|
158
|
+
{ message = "Codemod"
|
|
159
|
+
, details =
|
|
160
|
+
[ "" ]
|
|
161
|
+
, under =
|
|
162
|
+
"""data = data
|
|
163
|
+
}"""
|
|
164
|
+
}
|
|
165
|
+
|> Review.Test.whenFixed
|
|
166
|
+
"""module Route.Index exposing (Data, Model, Msg, route)
|
|
167
|
+
|
|
168
|
+
import Server.Request as Request
|
|
169
|
+
import DataSource as DS
|
|
170
|
+
import RouteBuilder exposing (Page, StaticPayload, single)
|
|
171
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
172
|
+
import Pages.Url
|
|
173
|
+
import Path
|
|
174
|
+
import Route exposing (Route)
|
|
175
|
+
import Shared
|
|
176
|
+
import View exposing (View)
|
|
177
|
+
|
|
178
|
+
|
|
179
|
+
type alias Model =
|
|
180
|
+
{}
|
|
181
|
+
|
|
182
|
+
|
|
183
|
+
type alias Msg =
|
|
184
|
+
()
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
type alias RouteParams =
|
|
188
|
+
{}
|
|
189
|
+
|
|
190
|
+
|
|
191
|
+
type alias Data =
|
|
192
|
+
()
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
196
|
+
route =
|
|
197
|
+
single
|
|
198
|
+
{ head = head
|
|
199
|
+
, data = DS.fail ""
|
|
200
|
+
}
|
|
201
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
data : DataSource Data
|
|
205
|
+
data =
|
|
206
|
+
DataSource.succeed ()
|
|
207
|
+
"""
|
|
208
|
+
]
|
|
209
|
+
, test "replaces data record setter with non-empty RouteParams" <|
|
|
210
|
+
\() ->
|
|
211
|
+
"""module Route.Blog.Slug_ exposing (Data, Model, Msg, route)
|
|
212
|
+
|
|
213
|
+
import Server.Request as Request
|
|
214
|
+
|
|
215
|
+
import DataSource exposing (DataSource)
|
|
216
|
+
import RouteBuilder exposing (Page, StaticPayload)
|
|
217
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
218
|
+
import Pages.Url
|
|
219
|
+
import Path
|
|
220
|
+
import Route exposing (Route)
|
|
221
|
+
import Shared
|
|
222
|
+
import View exposing (View)
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
type alias Model =
|
|
226
|
+
{}
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
type alias Msg =
|
|
230
|
+
()
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
type alias RouteParams =
|
|
234
|
+
{ slug : String }
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
type alias Data =
|
|
238
|
+
()
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
242
|
+
route =
|
|
243
|
+
RouteBuilder.preRender
|
|
244
|
+
{ data = data
|
|
245
|
+
, head = head
|
|
246
|
+
, pages = pages
|
|
247
|
+
}
|
|
248
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
249
|
+
|
|
250
|
+
|
|
251
|
+
data : DataSource Data
|
|
252
|
+
data =
|
|
253
|
+
DataSource.succeed ()
|
|
254
|
+
"""
|
|
255
|
+
|> Review.Test.run rule
|
|
256
|
+
|> Review.Test.expectErrors
|
|
257
|
+
[ Review.Test.error
|
|
258
|
+
{ message = "Codemod"
|
|
259
|
+
, details =
|
|
260
|
+
[ "" ]
|
|
261
|
+
, under =
|
|
262
|
+
"""data = data"""
|
|
263
|
+
}
|
|
264
|
+
|> Review.Test.whenFixed
|
|
265
|
+
"""module Route.Blog.Slug_ exposing (Data, Model, Msg, route)
|
|
266
|
+
|
|
267
|
+
import Server.Request as Request
|
|
268
|
+
|
|
269
|
+
import DataSource exposing (DataSource)
|
|
270
|
+
import RouteBuilder exposing (Page, StaticPayload)
|
|
271
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
272
|
+
import Pages.Url
|
|
273
|
+
import Path
|
|
274
|
+
import Route exposing (Route)
|
|
275
|
+
import Shared
|
|
276
|
+
import View exposing (View)
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
type alias Model =
|
|
280
|
+
{}
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
type alias Msg =
|
|
284
|
+
()
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
type alias RouteParams =
|
|
288
|
+
{ slug : String }
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
type alias Data =
|
|
292
|
+
()
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
296
|
+
route =
|
|
297
|
+
RouteBuilder.preRender
|
|
298
|
+
{ data = \\_ -> DataSource.fail ""
|
|
299
|
+
, head = head
|
|
300
|
+
, pages = pages
|
|
301
|
+
}
|
|
302
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
data : DataSource Data
|
|
306
|
+
data =
|
|
307
|
+
DataSource.succeed ()
|
|
308
|
+
"""
|
|
309
|
+
]
|
|
310
|
+
, test "replaces data record setter with RouteBuilder.serverRendered" <|
|
|
311
|
+
\() ->
|
|
312
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
313
|
+
|
|
314
|
+
import Server.Request as Request
|
|
315
|
+
|
|
316
|
+
type alias Model =
|
|
317
|
+
{}
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
type alias Msg =
|
|
321
|
+
()
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
type alias RouteParams =
|
|
325
|
+
{}
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
329
|
+
route =
|
|
330
|
+
RouteBuilder.serverRender
|
|
331
|
+
{ head = head
|
|
332
|
+
, data = data
|
|
333
|
+
, action = action
|
|
334
|
+
}
|
|
335
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
336
|
+
"""
|
|
337
|
+
|> Review.Test.run rule
|
|
338
|
+
|> Review.Test.expectErrors
|
|
339
|
+
[ Review.Test.error
|
|
340
|
+
{ message = "Codemod"
|
|
341
|
+
, details =
|
|
342
|
+
[ "" ]
|
|
343
|
+
, under =
|
|
344
|
+
"""data = data
|
|
345
|
+
,"""
|
|
346
|
+
}
|
|
347
|
+
|> Review.Test.whenFixed
|
|
348
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
349
|
+
|
|
350
|
+
import Server.Request as Request
|
|
351
|
+
|
|
352
|
+
type alias Model =
|
|
353
|
+
{}
|
|
354
|
+
|
|
355
|
+
|
|
356
|
+
type alias Msg =
|
|
357
|
+
()
|
|
358
|
+
|
|
359
|
+
|
|
360
|
+
type alias RouteParams =
|
|
361
|
+
{}
|
|
362
|
+
|
|
363
|
+
|
|
364
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
365
|
+
route =
|
|
366
|
+
RouteBuilder.serverRender
|
|
367
|
+
{ head = head
|
|
368
|
+
, data = \\_ -> Request.oneOf []
|
|
369
|
+
, action = action
|
|
370
|
+
}
|
|
371
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
372
|
+
"""
|
|
373
|
+
, Review.Test.error
|
|
374
|
+
{ message = "Codemod"
|
|
375
|
+
, details =
|
|
376
|
+
[ "" ]
|
|
377
|
+
, under =
|
|
378
|
+
"""action = action
|
|
379
|
+
}"""
|
|
380
|
+
}
|
|
381
|
+
|> Review.Test.whenFixed
|
|
382
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
383
|
+
|
|
384
|
+
import Server.Request as Request
|
|
385
|
+
|
|
386
|
+
type alias Model =
|
|
387
|
+
{}
|
|
388
|
+
|
|
389
|
+
|
|
390
|
+
type alias Msg =
|
|
391
|
+
()
|
|
392
|
+
|
|
393
|
+
|
|
394
|
+
type alias RouteParams =
|
|
395
|
+
{}
|
|
396
|
+
|
|
397
|
+
|
|
398
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
399
|
+
route =
|
|
400
|
+
RouteBuilder.serverRender
|
|
401
|
+
{ head = head
|
|
402
|
+
, data = data
|
|
403
|
+
, action = \\_ -> Request.oneOf []
|
|
404
|
+
}
|
|
405
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
406
|
+
"""
|
|
407
|
+
]
|
|
408
|
+
, test "uses appropriate import alias for Server.Request module" <|
|
|
409
|
+
\() ->
|
|
410
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
411
|
+
|
|
412
|
+
import Server.Request
|
|
413
|
+
|
|
414
|
+
type alias Model =
|
|
415
|
+
{}
|
|
416
|
+
|
|
417
|
+
|
|
418
|
+
type alias Msg =
|
|
419
|
+
()
|
|
420
|
+
|
|
421
|
+
|
|
422
|
+
type alias RouteParams =
|
|
423
|
+
{}
|
|
424
|
+
|
|
425
|
+
|
|
426
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
427
|
+
route =
|
|
428
|
+
RouteBuilder.serverRender
|
|
429
|
+
{ head = head
|
|
430
|
+
, data = data
|
|
431
|
+
, action = action
|
|
432
|
+
}
|
|
433
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
434
|
+
"""
|
|
435
|
+
|> Review.Test.run rule
|
|
436
|
+
|> Review.Test.expectErrors
|
|
437
|
+
[ Review.Test.error
|
|
438
|
+
{ message = "Codemod"
|
|
439
|
+
, details =
|
|
440
|
+
[ "" ]
|
|
441
|
+
, under =
|
|
442
|
+
"""data = data
|
|
443
|
+
,"""
|
|
444
|
+
}
|
|
445
|
+
|> Review.Test.whenFixed
|
|
446
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
447
|
+
|
|
448
|
+
import Server.Request
|
|
449
|
+
|
|
450
|
+
type alias Model =
|
|
451
|
+
{}
|
|
452
|
+
|
|
453
|
+
|
|
454
|
+
type alias Msg =
|
|
455
|
+
()
|
|
456
|
+
|
|
457
|
+
|
|
458
|
+
type alias RouteParams =
|
|
459
|
+
{}
|
|
460
|
+
|
|
461
|
+
|
|
462
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
463
|
+
route =
|
|
464
|
+
RouteBuilder.serverRender
|
|
465
|
+
{ head = head
|
|
466
|
+
, data = \\_ -> Server.Request.oneOf []
|
|
467
|
+
, action = action
|
|
468
|
+
}
|
|
469
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
470
|
+
"""
|
|
471
|
+
, Review.Test.error
|
|
472
|
+
{ message = "Codemod"
|
|
473
|
+
, details =
|
|
474
|
+
[ "" ]
|
|
475
|
+
, under =
|
|
476
|
+
"""action = action
|
|
477
|
+
}"""
|
|
478
|
+
}
|
|
479
|
+
|> Review.Test.whenFixed
|
|
480
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
481
|
+
|
|
482
|
+
import Server.Request
|
|
483
|
+
|
|
484
|
+
type alias Model =
|
|
485
|
+
{}
|
|
486
|
+
|
|
487
|
+
|
|
488
|
+
type alias Msg =
|
|
489
|
+
()
|
|
490
|
+
|
|
491
|
+
|
|
492
|
+
type alias RouteParams =
|
|
493
|
+
{}
|
|
494
|
+
|
|
495
|
+
|
|
496
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
497
|
+
route =
|
|
498
|
+
RouteBuilder.serverRender
|
|
499
|
+
{ head = head
|
|
500
|
+
, data = data
|
|
501
|
+
, action = \\_ -> Server.Request.oneOf []
|
|
502
|
+
}
|
|
503
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
504
|
+
"""
|
|
505
|
+
]
|
|
506
|
+
, test "no Request.oneOf fix after replacement is made" <|
|
|
507
|
+
\() ->
|
|
508
|
+
"""module Route.Login exposing (Data, Model, Msg, route)
|
|
509
|
+
|
|
510
|
+
import Server.Request as Request
|
|
511
|
+
|
|
512
|
+
type alias Model =
|
|
513
|
+
{}
|
|
514
|
+
|
|
515
|
+
|
|
516
|
+
type alias Msg =
|
|
517
|
+
()
|
|
518
|
+
|
|
519
|
+
|
|
520
|
+
type alias RouteParams =
|
|
521
|
+
{}
|
|
522
|
+
|
|
523
|
+
|
|
524
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
525
|
+
route =
|
|
526
|
+
RouteBuilder.serverRender
|
|
527
|
+
{ head = head
|
|
528
|
+
, data = \\_ -> Request.oneOf []
|
|
529
|
+
}
|
|
530
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
531
|
+
"""
|
|
532
|
+
|> Review.Test.run rule
|
|
533
|
+
|> Review.Test.expectNoErrors
|
|
534
|
+
, test "no fix after replacement is made" <|
|
|
535
|
+
\() ->
|
|
536
|
+
"""module Route.Index exposing (Data, Model, Msg, route)
|
|
537
|
+
|
|
538
|
+
import Server.Request as Request
|
|
539
|
+
|
|
540
|
+
import DataSource exposing (DataSource)
|
|
541
|
+
import RouteBuilder exposing (Page, StaticPayload)
|
|
542
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
543
|
+
import Pages.Url
|
|
544
|
+
import Path
|
|
545
|
+
import Route exposing (Route)
|
|
546
|
+
import Shared
|
|
547
|
+
import View exposing (View)
|
|
548
|
+
|
|
549
|
+
|
|
550
|
+
type alias Model =
|
|
551
|
+
{}
|
|
552
|
+
|
|
553
|
+
|
|
554
|
+
type alias Msg =
|
|
555
|
+
()
|
|
556
|
+
|
|
557
|
+
|
|
558
|
+
type alias RouteParams =
|
|
559
|
+
{}
|
|
560
|
+
|
|
561
|
+
|
|
562
|
+
type alias Data =
|
|
563
|
+
()
|
|
564
|
+
|
|
565
|
+
|
|
566
|
+
route : StatelessRoute RouteParams Data ActionData
|
|
567
|
+
route =
|
|
568
|
+
RouteBuilder.single
|
|
569
|
+
{ head = head
|
|
570
|
+
, data = DataSource.fail ""
|
|
571
|
+
}
|
|
572
|
+
|> RouteBuilder.buildNoState { view = view }
|
|
573
|
+
|
|
574
|
+
|
|
575
|
+
data : DataSource Data
|
|
576
|
+
data =
|
|
577
|
+
DataSource.succeed ()
|
|
578
|
+
"""
|
|
579
|
+
|> Review.Test.run rule
|
|
580
|
+
|> Review.Test.expectNoErrors
|
|
581
|
+
, test "replaces data record setter in Shared module" <|
|
|
582
|
+
\() ->
|
|
583
|
+
"""module Shared exposing (Data, Model, Msg, template)
|
|
584
|
+
|
|
585
|
+
import Server.Request as Request
|
|
586
|
+
|
|
587
|
+
import Browser.Navigation
|
|
588
|
+
import DataSource
|
|
589
|
+
import Html exposing (Html)
|
|
590
|
+
import Html.Styled
|
|
591
|
+
import Pages.Flags
|
|
592
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
593
|
+
import Path exposing (Path)
|
|
594
|
+
import Route exposing (Route)
|
|
595
|
+
import SharedTemplate exposing (SharedTemplate)
|
|
596
|
+
import TableOfContents
|
|
597
|
+
import View exposing (View)
|
|
598
|
+
import View.Header
|
|
599
|
+
|
|
600
|
+
|
|
601
|
+
template : SharedTemplate Msg Model Data msg
|
|
602
|
+
template =
|
|
603
|
+
{ init = init
|
|
604
|
+
, update = update
|
|
605
|
+
, view = view
|
|
606
|
+
, data = data
|
|
607
|
+
, subscriptions = subscriptions
|
|
608
|
+
, onPageChange = Just OnPageChange
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
type alias Data =
|
|
613
|
+
TableOfContents.TableOfContents TableOfContents.Data
|
|
614
|
+
|
|
615
|
+
|
|
616
|
+
type alias Model =
|
|
617
|
+
{ showMobileMenu : Bool
|
|
618
|
+
, counter : Int
|
|
619
|
+
, navigationKey : Maybe Browser.Navigation.Key
|
|
620
|
+
}
|
|
621
|
+
"""
|
|
622
|
+
|> Review.Test.run rule
|
|
623
|
+
|> Review.Test.expectErrors
|
|
624
|
+
[ Review.Test.error
|
|
625
|
+
{ message = "Codemod"
|
|
626
|
+
, details =
|
|
627
|
+
[ "" ]
|
|
628
|
+
, under =
|
|
629
|
+
"""data = data
|
|
630
|
+
,"""
|
|
631
|
+
}
|
|
632
|
+
|> Review.Test.whenFixed
|
|
633
|
+
"""module Shared exposing (Data, Model, Msg, template)
|
|
634
|
+
|
|
635
|
+
import Server.Request as Request
|
|
636
|
+
|
|
637
|
+
import Browser.Navigation
|
|
638
|
+
import DataSource
|
|
639
|
+
import Html exposing (Html)
|
|
640
|
+
import Html.Styled
|
|
641
|
+
import Pages.Flags
|
|
642
|
+
import Pages.PageUrl exposing (PageUrl)
|
|
643
|
+
import Path exposing (Path)
|
|
644
|
+
import Route exposing (Route)
|
|
645
|
+
import SharedTemplate exposing (SharedTemplate)
|
|
646
|
+
import TableOfContents
|
|
647
|
+
import View exposing (View)
|
|
648
|
+
import View.Header
|
|
649
|
+
|
|
650
|
+
|
|
651
|
+
template : SharedTemplate Msg Model Data msg
|
|
652
|
+
template =
|
|
653
|
+
{ init = init
|
|
654
|
+
, update = update
|
|
655
|
+
, view = view
|
|
656
|
+
, data = DataSource.fail ""
|
|
657
|
+
, subscriptions = subscriptions
|
|
658
|
+
, onPageChange = Just OnPageChange
|
|
659
|
+
}
|
|
660
|
+
|
|
661
|
+
|
|
662
|
+
type alias Data =
|
|
663
|
+
TableOfContents.TableOfContents TableOfContents.Data
|
|
664
|
+
|
|
665
|
+
|
|
666
|
+
type alias Model =
|
|
667
|
+
{ showMobileMenu : Bool
|
|
668
|
+
, counter : Int
|
|
669
|
+
, navigationKey : Maybe Browser.Navigation.Key
|
|
670
|
+
}
|
|
671
|
+
"""
|
|
672
|
+
]
|
|
673
|
+
]
|
|
Binary file
|
|
Binary file
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"type":"application","source-directories":["../../src","../../tests","../../../../src","src"],"elm-version":"0.19.1","dependencies":{"direct":{"elm/core":"1.0.5","elm/html":"1.0.0","elm/json":"1.1.3","elm/regex":"1.0.0","elm-community/result-extra":"2.4.0","elm-explorations/test":"1.2.2","jfmengels/elm-review":"2.4.2","mdgriffith/elm-codegen":"2.0.0","mpizenberg/elm-test-runner":"5.0.0","stil4m/elm-syntax":"7.2.5","the-sett/elm-syntax-dsl":"6.0.2"},"indirect":{"Chadtech/elm-bool-extra":"2.4.2","elm/parser":"1.1.0","elm/project-metadata-utils":"1.0.2","elm/random":"1.0.0","elm/time":"1.0.0","elm/virtual-dom":"1.0.3","elm-community/basics-extra":"4.1.0","elm-community/list-extra":"8.
|
|
1
|
+
{"type":"application","source-directories":["../../src","../../tests","../../../../src","src"],"elm-version":"0.19.1","dependencies":{"direct":{"elm/core":"1.0.5","elm/html":"1.0.0","elm/json":"1.1.3","elm/regex":"1.0.0","elm-community/result-extra":"2.4.0","elm-explorations/test":"1.2.2","jfmengels/elm-review":"2.4.2","mdgriffith/elm-codegen":"2.0.0","mpizenberg/elm-test-runner":"5.0.0","stil4m/elm-syntax":"7.2.5","the-sett/elm-syntax-dsl":"6.0.2"},"indirect":{"Chadtech/elm-bool-extra":"2.4.2","elm/parser":"1.1.0","elm/project-metadata-utils":"1.0.2","elm/random":"1.0.0","elm/time":"1.0.0","elm/virtual-dom":"1.0.3","elm-community/basics-extra":"4.1.0","elm-community/list-extra":"8.7.0","elm-community/maybe-extra":"5.3.0","miniBill/elm-unicode":"1.0.2","rtfeldman/elm-hex":"1.0.0","stil4m/structured-writer":"1.0.3","the-sett/elm-pretty-printer":"3.0.0"}},"test-dependencies":{"direct":{},"indirect":{}}}
|
|
@@ -75,7 +75,7 @@ console.elmlog = (str) => logs.push(str + "\n");
|
|
|
75
75
|
const { Elm } = require("./Runner.elm.js");
|
|
76
76
|
|
|
77
77
|
// Start the Elm app
|
|
78
|
-
const flags = { initialSeed:
|
|
78
|
+
const flags = { initialSeed: 2786629506, fuzzRuns: 100, filter: null };
|
|
79
79
|
const app = Elm.Runner.init({ flags: flags });
|
|
80
80
|
|
|
81
81
|
// Record the timing at which we received the last "runTest" message
|
|
@@ -34,7 +34,7 @@ type alias SharedTemplate msg sharedModel sharedData mappedMsg =
|
|
|
34
34
|
-> sharedModel
|
|
35
35
|
-> (msg -> mappedMsg)
|
|
36
36
|
-> View mappedMsg
|
|
37
|
-
-> { body : Html mappedMsg, title : String }
|
|
37
|
+
-> { body : List (Html mappedMsg), title : String }
|
|
38
38
|
, data : DataSource.DataSource sharedData
|
|
39
39
|
, subscriptions : Path -> sharedModel -> Sub msg
|
|
40
40
|
, onPageChange :
|