Commit Graph

924 Commits

Author SHA1 Message Date
Dillon Kearns
1526417720 Update versions in init template. 2021-08-03 13:39:44 -07:00
Dillon Kearns
55b122cb70 Refer to latest elm-pages in init template. 2021-08-02 17:49:45 -07:00
Dillon Kearns
f2402899f6 Clean up error message printing in build and dev server. 2021-08-02 17:38:38 -07:00
Dillon Kearns
e15e3be999 Fix package version in init template. 2021-08-01 16:11:15 -07:00
Dillon Kearns
b553c6fa98 Fix template. 2021-08-01 14:26:32 -07:00
Dillon Kearns
c1fb9c3436 Remove obsolete argument. 2021-08-01 10:23:20 -07:00
Dillon Kearns
dc60b4e6c3 Update template package.json file. 2021-07-31 20:37:20 -07:00
Dillon Kearns
2d8cc895da Use published package in template elm.json file. 2021-07-31 20:27:17 -07:00
Dillon Kearns
51f753845f Update generated file. 2021-07-31 20:09:23 -07:00
Dillon Kearns
1d07bff182 Skip removing cache dir if it doesn't exist. 2021-07-31 17:01:56 -07:00
Dillon Kearns
c7a76ed605 Add keep-cache flag to explicitly keep HTTP/JS port cache if used. 2021-07-31 16:50:28 -07:00
Dillon Kearns
b78f8c008b Rename types in ApiRoute module. 2021-07-30 15:35:11 -07:00
Dillon Kearns
8678c95208 Rename internal module. 2021-07-30 15:21:16 -07:00
Dillon Kearns
de5ceb24ab Update some references to renamed modules. 2021-07-30 15:18:55 -07:00
Dillon Kearns
8575d56284 Rename internal module. 2021-07-30 15:13:32 -07:00
Dillon Kearns
43948c6b39 Rename internal module. 2021-07-30 15:08:30 -07:00
Dillon Kearns
89ea8b67fb Update template. 2021-07-30 14:58:42 -07:00
Dillon Kearns
a8450988dd Dev server was mixing up requests after serving a compiler error. This makes it resilient to that so it doesn't get into that state. 2021-07-30 09:58:59 -07:00
Dillon Kearns
f3a7309085 Formatting. 2021-07-30 09:58:21 -07:00
Dillon Kearns
6ee8424cf5 elm-formatting. 2021-07-29 14:19:22 -07:00
Dillon Kearns
979fa5ce4c Stop using serverless route in example temporarily. 2021-07-29 14:17:32 -07:00
Dillon Kearns
c0891afb13 Remove serverless/on-demand helpers temporarily since they're not going to be in the initial 2.0 release. 2021-07-29 14:13:22 -07:00
Dillon Kearns
f61f4614d8 Update template. 2021-07-28 10:29:11 -07:00
Dillon Kearns
5595edeee8 Remove future NodeJS optional chain syntax. 2021-07-28 10:22:07 -07:00
Dillon Kearns
5747c2f030 Use Shared.Msg instead of extra layer of abstraction for sub-msg type. 2021-07-27 10:48:42 -07:00
Dillon Kearns
eadabe1513 Remove log statement. 2021-07-26 17:06:46 -07:00
Dillon Kearns
3b2af1e9a8 Don't render hmr script load in builds (only dev-server). 2021-07-26 15:39:10 -07:00
Dillon Kearns
449e32cf9c Fail build if elm-optimize-level-2 isn't found, and print error output (for example if Debug.log's are found). 2021-07-26 12:40:50 -07:00
Dillon Kearns
69cba32d90 Use absolute URL for manifest.json link since there is no more base tag. 2021-07-26 08:35:49 -07:00
Dillon Kearns
aafd5a29e5 Rename frontmatter to route. 2021-07-21 14:53:27 -07:00
Dillon Kearns
573c6d72dd Handle base path for 404 pages. 2021-07-21 14:42:58 -07:00
Dillon Kearns
00c91c8e9d Include base path in ProgramConfig. 2021-07-21 14:29:37 -07:00
Dillon Kearns
eef18eee93 Use setImmediate to enqueue tasks sequentially so the work is delegated to multiple threads. 2021-07-20 14:47:58 -07:00
Dillon Kearns
951d57a12a Enqueue dev server response work when thread pool is all busy. 2021-07-20 14:14:56 -07:00
Dillon Kearns
4ede380fab Remove baseUrl from model, parse Path into the actual path including the base URL. 2021-07-19 20:59:42 -07:00
Dillon Kearns
c855875e97 Normalize base path arguments. 2021-07-19 18:58:58 -07:00
Dillon Kearns
a264ce10f2 Add --base option, and remove <base> tags. 2021-07-19 18:39:23 -07:00
Dillon Kearns
b241727a86 Use serveStatic to serve compiled elm.js for browser using etags/modified-dates to ensure 304's when possible. 2021-07-17 17:26:30 -07:00
Dillon Kearns
4e88d51e85 Cache Port DataSources like HTTP is cached. 2021-07-17 15:16:13 -07:00
Dillon Kearns
7b3f9889b4 Exclude the .elm-pages folder from the source directories watchers. 2021-07-17 14:14:32 -07:00
Dillon Kearns
d9f3372669 Add base middleware function. 2021-07-16 20:28:46 -07:00
Dillon Kearns
937457fb52 Catch elm-optimize-level-2 errors and run elm make to display errors (since elm-optimize-level-2 doesn't have report option. 2021-07-14 19:03:50 -07:00
Dillon Kearns
c85a5e82f4 Capture elm compiler errors in order to log them cleanly without overlapping process logs. 2021-07-14 18:07:20 -07:00
Dillon Kearns
22c5fc968d Update error formatting. 2021-07-14 18:05:03 -07:00
Dillon Kearns
fb73faaf3b Remove extra log. 2021-07-14 15:56:22 -07:00
Dillon Kearns
d96e24a25c Use ANSI color codes for error messages from NodeJS elm-pages engine. 2021-07-14 15:45:06 -07:00
Dillon Kearns
e8415317b1 Preserve port data source's require cache for build command to speed things up. 2021-07-14 11:30:38 -07:00
Dillon Kearns
82bab067ad Print error if DataSource.Port is used without port definitions file. 2021-07-14 10:29:55 -07:00
Dillon Kearns
ed0141c78e Print full error on unhandled worker exception. 2021-07-14 10:29:36 -07:00
Dillon Kearns
7988bfe69b Update error message. 2021-07-14 10:12:28 -07:00
Dillon Kearns
b904d8bbcd Pass through HTTP errors as build errors. 2021-07-14 10:02:08 -07:00
Dillon Kearns
3d3b7be40b Trigger build error from read file batch functions. 2021-07-14 09:04:45 -07:00
Dillon Kearns
669a20dfe9 Add console.time around DataSource.Port invocations. 2021-07-14 09:03:48 -07:00
Dillon Kearns
2864cfcc58 Use some fsPromises functions. 2021-07-14 09:03:17 -07:00
Dillon Kearns
cf58268c23 Send port name and use it to find exported port function. 2021-07-13 08:23:05 -07:00
Dillon Kearns
91c330f40a Handle port DataSource error, and pass in parsed JSON body as argument. 2021-07-13 07:34:31 -07:00
Dillon Kearns
0c242b1543 Add Port DataSource. 2021-07-12 20:01:43 -07:00
Dillon Kearns
3f73f9eb29 Handle errors with postMessage instead of throwing to prevent worker threads from dying. 2021-07-12 17:17:09 -07:00
Dillon Kearns
fc796da773 Include manifest in paths to generate. 2021-07-10 19:03:08 -07:00
Dillon Kearns
242dfba9bc Remove unused value. 2021-07-10 19:02:58 -07:00
Dillon Kearns
666479f2e7 Cleanup dev server start logic. 2021-07-10 16:54:38 -07:00
Dillon Kearns
d447e885ee Remove log. 2021-07-10 16:54:29 -07:00
Dillon Kearns
d2cfd7dd25 Use non-blocking IO for terser writes. 2021-07-10 16:46:21 -07:00
Dillon Kearns
53e118e845 Remove log statement. 2021-07-10 16:42:15 -07:00
Dillon Kearns
2c2b2b559e Comment out some logs in dev server output. 2021-07-10 14:27:20 -07:00
Dillon Kearns
335ff5f0b1 Avoid writing CLI app's elm.json to disk if the contents are exactly what would be written. Helps the Elm compiler speed up by around 1 second. 2021-07-10 13:57:31 -07:00
Dillon Kearns
0dbb2138db Run codegen steps in parallel. 2021-07-10 13:56:44 -07:00
Dillon Kearns
283f01b690 Remove Elm code that is obsolete with new batch response architecture. 2021-07-10 13:55:42 -07:00
Dillon Kearns
2a23815a3f Handle glob with response batching. 2021-07-10 08:33:22 -07:00
Dillon Kearns
b7160fef3f Use response batching for HTTP requests. 2021-07-10 08:23:56 -07:00
Dillon Kearns
5df5c654dd Retain in-memory cache for builds only. 2021-07-09 13:28:22 -07:00
Dillon Kearns
036271288a Try preserving cache to see how it performs on netlify builds. 2021-07-09 13:11:18 -07:00
Dillon Kearns
550f514e8c Remove some logs. 2021-07-09 13:10:58 -07:00
Dillon Kearns
ac2891c297 Batch file reads. 2021-07-09 11:04:41 -07:00
Dillon Kearns
08ca61d79b Try first step towards a batch DataSource response optimization experiment. 2021-07-08 15:10:07 -07:00
Dillon Kearns
ac06b3903d Add link for reference. 2021-07-08 13:23:11 -07:00
Dillon Kearns
19562d8937 Merge branch 'static-files' into worker-threads 2021-07-08 13:19:21 -07:00
Dillon Kearns
0764a1a714 Hot reload CSS changes. 2021-07-08 11:59:40 -07:00
Dillon Kearns
1b77273cd9 Remove unused mode flag. 2021-07-07 21:28:58 -07:00
Dillon Kearns
32b9b8e94a Remove comment. 2021-07-07 21:13:24 -07:00
Dillon Kearns
ffb9484332 Full build functionality is obsolete now as workers run single-page mode renders. Remove some unused paths. 2021-07-07 21:13:17 -07:00
Dillon Kearns
30d92da3f7 Handle promise rejection for dev server errors. 2021-07-07 14:02:16 -07:00
Dillon Kearns
8d58b8464f Remove some logging statements. 2021-07-07 12:26:50 -07:00
Dillon Kearns
5a82bb9bd0 Handle errors in worker-based build command. 2021-07-07 12:06:55 -07:00
Dillon Kearns
c903bfff68 Formatting. 2021-07-07 12:05:58 -07:00
Dillon Kearns
075e1e641a Remove redundant log. 2021-07-07 12:05:42 -07:00
Dillon Kearns
6084b7d895 Generate static API routes in worker thread build. 2021-07-07 10:24:01 -07:00
Dillon Kearns
3e61a143a6 Don't send watch message with empty set. 2021-07-07 09:59:33 -07:00
Dillon Kearns
41dadfe804 Remove obsolete cache code in main dev server thread. 2021-07-07 09:59:24 -07:00
Dillon Kearns
e56f13d3eb In build mode, don't clear Elm require cache. 2021-07-07 09:25:52 -07:00
Dillon Kearns
457aee7067 Don't send watch messages from build command. 2021-07-07 09:14:04 -07:00
Dillon Kearns
b38815170f Remove xhr2 dependency. 2021-07-07 08:56:58 -07:00
Dillon Kearns
d22a663a90 Re-require Elm lazily on each worker render, and add file watchers from workers. 2021-07-07 08:41:14 -07:00
Dillon Kearns
c3b7391ca6 Use custom thread pool for dev server in preparation for custom messages (which aren't supported by the previous npm package). 2021-07-06 16:34:29 -07:00
Dillon Kearns
c734630a2b Use custom worker thread pool in preparation for custom message passing (npm package didn't support custom messages, only completion messages). 2021-07-06 15:24:44 -07:00
Dillon Kearns
2567b6b9b2 Delete comment. 2021-07-06 10:46:52 -07:00
Dillon Kearns
4b072c2491 Delete unused. 2021-07-06 10:45:19 -07:00
Dillon Kearns
1b02442bc9 Share environment variables in worker pools to ensure PATH is persisted and secrets are available. 2021-07-06 07:50:52 -07:00
Dillon Kearns
ac3c3369e5 Use undici to perform HTTP requests with file-system cache. 2021-07-06 06:26:14 -07:00
Dillon Kearns
0fe8147b13 Use worker threads for dev server. 2021-07-04 20:14:34 -07:00
Dillon Kearns
35608ebe63 Use app.die() in worker threads to reduce memory, and restore use in dev server. 2021-07-02 16:05:16 -07:00
Dillon Kearns
9dfdf33708 Use writeFileSync in worker threads. 2021-07-02 16:04:57 -07:00
Dillon Kearns
1fd5133ba9 Base number of worker threads on number of CPUs. 2021-07-02 16:04:43 -07:00
Dillon Kearns
a94ee06c35 Run build with worker threads. 2021-07-02 15:15:41 -07:00
Dillon Kearns
5f54b4fbe3 Clear glob cache on change, removeDir, addDir. 2021-06-25 12:20:06 -07:00
Dillon Kearns
513159cd86 Update index.js page for template. 2021-06-25 09:57:05 -07:00
Dillon Kearns
08fb2b2465 Add missing dependency in template scaffolding. 2021-06-25 09:56:53 -07:00
Dillon Kearns
20f209f7da Move content.json script tag to bottom of head tag. 2021-06-25 08:14:43 -07:00
Dillon Kearns
38a8e13d4c Remove newlines between SEO head tags. 2021-06-25 08:14:20 -07:00
Dillon Kearns
33c62aaeaf Try initial content.json in a script tag. 2021-06-25 08:03:25 -07:00
Dillon Kearns
40b5b70272 Remove unused code. 2021-06-24 21:31:50 -07:00
Dillon Kearns
32a351a094 Extract common code for prerender function. 2021-06-24 19:01:12 -07:00
Dillon Kearns
d99d51d944 Extract js code to file. 2021-06-24 18:33:31 -07:00
Dillon Kearns
9e1eb683a8 Log exception message when printing errors. 2021-06-24 17:49:10 -07:00
Dillon Kearns
a089fbd248 Inline JS for elm-pages.js script, and minify it. 2021-06-24 17:48:42 -07:00
Dillon Kearns
f1750de106 Simplify elm-pages.js code. 2021-06-24 15:55:41 -07:00
Dillon Kearns
ae6133377f Rearrange template. 2021-06-24 11:34:32 -07:00
Dillon Kearns
e6c2031737 Rename Page builder functions. 2021-06-24 10:05:16 -07:00
Dillon Kearns
bc78f9cb1f Format elm compiler errors in terminal. 2021-06-24 08:53:26 -07:00
Dillon Kearns
22a3d88f63 Use OS-agnostic path delimter to split. 2021-06-24 07:38:12 -07:00
Dillon Kearns
66c6bf7063 Remove log statement in dev server. 2021-06-19 22:03:13 -07:00
Dillon Kearns
127607961a Fix the require'd Elm code memory leak by moving the dev server's Elm module require into the top-level dev server code instead of the renderer. 2021-06-19 21:49:42 -07:00
Dillon Kearns
5949de3f2c Add finally to clean up Elm runtime after dev server responses are sent. 2021-06-19 21:40:19 -07:00
Dillon Kearns
7650ec4651 Remove {} arguments in empty route params in Route type. 2021-06-10 15:09:27 -07:00
Dillon Kearns
80974a8c38 Use empty list of routes for default generated page module. 2021-06-10 12:38:11 -07:00
Dillon Kearns
623db29656 Remove hardcoding in matched route params in 404 dev page. 2021-06-10 12:05:28 -07:00
Dillon Kearns
908e9a4243 Include more not found context. 2021-06-10 11:53:36 -07:00
Dillon Kearns
07bed53a79 Update NotFound view. 2021-06-09 10:52:54 -07:00
Dillon Kearns
e38c3bda3e Fix types for route params to string function. 2021-06-08 15:20:21 -07:00
Dillon Kearns
e719939c33 Generate Elm type representation of pre-rendered RouteParams. 2021-06-08 13:42:52 -07:00
Dillon Kearns
bf272c5768 Show list of pre-rendered route params for found routes but not pre-rendered. 2021-06-08 11:27:44 -07:00
Dillon Kearns
3668768919 Update not found page style. 2021-06-06 21:44:08 -07:00
Dillon Kearns
e9dd54c4b0 Update not found dev page. 2021-06-06 19:09:52 -07:00
Dillon Kearns
cffafc2171 Remove unnecessary destructuring in connector module that required View type to be a record with body and title. 2021-06-06 11:09:39 -07:00
Dillon Kearns
852a84d8bb Update not found page. 2021-06-06 11:04:06 -07:00
Dillon Kearns
498faf6b3a Add netlify.toml to init scaffolding. 2021-06-04 17:54:38 -07:00
Dillon Kearns
0840afbd5a Run elm-format on file. 2021-06-03 18:53:42 -07:00
Dillon Kearns
dcf3205092 Rename ServerRequest to be under DataSource namespace. 2021-06-03 17:27:28 -07:00
Dillon Kearns
f22abc904e Normalize splat field name correctly. 2021-06-03 16:01:54 -07:00
Dillon Kearns
2177d2bf1d Use lowerCamelCase for field names. 2021-06-03 11:58:35 -07:00
Dillon Kearns
9f93efd75c Generate route patterns JSON file for use with adapter js. 2021-06-02 11:02:35 -07:00
Dillon Kearns
0d9e62c09b Update pokedex render function to send 404 status. 2021-06-01 19:31:38 -07:00
Dillon Kearns
7de131ea82 Add extra data in Page module. 2021-06-01 14:21:19 -07:00
Dillon Kearns
cc316d5cd7 Add pokedex detail page. 2021-06-01 10:57:08 -07:00
Dillon Kearns
ac7dcaf5b2 Add a jsonFile data source. 2021-05-29 12:49:49 -07:00
Dillon Kearns
dcc5ad6458 Add elm-pages docs server to show local generated docs. 2021-05-28 11:37:03 -07:00
Dillon Kearns
034569475f Ensure that CLI errors propogate through to browser instead of infinitely reloading. 2021-05-25 11:06:10 -07:00
Dillon Kearns
badd971dbb Fix elm-pages add template code. 2021-05-24 19:09:55 -07:00
Dillon Kearns
8ccdf30399 Update template to refer to a path of a local git submodule. 2021-05-24 12:37:49 -07:00
Dillon Kearns
cf13fb21cf Update template project. 2021-05-24 12:33:13 -07:00