elm-pages 3.0.12 → 3.0.13

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 (72) hide show
  1. package/README.md +2 -26
  2. package/codegen/elm-pages-codegen.cjs +13695 -11461
  3. package/generator/src/build.js +15 -5
  4. package/generator/src/cli.js +3 -5
  5. package/generator/src/compatibility-key.js +2 -2
  6. package/generator/src/dev-server.js +3 -0
  7. package/generator/src/render.js +681 -50
  8. package/generator/src/request-cache.js +13 -6
  9. package/generator/src/spinnies/index.js +200 -0
  10. package/generator/src/spinnies/utils.js +123 -0
  11. package/generator/src/validate-stream.js +25 -0
  12. package/package.json +4 -2
  13. package/src/BackendTask/Custom.elm +38 -0
  14. package/src/BackendTask/Do.elm +233 -0
  15. package/src/BackendTask/File.elm +24 -9
  16. package/src/BackendTask/Glob.elm +208 -25
  17. package/src/BackendTask/Http.elm +32 -21
  18. package/src/BackendTask/Internal/Glob.elm +16 -4
  19. package/src/BackendTask/Stream.elm +1179 -0
  20. package/src/BackendTask.elm +214 -7
  21. package/src/Pages/Internal/Platform/CompatibilityKey.elm +1 -1
  22. package/src/Pages/Internal/Platform.elm +11 -2
  23. package/src/Pages/Script/Spinner.elm +505 -0
  24. package/src/Pages/Script.elm +199 -2
  25. package/src/Pages/StaticHttp/Request.elm +7 -0
  26. package/src/RequestsAndPending.elm +1 -1
  27. package/src/Scaffold/Form.elm +2 -3
  28. package/src/TerminalText.elm +8 -0
  29. package/src/Vendored/Result/Extra.elm +75 -0
  30. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmi +0 -0
  31. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateData.elmo +0 -0
  32. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmi +0 -0
  33. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-DeadCodeEliminateDataTest.elmo +0 -0
  34. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  35. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  36. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  37. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  38. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  39. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  40. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  41. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  42. package/generator/dead-code-review/elm-stuff/tests-0.19.1/elm.json +0 -1
  43. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -7900
  44. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -28657
  45. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  46. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  47. package/generator/dead-code-review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  48. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  49. package/generator/dead-code-review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
  50. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmi +0 -0
  51. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Internal-RoutePattern.elmo +0 -0
  52. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmi +0 -0
  53. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolations.elmo +0 -0
  54. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmi +0 -0
  55. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Pages-Review-NoContractViolationsTest.elmo +0 -0
  56. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmi +0 -0
  57. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Reporter.elmo +0 -0
  58. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmi +0 -0
  59. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/Runner.elmo +0 -0
  60. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/d.dat +0 -0
  61. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/i.dat +0 -0
  62. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/lock +0 -0
  63. package/generator/review/elm-stuff/tests-0.19.1/elm-stuff/0.19.1/o.dat +0 -0
  64. package/generator/review/elm-stuff/tests-0.19.1/elm.json +0 -1
  65. package/generator/review/elm-stuff/tests-0.19.1/js/Reporter.elm.js +0 -7900
  66. package/generator/review/elm-stuff/tests-0.19.1/js/Runner.elm.js +0 -30511
  67. package/generator/review/elm-stuff/tests-0.19.1/js/node_runner.js +0 -110
  68. package/generator/review/elm-stuff/tests-0.19.1/js/node_supervisor.js +0 -187
  69. package/generator/review/elm-stuff/tests-0.19.1/js/package.json +0 -1
  70. package/generator/review/elm-stuff/tests-0.19.1/src/Reporter.elm +0 -26
  71. package/generator/review/elm-stuff/tests-0.19.1/src/Runner.elm +0 -62
  72. package/src/Result/Extra.elm +0 -26
