Commit Graph

364 Commits

Author SHA1 Message Date
Dillon Kearns
27ef7c2491 Got hot content reloading working with a different hook. 2020-04-14 21:58:16 -07:00
Dillon Kearns
b614a4cd26 Run prettier. 2020-04-13 15:12:16 -07:00
Dillon Kearns
fb9d3e5ed6 Add context dependency to content folder. 2020-04-13 15:03:37 -07:00
Dillon Kearns
1882465938 Hook into after compile instead of emit. 2020-04-13 15:03:22 -07:00
Dillon Kearns
5aa9fa8c26 Merge branch 'master' into content-hot-reloading 2020-04-12 15:18:55 -07:00
Dillon Kearns
a6dcde5dde Merge branch 'master' into phantom-builder 2020-04-07 16:59:02 -07:00
Dillon Kearns
d61d4a38aa Merge branch 'master' into pr/73 2020-03-28 15:03:25 -07:00
Dillon Kearns
9328cf2636 Change formatting to include trailing slash for empty cleaned route. 2020-03-28 14:20:08 -07:00
Dillon Kearns
6649ce7c06 Prevent base href from being set to unknown. 2020-03-28 13:56:05 -07:00
Steven Vandevelde
cafb9846a5 Replace String.chop in generator 2020-03-28 16:28:22 +01:00
Y0hy0h
59e061aa75 Disable Elm-specific optimizations
For the time being, we cannot guarantee that the file to be compressed is generated by Elm. Therefore we cannot apply its special optimizations.
2020-03-23 13:27:55 +01:00
Y0hy0h
0ddb724370 Run terser in parallel 2020-03-23 13:26:38 +01:00
Y0hy0h
60e62c1ec5 Replace Google Closure minifier with terser minifier 2020-03-20 23:05:43 +01:00
Dillon Kearns
b8dcc41835
Merge pull request #84 from vViktorPL/file-content-escaping
Fix content file body string escaping for `"""` case
2020-03-18 08:19:07 -07:00
Wiktor Toporek
d4773d2f35 Fix content file body string escaping for """ case 2020-03-15 23:51:17 +01:00
Wiktor Toporek
dad2fa563d Refactor Win platform path fix to verbose code with comment according to CR comment. 2020-03-15 22:55:53 +01:00
Wiktor Toporek
451ed1ea40 Fix invalid generator output on Win platform due to path separator. 2020-03-15 01:59:54 +01:00
Steven Vandevelde
6cd14f53ef Fix prerendering 2020-03-11 16:55:17 +01:00
Dillon Kearns
279e2c60ce Replace some instances of the old Builder module. 2020-03-10 22:28:22 -07:00
Steven Vandevelde
8f44ddfb05 Fix statichttp and url-change issues 2020-03-10 16:31:28 +01:00
Steven Vandevelde
1a5175d0a0 Make urls relative using the base element 2020-03-10 16:31:28 +01:00
Dillon Kearns
1261b83d96 Store build timestamp in a variable in JS so that the same time is used for the generated CLI and UI modules. 2020-03-05 14:16:42 -08:00
Dillon Kearns
aa42e35376 Reload content cache on hot reload updates. 2020-02-27 17:51:55 -08:00
Dillon Kearns
dd964fe2df Remove offline-ready caching service worker code for now.
Context: this was creating some issues for at least one user where workbox was serving up stale data from the precache. The precache for main.js and index.html were overshadowing the rule for offline navigation fallback routing. So stale data was being served up. This may have been because of a cloudflare CDN patch.
2020-02-25 11:44:41 -08:00
Dillon Kearns
170269003e Colorize elm compiler errors when running initial elm-pages.
This change forks the node-elm-compiler using a suggested fix from https://github.com/rtfeldman/node-elm-compiler/issues/91#issuecomment-583363707
2020-02-08 08:59:33 -08:00
Dillon Kearns
fdaaf02d88 Set network fallback as the NavigationRoute. 2020-02-03 19:04:13 -08:00
Dillon Kearns
64ecc8dc86 Use a catch handler instead of a fetch handler to let other workbox routing take effect. 2020-02-03 18:17:20 -08:00
Dillon Kearns
43cdad50af Only serve up fallback html page if network request fails, not if it 404s. 2020-02-03 17:52:10 -08:00
Dillon Kearns
e7dfab4cb2 Update service worker script to only serve up HTML of root route as an offline fallback. 2020-02-03 12:12:40 -08:00
Steven Vandevelde
b5cf00b52b Properly setup the renderAfterDocumentEvent option 2020-01-30 18:30:45 +01:00
Dillon Kearns
5a1e06c729 Keep dev server running for non-fatal errors. 2020-01-27 15:05:40 -08:00
Dillon Kearns
6195c5a35f Remove some console.log statements. 2020-01-25 20:34:52 -08:00
Dillon Kearns
cae334486a Merge branch 'master' into generate-files 2020-01-23 20:03:18 -08:00
Dillon Kearns
3a4881d002 Change relative path reference for content.json preload tag. 2020-01-20 08:03:59 -08:00
Dillon Kearns
fe6e046610 Add script defer tag. 2020-01-20 07:59:29 -08:00
Dillon Kearns
d9deee076b
Merge pull request #41 from lukewestby/patch-1
Escape frontmatter content in raw records so it handles newlines
2020-01-12 18:53:47 -08:00
Dillon Kearns
2e8fbee58b Merge branch 'master' into generate-files 2020-01-08 15:07:30 -08:00
Dillon Kearns
79e68efba8 Restore --port functionality in dev mode. 2020-01-08 09:55:31 -08:00
Luke Westby
5785d45f66
escape frontmatter content so it handles newlines 2020-01-07 09:33:40 -08:00
Dillon Kearns
a0a99dab52 Ignore files with extensions for service worker shell fallback. 2020-01-06 09:50:51 -08:00
Dillon Kearns
4c4d26e320 Merge branch 'master' into generate-files 2020-01-05 20:59:43 -08:00
Dillon Kearns
dc29eb4ed6 Fix builtAt time format (was divided by 1000 incorrectly). 2020-01-05 20:59:27 -08:00
Dillon Kearns
815dec7d98 Add hardcoded file generation in prep for programmatic file generation from elm. 2020-01-05 13:54:55 -08:00
Dillon Kearns
c846c9ff25 Remove HMR config from production webpack configuration. 2020-01-04 19:09:25 -08:00
Dillon Kearns
48d19ddc72 Setup hot module reloading for dev server. 2020-01-04 18:53:08 -08:00
Dillon Kearns
dd785ea4af Merge branch 'master' into pr/23 2020-01-03 18:22:14 -08:00
Dillon Kearns
cce522862d Change buildTime to builtAt. 2020-01-03 16:18:37 -08:00
Dillon Kearns
70a1e75635 Remove reference to unused internal module in generated file. 2020-01-03 16:00:31 -08:00
Dillon Kearns
1e34faac47 Delete old generated files to prevent compilation errors. 2020-01-03 14:48:42 -08:00
Dillon Kearns
4b75992ab7 Update dependency. 2019-12-11 10:33:26 -08:00
Dillon Kearns
a55440f44e Update to Elm 0.19.1. 2019-12-11 05:54:00 -08:00
Dillon Kearns
b435eb1560 Merge branch 'master' into static-http 2019-12-10 17:26:17 -08:00
Dillon Kearns
d016beb50b Normalize path names so lookups succeed. 2019-12-10 09:51:43 -08:00
Dillon Kearns
1b2d08bc54 Use ilias's latest json library, update docs site, use 19.1 for docs site. 2019-12-09 20:18:48 -08:00
Dillon Kearns
b0213189ca Generate buildTime constant in Pages.elm. 2019-12-09 13:03:53 -08:00
Daniel Marin
362e5ffef5
Delay copying of elm files to /gen folder until cli app is done
Before this change webpack started compiling before the cli version
if the app was compiled in doCliStuff.

Not sure how but this was causing webpack to send the cli version
of the app to the browser when main.js was requested. This caused
the app to not render anything (because it was a worker app) and
not show any errors.

The change just waits until the cli finished compiling to only
then move the .elm files to the /gen folder, triggering webpack
to recompile using the correct (ui version) of the app.
2019-11-14 19:21:56 +00:00
Dillon Kearns
976b8d8e0e Fix regression with .emu frontmatter parsing. 2019-11-14 06:53:08 -08:00
Dillon Kearns
f8766e0472 Only reduce JSON responses in prod build, not dev mode (so that JSON decoders can be safely re-run). 2019-11-12 20:14:34 -08:00
Dillon Kearns
f5ef176306 Generate files for extensions besides md and emu. Fixes #16. 2019-11-04 10:18:49 -08:00
Dillon Kearns
86d14fb8e5 Only check flags for port, not env variables. 2019-11-03 20:18:49 -08:00
Dillon Kearns
f3fbc9ff72 Update docs to use the new StaticHttp module. 2019-11-02 16:32:12 -07:00
Dillon Kearns
8941ae1e84 Print out error string from CLI without extra noise. 2019-10-28 13:16:22 -07:00
Dillon Kearns
5754bfb186 Pass through environment to CLI app for secrets. 2019-10-24 08:58:44 -07:00
Dillon Kearns
34324d7b19 Change StaticHttp design to allow for multiple requests per page. 2019-10-23 21:01:11 -07:00
Dillon Kearns
bbc06c46b3 Remove some log statements. 2019-10-22 18:13:17 -07:00
Dillon Kearns
c04b72c5c2 Wire through StaticRequests end-to-end. 2019-10-22 13:36:41 -07:00
Dillon Kearns
789cc59d88 Send manifest config through port. 2019-10-21 23:06:25 -07:00
Dillon Kearns
4b32547c7c Update generated Pages.elm file template. 2019-10-21 15:57:01 -07:00
Dillon Kearns
1fc2e80294 Stop copying over files that are now moved to public package. 2019-10-21 15:29:44 -07:00
Dillon Kearns
d1d6d91fa8 Make XHR request in CLI with xhr2 package. 2019-10-21 08:40:22 -07:00
Dillon Kearns
899f872223 Add starting point for function to extract StaticRequests for each page. 2019-10-19 10:02:28 -07:00
Leo jPod
ac954f8f4c
introduce an optional argument to the develop command to specify which port it should run 2019-10-16 08:08:18 +02:00
Leo jPod
63477bbd05
check, can we force feed the port via a env var? 2019-10-16 08:08:18 +02:00
Dillon Kearns
40089da983 Initial prototype to fetch static data. 2019-10-15 22:16:49 -07:00
Dillon Kearns
92a2ba9578 Get basic types wired up for static data. 2019-10-15 20:23:52 -07:00
Dillon Kearns
ebc80239a8 Do example of hardcoded static data. 2019-10-14 08:06:31 -07:00
Dillon Kearns
8037ed33f5 Pass in static http no-op request as a prototype. 2019-10-13 17:35:34 -07:00
Dillon Kearns
130fe8c3ad Change structure of the view/head functions in application config. 2019-10-13 09:53:24 -07:00
Dillon Kearns
431b350858 Wire through (Maybe (PagePath pathKey)) as init argument. 2019-10-08 21:12:17 -07:00
Dillon Kearns
fcc3661909 Add onUrlChange to Pages.application (fixes #4). 2019-10-08 20:36:54 -07:00
Dillon Kearns
14fbc84130 Add admin to blacklist temporarily to test out workbox blacklist. 2019-09-28 09:52:46 -07:00
Dillon Kearns
d5d6c91a25 Make sure that directories for generated content are created if they don't exist. 2019-09-24 15:07:32 -07:00
Dillon Kearns
44ab9db1db Change webpack config to load css files from node_modules. 2019-09-24 10:02:42 -07:00
Dillon Kearns
acdf85fcb8 Merge branch 'generate-vendor-files' 2019-09-23 17:23:45 -07:00
Dillon Kearns
70918c1228 Add logging to debug netlify issue. 2019-09-23 16:51:40 -07:00
Dillon Kearns
479ad6267c Generate files to avoid having to manually copy and update vendor files. 2019-09-23 16:11:59 -07:00
Dillon Kearns
daaf47426e Change caching strategy for images. 2019-09-21 16:07:47 -07:00
Dillon Kearns
b028b0bfc8 Get navigation route working with InjectManifest workbox config. 2019-09-20 13:12:45 -07:00
Dillon Kearns
87767bab6f Use runtime caching for .js and .html files. 2019-09-19 17:01:20 -07:00
Dillon Kearns
936f278e32 Use NetworkFirst for fetching content for now. 2019-09-19 16:54:31 -07:00
Dillon Kearns
2e7a65bf1b Use clients claim and skip waiting to make sure that service worker takes over the window on the initial load (not just subsequent refreshes).
See https://developers.google.com/web/fundamentals/primers/service-workers/lifecycle.
2019-09-17 14:14:44 -07:00
Dillon Kearns
86caa4946b Rename generated file to Pages, and former Pages module to Pages.Platform. 2019-09-15 21:51:16 -07:00
Dillon Kearns
e3fafa927f Use opaque type for Document. 2019-09-15 15:00:14 -07:00
Dillon Kearns
1b6eb7fd4c Refactor type. 2019-09-15 14:51:07 -07:00
Dillon Kearns
2b06f0dc9f Correctly generate with or without index. 2019-09-15 13:29:43 -07:00
Dillon Kearns
800e933e12 Track whether directory has index or not to allow getting index. 2019-09-15 13:19:39 -07:00
Dillon Kearns
dd86ac052f Generate directories instead of list of sub-paths. 2019-09-15 12:14:17 -07:00
Dillon Kearns
5e9167353b Pass PagePath for current page to view. 2019-09-15 10:32:38 -07:00
Dillon Kearns
bc0d58e274 Don't precache favicons (assets folder) to prevent caching errors locally. 2019-09-14 16:39:46 -07:00
Dillon Kearns
4623ecf7a5 Pass List PagePath instead of List (List String) to view function. 2019-09-13 17:53:32 -07:00
Dillon Kearns
8ce8792a94 Add missing pieces for PagePath/ImagePath refactor. 2019-09-13 14:43:40 -07:00
Dillon Kearns
0349a1c1db Change webpack alias for entry js file. 2019-09-11 05:31:32 -07:00
Dillon Kearns
8cb8141844 Escape backslashes in content strings. 2019-09-08 13:50:16 -07:00
Dillon Kearns
6b6e1718bc Change config record field name. 2019-09-08 13:40:58 -07:00
Dillon Kearns
6559e5315c Pass manifest under a field, generate body for raw content for elm-pages build for eager evaluation. 2019-09-08 11:18:58 -07:00
Dillon Kearns
f3140e7401 Rename value all to allPages. 2019-09-08 10:01:12 -07:00
Dillon Kearns
07895d8c3f Remove code for generating unused url parser. 2019-09-08 09:57:29 -07:00
Dillon Kearns
f4f435ccaf Print errors from elm parsing and fail on elm-pages build. 2019-09-08 16:32:59 +03:00
Dillon Kearns
2d2602ca9c Add siteUrl to application config record. 2019-09-08 13:01:36 +03:00
Dillon Kearns
7b6f866d79 Remove exposed value that should be private. 2019-09-07 11:13:34 +05:30
Dillon Kearns
073ec3a4c6 Add pathKey type variable to head tags. 2019-09-07 10:50:57 +05:30
Dillon Kearns
a6b25bb53d Update generator code to use new Path type. 2019-09-06 15:49:48 +05:30
Dillon Kearns
8fbd25349d Generate raw content inside of PagesNew module. 2019-09-06 09:03:11 +05:30
Dillon Kearns
2dacc6ae56 Validate links in markdown renderer. 2019-08-30 17:31:45 +05:30
Dillon Kearns
e1ac97706d Generate allImages list. 2019-08-22 07:45:36 -07:00
Dillon Kearns
c8c7efc067 Copy images to images folder. 2019-08-22 07:41:48 -07:00
Dillon Kearns
59435c7b35 Use readline to avoid error in some node versions. 2019-08-22 06:47:01 -07:00
Dillon Kearns
64edb177a6 Change code generation for new Documents API. 2019-08-22 06:33:52 -07:00
Dillon Kearns
f4acb02bc9 Add commented plugin for performance profiling. 2019-08-22 05:55:40 -07:00
Dillon Kearns
609acf0005 Change cache directory name. 2019-08-22 05:54:29 -07:00
Dillon Kearns
aed91bffce Only use progress plugin in prod build. 2019-08-22 05:50:58 -07:00
Dillon Kearns
987e74711e Show progress. 2019-08-22 05:49:12 -07:00
Dillon Kearns
212291f550 Remove comments. 2019-08-22 05:47:12 -07:00
Dillon Kearns
70feacd32a Add helper function. 2019-08-22 05:46:41 -07:00
Dillon Kearns
7a68a8602d Use google closure compiler to minify code. 2019-08-22 05:39:32 -07:00
Dillon Kearns
fac3099d7b Remove unused dependency. 2019-08-22 05:38:47 -07:00
Dillon Kearns
17c710ef44 Add nicer print out of build duration. 2019-08-22 05:38:17 -07:00
Dillon Kearns
29ec7dadd8 Remove unnecessary webpack loader rule. 2019-08-21 22:09:38 -07:00
Dillon Kearns
5e96ba697d Add caching rule to speed up subsequent imagemin builds. 2019-08-21 21:59:06 -07:00
Dillon Kearns
32d88d5537 Extract frontmatter parsing logic to common module. 2019-08-21 21:33:55 -07:00
Dillon Kearns
70611fa0eb Tweak imagemin settings to improve performance. 2019-08-21 21:09:29 -07:00
Dillon Kearns
8408ac60d5 Fix static routes for prerendering. 2019-08-21 21:08:56 -07:00
Dillon Kearns
e770d19254 Include extension in generated content file. 2019-08-21 17:29:49 -07:00
Dillon Kearns
412d500144 Parse out frontmatter in markup documents. 2019-08-21 14:07:29 -07:00
Dillon Kearns
510e904435 Drop extra top-level images field in images record. 2019-08-21 09:01:32 -07:00
Dillon Kearns
7b6b938770 Take in Image for source icon instead of String. 2019-08-21 08:21:15 -07:00
Dillon Kearns
94a3f1d8b5 Generate type-safe image asset record. 2019-08-21 08:18:13 -07:00
Dillon Kearns
9b863c1b9f Generate image assets. 2019-08-21 07:28:18 -07:00
Dillon Kearns
9dbb36f514 Remove typo line. 2019-08-21 07:28:01 -07:00
Dillon Kearns
972218e0cb Remove obsolete conditional. 2019-08-21 06:56:58 -07:00
Dillon Kearns
1b69602e84 Exclude "index" in PageRoute name. 2019-08-20 23:23:39 -07:00
Dillon Kearns
740f334958 Suppress elm --optimize warnings. 2019-08-20 22:20:18 -07:00
Dillon Kearns
c0e7ccd3ab Reduce noise for elm-pages build. 2019-08-20 22:16:33 -07:00
Dillon Kearns
a3b3b30e9a Use options for webpack dev middleware. 2019-08-20 21:53:58 -07:00
Dillon Kearns
8b6d364b49 Remove obsolete files. 2019-08-20 20:51:41 -07:00
Dillon Kearns
055a314dd0 Don't register pre-render SPA in dev mode. 2019-08-20 20:34:16 -07:00
Dillon Kearns
942e55f319 Get file watching working in dev mode for content.txt files. 2019-08-20 20:12:14 -07:00
Dillon Kearns
1310f5cbea Prevent errors when watcher re-runs and tries to evaluate Elm with Elm value in namespace. 2019-08-20 17:18:23 -07:00
Dillon Kearns
2bdf4da5d7 Remove log. 2019-08-20 17:05:19 -07:00
Dillon Kearns
0590f45680 Fix dev server mode. 2019-08-20 14:37:42 -07:00