Commit Graph

351 Commits

Author SHA1 Message Date
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
Dillon Kearns
e34e3510c3 Stop writing image-assets.js file. 2019-08-20 10:45:47 -07:00
Dillon Kearns
dd8f8f7345 Require PageRoute for start_url for manifest. 2019-08-20 09:54:02 -07:00
Dillon Kearns
a68597a3cc Remove url-loader for now. 2019-08-20 09:33:59 -07:00
Dillon Kearns
8bfb568507 Wrap additional loaders in require.resolve. 2019-08-20 09:32:44 -07:00
Dillon Kearns
beb9268de0 Generate new static route records for Cli file in addition to Ui file. 2019-08-20 09:31:04 -07:00
Dillon Kearns
290e79f2c6 Don't generate entry in routes record for 404 pages. 2019-08-20 09:21:15 -07:00
Dillon Kearns
87eaa0dd56 Use common exposing list and imports for generated Cli and Ui modules. 2019-08-20 09:04:24 -07:00
Dillon Kearns
44e8e4a960 Generate urlToString helper. 2019-08-20 09:01:32 -07:00
Dillon Kearns
5ddb958085 Change the way that elmTypes are generated for static route record. 2019-08-20 08:43:38 -07:00
Dillon Kearns
565925c44e Include generated route content. 2019-08-20 08:30:50 -07:00
Dillon Kearns
d2a0bb770a Include code for generating static route record. 2019-08-20 07:48:48 -07:00
Dillon Kearns
3bbd609692 Add jpeg compression to config. 2019-08-19 21:31:33 -07:00
Dillon Kearns
02b6189d13 Add imagemin plugin with basic png configuration. 2019-08-19 21:19:16 -07:00
Dillon Kearns
4f1a8cd205 Extract plugin to module. 2019-08-19 20:57:18 -07:00
Dillon Kearns
ae1f805510 Fix size for files in file plugin. 2019-08-19 20:50:13 -07:00
Dillon Kearns
76c91d6108 Fix AddFile plugin so that it correctly adds files that work in dev mode. 2019-08-19 20:43:37 -07:00
Dillon Kearns
9065b08320 Only include set of known extensions and files for pre-caching, and exclude icons. 2019-08-19 20:06:23 -07:00
Dillon Kearns
d5b50d11bd Prevent double leading / in content.txt for root route. 2019-08-19 19:23:33 -07:00
Dillon Kearns
5cfc291bf8 Move service worker after html and other plugins. 2019-08-19 18:57:14 -07:00
Dillon Kearns
134b66d33c Remove log statement. 2019-08-19 18:05:12 -07:00
Dillon Kearns
f79486b3b2 Reduce noise in webpack dev server. 2019-08-19 18:02:04 -07:00
Dillon Kearns
e2e81803b8 Move html plugin back before favicons. 2019-08-19 18:01:35 -07:00
Dillon Kearns
2fd8320451 Load Html plugin after favicons plugin. 2019-08-19 16:46:20 -07:00
Dillon Kearns
91ab1b328f Remove link to unused package. 2019-08-19 16:36:39 -07:00
Dillon Kearns
be2e29de6c Use sourceIcon from manifest config. 2019-08-19 16:34:48 -07:00
Dillon Kearns
d339ae4f49 Generate PagesNew.elm UI module if not present. 2019-08-19 16:27:35 -07:00
Dillon Kearns
47ff28050c Extract constant to module. 2019-08-19 16:25:30 -07:00
Dillon Kearns
6f4cdc1b05 Run elm code to get manifest config. 2019-08-19 15:58:55 -07:00
Dillon Kearns
61e3a26c0f Fix order of changing directory back after compiling elm code. 2019-08-19 15:58:31 -07:00
Dillon Kearns
8aff334828 Add helper modules to run elm from NodeJS and rewrite elm.json. 2019-08-19 15:20:20 -07:00
Dillon Kearns
07152b8fa3 Hardcode some parameters that shouldn't change. 2019-08-19 14:51:11 -07:00
Dillon Kearns
0de8f269de Include compile-elm code. 2019-08-19 10:38:13 -07:00
Dillon Kearns
df7def2454 Remove comment. 2019-08-17 18:04:43 -07:00
Dillon Kearns
e45fc59283 Fix dev server. 2019-08-17 09:09:57 -07:00
Dillon Kearns
4973e39850 Remove unused constant. 2019-08-16 18:35:07 -07:00
Dillon Kearns
38b6dc8419 Generate all Nothing values (only works for prod for now). 2019-08-16 18:31:25 -07:00
Dillon Kearns
431fd9d5bd Remove hardcoding for preload links. 2019-08-16 18:31:05 -07:00
Dillon Kearns
d527f94e36 Generate content.txt file for all markdown files. 2019-08-16 08:32:15 -07:00
Dillon Kearns
9fabb89c97 Add hardcoded content.txt file to assets. 2019-08-16 08:12:16 -07:00
Dillon Kearns
020228f8ed Use favicons webpack plugin. 2019-08-15 15:51:19 -07:00
Dillon Kearns
824e7bf300 Pass through --debug flag for elm-pages develop. 2019-08-15 12:13:08 -07:00
Dillon Kearns
aab81c137f Use --optimize for production build. 2019-08-14 22:04:56 -07:00
Dillon Kearns
2f394a0dda Move to workbox webpack plugin. 2019-08-14 21:43:12 -07:00
Dillon Kearns
b61d1023fd Skip --optimize for now as it's causing errors. 2019-08-14 19:43:50 -07:00
Dillon Kearns
1eb3653a18 Fix configuration for dev/prod elm loader. 2019-08-14 19:35:00 -07:00
Dillon Kearns
937b079a4f Build service worker once static files are generated. 2019-08-14 19:16:23 -07:00
Dillon Kearns
d85d647dc6 Optimize elm build in production mode. 2019-08-14 18:31:07 -07:00
Dillon Kearns
5679d642b4 Fix service worker to load from absolute url. 2019-08-14 17:55:41 -07:00
Dillon Kearns
6ce8a8d0a2 Fix the way the elm-pages module was being loaded. 2019-08-14 17:42:02 -07:00
Dillon Kearns
f8168edd69 Display webpack errors if present in elm-pages build. 2019-08-14 17:41:26 -07:00
Dillon Kearns
18687b8432 Remove commented line. 2019-08-14 17:40:45 -07:00
Dillon Kearns
025b7ff2af Try different module resolution fix for looking up node_modules. 2019-08-14 16:43:35 -07:00
Dillon Kearns
857cb8e94d Try removing resolve module option to make netlify build happy. 2019-08-14 15:47:14 -07:00
Dillon Kearns
e2c7cbad73 Use template for html file that loads service worker file. 2019-08-14 15:15:00 -07:00
Dillon Kearns
6af5a1ca11 Get css loaders working. 2019-08-14 14:31:05 -07:00
Dillon Kearns
6a6668cf8b Wait for prerender trigger to pre-render pages. 2019-08-14 14:16:28 -07:00
Dillon Kearns
572e3ccb6c Build service worker for elm-pages build step. 2019-08-14 14:15:14 -07:00
Dillon Kearns
4e1b4a7627 Inject script tag in <head> to prevent elm from removing it. 2019-08-14 14:14:47 -07:00
Dillon Kearns
f18a21d3a0 Remove hardcoding of routes. 2019-08-14 13:32:53 -07:00
Dillon Kearns
e4a2be705b Get prerendering working with hardcoded list of routes. 2019-08-14 13:26:10 -07:00
Dillon Kearns
ffc324b21f Clean up repeated code. 2019-08-14 12:50:53 -07:00
Dillon Kearns
5b39c9f46c Implement elm-pages build command. 2019-08-14 12:49:00 -07:00
Dillon Kearns
62f29e151c Correctly route other html pages. 2019-08-14 12:23:54 -07:00
Dillon Kearns
f70ef558cf Serve static assets. 2019-08-14 12:17:07 -07:00
Dillon Kearns
7c89584333 Run webpack server for elm-pages build. 2019-08-14 09:57:04 -07:00
Dillon Kearns
f45cc838e9 Use require.resolve in webpack file to fix issue with local installs. 2019-08-14 09:31:23 -07:00
Dillon Kearns
33697a7043 Add webpack html plugin. 2019-08-13 16:13:07 -07:00
Dillon Kearns
77617f388c Add basic boilerplate for running webpack dev server. 2019-08-13 16:02:58 -07:00
Dillon Kearns
4bd49a6511 Add boilerplate for building with webpack middleware. 2019-08-13 13:55:13 -07:00
Dillon Kearns
a7917cf70e Add import. 2019-08-13 13:00:40 -07:00
Dillon Kearns
57c3a7b0b2 Add function for building service worker with workbox for use with CLI. 2019-08-12 20:10:21 -07:00
Dillon Kearns
2f9a758be9 Include markdown paths in prerender paths. 2019-08-11 20:01:59 -07:00
Dillon Kearns
9ec5923ea1 Rename variables. 2019-08-05 16:01:32 -07:00
Dillon Kearns
3a5dc7c12f Rename type. 2019-08-05 16:00:17 -07:00
Dillon Kearns
2b33dfc451 Add a space before the raw json to avoid invalid elm syntax. 2019-08-05 15:17:55 -07:00
Dillon Kearns
69a5018ca8 Use gray-matter npm package to parse markdown frontmatter. 2019-08-05 15:12:58 -07:00
Dillon Kearns
3790c65a2b Rename Pages.program to Pages.application. 2019-08-05 11:14:29 -07:00
Dillon Kearns
487075ba2c Watch for changes to .md files. 2019-08-02 17:38:26 -07:00
Dillon Kearns
38c9d6dafc Remove some comments. 2019-08-02 06:56:27 -07:00
Dillon Kearns
cbb918bc33 Generate raw content for markdown files. 2019-08-02 06:29:34 -07:00
Dillon Kearns
e44abadcb6 Add watch mode. 2019-07-29 13:34:22 -07:00
Dillon Kearns
4000021d63 Change binary and naming to elm-pages. 2019-07-29 11:56:41 -07:00
Dillon Kearns
cb87654b0d Fix watch path. 2019-07-29 11:55:43 -07:00
Dillon Kearns
11dc79bb45 Add console log to show when running. 2019-07-29 11:53:38 -07:00
Dillon Kearns
79504bf4f5 Change import line. 2019-07-29 09:27:36 -07:00
Dillon Kearns
7052aba7bf Change code generation to use flat structure under content directory, and generate prerender.config.js file. 2019-07-29 09:27:21 -07:00
Dillon Kearns
bdfd510e8c Parse pages into single list. 2019-07-28 08:47:58 -07:00
Dillon Kearns
5b33c0b5d3 Run in file watch mode. 2019-07-26 10:15:45 -07:00
Dillon Kearns
0a08f36a89 Update generator code. 2019-07-25 16:32:22 -07:00
Dillon Kearns
9957519829 Don't generate image assets for directories. 2019-07-24 15:40:53 -07:00
Dillon Kearns
5dfa1135a1 Update generated code. 2019-07-24 15:40:41 -07:00
Dillon Kearns
a41ecfa189 Generate image assets. 2019-07-24 15:34:09 -07:00
Dillon Kearns
1fb98e8650 Write image-assets file. 2019-07-24 15:22:04 -07:00
Dillon Kearns
5de1e17fd2 Add binary file for npm. 2019-07-23 21:04:12 -07:00
Dillon Kearns
f910e51de1 Change title. 2019-07-23 20:00:41 -07:00
Dillon Kearns
e5a327e02b Remove log statements. 2019-07-23 19:41:45 -07:00
Dillon Kearns
43cab10850 Address typescript errors. 2019-07-23 19:41:31 -07:00
Dillon Kearns
7f0aeeb234 Use import for package.json file. 2019-07-23 19:39:43 -07:00
Dillon Kearns
9467385906 Drop index as last term. 2019-07-23 17:07:34 -07:00
Dillon Kearns
81cd85997b Add leading /s in prerenderrc generator. 2019-07-23 09:01:31 -07:00
Dillon Kearns
80a7ff4769 Correctly generate prerenderrc paths. 2019-07-23 08:57:24 -07:00
Dillon Kearns
f0b98c8d63 Change file structure. 2019-07-23 08:50:51 -07:00
Dillon Kearns
8baa8d6843 Write contents to file system. 2019-07-23 07:45:34 -07:00
Dillon Kearns
0fe04f3da5 Update generator code to include correct path. 2019-07-23 07:40:35 -07:00
Dillon Kearns
d0b9c19498 Include contents in generated code. 2019-07-23 07:33:22 -07:00
Dillon Kearns
20c67bbbbf Generate for each page. 2019-07-23 07:32:24 -07:00
Dillon Kearns
0c2a71ae97 Add annotations. 2019-07-23 07:28:27 -07:00
Dillon Kearns
63b30587a1 Pass through file contents. 2019-07-23 07:27:53 -07:00
Dillon Kearns
26e9e755f2 Update posts, add glob depdency. 2019-07-23 06:08:00 -07:00
Dillon Kearns
1b8b4c0bd3 Update generation code. 2019-07-22 21:40:53 -07:00
Dillon Kearns
a2a0576a7e Extract function. 2019-07-22 21:36:54 -07:00
Dillon Kearns
cfab8fcc82 Update content generation format. 2019-07-22 21:34:37 -07:00
Dillon Kearns
3d8e6f1dde Add boilerplate for generator CLI. 2019-07-22 21:05:31 -07:00