@@ -1,110 +0,0 @@
1
- const { parentPort } = require("worker_threads");
2
- const { performance } = require("perf_hooks");
3
-
4
- // From templates/polyfills.js
5
- // Apply Node polyfills as necessary.
6
- var window = {
7
- Date: Date,
8
- addEventListener: function () {},
9
- removeEventListener: function () {},
10
- };
11
-
12
- var location = {
13
- href: "",
14
- host: "",
15
- hostname: "",
16
- protocol: "",
17
- origin: "",
18
- port: "",
19
- pathname: "",
20
- search: "",
21
- hash: "",
22
- username: "",
23
- password: "",
24
- };
25
-
26
- var document = {
27
- body: {},
28
- createTextNode: function () {},
29
- location: location,
30
- };
31
-
32
- var oldConsoleWarn = console.warn;
33
- console.warn = function () {
34
- if (
35
- arguments.length === 1 &&
36
- arguments[0].indexOf("Compiled in DEV mode") === 0
37
- )
38
- return;
39
- return oldConsoleWarn.apply(console, arguments);
40
- };
41
-
42
- if (typeof FileList === "undefined") {
43
- var FileList = function () {};
44
- }
45
-
46
- if (typeof File === "undefined") {
47
- var File = function () {};
48
- }
49
-
50
- if (typeof XMLHttpRequest === "undefined") {
51
- var XMLHttpRequest = function () {
52
- return {
53
- addEventListener: function () {},
54
- open: function () {},
55
- send: function () {},
56
- };
57
- };
58
- }
59
-
60
- if (typeof FormData === "undefined") {
61
- var FormData = function () {
62
- this._data = [];
63
- };
64
- FormData.prototype.append = function () {
65
- this._data.push(Array.prototype.slice.call(arguments));
66
- };
67
- }
68
-
69
-
70
- // Capture Debug.log from elm code
71
- let logs = [];
72
- console.elmlog = (str) => logs.push(str + "\n");
73
-
74
- // Compiled by elm-test-rs from templates/Runner.elm
75
- const { Elm } = require("./Runner.elm.js");
76
-
77
- // Start the Elm app
78
- const flags = { initialSeed: 3208579923, fuzzRuns: 100, filter: null };
79
- const app = Elm.Runner.init({ flags: flags });
80
-
81
- // Record the timing at which we received the last "runTest" message
82
- let startTime;
83
-
84
- // Communication from Supervisor to Elm runner via port
85
- parentPort.on("message", (msg) => {
86
- if (msg.type_ == "askTestsCount") {
87
- app.ports.askTestsCount.send();
88
- } else if (msg.type_ == "runTest") {
89
- startTime = performance.now();
90
- app.ports.receiveRunTest.send(msg.id);
91
- } else {
92
- console.error("Invalid supervisor msg.type_:", msg.type_);
93
- }
94
- });
95
-
96
- // Communication from Elm runner to Supervisor via port
97
- // Subscribe to outgoing Elm ports defined in templates/Runner.elm
98
- app.ports.sendResult.subscribe((msg) => {
99
- msg.type_ = "testResult";
100
- msg.duration = performance.now() - startTime;
101
- msg.logs = logs;
102
- parentPort.postMessage(msg);
103
- logs.length = 0;
104
- });
105
- app.ports.sendTestsCount.subscribe((msg) => {
106
- msg.type_ = "testsCount";
107
- msg.logs = logs;
108
- parentPort.postMessage(msg);
109
- logs.length = 0;
110
- });
@@ -1,187 +0,0 @@
1
- process.chdir(__dirname);
2
-
3
- // From templates/polyfills.js
4
- // Apply Node polyfills as necessary.
5
- var window = {
6
- Date: Date,
7
- addEventListener: function () {},
8
- removeEventListener: function () {},
9
- };
10
-
11
- var location = {
12
- href: "",
13
- host: "",
14
- hostname: "",
15
- protocol: "",
16
- origin: "",
17
- port: "",
18
- pathname: "",
19
- search: "",
20
- hash: "",
21
- username: "",
22
- password: "",
23
- };
24
-
25
- var document = {
26
- body: {},
27
- createTextNode: function () {},
28
- location: location,
29
- };
30
-
31
- var oldConsoleWarn = console.warn;
32
- console.warn = function () {
33
- if (
34
- arguments.length === 1 &&
35
- arguments[0].indexOf("Compiled in DEV mode") === 0
36
- )
37
- return;
38
- return oldConsoleWarn.apply(console, arguments);
39
- };
40
-
41
- if (typeof FileList === "undefined") {
42
- var FileList = function () {};
43
- }
44
-
45
- if (typeof File === "undefined") {
46
- var File = function () {};
47
- }
48
-
49
- if (typeof XMLHttpRequest === "undefined") {
50
- var XMLHttpRequest = function () {
51
- return {
52
- addEventListener: function () {},
53
- open: function () {},
54
- send: function () {},
55
- };
56
- };
57
- }
58
-
59
- if (typeof FormData === "undefined") {
60
- var FormData = function () {
61
- this._data = [];
62
- };
63
- FormData.prototype.append = function () {
64
- this._data.push(Array.prototype.slice.call(arguments));
65
- };
66
- }
67
-
68
-
69
- const { Worker } = require("worker_threads");
70
- const readline = require("readline");
71
- const { performance } = require("perf_hooks");
72
-
73
- // Global variables
74
- let testsCount, todoTests;
75
- let reporter;
76
- let runners = [];
77
- let working = false;
78
- let workersCount = 4;
79
- let startWorkCallback = function(){};
80
- const verbosity = 0;
81
-
82
- // Create a long lived reporter worker
83
- const { Elm } = require("./Reporter.elm.js");
84
- const flags = {
85
- initialSeed: 3208579923,
86
- fuzzRuns: 100,
87
- mode: "consoleNoColor",
88
- verbosity: verbosity,
89
- globs: [],
90
- paths: ["/home/runner/work/elm-pages/elm-pages/generator/dead-code-review/tests/Pages/Review/DeadCodeEliminateDataTest.elm"],
91
- };
92
- reporter = Elm.Reporter.init({ flags: flags });
93
-
94
- // Pipe the Elm stdout port to stdout
95
- reporter.ports.stdout.subscribe((str) => process.stdout.write(str));
96
-
97
- // When the reporter has finished clean runners
98
- reporter.ports.signalFinished.subscribe(async ({ exitCode, testsCount }) => {
99
- await Promise.all(runners.map((runner) => runner.terminate()));
100
- working = false;
101
- startWorkCallback();
102
- if (verbosity >= 1) {
103
- console.warn("Running duration (since Node.js start):", Math.round(performance.now()), "ms\n");
104
- }
105
- process.exit(exitCode);
106
- });
107
-
108
- // When receiving a CLI message, start test workers
109
- // The message is a string containing "/path/to/node_runner.js"
110
- const rl = readline.createInterface({ input: process.stdin });
111
- rl.on("line", (runnerFile) => {
112
- working ? registerWork(runnerFile) : startWork(runnerFile);
113
- });
114
-
115
- function registerWork(runnerFile) {
116
- startWorkCallback = () => startWork(runnerFile);
117
- }
118
-
119
- function startWork(runnerFile) {
120
- startWorkCallback = function(){};
121
- working = true;
122
- // Start first runner worker and prevent piped stdout and sdterr
123
- runners[0] = new Worker(runnerFile, { stdout: true }); //, stderr: true });
124
- runners[0].on("message", (msg) =>
125
- handleRunnerMsg(runners[0], runnerFile, msg)
126
- );
127
- runners[0].on("online", () =>
128
- runners[0].postMessage({ type_: "askTestsCount" })
129
- );
130
- }
131
-
132
- // Handle a test result
133
- function handleRunnerMsg(runner, runnerFile, msg) {
134
- if (msg.type_ == "testsCount") {
135
- if (msg.logs.length > 0) {
136
- console.warn("Debug logs captured when setting up tests: -----------\n");
137
- msg.logs.forEach((str) => process.stderr.write(str));
138
- console.warn("\n------------------------------------------------------\n");
139
- }
140
- setupWithTestsCount(runnerFile, msg);
141
- } else if (msg.type_ == "testResult") {
142
- dispatchWork(runner, todoTests.pop());
143
- reporter.ports.incomingResult.send(msg);
144
- } else {
145
- console.error("Invalid runner msg.type_:", msg.type_);
146
- }
147
- }
148
-
149
- // Reset supervisor tests count and reporter
150
- // Start work on all runners
151
- function setupWithTestsCount(runnerFile, msg) {
152
- // Reset supervisor tests
153
- testsCount = msg.testsCount;
154
- todoTests = Array(testsCount)
155
- .fill(0)
156
- .map((_, id) => id)
157
- .reverse();
158
-
159
- // Reset reporter
160
- reporter.ports.restart.send(msg);
161
-
162
- // Send first runner job
163
- if (testsCount == 0) {
164
- console.error("No exposed values of type Test was found. Did you forget to expose them?");
165
- return;
166
- } else {
167
- runners[0].postMessage({ type_: "runTest", id: todoTests.pop() });
168
- }
169
-
170
- // Create and send work to all other workers.
171
- let max_workers = Math.min(workersCount, testsCount);
172
- for (let i = 1; i < max_workers; i++) {
173
- let runner = new Worker(runnerFile); //, { stdout: true, stderr: true });
174
- runners[i] = runner;
175
- runner.on("message", (msg) =>
176
- handleRunnerMsg(runner, runnerFile, msg)
177
- );
178
- runner.on("online", () => dispatchWork(runner, todoTests.pop()));
179
- }
180
- }
181
-
182
- // Ask runner to run some test.
183
- function dispatchWork(runner, testId) {
184
- if (testId != undefined) {
185
- runner.postMessage({ type_: "runTest", id: testId });
186
- }
187
- }
@@ -1 +0,0 @@
1
- {"type": "commonjs"}
@@ -1,26 +0,0 @@
1
- port module Reporter exposing (main)
2
-
3
- import ElmTestRunner.Reporter exposing (Flags, Model, Msg)
4
- import Json.Decode exposing (Value)
5
-
6
-
7
- port restart : ({ kind : String, testsCount : Int } -> msg) -> Sub msg
8
-
9
-
10
- port incomingResult : ({ duration : Float, result : Value, logs : List String } -> msg) -> Sub msg
11
-
12
-
13
- port signalFinished : { exitCode : Int, testsCount : Int } -> Cmd msg
14
-
15
-
16
- port stdout : String -> Cmd msg
17
-
18
-
19
- main : Program Flags Model Msg
20
- main =
21
- ElmTestRunner.Reporter.worker
22
- { restart = restart
23
- , incomingResult = incomingResult
24
- , stdout = stdout
25
- , signalFinished = signalFinished
26
- }
@@ -1,62 +0,0 @@
1
- port module Runner exposing (main)
2
-
3
- import Pages.Review.DeadCodeEliminateDataTest
4
-
5
- import ElmTestRunner.Runner exposing (Flags, Model, Msg)
6
- import Json.Encode exposing (Value)
7
- import Test exposing (Test)
8
-
9
-
10
- port askTestsCount : (Value -> msg) -> Sub msg
11
-
12
-
13
- port sendTestsCount : { kind : String, testsCount : Int } -> Cmd msg
14
-
15
-
16
- port receiveRunTest : (Int -> msg) -> Sub msg
17
-
18
-
19
- port sendResult : { id : Int, result : Value } -> Cmd msg
20
-
21
-
22
- {-| The implementation of this function will be replaced in the generated JS
23
- with a version that returns `Just value` if `value` is a `Test`, otherwise `Nothing`.
24
- If you rename or change this function you also need to update the regex that looks for it.
25
- -}
26
- check : a -> Maybe Test
27
- check =
28
- checkHelperReplaceMe___
29
-
30
-
31
- checkHelperReplaceMe___ : a -> b
32
- checkHelperReplaceMe___ _ =
33
- Debug.todo """The regex for replacing this Debug.todo with some real code must have failed since you see this message!
34
-
35
- Please report this bug: https://github.com/mpizenberg/elm-test-rs/issues/new
36
- """
37
-
38
-
39
- tests : List Test
40
- tests =
41
- [ check Pages.Review.DeadCodeEliminateDataTest.all ]
42
- |> List.filterMap identity
43
-
44
-
45
- main : Program Flags Model Msg
46
- main =
47
- let
48
- concatenatedTest =
49
- case tests of
50
- [] ->
51
- Nothing
52
-
53
- _ ->
54
- Just (Test.concat tests)
55
- in
56
- concatenatedTest
57
- |> ElmTestRunner.Runner.worker
58
- { askTestsCount = askTestsCount
59
- , sendTestsCount = sendTestsCount
60
- , receiveRunTest = receiveRunTest
61
- , sendResult = sendResult
62
- }
@@ -1 +0,0 @@
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-explorations/test":"2.1.2","jfmengels/elm-review":"2.13.1","mdgriffith/elm-codegen":"4.1.1","mpizenberg/elm-test-runner":"6.0.0","stil4m/elm-syntax":"7.3.2","the-sett/elm-syntax-dsl":"6.0.2"},"indirect":{"Chadtech/elm-bool-extra":"2.4.2","elm/bytes":"1.0.8","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/maybe-extra":"5.3.0","miniBill/elm-unicode":"1.1.0","rtfeldman/elm-hex":"1.0.0","stil4m/structured-writer":"1.0.3","the-sett/elm-pretty-printer":"3.1.0"}},"test-dependencies":{"direct":{},"indirect":{}}}