Commit Graph

783 Commits

Author SHA1 Message Date
Dillon Kearns
d2bf1e1204 Add a prefetch attribute. 2021-05-14 19:33:52 -07:00
Dillon Kearns
4c1f70c060 Render manifest at build-time as well as in dev server. 2021-05-14 11:57:40 -07:00
Dillon Kearns
a23dab238b Rename fields. 2021-05-12 07:38:09 -07:00
Dillon Kearns
2fc032fed3 Fix regex pattern for optional route segments. 2021-05-07 07:23:41 -07:00
Dillon Kearns
efddae6bba Use standalone Api.elm module for ApiRoutes. 2021-05-06 10:08:12 -07:00
Dillon Kearns
4d175558ce Remove obsolete generateFiles. 2021-05-06 07:14:49 -07:00
Dillon Kearns
8a9e88bc0c Send 404s for file not found in dev server. 2021-05-05 20:38:59 -07:00
Dillon Kearns
939c307fc0 Update dev server static http cache on api route render. 2021-05-05 11:14:54 -07:00
Dillon Kearns
e2c960fcec Generate manifest.json through new ApiRoute wiring. 2021-05-05 10:57:49 -07:00
Dillon Kearns
4a7279ff7f Serve static folder and static code files before trying to run renderer. 2021-05-05 10:10:09 -07:00
Dillon Kearns
759a43c28b Remove console.time statements. 2021-05-04 20:09:40 -07:00
Dillon Kearns
16b15bf4a4 Wire in initial handling for api requests. 2021-05-04 10:37:37 -07:00
Dillon Kearns
4673565123 Handle index special case in new routeToPath. 2021-04-28 13:42:47 -07:00
Dillon Kearns
a0af3dba38 Remove log statements. 2021-04-28 12:57:50 -07:00
Dillon Kearns
eeea9aff05 Sort routes. 2021-04-28 12:57:16 -07:00
Dillon Kearns
a58dfd3a90 Handle optional splat routers. 2021-04-28 11:55:54 -07:00
Dillon Kearns
f2a212fc60 Handle splat routes. 2021-04-28 10:49:00 -07:00
Dillon Kearns
a0b12d16fd Remove unused function. 2021-04-28 08:35:31 -07:00
Dillon Kearns
da62ada1b9 Fix optional routing regex. 2021-04-28 08:28:31 -07:00
Dillon Kearns
80ffd029eb Use new custom router. 2021-04-27 16:53:20 -07:00
Dillon Kearns
5d8caf5d18 Update scaffold command. 2021-04-26 14:24:56 -07:00
Dillon Kearns
dff859ce08 Simplify handleRoute and remove Maybe wrapper. 2021-04-26 10:11:16 -07:00
Dillon Kearns
eb4f375f16 Update render function. 2021-04-25 21:06:16 -07:00
Dillon Kearns
94d12ce084 Remove unused require. 2021-04-25 20:47:27 -07:00
Dillon Kearns
597c6df357 Remove now obsolete captures data in Glob DataSource. 2021-04-25 20:45:17 -07:00
Dillon Kearns
5635566712 Add setup for elm-doc-preview. 2021-04-24 16:31:10 -07:00
Dillon Kearns
735bdeb2af Fix error in slides project. 2021-04-24 16:10:10 -07:00
Dillon Kearns
38d6b65477 Add serverless request Page builder. 2021-04-24 16:01:31 -07:00
Dillon Kearns
2b78dd89bc Add new Page builder API functions. 2021-04-24 12:47:22 -07:00
Dillon Kearns
6582aa9beb Add missing await. 2021-04-24 07:21:24 -07:00
Dillon Kearns
401f67aed9 Add 2nd terser pass to reduce filesize more. 2021-04-23 23:34:32 -07:00
Dillon Kearns
0d8cc96f74 Use another async variant. 2021-04-23 23:14:40 -07:00
Dillon Kearns
a26b495655 Remove blocking in build command. 2021-04-23 23:06:36 -07:00
Dillon Kearns
8d2b60b2de Remove some blocking commands. 2021-04-23 23:01:04 -07:00
Dillon Kearns
a6e2ab9506 Remove some more blocking commands in build. 2021-04-23 22:49:27 -07:00
Dillon Kearns
7584ce09ef Reduce blocking work in build command. 2021-04-23 22:43:50 -07:00
Dillon Kearns
b16d012670 Unexpose Shared.Msg variants. 2021-04-23 16:52:35 -07:00
Dillon Kearns
521c3c0cc7 Rename StaticData -> Data. 2021-04-23 16:22:23 -07:00
Dillon Kearns
559c4b6337 Rename top-level functions from template -> page. 2021-04-23 15:54:07 -07:00
Dillon Kearns
ba6a3c6af4 Rename Template modules -> Page modules. 2021-04-23 15:46:37 -07:00
Dillon Kearns
d01d8680f5 Use new SEO function with global head tags in render function. 2021-04-23 15:32:07 -07:00
Dillon Kearns
a2d17c26c8 Handle initial content.json errors with hot reloading. 2021-04-23 13:51:12 -07:00
Dillon Kearns
0e8f48bb72 Setup HMR when there is an error on initial load. 2021-04-23 11:37:33 -07:00
Dillon Kearns
1ea3a81316 Show error message when all Page Templates are removed. 2021-04-23 10:17:25 -07:00
Dillon Kearns
ef8728961d Add Head.rootLanguage. Fixes #157. 2021-04-23 08:00:05 -07:00
Dillon Kearns
bd2aeee542 Remove unused code. 2021-04-23 07:11:44 -07:00
Dillon Kearns
11267b5f62 Serve hmr.js from framework assets (not user static folder). 2021-04-22 21:25:02 -07:00
Dillon Kearns
827f4c8f7f Comment out log statement in build. 2021-04-22 16:33:53 -07:00
Dillon Kearns
4c9c365887 File read build errors. 2021-04-22 14:53:47 -07:00
Dillon Kearns
4bcfcbd358 Add doc comment. 2021-04-22 14:26:32 -07:00
Dillon Kearns
ad3eea32cb Remove unused imports. 2021-04-22 12:22:21 -07:00
Dillon Kearns
4e7075f908 Add type annotation. 2021-04-22 12:12:50 -07:00
Dillon Kearns
e0b403b2ea Remove unused function. 2021-04-22 12:12:22 -07:00
Dillon Kearns
d08d0e7ff0 Wire in static payload to init and update. 2021-04-22 11:31:06 -07:00
Dillon Kearns
31a659e2d4 Wire in shared static data more places. 2021-04-22 10:48:23 -07:00
Dillon Kearns
e3b10133e6 Add an error message for 0 Page Templates. 2021-04-21 08:40:37 -07:00
Dillon Kearns
0abbe6667f Remove unused file. 2021-04-21 08:33:17 -07:00
Dillon Kearns
a369ce8324 Simplify generated code, fix issue with hanging comma. 2021-04-21 08:29:25 -07:00
Dillon Kearns
c3e11e6e96 Make sure routes with 0 route params are always handled. 2021-04-21 07:51:27 -07:00
Dillon Kearns
8744024031 Remove obsolete Maybe. 2021-04-21 07:11:19 -07:00
Dillon Kearns
e63b64a637 Include is404 in build payload. 2021-04-20 20:36:10 -07:00
Dillon Kearns
722a5c5ff4 Fix copied file in cli code. 2021-04-20 20:25:39 -07:00
Dillon Kearns
3c3c8b1552 Check for 404 according to static paths. 2021-04-20 20:19:39 -07:00
Dillon Kearns
f6b87947ea Render 404 message in view when route not found. 2021-04-20 16:01:14 -07:00
Dillon Kearns
b66e3e88e8 Format file. 2021-04-20 14:34:26 -07:00
Dillon Kearns
ec9c995b88 Replace StaticHttp with DataSource in add command. 2021-04-20 14:21:26 -07:00
Dillon Kearns
14a103e6fb Use String replace instead of replaceAll for older versions of node. 2021-04-20 14:20:29 -07:00
Dillon Kearns
ed58c97b4e Remove optional chaining syntax to support older node versions. 2021-04-20 13:57:22 -07:00
Dillon Kearns
84abfb4b2b DataSource.Request -> DataSource.DataSource. 2021-04-20 07:45:35 -07:00
Dillon Kearns
47fccf2cca Rename StaticHttp to DataSource. 2021-04-20 07:33:12 -07:00
Dillon Kearns
03fc86e577 Remove access to static data for canonicalSiteUrl for now. 2021-04-17 21:43:22 -07:00
Dillon Kearns
e94d9b0cf7 Make sure connect is defined before running it. 2021-04-17 21:21:17 -07:00
Dillon Kearns
6258ec0b06 Add CLI handler for elm-pages add command. 2021-04-17 16:35:38 -07:00
Dillon Kearns
2fdecc4bde Setup dev server as CLI command. 2021-04-17 15:13:41 -07:00
Dillon Kearns
1d973ab495 Add CLI for elm-pages build. 2021-04-17 15:04:24 -07:00
Dillon Kearns
8d47b85908 Rename cli.js to build.js. 2021-04-17 14:40:02 -07:00
Dillon Kearns
bfbfc02c13 Turn on optimize-level-2. 2021-04-17 12:28:37 -07:00
Dillon Kearns
974f35e49c Remove toString call from generated code. 2021-04-17 12:27:59 -07:00
Dillon Kearns
54f3ee4dfc Print better error message. 2021-04-17 12:09:20 -07:00
Dillon Kearns
990e774bbc Remove obsolete wrapper type. 2021-04-17 09:49:13 -07:00
Dillon Kearns
ad46fbe39f Remove obsolete wrapper Msg/Model for CLI runner now that we use code generation to generate the main program entrypoint. 2021-04-17 09:44:05 -07:00
Dillon Kearns
3324b8b82e Remove a Debug.todo. 2021-04-17 09:19:48 -07:00
Dillon Kearns
cbdb7938d4 Remove hmr script tag for cli build, and run in prod mode. 2021-04-17 08:29:14 -07:00
Dillon Kearns
46ea40c715 Pull up StaticHttp.Request out of view function. 2021-04-16 16:25:43 -07:00
Dillon Kearns
68675349cf Decode isJson value in RenderRequest decoder. 2021-04-16 11:56:10 -07:00
Dillon Kearns
3c14865d2b Change decoding format for single page routes. 2021-04-16 11:33:53 -07:00
Dillon Kearns
4dd35fde98 Run latest elm-format. 2021-04-16 09:40:54 -07:00
Dillon Kearns
6e59a5191e Wire in shared static data. 2021-04-15 15:11:57 -07:00
Dillon Kearns
c60875f89f Wire in StaticData for update in elm-pages.com site. 2021-04-15 13:40:36 -07:00
Dillon Kearns
01c096a1af Remove more hardcoding. 2021-04-15 13:30:27 -07:00
Dillon Kearns
2cbea63fe1 Remove some hardcoding. 2021-04-15 13:26:32 -07:00
Dillon Kearns
9453b5fb41 Wire in staticData to update with some hardcoding and Debug.todos. 2021-04-15 10:23:01 -07:00
Dillon Kearns
8bbee1d762 Remove duplicate navigation key to ensure that hot reloads work. 2021-04-14 16:32:55 -07:00
Dillon Kearns
4991ae263c Be sure to run codegen step on dev server start. 2021-04-14 15:57:29 -07:00
Dillon Kearns
ac1535f5b9 Wire in navigation key from template connector module. 2021-04-14 15:57:12 -07:00
Dillon Kearns
ed4cf2d2d4 Wire in navigation key. 2021-04-14 09:26:58 -07:00
Dillon Kearns
f43e572288 Wire in Route to subscriptions. 2021-04-14 08:56:25 -07:00
Dillon Kearns
ebe599c4e1 Comment out a hardcoded subscriptions wiring for now. 2021-04-14 07:34:02 -07:00
Dillon Kearns
423e6de328 Wire in all Routes in SiteConfig. 2021-04-13 18:43:31 -07:00
Dillon Kearns
713ff07634 Write generated files to a temporary folder and serve them in dev server. 2021-04-13 15:33:31 -07:00
Dillon Kearns
2a5ef63ae2 Generate manifest.json as a plain-old file generator. 2021-04-13 13:46:48 -07:00
Dillon Kearns
4744844dd1 Wire in manifest generator as just another file generator, but specified in the generated code. 2021-04-13 13:28:58 -07:00
Dillon Kearns
64e1baf0b2 Use replaceAll in generator command. 2021-04-13 13:11:34 -07:00
Dillon Kearns
2b63ac8459 Update generator. 2021-04-13 13:05:18 -07:00
Dillon Kearns
e8f0ffe7b6 Add watchers when file reads and globs are encountered in the renderer. 2021-04-12 21:44:57 -07:00
Dillon Kearns
fcada0839e Watch elm source dirs and rewatch on elm.json change. For now, don't watch content/ folder, in preparation for watching on-demand based on globs and file reads from data sources. 2021-04-12 21:26:14 -07:00
Dillon Kearns
89cfd0904c Add debug output. 2021-04-12 20:30:20 -07:00
Dillon Kearns
a403f90049 Run cli in debug mode. 2021-04-12 20:29:59 -07:00
Dillon Kearns
ce039cf207 Generate separate Route module. 2021-04-12 17:34:23 -07:00
Dillon Kearns
06a9883c15 Remove references to Shared.PageView. 2021-04-12 16:54:08 -07:00
Dillon Kearns
0434c7ebec Use map function from Document. 2021-04-12 16:50:23 -07:00
Dillon Kearns
3dee1adf04 Generate RouteParams in generator. 2021-04-12 16:45:25 -07:00
Dillon Kearns
02b97e7b16 Clean up dev server logging output. 2021-04-12 15:32:42 -07:00
Dillon Kearns
450c53536a Clear cache entry for file in dev server on file change. 2021-04-12 15:16:30 -07:00
Dillon Kearns
57935a19dd Handle multiple EventStream connections, and socket close event. 2021-04-12 13:53:13 -07:00
Dillon Kearns
0a33c6e572 Add some type annotations. 2021-04-11 21:06:31 -07:00
Dillon Kearns
a2df8d665d Add return to prevent incorrect runningElmMake state. 2021-04-11 20:07:19 -07:00
Dillon Kearns
cfee49f0dd Remove unused import. 2021-04-11 20:06:58 -07:00
Dillon Kearns
71d4366fbe Set elm make running to true on dev server start. 2021-04-11 16:17:04 -07:00
Dillon Kearns
7a019036ec Use module.hot.apply API to update content json when the new app is ready to receive ports. 2021-04-11 15:35:02 -07:00
Dillon Kearns
52fd8cc1b7 Use non-blocking IO in Elm ports for renderer. 2021-04-11 14:38:14 -07:00
Dillon Kearns
75fec75d61 Performance tuning for compiling elm client. And make sure to set elmMakeRunning to false after initial compilation. 2021-04-11 14:37:39 -07:00
Dillon Kearns
c154c2bb65 Only rerun codegen when Template module files are added or removed, since that's all the information they depend on. And don't rerun multiple elm make tasks while one is in progress to debounce. 2021-04-11 12:28:55 -07:00
Dillon Kearns
00f551e4d7 Print out time to run elm make. 2021-04-10 19:52:43 -07:00
Dillon Kearns
4b23287b4d Update codegen globals. 2021-04-10 16:47:48 -07:00
Dillon Kearns
edbadddf7f Remove obsolete images folder in favor of just static folder. 2021-04-10 14:06:48 -07:00
Dillon Kearns
cf1d03a2bb Remove more instances of pathkey. 2021-04-10 13:51:39 -07:00
Dillon Kearns
03e81639f6 Remove remaining references to NoMetadata. 2021-04-10 13:34:04 -07:00
Dillon Kearns
81c523bad6 Remove more references to NoMetadata. 2021-04-10 13:26:19 -07:00
Dillon Kearns
e06cdda113 Remove unused code. 2021-04-10 13:14:13 -07:00
Dillon Kearns
16d838a6a7 Remove dependency on Pages module in connector module. 2021-04-10 13:12:04 -07:00
Dillon Kearns
776bc3317d Remove Pages.pages, Pages.images, etc. 2021-04-10 13:05:23 -07:00
Dillon Kearns
da14d2e88f Goodbye PathKey! 👋 2021-04-10 13:00:26 -07:00
Dillon Kearns
31a5f2d8f6 Remove more references to Pages module. 2021-04-10 12:37:06 -07:00
Dillon Kearns
2722df72f7 Add starting design for separate routes module. 2021-04-10 10:47:25 -07:00
Dillon Kearns
8c4990551c Remove more pathkey stuff. 2021-04-10 10:35:37 -07:00
Dillon Kearns
12b36d964f No more PathKey for PagePath! 2021-04-10 10:33:26 -07:00
Dillon Kearns
6812367ab2 Use hardcoded () for pathkey. 2021-04-10 10:09:32 -07:00
Dillon Kearns
379817e51e Remove copy commands for beta-index.js and beta-style.css since they're now just assets. 2021-04-10 10:09:12 -07:00
Dillon Kearns
a0622db69d Move hmr loading indicator code into hmr.js and out of Elm code. 2021-04-09 16:36:18 -07:00
Dillon Kearns
ebb78e541a Retain staticHttp cache in dev server. 2021-04-09 13:22:12 -07:00
Dillon Kearns
b23c774b68 Print out timing of render function in logs. 2021-04-09 12:20:28 -07:00
Dillon Kearns
dc5178e861 Remove unused code. 2021-04-09 12:01:28 -07:00
Dillon Kearns
a6514b844f Serve assets with npm package that does streaming and mime type handling. Serve up some files from the file system for simlicity. 2021-04-09 12:00:24 -07:00
Dillon Kearns
bd1170083f Display request timing in dev server logs, and prevent some errors being logged by avoiding trying to read files for navigation requests. 2021-04-09 10:56:13 -07:00
Dillon Kearns
d9391cee53 Only apply HMR updates when content.json is free of errors. 2021-04-08 18:42:05 -07:00
Dillon Kearns
16689b7e85 Bust require cache when reloading Elm renderer function, re-run codegen step before running CLI Elm compilation, and await pending CLI compilation before responding to content.json requests. 2021-04-08 16:01:39 -07:00
Dillon Kearns
29c61434f2 Wire in elm-pages data source errors to error overlay. 2021-04-08 06:38:29 -07:00
Dillon Kearns
5d8680bc4f Remove commented code. 2021-04-07 17:38:07 -07:00
Dillon Kearns
3e2b699c1f Send elm compiler errors as JSON. 2021-04-07 17:37:49 -07:00
Dillon Kearns
451534addf Performance: tell client to hot reload elm before compiling, wait to give requested elm.js after compilation is done. 2021-04-07 13:38:59 -07:00
Dillon Kearns
c12d562834 No more express! 🎉 2021-04-07 13:15:33 -07:00
Dillon Kearns
0a0ea64a1f Compile Elm in dev server. 2021-04-07 12:17:09 -07:00
Dillon Kearns
4e87def89e Remove log and set explicit content-type. 2021-04-07 08:35:51 -07:00
Dillon Kearns
978305765e Hot reloads for content.json. 2021-04-07 08:22:46 -07:00
Dillon Kearns
80a2ea26b6 Wire in initial HMR for elm.js code. 2021-04-06 18:26:24 -07:00
Dillon Kearns
37d19c84d8 Stop converting compiled Elm to ESM. 2021-04-06 13:09:00 -07:00
Dillon Kearns
a30cb4c20c Update generator. 2021-04-06 12:25:50 -07:00
Dillon Kearns
06301c7712 Add starting point for dev server. 2021-04-06 08:21:22 -07:00
Dillon Kearns
5f27593904 Add readfile and glob handlers in render function. 2021-04-06 06:13:33 -07:00
Dillon Kearns
f33eb9b094 Set process.exitCode instead of doing unsafe process.exit operation. 2021-04-06 06:12:20 -07:00
Dillon Kearns
745d714a44 Add render function to StaticResponses module. 2021-04-05 20:58:28 -07:00
Dillon Kearns
89650a4eb1 Merge branch 'serverless' into static-files
# Conflicts:
#	examples/docs/package-lock.json
#	examples/docs/src/Template/BlogIndex.elm
#	examples/docs/src/Template/Page.elm
#	generator/src/cli.js
#	netlify.toml
#	package-lock.json
#	package.json
#	src/Pages/Internal/Platform/Cli.elm
#	tests/BetaStaticHttpRequestsTests.elm
#	tests/StaticHttpRequestsTests.elm
2021-04-05 19:49:08 -07:00
Dillon Kearns
6482a46a08 Handle Index.elm path. 2021-04-05 16:58:13 -07:00
Dillon Kearns
5e8a07aad6 Remove hardcoding. 2021-04-05 16:50:22 -07:00
Dillon Kearns
cbc232b8ce Remove unused body field. 2021-04-05 16:31:59 -07:00
Dillon Kearns
e8f9b2cfa5 Remove unused. 2021-04-05 16:23:20 -07:00
Dillon Kearns
6a1bac4ec7 Remove unused code. 2021-04-05 16:11:12 -07:00
Dillon Kearns
ca9765b62a Remove more webpack-related files. 2021-04-05 15:09:34 -07:00
Dillon Kearns
a6730d9535 Remove some debugging settings. 2021-04-05 14:48:22 -07:00
Dillon Kearns
c9c63b8a3b Remove webpack dependencies! 🎉 2021-04-05 14:44:43 -07:00
Dillon Kearns
c581591114 Remove webpack-related files. 2021-04-05 14:29:27 -07:00
Dillon Kearns
6bc4c8aab0 Remove unused code. 2021-04-05 14:25:37 -07:00
Dillon Kearns
9f6d953f1c Remove some webpack-related files. 2021-04-05 14:12:05 -07:00
Dillon Kearns
c6e1245c99 Delete unused module. 2021-04-05 14:03:08 -07:00
Dillon Kearns
5d496c3834 Run entrypoint directly with generated code instead of wiring it in with a Main.elm. 2021-04-05 13:59:21 -07:00
Dillon Kearns
565c62bccb Wire in RouteParams to static payload. 2021-04-05 07:48:26 -07:00
Dillon Kearns
5532a7c29c Generalize generated routes with route params. 2021-04-05 07:20:12 -07:00
Dillon Kearns
1f7bb61452 Remove some hardcoding in the generated code. 2021-04-05 06:35:51 -07:00
Dillon Kearns
c77f9caceb Handle nested routes in generator script. 2021-04-05 06:35:23 -07:00
Dillon Kearns
a74254773f Wire in route to staticData. 2021-04-04 20:47:25 -07:00
Dillon Kearns
02c9c16cf3 Remove log statement. 2021-04-04 19:29:29 -07:00
Dillon Kearns
90d39610d3 Handle a nested Page Template route with some hardcoding. 2021-04-04 18:23:48 -07:00
Dillon Kearns
0952b45592 Update scaffolding function. 2021-04-03 21:20:50 -07:00
Dillon Kearns
6ef3000011 Handle initial StaticHttp requests to get routes. 2021-04-03 13:08:02 -07:00
Dillon Kearns
66d407b5c8 Add hardcoded fetch for static routes. 2021-04-03 09:53:42 -07:00
Dillon Kearns
a149c02df3 Remove unused Content data. 2021-04-02 20:28:31 -07:00
Dillon Kearns
3372c04e0d Remove TemplateType. 2021-04-02 15:29:59 -07:00
Dillon Kearns
1bc22f10b3 Remove RenderedBody references. 2021-04-02 15:21:17 -07:00
Dillon Kearns
2d3cf86a0c Remove Documents module. 2021-04-02 15:07:14 -07:00
Dillon Kearns
c13fa23e12 Wire in urlToRoute. 2021-04-02 13:36:11 -07:00
Dillon Kearns
b244a70e44 Wire through route type. 2021-04-01 21:23:55 -07:00
Dillon Kearns
dd81c22ec4 Add starting point for generated url parser, remove unused argument. 2021-04-01 14:10:01 -07:00
Dillon Kearns
abcae65b36 Remove all references to Metadata. 2021-04-01 12:56:33 -07:00
Dillon Kearns
1e5d6b8a0e Add file path and glob handlers. 2021-03-31 19:55:28 -07:00
Dillon Kearns
ec2247cdad Include content.json in pre-rendered HTML instead of having a fetch hint for content.json. 2021-03-29 09:15:54 -07:00
Dillon Kearns
11835f155f Handle incoming content.json requests in render serverless function. 2021-03-29 08:59:53 -07:00
Dillon Kearns
0c564bc5fe Clean up serverless render adapter code and return HTML error code. 2021-03-28 19:30:55 -07:00
Dillon Kearns
650a3e9cee Don't load content.json if it's there in the rendered page. 2021-03-25 10:21:01 -07:00
Dillon Kearns
ec7ba930b9 Run renderer for the specific page being requested only, not all pages. 2021-03-25 08:04:59 -07:00