refactor: replace aeson ToJSON/FromJSON with json-fleece schemas

- RecipeSearchEntry: replace genericToJSON ToJSON with Fleece schema
  using object combinators (required, optionalNullable, list text)
- SchemaOrgRecipe: replace manual FromJSON instance with Fleece decoder
  that reuses existing helper functions for quirky fields
- Html.hs: use Fleece.Aeson.Encoder.encode instead of Data.Aeson.encode
- stack.yaml: add shrubbery + json-fleece extra-deps
- package.yaml: add json-fleece-aeson + json-fleece-core deps
- Remove unused LANGUAGE pragmas and redundant brackets
This commit is contained in:
2026-05-19 23:24:24 -04:00
parent baa3c2434f
commit 8f8dbecea5
7 changed files with 152 additions and 42 deletions
+2
View File
@@ -29,6 +29,8 @@ ghc-options:
dependencies:
- base >= 4.7 && < 5
- aeson
- json-fleece-aeson
- json-fleece-core
- blaze-html
- blaze-markup
- bytestring