Commit Graph

387 Commits

Author SHA1 Message Date
Dillon Kearns
12c00b7565 Update adapter script error message and template file location. 2022-02-21 17:01:01 -08:00
Dillon Kearns
ff71b62321 Try using vite-generated HTML template in adapter-generated scripts. 2022-02-21 16:54:51 -08:00
Dillon Kearns
64c983c3ec Move entrypoint files to top-level in pokedex project. 2022-02-21 15:51:16 -08:00
Dillon Kearns
e793a8fe89 Ensure that fixes don't infinitely apply for Request.oneOf [] case. 2022-02-21 15:50:17 -08:00
Dillon Kearns
fbcbfa3c27 Add optional body parameter to reload page data port in order to avoid an extra round trip for form POST. 2022-02-17 11:52:21 -08:00
Dillon Kearns
094e905dd5 Update pokedex example for latest file structure with app/ folder. 2022-02-16 16:54:52 -08:00
Dillon Kearns
de2650e357 Remove old invocation of port://env. 2022-02-10 10:10:26 -08:00
Dillon Kearns
08540c52a0 Update pokedex example. 2022-02-10 09:55:20 -08:00
Dillon Kearns
094f46d5f7 Try base64 encoding responses in Netlify functions. 2022-02-04 11:17:44 -08:00
Dillon Kearns
51bc07f2c5 Formatting. 2022-02-04 11:08:21 -08:00
Dillon Kearns
26bf9e3171 Update adapter script to return bytes responses for content.dat. 2022-02-04 11:07:24 -08:00
Dillon Kearns
69cdf963cf Remove some instances of content.json. 2022-02-03 20:08:45 -08:00
Dillon Kearns
82dea47a89 Update package-lock. 2022-02-03 11:20:56 -08:00
Dillon Kearns
91c87dd235 Add favicon to example. 2022-01-29 09:14:38 -08:00
Dillon Kearns
a7f2fa7eda Remove obsolete unoptimizedRequest function. 2022-01-28 09:42:52 -08:00
Dillon Kearns
406c0cafd8 Rename function. 2022-01-28 09:34:11 -08:00
Dillon Kearns
6f7894fd3f Rename module. 2022-01-28 09:27:43 -08:00
Dillon Kearns
f9c85dec80 Remove more obsolete secrets code. 2022-01-27 15:52:42 -08:00
Dillon Kearns
ed956ae341 Remove now obsolete Secrets API! 2022-01-27 15:45:51 -08:00
Dillon Kearns
fdf14a70dc Try hardcoding path for now. 2022-01-26 14:59:16 -08:00
Dillon Kearns
11ff7e1afb Try downloading lamdera in current dir. 2022-01-26 14:56:08 -08:00
Dillon Kearns
19a5426d90 Try different download path. 2022-01-26 14:51:06 -08:00
Dillon Kearns
e76dbfd700 Try different file path for lamdera download. 2022-01-26 14:48:06 -08:00
Dillon Kearns
6b4f505832 Try another command to install lamdera on netlify build. 2022-01-26 14:45:26 -08:00
Dillon Kearns
7497934772 Merge branch 'lamdera-wire' into serverless-latest
# Conflicts:
#	examples/pokedex/netlify.toml
#	examples/pokedex/src/Api.elm
#	examples/pokedex/src/Page/Greet.elm
#	examples/pokedex/src/Page/Login.elm
#	src/Session.elm
2022-01-26 14:32:39 -08:00
Dillon Kearns
119f989d93 Add commands to install lamdera to netlify build command. 2022-01-26 14:28:12 -08:00
Dillon Kearns
8229547cb7 Only use Bytes encoded responses, and delete StripResponse logic which is now obsolete. 2022-01-26 09:01:05 -08:00
Dillon Kearns
3e9a93c636 Generate distillBytes with wire codecs for all page modules. 2022-01-25 21:56:02 -08:00
Dillon Kearns
afb7470cb1 Extract functions. 2022-01-25 18:26:46 -08:00
Dillon Kearns
d779ed15d2 Add missing lamdera dependencies. 2022-01-25 18:22:16 -08:00
Dillon Kearns
5342859ecd Use page reload port to reload data without refresh in todo example. 2022-01-25 11:20:34 -08:00
Dillon Kearns
359b3e92c5 Add todos example. 2022-01-24 20:55:07 -08:00
Dillon Kearns
d4eb37f8ac Add Fauna request helper module. 2022-01-24 20:45:32 -08:00
Dillon Kearns
f21b8b61b1 Add form data decoder and example. 2022-01-24 15:50:25 -08:00
Dillon Kearns
83945541d7 Add fauna todo list GraphQL schema. 2022-01-24 15:38:14 -08:00
Dillon Kearns
c207626a14 Install elm-graphql. 2022-01-24 15:37:53 -08:00
Dillon Kearns
b0cab3cc7d Use cookie session for logout route. 2022-01-23 13:42:50 -08:00
Dillon Kearns
1becbff897 Wire through errors with session checksums. 2022-01-23 13:35:04 -08:00
Dillon Kearns
7d1f675a90 Add some session helpers. 2022-01-23 13:01:04 -08:00
Dillon Kearns
aff8b1f850 Update Session API to pass through existing Session. 2022-01-23 10:43:06 -08:00
Dillon Kearns
d0bfc03d16 Return Nothing if there is no session. 2022-01-22 17:56:20 -08:00
Dillon Kearns
9bcba71c3a Extract session helper. 2022-01-22 14:40:04 -08:00
Dillon Kearns
d7eca2ee4b Use String instead of Json.Decode.Value for session values. Add flash helpers. 2022-01-22 13:47:51 -08:00
Dillon Kearns
05457709ae Update session decoders in example. 2022-01-21 11:13:36 -08:00
Dillon Kearns
69feca1c42 Add distillBytes with some lamdera wire encoder/decoders. 2022-01-21 09:31:18 -08:00
Dillon Kearns
e29c4204a5 Use withSession helper for managing login. 2022-01-20 21:34:33 -08:00
Dillon Kearns
aa4086837f Change argument type for withSession to remove extra wrapper layer. 2022-01-20 20:01:07 -08:00
Dillon Kearns
c900b8662b Extract function. 2022-01-20 19:52:18 -08:00
Dillon Kearns
9b1f486a1b Don't use secret in example for now. 2022-01-20 19:24:55 -08:00
Dillon Kearns
a353a79e49 Use newer node version. 2022-01-20 19:20:15 -08:00
Dillon Kearns
08e635cbeb Try all secrets in list for decoding signed cookies. 2022-01-20 19:09:37 -08:00
Dillon Kearns
b7185adc39 Add example page. 2022-01-20 18:01:07 -08:00
Dillon Kearns
30ab850c90 Add prototype for withSession helper. 2022-01-20 18:00:38 -08:00
Dillon Kearns
d062546d0c Add withSetCookieHeader. 2022-01-18 18:45:03 -08:00
Dillon Kearns
d44da4ee85 Remove example. 2022-01-18 18:44:54 -08:00
Dillon Kearns
51aea3b539 Simplify Server.Response API by combining render repsonses and server responses into the same API. 2022-01-17 20:56:37 -08:00
Dillon Kearns
03dd16a86f Wire through custom headers and status codes for RenderPage server responses. 2022-01-17 16:56:40 -08:00
Dillon Kearns
c27377c8f7 Use dynamic route segments with different names by appending index. 2022-01-17 11:46:40 -08:00
Dillon Kearns
22b3b54799 Use phantom types to reduce the number of cominations of functions for setting values with different types. 2022-01-16 15:29:06 -08:00
Dillon Kearns
a769a3e569 Fix tests. 2022-01-15 19:29:30 -08:00
Dillon Kearns
5b06fe51a4 Replace requiredRadio with radio that can apply required option. 2022-01-15 18:44:06 -08:00
Dillon Kearns
69e8fc92f4 Use phantom builder for required checks. 2022-01-15 18:28:47 -08:00
Dillon Kearns
00c62a9e96 Include form-level errors in server-rendered response. 2022-01-15 15:02:32 -08:00
Dillon Kearns
6b7c4586c9 Run field-level errors and form-level errors independently to avoid duplicates but get them in real-time. 2022-01-15 09:06:19 -08:00
Dillon Kearns
9c922c8f40 Run field-level validations on field change. Preparing for change to store dependent validation results separately so they can be updated independently. 2022-01-14 15:28:17 -08:00
Dillon Kearns
ff79f79d8f Make field required. 2022-01-14 15:25:42 -08:00
Dillon Kearns
84e7d9d157 Use user-defined errors instead of a set list of validation errors. 2022-01-14 08:46:35 -08:00
Dillon Kearns
1ac1c9d73e Abstract helper for submitHandlers. 2022-01-13 17:17:52 -08:00
Dillon Kearns
b8e7a47e34 Give multiple errors for non-fatal validation errors. 2022-01-13 14:18:53 -08:00
Dillon Kearns
90d6bc821d Add ability to do dependent validations looking at entire form value. 2022-01-13 09:06:58 -08:00
Dillon Kearns
fe7b1c5209 Add input type to form style. 2022-01-12 17:07:21 -08:00
Dillon Kearns
92098ac972 Set field state on blur, focus, and input. 2022-01-11 09:00:58 -08:00
Dillon Kearns
c2b53e513a Scroll to top on success, and change debug info styling. 2022-01-10 19:34:26 -08:00
Dillon Kearns
9438e50add Handle required fields for checkboxes. 2022-01-10 19:01:47 -08:00
Dillon Kearns
95eff70f02 Run validations on init. Make Int and Float ranges. 2022-01-10 18:35:46 -08:00
Dillon Kearns
1e72283296 Don't submit form when there are validation errors. Include submitStatus for renderers. 2022-01-10 16:33:29 -08:00
Dillon Kearns
647a18cf28 Show errors for radio inputs, and add required radio builder. 2022-01-10 12:38:49 -08:00
Dillon Kearns
e8a8de56f6 Handle required vs. optional dates. 2022-01-10 12:25:35 -08:00
Dillon Kearns
34df6c16c3 Use custom type for form errors. 2022-01-10 12:02:56 -08:00
Dillon Kearns
b82aa41416 Handle elm/http submit from Form API. 2022-01-10 11:38:25 -08:00
Dillon Kearns
9be4926d34 Use record for Form model in preparation for adding more state. 2022-01-10 10:34:20 -08:00
Dillon Kearns
80171b84f8 Set default values in form dict on init. 2022-01-10 10:14:02 -08:00
Dillon Kearns
fd905da1da Add function to submit form with elm/http request. 2022-01-07 15:08:43 -08:00
Dillon Kearns
b6e45b7a14 Disable submit button when there are form errors. 2022-01-06 11:42:49 -08:00
Dillon Kearns
3522ed2b66 Apply capitalized validation to first and last names. 2022-01-06 11:01:53 -08:00
Dillon Kearns
6102412523 Apply input styling to email fields. 2022-01-06 11:01:38 -08:00
Dillon Kearns
edd678e403 Show client-validation errors coming back from server. 2022-01-06 09:48:06 -08:00
Dillon Kearns
e042393830 Add function to include client-side validation. 2022-01-06 09:44:46 -08:00
Dillon Kearns
e22d688920 Wire up Err for client-side validations. 2022-01-06 08:25:14 -08:00
Dillon Kearns
b855a20794 Update model state through FormMsg's. 2022-01-05 16:11:15 -08:00
Dillon Kearns
8887bbf97d Change Msg type, and wire up FormMsg. 2022-01-05 15:12:58 -08:00
Dillon Kearns
08138e7a26 Use () instead of Never for Msg's in stateless pages. That way, you can map Msg's (unlike never). 2022-01-05 14:09:37 -08:00
Dillon Kearns
ed814e54ee Replace min/max record fields with properties under the hood. 2022-01-05 11:48:33 -08:00
Dillon Kearns
a6508282d7 Add rating range field. 2022-01-05 11:40:35 -08:00
Dillon Kearns
1dd04db688 Delete commented reference code. 2022-01-05 11:36:16 -08:00
Dillon Kearns
7fe9168d10 Rename function. 2022-01-05 11:23:39 -08:00
Dillon Kearns
ae854e5742 Replace requiredText with more general required function. 2022-01-05 11:23:08 -08:00
Dillon Kearns
a018c48f5a Rename function. 2022-01-05 11:21:43 -08:00
Dillon Kearns
0f70795908 Add number input, required, and tel, url, email. 2022-01-05 09:27:18 -08:00
Dillon Kearns
2f4785d098 Delete commented code. 2022-01-05 08:08:55 -08:00
Dillon Kearns
d653c1ea49 Use enum mapping for radio. 2022-01-04 18:14:29 -08:00
Dillon Kearns
802d9ac538 Add radio button. 2022-01-04 17:55:37 -08:00
Dillon Kearns
af9ba5d099 Add push notifications section. 2022-01-04 16:20:44 -08:00
Dillon Kearns
0914f91bc7 Add checkbox input to tailwind form example. 2022-01-04 15:28:16 -08:00
Dillon Kearns
4d7203ad40 Add argument for default checked state on checkbox, and preserve checkbox state when repopulating form data. 2022-01-04 12:01:11 -08:00
Dillon Kearns
77778dcdf5 Add checkbox fields. 2022-01-04 11:47:57 -08:00
Dillon Kearns
d8ec3d735b Decode inputs into types. 2022-01-03 21:17:07 -08:00
Dillon Kearns
4a5d0814a9 Update form styling. 2022-01-03 19:26:41 -08:00
Dillon Kearns
1fde8588b0 Extract functions. 2022-01-03 14:26:04 -08:00
Dillon Kearns
1ae8d6096a Delete unused. 2022-01-03 14:12:53 -08:00
Dillon Kearns
0bfdc655ab Add wrap functions so sections of forms can be wrapped with views. 2022-01-03 14:07:36 -08:00
Dillon Kearns
98040342f7 Build tailwind modules in netlify. 2022-01-03 12:15:26 -08:00
Dillon Kearns
9968d796fb Add section heading. 2022-01-03 11:55:45 -08:00
Dillon Kearns
f2023a1b40 Update tailwind form example. 2022-01-03 11:14:39 -08:00
Dillon Kearns
0075c7eae8 Update tailwind setup and copy over raw form for reference. 2022-01-03 10:47:12 -08:00
Dillon Kearns
dda2f89cce Use plain HTML for vanilla form page. 2022-01-03 10:07:06 -08:00
Dillon Kearns
07bd8902d6 Make view type extensible, and add tailwind form example. 2022-01-03 10:04:42 -08:00
Dillon Kearns
5ab5881fc8 Update form API to include errors. 2022-01-03 08:43:00 -08:00
Dillon Kearns
580f845ded Make form views customizable. 2022-01-03 07:40:45 -08:00
Dillon Kearns
4ba0e99612 Preserve original values when there are validation errors. 2022-01-02 10:23:36 -08:00
Dillon Kearns
558cb98ff9 Add form server validations prototype. 2022-01-02 09:52:04 -08:00
Dillon Kearns
1165b73b61 Update form example. 2022-01-01 20:55:52 -08:00
Dillon Kearns
e4b1ba1b39 Update default user. 2022-01-01 18:35:36 -08:00
Dillon Kearns
8e2bdc68ed Add form API experiment. 2022-01-01 12:50:03 -08:00
Dillon Kearns
7b743cf72d Rename module. 2021-12-31 16:15:41 -08:00
Dillon Kearns
86142cb6d8 Remove obsolete server request code from initial prototype. 2021-12-31 11:52:37 -08:00
Dillon Kearns
78ee8d0117 Fix jsonError api route. 2021-12-31 11:17:12 -08:00
Dillon Kearns
3aae8c1adf Remove Handler type in favor of a type variable for ServerRequest type. 2021-12-31 11:14:23 -08:00
Dillon Kearns
bfbb5866f2 Capture multiple matching errors for server requests. 2021-12-30 19:55:45 -08:00
Dillon Kearns
68a4fc42c4 Add ServerRequest tests and remove obsolete expectFormField in favor of expectFormPost. 2021-12-30 11:43:10 -08:00
Dillon Kearns
8851ab402d Try reading relative to root of repo for netlify function. 2021-12-30 09:45:27 -08:00
Dillon Kearns
e9926979d3 Change included_files syntax. 2021-12-30 09:40:42 -08:00
Dillon Kearns
972c0ea9ce Move secret file to content/ folder. 2021-12-30 09:38:03 -08:00
Dillon Kearns
9e9eb26a02 Try different lamda file read root. 2021-12-30 09:31:24 -08:00
Dillon Kearns
d0d205bee4 Try new filename resolution for netlify function. 2021-12-30 09:27:20 -08:00
Dillon Kearns
2a90dc9d51 Try adding path.resolve for netlify file paths. 2021-12-29 21:57:35 -08:00
Dillon Kearns
cd86a91fe5 Try different included files syntax. 2021-12-29 21:52:09 -08:00
Dillon Kearns
5e10f199d2 Force build. 2021-12-29 21:47:40 -08:00
Dillon Kearns
9691832aa5 Try include files setup for serverless function file reads. 2021-12-29 21:43:40 -08:00
Dillon Kearns
a53dfb406e Remove local config from netlify config. 2021-12-29 21:42:42 -08:00
Dillon Kearns
8d26233d28 Force build. 2021-12-29 21:35:25 -08:00
Dillon Kearns
0ae28f004c Copy secret-note to server-render functions folder so it's available from serverless. 2021-12-29 21:22:56 -08:00
Dillon Kearns
5904902c47 Try adding secret-note file in functions folder. 2021-12-29 21:18:31 -08:00
Dillon Kearns
7b62788240 Force build. 2021-12-29 17:47:22 -08:00
Dillon Kearns
d13a397507 Use in-memory fs or real fs for http cache depending on whether context is serverless. 2021-12-29 17:18:37 -08:00
Dillon Kearns
7b85ef3a0b Add file upload page. 2021-12-29 15:57:04 -08:00
Dillon Kearns
f12b11ddb0 Check for base64 encoding in netlify adapter. 2021-12-29 14:25:46 -08:00
Dillon Kearns
4444ef6fc0 Update render result types and adapter script. 2021-12-29 13:58:21 -08:00
Dillon Kearns
243d4d9f0c Update adapter script and add some logging. 2021-12-29 13:37:47 -08:00
Dillon Kearns
f2ee856534 Add logs in adapter. 2021-12-29 13:28:20 -08:00
Dillon Kearns
13dca344c9 Fix adapter typo. 2021-12-29 13:28:14 -08:00
Dillon Kearns
c7ce19d14b Add missing await. 2021-12-29 13:21:49 -08:00
Dillon Kearns
ae690e4a58 Fix adapter script. 2021-12-29 13:19:08 -08:00
Dillon Kearns
0c8e4cc9d2 Delete incorrectly copy-pasted code from adapter script. 2021-12-29 13:15:13 -08:00
Dillon Kearns
2612159cde Recreate package-lock and remove obsolete npm i step in netlify. 2021-12-29 13:10:26 -08:00
Dillon Kearns
1f313d0cb8 Update package.json deps for netlify function (couldn't find cookie). 2021-12-29 13:07:55 -08:00
Dillon Kearns
b2c1a31c68 Handle multipart forms in dev server and adapter script. 2021-12-29 13:02:45 -08:00
Dillon Kearns
6534b10534 Add API for form posts, clean up Server.Request API and docs. 2021-12-29 07:58:40 -08:00
Dillon Kearns
bf98a76aed Add missing function in adapter. 2021-12-28 15:38:07 -08:00
Dillon Kearns
e4e20646c5 Fix cookie import. 2021-12-28 15:35:56 -08:00
Dillon Kearns
207518d6b8 Add cookie npm package to functions. 2021-12-28 12:03:41 -08:00
Dillon Kearns
b59bdf16c9 Install cookie dependency in pokedex project so it's available in netlify function. 2021-12-28 11:56:18 -08:00
Dillon Kearns
0ac78944ce Update adapter. 2021-12-28 11:53:43 -08:00
Dillon Kearns
572f6f2336 Add greet api function. 2021-12-28 11:53:33 -08:00
Dillon Kearns
5136dd50a6 Use Server.Request for ApiRoutes. 2021-12-28 08:32:25 -08:00
Dillon Kearns
d30dda3684 Add netlify every color example routes. 2021-12-27 14:22:59 -08:00
Dillon Kearns
10bbeb491d Use more declarative interface for Server Requests. 2021-12-26 21:56:33 -08:00
Dillon Kearns
99b35546cf Add starting point for SetCookie API. 2021-12-23 19:25:51 -08:00
Dillon Kearns
6dddcf96d0 Update ApiRoute naming for consistency with Page.elm. 2021-12-23 15:01:38 -08:00
Dillon Kearns
165ec1a200 Fix typo. 2021-12-23 13:47:25 -08:00
Dillon Kearns
6f82aa59f8 Add ServerRequest.withRequestTime, and make body nullable. 2021-12-23 13:34:54 -08:00
Dillon Kearns
4fedf9ee19 Rename prerender -> preRender. 2021-12-23 13:34:19 -08:00
Dillon Kearns
afb81f7224 Replace handleFallback with PageServerResponse for prerenderWithFallback. 2021-12-23 11:14:46 -08:00
Dillon Kearns
362477d6a0 Use new netlify URL to access latest builders (see https://www.netlify.com/blog/2021/10/25/faster-more-reliable-page-loads-with-update-to-on-demand-builders/). 2021-12-23 10:53:43 -08:00
Dillon Kearns
42f38cbe39 Use new ServerRequest helpers in login page. 2021-12-22 21:29:57 -08:00
Dillon Kearns
a8f801d2ca Add logout button on greet page. 2021-12-22 21:29:26 -08:00
Dillon Kearns
146240c3dd Add logout endpoint. 2021-12-22 21:29:10 -08:00
Dillon Kearns
eae2fb2065 Add greet page and login page. 2021-12-22 15:28:51 -08:00
Dillon Kearns
71d3688dfb Use temporary redirect in example redirect route. 2021-12-22 15:28:39 -08:00
Dillon Kearns
f43e57e265 Add withBody. 2021-12-22 15:28:19 -08:00
Dillon Kearns
6df0ce9987 Add cookie parser. 2021-12-22 14:42:35 -08:00
Dillon Kearns
c43d7f474b Wire through key for accessing DataSource.ServerRequest. 2021-12-22 11:29:16 -08:00
Dillon Kearns
42126f0d4a Send multiValueHeaders in netlify adapter. 2021-12-21 17:33:41 -08:00
Dillon Kearns
7c3de6c149 Remove hardcoded query params in adapter. 2021-12-21 16:11:51 -08:00
Dillon Kearns
f6c13c0404 Handle API responses from serverless Page Modules. 2021-12-21 12:01:08 -08:00
Dillon Kearns
0d3b918048 Turn on invalid netlify route error handling, and handle errors with correct process.exit handling instead of unhandled exception. 2021-12-21 10:01:42 -08:00
Dillon Kearns
796f5d809f Include isBase64Encoded option in ServerResponse. 2021-12-21 09:45:25 -08:00
Dillon Kearns
3703916aaa Add ApiRoute.prerenderWithFallback. 2021-12-21 09:08:17 -08:00
Dillon Kearns
7f2d47c6de Add serverless ApiRoute builder and some examples in pokedex app. 2021-12-21 07:47:47 -08:00
Dillon Kearns
bc6a055e7b Gitignore folders generated from adapter. 2021-12-21 07:32:16 -08:00
Dillon Kearns
7acd5355dd Add example with server request daata source. 2021-12-20 15:47:56 -08:00
Dillon Kearns
b858556167 Update index page with links and SEO data. 2021-12-20 15:02:12 -08:00
Dillon Kearns
843ca0bacd Wire through headers, statusCode, and body from ServerResponse. Add redirect example. 2021-12-20 14:45:18 -08:00
Dillon Kearns
84096ec8dc Update adapter script to handle api-response's, but with some hardcoding for now. 2021-12-20 13:55:24 -08:00
Dillon Kearns
c79d76f473 Include kind in API routes to tell the rendering mode. Generate redirects for serverless API routes. 2021-12-20 13:35:34 -08:00
Dillon Kearns
b00882a53b Do cached build with npm run build. 2021-12-20 13:33:53 -08:00
Dillon Kearns
7eaa94a9e4 Include Pattern information for ApiRoutes. 2021-12-20 11:26:12 -08:00
Dillon Kearns
fe4f1f4d65 Use ensureDir in adapter script to prevent errors for existing dir. 2021-12-18 11:23:12 -08:00
Dillon Kearns
06ace7822e Update elm-verify-examples package. 2021-12-18 11:22:55 -08:00
Dillon Kearns
78ed00637f Fix typo. 2021-12-17 11:18:22 -08:00