From 21d9fbce451ddfb70b7e347b6192a1b12a62c028 Mon Sep 17 00:00:00 2001 From: Ethan Mick Date: Sat, 2 Oct 2021 21:44:05 -0400 Subject: [PATCH] Monorepo --- .prettierignore | 6 +- README.md | 2 +- db/index.sql | 319 - db/seed.sql | 35 - lerna.json | 4 + package.json | 27 +- packages/parser/.bin/add-site | 31 + packages/parser/.gitignore | 94 + packages/parser/README.md | 106 + packages/parser/package.json | 25 + packages/parser/parsers/cookieandkate.com.js | 60 + .../parser/parsers/cookieandkate.com.test.js | 71 + .../parser/parsers/cooking.nytimes.com.js | 16 + .../parsers/cooking.nytimes.com.test.js | 102 + packages/parser/parsers/fitfoodiefinds.com.js | 52 + .../parser/parsers/fitfoodiefinds.com.test.js | 89 + packages/parser/parsers/index.js | 24 + packages/parser/parsers/ivu.org.js | 104 + packages/parser/parsers/ivu.org.test.js | 40 + .../parser/parsers/www.allrecipes.com.json | 3 + .../parser/parsers/www.allrecipes.com.test.js | 37 + .../parser/parsers/www.bbcgoodfood.com.js | 19 + .../parsers/www.bbcgoodfood.com.test.js | 44 + packages/parser/parsers/www.blueapron.com.js | 101 + .../parser/parsers/www.blueapron.com.test.js | 155 + packages/parser/parsers/www.bonappetit.com.js | 5 + .../parser/parsers/www.bonappetit.com.test.js | 53 + .../parser/parsers/www.cookinglight.com.js | 24 + .../parsers/www.cookinglight.com.test.js | 52 + .../parsers/www.deliciousmagazine.co.uk.json | 4 + .../www.deliciousmagazine.co.uk.test.js | 47 + .../parser/parsers/www.foodnetwork.com.js | 30 + .../parsers/www.foodnetwork.com.test.js | 66 + packages/parser/parsers/www.giverecipe.com.js | 23 + .../parser/parsers/www.giverecipe.com.test.js | 60 + packages/parser/parsers/www.myrecipes.com.js | 41 + .../parser/parsers/www.myrecipes.com.test.js | 76 + .../parser/parsers/www.popsugar.com.test.js | 89 + packages/parser/parsers/www.popsugar.com.ts | 41 + .../parser/parsers/www.seriouseats.com.js | 51 + .../parsers/www.seriouseats.com.test.js | 101 + packages/parser/parsers/www.vegukate.com.js | 28 + .../parser/parsers/www.vegukate.com.test.js | 50 + packages/parser/src/default.js | 58 + packages/parser/src/default.test.js | 1815 +++ packages/parser/src/duration.js | 54 + packages/parser/src/duration.test.js | 14 + packages/parser/src/errors.js | 12 + packages/parser/src/errors.test.js | 10 + packages/parser/src/html.js | 320 + packages/parser/src/index.ts | 7 + packages/parser/src/parse.js | 35 + packages/parser/src/parser.ts | 57 + packages/parser/src/util.js | 7 + .../roasted-cauliflower-soup.html | 121 + .../gluten-free-almond-cake-recipe.html | 1033 ++ ...chini-rice-with-tomato-jalapeno-salsa.html | 1865 +++ ...s-with-caramelized-onion-carrot-fries.html | 1843 +++ ...ucchini-with-carrots-currants-freekeh.html | 1968 +++ .../ExtraVegetableFriedRice.html | 8088 ++++++++++ ...8-baked-orzo-with-artichokes-and-peas.html | 1893 +++ ...-one-pot-pasta-with-ricotta-and-lemon.html | 1873 +++ .../ingredient-peanut-butter-cookies.html | 28 + .../fitfoodiefinds.com/sw-bb-cc-salad.html | 121 + .../fitfoodiefinds.com/sw-bb-cc-salad2.html | 104 + packages/parser/test/index.js | 16 + .../parser/test/ivu.org/sauteed-peppers.html | 186 + .../paleo-banana-bread.html | 365 + ...easy-sweet-potato-veggie-burgers-with.html | 1481 ++ .../kitchen.benburwell.com/palak-paneer.html | 289 + ...n-feta-spinach-pizza-with-white-sauce.html | 933 ++ .../best-paleo-brownie-recipe.html | 5655 +++++++ .../flourless-banana-pancakes.html | 286 + .../cauliflower-buffalo-bites.html | 170 + .../cauliflower-breadsticks.html | 1912 +++ .../the-easiest-3-ingredient-fudge-bites.html | 1968 +++ .../pumpkin-chocolate-dream-brownies.html | 411 + .../fudgy-paleo-brownies.html | 642 + .../garlic-roasted-chicken-and-potatoes.html | 2901 ++++ .../simple-macaroni-and-cheese.html | 2957 ++++ ...olate-chip-coconut-flour-pumpkin-bars.html | 2347 +++ .../golden-turmeric-chicken-soup.html | 1866 +++ .../www.bbcgoodfood.com/VegetarianChilli.html | 388 + .../slow-cooker-butter-chicken.html | 82 + .../test/www.bonappetit.com/carrots.html | 2812 ++++ ...-basil-and-parmesan-orzo-with-chicken.html | 826 + .../beef-broccoli-stuffed-sweet-potatoes.html | 2370 +++ .../tofu-with-caramel-and-sichuan-pepper.html | 933 ++ .../death-by-chocolate-blender-brownies.html | 7057 +++++++++ ...liflower-and-chickpeas-recipe-2107641.html | 12981 ++++++++++++++++ .../test/www.giverecipe.com/hummus.html | 1843 +++ ...astedRedPepperHummusVeggieWrapsRecipe.html | 3092 ++++ ...chocolate-coconut-macaroon-cake-paleo.html | 1358 ++ .../Vegan-Gluten-Free-Pumpkin-Cookies.html | 2664 ++++ .../r/recipes/gracies_atomic_salad.json | 1 + .../pasta_with_chicken_in_cream_sauce.json | 1 + .../detroit-style-pizza-recipe.html | 5443 +++++++ ...e-chicken-and-rice-white-sauce-recipe.html | 5609 +++++++ .../no-bake-protein-balls.html | 1534 ++ .../paleo-banana-bread.html | 2085 +++ .../creamy-vegan-pumpkin-soup.html | 1113 ++ packages/parser/tsconfig.json | 20 + .babelrc => packages/platezero/.babelrc | 0 .../platezero/.env.development | 0 .../platezero/.eslintrc.json | 0 packages/platezero/README.md | 0 .../platezero/components}/container.tsx | 0 .../platezero/components}/header.tsx | 0 .../platezero/components}/index.ts | 0 .../platezero/components}/input.tsx | 0 {db => packages/platezero/db}/Dockerfile | 0 {hooks => packages/platezero/hooks}/index.ts | 0 .../platezero/hooks}/use-params.ts | 0 .../platezero/jest.config.js | 0 .../platezero/next-env.d.ts | 0 packages/platezero/package.json | 43 + .../pages}/[username]/[slug]/edit.tsx | 0 .../pages}/[username]/[slug]/index.tsx | 0 .../platezero/pages}/[username]/index.tsx | 0 {pages => packages/platezero/pages}/_app.tsx | 0 .../pages}/api/recipe/import.test.ts | 0 .../platezero/pages}/api/recipe/import.tsx | 0 {pages => packages/platezero/pages}/index.tsx | 0 {pages => packages/platezero/pages}/login.tsx | 0 .../platezero/pages}/new/import.tsx | 0 .../platezero/pages}/new/index.tsx | 0 .../platezero/pages}/register.tsx | 0 .../platezero/postcss.config.js | 0 .../platezero/public}/favicon-16x16.png | Bin .../platezero/public}/favicon-32x32.png | Bin .../platezero/public}/favicon-96x96.png | Bin .../platezero/public}/favicon.ico | Bin .../platezero/public}/logo-reverse.png | Bin .../platezero/public}/logo-reverse.svg | 0 .../platezero/queries}/CreateRecipe.ts | 0 .../platezero/queries}/EditRecipeQuery.ts | 0 .../platezero/queries}/ImportRecipe.ts | 0 .../platezero/queries}/Login.ts | 0 .../platezero/queries}/RecipeQuery.ts | 0 .../platezero/queries}/Register.ts | 0 .../platezero/queries}/UpdateRecipe.ts | 0 .../platezero/queries}/UserPageQuery.ts | 0 .../platezero/queries}/client.ts | 0 .../platezero/queries}/globalTypes.ts | 0 .../platezero/queries}/index.ts | 0 .../platezero/queries}/scalars.d.ts | 0 .../platezero/styles}/globals.css | 0 .../platezero/tailwind.config.js | 0 packages/platezero/tsconfig.json | 20 + yarn.lock | 5152 +++++- 150 files changed, 104964 insertions(+), 581 deletions(-) mode change 100644 => 120000 README.md delete mode 100644 db/index.sql delete mode 100644 db/seed.sql create mode 100644 lerna.json create mode 100755 packages/parser/.bin/add-site create mode 100644 packages/parser/.gitignore create mode 100644 packages/parser/README.md create mode 100644 packages/parser/package.json create mode 100644 packages/parser/parsers/cookieandkate.com.js create mode 100644 packages/parser/parsers/cookieandkate.com.test.js create mode 100644 packages/parser/parsers/cooking.nytimes.com.js create mode 100644 packages/parser/parsers/cooking.nytimes.com.test.js create mode 100644 packages/parser/parsers/fitfoodiefinds.com.js create mode 100644 packages/parser/parsers/fitfoodiefinds.com.test.js create mode 100644 packages/parser/parsers/index.js create mode 100644 packages/parser/parsers/ivu.org.js create mode 100644 packages/parser/parsers/ivu.org.test.js create mode 100644 packages/parser/parsers/www.allrecipes.com.json create mode 100644 packages/parser/parsers/www.allrecipes.com.test.js create mode 100644 packages/parser/parsers/www.bbcgoodfood.com.js create mode 100644 packages/parser/parsers/www.bbcgoodfood.com.test.js create mode 100644 packages/parser/parsers/www.blueapron.com.js create mode 100644 packages/parser/parsers/www.blueapron.com.test.js create mode 100644 packages/parser/parsers/www.bonappetit.com.js create mode 100644 packages/parser/parsers/www.bonappetit.com.test.js create mode 100644 packages/parser/parsers/www.cookinglight.com.js create mode 100644 packages/parser/parsers/www.cookinglight.com.test.js create mode 100644 packages/parser/parsers/www.deliciousmagazine.co.uk.json create mode 100644 packages/parser/parsers/www.deliciousmagazine.co.uk.test.js create mode 100644 packages/parser/parsers/www.foodnetwork.com.js create mode 100644 packages/parser/parsers/www.foodnetwork.com.test.js create mode 100644 packages/parser/parsers/www.giverecipe.com.js create mode 100644 packages/parser/parsers/www.giverecipe.com.test.js create mode 100644 packages/parser/parsers/www.myrecipes.com.js create mode 100644 packages/parser/parsers/www.myrecipes.com.test.js create mode 100644 packages/parser/parsers/www.popsugar.com.test.js create mode 100644 packages/parser/parsers/www.popsugar.com.ts create mode 100644 packages/parser/parsers/www.seriouseats.com.js create mode 100644 packages/parser/parsers/www.seriouseats.com.test.js create mode 100644 packages/parser/parsers/www.vegukate.com.js create mode 100644 packages/parser/parsers/www.vegukate.com.test.js create mode 100644 packages/parser/src/default.js create mode 100644 packages/parser/src/default.test.js create mode 100644 packages/parser/src/duration.js create mode 100644 packages/parser/src/duration.test.js create mode 100644 packages/parser/src/errors.js create mode 100644 packages/parser/src/errors.test.js create mode 100644 packages/parser/src/html.js create mode 100644 packages/parser/src/index.ts create mode 100644 packages/parser/src/parse.js create mode 100644 packages/parser/src/parser.ts create mode 100644 packages/parser/src/util.js create mode 100644 packages/parser/test/avocadopesto.com/roasted-cauliflower-soup.html create mode 100644 packages/parser/test/blog.nuts.com/gluten-free-almond-cake-recipe.html create mode 100644 packages/parser/test/blueapron/mexican-spiced-chicken-zucchini-rice-with-tomato-jalapeno-salsa.html create mode 100644 packages/parser/test/blueapron/smoked-gouda-burgers-with-caramelized-onion-carrot-fries.html create mode 100644 packages/parser/test/blueapron/stuffed-zucchini-with-carrots-currants-freekeh.html create mode 100644 packages/parser/test/cookieandkate.com/ExtraVegetableFriedRice.html create mode 100644 packages/parser/test/cooking.nytimes.com/1014688-baked-orzo-with-artichokes-and-peas.html create mode 100644 packages/parser/test/cooking.nytimes.com/1020290-one-pot-pasta-with-ricotta-and-lemon.html create mode 100644 packages/parser/test/detoxinista.com/ingredient-peanut-butter-cookies.html create mode 100644 packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad.html create mode 100644 packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad2.html create mode 100644 packages/parser/test/index.js create mode 100644 packages/parser/test/ivu.org/sauteed-peppers.html create mode 100644 packages/parser/test/joyfoodsunshine.com/paleo-banana-bread.html create mode 100644 packages/parser/test/kblog.lunchboxbunch.com/easy-sweet-potato-veggie-burgers-with.html create mode 100644 packages/parser/test/kitchen.benburwell.com/palak-paneer.html create mode 100644 packages/parser/test/littlespicejar.com/caramelized-onion-feta-spinach-pizza-with-white-sauce.html create mode 100644 packages/parser/test/paleogrubs.com/best-paleo-brownie-recipe.html create mode 100644 packages/parser/test/paleoleap.com/flourless-banana-pancakes.html create mode 100644 packages/parser/test/therealfoodrds.com/cauliflower-buffalo-bites.html create mode 100644 packages/parser/test/unboundwellness.com/cauliflower-breadsticks.html create mode 100644 packages/parser/test/veggieandthebeastfeast.com/the-easiest-3-ingredient-fudge-bites.html create mode 100644 packages/parser/test/vegukate.com/pumpkin-chocolate-dream-brownies.html create mode 100644 packages/parser/test/whatmollymade.com/fudgy-paleo-brownies.html create mode 100644 packages/parser/test/www.allrecipes.com/garlic-roasted-chicken-and-potatoes.html create mode 100644 packages/parser/test/www.allrecipes.com/simple-macaroni-and-cheese.html create mode 100644 packages/parser/test/www.ambitiouskitchen.com/chocolate-chip-coconut-flour-pumpkin-bars.html create mode 100644 packages/parser/test/www.ambitiouskitchen.com/golden-turmeric-chicken-soup.html create mode 100644 packages/parser/test/www.bbcgoodfood.com/VegetarianChilli.html create mode 100644 packages/parser/test/www.becomingness.com.au/slow-cooker-butter-chicken.html create mode 100644 packages/parser/test/www.bonappetit.com/carrots.html create mode 100644 packages/parser/test/www.cookingclassy.com/sun-dried-tomato-basil-and-parmesan-orzo-with-chicken.html create mode 100644 packages/parser/test/www.cookinglight.com/beef-broccoli-stuffed-sweet-potatoes.html create mode 100644 packages/parser/test/www.deliciousmagazine.co.uk/tofu-with-caramel-and-sichuan-pepper.html create mode 100644 packages/parser/test/www.deliciousobsessions.com/death-by-chocolate-blender-brownies.html create mode 100644 packages/parser/test/www.foodnetwork.com/roasted-cauliflower-and-chickpeas-recipe-2107641.html create mode 100644 packages/parser/test/www.giverecipe.com/hummus.html create mode 100644 packages/parser/test/www.myrecipes.com/RoastedRedPepperHummusVeggieWrapsRecipe.html create mode 100644 packages/parser/test/www.paleorunningmomma.com/triple-layer-chocolate-coconut-macaroon-cake-paleo.html create mode 100644 packages/parser/test/www.popsugar.com/Vegan-Gluten-Free-Pumpkin-Cookies.html create mode 100644 packages/parser/test/www.reddit.com/r/recipes/gracies_atomic_salad.json create mode 100644 packages/parser/test/www.reddit.com/r/recipes/pasta_with_chicken_in_cream_sauce.json create mode 100644 packages/parser/test/www.seriouseats.com/detroit-style-pizza-recipe.html create mode 100644 packages/parser/test/www.seriouseats.com/serious-eats-halal-cart-style-chicken-and-rice-white-sauce-recipe.html create mode 100644 packages/parser/test/www.wellplated.com/no-bake-protein-balls.html create mode 100644 packages/parser/test/www.wellplated.com/paleo-banana-bread.html create mode 100644 packages/parser/test/www.wholelivinglauren.com/creamy-vegan-pumpkin-soup.html create mode 100644 packages/parser/tsconfig.json rename .babelrc => packages/platezero/.babelrc (100%) rename .env.development => packages/platezero/.env.development (100%) rename .eslintrc.json => packages/platezero/.eslintrc.json (100%) create mode 100644 packages/platezero/README.md rename {components => packages/platezero/components}/container.tsx (100%) rename {components => packages/platezero/components}/header.tsx (100%) rename {components => packages/platezero/components}/index.ts (100%) rename {components => packages/platezero/components}/input.tsx (100%) rename {db => packages/platezero/db}/Dockerfile (100%) rename {hooks => packages/platezero/hooks}/index.ts (100%) rename {hooks => packages/platezero/hooks}/use-params.ts (100%) rename jest.config.js => packages/platezero/jest.config.js (100%) rename next-env.d.ts => packages/platezero/next-env.d.ts (100%) create mode 100644 packages/platezero/package.json rename {pages => packages/platezero/pages}/[username]/[slug]/edit.tsx (100%) rename {pages => packages/platezero/pages}/[username]/[slug]/index.tsx (100%) rename {pages => packages/platezero/pages}/[username]/index.tsx (100%) rename {pages => packages/platezero/pages}/_app.tsx (100%) rename {pages => packages/platezero/pages}/api/recipe/import.test.ts (100%) rename {pages => packages/platezero/pages}/api/recipe/import.tsx (100%) rename {pages => packages/platezero/pages}/index.tsx (100%) rename {pages => packages/platezero/pages}/login.tsx (100%) rename {pages => packages/platezero/pages}/new/import.tsx (100%) rename {pages => packages/platezero/pages}/new/index.tsx (100%) rename {pages => packages/platezero/pages}/register.tsx (100%) rename postcss.config.js => packages/platezero/postcss.config.js (100%) rename {public => packages/platezero/public}/favicon-16x16.png (100%) rename {public => packages/platezero/public}/favicon-32x32.png (100%) rename {public => packages/platezero/public}/favicon-96x96.png (100%) rename {public => packages/platezero/public}/favicon.ico (100%) rename {public => packages/platezero/public}/logo-reverse.png (100%) rename {public => packages/platezero/public}/logo-reverse.svg (100%) rename {queries => packages/platezero/queries}/CreateRecipe.ts (100%) rename {queries => packages/platezero/queries}/EditRecipeQuery.ts (100%) rename {queries => packages/platezero/queries}/ImportRecipe.ts (100%) rename {queries => packages/platezero/queries}/Login.ts (100%) rename {queries => packages/platezero/queries}/RecipeQuery.ts (100%) rename {queries => packages/platezero/queries}/Register.ts (100%) rename {queries => packages/platezero/queries}/UpdateRecipe.ts (100%) rename {queries => packages/platezero/queries}/UserPageQuery.ts (100%) rename {queries => packages/platezero/queries}/client.ts (100%) rename {queries => packages/platezero/queries}/globalTypes.ts (100%) rename {queries => packages/platezero/queries}/index.ts (100%) rename {queries => packages/platezero/queries}/scalars.d.ts (100%) rename {styles => packages/platezero/styles}/globals.css (100%) rename tailwind.config.js => packages/platezero/tailwind.config.js (100%) create mode 100644 packages/platezero/tsconfig.json diff --git a/.prettierignore b/.prettierignore index 916b1170..16fed94f 100644 --- a/.prettierignore +++ b/.prettierignore @@ -5,8 +5,12 @@ node_modules **/queries/** !queries/client.ts +packages/parser/test + +.vercel .pnp.js .yarn .yarnrc.yml coverage -public/mockServiceWorker.js \ No newline at end of file +public/mockServiceWorker.js +package-lock.json \ No newline at end of file diff --git a/README.md b/README.md deleted file mode 100644 index 746d8572..00000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# [PlateZero](https://platezero.com) diff --git a/README.md b/README.md new file mode 120000 index 00000000..8a5f1553 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +./packages/platezero/README.md \ No newline at end of file diff --git a/db/index.sql b/db/index.sql deleted file mode 100644 index d41d8d2b..00000000 --- a/db/index.sql +++ /dev/null @@ -1,319 +0,0 @@ -CREATE EXTENSION IF NOT EXISTS "pgcrypto"; - --- Create the schemas for PlateZero --- pz_public holds everything accessible to GraphQL --- pz_private holds all private data that is not accessible via GraphQL -create schema pz_public; -create schema pz_private; - --- Remove permissions on the default schema -alter default privileges revoke execute on functions from public; - --- This is not the password we use on production :) -create role pz_postgraphile login password 'password'; - --- pz_anonymous represents a user who is not logged in. They can view public --- recipes on PlateZero, but no private information. -create role pz_anonymous; -grant pz_anonymous to pz_postgraphile; - --- pz_account represents the logged in user -create role pz_account; -grant pz_account to pz_postgraphile; - - -------------------------------------------------------------------------------- - -CREATE FUNCTION pz_private.set_updated_at() RETURNS trigger AS $$ -BEGIN - new.updated_at := current_timestamp; - return new; -END; -$$ language plpgsql; - - - - - - - - -create table pz_public.user ( - id SERIAL PRIMARY KEY, - username TEXT UNIQUE NOT NULL, - name TEXT, - confirmed_at timestamp without time zone DEFAULT now(), - created_at timestamp without time zone NOT NULL DEFAULT now(), - updated_at timestamp without time zone DEFAULT now(), - deleted_at timestamp without time zone -); -CREATE UNIQUE INDEX ON pz_public.user (lower(username)); -COMMENT ON TABLE pz_public.user IS 'A user of PlateZero.'; - - -CREATE TABLE pz_private.user_account ( - user_id INTEGER PRIMARY KEY REFERENCES pz_public.user(id) ON DELETE CASCADE, - email TEXT UNIQUE CHECK (email ~* '^.+@.+$'), - password_hash TEXT NOT NULL -); - -COMMENT ON TABLE pz_private.user_account IS 'Private information about a users account.'; - - - - - --------- - --- Recipe is the heart of PlateZero -create table pz_public.recipe ( - id serial primary key, - user_id integer not null references pz_public.user(id), - slug text not null, - title text not nulL, - subtitle text, - description text, - procedure text, - ingredients text, - yield text, - duration integer, - image_url text, - source_url text, - source_author text, - source_title text, - source_isbn text, - created_at TIMESTAMP WITHOUT TIME ZONE NOT NULL DEFAULT now(), - updated_at TIMESTAMP WITHOUT TIME ZONE DEFAULT now(), - deleted_at TIMESTAMP WITHOUT TIME ZONE -); -create unique index unique_user_slug ON pz_public.recipe (user_id, slug); -COMMENT ON TABLE "pz_public"."recipe" IS E'@omit create\nA recipe.'; -COMMENT ON COLUMN pz_public.recipe.id IS 'The primary unique identifier for the recipe.'; - - - - -CREATE TRIGGER recipe_updated_at BEFORE UPDATE - on pz_public.recipe - for each row - execute procedure pz_private.set_updated_at(); - - ---- Create a recipe -create function pz_public.create_recipe( - slug text, - title text, - subtitle text, - description text, - procedure text, - ingredients text, - yield text, - duration integer, - image_url text, - source_url text, - source_author text, - source_title text, - source_isbn text -) -RETURNS pz_public.recipe -AS $$ - DECLARE - slug_count integer; - recipe pz_public.recipe; - BEGIN - select into - slug_count count(*) - from pz_public.recipe r - where - r.user_id = pz_public.current_user_id() - and ( - r.slug = create_recipe.slug - OR - r.slug ~ (create_recipe.slug || '-' || '\d+') - ); - - - insert into pz_public.recipe ( - user_id, - slug, - title, - subtitle, - description, - procedure, - ingredients, - yield, - duration, - image_url, - source_url, - source_author, - source_title, - source_isbn - ) values ( - pz_public.current_user_id(), - case when slug_count > 0 then slug || '-' || (slug_count + 1) else slug end, - title, - subtitle, - description, - procedure, - ingredients, - yield, - duration, - image_url, - source_url, - source_author, - source_title, - source_isbn - ) - returning * into recipe; - return recipe; - END; -$$ LANGUAGE plpgsql; -grant execute on function pz_public.create_recipe( - text, - text, - text, - text, - text, - text, - text, - integer, - text, - text, - text, - text, - text -) to pz_account; - - -create function pz_public.recipe_by_slug(username text, slug text) returns pz_public.recipe as $$ -declare - recipe pz_public.recipe; -begin - select r.* into recipe - from pz_public.recipe r - inner join pz_public.user u on u.id = r.user_id - where r.slug = recipe_by_slug.slug - and - u.username = recipe_by_slug.username - limit 1; - return recipe; -end; -$$ language plpgsql strict stable; -grant execute on function pz_public.recipe_by_slug(text, text) to pz_anonymous, pz_account; - - ------------- - - - -create function pz_public.register_user( - username text, - password text -) returns pz_public.user as $$ -declare - account pz_public.user; -begin - insert into pz_public.user (username) values - (username) - returning * into account; - - insert into pz_private.user_account (user_id, password_hash) values - (account.id, crypt(password, gen_salt('bf'))); - - return account; -end; -$$ language plpgsql strict security definer; - -comment on function pz_public.register_user(text, text) is 'Registers a user and creates an account in PlateZero.'; - - ------------- - -create type pz_public.jwt_token as ( - role text, - user_id integer, - exp bigint -); - - -create function pz_public.authenticate( - username text, - password text -) returns pz_public.jwt_token as $$ -declare - publicuser pz_public.user; - account pz_private.user_account; -begin - select a.* into publicuser - from pz_public.user as a - where a.username = $1; - - select a.* into account - from pz_private.user_account as a - where a.user_id = publicuser.id; - - if account.password_hash = crypt(password, account.password_hash) then - return ('pz_account', account.user_id, extract(epoch from (now() + interval '7 days')))::pz_public.jwt_token; - else - return null; - end if; -end; -$$ language plpgsql strict security definer; - -comment on function pz_public.authenticate(text, text) is 'Creates a JWT token that will securely identify a user and give them certain permissions. This token expires in 7 days.'; - - -create function pz_public.current_user() returns pz_public.user as $$ - select * - from pz_public.user - where id = nullif(current_setting('jwt.claims.user_id', true), '')::integer -$$ language sql stable; - -comment on function pz_public.current_user() is 'Gets the user who was identified by our JWT.'; - -create function pz_public.current_user_id() returns integer as $$ - BEGIN - return (nullif(current_setting('jwt.claims.user_id', true), '')::integer); - END; -$$ language plpgsql stable; -grant execute on function pz_public.current_user_id() to pz_anonymous, pz_account; - - - - --- - -grant usage on schema pz_public to pz_anonymous, pz_account; - -grant select on table pz_public.user to pz_anonymous, pz_account; -grant update, delete on table pz_public.user to pz_account; - -grant select on table pz_public.recipe to pz_anonymous, pz_account; -grant insert, update, delete on table pz_public.recipe to pz_account; -grant usage on sequence pz_public.recipe_id_seq to pz_account; - -grant execute on function pz_public.authenticate(text, text) to pz_anonymous, pz_account; -grant execute on function pz_public.current_user() to pz_anonymous, pz_account; - -grant execute on function pz_public.register_user(text, text) to pz_anonymous; - - - - -alter table pz_public.user enable row level security; -alter table pz_public.recipe enable row level security; - -create policy select_user on pz_public.user for select - using (true); - -create policy select_recipe on pz_public.recipe for select - using (true); - -create policy update_user on pz_public.user for update to pz_account - using (id = nullif(current_setting('jwt.claims.user_id', true), '')::integer); - -create policy insert_recipe on pz_public.recipe for insert to pz_account - with check (user_id = nullif(current_setting('jwt.claims.user_id', true), '')::integer); - -create policy update_recipe on pz_public.recipe for update to pz_account - using (user_id = nullif(current_setting('jwt.claims.user_id', true), '')::integer); \ No newline at end of file diff --git a/db/seed.sql b/db/seed.sql deleted file mode 100644 index ccc2d4a5..00000000 --- a/db/seed.sql +++ /dev/null @@ -1,35 +0,0 @@ -insert into pz_public.user (username, name) values ('em', 'Ethan'); -insert into pz_private.user_account (user_id, password_hash) values (1, '$2a$06$1XzUT.uNiB.lR2fsbrU1huS8INvtDD.yZOKgRTzzJlOdNypmEHgKO'); - -insert into pz_public.recipe (user_id, slug, title, description, ingredients, procedure) values -(1, -'a-nice-lasagna', -'A Nice Lasagna', -'Not only is it the simplest lasagna I’ve ever made, it’s also the lightest and most elegant.', -'Two 28-oz cans whole peeled tomatoes -3 tablespoons extra-virgin olive oil -4 garlic cloves, thinly sliced -Kosher salt -1 cup crème fraîche -FOR THE PASTA DOUGH (SEE NOTE) -2¼ cups all-purpose flour, plus more as needed -3 eggs -1 teaspoon kosher salt -FOR ASSEMBLING -1 cup finely grated Parmesan Cheese -1-1/2 cups coarsely grated whole-milk mozzarella cheese -2 large handfuls fresh basil leaves, torn into small pieces if large)', -'In a large bowl, crush the tomatoes with your hands (this is a messy but fun job—it’s a very good one for children) until they are in bite-size pieces. -In a large saucepan over medium-high heat, warm the olive oil, add the garlic, and cook, stirring, until it begins to sizzle, about 1 minute. Add the tomatoes and 1 tsp salt and bring to a boil. Lower the heat and let the sauce simmer, stirring every so often, until it is slightly reduced, about 30 minutes. -Whisk the crème fraîche into the sauce and season to taste with salt. Set the sauce aside to cool to room temperature while you conquer the pasta. -FOR THE PASTA (SEE NOTE ABOUT USING STORE-BOUGHT NOODLES) -In the bowl of a food processor, combine the flour, eggs and salt and run the machine until a firm ball of dough forms around the blade, cleans the side of the processor bowl, and doesn’t stick to your fingers when you touch it. If the dough is too dry, add a little water, 1 tsp at a time, until the dough comes together. If, on the other hand, it’s sticky when you touch it, add a little flour, 1 tsp at a time, until the dough comes together. (The exact amount of moisture in the dough depends on how you measured your flour, how large your eggs are, even the humidity in the air.) Once your dough is good to go, dust it lightly with flour and wrap it tightly in plastic wrap. Let it rest at room temperature for 1 hour. -Line a baking sheet with parchment paper and have more parchment paper at hand. -Cut the rested dough into six pieces. Working with one piece at a time (keep the rest covered with plastic), lightly dust the dough with flour and press it down with the heel of your hand. Run the dough through your pasta machine, starting on the widest setting and working your way through the narrower settings, rolling it through each setting twice, until it is very thin but not too thin. I usually stop at 6, but your machine might be different from mine, so I’ll just say that the final pasta should be the thickness of an envelope—which is to say thin, but not at all transparent. You don’t want it to disappear into the finished lasagna. If the dough sticks during the rolling, simply dust it with a little flour. Lay the rolled-out pasta on the prepared baking sheet. Repeat the process with the rest of the dough, keeping the rolled pieces separated with parchment paper. -FOR THE LASAGNA -Preheat your oven to 400°F. -Ladle a thin layer of room-temperature sauce onto the bottom of a 9-by-13-in baking dish. Spread the sauce with a spoon to cover the surface of the dish. Add a layer of pasta (brush off any excess flour), cutting the pasta and arranging it as needed to form an even single layer. Spoon over just enough tomato sauce to cover the pasta and then scatter over some of the Parmesan, mozzarella, and basil. Repeat the layering process until you’ve used up all of your components, ending with sauce and cheese (not naked pasta or basil, both of which would burn if exposed). -Bake the lasagna, uncovered, until it’s gorgeously browned and the edges are bubbling, 35 to 40 minutes. Let it rest at room temperature for 15 minutes, just like you would a steak, before slicing and serving. This lets the pasta fully absorb all of the bubbling sauce, so you don’t end up with soupy slices. -Note: Feel free to skip the homemade pasta and use 12 store-bought no-boil lasagna noodles (thats what I did and it worked beautifully). Please keep in mind that there are usually more than 12 lasagna noodles in a package. Make sure just to use 12; if not the dish will be very dry. The time given for this recipe was calculated using the store-bought noodles. If you use no-boil lasagna noodles, after youve prepared the sauce, you can move on to the next step without waiting for the sauce to cool. -Note: My only change to the recipe, other than using no-boil lasagna noodles was to sprinkle fresh basil over top before serving. -'); \ No newline at end of file diff --git a/lerna.json b/lerna.json new file mode 100644 index 00000000..f08f2573 --- /dev/null +++ b/lerna.json @@ -0,0 +1,4 @@ +{ + "packages": ["packages/*"], + "version": "0.0.0" +} diff --git a/package.json b/package.json index e69a3b99..a9e8c55c 100644 --- a/package.json +++ b/package.json @@ -1,41 +1,34 @@ { "license": "UNLICENSED", + "workspaces": [ + "packages/parser", + "packages/platezero" + ], "scripts": { + "clean": "yarn lerna clean -y && yarn lerna bootstrap", + "lerna": "lerna", "dev": "next dev", "build": "next build", "apollo:generate": "apollo codegen:generate --excludes='node_modules/*' --includes='**/*.tsx' --endpoint http://localhost:5000/graphql --target typescript --tagName gql --outputFlat queries --passthroughCustomScalars --customScalarsPrefix PZ", - "lint": "next lint", + "lint": "lerna run lint", "prettier:check": "prettier --check .", "prettier:fix": "prettier --write .", "start": "next start", "test": "jest", "ci": "yarn prettier:check && yarn lint && yarn test && yarn build" }, - "dependencies": { - "@apollo/client": "3.4.15", - "classnames": "2.3.1", - "graphql": "15.6.0", - "next": "11.1.2", - "next-cookie": "2.7.0", - "react": "17.0.2", - "react-dom": "17.0.2", - "recipe-parser": "https://github.com/plate0/recipe-parser#v0.3.2", - "slugify": "1.6.0" - }, "devDependencies": { "@types/jest": "27.0.2", "@types/node": "16.10.2", - "@types/react": "17.0.26", "apollo": "2.33.6", - "autoprefixer": "10.3.6", "babel-jest": "27.2.4", "eslint": "7.32.0", "eslint-config-next": "11.1.2", "jest": "27.2.4", - "postcss": "8.3.8", + "lerna": "^4.0.0", "prettier": "2.4.1", - "tailwindcss": "2.2.16", "typescript": "4.4.3" }, - "packageManager": "yarn@3.0.2" + "packageManager": "yarn@3.0.2", + "name": "platezero" } diff --git a/packages/parser/.bin/add-site b/packages/parser/.bin/add-site new file mode 100755 index 00000000..1bd6fb2c --- /dev/null +++ b/packages/parser/.bin/add-site @@ -0,0 +1,31 @@ +#!/usr/bin/env node + +const exit = (s) => { + console.error(s) + return process.exit(1) +} + +const { execSync } = require('child_process') +const { parse } = require('url') +const Path = require('path') +const url = process.argv[2] +const ext = process.argv[3] || 'js' + +if (!url) { + return exit('usage: ./bin/add-site https://www.example.com/recipe.html') +} + +const { href, path, hostname } = parse(url) +const { name } = Path.parse(path) + +if (!hostname) { + return exit('invalid arguement, expect full http:// url') +} + +execSync(`touch "parsers/${hostname}.${ext}"`) +execSync(`touch "parsers/${hostname}.test.js"`) +execSync(`mkdir -p "test/${hostname}"`) +execSync(`curl -s -L -o "test/${hostname}/${name}.html" '${href}'`) + + + diff --git a/packages/parser/.gitignore b/packages/parser/.gitignore new file mode 100644 index 00000000..15d0028a --- /dev/null +++ b/packages/parser/.gitignore @@ -0,0 +1,94 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# TypeScript v1 declaration files +typings/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variables file +.env +.env.test + +# parcel-bundler cache (https://parceljs.org/) +.cache + +# next.js build output +.next + +# nuxt.js build output +.nuxt + +# vuepress build output +.vuepress/dist + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Eclipe IDE files +.externalToolBuilders/ +.project +.settings/ +.tern-project diff --git a/packages/parser/README.md b/packages/parser/README.md new file mode 100644 index 00000000..01972a76 --- /dev/null +++ b/packages/parser/README.md @@ -0,0 +1,106 @@ +# Recipe Parser + +The best way to parse a recipe. + +## Install + +This module is currently not published to npm, so to add it to your +dependencies, use something like this in your `package.json` (replacing +`v1.0.0` with the git tag of the release you'd like to use): + +```json +"dependencies": { + "recipe-parser": "https://github.com/plate0/recipe-parser#v1.0.0" +} +``` + +## Usage + +The recipe parser exports a single top-level function, `parse`, which takes a +URL as an arguement and returns a `Promise` formatted in the PlateZero +format. + +```javascript +const { parse } = require('recipe-parser') + +const main = async () => { + const recipe = await parse('https://www.example.com/recipe') + console.log(recipe) +} +``` + +## Parsing + +This library contains a default parser that is used unless a more site specific +parser is available. While we aim for the default parser to be as good as +possible, sometimes sites are formatted too poorly to use it, or we want to +have even better support for very popular sites. In both cases, site specific +parsers are choosen based off of the hostname in the URL. + +### Writing a Parser + +If you want to add a parser, this library has three different methods depending +on the power you need. + +#### Easiest, Most Basic, JSON Parser + +If the website _mostly_ works, but is only missing a section or two that is +easily accessible in the DOM, a JSON file can be the entire importer. The JSON +file contains an object of which the keys are the keys in the recipe and the +values are CSS selectors to find the correct elements in the DOM. Certain keys +are automatically passed to functions to do additional parsing +(`ingredient_lists` and `procedure_lists`) + +``` +www.myrecipesite.com.json +--- + +{ + "description": "p.description", + "ingredient_lists": "div > div > div .ingredients ul li" +} +``` + +In this example, the `description` will get the text value at that selector, +and the `ingredient_lists` will take all the list elements in that selector and +parse them each as an ingredient line. + +#### Partial JavaScript Parser + +The most common parser in the library is a JavaScript parser that only +overrides the defaults where it needs to. In this case each key added to the +`exports` overrides the default for that key, with the value. If the value is +only a string, it's treated as a CSS selector and passed to the appropriate +function. + +Each function takes the Cheerio DOM element as a arguement and should return +what the recipe object expects for that key. + +```javascript +const moment = require('moment') + +exports.duration = ($) => { + return moment.duration($('#cooking-time').text()).asSeconds() +} + +exports.image_url = '#main img' +``` + +By using JavaScript, we can take advantage of any custom parsing that needs to +happen, but don't need to define the entire recipe, only those sections that +need additional help. + +#### Full Parser + +Lastly, for sites that need a lot of custom work and no defaults are suitable, +a totally custom parser can be written. These parsers export a function as +their only default export, and the parser utilities pass it through to the end +user. It is up to the author to ensure it works correctly and returns a valid +recipe. For an example, look at the Reddit parser, which takes all Reddit +domains and looks up sub-parsers based off of the subreddit to use. + +```javascript +module.exports = dom(($, ...rest) => { + // Custom Parser +}) +``` diff --git a/packages/parser/package.json b/packages/parser/package.json new file mode 100644 index 00000000..8cf53938 --- /dev/null +++ b/packages/parser/package.json @@ -0,0 +1,25 @@ +{ + "name": "@platezero/parser", + "version": "0.3.2", + "description": "Parse Recipes from HTML", + "main": "index.js", + "author": "PlateZero ", + "license": "UNLICENSED", + "scripts": { + "add-site": ".bin/add-site", + "test:debug": "node --inspect node_modules/.bin/jest --runInBand" + }, + "dependencies": { + "axios": "0.19.0", + "cheerio": "1.0.0-rc.10", + "html-entities": "1.2.1", + "ingredient-parser": "https://github.com/plate0/ingredient-parser.git#v0.2.2", + "lodash": "4.17.14", + "moment": "2.24.0", + "turndown": "5.0.3" + }, + "devDependencies": { + "@types/cheerio": "0.22.30", + "jest": "24.8.0" + } +} diff --git a/packages/parser/parsers/cookieandkate.com.js b/packages/parser/parsers/cookieandkate.com.js new file mode 100644 index 00000000..66f40e98 --- /dev/null +++ b/packages/parser/parsers/cookieandkate.com.js @@ -0,0 +1,60 @@ +const { parseIngredient } = require('ingredient-parser') +const _ = require('lodash') +const $ = require('cheerio') +const util = require('util') + +exports.source_author = '.tasty-recipes-author-name' +exports.duration = '.tasty-recipes-total-time' +exports.title = '.tasty-recipes h2' +exports.yield = ($) => $('.tasty-recipes-yield span').first().text() +exports.image_url = ($) => { + let html = $('.entry-content > p > noscript').html() + return $('img', html).prop('src') +} + +exports.ingredient_lists = ($) => { + const image_url = undefined + const lists = [] + const headings = $('.tasty-recipe-ingredients h4') + if ($(headings).length) { + $(headings).each((ix, el) => { + lists[ix] = { + name: normalise($(el).text()), + lines: $(el) + .next('ul') + .children('li') + .map((ix, li) => { + return parseIngredient($(li).text()) + }) + .get(), + } + }) + } else { + const el = $('.tasty-recipe-ingredients ul') + lists[0] = { + lines: $(el) + .children('li') + .map((ix, li) => parseIngredient(normalise($(li).text()))) + .get(), + } + } + return lists +} + +exports.procedure_lists = ($) => { + const lists = [] + const ol = $('.tasty-recipe-instructions ol') + lists[0] = { + lines: $(ol) + .children('li') + .map((ix, li) => { + return { text: normalise($(li).text()) } + }) + .get(), + } + return lists +} + +function normalise(text) { + return text.replace(/\s{2,}/g, ' ') +} diff --git a/packages/parser/parsers/cookieandkate.com.test.js b/packages/parser/parsers/cookieandkate.com.test.js new file mode 100644 index 00000000..a54e31df --- /dev/null +++ b/packages/parser/parsers/cookieandkate.com.test.js @@ -0,0 +1,71 @@ +const util = require('util') +const { parser } = require('../src/parser') +const RecipeParser = require('./cookieandkate.com') +const importer = parser(RecipeParser) +const { testAsset } = require('../test') + +describe('cookieandkate', () => { + let result + + beforeAll(async () => { + const source = await testAsset( + 'cookieandkate.com/ExtraVegetableFriedRice.html' + ) + result = await importer(source) + // debug(util.inspect(result, {depth: 4})) + }) + + test('title', async () => { + expect(result.title).toBe('Extra Vegetable Fried Rice') + }) + + test('description', async () => { + expect(result.description).toMatch( + /^Learn how to make vegetable fried rice/ + ) + }) + + test('source_author', async () => { + expect(result.source_author).toBe('Cookie and Kate') + }) + + test('image_url', async () => { + expect(result.image_url).toBe( + 'https://cookieandkate.com/images/2017/05/vegetable-fried-rice.jpg' + ) + }) + + test('duration', async () => { + expect(result.duration).toEqual(2100) + }) + + test('yield', async () => { + expect(result.yield).toEqual('2') + }) + + test('ingredient lists', async () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].name).toBeUndefined() + expect(result.ingredient_lists[0].lines).toHaveLength(15) + expect(result.ingredient_lists[0].lines[0]).toMatchObject({ + name: '+ 2 tablespoons avocado oil or safflower oil, divided', + quantity_numerator: 3, + quantity_denominator: 2, + unit: 'tsp', + }) + }) + + test('procedure lists', async () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].name).toBeUndefined() + expect(result.procedure_lists[0].lines).toHaveLength(7) + expect(result.procedure_lists[0].lines[0]).toMatchObject({ + // name: expect.toBe(null), Doesn't work, see https://stackoverflow.com/questions/53369407/include-tobecloseto-in-jest-tomatchobject + text: expect.stringMatching(/^This recipe comes together quickly/), + }) + }) +}) + +function debug(msg) { + console.log(`\x1b[7m${msg}\x1b[0m`) +} diff --git a/packages/parser/parsers/cooking.nytimes.com.js b/packages/parser/parsers/cooking.nytimes.com.js new file mode 100644 index 00000000..e71538b9 --- /dev/null +++ b/packages/parser/parsers/cooking.nytimes.com.js @@ -0,0 +1,16 @@ +const moment = require('moment') +const { description } = require('../src') + +exports.yield = ($) => + $('ul.recipe-time-yield li').first().find('span').last().text().trim() + +exports.description = ($) => + description($('[itemprop="description"] p').first())($) + +exports.duration = ($) => + moment.duration($('meta[itemprop="cookTime"]').attr('content')).asSeconds() + +exports.preheats = '.recipe-steps' +exports.ingredient_lists = + 'ul.recipe-ingredients li[itemprop="recipeIngredient"]' +exports.procedure_lists = 'ol.recipe-steps li' diff --git a/packages/parser/parsers/cooking.nytimes.com.test.js b/packages/parser/parsers/cooking.nytimes.com.test.js new file mode 100644 index 00000000..c6a143ae --- /dev/null +++ b/packages/parser/parsers/cooking.nytimes.com.test.js @@ -0,0 +1,102 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./cooking.nytimes.com') +const { testAsset } = require('../test') + +describe('cooking.nytimes.com', () => { + const importer = parser(RecipeParser) + describe('baked-orzo-with-artichokes-and-peas', () => { + let result + beforeAll(async () => { + const source = await testAsset( + 'cooking.nytimes.com/1014688-baked-orzo-with-artichokes-and-peas.html' + ) + result = await importer(source) + }) + + test('title', () => { + expect(result.title).toEqual('Baked Orzo With Artichokes and Peas Recipe') + }) + + test('description', () => { + expect(result.description).toEqual( + 'This is a Greek-inspired pastitsio, a comforting béchamel-enriched mix of orzo, artichokes and peas. Rather than butter, the béchamel in this dish is made with a couple of glugs of good extra virgin olive oil.' + ) + }) + + test('subtitle', () => { + expect(result.subtitle).toBeUndefined() + }) + + test('image_url', () => { + expect(result.image_url).toEqual( + 'https://static01.nyt.com/images/2013/04/23/science/23recipehealth/23recipehealth-superJumbo.jpg' + ) + }) + + test('yield', () => { + expect(result.yield).toEqual('6 servings') + }) + + test('duration', () => { + expect(result.duration).toEqual(4200) + }) + + test('preheats', () => { + expect(result.preheats).toEqual([ + { + name: 'oven', + temperature: 350, + unit: 'F', + }, + ]) + }) + + test('get ingredients', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(10) + }) + + test('get procedure', () => { + expect(result.procedure_lists).toEqual([ + { + lines: [ + { text: 'Make the béchamel and set aside.' }, + { + text: 'Prepare the artichokes. Fill a bowl with water and add the lemon juice. Cut away the stem and the top third of each artichoke, break off the leaves and trim them down to the bottoms, placing them in the water as you go along. Quarter them and slice large quarters about 1/4 inch thick. Save the leaves and steam them; serve them as a first course or a side dish.', + }, + { + text: 'Drain the artichoke hearts and dry on a clean dish towel. Heat the oil over medium-high heat in a large, heavy skillet. Add the sliced artichoke hearts and cook, stirring, until lightly browned and tender, about 10 minutes. Season to taste with salt and pepper. Turn down the heat and add the garlic. Cook just until fragrant, about 30 seconds, and remove from the heat.', + }, + { + text: 'Preheat the oven to 350 degrees. Oil a 2-quart baking dish. Bring a large pot of generously salted water to a boil and add the orzo. Cook 5 minutes, add the peas and continue to boil for another 4 minutes, until the orzo is just tender but still firm to the bite. Drain and transfer to a large bowl. Add the artichokes, herbs, béchamel and Parmesan and stir together until the sauce coats all of the other ingredients. Transfer to the prepared baking dish.', + }, + { + text: 'Place in the oven and bake 30 minutes, until lightly colored on top.', + }, + ], + }, + ]) + }) + }) + + describe('one-pot-pasta-with-ricotta-and-lemon.html', () => { + let result + beforeAll(async () => { + const source = await testAsset( + 'cooking.nytimes.com/1020290-one-pot-pasta-with-ricotta-and-lemon.html' + ) + result = await importer(source) + }) + + test('description', () => { + expect(result.description).toEqual( + 'This elegant, bright pasta dish comes together in about the same amount of time it takes to boil noodles and heat up a jar of store-bought marinara. The no-cook sauce is a 50-50 mix of ricotta and Parmesan, with the zest and juice of one lemon thrown in. That’s it. To make it more filling, add peas, asparagus or spinach in the last few minutes of the pasta boiling, or stir in fresh arugula or watercress with the sauce in Step 3. It’s a weeknight and for-company keeper any way you stir it.' + ) + }) + + test('ingredients', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(8) + }) + }) +}) diff --git a/packages/parser/parsers/fitfoodiefinds.com.js b/packages/parser/parsers/fitfoodiefinds.com.js new file mode 100644 index 00000000..7971e2bb --- /dev/null +++ b/packages/parser/parsers/fitfoodiefinds.com.js @@ -0,0 +1,52 @@ +const { parseIngredient } = require('ingredient-parser') +const _ = require('lodash') +const $ = require('cheerio') + +exports.source_author = '.tasty-recipes-author-name' +exports.duration = '.tasty-recipes-total-time' +exports.title = '.tastywrap h2' +exports.yield = ($) => $('.tasty-recipes-yield span').first().text() +exports.image_url = ($) => $('.tasty-recipes-image img').prop('src') + +exports.ingredient_lists = ($) => { + const image_url = undefined + const lists = [] + const headings = $('.tasty-recipe-ingredients h4') + if ($(headings).length) { + $(headings).each((ix, el) => { + lists[ix] = { + name: $(el).text(), + lines: $(el) + .next('ul') + .children('li') + .map((ix, li) => { + return parseIngredient(_.trim($(li).text())) + }) + .get(), + } + }) + } else { + const el = $('.tasty-recipe-ingredients ul') + lists[0] = { + lines: $(el) + .children('li') + .map((ix, li) => $(li).text()) + .get(), + } + } + return lists +} + +exports.procedure_lists = ($) => { + const lists = [] + const ol = $('.tasty-recipe-instructions ol') + lists[0] = { + lines: $(ol) + .children('li') + .map((ix, li) => { + return { text: $(li).text() } + }) + .get(), + } + return lists +} diff --git a/packages/parser/parsers/fitfoodiefinds.com.test.js b/packages/parser/parsers/fitfoodiefinds.com.test.js new file mode 100644 index 00000000..fe355d97 --- /dev/null +++ b/packages/parser/parsers/fitfoodiefinds.com.test.js @@ -0,0 +1,89 @@ +const util = require('util') +const { parser } = require('../src/parser') +const RecipeParser = require('./fitfoodiefinds.com') +const importer = parser(RecipeParser) +const { testAsset } = require('../test') + +describe('fitfoodiefinds', () => { + let result + + beforeAll(async () => { + const source = await testAsset('fitfoodiefinds.com/sw-bb-cc-salad.html') + result = await importer(source) + debug(util.inspect(result, { depth: 4 })) + }) + + test('title', async () => { + expect(result.title).toBe('Southwestern Black Bean Couscous Salad') + }) + + test('description', async () => { + expect(result.description).toMatch( + /^Make this Southwestern Black Bean Couscous Salad in under 20 minutes./ + ) + }) + + test('source_author', async () => { + expect(result.source_author).toBe('Lee Hersh') + }) + + test('image_url', async () => { + expect(result.image_url).toBe( + 'https://fitfoodiefinds.com/wp-content/uploads/2016/04/square11-150x150.png' + ) + }) + + test('duration', async () => { + expect(result.duration).toEqual(1800) + }) + + test('yield', async () => { + expect(result.yield).toEqual('6') + }) + + test('ingredient lists', async () => { + expect(result.ingredient_lists).toHaveLength(2) + expect(result.ingredient_lists[0].name).toBe('For the Salad') + expect(result.ingredient_lists[0].lines).toHaveLength(6) + expect(result.ingredient_lists[0].lines[0]).toMatchObject({ + name: 'Israeli couscous', + quantity_numerator: 5, + quantity_denominator: 4, + unit: 'c', + }) + expect(result.ingredient_lists[1].name).toBe('For the Dressing') + expect(result.ingredient_lists[1].lines).toHaveLength(5) + }) + + test('procedure lists', async () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].name).toBeUndefined() + expect(result.procedure_lists[0].lines).toHaveLength(4) + expect(result.procedure_lists[0].lines[0]).toMatchObject({ + // name: expect.toBe(null), Doesn't work, see https://stackoverflow.com/questions/53369407/include-tobecloseto-in-jest-tomatchobject + text: expect.stringMatching( + /^Bring 1.5 cups of water to a rolling boil./ + ), + }) + }) +}) + +describe('fitfoodiefinds no sections', () => { + let result + const importer = parser(RecipeParser) + + beforeAll(async () => { + const source = await testAsset('fitfoodiefinds.com/sw-bb-cc-salad2.html') + result = await importer(source) + }) + + test('ingredient lists', async () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].name).toBeUndefined() + expect(result.ingredient_lists[0].lines).toHaveLength(11) + }) +}) + +function debug(msg) { + console.log(`\x1b[7m${msg}\x1b[0m`) +} diff --git a/packages/parser/parsers/index.js b/packages/parser/parsers/index.js new file mode 100644 index 00000000..462d099d --- /dev/null +++ b/packages/parser/parsers/index.js @@ -0,0 +1,24 @@ +const { readdirSync } = require('fs') +const { parse } = require('path') + +const Parsers = {} + +readdirSync(__dirname) + .filter( + (file) => + file.indexOf('.') !== 0 && + file !== 'index.js' && + !file.match(/\.test\.js$/) + ) + .map((f) => [parse(f), f]) + .forEach(([{ name }, f]) => { + const parser = require(`./${f}`) + const meta = parser._meta + if (meta && meta.hostnames) { + meta.hostnames.forEach((h) => (Parsers[h] = parser)) + } else { + Parsers[name] = parser + } + }) + +module.exports = Parsers diff --git a/packages/parser/parsers/ivu.org.js b/packages/parser/parsers/ivu.org.js new file mode 100644 index 00000000..4a788f95 --- /dev/null +++ b/packages/parser/parsers/ivu.org.js @@ -0,0 +1,104 @@ +/* + * This is really old-style HTML with few, if any, 'id' or 'class' attributes. + * Notes on input format: + * 1. The whole recipe is contained within the single of the single of a + * 2. The parsing depends on locating elements set around the
    which contains the ingredients + * 3. The title, source, and yield are located in

    tags before the

      + * 4. The procedures follow the
        , but are in a mixture of + * a) 'text' of the
+ * b)

tags + */ +const { parseAmount, parseUnit } = require('ingredient-parser') +const TurndownService = require('turndown') +const rxAmount = /^[0-9/ ½⅓⅔¼¾⅖⅗⅘⅙⅚⅐⅛⅜⅝⅞⅑⅒]+/ + +exports.title = ($) => + $('table table p font')[0] + .children[0] // text + .data.trim() + .replace(/\s+/, ' ') + +exports.source_author = ($) => + $('table table p font')[1] + .children[0] // text + .data.trim() + .replace(/^from: /i, '') + +exports.yield = ($) => + $('table table p:nth-of-type(2)')[0] + .children[0] // text + .data.trim() + +exports.ingredient_lists = ($) => [ + { + name: undefined, + image_url: undefined, + lines: $('table table ul li') + .map(function () { + let rest = $(this).text().trim() + let name, quantity_numerator, quantity_denominator, unit + const hasAmount = rest.match(rxAmount) + if (hasAmount) { + const quantity = hasAmount[0] + const f = parseAmount(quantity) + quantity_numerator = f.n + quantity_denominator = f.d + rest = rest.substring(quantity.length).trim() + const haveUnit = rest.match(/\S+/) + if (haveUnit) { + unit = parseUnit(haveUnit[0]) + if (unit) { + rest = rest.substring(haveUnit[0].length).trim() + } + } + } + + name = rest + return { + name, + quantity_numerator, + quantity_denominator, + preparation: undefined, + optional: false, + unit, + } + }) + .get(), + }, +] + +exports.procedure_lists = ($) => { + const turndown = new TurndownService() + let ulIndex + const td = $('table table td').clone() + // Remove child elements up to and including 'ul' + td.children().each(function (index, element) { + if (element.type == 'tag') { + let name = element.name + if (name == 'ul') { + ulIndex = index + return false + } + } + }) + while (ulIndex >= 0) { + td.children().remove(':nth-child(' + (1 + ulIndex--) + ')') + } + let html = td.html() + td.children().html() + let lines = turndown + .turndown(html) + .split('\n') + .filter((line) => line.trim().length > 0) + return [ + { + name: undefined, + lines: lines.map((line) => { + return { + image_url: undefined, + title: undefined, + text: line.trim(), + } + }), + }, + ] +} diff --git a/packages/parser/parsers/ivu.org.test.js b/packages/parser/parsers/ivu.org.test.js new file mode 100644 index 00000000..ea433ee6 --- /dev/null +++ b/packages/parser/parsers/ivu.org.test.js @@ -0,0 +1,40 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./ivu.org') +const { testAsset } = require('../test') + +describe('IVU', () => { + let result + const importer = parser(RecipeParser) + + beforeAll(async () => { + const source = await testAsset('ivu.org/sauteed-peppers.html') + result = await importer(source) + }) + + test('title', async () => { + expect(result.title).toEqual('Sauteed Peppers') + }) + + test('author', async () => { + expect(result.source_author).toEqual('Karen Sonnessa') + }) + + test('yield', async () => { + expect(result.yield).toEqual('Serving Size: 1') + }) + + test('ingredient lists', async () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(8) + }) + + test('get procedure lists', async () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].lines).toHaveLength(8) + expect(result.procedure_lists[0].lines[0]['image_url']).toBeUndefined() + expect(result.procedure_lists[0].lines[0]['title']).toBeUndefined() + expect(result.procedure_lists[0].lines[0]['text']).toMatch( + /^Quarter onion and slice thinly./ + ) + }) +}) diff --git a/packages/parser/parsers/www.allrecipes.com.json b/packages/parser/parsers/www.allrecipes.com.json new file mode 100644 index 00000000..45675dc0 --- /dev/null +++ b/packages/parser/parsers/www.allrecipes.com.json @@ -0,0 +1,3 @@ +{ + "duration": "span.recipe-ingredients__header__toggles .ready-in-time__container" +} diff --git a/packages/parser/parsers/www.allrecipes.com.test.js b/packages/parser/parsers/www.allrecipes.com.test.js new file mode 100644 index 00000000..716d93f4 --- /dev/null +++ b/packages/parser/parsers/www.allrecipes.com.test.js @@ -0,0 +1,37 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.allrecipes.com') +const { testAsset } = require('../test') + +describe('www.allrecipes.com', () => { + const importer = parser(RecipeParser) + + let result + beforeAll(async () => { + const source = await testAsset( + 'www.allrecipes.com/garlic-roasted-chicken-and-potatoes.html' + ) + result = importer(source) + }) + + test('title', () => { + expect(result.title).toEqual('Garlic Roasted Chicken and Potatoes Recipe') + }) + + test('duration', () => { + expect(result.duration).toEqual(4800) + }) + + test('yield', () => { + expect(result.yield).toEqual('8') + }) + + test('ingredient_lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(6) + }) + + test('procedure_lists', () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].lines).toHaveLength(4) + }) +}) diff --git a/packages/parser/parsers/www.bbcgoodfood.com.js b/packages/parser/parsers/www.bbcgoodfood.com.js new file mode 100644 index 00000000..cd8c7c9b --- /dev/null +++ b/packages/parser/parsers/www.bbcgoodfood.com.js @@ -0,0 +1,19 @@ +const { parseIngredient } = require('ingredient-parser') +const html = require('../src/html') +const { _parseDuration: parseDuration } = require('../src/duration') + +exports.ingredient_lists = ($) => { + let lines = [] + $('.ingredients-list__item').each((i, e) => lines.push($(e).attr('content'))) + if (lines.length !== 0) { + return [{ lines: lines.map((line) => parseIngredient(line)) }] + } + console.log(`\x1b[93;41mNo elements found\x1b[0m`) + return undefined +} + +exports.duration = ($) => { + let prep = parseDuration($('.recipe-details__cooking-time-prep span')) + let cook = parseDuration($('.recipe-details__cooking-time-cook span')) + return (prep ? prep : 0) + (cook ? cook : 0) || undefined +} diff --git a/packages/parser/parsers/www.bbcgoodfood.com.test.js b/packages/parser/parsers/www.bbcgoodfood.com.test.js new file mode 100644 index 00000000..f9a2c817 --- /dev/null +++ b/packages/parser/parsers/www.bbcgoodfood.com.test.js @@ -0,0 +1,44 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.bbcgoodfood.com') +const { testAsset } = require('../test') + +describe('www.bbcgoodfood.com', () => { + const importer = parser(RecipeParser) + + let result + beforeAll(async () => { + try { + const source = await testAsset( + 'www.bbcgoodfood.com/VegetarianChilli.html' + ) + result = importer(source) + } catch (e) { + console.error(e) + } + }) + + test('title', () => { + expect(result.title).toBe('Vegetarian chilli') + }) + + test('duration', () => { + expect(result.duration).toBe(1920) + }) + + test('yield', () => { + expect(result.yield).toBe(' Serves 2 ') + }) + + test('ingredient_lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(4) + expect(result.ingredient_lists[0].lines[1].name).toBe( + 'can kidney beans in chilli sauce' + ) + }) + + test('procedure_lists', () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].lines).toHaveLength(1) + }) +}) diff --git a/packages/parser/parsers/www.blueapron.com.js b/packages/parser/parsers/www.blueapron.com.js new file mode 100644 index 00000000..52176af1 --- /dev/null +++ b/packages/parser/parsers/www.blueapron.com.js @@ -0,0 +1,101 @@ +const moment = require('moment') +const { parseAmount, parseUnit } = require('ingredient-parser') +const TurndownService = require('turndown') +const { dom, mapValues } = require('../src') + +const title = ($) => $('.ba-recipe-title h1')[0].children[0].data.trim() + +const subtitle = ($) => $('.ba-recipe-title h2').text().trim() + +const description = ($) => $('[itemprop="description"]').text().trim() + +const image_url = ($) => $('.ba-hero-image img').prop('src') + +const getYield = ($) => $('[itemprop="recipeYield"]').text() + ' servings' + +const duration = ($) => + moment.duration($('[itemprop="totalTime"]').attr('content')).asSeconds() + +const preheats = ($) => { + const regex = /preheat to (\d+).([FC])/gm + const str = $('.section-recipe.recipe-instructions').text() + const preheats = [] + let m + while ((m = regex.exec(str)) !== null) { + // This is necessary to avoid infinite loops with zero-width matches + if (m.index === regex.lastIndex) { + regex.lastIndex++ + } + preheats.push({ + name: 'oven', + temperature: parseInt(m[1]), + unit: m[2], + }) + } + return preheats +} + +const ingredient_lists = ($) => [ + { + name: undefined, + image_url: $('.section-recipe.recipe-ingredients img').attr('src'), + lines: $('.section-recipe.recipe-ingredients ul li') + .map(function () { + const amount = $(this).find('span').first().text().trim() + const name = $(this) + .text() + .trim() + .replace(new RegExp(`^${amount}`), '') + .trim() + const [quantity, unit] = amount.replace(/\n/gm, ' ').split(' ') + const f = parseAmount(quantity) + return { + name, + quantity_numerator: f.n, + quantity_denominator: f.d, + preparation: undefined, + optional: false, + unit: parseUnit(unit), + } + }) + .get(), + }, +] + +const procedure_lists = ($) => { + const turndown = new TurndownService() + return [ + { + name: undefined, + lines: $('.section-recipe.recipe-instructions .step.row .col-md-6') + .map(function () { + return { + image_url: $(this).find('img').first().prop('src'), + title: $(this).find('.step-title').first().text().trim(), + text: turndown + .turndown($(this).find('.step-txt').first().html()) + .trim(), + } + }) + .get(), + }, + ] +} + +module.exports = dom( + mapValues({ + title: title, + subtitle: subtitle, + description: description, + image_url: image_url, + yield: getYield, + duration: duration, + preheats: preheats, + ingredient_lists: ingredient_lists, + procedure_lists: procedure_lists, + }) +) + +module.exports._meta = { + hostnames: ['www.blueapron.com', 'dlink.blueapron.com'], +} diff --git a/packages/parser/parsers/www.blueapron.com.test.js b/packages/parser/parsers/www.blueapron.com.test.js new file mode 100644 index 00000000..5ebaecc2 --- /dev/null +++ b/packages/parser/parsers/www.blueapron.com.test.js @@ -0,0 +1,155 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.blueapron.com') +const { testAsset } = require('../test') + +describe('www.blueapron.com', () => { + const importer = parser(RecipeParser) + + describe('mexican chicken zucchini rice', () => { + let result + beforeAll(async () => { + const source = await testAsset( + 'blueapron/mexican-spiced-chicken-zucchini-rice-with-tomato-jalapeno-salsa.html' + ) + result = await importer(source) + }) + + test('get title', () => { + expect(result.title).toEqual('Mexican-Spiced Chicken & Zucchini Rice') + }) + + test('get subtitle', () => { + expect(result.subtitle).toEqual('with Tomato & Jalapeño Salsa') + }) + + test('get description', () => { + expect(result.description).toEqual( + 'To top our seared, spiced chicken, we’re making a vibrant salsa with juicy tomatoes, spicy pickled jalapeño, and scallions—contrasted by a finishing dollop of creamy fromage blanc. A simple combo of jasmine rice and sautéed zucchini makes for the perfect base to balance out the bold flavors.' + ) + }) + + test('get yield', () => { + expect(result.yield).toEqual('2 servings') + }) + + test('get ingredient lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toEqual([ + { + name: 'Boneless, Skinless Chicken Breasts', + quantity_numerator: 2, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: undefined, + }, + { + name: 'Jasmine Rice', + quantity_numerator: 1, + quantity_denominator: 2, + preparation: undefined, + optional: false, + unit: 'c', + }, + { + name: 'Grape Or Cherry Tomatoes', + quantity_numerator: 4, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: 'oz', + }, + { + name: 'Scallions', + quantity_numerator: 2, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: undefined, + }, + { + name: 'Zucchini', + quantity_numerator: 1, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: undefined, + }, + { + name: 'Rice Vinegar', + quantity_numerator: 1, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: 'tbsp', + }, + { + name: 'Sliced Pickled Jalapeño Pepper', + quantity_numerator: 1, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: 'oz', + }, + { + name: 'Fromage Blanc', + quantity_numerator: 2, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: 'tbsp', + }, + { + name: 'Mexican Spice Blend (Ancho Chile Powder, Smoked Paprika, Garlic Powder, Ground Cumin & Dried Mexican Oregano)', + quantity_numerator: 1, + quantity_denominator: 1, + preparation: undefined, + optional: false, + unit: 'tbsp', + }, + ]) + }) + + test('get procedure lists', () => { + expect(result.procedure_lists).toHaveLength(1) + expect(result.procedure_lists[0].lines).toHaveLength(5) + expect(result.procedure_lists[0].lines[0]).toEqual({ + image_url: + 'https://media.blueapron.com/recipes/21409/recipe_steps/32374/1548270543-426-0028-6520/Jasmine_2P_Stockpot-Medium_Fluff_WEB_high_feature.jpg', + title: 'Cook the rice:', + text: 'In a medium pot, combine the **rice**,** a pinch of salt**, and **1 cup of water**. Heat to boiling on high. Once boiling, reduce the heat to low. Cover and cook, without stirring, 12 to 14 minutes, or until the water has been absorbed and the rice is tender. Turn off the heat and fluff with a fork. Cover to keep warm.', + }) + }) + }) + + describe('smoked gouda burgers', () => { + let result + beforeAll(async () => { + const source = await testAsset( + 'blueapron/smoked-gouda-burgers-with-caramelized-onion-carrot-fries.html' + ) + result = await importer(source) + }) + + test('get preheats', async () => { + expect(result.preheats).toHaveLength(1) + expect(result.preheats).toEqual([ + { name: 'oven', temperature: 450, unit: 'F' }, + ]) + }) + }) + + describe('stuffed zucchini', () => { + let result + beforeAll(async () => { + const source = await testAsset( + 'blueapron/stuffed-zucchini-with-carrots-currants-freekeh.html' + ) + result = await importer(source) + }) + + test('get title', () => { + expect(result.title).toEqual('Stuffed Zucchini') + }) + }) +}) diff --git a/packages/parser/parsers/www.bonappetit.com.js b/packages/parser/parsers/www.bonappetit.com.js new file mode 100644 index 00000000..db38882f --- /dev/null +++ b/packages/parser/parsers/www.bonappetit.com.js @@ -0,0 +1,5 @@ +exports.title = ($) => $('h1').text() +exports.description = 'h2' +exports.yield = '.recipe__header__servings' +exports.ingredient_lists = '.ingredient' +exports.procedure_lists = '.steps-wrapper ul li' diff --git a/packages/parser/parsers/www.bonappetit.com.test.js b/packages/parser/parsers/www.bonappetit.com.test.js new file mode 100644 index 00000000..acc42987 --- /dev/null +++ b/packages/parser/parsers/www.bonappetit.com.test.js @@ -0,0 +1,53 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.bonappetit.com') +const { testAsset } = require('../test') + +describe('www.bonappetit.com', () => { + const importer = parser(RecipeParser) + let result + beforeAll(async () => { + const source = await testAsset('www.bonappetit.com/carrots.html') + result = await importer(source) + }) + + test('title', () => { + expect(result.title).toEqual('Harissa-and-Maple-Roasted Carrots') + }) + + test('description', () => { + expect(result.description).toEqual( + 'A colorful and spicy (but not fiery!) side breaks up all the heavy, rich dishes on the table.' + ) + }) + + test('ingredient_lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(8) + expect(result.ingredient_lists[0].lines[1]).toEqual({ + quantity_numerator: 1, + quantity_denominator: 4, + unit: 'c', + name: 'olive oil', + optional: false, + preparation: undefined, + }) + }) + + test('procedure_lists', () => { + expect(result.procedure_lists).toEqual([ + { + lines: [ + { + text: 'Preheat oven to 450°. Whisk garlic, oil, maple syrup, harissa, and cumin seeds in a small bowl; season garlic mixture with salt and pepper.', + }, + { + text: 'Toss carrots and lemon with garlic mixture in a large roasting pan to coat; season with salt and pepper. Roast, tossing occasionally, until carrots are tender and lemons are caramelized, 35–40 minutes.', + }, + { + text: '**DO AHEAD:** Carrots can be roasted 6 hours ahead. Let cool; cover and chill. Bring to room temperature or reheat slightly before serving.', + }, + ], + }, + ]) + }) +}) diff --git a/packages/parser/parsers/www.cookinglight.com.js b/packages/parser/parsers/www.cookinglight.com.js new file mode 100644 index 00000000..e47346e7 --- /dev/null +++ b/packages/parser/parsers/www.cookinglight.com.js @@ -0,0 +1,24 @@ +const moment = require('moment') +const { last } = require('lodash') + +exports.duration = ($) => { + const txt = $( + '.recipe-meta-container .recipe-meta-item .recipe-meta-item-body' + ) + .first() + .text() + .trim() + const time = parseInt(txt) + const unit = last(txt.split(/\s+/)).charAt(0).toLowerCase() + const dur = moment.duration(time, unit) + return dur.isValid() ? dur.asSeconds() : undefined +} + +exports.yield = ($) => + $('.recipe-meta-container .recipe-meta-item .recipe-meta-item-body') + .last() + .text() + .trim() + +exports.ingredient_lists = '.recipe-ingredients ul li' +exports.procedure_lists = '.recipe-instructions .step p' diff --git a/packages/parser/parsers/www.cookinglight.com.test.js b/packages/parser/parsers/www.cookinglight.com.test.js new file mode 100644 index 00000000..1e13f9c2 --- /dev/null +++ b/packages/parser/parsers/www.cookinglight.com.test.js @@ -0,0 +1,52 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.cookinglight.com') +const { testAsset } = require('../test') + +describe('www.cookinglight.com', () => { + const importer = parser(RecipeParser) + + let result + beforeEach(async () => { + const source = await testAsset( + 'www.cookinglight.com/beef-broccoli-stuffed-sweet-potatoes.html' + ) + result = importer(source) + }) + + test('title', () => { + expect(result.title).toEqual( + 'Beef and Broccoli Stuffed Sweet Potatoes - Cooking Light' + ) + }) + + test('duration', () => { + expect(result.duration).toEqual(1500) + }) + + test('yield', () => { + expect(result.yield).toEqual('Serves 4 (serving size: 1 stuffed potato)') + }) + + test('ingredient_lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(12) + }) + + test('procedure_lists', () => { + expect(result.procedure_lists).toEqual([ + { + lines: [ + { + text: 'Rub sweet potatoes with 1 1/2 teaspoons oil; pierce several times with a fork. Microwave at HIGH 12 to 15 minutes or until potatoes are tender.', + }, + { + text: 'Heat a large skillet over medium-high. Add remaining 1 1/2 teaspoons oil; swirl to coat. Add onion and red bell peppers; cook 5 minutes or until tender, stirring frequently. Add garlic, and cook 3 minutes, stirring frequently. Stir in chili powder, 1/4 tea­spoon salt, cumin, and ground red pepper. Add beef; cook 6 minutes or until browned, stirring to crumble.', + }, + { + text: 'Heat broccoli according to package directions; stir into beef mixture. Partially split potatoes lengthwise; fluff the flesh with a fork. Top potatoes evenly with beef mixture, remaining 1/4 teaspoon salt, and green onions.', + }, + ], + }, + ]) + }) +}) diff --git a/packages/parser/parsers/www.deliciousmagazine.co.uk.json b/packages/parser/parsers/www.deliciousmagazine.co.uk.json new file mode 100644 index 00000000..135b3735 --- /dev/null +++ b/packages/parser/parsers/www.deliciousmagazine.co.uk.json @@ -0,0 +1,4 @@ +{ + "procedure_lists": "#method ol li", + "ingredient_lists": ".recipe-ingredients ul li" +} diff --git a/packages/parser/parsers/www.deliciousmagazine.co.uk.test.js b/packages/parser/parsers/www.deliciousmagazine.co.uk.test.js new file mode 100644 index 00000000..3554b16d --- /dev/null +++ b/packages/parser/parsers/www.deliciousmagazine.co.uk.test.js @@ -0,0 +1,47 @@ +const { parser } = require('../src/parser') +const RecipeParser = require('./www.deliciousmagazine.co.uk') +const { testAsset } = require('../test') + +describe('www.deliciousmagazine.co.uk', () => { + const importer = parser(RecipeParser) + + let result + beforeAll(async () => { + const source = await testAsset( + 'www.deliciousmagazine.co.uk/tofu-with-caramel-and-sichuan-pepper.html' + ) + result = importer(source) + }) + + test('title', () => { + expect(result.title).toEqual( + 'Tofu with caramel and sichuan pepper | delicious. magazine' + ) + }) + + test('ingredient_lists', () => { + expect(result.ingredient_lists).toHaveLength(1) + expect(result.ingredient_lists[0].lines).toHaveLength(26) + }) + + test('procedure_lists', () => { + expect(result.procedure_lists).toEqual([ + { + lines: [ + { + text: 'Put the tofu block on a plate between 2 thick wads of kitchen paper. Press down firmly to squeeze out as much moisture as possible, then use more kitchen paper to pat the surface of the tofu block dry.', + }, + { + text: 'Heat a glug of oil in a non-stick frying pan and fry the tofu on both sides for 4-5 minutes in total until crisp and golden. Remove from the pan (reserve the pan) and set aside.', + }, + { + text: 'To make the caramel sauce, put the sugar and 3 tbsp cold water in the pan and heat gently until the sugar dissolves and turns into an amber caramel. Add the remaining caramel sauce ingredients and stir to combine.', + }, + { + text: 'Return the tofu to the pan and baste in caramel sauce. Slice thickly, then serve on a platter, drizzled with the remaining caramel sauce and topped with the toasted sesame seeds, crispy shallots and micro coriander.', + }, + ], + }, + ]) + }) +}) diff --git a/packages/parser/parsers/www.foodnetwork.com.js b/packages/parser/parsers/www.foodnetwork.com.js new file mode 100644 index 00000000..1201576c --- /dev/null +++ b/packages/parser/parsers/www.foodnetwork.com.js @@ -0,0 +1,30 @@ +const { first, compact } = require('lodash') +const moment = require('moment') + +exports.duration = ($) => { + // May want to reuse this in other places too. There are

+ \ No newline at end of file diff --git a/packages/parser/test/blog.nuts.com/gluten-free-almond-cake-recipe.html b/packages/parser/test/blog.nuts.com/gluten-free-almond-cake-recipe.html new file mode 100644 index 00000000..5bad5d9a --- /dev/null +++ b/packages/parser/test/blog.nuts.com/gluten-free-almond-cake-recipe.html @@ -0,0 +1,1033 @@ + + + + + + + Gluten Free Almond Cake Recipe - The Nutty Scoop from Nuts.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+ + + + +
+

Lovingly Created in Cranford, New Jersey since 1929

+ +
+
+
+
+
+
+
+

+ Gluten Free Almond Cake Recipe

+ +
+
+

This gluten-free almond cake recipe was developed exclusively for Nuts.com and our customers by Miryam Quinn Doblas, Registered Dietitian (RD). Miryam shares her nutritional knowledge and commitment to healthy eating on her website, Eat Good 4 Life.

+
+
+
+

 

+

My gluten-free almond cake is perfectly moist and tender with the delicate flavor of almonds. This easy-to-make single layer cake is elegant enough to impress your guests at any gathering, and simple enough to satisfy your sweet tooth at home. I absolutely love making cakes because not only are they a lot of fun, but I get to decide which ingredients go into them. That means that I can create recipes with healthy alternatives to the refined sugar and flours commonly used in traditional cakes.

+
+
+
+

 
+For a gluten-free cake, I paired almond flour and coconut flour together to achieve a texture similar to that of wheat flour. The light consistency of finely blanched almond flour complements coconut flour, which is dense and much more absorbent. Both of these flours are low in carbohydrates and packed with nutrients.

+
+
+
+

 

+

Almond flour is a protein powerhouse that also provides plenty of fiber, heart-healthy fats, calcium and vitamin E. It can even be used as a one-to-one replacement for wheat flour in baked goods, but I decided to incorporate coconut flour in this recipe to produce a more tender cake. Coconut flour is exceptionally high in fiber, and is mildly sweet from the natural sugars of the coconut. You’ll find that recipes made with coconut flour call for more eggs and liquid because it soaks up wet ingredients like a sponge. Both almond flour and coconut flour have a low-glycemic index, so they are often incorporated as part of low-carb and paleo diets.

+
+
+
+

 

+

I recommend using a natural sweetener like coconut sugar, agave syrup or sucanat because they’re not overly processed like refined sugars. This almond cake recipe only uses a ½ cup of sweetener so it’s not too sweet, which is a good thing in my opinion. If you’d like to make it sweeter, you can drizzle some agave syrup or melted dark chocolate over the top.

+
+
+
+

 

+

Decorated with sliced almonds, the cake looks lovely and is ready for any special occasion. It’s also a nice treat to have at home for a little dessert every now and then. If you have any leftovers, I recommend keeping them in the fridge. I don’t anticipate you’ll have much left though, because this scrumptious cake disappeared from my house in no time. Enjoy!

+

+

+ +
+
+
+
+ + + +
Gluten Free Almond Cake Recipe
+
+ +
+
+ + +

+ Prep Time: 15 minutes +

+ +

+ Cook Time: 45 minutes +

+ +

+ Total Time: 1 hour +

+ + + + + + +
+ +
+ +

+ Yield: 8 servings +

+ +
+ + + + + + + + + + + + +
+ +
+
+
+
+ +
+

+ Gluten Free Almond Cake Recipe +

+ +
+ +

+ Ingredients

+ + + +
    +
  • + 3 eggs +
  • +
  • + 3/4 cup almond milk +
  • +
  • + 1/2 cup unrefined sugar +
  • +
  • + 1 1/2 cups Almond Flour +
  • +
  • + 1/2 cup Coconut Flour +
  • +
  • + 1/2 cup Coconut Oil, room temperature +
  • +
  • + 1 tsp baking powder +
  • +
  • + 1 tsp baking soda +
  • +
  • + 1 tsp vanilla extract +
  • +
  • + 2 tbsp Sliced Almonds +
  • +
+ +

Instructions

+ + + +
    +
  1. + Preheat your oven to 350F. +
  2. +
  3. + Line the bottom of an 8-inch round baking pan with unbleached parchment paper and set aside. +
  4. +
  5. + In a large mixing bowl, or a stand mixer, combine the sugar and coconut oil. Add the eggs, almond milk and vanilla extract, and combine until you obtain a homogeneous mixture. Add the almond flour, coconut flour, baking soda and baking powder. Mix thoroughly until all the ingredients are well-combined and the batter is creamy and thick. +
  6. +
  7. + Transfer the batter to the prepared baking pan and make sure it’s spread evenly. Sprinkle the sliced almonds over the batter and bake the cake for 45-55 minutes or until a cake tester inserted in the middle comes out clean. +
  8. +
  9. + Transfer cake to a cooling rack and cool completely. Serve with milk or as desired. +
  10. +
+ + + + + + + https://blog.nuts.com/gluten-free-almond-cake-recipe/ +
+ +
+
+
+

+

Add all Nuts.com ingredients to your cart
+This recipe was developed and photographed exclusively for Nuts.com by Miryam Quinn Doblas, RD, of Eat Good 4 Life.
+ + + gluten-free-almond-cake-nutrition-facts + + + +

+
+
+ +
+

22 Responses to “Gluten Free Almond Cake Recipe”

+ +
    +
  1. + +
  2. + +
  3. +
    +
    + Helena + +
    + + +
    +

    Whenever I put nuts on top of a batter and bake the cake for more than 25 mins, the nuts are burnt. How come the same doesn’t happen to others? Am I missing something? Thanks.

    +
    + + Reply +
    +
  4. +
      +
    • +
      +
      + Meghan Remedios + +
      + + +
      +

      Hi Helena – Different oven temperatures can vary, even if they’re set to the same temperature. In that case, you can add the nuts halfway into the total baking time.

      +
      + + Reply +
      +
    • + +
    + +
  5. +
    +
    + Julie Mishkin + +
    + + +
    +

    Have you ever tried to make the almond cake into cupcakes? If so, any advice for cooking times and using versus not using liners? I think they would go over better with my kids that way 🙂

    +
    + + Reply +
    +
  6. +
      +
    • +
      +
      + Meghan Remedios + +
      + + +
      +

      Hi Julie – We haven’t tried making them into cupcakes but you could certainly give it a try! You may want to reduce the cooking time, but unfortunately we can’t make any specific recommendations.

      +
      + + Reply +
      +
    • + +
    + +
  7. +
    +
    + Bianca + +
    + + +
    +

    Can we substitute the coconut oil with butter?

    +
    + + Reply +
    +
  8. + + +
  9. +
    +
    + Maria PEREZ Colon + +
    + + +
    +

    I loved, loved, loved the almond cake. Brought me back to my childhood. It’s so lite. The perfect amount of sweetness. I put sliced almonds on bottom of pan and on top of batter. Following recommendations, I covered top with ganash and fresh raspberries and blackberries. Powdered with powder sugar and served. OMG! Who knew it could be so good. I’m used to high rising cakes. This one didn’t rise to much but it wasn’t heavy or dense. My friends loved it. Thank you for that recepie.

    +
    + + Reply +
    +
  10. + + +
  11. +
    +
    + Eva + +
    + + +
    +

    I just made a dozen muffins with this recipe. They are the bomb!
    +I didn’t even have almond or coconut flour, so I subbed them with what I had, which turned out to be rice flour. Plain and simple. Plus, I added some extra butter and 1/2 cup of olive oil to ensure muffins come out moist and fluffy. 25 min-in-the-oven later my taste buds were completely smitten with delicious, most tender, not overly sweet, coconut-ey little morsels. And they rose beautifully too.
    +I absolutely love them. Thanks so much for the awesome recipe!

    +
    + + Reply +
    +
  12. +
      +
    • + +
    • + +
    • +
      +
      + Alicia + +
      + + +
      +

      I would like to make muffins as well. Did you use olive oil instead of coconut oil or in addition to? How much butter did you add?

      +
      + + Reply +
      +
    • + +
    + +
  13. +
    +
    + Kathleen + +
    + + +
    +

    Sounds yummy! I’m allergic to eggs and would like to try substituing flax eggs or Egg Replacer or applesauce. Has anyone tried this?

    +
    + + Reply +
    +
  14. +
      +
    • +
      +
      + Allie Hartman + +
      + + +
      +

      Hi Kathleen,

      +

      While we haven’t tested flax eggs or applesauce, we recommend chickpea flour as an egg substitute. We recommend whisking 1/4 cup of chickpea flour with a 1/4 cup of water to use as a substitute for 1 egg.

      +

      Enjoy!
      +Allie

      +
      + + Reply +
      +
    • + +
    + +
  15. + +
  16. +
      +
    • +
      +
      + Allie Hartman + +
      + + +
      +

      Hi Alicia,

      +

      Yes, traditional dairy milk can be used instead of nut or soy based milks. Let us know how it turns out!

      +

      Allie

      +
      + + Reply +
      +
    • + +
    + +
  17. +
    +
    + SealDancer + +
    + + +
    +

    I tried this recipe for the first time today for a friend who is highly gluten and soy intolerant. The texture turned out great, but it tastes strongly of un neutralized baking soda. I followed the recipe exactly. So, looking back over it, I see there’s no acid to neutralize the baking soda. So, I’d suggest either leaving the baking soda out or adding a tbsp of apple cider vinegar. I’m a bit bummed out because it was a waste of expensive ingredients.

    +
    + + Reply +
    +
  18. +
      +
    • +
      +
      + Stephanie Hart + +
      + + +
      +

      We’re sorry to hear this recipe didn’t work out for you. Thanks for sharing those helpful tips to improve the recipe.

      +
      + + Reply +
      +
    • + +
    + +
  19. +
    +
    + Pia + +
    + + +
    +

    What a delicious and light cake!
    +It goes in my list of favorites.

    +
    + + Reply +
    +
  20. + +
  21. +
    +
    + CARL + +
    + + +
    +

    It was delicious. I used agave syrup instead of the sugar. In my connection oven the cooking time was about 14 mins faster. Good flavor and texture.

    +
    + + Reply +
    +
  22. +
      +
    • + +
    • + +
    + +
  23. +
    +
    + Linda + +
    + + +
    +

    I wanted something gluten-free and not too sweet, and boy this hit the spot! After reading all the reviews I decided to add 1 tablespoon of lemon juice to neutralize the baking soda , my just to be on the safe side. And I only added half cup of unsweetened almond milk and I substituted the difference with a quarter cup of whole milk Greek yogurt . I was out of vanilla extract, but I’ll make sure I add it next time. For sweetener I added a half cups of xylitol. This will definitely be one of my go to desserts. It came out moist and delicious! Thanks for a great recipe!

    +
    + + Reply +
    +
  24. + +
+ + +
+ +
+

Leave a Reply

+

Basic HTML is allowed. Your email address will not be published.

+

Subscribe to this comment feed via RSS

+

+

+

+ +

+
+

This site uses Akismet to reduce spam. Learn how your comment data is processed.

+
+
+
+ +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + diff --git a/packages/parser/test/blueapron/mexican-spiced-chicken-zucchini-rice-with-tomato-jalapeno-salsa.html b/packages/parser/test/blueapron/mexican-spiced-chicken-zucchini-rice-with-tomato-jalapeno-salsa.html new file mode 100644 index 00000000..5153872c --- /dev/null +++ b/packages/parser/test/blueapron/mexican-spiced-chicken-zucchini-rice-with-tomato-jalapeno-salsa.html @@ -0,0 +1,1865 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +Recipe: Mexican-Spiced Chicken & Zucchini Rice with Tomato & Jalapeño Salsa - Blue Apron + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

+ + +Your Blue Apron Basket + + +

+
+
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+Loading... +
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+ +
+
+ +Updating Your Basket… + +
+
+ +
+
+ + + +
+
+
+
+
+
+
+
+
+ + +  + + + + + +
+ +
+ +
+
+
+ +
+
+ + +
+ +
+
+
+ + + + +  + +
+
+ +
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

+Get the perfect wine pairings +

+

+Enjoy delicious wines from top vineyards and winemakers. Six 500ml bottles arrive at your door every month. +

+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+

+We’re sorry… +

+

+Currently, we cannot ship wine to + +Alaska + + +Provide your email address and we will notify you when that changes. + +

+
+
+ +
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+or +
+
+
+
+
+ + + +
+
+
+ +
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + +
+
+
+ + + + +
+
+ + + +
+ + + + + + + + + + +
+
+
+
+Mexican-Spiced Chicken & Zucchini Rice with Tomato & Jalapeño Salsa +
+ +
+
+
+
+

+Mexican-Spiced Chicken & Zucchini Rice +

+

+with Tomato & Jalapeño Salsa +

+
+
+
    +
  • + + + Group + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + +
    +Time +
    +
    25 min +
    +
  • +
  • + + + icon_serves + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Servings
    +
    +2 +
    +
  • +
  • + + + icon_cals + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Nutrition
    +
    + +Est. + + +560 + +calories + + + Group 22 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +Nutrition Label +
    + +Download + +
    +
    +
    +
  • +
+
+
+

To top our seared, spiced chicken, we’re making a vibrant salsa with juicy tomatoes, spicy pickled jalapeño, and scallions—contrasted by a finishing dollop of creamy fromage blanc. A simple combo of jasmine rice and sautéed zucchini makes for the perfect base to balance out the bold flavors.

+Get Cooking +
+
+
+
+
+
+ + +
+ +
+
+
+
+fresh +
+
+ingredients +
+
+
+ +
+ +
+
+
+tried-and-true +
+
+kitchen tools +
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ +

+
+
+
+
+
+
+
+ +Add to Basket + +
+ +

+
+
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+time-saving +
+
+tips & techniques +
+
+
+ +
+ +
+
+
+
+step-by-step +
+
+instructions +
+
+ +
+
+
+Cook the rice: +
+
+1 + +Cook the rice: + +
+
+

In a medium pot, combine the rice, a pinch of salt, and 1 cup of water. Heat to boiling on high. Once boiling, reduce the heat to low. Cover and cook, without stirring, 12 to 14 minutes, or until the water has been absorbed and the rice is tender. Turn off the heat and fluff with a fork. Cover to keep warm.

+
+
+
+
+Cook the chicken: +
+
+2 + +Cook the chicken: + +
+
+

While the rice cooks, pat the chicken dry with paper towels; season on both sides with salt, pepper, and enough of the spice blend to coat (you may have extra). In a medium pan (nonstick, if you have one), heat 2 teaspoons of olive oil on medium-high until hot. Add the seasoned chicken. Cook 6 to 7 minutes per side, or until browned and cooked through. Leaving any browned bits (or fond) in the pan, transfer to a cutting board.

+
+
+
+
+
+
+Prepare the remaining ingredients & make the salsa: +
+
+3 + +Prepare the remaining ingredients & make the salsa: + +
+
+

While the chicken cooks, wash and dry the fresh produce. Halve the zucchini lengthwise, then thinly slice crosswise. Halve the tomatoes. Thinly slice the scallions, separating the white bottoms and hollow green tops. Roughly chop the pepper. Thoroughly wash your hands, knife, and cutting board immediately after handling. In a bowl, combine the halved tomatoes, sliced green tops of the scallions, half the vinegar, 1/2 teaspoon of olive oil, and as much of the chopped pepper as you’d like, depending on how spicy you’d like the salsa to be. Season with salt and pepper. 

+
+
+
+
+Cook the zucchini: +
+
+4 + +Cook the zucchini: + +
+
+

To the pan of reserved fond, add 1 1/2 teaspoons of olive oil; heat on medium-high until hot. Add the sliced zucchini in an even layer; season with salt and pepper. Cook, without stirring, 3 to 4 minutes, or until lightly browned. Add the sliced white bottoms of the scallions. Cook, stirring occasionally, 2 to 3 minutes, or until slightly softened. Turn off the heat. 

+
+
+
+
+
+
+Finish the rice & serve your dish: +
+
+5 + +Finish the rice & serve your dish: + +
+
+

Add the cooked zucchini and remaining vinegar to the pot of cooked rice; stir to combine. Taste, then season with salt and pepper if desired. Slice the cooked chicken crosswise. Serve the sliced chicken over the finished rice. Top with the salsa and fromage blanc. Enjoy! 

+
+
+
+
+
+ +
+
+
+

Tips from Home Chefs

+
+
+
+

About Blue Apron

+
+Ba hero +
+

+Blue Apron delivers original, step-by-step recipes and fresh ingredients to customers nationwide. Our menus change every week, so with each delivery you learn to cook inventive new dishes with seasonal ingredients. By letting us source these hard-to-find ingredients for you, you'll get food that is fresher and cheaper than you can get at your local supermarket, and there's no waste because we only send you what you need for each recipe. +

+

+We named our company “Blue Apron” because chefs around the world wear blue aprons when they're learning to cook, and it has become a symbol of lifelong learning in cooking. We believe you're never done learning in the kitchen, so we design our menus to ensure you're always learning new cooking techniques, trying new cuisines, and using unique ingredients. +

+

+Blue Apron is a weekly subscription service with no commitment - you can skip a week or cancel at any time with a week's notice. We can't wait to cook with you! +

+Get This Recipe Delivered +
+
+
+
+
+ +
+
+
+
+Cook the rice: +
+
+
+1 + +Cook the rice: + +
+
+

In a medium pot, combine the rice, a pinch of salt, and 1 cup of water. Heat to boiling on high. Once boiling, reduce the heat to low. Cover and cook, without stirring, 12 to 14 minutes, or until the water has been absorbed and the rice is tender. Turn off the heat and fluff with a fork. Cover to keep warm.

+
+
+
+
+
+
+
+
+2 + +Cook the chicken: + +
+
+

While the rice cooks, pat the chicken dry with paper towels; season on both sides with salt, pepper, and enough of the spice blend to coat (you may have extra). In a medium pan (nonstick, if you have one), heat 2 teaspoons of olive oil on medium-high until hot. Add the seasoned chicken. Cook 6 to 7 minutes per side, or until browned and cooked through. Leaving any browned bits (or fond) in the pan, transfer to a cutting board.

+
+
+
+Cook the chicken: +
+
+
+
+
+
+Prepare the remaining ingredients & make the salsa: +
+
+
+3 + +Prepare the remaining ingredients & make the salsa: + +
+
+

While the chicken cooks, wash and dry the fresh produce. Halve the zucchini lengthwise, then thinly slice crosswise. Halve the tomatoes. Thinly slice the scallions, separating the white bottoms and hollow green tops. Roughly chop the pepper. Thoroughly wash your hands, knife, and cutting board immediately after handling. In a bowl, combine the halved tomatoes, sliced green tops of the scallions, half the vinegar, 1/2 teaspoon of olive oil, and as much of the chopped pepper as you’d like, depending on how spicy you’d like the salsa to be. Season with salt and pepper. 

+
+
+
+
+
+
+
+
+4 + +Cook the zucchini: + +
+
+

To the pan of reserved fond, add 1 1/2 teaspoons of olive oil; heat on medium-high until hot. Add the sliced zucchini in an even layer; season with salt and pepper. Cook, without stirring, 3 to 4 minutes, or until lightly browned. Add the sliced white bottoms of the scallions. Cook, stirring occasionally, 2 to 3 minutes, or until slightly softened. Turn off the heat. 

+
+
+
+Cook the zucchini: +
+
+
+
+
+
+Finish the rice & serve your dish: +
+
+
+5 + +Finish the rice & serve your dish: + +
+
+

Add the cooked zucchini and remaining vinegar to the pot of cooked rice; stir to combine. Taste, then season with salt and pepper if desired. Slice the cooked chicken crosswise. Serve the sliced chicken over the finished rice. Top with the salsa and fromage blanc. Enjoy! 

+
+
+
+
+
+
+ +
+ + + + +
+
+
+
+ +
+ + + + + + +
+ + + + + + + + + diff --git a/packages/parser/test/blueapron/smoked-gouda-burgers-with-caramelized-onion-carrot-fries.html b/packages/parser/test/blueapron/smoked-gouda-burgers-with-caramelized-onion-carrot-fries.html new file mode 100644 index 00000000..e783f8d0 --- /dev/null +++ b/packages/parser/test/blueapron/smoked-gouda-burgers-with-caramelized-onion-carrot-fries.html @@ -0,0 +1,1843 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +Recipe: Smoked Gouda Burgers with Caramelized Onion & Roasted Carrots - Blue Apron + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

+ + +Your Blue Apron Basket + + +

+
+
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+Loading... +
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+ +
+
+ +Updating Your Basket… + +
+
+ +
+
+ + + +
+
+
+
+
+
+
+
+
+ + +  + + + + + +
+ +
+ +
+
+
+ +
+
+ + +
+ +
+
+
+ + + + +  + +
+
+ +
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

+Get the perfect wine pairings +

+

+Enjoy delicious wines from top vineyards and winemakers. Six 500ml bottles arrive at your door every month. +

+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+

+We’re sorry… +

+

+Currently, we cannot ship wine to + +Alaska + + +Provide your email address and we will notify you when that changes. + +

+
+
+ +
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+or +
+
+
+
+
+ + + +
+
+
+ +
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + +
+
+
+ + + + +
+
+ + + +
+ + + + + + + + + + +
+
+
+
+Smoked Gouda Burgers with Caramelized Onion & Roasted Carrots +
+ +
+
+
+
+

+Smoked Gouda Burgers +

+

+with Caramelized Onion & Roasted Carrots +

+
+
+
    +
  • + + + Group + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + +
    +Time +
    +
    30 min +
    +
  • +
  • + + + icon_serves + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Servings
    +
    +2 +
    +
  • +
  • + + + icon_cals + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Nutrition
    +
    + +Est. + + +860 + +calories + + + Group 22 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +Nutrition Label +
    + +Download + +
    +
    +
    +
  • +
+
+
+

To top beef patties (which are also deliciously packed with bites of melty gouda cheese), we’re making tender caramelized onion, which gets its rich flavor from additions of savory worcestershire sauce, honey, and hot sauce.

+Get Cooking +
+
+
+
+
+
+ + +
+ +
+
+
+
+fresh +
+
+ingredients +
+
+
+
+
+
+
+Smoked Gouda Burgers with Caramelized Onion & Roasted Carrots +
+
+
Title
+ +
+
+
+
+ +
+
+
+ +
+
+
+tried-and-true +
+
+kitchen tools +
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ +

+
+
+
+
+
+
+
+ +Add to Basket + +
+ +

+
+
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+time-saving +
+
+tips & techniques +
+
+
+ +
+ +
+
+
+
+step-by-step +
+
+instructions +
+
+ +
+
+
+Prepare & roast the carrots: +
+
+1 + +Prepare & roast the carrots: + +
+
+

Remove the honey from the refrigerator to bring to room temperature. Place an oven rack in the center of the oven, then preheat to 450°F. Line a sheet pan with foil. Wash, dry, and peel the carrots; halve lengthwise, then cut crosswise into 2-inch pieces. Transfer to the foil. Drizzle with olive oil and season with salt and pepper. Toss to coat; arrange in an even layer. Roast 16 to 18 minutes, or until browned and tender when pierced with a fork. Remove from the oven.

+
+
+
+
+Prepare the ingredients & make the sauce: +
+
+2 + +Prepare the ingredients & make the sauce: + +
+
+

While the carrots roast, grate the cheese on the large side of a box grater. Halve, peel, and thinly slice the onion. In a bowl, combine the mayonnaise and half the worcestershire sauce.

+
+
+
+
+
+
+Form the patties: +
+
+3 + +Form the patties: + +
+
+

While the carrots continue to roast, in a medium bowl, combine the beef and grated cheese. Season with salt and pepper. Gently mix to combine, then form the mixture into two 1/2-inch-thick patties. Transfer to a plate.

+
+
+
+
+Cook the patties & caramelize the onion: +
+
+4 + +Cook the patties & caramelize the onion: + +
+
+

In a large pan (nonstick, if you have one), heat a drizzle of olive oil on medium-high until hot. Add the patties to one side of the pan. Add the sliced onion to the other side of the pan. Cook, occasionally stirring the onion, 4 to 5 minutes, or until the onion is slightly softened and the patties are browned. Flip the patties (carefully, as the oil may splatter). Continue to cook, occasionally stirring the onion, 4 to 5 minutes, or until the onion is softened and the patties are cooked through. Turn off the heat. Leaving the onions in the pan, transfer the cooked patties to a plate. Add the honey (kneading the packet before opening), hot sauce, and remaining worcestershire sauce to the pan. Stir to combine. Taste, then season with salt and pepper if desired. Transfer the caramelized onion to a bowl. Rinse and wipe out the pan.

+
+
+
+
+
+
+Toast the buns & serve your dish: +
+
+5 + +Toast the buns & serve your dish: + +
+
+

Halve the buns. Add a drizzle of olive oil to the same pan; heat on medium-high until hot. Add the buns, cut side down. Toast 30 seconds to 1 minute, or until lightly browned. Assemble the burgers using the toasted buns, cooked patties, and caramelized onion. Serve the burgers with the roasted carrots and sauce on the side. Enjoy! 

+
+
+
+
+
+ +
+
+
+

Tips from Home Chefs

+
+
+
+

About Blue Apron

+
+Ba hero +
+

+Blue Apron delivers original, step-by-step recipes and fresh ingredients to customers nationwide. Our menus change every week, so with each delivery you learn to cook inventive new dishes with seasonal ingredients. By letting us source these hard-to-find ingredients for you, you'll get food that is fresher and cheaper than you can get at your local supermarket, and there's no waste because we only send you what you need for each recipe. +

+

+We named our company “Blue Apron” because chefs around the world wear blue aprons when they're learning to cook, and it has become a symbol of lifelong learning in cooking. We believe you're never done learning in the kitchen, so we design our menus to ensure you're always learning new cooking techniques, trying new cuisines, and using unique ingredients. +

+

+Blue Apron is a weekly subscription service with no commitment - you can skip a week or cancel at any time with a week's notice. We can't wait to cook with you! +

+Get This Recipe Delivered +
+
+
+
+
+ +
+
+
+
+Prepare & roast the carrots: +
+
+
+1 + +Prepare & roast the carrots: + +
+
+

Remove the honey from the refrigerator to bring to room temperature. Place an oven rack in the center of the oven, then preheat to 450°F. Line a sheet pan with foil. Wash, dry, and peel the carrots; halve lengthwise, then cut crosswise into 2-inch pieces. Transfer to the foil. Drizzle with olive oil and season with salt and pepper. Toss to coat; arrange in an even layer. Roast 16 to 18 minutes, or until browned and tender when pierced with a fork. Remove from the oven.

+
+
+
+
+
+
+
+
+2 + +Prepare the ingredients & make the sauce: + +
+
+

While the carrots roast, grate the cheese on the large side of a box grater. Halve, peel, and thinly slice the onion. In a bowl, combine the mayonnaise and half the worcestershire sauce.

+
+
+
+Prepare the ingredients & make the sauce: +
+
+
+
+
+
+Form the patties: +
+
+
+3 + +Form the patties: + +
+
+

While the carrots continue to roast, in a medium bowl, combine the beef and grated cheese. Season with salt and pepper. Gently mix to combine, then form the mixture into two 1/2-inch-thick patties. Transfer to a plate.

+
+
+
+
+
+
+
+
+4 + +Cook the patties & caramelize the onion: + +
+
+

In a large pan (nonstick, if you have one), heat a drizzle of olive oil on medium-high until hot. Add the patties to one side of the pan. Add the sliced onion to the other side of the pan. Cook, occasionally stirring the onion, 4 to 5 minutes, or until the onion is slightly softened and the patties are browned. Flip the patties (carefully, as the oil may splatter). Continue to cook, occasionally stirring the onion, 4 to 5 minutes, or until the onion is softened and the patties are cooked through. Turn off the heat. Leaving the onions in the pan, transfer the cooked patties to a plate. Add the honey (kneading the packet before opening), hot sauce, and remaining worcestershire sauce to the pan. Stir to combine. Taste, then season with salt and pepper if desired. Transfer the caramelized onion to a bowl. Rinse and wipe out the pan.

+
+
+
+Cook the patties & caramelize the onion: +
+
+
+
+
+
+Toast the buns & serve your dish: +
+
+
+5 + +Toast the buns & serve your dish: + +
+
+

Halve the buns. Add a drizzle of olive oil to the same pan; heat on medium-high until hot. Add the buns, cut side down. Toast 30 seconds to 1 minute, or until lightly browned. Assemble the burgers using the toasted buns, cooked patties, and caramelized onion. Serve the burgers with the roasted carrots and sauce on the side. Enjoy! 

+
+
+
+
+
+
+ +
+ + + + +
+
+
+
+ +
+ + + + + + +
+ + + + + + + + + diff --git a/packages/parser/test/blueapron/stuffed-zucchini-with-carrots-currants-freekeh.html b/packages/parser/test/blueapron/stuffed-zucchini-with-carrots-currants-freekeh.html new file mode 100644 index 00000000..83bdc21e --- /dev/null +++ b/packages/parser/test/blueapron/stuffed-zucchini-with-carrots-currants-freekeh.html @@ -0,0 +1,1968 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +Recipe: Stuffed Zucchini with Carrots, Currants & Freekeh - Blue Apron + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+
+

+ + +Your Blue Apron Basket + + +

+
+
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+Loading... +
+
+
+ + +Continue Browsing + +
+
+Checkout +Checkout +
+
+
+ +
+
+ +Updating Your Basket… + +
+
+ +
+
+ + + +
+
+
+
+
+
+
+
+
+ + +  + + + + + +
+ +
+ +
+
+
+ +
+
+ + +
+ +
+
+
+ + + + +  + +
+
+ +
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+
+

+Get the perfect wine pairings +

+

+Enjoy delicious wines from top vineyards and winemakers. Six 500ml bottles arrive at your door every month. +

+
+
+
+
+ + +
+
+ + +
+
+
+
+ + +
+
+
+
+ +
+
+
+ + +
+
+
+
+
+ +
+ +
+
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+

+We’re sorry… +

+

+Currently, we cannot ship wine to + +Alaska + + +Provide your email address and we will notify you when that changes. + +

+
+
+ +
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+ +
+
+
+
+ +
+
+
+
+
+
+or +
+
+
+
+
+ + + +
+
+
+ +
+
+
+
+
+
+We ship wine to the following states: +
+
+
+
+
+
+
+
+
+
+
+ +
+ +
+
+ + +
+
+
+ + + + +
+
+ + + +
+ + + + + + + + + + +
+
+
+
+Stuffed Zucchini with Carrots, Currants & Freekeh +
+ +
+
+
+
+

+Stuffed Zucchini + + + Fill 1 + Created with Sketch. + + + + + + + + +

+

+with Carrots, Currants & Freekeh +

+
+
+
    +
  • + + + Group + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + +
    +Time +
    +
    40 min +
    +
  • +
  • + + + icon_serves + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Servings
    +
    +2 +
    +
  • +
  • + + + icon_cals + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + +
    Nutrition
    +
    + +Est. + + +410 + +calories + + + Group 22 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    +
    +Nutrition Label +
    + +Download + +
    +
    +
    +
  • +
+
+
+

In this vibrant dish, tender baked zucchini are stuffed with freekeh, sweet onion, and briny capers, and served over za’atar-seasoned carrots and currants tossed with more of the hearty grain. We’re bringing it all together with a drizzle of creamy Greek yogurt brightened with fresh lemon juice.

+Get Cooking +
+
+
+
+
+
+ + +
+ +
+
+
+
+fresh +
+
+ingredients +
+
+
+ +
+ +
+
+
+tried-and-true +
+
+kitchen tools +
+
+
+
+ +
+ +
+
+
+
+
+ +
+
+ +

+
+
+
+
+
+
+
+ +Add to Basket + +
+ +

+
+
+
+ + +
+
+
+
+
+
+
+
+ +
+
+
+
+time-saving +
+
+tips & techniques +
+
+
+ +
+ +
+
+
+
+step-by-step +
+
+instructions +
+
+ +
+
+
+Cook the freekeh: +
+
+1 + +Cook the freekeh: + +
+
+

Place an oven rack in the center of the oven, then preheat to 450°F. Fill a medium pot with salted water; cover and heat to boiling on high. Once boiling, add the freekeh and cook, uncovered, 24 to 26 minutes, or until tender. Drain thoroughly.

+
+
+
+
+Roast & hollow the zucchini: +
+
+2 + +Roast & hollow the zucchini: + +
+
+

While the freekeh cooks, wash and dry the fresh produce. Line a sheet pan with foil. Halve the zucchini lengthwise. Place on the foil. Drizzle with 1 teaspoon of olive oil and season with salt and pepper; turn to coat. Arrange cut side up. Roast 15 to 17 minutes, or until tender when pierced with a fork. Leaving the oven on, remove from the oven. Transfer the roasted zucchini to a work surface. When cool enough to handle, using a spoon, carefully scoop out and discard the seeds and pulp. Return the hollowed zucchini to the sheet pan, cut side up. 

+
+
+
+
+
+
+Prepare the remaining ingredients: +
+
+3 + +Prepare the remaining ingredients: + +
+
+

While the zucchini roast, halve and peel the onion, then small dice to get 1/2 cup (you may have extra). Peel and roughly chop 2 cloves of garlic. Grate the cheese on the small side of a box grater. Quarter and deseed the lemon. Peel the carrots and grate on the large side of a box grater. Place in a large bowl; add the currants, the juice of 2 lemon wedges, and the za’atar. Stir to combine. In a separate bowl, combine the yogurt, the juice of the remaining lemon wedges, and 1 tablespoon of water. Season with salt and pepper. 

+
+
+
+
+Cook the onion & make the filling: +
+
+4 + +Cook the onion & make the filling: + +
+
+

In a medium pan (nonstick, if you have one), heat 1/2 teaspoon of olive oil on medium-high until hot. Add the diced onion. Cook, stirring occasionally, 3 to 4 minutes, or until slightly softened. Add the chopped garlic, capers, and as much of the red pepper flakes as you’d like, depending on how spicy you’d like the dish to be; season with salt and pepper. Cook, stirring frequently, 3 to 4 minutes, or until softened. Transfer to a medium bowl. Add 1/2 cup of the cooked freekeh; stir to combine. Taste, then season with salt and pepper if desired.

+
+
+
+
+
+
+Stuff & bake the zucchini: +
+
+5 + +Stuff & bake the zucchini: + +
+
+

Divide the filling among the hollowed zucchini (you may have extra filling). Evenly top with the grated cheese. Bake 5 to 7 minutes, or until the cheese is melted and lightly browned. Remove from the oven. 

+
+
+
+
+Finish the freekeh & serve your dish: +
+
+6 + +Finish the freekeh & serve your dish: + +
+
+

While the zucchini bake, to the bowl of carrot-currant mixture, add the remaining cooked freekeh and 1/2 teaspoon of olive oil. Stir to combine. Taste, then season with salt and pepper if desired. Serve the finished freekeh topped with the baked zucchini. Drizzle with the lemon yogurt. Enjoy! 

+
+
+
+
+
+ +
+
+
+

Tips from Home Chefs

+
+
+
+

About Blue Apron

+
+Ba hero +
+

+Blue Apron delivers original, step-by-step recipes and fresh ingredients to customers nationwide. Our menus change every week, so with each delivery you learn to cook inventive new dishes with seasonal ingredients. By letting us source these hard-to-find ingredients for you, you'll get food that is fresher and cheaper than you can get at your local supermarket, and there's no waste because we only send you what you need for each recipe. +

+

+We named our company “Blue Apron” because chefs around the world wear blue aprons when they're learning to cook, and it has become a symbol of lifelong learning in cooking. We believe you're never done learning in the kitchen, so we design our menus to ensure you're always learning new cooking techniques, trying new cuisines, and using unique ingredients. +

+

+Blue Apron is a weekly subscription service with no commitment - you can skip a week or cancel at any time with a week's notice. We can't wait to cook with you! +

+Get This Recipe Delivered +
+
+
+
+
+ +
+
+
+
+Cook the freekeh: +
+
+
+1 + +Cook the freekeh: + +
+
+

Place an oven rack in the center of the oven, then preheat to 450°F. Fill a medium pot with salted water; cover and heat to boiling on high. Once boiling, add the freekeh and cook, uncovered, 24 to 26 minutes, or until tender. Drain thoroughly.

+
+
+
+
+
+
+
+
+2 + +Roast & hollow the zucchini: + +
+
+

While the freekeh cooks, wash and dry the fresh produce. Line a sheet pan with foil. Halve the zucchini lengthwise. Place on the foil. Drizzle with 1 teaspoon of olive oil and season with salt and pepper; turn to coat. Arrange cut side up. Roast 15 to 17 minutes, or until tender when pierced with a fork. Leaving the oven on, remove from the oven. Transfer the roasted zucchini to a work surface. When cool enough to handle, using a spoon, carefully scoop out and discard the seeds and pulp. Return the hollowed zucchini to the sheet pan, cut side up. 

+
+
+
+Roast & hollow the zucchini: +
+
+
+
+
+
+Prepare the remaining ingredients: +
+
+
+3 + +Prepare the remaining ingredients: + +
+
+

While the zucchini roast, halve and peel the onion, then small dice to get 1/2 cup (you may have extra). Peel and roughly chop 2 cloves of garlic. Grate the cheese on the small side of a box grater. Quarter and deseed the lemon. Peel the carrots and grate on the large side of a box grater. Place in a large bowl; add the currants, the juice of 2 lemon wedges, and the za’atar. Stir to combine. In a separate bowl, combine the yogurt, the juice of the remaining lemon wedges, and 1 tablespoon of water. Season with salt and pepper. 

+
+
+
+
+
+
+
+
+4 + +Cook the onion & make the filling: + +
+
+

In a medium pan (nonstick, if you have one), heat 1/2 teaspoon of olive oil on medium-high until hot. Add the diced onion. Cook, stirring occasionally, 3 to 4 minutes, or until slightly softened. Add the chopped garlic, capers, and as much of the red pepper flakes as you’d like, depending on how spicy you’d like the dish to be; season with salt and pepper. Cook, stirring frequently, 3 to 4 minutes, or until softened. Transfer to a medium bowl. Add 1/2 cup of the cooked freekeh; stir to combine. Taste, then season with salt and pepper if desired.

+
+
+
+Cook the onion & make the filling: +
+
+
+
+
+
+Stuff & bake the zucchini: +
+
+
+5 + +Stuff & bake the zucchini: + +
+
+

Divide the filling among the hollowed zucchini (you may have extra filling). Evenly top with the grated cheese. Bake 5 to 7 minutes, or until the cheese is melted and lightly browned. Remove from the oven. 

+
+
+
+
+
+
+
+
+6 + +Finish the freekeh & serve your dish: + +
+
+

While the zucchini bake, to the bowl of carrot-currant mixture, add the remaining cooked freekeh and 1/2 teaspoon of olive oil. Stir to combine. Taste, then season with salt and pepper if desired. Serve the finished freekeh topped with the baked zucchini. Drizzle with the lemon yogurt. Enjoy! 

+
+
+
+Finish the freekeh & serve your dish: +
+
+
+
+
+ +
+ + + + +
+
+
+
+ +
+ + + + + + +
+ + + + + + + + + diff --git a/packages/parser/test/cookieandkate.com/ExtraVegetableFriedRice.html b/packages/parser/test/cookieandkate.com/ExtraVegetableFriedRice.html new file mode 100644 index 00000000..6d3bfb80 --- /dev/null +++ b/packages/parser/test/cookieandkate.com/ExtraVegetableFriedRice.html @@ -0,0 +1,8088 @@ + + + + + +Extra Vegetable Fried Rice - Cookie and Kate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +
+
+
+
+
+ Our cookbook, Love Real Food, is here! Get your copyLove Real Food + +
+
+
+
+ +
+ + +
+ + + + + + + + + + + + + + + diff --git a/packages/parser/test/cooking.nytimes.com/1014688-baked-orzo-with-artichokes-and-peas.html b/packages/parser/test/cooking.nytimes.com/1014688-baked-orzo-with-artichokes-and-peas.html new file mode 100644 index 00000000..6150e4e9 --- /dev/null +++ b/packages/parser/test/cooking.nytimes.com/1014688-baked-orzo-with-artichokes-and-peas.html @@ -0,0 +1,1893 @@ + + + + Baked Orzo With Artichokes and Peas Recipe - NYT Cooking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + +
+ + + +
+
+
+
+ + +
+ +
+ + Healthy + + +
+

+ Baked Orzo With Artichokes and Peas +

+
+ +
+ + +
    +
  • + Yield + 6 servings +
  • +
  • + + Time + 1 hour 10 minutes +
  • +
+
+ +
+
+
+ + Save To Recipe Box +
+
+
+ + + Save + Saved +
+
Add to a collection +
+
+
+ +
+ + + + + +
+ +
+ +
+ +
+ Baked Orzo With Artichokes and Peas + +

+ Andrew Scrivani for The New York Times +

+
+ + +
+ + + + + + + + + + + + + +
+
+

Ingredients

+ +
    +
  • + + 1 + + + recipe olive oil béchamel + +
  • +
  • + + + + + Juice of 1 lemon + +
  • +
  • + + 4 + + + small globe artichokes or 2 large globe artichokes + +
  • +
  • + + 2 + + + tablespoons extra virgin olive oil + +
  • +
  • + + 2 + + + large garlic cloves, minced, or 1 small bulb of green garlic, minced + +
  • +
  • + + ¾ + + + pound orzo (about 1 2/3 cups) + +
  • +
  • + + ¾ + + + cup shelled fresh peas (about 1 pound in the shells) + +
  • +
  • + + 2 + + + tablespoons finely chopped parsley + +
  • +
  • + + 2 + + + tablespoons finely chopped dill + +
  • +
  • + + 2 + + + ounces Parmesan, grated (1/2 cup) + +
  • +
+ +
+ +
+

Preparation

+
    +
  1. Make the béchamel and set aside.
  2. +
  3. Prepare the artichokes. Fill a bowl with water and add the lemon juice. Cut away the stem and the top third of each artichoke, break off the leaves and trim them down to the bottoms, placing them in the water as you go along. Quarter them and slice large quarters about 1/4 inch thick. Save the leaves and steam them; serve them as a first course or a side dish.
  4. +
  5. Drain the artichoke hearts and dry on a clean dish towel. Heat the oil over medium-high heat in a large, heavy skillet. Add the sliced artichoke hearts and cook, stirring, until lightly browned and tender, about 10 minutes. Season to taste with salt and pepper. Turn down the heat and add the garlic. Cook just until fragrant, about 30 seconds, and remove from the heat.
  6. +
  7. Preheat the oven to 350 degrees. Oil a 2-quart baking dish. Bring a large pot of generously salted water to a boil and add the orzo. Cook 5 minutes, add the peas and continue to boil for another 4 minutes, until the orzo is just tender but still firm to the bite. Drain and transfer to a large bowl. Add the artichokes, herbs, béchamel and Parmesan and stir together until the sauce coats all of the other ingredients. Transfer to the prepared baking dish.
  8. +
  9. Place in the oven and bake 30 minutes, until lightly colored on top.
  10. +
+ +

+ Tip +

+
    +
  • + Advance preparation: You can prepare the béchamel and the artichokes a day ahead and keep in the refrigerator. Gently reheat the sauce and whisk well before assembling the pastitsio. The assembled casserole can sit for several hours before baking. +
  • +
+ +
+ + + +
+ + +
+ Like this recipe? +
+
+
+ + Save To Recipe Box +
+
+
+ + + Save + Saved +
+
Add to a collection +
+
+
+ +
+ + + + + +
+ +
+ +
+ +
+
+
+
+ + +
+ + + + + + + + + + + +
+

+ More from Easter Sides +

+ + + + + + + + + + + + + +
+
+

+ Trending on Cooking +

+ + + + + +
+ + +
+ +
+

+ Brush Up On The Basics With Our Cooking Guides +

+ + + + + + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/parser/test/cooking.nytimes.com/1020290-one-pot-pasta-with-ricotta-and-lemon.html b/packages/parser/test/cooking.nytimes.com/1020290-one-pot-pasta-with-ricotta-and-lemon.html new file mode 100644 index 00000000..a6fda4e5 --- /dev/null +++ b/packages/parser/test/cooking.nytimes.com/1020290-one-pot-pasta-with-ricotta-and-lemon.html @@ -0,0 +1,1873 @@ + + + + One-Pot Pasta With Ricotta and Lemon Recipe - NYT Cooking + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+ + + + + + + + + + + + +
+ + + +
+
+
+
+ +
+ +
+ + Easy + + +
+

+ One-Pot Pasta With Ricotta and Lemon +

+
+ +
+ +
    +
  • + Yield + 4 servings +
  • +
  • + + Time + 15 minutes +
  • +
+
+ +
+
+
+ + Save To Recipe Box +
+
+
+ + + Save + Saved +
+
Add to a collection +
+
+
+
+ + + + + +
+ +
+ +
+ +
+ One-Pot Pasta With Ricotta and Lemon + +

+ Jenny Huang for The New York Times +

+
+ + +
+ + + + + + + + + + + + + +
+
+

Ingredients

+ +
    +
  • + + + + + Kosher salt + +
  • +
  • + + 1 + + + pound short, ribbed pasta, like gemelli or penne + +
  • +
  • + + 1 + + + cup whole-milk ricotta (8 ounces) + +
  • +
  • + + 1 + + + cup freshly grated Parmesan or pecorino (2 ounces), plus more for serving + +
  • +
  • + + 1 + + + tablespoon freshly grated lemon zest plus 1/4 cup lemon juice (from 1 to 2 lemons) + +
  • +
  • + + + + + Black pepper + +
  • +
  • + + + + + Red-pepper flakes, for serving + +
  • +
  • + + ¼ + + + cup thinly sliced or torn basil leaves, for serving (optional) + +
  • +
+
    +
  • +
    +
    +
    Nutritional Information
    +
    +
      +
    • +
      Nutritional analysis per serving (4 servings)
      + + 577 calories; 12 grams fat; 7 grams saturated fat; 3 grams monounsaturated fat; 0 grams polyunsaturated fat; 87 grams carbohydrates; 3 grams dietary fiber; 3 grams sugars; 26 grams protein; 38 milligrams cholesterol; 437 milligrams sodium + +
    • +
      + Note: + + The information shown is Edamam’s estimate based on available ingredients and preparation. It should not be considered a substitute for a professional nutritionist’s advice. + +
      + +
    +
    +
    +
  • +
+ +
+ +
+

Preparation

+
    +
  1. Bring a large pot of salted water to a boil. Add the pasta and cook according to package instructions until al dente. Reserve 1 cup pasta cooking water, then drain the pasta.
  2. +
  3. In the same pot, make the sauce: Add the ricotta, Parmesan, lemon zest and juice, 1/2 teaspoon salt and 1/2 teaspoon pepper and stir until well combined.
  4. +
  5. Add 1/2 cup pasta water to the sauce and stir until smooth. Add the pasta and continue to stir vigorously until the noodles are well coated. Add more pasta water as needed for a smooth sauce.
  6. +
  7. Divide the pasta among bowls and top with some of the sauce that’s pooled at the bottom of the pot. Garnish with grated Parmesan, black pepper, red-pepper flakes and basil, if using.
  8. +
+ + +
+ + + +
+ + +
+ Like this recipe? +
+
+
+ + Save To Recipe Box +
+
+
+ + + Save + Saved +
+
Add to a collection +
+
+
+
+ + + + + +
+ +
+ +
+ +
+
+
+
+ +
+ + + + + + + + + + + +
+

+ More from Sam Sifton’s Suggestions +

+ + + + + + + + + + + + + +
+
+

+ Trending on Cooking +

+ + + + + +
+ + +
+ +
+

+ Brush Up On The Basics With Our Cooking Guides +

+ + + + + + + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/parser/test/detoxinista.com/ingredient-peanut-butter-cookies.html b/packages/parser/test/detoxinista.com/ingredient-peanut-butter-cookies.html new file mode 100644 index 00000000..edd472fd --- /dev/null +++ b/packages/parser/test/detoxinista.com/ingredient-peanut-butter-cookies.html @@ -0,0 +1,28 @@ +4-Ingredient Peanut Butter Cookies | Detoxinista

4-Ingredient Peanut Butter Cookies

These 4-Ingredient Peanut Butter Cookies have a rich peanut butter flavor and are SO EASY to make. I love that they’re naturally gluten-free, and can be made vegan, too!

How to Make 4-Ingredient Peanut Butter Cookies

These cookies are made with just 4 ingredients you probably already have on hand. I use coconut sugar as a low-glycemic option compared to white sugar, and all-natural peanut butter for maximum peanut butter flavor, but you can use any variety you happen to have.

MY LATEST VIDEOS

Pair those two ingredients with an egg and baking soda, and you’ve got the easiest cookies ever. I also recommend adding an extra pinch of salt, especially if you’re using unsalted peanut butter, but that’s optional.

Peanut Butter Cookies without Eggs

If you are vegan or have an egg allergy, you can also make these 4-Ingredient Peanut Butter Cookies without using eggs. You can use a flax egg instead!

4 ingredient peanut butter cookies on pan

To make a flax egg, simply stir together 1 tablespoon of ground flaxseeds with 3 tablespoons of water. The mixture will begin to “gel” and thicken up in about 10 minutes, and then you can use it in place of an egg in this recipe. The resulting cookies are a little softer and more fragile, but that’s exactly how I like my cookies.

baked peanut butter cookies on pan

Peanut Butter Chocolate Chip Cookies

If you like the combination of peanut butter + chocolate (like my husband does!) you can also add a few dark chocolate chips to this recipe, if you like. I just press the chocolate chips into the tops of the cookies, right before baking.

peanut butter chocolate chip cookies

5 from 3 votes
4-Ingredient Peanut Butter Cookies
Prep Time
10 mins
Cook Time
10 mins
Total Time
20 mins
 

These 4-INGREDIENT PEANUT BUTTER COOKIES have the best flavor, and are so easy to make! I love that they're gluten-free and can be made without eggs.

Course: Dessert
Cuisine: American
Keyword: cookies, gluten free, peanut butter
Servings: 20
Calories: 92 kcal
Ingredients
  • 1 cup peanut butter
  • 1/2 cup coconut sugar
  • 1 egg (or a flax egg; see notes)
  • 1/2 teaspoon baking soda
Instructions
  1. Preheat the oven to 350ºF and line a baking sheet with parchment paper.

  2. In a large bowl, combine the peanut butter, coconut sugar, egg, and baking soda. Add a pinch of salt, if desired. (If using unsalted peanut butter, add at least 1/4 to 1/2 teaspoon of fine salt to compensate.)

  3. Drop the cookie dough by the tablespoon onto the lined baking sheet, then use a fork to flatten them in a criss-cross shape. Once all of the cookies have been flattened, bake them until lightly golden, about 10 to 12 minutes at 350ºF.

  4. Let the cookies cool on the pan for 10 minutes, then transfer them to a wire rack to cool completely. These cookies can be served at room temperature, or place them in the freezer to firm up even more. My husband likes to eat them straight from the freezer for a crispy texture.

  5. Store the cookies at room temperature for up to 3 days, or in the fridge or freezer for up to 3 months in an airtight container.

Per cookie: Calories: 92, Fat: 6g, Carbohydrates: 6g, Fiber: 0g, Protein: 3g

Recipe Notes:

  • To make these cookies egg-free, use a flax egg. (Or chia egg!) Combine 1 tablespoon of ground seeds with 3 tablespoons of water, and let them “gel” for about 10 minutes before using in this recipe.
  • You can use any other nut-butter you like for this recipe, such as almond butter or sunflower seed butter. (Sunflower butter might turn green in the center, as a result of a safe chemical reaction with baking soda.)
  • Prefer to use another sweetener? Try my Flourless Peanut Butter Honey Cookies or Date-Sweetened Peanut Butter Cookies instead.

Reader Feedback: Have you tried these cookies? Let me know what you think about them in the comments below! And if you make any modifications, please let us know how that worked out for you, too. We can all benefit from your experience.

Get more recipes + meal plans in my books:

detox book and meal plan

Never Miss a Post!

Get a FREE 3-Day Detox Plan when you sign up for my email newsletter

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Comments

Wendy

YUM! I just made these with my kids using the vegan eggs, and they turned out SO good. I love that the coconut sugar makes them lightly sweet, and how they pack so much peanut butter flavor. We’ll definitely be making these again and again!

Pam

Super easy to make and deliciously peanut buttery! You really have to make sure everything is combined. My peanut butter was a little thick so i really got in there to mix it. I made my first batch with an egg..the texture was really good. Not too crisp, but just enough. I put some chocolate chips on a few of them.. good call for when I need a little of that. My daughter is vegan and GF… can’t wait to try the vegan version and compare the difference.

Elizabeth

I made these cookies yesterday. I haven’t had peanut butter cookies in years. I loved how easy & quick this recipe is & the cookies are delicious! I mixed the chocolate chips into the dough (just a few & then topped them with a couple more. Will more than likely make these again.

Never Miss a Post!

Get a FREE 3-Day Detox Plan when you sign up for my email newsletter

+ \ No newline at end of file diff --git a/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad.html b/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad.html new file mode 100644 index 00000000..ddf9af07 --- /dev/null +++ b/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad.html @@ -0,0 +1,121 @@ + Southwestern Black Bean Couscous Salad {Video} - Fit Foodie Finds

Southwestern Black Bean Couscous Salad

Make this Southwestern Black Bean Couscous Salad in under 30 minutes. It’s packed with beans, veggies, and healthy fats and makes for a great meal prep lunch idea.

Southwestern Black Bean Couscous Salad in 2 bowls

Linley picked me up from the airport last Monday at 11AM after my b-day trip to Milwaukee to see Man Candy and the first thing we did was go straight to Whole Foods for lunch. I love love love their selection of cold salads and the fact that you can get a little bit of everything. One of my favorite salads at WFHB (Whole Foods Hot Bar) has Israeli Couscous in it and I am obsessed. I’d never made Israeli Couscous until a few months ago and it’s SO EASY! Boil water, add couscous, and POOF.

There are so many great flavor combinations that you can mix in with Israeli Couscous and we decided on a southwestern style. Check it —>

Quick Meal Prep Meal

The cool thing about this couscous salad recipe is that you can have it complete in under 20 minutes AND it makes for an amazing meal-prep recipe. You can eat it on its own or as a side. You’ve got your grain (couscous), your pulse/protein (black beans), and tons of veggies! I also think this is an excellent meatless Monday recipe, as well. The black beans do a whole lot for the protein/fiber content. Pulses, in general, can really amp up the nutrition of any recipe. FUN FACT- did you know that pulses are actually considered both a protein and a vegetable. MIND BLOWING. Let’s check out the chunky line-up:

  • Israeli Couscous
  • Black Beans
  • Cherry Tomatoes
  • Sweet Corn
  • Red Onion

Refreshing Dressing

The dressing is SUPER simple and so refreshing. It’s an olive oil base with lime juice, jalapeño, cilantro, cumin, and sea salt. YASSSSSSS. So good.

All you need to do is pop those ingredients into your high-speed food processor and whirl until combined. Then, you simply pour it on top of your Couscous salad and mix.

tomatoes, couscous, onions, corn, black beans, avocado in individual bowls for black bean salad

Couscous Q&A’s

Wondering what the heck couscous even is? Check out some commonly asked questions and answers below!

What is couscous? Couscous is actually very similar to pasta. It is made from semolina, which is the hard part of the grain of hard wheat.

Can couscous be eaten cold? Couscous can be eaten either hot or cold, it just depends on your preference and what you’re eating it with!

Is couscous healthier than pasta? When comparing couscous to pasta by the cup has 176 calories and 36 carbs. One cup of cooked pasta has 200 calories and 43g carbs.

lime dressing being poured over black bean couscous salad in bowl

 

More Grain Based Salads

Southwestern Black Bean Couscous Salad Video

Recipe

Southwestern Black Bean Couscous Salad

+

Make this Southwestern Black Bean Couscous Salad in under 20 minutes. It’s packed with beans, veggies, and healthy fats and makes for a great meal prep lunch idea.

  • Prep Time: 20 minutes
  • Cook Time: 10 minutes
  • Total Time: 30 minutes
Author: Lee Hersh
Yield: 6 1x
Category: Salad
Method: Stove Top
Cuisine: Southwestern
+

Ingredients

+

For the Salad

+
    +
  • 1.25 cups Israeli couscous
  • +
  • 1.5 cups water
  • +
  • 1 15 oz. can black beans, rinsed
  • +
  • 1 cup sweet corn
  • +
  • 1 cup cherry tomatoes, cut into fourths
  • +
  • 1/2 red onion, finely diced
  • +
+

For the Dressing

+
    +
  • 1/2 cup olive oil
  • +
  • 1/4 cup fresh cilantro, chopped
  • +
  • juice from 1 to 2 limes*
  • +
  • 1 teaspoon ground cumin
  • +
  • 1/8 teaspoon sea salt
  • +
+

Instructions

    +
  1. Bring 1.5 cups of water to a rolling boil. Add in couscous and turn to low. Let simmer until all water is absorbed. Place in a tupperware and into the refrigerator to chill.
  2. Once the couscous has chilled mix together couscous, black beans, sweet corn, cherry tomatoes, and red onion in a large bowl. Set aside.
  3. Prep dressing by placing all ingredients int a high-speed food processor and mixing on high for about a minute, or until smooth.
  4. Pour dressing over couscous mixture and mix.

Notes

  • Depending on how much you like lime, start with the juice from 1 and then go up from there. We used the juice from 2!

Nutrition

  • Serving Size: 1/6
  • Calories: 290
  • Sugar: 3
  • Sodium: 52
  • Fat: 19
  • Carbohydrates: 25
  • Fiber: 5
  • Protein: 6
Hashtag with us!
Don’t forget to tag your posts on social media with the hashtag, we’d love to see what you’re up to!
#fitfoodiefinds

Leave a comment

22 Comments

    Share

    Send this to friend

    + \ No newline at end of file diff --git a/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad2.html b/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad2.html new file mode 100644 index 00000000..f7339074 --- /dev/null +++ b/packages/parser/test/fitfoodiefinds.com/sw-bb-cc-salad2.html @@ -0,0 +1,104 @@ + Southwestern Black Bean Couscous Salad {Video} - Fit Foodie Finds

    Southwestern Black Bean Couscous Salad

    Make this Southwestern Black Bean Couscous Salad in under 30 minutes. It’s packed with beans, veggies, and healthy fats and makes for a great meal prep lunch idea.

    Southwestern Black Bean Couscous Salad in 2 bowls

    Linley picked me up from the airport last Monday at 11AM after my b-day trip to Milwaukee to see Man Candy and the first thing we did was go straight to Whole Foods for lunch. I love love love their selection of cold salads and the fact that you can get a little bit of everything. One of my favorite salads at WFHB (Whole Foods Hot Bar) has Israeli Couscous in it and I am obsessed. I’d never made Israeli Couscous until a few months ago and it’s SO EASY! Boil water, add couscous, and POOF.

    There are so many great flavor combinations that you can mix in with Israeli Couscous and we decided on a southwestern style. Check it —>

    Quick Meal Prep Meal

    The cool thing about this couscous salad recipe is that you can have it complete in under 20 minutes AND it makes for an amazing meal-prep recipe. You can eat it on its own or as a side. You’ve got your grain (couscous), your pulse/protein (black beans), and tons of veggies! I also think this is an excellent meatless Monday recipe, as well. The black beans do a whole lot for the protein/fiber content. Pulses, in general, can really amp up the nutrition of any recipe. FUN FACT- did you know that pulses are actually considered both a protein and a vegetable. MIND BLOWING. Let’s check out the chunky line-up:

    • Israeli Couscous
    • Black Beans
    • Cherry Tomatoes
    • Sweet Corn
    • Red Onion

    Refreshing Dressing

    The dressing is SUPER simple and so refreshing. It’s an olive oil base with lime juice, jalapeño, cilantro, cumin, and sea salt. YASSSSSSS. So good.

    All you need to do is pop those ingredients into your high-speed food processor and whirl until combined. Then, you simply pour it on top of your Couscous salad and mix.

    tomatoes, couscous, onions, corn, black beans, avocado in individual bowls for black bean salad

    Couscous Q&A’s

    Wondering what the heck couscous even is? Check out some commonly asked questions and answers below!

    What is couscous? Couscous is actually very similar to pasta. It is made from semolina, which is the hard part of the grain of hard wheat.

    Can couscous be eaten cold? Couscous can be eaten either hot or cold, it just depends on your preference and what you’re eating it with!

    Is couscous healthier than pasta? When comparing couscous to pasta by the cup has 176 calories and 36 carbs. One cup of cooked pasta has 200 calories and 43g carbs.

    lime dressing being poured over black bean couscous salad in bowl

     

    More Grain Based Salads

    Southwestern Black Bean Couscous Salad Video

    Recipe

    Southwestern Black Bean Couscous Salad

    Make this Southwestern Black Bean Couscous Salad in under 20 minutes. It’s packed with beans, veggies, and healthy fats and makes for a great meal prep lunch idea.

    • Prep Time: 20 minutes
    • Cook Time: 10 minutes
    • Total Time: 30 minutes
    Author: Lee Hersh
    Yield: 6 1x
    Category: Salad
    Method: Stove Top
    Cuisine: Southwestern

    Ingredients

    + +
    • 1.25 cups Israeli couscous
    • 1.5 cups water
    • 1 15 oz. can black beans, rinsed
    • 1 cup sweet corn
    • 1 cup cherry tomatoes, cut into fourths
    • 1/2 red onion, finely diced
    +
    • 1/2 cup olive oil
    • 1/4 cup fresh cilantro, chopped
    • juice from 1 to 2 limes*
    • 1 teaspoon ground cumin
    • 1/8 teaspoon sea salt

    Instructions

    1. Bring 1.5 cups of water to a rolling boil. Add in couscous and turn to low. Let simmer until all water is absorbed. Place in a tupperware and into the refrigerator to chill.
    2. Once the couscous has chilled mix together couscous, black beans, sweet corn, cherry tomatoes, and red onion in a large bowl. Set aside.
    3. Prep dressing by placing all ingredients int a high-speed food processor and mixing on high for about a minute, or until smooth.
    4. Pour dressing over couscous mixture and mix.

    Notes

    • Depending on how much you like lime, start with the juice from 1 and then go up from there. We used the juice from 2!

    Nutrition

    • Serving Size: 1/6
    • Calories: 290
    • Sugar: 3
    • Sodium: 52
    • Fat: 19
    • Carbohydrates: 25
    • Fiber: 5
    • Protein: 6
    Hashtag with us!
    Don’t forget to tag your posts on social media with the hashtag, we’d love to see what you’re up to!
    #fitfoodiefinds

    Leave a comment

    22 Comments

      Share

      Send this to friend

      + \ No newline at end of file diff --git a/packages/parser/test/index.js b/packages/parser/test/index.js new file mode 100644 index 00000000..ea5f774b --- /dev/null +++ b/packages/parser/test/index.js @@ -0,0 +1,16 @@ +const { readFile } = require('fs') + +const testAsset = path => { + return new Promise((resolve, reject) => { + readFile(`${__dirname}/${path}`, { encoding: 'utf8' }, (err, content) => { + if (err) { + return reject(err) + } + return resolve(content) + }) + }) +} + +module.exports = { + testAsset +} diff --git a/packages/parser/test/ivu.org/sauteed-peppers.html b/packages/parser/test/ivu.org/sauteed-peppers.html new file mode 100644 index 00000000..dbb4c306 --- /dev/null +++ b/packages/parser/test/ivu.org/sauteed-peppers.html @@ -0,0 +1,186 @@ + + + +Vegetarian Recipes Around the World - Sauteed Peppers + + + + + + + + + + + + +
      + + + + + + + + + + +
      International Vegetarian Union (IVU)
      IVU logo +
      + +
      + +
      + + + + + + + +
      Recipes Around the World International + Vegetarian Union
      + Vegan Italian Recipes
      + Contributed by Vegetarians and Vegans from around the world +
      + + + + + + + + + + + + + +
      +
      Use + these links to buy from amazon and IVU gets up to 10%!
      +
      +
      +
      + + +

      + + +

      + +

      + +

      +
      + + + + +
      +

      Sauteed + Peppers
      + From: Karen Sonnessa +

      +

      Serving Size: 1

      +
        +
      • 3 tablespoons olive oil
      • +
      • 1 small red onion -- or 1/2 Vidalia
      • +
      • 3 bell peppers -- (any color or colors
      • +
      • 2 garlic cloves -- sliced (or powder)
      • +
      • 1/4 cup tomato sauce
      • +
      • 1 tablespoon balsamic vinegar
      • +
      • 1 tablespoon marjoram -- (1 t dried)
      • +
      • salt and pepper -- to taste
      • +
      + Quarter onion and slice thinly.
      + Slice peppers to desired thickness.
      + Saute onions, over high heat, in olive oil for 4-5 minutes until edges + are browned.
      + Add peppers and garlic, and continue to saute over high heat for 10 + minutes, until peppers start to get browned. +

      Lower heat to medium, add tomato sauce.
      + Cook for another 10 minutes.
      + At the end, add vinegar, salt and pepper to taste, and marjoram. +

      Serve over pasta, rice, or polenta. +

      +
      + + + + + +
      +
      +

      +

      +
      +
      + +
      +
      +
      + +
      +
      + + +
      +

      +
      +
      + + +
      + + diff --git a/packages/parser/test/joyfoodsunshine.com/paleo-banana-bread.html b/packages/parser/test/joyfoodsunshine.com/paleo-banana-bread.html new file mode 100644 index 00000000..487d30e7 --- /dev/null +++ b/packages/parser/test/joyfoodsunshine.com/paleo-banana-bread.html @@ -0,0 +1,365 @@ + Paleo Banana Bread - JoyFoodSunshine
      Copyright © 2019 JoyFoodSunshine.com
      + + \ No newline at end of file diff --git a/packages/parser/test/kblog.lunchboxbunch.com/easy-sweet-potato-veggie-burgers-with.html b/packages/parser/test/kblog.lunchboxbunch.com/easy-sweet-potato-veggie-burgers-with.html new file mode 100644 index 00000000..b089bbad --- /dev/null +++ b/packages/parser/test/kblog.lunchboxbunch.com/easy-sweet-potato-veggie-burgers-with.html @@ -0,0 +1,1481 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Easy Sweet Potato Veggie Burgers! With Avocado. - Vegan Recipe + + + + + + + + + + + + + + + + + + + + + + + + +Star Rating WIDGET PACK + + + + +
      + + + + + +
      +
      + + +
      + +
      + + +
      + +
      +
      +
      +
      + +
      +
      + + +
      +
      +
      +
      +
      + + + +
      +
      + +
      +
      +
      + +
      +
      + +

      + +Easy Sweet Potato Veggie Burgers! With Avocado. + +

      + +
      +
      +
      +
      +
      +
      +
      +
      +
      +Crave a veggie burger. One with Panko-crusted edges - infused with tender sweet potato and creamy, rustic white beans. Tall stacked on a toasted grain bun - crisp romaine leaves sprawling out the sides. Lime green avocado. Dijon. Pepper. Zesty onion.
      +
      +These Sweet Potato Tahini Bean Burgers are super easy to make. Satisfy your burger craving in a flash. And while you are stacking toppings, humming happy burger-eating music, sipping lemonade, ginger ale or iced tea, crunching baked french fries, tater tots or chips - basically feasting however you like - you can laugh at anyone who thinks a "real" burger can't be vegan.
      +
      +How-to video added Oct 2014!..
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +
      +This recipe appears in my cookbook Healthy Happy Vegan Kitchen - (and on the cover!)..
      +
      +
      +
      +Valentine's Day came and went just as it usually does. A nice meal, warm fuzzy feelings, flowers and chocolate. For our VDay meal we dined out at Real Food Daily in Santa Monica. They had a special menu that I simply couldn't pass up. Everything was delish. But the highlight of the meal for me: plump little balls of "goat cheese" - vegan of course...
      +
      +"A salad of baby greens, roasted baby beets, tangerines, smoked almond crusted ‘goat cheese’ flirting with a creamy shallot dressing" -RFD menu
      +
      +They were 'almond crusted' a slight smokiness to them. They were perched atop a light green salad. Some beets on the side and shallot dressing. When you smashed the side of your fork into these balls they burst open to reveal a tender silky interior. They were amazing. I need the recipe!
      +
      +How was your VDay? Any disasters or wonderful moments to report?
      +
      +And those tender crispy balls from RFD really inspired me to post one of my favorite easy veggie burger recipes.
      +
      +So today, I woke up. Munched some blueberries. Played with the cat. And worked on this post as drizzly raindrops poured outside my window. Blustery trees swaying all morning and well into the evening.
      +
      +
      +
      +Easy Burger. You simply take a baked sweet potato, some soft canned beans (I used cannellini white beans) add in a few accents, mash, saute and serve. You can also bake for a healthier preparation. And you could add in other whole food ingredients too like brown rice, finely chopped apple, hemp seeds - whatever! The sweet potato is such a nice binder - you can really get creative if you choose.
      +
      +I pan-fry. More of a saute really. I use virgin coconut oil or safflower oil.
      +
      +And I don't think I have to remind you how incredibly healthy sweet potatoes and beans are. Filled with good stuff. Vitamins, minerals, fiber, protein. Dig in.
      +
      +
      +
      +The Patty. I was still feeling Valentine's Day-y..
      +
      +
      +I served the patties with tender sliced avocado, a crisp bed of romaine lettuce, a circle of onion, some Dijon mustard and some pepper and olive oil over top.
      +
      +
      +
      +

      +

      Easy Sweet Potato Veggie Burgers with Avocado

      Kathy Patalsky

      Published 02/21/2012

      Easy Sweet Potato Veggie Burgers with Avocado
      +

      Sweet potato veggie burgers with avocado, family-approved go-to dinner .

      Ingredients

      • 1 medium sweet potato, baked and peeled
      • +
      • 16oz. cooked white beans (canned, drained and rinsed)
      • +
      • 1/2 cup white onion, chopped
      • +
      • 2-3 Tbsp tahini
      • +
      • 3/4 tsp apple cider vinegar
      • +
      • 1 tsp garlic powder
      • +
      • 1/2 - 1 tsp chipotle powder (or cajun spice) (use more for spicier burgers)
      • +
      • 1/2 tsp salt
      • +
      • 1/4 tsp black pepper (add more for more bite!)
      • +
      • 1/3 cup nutritional yeast OR any flour (try oat flour)
      • +
      • 1/2 - 1 cup finely chopped greens (kale, spinach, parsley)
      • +
      • toppings: avocado, tomato, vegenaise, burger buns, greens
      • +
      • skillet: 1 Tbsp oil ( extra virgin olive oil, coconut oil, or other)
      • +
      • optional: Panko bread crumbs for crispy coating
      • +

      Instructions

      1. Bake your sweet potato in a 400 degree oven for 40-60 minutes or until tender. If in a hurry, you could use the microwave, but oven-baked yields a bit more flavor.
      2. +
      3. Add the potato and beans to a large mixing bowl. Using a large fork, mash well. Fold in the onion and keep mashing. Add all the remaining burger ingredients and mash, mash, mash well until thickened and mashed well. Tip! Rinse your beans in hot water before adding to bowl, this heats them, making them easier to mash.
      4. +
      5. Warm oven to 400 degrees.
      6. +
      7. Warm a skillet over high heat and add the oil.
      8. +
      9. Using hands, form the burger mixture into large patties. Place patties in the hot skillet. Note: If using Panko bread crumbs, before placing burgers in skillet, roll patties in Panko to coat well. In skillet: Cook 1-3 minutes on each side, until lightly browned. Repeat until all the burger mixture has been used. Optional: Before forming patties, place mixture in the fridge for a half hour or longer.
      10. +
      11. Place the skillet-cooked patties on a baking sheet and bake for 10-15 minutes, until cooked through. Note: YES you could skip the skillet part and just bake the veggie burgers, but the flavor is better with those crispy oil-seared edges. If just baking, the baking time will be around 20 minutes, depending on patty size.
      12. +
      13. Slice up all your burger toppings and toast the buns. Sprouted grain were used! Add vegan mayo or spicy mustard and the patty and toppings. Serve warm!
      14. +
      15. Store leftover burgers, sealed, in the fridge for up to a day, or freeze and consume within a few weeks for best flavor and texture. To reheat: warm in a 400 degree oven until warmed through, about 12 minutes, depending on burger thickness.
      16. +

      Yield: 6-8 patties

      Prep Time: 00 hrs. 10 mins.

      Cook time: 00 hrs. 20 mins.

      Total time: 30 mins.

      Nutrition

      • Calories: 176g
      • +
      • Fat: 4g
      • +
      • Protein: 7g
      • +
      • Dietaryfiber: 5g
      • +
      • Totalcarbs: 30g
      • +

      Tags: veggie burgers,entree,sweet potatoes,dinner,easy,avocado,entree

      +Note: yes this patty does fall kind of apart as you eat it. But that is OK because it tastes yummy.
      +
      +
      +
      +Recipe Tweak Note.. The ABOVE recipe is the one I use at least once every few weeks. It is an easy and delicious version. BELOW I provide a shot of the older recipe since there were a few comments from people about when I changed the recipe. I updated the recipe based on the one I currently make on a routine basis. As always, you can add spices like cajun and nooch to the patty as you'd like. So in case you are curious, below is the original, longer recipe..
      +
      +

      +
      +
      +
      +
      +
      +
      +My Book! If you loved that recipe, please check out my book / wellness guide "365 Vegan Smoothies" from Penguin / Avery - details here. +
      +
      + + + +
      +
      + +
      + + + + +blog comments powered by + Disqus + + +
      + +
      + +
      +
      +
      + + +
       
      +
      + +
      +
      + +
      +
      + +
      +
      + + + + + + + +
      +
      +
      +
      +
      + + +
      +
      + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/kitchen.benburwell.com/palak-paneer.html b/packages/parser/test/kitchen.benburwell.com/palak-paneer.html new file mode 100644 index 00000000..a8b3f3d2 --- /dev/null +++ b/packages/parser/test/kitchen.benburwell.com/palak-paneer.html @@ -0,0 +1,289 @@ + + + + Palak Paneer + + + + + + + + + + + +
      +
      +
      +

      Palak Paneer

      +
        + + + + +
      +
      +
      +
      +
      +

      Ingredients

      + + +
      + 2t + + turmeric + + + +
      + + + + +
      + 2t + + salt + + + +
      + + + + +
      + 6T + + canola oil + + + +
      + + + + +
      + 24oz + + paneer, cut into 1/2 inch cubes + + + +
      + + + + +
      + 2lb + + spinach, pureed + + + +
      + + + + +
      + 2 + + medium white onion, finely diced + + + +
      + + + + +
      + 2in + + fresh ginger, minced + + + +
      + + + + +
      + 8 + + garlic cloves, minced + + + +
      + + + + +
      + 1t + + garam masala + + + +
      + + + + +
      + 4t + + ground coriander + + + +
      + + + + +
      + 2t + + ground cumin + + + +
      + + + + +
      + 1c + + plain yogurt + + + +
      + + + + +
      + 1.5c + + rice, cooked + + + +
      + + + + +
      +
      +

      Procedure

      + + +

      Whisk the turmeric, salt, and canola oil together. Add the paneer cubes, toss, and marinate while prepping other ingredients.

      + + + +

      In a large skillet, brown the paneer cubes on all sides over medium heat and remove from pan.

      + + + +

      Add the onion, ginger, and garlic to the pan and saute until toffee colored. This will take a solid 30 minutes, maybe more.

      + + + +

      Add the garam masala, ground coriander, and ground cumin and cook for another 3-5 minutes.

      + + + +

      Incorporate the spinach and season with salt. Cook for 10 minutes, adding water as needed.

      + + + +

      Reduce heat to low. Slowly stir in yogurt. Mix in browned paneer and cover to warm, about 5 minutes.

      + + + +

      Serve over rice.

      + + +
      +
      + +
      +
      +

      Notes

      +

      For a spicier version, add cayenne pepper to the marinade and a diced serano +chile to the onion mixture. Adding cayenne to the finished palak paneer is also +moderately successful.

      + +
      +
      + +
      + +
      +
      +
      +
      + +

      + Icons made by Smashicons from www.flaticon.com are CC 3.0 BY. + Recipes and all other content is subject to the Unlicense and is in the public domain. +

      +
      +
      +
      +
      + + + + diff --git a/packages/parser/test/littlespicejar.com/caramelized-onion-feta-spinach-pizza-with-white-sauce.html b/packages/parser/test/littlespicejar.com/caramelized-onion-feta-spinach-pizza-with-white-sauce.html new file mode 100644 index 00000000..c5f4ca07 --- /dev/null +++ b/packages/parser/test/littlespicejar.com/caramelized-onion-feta-spinach-pizza-with-white-sauce.html @@ -0,0 +1,933 @@ + + + + + Caramelized Onion Feta Spinach Pizza with White Sauce Recipe | Little Spice Jar +

      DON’T MISS A RECIPE! Subscribe to receive new posts via email:

      + + +
      +

      Caramelized Onion Feta Spinach Pizza with White Sauce

      +August 12, 2015
      +

      My new favorite homemade pizza is topped with caramelized onions, sautéed mushrooms, feta and baby spinach. Smothered in white sauce, this feta spinach pizza is a complete gourmet experience that’s easy to recreate at home!

      Caramelized Onion Feta Spinach Pizza with creamy white sauce! This pizza tastes like you ordered it at a fancy restaurant But it's simple to make at home! #pizza #caramelizedonions #spinachpizza #greekpizza | Littlespicejar.com @LittlespicejarTake a look at my new favorite pizza. I am so excited to share this with you!

      This feta spinach pizza recipe is EXPLODING with so much flavor that my mouth is salivating as I type this. I am CRAVING another go at it right now (even though, I just got up from having lunch.)

      I have always been a nontraditional pizza eater. Meaning I don’t really care for much meat on my pizza. Surprisingly,  my last favorite pizza was a Korean BBQ Chicken Pizza that topped my list for a while. That was until I tried today’s version.

      Feta and sautéed baby spinach are a match made in heaven and when you pair it together with sweet caramelized onions and sautéed baby bella mushrooms, well then you’re just being all fancy. I personally love a good veggie pizza. There’s just something so flavor packed (and colorful!) about an all veggie pizza. Especially one that’s made with a white sauce and packed with not one, but two kinds of cheeses. The more variety of cheeses, the better the pizza!

      Caramelized Onion Feta Spinach Pizza with creamy white sauce! This pizza tastes like you ordered it at a fancy restaurant But it's simple to make at home! #pizza #caramelizedonions #spinachpizza #greekpizza | Littlespicejar.com @LittlespicejarI will say that this feta spinach pizza does involve a few steps. But what’s that saying, good things come to those that wait?

      It’s nothing too extensive that you just can’t handle. It’s as simple as sautéing the vegetables separately. To make the process as smooth as possible, just have your veggies ready to go and that way you can knock them out quickly and efficiently. The good news is that you can use the same pan to sauté the veggies! As in sauteé the spinach, remove. Sauté the mushrooms, remove. And finally the onions which we will need to caramelize. Just a quick wipe of the frying pan in between veggies works like a charm.

      This feta spinach pizza has been on my mind for a while. I’ve been meaning to recreate a mediterranean pizza that I had some time back that was topped with roasted bell peppers, spinach, feta, and caramelized onions. I don’t think I need to tell you anymore about my obsession with feta cheese (!!). It’s slightly taking over my life and i’m kinda acting all sorts of cool about it. But It is MONEY in this pizza recipe.

      Even Anees, who is notorious for his “meat lovers pizza”, loved it. I know i’m on to something good when I can make the meat lovers fall head over heels for a vegetarian friendly pizza. But what really makes this 1000% delicious is the white bechamel sauce that all the veggies rest on.

      It’s simple, I promise. Just a little butter, a little flour, some warm milk, and a few tablespoons of parmesan cheese. Such an easy recipe for white sauce but the flavor is so so good.

      Caramelized Onion Feta Spinach Pizza with creamy white sauce! This pizza tastes like you ordered it at a fancy restaurant But it's simple to make at home! #pizza #caramelizedonions #spinachpizza #greekpizza | Littlespicejar.com @LittlespicejarI used my homemade pizza crust for this feta spinach pizza recipe. I love how the crust is chewy, crispy, and slightly puffy. I use honey instead of sugar in the pizza dough, which helps give it that perfectly golden colored crust that just makes my heart sing. It’s truly the best homemade pizza crust recipe i’ve ever used!

      I topped the pizza with a combination of mozzarella and feta for this recipe. And just a hint of parmesan cheese in the white sauce. I prefer a split between the mozzarella and the feta. If you aren’t a fan of feta, you can simply replace it with additional mozzarella or any other kind of cheese that you like. Let me know what you pair with mozzarella on this pizza, i’d love to know!

      Caramelized Onion Feta Spinach Pizza with creamy white sauce! This pizza tastes like you ordered it at a fancy restaurant But it's simple to make at home! #pizza #caramelizedonions #spinachpizza #greekpizza | Littlespicejar.com @LittlespicejarIf you’re a fan of roasted veggies and pizza, then this is the perfect little number for you.

      I love whipping up a couple different types of pizzas for our weekly pizza night and this little feta spinach pizza is going to stick around for a LONG time!

      Now all you need is a little something fizzy and a good movie and you’re all set!

      Yield: 1-12 inch pizza

      Caramelized Onion Feta Spinach Pizza with White Sauce

      My new favorite homemade pizza is topped with caramelized onions, sautéed mushrooms, feta and baby spinach. Smothered in white sauce, this feta spinach pizza is a complete gourmet experience that’s easy to recreate at home!

      + +4 + +
      +4 / 5 +(2 Reviews)
      +Did you make this recipe?
      Leave a review »

      Ingredients:

      • 1/2 recipe homemade or 1 store-bought pizza dough
      • 3 tablespoons olive oil
      • 6 ounces fresh baby spinach
      • 4 ounces baby Bella mushrooms, sliced
      • 1 medium red onion, thinly sliced (about 1/4 inch thick)
      • 1/2 teaspoon sugar
      • 1 tablespoon balsamic vinegar
      • 2 tablespoons EACH: butter and all-purpose flour
      • 1 tablespoon garlic, minced
      • 3/4 cup + 2 tablespoons warm milk
      • 3 tablespoons parmesan cheese
      • 1 cup mozzarella cheese
      • 1/2 cup feta cheese (see note)

      Directions:

      +
      1. Heat a tablespoon of olive oil in a medium skillet over medium heat. Add the baby spinach and saute until just wilted. Transfer the spinach to a strainer and using the bottom of a glass, press out some of the excess liquid from the spinach, set aside.
      2. Add another tablespoon of olive oil to the same skillet and saute the mushrooms for 3-4 minutes or until they brown just barely. Season with a little salt and pepper, remove to a plate.
      3. Add the last tablespoon of olive oil to the skillet set over medium heat. Add the onions and season them with a small pinch of salt. Allow the onions to cook down for 10 minutes, stirring as necessary. Do not allow the onions to brown. Add the sugar and stir to coat evenly. Allow the onions to cook for another 10 minutes. When the onions have cooked down, add the balsamic vinegar and stir to combine, set aside.
      4. Position a rack in the center of the oven and preheat the oven to 475ºF. Flatten the pizza dough into a 12-inch circle. Create a lip or rim by thickening the dough around the crust portion. This keeps the sauce in instead of running over the sides. Transfer dough carefully to a parchment lined baking sheet. Let dough rest for 10-15 minutes.
      5. In a small saucepan, melt the butter and add the flour and garlic and allow to cook for 1-2 minutes. Do not let the flour brown. Continue to whisk as you add in the warm milk. Add the parmesan cheese, and a small pinch of nutmeg if desired. Season with salt and pepper to taste. When the sauce just barely reaches a boil, remove from heat.
      6. Top the prepared pizza dough with sauce, leaving the ‘lip’ sauceless. Sprinkle on three-quarters of the mozzarella cheese, followed by the mushrooms, spinach, and caramelized onions, and finish with the remaining mozzarella and feta cheese. Allow the pizza to bake for 10-15 minutes. You can turn the broiler on for the last minute of cooking if you’d like your edges and cheese to be a little browner.
      +

      Notes:

      1. Feel free to replace the feta with additional mozzarella cheese. If you don’t care for mushrooms or baby spinach, simply omit or increase the other veggies!

      © . All images & content are the sole property of Little Spice Jar. Please obtain permission prior to using my images. If you would like to republish a recipe, please link back to this post and re-write the instructions in your own words.

      Love this recipe?

      Have you made this recipe? Take a picture and share it on Instagram using the hashtag #LITTLESPICEJAR. I love seeing your delicious creations!

      Caramelized Onion Feta Spinach Pizza with creamy white sauce! This pizza tastes like you ordered it at a fancy restaurant But it's simple to make at home! #pizza #caramelizedonions #spinachpizza #greekpizza | Littlespicejar.com @Littlespicejar

      If you like this recipe, you might also like:

      Supreme Detroit Style Pizza

      + +

      You May Also Like...

      + + +

      +5 comments on “Caramelized Onion Feta Spinach Pizza with White Sauce”

      1. Found it!!  I made this the other day and it was superb.  I forgot to pin it though and planned to make it for a potluck book club today.  My teenage son had cleared the history (I daren’t ask why…) so I had to keep scrolling through until I recognised the image :D. 
        I’ve already made the pizza dough but I’ll definitely give yours a go next time.  Thanks for posting this.

        Rating: 4
      2. I made this tonight using your pizza dough recipe as well. I added bbq’ed chicken, bacon, and goat cheese.  It was extremely yummy, although next time I think I will try it with a red sauce.  Thank you for something different! 

        Rating: 4
      3. Pingback: Pizza Perfect | barefoot in barbados

      4. Just made this. Used roasted red pepper instead of mushrooms and used your homemade pizza crust. FANTASTIC. Everyone loved it. Said it looked and tasted like a pizza from the gourmet shop downtown. Thanks. This is definitely a keeper.

      5. You are killing me with this pizza! I want it NOW!..oh God, exuse me. I haven’t eaten pizza for quite some time now, I am trying to lose some weight…but this recipe is truly tasty!

      Leave a Reply

      Your email address will not be published. Required fields are marked *

      +

      +

      This site uses Akismet to reduce spam. Learn how your comment data is processed.

      +

      About

      I'm Marzia: A wife, a nutritionist, a food lover, and a coffee addict. My husband Anees and I live in Texas! We share a love for the 3 F's - Family, Food, and Fun!

      +learn more about me »

      RSS

      get new post updates via + Feedly + Bloglovin’
      +Special pricing for Little Spice Jar Readers!

      Categories

      Archives

      +
      +
      \ No newline at end of file diff --git a/packages/parser/test/paleogrubs.com/best-paleo-brownie-recipe.html b/packages/parser/test/paleogrubs.com/best-paleo-brownie-recipe.html new file mode 100644 index 00000000..8411ed74 --- /dev/null +++ b/packages/parser/test/paleogrubs.com/best-paleo-brownie-recipe.html @@ -0,0 +1,5655 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +The Best Fudgy Paleo Brownies Ever - Easy and Flourless Brownie Recipe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      +
      +
      +
      +
      +
      + Recipes

      The Best Fudgy Paleo Brownies Ever – Easy and Flourless Brownie Recipe

      +
      +
      +
      +
      +
      +
      + + + + 5 + + + + from + 8 + ratings + +
      +
      + + +

      Have I got a treat for you today. Delicious, fudge-like brownies that are not even bad for you! No sugar, no flour involved. Almond butter is what makes these brownies perfectly dense and chewy. They melt in your mouth when eaten warm right out of the oven. They are also amazing served with some Paleo ice cream, a classic combo. Ready in only 20 minutes, this recipe is easy to put together and sure to please your sweet tooth.

      +
      + Gooey, Chocolaty Brownies- this is my favorite brownie recipe! I make these all the time and everyone loves them.
      +
      +
      +
      +
      +
      + +
      +
      +
      Serving Size
      + 1 brownie +
      +
      +
      +
      +
      +
      + +
      +
      +
      Calories/Serving
      + 181 +
      +
      +
      + +
      +
      +
      +
      +
      +
      +

      + +

      +

      Gooey, Chocolaty Brownies- this is my favorite brownie recipe! I make these all the time and everyone loves them.
      +

      +


      +

      I have experimented with several Paleo brownie recipes, but this one tops the list by far. They come out of the oven very moist and chewy. That means that if you are one of those people who likes the outside edge of brownies, you might want to bake them for a few extra minutes.

      +

      I mean, there are even specially designed pans dedicated to making edge-only brownies, so I know you are out there. Also, my boyfriend is one of those people. One way I knew that we were a good match was that he liked to eat the outer edge from the brownie pan and I preferred the fudgy center. Perfect.

      +

      These paleo brownies are better than any mix from a box, and they avoid a large heaping of sugar and flour. There actually isn’t any flour in the recipe at all, even gluten-free flour. I don’t know if I would be able to tell the difference between this brownie recipe and its non-Paleo counterpart. They’re THAT good.

      +

      Healthy Substitutes for Common Paleo Brownie Ingredients

      +

      Can’t eat eggs?

      +

      Replace the eggs with flax seed! Just take 2.5 teaspoons ground flax for each egg you’ll be replacing and whisk the ground flax seed in a little bit of water until it becomes gelatenous.

      +

      Recommended Brand: Spectrum Essentials Organic Ground Flaxseed (also available at many organic-friendly grocery stores and co-ops)

      +

      Allergic to almonds?

      +

      Replace the almond flour and almond butter in your brownie recipes with an equal amount of coconut flour or sunflower seed butter. Both are just as healthy and are equally delicious!

      +

      Watch How Easy It Is to Make These Fudgy, 7-Ingredient Brownies

      +
      +
      +
      +

      You’ll Also Love These Paleo Brownie Recipes:

      +

      No Bake Double Chocolate Brownies (walnuts + hazelnuts + cocoa nibs) (238 calories/serving)

      +

      Low Carb Coconut Flour Paleo Brownies (coconut flour + coconut oil) (147 calories/serving)

      +

      Fudgy Sweet Potato Brownies (sweet potatoes + honey) (171 calories/serving)

      +

      Magical Chocolate Brownie Cookies (almond flour + cocoa powder) (160 calories/serving)

      +

      Lavender Maca Brownies (lavender + maca powder + chocolate chips) (224 calories/serving)

      +

      Out of This World Chocolate Brownie Cookies (coconut sugar + ghee + almond flour) (226 calories/serving)

      +

      Mind-Blowing Almond Butter Chocolate Chip Brownies (almond butter + honey) (210 calories/serving)

      +

      No Bake Brownie Bites (walnuts + dates + raw cocoa powder) (98 calories/serving)

      +
      +
      +
      +
      +
      +
      + +
      +

      Ingredients

      +
      +
      • Ingredients
        • 1 cup almond butter
        • 1/3 cup grade-A maple syrup
        • 1 egg
        • 2 tbsp ghee
        • 1 tsp vanilla
        • 1/3 cup cocoa powder
        • 1/2 tsp pure baking soda
      +
      +
      +
      + +
      +

      Directions

      +
      +
      1. Preheat the oven to 325 degrees F. In a large bowl, whisk together the almond butter, syrup, egg, ghee, and vanilla. Stir in the cocoa powder and baking soda.
      2. Pour the batter into a 9-inch baking pan. Bake for 20-23 minutes, until the brownie is done, but still soft in the middle.
      +
      +
      +
      + +
      +

      Servings

      +
      +
      +
      +
      +
      + +
      +
      +
      Serving Size
      +

      1 brownie

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Servings/Recipe
      +

      12

      +
      +
      +
      +
      +
      +
      +
      +
      + +
      +

      Nutrition Information

      +
      +
      +
      +
      +
      + +
      +
      +
      Calories
      +

      + 181 +

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Carbohydrates
      +

      + 11.2 g +

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Fat
      +

      + 14.4 g +

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Sugar
      +

      + 6.3 g +

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Protein
      +

      + 5.3 g +

      +
      +
      +
      +
      +
      +
      + +
      +
      +
      Fiber
      +

      + 3 g +

      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + +
      Calories + 181 kcal
      Potassium + 216.4 mg
      Vitamin A + 23.7 µg
      Folic Acid (B9) + 13.5 µg
      Sodium + 60.6 mg
      +
      +
      +
      +
      + +

      Print Recipe

      + + + + + +
      + + + + +
      +
      +

      + 206 Comments

      +

      + Ask a Question  + Rate this Recipe +

      +
      +
      + + +
      +
        +
      1. +
        + + +
        +

        I have been searching everywhere for a fudgy paleo brownie without strange ingredients. These look absolutely perfect, and I can’t wait to try them!

        +
        + +
        +
      2. +
      3. + +
          +
        • + +
            +
          • +
            + + +
            +

            I substituted the almond butter and instead used a cup of coconut oil. I don’t recommend using that much, because using that much oil sort-of “fried” my brownie.

            +
            + +
            +
          • +
          +
        • +
        • +
          + + +
          +

          I actually substituted ghee for coconut oil,cocoa powder for organic chocolate chips(melted) and raw organic honey instead of maple syrup and came out more like lava cake because it was fudgy inside but really delicious.next day it set more and it was more like a brownie.very cool recipe

          +
          + +
          +
        • +
        +
      4. +
      5. +
        + + +
        +

        Do you think I could replace the almond butter with equal parts peanut butter? The husband is allergic to tree nuts….

        +
        + +
        +
          +
        • + +
        • +
        • +
          + + +
          +

          You could, although two things: peanut butter is not Paleo, if that is a concern. The second thing is that peanut butter would be a little drier than almond butter. Sunflower butter would be a good direct substitute.

          +
          + +
          +
            +
          • + +
          • +
          • +
            + + +
            +

            They sell peanut butter without all the sugar & other ingredients that most peanut butter has in it. Wouldn’t it still be paleo if it is made only with peanuts & salt or are peanuts one of those anti nutrient foods?

            +
            + +
            + +
          • +
          • +
            + + +
            +

            I made these with sunflower butter. It was on sale and much cheaper than almond butter. I should have spent the extra. The sunflower butter is very strong tasting and kind of cancels out the rest of the flavors. Live and learn.

            +
            + +
            +
              +
            • +
              + + +
              +

              Thank you Aimee for your commet! I was about to use sunflower butter ! But then I read your comment!Life saver,more like brownie saver!

              +
              + +
              +
            • +
            +
          • +
          +
        • +
        • +
          + + +
          +

          I used natural peanut butter, but found I needed to add 3 Tbs milk and make it 3 Tbs ghee/butter instead of 2. It did pretty good, but I may still add another Tbs of milk to see if that makes it a little more fudgy. Also, letting it sit for about 20 minutes before cutting seemed assist in it being less crumbly.

          +
          + +
          +
        • +
        +
      6. +
      7. +
        + + +
        +

        mmmmm these sound so delicious! just wondering if natural peanut butter would work the same as almond butter? because that’s what I have in my cupboard at the moment. also, do you use sweetened or unsweetened cocoa powder?

        +

        ill be making these very soon 🙂

        +
        + +
        +
          +
        • +
          + + +
          +

          I just made it with peanut butter, not really chewy, more of a crunchy cookie texture but quite tasty, used organic crunchy pb.

          +
          + +
          +
        • +
        • +
          + + +
          +

          Peanut butter (which is not Paleo) would probably be a little drier than almond butter, resulting in a drier brownie. I use unsweetened cocoa powder. Hope you enjoy them!

          +
          + +
          + +
        • +
        +
      8. +
      9. +
        + + +
        +

        I can see these in my future veryyy soon! haha
        +just wondering if you used sweetened or unsweetened cocoa powder, and whether natural peanut butter will work the same as almond butter? it’s all i have in my cupboard right now
        +thank! 🙂

        +
        + +
        +
      10. +
      11. +
        + + +
        +

        A friend made them with exactly as in the recipe and they tasted AMAZING. But I’m not eating any sugar (including maple syrup) so I tried to substitute ripe bananas for the maple syrup (which I’ve done in other baking). My brownies came out flat, light brown in color and absolutely tasteless. Any suggestions for substituting some other sweetener for the maple syrup?

        +
        + +
        +
          +
        • +
          + + +
          +

          I’m not sure what you can use to replace the texture, but stevia or xylitol/erythritol would work to improve taste.

          +
          + +
          +
            +
          • +
            + + +
            +

            You can also get flavoured stevia from most health stores. I imagine the hazelnut one would be amazing in these?! I do always find that stevia leaves a bit of an after taste in anything I make though, but prob better than no sweetener at all!

            +
            + +
            +
          • +
          +
        • +
        • +
          + + +
          +

          Sorry this is a bit of a late reply but try a date paste instead of the maple syrup or honey. Put 5/6 dates in a cup with 2 tblsps water and microwave for 30 secs to 1 minute. It makes a gooey paste but is great as a sweetener. I tried it and it was lovely. Apple sauce would work too.

          +
          + +
          +
        • +
        • + +
        • +
        • +
          + + +
          +

          I agree with the suggestions for date paste or perhaps applesauce! They would both probably alter the taste of the brownies though.

          +
          + +
          +
        • +
        • + +
        • +
        • + + +
        • +
        • + +
        • +
        +
      12. +
      13. +
        + + +
        +

        Just made these & they tasted really really good but they are so crumbly and they just fall apart I had to eat them with a spoon…not sure why but at least they taste great!

        +
        + +
        +
          +
        • +
          + + +
          +

          I haven’t had a problem with the brownies being crumbly before, perhaps double check the amounts of the almond butter and maple syrup, or remove them from the oven a bit sooner.

          +
          + +
          +
        • +
        • +
          + + +
          +

          Mine were also super crumbly. And super delicious. Am experimenting with shorter baking times and might try the freezing trick also mentioned in these comments, as I’m also at a high altitude.

          +
          + +
          +
        • +
        +
      14. +
      15. +
        + + +
        +

        What can I use instead of maple syrup? Or honey? (Hard to make most recipes when you don’t like either!…) Thanks!

        +
        + +
        +
          +
        • +
          + + +
          +

          Possibly try blue agave nectar?? I use it in place of sugar and other sweeteners all the time. A little goes a long way!!

          +
          + +
          +
        • +
        • + +
        • +
        +
      16. +
      17. + + +
      18. +
      19. + +
          +
        • +
          + + +
          +

          Hi Autumn, it might have to do with the cocoa powder. Perhaps add a little less cocoa powder to adjust to personal taste. The brownies should get plenty of sweetness from the maple syrup.

          +
          + +
          +
        • +
        +
      20. +
      21. + +
      22. +
      23. +
        + + +
        +

        I have a batch of these in the oven as we speak and OMG the batter was SO good, I licked the bowl clean and not I cant wait to try the finished product 😀

        +
        + +
        +
      24. +
      25. + +
      26. +
      27. + +
      28. +
      29. +
        + + +
        +

        Thanks for the recipe! Made this last night & it was easy & best of all, yummy!! I added dark chocolate chips for more yumminess!

        +
        + +
        +
      30. +
      31. +
        + + +
        +

        I made these last night and they are so good! The only thing is mine turned out crumbly and dry-ish, instead of “fudge-like”, maybe I did something wrong…? They are still tasty but I will be trying again!

        +
        + +
        + +
      32. +
      33. + +
      34. +
      35. +
        + + +
        +

        I’m enjoying my first day into the Paleo world and wow!!! These are awesome brownies and really hit the spot to kill my every evening sugar binge I usually do.
        + Easy and delicious!! If I can do this, anyone can!!!

        +
        + +
        +
      36. +
      37. + + +
      38. +
      39. + +
      40. +
      41. +
        + + +
        +

        WOW!! I don’t usually leave comments but these are sooooo awesome I had to. I’ve made them twice (once using maple syrup and the other coconut sap). The second batch I swirled in cream cheese. Everyone loved both. Thank you for a great treat.

        +
        + +
        +
      42. +
      43. +
        + + +
        +

        Wow these were amazing!! And they look exactly like the photo! I used coconut oil instead of butter and unsweetened cocoa powder and just added a little “Enjoy Life” mini chocolate chips and a dash of himalayan pink salt, and the almond butter I used was raw crunchy. Yum!! They really rise up too which I was surprised about since they were so flat in my square pan. Awesome! And moist, My clients loved them. I actually got as many as 24 small ones out of them. 🙂 Thanks a lot. 🙂

        +
        + +
        + +
      44. +
      45. + + +
      46. +
      47. + + +
      48. +
      49. +
        + + +
        +

        Made these last night and OMG they are good! I followed the recipie exactly with the exception of adding some crushed pecans and letting it cook 5 mins longer to firm up more. My reccomendation: unless you an allergy try to make the recipie as stated for the first time. The , after you taste the finished product you can adjust as needed. Next time I make them I’ll use 1/4 cup of cocoa powder rather than 1/3. As far as a brownie goes…this is spot on! Very easy and tastes great. Enjoy!

        +
        + +
        + +
      50. +
      51. + +
      52. +
      53. +
        + + +
        +

        This is the FIRST time I have made a Paleo brownie recipe that actually turned out DELICIOUS! Fudgey goodness all the way!

        +
        + +
        +
      54. +
      55. +
        + + +
        +

        How many calories are in a piece of brownie? I am going to make these as they are easy!! thanks

        +
        + +
        +
      56. +
      57. +
        + + +
        +

        First, these taste great. Very moist and good flavor! But I’m surprised that one recipe would work in one 9″ pie pan (which has less volume than a 9″ x 9″ square pan….according to my eyeballing-it-type-math). My son’s teen team at his rock climbing gym is having a bake sale at the gym so he made these. We tripled the recipe and that amount only seemed to appropriately fill two 9″ pie pans. The resulting size and height of the brownies were perfect – but I would have thought tripling the recipe would net three 9″ pie pans. Soooo….if you’re planning to feed more than yourself and maybe one other person, definitely consider tripling, quadrupling, whatever-ing the recipe. Next time, for a bake sale, we’ll need to probably make 8 times the original recipe LOL

        +
        + +
        +
          +
        • +
          + + +
          +

          Thanks for your comment Laurie- I am guessing that the brownies I usually make are not as tall as some other recipes, but I am glad to hear that you still enjoyed them and hope you make them again!

          +
          + +
          +
        • +
        +
      58. +
      59. +
        + + +
        +

        I made these yummy brownies last night and they are so good! Extra bonus, they were light and fluffy and High Altitude friendly!!! Yea!!! I live 5883 miles above sea level and often baking…especially brownies can equal inedible bricks! I used an organic dutch cocoa powder and had to bake them 10 minutes longer than the recipe calls for (baking at a high altitude requires more baking time…and patience 🙂 especially when these brownies smelled so good in the oven!)

        +

        I topped them with a spoonful of Luna & Larry’s Organic Coconut Bliss Non-Dairy Frozen Dessert (look for it at Whole Foods!) My hubby loved it and this recipe is definitely on the repeat list.

        +

        Baking Tip: Baking at a high altitude = dry baked goods. An easy way to offset dry crumbly cakes is to freeze the cake/brownie/bread overnight. Freezing simply locks in the moisture and yumminess of your baked goods! I hope this helps for those of you that said your brownies were crumbly!

        +
        + +
        +
          +
        • +
          + + +
          +

          Great tips for those baking at high altitudes, thanks. My sister is moving to Denver so I will be sure to share your advice with her!

          +
          + +
          +
        • +
        +
      60. +
      61. + +
      62. +
      63. +
        + + +
        +

        OMG!! Soooooo in love :)..at first I was a bit nervous of how the taste would be w using almond butter,but omg..these turned out soo well :)..and now I can have brownies and coconut milk ice cream the paleo way!!!

        +
        + +
        + +
      64. +
      65. + +
      66. +
      67. + + +
      68. +
      69. +
        + + +
        +

        Hi! Do you think I can replace the almond butter (impossible to find here) by homemade coconut butter ?
        +At least I think it’s coconut butter … I was trying to make coconut cream but it’s so hard than it had to be butter!
        +Can you tell than I just entered the paleo cooking world ??? 😉
        +Thanks for sharing!

        +
        + +
        +
          +
        • +
          + + +
          +

          I think coconut butter would react differently with the other ingredients, and change the taste of the brownies. Perhaps try cashew butter or sunflower seed butter instead. Almond butter is also pretty easy to make right at home in your blender.

          +
          + +
          +
        • +
        +
      70. +
      71. + +
          +
        • +
          + + +
          +

          Sorry to hear they were dry- did you use almond butter? Almond butter adds a lot of moisture to the brownies. Otherwise they may have been cooked a bit too long.

          +
          + +
          +
        • +
        +
      72. +
      73. +
        + + +
        +

        Wow! Thank you for the recipe! This is a really easy recipe that takes minutes to whip together for a fabulous treat. I used sunflower seed butter instead of almond butter and coconut oil instead of butter. I also used a mini muffin pan to make these and ended up with 19 mini brownies (no muffin liners or grease in the pan and they popped right out with a little help from a butter knife). My oven temperature is wonky so I ended up baking them for 15 minutes at 350. I also topped each one with a pecan half. Beautiful and delicious! I will be making these again soon!

        +
        + +
        + +
      74. +
      75. + +
      76. +
      77. + +
          +
        • + +
        • +
        +
      78. +
      79. +
        + + +
        +

        These were fantastic! I added some EnjoyLife chocolate chips (who doesn’t love even more chocolate) and they turned out fantastic. What do you suggest for a nut free version? You think sunbutter (same amount) would work?

        +
        + +
        +
      80. +
      81. + +
      82. +
      83. +
        + + +
        +

        Im new to Paleo but really enjoying the lifestyle change. I just have a quick question…. How is Maple Sugar, Vanilla, Coco Powder and Baking soda considered Paleo? Cavemen didnt have any of these ingredients

        +
        + +
        +
      84. +
      85. +
        + + +
        +

        I don’t know what went wrong but the “batter” was more like a dough with soupiness around it! I normally bake but man this Paleo baking is not working for me

        +
        + +
        +
      86. +
      87. + +
          +
        • +
          + + +
          +

          Ghee is clarified butter. You can probably make your own ghee. Ghee is basically what is left after you melt butter and take out the “dairy” parts that float up. But to stay within paleo, it’s best to use grass – fed butter if you make your own ghee. If there’s a Trader Joe ‘ s or Whole Foods in your area, they should sell ghee.

          +
          + +
          +
        • +
        +
      88. +
      89. + +
          +
        • +
          + + +
          +

          Pamela, just type in “make your own ghee” in your google search bar — it’s easy and MUCH cheaper than buying it ready-made.

          +
          + +
          +
        • +
        • +
          + + +
          +

          You could substitute coconut oil or even lard if you’ve got it.

          +

          And for ghee, you might want to check your local Indian/asian market.

          +
          + +
          +
        • +
        • +
          + + +
          +

          Hey I don’t know where you are at but I found mine at Trader Joe’s and a lot of Indian food stores carry it as it is often used in Indian dishes (so I’ve heard).

          +
          + +
          +
        • +
        +
      90. +
      91. +
        + + +
        +

        Amazing! I cooked these for desert and served with homemade low-carb coffee ice cream (I know not totally paleo but I used grass fed heavy cream) and they were a big hit. The texture is good and are not overly sweet. I used grass fed butter instead of ghee and added a tablespoon of coffee to bring out the flavor of the chocolate. This is one of the favorites in my house.

        +
        + +
        +
      92. +
      93. +
        + + +
        +

        Thanks for an awesome recipe!
        +I changed 1/4 of the almond butter into peanut butter (the almond one ran out..) and the ghee for ordinary milk-free butter. Turned out great! I gave a brownie to my mom who made the same recipe aswell, except for using ordinary butter instead of the ghee. So obviously both things work! I’ve made these brownies two times now and I’m still so surprised that they do actually taste like the real thing.. Amazing!

        +
        + +
        +
      94. +
      95. +
        + + +
        +

        These would have been good if the almond butter wasn’t so strong. All I could taste was the almond butter:(. What did I do wrong?

        +
        + +
        +
      96. +
      97. +
        + + +
        +

        Hey I Just made these and I loved them. I topped them with some raw walnut pieces. Yum! I also used coconut oil in the same amount as the ghee but next time I would melt it in the microwave (mine was room temp) to see if it works in nicer. I too had a problem with the batter being a big ole’ clump in my bowl so I had to add 1/2 almond milk to thin it out. They turned out great in taste but didn’t seem to rise as high as in your picture. I am new to baking paleo style and was wondering why this happened?

        +
        + +
        +
      98. +
      99. + +
      100. +
      101. +
        + + +
        +

        I have these in the oven right now! I used 1/4 cup of mashed ripe banana for the egg (not because I wanted to, but rather I forgot I used the last of my eggs this morning)… The batter was awesome. I can’t wait to try the brownies!

        +
        + +
        +
      102. +
      103. + +
      104. +
      105. + +
      106. +
      107. + +
      108. +
      109. +
        + + +
        +

        I made them using the exact recipe, but it was not much batter and hard to spread, so I used a loaf pan. It didn’t even get to the edges.

        +
        + +
        +
      110. +
      111. + +
          +
        • +
          + + +
          +

          They mean pure maple syrup, that you get from a tree, not maple-flavoured syrup that would have added other sugars.

          +
          + +
          +
        • +
        +
      112. +
      113. +
        + + +
        +

        Third time making these, they are delicious and so quick and easy to make. Thanks for sharing the recipie! Would anyone have idea how many calories are in this mixture?

        +
        + +
        +
      114. +
      115. + + +
      116. +
      117. +
        + + +
        +

        Does anyone have a good substitute for the egg? I am reactive to eggs, but I need something that will help “expand” the dough while it cooks. Thanks.

        +
        + +
        +
      118. +
      119. +
        + + +
        +

        Made these for the first time tonight. Substituted the ghee with coconut oil and topped with chocolate chips. I did not get a batter, but more like a dough. I put it into an 8″x10″ pan and “pressed” it into shape. Baked for 20 minutes.

        +

        Texture was good and chewy, not crumbly, but a tad dry. Next time, I’ll try baking for 18 min.
        +Flavour was good, but prefer it a bit sweeter; so next time going to add 1/2 cup maple syrup, instead of 1/3 cup.

        +

        Overall, a good brownie recipe…a few modifications should do the trick.
        +This one’s a winner. thanks

        +
        + +
        +
      120. +
      121. +
        + + +
        +

        These are delicious! Made a few variations I like to glance at recipes and fenagle with what I have in my kitchen, I used an almond/hazelnut butter, instead of egg I used 1/3 cup applesauce with tsp of baking powder, and I cut the cocoa powder by 2/3 rds and melted bakers chocolate instead! I love these minimalist desserts, more than ten ingredients throws me off! Thank you!

        +
        + +
        +
      122. +
      123. +
        + + +
        +

        Note to everyone…do NOT make these with SALTED almond butter. WAY WAY too salty!!! 🙂 🙂 Going to have to try again with regular almond butter. So sad!!! The consistency and delicious smell were perfect!

        +
        + +
        +
      124. +
      125. + +
      126. +
      127. + +
      128. +
      129. +
        + + +
        +

        Thanks for this amazing recipe! We’ve gone Paleo for health reasons so there’s no cheating. We really missed our brownies! Tonight I was short on almond butter and subbed peanut butter for half. Its so good. Just wanted to post in case anyone is interested. Thanks again for this site!

        +
        + +
        +
      130. +
      131. +
        + + +
        +

        I’ve just made these brownies for the forth time. Everyone at my work loves them and can’t believe there’s no flour etc in them. I add 1 cup of frozen raspberries to the batter just before I put it in the tin to bake and always end up with a great consistency and taste. They are the first thing to disappear at the morning teas!

        +
        + +
        +
      132. +
      133. +
        + + +
        +

        Hi, new to paleo and loving all your awesome recipes, but just wondering, when you say you use cocoa powder, do you actually mean cacao powder, surely cocoa powder is refined and full of sugar. ?

        +
        + +
        +
      134. +
      135. +
        + + +
        +

        I’m hooked. I baked these brownies yesterday after only recently switching to a refined sugar free, dairy-free, wheat free diet, so I still remember what traditional brownies taste like and let me tell you, these can hold their own against any brownies! I had to make some substitutions since I didn’t have ghee and I ran out of almond butter but it worked perfectly. They are truly addictive.
        +Instead of ghee I used Earth Balance Natural Buttery Spread Omega-3 (Non-GMO & Vegan).
        +Instead of 1 cup almond butter I used 1/4 cup almond butter and 3/4 cup crunchy peanut butter (Note: I think the peanut butter makes it non-paleo if you’re trying to be strict paleo).
        +Since the comments mentioned that peanut butter makes the brownies more dry than almond butter, I added 1/4 cup MORE maple syrup than the recipe calls for but this made it sweeter, which I loved.

        +
        + +
        +
      136. +
      137. + + +
      138. +
      139. +
        + + +
        +

        These brownies were phenomenal and so close to the real thing. Very impressed with this recipe. Thanks for sharing it!

        +
        + +
        +
      140. +
      141. +
        + + +
        +

        Finally, a good paleo brownie! I substituted almond butter for cashew butter, I also didn’t bake them for as long because after about 13 minutes they looked done and a toothpick came out clean, so I took them out. They’re super fudgy and chocolaty, the best paleo brownie I’ve ever had.

        +
        + +
        +
      142. +
      143. + +
      144. +
      145. +
        + + +
        +

        Good! Both of my kids like the brownies surprisingly!!!! I added Enjoy Life Chocolate Chips! My friend liked them too!

        +
        + +
        +
      146. +
      147. +
        + + +
        +

        Very rich and authentic. I made these tonight….added a tblsp tiny Good Life choc chips. Cooked for 20 mins only…rich moist fudgy and marvellous ( and yes a little tender, breakable but who cares, the very best ever!!!

        +
        + +
        +
      148. +
      149. + +
      150. +
      151. +
        + + +
        +

        I made these yesterday, and substituted the Ghee with butter…..OMG!!!!! These are amazing!!!! We have been Paleo for one month now…I’m down 13 lbs and my significant other is down 15 lbs!! What a great lifestyle change….we both have sweet tooths and this is the kind of recipe that helps us keep on track…thankyou so much for all the great/healthy recipes!!!!

        +
        + +
        +
      152. +
      153. +
        + + +
        +

        Just made these with some Keto friendly adjustments. Instead of maple syrup, I added 20 drops of SweetLeaf Stevia. I also added in 3 tablespoons of coconut butter instead of ghee.

        +

        OMG! I haven’t had sugar in weeks and this hit the spot. Mine came out a bit crumbly, but still super moist. Thank you so much for this recipe. This hit my chocolate craving like nobody’s business!

        +
        + +
        +
      154. +
      155. +
        + + +
        +

        This recipe was fantastic! We get our nut butter from the local natural foodstore’s machines so I used a blend of US grown peanut butter fresh ground and almond butter. YUMMY! Thank you for coming up with a fudgey recipe that doesn’t include adding melted chocolate chips. 🙂 My kiddos loved it!

        +
        + +
        +
      156. +
      157. +
        + + +
        +

        Terrible cook/Paleo noob here. I followed the directions, but substituted the almond butter for coconut oil after reading the comments. Sadly, my brownies came out flat and extremely dark (they looked burnt); what did I do wrong? I still have pure vanilla & maple syrup, so I’d like to try again. Any advice!?

        +
        + +
        +
          +
        • +
          + + +
          +

          Alec, I think you confused one of the substitutions. Other people substituted the GHEE using coconut oil, not the almond butter for coconut oil. Almond butter is the main ingredient in this recipe. I think the only other option mentioned above was substituting peanut butter for the almond butter, but be aware that PB is not paleo. Get some almond butter and try again. These brownies are worth it if you’re doing paleo!

          +
          + +
          +
        • +
        +
      158. +
      159. + +
      160. +
      161. +
        + + +
        +

        These are definitely the best paleo brownies I have ever made! I have celiac disease and it’s been great transitioning to the paleo lifestyle; indulgences like this make it a LOT more fun and I don’t feel deprived at all. Thank you!

        +
        + +
        +
      162. +
      163. +
        + + +
        +

        I made these tonight, and followed the recipe completely. They turned out amazing! And looked just like the brownies in the picture. I will definitely be making these again!

        +
        + +
        +
      164. +
      165. + +
      166. +
      167. +
        + + +
        +

        Made these for 2nd time tonight, followed recipe 1st time to exact, …this time added pecans and walnuts and used a mix of honey and maple syrup, and used coconut butter in lieu of glee this time, THESE ARE FABULICIOUS 😉 both ways, but our favy is with the little “goodies” added!!! YUMMMMMM!! Thank you so much for posting this one!

        +
        + +
        +
      168. +
      169. + + +
      170. +
      171. +
        + + +
        +

        The name of these browines proves to be true EVERY time I make them! Seriously! They are the BEST! I love that you used grade b maple syrup; it’s something I normaly sub in for honey! My food sensitive little man and I thank you for this awesome recipe!

        +
        + +
        +
      172. +
      173. + +
      174. +
      175. + +
      176. +
      177. +
        + + +
        +

        Made these last night. Substituted coconut oil for the ghee, giving a slight coconutty taste that I love. These are awesome! They look just like the picture. They look like any traditional brownie. They are not as sweet as a traditional brownie, which is great. I almost ate them for breakfast this morning. Thank you for this amazing recipe!!!

        +
        + +
        +
      178. +
      179. +
        + + +
        +

        Anybody use cacao powder instead of cocoa powder and as its stronger it would require a lot less any idea of the quantity. Also did you use less coconut oil or was it the same ratio of coconut oil as ghee used? Thanks for ur help would love to make these tomorrow…

        +
        + +
        +
      180. +
      181. +
        + + +
        +

        These came out amazingly last night!! I substituted coconut oil for ghee and was perfect! Best paleo dessert I’ve made yet. Thanks!!

        +
        + +
        +
      182. +
      183. +
        + + +
        +

        I would like to have some receipts that uses Stevia and almond flour I can not have sugar or flour or and thing white.and I feel better than I have in two years but can’t find receipts for deserts and I love sweets so for now I am doing with out.

        +
        + +
        +
      184. +
      185. +
        + + +
        +

        I made it this morning-Best Paleo Brownies (Chocolaty Goodness) and it tasted amazing! I love the fact that is was flour-less! I would definitely make it again!

        +
        + +
        +
      186. +
      187. +
        + + +
        +

        I have tried so many different paleo brownie recipes and the kids always pull a face and never eat them. This is the best recipe ever. It tasted delicious and the kids agreed. They didn’t even ask me if these were healthy. I also can’t believe there is no flour or even flour subs like almond meal. Thanks so much for this recipe I am a very happy mum!!!

        +
        + +
        +
      188. +
      189. + +
      190. +
      191. +
        + + +
        +

        Holy cow. Like others have said, this is AMAZING. I substituted the syrup for the date syrup as recommended in a previous comment and skipped the vanilla. The boyfriend couldn’t believe they fit his diet!

        +
        + +
        +
      192. +
      193. +
        + + +
        +

        I made these last night and they turned out crumbly and bitter. It sounds like I should use less cocoa powder, but maybe a better quality cocoa would help. What brand did you all use?

        +

        I also think the Justin’s almond butter I used was too dry for this recipe, so what almond butter brand did you all use?

        +
        + +
        +
      194. +
      195. +
        + + +
        +

        Ummm….where do you get baking soda without rice flour in it? I haven’t been able to find any here in Australia.

        +
        + +
        +
      196. +
      197. +
        + + +
        +

        Made this recipe today using honey in place of maple syrup. Very dark chocolate taste. I think my husband will like them once he gets home! Mine weren’t very chewy – I think I overbaked just a bit. More cake-like.

        +
        + +
        +
      198. +
      199. +
        + + +
        +

        Is it possible to get measurements in grams / mils or even lbs / ounces please as I’m keen to make these but we don’t use cup measurements in the UK/ Europe and I don’t want to mess up the recipe.
        +Many thanks

        +
        + +
        +
      200. +
      201. +
        + + +
        +

        common people…I’m sure PALEO people never heard od “baking soda” or “clarified butter “!!! just use some common sense and eat as natural as you can.
        +I think the big thing is to NOT eat processed food.and that becomes a BIG problem with this recipe..BUT ! I have just made them,and they are delicious !! good eating everyone

        +
        + +
        +
      202. +
      203. + +
      204. +
      205. +
        + + +
        +

        Just made these they are incredible !!! I’ve been craving sugar and these hit the spot , all your recipes look amazing I can’t wait to try them all

        +
        + +
        +
      206. +
      207. +
        + + +
        +

        My husband and I have been Paleo for 6 weeks and were craving chocolate. I made these today and they were delicious!! Thanks for the recipe..

        +
        + +
        +
      208. +
      209. + +
      210. +
      211. +
        + + +
        +

        These are so good! Mine were just a little too oily which I assume is from the almond butter. Next time I will try pouring the oil of the almond butter instead of mixing it up…

        +
        + +
        +
      212. +
      213. +
        + + +
        +

        Over the weekend I made these brownies for drunk friends and they devoured them. I substituted Ghee with Coconut oil and I also used Coconut nectar instead of the maple syrup. Also because I prefer that my brownies are a bit more fluffy and moist I used two eggs instead of one. From what I’ve observed using substitutes and the original recipe you can do whatever you want when substituting and still have a good outcome. The second time around I added a little healthy alternative for nutella which was a chocolate almond spread I got from trader joes grocery store. I hope this is helpful. Enjoy!!!

        +
        + +
        +
      214. +
      215. +
        + + +
        +

        I made these the other day. I subbed peanut butter for the almond butter and I believe the recipe suffered because they came out dry. I cooked for 18 min. Makes sense since almond butter is more runny. I did really like the flavor though. Maybe adding some almond milk and not cooking them as long could help too. I’m not paleo but like to avoid refined sugars and refined grains. My husband liked the flavor but said ” they taste like a peanut butter cookie but dry and with coffee ground texture. ” that pretty much sums it up. I like the idea behind this recipe, so i would try it again with some modifications.

        +
        + +
        +
      216. +
      217. +
        + + +
        +

        I made these the other day and they turned out AWESOME! I followed the recipe exactly and the consistency was Perfect, just like fudge brownies should be. And the taste was great too! Thank you for sharing this great recipe!

        +
        + +
        +
      218. +
      219. +
        + + +
        +

        1st time making these brownies: AMAZING. I followed the recipe exactly as it is written. Let it bake for 23 minutes (did a fork check @ 20 minutes).

        +

        Will be making another batch on Tuesday morning to take to work! Thank you!

        +
        + +
        +
      220. +
      221. + +
          +
        • +
          + + +
          +

          Not sure I would swap out the syrup for either of those choices, I made another similar recipe that called for stevia and it was not near as good as the maple syrup. The stevia although good in my cup of tea, not so much in the first brownie recipe I tried. This recipe is by far superior to any other!

          +
          + +
          +
        • +
        +
      222. +
      223. + +
      224. +
      225. +
        + + +
        +

        These are amazing! I just made them last night with my 9 year old son and my family loved them! I substituted the maple syrup for agave since it’s what I had in the cupboard. I made the almond butter in the vitamix and must say they are the best brownies EVER!! Beautifully perfect fudgey texture and right amount of sweetness. Thanks for sharing the recipe!

        +
        + +
        +
      226. +
      227. +
        + + +
        +

        I just made these with my 4 year old and we both thought they tasted amazing. I used sprouted almond butter, an 8 x 8 baking dish and I baked them for 20 minutes. They turned out perfect.

        +
        + +
        +
      228. +
      229. +
        + + +
        +

        These are fantastic! I substituted coconut butter for the ghee (butter, not oil) so delicious!!

        +

        I also decided to make them in a muffin pan. Still came out great!

        +
        + +
        +
      230. +
      231. +
        + + +
        +

        I am just beginning to “Paleo”. I just made these. Followed the recipe exactly. The taste is amazing however, mine came out very dry. What did I do wrong?

        +
        + +
        +
      232. +
      233. +
        + + +
        +

        These are fabulous. I am a cooking coach and provide dairy, gluten and soy free cooking classes and coaching. I live in Germany and will be having a class at a local restuarant this coming weekend and this is our desert. Your site is on my handout. We will be adding nuts, dairy, soy and gluten free chocolate chips plus raisins. Then top them with whipped coconut cream and raspberries drizzled with homemade chocolate fudge. Yummy. Thanks for the easy dependable recipe.

        +
        + +
        +
      234. +
      235. +
        + + +
        +

        Hi, can I just ask is the cup measurement of almond butter 125g (as would be for flour) or 225g (as would be for butter)? What I mean is that is the almond butter being used in place of flour? Please do reply! Thank you!

        +

        I’m desperately trying to start Paleo but I made some Paleo cookies + Paleo pitta bread that both turned out wrong and so I’m looking for exact measurements before I try out brownies. Thank you.

        +
        + +
        +
      236. +
      237. + + +
      238. +
      239. +
        + + +
        +

        I just cooked and ate this and it was delicious. I subbed peanut butter for almond, honey for maple and coconut oil for gee, and also added an extra egg. My only mistake was cooking a little too long so the brownie was more cake like and less fudgey. Next time I’ll bake for only 15 mins in my oven and add a tablespoon or two extra coconut oil to counter the dryness of the peanut butter.

        +
        + +
        +
      240. +
      241. +
        + + +
        +

        I’m allergic to almond (and all tree nuts along with sunflower). Do you have a suggestion for substituting the almond butter? Thanks!

        +
        + +
        +
      242. +
      243. +
        + + +
        +

        Just made these this afternoon and they are very good. I followed the recipe to the letter and baked in a 8 x 8 inch square pan for 21 min. Perfect! Not crumbly at all 🙂 Have more of a dark chocolate taste & are not terribly sweet, which I liked a lot! Will certainly be making these again!

        +
        + +
        +
      244. +
      245. +
        + + +
        +

        I made these for the first time today and they were…AMAZING!!! I substituted organic coconut oil for the ghee (same amount) and accidentally dumped all the ingredients in together and whisked, but it still turned out great! I baked it for 20 minutes and took it out. I was so eager I cut right into it, and it was a bit crumbly. However, 10-15 minutes later, it wasn’t as crumbly. DELICIOUS is all I can say. Even my boyfriend thought it was good and he hates anything healthy, lol. My new favorite dessert recipe. Thank you!

        +
        + +
        +
      246. +
      247. +
        + + +
        +

        YUM! Have some almonds in the oven dehydrating after soaking, gonna make some almond butter first and then these amazing sounding brownies. It’s Valentines Day! What a perfect treat to make!

        +
        + +
        +
      248. +
      249. +
        + + +
        +

        Just made these following the recipe exactly in an 8×8 glass pan, sprayed with coconut oil cooking spray. Cooked for 22 minutes. I used Woodstock unsalted almond butter (one of my favourites). They rose halfway up the pan, did not sink and are really chewy! They smell and taste delicious! My husband, loves and can easily eat half a pan of brownies, had no idea they were not a traditional recipe and Could not believe when I showed him the website. Definitely making again! Perfection! Thanks!

        +
        + +
        +
      250. +
      251. + +
          +
        • +
          + + +
          +

          Do you not have a trader joes or whole foods or health food store near you? If not there’s a recipe for clarified butter that’s all Ghee is.

          +
          + +
          +
        • +
        +
      252. +
      253. + +
      254. +
      255. +
        + + +
        +

        I made this last night. and it taste AMAZING. i used cacao powder instead of cocoa powder. i was so excited, since i couldn’t have flour. and this recipe is so easy. and it wasn’t as heavy as normal brownies. i finished 1/4 by myself.

        +
        + +
        +
      256. +
      257. + +
      258. +
      259. +
        + + +
        +

        Tried making these today for the third time and these are the best I’ve made by far. Needed to get my English brain around the cup measurements! For any Brits who need a hand converting, I used 1x 170g jar of Meridian almond butter and 70g of cashew butter (slightly cheaper, still delicious), 80ml of maple syrup, 28g of ghee and 80g organic dark cocoa powder -ģot all ingredients from Tesco.
        +My batter was dolloped rather than poured into a round sandwich cake tin and baked at 160°C for 19 minutes. Previously i cooked too long and they went dry and biscuity. ?
        +I found the portion sizing generous so cut mine into 16 small squares as very rich. I’m not worried about storage as they won’t last very long – they are seriously scrummy!!

        +
        + +
        +
      260. +
      261. +
        + + +
        +

        Moist and rich, just wonderful! I used melted coconut oil instead of ghee, and I added chopped walnuts and a handful of dark chocolate chips. I found the batter to be the dubious consistency of Silly Putty, so I spread it around the 8×8″ baking pan with my fingers as if I were making focaccia. Baked for only 20 minutes, the brownies emerged gooey and deeply satisfying the way few Paleo sweets are. Thank you for a wonderful treat. Best wishes!

        +
        + +
        +
      262. +
      263. +
        + + +
        +

        I’ve never posted a comment on a recipe but I have to say these were the most amazing brownies I’ve ever had in my entire life!!! What else have I been missing out on by eliminating gluten, wheat and grains???

        +

        I did use peanut butter instead of almond butter. They were soooo gooey. I floated on a chocolate cloud up to the chocolate gods to thank them for this recipe. I thought it was only appropriate to thank you too 🙂

        +
        + +
        +
      264. +
      265. + +
      266. +
      267. +
        + + +
        +

        Just made these last night substituted coconut oil for the ghee and made pecan butter because I had no almonds . This is by far the best brownie recipe I have including “normal” recipes, which paleo has become my normal!

        +
        + +
        +
      268. +
      269. +
        + + +
        +

        Thank you so much for this amazing recipe. I substituted maple syrup for date paste and managed to make 12 delicious muffins -an absolute heaven!

        +
        + +
        +
      270. +
      271. +
        + + +
        + +

        +
        +
        +

        These are my favorite brownies! I make them for our family breakfast along with green shakes. Super yummy, indulgent and sustaining.

        +
        +
        Rating: 5
        +
        + +
        +
      272. +
      273. + +
      274. +
      275. +
        + + +
        +

        Am I the only one that thought they tasted too much like almond butter?…not chocolate. Don’t get me wrong, I ate them all but I will not make them again:) They are more like “Almond Butter Squares,” they just didn’t taste like brownies to me. Maybe I did something wrong??

        +
        + +
        +
      276. +
      277. + +
          +
        • +
          + + +
          +

          I typically do not like a mixture of chocolate and nut butter. I went a bit heavy on the cocoa powder, used the recommended maple syrup, and added a few drips of stevia extract, and subbed butter for ghee (you can’t get ghee in our stores here) and they turned out great. I could barely taste the nut butter.

          +
          + +
          +
        • +
        +
      278. +
      279. + +
      280. +
      281. +
        + + +
        + +

        +
        +
        +

        These were delicious-I made one batch the way the recipe called and the second batch I added chocolate chips to the batter. I made these for me since I’m gf – and my family (not gf!) ate them all. I only got one piece. I had them try to guess the ingredients. No one could taste the almond butter. That tells you how good this recipe is because my family thinks anything gf is terrible.

        +
        +
        Rating: 5
        +
        + +
        +
      282. +
      283. +
        + + +
        + +

        +
        +
        +

        I LOVE these brownies! I double the recipe, and use a lasagna pan. I always substitute olive oil for ghee. It turns out great every time! Thank you so much!

        +
        +
        Rating: 5
        +
        + +
        +
      284. +
      285. +
        + + +
        +

        I am fairly new to Paleo and came across this recipe. The brownies are delicious and easy to make. They have a great texture, nice chocolate flavor, and are just a tad sweet. Even a lot of my non-Paleo coworkers liked them. I will definitely be making these again! So happy I came across this recipe! Now I can have my chocolate fix and feel good about it.

        +
        + +
        +
      286. +
      287. +
        + + +
        +

        Wow! These are great! I didn’t have maple syrup so substituted Agave. I think they’d be SUPER delicious with honey. Ilk try that next time.
        +Thanks for this awesome recipe!!!

        +
        + +
        +
      288. +
      289. +
        + + +
        + +

        +
        +
        +

        Made these brownies and they were a big success. Even my very picky husband said they weren’t bad, which from him that means a lot since he doesn’t like any dessert that isn’t dripping in butter, fat, and sugar.

        +
        +
        Rating: 5
        +
        + +
        +
      290. +
      291. +
        + + +
        + +

        +
        +
        +

        Justyna made this awesome recipe! Thank you so much for sharing it and not keeping it to yourself 🙂
        I love it and it came out perfect!

        +
        +
        Rating: 5
        +
        + +
        +
      292. +
      293. +
        + + +
        + +

        +
        +
        +

        These are fabulous! They really are the best paleo brownies ever! I used dark cocoa powder (on accident) but they turned out great! I also used coconut oil instead of ghee due to a dairy allergy and I had no problems! These are definitely coming out on a regular basis!

        +
        +
        Rating: 5
        +
        + +
        +
      294. +
      295. +
        + + +
        + +

        +
        +
        +

        Made recipe as is.
        Really enjoyed.
        Met craving for brownies with paleo ingredients.

        +
        +
        Rating: 5
        +
        + +
        +
      296. +
      297. + +
      298. +
      +
      + + +
      + + +
      +

      Ask a Question/Comment

      +

      + +

      + +

      + +

      + +

      +
      + + +
      + +
      +
      + +
      +
      + + +
      +
      + + + + + + +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Facebook icon + + + + + Twitter icon + + + + + Instagram icon + + + + + + + Pinterest icon + + + + + Google+ icon + + + + + YouTube icon + + + + + LinkedIn icon + + + + + Contact icon + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/paleoleap.com/flourless-banana-pancakes.html b/packages/parser/test/paleoleap.com/flourless-banana-pancakes.html new file mode 100644 index 00000000..9179011f --- /dev/null +++ b/packages/parser/test/paleoleap.com/flourless-banana-pancakes.html @@ -0,0 +1,286 @@ + + + + + + + + + + + +Flourless Banana Pancakes | Paleo Leap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +Printer icon + +

      Flourless Banana Pancakes

      + +
      +
      +
      +
      +
      +

      Flourless Banana Pancakes Recipe

      +

      The search for the perfect Paleo pancake continues! Carrot cake pancakes are one way to do it, but what if you’re not into a lot of almond flour? Well, here’s a Sunday brunch recipe that doesn’t rely on any kind of flour at all – in fact, it’s completely nut-free, so even if you’re avoiding nuts for some reason, you can still enjoy.

      +

      The recipe calls for vanilla extract and cinnamon, but you could add whatever spices you like – bananas make a tasty delivery vehicle for just about anything. The instructions also give amounts for one person, but it’s easy to modify for a group; just use the ratio of 2 eggs:1.5 bananas. For example, for four people, you’d use 8 eggs and 6 bananas.

      +

      You’ll get best results with this recipe if you use ripe bananas: go for the ones that already have brown spots. And with just eggs as a binder, you’ll also find it easier to make smaller pancakes: big ones have a tendency to break apart when they’re flipped. Pile up a big stack of pancakes on your plate, top it all off with some berries and maple syrup (or honey, if you like), and enjoy!

      +

      Flourless Banana Pancakes Recipe

      +
      +Serves: 1Prep: 10 minCook: 10 min +
      +
      +Notice +
      +
      +
      +

      Protein: 16g / %

      +
      +
      +
      +

      Carbs: 74g / %

      +
      +
      +
      +

      Fat: 11g / %

      +
      +
      +
      +

      Values are per portion. These are for information only & are not meant to be exact calculations.

      +
      +
      + Add to Meal Plan   +

      Ingredients

      +
        +
      • 1 ½ large ripe bananas;
      • +
      • 2 eggs;
      • +
      • ½ tsp. vanilla extract;
      • +
      • ¼ tsp. ground cinnamon;
      • +
      • 1/8 tsp. baking powder;
      • +
      • Maple syrup; (optional)
      • +
      • Fresh fruits; (optional)
      • +
      +
      Flourless Banana Pancakes Recipe preparation
      +

      Preparation

      +
        +
      1. Crack the eggs in a bowl and whisk them.
      2. +
      3. In another bowl, lightly mash the bananas with a potato masher or a fork.
      4. +
      5. Add the egg, the baking powder,  the vanilla, and the cinnamon to the mashed bananas and stir to combine.
      6. +
      7. Pour about 2 tablespoons of the batter at a time onto a skillet placed over a medium-low heat and cook until the bottom appears set (1 to 2 minutes). Flip with a spatula and cook another minute.
      8. +
      9. Serve immediately, topped with fresh fruit and maple syrup (if you like).
      10. +
      +

      Check out our compilation of Paleo pancake recipes for more great ideas. +

      + +
      + +
      +
      + + + +
      + +
      + +
      +
      +

      PrivacyFull DisclaimerAboutContact

      +

      © 2019 Paleo Leap, LLC. All rights reserved.

      +

      For your information only. The statements on this website are merely opinions. Paleo Leap does not provide medical or nutritional advice, treatment or diagnosis.

      +

      We recommend 3rd party products via affiliate links.

      +
      +
      + + + + + + + + + + diff --git a/packages/parser/test/therealfoodrds.com/cauliflower-buffalo-bites.html b/packages/parser/test/therealfoodrds.com/cauliflower-buffalo-bites.html new file mode 100644 index 00000000..b63d2cec --- /dev/null +++ b/packages/parser/test/therealfoodrds.com/cauliflower-buffalo-bites.html @@ -0,0 +1,170 @@ +Cauliflower Buffalo Bites (Whole30) - The Real Food Dietitians
      + diff --git a/packages/parser/test/unboundwellness.com/cauliflower-breadsticks.html b/packages/parser/test/unboundwellness.com/cauliflower-breadsticks.html new file mode 100644 index 00000000..bda1e15d --- /dev/null +++ b/packages/parser/test/unboundwellness.com/cauliflower-breadsticks.html @@ -0,0 +1,1912 @@ + + + + + + + + + + Cauliflower Breadsticks (Paleo, AIP, Gluten & Dairy Free) - Unbound Wellness + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + + +
      +
      +
      + + + + +
      +
      + + + + + + +
      +
      + Select Page + +
      +
      +
      +
      +
      + + +
      +
      +
      +
      + +
      +
      +
      +
      +
      + + +
      +

      These cauliflower breadsticks are perfect for snacking and dipping! They’re paleo, AIP, dairy free, gluten free, and nut free.

      +

      cauliflower breadsticks

      +

      Guys. Breadsticks. Breadsticks are life. Well, breadsticks were life. I used to order from pizza places just so I could get breadsticks sometimes. Some well seasoned, cheesy, soft yet crispy breadsticks dipped in marinara sauce are just so good! Breadsticks are one of the things that I miss most!

      +

      There are a lot of recipes out there for gluten-free cauliflower breadsticks made with lots of cheese. It helps to hold the breadsticks together and makes it taste like pizza. But what about those of us who are dairy free? We still want gluten and dairy free breadsticks!

      +

      That’s why I made these! These cauliflower breadsticks are dairy free, grain free, nut free, and easy to make egg-free and AIP. They’re perfect for dipping in nightshade free marinara sauce, serving as an appetizer on Italian night, and a great super bowl snack!

      +

      cauliflower breadsticks

      +

      The Ingredient’s You’ll Need for the Cauliflower Breadsticks

      +

      +

      Riced cauliflower

      +

      I always buy cauliflower pre-riced and frozen from Whole Foods or Trader Joes for convenience. However, you can easily rice your own cauliflower by adding florets to the food processor.

      +

      Arrowroot starch and coconut flour

      +

      Though I prefer arrowroot starch here, you can use tapioca as well. I would not suggest swapping the coconut flour.

      +

      Nutritional yeast

      +

      This helps make the breadsticks taste cheesy!

      +

      Olive oil

      +

      You can likely use avocado oil but olive oil has a much better flavor here.

      +

      Egg (or a gelatin egg)

      +

      If you’re egg free, you can use a gelatin egg substitute. You’ll find the instructions in the recipe.

      +

      Basil, oregano, garlic, and parsley

      +

      For flavor!

      +

      +

      If you like this recipe, you may also like…

      + +Print
      + + +
      +

      Cauliflower Breadsticks (Paleo, AIP, Gluten & Dairy Free)

      +
      + +
      +
        +
      • + Author: Michelle
      • +
      • + Prep Time: 20
      • +
      • + Cook Time: 30
      • +
      • + Total Time: 50 minutes
      • +
      • + Yield: 3 servings 1x
      • +
      +
      +
      + +
      + + + + + +
      + + Scale + +

      Ingredients

      +
        +
      • 2 cups cauliflower, riced
      • +
      • 1/2 cup arrowroot starch
      • +
      • 1/4 cup coconut flour
      • +
      • 3 tbsp nutritional yeast 
      • +
      • 2 tsp garlic powder
      • +
      • 2 tsp dried parsley
      • +
      • 1 tsp dried basil
      • +
      • 1 tsp dried oregano
      • +
      • 3/4 tsp sea salt
      • +
      • 1/4 tsp baking soda
      • +
      • 3 tbsp olive oil
      • +
      • 2 tsp apple cider vinegar
      • +
      • 1 egg (substitute gelatin egg for AIP, see notes)
      • +
      +
      + +
      + +
      +

      Instructions

      +
        +
      1. Preheat the oven to 375 F and line a baking sheet with parchment paper.
      2. +
      3. Add the riced cauliflower to a medium pot and cover with water. Bring to a simmer and cover for 7 minutes to steam the cauliflower. Remove the lid, strain the excess water and allow the cauliflower to cool before using a cheesecloth or nut milk bag to remove all water from the cauliflower.
      4. +
      5. Combine the dry ingredients in a large mixing bowl and mix well.
      6. +
      7. Add the riced cauliflower and stir.
      8. +
      9. Incorporate the olive oil, apple cider vinegar and egg (or gelatin egg) and stir until a dough forms.
      10. +
      11. Flatten the dough on the baking sheet and form into a large rectangle.
      12. +
      13. Bake in the preheated oven for 15-20 minutes or until lightly golden brown and crispy.
      14. +
      15. Remove from the oven and use a pizza roller to slice into 14-16 slices. Serve warm with tomato sauce or nightshade free marinara. 
      16. +
      +
      + + +
      +

      Notes

      +

      For the gelatin egg substitute – Add 1/4 cup water to a small sauce pot and slowly sprinkle in 1 tbsp of gelatin. Use a fork to gently mix in any clumps. Set aside and allow the mixture to harden for 2-3 minutes. Place the pot on the stove and turn the heat on low heat. Slowly melt the gelatin over 1-2 minutes. Immediately remove from heat once the gelatin has melted and the mixture has returned to liquid. Vigorously whisk the liquid until it becomes frothy. Pour it into the breadstick mixture immediately to swap for an egg.

      +
      +

      All nutritional information is an estimation and not exact.

      +
      +
      +

      The photos of this recipe and all written content on my website are copyright protected and cannot be copied or shared. Please do not copy this recipe or photos and share it on your own website, Instagram, or other written materials. If you’d like to tell people about this recipe on social media, your own website, or elsewhere please link back to the recipe here rather than copy and pasting.  Thank you so much!!

      +
      +
      +
      +
      + +
      +
        +
      • Category: Snacks
      • Method: Baked
      • Cuisine: Italian American
      +
      + +
      +
      + +
      + + + + +
      + + +
      +

      cauliflower breadsticks

      +
      + +
      + +
      + + +
      +
      +
      + + + + + +
      + +
      + +
      + + + + + + +
      +
      + + +
      + +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/veggieandthebeastfeast.com/the-easiest-3-ingredient-fudge-bites.html b/packages/parser/test/veggieandthebeastfeast.com/the-easiest-3-ingredient-fudge-bites.html new file mode 100644 index 00000000..f344d358 --- /dev/null +++ b/packages/parser/test/veggieandthebeastfeast.com/the-easiest-3-ingredient-fudge-bites.html @@ -0,0 +1,1968 @@ + + + + + + + + + + + + + + + + + + + + + + + + +The Easiest 3-Ingredient Fudge Bites + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + + +
      + +
      + +
      +

      Veggie and the Beast

      + + + +
      +
      + +
      + +

      The Easiest 3-Ingredient Fudge Bites

      + + + +

      3-Ingredient Fudge Bites | veggieandthebeastfeast.com
      +Are you ready for the easiest dessert ever?

      +

      Aside from eating a handful of chocolate chips, of course…which I do on the regular. On top of a spoonful of peanut butter.

      +

      Ahem…
      +
      +3-Ingredient Fudge Bites | veggieandthebeastfeast.com

      +

      Fudge always reminds me of my family reunions on the East Coast, where we met up every August for the first 20 years of my life. At least twice every trip, someone would buy a couple pounds (!!!) of fudge to share with the group. Although there were many fancy flavor options, I was (and still am) all about the straight-up chocolate.

      +

      3-Ingredient Fudge Bites | veggieandthebeastfeast.com

      +

      During these trips I would cut little chunks off of the big fudge block every time I passed by the counter that held the boxes, and then fall into an inevitable sugar coma by the end of the day. Remembering that overloaded feeling, I used a mini muffin pan to build some portion control into my version.

      +

      That’s of course assuming you can stop at just one of these cute little things. Eeep.

      +

      3-Ingredient Fudge Bites | veggieandthebeastfeast.com

      +

      In addition to the simple ingredient list, the actual process of making this fudge couldn’t be much easier. The recipe is basically a play on ganache: heat up a high fat liquid (usually heavy cream, but in this case coconut milk), pour it over chocolate, let it sit for a couple minutes, whisk, and bam. The addition of coconut oil to the hot liquid helps make the fudge a little smoother and richer, so don’t leave it out!

      +

      Once your chocolate is super glossy and smooth after the whisking, just scoop heaping tablespoons into well-greased muffin liners, top them however you like (more on that below), and stick the pan in the freezer (fast/impatient route) or the fridge (if you’re a stronger person than me).

      +

      3-Ingredient Fudge Bites | veggieandthebeastfeast.com

      +

      I opted to top my fudge with sea salt and caramel, and I highly recommend both. I used this recipe for salted caramel, and just boiled it for 3 minutes instead of 1 (resulting in a slightly thicker caramel), but you could use store-bought caramel in a pinch. If you go the caramel route, know that the caramel stays pretty sticky, so unwrap with caution. That comment is for all you parents with little ones – don’t say I didn’t warn you! :)

      +

      If you’re into walnuts, pistachios or coconut in your fudge – go for it! Top to your heart’s content.

      +

      3-Ingredient Fudge Bites | veggieandthebeastfeast.com

      +

      No more plain old chocolate chips from the bag for me; I’m totally in love with this fudge! Let me know if you make it!

      +
      + + + + + + +

      The Easiest 3-Ingredient Fudge Bites

      + +

      The easiest fudge ever, made with just 3 ingredients! Rich, thick, and easy to adapt to your tastes.

      +
      + +
      +

      Yield: 24 fudge bites

      +

      Prep Time: 1 hour 15 minutes

      + +

      Total Time: 1 hour 15 minutes

      +
      + +

      Ingredients:

      +

      3-Ingredient Fudge Bites

      +
        +
      • 3 cups semisweet chocolate chips (dairy free, if needed)
      • +
      • 3/4 cup full-fat coconut milk
      • +
      • 2 tablespoons coconut oil
      • +
      +

      Optional Toppings

      + +
      + +

      Directions:

      +
        +
      1. Place the chocolate chips in a large bowl.
      2. +
      3. Combine the coconut milk and coconut oil in a small pan, and bring to a boil, whisking occasionally to ensure the coconut oil melts fully, and the milk warms evenly.
      4. +
      5. Pour the hot coconut milk/oil mixture over the chips, and let sit for 2 minutes. Whisk until totally smooth. Every so often I still have some lumps at this point, so I place the bowl (I use a glass bowl) over a pan of simmering water and whisk until all the lumps are gone.
      6. +
      7. Line a mini muffin pan with liners, and grease liberally. Fill each liner to the top (a heaping tablespoon of the chocolate).
      8. +
      9. Sprinkle sea salt on top (or any of the other toppings listed above). If using caramel, drizzle 1/2 teaspoon on each fudge bite, and use a toothpick to swirl.
      10. +
      11. Freeze (1 hour) or refrigerate (2-3 hours) until set.
      12. +
      +
      + +

      You can store your finished fudge bites in the fridge or freezer. As you may guess, storing them in the fridge makes them a little softer, and the freezer makes them slightly firmer. They never freeze solid, which is a scientific mystery to me. They WILL melt if left out on the countertop, so don't do it! :)

      +

      The chocolate chips are key to the quality of the fudge, so I recommend not skimping on the brand. I like Ghirardelli or Guittard (if not vegan), or Enjoy Life (if vegan).

      +
      + + +
      + + + + + + +
      + + + + + + +     + + + + + +
      + + + + +
      + + +
      +
      +
      + + + + + +
      + + + + + +

      112 Responses to “The Easiest 3-Ingredient Fudge Bites”

      + + +
        +
      1. +
        + + +
        Mercedes — October 1, 2014 @ 7:22 am (#)
        + +

        I love this! I think it would make an amazing treat and you are right, so much better than regular chocolate. I think I might make myself some today to keep in the fridge!

        +
        + + +
        + +
      2. +
      3. +
        + + +
        Warm Vanilla Sugar — October 1, 2014 @ 7:48 am (#)
        + +

        Oh girl, I’m crushing on these so hard!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 2, 2014 @ 2:42 pm (#)
          + +

          Girl, me too. :)

          +
          + + +
          + +
        • +
        +
      4. +
      5. +
        + + +
        Sarah@wholeandheavenlyoven — October 1, 2014 @ 8:02 am (#)
        + +

        Oh my goodness….these look dangerously easy and pretty dang addicting. — I don’t think I would be able to share with anyone! ;) Pinned!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 2, 2014 @ 2:41 pm (#)
          + +

          The only reason I could share was because I made 3 batches last weekend…oops :) Thanks for the pin!

          +
          + + +
          + +
        • +
        +
      6. +
      7. +
        + + +
        Lucie A.S — October 1, 2014 @ 8:29 am (#)
        + +

        One word and it couldn’t be one other than YUM!!

        +
        + + +
        + +
      8. +
      9. +
        + + +
        Katie (The Muffin Myth) — October 2, 2014 @ 12:29 am (#)
        + +

        This is totally genius! I used to make a similar fudge years ago using chocolate chips, condensed milk, and powered sugar. So much sugar! This looks like a much better and chocolate focused choice. I’ll definitely be making these little bites of goodness and keeping them on hand for when I need a chocolate fix. Thanks for the recipe!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 2, 2014 @ 2:41 pm (#)
          + +

          A condensed-milk fudge recipe is actually what gave me the idea for this one :) Let me know what you think!

          +
          + + +
          + +
        • +
        +
      10. +
      11. +
        + + +
        Lauren McGinnis — October 2, 2014 @ 6:00 pm (#)
        + +

        This seems way too easy not to make! I definitely see this is my near future, maybe with some peanut butter in the middle? Ooooh Reese’s! Pinned for later!

        +
        + + +
        + +
      12. +
      13. +
        + + +
        Jess — October 4, 2014 @ 12:30 am (#)
        + +

        Yum! I have an open can of coconut milk and some coconut oil crying out for this!

        +
        + + +
        + +
      14. +
      15. +
        + + +
        kale123 — October 7, 2014 @ 7:54 am (#)
        + +

        Looks great. Always in need of dairy-free treat options. Big fan of coconut in general, use it in loads of my recipes.

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 10, 2014 @ 1:25 pm (#)
          + +

          Agree – coconut is the best, in all it’s forms – oil, milk, shredded etc. :)

          +
          + + +
          + +
        • +
        +
      16. +
      17. +
        + + +
        Alicia — October 8, 2014 @ 11:40 pm (#)
        + +

        What do you grease the tin liners with and how? Individually spreading oil on each liner seems like a big time commitment…..Is this step really necessary?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 9, 2014 @ 7:47 am (#)
          + +

          I used coconut oil spray, so it was pretty quick! It is a necessary step- I tried a few without greasing and they stick to the liners pretty bad.

          +
          + + +
          + +
        • +
        +
      18. +
      19. +
        + + +
        Gemma Gonzalez — October 9, 2014 @ 5:14 pm (#)
        + +

        Mouth-watering recipe! I’ve just seen this at Foodgawker and immediately have fallen in love! Easy recipe and super yummy!

        +

        xoxo

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 10, 2014 @ 1:22 pm (#)
          + +

          Thank you, Gemma!

          +
          + + +
          + +
        • +
        +
      20. +
      21. +

        Pingback: Drool-Worthy Gluten-Free Chocolate Desserts - Pazoo.com

        +
      22. +
      23. +
        + + +
        Linda @ The Fitty — October 24, 2014 @ 7:22 pm (#)
        + +

        Oh my god it’s basically chocolate! Delicious, fudgy chocolate!!

        +
        + + +
        + +
      24. +
      25. +
        + + +
        Laura - Chronicles of Passion — November 21, 2014 @ 9:39 am (#)
        + +

        Oh my golly. This looks awesome! Something tells me this could be happening this weekend . . .

        +
        + + +
        + +
      26. +
      27. +

        Pingback: Weekend | Chronicles of Passion

        +
      28. +
      29. +
        + + +
        Amy — December 8, 2014 @ 12:46 pm (#)
        + +

        How much coconut flavor is in this? Was thinking of adding peppermint essential oil to it bc I LOVE mint!;-)

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — December 8, 2014 @ 12:58 pm (#)
          + +

          They don’t taste very coconutty at all. My sister who hates coconut still really liked these. I think adding peppermint would be great!

          +
          + + +
          + +
            +
          • +
            + + +
            Amy — December 8, 2014 @ 2:33 pm (#)
            + +

            Good news!!! Thanks! Will try tonight!!:-)

            +
            + + +
            + +
          • +
          +
        • +
        +
      30. +
      31. +

        Pingback: Who’s Hungry | Babe Daily

        +
      32. +
      33. +
        + + +
        Michelle — January 26, 2015 @ 8:30 pm (#)
        + +

        Thanks for this! I poured mine on parchment, chilled, and cut into squares. Great easy recipe!

        +
        + + +
        + +
      34. +
      35. +

        Pingback: Delectable Desserts {Valentine's Day} - Organically MoOrganically Mo

        +
      36. +
      37. +
        + + +
        Lisa — February 11, 2015 @ 8:12 pm (#)
        + +

        Hi.. you say line the cupcake pan with tins then grease, are you greasing the pan so the liners don’t stick?  Or are you greasing the liners?  And what are you greasing with?  As you can tell I am not chef of the day… but totally want to make these….

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — February 11, 2015 @ 8:23 pm (#)
          + +

          Hi! I coated the liners with coconut oil spray- you want to spray them so the fudge doesn’t stick. Hope that helps!

          +
          + + +
          + +
        • +
        +
      38. +
      39. +
        + + +
        Julie — February 16, 2015 @ 9:25 am (#)
        + +

        The coconut milk…You’re talking the kind in the can?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — February 16, 2015 @ 9:35 am (#)
          + +

          Yes, full fat from the can.

          +
          + + +
          + +
        • +
        +
      40. +
      41. +
        + + +
        Kari — February 28, 2015 @ 6:51 pm (#)
        + +

        These look delicious!
        +Kari
        +http://www.sweetteasweetie.com

        +
        + + +
        + +
      42. +
      43. +
        + + +
        Caleb — March 1, 2015 @ 11:06 pm (#)
        + +

        Could I do cacao powder instead of chocolate chips? and if so how much? 

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — March 2, 2015 @ 9:12 am (#)
          + +

          I think that would drastically change the texture of the fudge, so I don’t think it would work. Sorry!

          +
          + + +
          + +
        • +
        +
      44. +
      45. +
        + + +
        Deryn @ Running on Real Food — March 11, 2015 @ 2:56 pm (#)
        + +

        Oh my. These look so goooooood. I use coconut cream all the time to make similar treats but I love this! Adding sea salt on top is key, good call ;) thanks for sharing!

        +
        + + +
        + +
      46. +
      47. +
        + + +
        Jana — March 22, 2015 @ 9:54 am (#)
        + +

        I have a can of light coconut milk.  Can I use this?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — March 22, 2015 @ 10:39 am (#)
          + +

          I haven’t tried light coconut milk in this recipe, so I can’t say for sure. I would assume that the extra fat would be crucial to the texture, but let me know if you try it!

          +
          + + +
          + +
        • +
        +
      48. +
      49. +
        + + +
        Lisa S — March 24, 2015 @ 7:18 am (#)
        + +

        These look so amazing! Do you have a link to the caramel sauce you used in the picture?  

        +
        + + +
        + + +
      50. +
      51. +
        + + +
        Monica Wierzba — March 24, 2015 @ 2:27 pm (#)
        + +

        Wondering if you have calorie/fat/carb counts on this recipe?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — March 25, 2015 @ 1:24 pm (#)
          + +

          I only recently started adding nutritional information to my recipes, so I haven’t done so with this one. You could put the ingredients into an online calculator to get the information – recipe makes about 24 fudge bites.

          +
          + + +
          + +
        • +
        +
      52. +
      53. +
        + + +
        Chrissie — March 29, 2015 @ 9:16 am (#)
        + +

        I have had a fudge fail this morning. I could not get the melted chocolate smooth, it separated. I tried heating it all in the microwave for 15 seconds at a time, for an additional minute. What have I done wrong? I used full fat coconut milk, coconut oil, and Enjoy Life chocolate morsels.

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — March 29, 2015 @ 10:10 am (#)
          + +

          Oh no! I’m sorry to hear that. I have always had success pouring the liquid over the chips and letting it sit, but I’ve read that some people make ganache (which is basically what this is) by throwing the chocolate chips into the milk mixture and whisking immediately, and that technique may help prevent the chocolate from seizing. I haven’t tried that technique, but it may be worth a try. My only other thought is that perhaps the milk wasn’t quite hot enough? Let me know how it goes if you try again!

          +
          + + +
          + +
        • +
        +
      54. +
      55. +
        + + +
        Jana — April 1, 2015 @ 7:19 pm (#)
        + +

        I did use light coconut milk and it totally worked!  Thank you!  Yummy recipe!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 1, 2015 @ 7:27 pm (#)
          + +

          Awesome! Glad to hear it! Just curious – what brand of light coconut milk did you use?

          +
          + + +
          + +
        • +
        +
      56. +
      57. +
        + + +
        judi — April 2, 2015 @ 4:42 am (#)
        + +

        I made a big batch of these last night. that’s a LOT of fudge but I am NOT complaining! :)

        +

        I didn’t have coconut milk on hand so I used the extra thick cashew milk that I had.. these are amazing. the meltaway texture is so luxurious! I made some plain, others topped with coconut, walnuts, sunbutter, chili/cinnamon, and salted.

        +

        I am mad that I didn’t think of using peppermint extract like one of your posters suggested! this is something I will make again and often! thanks

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 2, 2015 @ 11:20 am (#)
          + +

          Interesting – I’m glad to hear that cashew milk works! Thanks for the comment, and I’m so glad you enjoyed these!

          +
          + + +
          + +
        • +
        +
      58. +
      59. +
        + + +
        Michelle Tex — April 4, 2015 @ 8:57 pm (#)
        + +

        i just made these and did some topped with walnuts, some with salted caramel and some with coconut and left some plain. Perfect Easter Sunday treat! 

        +
        + + +
        + +
      60. +
      61. +
        + + +
        Micah — April 5, 2015 @ 6:06 pm (#)
        + +

        Hi there, just wondering.. When you say full fat coconut milk (canned) do I refrigerate it and only use the cream or the liquid as well? and also for the caramel sauce? Thanks!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 5, 2015 @ 6:30 pm (#)
          + +

          Shake it up and use the liquid and the cream – no need to refrigerate/separate!

          +
          + + +
          + +
        • +
        +
      62. +
      63. +

        Pingback: The Southern Chocolatier – Ever bite into fudge and think just kill me now? | My Life. One Story at a Time.

        +
      64. +
      65. +
        + + +
        Jessica — April 6, 2015 @ 6:01 pm (#)
        + +

        Do you think you could use pure cocoa powder (e.g., no sugar) instead of chips?  I’m doing no sugar right now.

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 6, 2015 @ 7:17 pm (#)
          + +

          I haven’t tried so I’m not sure- sorry! Let me know if you try it out!

          +
          + + +
          + +
        • +
        +
      66. +
      67. +

        Pingback: Random recipe: Three Ingredient Fudge Bites | random olio

        +
      68. +
      69. +

        Pingback: Friday Favorites #7 | ALD.FIT

        +
      70. +
      71. +
        + + +
        Kim Atwood — April 13, 2015 @ 1:36 pm (#)
        + +

        could you use Carob chips in place of the chocolate chips for a sugar free version? 

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 13, 2015 @ 2:10 pm (#)
          + +

          I’m not sure – I have not tried this recipe with carob chips, so I don’t know how they would turn out. Report back if you give it a try!

          +
          + + +
          + +
        • +
        +
      72. +
      73. +
        + + +
        Mary DeMattio — April 20, 2015 @ 5:59 pm (#)
        + +

        Can I remove the papers and serve these for a bridal shower or would that be too messy?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 20, 2015 @ 8:54 pm (#)
          + +

          They melt rather quickly when left out, so unless you can keep them chilled until right before serving I’m not sure that would work.

          +
          + + +
          + +
        • +
        +
      74. +
      75. +
        + + +
        Nicole Choudhary — April 23, 2015 @ 5:18 pm (#)
        + +

        Hey Katie!

        +

        I am a little late to the party on this recipe but I just found you and needless to say, am totally in love with your blog!!

        +

        My question is about adding peanut butter to the top (or maybe middle) of these …. do you think it would work or would it stay too sticky??

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 23, 2015 @ 7:58 pm (#)
          + +

          Thank you so much!…and I haven’t tried peanut butter, but a friend of mine put it in the middle and said it was really good!

          +
          + + +
          + +
        • +
        +
      76. +
      77. +
        + + +
        iyut — April 27, 2015 @ 3:40 am (#)
        + +

        Could I substitute the coconut oil with olive oil? I can’t find coconut oil in any supermarket here in my city..

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 27, 2015 @ 9:09 am (#)
          + +

          Coconut oil works because it is solid at room temperature, so I don’t believe olive oil would work. If you’re not vegan, you could try butter. I haven’t tried these with butter, but since it is solid at room temperature like coconut oil I believe it would work.

          +
          + + +
          + +
        • +
        +
      78. +
      79. +
        + + +
        gardenia — April 27, 2015 @ 2:23 pm (#)
        + +

        hey.. what is the best way to serve in party.. cuz u mention it can be melt if u left it on the counter

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 27, 2015 @ 4:05 pm (#)
          + +

          Honestly, unless you can refrigerate them until right before serving, these might not be the best party treats. Even when I brought them in to work to share I put them in the fridge and told people to grab them from there – they just get a little too melty if left out. Sorry I can’t be more helpful!

          +
          + + +
          + +
        • +
        +
      80. +
      81. +
        + + +
        Lesandra — April 28, 2015 @ 7:21 pm (#)
        + +

        are these paleo friendly??

        +
        + + +
        + +
      82. +
      83. +
        + + +
        JoAn @ simplegreenmoms.com — May 1, 2015 @ 9:33 am (#)
        + +

        This looks amazing! A must-try this weekend and every weekend after that!!! :)

        +
        + + +
        + +
      84. +
      85. +
        + + +
        adriane — May 1, 2015 @ 9:19 pm (#)
        + +

        I made these tonight and they are soooooooo good and easy. Put coconut in some of them and they are just like mounds.

        +
        + + +
        + +
      86. +
      87. +
        + + +
        Nana — June 5, 2015 @ 6:37 am (#)
        + +

        Could you keep these in the freezer or do you have to eat them immediately? Thanks!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — June 5, 2015 @ 7:55 am (#)
          + +

          You can definitely keep them in the freezer! That’s what I did for months :)

          +
          + + +
          + +
        • +
        +
      88. +
      89. +
        + + +
        Nana — June 5, 2015 @ 12:05 pm (#)
        + +

        I just made these and they are yum! And so easy!
        +What would be the best way to freeze them?
        +(I am quite new at making sweet things, so I would appriciate your advice.) Thanks!!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — June 5, 2015 @ 12:54 pm (#)
          + +

          I’m so glad you like them! As far as freezing goes, once they’re set I just placed them in air-tight tupperware, and separated any layers with a sheet of parchment paper.

          +
          + + +
          + +
        • +
        +
      90. +
      91. +
        + + +
        Cherie — June 8, 2015 @ 10:47 am (#)
        + +

        Hi I just made these last night super yum!! I had a little problem with the coconut oil separating and rising to the top? Has that ever happened to you before? Can this be made without the coconut oil or mabey less?? They were still delicious all the same just not so pretty… I topped some of mine with bee pollin others with dried cranberries and caco nibs and others with sea salt and maca powder. All of them tasted amazing I simply love the idea that you can sprinkle anything on top to have a variety of flavors. I can’t wait to try them again with peanut butter!!! Thanks  so much for sharing I absolutely love your blog!!!

        +
        + + +
        + +
      92. +
      93. +
        + + +
        Megan Wilcox — June 8, 2015 @ 1:21 pm (#)
        + +

        What did you grease the liners with? I LOVE this recipe and have made them twice (once with liners and once without – I had run out) and my liners seemed to really stick to my bites when I used cooking spray.

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — June 8, 2015 @ 2:13 pm (#)
          + +

          Oh no! I’m sorry to hear that they stuck. I use coconut oil cooking spray, and they worked great with this recipe. Maybe you need to be a little more heavy-handed with the spray?

          +
          + + +
          + +
        • +
        +
      94. +
      95. +

        Pingback: 49 Vegan Super Bowl Snacks for Super Bowl XLIX - Vegan Food Lover

        +
      96. +
      97. +
        + + +
        Erin Joy — July 7, 2015 @ 8:47 pm (#)
        + +

        I’m allergic to coconut…but these look lovely. Do you have any substitution ideas by any chance? Fingers crossed.

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — July 8, 2015 @ 12:13 pm (#)
          + +

          Hi there! If you’re not vegan I would say you can probably substitute heavy cream and butter, but I haven’t tried it so I can’t say for sure. Let me know if you give it a try!

          +
          + + +
          + +
        • +
        +
      98. +
      99. +
        + + +
        kushi — July 10, 2015 @ 11:54 am (#)
        + +

        Oh my!It’s mouth watering recipe and amazing clicks. I am in love with this :)

        +
        + + +
        + +
      100. +
      101. +
        + + +
        JennyG — July 11, 2015 @ 12:52 pm (#)
        + +

        I just made these, instead of using chocolate chips I used 100% raw cacao powder. The chocolate powder didn’t disolve as much as I wanted it to. I also added stevia as the sweetener & peppermint as a little minty flavor that my hubby likes. Will let you know how they taste :-). Topped some with some shredded dried coconut flakes. I used the entire can of coconut milk & it made 23, 1tbsp squares. 

        +
        + + +
        + +
      102. +
      103. +
        + + +
        Linda — July 11, 2015 @ 9:54 pm (#)
        + +

        I just made these but I used about half Mexican chocolate and half chocolate chips. I added the disks of Mexican chocolate to the pot of coconut oil and coconut milk to melt them and then poured everything over the chocolate chips. Omg heavenly.

        +

        My mistake wass using silicone cube trays and NOT greasing them. I don’t know what I was thinking. Oh well, they are still delicious even if difficult to get to.

        +
        + + +
        + +
      104. +
      105. +

        Pingback: Coconut Milk Chocolate Truffles - Fanofstuff.com

        +
      106. +
      107. +

        Pingback: Skinny SometimesBusy Girl Meal Boxes #4 - Skinny Sometimes

        +
      108. +
      109. +
        + + +
        Sunshine — July 25, 2015 @ 3:18 pm (#)
        + +

         I just saw this recipe posted on Facebook. I didn’t have coconut milk but I had half-and-half. These are absolutely divine !!  I love that there is no added sugar, the coconut fat I can handle, it’s a healthy fat.  thank you so much for this recipe !

        +
        + + +
        + +
      110. +
      111. +

        Pingback: Guest Post: Anne - justjacq

        +
      112. +
      113. +

        Pingback: TeenTimes.com - It's Our Thing!

        +
      114. +
      115. +

        Pingback: The Easiest 3-Ingredient Fudge Bites - Taste Life, with Chere Bork

        +
      116. +
      117. +

        Pingback: Easy 3 Ingredient Microwave Fudge Bites – Recipe Diaries

        +
      118. +
      119. +

        Pingback: 11 Healthy Coconut Recipes to Lose Weight and Prevent Heart Attacks - Healthy Holistic Living

        +
      120. +
      121. +

        Pingback: Dishes To Make Using Coconut Milk | DrStevenlin

        +
      122. +
      123. +

        Pingback: Fudge Bites - The Culinary Beautician

        +
      124. +
      125. +
        + + +
        Ruzena — November 17, 2015 @ 10:11 pm (#)
        + +

        I found this as a pin on pinterest jus last month, over a year after your initial post. I’m happy for i it is still circulating. I am not a vegan or vegetarian, but  have dairy allergies and t
        +Other stomach issues. Findin decadent desserts that also are withing my healthy meal plan and won’t make me sick, AND taste good have been hard to come by… until I read this post! Thank you so much.  I went to a soup party and was asked to bring dessert, I decided to try these, that way I knew it was something I could eat, well…. the were a hit. Patty guests said I should write a blog about my dairy issues and start with this recipe. I laughed and gave them your weblink and said I couldnt take the credit at all. 
        +Now, I just finished making them to take to my work place for a bake off tomorrow, I’m the health nut there and never participate on the bake offs, but  now I have something to add and people are anxious to see what I bring, this will shock them, even my husband couldn’t believe they were vegan. Lol anyway,  I am a busy working mom, with a full time job, a side photography business and I try to stay healthy and social too. This will be my quick and easy go to for any holiday event this season. thank you again!

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — November 18, 2015 @ 7:37 am (#)
          + +

          What a wonderful comment to start my day. Thank you!!! I’m SO glad these were such a hit!

          +
          + + +
          + +
        • +
        +
      126. +
      127. +

        Pingback: šokolaadi fudge | tsempionideeine

        +
      128. +
      129. +

        Pingback: The Easiest 3-Ingredient Fudge Bites - Amy Mazeski

        +
      130. +
      131. +

        Pingback: Easy Fudge Cups - Dreaming Dessert

        +
      132. +
      133. +

        Pingback: 6 Desserts To Bake This Weekend | Sunday Chapter

        +
      134. +
      135. +

        Pingback: NIA Arrests 20 Terror Suspects, Hints That Indian Mujahideen Is Regrouping As IS | Breaking World News

        +
      136. +
      137. +

        Pingback: Only Recipes | Easy 3 Ingredient Microwave Fudge Bites - Only Recipes

        +
      138. +
      139. +

        Pingback: ง่าย 3 ส่วนผสมฟัดจ์ - แชร์สูตรขนมอาหารออนไลน์

        +
      140. +
      141. +

        Pingback: Gluten Free Treats to Make Date Night Special - Joy In My Kitchen

        +
      142. +
      143. +
        + + +
        Julie — April 20, 2016 @ 2:14 am (#)
        + +

        Hi, So I know this is an old post for you, but someone just linked to it and they look fab! Just wanted to know, could I use a different oil? I currently live in Saudi Arabia and cannot find coconut oil anywhere here. What would be a sensible alternative?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — April 21, 2016 @ 11:11 am (#)
          + +

          Hi, thank you for your comment! I haven’t not tried these with any other oil. I believe coconut oil would be crucial, because it’s solid at room temp, so you wouldn’t want to use any liquid oil. You could try leaving it out, but it won’t be as rich. Or, if you eat dairy, I believe butter would work.

          +
          + + +
          + +
        • +
        +
      144. +
      145. +
        + + +
        Nina V — May 30, 2016 @ 8:10 pm (#)
        + +

        I have just made this to use as mini tart fillings! Brilliant. :D
        +I added in some defrosted cherries to the mix.
        +My children will go nuts at afternoon tea time.
        +Thanks so much for this super simple treat. :)

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — May 31, 2016 @ 6:43 am (#)
          + +

          Great to hear – thank you for the comment!

          +
          + + +
          + +
        • +
        +
      146. +
      147. +
        + + +
        al — July 13, 2016 @ 7:50 pm (#)
        + +

        Hi,
        +what type of coconut flakes? Sweetened or unsweetened? 
        +And the same question for the coconut milk? ???? So looking forward to trying this recipe! 

        +

        Thanks

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — July 14, 2016 @ 5:59 pm (#)
          + +

          The coconut flakes on top can be sweetened or unsweetened – whatever you prefer. The coconut milk should be full fat (the kind that is in a can), which is unsweetened. Hope you like these fudge bites!

          +
          + + +
          + +
        • +
        +
      148. +
      149. +

        Pingback: My Favorite Plant Based Desserts – Well From Within

        +
      150. +
      151. +
        + + +
        Jaclyn — August 2, 2016 @ 8:00 pm (#)
        + +

        Can I use cacao powder instead? 

        +
        + + +
        + +
      152. +
      153. +

        Pingback: Weekend

        +
      154. +
      155. +
        + + +
        Joss — October 10, 2016 @ 8:14 pm (#)
        + +

        I really want to make these but my mom is severely allergic to coconut…what can i use as a substitute (if there are any substitutes)?

        +
        + + +
        + +
          +
        • +
          + + +
          Katie — October 11, 2016 @ 1:21 pm (#)
          + +

          Unfortunately I don’t know of any substitutes – the fat in the coconut milk is crucial the outcome of the fudge. I’m sorry I can’t be more helpful!

          +
          + + +
          + +
        • +
        +
      156. +
      157. +

        Pingback: 12 Healthy Desserts You'll Drool Over

        +
      158. +
      + + + + + + + + +
      + +
      + + +
      + + + + +
      + + \ No newline at end of file diff --git a/packages/parser/test/vegukate.com/pumpkin-chocolate-dream-brownies.html b/packages/parser/test/vegukate.com/pumpkin-chocolate-dream-brownies.html new file mode 100644 index 00000000..a00b931f --- /dev/null +++ b/packages/parser/test/vegukate.com/pumpkin-chocolate-dream-brownies.html @@ -0,0 +1,411 @@ + + + + + + + + + + Pumpkin & Chocolate Dream Brownies | VeguKate + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + +
      + + + + + + + + +
      +

      Pumpkin & Chocolate Dream Brownies

      + +

      + + in Recipes +

      + +
      +

      + +

      If you’re sick of seeing pumpkin flavored everything already, then please bear with me – it will only last for a few more weeks before all things turn pepperminty and Christmasy. Over here, I’m not complaining.

      + +

      In fact, I’m celebrating – with more pumpkin and a bit of chocolate before my favorite autumnal baking season is caput.

      + +

      Pumpkin has long been associated with pies, soups, and lattes, but never has really found its place intermingled with chocolate. In fact, combining a vegetable with chocolate seems slightly bizarre. Of course, not here at Vegukate, where vegetables find their way into many a dish, some of which also include chocolate. For example zucchini & sweet potatoes are clearly a match made in chocolate heaven.

      + +

      Anyways, Who would have thought that combining pumpkin with rich, dark chocolate would create such a dreamy combination? I had my doubts, but after joining the two that I can see their potential for power/world domination. Not only do pumpkin and chocolate provide a wallop of flavor together, they have the most delightful and creamy texture that will make any sworn-pumpkin-pie-only purist scratch their head and reconsider things.

      + +

      + +

      + +

      + +

      Let’s talk pumpkin. I’ve outlined their benefits before here, but as a reminder, pumpkins are a total super veg. They’re packed with blood-sugar stabilizing complex carbohydrates, beta-carotene, Vitamins A & C, potassium, and magnesium. Due to their vast array of carotenoid and antioxidants, pumpkins are thought to have anticarciongenic properties, as well as being beneficial for eyesight and total body anti-inflammatory support. With all that goodness, how could you not be dumping pumpkin puree in everything this time of year?!

      + +

      Now about that puree. The canned variety found on your supermarket shelves actually comes from yellow-skinned winter squash, and not a pumpkin at all. This is why the canned variety is never quite as sweet and flavorful as the real deal pumpkin that your grandmother used to cook up. I know the canned variety is tempting and oh-so easy, but roasting your own cutie pie little pumpkins is way more soul-soothing, economical, and tastier too. So grab a few sugar pumpkins and get roasting, it’s truly the best way to enjoy pumpkin. Angela’s method here is the one I typically follow, and it’s quite foolproof for any kitchen cook.

      + +

      + +

      Along with sweet homemade pumpkin puree, this recipe is filled with a bunch of other nourishing goodies as well. Coconut oil boasts healthy medium-chain fatty acids, while coconut flour is filled with beneficial and belly-filling fiber. Coconut sugar and maple syrup provide a naturally sweet alternative to nutrient-less white sugar, and spicy nutmeg, pumpkin pie spice, and vanilla extract provide an essential flavor to our sweet brownies.

      + +

      Creamy dreamy pumpkin + rich cacao + heart healthy coconut oil + fiber filled coconut flour + sweet maple syrup + warming spices = a healthy, gluten-free pumpkin and chocolate dream.

      + +

      + +

      Pumpkin & Chocolate Dream Brownies

      + +

      Makes 1 large tray of brownies

      + +

      ½ cup rolled oats, ground into a flour (or use oat flour)
      +1 teaspoon baking soda
      +½ teaspoon sea salt
      +2 teaspoons pumpkin pie spice
      +¼ teaspoon freshly ground nutmeg
      +4 tablespoons cacao powder
      +¾ cup coconut flour
      +½ cup coconut sugar
      +3 tablespoons coconut oil, melted
      +3 cups pumpkin puree
      +½ cup maple syrup
      +½ cup unsweetened almond milk
      +1 teaspoon vanilla extract

      + +

      Method:

      + +

      Preheat oven to 350° F and line a baking dish with parchment paper.

      + +

      In a large bowl combine all dry ingredients: oat flour, baking soda, sea salt, pumpkin pie spice, cacao powder, coconut flour, and coconut sugar. Stir well to combine. Add in all wet ingredients: coconut oil, pumpkin puree, maple syrup, almond milk, and vanilla extract. Stir well to incorporate all ingredients together. Brownie batter will be thick, cakey, and a bit spongy – this is good!

      + +

      Evenly spread brownie batter into lined baking tray. Bake for 35-45 minutes, or until a toothpick or knife inserted into the center of the brownies comes out clean. Remove brownies from oven and let sit for 45-60 minutes to cool completely before cutting. Or dig in after 30 minutes and enjoy warm, gooey brownies.

      + +

      Store cut brownies in an airtight container in the refrigerator for 4-5 days. These brownies are absolutely dreamy with coconut cream, cashew cream, coconut ice cream, or even pumpkin ice cream. Yum!

      + +

      Nourishing Notes:

      + +

      -If you are gluten sensitive, be sure to purchase certified gluten free oats or oat flour. Oats themselves are naturally gluten free, but are often processed in a plant that contains gluten – risking contamination.
      +-No cacao powder? Sub 6 tablespoons of cocoa powder instead.
      +-Feeling nutty? I suspect the addition of ½ cup chopped walnuts or pecans would be an excellent addition.

      +
      + + + + + +

      More about these ingredients

      + + + + + + + + +

      Comments

      +
        + + +
      • + +
        + + +
        +

        Yasss. I will never complain about pumpkin! :) These look amazing for being so wholesome, and it looks like I have all the ingredients!

        +
        +
        +
      • + + + + +
      • + +
        + + +
        +

        I love everything with pumpkin!
        +These brownies sound super delicious and your pictures are totally gorgeous!
        +Can’t wait to try the recipe, pinned ;)

        +
        +
        +
      • + + + + +
      • + +
        +
        + + Terry Bone: + +
        + +
        +

        These sound great, and I’d like to try the recipe. I’d appreciate an idea of the general size of the baking pan you used. Thanks.

        +
        +
        +
      • + + + + +
      • + +
        +
        + + Megan: + +
        + +
        +

        All I can say is WOW —these brownies were just the best thing, and easiest to make, ever! Pinning this and saving this recipe for every year! :D

        +
        +
        +
      • + + + + +
      • + +
        + + +
        +

        Hi Terry – I believe I used a standard baking tray, which I believe was about 10×12 !

        +
        +
        +
      • + + + + +
      • + +
        + + +
        +

        What a creative way to use leftover pumpkin! No more soup for me!

        +
        +
        +
      • + + +
      + + + + +

      Leave a comment

      + +
      +
      + + + +
      +
      + + + + +
      +
      + + +
      +
      + + + +
      +
      + + +
      + + + +
      + + +
      + + + + + + + +
      +
      + + + + + +
      + + + + + + + + + + + + + + diff --git a/packages/parser/test/whatmollymade.com/fudgy-paleo-brownies.html b/packages/parser/test/whatmollymade.com/fudgy-paleo-brownies.html new file mode 100644 index 00000000..7a38025d --- /dev/null +++ b/packages/parser/test/whatmollymade.com/fudgy-paleo-brownies.html @@ -0,0 +1,642 @@ + + + + + +Ultimate Fudgy Paleo Brownies | What Molly Made + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + + +
      +
      +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.allrecipes.com/garlic-roasted-chicken-and-potatoes.html b/packages/parser/test/www.allrecipes.com/garlic-roasted-chicken-and-potatoes.html new file mode 100644 index 00000000..c369df35 --- /dev/null +++ b/packages/parser/test/www.allrecipes.com/garlic-roasted-chicken-and-potatoes.html @@ -0,0 +1,2901 @@ + + + + + + + Garlic Roasted Chicken and Potatoes Recipe - Allrecipes.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content + + New<> this month + + + +
      + +
      +
      + +
      +
      +
      +
      + +
      +
      +
      + + + + Get the Allrecipes magazine + + +
      + + + + +
      + + + + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + + + +
      +
      + + + + + + + + + + + +
      +
      + + + + +
      + +
      +
      + + Photo of Garlic Roasted Chicken and Potatoes by Debi Blair McGinness + +
      + +
      + +
      +
      + +
      +
      +
      + + +
      + + + +

      Garlic Roasted Chicken and Potatoes

      + +
      +
      + Rated as 4.57 out of 5 Stars + + + + + +
      + + + + +
      + + + +
      + +
      + + 20 +
      +

      + +

      +
      +"I've been making this recipe for so many years, I can't remember where I got it from. It's really quick to throw together. After fixing it several times, my husband 'discovered' that you were supposed to spread the garlic on the chicken. It's one of his favorites now. This recipe is very easy to adjust up or down. Just make sure your pan is big enough if adjusting up. I usually add more potatoes, since we like them. Serve with a mixed greens salad."
      +
      + +
      +
      +
      + + + +
      +
      +
      +
      + +
      + + +
      +
      + Added to shopping list. + Go to shopping list. +
      + +

      Ingredients

      + + + + 1 h 20 m + + + + + + + servings + + + + + + 463 + + + + +
      +
      Original recipe yields 8 servings
      + +
        +
      • + + Adjust +
      • +
      • + + US +
      • +
      • + + Metric +
      • +
      + +
      + + +
      +
      + + +
        +
      • + +
      • +
      • + +
      • +
      +
      +
      + + + + + +
      +

      + Directions +

      + + + + {{model.addEditText}} + + + + + + Print + + + + +
      +
      + +
        +
      • +
      • + +
      • +
      • + +
      • +
      • + +
      • +
      + + +
        +
      1. + Preheat oven to 400 degrees F (200 degrees C). + +
      2. +
      3. + Place the butter into a roasting pan, and melt in the oven. When butter is melted, swirl to coat the bottom of the roasting pan, and place the chicken drumsticks and thighs, potatoes, and unpeeled garlic cloves into the pan. Sprinkle with salt and black pepper; turn the chicken, potatoes, and garlic to coat with butter. + +
      4. +
      5. + Bake in the preheated oven until the chicken is no longer pink inside and the juices run clear, about 40 minutes, basting 3 times with pan drippings. Brush maple syrup over the chicken pieces, and spoon pan drippings over the potatoes. + +
      6. +
      7. + Return to oven, and bake until the chicken and potatoes are tender and browned, about 20 more minutes. An instant-read thermometer inserted into a thick part of a thigh should read at least 165 degrees F (74 degrees C). To serve, squeeze garlic from the baked cloves, and spread the soft garlic over the chicken. Pour pan juices over chicken and potatoes. + +
      8. +
      + +
        +
      1. + +
      2. +
      +
      +
      +
      + +
      +
      + + +
      +

      + Footnotes +

      +
        +
      • Partner Tip
      • +
      • Reynolds® Aluminum foil can be used to keep food moist, cook it evenly, and make clean-up easier.
      • +
      +
      +
      + + + + +
      +

      + Nutrition Facts +

      +
      +
      + Per Serving: + 463 calories; + 21.3 + 34.4 + 33.1 + 120 + 151 + Full nutrition +
      +
      + + + +
      + +
      + +
      +
      + +
      +
      +
      + + +
      +
      +
      + + +
      + + + +
      + + +
      +

      Explore more

      + + +
      + + + +
      +
      +
      +
      + +
      + + +
      +

      Reviews

      + + Read all reviews + + 324 + + + + +
      + +
      +
      +
      +
        +
      • + profile image +
      • +
      • +

        My review

        +
        +
        +
        +
        +
      +
      +
      +
      + +
      +
      +
      +
      + +
        +
      1. 437 Ratings

      2. +
      3. +
        +
        +
         
        +
        +
        + Rated as 5 out of 5 Stars + + + + + +
        +
        +
      4. +
      5. +
        +
        +
         
        +
        +
        + Rated as 4 out of 5 Stars + + + + + +
        +
        +
      6. +
      7. +
        +
        +
         
        +
        +
        + Rated as 3 out of 5 Stars + + + + + +
        +
        +
      8. +
      9. +
        +
        +
         
        +
        +
        + Rated as 2 out of 5 Stars + + + + + +
        +
        +
      10. +
      11. +
        +
        +
         
        +
        +
        + Rated as 1 out of 5 Stars + + + + + +
        +
        +
      12. +
      +
      + + Most helpful positive review + + + +

      +I used drums only, as that is what I had on hand. It was so simple to throw together. I actually forgot the final step of the syrup but we loved it as it was. We are garlic lovers so this was gr... +

      + +
      + +
      + + Most helpful critical review + + + +

      +I used chicken legs and put it in the crockpot. It was pretty good but I think it needs some tweeking.

      + +
      + +
      +
      + +
      + +
      +
      +
      Most helpful
      +
      Most positive
      +
      Least positive
      +
      Newest
      +
      + +
      + +
      + + + + +

      +I used drums only, as that is what I had on hand. It was so simple to throw together. I actually forgot the final step of the syrup but we loved it as it was. We are garlic lovers so this was gr... +

      + +
      + +
      + + + + +

      +This was delicious and so easy! Thanks for sharing. I'm going to add a little more detail. I had a 4 pack of chicken thighs I wanted to use, so that's what I used instead what it called for. I o... +

      + +
      + +
      + + + + +

      +Ya'll, this is totally off the hook. The only changes I made were to add two sweet potatoes and to omit the maple syrup. I would have LOVED it, but hubby has a problem with sugary-sweetness in m... +

      + +
      + +
      +
      + + + + +

      +This is a very mild dish. I added a few carrots, an onion, and replaced the legs with tenders because we won't eat dark meat. Tenders also cook faster than bone in meat. If we make this again, I... +

      + +
      + +
      + + + + +

      +This was good. I cut the recipe in half because I only needed to feed three. I did keep the butter at 1/4 cup, because there would not have been enough to coat the pan otherwise. At the end, I... +

      + +
      + +
      + + + + +

      +I made this for the first time today and it was completely easy and absolutely delicious! I followed the recipe exactly but left the chicken and potatoes in the oven for an extra 10 minutes to ... +

      + +
      + +
      +
      + + + + +

      +Just wonderful, not only was the chicken excellent, the vegetables were a huge hit. I added carrots like some of the other raters here and they were great! Definitely adding to the rotation.

      + +
      + +
      + + + + +

      +This was quite good. My wife showed up with some chicken legs and gave up before her first Christmas dinner (I've been doing it 6 out of 6 years now.) Live in Japan and only have a mini oven so... +

      + +
      + +
      + + + + +

      +Easy and quick. Tasted great. Kids and husband couldn't get enough. Will use again.

      + +
      + +
      + + +
      +
      +
      + +
      +
      +
      + + + +
      + + +
      +
      + + +
      + + + + + +
      +
        +
      • Global Community
      • +
      • + +
      • +
      • © 2019 Allrecipes.com
        All Rights Reserved
      • +
      • Privacy Policy Your California Rights
      • +
      • EU Privacy Policy
      • +
      • Terms of Service
      • +
      • Data Policy
      • +
      • EU Data Subject Requests
      • + +
      • + + AdChoices + Top +
      • + +
      +
      + +
      + + + + +
      + +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + + + + + + + diff --git a/packages/parser/test/www.allrecipes.com/simple-macaroni-and-cheese.html b/packages/parser/test/www.allrecipes.com/simple-macaroni-and-cheese.html new file mode 100644 index 00000000..1575ba1a --- /dev/null +++ b/packages/parser/test/www.allrecipes.com/simple-macaroni-and-cheese.html @@ -0,0 +1,2957 @@ + + + + + + + Simple Macaroni and Cheese Recipe - Allrecipes.com + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Skip to main content + + New<> this month + + + +
      + +
      +
      + +
      +
      +
      +
      + +
      +
      +
      + + + + Get the Allrecipes magazine + + +
      + + + + +
      + + + + + + + + + + + +
      + +
      + +
      + + + + + + + + +
      +
      + + + +
      +
      + + + + + + + + + + + + +
      +
      + + + + +
      + +
      +
      + + Photo of Simple Macaroni and Cheese by g0dluvsugly + +
      + Watch +
      +
      + +
      + +
      +
      + +
      +
      + + + + + + + + + + + +
      +
      + + + +
      + +
      +
      +
      +
      + + +
      + + + +

      Simple Macaroni and Cheese

      + +
      +
      + Rated as 4.34 out of 5 Stars + + + + + +
      + + + + +
      + + + +
      + +
      + + 6 +
      +

      + +

      +
      +"A very quick and easy fix to a tasty side-dish. Fancy, designer mac and cheese often costs forty or fifty dollars to prepare when you have so many exotic and expensive cheeses, but they aren't always the best tasting. This recipe is cheap and tasty."
      +
      + +
      +
      +
      + + + +
      +
      +
      +
      + +
      + + +
      +
      + Added to shopping list. + Go to shopping list. +
      + +

      Ingredients

      + + + + 30 m + + + + + + + servings + + + + + + 630 + + + + +
      +
      Original recipe yields 4 servings
      + +
        +
      • + + Adjust +
      • +
      • + + US +
      • +
      • + + Metric +
      • +
      + +
      + + +
      +
      + + +
        +
      • + +
      • +
      • + +
      • +
      +
      +
      + + + + + +
      +

      + Directions +

      + + + + {{model.addEditText}} + + + + + + Print + + + + + +
      +
      + +
        +
      • +
      • + +
      • +
      • + +
      • +
      • + +
      • +
      + + +
        +
      1. + Bring a large pot of lightly salted water to a boil. Cook elbow macaroni in the boiling water, stirring occasionally until cooked through but firm to the bite, 8 minutes. Drain. + +
      2. +
      3. + Melt butter in a saucepan over medium heat; stir in flour, salt, and pepper until smooth, about 5 minutes. Slowly pour milk into butter-flour mixture while continuously stirring until mixture is smooth and bubbling, about 5 minutes. Add Cheddar cheese to milk mixture and stir until cheese is melted, 2 to 4 minutes. + +
      4. +
      5. + Fold macaroni into cheese sauce until coated. + +
      6. +
      + +
        +
      1. + +
      2. +
      +
      +
      +
      + +
      +
      + + +
      +

      + Footnotes +

      +
        +
      • You can never have enough cheese, and I usually add an extra half cup without ruining the recipe. Keep a careful eye on the milk when boiling, as milk boils fast and burns easily. Burnt milk will show up in the recipes flavor if overcooked.
      • +
      • Tip
      • +
      • Aluminum foil helps keep food moist, ensures it cooks evenly, keeps leftovers fresh, and makes clean-up easy.
      • +
      +
      +
      + + + + +
      +

      + Nutrition Facts +

      +
      +
      + Per Serving: + 630 calories; + 33.6 + 55 + 26.5 + 100 + 777 + Full nutrition +
      +
      + + + +
      + +
      + +
      +
      + +
      +
      +
      + + +
      +
      +
      + + +
      + + + +
      + + +
      +

      Explore more

      + + +
      + + + +
      +
      +
      +
      + +
      + + +
      +

      Reviews

      + + Read all reviews + + 344 + + + + +
      + +
      +
      +
      +
        +
      • + profile image +
      • +
      • +

        My review

        +
        +
        +
        +
        +
      +
      +
      +
      + +
      +
      +
      +
      + +
        +
      1. 441 Ratings

      2. +
      3. +
        +
        +
         
        +
        +
        + Rated as 5 out of 5 Stars + + + + + +
        +
        +
      4. +
      5. +
        +
        +
         
        +
        +
        + Rated as 4 out of 5 Stars + + + + + +
        +
        +
      6. +
      7. +
        +
        +
         
        +
        +
        + Rated as 3 out of 5 Stars + + + + + +
        +
        +
      8. +
      9. +
        +
        +
         
        +
        +
        + Rated as 2 out of 5 Stars + + + + + +
        +
        +
      10. +
      11. +
        +
        +
         
        +
        +
        + Rated as 1 out of 5 Stars + + + + + +
        +
        +
      12. +
      +
      + + Most helpful positive review + + + +

      +Made it almost exactly like the recipe stated, super easy on the first try. All I added was a dash of paprika and a little extra salt. One note, the amount of milk you add will heavily depend on... +

      + +
      + +
      + + Most helpful critical review + + + +

      +This recipe lacked flavor, make sure you add in extra salt, seasoning, or top with bread crumbs. I've made many homemade macaroni and cheese dishes but the sauce was very runny this time. Not a ... +

      + +
      + +
      +
      + +
      + +
      +
      +
      Most helpful
      +
      Most positive
      +
      Least positive
      +
      Newest
      +
      + +
      + +
      + + + + +

      +Made it almost exactly like the recipe stated, super easy on the first try. All I added was a dash of paprika and a little extra salt. One note, the amount of milk you add will heavily depend on... +

      + +
      + +
      + + + + +

      +For a simple macaroni and cheese recipe as the title suggests, this recipe was fabulous! I'm throwing out my box macaroni! My son loved this recipe as well. In the future, I may add some spic... +

      + +
      + +
      + + + + +

      +I was starving and discovered that I had just enough milk, cheddar cheese, butter, and elbow macaroni at home. So, I thought I should be able to make a quick mac and cheese. I found this recipe... +

      + +
      + +
      +
      + + + + +

      +I changed the recipe a little bit to fit what the kids would like and it came out wonderfully! 16oz noodles, 1/3 C. Butter, 1/3 C. Flour , 1/2 ts. Salt, 1/2 ts. Pepper, 3 C. Milk, and 3 1/2 C. C... +

      + +
      + +
      + + + + +

      +I think this is an awesome staple recipe. It can be tweaked for individual preferences. I added onion powder, parmesan cheese and a little bit of cayenne pepper.

      + +
      + +
      + + + + +

      +I followed this recipe exactly, and it turned out perfectly creamy and tasty! I didn't have excessive cheese sauce like some reviewers, but I made sure that I brought my flour, butter, and milk... +

      + +
      + +
      +
      + + + + +

      +My kids have started asking for this over pizza for family movie night! And our 7 year old friend from Australia mentioned that the food at Tucanos Brazilian Barbeque and my Mac and Cheese are t... +

      + +
      + +
      + + + + +

      +This recipe lacked flavor, make sure you add in extra salt, seasoning, or top with bread crumbs. I've made many homemade macaroni and cheese dishes but the sauce was very runny this time. Not a ... +

      + +
      + +
      + + + + +

      +I changed this recipe a little--used 12oz can of evaporated milk and a cheddar cheese-pepperjack cheese mixture. I then placed it in a 9x9" greased cake pan, added a smattering of Italian bread... +

      + +
      + +
      + + +
      +
      +
      + +
      +
      +
      + + + +
      + + +
      +
      + + +
      + + + + + +
      +
        +
      • Global Community
      • +
      • + +
      • +
      • © 2019 Allrecipes.com
        All Rights Reserved
      • +
      • Privacy Policy Your California Rights
      • +
      • EU Privacy Policy
      • +
      • Terms of Service
      • +
      • Data Policy
      • +
      • EU Data Subject Requests
      • + +
      • + + AdChoices + Top +
      • + +
      +
      + +
      + + + + +
      + +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      + +
      + + + + + + + + + + diff --git a/packages/parser/test/www.ambitiouskitchen.com/chocolate-chip-coconut-flour-pumpkin-bars.html b/packages/parser/test/www.ambitiouskitchen.com/chocolate-chip-coconut-flour-pumpkin-bars.html new file mode 100644 index 00000000..6de48745 --- /dev/null +++ b/packages/parser/test/www.ambitiouskitchen.com/chocolate-chip-coconut-flour-pumpkin-bars.html @@ -0,0 +1,2347 @@ + + + + + + + + + +Chocolate Chip Coconut Flour Pumpkin Bars | Ambitious Kitchen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      +
      +
      + +
      +
      + + + +
      + +
      +
      +
      +
      +
      +
      +
      +
      + +
      +
      + + + + +
      +
      + +
      + + + + +
      +
      + + + + +
      + +
      +
      +
      + +
      + + +
      + +
      + + +
      +
      +
      Sep
      + 16 +
      +

      Are you ready for some pumpkin?! I’ve been waiting for it like a kid on Christmas morning. And I guess you really don’t have a choice because here I am shoving this recipe in your face. There’s no turning back now: Pumpkin season has officially started on Ambitious Kitchen.

      +

      In fact, did you know that my love for pumpkin is right up top with my love for all things nut butter? I’ve always said that if I could choose my last meal on earth, it would be pumpkin pie with whipped cream. Does that make me a basic bitch?

      +

      Don’t answer that one.

      +

      + +
      + +
      +
      +MY LATEST VIDEOS +
      +
      +
      + +
      + + +
      +
      + +
      +
      MY LATEST VIDEOS +
      +
      + + + + +
      + +

      Incredible paleo chocolate chip coconut flour pumpkin bars that taste like pumpkin pie. Healthy enjoy to enjoy as a snack but indulgent like a dessert.

      +

      Each year I embark on a quest to make some of the healthiest (BUT MOST DELICIOUS) pumpkin desserts on the internets.

      +

      Three years ago: Pumpkin oatmeal muffins and pumpkin spice bagels

      +

      Two years ago: Chai-pumpkin muffins, pumpkin chocolate chip oatmeal bars and baked pumpkin banana oatmeal

      +

      One year ago: Skinny chocolate chip pumpkin muffinsflourless almond butter pumpkin bars and chocolate chip pumpkin zucchini bread

      +

      Today: Paleo Coconut Flour Pumpkin Bars (!!!)

      +

      Incredible paleo chocolate chip coconut flour pumpkin bars that taste like pumpkin pie. Healthy enjoy to enjoy as a snack but indulgent like a dessert.

      +

      Honestly, these bars are one of my absolute FAVORITE pumpkin bars on AK. I originally wanted to call them pumpkin pie bars because of how moist and lovely they are but the title just got too long. What you do need to know is that the spices are wonderful, cozy and down right addicting. The coconut flour helps bring out the natural sweetness of the pumpkin, therefore I didn’t have to sweeten them much.

      +

      In other news: I made you a video on how to make these pumpkin bars. It’s only 30 seconds, and I’d love if you watched it.
      +

      +

       

      +

      These bars are healthy enough to be eaten as a snack, but definitely taste indulgent like they were made for a party. Either way, I know you’ll love this nutritious recipe and come back to it again and again. My assistant and I couldn’t keep our hands out of the pan after they came out of the oven. #pumpkinvictims

      +

      What other pumpkin recipes would you like to see? I’d love to hear from you!

      +

      Incredible paleo chocolate chip coconut flour pumpkin bars that taste like pumpkin pie. Healthy enjoy to enjoy as a snack but indulgent like a dessert.

      4.9 from 8 reviews
      Chocolate Chip Coconut Flour Pumpkin Bars
       
      Author: 
      Nutrition Information
      • Serves: 12 bars
      • Serving size: 1 slice (1/12th of recipe)
      • Calories: 140
      • Fat: 7.8g
      • Carbohydrates: 15.5g
      • Sugar: 9.8g
      • Fiber: 3.6g
      • Protein: 3.6g
      Recipe type: Pumpkin, Bars, Paleo, Grain Free, Dessert
      Prep time: 
      Cook time: 
      Total time: 
      Incredible paleo chocolate chip coconut flour pumpkin bars that taste like pumpkin pie. Healthy enjoy to enjoy as a snack but indulgent like a dessert.
      Ingredients
      • 1 cup canned pumpkin puree
      • 1/4 cup pure maple syrup
      • 1 teaspoon vanilla extract
      • 1/4 cup almond butter (or nut butter of choice)
      • 1 tablespoon unsweetened almond milk
      • 2 eggs
      • 1/2 cup coconut flour
      • 3/4 teaspoon baking soda
      • 1/8 teaspoon salt
      • 1 teaspoon cinnamon
      • 1/2 teaspoon ginger
      • 1/4 teaspoon nutmeg
      • 1/8 teaspoon ground cloves
      • 1/2 cup dark chocolate chips, divided
      Instructions
      1. Preheat oven to 350 degrees F. Line an 8x8 inch baking pan with parchment paper and spray with nonstick cooking spray.
      2. Add pumpkin puree, maple syrup, vanilla extract, almond butter, almond milk and eggs to a large bowl and mix until well combined, smooth and creamy.
      3. Add in coconut flour, baking soda, salt and the remaining spices. Gently fold in 1/3 cup of chocolate chips into the batter. Spread batter evenly in prepared pan. Bake for 20-25 minutes or until toothpick comes out clean in the middle. Transfer pan to a wire rack to cool.
      4. Melt remaining 1/4 cup of chocolate chip in a small saucepan over low heat. Once completely melted, drizzle the chocolate over the bars. Another option is to sprinkle the remaining chocolate over the top of the bars right when they come out of the oven. It's up to you! Cut into 12 bars. Enjoy!
      Notes
      Recipe is dairy free if you use dairy free chocolate chips (or a chocolate bar).

      +Recipe by: Monique Volz // Ambitious Kitchen

      +

      Photography by: Sarah Fennel // Broma Bakery

      +

      If you make this recipe, be sure to leave a comment below or snap a photo and upload it to Instagram with the tag #ambitiouskitchen so I can see you creation! xo.

      + + +
      + +
      + + +
        + + + +
        + + +
        + + +
        + + +
        + +
        + + +
        +
        +
        117 Responses to "Chocolate Chip Coconut Flour Pumpkin Bars"
        +
          +
        1. +
          +
          + Tori says:
          + + + +

          Heck to the YUM! Hello fall!

          + + +
          +
        2. +
        3. +
          +
          + Sarah | Broma Bakery says:
          + + + +

          Stunning. After all our frustrations, SO happy with this one 🙂

          + + +
          +
        4. +
        5. +
          + + + + +

          I really want to say something nice about the recipe (because it looks amazing and I’m team pumpkin forever) but I cannot for the life of me get a certain snapchat out of my head. It involved a statue.

          + + +
          +
        6. +
        7. +
          +
          + Elise says:
          + + + +

          I would LOVE to see a healthy, yet simple, pumpkin donut recipe! I’ve been scouring the web for a healthy recipe that does not involve 1000 ingredients.

          + + +
          +
        8. +
        9. +
          + + + + +

          I’m breaking out the pumpkin for the first time this weekend and this might have to be the first recipe I make! LOVE!

          + + +
          +
        10. +
        11. +
          +
          + oatsandrows says:
          + + + +

          This seriously has me DROOLING. Can’t wait to make a batch of these! I made your cake batter freezer fudge this week (LOVE), so maybe a spin off of that using pumpkin?

          + + +
          +
        12. +
        13. +
          + + + + +

          Hi Monique! How big is the can of pumpkin puree that you are using? I know they come in different sizes sometimes. And don’t worry, we’re all basic bitches at heart haha.

          + + +
          + +
        14. +
        15. +
          + + + + +

          LOL! I saw that one too and it was hilarious! But really, these pumpkin bars though.

          + + +
          +
        16. +
        17. +
          +
          + C Ruth says:
          + + + +

          Your blog and recipes are both helpful and delicious. I’ve been benefitting from them for some time. The way you write is both fun and enjoyable, as well as it amplifies the deliciousness of your recipes. You’ve helped so many people. However, one thing deeply is concerning.
          +Would you please refrain from using words are base, offensive, repellant, repugnant, off-colored, or otherwise, unnecessary to convey a proper meaning? Words like the “b” word used in today’s recipe entry are destructive and damaging and actually degrade the text and detract from the value of your blog and from you as the wonderful person you are. Monique, I share these thoughts from a concerned and well-meaning heart. Thank you for listening.

          + + +
          +
            +
          • +
            +
            + Rose says:
            + + + +

            If Monique’s writing is that offensive to you, maybe just skip to the recipe and ignore everything else. There’s really no need to post things like this.

            +

            It’s her blog, let her write how she wants to write. I hardly think anyone is extremely offended because she said the words “basic bitch.”

            +

            Anyway, LOVE this recipe, Monique.

            + + +
            +
              +
            • +
              +
              + Cathy says:
              + + + +

              I’m coming late to this party, but I agree with Rose. If you don’t like the writing, skip it. It is not your blog. I just found this blog and can’t wait to try this recipe.

              + + +
              +
            • +
            +
          • +
          • +
            +
            + Monique says:
            + + + +

            Hi Ruth, it’s just a general term. I’m sorry that you were offended.

            + + +
            +
              +
            • +
              +
              + Terri says:
              + + + +

              C Ruth, I have to say, it’s not up to you to decide what language is appropriate for someone else’s blog. Monique’s blog is about as wholesome as it gets. If you’re that easily offended, I’m afraid that is your problem, not hers. Free speech and all that.

              + + +
              +
            • +
            • +
              +
              + Sharon says:
              + + + +

              Monique. I will say, basically the same, to you as I did to Beverley. It breaks my heart, saddens me, that you would choose to think of yourself with the kind of words that you chose to use.

              + + +
              +
            • +
            +
          • +
          +
        18. +
        19. +
          + + + + +

          Omg this looks fabulous!! I’m so ready for pumpkin everything!

          + + +
          +
        20. +
        21. +
          +
          + Rose says:
          + + + +

          So good! But after baking for almost an hour, mine is still mush in the center. I’m having this problem with every coconut flour recipe I try so I’m wondering if it’s the brand of coconut flour I’m using. Is there a brand you recommend and use that you can share?

          + + +
          +
            +
          • +
            +
            + Monique says:
            + + + +

            I typically use the Trader Joe’s brand. What kind did you use?

            + + +
            +
              +
            • +
              +
              + Rose says:
              + + + +

              I’ve been using Let’s Do Organic Coconut Flour. It has to be that. I made another coconut flour recipe this morning that had great reviews and it failed. It’s happening to every coconut flour recipe I’m baking up. So I’ll definitely grab the Trader Joes and give it a try! I have to say, even with the mushy middle, these were delicious!

              + + +
              +
                +
              • +
                +
                + Maiteeny says:
                + + + +

                I had the same problem as Rose. I followed the recipe exactly and also used Trader Joe brand coconut flour. the flavor was delicious but the texture didn’t really change much from it’s pre-baked state. it was like fluffy pie filling. wondering what went wrong as your photos are clearly bars.

                + + +
                +
                  +
                • +
                  +
                  + Monique says:
                  + + + +

                  It is supposed to be more on the pumpkin pie side. They will be extremely moist. Rose actually used a different brand of coconut flour. If you used trader joe’s I’m not sure why there would be a problem. Try eliminating the milk next time. It may just be a different texture than you are used to?

                  + + +
                  +
                • +
                • +
                  +
                  + Maiteeny says:
                  + + + +

                  I will cut out the milk and see if it changes things. I don’t think it’s just a texture preference. I could not cut them into bars as they were so soft. they have to be eaten w/ a spoon. should i use more of the coconut flour?

                  + + +
                  +
                • +
                • +
                  +
                  + Monique says:
                  + + + +

                  Yes, you can. I guess I’m not sure why they aren’t turning out for you if you are following the recipe exactly. I’ve tested these many, many times. You may need to bake them longer and make sure you are baking them in the proper pan size.

                  + + +
                  +
                • +
                +
              • +
              +
            • +
            +
          • +
          +
        22. +
        23. +
          + + + + +

          Yessssss, you have the best coconut flour recipes! Can’t wait to try these, yay fall 🙂 Would it be alright if I include a link to these in a fall inspiration roundup that I’m doing? Thanks Monique!

          + + +
          +
            +
          • +
            +
            + Jen says:
            + + + +

            I had the exact same outcome! The batter stayed the same from pre to post bake state. Very frustrating because the ingredients are so expensive. . I followed the recipe exact.

            +
            +
            +

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              Hi Jen! So sorry you had trouble with the recipe! Please let me know what brand of coconut flour you used and if you followed the recipe exactly as written?

              + + +
              +
                +
              • +
                +
                + Ali says:
                + + + +

                I had the same problem too after following the recipe exactly. I always use Coconut Secret flour, with great results. I’m wondering if the issue is due to differences in the way we measure the flour? My canister is on the small side, so I usually fluff up the flour, spoon it into my measuring cup and then level it off with a knife. Monique – is that how you measure your flour or do you stick your measuring cup directly into the container and then scoop it out? If it’s the latter, you might have a more packed measurement, in which case I just need to make a slight adjustment. Regardless of the texture, it tasted yummy by the way! :o)

                + + +
                +
                  +
                • +
                  +
                  + Monique says:
                  + + + +

                  Hi Ali, the issue lies within coconut flor because all brand seem to have different absorbencies. I would recommend leaving the almond milk out. I always use Trader Joe’s coconut flour and have tested this recipe multiple times.

                  + + +
                  +
                • +
                • +
                  +
                  + Nancy says:
                  + + + +

                  I also had these issues. Having read the comments I left out the almond milk and even added extra coconut flour. I put them in the refrigerator which helped a bit. But, I cannot serve them.

                  + + +
                  +
                • +
                +
              • +
              • +
                +
                + Madison Ellingson says:
                + + + +

                I just made this and had the same problem! We used BOB’s Redmill coconut flour.. after 40 minutes it was still mush! so disappointing..

                + + +
                +
                  +
                • +
                  +
                  + Monique says:
                  + + + +

                  Sorry for the issue Madison. It appears there are differences in coconut flour and how it absorbs liquid. Reduce the almond milk next time!

                  + + +
                  +
                • +
                +
              • +
              +
            • +
            +
          • +
          +
        24. +
        25. +
          +
          + Gaby Dalkin says:
          + + + +

          well, just call me a #pumpkinvictim too! this look AMAZING!!

          + + +
          +
        26. +
        27. +
          +
          + Izabela says:
          + + + +

          what about to use the fresh pumpkin puree…It is not a pitty to use canned pumpkin if we have a season for pumpkin…?

          + + +
          +
        28. +
        29. +
          +
          + Kendra Fleming says:
          + + + +

          I have nut allergies, what can I substitute the nut butter with, or can it be omitted?

          + + +
          + +
        30. +
        31. +
          +
          + aw92blog says:
          + + + +

          Do you think I can use an egg substitute (flax/chia seeds)?

          + + +
          +
            +
          • +
            +
            + FB says:
            + + + +

            I was looking for an egg substitute also. I found this on the internet. have not tried it yet. They recommend if the egg is used as a leavening agent to use the following per egg.

            +

            1-1/2 tablespoons vegetable oil mixed with 1-1/2 tablespoons water and 1 teaspoon baking powder per egg.

            +

            if the egg is used as a binding agent use one of the following.
            +1/2 of a medium banana, mashed
            +1/4 cup of applesauce (or other pureed fruit)
            +3-1/2 tablespoons gelatin blend (mix 1 cup boiling water and 2 teaspoons unflavored gelatin, and then use 3-1/2 tablespoons of that mixture per egg)
            +1 tablespoon ground flax seed mixed with 3 tablespoons warm water; let stand 1 minute before using

            +

            from the comments on the bars being too soft, I am tempted to try the gelatin or Flax seed mixture. Let me know which you try

            + + +
            +
          • +
          +
        32. +
        33. +
          + + + + +

          So much YES. Girl! You’re a miracle worker with the coconut flour. These look absolutely incredible, and I love how they’re made with healthier ingredients. 1 serving = 1 pan, right? 😉

          + + +
          +
        34. +
        35. +
          +
          + superfitbabe says:
          + + + +

          These look INCREDIBLE! I have a can of organic pumpkin just waiting for me!

          + + +
          +
        36. +
        37. +
          +
          + taramdeal says:
          + + + +

          These look super tasty!!! 🙂

          + + +
          +
        38. +
        39. +
          +
          + LC says:
          + + + +

          Can I substitute with almond flour for this recipe?

          + + +
          + +
        40. +
        41. +
          +
          + Michele says:
          + + + +

          Will this recipe work with egg replacer? I can’t eat eggs. I’m going to give it a try, I’ll let you know. Making them today for the Jewish Holiday.

          + + +
          +
            +
          • +
            +
            + Monique says:
            + + + +

            They probably won’t work without eggs, but I suppose you can give it a try. I’m doubtful that they’ll taste as delicious, but let me know how the vegan version goes!

            + + +
            +
          • +
          • +
            +
            + Melissa says:
            + + + +

            Today when I was preparing to make these, I realized I was out of eggs! I replaced the eggs with 1/2 cup of applesauce, and the bars turned out pretty good. I’m interested to try them with eggs next time to see how different they’ll be, but they’re definitely tasty with applesauce.

            + + +
            +
          • +
          +
        42. +
        43. +
          + + + + +

          Oh just made a batch last night and they were amaze! Had couple hundred followers on Instagram liking and requesting the recipe – and so I send them your way 😉

          + + +
          + +
        44. +
        45. +
          +
          + Karla says:
          + + + +

          I just made these for dessert for me and my boyfriend and we both loved them! So good, thank you for sharing! 😀

          + + +
          +
        46. +
        47. +
          + + + + +

          Hurray! Finally a pumpkin recipe that my family can actually eat! No dairy! No wheat! Love it. Pinned and shared.

          + + +
          +
        48. +
        49. +
          +
          + Stephanie says:
          + + + +

          So excited to try this new recipe! But my brother is allergic to nuts. Will the recipe still be delightful if I leave the almond butter out? Or do you suggest I substitute it with something?

          + + +
          +
        50. +
        51. +
          +
          + Andra Kierstead says:
          + + + +

          I just tried this recipe…I doubled it to use a 9×13 pan. I made a few substitutions and had to increase the cooking time by about 10-15 minutes. They turned out delicious. Definitely will make these again.

          + + +
          +
        52. +
        53. +
          + + + + +

          I consider myself insanely lucky to have actually tried these in person – omg they were incredibly delicious! I can’t wait to try coconut flour to make these for myself!

          + + +
          +
        54. +
        55. +
          +
          + Sarah Grace FFH says:
          + + + +

          Hi I’m Sarah Grace, and I have a pumpkin addiction. Thank you for feeding it 😛 (pinning, NOW)

          +

          xo,

          + + +
          +
        56. +
        57. +
          +
          + Amy says:
          + + + +

          I made these this morning using sunflower butter and they have turned progressively greener as the day went on. What in the ever living world did I do wrong?!?

          + + +
          +
            +
          • +
            +
            + HME says:
            + + + +

            From what I’ve read from trying several paleo bread recipes that call for nut butter, sunflower butter turns green when you bake it. It’s supposed to be fine to eat though.

            + + +
            + +
          • +
          • +
            +
            + Janice says:
            + + + +

            I’m so glad I found this comment! I used sunflower butter too because it was the only nut butter I had and my batch turned green. I was getting ready to throw them out thinking I used something moldy! In terms of consistency, I did a vegan version and used a flax “egg” and they were a little gooey. I popped a piece in the microwave for 1 min (my microwave isn’t very good) to heat it back up and the consistency changed to cake-y. So if people don’t mind using a microwave, you could probably do 30 seconds and it won’t be so gooey.

            + + +
            +
          • +
          +
        58. +
        59. +
          +
          + zahra says:
          + + + +

          I love these bars.I made it with whole wheat flour because I can’t find coconut flour where I live,unfortunately.and I thought since coconut flour absorbs liquids more than wheat flour, I should make some changes.so I omitted the milk and used 3/4 cup flour instead of 1/2.and baked it for about 30 minutes.it was so delicious and the texture so light.
          +I love all of your recipes.oh..and I have a request..will you make a healthy pumpkin cookie?that would be great.I’ll wait:)

          + + +
          +
        60. +
        61. +
          +
          + Janet says:
          + + + +

          Amazing..addictive!! 2 batches made within a week..whoa….

          + + +
          +
        62. +
        63. +
          +
          + Alex says:
          + + + +

          These are tasty. I cooked them a little longer as I don’t enjoy undercooked pumpkin at all. So excited to have these as a snack or treat.

          + + +
          +
        64. +
        65. +
          +
          + Sarah says:
          + + + +

          Free speech applies to Ruth as well so down doggy, nobody hired you as Monique’s lawyer lol

          + + +
          +
        66. +
        67. +
          +
          + Lorien Will Rise says:
          + + + +

          Love the recipe but… chocolate chips aren’t paleo friendly! (They have sugar and are processed) But, again the recipe is awesome and delicious!

          + + +
          +
        68. +
        69. +
          +
          + Flynn Vickowski says:
          + + + +

          Help! Mine turned green! I tasted them and they are amazing but omg they are all totally green!!!!

          + + +
          +
            +
          • +
            +
            + Monique says:
            + + + +

            I’m guessing you use sunflower seed butter?! That happens and they are still okay to eat, don’t worry. When substituting sunflower butter in a recipe, you may have to reduce the baking soda/powder by about 1/3. The chlorogenic acid (chlorophyll) in sunflower seeds reacts with the baking soda/powder when baked, causing the green color when the cookies cool. This is completely harmless! Depending on the recipe, a splash of lemon juice may help.

            + + +
            +
          • +
          +
        70. +
        71. +
          +
          + Hxmiller says:
          + + + +

          Mine turned green also. I dumped them before finding this. I did use sunflower seed butter. Oh well. I had extra pumpkin that I was using up. The recipe is definitely a keeper.

          + + +
          +
        72. +
        73. +
          + + + + +

          Just made a version of these using banana, avocado and cocoa powder 🙂 They’re in the oven and smell YUM! xo

          + + +
          +
        74. +
        75. +
          +
          + Nicole Luongo says:
          + + + +

          I just made this in a small baking pan — maybe 8X6? I used 2 chia eggs (works every time when baking with coconut flour), large dark chocolate chips and I substituted coconut sugar for the maple syrup. I started the temperature at 325, then increased it to 350 after 20 minutes of baking. I think I had to let it bake for 20 more minutes to make sure it browned evenly. OMG, it smells so good. I tasted some crumbles and am in heaven. I’m waiting of the bread to cool before drizzling the chocolate (semi-sweet) sauce. YUM!

          + + +
          +
        76. +
        77. +
          +
          + michele says:
          + + + +

          Yum, Yum, extra Yum! Can you freeze these? Thinking it may be nice to freeze portions instead of me eating the whole pan right now. Delicious. 🙂

          + + +
          + +
        78. +
        79. +
          +
          + Ebele Oguhebe says:
          + + + +

          I just made these today with sweet potato puree because I couldn’t find pumpkin. They turned out amazing. Thanks so much for sharing this recipe.

          + + +
          +
        80. +
        81. +
          +
          + Dee says:
          + + + +

          These were very delicious! Thanks for sharing.

          + + +
          +
        82. +
        83. +
          +
          + Kelly says:
          + + + +

          Should they be refrigerated after they are cooked?

          +
          +
          +

          + + +
          + +
        84. +
        85. +
          +
          + LT in Los Angeles says:
          + + + +

          OVERALL:

          +

          – YUM. I will make again for myself and for guests. Simple ingredients, straight forward, easy to follow. Reward was worth it. Very fall and autumn!

          +

          A few helpful notes:

          +

          – had to bake mine for 45 min – 60 min before it was done
          +– substituted 1/4 maple syrup with 50% brown sugar & 50% fake sugar — then continued to add 1/2 more of sweetener to the recipe. TIP – taste the mix and if it’s not sweet enough for you add more! I like my sweets SWEET so this recipe needs more sugar to meet my requirements of a dessert)
          +– at first, my 8×8 pan seemed too small (i.e. it was a thick layer of batter) so next time I will spread it in a larger pan (so it is thinner) and cooks faster. I also prefer the caramelized layer on top i.e. I want a higher ratio of that muffin top goodness!

          + + +
          +
        86. +
        87. +
          + + + + +

          It’s disappointing that people will complain about absolutely anything. I’m a big fan of having the choice of spending an extra token or two to taste a special/rare beer. I’d imagine the other option is to not have such beers at the fest at all. If you’re opposed to spending multiple tokens on a beer, there’s still a ridiculous number of good beers available.

          + + +
          +
        88. +
        89. +
          +
          + Jean says:
          + + + +

          I had no problem with the recipe and just skipped the milk due to others remarks about being too soft. Unfortunately, whenever I’ve made items with coconut flour, they all seem to have the same consistency, light and airy with a grainy texture.This recipe did not fit either cake or pie category as my mouth was searching for something familiar or interesting to discover. It lacked substance. A pecan cruncy crust would have helped or some variation to distinguish itself away from the grainy coconut that overshadowed each bite.

          + + +
          +
        90. +
        91. +
          +
          + Meghan says:
          + + + +

          Omg! Made these to tonight (with flax eggs) and holy YUM! So good!

          + + +
          + +
        92. +
        93. +
          +
          + Christina says:
          + + + +

          Hello! I made them. I ended up adding an additional 1/4 cup of coconut flour, because the consistency I had didnt look like what was in the video. I also baked mine at 375 for 35 minutes.
          +They aren’t firm, but not mush, but still kept form. FREAKING DELISH!! Thank you for the recipe. Just the perfect amount of sweetness 🙂
          +I used canned organic pumpkin Trader Joes, and Red Mill Coconut flower

          +
          +
          +

          + + +
          + +
        94. +
        95. +
          +
          + Laken says:
          + + + +

          made these yesterday– delicious & moist! Pumpkin is fab!

          +
          +
          +

          + + +
          + +
        96. +
        97. +
          +
          + Fletchgirl says:
          + + + +

          Could you substitute cassava or plantain flour for the coconut flour. Struggling with a coconut allergy!

          + + +
          + +
        98. +
        99. +
          +
          + Kristina Kurtz says:
          + + + +

          These are FALL-delicious 🤗 amazing flavors and so moist! Thank you for sharing this! Loving this cold, Sunday evening treat. 🎃🍂

          + + +
          + +
        100. +
        101. +
          +
          + Staci says:
          + + + +

          Yum, turned out great, moist but not mushy, used 2tsp of pumpkin pie spice mix, just enough chocolate (without the extra drizzle). Perfect! 😀

          +
          +
          +

          + + +
          + +
        102. +
        103. +
          +
          + Lynne says:
          + + + +

          Holy f balls. I’m both so happy and so mad I made these. Happy because they are BOMB. Mad because I’ve already eaten a quarter of the product. But they’re paleo/healthy right?? Used cashew butter and unsweetened cashew milk, lite maple,syrup, and added a packet of Truvia. Didn’t have an 8×8 pan, so used a round cake pan that I greased with ghee. So so good. And totally hit the spot. Thank you!!!

          + + +
          + +
        104. +
        105. +
          + + + + +

          I usually hate pumpkin stuff! I tried this recipe for a dinner party I was hosting and I loved it! So did everyone who came to dinner! Thank you for sharing your wonderful recipes! I plan on making more of them and sharing them with those who are looking for healthier choices.
          +Yay for healthy and yummylicious!

          +
          +
          +

          + + +
          + +
        106. +
        107. +
          +
          + Elspeth says:
          + + + +

          Do you think that peanut butter would be too overpowering in these?

          + + +
          + +
        108. +
        109. +
          +
          + Cathy says:
          + + + +

          Monique, I want to try this recipe, but will use a granulated healthy sugar substitute, combo monk fruit and erthryitol, instead of maple syrup. Since their consistencies differ, how would you suggest I make other provisions? Add more almond milk? Add applesauce? Can I use the same ratio of maple syrup with my sweetener, 1/4 Cup? Thanks for any help. Many were saying their consistency was too soft after baking. I too have that problem when I bake with coconut flour, finding I need to bake longer. I use Arrow Hills organic coconut flour.

          + + +
          +
            +
          • +
            +
            + Monique says:
            + + + +

            Hi Cathy! I haven’t tried substituting in a granulated sweetener, but you could try using 1/4 cup of honey for the same consistency, or try about 1/3 cup of granulated sweetener (a bit more than the maple syrup the recipe calls for) and add about 1 tablespoon more of liquid.

            + + +
            +
          • +
          +
        110. +
        111. +
          +
          + Andrea says:
          + + + +

          These were absolutely delicious. Thought they would be texture of cake, but are exactly the texture of pumpkin pie. I will make again, but leave the top chocolate off and reduce maple syrup in the recipe to cut down on sugar. Highly recommend!

          + + +
          + +
        112. +
        113. +
          +
          + Amy says:
          + + + +

          What size is the can of Pumpkin, I usually buy the 796ml size which looks too big for this recipe?

          + + +
          + +
        114. +
        115. +
          +
          + Emmy says:
          + + + +

          Instead of using the separate spices can you use pumpkin spice mix instead? What quantity would you use? super yum I can’t wait to make them 🙂

          +
          +
          +

          + + +
          + +
        116. +
        117. +
          +
          + iman fakhoury says:
          + + + +

          I made this recipe with peanut butter coconut blend spread by Earth Balance instead of almond butter. topped it with coconut flakes and dark chocolate chips 5 mins before taking it out of the oven. it is amazing!

          +
          +
          +

          + + +
          + +
        118. +
        119. +
          +
          + Bethany says:
          + + + +

          I didn’t read the comments first and also ended up with a pan of mush. You might want to add an update at the top or a note of some type. I used bobs red mill coconut flour. Bummer.

          + + +
          +
        120. +
        +
        +

        Leave a Reply

        +

        Your email address will not be published. Required fields are marked *

        + +

        +

        + +

        +Rate this recipe: + + + + +  +

        +
        +

        This site uses Akismet to reduce spam. Learn how your comment data is processed.

        +
          +
        +
        + + +
        + +
        + + +
          +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        +
        + + + +
        + +
        +
        +
        + + +
        + +
        + + +
        + + +
          +
        +
        + + +
        +
        +
        +
        +
        + + +
        +
        + +
        +
        + + +
        + + +
        +
        + + +
        +
        + +
        +
        Simple Share Buttons
        + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.ambitiouskitchen.com/golden-turmeric-chicken-soup.html b/packages/parser/test/www.ambitiouskitchen.com/golden-turmeric-chicken-soup.html new file mode 100644 index 00000000..c6fc6135 --- /dev/null +++ b/packages/parser/test/www.ambitiouskitchen.com/golden-turmeric-chicken-soup.html @@ -0,0 +1,1866 @@ + + + + + + + + + +Golden Turmeric Chickpea Chicken Soup | Ambitious Kitchen + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
        +
        +
        + +
        +
        + + + +
        + +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        + + + + +
        +
        + +
        + + + + +
        +
        + + + + +
        + +
        +
        +
        + +
        + + +
        + +
        + + +
        +
        +
        Dec
        + 14 +
        +

        Golden Turmeric Chicken Soup with chickpeas and sweet potatoes will be your go-to winter soup! Flavored with ginger, garlic, coconut milk and a touch of peanut butter. 381 calories & 33g protein per serving!

        +

        Brrrrrrrrr. Is the polar vortex back or something because this weather isn’t jiving with my soul. I’m writing to you bundled up like I’m going into the arctic: I’ve got on Tony’s oversized Nike sweatpants, fluffy warm socks and a shirt that doesn’t match anything.

        +

        The upside? I reheated a big bowl of this warm turmeric chickpea chicken soup and it’s fantastic as ever, even on the third day.

        +

        + +
        + +
        +
        +MY LATEST VIDEOS +
        +
        +
        + +
        + + +
        +
        + +
        +
        MY LATEST VIDEOS +
        +
        + + + + +
        + +

        Golden Turmeric Chicken Soup with chickpeas and sweet potatoes will be your go-to winter soup! Flavored with ginger, garlic, coconut milk and a touch of peanut butter. 381 calories & 33g protein per serving!

        +

        Seriously guys, this is one of the best soups I’ve really, really enjoyed in a long time. Flavorful, addicting, both sweet and spicy, and incredibly good for you. It made over the weekend as grand fluffy snowflakes fell outside. The streets were empty and I appreciated the ability to cozy up at home with an excuse of why I didn’t have to go out on a Saturday (too much snow!).

        +

        Also, let’s face it: Staying in is the new going out.

        +

        Yep, just said it.

        +

        Golden Turmeric Chicken Soup with chickpeas and sweet potatoes will be your go-to winter soup! Flavored with ginger, garlic, coconut milk and a touch of peanut butter. 381 calories & 33g protein per serving!Also, can we talk about all the other goodness happening in this recipe?

        +

        If you remember from a few earlier recipes, I challenged myself to enjoy more pulses (dry beans, dry peas, chickpeas and lentils) this past year. It’s been so wonderful introducing Tony to new foods and getting various sources of plant-based protein into his diet. For this soup, I decided on chickpeas because of their wonderful texture.

        +

        This soup itself boasts robust flavor and bright color thanks to the anti-inflammatory root turmeric and ginger. In reality turmeric isn’t just about being cool and millennial and adding it to all your smoothies, it’s tasty and beautiful in color. In this recipe it creates the most vibrant, tasty broth when mixed with ginger, coconut milk and a touch of peanut butter. The broth that wraps around tender chicken, sweet potatoes and those little chickpeas.

        +

        Cozy winter recipe, indeed.

        +

        Golden Turmeric Chicken Soup with chickpeas and sweet potatoes will be your go-to winter soup! Flavored with ginger, garlic, coconut milk and a touch of peanut butter. 381 calories & 33g protein per serving!

        +

        I hope you enjoy this wonderful soup. It’ll fill your home with love, wonderful smells and warmth. xo!

        +

        Looking for more pulse recipes? Check out PulsePledge.com and sign-up to take the Pulse Pledge with me – a commitment to eating more pulses this year.  If you haven’t yet heard, the UN named 2016 the International Year of Pulses, to bring awareness to this nutritious, sustainable, affordable and delicious superfood!  

        +

        See how to make the soup here!

        +

        +

        Pin this recipe:

        +

        Golden Turmeric Chicken Soup with chickpeas and sweet potatoes. Flavored with ginger, garlic, coconut milk and a touch of peanut butter.

        4.8 from 17 reviews
        Golden Turmeric Chickpea Chicken Soup
         
        Author: 
        Nutrition Information
        • Serves: 4 servings
        • Serving size: 1/4th of recipe
        • Calories: 381
        • Fat: 12.3g
        • Saturated fat: 5.7g
        • Carbohydrates: 34.5g
        • Sugar: 4.2g
        • Fiber: 8g
        • Protein: 33.1g
        Recipe type: Soup, Healthy, Winter
        Prep time: 
        Cook time: 
        Total time: 
        A healing winter dish: Turmeric Chicken Soup with chickpeas and sweet potatoes. Flavored with ginger, garlic, coconut milk and a touch of peanut butter. 381 calories & 33g protein per serving!
        Ingredients
        • 1 teaspoon coconut oil
        • 3 cloves garlic, minced
        • 2 teaspoons fresh grated ginger
        • 2 jalapenos, seeded and diced
        • 1 pound boneless, skinless chicken breast, cut into bite size pieces
        • 1 small white onion, diced
        • 1 red pepper, thinly sliced
        • 1 medium sweet potato, peeled and diced into small cubes
        • 1 1/4 teaspoon ground turmeric
        • 4 cups low sodium chicken broth
        • 1 (15 oz) can chickpeas, rinsed and drained
        • 1/2 teaspoon salt
        • Freshly ground black pepper, to taste
        • 1 (15 ounce) can light coconut milk
        • 2 tablespoons all natural creamy peanut butter
        • To garnish: fresh cilantro and green onions
        Instructions
        1. Heat coconut oil in a large pot over medium high heat. Once oil is hot, add in garlic, ginger, jalapenos and chicken breast. Brown chicken for 3-4 minutes, then stir in onion, red pepper and sweet potato cubes. Cook for several minutes, stirring occasionally until sweet potatoes begin to slightly soften and chicken is no longer pink; this should take no longer than 5-7 minutes. Add in turmeric; stirring to coat the chicken and veggies.
        2. Next add in the following: chicken broth, chickpeas, peanut butter, coconut milk, salt and pepper. Stir to combine, then bring soup to a boil, reduce heat to low and simmer uncovered for 20-30 minutes or until sweet potatoes are tender. Taste and adjust seasonings as necessary. If you want more heat, add in a few dashes of hot sauce.
        3. Ladle into bowls and top with cilantro and green onions. Serves 4.
        Notes
        To make vegan/vegetarian: If you want to make this recipe vegetarian, simply add in another can of chickpeas instead of chicken.

        If you are allergic to peanuts, you can omit, or use cashew butter instead. I would not recommend using any other nut butter.

        Make it with leftover chicken: If you have leftover chicken, you can sub 2 cups of shredded chicken instead of cooking it during the process.

        +Recipe by: Monique Volz | Photography by: Sarah Fennel

        +

        This post is sponsored by USA Pulses & Pulse Canada as 2016 is the Year of the Pulses! Thanks for continuing to support AK and the brands that help make this site possible.

        + + +
        + +
        + + +
          + + + +
          + + +
          + + +
          + + +
          + +
          + + +
          +
          +
          80 Responses to "Golden Turmeric Chickpea Chicken Soup"
          +
            +
          1. +
            +
            + Karlie says:
            + + + +

            Oh this looks amazing! Perfect for this polar vortex, lunch time is always a search for the warmest thing ha have a great day!

            + + +
            +
          2. +
          3. +
            + + + + +

            YES!! Staying in is definitely the new going out. There’s nothing like snuggling up on the couch with your fuzziest blanket, drinking a hot cup of cocoa, amirite? 🙂

            + + +
            +
          4. +
          5. +
            +
            + Edward Szczerba says:
            + + + +

            Hi Monique! Wow! What a great looking bowl of soup! Turmeric is one of fave spices, full of good things for your body! Thanks for the great recipe, looking forward to making this today!

            + + +
            +
          6. +
          7. +
            +
            + Eileen says:
            + + + +

            Looks Delic If I am not a fan of coconut do I just leave it out or substitute it for something else
            +Thanks

            + + +
            + +
          8. +
          9. +
            +
            + Mary says:
            + + + +

            This looks great! Pinned!!

            + + +
            +
          10. +
          11. +
            +
            + Emily Winters says:
            + + + +

            Can’t wait to try this Monique!

            + + +
            +
          12. +
          13. +
            +
            + Brigid says:
            + + + +

            Looks good and I appreciate the nutritional break down information. I try to stay around 400 per meal and this soup looks like a complete meal with lots of fiber too.

            +
            +
            +

            + + +
            +
          14. +
          15. +
            + + + + +

            This looks so good! Perfect for these cold winter nights! I’ve been looking for more ways to use tumeric. Thanks for the recipe!

            + + +
            +
          16. +
          17. +
            +
            + wisteria7kj says:
            + + + +

            Hi Monique, I just made this with curry powder instead of just turmeric and it’s now my new favorite soup. Wind chill here is -25 deg. so staying home, sipping on your soup, watching Shrek with my dog….Life is good!

            + + +
            +
          18. +
          19. +
            +
            + Joe says:
            + + + +

            I made this soup today. It was an instant hit with my visiting daughter and son-in-law. When I asked what part of dinner did they like best, the answer was the soup! I thought they would say the jumbo shrimp cocktail. Will definitely make this soup over and over again.

            +
            +
            +

            + + +
            +
          20. +
          21. +
            +
            + Rachel says:
            + + + +

            I just made the soup and it’s AWESOME. I make soup every weekend in the winter months and it’s so nice to add some variation. This healthful bowl is perfect. Thanks!

            +
            +
            +

            + + +
            +
          22. +
          23. +
            +
            + Dana Z says:
            + + + +

            This looks so cozy! I think I’ll swap the chicken for tofu and add this to next week’s meal prep. YUM.

            + + +
            +
          24. +
          25. +
            + + + + +

            It’s so chilly in my apartment right now and this soup looks so cozy and delicious! Also, these photos are beautiful – so bright and colorful!

            + + +
            +
          26. +
          27. +
            +
            + Martha Williams says:
            + + + +

            Just making this tonight with lentils instead of chicken. Can’t wait to try it !

            + + +
            +
          28. +
          29. +
            + + + + +

            This looks absolutely scrumptious, and I love the mixture of flavors you put in here! Turmeric is so good for you, and I’m always looking for new ways to cook with it. Definitely adding this to my to-make list!

            + + +
            +
          30. +
          31. +
            + + + + +

            This looks so cozy and warm. I am totally making this!

            + + +
            +
          32. +
          33. +
            +
            + Evon says:
            + + + +

            Madie it and it’s awesome! Used a little less chicken broth and it’s a very rich dish. Yum!!!

            + + +
            +
          34. +
          35. +
            +
            + alex says:
            + + + +

            My whole family really loves this soup! Even my kiddos! thanks:) It gets better with a day or two in the fridge as well.

            +
            +
            +

            + + +
            +
          36. +
          37. +
            +
            + Ray says:
            + + + +

            This soup is absolutely delicious!!! Thank you for a creative, flavorful, warming soup!!

            + + +
            +
          38. +
          39. +
            +
            + Margo Vergotis says:
            + + + +

            Great recipe! My teen and husband enjoyed it as well

            +
            +
            +

            + + +
            +
          40. +
          41. +
            +
            + Ang says:
            + + + +

            Looks awesome. Definitely one I’ll be trying one day

            + + +
            +
          42. +
          43. + +
          44. +
          45. +
            +
            + Becca says:
            + + + +

            Sooo it might be summer but I was craving this soup!! Definitely my comfort go-to soup… even when it’s 80 degrees outside. That’s how good it is!
            +You’re the best.

            +
            +
            +

            + + +
            + +
          46. +
          47. +
            +
            + Victoria Black says:
            + + + +

            This soup is delicious! However for us the jalepenos did not provide enough heat, I added cumin and red curry powder for a little more. This complemented the flavor of the soup perfectly!

            +
            +
            +

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              This recipe is great for adjusting the spice based on preference! Your seasonings sound great – I usually add a few dashes of hot sauce to mine 🙂

              + + +
              +
            • +
            +
          48. +
          49. +
            +
            + Jennifer Assaly says:
            + + + +

            Could you do this in the Instant pot?

            + + +
            + +
          50. +
          51. +
            +
            + Amy Austin says:
            + + + +

            This soup has become a family favorite. I always add a second can of chickpeas, and have substituted shrimp for the chicken, which is also delicious. Just had to say thank you for the recipe. I’m making a batch for dinner tonight.

            +
            +
            +

            + + +
            +
          52. +
          53. +
            +
            + Lauren says:
            + + + +

            Can I use almond milk instead of coconut milk? I have everything else in the house and don’t feel like running to the grocery store

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              Hi Lauren! In this recipe the coconut milk is essential for the flavor in the soup as it’s what creates the broth. I wouldn’t recommend almond milk mixed in here!

              + + +
              +
            • +
            +
          54. +
          55. +
            +
            + Melody says:
            + + + +

            I made this tonight, and it is truly glorious! After a blizzard and a few weeks of FREEZING temps in Boston this simply warmed my soul. Not to mention it is SO delicious and healthy. I didn’t change anything about the recipe, it was perfect, thank you!

            +
            +
            +

            + + +
            + +
          56. +
          57. +
            +
            + Vickie Shaw says:
            + + + +

            Just made this. Served with dollap of Greek yogurt and red pepper flakes. Awesome

            +
            +
            +

            + + +
            + +
          58. +
          59. +
            +
            + Amie says:
            + + + +

            This soup is simply amazing. I keep returning to it over and over again. The first time I left the potatoes out, just baked them separately since my son is adverse to them. And most recently I didn’t have any red bell pepper on hand so substituted some leftover Romesco soup I had made the day before. All in all this is a wonderful delicious and feels so healing meal.

            + + +
            +
          60. +
          61. +
            +
            + Elle Tucker says:
            + + + +

            This soup is AMAZING! The flavors remind me of my favorite dish at our awesome local little Thai place. I made this last night, heated it up for lunch today and the flavors were even better! I like it over basmati rice too! Great recipe

            +
            +
            +

            + + +
            + +
          62. +
          63. +
            +
            + nicola says:
            + + + +

            We made this again last night for the umpteenth time. I had to come here today to say Thank You. This is one of our most favorite dishes. We love making it together & are always amazed how incredible it tastes. We use this as a refrigerator clean out dish, every vegetable goes wonderful in it! Thank you!!!

            +
            +
            +

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              So happy to hear that, Nicola! This is definitely one of my absolute favorite recipes (especially in the winter). I’m so glad you guys get to make it together! Enjoy 🙂

              + + +
              +
            • +
            +
          64. +
          65. +
            +
            + Amy Austin says:
            + + + +

            This is possibly the best soup I have ever had. I have made it multiple times and my family asks for it over and over. I use carrots instead of sweet potatoes, add an extra can of garbanzos because I love them, and sometimes use shrimp instead of chicken. I’m going to have a big bowl right now!

            + + +
            + +
          66. +
          67. +
            +
            + Carrie Taylor says:
            + + + +

            Best. Soup. Ever. I’ve had this recipe saved on Insta for some time and finally got around to making it. It is full of flavor, texture and super creamy without feeling like you chugged a bottle of heavy cream. I’ll be making this time and time again. Thank you!!

            +
            +
            +

            + + +
            +
          68. +
          69. +
            +
            + Natalie says:
            + + + +

            Looks great! Can I substitute veggie stock for chicken broth?

            + + +
            + +
          70. +
          71. +
            +
            + Jacinta says:
            + + + +

            Absolutely delicious. Even managed to convert my non-soup-eating-husband. He loved it, saying it was like eating a curry without the rice. I will be making two batches this week, one without chilli as my daughter was very upset that it was too spicy for her,

            + + +
            +
          72. +
          73. +
            +
            + Randell Jackson says:
            + + + +

            Can I use regular potatoes.

            + + +
            + +
          74. +
          75. +
            +
            + Valerie says:
            + + + +

            Enjoy this soup so much. It has become a regular in our home. Thanks for a great recipe!!

            + + +
            +
          76. +
          77. +
            +
            + Ashley says:
            + + + +

            Ours turned out incredibly bland. I’m not sure why; my only guess is that we tend to make incredibly flavorful food and maybe the previous reviewers are used to more subtle flavors?

            +

            However, with a few tweaks, we loved this soup. We added a lot of extra salt, 2 additional tablespoons of peanut butter, and a few tablespoons of curry powder. I loved dipping garlic naan in my bowl.

            +

            Next time I may try cooking the chicken in yellow curry paste in lieu of adding curry powder. Carrots would also be a great addition.

            +
            +
            +

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              I’m surprised to hear that! I do like my recipes super flavorful. It could be the brand of spices used, too (some curry powders have a kick of heat, etc.) Glad you enjoyed this one with some additions!

              + + +
              +
            • +
            +
          78. +
          79. +
            +
            + Connie says:
            + + + +

            Hi Monique. I just discovered this recipe at the bottom of your list of 16 slow cooker recipes. I can’t believe I missed it when you posted it originally! One question – the recipe calls for 1 cup of coconut milk, but the video uses the entire can; which should it be? Thanks!

            + + +
            + +
          80. +
          81. +
            +
            + Jill says:
            + + + +

            I made this soup tonight and LOVE it! So yummy and filling. The only thing I changed was to replace the jalapeno peppers with one roasted poblano and a sprinkle of red pepper flakes. This one’s a permanent add to my recipes.

            +
            +
            +

            + + +
            + +
          82. +
          83. +
            +
            + Alex says:
            + + + +

            Do you think you could sub quinoa or sweet potato for that chickpeas? I don’t digest them well but this sounds so good

            + + +
            +
              +
            • +
              +
              + Monique says:
              + + + +

              Sure! I would just add the quinoa a bit later in the process so that it doesn’t get overcooked (cooking for just about 15 minutes or so).

              + + +
              +
            • +
            +
          84. +
          85. +
            +
            + Claire says:
            + + + +

            This has become my favorite soup! The turmeric is so bright! I add a little cumin and garam masala before simmering, as well. 🙂 I had no coconut milk tonight, so substituted almond milk, and it actually turned out just fine (I still think the coconut milk is preferred, but it was still YUMMMMM). Thanks!

            +
            +
            +

            + + +
            + +
          86. +
          87. +
            +
            + Martha A Ray says:
            + + + +

            I’ve made this before and loved it! Wondering what type of seafood would be the best substitute for chicken…thinking shrimp might be tasty with this flavor profile. I am feeding a pescatarian (no meat, but seafood is ok) and will use homemade veggie broth.

            + + +
            + +
          88. +
          89. +
            +
            + Wendy R says:
            + + + +

            I love this recipe. So tasty and nourishing. I’ve got a batch on the stove right now. I added kale this time because I had extra on hand. I like to make pot of this and then freeze portions for easy lunches. I’ve got 3 kids under 5, so it’s a treat to know I can grab something tasty and healthy.

            + + +
            + +
          90. +
          91. +
            +
            + Carol E says:
            + + + +

            We love your soup! Our new favorite! 5 stars!

            + + +
            + +
          92. +
          93. +
            +
            + Kris says:
            + + + +

            Do you use natural peanut butter that has no added sweetener?

            + + +
            + +
          94. +
          +
          +

          Leave a Reply

          +

          Your email address will not be published. Required fields are marked *

          + +

          +

          + +

          +Rate this recipe: + + + + +  +

          +
          +

          This site uses Akismet to reduce spam. Learn how your comment data is processed.

          +
            +
          +
          + + +
          + +
          + + +
            +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + + +
          + +
          +
          +
          + + +
          + +
          + + +
          + + +
            +
          +
          + + +
          +
          +
          +
          +
          + + +
          +
          + +
          +
          + + +
          + + +
          +
          + + +
          +
          + +
          +
          Simple Share Buttons
          + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.bbcgoodfood.com/VegetarianChilli.html b/packages/parser/test/www.bbcgoodfood.com/VegetarianChilli.html new file mode 100644 index 00000000..b3fdd50d --- /dev/null +++ b/packages/parser/test/www.bbcgoodfood.com/VegetarianChilli.html @@ -0,0 +1,388 @@ + + + + + + + + Vegetarian chilli recipe | BBC Good Food + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + +
          + + + + +
          Veggie chilli

          Vegetarian chilli

          • 1
          • 2
          • 3
          • 4
          • 5
          (14 ratings)

          + Prep: 2 mins + Cook: 30 mins +

          Easy

          Serves 2

          The easiest chilli you'll ever make, with ready-to-eat grains, kidney beans in chilli sauce and summer veggies - it's 4 of your 5-a-day too!

          Nutrition and extra info

          • Vegetarian
          • Vegan

          Nutrition: per serving

          • kcal608
          • fat14g
          • saturates2g
          • carbs88g
          • sugars30g
          • fibre21g
          • protein22g
          • salt2.4g
          Save to My Good Food
          Please sign in or register to save recipes.

          Ingredients

          • 400g pack oven-roasted vegetables
          • 1 can kidney beans in chilli sauce
            Kidney beans scattered on a white surface

            Kidney beans

            kid-nee beenz

            Native to the Americas, kidney beans are so called because of their shape and come in very…

          • 1 can chopped tomatoes
          • 1 ready-to-eat mixed grain pouch

          Method

          1. Heat oven to 200C/180C fan/ gas 6. Cook the vegetables in a casserole dish for 15 mins. Tip in the beans and tomatoes, season, and cook for another 10-15 mins until piping hot. Heat the pouch in the microwave on High for 1 min and serve with the chilli.

          You may also like

          Comments, questions and tips

          Sign in or create your My Good Food account to join the discussion.
          Cofton's picture
          Cofton
          8th Jun, 2019
          4.05
          Very easy and very tasty. Just needed to add a bit of Tabasco to zing it up!
          flauffy
          4th Mar, 2018
          3.05
          I can't say that I followed this shortcut version seeing as I roasted some fresh veg (courgette, peppers and squash), made a basic spicy tomato sauce, mixed them together with a can of normal kidney beans, and voila! served with pearl barley. But great for getting some vegan inspiration!
          HeidiJenks
          30th Oct, 2017
          5.05
          This recipe is so very quick and easy. I initially made it for vegan visitors but it was such a hit with everyone that it is now a regular in our family of meat-eaters. I usually use both kidney beans and tomatoes in chilli sauce to give it a little more heat. I usually serve with jacket spuds and side salad instead of the grain pouch. Delicious!!!
          ksmiled
          14th Jul, 2016
          Would you be able to specify the make of the ready-to-eat mixed grain pouch?
          Jabray's picture
          Jabray
          28th Jul, 2016
          5.05
          I used Asda Good & Balanced pearl barley,pinto beans & Flax seeds. Very tasty.
          SueChef1
          22nd Jan, 2017
          As another has posted: +"Would you be able to specify the make of the ready-to-eat mixed grain pouch?"
          Be the first to suggest a tip for this recipe...Got your own twist on this recipe? Or do you have suggestions for possible swaps and additions? We’d love to hear your ideas.

          Skills & know how

          As well as helping you decide what to cook we can also help you to cook it. From tips on cookery techniques to facts and information about health and nutrition, we’ve a wealth of foodie know how for you to explore.

          About BBC Good Food

          We are the UK’s number one food brand. Whether you’re looking for healthy recipes and guides, family projects and meal plans, the latest gadget reviews, foodie travel inspiration or just the perfect recipe for dinner tonight, we’re here to help.

          Our recipes

          All our recipes are tested thoroughly by us to make sure they’re suitable for your kitchen at home. We know many of you are concerned about healthy eating, so we send them to a qualified nutritionist for thorough analysis too.

          Tell us what you think…

          Love the new look or think we’ve missed the mark? We want to hear your thoughts – good and bad – to make sure we make the new website as useful as possible.

          Magazine

          Subscribe to BBC Good Food magazine and get triple-tested recipes delivered to your door, every month.

          Events

          Discover a BBC Good Food Show near you.

          On TV

          See your favourite chefs on Sky Channel 133, BT 313 and find their recipes at goodfoodchannel.co.uk

          Follow us

          Join the BBC Good Food community by following us on Facebook, Twitter, Pinterest, Instagram and Google Plus.

          +
          Want to receive regular food and recipe web notifications from us?
          + + + + + + + + + +
          +
          + + + diff --git a/packages/parser/test/www.becomingness.com.au/slow-cooker-butter-chicken.html b/packages/parser/test/www.becomingness.com.au/slow-cooker-butter-chicken.html new file mode 100644 index 00000000..663e0dd4 --- /dev/null +++ b/packages/parser/test/www.becomingness.com.au/slow-cooker-butter-chicken.html @@ -0,0 +1,82 @@ +Slow Cooker Butter Chicken | Becomingness

          SUBSCRIBE

          for healthy recipes & wellness inspo direct to your inbox

          Copyright © 2019 Becomingness

          + \ No newline at end of file diff --git a/packages/parser/test/www.bonappetit.com/carrots.html b/packages/parser/test/www.bonappetit.com/carrots.html new file mode 100644 index 00000000..7ea08b20 --- /dev/null +++ b/packages/parser/test/www.bonappetit.com/carrots.html @@ -0,0 +1,2812 @@ + + + + + + + + + + + + + + + + + + Harissa-and-Maple-Roasted Carrots Recipe | Bon Appetit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          + +
          8 Servings

          A colorful and spicy (but not fiery!) side breaks up all the heavy, rich dishes on the table.

          Ingredients

          • 2 garlic cloves, finely grated
          • ¼ cup olive oil
          • ¼ cup pure maple syrup
          • 1 tablespoon harissa paste
          • 2 teaspoons cumin seeds
          • Kosher salt and freshly ground black pepper
          • 2½ pounds small rainbow carrots, scrubbed, tops trimmed to about ½”, halved
          • 1 lemon, thinly sliced, seeds removed

          Recipe Preparation

          • Preheat oven to 450°. Whisk garlic, oil, maple syrup, harissa, and cumin seeds in a small bowl; season garlic mixture with salt and pepper.

          • Toss carrots and lemon with garlic mixture in a large roasting pan to coat; season with salt and pepper. Roast, tossing occasionally, until carrots are tender and lemons are caramelized, 35–40 minutes.

          • DO AHEAD: Carrots can be roasted 6 hours ahead. Let cool; cover and chill. Bring to room temperature or reheat slightly before serving.

          Recipe by Alison Roman
          ,
          Photos by Michael Graydon Nikole Herriott

          Nutritional Content

          Calories (kcal) 147 Fat (g) 10 Saturated Fat (g) 1 Cholesterol (mg) 0 Carbohydrates (g) 21 Dietary Fiber (g) 5 Total Sugars (g) 13 Protein (g) 1.5 Sodium (mg) 200
          Reviews Section
          5 out of 5
          the Nutritional Content is incorrect, you can't have 21 fibers and 5 sugars with 0 carbs. +fix that and the oven temp and the recipe is perfect. +and what is the check box below that says "Display my username null with review" i am guessing "null" is a typo.
          4 out of 5
          The oven tempurature on this recipe is WRONG!!!!!!!! Make sure you set it to 350! It's a typo! You will burn out everything and fire and smoke and devastation will come to your planned meal. If made correctly, it's amazing!
          3 out of 5
          The oven temperature is just too high for a recipe that has a glaze containing sugars. I anticipated this and reduced the oven temp. to 400, but even then the glaze burned onto both pan and carrots. In spite of that, it was still delicious, but definitely over - charred. I would reduce the temperature even further, or as another reviewer suggested, put the glaze on towards the end of the roasting time.
          5 out of 5
          This is my favorite carrot recipe. My parents don't like spicy food but I convinced her that harissa would be delicious and not THAT spicy. She was hooked after the first time, now we make it every year for Thanksgiving.
          2 out of 5
          I followed the recipe exactly and it did not work out. I stopped baking everything 15 mins early and the lemons were burned. The sauce was too thin or the pan was too shallow because the sauce spread on the bottom of the pan (and burned). As a result, the carrots didn’t pick up any of the sauce flavors but instead tasted like burned lemons. That said, I tasted the sauce ahead of baking and it was delicious. If I made this again I would bake the carrots (no lemons) and then 5-10 mins before they are done I would drizzle with the sauce. Either that or I would just add there sauce just before serving.

          GET THE MAGAZINE

          Sign up for the Bon Appétit

          Newsletter

          + + + + + + + + + + + + + + + + + + diff --git a/packages/parser/test/www.cookingclassy.com/sun-dried-tomato-basil-and-parmesan-orzo-with-chicken.html b/packages/parser/test/www.cookingclassy.com/sun-dried-tomato-basil-and-parmesan-orzo-with-chicken.html new file mode 100644 index 00000000..1c79328f --- /dev/null +++ b/packages/parser/test/www.cookingclassy.com/sun-dried-tomato-basil-and-parmesan-orzo-with-chicken.html @@ -0,0 +1,826 @@ + + + + + + + + + + + + + Sun Dried Tomato Basil and Parmesan Orzo with Chicken - Cooking Classy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + +
          +
          +
          + +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken

          +
          02.15.2016
          + +

          + +

          +

          A hearty, one pan pasta dish loaded with tender orzo, bright bits of sun dried tomatoes, flavorful garlic and parmesan, lean, protein rich pieces of chicken and fresh basil. A new weeknight staple!

          +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken | Cooking Classy

          +

          A Perfectly Delicious Orzo Recipe!

          +

          This easy weeknight dinner is going knock your socks off! I absolutely loved this Italian inspired orzo dish!

          +

          I mean the title says it all –  Sun Dried Tomato, Basil and Parmesan Orzo with Chicken. And all that goodness is cooked in one pot (or saute pan in this case. And if you are wondering what a saute pan is, it’s basically just a skillet with taller sides).

          +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken | Cooking Classy

          +

          I wasn’t sure how this was going to turn out, yes it has some of my favorite ingredients (fresh basil, garlic, sun dried tomatoes, parmesan) but when creating a recipe you just never no for sure how it will end up until it’s finished.

          +

          Well let’s just say I ate my fair share and then some and even my kids loved it! So of course that means this is going to be a regular at my house.

          +

          Easy, check. Ready in 30, check. Cooked in one pan, check. Unbelievable delicious and satisfying, double check. And like I said this is no doubt a repeat recipe.

          +

          Even though it doesn’t have a huge list of ingredients it is still packed with so many wonderful flavors and I’m almost certain it will be a win for you too!

          +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken | Cooking Classy

          +

          More One Pan Chicken Dinners You’ll Love!

          + +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken | Cooking Classy

          +
          +
          +

          Remember to subscribe to the Cooking Classy newsletter to receive new recipe notifications delivered to your inbox!

          +

          Follow Cooking Classy on Facebook | Instagram | Pinterest | Twitter for all of the latest updates, recipes and content.

          +
          +
          +
          +
          +
          Print
          +

          Sun Dried Tomato Basil and Parmesan Orzo with Chicken

          +
          +
          +
          4.86 from 7 votes
          + +
          +
          +

          A hearty, one pan pasta dish loaded with tender orzo, bright bits of sun dried tomatoes, flavorful garlic and parmesan, lean, protein rich pieces of chicken and fresh basil. A new weeknight staple!

          +
          + Servings: 4 +
          + +
          +
          + Prep Time 15 minutes
          +
          + Cook Time 20 minutes
          +
          + Total Time 35 minutes
          +
          + +
          +

          Ingredients

          +
          +
            +
          • + 1 + lb + boneless skinless chicken breasts, + diced into 3/4-inch pieces +
          • +
          • + 1 + Tbsp + 1 tsp + olive oil +
          • +
          • + Salt and freshly ground black pepper +
          • +
          • + 2 + cloves + garlic, + minced +
          • +
          • + 1 1/4 + cups + (8 oz) dry orzo pasta +
          • +
          • + 2 3/4 + cups + low-sodium chicken broth, + then more as needed (don't use regular broth, it will be too salty) +
          • +
          • + 1/3 + cup + sun dried tomato halves packed in oil with herbs + (about 12 halves. Shake off some of the excess oil), chopped fine in a food processor +
          • +
          • + 1/2 - 3/4 + cup + finely shredded parmesan cheese, + to taste +
          • +
          • + 1/3 + cup + chopped fresh basil +
          • +
          +
          +
          +
          +

          Instructions

          +
          +
            +
          1. +
            Heat 1 Tbsp olive oil in a saute pan over medium-high heat. 
            +
          2. +
          3. +
            Once shimmering add chicken, season lightly with salt and pepper and cook until golden, about 3 minutes then rotate to opposite sides and cook until golden brown and cooked through, about 3 minutes. Transfer chicken to a plate, cover with foil to keep warm. 
            +
          4. +
          5. +
            Add remaining 1 tsp olive oil to saute pan then add garlic and saute 20 seconds, or just until lightly golden, then pour in chicken broth while scraping up browned bits from bottom of pan. 
            +
          6. +
          7. +
            Bring broth to a boil then add orzo pasta, reduce heat to medium cover pan with lid and allow to gently boil 5 minutes then uncover, stir and continue to boil uncovered until orzo is tender, about 5 minutes longer, stirring occasionally (don't worry if there's still a little broth, it will give it some saucy-ness).
            +
          8. +
          9. +
            Once pasta has cooked through toss chicken in with orzo then remove from heat. Add in parmesan cheese and stir until melted, then toss in sun dried tomatoes, basil and season with pepper (you shouldn't need any salt but add a little if you'd think it needs it). 
            +
          10. +
          11. +
            Add more broth to thin if desired (as the pasta rests it will soak up excess liquid and I liked it with a little excess so I added a little more). Serve warm.
            +
          12. +
          +
          +
          + +
          +
          +
          Nutrition Facts
          +
          Sun Dried Tomato Basil and Parmesan Orzo with Chicken
          +
          +
          + Amount Per Serving
          +
          + Calories 477 + Calories from Fat 117 +
          +
          +
          + % Daily Value* +
          +
          + Total Fat 13g + 20% +
          +
          + Saturated Fat 3g + 15% +
          +
          + Cholesterol 81mg + 27% +
          +
          + Sodium 408mg + 17% +
          +
          + Potassium 840mg + 24% +
          +
          + Total Carbohydrates 47g + 16% +
          +
          + Dietary Fiber 2g + 8% +
          +
          + Sugars 1g +
          +
          + Protein 34g + 68% +
          +
          +
          + Vitamin A + 7.1% +
          +
          + Vitamin C + 14% +
          +
          + Calcium + 18.3% +
          +
          + Iron + 10.6% +
          +
          * Percent Daily Values are based on a 2000 calorie diet.
          +
          +
          +
          +
          + Course: + + Main Course +
          +
          + Cuisine: + + Italian +
          +
          + Keyword: + + Orzo, Sun Dried Tomato Recipes +
          +
          + +
          + +
          + Calories: 477 kcal +
          +
          + Author: Jaclyn +
          +
          + +
          +
          +
          + + + +
          +

          46 comments

          +
            +
          • +
            +
            +
            +

            Rene: Any idea of calories per serving? This is one of my absolute favorites and the whole family loves it. I’m just trying to figure out the calories. Any help is greatly appreciated! September 5, 2018 at 8:41am Reply

            +
            +
            +
            +
              +
            • +
              +
              +
              +

              Jaclyn: Have added that info to the recipe card now. :) September 26, 2018 at 2:34pm Reply

              +
              +
              +
              +
                +
              • +
                +
                +
                +

                Rene: Thank you so much! October 2, 2018 at 12:12pm Reply

                +
                +
                +
                +
              • +
              +
            • +
            +
          • +
          • +
            +
            +
            +

            Betty: Hi there,

            +

            This dish is wonderful! Made it just as you said, but added some broccoli for a pop of color. Beautiful and tasty! Will definitely make again. August 28, 2018 at 1:14pm Reply

            +
            +
            +
            +
              +
            • +
              +
              +
              +

              jess lahti: good idea! how did you incorporate the broccoli? thank you. January 5, 2019 at 1:45pm Reply

              +
              +
              +
              +
            • +
            +
          • +
          • +
            +
            +
            +

            Halie Alexander: I just made this for dinner, and it was fantastic! It’s a really versatile recipe-I could see using kielbasa in it next time. I added an Anaheim pepper and a yellow onion with the garlic, as well as smoked paprika, and my whole family loved it. Thanks for such a great recipe! August 13, 2018 at 5:43pm Reply

            +
            +
            +
            +
              +
            • +
              +
              +
              +

              Jaclyn: Thanks for the great review! August 14, 2018 at 11:00am Reply

              +
              +
              +
              +
            • +
            +
          • +
          • +
            +
            +
            +

            Nani: Made this for company. Was my first time cooking orzo and it was so easy! Delicious meal. Will def make it again. Thanks for sharing July 9, 2018 at 11:16am Reply

            +
            +
            +
            +
              +
            • +
              +
              +
              +

              Jaclyn: Thanks for commenting! So happy to hear it was enjoyed. July 9, 2018 at 5:00pm Reply

              +
              +
              +
              +
            • +
            +
          • +
          • +
            +
            +
            +

            Diana: Delicious and easy to make! :) May 25, 2018 at 2:59pm Reply

            +
            +
            +
            +
              +
            • +
              +
              +
              +

              Jaclyn: Glad you liked this recipe Diana! Thanks for the 5 star review! May 26, 2018 at 11:52am Reply

              +
              +
              +
              +
            • +
            +
          • +
          • +
            +
            +
            +

            Randolph: This looks so good!!! I’m catering and an event and want to include an orzo-side. What are your thoughts with this dish, minus the chicken? April 13, 2018 at 4:34am Reply

            +
            +
            +
            +
          • +
          + + +
          +

          Add your comment:

          +

          + + + + +

          +

          + +

          + +

          +
          +

          This site uses Akismet to reduce spam. Learn how your comment data is processed.

          +
          + +
          +
          + +
          +
          + +
          +
          + +
          +
          +
          +
          +

          Copyright 2011-2019 Cooking Classy | Privacy Policy
          +Design by cre8d

          +
          +
          + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.cookinglight.com/beef-broccoli-stuffed-sweet-potatoes.html b/packages/parser/test/www.cookinglight.com/beef-broccoli-stuffed-sweet-potatoes.html new file mode 100644 index 00000000..0ab609d1 --- /dev/null +++ b/packages/parser/test/www.cookinglight.com/beef-broccoli-stuffed-sweet-potatoes.html @@ -0,0 +1,2370 @@ + + + + + Beef and Broccoli Stuffed Sweet Potatoes Recipe - Cooking Light + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + +
          + + +
          + + +
          + + + +
          + + +
          + +
          +
          + + + +
          + +
          + + +
          +
          Photo: Rachel Johnson
          +
          + + +
          + + +
          +
          + Total Time +
          +
          + 25 Mins + + + +
          +
          + + +
          +
          + Yield +
          +
          + Serves 4 (serving size: 1 stuffed potato) + + + +
          +
          + +
          + + +
          + + + + + +
          + + +
          +

          Russets aren't the only spuds worth stuffing. Smoke and heat, achieved with chili powder and ground red pepper, work particularly well with sweet potatoes. This makes for a great paleo main dish, or cut them smaller and serve open-faced as a Super Bowl-style appetizer.

          +
          + + + + + + +
          + + + + +
          +
          +

          + How to Make It +

          +
          +
          Step 1
          +

          Rub sweet potatoes with 1 1/2 teaspoons oil; pierce several times with a fork. Microwave at HIGH 12 to 15 minutes or until potatoes are tender.

          +
          +
          +
          Step 2
          +

          Heat a large skillet over medium-high. Add remaining 1 1/2 teaspoons oil; swirl to coat. Add onion and red bell peppers; cook 5 minutes or until tender, stirring frequently. Add garlic, and cook 3 minutes, stirring frequently. Stir in chili powder, 1/4 tea­spoon salt, cumin, and ground red pepper. Add beef; cook 6 minutes or until browned, stirring to crumble.

          +
          + + + + + + +
          +
          Step 3
          +

          Heat broccoli according to package directions; stir into beef mixture. Partially split potatoes lengthwise; fluff the flesh with a fork. Top potatoes evenly with beef mixture, remaining 1/4 teaspoon salt, and green onions.

          +
          +
          +
          +
          +
          + + +
          + +
          +
          +
          +
          + + + + + + + + + + + + + + + +
          +
          + + + +
          + +
          + + + +
          +
          + + +
          + + + + + + +
          +
          +
          + + + +
          +
          +
          +
          + + + + + + + + diff --git a/packages/parser/test/www.deliciousmagazine.co.uk/tofu-with-caramel-and-sichuan-pepper.html b/packages/parser/test/www.deliciousmagazine.co.uk/tofu-with-caramel-and-sichuan-pepper.html new file mode 100644 index 00000000..1aad7222 --- /dev/null +++ b/packages/parser/test/www.deliciousmagazine.co.uk/tofu-with-caramel-and-sichuan-pepper.html @@ -0,0 +1,933 @@ + Tofu with caramel and sichuan pepper | delicious. magazine

          Tofu with caramel and sichuan pepper

          Tofu with caramel and sichuan pepper
          • Serves icon Serves 4
          • Time icon Hands-on time 20 min

          ”Tofu has been misunderstood by some as a bland rubbery filler food, but when cooked well it’s surprisingly addictive. Take the time to really dry out the tofu and crisp up the edges.” – Ravinder Bhogal

          Nutrition: per serving

          Calories
          324kcal
          Fat
          14.7g (2.4g saturated)
          Protein
          13.7g
          Carbohydrates
          32.9g (32.1g sugars)
          Fibre
          2.5g
          Salt
          1g
          Calories
          324kcal
          Fat
          14.7g (2.4g saturated)
          Protein
          13.7g
          Carbohydrates
          32.9g (32.1g sugars)
          Fibre
          2.5g
          Salt
          1g

          Ingredients

          For the tofu:

          • 396g block firm tofu (we used Cauldron, from large supermakets)
          • Olive oil for frying
          • 1 tbsp sesame seeds, toasted briefly in a dry pan until fragrant
          • Crispy fried shallots (from a tub) and micro coriander to serve

          For the caramel sauce

          • 125g soft brown sugar
          • 1 tbsp red wine vinegar
          • ½ tbsp Chinese black rice vinegar
          • 25ml light soy sauce
          • ½ tbsp chilli bean paste
          • 1 tsp grated fresh ginger
          • 1 garlic clove, crushed
          • ¼ tsp sichuan pepper
          • ½ bird’s eye chilli, finely sliced

          Method

          1. Put the tofu block on a plate between 2 thick wads of kitchen paper. Press down firmly to squeeze out as much moisture as possible, then use more kitchen paper to pat the surface of the tofu block dry.
          2. Heat a glug of oil in a non-stick frying pan and fry the tofu on both sides for 4-5 minutes in total until crisp and golden. Remove from the pan (reserve the pan) and set aside.
          3. To make the caramel sauce, put the sugar and 3 tbsp cold water in the pan and heat gently until the sugar dissolves and turns into an amber caramel. Add the remaining caramel sauce ingredients and stir to combine.
          4. Return the tofu to the pan and baste in caramel sauce. Slice thickly, then serve on a platter, drizzled with the remaining caramel sauce and topped with the toasted sesame seeds, crispy shallots and micro coriander.

          delicious. tips

          1. We used a 70g pack of Growing Underground Asian Micro Herbs Mix from Ocado. You could use micro herbs from finefoodspecialist.com or use chopped fresh coriander leaves instead.

            Find Chinese black rice vinegar online at souschef.co.uk. Or mix
            ½ tsp balsamic vinegar with ½ tsp rice wine vinegar and ½ tbsp water.

            Chilli bean paste is available at souschef.co.uk. If you can’t find it, use sriracha sauce (from large supermarkets) instead.

          2. Any leftover sauce will keep in an airtight container for up to a week

          Subscribe

          Fancy getting a copy in print?

          Subscribe to our magazine
          May delicious. magazine

          Rate & review

          Rate

          4 votes

          Reviews

          Share your thoughts...

          Rate & review

          Rate

          4 votes

          Subscribe to our magazine

          Subscribe to delicious. magazine this month for a half price subscription

          Subscribe

          Download our digital version

          Subscribe to the digital edition of delicious. magazine

          delicious ipad

          Lost my password

          Enter the email address associated with your
          account, and we'll send you a link to reset your
          password.

          Email sent

          If an account was found for this email address,
          we've emailed you instructions to reset your
          password.

          Thank you for sign up to our newsletter

          Now you can stay up to date with all the latest news, recipes and offers.

          Subscribe to our magazine

          Subscribe to delicious. today for just £13.50 – that's HALF PRICE!

          [mc4wp_form id="28909"]

          Confirmation

          We have sent you an activation link to:
          please click this link to
          activate your account.

          \ No newline at end of file diff --git a/packages/parser/test/www.deliciousobsessions.com/death-by-chocolate-blender-brownies.html b/packages/parser/test/www.deliciousobsessions.com/death-by-chocolate-blender-brownies.html new file mode 100644 index 00000000..44199e8c --- /dev/null +++ b/packages/parser/test/www.deliciousobsessions.com/death-by-chocolate-blender-brownies.html @@ -0,0 +1,7057 @@ + + + + + + + + Death by Chocolate Blender Brownies + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          +
          + + + + + + + +
          +
          +
          + + + + + +
          +
          + +
          +
          + +
          +
          + + + + +

          + + Death by Chocolate Blender Brownies :: Gluten-Free, Grain-Free, Dairy-Free, Paleo / Primal +

          + + + + + + + +
          + Death by Chocolate Blender Brownies :: Gluten-Free, Grain-Free, Dairy-Free, Paleo / Primal
          + +
          + + +
          +
          Like this Post? Please Share the Love!
          Share on Facebook
          Facebook
          Pin on Pinterest
          Pinterest
          Share on Yummly
          Yummly
          Tweet about this on Twitter
          Twitter
          Share on StumbleUpon
          StumbleUpon
          Email this to someone
          email
          Print this page
          Print
          +

          +

          FTC Disclosure: Delicious Obsessions may receive comissions from purchases made through links in this article. Read our full terms and conditions here.

          +

          {Note from Jessica: Today’s post is shared by my sweet friend, Raia, author of Raia’s Recipes. Raia is a homeschooling, stay-at-home mom of five crazy kids. After the birth of her third child, she was diagnosed with celiac disease. This discovery turned her bread and pasta-filled life upside down and set her on a mission to find out what healthy meant for her family. Aspiring to encourage other moms, she started her blog filled with simple, easy, healthy dishes. Stop by Raia’s Recipes to get plenty of real food, gluten-free recipes and much more!}

          +

          These Death by Chocolate Blender Brownies are undoubtedly one of the richest things I’ve ever made. They’re not for the faint-of-chocolate-heart! Dark and fudgy, and sweetened with only fruit and honey, they’re the perfect thing if you’re craving chocolate!

          +

          It’s no secret that I’m a chocolate lover. Breakfast, lunch, dinner, dessert, snacks… any time of day is a good time for chocolate! And the darker the better, if you ask me.

          +

          Even so, in all my chocolate love I can only eat two of these beauties – and I can usually down half a pan of “regular” brownies!

          +

          For those of you fellow chocolate-lovers out there – especially dark chocolate lovers – these are for you. Not only are they dangerously delicious, they’re super easy to make: Throw everything in the blender, pour it in a pan, and bake!

          +

          Now you can have death by chocolate whenever often you get the craving.

          +

          Death by Chocolate Paleo Blender Brownies

          +

          If you just happen to be in need of some new ways to include chocolate in your diet, here are some of my other favorites. 🙂

          + +

          Delicious Obsessions Trusted Product Recommendations for Death by Chocolate Blender Brownies (+ coupons and freebies!)

          +

          I am always asked about my favorite ingredients and what I use in my own kitchen. I have linked to the products from my affiliate partners that I personally use and recommend. And now, here are the special coupon offers that select affiliate partners are currently offering:

          +
            +
          • Thrive Market: If you sign up through this link, you will get 15% OFF your first order.
          • +
          • Amazon, of course, has everything you need for this recipe. Their prices are often very good, though I love to shop around and sometimes find that Thrive Market has better deals. If you like saving money, it’s good to shop around! 🙂
          • +
          • I get all of my herbs and spices from Mountain Rose Herbs. I have tried so many other brands and have never found the quality, flavor, and aroma to be as good as the herbs I get from Mountain Rose.
          • +
          +
          Death by Chocolate Brownies
           
          Prep time
          Cook time
          Total time
           
          I have linked to the products from my affiliate partners that I personally use and recommend. If you purchase through one of these links, I may earn a small commission.
          Author:
          Recipe type: Dessert
          Cuisine: Gluten, Grain, and Dairy Free
          Serves: 9
          Ingredients
          Instructions
          1. Preheat oven to 355 and grease a 9x9 inch baking dish.
          2. Place everything in blender except baking soda and puree until smooth.
          3. Pulse in baking soda and spread batter into prepared dish.
          4. Bake for 25-30 minutes, or until knife comes out clean.
          5. Let cool for about 10 minutes before removing.
          6. * Depending on the type of chocolate chips you use, there can be a lot of added sugar in them. I prefer to use Lily's brand chocolate chips which are only sweetened with stevia and erythritol. Some people have told me they have used an unsweetened dark chocolate bar that has been chopped in place of chocolate chips and then added a little extra stevia or sweetener of their choice to off-set it. Feel free to adjust however suits you!
          +What is your favorite chocolate recipe? Leave a comment and link below!

          +

          Learn How to Make Perfect Ice Cream (and Other Frozen Treats) at Home

          +

          Ice cream is the quintessential dessert (and, ahem, it would probably go pretty darn great with this recipe!). I mean, I can’t think of a single person that I’ve ever met who doesn’t like ice cream. While not everyone is as passionate about the cold, creamy, sweet concoction as I am, I am betting that if you’re reading this, you probably enjoy a frozen treat of some sort every now and then.

          +

          If so, then I have the PERFECT resource for you today.

          +

          I am crazy for ice cream, but I find that there are very few commercial ice creams that I can eat. I can’t do dairy, so that scratches a good 75% of them off the list. And the non-dairy options either taste funny, have too much sugar, or have weird gums and additives that my poor gut just doesn’t tolerate.

          +

          So, what’s a gal to do?

          +

          Master the art of making her own ice cream at home, that’s what!

          +

          And create I did and The Splendid Scoop and Other Frozen Treats eBook was born! This is one of my best-selling eBooks because I arm you with everything you need to make your own perfect ice cream (or other frozen treats) at home any time you want. 

          +

          And I do it all with real food ingredients, no refined sweeteners, not gums, not stabilizers. No junk here.

          +

          Oh, and I also have made the recipes allergen-friendly and even adaptable for stricter healing diets (like the AIP).

          +

          So, if you are ready to master the art of making your own ice cream at home, this is the perfect book for you. Don’t let another special occasion or hot day in the summer pass you by watching everyone else enjoying cold treats while you sit on the sideline due to your dietary restrictions.

          +

          No more!

          +

          If you are ready to learn more about The Splendid Scoop and Other Frozen Treats and see how you can download your own copy today, click here (or just click on the image below!).

          +

          Beat The Heat Summer Blowout! Snag My eBooks For Cheap! // deliciousobsessions.com

          +

          Ultimate Healthy Living Bundle 2015 // deliciousobsessions.com

          + +

          +

          Delicious Obsessions is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for us to earn fees by linking to Amazon.com and affiliated sites.Read our full terms and conditions here.

          +
          Like this Post? Please Share the Love!
          Share on Facebook
          Facebook
          Pin on Pinterest
          Pinterest
          Share on Yummly
          Yummly
          Tweet about this on Twitter
          Twitter
          Share on StumbleUpon
          StumbleUpon
          Email this to someone
          email
          Print this page
          Print
          +
          + + + +
          +
          + + + + + +
          +
          +
          +
          +
          +
          +
          +
          + Leave a Reply +
          +
          +
          + +
          + +
          +
          + +
          + +
          + +
          + +
          + +
          + +
          +
          +
          + +
          +
          + +
          + +
          +
          + + + +

          +
          + +
            + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Pam
            +
            + May 18, 2015 at 9:51 am
            +
            +
            +
            + +

            Have you ever made these in mini muffin tins? I now bake nearly everything in them because they are already portion sized!!! I’m going to try this in my tins…..

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 19, 2015 at 7:41 pm
              +
              +
              +
              + +

              Hi Pam – I have not tried it that way, but I don’t see why they wouldn’t work. They may be a little fudgy, but oh so good! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                Pam
                +
                + May 19, 2015 at 11:42 pm
                +
                +
                +
                + +

                Made them tonight! WOW! They are delicious! And very fudgy! I think I needed to bake them a little longer and also grease the tins (the brownies actually don’t have any oil in them so this is really needed) but my tins are non stick so they came out – just a little mangled. I also used my food processor and I think it worked well. I’m dying to add just a TBL of gluten free flour to them to firm them up just a tad….I have more bananas so I may give it a try! Seriously this is delicious! I tried the chunky monkey cookies and they were awful – but this I can even eat the batter….

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
                  + +
                • +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  + May 22, 2015 at 6:32 pm
                  +
                  +
                  +
                  + +

                  Awesome! So glad you liked them! We made them this week as well (with carob since I can’t have chocolate) and they were amazing! 🙂

                  +
                  +
                  +
                  +
                  +
                  + Reply
                  +
                  +
                  +
                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            + +
            + May 24, 2015 at 12:58 pm
            +
            +
            +
            + +

            These just look SOOOO delicious! I have decided to make these for my birthday “cake” tomorrow. Can’t wait to try them! They are GAPS legal, too! 🙂

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 25, 2015 at 9:04 pm
              +
              +
              +
              + +

              Awesome! Happy birthday! I hope you love them! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            + +
            + May 24, 2015 at 5:32 pm
            +
            +
            +
            + +

            Jessica Espinoza thank you for your comment. My son is allergic to chocolate. I adore it. I’m always looking for something to make for him that’s equivalent to our brownies. I can make a carob batch for him and a batch for the rest of us.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 25, 2015 at 9:03 pm
              +
              +
              +
              + +

              Hi Cynthia! I thought they turned out AMAZING! I really hope you guys like them! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            kathy
            +
            + May 24, 2015 at 5:40 pm
            +
            +
            +
            + +

            These look delicious! Are they banana-tasting all?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 25, 2015 at 3:52 pm
              +
              +
              +
              + +

              Hi Kathy – They do have a hint of banana flavor. I just made them the other day, but had to use carob instead of cocoa since I can’t tolerate chocolate in any form. It may be that the carob is not as strong as the cocoa and doesn’t mask the banana flavor. I don’t mind the banana flavor at all though and it wasn’t overpowering to me. Hope that helps! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jessica
            +
            + May 25, 2015 at 3:30 am
            +
            +
            +
            + +

            Do the brownies taste banana-y? I want to make these, but also want to give my kids a heads up. Having said that, i’m okay if they decide i should eat them all =D

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 25, 2015 at 3:51 pm
              +
              +
              +
              + +

              LOL! 😉 They do have a hint of banana flavor. I just made them the other day, but had to use carob instead of cocoa since I can’t tolerate chocolate in any form. It may be that the carob is not as strong as the cocoa and doesn’t mask the banana flavor. I don’t mind the banana flavor at all though and it wasn’t overpowering to me. Hope you guys (or just you) enjoy! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Janet
            +
            + May 25, 2015 at 11:29 am
            +
            +
            +
            + +

            Yummy!!! However, these are a little on the bitter side. Is there a way to incorporate more coconut milk for a less bitter version? I love the dark chocolate, but my son is a milk chocolate fan, and he does like these, I would like to offer him a more “milky” option though.

            +

            Thanks.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 25, 2015 at 3:50 pm
              +
              +
              +
              + +

              Hi Janet – It depends on the type of cocoa you use. Some are much more bitter than others. If the type you’re using is too bitter, then I would cut back on the cocoa just a tad. Maybe try 3/4 cup of cocoa to start. If the batter is too thin, you could add 2-3 tsp. of coconut flour to help soak up a tad of the moisture. Hope that helps!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Stephanie M
            +
            + May 25, 2015 at 5:40 pm
            +
            +
            +
            + +

            Do you have a source for Paleo chocolate chips? Enjoy Life ones are great for special diets, but ack! Sugar 🙁

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 28, 2015 at 10:48 am
              +
              +
              +
              + +

              Stephanie – The Enjoy Life ones are the cleanest paleo chips around. There are no brands on the market that are made without sugar! Sorry!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • + +
            • + +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                + +
                + June 9, 2015 at 9:36 am
                +
                +
                +
                + +

                Love Adrienne’s recipe! She and I are good friends, so thanks for sharing! 🙂

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
              • +
              +
            • + +
            • +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              Nina
              +
              + July 26, 2015 at 9:01 pm
              +
              +
              +
              + +

              Hi Stephanie! I too needed sugar free chocolate chips. I found the brand Pascha, they are free from absolutely everything. 100% unsweetened chocolate. Look on vitacost.com or Amazon. =)

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • + +
            • +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              Danielle
              +
              + January 27, 2016 at 6:39 pm
              +
              +
              +
              + +

              Does Lilys make chocolate chips?

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                Rhonda
                +
                + February 3, 2016 at 12:54 pm
                +
                +
                +
                + +

                Yes! Stevia sweetened.

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
              • +
              +
            • + +
            • +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              Pat
              +
              + November 26, 2016 at 7:11 pm
              +
              +
              +
              + +

              If you want to avoid sugar, Lily’s, Krisda, and LC Foods all make chocolate chips sweetened with erythritol, inulin, and stevia.

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                + +
                + November 27, 2016 at 3:39 pm
                +
                +
                +
                + +

                Hi Pat! I just discovered Lily’s the other day! I have not seen the other two brands. They may not be available here. Thank you for the recommendation! 🙂

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
              • +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            + May 29, 2015 at 11:07 am
            +
            +
            +
            + +

            These look delicious, and I love that they’re lower in added sweeteners than your typical brownies (and no nuts!), I’m sold! Definitely going to have to try these out soon. Thanks!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 1, 2015 at 3:06 pm
              +
              +
              +
              + +

              Hope you enjoy Lauren! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Normalee
            +
            + June 14, 2015 at 2:47 pm
            +
            +
            +
            + +

            Unbelievably delicious and I love that I don’t have to use coconut or almond flour like my other paleo brownie recipes!!! These were a hit, super moist and super easy! Thank you.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 14, 2015 at 4:52 pm
              +
              +
              +
              + +

              Awesome Normalee! So glad you guys liked them! This has quickly become one of our favorite recipes. I have to use carob instead of cocoa, but they are still delicious! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Michelle Walker
            +
            + June 14, 2015 at 5:42 pm
            +
            +
            +
            + +

            I just got these out of the oven. It’s more like a small cake than a brownie to me. The recipe doesn’t say what type of chocolate chips–milk or semi-sweet– and it also said 355 degree oven, which I have never heard of that, so I set the temp at 350. I love to make brownies. They were very easy and fast to make. I will be honest, these are not my favorite. Healthy alternative, yes, but a bit disappointing.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 16, 2015 at 3:55 pm
              +
              +
              +
              + +

              Hi Michelle – Sorry the recipe didn’t turn out as you expected! You could use any type of chocolate chip in this recipe. We’ve made it several times and it always comes out great. Most ovens can be set to any temperature between 170 and 500. My oven is digital, and goes in 5 degree increments, but even with a knob you’d be able to get pretty close to that. Thanks for stopping by!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Michelle R
            +
            + June 20, 2015 at 11:39 am
            +
            +
            +
            + +

            I’m dying to make these tonight! But what does “Pulse in” baking soda mean? I tried to google that expression but couldn’t find an answer.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 24, 2015 at 1:36 pm
              +
              +
              +
              + +

              Hi Michelle – You would simply add the ingredient a little at a time while using the “pulse” button on your blender! Hope that helps! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Cynthia
            +
            + June 26, 2015 at 6:56 am
            +
            +
            +
            + +

            can I use maple syrup instead of honey? i prefer the taste.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 30, 2015 at 1:07 pm
              +
              +
              +
              + +

              Yes! That will work just fine! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            + +
            + July 9, 2015 at 12:52 am
            +
            +
            +
            + +

            I can hardly wait to make them tomorrow. I just happen to have bought the ingredients today. I’m with you on the darker the richer the better on chocolate.looking forward to tomorrow!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 9, 2015 at 2:30 pm
              +
              +
              +
              + +

              Hope you enjoy Carnetta! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Taylor
            +
            + July 13, 2015 at 10:59 am
            +
            +
            +
            + +

            What would be a good substitute for the bananas?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 16, 2015 at 3:35 pm
              +
              +
              +
              + +

              Hi Taylor – There really isn’t a perfect sub for the bananas, but you could maybe try using pumpkin or some sort of pureed squash. It will change the flavor though. Hope it works well! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Kristen K.
            +
            + July 15, 2015 at 9:02 am
            +
            +
            +
            + +

            Do we need to put the coconut milk in the fridge overnight before making these, or just straight off the shelf in all its liquid goodness form?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 16, 2015 at 3:29 pm
              +
              +
              +
              + +

              Hi there! No need to chill first. You can just use it straight off the shelf! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Judi
            +
            + July 18, 2015 at 2:52 pm
            +
            +
            +
            + +

            Hey,

            +

            If you don’t want the honey, do you think it would work with crushed up dates?? Maybe add a little water to make it more like honey?

            +

            Thanks

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 23, 2015 at 8:30 am
              +
              +
              +
              + +

              Hi Judi – Yes, I think that would work. With some water, it would be like a paste, which should be just fine. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            skm
            +
            + July 30, 2015 at 3:18 pm
            +
            +
            +
            + +

            Would it be ok to use almond milk instead of coconut? I am allergic to coconuts 🙁

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 6, 2015 at 2:43 pm
              +
              +
              +
              + +

              Hi there! Yes, that should be just fine!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Michelle A.
            +
            + August 7, 2015 at 9:21 pm
            +
            +
            +
            + +

            Can’t wait to try these!! I’m trying to stick to a certain number of calories a day, so I was wondering if you had the nutrition information on these? Thank you!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            + +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Daniela
            +
            + August 10, 2015 at 6:09 pm
            +
            +
            +
            + +

            Hi! Thank you so much for this recipe! I normally don’t take the time to post a comment on each recipe I’ve tried but I must say this is by far the best paleoish brownie recipe I’ve tried. Would I be able to sub apple sauce for the bananas? Have you tried that? I love how moist the bananas make it but I try not to have bananas. If so would a cup for cup work?

            +

            Thanks so much for sharing!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 12, 2015 at 4:46 pm
              +
              +
              +
              + +

              Oh wow, Daniela! Thank you so much for commenting! I’m glad you guys liked them. Applesauce might be a perfect sub. I don’t know why I didn’t think of that! I’ll have to give that a try next time I make them. I imagine a cup for cup would work. If you try it before I do, let me know how they turn out! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Tracy
            +
            + August 17, 2015 at 6:34 pm
            +
            +
            +
            + +

            What is the portion size and nutrition information on these.. i.e calories sugars carbs…etc..be nice to know…

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 18, 2015 at 7:18 pm
              +
              +
              +
              + +

              Hi Tracy – Sorry, I don’t have that info! I don’t provide nutrition info on my recipes since I feel there is much more that goes into health than counting calories, fat, etc. There are a number of sites you could use. This one seems to be one of the most popular: http://www.myfitnesspal.com/recipe/calculator. Have a great night! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Vanessa
            +
            + August 18, 2015 at 1:59 pm
            +
            +
            +
            + +

            What are you thoughts on using gelatin eggs or flax eggs or chia eggs (or a combo of the aforementioned) in place of real eggs to make this? We are primal and can do some dairy and nuts – if that helps – but my one year old is egg free at the moment.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 18, 2015 at 7:15 pm
              +
              +
              +
              + +

              Hi Vanessa – The gelatin eggs work great in this! I just tried it a couple weeks ago. The texture was a lot lighter and fluffier, but it was DELISH! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Elise
            +
            + August 23, 2015 at 3:04 pm
            +
            +
            +
            + +

            I have a question…does “2 T.” mean 2 tablespoons and “2 t.” 2 teaspoons? Capital T = tablespoons…low case t = teaspoons…
            +Thank you!!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 24, 2015 at 7:20 am
              +
              +
              +
              + +

              Elise – “T” means tablespoons. I normally change the measurements to be a little more clear, but I must have forgotten on this one. I’ll go update it now! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Sarah
            +
            + August 26, 2015 at 5:15 pm
            +
            +
            +
            + +

            Can i use cacao powder? Taste wise do you think it would be similar?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 27, 2015 at 2:51 pm
              +
              +
              +
              + +

              Hi Sarah – I would think so, though we’ve not tried it. I would imagine it would work though. Let us know how it goes if you try it!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Patricia
            +
            + August 28, 2015 at 4:10 pm
            +
            +
            +
            + +

            Hello everyone!!!

            +

            So today I made this recipe and I have to say that I loved it. Tho I did a little changes. As I added one banana and one avocado instead of 2 bananas (as I read about other people coment that it tastes quite bananany) also I add only 1/2 cup of cocoa instead and high protein greek yogurt(total 0%) instead of the coconut milk. Maple syrup instead of honey and a bit of Stevia as still was a bit strong. And turn out amazing! !!! Thanks for sharing.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + September 11, 2015 at 4:59 pm
              +
              +
              +
              + +

              Awesome! Thank you for sharing Patricia! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Amber
            +
            + August 30, 2015 at 3:48 pm
            +
            +
            +
            + +

            Can you use flaxseed and water for the egg replacement?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 31, 2015 at 4:21 pm
              +
              +
              +
              + +

              Amber – I have not made this recipe with a flax egg before. I’ve done it with gelatin egg substitutes and it works great. If you try the flax, let us know how it turns out!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Crys
            +
            + October 18, 2015 at 6:16 pm
            +
            +
            +
            + +

            Made these tonight SO GOOD! I did sub out pumpkin for the bananas and I did 1/2 carob powder and 1/2 dark chocolate powder those were the only changes and I cannot get enough! Thank you for such a great recipe 🙂

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + October 20, 2015 at 12:16 pm
              +
              +
              +
              + +

              Oh cool! Those sound like great subs! Thank you for taking the time to stop by and share. I’m sure it will be helpful to others too as they experiment with the recipe! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jd
            +
            + October 21, 2015 at 7:03 pm
            +
            +
            +
            + +

            I just made these today. They were more like chocolate cake and insanely good. My kids even loved them. Since they are so rich you really can have just 1 and enjoy them. Thanks for the great recipe.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + October 26, 2015 at 3:36 pm
              +
              +
              +
              + +

              Yay! SO glad you guys enjoyed! This is still by far one of my favorite recipes! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Larry
            +
            + October 29, 2015 at 11:51 am
            +
            +
            +
            + +

            Ugg…

            +

            Today I learned that cocoa and cacao powders aren’t the same thing.

            +

            My advice is to not use cacao powder for this recipe 😉

            +

            I will try again when I buy some cocoa powder.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + November 4, 2015 at 4:44 pm
              +
              +
              +
              + +

              Hi Larry – You can definitely switch them out if you prefer! I think it really comes down to personal taste preference! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Karissa
            +
            + November 16, 2015 at 9:14 pm
            +
            +
            +
            + +

            THANK YOU! You saved my night, I needed brownies and Betty Crocker was looking more tempting by the moment!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + November 19, 2015 at 7:10 pm
              +
              +
              +
              + +

              LOL Karissa! So glad it hit the spot! Woot! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            KLarsen
            +
            + December 10, 2015 at 2:04 pm
            +
            +
            +
            + +

            With the holidays in a few weeks, I wanted to try these ahead of time. (Plus its brownies so bonus!)

            +

            I just made them and they are delicious!!! I didn’t have coconut milk/water so I did a Tbs and a half of coconut oil instead and because I like my brownies with huge chunks of chocolate chips I stored them in at the end. It still came out great! The brownie was perfectly flaky and gooey at once; I’m talking melt in your mouth soft. I’ll definitely be making them more often and for Christmas!

            +

            I highly suggest this recipe. Just delicious!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 13, 2015 at 6:07 pm
              +
              +
              +
              + +

              OOOOOH Yum! Sounds delicious! These brownies are SO amazing! I’m craving them now. May need to whip up a batch! 🙂 Thanks for stopping by!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Marilyn Robinson
            +
            + December 13, 2015 at 5:01 am
            +
            +
            +
            + +

            I love these brownies!!! I was wondering, could I also use coconut sugar instead of honey?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 13, 2015 at 6:02 pm
              +
              +
              +
              + +

              Hi Marilyn! So glad you like them! They are one of my all-time favorites! You could definitely use coconut sugar instead of honey. You may need to add a touch more liquid to the recipe to make up for the lost honey. Maybe start with a tbsp and add a little more if needed. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Mrs. D Sandhu
            +
            + December 16, 2015 at 11:49 pm
            +
            +
            +
            + +

            Don’t like bananas. Could it be substituted with boiled sweet potatoes? The dish looks amazing so I want to try it.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 20, 2015 at 2:47 pm
              +
              +
              +
              + +

              We haven’t tried it, but I always tell people they are free to experiment! If you try it let us know how it turns out! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Julie
            +
            + December 18, 2015 at 4:01 am
            +
            +
            +
            + +

            Looks like they are frosted/glazed. What’s that recipe? Thanks.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 20, 2015 at 2:44 pm
              +
              +
              +
              + +

              Hi Julie – Nope! That is just the top of the brownies. They are a little shiny on top. No glaze or frosting, though I bet either one would be delicious! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            jes
            +
            + December 22, 2015 at 11:52 am
            +
            +
            +
            + +

            OMG. I feel like I am being a bad girl when I eat these. I didn’t expect them to be this amazing and this easy to make. I can’t wait to tweek them with different things like Peanutbutter. They are such a sin.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 22, 2015 at 5:52 pm
              +
              +
              +
              + +

              LOL Jes! Me too! I was JUST craving these today and need to make another batch. I bet PB would be awesome! If you try it, let us know how it turns out! YUM! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Anita
            +
            + December 24, 2015 at 5:24 am
            +
            +
            +
            + +

            These brownies is just what the doctor ordered!! My go to recipe!! Yay, thanks for sharing an amazing recipe!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 24, 2015 at 4:22 pm
              +
              +
              +
              + +

              Yay! Glad you liked them Anita! I am getting ready to go make a batch RIGHT NOW! 🙂 Yum!!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Joannah
            +
            + December 30, 2015 at 10:13 am
            +
            +
            +
            + +

            Has anyone tried replacing the banana with applesauce?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 30, 2015 at 4:10 pm
              +
              +
              +
              + +

              Hi Joannah – I’ve never tried it, but I think it would probably work just fine in this recipe. If you try it let me know how it works! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Melissa
            +
            + January 17, 2016 at 2:28 pm
            +
            +
            +
            + +

            wicked. Made them into mini muffins, they’re awesome

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 18, 2016 at 7:33 am
              +
              +
              +
              + +

              Awesome Melissa! So glad they turned out well. It’s good to know they work well as muffins too. I will have to give that a try next time! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Christin
            +
            + January 19, 2016 at 1:40 pm
            +
            +
            +
            + +

            Do you think if I omit the honey and chocolate chips they will turn out okay? What going to try and make them Whole30 approved but wasn’t sure how big of a part the honey was, thoughts? Could I sub the honey with apple sauce? Thanks!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 20, 2016 at 8:32 am
              +
              +
              +
              + +

              Hi Cristin! I’ve never made them without the honey, but I think subbing applesauce for that would work fine (they just won’t be as sweet). And leaving the chips out would be fine too. If you try it, let me know how it turns out and I can make a note in the recipe. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Mary
            +
            + January 20, 2016 at 12:18 pm
            +
            +
            +
            + +

            Can you use splenda instead of honey in the Death by Chocolate Blender Brownies, also can you leave out the chocolate chips. We are eating low carb.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            + +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Taryn
            +
            + January 29, 2016 at 11:12 pm
            +
            +
            +
            + +

            Just made these brownies and love them! I didn’t have any coconut milk on hand, so I just used almond milk and they were great!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 31, 2016 at 2:11 pm
              +
              +
              +
              + +

              Awesome Taryn! Thank you for stopping by! So glad you guys loved them! It’s one of my favorite recipes! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Amanda the accidental chef
            +
            + January 30, 2016 at 3:15 pm
            +
            +
            +
            + +

            These are extremely banana-tasting. HOWEVER. They are absolutely scrumptious and very dark and fudgy. Ultimately, I decided to lean into the banana and made a pseudo-banana’s foster topping for them. I browned some ghee and coconut sugar in a saute pan with sliced bananas and then poured some over a brownie and may or may not have also topped it with coconut ice cream. My excuse is that I needed to use it up. Definitely more of a dessert than a snack, but then brownies are never going to be health food. Might as well go the extra mile!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 31, 2016 at 2:12 pm
              +
              +
              +
              + +

              Ooooh, yum! That sounds AMAZING! I love bananas foster. One of my favorite desserts. That sounds simply divine! 🙂 So glad you guys liked them!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • + +
            • +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              Robert
              +
              + February 4, 2016 at 9:21 pm
              +
              +
              +
              + +

              I agree, the banana flavor came through in a much more overpowering way than I was expecting. I was hoping the cocoa would mostly negate the banana, but I was wrong. Some people may think this is a fine combination, but when I eat a brownie, I’m expecting to taste chocolate almost exclusively. I was thinking that maybe cutting back to one banana and substituting something else like almond or coconut flour might be a reasonable compromise, but I think even that might still be too much banana. Perhaps I’ll try sweet potato instead of banana altogether.

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                + +
                + February 5, 2016 at 3:02 pm
                +
                +
                +
                + +

                Hi Robert – The sweet potato might be lovely! I will have to give that a try some time and see how it turns out. You could perhaps try some applesauce too and a touch more flour and see how that would work. Thanks for stopping by! 🙂

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
              • +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Smith
            +
            + February 11, 2016 at 11:52 am
            +
            +
            +
            + +

            I tried these last night and they didn’t come out well. The texture was more like a crepe. I wouldn’t recommend

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 14, 2016 at 9:29 am
              +
              +
              +
              + +

              Hi Smith! So sorry they didn’t work for you! I wonder if it was a difference in the brands of ingredients you were using? We never have any issues with them. 🙁

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            America
            +
            + February 13, 2016 at 6:36 pm
            +
            +
            +
            + +

            These brownies just redeemed my paleo life! Made them exactly from the recipe with a sprinkling of maldon sea salt – thank you!!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 14, 2016 at 9:28 am
              +
              +
              +
              + +

              Awesome! So glad you guys liked them! Love the addition of the sea salt! YUM! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Lisa
            +
            + February 23, 2016 at 2:56 pm
            +
            +
            +
            + +

            Subscribe

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            + +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Katie
            +
            + March 6, 2016 at 6:58 pm
            +
            +
            +
            + +

            Bought all the ingredients. Can’t wait to make them tomorrow!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + March 11, 2016 at 3:47 pm
              +
              +
              +
              + +

              Hope you enjoyed Katie! Thanks for stopping by! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Kassie
            +
            + March 14, 2016 at 8:53 pm
            +
            +
            +
            + +

            I have a banana allergy- any idea for substitutions?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + March 15, 2016 at 8:45 am
              +
              +
              +
              + +

              Hi Kassie – We’ve never tried it, but a few people suggestions pumpkin or some sort of squash. Sweet potato might be another option. Hope that helps! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Samantha
            +
            + May 1, 2016 at 1:55 pm
            +
            +
            +
            + +

            I try recipes off the internet all the time and I NEVER comment, even on a successful recipe, but I absolutely had to. These are the best brownies ever. I’m always skeptical when it comes to paleo baking because most times, it doesn’t come out even close to the “real thing” but with these, I swear I couldn’t even tell they were paleo. Thank you so much for this!!!!!! I needed brownies in my life!!!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 4, 2016 at 5:14 pm
              +
              +
              +
              + +

              Oh WOW Samantha! Thank you so much for this! I really appreciate it! 🙂 We are thrilled that you liked them enough to come back and comment! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Shelby
            +
            + May 14, 2016 at 3:18 pm
            +
            +
            +
            + +

            These are so amazing! Made them today and loved them! Thank you for the recipe!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 20, 2016 at 5:03 pm
              +
              +
              +
              + +

              So glad you liked them Shelby! They are one of my all time favorite recipes! YUM!!!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            KarenM
            +
            + May 28, 2016 at 6:41 am
            +
            +
            +
            + +

            Hi Jessica,
            +Can you tell me how to store these? I am new to Paleo baking and not sure if they should be refrigerated afterwards?

            +

            Thanks!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 30, 2016 at 4:29 pm
              +
              +
              +
              + +

              Hi Karen! I usually store mine in the fridge. They can be left out if they are going to be eaten within 24 hours, but any longer than that and I’d advise refrigerating. Hope you guys enjoy! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Bridget
            +
            + June 30, 2016 at 11:19 am
            +
            +
            +
            + +

            I don’t have coconut milk on hand. But I do drink rice milk. Has anyone tried mKing this recipe using rice milk instead of coconut?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 30, 2016 at 3:59 pm
              +
              +
              +
              + +

              Hi Bridget! I’ve never made these with rice milk. I think it would work, though the texture may be a little different just because coconut milk is much thicker and richer. Let me know how it turns out!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Maria
            +
            + July 6, 2016 at 2:09 am
            +
            +
            +
            + +

            I can’t wait to try this recipe. Thanks for sharing! Do you put the chocolate chips in the blender as well?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 7, 2016 at 8:50 am
              +
              +
              +
              + +

              Hi Marie! They are SO good! I hope you guys like them! Yep, everything goes in the blender, though if you wanted the chips to stay whole, you could stir them in after. Or, add more! 🙂 Enjoy!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Natalie
            +
            + July 16, 2016 at 9:29 am
            +
            +
            +
            + +

            Just made these and they came out great! Didn’t like the thought of them tasting like banana so substituted dry dates. Also didn’t have coconut water or milk so just added water and they came out really sweet and chocolaty, with a moist texture. Would totally recommend!
            +Does anyone know how long these last? Should I refrigerate once cool or just in an air tight container is fine? Also how about freezing? Thanks!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 19, 2016 at 8:40 am
              +
              +
              +
              + +

              Hi Natalie! Glad you liked them! This is by far one of my favorite recipes! If they are not going to be consumed within a day or two, I would stick them in the fridge. Also, these do freeze very well. I portion them up into individual servings and then thaw a couple hours before we want to eat them. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Shelley Hendrix
            +
            + August 16, 2016 at 10:29 pm
            +
            +
            +
            + +

            Omg. I made these tonight! I used green tipped bananas and instead of honey I used about 1/8 cup of a stevia/erythritol blend. Also left out the chocolate chips. Trying to make it grain free, dairy free, gluten free, and sugar free! They’re great!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 19, 2016 at 9:05 am
              +
              +
              +
              + +

              Hi Shelley! Awesome! I am so glad you guys liked them! Your substitutions sound great too, so thanks for sharing! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Rochelle
            +
            + September 15, 2016 at 2:48 pm
            +
            +
            +
            + +

            I’m can’t eat any sugar, even natural, due to AI and candida. To be honest, I’m not supposed to have bananas, bit I thought, for my birthday I could cheat one time and have a banana. I haven’t cheated once in a year. Anyway, I can use stevia or birch-based Xylitol. 1) would it still work, and 2) do you know how much I would use, or should I just guess?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + September 16, 2016 at 8:49 am
              +
              +
              +
              + +

              Hi Rochelle! Thanks for stopping by! Yes, you could definitely use stevia or xylitol. I’ve made these with erythritol / stevia combo before and they turned out great. I think I used 1/4 cup of erythritol and then a few drops of stevia. I remember having to taste it a couple times and add a drop or two more of stevia to get it sweet enough. I find that when I use the sugar alcohols and stevia in baked goods, the sweetness dissipates some in the final product, so I always make it a touch sweeter than it needs to be and it mellows while cooking. Not sure if that’s just my tastebuds or if there is an actual reason why this happens. Hope that helps some! Happy birthday!! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Dani
            +
            + September 19, 2016 at 9:50 am
            +
            +
            +
            + +

            I’m allergic to coconut…. Is there another option for that?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + September 19, 2016 at 10:41 am
              +
              +
              +
              + +

              Hi Dani – You could use whatever milk you like! Enjoy!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Gabrielle Gewirtx
            +
            + December 13, 2016 at 4:00 pm
            +
            +
            +
            + +

            If you don’t want to use banana for these – what would you suggest for a substitute? Many thanks for a reply. Gabrielle

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 13, 2016 at 8:03 pm
              +
              +
              +
              + +

              Hi Gabrielle – We have never used anything other than banana, but I know some people suggested sweet potatoes or pumpkin puree. Enjoy! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Cindy Tanner
            +
            + December 22, 2016 at 11:03 am
            +
            +
            +
            + +

            I love these brownies. Thank you for this recipe. I made my second batch last night. After cooling, I covered them with plastic wrap and refrigerated them. This morning I noticed that they are damp on top. Is it poor form to dry they off lightly with paper towel? I made them for our department potluck.

            +

            For the chocolate chips, I am non-dairy, so I took a 4 ounce bar of unsweetened Baker’s chocolate, broke it up into eight pieces, put them in a plastic bag, sealed it and placed it on my cutting board. With the butt end of a flatware knife, I lightly hit the chocolate pieces until they were all chip sized.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + December 26, 2016 at 1:58 pm
              +
              +
              +
              + +

              Hi Cindy! Thanks for stopping by! It could be that there was still enough warmth in the brownies that when they went in the fridge it created some condensation. Nothing wrong with just soaking it up with a dry paper towel. I’ve had that happen on other recipes too. Perfect substitution for the chocolate chips as well! Just as an FYI, I’m dairy free too (other than butter) and am loving these chocolate chops from Lily’s: http://amzn.to/2ibdkmn (you might be able to find them for cheaper at your local health food store).

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Cheri
            +
            + January 2, 2017 at 12:40 pm
            +
            +
            +
            + +

            Are these recipes Paleo?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 2, 2017 at 3:42 pm
              +
              +
              +
              + +

              Hi Cheri! Thanks for stopping by! Yes, this recipe is paleo and is noted in the recipe title. Most of the recipes on my site are going to be paleo, though occasionally we will share a recipe with some dairy or legumes, but that is not very often. Hope you enjoy these brownies, they are amazing! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Sara L
            +
            + January 22, 2017 at 6:55 pm
            +
            +
            +
            + +

            Just made these and they are AMAZING! Just wondering though- should these be refrigerated or are they ok to be left out on the counter?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 23, 2017 at 1:52 pm
              +
              +
              +
              + +

              Hi Sara! They are fine left out for a day, but any longer than that and I would stick them in the fridge. So glad you guys liked it! It is by far one of my favorite recipes! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            laura
            +
            + January 23, 2017 at 1:24 pm
            +
            +
            +
            + +

            Has anyone tried subbing pumpkin for the bananas??? I know that pumpkin and applesauce can be substituted for oil and other ingredients in cake recipes. I tried to read all of the comments to see if anyone has tried pumpkin, but I didn’t see anything. What are your thoughts Jessica? And for the person that asked about cacao, yes, it can be used in place of cocoa. Cocoa is just a processed version of cacao. Cacao holds more vitamins and nutrients I believe than cocoa.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + January 23, 2017 at 1:51 pm
              +
              +
              +
              + +

              Hi Laura! Thanks for stopping by! I have not personally subbed pumpkin in this recipe, but I think it should work. I’ve seen a few other people mention it. This is a pretty forgiving recipe. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jen
            +
            + February 8, 2017 at 7:30 pm
            +
            +
            +
            + +

            Yum! Made these tonight! Used almond milk instead of coconut milk. Baked in a mini muffin pan for 20 minutes! Quick and easy to blend up! Light and satisfying!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 9, 2017 at 6:49 am
              +
              +
              +
              + +

              Awesome Jen! So glad you liked them! This is by far one of our all-time favorite recipes! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Angela
            +
            + February 12, 2017 at 11:54 am
            +
            +
            +
            + +

            A friend at work made these and I have a batch in now. They are delicious. Tastes like gnache! She followed the recipe to a T. I used cream instead since I don’t have coconut milk, added cinnamon and used my food processor. Batter tasted great. Thanks for the recipe.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 14, 2017 at 11:25 am
              +
              +
              +
              + +

              Hi Angela! So glad you liked them! They are by far one of our favorite recipes. So easy and so delicious! Thanks for taking time to stop back by and let us know your experience! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Claudia Manokian
            +
            + February 17, 2017 at 3:32 am
            +
            +
            +
            + +

            hi Jessica
            + can you please tell me when do you add the chocolate chips? and can i use raw chocolate and have to melt it before adding to mix
            +thank you claudia

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 20, 2017 at 8:59 am
              +
              +
              +
              + +

              Hi Claudia! Thanks for stopping by! You add them in Step #2 where it says to add all of the ingredients into the blender. If you prefer not to blend them up, you could add everything but the chocolate chips into the blender and then manually stir them in after, but I prefer having them blended up a little bit. I have not used anything other than chocolate chips in this recipe. I would probably just rough chop your raw chocolate and add it into the blender. I would not bother melting it. There’s really no need for it to be melted for this recipe. Hope that helps! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jillian
            +
            + February 20, 2017 at 10:18 pm
            +
            +
            +
            + +

            Made these tonight! They’re good! The batter was amazing! I was disappointed when I looked at the recipe and saw that they aren’t really sweetened with ‘only fruit and honey’. That statement at the top of the post is a little misleading. There’s 56 grams of sugar in 1/2 cup of enjoy life chocolate chips. That’s a lot of sugar in our house. Fortunately, I had some Lily’s Stevia sweetened chocolate chips so I could still make this. I also substituted stevia for the honey (10 drops) but should have used more, they’re not as sweet as I’d like! I might try them with apple sauce next time too since my husband took one bite and spit it out because it tasted too much like banana to him (he’s not paleo/healthy so his taste buds are ruined) ;). I’ll definitely be making this again one way or another!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 26, 2017 at 11:08 am
              +
              +
              +
              + +

              Hi Jillian! Thanks for stopping by! Lily’s chocolate chips are the ones that I use too! I love them! I actually need to update the recipe with that change so thanks for the reminder. You can use any type of chocolate you want, and some people even use an unsweetened dark chocolate bar that has been chopped. I will make a note of that. Let me know how they turn out of you use the applesauce. I’d love to know! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ruth
            +
            + February 21, 2017 at 6:05 pm
            +
            +
            +
            + +

            I, too, love chocolate brownies, but they get hard after a day.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 26, 2017 at 11:06 am
              +
              +
              +
              + +

              Hi Ruth! Not these! They stay moist for days, especially if you keep them in an airtight container. Hope you enjoy! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Allison
            +
            + February 25, 2017 at 10:06 am
            +
            +
            +
            + +

            I just made these and they are super delicious and easy to make! I used about 3/4 c cocoa powder and added 1/4 c almond flour to have a less chocolate in it. I also used water instead of coconut milk/water. Even with these adaptions they turned out wonderfully!! My mom and I are eating them by the spoon full with little to no guilt!

            +

            We can’t wait to make them again! Thank you so much for sharing this recipe!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 26, 2017 at 10:58 am
              +
              +
              +
              + +

              Awesome Allison! So glad you guys liked them! Thank you for sharing your adaptations too! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Nancy Plewacki
            +
            + March 14, 2017 at 7:55 am
            +
            +
            +
            + +

            I am very interested in your recipes because we are gluten and refined sugar free. The problem is we also do not eat eggs. Will your recipes work if I use chia or hemp “eggs”?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + March 22, 2017 at 7:47 pm
              +
              +
              +
              + +

              Hi Nancy! Thanks for stopping by! Most of the time, my recipes will work with the alternative egg sources when it calls for 1-2 eggs. Sometimes 3, but any more than that and the texture will be way off. I’ve personally never used a chia or flax egg for this recipe, but I have used a gelatin egg and it works great. Hope that helps! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ann
            +
            + March 21, 2017 at 1:32 pm
            +
            +
            +
            + +

            I just made these and my kids hate them,and they don’t even eat sweets (the main reason why I picked this recipe).I followed the recipe with 2 exceptions and that is I used raw cacao and enjoy life chocolate chips, which they are sweeter .The brownies seemed to smell like they are burnt ,but the bottom half is raw pretty much.I even let it cook for 35 min.Also,they are very bitter,but that may have to do with the raw cacao,even though I used semi sweet chocolate chips. What else can be done to make so these won’t be raw ?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + March 22, 2017 at 7:39 pm
              +
              +
              +
              + +

              Hi Ann! So sorry that you guys didn’t like them. I’ve never had the issues that you describe and I’ve played with with recipe A LOT. These are super moist brownies, so they will have almost a fudge-like texture, but they are definitely not raw if you cook them for the full time recommended. I often leave the leavening out so that they are denser and more fudgy. As far as the bitterness, that is likely your brand of cocoa. I’ve made them with different cocoa powders and have not noticed that they are overly bitter. Could be my tastebuds though because I like bitter flavors (like 95% dark chocolate). So sorry they didn’t work well for you!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            CM
            +
            + March 28, 2017 at 8:30 am
            +
            +
            +
            + +

            I tried the recipe and used dark chocolate and the brownies came out super bitter. I guess it was the wrong chocolate. Or is that how it’s suppose to taste? Thanks.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + March 30, 2017 at 3:29 pm
              +
              +
              +
              + +

              Hi CM – Thanks for stopping by! These are a rich, dark brownie but they have never tasted overly bitter to me. But everyone’s tastebuds are different so I would recommend using a milk or semi-sweet chocolate instead of the dark chocolate chips to maybe reduce some of the bitterness you are tasting. I always just use regular cocoa, but I’ve heard that raw cacao can make things a little more bitter as well. Hope that helps!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ann
            +
            + April 2, 2017 at 10:00 am
            +
            +
            +
            + +

            One week until the Passover holidays is crunch time. Found this article on Pinterest, made them to test for a possible Passover dessert as it’s flour free. INCREDIBLE! I must have shared it with a dozen people so far and know more people will be getting it shortly.
            +Thx!
            +Ann

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + April 4, 2017 at 5:31 pm
              +
              +
              +
              + +

              Hi Ann! Hope you enjoy! I make this all the time without the leavening too (in case you observe Unleavened Bread). I find that it makes them even more dense and fudgy which I love. Super good! Enjoy! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            SUE K
            +
            + April 6, 2017 at 7:49 am
            +
            +
            +
            + +

            Have you tried freezing them? If so, any recommendations?

            +

            Sorry if you already answered this. I tried looking through the comments and didn’t see anything.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + April 7, 2017 at 7:42 am
              +
              +
              +
              + +

              Hi Sue! Thanks for stopping by! I don’t think I’ve ever frozen this recipe, but I think they would freeze quite well. If I were going to freeze a batch, I would wrap each brownie individually in wax paper or plastic wrap and then store them in an airtight container in the freezer. Hope that helps!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Susie Jumper
            +
            + April 25, 2017 at 8:07 pm
            +
            +
            +
            + +

            Made these tonight. Amazing!!!!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + April 25, 2017 at 8:39 pm
              +
              +
              +
              + +

              Hi Susie! So glad you liked them! They are one of my faves! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ann
            +
            + April 27, 2017 at 9:29 pm
            +
            +
            +
            + +

            Do you think this can be made into a cake?The brownies are really good.I am trying to make a small cake for my son.Thank you

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + April 28, 2017 at 5:06 pm
              +
              +
              +
              + +

              Hi Ann! I’ve never tried it. You could maybe add a little extra flour of some sort (coconut, almond, cassava, etc.) and it might give it a more cake-like consistency. I’m not sure of proportions though since I’ve never made it that way. If you do experiment with it, let us know how it turns out! Hope your son likes it! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Mama Schick
            +
            + May 5, 2017 at 1:38 pm
            +
            +
            +
            + +

            Delicious! Easy to assemble with things we had on hand. We made them in an 8×8 pan and they were pretty thin — BUT — they are so chocolatey I’m not sure thicker would be better 😉 We had mixed reviews at our house. My son felt like they needed to be sweeter. Hubby loved them as they were (he’s a dark chocolate lover). They are NOT very sweet. We served them with strawberry sauce (strawberries blended with a little pomegranate juice) and coconut “whip cream” (full fat coconut milk in fridge 24 hours, scoop out solids from top, add a little powder sugar, whip).
            +I will come back to this recipe! Thank you for sharing!
            +***I should note: we are a gluten free family and made these when we had a dairy free guest. So refined sugar in the whip topping isn’t an issue for our crew

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 8, 2017 at 9:32 am
              +
              +
              +
              + +

              Hi Mama Schick! I’m glad you liked them, despite the mixed reviews. The addition of strawberry sauce and coconut whip sounds amazing! 🙂 Thank you for taking the time to comment!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jodi Andersen
            +
            + May 18, 2017 at 7:39 am
            +
            +
            +
            + +

            Stupid question, perhaps. Do you melt the chips before mixing everything, or just toss them in and let the blender do the work?
            +Thanks!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 18, 2017 at 7:13 pm
              +
              +
              +
              + +

              Hi Jodi! There are no stupid questions. 🙂 You just toss them in, no melting needed. If they don’t get completely ground up, that’s fine, as it will be little pockets of chocolatey goodness in the baked brownies. As a matter of fact, I almost prefer to stir them in by hand at the end so that I have those little goodies rather than blending them all up. 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Chrissy
            +
            + May 23, 2017 at 9:50 am
            +
            +
            +
            + +

            My 15 year old daughter made these for me last night. If you are new to the healthy eating scene they take a bit to get used to but they aren’t bad at all. This recipe will be used quite often at my house. Thank you for this recipe. I’ve been trying so hard to find something to calm my sweet tooth and not be totally unhealthy for me.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + May 23, 2017 at 5:49 pm
              +
              +
              +
              + +

              Hi Chrissy! So glad you guys liked them! They are by far one of my favorites! I appreciate you taking the time to come back by and comment! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Carly Morgan
            +
            + June 1, 2017 at 4:13 pm
            +
            +
            +
            + +

            Do these store best at room temperature or in the fridge?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 5, 2017 at 7:57 am
              +
              +
              +
              + +

              Hi Carly – If you’re going to eat within 1 day, you can leave them out at room temp, but any longer than that and I like to store them in the fridge. Hope you enjoy!! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Elizabeth Reed
            +
            + July 6, 2017 at 12:54 pm
            +
            +
            +
            + +

            I was pleasantly surprised! Definitely had a banana flavor but I’ll take it if I’m desperate for brownies. I substituted maple syrup for the honey – I’m starting to hate honey after all these darn low-sugar diets. I’m curious to know how they turned out for the person who added some GF flour, as they do fall apart quite easily. I will make them again though!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 9, 2017 at 4:52 pm
              +
              +
              +
              + +

              Hi Elizabeth! So glad you liked them! Woot! I am finding this recipe to be super flexible so feel free to experiment and make it your own! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Julia Denton
            +
            + July 12, 2017 at 5:41 pm
            +
            +
            +
            + +

            I am relatively new to Paleo (began on my BD, June 24th) so I feared I would NEVER again enjoy things I loved. Cheese, crackers, bread. I was a salt freak, I thought.
            +When I first came across this recipe I figured I’d give it a try. I used DARK cocoa powder and agave rather than honey. They were good but a little “thick” for me.
            +Tonight I followed the recipe…which is difficult for me because I mostly cook savory, not baking. It is a totally different animal! You have to follow the directions precisely. That’s not my style, yo.
            +Tonight I made them with light cocoa powder, a mixture of agave and honey, a pinch of non-iodized salt, and a little chile piquen. They are FAB!
            +Thank you for broadening my new Paleo horizons!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 16, 2017 at 8:49 pm
              +
              +
              +
              + +

              Hi Julia! Yay! SO glad you liked them! I appreciate you taking the time to stop by and share your experience. Woot! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Melody
            +
            + August 12, 2017 at 6:48 pm
            +
            +
            +
            + +

            Made these today. Substituted agave for the honey, used almond milk, and added ~1/2 tsp of cinnamon (going for Mexican chocolate flavor – needed more!). They are delicious!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              +
              +
              Melody
              +
              + August 12, 2017 at 6:55 pm
              +
              +
              +
              + +

              Oh, and I only had milk chocolate chips – they were still super rich!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + August 12, 2017 at 8:43 pm
              +
              +
              +
              + +

              Hi Melody! So glad you enjoyed them! Yay! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Jeanette Hammer
            +
            + September 4, 2017 at 5:36 pm
            +
            +
            +
            + +

            The Death Chocolate brownies were super bitter. I had to add 2 T. of Stevita stevia, which is much sweeter than 2 T. of sugar to make it palatable!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + September 4, 2017 at 6:15 pm
              +
              +
              +
              + +

              Hi Jeanette! The type of cocoa or cacao you use can make a difference in the bitterness. Certain brands are more bitter than others. 2 tablespoons of stevia is A LOT, but I am glad it worked for you!!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
                + +
              • +
                +
                +
                +
                +
                +
                +
                +
                +
                +
                Jeanette Hammer
                +
                + September 12, 2017 at 2:31 pm
                +
                +
                +
                + +

                Thanks, Jessica! I’m baking my 3rd batch today. So yummy!

                +
                +
                +
                +
                +
                + Reply
                +
                +
                +
                +
                +
                +
                  + +
                • +
                  +
                  +
                  +
                  +
                  +
                  +
                  +
                  + +
                  + September 13, 2017 at 10:27 am
                  +
                  +
                  +
                  + +

                  Awesome! Enjoy!! 🙂

                  +
                  +
                  +
                  +
                  +
                  + Reply
                  +
                  +
                  +
                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ellie Bluestein
            +
            + October 4, 2017 at 3:21 pm
            +
            +
            +
            + +

            Hi!
            +I just found your site – yea!!! I think you finally have a recipe that will work with my food limitations – I am on FODMAP and have an auto-immune disease as well as malabsorption syndrome, so finding things that work in my body is challenging!

            +

            I need to sub out a few things, pumpkin for the banana, flax milk for coconut milk and stevia for the sweetener:)

            +

            Can I use egg whites to replace the eggs in the recipe and what is a gelatin egg??

            +

            Thank you!
            +Ellie

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + October 9, 2017 at 8:13 pm
              +
              +
              +
              + +

              Hey Ellie! I love the subs that you have told me via email you’re making. It sounds like you have perfected the recipe to suit your needs. Let me know if you ever have any other questions! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ellie bluestein
            +
            + October 5, 2017 at 2:29 am
            +
            +
            +
            + +

            Made these and Yum!!!!! I subbed pumpkins for banana, 2tbs non fat fage Greek yogurt for the milk, 2 flax eggs and stevia for the honey. Baked in the 9×9 pan at 355, but they baked really thin, not thick like in your photo:). What do I need to change to have thicker brownies?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + October 9, 2017 at 8:12 pm
              +
              +
              +
              + +

              Hey Ellie! I already responded to your emails, but let me know if you have any other questions! So glad to hear you are enjoying them! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Ellie Bluestein
            +
            + November 19, 2017 at 4:58 pm
            +
            +
            +
            + +

            Hi!

            +

            OMG!! I made these again and alterated the recipe to fit my FODMAP diet:)
            +pumpkin instead of banana, 2 tbsp fage non fat greek yogurt instead of milk and 4 egg whites (whipped to soft peaks) instead of 2 eggs!
            +These are awesome!! Fudgy, rich deep dark chocolate, oh and added some ground espresso to the mix and topped wth malden sea salt and a bit of ground espresso on top, just before baking!! These are the best!!!
            +(used an 8×8 pan, instead:):)

            +

            Thank you for having a recipe that finally works with my diet!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + November 21, 2017 at 4:19 pm
              +
              +
              +
              + +

              Hi Ellie! AWESOME! I love that you were able to adapt it to suit your dietary needs right now. Thank you for sharing your adaptions here. I am certain they will help others! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Dominika
            +
            + February 13, 2018 at 3:46 am
            +
            +
            +
            + +

            They look great, but there are eggs in them, so saying they are dairy-free is A BIT misleading 😉

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 13, 2018 at 12:05 pm
              +
              +
              +
              + +

              Hi Dominika – Thanks for stopping by! Eggs are not dairy. Dairy refers to products of the mammary glands of mammals such as cows, goats, sheep, and others, and any products derived thereof. Therefore, eggs are not a dairy product because they come from a bird like a chicken or duck. The confusion around people thinking that eggs are a dairy product comes from the fact that they are often found in the dairy section of the grocery store. But from a scientific perspective, eggs are not a dairy product. Hope that helps!! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Charlotte Wilcox
            +
            + June 18, 2018 at 8:05 pm
            +
            +
            +
            + +

            Ah, these paleo brownies were the best! I didn’t have any chocolate chips or vanilla essence but they still turned out delicious. I actually ended up binge eating almost the whole thing! Will definitely make again.

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + June 20, 2018 at 12:09 pm
              +
              +
              +
              + +

              Hi Charlotte! Awesome! So glad you enjoyed them! Yay! 🙂 P.S. I have a banana free version coming soon in case anyone in your family needs to avoid bananas. Hoping to have it posted in the next month!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Amari
            +
            + July 11, 2018 at 7:29 pm
            +
            +
            +
            + +

            Is there something that I can use in place of the banana? I’m allergic. Thanks in advance

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + July 12, 2018 at 12:18 pm
              +
              +
              +
              + +

              Hi Amari! Thanks for stopping by. Some people have suggested pumpkin. But I’ve honestly never tried it. I am in the process of creating a new version of this recipe that is banana-free since so many folks are sensitive to bananas. Stay tuned for that!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            ZZZ
            +
            + September 22, 2018 at 11:08 am
            +
            +
            +
            + +

            I wish I could post a picture of these amazing brownies I made thanks to your recipe. Absolutely death by chocolate ( I ate about 5 and almost died indeed…. lol)
            +Thank you for sharing and will make them when I visit my mom next week. Amazing and delicious and super easy to make!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + September 24, 2018 at 5:50 pm
              +
              +
              +
              + +

              Wow! Thank you so much for your kind words. I am so glad you guys liked them. They are hands down one of our favorite recipes! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Mary
            +
            + January 24, 2019 at 7:45 pm
            +
            +
            +
            + +

            Hi! My friend requests these for her birthday and has asked I use baking stevia granules instead of the honey. How do you suggest I do that? Melt them into some sweet potato/coconut oil combo to make the 1/4c?

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 5, 2019 at 1:42 pm
              +
              +
              +
              + +

              Hi Mary! I’m so sorry I didn’t see your request until after your friend’s birthday. I got really backed up on answering comments. I think your idea is perfect. You’ll need some additional moisture for the recipe since you won’t use the honey. Sweet potatoes or pumpkin would work nicely. Even an extra banana with some stevia would work great too. Sorry again for the delay!

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Theresa
            +
            + February 5, 2019 at 11:16 am
            +
            +
            +
            + +

            Hi there, did you ever make these without chocolate chips?? I can’t find chocolate sweetened with stevia or the like anywhere where I’m at, but wanna try these do bad haha thanks in advance!!

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            +
              + +
            • +
              +
              +
              +
              +
              +
              +
              +
              + +
              + February 5, 2019 at 1:20 pm
              +
              +
              +
              + +

              Hi Theresa – You can definitely make these without the chocolate chips. You can also use any other brand of chocolate chips that you can find. You don’t have to use the brand I use. Also, you could take your favorite chocolate bar and cut it into small chunks and use that instead of the chips as well. Enjoy!! 🙂

              +
              +
              +
              +
              +
              + Reply
              +
              +
              +
              +
              +
              +
            • +
            +
          • + +
          • +
            +
            +
            +
            +
            +
            +
            +
            +
            +
            Stephanie Howard
            +
            + February 25, 2019 at 7:47 pm
            +
            +
            +
            + +

            Made these tonight and they are sooo delicious! Do you have the nutritional facts? Im curious about the carb in take. I’m doing low carb along with paleo. Thanks

            +
            +
            +
            +
            +
            + Reply
            +
            +
            +
            +
            +
            + +
          • +
          + + +
          +
          +
          +
          + +
          + +
          + + + + + +
          + + + + + + + + + + + + + + + +
          + + + + + +
          + + +
          + + + + + + + diff --git a/packages/parser/test/www.foodnetwork.com/roasted-cauliflower-and-chickpeas-recipe-2107641.html b/packages/parser/test/www.foodnetwork.com/roasted-cauliflower-and-chickpeas-recipe-2107641.html new file mode 100644 index 00000000..814d9225 --- /dev/null +++ b/packages/parser/test/www.foodnetwork.com/roasted-cauliflower-and-chickpeas-recipe-2107641.html @@ -0,0 +1,12981 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Roasted Cauliflower and Chickpeas Recipe | Guy Fieri | Food Network + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          +
          +
          + + +
          + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
            + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + +
          +
          +
          +
          +
          +
          + + +
          +
          +
          +
          +
          +
          + + + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + +
          + + + +
          + + +
          + +
          + + + +
          + +
          + + +
          + + + + +
          +
          + + + + + + +
          + + + + + +
          +
          +
          +
          +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + +
          + + +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + + + + +
          + + + + +
          +
          + + +
          +
          + + +
          +
          +
          +
          + +
          +
          + + +
          + +
          +
          + + + + + + + + + +
          +
          + + + +
          + +
          + + + + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          +
          +
          + + +
          +
          + + + + + + + + +
          +
          +
          + + + + + + + + +
          + +
          + +
          + + +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + + +
          + + + + + + + + + + +
          + +
          + + +
          + + + + + + + + Recipe courtesy of Guy Fieri + + + + + + + + + + +
          + + + + +
          + +
          + +
          + + + + + + +
          + +
          +
          +

          + Roasted Cauliflower and Chickpeas +

          +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + +
          + + +
          + +
          + + +
          + +
          + +
          + +
          + + + + +
          + + + + + + + + + + + + + + + Save Recipe + + +
          + +
          + + + + +
          +
          + + + + +
          + + + + + + +
            + +
          • + Level: + Easy +
          • + + +
          • + Total: + 55 min + +
          • +
          +
            +
          • + Prep: + 15 min +
          • + +
          • + Cook: + 40 min +
          • +
          + + + + + +
            + +
          • + Yield: + 4 servings +
          • + + + + + + +
          +
          + + +
          + + + + + + +
          + + +
          + + Share This Recipe + +
          + + + + + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          + + + + + + + +
          +
          + +
          + + + + + + + + + + + + + + + + + + + +
          +
          + + +
          +
          + +
          +
          + +

          + + Ingredients + + +

          + +
          +
          + +
          + + + + + + + +

          1 tablespoon ground coriander

          + +

          1 tablespoon ground turmeric

          + +

          1 teaspoon cumin seeds

          + +

          1 teaspoon fennel seeds

          + +

          1/4 teaspoon cayenne pepper

          + +

          1/4 cup vegetable oil

          + +

          1 tablespoon grated fresh ginger

          + +

          1 head cauliflower, cut into florets

          + +

          One 19-ounce can chickpeas, drained

          + +

          1/2 sweet onion, sliced

          + +

          Kosher salt and freshly cracked black pepper 

          + +

          Kosher salt and freshly cracked black pepper

          + +

          Fresh cilantro sprigs, for garnish

          + +

          Juice of 1/2 lime

          + + +
          + +
          + +
          +
          + +
          + +
          + +
          + + + +
          +
          + +

          + + Directions + + +

          + +
          +
          + + + + + + + + + + + +
          + + + + +
          + + + + + +
            + + +
          1. + Preheat the oven to 400 degrees F.  +
          2. + +
          3. + Toast the coriander, turmeric, cumin seeds, fennel seeds and cayenne in a dry skillet over high heat until fragrant, 2 to 3 minutes. Pour the oil into a large mixing bowl, and then add the toasted spices. Add the ginger, cauliflower, chickpeas and onions, and toss to coat everything evenly. Place on a sheet tray and season with salt and pepper. Roast in the oven until browned and the cauliflower is tender, 30 to 35 minutes. Serve with cilantro sprigs and finish with a squeeze of the fresh lime juice. +
          4. + +
          + +
          +
          + + + + + +
          +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          +
          + +
          +
          + + +
          + +
          + +
          +
          + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Roasted Cauliflower + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Roasted Cauliflower and Broccoli + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Parmesan-Roasted Cauliflower + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Roasted Cauliflower Steaks + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Roasted Green Beans + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Cauliflower "Mac" and Cheese Casserole + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Cauliflower Pizza Crust + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + + + + +
          +
          + + + + + + + + + + + + + +
          +
          + + + + + + +

          + + Mustard-Parmesan Whole Roasted Cauliflower + + +

          + + + + + + + + + + + + + + + + + + +
          + +
          + +
          +
          + +
          + +
          +
          + + + + +
          +
          +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          +
          +

          + +

          + +
          +
          + +
          +
          + + +
          +
          +
          + +
          +
          +
          + + + + + + + + + +
          + + + + +
          +
          + +
          + + + + + + + + + + + + + + + + + + + + + + +
          + +
          +
          +
          + + +
          + + +
          + + + + + + +
          + + + + + +
          +
          + +

          + + 👩‍🍳 What's Cooking + + +

          + + +
          + + + +
          + + + + +
          + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + + +
          + + + + + + + + + +
          + +
          + +
          +
          +
          + + + + +
          + +
          +
          +
          + + + +
          + +
          +
          +
          + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + +
          +
          + +

          + + 📈 Trending Videos + +

          + +
          + +
          + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + + + +
          + + + + +
          +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + +
          +
          + +

          + + 🤤 More Drool-Worthy Recipes + +

          + +
          + +
          + +
          + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + + + +
          + + + + +
          + + +
          +
          +
          + + + + + +
          +
          +
          + +
          + + +
          + +
          + + +
          +
          +
          + +
          + + + +
          +
          + +
          + + + + + +
          +
          + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/packages/parser/test/www.giverecipe.com/hummus.html b/packages/parser/test/www.giverecipe.com/hummus.html new file mode 100644 index 00000000..d414d4c3 --- /dev/null +++ b/packages/parser/test/www.giverecipe.com/hummus.html @@ -0,0 +1,1843 @@ + + + + + +Homemade Hummus Without Tahini - Give Recipe + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +

          Copyright © 2019 • Give Recipe

          + + +
          +
          +
          + +
          +
          +

          Privacy Preference Center

          + +
          +
          +
          + +
          +
          +
          +
            +
          • +
          + +
          +
          + +
          + +
          +
          + +
          +
          +
          +
          + +
          +
          +
          +
          +

          + +
          +
          +
          +

          +
          +
          + +
          +
          +
          + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.myrecipes.com/RoastedRedPepperHummusVeggieWrapsRecipe.html b/packages/parser/test/www.myrecipes.com/RoastedRedPepperHummusVeggieWrapsRecipe.html new file mode 100644 index 00000000..3df702dc --- /dev/null +++ b/packages/parser/test/www.myrecipes.com/RoastedRedPepperHummusVeggieWrapsRecipe.html @@ -0,0 +1,3092 @@ + + + + + Roasted Red Pepper Hummus Veggie Wraps Recipe | MyRecipes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + + +
          + + +
          + + +
          + + +
          +
          + +
          + + + + + + + + + + +
          +
          + + ADD YOUR REVIEW +
          +
          +
          + +
          + + +
          + +
          +
          + + + +
          + +
          + + +
          +
          Photo: Jennifer Causey; Styling: Claire Spollen
          +
          + + +
          + + + + +
          +
          + Yield +
          +
          + Serves 4 (serving size: 1 wrap) + + + +
          +
          + +
          + + +
          + + + + + +
          + + +
          +
          +

          Lunch to go never looked so good. Try these portable veggie wraps with any flavor of hummus you like and whatever crisp veggies you have on hand.

          +
          +
          + + + + + + +
          + + + + +
          +
          +

          + How to Make It +

          +
          +
          +

          Spread about 1/3 cup hummus over each tortilla, leaving a 1/2-inch border around edges. Top each with 1/2 cup spinach and kale blend, one-fourth of bell pepper, 3 tablespoons goat cheese, and 1/8 teaspoon pepper. Roll up wraps. Heat a large skillet over medium-high heat. Coat pan with cooking spray. Add wraps; cook 1 1/2 minutes on each side or until lightly browned.

          +
          +
          +
          +

          Chef's Notes

          +

          MyRecipes is working with Let's Move!, the Partnership for a Healthier America, and USDA's MyPlate to give anyone looking for healthier options access to a trove of recipes that will help them create healthy, tasty plates. For more information about creating a healthy plate, visit www.choosemyplate.gov.

          +
          +
          +
          +
          +
          + + +
          + +
          +
          +
          +
          + + + + + + + + + + + +
          +
          + + + +
          + +
          + + + +
          +
          + + +
          + + +
          +

          + Ratings & Reviews +

          +
          +
          +
          + + + + + + + +
          +
          +
          +
          +
          +

          Fantastic

          +
          + jodie +
          April 18, 2017
          +
          +
          +
          Quick and easy lunch!  I didn't have feta today so subbed some shredded cheese.  Can't wait to try with the feta.  I used just spinach and added some sliced green onion.  Super yummy.  Will definitely make often.
          +
          +
          +
          +
          +
          +
          +
          +

          Surprisingly Tasty!

          +
          + sukeedog +
          February 02, 2016
          +
          +
          +
          I wanted to try a meatless lunch for health and budget reasons. I was skeptical- especially since the orange peppers were going in totally raw. But the flavors melded together perfectly, and the rawness of the peppers was a nice contrast texture wise from the warm hummus and melted goat cheese. Only thing I did differently was add a dash of chili pepper to my wraps (I like spice!) Great recipe that I WILL be making again!
          +
          +
          +
          +
          +
          +
          +
          +

          Quick and easy but a little bland...

          +
          + marchez +
          August 30, 2015
          +
          +
          +
          Maybe a stronger hummus flavor, like jalapeno, would have helped (for us - we like bold flavors).
          +
          +
          +
          +
          +
          +
          +
          +

          great packable lunch

          +
          + syrupless +
          June 20, 2015
          +
          +
          +
          A great easy lunch! I made it twice already. The first time I didn't toast it in a skillet because I was taking it to work for lunch and was short on time - it was good. The second time I did toast it and it made a difference - it was great. Packs well. I will definitely make this again. 
          +
          +
          +
          +
          +
          +
          +
          +

          loved this wrap

          +
          + daneanp +
          June 11, 2015
          +
          +
          +
          Loved this wrap, easy and flavorful. We added chicken for a more hearty meal and it was filling. Baked the zucchini chips as well and they were also good.
          +
          +
          +
          +
          +
          +
          +
          + + + +
          +
          +
          +
          + + + + +
          + + + + diff --git a/packages/parser/test/www.paleorunningmomma.com/triple-layer-chocolate-coconut-macaroon-cake-paleo.html b/packages/parser/test/www.paleorunningmomma.com/triple-layer-chocolate-coconut-macaroon-cake-paleo.html new file mode 100644 index 00000000..bf9103cf --- /dev/null +++ b/packages/parser/test/www.paleorunningmomma.com/triple-layer-chocolate-coconut-macaroon-cake-paleo.html @@ -0,0 +1,1358 @@ + + + + + +Triple Layer Chocolate Coconut Macaroon Cake {Paleo} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + + +
          + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.popsugar.com/Vegan-Gluten-Free-Pumpkin-Cookies.html b/packages/parser/test/www.popsugar.com/Vegan-Gluten-Free-Pumpkin-Cookies.html new file mode 100644 index 00000000..1ff2278f --- /dev/null +++ b/packages/parser/test/www.popsugar.com/Vegan-Gluten-Free-Pumpkin-Cookies.html @@ -0,0 +1,2664 @@ + + + + + + + + + + +Vegan Gluten-Free Pumpkin Cookies | POPSUGAR Fitness + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +Skip Nav + + + + +
          +
          +
          +
          +
          +
          + + +
          +
          + +
          +
          +
          +
          + +
          +
          + +
          +
          +
          +
          +
          +
          +
          +

          Vegan Gluten-Free Pumpkin Cookies

          +

          +Bake a Batch of Flour-Free Pumpkin Chocolate Chip Cookies +

          + +
          + +
          +
          +
          +

          Love a slice of creamy pumpkin pie but don't love the calorie amount attached to it? Then grab a can of pumpkin and bake these cookies immediately. Soft, chewy, and under 100 calories, they're bursting with that spiced pumpkin pie flavor you crave, but for fewer calories and sugar.

          +

          +

          Plus these babies are grain-free, so they're low in carbs, too. Another bonus? Since this recipe is vegan, you can go ahead and lick the bowl clean!

          +

          + +

          Pumpkin Chocolate Chip Cookies

          From The Detoxinista

          +
          Vegan Gluten-Free Pumpkin Cookies

          Ingredients

          1. 1 cup creamy almond butter
          2. +1/2 cup pumpkin puree
          3. +1/4 cup pure maple syrup
          4. +2 teaspoons pumpkin pie spice
          5. +1 teaspoon vanilla extract
          6. +1/4 teaspoon sea salt
          7. +1/2 cup dark chocolate chips (optional)
          +

          Directions

            +
          1. Preheat your oven to 350°F, and line two baking sheets with parchment paper or a Silpat.
          2. +
          3. Combine all the ingredients in a medium bowl, and mix until a smooth batter is formed. If adding the dark chocolate chips, fold them in now.
          4. +
          5. Using a spoon, drop the batter onto the lined baking sheet and use the back of the spoon to spread them out into circles.
          6. +
          7. Bake for 12-15 minutes, until the edges are slightly golden.
          8. +
          9. Allow to cool completely before using a spatula to remove from the baking sheet.
          10. +
          +

          +

          Source: Calorie Count

          +

          Nutrition

          Calories per serving
          95
          + +
          +
          + +
          + +
          +
          +
          +
          Latest Fitness
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          +
          + + +
          +
          +
          +
          +
          + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + + + + +All the Latest From Ryan Reynolds + + + + +
          + + + \ No newline at end of file diff --git a/packages/parser/test/www.reddit.com/r/recipes/gracies_atomic_salad.json b/packages/parser/test/www.reddit.com/r/recipes/gracies_atomic_salad.json new file mode 100644 index 00000000..35da984f --- /dev/null +++ b/packages/parser/test/www.reddit.com/r/recipes/gracies_atomic_salad.json @@ -0,0 +1 @@ +[{"kind": "Listing", "data": {"modhash": "zv968xnx6qe15c2373b12567a6e28517a7ef4aa1d69655f25c", "dist": 1, "children": [{"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "recipes", "selftext": "We had a cafe where I went to University called Gracie's Atomic Cafe. They made the most delicious salad as a meal. Here is the recipe which I got from the owner.\n\n**Ingredients**\n\n* 1 can artichoke hearts \u2013 drained and quartered\n* 1 large avocado \u2013 cubed\n* 1/2 cup cubed fresh mozzarella\n* 1 or 2 sliced green onions \u2013 green and white parts\n* 1 small can black olives \u2013 drained\n* 1/2 pint cherry tomatoes or 2 ripe tomatoes quartered\n* 1/2 small red onion \u2013 in thin rings\n* 8 oz pepperoni \u2013 sliced - I use uncured now\n* chopped fresh basil\n* 2 heads Boston lettuce \u2013 tear the leaves\n* 1 -2 cloves garlic minced\n* 2 tbs red wine vinegar\n* 1 tsp Dijon mustard\n* 1/2 cup olive oil\n* salt and pepper\n\n**Steps**\n\n1. Whisk garlic, vinegar, mustard, olive oil, salt and pepper in serving bowl for dressing.\n2. Add artichokes, olives, tomatoes, red onion and avocado to dressing. Mix well to coat and marinade for at least 1 hour or overnight.\n3. Add all other ingredients, except lettuce and toss well. Add lettuce and toss just before serving. Serve with french bread and lemonade or wine.", "user_reports": [], "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Gracie's Atomic Salad", "link_flair_richtext": [{"e": "text", "t": "Recipe"}], "subreddit_name_prefixed": "r/recipes", "hidden": false, "pwls": 6, "link_flair_css_class": "recipe", "downs": 0, "thumbnail_height": null, "parent_whitelist_status": "all_ads", "hide_score": false, "name": "t3_bk0d0o", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.8, "author_flair_background_color": null, "subreddit_type": "public", "ups": 8, "total_awards_received": 0, "media_embed": {}, "thumbnail_width": null, "author_flair_template_id": null, "is_original_content": false, "author_fullname": "t2_5csba", "secure_media": null, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {}, "link_flair_text": "Recipe", "can_mod_post": false, "score": 8, "approved_by": null, "thumbnail": "self", "edited": 1556833907.0, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "content_categories": null, "is_self": true, "mod_note": null, "created": 1556861116.0, "link_flair_type": "richtext", "wls": 6, "banned_by": null, "author_flair_type": "text", "domain": "self.recipes", "selftext_html": "<!-- SC_OFF --><div class=\"md\"><p>We had a cafe where I went to University called Gracie&#39;s Atomic Cafe. They made the most delicious salad as a meal. Here is the recipe which I got from the owner.</p>\n\n<p><strong>Ingredients</strong></p>\n\n<ul>\n<li>1 can artichoke hearts \u2013 drained and quartered</li>\n<li>1 large avocado \u2013 cubed</li>\n<li>1/2 cup cubed fresh mozzarella</li>\n<li>1 or 2 sliced green onions \u2013 green and white parts</li>\n<li>1 small can black olives \u2013 drained</li>\n<li>1/2 pint cherry tomatoes or 2 ripe tomatoes quartered</li>\n<li>1/2 small red onion \u2013 in thin rings</li>\n<li>8 oz pepperoni \u2013 sliced - I use uncured now</li>\n<li>chopped fresh basil</li>\n<li>2 heads Boston lettuce \u2013 tear the leaves</li>\n<li>1 -2 cloves garlic minced</li>\n<li>2 tbs red wine vinegar</li>\n<li>1 tsp Dijon mustard</li>\n<li>1/2 cup olive oil</li>\n<li>salt and pepper</li>\n</ul>\n\n<p><strong>Steps</strong></p>\n\n<ol>\n<li>Whisk garlic, vinegar, mustard, olive oil, salt and pepper in serving bowl for dressing.</li>\n<li>Add artichokes, olives, tomatoes, red onion and avocado to dressing. Mix well to coat and marinade for at least 1 hour or overnight.</li>\n<li>Add all other ingredients, except lettuce and toss well. Add lettuce and toss just before serving. Serve with french bread and lemonade or wine.</li>\n</ol>\n</div><!-- SC_ON -->", "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": true, "pinned": false, "over_18": false, "all_awardings": [], "media": null, "media_only": false, "link_flair_template_id": "10c35194-345a-11e3-b141-12313d1688a5", "can_gild": true, "spoiler": false, "locked": false, "author_flair_text": null, "visited": false, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qh56", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "#ffe66d", "id": "bk0d0o", "is_robot_indexable": true, "report_reasons": null, "author": "linengray", "num_crossposts": 0, "num_comments": 2, "send_replies": true, "contest_mode": false, "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/recipes/comments/bk0d0o/gracies_atomic_salad/", "whitelist_status": "all_ads", "stickied": false, "url": "https://www.reddit.com/r/recipes/comments/bk0d0o/gracies_atomic_salad/", "subreddit_subscribers": 1101422, "created_utc": 1556832316.0, "mod_reports": [], "is_video": false}}], "after": null, "before": null}}, {"kind": "Listing", "data": {"modhash": "zv968xnx6qe15c2373b12567a6e28517a7ef4aa1d69655f25c", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 3, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bk0d0o", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emf7sbs", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "happybootie", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bk0d0o", "score": 3, "author_fullname": "t2_1vrzqswm", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "This looks amazing! I love that it has NO MAYO. Will be trying this for sure. :-)", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>This looks amazing! I love that it has NO MAYO. Will be trying this for sure. :-)</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bk0d0o/gracies_atomic_salad/emf7sbs/", "num_reports": null, "locked": false, "name": "t1_emf7sbs", "created": 1556930989.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556902189.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bk0d0o", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emdiipn", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "Onoudient", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bk0d0o", "score": 1, "author_fullname": "t2_v7lin", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "This sounds simple and delicious. Thanks for sharing", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>This sounds simple and delicious. Thanks for sharing</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bk0d0o/gracies_atomic_salad/emdiipn/", "num_reports": null, "locked": false, "name": "t1_emdiipn", "created": 1556879125.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556850325.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}] \ No newline at end of file diff --git a/packages/parser/test/www.reddit.com/r/recipes/pasta_with_chicken_in_cream_sauce.json b/packages/parser/test/www.reddit.com/r/recipes/pasta_with_chicken_in_cream_sauce.json new file mode 100644 index 00000000..3ae4918b --- /dev/null +++ b/packages/parser/test/www.reddit.com/r/recipes/pasta_with_chicken_in_cream_sauce.json @@ -0,0 +1 @@ +[{"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": 1, "children": [{"kind": "t3", "data": {"approved_at_utc": null, "subreddit": "recipes", "selftext": "", "user_reports": [], "saved": false, "mod_reason_title": null, "gilded": 0, "clicked": false, "title": "Pasta with chicken in cream sauce", "link_flair_richtext": [], "subreddit_name_prefixed": "r/recipes", "hidden": false, "pwls": 6, "link_flair_css_class": null, "downs": 0, "thumbnail_height": 93, "parent_whitelist_status": "all_ads", "hide_score": false, "name": "t3_bjnj3w", "quarantine": false, "link_flair_text_color": "dark", "upvote_ratio": 0.96, "author_flair_background_color": null, "subreddit_type": "public", "ups": 259, "total_awards_received": 0, "media_embed": {"content": "<iframe class=\"embedly-embed\" src=\"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet%2Fembed%3Fpub%3Dtrue%26ref%3Dhttps%253A%252F%252Fembed.ly%26w%3D900&url=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet&image=https%3A%2F%2Fi.imgur.com%2FZJVcuvz.jpg%3Ffb&key=ed8fa8699ce04833838e66ce79ba05f1&type=text%2Fhtml&schema=imgur\" width=\"600\" height=\"440\" scrolling=\"no\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen=\"true\"></iframe>", "width": 600, "scrolling": false, "height": 440}, "thumbnail_width": 140, "author_flair_template_id": null, "is_original_content": false, "author_fullname": "t2_wrcat", "secure_media": {"type": "m.imgur.com", "oembed": {"provider_url": "http://imgur.com", "description": "Post with 0 views.", "title": "Imgur", "url": "https://imgur.com/a/5c2MMet", "thumbnail_width": 600, "height": 440, "width": 600, "html": "<iframe class=\"embedly-embed\" src=\"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet%2Fembed%3Fpub%3Dtrue%26ref%3Dhttps%253A%252F%252Fembed.ly%26w%3D900&url=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet&image=https%3A%2F%2Fi.imgur.com%2FZJVcuvz.jpg%3Ffb&key=ed8fa8699ce04833838e66ce79ba05f1&type=text%2Fhtml&schema=imgur\" width=\"600\" height=\"440\" scrolling=\"no\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen=\"true\"></iframe>", "version": "1.0", "provider_name": "Imgur", "thumbnail_url": "https://i.imgur.com/ZJVcuvz.jpg?fb", "type": "rich", "thumbnail_height": 315}}, "is_reddit_media_domain": false, "is_meta": false, "category": null, "secure_media_embed": {"content": "<iframe class=\"embedly-embed\" src=\"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet%2Fembed%3Fpub%3Dtrue%26ref%3Dhttps%253A%252F%252Fembed.ly%26w%3D900&url=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet&image=https%3A%2F%2Fi.imgur.com%2FZJVcuvz.jpg%3Ffb&key=ed8fa8699ce04833838e66ce79ba05f1&type=text%2Fhtml&schema=imgur\" width=\"600\" height=\"440\" scrolling=\"no\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen=\"true\"></iframe>", "width": 600, "scrolling": false, "media_domain_url": "https://www.redditmedia.com/mediaembed/bjnj3w", "height": 440}, "link_flair_text": null, "can_mod_post": false, "score": 259, "approved_by": null, "thumbnail": "https://a.thumbs.redditmedia.com/zAfWzpLVuIoAeSgogX15mPOheg9btA95iwnUeCxbKa4.jpg", "edited": false, "author_flair_css_class": null, "author_flair_richtext": [], "gildings": {}, "post_hint": "link", "content_categories": null, "is_self": false, "mod_note": null, "created": 1556779111.0, "link_flair_type": "text", "wls": 6, "banned_by": null, "author_flair_type": "text", "domain": "m.imgur.com", "selftext_html": null, "likes": null, "suggested_sort": null, "banned_at_utc": null, "view_count": null, "archived": false, "no_follow": false, "is_crosspostable": true, "pinned": false, "over_18": false, "preview": {"images": [{"source": {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?auto=webp&s=4ee9f57a2ff062f69d3e8583a268456794145da1", "width": 1536, "height": 1024}, "resolutions": [{"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=108&crop=smart&auto=webp&s=c46bd56d5f970103057d1cc2d5dbcbe5cd51d780", "width": 108, "height": 72}, {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=216&crop=smart&auto=webp&s=1f7973cb4aad5d473f1de8e74040b6b1bd3b0fdd", "width": 216, "height": 144}, {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=320&crop=smart&auto=webp&s=1e39b3da41c45d95912266caa8cb419b749aad60", "width": 320, "height": 213}, {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=640&crop=smart&auto=webp&s=8625fc963d6c483369a36b32c7fe6730c9cc5320", "width": 640, "height": 426}, {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=960&crop=smart&auto=webp&s=afbf768c80a768fc4c0fb17ddc2a70bad23f484f", "width": 960, "height": 640}, {"url": "https://external-preview.redd.it/KsIEPQcX1YGTGXTvden5S98TEaGuzSwHDcAeESOlzWE.jpg?width=1080&crop=smart&auto=webp&s=b60848c02d68ef0ff3f7e989390a64c4383194f8", "width": 1080, "height": 720}], "variants": {}, "id": "cCbudAiaM_sj_0AxjEL5XYeK70w5BwInk27IaLVqVFA"}], "enabled": false}, "all_awardings": [], "media": {"type": "m.imgur.com", "oembed": {"provider_url": "http://imgur.com", "description": "Post with 0 views.", "title": "Imgur", "url": "https://imgur.com/a/5c2MMet", "thumbnail_width": 600, "height": 440, "width": 600, "html": "<iframe class=\"embedly-embed\" src=\"https://cdn.embedly.com/widgets/media.html?src=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet%2Fembed%3Fpub%3Dtrue%26ref%3Dhttps%253A%252F%252Fembed.ly%26w%3D900&url=https%3A%2F%2Fimgur.com%2Fa%2F5c2MMet&image=https%3A%2F%2Fi.imgur.com%2FZJVcuvz.jpg%3Ffb&key=ed8fa8699ce04833838e66ce79ba05f1&type=text%2Fhtml&schema=imgur\" width=\"600\" height=\"440\" scrolling=\"no\" frameborder=\"0\" allow=\"autoplay; fullscreen\" allowfullscreen=\"true\"></iframe>", "version": "1.0", "provider_name": "Imgur", "thumbnail_url": "https://i.imgur.com/ZJVcuvz.jpg?fb", "type": "rich", "thumbnail_height": 315}}, "media_only": false, "can_gild": true, "spoiler": false, "locked": false, "author_flair_text": null, "visited": false, "num_reports": null, "distinguished": null, "subreddit_id": "t5_2qh56", "mod_reason_by": null, "removal_reason": null, "link_flair_background_color": "", "id": "bjnj3w", "is_robot_indexable": true, "report_reasons": null, "author": "kjuuz", "num_crossposts": 0, "num_comments": 15, "send_replies": false, "contest_mode": false, "author_patreon_flair": false, "author_flair_text_color": null, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/", "whitelist_status": "all_ads", "stickied": false, "url": "https://m.imgur.com/a/5c2MMet", "subreddit_subscribers": 1101423, "created_utc": 1556750311.0, "mod_reports": [], "is_video": false}}], "after": null, "before": null}}, {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emg0six", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "threeX1minus1", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 1, "author_fullname": "t2_i6kwp", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Indian curry or jamiacan curry", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Indian curry or jamiacan curry</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emg0six/", "num_reports": null, "locked": false, "name": "t1_emg0six", "created": 1556950752.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556921952.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 3, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emdnonw", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "kjuuz", "can_mod_post": false, "send_replies": true, "parent_id": "t1_emdejbc", "score": 1, "author_fullname": "t2_wrcat", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Heey! I'm really happy that you liked it. Yeah, seasonings are more like \"to taste\". \nSuch a great feedback from you guys. I have writed down more recipes that i was planned to post on my website (that i haven't made yet.. lol). I will upload some more here on reddit.", "edited": false, "author_flair_css_class": null, "is_submitter": true, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Heey! I&#39;m really happy that you liked it. Yeah, seasonings are more like &quot;to taste&quot;.<br/>\nSuch a great feedback from you guys. I have writed down more recipes that i was planned to post on my website (that i haven&#39;t made yet.. lol). I will upload some more here on reddit.</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emdnonw/", "num_reports": null, "locked": false, "name": "t1_emdnonw", "created": 1556882664.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556853864.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}, "user_reports": [], "saved": false, "id": "emdejbc", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "TheBunnynator", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 3, "author_fullname": "t2_10f3bk", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Hey OP. Back again. Made this, was amazing. Although I'd recommend adding more curry powder and pasta, and maybe a dash more oregano.", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Hey OP. Back again. Made this, was amazing. Although I&#39;d recommend adding more curry powder and pasta, and maybe a dash more oregano.</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emdejbc/", "num_reports": null, "locked": false, "name": "t1_emdejbc", "created": 1556876515.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556847715.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 2, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emd6a8f", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "Daisyparker1", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 2, "author_fullname": "t2_3o4bjc22", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Yummy Recipe.", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Yummy Recipe.</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emd6a8f/", "num_reports": null, "locked": false, "name": "t1_emd6a8f", "created": 1556871074.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556842274.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 2, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emcl7up", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "TheBunnynator", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 2, "author_fullname": "t2_10f3bk", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "My girl is coming by. Think I'll make this for us. Thanks OP.", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>My girl is coming by. Think I&#39;ll make this for us. Thanks OP.</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emcl7up/", "num_reports": null, "locked": false, "name": "t1_emcl7up", "created": 1556858340.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556829540.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 3, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emdo1kx", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "kjuuz", "can_mod_post": false, "send_replies": true, "parent_id": "t1_embvq7j", "score": 1, "author_fullname": "t2_wrcat", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Happy to hear that ^ ^", "edited": false, "author_flair_css_class": null, "is_submitter": true, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Happy to hear that ^ ^</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emdo1kx/", "num_reports": null, "locked": false, "name": "t1_emdo1kx", "created": 1556882923.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556854123.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}, "user_reports": [], "saved": false, "id": "embvq7j", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "crothwood", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 3, "author_fullname": "t2_ceazu8o", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "no joke I had this two night ago. Fucking delicious.", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>no joke I had this two night ago. Fucking delicious.</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/embvq7j/", "num_reports": null, "locked": false, "name": "t1_embvq7j", "created": 1556843839.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556815039.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 5, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "emazxbo", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "fmerror-", "can_mod_post": false, "send_replies": true, "parent_id": "t1_em9xkrq", "score": 5, "author_fullname": "t2_m61wtip", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "yes", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>yes</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/emazxbo/", "num_reports": null, "locked": false, "name": "t1_emazxbo", "created": 1556822816.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556794016.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}, "user_reports": [], "saved": false, "id": "em9xkrq", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "thelightwesticles", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 1, "author_fullname": "t2_11fmj1", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Is that a metric pinch of Oregano or is it measured as an imperial pinch?", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Is that a metric pinch of Oregano or is it measured as an imperial pinch?</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9xkrq/", "num_reports": null, "locked": false, "name": "t1_em9xkrq", "created": 1556786930.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556758130.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 2, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "em9vs89", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "vrs404", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 2, "author_fullname": "t2_1724pv", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Going to make this! Yum", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Going to make this! Yum</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9vs89/", "num_reports": null, "locked": false, "name": "t1_em9vs89", "created": 1556785738.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556756938.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "em9x6cj", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "fmerror-", "can_mod_post": false, "send_replies": true, "parent_id": "t1_em9rmf5", "score": 1, "author_fullname": "t2_m61wtip", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Yea, making this tonight", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Yea, making this tonight</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9x6cj/", "num_reports": null, "locked": false, "name": "t1_em9x6cj", "created": 1556786655.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556757855.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "em9uxcb", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "kjuuz", "can_mod_post": false, "send_replies": true, "parent_id": "t1_em9rmf5", "score": 1, "author_fullname": "t2_wrcat", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Awesome :-)", "edited": false, "author_flair_css_class": null, "is_submitter": true, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Awesome :-)</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9uxcb/", "num_reports": null, "locked": false, "name": "t1_em9uxcb", "created": 1556785176.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556756376.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}, "user_reports": [], "saved": false, "id": "em9rmf5", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "LethKink", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 1, "author_fullname": "t2_bkj1r", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Saved (wo)man", "edited": false, "author_flair_css_class": null, "is_submitter": false, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Saved (wo)man</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9rmf5/", "num_reports": null, "locked": false, "name": "t1_em9rmf5", "created": 1556782913.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556754113.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 1, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}, {"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 21, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": false, "replies": {"kind": "Listing", "data": {"modhash": "2iefrhk7tl8a84fbc6dfe474c3f8ccdf64615950cba5ee3348", "dist": null, "children": [{"kind": "t1", "data": {"total_awards_received": 0, "approved_at_utc": null, "ups": 1, "mod_reason_by": null, "banned_by": null, "author_flair_type": "text", "removal_reason": null, "link_id": "t3_bjnj3w", "author_flair_template_id": null, "likes": null, "no_follow": true, "replies": "", "user_reports": [], "saved": false, "id": "ema8tzb", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "kjuuz", "can_mod_post": false, "send_replies": true, "parent_id": "t1_em9m0l1", "score": 1, "author_fullname": "t2_wrcat", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Edit. Units of measurement added (US)", "edited": false, "author_flair_css_class": null, "is_submitter": true, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Edit. Units of measurement added (US)</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/ema8tzb/", "num_reports": null, "locked": false, "name": "t1_ema8tzb", "created": 1556794576.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556765776.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 1, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}, "user_reports": [], "saved": false, "id": "em9m0l1", "banned_at_utc": null, "mod_reason_title": null, "gilded": 0, "archived": false, "report_reasons": null, "author": "kjuuz", "can_mod_post": false, "send_replies": true, "parent_id": "t3_bjnj3w", "score": 21, "author_fullname": "t2_wrcat", "approved_by": null, "all_awardings": [], "subreddit_id": "t5_2qh56", "body": "Hi Reddit! :-)\n\n\n\nI decided to share my recipe.. this one is one of my favorite - it's delicious, creamy and very easy to make. \n\n\n\n&nbsp;\n\n\n\n## Pasta and chicken in cream sauce\n\n\n\n### Ingredients you will need\n\n\n\n1. Pasta 250 grams (i used long and wide ones, but you can use any you like. As alternatives i prefer tubes)\n\n2. Chicken breast 250 - 300 grams (8 - 11 ounces)\n\n3. Cream 35% - 200 ml (~ 7 fluid ounces)\n\n4. Cherry tomatoes ~12 pcs\n\n5. Garlic - 1 clove\n\n1. Red bell pepper - 1 pc\n\n6. Dried Oregano - tea-spoon/pinch (to taste)\n\n7. Salt and pepper - to taste\n\n8. Yellow curry powder - tea-spoon\n\n\n\n### Method\n\n\n\n0. Slice chicken in small chops (like 1/2 inch)\n\n1. Slice bell pepper in tiny bits (about 1/4 inch)\n\n9. Cook pasta (according to its packaging)\n\n2. Put pan on low heat, add some olive oil, sliced chicken, curry powder and salt&pepper.\n\n3. Stir while most of chicken is white, then add bell pepper.\n\n4. Add half of prepared tomatoes each sliced in 4 peaces\n\n5. Cook until chicken is cooked/done. Then add cream..\n\n6. When cream start to boil add other half of sliced tomatoes, minced garlic and pasta.\n\n7. Leave it to cool down a little, if you like you can add a little water to get it more saucy.\n\n8. Done :)\n\n\n\nI hope these instructions are clear and understandable. As english is not my native language, I'm trying to get my best. \n\nFeel free to ask any questions you have. \n\nEnjoy your meal :)", "edited": 1556765590.0, "author_flair_css_class": null, "is_submitter": true, "downs": 0, "author_flair_richtext": [], "author_patreon_flair": false, "collapsed_reason": null, "body_html": "<div class=\"md\"><p>Hi Reddit! :-)</p>\n\n<p>I decided to share my recipe.. this one is one of my favorite - it&#39;s delicious, creamy and very easy to make. </p>\n\n<p>&nbsp;</p>\n\n<h2>Pasta and chicken in cream sauce</h2>\n\n<h3>Ingredients you will need</h3>\n\n<ol>\n<li><p>Pasta 250 grams (i used long and wide ones, but you can use any you like. As alternatives i prefer tubes)</p></li>\n<li><p>Chicken breast 250 - 300 grams (8 - 11 ounces)</p></li>\n<li><p>Cream 35% - 200 ml (~ 7 fluid ounces)</p></li>\n<li><p>Cherry tomatoes ~12 pcs</p></li>\n<li><p>Garlic - 1 clove</p></li>\n<li><p>Red bell pepper - 1 pc</p></li>\n<li><p>Dried Oregano - tea-spoon/pinch (to taste)</p></li>\n<li><p>Salt and pepper - to taste</p></li>\n<li><p>Yellow curry powder - tea-spoon</p></li>\n</ol>\n\n<h3>Method</h3>\n\n<ol>\n<li><p>Slice chicken in small chops (like 1/2 inch)</p></li>\n<li><p>Slice bell pepper in tiny bits (about 1/4 inch)</p></li>\n<li><p>Cook pasta (according to its packaging)</p></li>\n<li><p>Put pan on low heat, add some olive oil, sliced chicken, curry powder and salt&amp;pepper.</p></li>\n<li><p>Stir while most of chicken is white, then add bell pepper.</p></li>\n<li><p>Add half of prepared tomatoes each sliced in 4 peaces</p></li>\n<li><p>Cook until chicken is cooked/done. Then add cream..</p></li>\n<li><p>When cream start to boil add other half of sliced tomatoes, minced garlic and pasta.</p></li>\n<li><p>Leave it to cool down a little, if you like you can add a little water to get it more saucy.</p></li>\n<li><p>Done :)</p></li>\n</ol>\n\n<p>I hope these instructions are clear and understandable. As english is not my native language, I&#39;m trying to get my best. </p>\n\n<p>Feel free to ask any questions you have. </p>\n\n<p>Enjoy your meal :)</p>\n</div>", "stickied": false, "subreddit_type": "public", "can_gild": true, "gildings": {}, "author_flair_text_color": null, "score_hidden": false, "permalink": "/r/recipes/comments/bjnj3w/pasta_with_chicken_in_cream_sauce/em9m0l1/", "num_reports": null, "locked": false, "name": "t1_em9m0l1", "created": 1556779228.0, "subreddit": "recipes", "author_flair_text": null, "collapsed": false, "created_utc": 1556750428.0, "subreddit_name_prefixed": "r/recipes", "controversiality": 0, "depth": 0, "author_flair_background_color": null, "mod_reports": [], "mod_note": null, "distinguished": null}}], "after": null, "before": null}}] \ No newline at end of file diff --git a/packages/parser/test/www.seriouseats.com/detroit-style-pizza-recipe.html b/packages/parser/test/www.seriouseats.com/detroit-style-pizza-recipe.html new file mode 100644 index 00000000..be06a041 --- /dev/null +++ b/packages/parser/test/www.seriouseats.com/detroit-style-pizza-recipe.html @@ -0,0 +1,5443 @@ + + + + + + + + + Detroit-Style Pan Pizza Recipe | Serious Eats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + + +
          + +
          + + +
          + +
          + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          + + +
          + + + + + + + + + + + +
          +
          + + + +
          + + +
          Comments
          + +
          +
          +
          +
          +
          + + + + + +
          +
          ADD A COMMENT
          +
          + + + + + +
          +

          Add a rating with your comment: + + + + + + + +

          + +
          + + +

          Comments can take up to a minute to appear - please be patient!

          +
          + +
          +
          + +
          +
          PREVIEW YOUR COMMENT
          +
          +
          +

           

          +
          +
          +
          +
          + + +
          + + + +
          +
          + + + + + + + + + + +
          + + + + + + + + + + + + + + + + +
          + +
          +
          +
          +
          +

          The tastiest bites delivered to your inbox!

          + + +
          +
          + + + + + + + +
          + +
          + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.seriouseats.com/serious-eats-halal-cart-style-chicken-and-rice-white-sauce-recipe.html b/packages/parser/test/www.seriouseats.com/serious-eats-halal-cart-style-chicken-and-rice-white-sauce-recipe.html new file mode 100644 index 00000000..3faa7a99 --- /dev/null +++ b/packages/parser/test/www.seriouseats.com/serious-eats-halal-cart-style-chicken-and-rice-white-sauce-recipe.html @@ -0,0 +1,5609 @@ + + + + + + + + + Serious Eats' Halal Cart-Style Chicken and Rice With White Sauce Recipe | Serious Eats + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + + +
          + +
          + + +
          + +
          + + + + + + + + + + + + + + + + + + + + + +
          +
          +
          + + +
          + + + + + + + + + + + +
          +
          + + + +
          + + +
          Comments
          + +
          +
          +
          +
          +
          + + + + + +
          +
          ADD A COMMENT
          +
          + + + + + +
          +

          Add a rating with your comment: + + + + + + + +

          + +
          + + +

          Comments can take up to a minute to appear - please be patient!

          +
          + +
          +
          + +
          +
          PREVIEW YOUR COMMENT
          +
          +
          +

           

          +
          +
          +
          +
          + + +
          + + + +
          +
          + + + + + + + + + + +
          + + + + + + + + + + + + + + + + +
          + +
          +
          +
          +
          +

          The tastiest bites delivered to your inbox!

          + + +
          +
          + + + + + + + +
          + +
          + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + +
          + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/packages/parser/test/www.wellplated.com/no-bake-protein-balls.html b/packages/parser/test/www.wellplated.com/no-bake-protein-balls.html new file mode 100644 index 00000000..e75a18e8 --- /dev/null +++ b/packages/parser/test/www.wellplated.com/no-bake-protein-balls.html @@ -0,0 +1,1534 @@ + + + + + + + + + + + + + + + + + + + + +No Bake Cookie Dough Protein Balls | Well Plated by Erin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + +
          +
          +

          No Bake Cookie Dough Protein Balls

          + + +

          If you’ve ever wondered why chocolate chip cookies have to contain calories (can’t we delegate that task to celery sticks?), these Cookie Dough No Bake Protein Balls are for you! Clean-eating approved, low carb, and protein-packed, these healthy energy bites taste like chocolate chip cookie dough but are made entirely from wholesome, good-for-you ingredients.

          +

          No Bake Cookie Dough Protein Balls. These healthy energy bites taste exactly like chocolate chip cookie dough! One bowl, no baking, and they’re perfect for breakfast, snacking, and even dessert. {low carb, paleo, and gluten free} @wellplated

          +

          Translation: with this protein ball recipe, cookie dough is a health food. Celery, consider yourself replaced.

          +

          As someone who mutates into Oscar the Grouch when she’s hungry, I’m constantly looking for easy, healthy snack ideas. Call it hanger-management.

          +

          These Cookie Dough Protein Balls are everything I could ask for in a healthy snack: they are ridiculously quick and easy to make (we’re talking one bowl, no baking), low in sugar (critical to avoid sudden energy crashes), and the fact that they are high in protein means that they actually keep me full.

          +

          Did I mention that they also taste like chocolate chip cookie dough? (Are ginger cookies more your speed? Check out these Ginger Cookie Healthy Energy Balls! And Jenn goes the monster cookie route with her No Bake Monster Cookie Oatmeal Energy Balls. So many adaptations are possible with this Energy Balls guide too!)

          +

          +

          Paleo Protein Balls that taste EXACTLY like chocolate chip cookie dough! EASY recipe that’s low carb, high in protein and fiber, and gluten free. @wellplated

          +

          A few key ingredients contribute to the high protein/low sugar/all-around yum-factor of this protein ball recipe.

          +
            +
          • Vanilla protein powder: Protein powder is not just for serious weightlifters or that guy at the gym who’s t-shirt is too tight. I regularly add protein powder to my smoothies and no bake recipes like this one to make them more satisfying and ensure my body has the fuel it needs.
          • +
          • Coconut flour: This once-trendy ingredient is now mainstream, and I’ve become a fan. I stayed away for a while, because I thought coconut flour was only necessary for those with dietary restrictions (it’s grain free and gluten free) or who follow paleo diets. Not true. Coconut flour is incredibly high in fiber, protein, and gives a rich texture to baked goods—or, in the case, of these protein balls, to no bake goods.
          • +
          • Natural almond butter: More protein, along with heart-healthy fats. Also, soooooo tasty.
          • +
          • Dark chocolate chips: Hello, antioxidants. And chocolate.
          • +
          • Almond Breeze Unsweetened Vanilla Almondmilk: My absolute favorite for everything from cereal, to smoothies, to today’s protein balls. I even developed this recipe as a part of my on-going Almond Breeze partnership! I’m excited to be working with a brand I already buy and love to create recipes that help me refuel and be my best self.
          • +
          +

          Healthy No Bake Protein Balls that taste just like chocolate chip cookie dough! Easy, one-bowl recipe with simple ingredients. @wellplated

          +

          I’m also not the only one who is a fan of Almond Breeze—it’s the official almondmilk of Team USA Volleyball, as well as a team sponsor. Although I am not particularly athletic myself (and haven’t played volleyball since my brief tenure in the fifth grade), I have tremendous respect for the discipline and dedication of the Team USA athletes. I might not ever perform at their caliber, but I do believe in the power of small changes that help me live a more healthy, energetic life. For me, making sure I balance my diet with healthy snacks like these Cookie Dough Protein Balls is critical.

          +

          These healthy protein balls taste EXACTLY like chocolate chip cookie dough. One bowl, no bake, and a whopping 7 GRAMS of protein per ball! @wellplated

          +

          Plus, when a recipe is as yummy and EASY as these Cookie Dough Protein Balls, healthy snacking is deliciously fun. To make these protein balls, all you do is stir the ingredients together in a bowl, then shape them into balls. That’s it!

          +

          I’m completely addicted to these Cookie Dough Protein Balls, and I hope that you love them just as much. Whether you are looking for an on-the-go snack, a post-workout reward, or a sweet after-dinner treat, these bites have you covered.

          +

          These Paleo Protein Balls taste EXACTLY like chocolate chip cookie dough! Easy no bake energy bites made with coconut flour, protein powder, and almond butter. {low carb, healthy, gluten free} @wellplated

          +

          Pssst! Now that we’re powered up with protein balls, let’s get in on the Team USA action. Visit ServeUpYourBest for a chance to win $5,000 for the ultimate beach day, learn a few volleyball moves, and find an Almond Breeze coupon too!

          +
          +
          +
          +
          These Paleo Protein Balls taste EXACTLY like chocolate chip cookie dough! Easy no bake energy bites made with coconut flour, protein powder, and almond butter. {low carb, healthy, gluten free} @wellplated
          +
          +Print +
          +
          4.75 from 12 votes
          +Leave a Review » +
          +

          No Bake Cookie Dough Protein Balls

          +
          +
          +Yield: 12 balls +
          +
          +
          Prep Time:
          +
          10 mins
          +
          +
          +
          Total Time:
          +
          10 mins
          +
          +
          +
          +
          No Bake Cookie Dough Protein Balls. Healthy energy bites that taste like chocolate chip cookie dough! Perfect for breakfast, snacking, and even dessert.
          +
          +
          +

          Ingredients

          +
          +
            +
          • +1/2 +cup +natural almond butter +
          • +
          • +1/2 +cup +vanilla whey protein powder  +— about 2 scoops—use plant-based protein powder to make dairy free +
          • +
          • +1/3 +cup +coconut flour* +— plus 1-2 tablespoons additional as needed +
          • +
          • +1 1/2 +tablespoons +honey +— or pure maple syrup +
          • +
          • +1 +teaspoon +pure vanilla extract +
          • +
          • +1/4 +teaspoon +cinnamon +
          • +
          • +2-4 +tablespoons +Almond Breeze Unsweetened Vanilla Almondmilk +
          • +
          • +2 +tablespoons +dark chocolate chips +— dairy free if needed +
          • +
          +
          +
          +
          +

          Instructions

          +
          +
            +
          1. +
            In a large bowl, stir together the almond butter, protein powder, 1/3 cup coconut flour, honey, vanilla extract, cinnamon, and 2 tablespoons almondmilk. Stir until the mixture forms a dough that is soft enough to roll into balls, but not overly sticky. Add additional coconut flour or almondmilk as needed to make the mixture more or less dry. Stir in the chocolate chips.
            +
          2. +
          3. +
            Roll into 12 balls. Enjoy immediately or store in the refrigerator for later.
            +
          4. +
          +
          +
          +
          +
          +Course: + +Snack +
          +
          +Cuisine: + +American +
          +
          +Keyword: + +Easy Snack Recipe, No Bake Cookie Dough Protein Balls +
          +
          + +
          +

          Nutrition Information

          Amount per serving (1 ball) — Calories: 124, Fat: 7g, Saturated Fat: 2g, Sodium: 10mg, Carbohydrates: 8g, Fiber: 4g, Sugar: 2g, Protein: 7g
          +
          +
          +

          +Did you try this recipe? I want to see! Follow Well Plated on Instagram, snap a photo, and tag it #wellplated. I love to know what you are making!

          +
          +

          I am sharing this post in partnership with Almond Breeze. As always, all opinions are my own. Thanks for supporting the brands and companies that make it possible for me to continue creating quality content for you!
          +

          +
          +

          This post contains some affiliate links, which means that I make a small commission off items you purchase at no additional cost to you.

          + +
          +
          +

          +

          About Erin Clarke

          +

          I’m fearlessly dedicated to making healthy food taste incredible. Wearer of plaid, travel enthusiast, and firmly convinced that sweets and veggies both deserve a place at the table. MORE ABOUT ERIN…

          +
          +
          +
          + + +
          +

          +76 comments

          +
            +
          1. +
            + +

            Ohh these look delicious Erin! A perfect snack if you ask me, who doesn’t like chocolate chips and nut butter… I’ve gotta get myself some protein powder!

            +
            +
            + +
          2. +
          3. +
            + +

            Yum! These look great!

            +
            +
            +
          4. +
          5. +
            + +

            These sound really great.  I’m always looking for good, higher protein snacks, and am thoroughly sick of energy/nutrition bars.  It’ll be a while before I’ll be able to make these, because we’re not at home and my kitchen where we are is very limited (I also have coconut flour at home and don’t have other uses for it, so I’d rather use what I have instead of buying more).

            +
            +
            +
          6. +
          7. +
            + +

            Really like protein balls (no pun intended), but never had them like this before. Very intrigued, great post! (:

            +
            +
            +
          8. +
          9. +
            + +

            Hello erin,
            +Can i add simple salted butter instead of almond butter?

            +
            +
            +
              +
            • +
              + +

              Hi Nayan! Almond butter is ground nuts, while regular salted butter is completely different and a byproduct of dairy that behaves very differently in cooking. The two are not very similar, so I’m afraid salted butter wouldn’t work in this recipe. If you like, you could use a different nut butter, such as cashew butter or peanut butter. I hope that helps!

              +
              +
              +
            • +
            +
          10. +
          11. +
            + +

            Delicious recipe! Changed it up a bit based on ingredients I had on hand (Quest PB protein, xylitol sweetened syrup, a mix of walnut & almond butters and butter extract instead of vanilla). Even with all the changes they taste great…thanks!

            +
            +
            + +
          12. +
          13. +
            + +

            Hi Erin.  I am deathly allergic to nuts. Is there something else that I can use besides the almond milk?

            +
            +
            +
              +
            • +
              + +

              Hi Sara! Regular dairy milk will work just fine in this. If coconut milk is ok, that will work too. Unfortunately, the coconut flour in this recipe cannot be substituted, so that’s definitely something you want to be aware of if you allergies include coconuts.

              +
              +
              +
                +
              • +
                + +

                I see that you say the coconut flour can not be substituted… is that because of taste? I’m curious because I have oat flour at home that I used for another protein ball recipe and am trying to use the remainder of it.

                +
                +
                +
                  +
                • +
                  + +

                  Hi Krystal, I’m afraid coconut flour cannot be swapped, not just for taste, but also for texture. Coconut flour is VERY unique. It absorbs moisture differently than other flours, so I wouldn’t recommend that swap. If you’re looking to use up your oat flour, you could try either of these recipes or use it in place of oatmeal in these blender muffins!

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +
          14. +
          15. +
            + +

            Cookie dough as a health food… totally!! :)

            +
            +
            +
          16. +
          17. +
            + +

            i too posted an awesome protein ball recipe yesterday..LOVE having these in the fridge!

            +
            +
            +
          18. +
          19. +
            + +

            Made this yesterday and it was absolutely delicious. I will definitely be making these again very soon.

            +
            +
            + +
          20. +
          21. +
            + +

            Mine didn’t turn out good at all even though I followed the recipe exactly. They really didn’t taste anything like cookie dough. I guess this is to be expected based on the ingredients. I had to throw them away :(

            +
            +
            +
              +
            • +
              + +

              Hannah, I’m sorry to hear you didn’t enjoy these! They are a healthy recipe, so they won’t taste exactly like cookie dough, but as you can see from other reviews, many other readers have enjoyed them too. Do you like the brand of protein powder you chose? That can have a big impact on taste too.

              +
              +
              +
            • +
            +
          22. +
          23. +
            + +

            Wow these look delicious! So happy to see a recipe that doesn’t require a blender! Can I sub the whey protein for more coconut flour? I know that menas they won’t be high on protein, but just wondering if it is possible! Have a lovely day!

            +
            +
            +
              +
            • +
              + +

              Hi Victoria! I actually wouldn’t recommend this swap. The two have very different properties, and because coconut flour is quite dry, I’m worried that the balls would not form. The vanilla protein also does a lot to flavor the balls. I know that’s not the answer you were hoping for, but I really want this recipe to turn out properly for you!

              +
              +
              + +
            • +
            +
          24. +
          25. +
            + +

            Does coconut flour have a coconut taste? This recipe looks awesome but I hate coconut:(

            +
            +
            + +
          26. +
          27. +
            + +

            Looks great, I can’t wait to try these! Would I be able to use ground flaxseed meal instead of coconut flour? I don’t have coconut flour in my pantry.

            +
            +
            +
              +
            • +
              + +

              David, I’m afraid flaxseed meal and coconut flour are actually quite different than one another, so I wouldn’t recommend the swap. You could add a little bit of extra ground flaxseed if you wanted, but the coconut flour is pretty important to the texture.

              +
              +
              +
            • +
            +
          28. +
          29. +
            +
            +Fauna Cherise — + +Reply
            +

            Hi Erin,

            +

            Thank you for sharing this recipe. I was wondering if the vanilla protein powder can be raw. My portion powder is and I wasn’t sure if it would change the way they turned out.
            +Thank you,
            +Fauna

            +
            +
            +
              +
            • +
              + +

              Hi Fauna, I don’t have experience with raw powder and have only tested the recipe with whey. If you’ve swapped your raw powder in other recipes that call for whey, you should get good results here too!

              +
              +
              +
            • +
            +
          30. +
          31. +
            + +

            I made these and they turned out extremely sticky. I couldn’t even roll them. I added almond milk and flour and it just got worse. Do you know what I did wrong? They are sticky blobs. ??

            +
            +
            +
              +
            • +
              + +

              Hi Lindsey! I’m so sorry the recipe didn’t turn out—how frustrating! What brand of coconut flour did you use? Some can absorb more moisture than others (it sounds like yours absorbed less) Overall, it sounds like too much milk or honey was added. Next time, I’d suggest adding less liquid and seeing how it comes out.

              +
              +
              +
            • +
            +
          32. +
          33. +
            + +

            Great recipe. Here is the best chocolate brownie ball I’ve ever had. Easy to make: http://skinnygirlsguide.com/raw-chocolate-brownie-protein-balls-recipe/

            +
            + +
            +
            +
            + +
          34. +
          35. +
            + +

            I made these tonight, with a few adjustments for allergies. I used peanut butter and regular Fairlife Milk. I also swapped the coconut flour for just gluten free flour mix.
            +They were amazing. I’m post-bariatric surgery and needed a high protein snack with a small stature so they would fit in my stomach!
            +Soooooo, so good!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              I forgot to mention that I used a high level protein, unflavored powder. I should have upped the vanilla a smidge, but they are still very tasty.
              +My nutrition specs are:
              +cals: 105kcal | fat: 5.77g | carbs: 9.54g | prot: 7.72g

              +

              Which is pretty good :)

              +
              +
              +
            • +
            • +
              + +

              I’m so glad you enjoyed the recipe, Desiree! Thank you so much for taking the time to leave this wonderful feedback!

              +
              +
              +
            • +
            +
          36. +
          37. +
            + +

            Hi Erin,

            +

            I read through the comments, but didn’t see this question. Is there any chance I could substitute the coconut flour with almond?

            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + +Reply
              +

              Hi Melody, I wouldn’t recommend that swap. Coconut flour is very unique and absorbs moisture differently than other flours, so it’s pretty important in this particular recipe.

              +
              +
              +
            • +
            +
          38. +
          39. +
            + +

            Can I sub the honey with more peanut butter? Thanks!

            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + +Reply
              +

              Hi Alicia, for my taste preference, I like the honey because I think some sweetness is necessary to make the balls taste their best, but if you don’t mind them less sweet and want to experiment, you are welcome to play around. If you doesn’t want to use honey, agave or maple syrup would work too.

              +
              +
              +
                +
              • +
                + +

                Thanks Erin! I was just thinking about how to reduce some of the carbs in this energy ball because of the honey. Maybe I’ll try replace it with erythritol.

                +
                +
                +
              • +
              +
            • +
            +
          40. +
          41. +
            + +

            Terrific recipe exactly as above. Second time I made, substituted cocoa nibs (more healthy and no sugar), unflavored, unsweetened, unflavored protein powder (same reason). Also added a couple of tablespoons of chopped dates and a couple of tablespoons of rolled oats. Equally good. Thanks for the recipe.

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Dave, I’m so glad to hear you enjoyed these! Cocoa nibs sound like a delicious addition. Thank you for trying the recipe out and reporting back!

              +
              +
              +
            • +
            +
          42. +
          43. +
            + +

            Can you swap the peanut butter for powdered peanut butter to lower calories a little bit? Wondering if the texture will be way off.

            +
            +
            +
              +
            • +
              + +

              Hi Kayla, I haven’t tried that swap, but I don’t think I’d recommend it because the stickiness of the nut butter is needed to hold the protein balls together.

              +
              +
              +
            • +
            +
          44. +
          45. +
            + +

            I work as a hairstylist who doesn’t always have time for lunch. I was tired of buying protein balls from the local health food store, and have some new diet restrictions; these save my sweet tooth and keep me going at work! Thank you!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              I am so happy to hear that Shandra! Thanks so much for trying the recipe and taking time to report back. It means so much to me and is helpful for others considering making the recipe too!

              +
              +
              +
            • +
            +
          46. +
          47. +
            + +

            I used sunflower butter and they are yummy.  Can i freeze them?

            +
            + +
            +
            +
            +
              +
            • +
              + +

              That sounds delicious Delynne! Thanks for letting me know and leaving this lovely review. These are VERY freezer friendly. Just put them in an airtight container or plastic bag. Then, you can thaw them in the fridge (or at room temperature if you are in a hurry). Just be sure to store them in the fridge once they are thawed.

              +
              +
              +
            • +
            +
          48. +
          49. +
            + +

            Is there any way to omit the protein powder? Maybe decrease the liquid? I’m making these for small children and doctor warned against added proteins because they can cause small children to eat fewer calories than they need.

            +
            +
            +
              +
            • +
              + +

              Hi Rickie, you can experiment with using more coconut flour, but the protein powder does both flavor and sweeten the recipe, so you may want to taste and add another sweetener like honey if you’re not liking the flavor. You could also add vanilla extract. I’ve never tried it this way, so you’d definitely be experimenting! Good luck! I hope you enjoy them.

              +
              +
              +
            • +
            +
          50. +
          51. +
            + +

            I made these today. They were so good! I used chocolate cashew milk, but followed the recipe pretty well except guessing on measurements LOL, and microwaving my peanut butter a little bit so it was easier to mix
            +Fyi i read other posts- these were not even remotely mushy. Don’t know how that could happen

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Jill, I’m so happy to hear you enjoyed these! Thanks so much for giving them a try and reporting back. :)

              +
              +
              +
            • +
            +
          52. +
          53. +
            + +

            Can I use Chocolate protein powder instead? We bought some that doesn’t mix well in a blender ball shaker but we like the taste so we are hoping to find a recipe to use the rest of it.

            +
            +
            +
              +
            • +
              + +

              Jen, I’ve never tried this recipe with chocolate, so I’m afraid I can’t vouch for it. It you want to experiment, you can definitely play around, and I’d love to hear how it turns out!

              +
              +
              +
            • +
            +
          54. +
          55. +
            + +

            Just made these and they are DELICIOUS!! I’ve made protein balls before, but these take the cake–er, cookie! Thanks so much for this recipe–changed my week!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Leighann, I’m so glad you enjoyed them! Thanks so much for this great review!

              +
              +
              +
                +
              • +
                + +

                Hi Erin, of course!
                +Seriously, thanks so much for the recipe–I keep raving about it to my friends. I am a lifestyle blogger and shared the recipe to my blog. If this is not acceptable, could you please let me know, and I will remove it immediately–I do not wish to infringe on your creations. I’m still new to/learning about blogging so if I’ve made a mistake, I’d like not to be ignorant about it!
                +Best, 
                +Leighann (http://www.ohleighann.com/quick-easy-healthy-cookie-dough-protein-bites/)

                +
                +
                +
                  +
                • +
                  + +

                  ***Update: I just read your FAQ’s–should have done that from the beginning. Please still take a look and let me know if this is acceptable. I’d be happy to take it down, if not! 

                  +
                  +
                  +
                • +
                • +
                  + +

                  Thanks for sharing the link, Leighann! Your post looks great—and delicious! I’m so glad you enjoyed the recipe.

                  +
                  +
                  +
                • +
                +
              • +
              +
            • +
            +
          56. +
          57. +
            + +

            I brought these up to an up north cabin weekend with friends. HUGE hit! These were perfect for pre and post drinking :) Also a great snack for the morning with coffee. Two girlfriends texted me after the weekend to say they made them! I also added chia and sesame seeds to mine!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              YAY Emily, I’m so happy to hear these were a hit. Thanks for giving them a try and taking the time to report back!

              +
              +
              +
            • +
            +
          58. +
          59. +
            + +

            Hello!

            +

            Could I sub almond flour instead of the coconut flour? Thanks!

            +
            +
            +
              +
            • +
              + +

              Hi Gloria, I wouldn’t recommend that swap. Coconut flour is very unique and absorbs moisture differently than other flours, so it’s pretty important in this particular recipe.

              +
              +
              +
            • +
            +
          60. +
          61. +
            + +

            Very nice. I used chocolate protein powder and added a tsp of instant coffee powder and it worked great. Mild chocolate flavor. Not too sweet. Will definitely make again. So easy!

            +
            + +
            +
            +
            + +
          62. +
          63. +
            + + +

            These are delicious! They are smooth and creamy and taste SO decadent, even though they are full of goodness for your body. What I love the most is they are NOT made with oats like most energy balls, which I don’t like the texture of with the cardboardy crunch- these really taste like cookie dough- going to make more today and put them in the freezer!

            +
            + +
            +
            +
            + +
          64. +
          65. +
            + +

            Thank you. I was wondering if you vanilla protein powder is sweet already. All the vegan protein powder that I have tried are bloody sweet and made me avoid adding them to many recipes.

            +
            +
            +
              +
            • +
              + +

              Hi Moataz, it’s not overly sweet (I use Optimum Nutrition Vanilla). On its own the powder might be, but once added to the protein balls, it tastes just fine, at least to me and others who have tried it! If you’re interested in another option, these energy bites don’t have protein powder in them: https://www.wellplated.com/energy-balls/

              +
              +
              +
            • +
            +
          66. +
          67. +
            +
            +Caitlin Francz — + +Reply
            +

            Thank you so much for this recipe! Can’t wait to try it. Is there something i can substitute for Honey? I wasn’t sure if the stickiness of the honey contributes to the consistency?

            +

            Thank you!

            +
            +
            +
              +
            • +
              + +

              Hi Caitlin, if you doesn’t want to use honey, agave or maple syrup would work too. For my taste preference, I like the honey because I think some sweetness is necessary to make the balls taste their best, but if you don’t mind them less sweet and want to experiment, you could also try using more peanut butter.

              +
              +
              +
            • +
            +
          68. +
          69. +
            + +

            I usually never leave reviews on recipes but this was too yummy to not review. Cookie dough with healthy fats and protein… count me in! I made them for my husband and we both were floored at how great they tasted. Definitely going to be a staple snack or treat in our fridge going forward. Thanks for the recipe!

            +
            + +
            +
            +
            + +
          70. +
          71. +
            + +

            How much protein does each ball have? Mine turned out great!

            +
            + +
            +
            +
            + +
          72. +
          +
          +

          Leave a Reply

          +

          Your email address will not be published. Required fields are marked *

          + + + + +

          +

          + +

          +

          + +

          +
          +
          +
          +
          + +
          +
          +
          +
          + + +
          +
          +
          + + + + + + + + + + + + +
          +
          +
          +
          + diff --git a/packages/parser/test/www.wellplated.com/paleo-banana-bread.html b/packages/parser/test/www.wellplated.com/paleo-banana-bread.html new file mode 100644 index 00000000..0bcbd468 --- /dev/null +++ b/packages/parser/test/www.wellplated.com/paleo-banana-bread.html @@ -0,0 +1,2085 @@ + + + + + + + + + + + + + + + + + + + + +Paleo Banana Bread + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          +
          + +
          +
          +

          Paleo Banana Bread

          + + +

          HAPPY NEW YEAR! This is one of my favorite days of the year. I have every intention to spend it lounging in my pajamas, eating giant slices of Paleo Banana Bread, and reading my way through the stack of cooking magazines that has amassed itself on my coffee table over the past three months.

          +

          PERFECT Paleo Banana Bread with coconut flour, almond butter, and maple syrup or honey. This moist, tender banana bread tastes like the real-deal but is flourless and made with NO butter, NO oil and NO sugar! The best healthy banana bread recipe you will ever bake! #paleo #bananabread #easy #healthy

          +

          A one-bowl, easy banana bread recipe with coconut flour, almond butter, and maple syrup, this moist, tender loaf is ideal if you are looking to begin the year on a healthy note but are not prepared to live a life devoid of yummy baked treats, tasty breakfasts, and satisfying snacks. (Ahem, moi!)

          +

          Yes, this banana bread is Paleo (meaning it is grain free, gluten free, dairy free, and does not contained refined sugars), BUT you certainly do not need to be following a Paleo diet to enjoy it.

          +

          I don’t stick to a Paleo diet myself (or Whole30 or anything else), but I still appreciate recipes that are made of real ingredients, are healthy, and manage to still taste fantastic. This Paleo Banana Bread is all of the above.

          +

          Paleo Banana Bread. Healthy, moist, and tender, this perfect banana bread sweetened with honey or maple syrup has no flour, no oil, and no butter. Can also be made in a muffin tin for Paleo banana bread muffins!

          +

          Using Coconut Flour in Paleo Banana Bread

          +

          If you aren’t familiar with coconut flour, this Paleo Banana Bread is an excellent reason to get acquainted. It’s super high in fiber and protein, and ideal for low-carb, grain-free, and gluten-free baking.

          +

          Coconut flour is very unique and thus cannot be substituted with any other flour. Wondering what to do with the rest of your bag? Try my top-rated Chocolate Chip Paleo Zucchini Bread and these tasty Cookie Dough No Bake Protein Balls. Want more Paleo bread recipes? Check out this Paleo Pumpkin Bread (a reader fave!).

          +

          You’ll notice this batter has a large amount of eggs and bananas. This is not a mistake. Coconut flour absorbs a large amount of moisture, so you need the full amount of liquid to ensure the Paleo Banana Bread comes out perfectly moist.

          +

          Best Paleo Banana Bread! Naturally sweetened with maple syrup or honey, this bread is moist, tender, and made with coconut flour. Add dairy-free chocolate chips to make Paleo chocolate chip banana bread!

          +

          Do you make New Year’s resolutions? As an eternal optimist who relishes lists, fresh starts, and motivation in general, the concept of a new year as a catalyst for positive change has long appealed to me.

          +

          I don’t have my final list of resolutions ironed out just yet, but I know one of them will be to continue to start every morning with a healthy breakfast. It’s one of the healthiest habits I have, and thanks to easy, delicious recipes like this Paleo Banana Bread, breakfast is also something I look forward to every morning.

          +

          Perfect Paleo Banana Bread. Made with coconut flour and almond butter and sweetened naturally with maple syrup or honey. A delicious flourless Paleo breakfast or snack that stays moist and tender.

          +

          FAQ: How Long Does Paleo Banana Bread Last?

          +
            +
          • Mine stayed moist for a full week and even tasted better the second day. I recommend storing it in the refrigerator.
          • +
          • Paleo Banana Bread (and all quick bread and muffin recipes for that matter) is also very freezer friendly. Wrap as much of the leftover loaf as you like tightly in plastic, and then place in a ziptop bag. Freeze for up to 3 months. For best results, let thaw overnight in the refrigerator.
          • +
          • I also like to individually wrap and freeze single slices. That way, I can grab one whenever I need a little afternoon pick-me-up, breakfast, or snack.
          • +
          +

          FAQ: Can I Bake Paleo Banana Muffins with This Recipe Instead?

          +
            +
          • I haven’t tried, but I see no reason why this wouldn’t work! Be sure to use paper liners and coat them generously with nonstick spray to prevent sticking.
          • +
          • For baking: Keep the temperature at 350 degrees F. Since I haven’t tested Paleo banana muffins, I can’t give you an exact bake time. I’d start checking at the 15-minute mark to be extra super safe. Remove the muffins as soon as the tops are golden and spring back lightly when touched and a toothpick inserted in the center of a muffin comes out clean.
          • +
          +

          FAQ: Can I Turn This into Paleo Chocolate Chip Banana Bread?

          +
            +
          • Short answer: ABSOLUTELY.
          • +
          • More detailed answer: To keep the bread Paleo, make sure your chocolate chips are dairy free. I hear great things about this brand. I’d start with 1/2 cup and, if you’d like it more chocolatey, keep adding until the batter looks as chocolate chip studded as you please.
          • +
          +

          FAQ: Can I Make This Paleo Banana Bread No Eggs Style?

          +
            +
          • Unfortunately, I cannot recommend making this without eggs, nor do I have a good suggestion for an egg substitute. Because the bread uses coconut flour and calls for a large amount of eggs, any swaps would be highly experimental. The bread depends on the eggs both for moisture and to help it rise.
          • +
          +

          FAQ: What Do I Need to Make Paleo Banana Bread?

          +
            +
          • THIS is my absolute favorite brand of bakeware. I have both the 8×4 (1-pound) loaf pan and the 9×5 (1 1/4-pound) loaf pan (you’ll need the 9×5 for this recipe). Related: the 8×8-inch pan is my favorite pan for all brownies and bars, and the cookie sheets make the most delightfully chewy, perfect cookies every time.
          • +
          • I like metal measuring cups because they wash well and don’t bend when I’m scooping a particularly hefty cup of flour.
          • +
          • I love these two-sided magnetic measuring spoons because they stay organized in my drawer. Also, two sides means fewer dishes when I’m in the middle of a recipe and need to use the same amount twice for different ingredients.
          • +
          • One bowl, a whisk, and maybe a spatula. Whatever you have will work in this arena. This is a super easy Paleo Banana Bread recipe!
          • +
          +
          +
          + + + + + +
          +
          +
          +
          +
          +
          PERFECT Paleo Banana Bread with coconut flour, almond butter, and maple syrup or honey. This moist, tender banana bread tastes like the real-deal but is flourless and made with NO butter, NO oil and NO sugar! The best healthy banana bread recipe you will ever bake! #paleo #bananabread #easy #healthy
          +
          +Print +
          +
          4.87 from 38 votes
          +Leave a Review » +
          +

          Paleo Banana Bread

          +
          +
          +Yield: 1 (9x5-inch) loaf, about 10 slices +
          +
          +
          Prep Time:
          +
          15 mins
          +
          +
          +
          Cook Time:
          +
          55 mins
          +
          +
          +
          Total Time:
          +
          1 hr 40 mins
          +
          +
          +
          +
          PERFECT Paleo Banana Bread with coconut flour, almond butter, and maple syrup or honey. This moist, tender banana bread tastes like the real deal but is flourless and made with NO butter, NO oil, and NO sugar! The best healthy banana bread recipe you will ever bake!
          +
          +
          +

          Ingredients

          +
          +
            +
          • +3 +very large ripe bananas +— mashed (about 1 1/2 cups or 1 pound once mashed) +
          • +
          • +6 +large eggs +— at room temperature* +
          • +
          • +3 +tablespoons +pure maple syrup +— or honey, I like to use Grade B maple syrup, which has a more intense flavor +
          • +
          • +3 +tablespoons +almond butter +— I used the drippy, natural almond butter** +
          • +
          • +1 +teaspoon +pure vanilla extract +
          • +
          • +3/4 +cup  +coconut flour*** +
          • +
          • +1 1/2 +teaspoons +ground cinnamon +
          • +
          • +3/4 +teaspoon +baking soda +
          • +
          • +1/4 +teaspoon +ground nutmeg +
          • +
          • +1/8 +teaspoon +kosher salt +
          • +
          +
          +
          +
          +

          Instructions

          +
          +
            +
          1. +
            Place a rack in the center of your oven and preheat the oven 350 degrees F. Line a 9x5-inch metal loaf pan with parchment paper, allowing some to hang over two sides. Lightly coat with nonstick spray and set aside.
            +
          2. +
          3. +
            In a large bowl, mash the bananas (I like to use a hand mixer on low speed to make this quick and easy). Double check to make sure you have about 1 1/2 cups of banana total. Briskly whisk in the eggs, maple syrup, almond butter, and vanilla. Sprinkle the coconut flour, cinnamon, baking soda, nutmeg, and salt over the top. By hand (I find a whisk works best for this part), stir until evenly combined. The batter will be thick. Pour the batter into the prepared pan and gently smooth the top.
            +
          4. +
          5. +
            Bake for 50 to 60 minutes, until the top is golden and springs back lightly when touched and a toothpick inserted in the center comes out clean. If it any point the bread starts to brown more than you would like, loosely tent the pan with foil and continue baking. Remove from the oven and let cool on a wire rack for 30 minutes. Then, using the parchment overhang as handles, remove the bread from the pan to cool completely.
            +
          6. +
          +
          +
          +
          +

          Recipe Notes

          +
            +
          • To Store: I recommend storing it in the refrigerator for up to 1 week. To freeze, wrap as much of the leftover loaf as you like tightly in plastic, and then place in a ziptop bag (you can also wrap individual slicesS). Freeze for up to 3 months. For best results, let thaw overnight in the refrigerator. 
          • +
          • *I cannot recommend any substitution for the eggs. Because it is such a large amount, other swaps such as flax eggs or applesauce would be an experiment. If you do decide to play around, I'd love to hear how the recipe comes out.
          • +
          • **If you do not need the bread to be Paleo, you can use peanut butter in place of the almond butter. Other nut butter substitutes are fine also. If you use sunflower seed butter, be warned that your bread may come out slightly green (though it will still be delicious!)
          • +
          • ***Coconut flour is very unique and acts very differently from other flours in recipes, and thus I cannot recommend any substitutions.
          • +
          +
          +
          +
          +Course: + +Dessert, Snack +
          +
          +Cuisine: + +American +
          +
          +Keyword: + +Easy Homemade Bread, Healthy Banana Bread Recipe, Paleo Banana Bread +
          +
          + +
          +

          Nutrition Information

          Amount per serving (1 slice (of 10)) — Calories: 173, Fat: 7g, Saturated Fat: 3g, Cholesterol: 112mg, Sodium: 173mg, Carbohydrates: 22g, Fiber: 6g, Sugar: 10g, Protein: 7g
          +
          +
          +

          +Did you try this recipe? I want to see! Follow Well Plated on Instagram, snap a photo, and tag it #wellplated. I love to know what you are making!

          +
          +

          PERFECT Paleo Banana Bread with coconut flour, almond butter, and maple syrup or honey. This moist, tender banana bread tastes like the real-deal but is flourless and made with NO butter, NO oil and NO sugar! The best healthy banana bread recipe you will ever bake! #paleo #bananabread #easy #healthy

          +
          +

          This post contains some affiliate links, which means that I make a small commission off items you purchase at no additional cost to you.

          + +
          +
          +

          +

          About Erin Clarke

          +

          I’m fearlessly dedicated to making healthy food taste incredible. Wearer of plaid, travel enthusiast, and firmly convinced that sweets and veggies both deserve a place at the table. MORE ABOUT ERIN…

          +
          +
          +
          + + +
          +

          +113 comments

          +
            +
          1. +
            + +

            YUM—I’ll never get tired of banana bread!!

            +
            +
            + +
          2. +
          3. +
            + +

            Mmm…I love the almond butter in there. Give me a big slice, please!

            +
            +
            + +
          4. +
          5. +
            + +

            I am so happy to find this recipe. I have been an avid baker for as long as I can remember and was diagnosed with Microscopic Colitis earlier this year. I now have to live gluten, dairy, soy and egg free. I think I may be able to eat quail eggs so I am going to give it a go with those little buggers. I think five quail eggs equals one chicken egg. Thank-you so much for posting this!

            +
            +
            + +
          6. +
          7. +
            + +

            This recipe is PERFECT for me!!!

            +
            +
            +
          8. +
          9. +
            + +

            I made it and ignored was amazing!!!! Added chocolate chips for hubs.

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Lisa, I am SO happy you loved this recipe! Thank you so much for trying it and for taking time to leave this wonderful rating and review!

              +
              +
              +
            • +
            +
          10. +
          11. +
            + +

            Made this the other night and it came out great, will def be making it again!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Thanks for giving the recipe a try and sharing how it went, Bri! I’m happy to hear you enjoyed it!

              +
              +
              +
            • +
            +
          12. +
          13. +
            +
            +Mckenzie youakim — + +Reply
            +

            Love this recipe!  Can u share anything similar?

            +
            +
            + +
          14. +
          15. +
            + +

            This bread was very yummy, and even more moist and flavorful the next day! Makes me more confident to try more coconut flour recipes. ?

            +
            + +
            +
            +
            +
              +
            • +
              + +

              HOORAY Erin! I’m happy to hear this recipe turned out delicious and was a coconut flour confidence boost. Thanks so much for taking the time to leave this review!

              +
              +
              +
            • +
            +
          16. +
          17. +
            + +

            I used vegan eggs replacers…they worked great!

            +
            + +
            +
            +
            + +
          18. +
          19. +
            + +

            I AM OBSESSED WITH THIS RECIPE!!!! sososo yummy and i did it exactly like this. I top it with some PB2 and it’s just the best treat ever:) 

            +
            + +
            +
            +
            + +
          20. +
          21. +
            + +

            Hi! I want to try this recipe. what can i replace almond butter with? thanks!

            +
            +
            + +
          22. +
          23. +
            + +

            SO DELICIOUS! I almost feel guilty eating it. I definitely will be making this again!

            +
            + +
            +
            +
            +
              +
            • +
              + +

              I’m so glad you enjoy the bread, Zehra! Thanks so much for giving it a try and reporting back!

              +
              +
              +
            • +
            +
          24. +
          25. +
            + +

            Can you omit the nut butter? Not sure how it’ll affect the taste or texture

            +
            +
            +
              +
            • +
              + +

              Hi Annie, I actually wouldn’t recommend that—there’s so little fat in the recipe to begin with that the nut butter adds an important component. If you’re allergic to nuts, you can sub sunflower seed butter!

              +
              +
              +
            • +
            +
          26. +
          27. +
            + +

            I was very happy with the outcome. It looked beautiful and tasted great. I’ll make this recipe again. Thanks.

            +
            + +
            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + + Reply
              +

              I’m glad to hear it was a hit, Gloria! Thank you so much for taking the time to give it a try and report back!

              +
              +
              +
            • +
            +
          28. +
          29. +
            +
            +Bailey Blake — + +Reply
            +

            Delicious and great consistency!

            +
            + +
            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + +Reply
              +

              I’m so glad you enjoyed it, Bailey! Thank you so much for giving it a try and taking the time to report back!

              +
              +
              +
            • +
            +
          30. +
          31. +
            + +

            Hi Erin, I made this with 3 large bananas and it was great! But the second time I made it, I weighed them according to your 1 lb measurement which resulted in using 4 large bananas. I’m pretty sure you meant 12 oz, not 1 lb (16 oz). Had to bake for a long time just to get the center cooked. 3 bananas/12oz was perfect though!

            +
            + +
            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + +Reply
              +

              Hi Jennifer! Thanks so much for the feedback about the bananas – I am thrilled that you loved the recipe! One of my all-time faves :)

              +
              +
              +
            • +
            +
          32. +
          33. +
            + +

            I baked standard-size muffins for 24 minutes, mini-muffins for 15 minutes, at 350°. Yield 12 standard-size and 6 mini muffins. Both adults and kids liked them :)
            +Now I want to try the coconut flour pancakes!

            +
            + +
            +
            +
            + +
          34. +
          35. +
            + +

            Hi Erin! I made this recipe as a muffin batch today and they came out fantastic! Got 15 muffins out of it and baked them for 20 minutes. Simply delicious. I didn’t have any almond butter so I used cashew butter.

            +

            Definitely going into regular rotation! Thank you for sharing your recipe!

            +
            + +
            +
            +
            +
              +
            • +
              +
              +Erin Clarke — + +Reply
              +

              Hi Kyla! I am thrilled that you enjoyed this recipe and that it will make it into your regular rotation! Your substitution of cashew butter sounds delicious – enjoy!

              +
              +
              +
            • +
            +
          36. +
          37. +
            + +

            These look amazing! I can’t have Maple syrup or honey/agave. can I add stevia for some sweetness or possibly just omit it all together?

            +
            +
            +
              +
            • +
              + +

              Hi Jen! I’ve never used liquid Stevia myself, but from what I’ve read online, you’d want to use 1/2 to 1 teaspoon of liquid Stevia (as long as you are OK w/ Stevia’s flavor since it is very different than the others the recipe was tested with) for sweetness, BUT if you use less than 3 tablespoons, the bread may be dry since honey/maple syrup are liquid. I’d suggest compensating for the extra liquid with some kind of milk (regular, almond, soy, etc). I have never tested the recipe this way, so do know it is an experiment, but if you decide to play around w/ stevia, I’d love to hear how it comes out!

              +
              +
              +
                +
              • +
                + +

                Thank you so much for replying- I will try a combo of the liquid stevia and almond milk! I’ll pick some up after work and experiment with it and report back! :) Thanks again, can’t wait to try this!

                +
                +
                + +
              • +
              +
            • +
            +
          38. +
          39. +
            +
            +Ryan Devine — + +Reply
            +

            It was so good. I try a lot of recipes online and it never turns out good and I finally had luck! I also put sliced bananas, cinnamon, and drizzled honey on top.

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Ryan, I am so pleased to hear that this was a hit! Thanks for trying it and for taking time to leave this lovely review. If you try more of my recipes, I hope you enjoy them just as much!

              +
              +
              +
            • +
            +
          40. +
          41. +
            + +

            Legit the best gluten-free banana bread I have ever made. I made 3 mini loaves instead of a large one and it took only 45 minutes to reach perfection.

            +
            + +
            +
            +
            + +
          42. +
          43. +
            +
            +Luiza Canuto — + +Reply
            +

            It’s in the oven! I can’t wait to eat it! Thank you so much for this recipe, the coconut flour smells wonderful, does the quantity change when swapping it from a recipe with flour? Or do the proportions remain the same?
            +Thanks!

            +
            +
            + +
          44. +
          45. +
            +
            +Frances Coates — + +Reply
            +

            Thank you so much for this lovely recipe. The bread turned out wonderfully light and moist. It was so yummy and easy to make. I will use your recipe every time I want to make a healthy banana bread!!

            +
            + +
            +
            +
            + +
          46. +
          47. +
            + +

            For the extra sugar-sensitive: I subbed the honey for unsweetened applesauce plus a 1/2 teaspoon of stevia. It was still delish, and sweet enough to make my kids happy!

            +
            + +
            +
            +
            + +
          48. +
          49. +
            +
            +Lucy Luedecke — + +Reply
            +

            Could I use butter instead of almond butter?

            +
            +
            +
              +
            • +
              + +

              HI Lucy! I am afraid not as the two act differently in recipes. You could use peanut butter or another nut butter if you like.

              +
              +
              +
            • +
            +
          50. +
          51. +
            + +

            Mine is in the oven now. I can’t wait to treat my boys to a yummy slice with breakfast!

            +
            +
            + +
          52. +
          53. +
            + +

            I put walnuts in mine – delicious!

            +
            + +
            +
            +
            + +
          54. +
          55. +
            +
            +Aspen Santoro — + +Reply
            +

            delicious! I turned mine into muffins. Cooked in under 25 mins and were amazing with some butter while warm

            +
            + +
            +
            +
            + +
          56. +
          57. +
            +
            +Nicole Foster — + +Reply
            +

            Wow! This was so good! I was reluctant to try it as my last attempt (with a different recipe) at making banana bread with coconut flour was terrible, but I’m so glad I made this! I am on a low carb diet so I subbed Swerve for the maple syrup and added a little bit of hemp milk to replace the moisture. Thank you for such a delicious recipe!

            +
            + +
            +
            +
            + +
          58. +
          59. +
            + +

            This was a simple and good recipe. I made it today.

            +
            + +
            +
            +
            + +
          60. +
          61. +
            + +

            Perfect!! Thank you! This isn’t now my new go-to banana bread recipe and I’ve tried lots. I’ve made it 3 times already and those I share it with love it, too! 

            +
            + +
            +
            +
            + +
          62. +
          63. +
            + +

            Yay! Made it two weeks ago and making it today. I changed it to by adding extra bananas. It’s an amazing recipe. Thank you!

            +
            + +
            +
            +
            + +
          64. +
          65. +
            + +

            This recipe is AMAZING! It was so easy to follow and I was SO proud of myself when it was done because it was so delicious and healthy. My husband is obsessed to. Thank you for this amazing recipe!! 

            +
            + +
            +
            +
            +
              +
            • +
              + +

              WOOHOO Michaela! I’m so happy to hear you enjoyed the bread. Thanks so much for taking the time to leave this wonderful comment!

              +
              +
              +
            • +
            +
          66. +
          67. +
            + +

            How prominent is the nut butter flavor once cooked? Strong? Barely noticeable?

            +
            +
            + +
          68. +
          69. +
            + +

            I’m so excited to make this! I’ve been trying to eat healthier and I love banana bread so this will be a great alternative. 
            +Just a question regarding why the nut butter is used? Does it add something to the banana bread and that’s the reason it’s recommended? 

            +
            +
            + +
          70. +
          71. +
            + +

            I made this and its my first paleo bread ever. It was fantastic!! I coulsnt believe it. I read other comments and was wondering how replacing the honey or syprup woukd change the nutrition facts.

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Hi Mary, you can use MyFitnessPal or another online calculator to calculate nutrition facts if you want to make changes. I hope that’s a helpful resource for you! I’m so glad you enjoyed the recipe!

              +
              +
              +
            • +
            +
          72. +
          73. +
            + +

            Thank you for the great recipe! I left out the syrup/honey to keep sugar down. (Reduces calories about 15 cal/slice) I didn’t add anything to replace and it came out perfect at 50 minutes. 1 loaf = ~14 slices. 85 cal/slice with 4g protein! Excellent breakfast option!

            +
            + +
            +
            +
            + +
          74. +
          75. +
            + +

            This is a great recipe! In the morning I toasted a slice with a little grass fed butter and added some berries, it was a ver satisfying breakfast.

            +
            + +
            +
            +
            + +
          76. +
          77. +
            + +

            This was SO GOOD! Thank you for sharing this recipe :) My first time cooking with coconut flour and it turned out amazing. I just added in dark chocolate chips. I will definitely make again and again!

            +
            + +
            +
            +
            + +
          78. +
          79. +
            + +

            How on earth do you line a loaf pan with parchment paper though…

            +
            +
            +
              +
            • +
              + +

              Hi Rose, you can cut your parchment paper into two pieces and overlap them, or you can just use a wide sheet of paper so it overhangs the two long sides of your loaf pan. Like this!

              +
              +
              +
            • +
            +
          80. +
          81. +
            + +

            Wow! This bread is an amazing treat to start a healthy 2019. I’ll be making it again! My three kids loved it.

            +
            + +
            +
            +
            +
          82. +
          83. +
            + +

            Finally! I have been looking for a recipe with coconut flour. This one turned out really good! An instant staple. Thanks!

            +
            + +
            +
            +
            + +
          84. +
          85. +
            + +

            I would like to add chopped walnuts, will it effect the cooking time?

            +
            +
            +
              +
            • +
              + +

              Hi Lori, adding walnuts shouldn’t affect the cooking time, but I always recommend checking for doneness with a toothpick since the time ranges given may vary slightly depending upon your oven.

              +
              +
              +
            • +
            +
          86. +
          87. +
            + +

            Best guilt free banana bread recipe ever! Thank you!!

            +
            + +
            +
            +
            + +
          88. +
          89. +
            +
            +Maggie Miller — + +Reply
            +

            This is DELISH! In need of a healthy banana bread recipe and this did not disappoint. Thank you!!

            +
            + +
            +
            +
            + +
          90. +
          91. +
            + +

            My sister and I both enjoyed this! (She’s GF but I’m not.) She liked hers plain, but I preferred mine with some chocolate chips melted onto my slices.

            +
            + +
            +
            +
            +
          92. +
          93. +
            + +

            This was delicious. I tweaked things slightly to suit my family and the results were fantastic: first, I baked them as muffins so I could individualize them – I got 15 regular sized muffins out of this recipe (probably could have stretched it to 16) baked at 350F for 23 mins. I’m not a fan of cinnamon so I subbed 1.5 tsp ground ginger for the cinnamon and nutmeg. I baked 1/3 of the muffins with chocolate chips for my son, 1/3 with walnuts for my paleo husband, and 1/3 with both chocolate chips + walnuts for moi 😋 They were moister than muffins made with wheat flour, and even better the second day although hardly any lasted that long. I would make these because they’re tastier than ‘regular’ muffins, so I love that they are also healthful (well maybe except the chocolate chips!) and I love that they use coconut flour rather than the standard flour substitutes. These will be going into regular rotation!

            +
            + +
            +
            +
            + +
          94. +
          95. +
            + +

            This banana bread was so wonderful!  Thank you for this amazing recipe.  My husband and I loved it and it passed the kids taste test!  This will be a go-to recipe for us.  Thanks again!

            +
            + +
            +
            +
            + +
          96. +
          97. +
            + +

            Just made this and it’s wonderful! I added some ground flax for extra nutrition and divided it between two smaller loaf pans. Turned out perfect and so easy to make. Thank you! 

            +
            + +
            +
            +
            + +
          98. +
          99. +
            + +

            Made this once and fell in love with it. I’ll be making this often as a snack for work as the low calorie count is fantastic and satisfies the sweet tooth. I may add some unsweetened coconut to this next time.

            +

            Baking tip: I don’t own a metal loaf pan. So I used a glass one and my only recommendation is to leave it in the oven about 5 minutes longer as the top/middle was just a little under-cooked. I didn’t have parchment so I used regular foil, dull side up, and sprayed it with some olive oil and it came out perfect. =D

            +
            + +
            +
            +
            + +
          100. +
          101. +
            + +

            This turned out awesome! Thanks for thoroughly testing and developing a great recipe. I’m looking forward to testing your other coconut flour recipes (thanks for linking).

            +
            + +
            +
            +
            + +
          102. +
          103. +
            +
            +Britt Matthews — + +Reply
            +

            I just bought all the ingredients for this recipe and will be making it later today :)

            +
            +
            + +
          104. +
          105. +
            + +

            I make this over and over. Sometimes I leave out the sweetener and add an extra banana, and put a layer of raspberries and blueberries half way through putting the batter in the pan, and on top to decorate. I have made it with egg substitute, for each egg use (1 T ground flax and 3 T water, let sit for a couple minutes till thick) and it turned out great. I sometimes use coconut butter instead of almond butter. It has turned out delicious every time. It makes a great dessert with a dab of whipped cream on top.

            +
            + +
            +
            +
            +
              +
            • +
              + +

              Peggy, I’m so glad to hear this recipe is a winner for you. Thank you for sharing your tweaks too—they sound delicious!

              +
              +
              +
            • +
            • +
              + +

              I was out of eggs and already started making this fave recipe again! Did you use 6 T ground flax to make the 6 eggs equivalent or less? Thank you so much! 

              +
              +
              +
                +
              • +
                + +

                I honestly have never tried this with flax eggs (and that’s quite a big number of eggs for substitution) so I am afraid I can’t advise. I’d love to hear your thoughts if you did make this change.

                +
                +
                +
              • +
              +
            • +
            +
          106. +
          +
          +

          Leave a Reply

          +

          Your email address will not be published. Required fields are marked *

          + + + + +

          +

          + +

          +

          + +

          +
          +
          +
          +
          + +
          +
          +
          +
          + + +
          +
          +
          + + + + + + + + + + + + +
          +
          +
          +
          + diff --git a/packages/parser/test/www.wholelivinglauren.com/creamy-vegan-pumpkin-soup.html b/packages/parser/test/www.wholelivinglauren.com/creamy-vegan-pumpkin-soup.html new file mode 100644 index 00000000..fbc2725f --- /dev/null +++ b/packages/parser/test/www.wholelivinglauren.com/creamy-vegan-pumpkin-soup.html @@ -0,0 +1,1113 @@ + + + + + + + + + +Creamy Vegan Pumpkin Soup — Whole Living Lauren + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
          + +
          + +
          + +
          + + + + +
          + +
          +
          + + +
          +
          +
          +
          +
          + +
          +
          + +
          +
          + + + + + + +
          +
          + +
          +
          +
          + + +
          +
          + + + + + + +
          + + + + + Meet Lauren + + + + + + Work With Me + + + + + + Press + + + +
          + + + + + + + + + +
          +
          + +
          +
          +
          + + +
          +
          + + + + + +
          +
          + +
          +
          + +
          +
          +
          + + + +
          + +
          + + + +
          +
          +
          + +
          + +
          +
          +
          + +
          +
          + + + + + + + + +
          Eat Well. Live Whole. Feel Amazing!
          + +
          +
          + + + +
          +
          +
          + +
          + + +
          + +
          +
          + + +

          Creamy Vegan Pumpkin Soup

          + + +

          SOUUUPPPPPPP!

          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          Boy oh boy do I have something tasty (and super easy) for you today. I've said it before and I'll say it again. Soup is my jam. It's one of my absolute favorite foods. And this time of year there is nothing better than a piping hot bowl of creamy, comforting soup. Add pumpkin to the mix and WHOA...can it even get any better? 

          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          Yep, that's right...

          Creamy

          Healthy

          Easy

          PUMPKIN!

          This soup hits all the right notes. It's got a hint of sweet and a pinch of spice (and everything nice!). I was originally going to buy sugar pumpkins and roast them the old fashioned way but was running out of daylight (#bloggerprobz) and needed to do something quick. Canned pumpkin to the rescue! Luckily, I stocked up on canned pumpkin a few weeks ago when it was on sale at Whole Foods. Using canned pumpkin means this soup comes together lickity split. The only thing you really need to do is chop the onion, mince the garlic, and open a few cans. Easy peasy!

          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          Pumpkin is one of the best known sources of beta carotene, a powerful antioxidant that gives orange vegetables and fruits their vibrant color. Beta-carotene is converted to vitamin A in the body once it is eaten. Studies show that consuming foods rich in beta-carotene may reduce the risk of developing certain types of cancer, offer protection against asthma and heart disease, and delay aging and body degeneration. 

          Consuming one cup of cooked, canned pumpkin provides over 100% of our daily needs for vitamin A, about 20% of the daily value for vitamin C, and provides a good amount of vitamin E, riboflavin, potassium, copper, manganese, thaimin, iron, magnesium, and phosphorus. Not bad for this delicious squash! 

          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          Not only is this soup easy, beautiful, and delicious, but it is incredibly nourishing and nutrient dense. It's one of those soups that tastes better the next day, and even better the day after.

          It's like a (super delicious) gift that keeps giving! 

          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          Creamy Vegan Pumpkin Soup

          |Serves 4-5|

          Ingredients

          • 1 Tbsp olive oil
          • 1 medium yellow onion, chopped
          • 3 cloves garlic, minced
          • 2 cans 100% pumpkin puree (not pumpkin pie mix)
          • 2 cups low sodium vegetable stock
          • 1 can lite coconut milk
          • 1 Tbsp maple syrup
          • 2 tsp ground ginger
          • 1/2 tsp cinnamon
          • 1/4 tsp ground nutmeg
          • 1 tsp sea salt 
          • pinch of cayenne pepper (optional)

          Optional toppings

          • Pepitas
          • Cashew cream (check out this easy recipe)
          • Sprinkle of hot sauce

          Instructions

          1. Heat olive oil in a large pot over medium-high heat and add onion and garlic. Cook for about 3-5 minutes, until onions become translucent. 
          2. Carefully stir in the pumpkin, vegetable stock, coconut milk, maple syrup, ginger, cinnamon, nutmeg, salt, and cayenne (if using). 
          3. Bring to a boil, then turn the heat to low and simmer for about 20 minutes, until the soup has reduced and thickened slightly.
          4. Puree with an immersion blender or in a stand blender until very smooth. Garnish with pepitas, cashew cream, and hot sauce. 
          5. Enjoy!
          + + +
          + +
          + +
          + +
          + + + + +
          + +
          + + + +

          xoxo,

          Lauren

          + + + + + +
          + +
          + + +
          + +
          + + + + + + +
          + +
          + +
          +
          + +
          + + + +
          + + +
          + + + + + + + diff --git a/packages/parser/tsconfig.json b/packages/parser/tsconfig.json new file mode 100644 index 00000000..098c8875 --- /dev/null +++ b/packages/parser/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom.iterable", "esnext"], + "allowJs": true, + "baseUrl": ".", + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": ["**/*.ts"], + "exclude": ["node_modules"] +} diff --git a/.babelrc b/packages/platezero/.babelrc similarity index 100% rename from .babelrc rename to packages/platezero/.babelrc diff --git a/.env.development b/packages/platezero/.env.development similarity index 100% rename from .env.development rename to packages/platezero/.env.development diff --git a/.eslintrc.json b/packages/platezero/.eslintrc.json similarity index 100% rename from .eslintrc.json rename to packages/platezero/.eslintrc.json diff --git a/packages/platezero/README.md b/packages/platezero/README.md new file mode 100644 index 00000000..e69de29b diff --git a/components/container.tsx b/packages/platezero/components/container.tsx similarity index 100% rename from components/container.tsx rename to packages/platezero/components/container.tsx diff --git a/components/header.tsx b/packages/platezero/components/header.tsx similarity index 100% rename from components/header.tsx rename to packages/platezero/components/header.tsx diff --git a/components/index.ts b/packages/platezero/components/index.ts similarity index 100% rename from components/index.ts rename to packages/platezero/components/index.ts diff --git a/components/input.tsx b/packages/platezero/components/input.tsx similarity index 100% rename from components/input.tsx rename to packages/platezero/components/input.tsx diff --git a/db/Dockerfile b/packages/platezero/db/Dockerfile similarity index 100% rename from db/Dockerfile rename to packages/platezero/db/Dockerfile diff --git a/hooks/index.ts b/packages/platezero/hooks/index.ts similarity index 100% rename from hooks/index.ts rename to packages/platezero/hooks/index.ts diff --git a/hooks/use-params.ts b/packages/platezero/hooks/use-params.ts similarity index 100% rename from hooks/use-params.ts rename to packages/platezero/hooks/use-params.ts diff --git a/jest.config.js b/packages/platezero/jest.config.js similarity index 100% rename from jest.config.js rename to packages/platezero/jest.config.js diff --git a/next-env.d.ts b/packages/platezero/next-env.d.ts similarity index 100% rename from next-env.d.ts rename to packages/platezero/next-env.d.ts diff --git a/packages/platezero/package.json b/packages/platezero/package.json new file mode 100644 index 00000000..4348bf33 --- /dev/null +++ b/packages/platezero/package.json @@ -0,0 +1,43 @@ +{ + "name": "@platezero/platezero", + "license": "UNLICENSED", + "scripts": { + "dev": "next dev", + "build": "next build", + "apollo:generate": "apollo codegen:generate --excludes='node_modules/*' --includes='**/*.tsx' --endpoint http://localhost:5000/graphql --target typescript --tagName gql --outputFlat queries --passthroughCustomScalars --customScalarsPrefix PZ", + "lint": "next lint", + "prettier:check": "prettier --check .", + "prettier:fix": "prettier --write .", + "start": "next start", + "test": "jest", + "ci": "yarn prettier:check && yarn lint && yarn test && yarn build" + }, + "dependencies": { + "@apollo/client": "3.4.15", + "@platezero/parser": "0.3.2", + "classnames": "2.3.1", + "graphql": "15.6.0", + "next": "11.1.2", + "next-cookie": "2.7.0", + "react": "17.0.2", + "react-dom": "17.0.2", + "slugify": "1.6.0" + }, + "devDependencies": { + "@types/jest": "27.0.2", + "@types/node": "16.10.2", + "@types/react": "17.0.26", + "apollo": "2.33.6", + "autoprefixer": "10.3.6", + "babel-jest": "27.2.4", + "eslint": "7.32.0", + "eslint-config-next": "11.1.2", + "jest": "27.2.4", + "lerna": "^4.0.0", + "postcss": "8.3.8", + "prettier": "2.4.1", + "tailwindcss": "2.2.16", + "typescript": "4.4.3" + }, + "packageManager": "yarn@3.0.2" +} diff --git a/pages/[username]/[slug]/edit.tsx b/packages/platezero/pages/[username]/[slug]/edit.tsx similarity index 100% rename from pages/[username]/[slug]/edit.tsx rename to packages/platezero/pages/[username]/[slug]/edit.tsx diff --git a/pages/[username]/[slug]/index.tsx b/packages/platezero/pages/[username]/[slug]/index.tsx similarity index 100% rename from pages/[username]/[slug]/index.tsx rename to packages/platezero/pages/[username]/[slug]/index.tsx diff --git a/pages/[username]/index.tsx b/packages/platezero/pages/[username]/index.tsx similarity index 100% rename from pages/[username]/index.tsx rename to packages/platezero/pages/[username]/index.tsx diff --git a/pages/_app.tsx b/packages/platezero/pages/_app.tsx similarity index 100% rename from pages/_app.tsx rename to packages/platezero/pages/_app.tsx diff --git a/pages/api/recipe/import.test.ts b/packages/platezero/pages/api/recipe/import.test.ts similarity index 100% rename from pages/api/recipe/import.test.ts rename to packages/platezero/pages/api/recipe/import.test.ts diff --git a/pages/api/recipe/import.tsx b/packages/platezero/pages/api/recipe/import.tsx similarity index 100% rename from pages/api/recipe/import.tsx rename to packages/platezero/pages/api/recipe/import.tsx diff --git a/pages/index.tsx b/packages/platezero/pages/index.tsx similarity index 100% rename from pages/index.tsx rename to packages/platezero/pages/index.tsx diff --git a/pages/login.tsx b/packages/platezero/pages/login.tsx similarity index 100% rename from pages/login.tsx rename to packages/platezero/pages/login.tsx diff --git a/pages/new/import.tsx b/packages/platezero/pages/new/import.tsx similarity index 100% rename from pages/new/import.tsx rename to packages/platezero/pages/new/import.tsx diff --git a/pages/new/index.tsx b/packages/platezero/pages/new/index.tsx similarity index 100% rename from pages/new/index.tsx rename to packages/platezero/pages/new/index.tsx diff --git a/pages/register.tsx b/packages/platezero/pages/register.tsx similarity index 100% rename from pages/register.tsx rename to packages/platezero/pages/register.tsx diff --git a/postcss.config.js b/packages/platezero/postcss.config.js similarity index 100% rename from postcss.config.js rename to packages/platezero/postcss.config.js diff --git a/public/favicon-16x16.png b/packages/platezero/public/favicon-16x16.png similarity index 100% rename from public/favicon-16x16.png rename to packages/platezero/public/favicon-16x16.png diff --git a/public/favicon-32x32.png b/packages/platezero/public/favicon-32x32.png similarity index 100% rename from public/favicon-32x32.png rename to packages/platezero/public/favicon-32x32.png diff --git a/public/favicon-96x96.png b/packages/platezero/public/favicon-96x96.png similarity index 100% rename from public/favicon-96x96.png rename to packages/platezero/public/favicon-96x96.png diff --git a/public/favicon.ico b/packages/platezero/public/favicon.ico similarity index 100% rename from public/favicon.ico rename to packages/platezero/public/favicon.ico diff --git a/public/logo-reverse.png b/packages/platezero/public/logo-reverse.png similarity index 100% rename from public/logo-reverse.png rename to packages/platezero/public/logo-reverse.png diff --git a/public/logo-reverse.svg b/packages/platezero/public/logo-reverse.svg similarity index 100% rename from public/logo-reverse.svg rename to packages/platezero/public/logo-reverse.svg diff --git a/queries/CreateRecipe.ts b/packages/platezero/queries/CreateRecipe.ts similarity index 100% rename from queries/CreateRecipe.ts rename to packages/platezero/queries/CreateRecipe.ts diff --git a/queries/EditRecipeQuery.ts b/packages/platezero/queries/EditRecipeQuery.ts similarity index 100% rename from queries/EditRecipeQuery.ts rename to packages/platezero/queries/EditRecipeQuery.ts diff --git a/queries/ImportRecipe.ts b/packages/platezero/queries/ImportRecipe.ts similarity index 100% rename from queries/ImportRecipe.ts rename to packages/platezero/queries/ImportRecipe.ts diff --git a/queries/Login.ts b/packages/platezero/queries/Login.ts similarity index 100% rename from queries/Login.ts rename to packages/platezero/queries/Login.ts diff --git a/queries/RecipeQuery.ts b/packages/platezero/queries/RecipeQuery.ts similarity index 100% rename from queries/RecipeQuery.ts rename to packages/platezero/queries/RecipeQuery.ts diff --git a/queries/Register.ts b/packages/platezero/queries/Register.ts similarity index 100% rename from queries/Register.ts rename to packages/platezero/queries/Register.ts diff --git a/queries/UpdateRecipe.ts b/packages/platezero/queries/UpdateRecipe.ts similarity index 100% rename from queries/UpdateRecipe.ts rename to packages/platezero/queries/UpdateRecipe.ts diff --git a/queries/UserPageQuery.ts b/packages/platezero/queries/UserPageQuery.ts similarity index 100% rename from queries/UserPageQuery.ts rename to packages/platezero/queries/UserPageQuery.ts diff --git a/queries/client.ts b/packages/platezero/queries/client.ts similarity index 100% rename from queries/client.ts rename to packages/platezero/queries/client.ts diff --git a/queries/globalTypes.ts b/packages/platezero/queries/globalTypes.ts similarity index 100% rename from queries/globalTypes.ts rename to packages/platezero/queries/globalTypes.ts diff --git a/queries/index.ts b/packages/platezero/queries/index.ts similarity index 100% rename from queries/index.ts rename to packages/platezero/queries/index.ts diff --git a/queries/scalars.d.ts b/packages/platezero/queries/scalars.d.ts similarity index 100% rename from queries/scalars.d.ts rename to packages/platezero/queries/scalars.d.ts diff --git a/styles/globals.css b/packages/platezero/styles/globals.css similarity index 100% rename from styles/globals.css rename to packages/platezero/styles/globals.css diff --git a/tailwind.config.js b/packages/platezero/tailwind.config.js similarity index 100% rename from tailwind.config.js rename to packages/platezero/tailwind.config.js diff --git a/packages/platezero/tsconfig.json b/packages/platezero/tsconfig.json new file mode 100644 index 00000000..435c09c7 --- /dev/null +++ b/packages/platezero/tsconfig.json @@ -0,0 +1,20 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "baseUrl": ".", + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve" + }, + "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/yarn.lock b/yarn.lock index d796ea06..4e51d68a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -156,7 +156,7 @@ __metadata: languageName: node linkType: hard -"@babel/generator@npm:^7.15.4, @babel/generator@npm:^7.7.2": +"@babel/generator@npm:^7.15.4, @babel/generator@npm:^7.4.0, @babel/generator@npm:^7.7.2": version: 7.15.4 resolution: "@babel/generator@npm:7.15.4" dependencies: @@ -326,7 +326,7 @@ __metadata: languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.1.3, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.7.2": +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.1.3, @babel/parser@npm:^7.15.4, @babel/parser@npm:^7.15.5, @babel/parser@npm:^7.4.3, @babel/parser@npm:^7.7.2": version: 7.15.7 resolution: "@babel/parser@npm:7.15.7" bin: @@ -434,7 +434,7 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-syntax-object-rest-spread@npm:^7.8.3": +"@babel/plugin-syntax-object-rest-spread@npm:^7.0.0, @babel/plugin-syntax-object-rest-spread@npm:^7.8.3": version: 7.8.3 resolution: "@babel/plugin-syntax-object-rest-spread@npm:7.8.3" dependencies: @@ -517,7 +517,7 @@ __metadata: languageName: node linkType: hard -"@babel/template@npm:^7.15.4, @babel/template@npm:^7.3.3": +"@babel/template@npm:^7.15.4, @babel/template@npm:^7.3.3, @babel/template@npm:^7.4.0": version: 7.15.4 resolution: "@babel/template@npm:7.15.4" dependencies: @@ -528,7 +528,7 @@ __metadata: languageName: node linkType: hard -"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.7.2": +"@babel/traverse@npm:^7.1.0, @babel/traverse@npm:^7.15.4, @babel/traverse@npm:^7.4.3, @babel/traverse@npm:^7.7.2": version: 7.15.4 resolution: "@babel/traverse@npm:7.15.4" dependencies: @@ -565,7 +565,7 @@ __metadata: languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.14.8, @babel/types@npm:^7.15.4, @babel/types@npm:^7.15.6, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.8.3": +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.14.8, @babel/types@npm:^7.15.4, @babel/types@npm:^7.15.6, @babel/types@npm:^7.3.0, @babel/types@npm:^7.3.3, @babel/types@npm:^7.4.0, @babel/types@npm:^7.8.3": version: 7.15.6 resolution: "@babel/types@npm:7.15.6" dependencies: @@ -582,6 +582,18 @@ __metadata: languageName: node linkType: hard +"@cnakazawa/watch@npm:^1.0.3": + version: 1.0.4 + resolution: "@cnakazawa/watch@npm:1.0.4" + dependencies: + exec-sh: ^0.3.2 + minimist: ^1.2.0 + bin: + watch: cli.js + checksum: 88f395ca0af2f3c0665b8ce7bb29e83647ec5d141e8735712aeeee4117081555436712966b6957aa1c461f6f826a4d23b0034e379c443a10e919f81c8748bf29 + languageName: node + linkType: hard + "@endemolshinegroup/cosmiconfig-typescript-loader@npm:^1.0.0": version: 1.0.2 resolution: "@endemolshinegroup/cosmiconfig-typescript-loader@npm:1.0.2" @@ -673,6 +685,13 @@ __metadata: languageName: node linkType: hard +"@hutson/parse-repository-url@npm:^3.0.0": + version: 3.0.2 + resolution: "@hutson/parse-repository-url@npm:3.0.2" + checksum: 39992c5f183c5ca3d761d6ed9dfabcb79b5f3750bf1b7f3532e1dc439ca370138bbd426ee250fdaba460bc948e6761fbefd484b8f4f36885d71ded96138340d1 + languageName: node + linkType: hard + "@istanbuljs/load-nyc-config@npm:^1.0.0": version: 1.1.0 resolution: "@istanbuljs/load-nyc-config@npm:1.1.0" @@ -693,6 +712,17 @@ __metadata: languageName: node linkType: hard +"@jest/console@npm:^24.7.1, @jest/console@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/console@npm:24.9.0" + dependencies: + "@jest/source-map": ^24.9.0 + chalk: ^2.0.1 + slash: ^2.0.0 + checksum: ee6468c4aeeb8752126e92e20b0ffbf32abda731e9b7865b63b60bd569c3536e9c901efcec4d81c506a7c6fea2a970ace8262190961aba31dedbfeaa3459d78b + languageName: node + linkType: hard + "@jest/console@npm:^27.2.4": version: 27.2.4 resolution: "@jest/console@npm:27.2.4" @@ -707,6 +737,42 @@ __metadata: languageName: node linkType: hard +"@jest/core@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/core@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/reporters": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + ansi-escapes: ^3.0.0 + chalk: ^2.0.1 + exit: ^0.1.2 + graceful-fs: ^4.1.15 + jest-changed-files: ^24.9.0 + jest-config: ^24.9.0 + jest-haste-map: ^24.9.0 + jest-message-util: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-resolve-dependencies: ^24.9.0 + jest-runner: ^24.9.0 + jest-runtime: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + jest-watcher: ^24.9.0 + micromatch: ^3.1.10 + p-each-series: ^1.0.0 + realpath-native: ^1.1.0 + rimraf: ^2.5.4 + slash: ^2.0.0 + strip-ansi: ^5.0.0 + checksum: 44d63883bc410ea2448eb359c417b92d9dd5fb9bec51f28bde2bd87ade705c4f0f6698f0c251a679204e860bf865120c58725cf397465862c99a70327bcb99fc + languageName: node + linkType: hard + "@jest/core@npm:^27.2.4": version: 27.2.4 resolution: "@jest/core@npm:27.2.4" @@ -748,6 +814,18 @@ __metadata: languageName: node linkType: hard +"@jest/environment@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/environment@npm:24.9.0" + dependencies: + "@jest/fake-timers": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + checksum: 6a663c05713ad0cd1dc7c5bf715a3e5e655e73ee02497ab0a9dea4fe0855226504535c504d265c054c8b4bafb1216dff0e7e0e3b4ed064bda4c3d6efe74fe369 + languageName: node + linkType: hard + "@jest/environment@npm:^27.2.4": version: 27.2.4 resolution: "@jest/environment@npm:27.2.4" @@ -760,6 +838,17 @@ __metadata: languageName: node linkType: hard +"@jest/fake-timers@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/fake-timers@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + jest-message-util: ^24.9.0 + jest-mock: ^24.9.0 + checksum: d49ab33e28b070d5be75659ed89d4b79e74012c8c28ecf51cf9b89732ba5b2a57129787dd144949c048a0460ed62f1e32079a4b10d896c75bde024699d7a2c5c + languageName: node + linkType: hard + "@jest/fake-timers@npm:^27.2.4": version: 27.2.4 resolution: "@jest/fake-timers@npm:27.2.4" @@ -785,111 +874,998 @@ __metadata: languageName: node linkType: hard -"@jest/reporters@npm:^27.2.4": - version: 27.2.4 - resolution: "@jest/reporters@npm:27.2.4" +"@jest/reporters@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/reporters@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + exit: ^0.1.2 + glob: ^7.1.2 + istanbul-lib-coverage: ^2.0.2 + istanbul-lib-instrument: ^3.0.1 + istanbul-lib-report: ^2.0.4 + istanbul-lib-source-maps: ^3.0.1 + istanbul-reports: ^2.2.6 + jest-haste-map: ^24.9.0 + jest-resolve: ^24.9.0 + jest-runtime: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.6.0 + node-notifier: ^5.4.2 + slash: ^2.0.0 + source-map: ^0.6.0 + string-length: ^2.0.0 + checksum: 588539d0d9a5e483e5e09c1dd7c42b6490199cb0588a9ae8eb1b2c34a74cf7da0bba5dd425c19307a9d95a075bfc4feb0221d3847b9542a3a727342e3f30e5a1 + languageName: node + linkType: hard + +"@jest/reporters@npm:^27.2.4": + version: 27.2.4 + resolution: "@jest/reporters@npm:27.2.4" + dependencies: + "@bcoe/v8-coverage": ^0.2.3 + "@jest/console": ^27.2.4 + "@jest/test-result": ^27.2.4 + "@jest/transform": ^27.2.4 + "@jest/types": ^27.2.4 + chalk: ^4.0.0 + collect-v8-coverage: ^1.0.0 + exit: ^0.1.2 + glob: ^7.1.2 + graceful-fs: ^4.2.4 + istanbul-lib-coverage: ^3.0.0 + istanbul-lib-instrument: ^4.0.3 + istanbul-lib-report: ^3.0.0 + istanbul-lib-source-maps: ^4.0.0 + istanbul-reports: ^3.0.2 + jest-haste-map: ^27.2.4 + jest-resolve: ^27.2.4 + jest-util: ^27.2.4 + jest-worker: ^27.2.4 + slash: ^3.0.0 + source-map: ^0.6.0 + string-length: ^4.0.1 + terminal-link: ^2.0.0 + v8-to-istanbul: ^8.1.0 + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + checksum: f61a22165f368e1d30ade767208acd57766526c7fd93c1eb264a3843a4953846e44deebcf3afb185252a0513b66d7cabcf38a607597d05d283c7a8f3ed130600 + languageName: node + linkType: hard + +"@jest/source-map@npm:^24.3.0, @jest/source-map@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/source-map@npm:24.9.0" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.1.15 + source-map: ^0.6.0 + checksum: 00479faf6854d5d183b94465db1a0876980ced72bf26cb6a2fe8c04977dc2692e6529faa6b64269492d1d9cab51feebaac9d453d1e6bb1306fc15777143b72af + languageName: node + linkType: hard + +"@jest/source-map@npm:^27.0.6": + version: 27.0.6 + resolution: "@jest/source-map@npm:27.0.6" + dependencies: + callsites: ^3.0.0 + graceful-fs: ^4.2.4 + source-map: ^0.6.0 + checksum: b4c09a0392e58a970b1bede96cd995279d95254efc997acff7fb44ad52fd4e4a372ce955c32777d1eac2006c3869b7d97227126d45a28612a40815823e3cbdb0 + languageName: node + linkType: hard + +"@jest/test-result@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-result@npm:24.9.0" + dependencies: + "@jest/console": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/istanbul-lib-coverage": ^2.0.0 + checksum: 7145c7baa289798881160b3cfa5b2466b2636238a52b77cf46e5468ffe2881fb8fb8d4966155a8d508b26a8d29a302a9eb9037de1a371e5dc9bb6e94837c0ae7 + languageName: node + linkType: hard + +"@jest/test-result@npm:^27.2.4": + version: 27.2.4 + resolution: "@jest/test-result@npm:27.2.4" + dependencies: + "@jest/console": ^27.2.4 + "@jest/types": ^27.2.4 + "@types/istanbul-lib-coverage": ^2.0.0 + collect-v8-coverage: ^1.0.0 + checksum: 724c2f93c2a702c770fdd954043a9933215fe97695a40a476c66f713ac05d86744f46b7dc04b4d1165c5591ac49d14d7a3b8e6831064a6194d709833ff3d3822 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/test-sequencer@npm:24.9.0" + dependencies: + "@jest/test-result": ^24.9.0 + jest-haste-map: ^24.9.0 + jest-runner: ^24.9.0 + jest-runtime: ^24.9.0 + checksum: 049bea54743925b361bf10acce8a1de8e9a2ac9b5158044d484f3fc5748f975d52d8260e9ff2621fc29b5b586a17e54693670c7dfa75b09f5e83e87f2a63aac2 + languageName: node + linkType: hard + +"@jest/test-sequencer@npm:^27.2.4": + version: 27.2.4 + resolution: "@jest/test-sequencer@npm:27.2.4" + dependencies: + "@jest/test-result": ^27.2.4 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.2.4 + jest-runtime: ^27.2.4 + checksum: d19ccc8db296f540e6b872187a0526bb648ab6f6f5c42c16d7f65e586a46eb336d04be43201fe58a650e64981ab750a67c11fdaf0d41960547a8b4b8a2afcb8c + languageName: node + linkType: hard + +"@jest/transform@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/transform@npm:24.9.0" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^24.9.0 + babel-plugin-istanbul: ^5.1.0 + chalk: ^2.0.1 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.1.15 + jest-haste-map: ^24.9.0 + jest-regex-util: ^24.9.0 + jest-util: ^24.9.0 + micromatch: ^3.1.10 + pirates: ^4.0.1 + realpath-native: ^1.1.0 + slash: ^2.0.0 + source-map: ^0.6.1 + write-file-atomic: 2.4.1 + checksum: 0153bcd6a9b464c85ee8b67c360f745ab8e41b1b363220f1f12ed644a667dceb6666366017f7f849a8f6cde960020b638b8557eae852af0537520b0903881fbd + languageName: node + linkType: hard + +"@jest/transform@npm:^27.2.4": + version: 27.2.4 + resolution: "@jest/transform@npm:27.2.4" + dependencies: + "@babel/core": ^7.1.0 + "@jest/types": ^27.2.4 + babel-plugin-istanbul: ^6.0.0 + chalk: ^4.0.0 + convert-source-map: ^1.4.0 + fast-json-stable-stringify: ^2.0.0 + graceful-fs: ^4.2.4 + jest-haste-map: ^27.2.4 + jest-regex-util: ^27.0.6 + jest-util: ^27.2.4 + micromatch: ^4.0.4 + pirates: ^4.0.1 + slash: ^3.0.0 + source-map: ^0.6.1 + write-file-atomic: ^3.0.0 + checksum: 15ed959f213d8f19c4d626ce006c073a2b55c4fb1c902e44de170b0887cedb7d9ee8d1d4975acf746a9349154608a83452282ce4d65877900e8f5f64955d2368 + languageName: node + linkType: hard + +"@jest/types@npm:^24.9.0": + version: 24.9.0 + resolution: "@jest/types@npm:24.9.0" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^1.1.1 + "@types/yargs": ^13.0.0 + checksum: 603698f774cf22f9d16a0e0fac9e10e7db21052aebfa33db154c8a5940e0eb1fa9c079a8c91681041ad3aeee2adfa950608dd0c663130316ba034b8bca7b301c + languageName: node + linkType: hard + +"@jest/types@npm:^27.2.4": + version: 27.2.4 + resolution: "@jest/types@npm:27.2.4" + dependencies: + "@types/istanbul-lib-coverage": ^2.0.0 + "@types/istanbul-reports": ^3.0.0 + "@types/node": "*" + "@types/yargs": ^16.0.0 + chalk: ^4.0.0 + checksum: 0d34189874354a63bc80eeb99da75078ea8a65599c6cd0b937cf1909fc9d490f99adf5aa32ca5a67735496f131491f323b750983d471ecbbcd3e3fec618b01df + languageName: node + linkType: hard + +"@lerna/add@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/add@npm:4.0.0" + dependencies: + "@lerna/bootstrap": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/npm-conf": 4.0.0 + "@lerna/validation-error": 4.0.0 + dedent: ^0.7.0 + npm-package-arg: ^8.1.0 + p-map: ^4.0.0 + pacote: ^11.2.6 + semver: ^7.3.4 + checksum: 769efaf964385f682a48e71a8eeb159158bfe4326682d0167147f08bbedad06f7f9964a658fc5508900e769257342a8c796e510868f5ac5c354631baa4d583d9 + languageName: node + linkType: hard + +"@lerna/bootstrap@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/bootstrap@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/has-npm-version": 4.0.0 + "@lerna/npm-install": 4.0.0 + "@lerna/package-graph": 4.0.0 + "@lerna/pulse-till-done": 4.0.0 + "@lerna/rimraf-dir": 4.0.0 + "@lerna/run-lifecycle": 4.0.0 + "@lerna/run-topologically": 4.0.0 + "@lerna/symlink-binary": 4.0.0 + "@lerna/symlink-dependencies": 4.0.0 + "@lerna/validation-error": 4.0.0 + dedent: ^0.7.0 + get-port: ^5.1.1 + multimatch: ^5.0.0 + npm-package-arg: ^8.1.0 + npmlog: ^4.1.2 + p-map: ^4.0.0 + p-map-series: ^2.1.0 + p-waterfall: ^2.1.1 + read-package-tree: ^5.3.1 + semver: ^7.3.4 + checksum: 072ce3053a0f7c1e2ae93be02d75ef395e291a90cdd20c669e921da2eac2290bebbe2e11453f540759a24c6e32f86331fe188bf85cd6dc341244c8fadc86c9ed + languageName: node + linkType: hard + +"@lerna/changed@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/changed@npm:4.0.0" + dependencies: + "@lerna/collect-updates": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/listable": 4.0.0 + "@lerna/output": 4.0.0 + checksum: f12a5d6cc478fe0801e74a0bd1f86743fbc26028fb85d2f67479cfa252822ae2e6157976a63ac3e7f5a4f6702b289a358a32cac689ab14c63a6601cff26f239b + languageName: node + linkType: hard + +"@lerna/check-working-tree@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/check-working-tree@npm:4.0.0" + dependencies: + "@lerna/collect-uncommitted": 4.0.0 + "@lerna/describe-ref": 4.0.0 + "@lerna/validation-error": 4.0.0 + checksum: b4ce67942a13929580941d3e2fe49880c66ca37da3d86d14a4b158477d03c9cc939c304092658f98868c7484ba065bd721b5f8524378ee0086695d6b309e10e2 + languageName: node + linkType: hard + +"@lerna/child-process@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/child-process@npm:4.0.0" + dependencies: + chalk: ^4.1.0 + execa: ^5.0.0 + strong-log-transformer: ^2.1.0 + checksum: 184ea5520b575c0e71c49bb1f8ce82a7e34635fcf7972a5c2d17e2919b646e42644e36c7b88f2ff7539f6064affcc6161136af88605d3eeb74d9bade9a9f4cde + languageName: node + linkType: hard + +"@lerna/clean@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/clean@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/prompt": 4.0.0 + "@lerna/pulse-till-done": 4.0.0 + "@lerna/rimraf-dir": 4.0.0 + p-map: ^4.0.0 + p-map-series: ^2.1.0 + p-waterfall: ^2.1.1 + checksum: 40fa6d12ca1ac9460ccb1bbdae84bbffca1564bd23119be8eba0d01cec992be9c3813859ee59b4b2a601841e2e5672baa6a68c3cfe7e084ebcf702c1e152075a + languageName: node + linkType: hard + +"@lerna/cli@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/cli@npm:4.0.0" + dependencies: + "@lerna/global-options": 4.0.0 + dedent: ^0.7.0 + npmlog: ^4.1.2 + yargs: ^16.2.0 + checksum: f6eae6a35a2286c069ba3f5923ab3669fd35379baf0c767872cf077ec4e2c849bf4ec5756a92a555dfa52de18f46ca765657e4b0ca47af0ad4ff4d00733a1e99 + languageName: node + linkType: hard + +"@lerna/collect-uncommitted@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/collect-uncommitted@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + chalk: ^4.1.0 + npmlog: ^4.1.2 + checksum: eb7c6201057822bb7dc7d92b548ed1aa26e1930ebb1135e3bcbf9f1c0a4fd4426b5c7d5c2fca58e99ec8dfdfe9b93e05dd0dc37544708dcb96cededb0a2c1529 + languageName: node + linkType: hard + +"@lerna/collect-updates@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/collect-updates@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/describe-ref": 4.0.0 + minimatch: ^3.0.4 + npmlog: ^4.1.2 + slash: ^3.0.0 + checksum: 6d92fbfe2ab6e7a9e15e21c02f6323c4f027894191399de8f63fa5d1295036702647349b934a546ea2ca053468012317fd39e10f526c1ab786d151b9ad86f0f1 + languageName: node + linkType: hard + +"@lerna/command@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/command@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/package-graph": 4.0.0 + "@lerna/project": 4.0.0 + "@lerna/validation-error": 4.0.0 + "@lerna/write-log-file": 4.0.0 + clone-deep: ^4.0.1 + dedent: ^0.7.0 + execa: ^5.0.0 + is-ci: ^2.0.0 + npmlog: ^4.1.2 + checksum: cebcf7a2c3820045d837e027b165aa27b675d02713c179bc5f8c60cfe97882e9642a83eac40e122e3e2793f222fdba51d2ae934cd4e6341bc0eb195a79eb0c1d + languageName: node + linkType: hard + +"@lerna/conventional-commits@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/conventional-commits@npm:4.0.0" + dependencies: + "@lerna/validation-error": 4.0.0 + conventional-changelog-angular: ^5.0.12 + conventional-changelog-core: ^4.2.2 + conventional-recommended-bump: ^6.1.0 + fs-extra: ^9.1.0 + get-stream: ^6.0.0 + lodash.template: ^4.5.0 + npm-package-arg: ^8.1.0 + npmlog: ^4.1.2 + pify: ^5.0.0 + semver: ^7.3.4 + checksum: 84c1c18de23e2b65ba6677984c7379c9f1961c625576ca047c7325cba50ac87b2a334b8dcefb0a503ae0e253edca6d8f6e4c914466bf484411f8310ab8fe2d30 + languageName: node + linkType: hard + +"@lerna/create-symlink@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/create-symlink@npm:4.0.0" + dependencies: + cmd-shim: ^4.1.0 + fs-extra: ^9.1.0 + npmlog: ^4.1.2 + checksum: 38345c6c0ab1137c7b1def43af4e19291aba87ffbfee4d6c5ad368744701f06e7d6015c304733baa636c34fc853f542d609325cefcb53af096c4c5b005811796 + languageName: node + linkType: hard + +"@lerna/create@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/create@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/npm-conf": 4.0.0 + "@lerna/validation-error": 4.0.0 + dedent: ^0.7.0 + fs-extra: ^9.1.0 + globby: ^11.0.2 + init-package-json: ^2.0.2 + npm-package-arg: ^8.1.0 + p-reduce: ^2.1.0 + pacote: ^11.2.6 + pify: ^5.0.0 + semver: ^7.3.4 + slash: ^3.0.0 + validate-npm-package-license: ^3.0.4 + validate-npm-package-name: ^3.0.0 + whatwg-url: ^8.4.0 + yargs-parser: 20.2.4 + checksum: f572fa7c12ded23284e42169bfa86a7eea811517d1735f200da858b5ceea527df3fc1b438b0b9bb2d4e7267acaf9c0575435c108ce8cc36ea5be2c95f0fb0251 + languageName: node + linkType: hard + +"@lerna/describe-ref@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/describe-ref@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + npmlog: ^4.1.2 + checksum: 634d1573f7e87f2a44d97384539d12702bebdee07341c77c335ab03b3b06843d7e1f4e8e4b079b6ca39941f66035dfed072bb3525347c60694620363d7942224 + languageName: node + linkType: hard + +"@lerna/diff@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/diff@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/validation-error": 4.0.0 + npmlog: ^4.1.2 + checksum: e086875c59096799d9a532f0b65117e13d91d345fa915bbb4d0e8da36b032baee91e731c38b073bf324d0fc66e8d21c3a0b376f3de52053999117fa52ae981dc + languageName: node + linkType: hard + +"@lerna/exec@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/exec@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/profiler": 4.0.0 + "@lerna/run-topologically": 4.0.0 + "@lerna/validation-error": 4.0.0 + p-map: ^4.0.0 + checksum: 90f55b525fc2fa86df5b71ccfff13da6f1b5c14a3d204fa588f38f9d73a6a5ed1af3a55d138f10b367be679560834a2066cf919b9672f0403722490c2b83a012 + languageName: node + linkType: hard + +"@lerna/filter-options@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/filter-options@npm:4.0.0" + dependencies: + "@lerna/collect-updates": 4.0.0 + "@lerna/filter-packages": 4.0.0 + dedent: ^0.7.0 + npmlog: ^4.1.2 + checksum: 7b0f222700a01fe3a2b5af5dac700cfdfc45833ee0bf751234272bae6d3a83a26a4a211aa007147040c53a09519903ad6b781e68541a55a2c9ca9597fb34a3c5 + languageName: node + linkType: hard + +"@lerna/filter-packages@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/filter-packages@npm:4.0.0" + dependencies: + "@lerna/validation-error": 4.0.0 + multimatch: ^5.0.0 + npmlog: ^4.1.2 + checksum: 65b2758ea4fe7951b41ca16d1e295441b356ddfa3af69696731968ef4254a80fc0d056d5665116494243404135b192a7330bccde7538ca6496094b81bf6e7492 + languageName: node + linkType: hard + +"@lerna/get-npm-exec-opts@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/get-npm-exec-opts@npm:4.0.0" + dependencies: + npmlog: ^4.1.2 + checksum: 09e395fa88756c200c5f2ca352a0a126c2c8cc7d060a8665cf80eb121eea83716e1884ace76d4601345e774c776a603a7f76f7a99a7ee5a29d67ed31d296b09b + languageName: node + linkType: hard + +"@lerna/get-packed@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/get-packed@npm:4.0.0" + dependencies: + fs-extra: ^9.1.0 + ssri: ^8.0.1 + tar: ^6.1.0 + checksum: 6e8191861720a21ea9e0e1c112e50f17f3ce7ac9a60af31e80ad6fb3a49dc2f3257de5c193e648c79fdfc8668774318f5c59fae95c0cd38b44d95786c438e0ae + languageName: node + linkType: hard + +"@lerna/github-client@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/github-client@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@octokit/plugin-enterprise-rest": ^6.0.1 + "@octokit/rest": ^18.1.0 + git-url-parse: ^11.4.4 + npmlog: ^4.1.2 + checksum: 7535bbc12354d2de72db36ae884a05c9ef39d30bae291bf4bf30139ce096990e6f19cfbd253f00abe4601b932053e54ca53209c41001d7bef86d508d6af00db2 + languageName: node + linkType: hard + +"@lerna/gitlab-client@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/gitlab-client@npm:4.0.0" + dependencies: + node-fetch: ^2.6.1 + npmlog: ^4.1.2 + whatwg-url: ^8.4.0 + checksum: 6d320540c26e127dc63b6bcf3e9709ffc5805c83cdce188c0c32b6e0d572b1f43be94482514f3167e7f3159d2deb8d344f7fe26ffc037e125ea13c62641ca307 + languageName: node + linkType: hard + +"@lerna/global-options@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/global-options@npm:4.0.0" + checksum: 57bb18e529ca74ba4dabb8fe25aac7aa36f0e807328975e958d360ea10df63afd48adadf5b69745e1b60689281537041ec3661bba84da48cce7c1ebf9034cbbd + languageName: node + linkType: hard + +"@lerna/has-npm-version@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/has-npm-version@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + semver: ^7.3.4 + checksum: 459db3c163048d3b38e26481471d50b44dfd5bba3816342c7dd554a1c3ffeb8384efb60b46673f07b3fac4d8f814fda25633b439698e582b4bfe1510c44cb218 + languageName: node + linkType: hard + +"@lerna/import@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/import@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/prompt": 4.0.0 + "@lerna/pulse-till-done": 4.0.0 + "@lerna/validation-error": 4.0.0 + dedent: ^0.7.0 + fs-extra: ^9.1.0 + p-map-series: ^2.1.0 + checksum: cee4cd10cb4d067c76330aa285cef249c1635b02826485b5c67917b32ed1e6364198279cf4895272e3fc63cf90812acd8c2740b6950241ba6e753b5bf779ea01 + languageName: node + linkType: hard + +"@lerna/info@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/info@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/output": 4.0.0 + envinfo: ^7.7.4 + checksum: e681acbb17c1a37e0d9a29d1d9f4c61670b9c24e102af34aef4e905bd678050624dbbc5705c1d63d553ece1494aed82fa6c73fd1a7019aaade283efdaf96e9f0 + languageName: node + linkType: hard + +"@lerna/init@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/init@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/command": 4.0.0 + fs-extra: ^9.1.0 + p-map: ^4.0.0 + write-json-file: ^4.3.0 + checksum: 59f36071f9b97a47c1c89933202097c3409c165196f56282b52ea88135560219068953ca69bbbcd165ce2550aacc2c946777695c7dd1054ad6c14a96c8c1c81b + languageName: node + linkType: hard + +"@lerna/link@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/link@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/package-graph": 4.0.0 + "@lerna/symlink-dependencies": 4.0.0 + p-map: ^4.0.0 + slash: ^3.0.0 + checksum: 48d285a2c89f002d47902ef7913eeea80ccd812350ad25af23ac38639e8948ba2c1060479e44983d35588c93e0c94c9d4998d340956db3529f459d71d5837b97 + languageName: node + linkType: hard + +"@lerna/list@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/list@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/listable": 4.0.0 + "@lerna/output": 4.0.0 + checksum: 7630c9b7182e07f32ea6dddfc14b23d9b8bd1e0251b82e35384b1e972608734ae8d35f4c3cf96734cd0bfc09e98626d35c7f8147023bb185ebf3ca7174d2219b + languageName: node + linkType: hard + +"@lerna/listable@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/listable@npm:4.0.0" + dependencies: + "@lerna/query-graph": 4.0.0 + chalk: ^4.1.0 + columnify: ^1.5.4 + checksum: 8d238129fcf6108b2fa9a1df9865e73e625c39c3b4c9c1fecac086266cf98131455d25b3ce42516b1ecdf2623a92dd38578e3932d162eb61d717404144c58cd0 + languageName: node + linkType: hard + +"@lerna/log-packed@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/log-packed@npm:4.0.0" + dependencies: + byte-size: ^7.0.0 + columnify: ^1.5.4 + has-unicode: ^2.0.1 + npmlog: ^4.1.2 + checksum: ed046736f48170cf17ccd604c17ceb847b7a2d9572e06c373d2e32f14b5a7cc5c0bd767a5e3d882757c52667665fdeffb966e7640b4c69a702baf8edce4737ca + languageName: node + linkType: hard + +"@lerna/npm-conf@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/npm-conf@npm:4.0.0" + dependencies: + config-chain: ^1.1.12 + pify: ^5.0.0 + checksum: 0dfa3632a3efef611437ebc90712ffe388ac8a23d3082e42512aa7d617bfa985871169f7a503c9760452a089edf399e7cd05feca6f61323543c1a8c415b4079b + languageName: node + linkType: hard + +"@lerna/npm-dist-tag@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/npm-dist-tag@npm:4.0.0" + dependencies: + "@lerna/otplease": 4.0.0 + npm-package-arg: ^8.1.0 + npm-registry-fetch: ^9.0.0 + npmlog: ^4.1.2 + checksum: cda542d78db4457306959127ec406bde677f10a940389439e826814abaa5f011a48ad001f615fd529b06a7201f0c0ed47064f58143765da61e3903a2937c6831 + languageName: node + linkType: hard + +"@lerna/npm-install@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/npm-install@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/get-npm-exec-opts": 4.0.0 + fs-extra: ^9.1.0 + npm-package-arg: ^8.1.0 + npmlog: ^4.1.2 + signal-exit: ^3.0.3 + write-pkg: ^4.0.0 + checksum: 832570929965c5a63b1514ae397e8279b354b8f69cab4f1ca9104c4250ce3877ab93aae1c7033be6a714c0531de050fb51af88f814f7e1d4cfaebd1874db8fdb + languageName: node + linkType: hard + +"@lerna/npm-publish@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/npm-publish@npm:4.0.0" + dependencies: + "@lerna/otplease": 4.0.0 + "@lerna/run-lifecycle": 4.0.0 + fs-extra: ^9.1.0 + libnpmpublish: ^4.0.0 + npm-package-arg: ^8.1.0 + npmlog: ^4.1.2 + pify: ^5.0.0 + read-package-json: ^3.0.0 + checksum: 865cc6e0356b56f5a25420cce62bb5f7c0494bb14d78554e76ec3713dabbcbacafaa3d2b558287fe1e05bf6f4398e0d68cea2288f74bd3089197f3b798256ee6 + languageName: node + linkType: hard + +"@lerna/npm-run-script@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/npm-run-script@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + "@lerna/get-npm-exec-opts": 4.0.0 + npmlog: ^4.1.2 + checksum: ba15736af4273c5f812b4b43428ebbd2dc2539c617dffd9599dd07fda82f93727952acbdb9d8dfbd6581cc8f9848f426abfd465016526830a678a0c6a84de40e + languageName: node + linkType: hard + +"@lerna/otplease@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/otplease@npm:4.0.0" + dependencies: + "@lerna/prompt": 4.0.0 + checksum: 74d7b9e34c5ad07bd9efa9cdf99b376fd4dca0fd5071aae523f60c891ff8af780d0745baf9213737f2f9ae111b7c0fbf85b5c48b3458266fb34037db4cf05303 + languageName: node + linkType: hard + +"@lerna/output@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/output@npm:4.0.0" + dependencies: + npmlog: ^4.1.2 + checksum: 377aa2a93cd5cb0307cf304eeb835faae7cab920b7d3f57222c6b0bd5170ed8c841c55ea5fa6f3cc2917a2ae889b48b0238de4abc0ed70e3e6f2b27001508bb1 + languageName: node + linkType: hard + +"@lerna/pack-directory@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/pack-directory@npm:4.0.0" + dependencies: + "@lerna/get-packed": 4.0.0 + "@lerna/package": 4.0.0 + "@lerna/run-lifecycle": 4.0.0 + npm-packlist: ^2.1.4 + npmlog: ^4.1.2 + tar: ^6.1.0 + temp-write: ^4.0.0 + checksum: 9a282774d8db568df871a78fe5607b05ba3da8061ba834b576d9f7f661d7b496b301b4e5a845c0a93a50d52ccbf56d277da288db6352817e346e95d844d729c2 + languageName: node + linkType: hard + +"@lerna/package-graph@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/package-graph@npm:4.0.0" + dependencies: + "@lerna/prerelease-id-from-version": 4.0.0 + "@lerna/validation-error": 4.0.0 + npm-package-arg: ^8.1.0 + npmlog: ^4.1.2 + semver: ^7.3.4 + checksum: fd6f55171a9d42ad4e4b6e4cc1ec8699306bb219d3c4118b942ba123efb8c9913397b20ed2e20e74e6c858991f6b8ffe628ae8f8f40c4f9790d699e601a4e094 + languageName: node + linkType: hard + +"@lerna/package@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/package@npm:4.0.0" + dependencies: + load-json-file: ^6.2.0 + npm-package-arg: ^8.1.0 + write-pkg: ^4.0.0 + checksum: 8f537e4acfd165cb178cab699f5e73ac011e6d2f9f9ed7fa167cd3fe7057041fa335802d711884a0fb183fcd8b44380674244ba52ee5894db612fe00b8fbb88f + languageName: node + linkType: hard + +"@lerna/prerelease-id-from-version@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/prerelease-id-from-version@npm:4.0.0" + dependencies: + semver: ^7.3.4 + checksum: 88250b23d04492927cc0325ab51ec7bb864c8b1c703b54ecee4b1b5c2b3de35b86846b6507d267af1df7d067545efb43162621d07731624f189ac3206a48b9f7 + languageName: node + linkType: hard + +"@lerna/profiler@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/profiler@npm:4.0.0" + dependencies: + fs-extra: ^9.1.0 + npmlog: ^4.1.2 + upath: ^2.0.1 + checksum: a7f340904101fa3c9fd8124aa447f309160a46228f63a664e9c02cedd27f8e3d50c66b1fd658325b8a95ca053e7dc87c8c80f6c171443578818d8dc5b93a7b47 + languageName: node + linkType: hard + +"@lerna/project@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/project@npm:4.0.0" + dependencies: + "@lerna/package": 4.0.0 + "@lerna/validation-error": 4.0.0 + cosmiconfig: ^7.0.0 + dedent: ^0.7.0 + dot-prop: ^6.0.1 + glob-parent: ^5.1.1 + globby: ^11.0.2 + load-json-file: ^6.2.0 + npmlog: ^4.1.2 + p-map: ^4.0.0 + resolve-from: ^5.0.0 + write-json-file: ^4.3.0 + checksum: 714d9bc5cf4c790b8deb8ccd896d530490b0a36e90a1737045fb6b6c844fd29c885f2e424c7e4097f22339f655a9213a3f75de502c5556f2706979702450183d + languageName: node + linkType: hard + +"@lerna/prompt@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/prompt@npm:4.0.0" + dependencies: + inquirer: ^7.3.3 + npmlog: ^4.1.2 + checksum: 51e34c1bf1a3da02ac74a61694bab3bd92f5f0676cea2ff8ff33c158fc2070b431d323681652a1b7c91a56fd9fe4fab90d4eeba17540a68396fa05de9a4b54e2 + languageName: node + linkType: hard + +"@lerna/publish@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/publish@npm:4.0.0" + dependencies: + "@lerna/check-working-tree": 4.0.0 + "@lerna/child-process": 4.0.0 + "@lerna/collect-updates": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/describe-ref": 4.0.0 + "@lerna/log-packed": 4.0.0 + "@lerna/npm-conf": 4.0.0 + "@lerna/npm-dist-tag": 4.0.0 + "@lerna/npm-publish": 4.0.0 + "@lerna/otplease": 4.0.0 + "@lerna/output": 4.0.0 + "@lerna/pack-directory": 4.0.0 + "@lerna/prerelease-id-from-version": 4.0.0 + "@lerna/prompt": 4.0.0 + "@lerna/pulse-till-done": 4.0.0 + "@lerna/run-lifecycle": 4.0.0 + "@lerna/run-topologically": 4.0.0 + "@lerna/validation-error": 4.0.0 + "@lerna/version": 4.0.0 + fs-extra: ^9.1.0 + libnpmaccess: ^4.0.1 + npm-package-arg: ^8.1.0 + npm-registry-fetch: ^9.0.0 + npmlog: ^4.1.2 + p-map: ^4.0.0 + p-pipe: ^3.1.0 + pacote: ^11.2.6 + semver: ^7.3.4 + checksum: 3436f91d2130f5ad523027946540d06f9aa0561890e1cbef2948dbfe20ffd4eef1a8a2de0e6b50e0dc9372078be4c4df0ba7000f90d3c094d803471ad855b436 + languageName: node + linkType: hard + +"@lerna/pulse-till-done@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/pulse-till-done@npm:4.0.0" + dependencies: + npmlog: ^4.1.2 + checksum: eb908c952b126b699564475fad3a1bc205cc09a3d9d8e7522f51f12e9ae5cb79290b7ea59a1306d0651df0762ff6b92d8f44dbe4d6d18f8d2f78649954cef56a + languageName: node + linkType: hard + +"@lerna/query-graph@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/query-graph@npm:4.0.0" + dependencies: + "@lerna/package-graph": 4.0.0 + checksum: 09cd5634594885247b8cfe08c020a9e6da69ca361483ecbe031ec13cbb68ad221e4a2546abda55ea106fa8dfd48208cb1c8e34879f148800c63c8e8ef5a2111a + languageName: node + linkType: hard + +"@lerna/resolve-symlink@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/resolve-symlink@npm:4.0.0" + dependencies: + fs-extra: ^9.1.0 + npmlog: ^4.1.2 + read-cmd-shim: ^2.0.0 + checksum: 7cf967e4c63b99cdfea27057aa3e1509c5ae8b2fa52a10d8372ab8131cd4f95022c1ca1602e34e5f1d12db921cefc83f445cd1af6554c774d1f4503383432728 + languageName: node + linkType: hard + +"@lerna/rimraf-dir@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/rimraf-dir@npm:4.0.0" + dependencies: + "@lerna/child-process": 4.0.0 + npmlog: ^4.1.2 + path-exists: ^4.0.0 + rimraf: ^3.0.2 + checksum: 29b7846fc97d699e0b824c6712e815f132c50ac5f08e94863b97eebce499793e04b547a7d77d7aaf0711bbca2b200e1162275d2dddba999ffc6b217fbd7f70e9 + languageName: node + linkType: hard + +"@lerna/run-lifecycle@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/run-lifecycle@npm:4.0.0" + dependencies: + "@lerna/npm-conf": 4.0.0 + npm-lifecycle: ^3.1.5 + npmlog: ^4.1.2 + checksum: 1fa1fccdf5911082bff02fadda3d7b50bd9098147c40c38065f9e39fbba48ee1fc03e6b75f6931ffc67f73a5d3a247c66bd2eb975d67d9e96680cdffed0a0bbe + languageName: node + linkType: hard + +"@lerna/run-topologically@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/run-topologically@npm:4.0.0" + dependencies: + "@lerna/query-graph": 4.0.0 + p-queue: ^6.6.2 + checksum: 8b19f80da2f2c4961ff0c23ef1fd7eb7fe8be066fa25638952343b0462a4880603a99e655f5e54b43c61bb517b24ba0a704f2f49f45cb39af63d7add43c97f28 + languageName: node + linkType: hard + +"@lerna/run@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/run@npm:4.0.0" + dependencies: + "@lerna/command": 4.0.0 + "@lerna/filter-options": 4.0.0 + "@lerna/npm-run-script": 4.0.0 + "@lerna/output": 4.0.0 + "@lerna/profiler": 4.0.0 + "@lerna/run-topologically": 4.0.0 + "@lerna/timer": 4.0.0 + "@lerna/validation-error": 4.0.0 + p-map: ^4.0.0 + checksum: 21cc7beea6fd379a93d956955c62688257c35161b6cc1e46a25919807aef59690362aa9b9ad9d2f59855b2df89e809dfb5578b353a9875327640f5e3a95430b5 + languageName: node + linkType: hard + +"@lerna/symlink-binary@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/symlink-binary@npm:4.0.0" dependencies: - "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^27.2.4 - "@jest/test-result": ^27.2.4 - "@jest/transform": ^27.2.4 - "@jest/types": ^27.2.4 - chalk: ^4.0.0 - collect-v8-coverage: ^1.0.0 - exit: ^0.1.2 - glob: ^7.1.2 - graceful-fs: ^4.2.4 - istanbul-lib-coverage: ^3.0.0 - istanbul-lib-instrument: ^4.0.3 - istanbul-lib-report: ^3.0.0 - istanbul-lib-source-maps: ^4.0.0 - istanbul-reports: ^3.0.2 - jest-haste-map: ^27.2.4 - jest-resolve: ^27.2.4 - jest-util: ^27.2.4 - jest-worker: ^27.2.4 - slash: ^3.0.0 - source-map: ^0.6.0 - string-length: ^4.0.1 - terminal-link: ^2.0.0 - v8-to-istanbul: ^8.1.0 - peerDependencies: - node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 - peerDependenciesMeta: - node-notifier: - optional: true - checksum: f61a22165f368e1d30ade767208acd57766526c7fd93c1eb264a3843a4953846e44deebcf3afb185252a0513b66d7cabcf38a607597d05d283c7a8f3ed130600 + "@lerna/create-symlink": 4.0.0 + "@lerna/package": 4.0.0 + fs-extra: ^9.1.0 + p-map: ^4.0.0 + checksum: b0b3d305acd4856cfaace24767194b39239ce42c48d5dcf670f2247c8e17d9f88f6b3f04aac4349d83e73e07e0954dc307574f24fcb9006e8b9a73e8b12f1017 languageName: node linkType: hard -"@jest/source-map@npm:^27.0.6": - version: 27.0.6 - resolution: "@jest/source-map@npm:27.0.6" +"@lerna/symlink-dependencies@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/symlink-dependencies@npm:4.0.0" dependencies: - callsites: ^3.0.0 - graceful-fs: ^4.2.4 - source-map: ^0.6.0 - checksum: b4c09a0392e58a970b1bede96cd995279d95254efc997acff7fb44ad52fd4e4a372ce955c32777d1eac2006c3869b7d97227126d45a28612a40815823e3cbdb0 + "@lerna/create-symlink": 4.0.0 + "@lerna/resolve-symlink": 4.0.0 + "@lerna/symlink-binary": 4.0.0 + fs-extra: ^9.1.0 + p-map: ^4.0.0 + p-map-series: ^2.1.0 + checksum: 7e09f03382521798efd6231fd9ceaf85c0988007c115a7b999c012d2f18c182308fa8cd1e203eede18e1b3007d82b680ab98deffd2787eb747e0355597423b63 languageName: node linkType: hard -"@jest/test-result@npm:^27.2.4": - version: 27.2.4 - resolution: "@jest/test-result@npm:27.2.4" - dependencies: - "@jest/console": ^27.2.4 - "@jest/types": ^27.2.4 - "@types/istanbul-lib-coverage": ^2.0.0 - collect-v8-coverage: ^1.0.0 - checksum: 724c2f93c2a702c770fdd954043a9933215fe97695a40a476c66f713ac05d86744f46b7dc04b4d1165c5591ac49d14d7a3b8e6831064a6194d709833ff3d3822 +"@lerna/timer@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/timer@npm:4.0.0" + checksum: 7205ef8f350c0dce53e74fb78c5eeec0c743b4793e5f7949bdb85257a0076d4970b85ebb329d30b6c88b3d943553fdc10db09604c287322378eeac4a579d3995 languageName: node linkType: hard -"@jest/test-sequencer@npm:^27.2.4": - version: 27.2.4 - resolution: "@jest/test-sequencer@npm:27.2.4" +"@lerna/validation-error@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/validation-error@npm:4.0.0" dependencies: - "@jest/test-result": ^27.2.4 - graceful-fs: ^4.2.4 - jest-haste-map: ^27.2.4 - jest-runtime: ^27.2.4 - checksum: d19ccc8db296f540e6b872187a0526bb648ab6f6f5c42c16d7f65e586a46eb336d04be43201fe58a650e64981ab750a67c11fdaf0d41960547a8b4b8a2afcb8c + npmlog: ^4.1.2 + checksum: 166854cfb7cf3294325b0eace3bf24c5ef1c65452ff7c9eaba46c9008968a7b778cb7ca80421e4ae15b9e12af8f2084a5734d4741bbb2298b5f11ca739c517cf languageName: node linkType: hard -"@jest/transform@npm:^27.2.4": - version: 27.2.4 - resolution: "@jest/transform@npm:27.2.4" - dependencies: - "@babel/core": ^7.1.0 - "@jest/types": ^27.2.4 - babel-plugin-istanbul: ^6.0.0 - chalk: ^4.0.0 - convert-source-map: ^1.4.0 - fast-json-stable-stringify: ^2.0.0 - graceful-fs: ^4.2.4 - jest-haste-map: ^27.2.4 - jest-regex-util: ^27.0.6 - jest-util: ^27.2.4 - micromatch: ^4.0.4 - pirates: ^4.0.1 +"@lerna/version@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/version@npm:4.0.0" + dependencies: + "@lerna/check-working-tree": 4.0.0 + "@lerna/child-process": 4.0.0 + "@lerna/collect-updates": 4.0.0 + "@lerna/command": 4.0.0 + "@lerna/conventional-commits": 4.0.0 + "@lerna/github-client": 4.0.0 + "@lerna/gitlab-client": 4.0.0 + "@lerna/output": 4.0.0 + "@lerna/prerelease-id-from-version": 4.0.0 + "@lerna/prompt": 4.0.0 + "@lerna/run-lifecycle": 4.0.0 + "@lerna/run-topologically": 4.0.0 + "@lerna/validation-error": 4.0.0 + chalk: ^4.1.0 + dedent: ^0.7.0 + load-json-file: ^6.2.0 + minimatch: ^3.0.4 + npmlog: ^4.1.2 + p-map: ^4.0.0 + p-pipe: ^3.1.0 + p-reduce: ^2.1.0 + p-waterfall: ^2.1.1 + semver: ^7.3.4 slash: ^3.0.0 - source-map: ^0.6.1 - write-file-atomic: ^3.0.0 - checksum: 15ed959f213d8f19c4d626ce006c073a2b55c4fb1c902e44de170b0887cedb7d9ee8d1d4975acf746a9349154608a83452282ce4d65877900e8f5f64955d2368 + temp-write: ^4.0.0 + write-json-file: ^4.3.0 + checksum: 56207fd77c22d2cdae178bb2439bac0881a35fde271ad5ebc7df08df405ee154c3cd9eecefc48e6b4cec38b409304719d81878b8df46123faf7f60dfce64ef6a languageName: node linkType: hard -"@jest/types@npm:^27.2.4": - version: 27.2.4 - resolution: "@jest/types@npm:27.2.4" +"@lerna/write-log-file@npm:4.0.0": + version: 4.0.0 + resolution: "@lerna/write-log-file@npm:4.0.0" dependencies: - "@types/istanbul-lib-coverage": ^2.0.0 - "@types/istanbul-reports": ^3.0.0 - "@types/node": "*" - "@types/yargs": ^16.0.0 - chalk: ^4.0.0 - checksum: 0d34189874354a63bc80eeb99da75078ea8a65599c6cd0b937cf1909fc9d490f99adf5aa32ca5a67735496f131491f323b750983d471ecbbcd3e3fec618b01df + npmlog: ^4.1.2 + write-file-atomic: ^3.0.3 + checksum: 87049543924f571c8dcbd5cec2f69a3e739d5b03826a7cb12a671b2f33f2d123d0abd787cf3ffcf3b974962958a7e4a9743ec9baa8ca612f86c61b55624ed37e languageName: node linkType: hard @@ -1022,6 +1998,13 @@ __metadata: languageName: node linkType: hard +"@npmcli/ci-detect@npm:^1.0.0": + version: 1.3.0 + resolution: "@npmcli/ci-detect@npm:1.3.0" + checksum: 3ba5e974c71596edf5327def31fd6af02f7ca4ec08bce39f9cfb44132dda748f9f5ad631d6f1b168e983c58d01555d31ff37f26c7d45731a9784fb936a5af11e + languageName: node + linkType: hard + "@npmcli/fs@npm:^1.0.0": version: 1.0.0 resolution: "@npmcli/fs@npm:1.0.0" @@ -1032,6 +2015,34 @@ __metadata: languageName: node linkType: hard +"@npmcli/git@npm:^2.1.0": + version: 2.1.0 + resolution: "@npmcli/git@npm:2.1.0" + dependencies: + "@npmcli/promise-spawn": ^1.3.2 + lru-cache: ^6.0.0 + mkdirp: ^1.0.4 + npm-pick-manifest: ^6.1.1 + promise-inflight: ^1.0.1 + promise-retry: ^2.0.1 + semver: ^7.3.5 + which: ^2.0.2 + checksum: 1f89752df7b836f378b8828423c6ae344fe59399915b9460acded19686e2d0626246251a3cd4cc411ed21c1be6fe7f0c2195c17f392e88748581262ee806dc33 + languageName: node + linkType: hard + +"@npmcli/installed-package-contents@npm:^1.0.6": + version: 1.0.7 + resolution: "@npmcli/installed-package-contents@npm:1.0.7" + dependencies: + npm-bundled: ^1.1.1 + npm-normalize-package-bin: ^1.0.1 + bin: + installed-package-contents: index.js + checksum: a4a29b99d439827ce2e7817c1f61b56be160e640696e31dc513a2c8a37c792f75cdb6258ec15a1e22904f20df0a8a3019dd3766de5e6619f259834cf64233538 + languageName: node + linkType: hard + "@npmcli/move-file@npm:^1.0.1": version: 1.1.2 resolution: "@npmcli/move-file@npm:1.1.2" @@ -1042,6 +2053,34 @@ __metadata: languageName: node linkType: hard +"@npmcli/node-gyp@npm:^1.0.2": + version: 1.0.2 + resolution: "@npmcli/node-gyp@npm:1.0.2" + checksum: ee4b0706862404189ed40abf19760d9f1a45dcf2ad823b6fbc37f69709ae2fefb57e4ee27cb541111f08c304c46f885cc0479f4fe842af107148f4650cc5ad5e + languageName: node + linkType: hard + +"@npmcli/promise-spawn@npm:^1.2.0, @npmcli/promise-spawn@npm:^1.3.2": + version: 1.3.2 + resolution: "@npmcli/promise-spawn@npm:1.3.2" + dependencies: + infer-owner: ^1.0.4 + checksum: 543b7c1e26230499b4100b10d45efa35b1077e8f25595050f34930ca3310abe9524f7387279fe4330139e0f28a0207595245503439276fd4b686cca2b6503080 + languageName: node + linkType: hard + +"@npmcli/run-script@npm:^1.8.2": + version: 1.8.6 + resolution: "@npmcli/run-script@npm:1.8.6" + dependencies: + "@npmcli/node-gyp": ^1.0.2 + "@npmcli/promise-spawn": ^1.3.2 + node-gyp: ^7.1.0 + read-package-json-fast: ^2.0.1 + checksum: 41924e7925452ac8e78d78bef5d65b3d58f86eea4481a453e11e3a9099504bfbfcf1f65d7f75d92170b846fa347d05424e58e617fb9c17b3efd87db599a0f46e + languageName: node + linkType: hard + "@oclif/color@npm:^0.x": version: 0.1.2 resolution: "@oclif/color@npm:0.1.2" @@ -1226,6 +2265,189 @@ __metadata: languageName: node linkType: hard +"@octokit/auth-token@npm:^2.4.4": + version: 2.5.0 + resolution: "@octokit/auth-token@npm:2.5.0" + dependencies: + "@octokit/types": ^6.0.3 + checksum: 45949296c09abcd6beb4c3f69d45b0c1f265f9581d2a9683cf4d1800c4cf8259c2f58d58e44c16c20bffb85a0282a176c0d51f4af300e428b863f27b910e6297 + languageName: node + linkType: hard + +"@octokit/core@npm:^3.5.1": + version: 3.5.1 + resolution: "@octokit/core@npm:3.5.1" + dependencies: + "@octokit/auth-token": ^2.4.4 + "@octokit/graphql": ^4.5.8 + "@octokit/request": ^5.6.0 + "@octokit/request-error": ^2.0.5 + "@octokit/types": ^6.0.3 + before-after-hook: ^2.2.0 + universal-user-agent: ^6.0.0 + checksum: 67179739fc9712b201f2400f132287a2c56a18506e00900bc9d2a3f742b74f1ba69ad998e42f28f3964c0bd1d5478232c1ec7b485c97702b821fbe22b76afa90 + languageName: node + linkType: hard + +"@octokit/endpoint@npm:^6.0.1": + version: 6.0.12 + resolution: "@octokit/endpoint@npm:6.0.12" + dependencies: + "@octokit/types": ^6.0.3 + is-plain-object: ^5.0.0 + universal-user-agent: ^6.0.0 + checksum: b48b29940af11c4b9bca41cf56809754bb8385d4e3a6122671799d27f0238ba575b3fde86d2d30a84f4dbbc14430940de821e56ecc6a9a92d47fc2b29a31479d + languageName: node + linkType: hard + +"@octokit/graphql@npm:^4.5.8": + version: 4.8.0 + resolution: "@octokit/graphql@npm:4.8.0" + dependencies: + "@octokit/request": ^5.6.0 + "@octokit/types": ^6.0.3 + universal-user-agent: ^6.0.0 + checksum: f68afe53f63900d4a16a0a733f2f500df2695b731f8ed32edb728d50edead7f5011437f71d069c2d2f6d656227703d0c832a3c8af58ecf82bd5dcc051f2d2d74 + languageName: node + linkType: hard + +"@octokit/openapi-types@npm:^10.6.4": + version: 10.6.4 + resolution: "@octokit/openapi-types@npm:10.6.4" + checksum: 2ee92ac55f2bfd45dd13f2d643f0041945398a9bf4643c47d25dbb307588ddb662a8f7b1ac3ed667b4cb43b369d14c5119c80d19dde03e5719930ca886037ab9 + languageName: node + linkType: hard + +"@octokit/plugin-enterprise-rest@npm:^6.0.1": + version: 6.0.1 + resolution: "@octokit/plugin-enterprise-rest@npm:6.0.1" + checksum: 1c9720002f31daf62f4f48e73557dcdd7fcde6e0f6d43256e3f2ec827b5548417297186c361fb1af497fdcc93075a7b681e6ff06e2f20e4a8a3e74cc09d1f7e3 + languageName: node + linkType: hard + +"@octokit/plugin-paginate-rest@npm:^2.16.4": + version: 2.16.7 + resolution: "@octokit/plugin-paginate-rest@npm:2.16.7" + dependencies: + "@octokit/types": ^6.31.3 + peerDependencies: + "@octokit/core": ">=2" + checksum: 86e394527347245b4fce73ee24aff9b585b944bd90fa1e4c2ce56ef25f413150a89f363a6ac21f79c5c5cc3e9d58a394dd10cd1d95f726469757a9251f901e6e + languageName: node + linkType: hard + +"@octokit/plugin-request-log@npm:^1.0.4": + version: 1.0.4 + resolution: "@octokit/plugin-request-log@npm:1.0.4" + peerDependencies: + "@octokit/core": ">=3" + checksum: 2086db00056aee0f8ebd79797b5b57149ae1014e757ea08985b71eec8c3d85dbb54533f4fd34b6b9ecaa760904ae6a7536be27d71e50a3782ab47809094bfc0c + languageName: node + linkType: hard + +"@octokit/plugin-rest-endpoint-methods@npm:5.11.4": + version: 5.11.4 + resolution: "@octokit/plugin-rest-endpoint-methods@npm:5.11.4" + dependencies: + "@octokit/types": ^6.31.2 + deprecation: ^2.3.1 + peerDependencies: + "@octokit/core": ">=3" + checksum: 3e1f8bd469dffb04f0a87de38989b9cc3ce726c8ad1ae3f777a17589bfdf092cfae0644caab6227f338f700c566fd9b17c8c25e6b8a4798ca44bd4c0e081e46d + languageName: node + linkType: hard + +"@octokit/request-error@npm:^2.0.5, @octokit/request-error@npm:^2.1.0": + version: 2.1.0 + resolution: "@octokit/request-error@npm:2.1.0" + dependencies: + "@octokit/types": ^6.0.3 + deprecation: ^2.0.0 + once: ^1.4.0 + checksum: baec2b5700498be01b4d958f9472cb776b3f3b0ea52924323a07e7a88572e24cac2cdf7eb04a0614031ba346043558b47bea2d346e98f0e8385b4261f138ef18 + languageName: node + linkType: hard + +"@octokit/request@npm:^5.6.0": + version: 5.6.1 + resolution: "@octokit/request@npm:5.6.1" + dependencies: + "@octokit/endpoint": ^6.0.1 + "@octokit/request-error": ^2.1.0 + "@octokit/types": ^6.16.1 + is-plain-object: ^5.0.0 + node-fetch: ^2.6.1 + universal-user-agent: ^6.0.0 + checksum: d61e7831891bd24438a609794092b345fc7ca99900b82cd0c82792c1df6fb7019ee9cc6eb493149d0e4487657cfa7e0ad7a3ee4afb094f6337e99bfb801f98e2 + languageName: node + linkType: hard + +"@octokit/rest@npm:^18.1.0": + version: 18.11.4 + resolution: "@octokit/rest@npm:18.11.4" + dependencies: + "@octokit/core": ^3.5.1 + "@octokit/plugin-paginate-rest": ^2.16.4 + "@octokit/plugin-request-log": ^1.0.4 + "@octokit/plugin-rest-endpoint-methods": 5.11.4 + checksum: 3ca3df2a4be8689d9a8e49527928110cfeb4ff312950101e31157ad9c08421fb41135adadc04718e65be4a7c087ceeb9f897ce22e121c59302d21f855f8c258e + languageName: node + linkType: hard + +"@octokit/types@npm:^6.0.3, @octokit/types@npm:^6.16.1, @octokit/types@npm:^6.31.2, @octokit/types@npm:^6.31.3": + version: 6.31.3 + resolution: "@octokit/types@npm:6.31.3" + dependencies: + "@octokit/openapi-types": ^10.6.4 + checksum: 2dc2638f83f00771a10375a3da59a8bd4de2a2f367d522c3c1648b5d2167bef2affd25819076d32c408f05592bbaa007e3bb8aed23f370ff635729c9e3d040ad + languageName: node + linkType: hard + +"@platezero/parser@0.3.2, @platezero/parser@workspace:packages/parser": + version: 0.0.0-use.local + resolution: "@platezero/parser@workspace:packages/parser" + dependencies: + axios: 0.19.0 + cheerio: 1.0.0-rc.3 + html-entities: 1.2.1 + ingredient-parser: "https://github.com/plate0/ingredient-parser.git#v0.2.2" + jest: 24.8.0 + lodash: 4.17.14 + moment: 2.24.0 + turndown: 5.0.3 + languageName: unknown + linkType: soft + +"@platezero/platezero@workspace:packages/platezero": + version: 0.0.0-use.local + resolution: "@platezero/platezero@workspace:packages/platezero" + dependencies: + "@apollo/client": 3.4.15 + "@platezero/parser": 0.3.2 + "@types/jest": 27.0.2 + "@types/node": 16.10.2 + "@types/react": 17.0.26 + apollo: 2.33.6 + autoprefixer: 10.3.6 + babel-jest: 27.2.4 + classnames: 2.3.1 + eslint: 7.32.0 + eslint-config-next: 11.1.2 + graphql: 15.6.0 + jest: 27.2.4 + lerna: ^4.0.0 + next: 11.1.2 + next-cookie: 2.7.0 + postcss: 8.3.8 + prettier: 2.4.1 + react: 17.0.2 + react-dom: 17.0.2 + slugify: 1.6.0 + tailwindcss: 2.2.16 + typescript: 4.4.3 + languageName: unknown + linkType: soft + "@rushstack/eslint-patch@npm:^1.0.6": version: 1.0.7 resolution: "@rushstack/eslint-patch@npm:1.0.7" @@ -1272,7 +2494,7 @@ __metadata: languageName: node linkType: hard -"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.14": +"@types/babel__core@npm:^7.0.0, @types/babel__core@npm:^7.1.0, @types/babel__core@npm:^7.1.14": version: 7.1.16 resolution: "@types/babel__core@npm:7.1.16" dependencies: @@ -1345,6 +2567,16 @@ __metadata: languageName: node linkType: hard +"@types/istanbul-reports@npm:^1.1.1": + version: 1.1.2 + resolution: "@types/istanbul-reports@npm:1.1.2" + dependencies: + "@types/istanbul-lib-coverage": "*" + "@types/istanbul-lib-report": "*" + checksum: 00866e815d1e68d0a590d691506937b79d8d65ad8eab5ed34dbfee66136c7c0f4ea65327d32046d5fe469f22abea2b294987591dc66365ebc3991f7e413b2d78 + languageName: node + linkType: hard + "@types/istanbul-reports@npm:^3.0.0": version: 3.0.1 resolution: "@types/istanbul-reports@npm:3.0.1" @@ -1371,6 +2603,20 @@ __metadata: languageName: node linkType: hard +"@types/minimatch@npm:^3.0.3": + version: 3.0.5 + resolution: "@types/minimatch@npm:3.0.5" + checksum: c41d136f67231c3131cf1d4ca0b06687f4a322918a3a5adddc87ce90ed9dbd175a3610adee36b106ae68c0b92c637c35e02b58c8a56c424f71d30993ea220b92 + languageName: node + linkType: hard + +"@types/minimist@npm:^1.2.0": + version: 1.2.2 + resolution: "@types/minimist@npm:1.2.2" + checksum: b8da83c66eb4aac0440e64674b19564d9d86c80ae273144db9681e5eeff66f238ade9515f5006ffbfa955ceff8b89ad2bd8ec577d7caee74ba101431fb07045d + languageName: node + linkType: hard + "@types/node-fetch@npm:^2.5.10": version: 2.5.12 resolution: "@types/node-fetch@npm:2.5.12" @@ -1388,6 +2634,13 @@ __metadata: languageName: node linkType: hard +"@types/normalize-package-data@npm:^2.4.0": + version: 2.4.1 + resolution: "@types/normalize-package-data@npm:2.4.1" + checksum: e87bccbf11f95035c89a132b52b79ce69a1e3652fe55962363063c9c0dae0fe2477ebc585e03a9652adc6f381d24ba5589cc5e51849df4ced3d3e004a7d40ed5 + languageName: node + linkType: hard + "@types/parse-json@npm:^4.0.0": version: 4.0.0 resolution: "@types/parse-json@npm:4.0.0" @@ -1427,6 +2680,13 @@ __metadata: languageName: node linkType: hard +"@types/stack-utils@npm:^1.0.1": + version: 1.0.1 + resolution: "@types/stack-utils@npm:1.0.1" + checksum: 9dc052b575acfeca3f165fb19d87b7b2989d54ed7d64a7eeb0b7587bc5795ef1f2c2b1511a44dcf0831ef35b8ce3486f97fcbfdd50c01f68aa297de31502c9d9 + languageName: node + linkType: hard + "@types/stack-utils@npm:^2.0.0": version: 2.0.1 resolution: "@types/stack-utils@npm:2.0.1" @@ -1441,6 +2701,15 @@ __metadata: languageName: node linkType: hard +"@types/yargs@npm:^13.0.0": + version: 13.0.12 + resolution: "@types/yargs@npm:13.0.12" + dependencies: + "@types/yargs-parser": "*" + checksum: 4eb34d8c071892299646e5a3fb02a643f5a5ea8da8f4d1817001882ebbcfa4fbda235b8978732f8eb55fa16433296e2087907fe69678a69125f0dca627a91426 + languageName: node + linkType: hard + "@types/yargs@npm:^16.0.0": version: 16.0.4 resolution: "@types/yargs@npm:16.0.4" @@ -1555,6 +2824,18 @@ __metadata: languageName: node linkType: hard +"JSONStream@npm:^1.0.4": + version: 1.3.5 + resolution: "JSONStream@npm:1.3.5" + dependencies: + jsonparse: ^1.2.0 + through: ">=2.2.7 <3" + bin: + JSONStream: ./bin.js + checksum: 2605fa124260c61bad38bb65eba30d2f72216a78e94d0ab19b11b4e0327d572b8d530c0c9cc3b0764f727ad26d39e00bf7ebad57781ca6368394d73169c59e46 + languageName: node + linkType: hard + "abab@npm:^2.0.0, abab@npm:^2.0.3, abab@npm:^2.0.5": version: 2.0.5 resolution: "abab@npm:2.0.5" @@ -1659,6 +2940,13 @@ __metadata: languageName: node linkType: hard +"add-stream@npm:^1.0.0": + version: 1.0.0 + resolution: "add-stream@npm:1.0.0" + checksum: 3e9e8b0b8f0170406d7c3a9a39bfbdf419ccccb0fd2a396338c0fda0a339af73bf738ad414fc520741de74517acf0dd92b4a36fd3298a47fd5371eee8f2c5a06 + languageName: node + linkType: hard + "agent-base@npm:6, agent-base@npm:^6.0.2": version: 6.0.2 resolution: "agent-base@npm:6.0.2" @@ -1757,7 +3045,7 @@ __metadata: languageName: node linkType: hard -"ansi-regex@npm:^4.1.0": +"ansi-regex@npm:^4.0.0, ansi-regex@npm:^4.1.0": version: 4.1.0 resolution: "ansi-regex@npm:4.1.0" checksum: 97aa4659538d53e5e441f5ef2949a3cffcb838e57aeaad42c4194e9d7ddb37246a6526c4ca85d3940a9d1e19b11cc2e114530b54c9d700c8baf163c31779baf8 @@ -1817,6 +3105,16 @@ __metadata: languageName: node linkType: hard +"anymatch@npm:^2.0.0": + version: 2.0.0 + resolution: "anymatch@npm:2.0.0" + dependencies: + micromatch: ^3.1.4 + normalize-path: ^2.1.1 + checksum: f7bb1929842b4585cdc28edbb385767d499ce7d673f96a8f11348d2b2904592ffffc594fe9229b9a1e9e4dccb9329b7692f9f45e6a11dcefbb76ecdc9ab740f6 + languageName: node + linkType: hard + "anymatch@npm:^3.0.3, anymatch@npm:~3.1.1, anymatch@npm:~3.1.2": version: 3.1.2 resolution: "anymatch@npm:3.1.2" @@ -2120,6 +3418,13 @@ __metadata: languageName: node linkType: hard +"aproba@npm:^2.0.0": + version: 2.0.0 + resolution: "aproba@npm:2.0.0" + checksum: 5615cadcfb45289eea63f8afd064ab656006361020e1735112e346593856f87435e02d8dcc7ff0d11928bc7d425f27bc7c2a84f6c0b35ab0ff659c814c138a24 + languageName: node + linkType: hard + "are-we-there-yet@npm:~1.1.2": version: 1.1.7 resolution: "are-we-there-yet@npm:1.1.7" @@ -2163,6 +3468,34 @@ __metadata: languageName: node linkType: hard +"arr-diff@npm:^4.0.0": + version: 4.0.0 + resolution: "arr-diff@npm:4.0.0" + checksum: ea7c8834842ad3869297f7915689bef3494fd5b102ac678c13ffccab672d3d1f35802b79e90c4cfec2f424af3392e44112d1ccf65da34562ed75e049597276a0 + languageName: node + linkType: hard + +"arr-flatten@npm:^1.1.0": + version: 1.1.0 + resolution: "arr-flatten@npm:1.1.0" + checksum: 963fe12564fca2f72c055f3f6c206b9e031f7c433a0c66ca9858b484821f248c5b1e5d53c8e4989d80d764cd776cf6d9b160ad05f47bdc63022bfd63b5455e22 + languageName: node + linkType: hard + +"arr-union@npm:^3.1.0": + version: 3.1.0 + resolution: "arr-union@npm:3.1.0" + checksum: b5b0408c6eb7591143c394f3be082fee690ddd21f0fdde0a0a01106799e847f67fcae1b7e56b0a0c173290e29c6aca9562e82b300708a268bc8f88f3d6613cb9 + languageName: node + linkType: hard + +"array-differ@npm:^3.0.0": + version: 3.0.0 + resolution: "array-differ@npm:3.0.0" + checksum: 117edd9df5c1530bd116c6e8eea891d4bd02850fd89b1b36e532b6540e47ca620a373b81feca1c62d1395d9ae601516ba538abe5e8172d41091da2c546b05fb7 + languageName: node + linkType: hard + "array-equal@npm:^1.0.0": version: 1.0.0 resolution: "array-equal@npm:1.0.0" @@ -2170,6 +3503,13 @@ __metadata: languageName: node linkType: hard +"array-ify@npm:^1.0.0": + version: 1.0.0 + resolution: "array-ify@npm:1.0.0" + checksum: c0502015b319c93dd4484f18036bcc4b654eb76a4aa1f04afbcef11ac918859bb1f5d71ba1f0f1141770db9eef1a4f40f1761753650873068010bbf7bcdae4a4 + languageName: node + linkType: hard + "array-includes@npm:^3.1.1, array-includes@npm:^3.1.3": version: 3.1.3 resolution: "array-includes@npm:3.1.3" @@ -2190,6 +3530,13 @@ __metadata: languageName: node linkType: hard +"array-unique@npm:^0.3.2": + version: 0.3.2 + resolution: "array-unique@npm:0.3.2" + checksum: da344b89cfa6b0a5c221f965c21638bfb76b57b45184a01135382186924f55973cd9b171d4dad6bf606c6d9d36b0d721d091afdc9791535ead97ccbe78f8a888 + languageName: node + linkType: hard + "array.prototype.flat@npm:^1.2.4": version: 1.2.5 resolution: "array.prototype.flat@npm:1.2.5" @@ -2212,6 +3559,27 @@ __metadata: languageName: node linkType: hard +"arrify@npm:^1.0.1": + version: 1.0.1 + resolution: "arrify@npm:1.0.1" + checksum: 745075dd4a4624ff0225c331dacb99be501a515d39bcb7c84d24660314a6ec28e68131b137e6f7e16318170842ce97538cd298fc4cd6b2cc798e0b957f2747e7 + languageName: node + linkType: hard + +"arrify@npm:^2.0.1": + version: 2.0.1 + resolution: "arrify@npm:2.0.1" + checksum: 067c4c1afd182806a82e4c1cb8acee16ab8b5284fbca1ce29408e6e91281c36bb5b612f6ddfbd40a0f7a7e0c75bf2696eb94c027f6e328d6e9c52465c98e4209 + languageName: node + linkType: hard + +"asap@npm:^2.0.0": + version: 2.0.6 + resolution: "asap@npm:2.0.6" + checksum: b296c92c4b969e973260e47523207cd5769abd27c245a68c26dc7a0fe8053c55bb04360237cb51cab1df52be939da77150ace99ad331fb7fb13b3423ed73ff3d + languageName: node + linkType: hard + "asn1.js@npm:^5.2.0": version: 5.4.1 resolution: "asn1.js@npm:5.4.1" @@ -2262,6 +3630,13 @@ __metadata: languageName: node linkType: hard +"assign-symbols@npm:^1.0.0": + version: 1.0.0 + resolution: "assign-symbols@npm:1.0.0" + checksum: c0eb895911d05b6b2d245154f70461c5e42c107457972e5ebba38d48967870dee53bcdf6c7047990586daa80fab8dab3cc6300800fbd47b454247fdedd859a2c + languageName: node + linkType: hard + "ast-types-flow@npm:^0.0.7": version: 0.0.7 resolution: "ast-types-flow@npm:0.0.7" @@ -2285,6 +3660,13 @@ __metadata: languageName: node linkType: hard +"astral-regex@npm:^1.0.0": + version: 1.0.0 + resolution: "astral-regex@npm:1.0.0" + checksum: 93417fc0879531cd95ace2560a54df865c9461a3ac0714c60cbbaa5f1f85d2bee85489e78d82f70b911b71ac25c5f05fc5a36017f44c9bb33c701bee229ff848 + languageName: node + linkType: hard + "astral-regex@npm:^2.0.0": version: 2.0.0 resolution: "astral-regex@npm:2.0.0" @@ -2313,6 +3695,15 @@ __metadata: languageName: node linkType: hard +"atob@npm:^2.1.2": + version: 2.1.2 + resolution: "atob@npm:2.1.2" + bin: + atob: bin/atob.js + checksum: dfeeeb70090c5ebea7be4b9f787f866686c645d9f39a0d184c817252d0cf08455ed25267d79c03254d3be1f03ac399992a792edcd5ffb9c91e097ab5ef42833a + languageName: node + linkType: hard + "autoprefixer@npm:10.3.6": version: 10.3.6 resolution: "autoprefixer@npm:10.3.6" @@ -2401,6 +3792,35 @@ __metadata: languageName: node linkType: hard +"babel-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-jest@npm:24.9.0" + dependencies: + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/babel__core": ^7.1.0 + babel-plugin-istanbul: ^5.1.0 + babel-preset-jest: ^24.9.0 + chalk: ^2.4.2 + slash: ^2.0.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: 205f0d701a202edb483a1f8cc79557f777d20df42656f1a1c2e7ef368f8f53f9d4c4af08ea812d98b61ab12cc5f146db4573a301880770d1dc5748624cc51711 + languageName: node + linkType: hard + +"babel-plugin-istanbul@npm:^5.1.0": + version: 5.2.0 + resolution: "babel-plugin-istanbul@npm:5.2.0" + dependencies: + "@babel/helper-plugin-utils": ^7.0.0 + find-up: ^3.0.0 + istanbul-lib-instrument: ^3.3.0 + test-exclude: ^5.2.3 + checksum: 46e31a53d1c08a4b738c988871e94dd83e534b3d49248c45c9e63d04d221aa787d8c4f32576e1fade26dbab7cabeae665cbf5eb067aaef74500048dfef365c80 + languageName: node + linkType: hard + "babel-plugin-istanbul@npm:^6.0.0": version: 6.0.0 resolution: "babel-plugin-istanbul@npm:6.0.0" @@ -2414,6 +3834,15 @@ __metadata: languageName: node linkType: hard +"babel-plugin-jest-hoist@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-plugin-jest-hoist@npm:24.9.0" + dependencies: + "@types/babel__traverse": ^7.0.6 + checksum: 9f0d23fcf94448e302e201665d7232303a548107adf545590b09f22a747755387cb9dc676d22884a298b17d11ede5401436e1b70fa574eee3efa61ad1230c8e6 + languageName: node + linkType: hard + "babel-plugin-jest-hoist@npm:^27.2.0": version: 27.2.0 resolution: "babel-plugin-jest-hoist@npm:27.2.0" @@ -2448,6 +3877,18 @@ __metadata: languageName: node linkType: hard +"babel-preset-jest@npm:^24.9.0": + version: 24.9.0 + resolution: "babel-preset-jest@npm:24.9.0" + dependencies: + "@babel/plugin-syntax-object-rest-spread": ^7.0.0 + babel-plugin-jest-hoist: ^24.9.0 + peerDependencies: + "@babel/core": ^7.0.0 + checksum: d32ab6255e36ed06ef1cc53089b261a74c171d17758792979c2992d4fcb97982f67f837156bbef38042eb11751496a783dee61aafcbf2d7449ed94d52483bee2 + languageName: node + linkType: hard + "babel-preset-jest@npm:^27.2.0": version: 27.2.0 resolution: "babel-preset-jest@npm:27.2.0" @@ -2474,6 +3915,21 @@ __metadata: languageName: node linkType: hard +"base@npm:^0.11.1": + version: 0.11.2 + resolution: "base@npm:0.11.2" + dependencies: + cache-base: ^1.0.1 + class-utils: ^0.3.5 + component-emitter: ^1.2.1 + define-property: ^1.0.0 + isobject: ^3.0.1 + mixin-deep: ^1.2.0 + pascalcase: ^0.1.1 + checksum: a4a146b912e27eea8f66d09cb0c9eab666f32ce27859a7dfd50f38cd069a2557b39f16dba1bc2aecb3b44bf096738dd207b7970d99b0318423285ab1b1994edd + languageName: node + linkType: hard + "bcrypt-pbkdf@npm:^1.0.0": version: 1.0.2 resolution: "bcrypt-pbkdf@npm:1.0.2" @@ -2483,6 +3939,13 @@ __metadata: languageName: node linkType: hard +"before-after-hook@npm:^2.2.0": + version: 2.2.2 + resolution: "before-after-hook@npm:2.2.2" + checksum: dc2e1ffe389e5afbef2a46790b1b5a50247ed57aba67649cfa9ec2552d248cc9278f222e72fb5a8ff59bbb39d78fbaa97e7234ead0c6b5e8418b67a8644ce207 + languageName: node + linkType: hard + "big.js@npm:^5.2.2": version: 5.2.2 resolution: "big.js@npm:5.2.2" @@ -2497,6 +3960,15 @@ __metadata: languageName: node linkType: hard +"bindings@npm:^1.5.0": + version: 1.5.0 + resolution: "bindings@npm:1.5.0" + dependencies: + file-uri-to-path: 1.0.0 + checksum: 65b6b48095717c2e6105a021a7da4ea435aa8d3d3cd085cb9e85bcb6e5773cf318c4745c3f7c504412855940b585bdf9b918236612a1c7a7942491de176f1ae7 + languageName: node + linkType: hard + "bn.js@npm:^4.0.0, bn.js@npm:^4.1.0, bn.js@npm:^4.11.9": version: 4.12.0 resolution: "bn.js@npm:4.12.0" @@ -2535,6 +4007,24 @@ __metadata: languageName: node linkType: hard +"braces@npm:^2.3.1": + version: 2.3.2 + resolution: "braces@npm:2.3.2" + dependencies: + arr-flatten: ^1.1.0 + array-unique: ^0.3.2 + extend-shallow: ^2.0.1 + fill-range: ^4.0.0 + isobject: ^3.0.1 + repeat-element: ^1.1.2 + snapdragon: ^0.8.1 + snapdragon-node: ^2.0.1 + split-string: ^3.0.2 + to-regex: ^3.0.1 + checksum: e30dcb6aaf4a31c8df17d848aa283a65699782f75ad61ae93ec25c9729c66cf58e66f0000a9fec84e4add1135bb7da40f7cb9601b36bebcfa9ca58e8d5c07de0 + languageName: node + linkType: hard + "braces@npm:^3.0.1, braces@npm:~3.0.2": version: 3.0.2 resolution: "braces@npm:3.0.2" @@ -2558,6 +4048,15 @@ __metadata: languageName: node linkType: hard +"browser-resolve@npm:^1.11.3": + version: 1.11.3 + resolution: "browser-resolve@npm:1.11.3" + dependencies: + resolve: 1.1.7 + checksum: 431bfc1a17406362a3010a2c35503eb7d1253dbcb8081c1ce236ddb0b954a33d52dcaf0b07f64c0f20394d6eeec1be4f6551da3734ce9ed5dcc38e876c96d5d5 + languageName: node + linkType: hard + "browserify-aes@npm:^1.0.0, browserify-aes@npm:^1.0.4": version: 1.2.0 resolution: "browserify-aes@npm:1.2.0" @@ -2712,13 +4211,27 @@ __metadata: languageName: node linkType: hard -"byline@npm:5.0.0": +"builtins@npm:^1.0.3": + version: 1.0.3 + resolution: "builtins@npm:1.0.3" + checksum: 47ce94f7eee0e644969da1f1a28e5f29bd2e48b25b2bbb61164c345881086e29464ccb1fb88dbc155ea26e8b1f5fc8a923b26c8c1ed0935b67b644d410674513 + languageName: node + linkType: hard + +"byline@npm:5.0.0, byline@npm:^5.0.0": version: 5.0.0 resolution: "byline@npm:5.0.0" checksum: 737ca83e8eda2976728dae62e68bc733aea095fab08db4c6f12d3cee3cf45b6f97dce45d1f6b6ff9c2c947736d10074985b4425b31ce04afa1985a4ef3d334a7 languageName: node linkType: hard +"byte-size@npm:^7.0.0": + version: 7.0.1 + resolution: "byte-size@npm:7.0.1" + checksum: 6791663a6d53bf950e896f119d3648fe8d7e8ae677e2ccdae84d0e5b78f21126e25f9d73aa19be2a297cb27abd36b6f5c361c0de36ebb2f3eb8a853f2ac99a4a + languageName: node + linkType: hard + "bytes@npm:3.1.0, bytes@npm:^3.0.0": version: 3.1.0 resolution: "bytes@npm:3.1.0" @@ -2726,7 +4239,7 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^15.0.5": +"cacache@npm:^15.0.5, cacache@npm:^15.2.0": version: 15.3.0 resolution: "cacache@npm:15.3.0" dependencies: @@ -2752,6 +4265,23 @@ __metadata: languageName: node linkType: hard +"cache-base@npm:^1.0.1": + version: 1.0.1 + resolution: "cache-base@npm:1.0.1" + dependencies: + collection-visit: ^1.0.0 + component-emitter: ^1.2.1 + get-value: ^2.0.6 + has-value: ^1.0.0 + isobject: ^3.0.1 + set-value: ^2.0.0 + to-object-path: ^0.3.0 + union-value: ^1.0.0 + unset-value: ^1.0.0 + checksum: 9114b8654fe2366eedc390bad0bcf534e2f01b239a888894e2928cb58cdc1e6ea23a73c6f3450dcfd2058aa73a8a981e723cd1e7c670c047bf11afdc65880107 + languageName: node + linkType: hard + "call-bind@npm:^1.0.0, call-bind@npm:^1.0.2": version: 1.0.2 resolution: "call-bind@npm:1.0.2" @@ -2811,7 +4341,18 @@ __metadata: languageName: node linkType: hard -"camelcase@npm:^5.3.1": +"camelcase-keys@npm:^6.2.2": + version: 6.2.2 + resolution: "camelcase-keys@npm:6.2.2" + dependencies: + camelcase: ^5.3.1 + map-obj: ^4.0.0 + quick-lru: ^4.0.1 + checksum: 43c9af1adf840471e54c68ab3e5fe8a62719a6b7dbf4e2e86886b7b0ff96112c945736342b837bd2529ec9d1c7d1934e5653318478d98e0cf22c475c04658e2a + languageName: node + linkType: hard + +"camelcase@npm:^5.0.0, camelcase@npm:^5.3.1": version: 5.3.1 resolution: "camelcase@npm:5.3.1" checksum: e6effce26b9404e3c0f301498184f243811c30dfe6d0b9051863bd8e4034d09c8c2923794f280d6827e5aa055f6c434115ff97864a16a963366fb35fd673024b @@ -2843,6 +4384,15 @@ __metadata: languageName: node linkType: hard +"capture-exit@npm:^2.0.0": + version: 2.0.0 + resolution: "capture-exit@npm:2.0.0" + dependencies: + rsvp: ^4.8.4 + checksum: 0b9f10daca09e521da9599f34c8e7af14ad879c336e2bdeb19955b375398ae1c5bcc91ac9f2429944343057ee9ed028b1b2fb28816c384e0e55d70c439b226f4 + languageName: node + linkType: hard + "cardinal@npm:^2.1.1": version: 2.1.1 resolution: "cardinal@npm:2.1.1" @@ -2862,7 +4412,7 @@ __metadata: languageName: node linkType: hard -"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.4.1, chalk@npm:^2.4.2": +"chalk@npm:2.4.2, chalk@npm:^2.0.0, chalk@npm:^2.0.1, chalk@npm:^2.4.1, chalk@npm:^2.4.2": version: 2.4.2 resolution: "chalk@npm:2.4.2" dependencies: @@ -2943,6 +4493,13 @@ __metadata: languageName: node linkType: hard +"chardet@npm:^0.7.0": + version: 0.7.0 + resolution: "chardet@npm:0.7.0" + checksum: 6fd5da1f5d18ff5712c1e0aed41da200d7c51c28f11b36ee3c7b483f3696dabc08927fc6b227735eb8f0e1215c9a8abd8154637f3eff8cada5959df7f58b024d + languageName: node + linkType: hard + "cheerio@npm:1.0.0-rc.3": version: 1.0.0-rc.3 resolution: "cheerio@npm:1.0.0-rc.3" @@ -2995,6 +4552,13 @@ __metadata: languageName: node linkType: hard +"chownr@npm:^1.1.4": + version: 1.1.4 + resolution: "chownr@npm:1.1.4" + checksum: 115648f8eb38bac5e41c3857f3e663f9c39ed6480d1349977c4d96c95a47266fcacc5a5aabf3cb6c481e22d72f41992827db47301851766c4fd77ac21a4f081d + languageName: node + linkType: hard + "chownr@npm:^2.0.0": version: 2.0.0 resolution: "chownr@npm:2.0.0" @@ -3002,6 +4566,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:^2.0.0": + version: 2.0.0 + resolution: "ci-info@npm:2.0.0" + checksum: 3b374666a85ea3ca43fa49aa3a048d21c9b475c96eb13c133505d2324e7ae5efd6a454f41efe46a152269e9b6a00c9edbe63ec7fa1921957165aae16625acd67 + languageName: node + linkType: hard + "ci-info@npm:^3.1.1": version: 3.2.0 resolution: "ci-info@npm:3.2.0" @@ -3026,6 +4597,18 @@ __metadata: languageName: node linkType: hard +"class-utils@npm:^0.3.5": + version: 0.3.6 + resolution: "class-utils@npm:0.3.6" + dependencies: + arr-union: ^3.1.0 + define-property: ^0.2.5 + isobject: ^3.0.0 + static-extend: ^0.1.1 + checksum: be108900801e639e50f96a7e4bfa8867c753a7750a7603879f3981f8b0a89cba657497a2d5f40cd4ea557ff15d535a100818bb486baf6e26fe5d7872e75f1078 + languageName: node + linkType: hard + "classnames@npm:2.2.6": version: 2.2.6 resolution: "classnames@npm:2.2.6" @@ -3065,6 +4648,15 @@ __metadata: languageName: node linkType: hard +"cli-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "cli-cursor@npm:3.1.0" + dependencies: + restore-cursor: ^3.1.0 + checksum: 2692784c6cd2fd85cfdbd11f53aea73a463a6d64a77c3e098b2b4697a20443f430c220629e1ca3b195ea5ac4a97a74c2ee411f3807abf6df2b66211fec0c0a29 + languageName: node + linkType: hard + "cli-progress@npm:^3.4.0": version: 3.9.1 resolution: "cli-progress@npm:3.9.1" @@ -3148,6 +4740,24 @@ __metadata: languageName: node linkType: hard +"cli-width@npm:^3.0.0": + version: 3.0.0 + resolution: "cli-width@npm:3.0.0" + checksum: 4c94af3769367a70e11ed69aa6095f1c600c0ff510f3921ab4045af961820d57c0233acfa8b6396037391f31b4c397e1f614d234294f979ff61430a6c166c3f6 + languageName: node + linkType: hard + +"cliui@npm:^5.0.0": + version: 5.0.0 + resolution: "cliui@npm:5.0.0" + dependencies: + string-width: ^3.1.0 + strip-ansi: ^5.2.0 + wrap-ansi: ^5.1.0 + checksum: 0bb8779efe299b8f3002a73619eaa8add4081eb8d1c17bc4fedc6240557fb4eacdc08fe87c39b002eacb6cfc117ce736b362dbfd8bf28d90da800e010ee97df4 + languageName: node + linkType: hard + "cliui@npm:^7.0.2": version: 7.0.4 resolution: "cliui@npm:7.0.4" @@ -3159,6 +4769,33 @@ __metadata: languageName: node linkType: hard +"clone-deep@npm:^4.0.1": + version: 4.0.1 + resolution: "clone-deep@npm:4.0.1" + dependencies: + is-plain-object: ^2.0.4 + kind-of: ^6.0.2 + shallow-clone: ^3.0.0 + checksum: 770f912fe4e6f21873c8e8fbb1e99134db3b93da32df271d00589ea4a29dbe83a9808a322c93f3bcaf8584b8b4fa6fc269fc8032efbaa6728e0c9886c74467d2 + languageName: node + linkType: hard + +"clone@npm:^1.0.2": + version: 1.0.4 + resolution: "clone@npm:1.0.4" + checksum: d06418b7335897209e77bdd430d04f882189582e67bd1f75a04565f3f07f5b3f119a9d670c943b6697d0afb100f03b866b3b8a1f91d4d02d72c4ecf2bb64b5dd + languageName: node + linkType: hard + +"cmd-shim@npm:^4.1.0": + version: 4.1.0 + resolution: "cmd-shim@npm:4.1.0" + dependencies: + mkdirp-infer-owner: ^2.0.0 + checksum: d25bb57a8accab681bcfc632e085573b9395cdc60aed8d0ce479f988f9ced16720c89732aef81020140e43fd223b6573c22402e5a1c0cbd0149443104df88d68 + languageName: node + linkType: hard + "co@npm:^4.6.0": version: 4.6.0 resolution: "co@npm:4.6.0" @@ -3180,6 +4817,16 @@ __metadata: languageName: node linkType: hard +"collection-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "collection-visit@npm:1.0.0" + dependencies: + map-visit: ^1.0.0 + object-visit: ^1.0.0 + checksum: 15d9658fe6eb23594728346adad5433b86bb7a04fd51bbab337755158722f9313a5376ef479de5b35fbc54140764d0d39de89c339f5d25b959ed221466981da9 + languageName: node + linkType: hard + "color-convert@npm:^1.9.0": version: 1.9.3 resolution: "color-convert@npm:1.9.3" @@ -3246,6 +4893,16 @@ __metadata: languageName: node linkType: hard +"columnify@npm:^1.5.4": + version: 1.5.4 + resolution: "columnify@npm:1.5.4" + dependencies: + strip-ansi: ^3.0.0 + wcwidth: ^1.0.0 + checksum: f0693937412ec41d387f8ae89ff8cd5811a07ad636f753f0276ba8394fd76c0f610621ebeb379d6adcb30d98696919546dbbf93a28bd4e546efc7e30d905edc2 + languageName: node + linkType: hard + "combined-stream@npm:^1.0.6, combined-stream@npm:^1.0.8, combined-stream@npm:~1.0.6": version: 1.0.8 resolution: "combined-stream@npm:1.0.8" @@ -3276,6 +4933,23 @@ __metadata: languageName: node linkType: hard +"compare-func@npm:^2.0.0": + version: 2.0.0 + resolution: "compare-func@npm:2.0.0" + dependencies: + array-ify: ^1.0.0 + dot-prop: ^5.1.0 + checksum: fb71d70632baa1e93283cf9d80f30ac97f003aabee026e0b4426c9716678079ef5fea7519b84d012cbed938c476493866a38a79760564a9e21ae9433e40e6f0d + languageName: node + linkType: hard + +"component-emitter@npm:^1.2.1": + version: 1.3.0 + resolution: "component-emitter@npm:1.3.0" + checksum: b3c46de38ffd35c57d1c02488355be9f218e582aec72d72d1b8bbec95a3ac1b38c96cd6e03ff015577e68f550fbb361a3bfdbd9bb248be9390b7b3745691be6b + languageName: node + linkType: hard + "concat-map@npm:0.0.1": version: 0.0.1 resolution: "concat-map@npm:0.0.1" @@ -3283,6 +4957,28 @@ __metadata: languageName: node linkType: hard +"concat-stream@npm:^2.0.0": + version: 2.0.0 + resolution: "concat-stream@npm:2.0.0" + dependencies: + buffer-from: ^1.0.0 + inherits: ^2.0.3 + readable-stream: ^3.0.2 + typedarray: ^0.0.6 + checksum: d7f75d48f0ecd356c1545d87e22f57b488172811b1181d96021c7c4b14ab8855f5313280263dca44bb06e5222f274d047da3e290a38841ef87b59719bde967c7 + languageName: node + linkType: hard + +"config-chain@npm:^1.1.12": + version: 1.1.13 + resolution: "config-chain@npm:1.1.13" + dependencies: + ini: ^1.3.4 + proto-list: ~1.2.1 + checksum: 828137a28e7c2fc4b7fb229bd0cd6c1397bcf83434de54347e608154008f411749041ee392cbe42fab6307e02de4c12480260bf769b7d44b778fdea3839eafab + languageName: node + linkType: hard + "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -3322,6 +5018,108 @@ __metadata: languageName: node linkType: hard +"conventional-changelog-angular@npm:^5.0.12": + version: 5.0.13 + resolution: "conventional-changelog-angular@npm:5.0.13" + dependencies: + compare-func: ^2.0.0 + q: ^1.5.1 + checksum: 6ed4972fce25a50f9f038c749cc9db501363131b0fb2efc1fccecba14e4b1c80651d0d758d4c350a609f32010c66fa343eefd49c02e79e911884be28f53f3f90 + languageName: node + linkType: hard + +"conventional-changelog-core@npm:^4.2.2": + version: 4.2.4 + resolution: "conventional-changelog-core@npm:4.2.4" + dependencies: + add-stream: ^1.0.0 + conventional-changelog-writer: ^5.0.0 + conventional-commits-parser: ^3.2.0 + dateformat: ^3.0.0 + get-pkg-repo: ^4.0.0 + git-raw-commits: ^2.0.8 + git-remote-origin-url: ^2.0.0 + git-semver-tags: ^4.1.1 + lodash: ^4.17.15 + normalize-package-data: ^3.0.0 + q: ^1.5.1 + read-pkg: ^3.0.0 + read-pkg-up: ^3.0.0 + through2: ^4.0.0 + checksum: 56d5194040495ea316e53fd64cb3614462c318f0fe54b1bf25aba6fba9b3d51cb9fdf7ac5b766f17e5529a3f90e317257394e00b0a9a5ce42caf3a59f82afb3a + languageName: node + linkType: hard + +"conventional-changelog-preset-loader@npm:^2.3.4": + version: 2.3.4 + resolution: "conventional-changelog-preset-loader@npm:2.3.4" + checksum: 23a889b7fcf6fe7653e61f32a048877b2f954dcc1e0daa2848c5422eb908e6f24c78372f8d0d2130b5ed941c02e7010c599dccf44b8552602c6c8db9cb227453 + languageName: node + linkType: hard + +"conventional-changelog-writer@npm:^5.0.0": + version: 5.0.0 + resolution: "conventional-changelog-writer@npm:5.0.0" + dependencies: + conventional-commits-filter: ^2.0.7 + dateformat: ^3.0.0 + handlebars: ^4.7.6 + json-stringify-safe: ^5.0.1 + lodash: ^4.17.15 + meow: ^8.0.0 + semver: ^6.0.0 + split: ^1.0.0 + through2: ^4.0.0 + bin: + conventional-changelog-writer: cli.js + checksum: c310b949d354688b971f576c92cac77f11540fee56dccb990169e94e4fc42e40245d2c381f826b7d781deb04d4f7e01701cc29bdd1c3d3cdf8817e8b7a80ea18 + languageName: node + linkType: hard + +"conventional-commits-filter@npm:^2.0.7": + version: 2.0.7 + resolution: "conventional-commits-filter@npm:2.0.7" + dependencies: + lodash.ismatch: ^4.4.0 + modify-values: ^1.0.0 + checksum: feb567f680a6da1baaa1ef3cff393b3c56a5828f77ab9df5e70626475425d109a6fee0289b4979223c62bbd63bf9c98ef532baa6fcb1b66ee8b5f49077f5d46c + languageName: node + linkType: hard + +"conventional-commits-parser@npm:^3.2.0": + version: 3.2.2 + resolution: "conventional-commits-parser@npm:3.2.2" + dependencies: + JSONStream: ^1.0.4 + is-text-path: ^1.0.1 + lodash: ^4.17.15 + meow: ^8.0.0 + split2: ^3.0.0 + through2: ^4.0.0 + bin: + conventional-commits-parser: cli.js + checksum: e7138cfeebc77affe790fa06b6c2f8ecaf74837c886c234bb268b6c4b84d123aba81851c8e3ef7169ee2d044d2d8c7a2a60a29d06b8bc3f1b5d7c2c984d5bb4f + languageName: node + linkType: hard + +"conventional-recommended-bump@npm:^6.1.0": + version: 6.1.0 + resolution: "conventional-recommended-bump@npm:6.1.0" + dependencies: + concat-stream: ^2.0.0 + conventional-changelog-preset-loader: ^2.3.4 + conventional-commits-filter: ^2.0.7 + conventional-commits-parser: ^3.2.0 + git-raw-commits: ^2.0.8 + git-semver-tags: ^4.1.1 + meow: ^8.0.0 + q: ^1.5.1 + bin: + conventional-recommended-bump: cli.js + checksum: da1d7a5f3b9f7706bede685cdcb3db67997fdaa43c310fd5bf340955c84a4b85dbb9427031522ee06dad290b730a54be987b08629d79c73720dbad3a2531146b + languageName: node + linkType: hard + "convert-source-map@npm:1.7.0": version: 1.7.0 resolution: "convert-source-map@npm:1.7.0" @@ -3347,6 +5145,13 @@ __metadata: languageName: node linkType: hard +"copy-descriptor@npm:^0.1.0": + version: 0.1.1 + resolution: "copy-descriptor@npm:0.1.1" + checksum: d4b7b57b14f1d256bb9aa0b479241048afd7f5bcf22035fc7b94e8af757adeae247ea23c1a774fe44869fd5694efba4a969b88d966766c5245fdee59837fe45b + languageName: node + linkType: hard + "core-js-pure@npm:^3.10.2, core-js-pure@npm:^3.16.0": version: 3.18.1 resolution: "core-js-pure@npm:3.18.1" @@ -3387,7 +5192,7 @@ __metadata: languageName: node linkType: hard -"cosmiconfig@npm:^7.0.1": +"cosmiconfig@npm:^7.0.0, cosmiconfig@npm:^7.0.1": version: 7.0.1 resolution: "cosmiconfig@npm:7.0.1" dependencies: @@ -3437,7 +5242,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:^6.0.5": +"cross-spawn@npm:^6.0.0, cross-spawn@npm:^6.0.5": version: 6.0.5 resolution: "cross-spawn@npm:6.0.5" dependencies: @@ -3600,6 +5405,13 @@ __metadata: languageName: node linkType: hard +"dargs@npm:^7.0.0": + version: 7.0.0 + resolution: "dargs@npm:7.0.0" + checksum: b8f1e3cba59c42e1f13a114ad4848c3fc1cf7470f633ee9e9f1043762429bc97d91ae31b826fb135eefde203a3fdb20deb0c0a0222ac29d937b8046085d668d1 + languageName: node + linkType: hard + "dashdash@npm:^1.12.0": version: 1.14.1 resolution: "dashdash@npm:1.14.1" @@ -3645,7 +5457,14 @@ __metadata: languageName: node linkType: hard -"debug@npm:2, debug@npm:^2.6.9": +"dateformat@npm:^3.0.0": + version: 3.0.3 + resolution: "dateformat@npm:3.0.3" + checksum: ca4911148abb09887bd9bdcd632c399b06f3ecad709a18eb594d289a1031982f441e08e281db77ffebcb2cbcbfa1ac578a7cbfbf8743f41009aa5adc1846ed34 + languageName: node + linkType: hard + +"debug@npm:2, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" dependencies: @@ -3684,6 +5503,30 @@ __metadata: languageName: node linkType: hard +"debuglog@npm:^1.0.1": + version: 1.0.1 + resolution: "debuglog@npm:1.0.1" + checksum: 970679f2eb7a73867e04d45b52583e7ec6dee1f33c058e9147702e72a665a9647f9c3d6e7c2f66f6bf18510b23eb5ded1b617e48ac1db23603809c5ddbbb9763 + languageName: node + linkType: hard + +"decamelize-keys@npm:^1.1.0": + version: 1.1.0 + resolution: "decamelize-keys@npm:1.1.0" + dependencies: + decamelize: ^1.1.0 + map-obj: ^1.0.0 + checksum: 8bc5d32e035a072f5dffc1f1f3d26ca7ab1fb44a9cade34c97ab6cd1e62c81a87e718101e96de07d78cecda20a3fdb955df958e46671ccad01bb8dcf0de2e298 + languageName: node + linkType: hard + +"decamelize@npm:^1.1.0, decamelize@npm:^1.2.0": + version: 1.2.0 + resolution: "decamelize@npm:1.2.0" + checksum: ad8c51a7e7e0720c70ec2eeb1163b66da03e7616d7b98c9ef43cce2416395e84c1e9548dd94f5f6ffecfee9f8b94251fc57121a8b021f2ff2469b2bae247b8aa + languageName: node + linkType: hard + "decimal.js@npm:^10.2.1": version: 10.3.1 resolution: "decimal.js@npm:10.3.1" @@ -3719,6 +5562,15 @@ __metadata: languageName: node linkType: hard +"defaults@npm:^1.0.3": + version: 1.0.3 + resolution: "defaults@npm:1.0.3" + dependencies: + clone: ^1.0.2 + checksum: 96e2112da6553d376afd5265ea7cbdb2a3b45535965d71ab8bb1da10c8126d168fdd5268799625324b368356d21ba2a7b3d4ec50961f11a47b7feb9de3d4413e + languageName: node + linkType: hard + "define-properties@npm:^1.1.3": version: 1.1.3 resolution: "define-properties@npm:1.1.3" @@ -3728,6 +5580,34 @@ __metadata: languageName: node linkType: hard +"define-property@npm:^0.2.5": + version: 0.2.5 + resolution: "define-property@npm:0.2.5" + dependencies: + is-descriptor: ^0.1.0 + checksum: 85af107072b04973b13f9e4128ab74ddfda48ec7ad2e54b193c0ffb57067c4ce5b7786a7b4ae1f24bd03e87c5d18766b094571810b314d7540f86d4354dbd394 + languageName: node + linkType: hard + +"define-property@npm:^1.0.0": + version: 1.0.0 + resolution: "define-property@npm:1.0.0" + dependencies: + is-descriptor: ^1.0.0 + checksum: 5fbed11dace44dd22914035ba9ae83ad06008532ca814d7936a53a09e897838acdad5b108dd0688cc8d2a7cf0681acbe00ee4136cf36743f680d10517379350a + languageName: node + linkType: hard + +"define-property@npm:^2.0.2": + version: 2.0.2 + resolution: "define-property@npm:2.0.2" + dependencies: + is-descriptor: ^1.0.2 + isobject: ^3.0.1 + checksum: 3217ed53fc9eed06ba8da6f4d33e28c68a82e2f2a8ab4d562c4920d8169a166fe7271453675e6c69301466f36a65d7f47edf0cf7f474b9aa52a5ead9c1b13c99 + languageName: node + linkType: hard + "defined@npm:^1.0.0": version: 1.0.0 resolution: "defined@npm:1.0.0" @@ -3756,6 +5636,13 @@ __metadata: languageName: node linkType: hard +"deprecation@npm:^2.0.0, deprecation@npm:^2.3.1": + version: 2.3.1 + resolution: "deprecation@npm:2.3.1" + checksum: f56a05e182c2c195071385455956b0c4106fe14e36245b00c689ceef8e8ab639235176a96977ba7c74afb173317fac2e0ec6ec7a1c6d1e6eaa401c586c714132 + languageName: node + linkType: hard + "des.js@npm:^1.0.0": version: 1.0.1 resolution: "des.js@npm:1.0.1" @@ -3766,6 +5653,27 @@ __metadata: languageName: node linkType: hard +"detect-indent@npm:^5.0.0": + version: 5.0.0 + resolution: "detect-indent@npm:5.0.0" + checksum: 61763211daa498e00eec073aba95d544ae5baed19286a0a655697fa4fffc9f4539c8376e2c7df8fa11d6f8eaa16c1e6a689f403ac41ee78a060278cdadefe2ff + languageName: node + linkType: hard + +"detect-indent@npm:^6.0.0": + version: 6.1.0 + resolution: "detect-indent@npm:6.1.0" + checksum: ab953a73c72dbd4e8fc68e4ed4bfd92c97eb6c43734af3900add963fd3a9316f3bc0578b018b24198d4c31a358571eff5f0656e81a1f3b9ad5c547d58b2d093d + languageName: node + linkType: hard + +"detect-newline@npm:^2.1.0": + version: 2.1.0 + resolution: "detect-newline@npm:2.1.0" + checksum: c55146fd5b97a9ce914f17f85a01466c9e8679289e2d390588b027a58f2e090dbc38457923072369c603b8904f982f87b78fee17e48d5706f35571642f4599f8 + languageName: node + linkType: hard + "detect-newline@npm:^3.0.0": version: 3.1.0 resolution: "detect-newline@npm:3.1.0" @@ -3793,6 +5701,16 @@ __metadata: languageName: node linkType: hard +"dezalgo@npm:^1.0.0": + version: 1.0.3 + resolution: "dezalgo@npm:1.0.3" + dependencies: + asap: ^2.0.0 + wrappy: 1 + checksum: 8b26238db91423b2702a7a6d9629d0019c37c415e7b6e75d4b3e8d27e9464e21cac3618dd145f4d4ee96c70cc6ff034227b5b8a0e9c09015a8bdbe6dace3cfb9 + languageName: node + linkType: hard + "didyoumean@npm:^1.2.2": version: 1.2.2 resolution: "didyoumean@npm:1.2.2" @@ -3800,6 +5718,13 @@ __metadata: languageName: node linkType: hard +"diff-sequences@npm:^24.9.0": + version: 24.9.0 + resolution: "diff-sequences@npm:24.9.0" + checksum: b81f906ff1737e0a65e8f7ee3ad1d27b426dcc25498731365aeaccc32333da3bf3a7100c963c7104f12c8e64e545114d4fe4c0b90daf2565b0b00b79f0df45c4 + languageName: node + linkType: hard + "diff-sequences@npm:^27.0.6": version: 27.0.6 resolution: "diff-sequences@npm:27.0.6" @@ -3964,6 +5889,24 @@ __metadata: languageName: node linkType: hard +"dot-prop@npm:^5.1.0": + version: 5.3.0 + resolution: "dot-prop@npm:5.3.0" + dependencies: + is-obj: ^2.0.0 + checksum: d5775790093c234ef4bfd5fbe40884ff7e6c87573e5339432870616331189f7f5d86575c5b5af2dcf0f61172990f4f734d07844b1f23482fff09e3c4bead05ea + languageName: node + linkType: hard + +"dot-prop@npm:^6.0.1": + version: 6.0.1 + resolution: "dot-prop@npm:6.0.1" + dependencies: + is-obj: ^2.0.0 + checksum: 0f47600a4b93e1dc37261da4e6909652c008832a5d3684b5bf9a9a0d3f4c67ea949a86dceed9b72f5733ed8e8e6383cc5958df3bbd0799ee317fd181f2ece700 + languageName: node + linkType: hard + "dotenv@npm:^8.0.0": version: 8.6.0 resolution: "dotenv@npm:8.6.0" @@ -3971,6 +5914,13 @@ __metadata: languageName: node linkType: hard +"duplexer@npm:^0.1.1": + version: 0.1.2 + resolution: "duplexer@npm:0.1.2" + checksum: 62ba61a830c56801db28ff6305c7d289b6dc9f859054e8c982abd8ee0b0a14d2e9a8e7d086ffee12e868d43e2bbe8a964be55ddbd8c8957714c87373c7a4f9b0 + languageName: node + linkType: hard + "ecc-jsbn@npm:~0.1.1": version: 0.1.2 resolution: "ecc-jsbn@npm:0.1.2" @@ -4017,6 +5967,13 @@ __metadata: languageName: node linkType: hard +"emoji-regex@npm:^7.0.1": + version: 7.0.3 + resolution: "emoji-regex@npm:7.0.3" + checksum: 9159b2228b1511f2870ac5920f394c7e041715429a68459ebe531601555f11ea782a8e1718f969df2711d38c66268174407cbca57ce36485544f695c2dfdc96e + languageName: node + linkType: hard + "emoji-regex@npm:^8.0.0": version: 8.0.0 resolution: "emoji-regex@npm:8.0.0" @@ -4096,6 +6053,15 @@ __metadata: languageName: node linkType: hard +"envinfo@npm:^7.7.4": + version: 7.8.1 + resolution: "envinfo@npm:7.8.1" + bin: + envinfo: dist/cli.js + checksum: de736c98d6311c78523628ff127af138451b162e57af5293c1b984ca821d0aeb9c849537d2fde0434011bed33f6bca5310ca2aab8a51a3f28fc719e89045d648 + languageName: node + linkType: hard + "err-code@npm:^2.0.2": version: 2.0.3 resolution: "err-code@npm:2.0.3" @@ -4520,6 +6486,13 @@ __metadata: languageName: node linkType: hard +"eventemitter3@npm:^4.0.4": + version: 4.0.7 + resolution: "eventemitter3@npm:4.0.7" + checksum: 1875311c42fcfe9c707b2712c32664a245629b42bb0a5a84439762dd0fd637fc54d078155ea83c2af9e0323c9ac13687e03cfba79b03af9f40c89b4960099374 + languageName: node + linkType: hard + "events@npm:^3.0.0": version: 3.3.0 resolution: "events@npm:3.3.0" @@ -4538,6 +6511,28 @@ __metadata: languageName: node linkType: hard +"exec-sh@npm:^0.3.2": + version: 0.3.6 + resolution: "exec-sh@npm:0.3.6" + checksum: 0be4f06929c8e4834ea4812f29fe59e2dfcc1bc3fc4b4bb71acb38a500c3b394628a05ef7ba432520bc6c5ec4fadab00cc9c513c4ff6a32104965af302e998e0 + languageName: node + linkType: hard + +"execa@npm:^1.0.0": + version: 1.0.0 + resolution: "execa@npm:1.0.0" + dependencies: + cross-spawn: ^6.0.0 + get-stream: ^4.0.0 + is-stream: ^1.1.0 + npm-run-path: ^2.0.0 + p-finally: ^1.0.0 + signal-exit: ^3.0.0 + strip-eof: ^1.0.0 + checksum: ddf1342c1c7d02dd93b41364cd847640f6163350d9439071abf70bf4ceb1b9b2b2e37f54babb1d8dc1df8e0d8def32d0e81e74a2e62c3e1d70c303eb4c306bc4 + languageName: node + linkType: hard + "execa@npm:^4.0.0": version: 4.1.0 resolution: "execa@npm:4.1.0" @@ -4579,6 +6574,35 @@ __metadata: languageName: node linkType: hard +"expand-brackets@npm:^2.1.4": + version: 2.1.4 + resolution: "expand-brackets@npm:2.1.4" + dependencies: + debug: ^2.3.3 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + posix-character-classes: ^0.1.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 1781d422e7edfa20009e2abda673cadb040a6037f0bd30fcd7357304f4f0c284afd420d7622722ca4a016f39b6d091841ab57b401c1f7e2e5131ac65b9f14fa1 + languageName: node + linkType: hard + +"expect@npm:^24.9.0": + version: 24.9.0 + resolution: "expect@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + ansi-styles: ^3.2.0 + jest-get-type: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-regex-util: ^24.9.0 + checksum: bfce2243543dd10e3c2047bbe6fc99b7b150cea71b198ddd8feb2e7ebfef1a3dd46ec7519e05d23a20b30c242b13dad97551368a690731d9a591f6f863528cee + languageName: node + linkType: hard + "expect@npm:^27.2.4": version: 27.2.4 resolution: "expect@npm:27.2.4" @@ -4593,6 +6617,25 @@ __metadata: languageName: node linkType: hard +"extend-shallow@npm:^2.0.1": + version: 2.0.1 + resolution: "extend-shallow@npm:2.0.1" + dependencies: + is-extendable: ^0.1.0 + checksum: 8fb58d9d7a511f4baf78d383e637bd7d2e80843bd9cd0853649108ea835208fb614da502a553acc30208e1325240bb7cc4a68473021612496bb89725483656d8 + languageName: node + linkType: hard + +"extend-shallow@npm:^3.0.0, extend-shallow@npm:^3.0.2": + version: 3.0.2 + resolution: "extend-shallow@npm:3.0.2" + dependencies: + assign-symbols: ^1.0.0 + is-extendable: ^1.0.1 + checksum: a920b0cd5838a9995ace31dfd11ab5e79bf6e295aa566910ce53dff19f4b1c0fda2ef21f26b28586c7a2450ca2b42d97bd8c0f5cec9351a819222bf861e02461 + languageName: node + linkType: hard + "extend@npm:~3.0.2": version: 3.0.2 resolution: "extend@npm:3.0.2" @@ -4600,6 +6643,33 @@ __metadata: languageName: node linkType: hard +"external-editor@npm:^3.0.3": + version: 3.1.0 + resolution: "external-editor@npm:3.1.0" + dependencies: + chardet: ^0.7.0 + iconv-lite: ^0.4.24 + tmp: ^0.0.33 + checksum: 1c2a616a73f1b3435ce04030261bed0e22d4737e14b090bb48e58865da92529c9f2b05b893de650738d55e692d071819b45e1669259b2b354bc3154d27a698c7 + languageName: node + linkType: hard + +"extglob@npm:^2.0.4": + version: 2.0.4 + resolution: "extglob@npm:2.0.4" + dependencies: + array-unique: ^0.3.2 + define-property: ^1.0.0 + expand-brackets: ^2.1.4 + extend-shallow: ^2.0.1 + fragment-cache: ^0.2.1 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: a41531b8934735b684cef5e8c5a01d0f298d7d384500ceca38793a9ce098125aab04ee73e2d75d5b2901bc5dddd2b64e1b5e3bf19139ea48bac52af4a92f1d00 + languageName: node + linkType: hard + "extract-stack@npm:^1.0.0": version: 1.0.0 resolution: "extract-stack@npm:1.0.0" @@ -4699,6 +6769,15 @@ __metadata: languageName: node linkType: hard +"figures@npm:^3.0.0": + version: 3.2.0 + resolution: "figures@npm:3.2.0" + dependencies: + escape-string-regexp: ^1.0.5 + checksum: 85a6ad29e9aca80b49b817e7c89ecc4716ff14e3779d9835af554db91bac41c0f289c418923519392a1e582b4d10482ad282021330cd045bb7b80c84152f2a2b + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -4708,6 +6787,25 @@ __metadata: languageName: node linkType: hard +"file-uri-to-path@npm:1.0.0": + version: 1.0.0 + resolution: "file-uri-to-path@npm:1.0.0" + checksum: b648580bdd893a008c92c7ecc96c3ee57a5e7b6c4c18a9a09b44fb5d36d79146f8e442578bc0e173dc027adf3987e254ba1dfd6e3ec998b7c282873010502144 + languageName: node + linkType: hard + +"fill-range@npm:^4.0.0": + version: 4.0.0 + resolution: "fill-range@npm:4.0.0" + dependencies: + extend-shallow: ^2.0.1 + is-number: ^3.0.0 + repeat-string: ^1.6.1 + to-regex-range: ^2.1.0 + checksum: dbb5102467786ab42bc7a3ec7380ae5d6bfd1b5177b2216de89e4a541193f8ba599a6db84651bd2c58c8921db41b8cc3d699ea83b477342d3ce404020f73c298 + languageName: node + linkType: hard + "fill-range@npm:^7.0.1": version: 7.0.1 resolution: "fill-range@npm:7.0.1" @@ -4744,6 +6842,15 @@ __metadata: languageName: node linkType: hard +"find-up@npm:^3.0.0": + version: 3.0.0 + resolution: "find-up@npm:3.0.0" + dependencies: + locate-path: ^3.0.0 + checksum: 38eba3fe7a66e4bc7f0f5a1366dc25508b7cfc349f852640e3678d26ad9a6d7e2c43eff0a472287de4a9753ef58f066a0ea892a256fa3636ad51b3fe1e17fae9 + languageName: node + linkType: hard + "find-up@npm:^4.0.0, find-up@npm:^4.1.0": version: 4.1.0 resolution: "find-up@npm:4.1.0" @@ -4789,6 +6896,13 @@ __metadata: languageName: node linkType: hard +"for-in@npm:^1.0.2": + version: 1.0.2 + resolution: "for-in@npm:1.0.2" + checksum: 09f4ae93ce785d253ac963d94c7f3432d89398bf25ac7a24ed034ca393bf74380bdeccc40e0f2d721a895e54211b07c8fad7132e8157827f6f7f059b70b4043d + languageName: node + linkType: hard + "foreach@npm:^2.0.5": version: 2.0.5 resolution: "foreach@npm:2.0.5" @@ -4839,6 +6953,15 @@ __metadata: languageName: node linkType: hard +"fragment-cache@npm:^0.2.1": + version: 0.2.1 + resolution: "fragment-cache@npm:0.2.1" + dependencies: + map-cache: ^0.2.2 + checksum: 1cbbd0b0116b67d5790175de0038a11df23c1cd2e8dcdbade58ebba5594c2d641dade6b4f126d82a7b4a6ffc2ea12e3d387dbb64ea2ae97cf02847d436f60fdc + languageName: node + linkType: hard + "fs-extra@npm:^10.0.0": version: 10.0.0 resolution: "fs-extra@npm:10.0.0" @@ -4872,7 +6995,7 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^9.0, fs-extra@npm:^9.0.1": +"fs-extra@npm:^9.0, fs-extra@npm:^9.0.1, fs-extra@npm:^9.1.0": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" dependencies: @@ -4884,7 +7007,16 @@ __metadata: languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": +"fs-minipass@npm:^1.2.7": + version: 1.2.7 + resolution: "fs-minipass@npm:1.2.7" + dependencies: + minipass: ^2.6.0 + checksum: 40fd46a2b5dcb74b3a580269f9a0c36f9098c2ebd22cef2e1a004f375b7b665c11f1507ec3f66ee6efab5664109f72d0a74ea19c3370842214c3da5168d6fdd7 + languageName: node + linkType: hard + +"fs-minipass@npm:^2.0.0, fs-minipass@npm:^2.1.0": version: 2.1.0 resolution: "fs-minipass@npm:2.1.0" dependencies: @@ -4900,6 +7032,16 @@ __metadata: languageName: node linkType: hard +fsevents@^1.2.7: + version: 1.2.13 + resolution: "fsevents@npm:1.2.13" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + checksum: ae855aa737aaa2f9167e9f70417cf6e45a5cd11918e1fee9923709a0149be52416d765433b4aeff56c789b1152e718cd1b13ddec6043b78cdda68260d86383c1 + languageName: node + linkType: hard + "fsevents@^2.3.2, fsevents@~2.3.1, fsevents@~2.3.2": version: 2.3.2 resolution: "fsevents@npm:2.3.2" @@ -4909,6 +7051,16 @@ __metadata: languageName: node linkType: hard +"fsevents@patch:fsevents@^1.2.7#~builtin": + version: 1.2.13 + resolution: "fsevents@patch:fsevents@npm%3A1.2.13#~builtin::version=1.2.13&hash=1cc4b2" + dependencies: + bindings: ^1.5.0 + nan: ^2.12.1 + checksum: b264407498db2cfdcc2a05287334a4160c985a88e4a989e2f2f8dcc6afc8b04a4fcd82c797266442452e11c1fb07d7747d138b078fe4bb1f8f4fd2a6f2484d7e + languageName: node + linkType: hard + "fsevents@patch:fsevents@^2.3.2#~builtin, fsevents@patch:fsevents@~2.3.1#~builtin, fsevents@patch:fsevents@~2.3.2#~builtin": version: 2.3.2 resolution: "fsevents@patch:fsevents@npm%3A2.3.2#~builtin::version=2.3.2&hash=1cc4b2" @@ -4964,7 +7116,7 @@ __metadata: languageName: node linkType: hard -"get-caller-file@npm:^2.0.5": +"get-caller-file@npm:^2.0.1, get-caller-file@npm:^2.0.5": version: 2.0.5 resolution: "get-caller-file@npm:2.0.5" checksum: b9769a836d2a98c3ee734a88ba712e62703f1df31b94b784762c433c27a386dd6029ff55c2a920c392e33657d80191edbf18c61487e198844844516f843496b9 @@ -4998,6 +7150,36 @@ __metadata: languageName: node linkType: hard +"get-pkg-repo@npm:^4.0.0": + version: 4.2.1 + resolution: "get-pkg-repo@npm:4.2.1" + dependencies: + "@hutson/parse-repository-url": ^3.0.0 + hosted-git-info: ^4.0.0 + through2: ^2.0.0 + yargs: ^16.2.0 + bin: + get-pkg-repo: src/cli.js + checksum: 5abf169137665e45b09a857b33ad2fdcf2f4a09f0ecbd0ebdd789a7ce78c39186a21f58621127eb724d2d4a3a7ee8e6bd4ac7715efda01ad5200665afc218e0d + languageName: node + linkType: hard + +"get-port@npm:^5.1.1": + version: 5.1.1 + resolution: "get-port@npm:5.1.1" + checksum: 0162663ffe5c09e748cd79d97b74cd70e5a5c84b760a475ce5767b357fb2a57cb821cee412d646aa8a156ed39b78aab88974eddaa9e5ee926173c036c0713787 + languageName: node + linkType: hard + +"get-stream@npm:^4.0.0": + version: 4.1.0 + resolution: "get-stream@npm:4.1.0" + dependencies: + pump: ^3.0.0 + checksum: 443e1914170c15bd52ff8ea6eff6dfc6d712b031303e36302d2778e3de2506af9ee964d6124010f7818736dcfde05c04ba7ca6cc26883106e084357a17ae7d73 + languageName: node + linkType: hard + "get-stream@npm:^5.0.0": version: 5.2.0 resolution: "get-stream@npm:5.2.0" @@ -5024,6 +7206,13 @@ __metadata: languageName: node linkType: hard +"get-value@npm:^2.0.3, get-value@npm:^2.0.6": + version: 2.0.6 + resolution: "get-value@npm:2.0.6" + checksum: 5c3b99cb5398ea8016bf46ff17afc5d1d286874d2ad38ca5edb6e87d75c0965b0094cb9a9dddef2c59c23d250702323539a7fbdd870620db38c7e7d7ec87c1eb + languageName: node + linkType: hard + "getpass@npm:^0.1.1": version: 0.1.7 resolution: "getpass@npm:0.1.7" @@ -5043,6 +7232,31 @@ __metadata: languageName: node linkType: hard +"git-raw-commits@npm:^2.0.8": + version: 2.0.10 + resolution: "git-raw-commits@npm:2.0.10" + dependencies: + dargs: ^7.0.0 + lodash: ^4.17.15 + meow: ^8.0.0 + split2: ^3.0.0 + through2: ^4.0.0 + bin: + git-raw-commits: cli.js + checksum: 66e2d7b4cdeff946ac639e1bba37f5dcbd9f5c9245348b31e027e4529f6b6733d23f75768d285d5f29c1f08d3485705a4932300a81a45b77b660fe3ce6089c29 + languageName: node + linkType: hard + +"git-remote-origin-url@npm:^2.0.0": + version: 2.0.0 + resolution: "git-remote-origin-url@npm:2.0.0" + dependencies: + gitconfiglocal: ^1.0.0 + pify: ^2.3.0 + checksum: 85263a09c044b5f4fe2acc45cbb3c5331ab2bd4484bb53dfe7f3dd593a4bf90a9786a2e00b9884524331f50b3da18e8c924f01c2944087fc7f342282c4437b73 + languageName: node + linkType: hard + "git-rev-sync@npm:3.0.1": version: 3.0.1 resolution: "git-rev-sync@npm:3.0.1" @@ -5054,6 +7268,18 @@ __metadata: languageName: node linkType: hard +"git-semver-tags@npm:^4.1.1": + version: 4.1.1 + resolution: "git-semver-tags@npm:4.1.1" + dependencies: + meow: ^8.0.0 + semver: ^6.0.0 + bin: + git-semver-tags: cli.js + checksum: e16d02a515c0f88289a28b5bf59bf42c0dc053765922d3b617ae4b50546bd4f74a25bf3ad53b91cb6c1159319a2e92533b160c573b856c2629125c8b26b3b0e3 + languageName: node + linkType: hard + "git-up@npm:^4.0.0": version: 4.0.5 resolution: "git-up@npm:4.0.5" @@ -5073,7 +7299,25 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": +"git-url-parse@npm:^11.4.4": + version: 11.6.0 + resolution: "git-url-parse@npm:11.6.0" + dependencies: + git-up: ^4.0.0 + checksum: 18a7d0bbac76c55fe8a501d4bd4c6b5f5528883a4dadcfce1152b4902e3e5831df8e97f36ea3f564de633e9ab44d9ab09bb2f319e41af1b6e4f627af139d35d5 + languageName: node + linkType: hard + +"gitconfiglocal@npm:^1.0.0": + version: 1.0.0 + resolution: "gitconfiglocal@npm:1.0.0" + dependencies: + ini: ^1.3.2 + checksum: e6d2764c15bbab6d1d1000d1181bb907f6b3796bb04f63614dba571b18369e0ecb1beaf27ce8da5b24307ef607e3a5f262a67cb9575510b9446aac697d421beb + languageName: node + linkType: hard + +"glob-parent@npm:^5.1.1, glob-parent@npm:^5.1.2, glob-parent@npm:~5.1.0, glob-parent@npm:~5.1.2": version: 5.1.2 resolution: "glob-parent@npm:5.1.2" dependencies: @@ -5112,7 +7356,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.7": +"glob@npm:^7.0.0, glob@npm:^7.1.1, glob@npm:^7.1.2, glob@npm:^7.1.3, glob@npm:^7.1.4, glob@npm:^7.1.6, glob@npm:^7.1.7": version: 7.2.0 resolution: "glob@npm:7.2.0" dependencies: @@ -5166,7 +7410,7 @@ __metadata: languageName: node linkType: hard -"globby@npm:^11.0.1, globby@npm:^11.0.3": +"globby@npm:^11.0.1, globby@npm:^11.0.2, globby@npm:^11.0.3": version: 11.0.4 resolution: "globby@npm:11.0.4" dependencies: @@ -5198,7 +7442,7 @@ __metadata: languageName: node linkType: hard -"graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.1.11, graceful-fs@npm:^4.1.15, graceful-fs@npm:^4.1.2, graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.2, graceful-fs@npm:^4.2.3, graceful-fs@npm:^4.2.4, graceful-fs@npm:^4.2.6": version: 4.2.8 resolution: "graceful-fs@npm:4.2.8" checksum: 5d224c8969ad0581d551dfabdb06882706b31af2561bd5e2034b4097e67cc27d05232849b8643866585fd0a41c7af152950f8776f4dd5579e9853733f31461c6 @@ -5234,6 +7478,31 @@ __metadata: languageName: node linkType: hard +"growly@npm:^1.3.0": + version: 1.3.0 + resolution: "growly@npm:1.3.0" + checksum: 53cdecd4c16d7d9154a9061a9ccb87d602e957502ca69b529d7d1b2436c2c0b700ec544fc6b3e4cd115d59b81e62e44ce86bd0521403b579d3a2a97d7ce72a44 + languageName: node + linkType: hard + +"handlebars@npm:^4.7.6": + version: 4.7.7 + resolution: "handlebars@npm:4.7.7" + dependencies: + minimist: ^1.2.5 + neo-async: ^2.6.0 + source-map: ^0.6.1 + uglify-js: ^3.1.4 + wordwrap: ^1.0.0 + dependenciesMeta: + uglify-js: + optional: true + bin: + handlebars: bin/handlebars + checksum: 1e79a43f5e18d15742977cb987923eab3e2a8f44f2d9d340982bcb69e1735ed049226e534d7c1074eaddaf37e4fb4f471a8adb71cddd5bc8cf3f894241df5cee + languageName: node + linkType: hard + "har-schema@npm:^2.0.0": version: 2.0.0 resolution: "har-schema@npm:2.0.0" @@ -5251,6 +7520,13 @@ __metadata: languageName: node linkType: hard +"hard-rejection@npm:^2.1.0": + version: 2.1.0 + resolution: "hard-rejection@npm:2.1.0" + checksum: 7baaf80a0c7fff4ca79687b4060113f1529589852152fa935e6787a2bc96211e784ad4588fb3048136ff8ffc9dfcf3ae385314a5b24db32de20bea0d1597f9dc + languageName: node + linkType: hard + "has-ansi@npm:^2.0.0": version: 2.0.0 resolution: "has-ansi@npm:2.0.0" @@ -5304,10 +7580,49 @@ __metadata: languageName: node linkType: hard -"has-unicode@npm:^2.0.0": - version: 2.0.1 - resolution: "has-unicode@npm:2.0.1" - checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 +"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": + version: 2.0.1 + resolution: "has-unicode@npm:2.0.1" + checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 + languageName: node + linkType: hard + +"has-value@npm:^0.3.1": + version: 0.3.1 + resolution: "has-value@npm:0.3.1" + dependencies: + get-value: ^2.0.3 + has-values: ^0.1.4 + isobject: ^2.0.0 + checksum: 29e2a1e6571dad83451b769c7ce032fce6009f65bccace07c2962d3ad4d5530b6743d8f3229e4ecf3ea8e905d23a752c5f7089100c1f3162039fa6dc3976558f + languageName: node + linkType: hard + +"has-value@npm:^1.0.0": + version: 1.0.0 + resolution: "has-value@npm:1.0.0" + dependencies: + get-value: ^2.0.6 + has-values: ^1.0.0 + isobject: ^3.0.0 + checksum: b9421d354e44f03d3272ac39fd49f804f19bc1e4fa3ceef7745df43d6b402053f828445c03226b21d7d934a21ac9cf4bc569396dc312f496ddff873197bbd847 + languageName: node + linkType: hard + +"has-values@npm:^0.1.4": + version: 0.1.4 + resolution: "has-values@npm:0.1.4" + checksum: ab1c4bcaf811ccd1856c11cfe90e62fca9e2b026ebe474233a3d282d8d67e3b59ed85b622c7673bac3db198cb98bd1da2b39300a2f98e453729b115350af49bc + languageName: node + linkType: hard + +"has-values@npm:^1.0.0": + version: 1.0.0 + resolution: "has-values@npm:1.0.0" + dependencies: + is-number: ^3.0.0 + kind-of: ^4.0.0 + checksum: 77e6693f732b5e4cf6c38dfe85fdcefad0fab011af74995c3e83863fabf5e3a836f406d83565816baa0bc0a523c9410db8b990fe977074d61aeb6d8f4fcffa11 languageName: node linkType: hard @@ -5394,6 +7709,15 @@ __metadata: languageName: node linkType: hard +"hosted-git-info@npm:^4.0.0, hosted-git-info@npm:^4.0.1": + version: 4.0.2 + resolution: "hosted-git-info@npm:4.0.2" + dependencies: + lru-cache: ^6.0.0 + checksum: d1b2d7720398ce96a788bd38d198fbddce089a2381f63cfb01743e6c7e5aed656e5547fe74090fb9fe53b2cb785b0e8c9ebdddadff48ed26bb471dd23cd25458 + languageName: node + linkType: hard + "hsl-regex@npm:^1.0.0": version: 1.0.0 resolution: "hsl-regex@npm:1.0.0" @@ -5564,7 +7888,7 @@ __metadata: languageName: node linkType: hard -"iconv-lite@npm:0.4.24": +"iconv-lite@npm:0.4.24, iconv-lite@npm:^0.4.24": version: 0.4.24 resolution: "iconv-lite@npm:0.4.24" dependencies: @@ -5589,6 +7913,15 @@ __metadata: languageName: node linkType: hard +"ignore-walk@npm:^3.0.3": + version: 3.0.4 + resolution: "ignore-walk@npm:3.0.4" + dependencies: + minimatch: ^3.0.4 + checksum: 9e9c5ef6c3e0ed7ef5d797991abb554dbb7e60d5fedf6cf05c7129819689eba2b462f625c6e3561e0fc79841904eb829565513eeeab1b44f4fbec4d3146b1a8d + languageName: node + linkType: hard + "ignore@npm:^4.0.6": version: 4.0.6 resolution: "ignore@npm:4.0.6" @@ -5652,6 +7985,18 @@ __metadata: languageName: node linkType: hard +"import-local@npm:^2.0.0": + version: 2.0.0 + resolution: "import-local@npm:2.0.0" + dependencies: + pkg-dir: ^3.0.0 + resolve-cwd: ^2.0.0 + bin: + import-local-fixture: fixtures/cli.js + checksum: b8469252483624379fd65d53c82f3658b32a1136f7168bfeea961a4ea7ca10a45786ea2b02e0006408f9cd22d2f33305a6f17a64e4d5a03274a50942c5e7c949 + languageName: node + linkType: hard + "import-local@npm:^3.0.2": version: 3.0.2 resolution: "import-local@npm:3.0.2" @@ -5740,6 +8085,49 @@ __metadata: languageName: node linkType: hard +"ini@npm:^1.3.2, ini@npm:^1.3.4": + version: 1.3.8 + resolution: "ini@npm:1.3.8" + checksum: dfd98b0ca3a4fc1e323e38a6c8eb8936e31a97a918d3b377649ea15bdb15d481207a0dda1021efbd86b464cae29a0d33c1d7dcaf6c5672bee17fa849bc50a1b3 + languageName: node + linkType: hard + +"init-package-json@npm:^2.0.2": + version: 2.0.5 + resolution: "init-package-json@npm:2.0.5" + dependencies: + npm-package-arg: ^8.1.5 + promzard: ^0.3.0 + read: ~1.0.1 + read-package-json: ^4.1.1 + semver: ^7.3.5 + validate-npm-package-license: ^3.0.4 + validate-npm-package-name: ^3.0.0 + checksum: cbd3e2e79156d6e8722699f571e509e0733dde31ac4cb58c0aadb63f7cef1a131037c6d549bd6af5757032a51252b1bdb86a70f68ed6c10f866f203e5fb4f9ba + languageName: node + linkType: hard + +"inquirer@npm:^7.3.3": + version: 7.3.3 + resolution: "inquirer@npm:7.3.3" + dependencies: + ansi-escapes: ^4.2.1 + chalk: ^4.1.0 + cli-cursor: ^3.1.0 + cli-width: ^3.0.0 + external-editor: ^3.0.3 + figures: ^3.0.0 + lodash: ^4.17.19 + mute-stream: 0.0.8 + run-async: ^2.4.0 + rxjs: ^6.6.0 + string-width: ^4.1.0 + strip-ansi: ^6.0.0 + through: ^2.3.6 + checksum: 4d387fc1eb6126acbd58cbdb9ad99d2887d181df86ab0c2b9abdf734e751093e2d5882c2b6dc7144d9ab16b7ab30a78a1d7f01fb6a2850a44aeb175d1e3f8778 + languageName: node + linkType: hard + "internal-slot@npm:^1.0.3": version: 1.0.3 resolution: "internal-slot@npm:1.0.3" @@ -5758,6 +8146,15 @@ __metadata: languageName: node linkType: hard +"invariant@npm:^2.2.4": + version: 2.2.4 + resolution: "invariant@npm:2.2.4" + dependencies: + loose-envify: ^1.0.0 + checksum: cc3182d793aad82a8d1f0af697b462939cb46066ec48bbf1707c150ad5fad6406137e91a262022c269702e01621f35ef60269f6c0d7fd178487959809acdfb14 + languageName: node + linkType: hard + "ip@npm:^1.1.5": version: 1.1.5 resolution: "ip@npm:1.1.5" @@ -5765,6 +8162,24 @@ __metadata: languageName: node linkType: hard +"is-accessor-descriptor@npm:^0.1.6": + version: 0.1.6 + resolution: "is-accessor-descriptor@npm:0.1.6" + dependencies: + kind-of: ^3.0.2 + checksum: 3d629a086a9585bc16a83a8e8a3416f400023301855cafb7ccc9a1d63145b7480f0ad28877dcc2cce09492c4ec1c39ef4c071996f24ee6ac626be4217b8ffc8a + languageName: node + linkType: hard + +"is-accessor-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-accessor-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: 8e475968e9b22f9849343c25854fa24492dbe8ba0dea1a818978f9f1b887339190b022c9300d08c47fe36f1b913d70ce8cbaca00369c55a56705fdb7caed37fe + languageName: node + linkType: hard + "is-arguments@npm:^1.0.4": version: 1.1.1 resolution: "is-arguments@npm:1.1.1" @@ -5817,6 +8232,13 @@ __metadata: languageName: node linkType: hard +"is-buffer@npm:^1.1.5": + version: 1.1.6 + resolution: "is-buffer@npm:1.1.6" + checksum: 4a186d995d8bbf9153b4bd9ff9fd04ae75068fe695d29025d25e592d9488911eeece84eefbd8fa41b8ddcc0711058a71d4c466dcf6f1f6e1d83830052d8ca707 + languageName: node + linkType: hard + "is-buffer@npm:^2.0.2": version: 2.0.5 resolution: "is-buffer@npm:2.0.5" @@ -5831,6 +8253,17 @@ __metadata: languageName: node linkType: hard +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" + dependencies: + ci-info: ^2.0.0 + bin: + is-ci: bin.js + checksum: 77b869057510f3efa439bbb36e9be429d53b3f51abd4776eeea79ab3b221337fe1753d1e50058a9e2c650d38246108beffb15ccfd443929d77748d8c0cc90144 + languageName: node + linkType: hard + "is-ci@npm:^3.0.0": version: 3.0.0 resolution: "is-ci@npm:3.0.0" @@ -5856,7 +8289,7 @@ __metadata: languageName: node linkType: hard -"is-core-module@npm:^2.2.0, is-core-module@npm:^2.6.0": +"is-core-module@npm:^2.2.0, is-core-module@npm:^2.5.0, is-core-module@npm:^2.6.0": version: 2.7.0 resolution: "is-core-module@npm:2.7.0" dependencies: @@ -5865,6 +8298,24 @@ __metadata: languageName: node linkType: hard +"is-data-descriptor@npm:^0.1.4": + version: 0.1.4 + resolution: "is-data-descriptor@npm:0.1.4" + dependencies: + kind-of: ^3.0.2 + checksum: 5c622e078ba933a78338ae398a3d1fc5c23332b395312daf4f74bab4afb10d061cea74821add726cb4db8b946ba36217ee71a24fe71dd5bca4632edb7f6aad87 + languageName: node + linkType: hard + +"is-data-descriptor@npm:^1.0.0": + version: 1.0.0 + resolution: "is-data-descriptor@npm:1.0.0" + dependencies: + kind-of: ^6.0.0 + checksum: e705e6816241c013b05a65dc452244ee378d1c3e3842bd140beabe6e12c0d700ef23c91803f971aa7b091fb0573c5da8963af34a2b573337d87bc3e1f53a4e6d + languageName: node + linkType: hard + "is-date-object@npm:^1.0.1": version: 1.0.5 resolution: "is-date-object@npm:1.0.5" @@ -5874,6 +8325,28 @@ __metadata: languageName: node linkType: hard +"is-descriptor@npm:^0.1.0": + version: 0.1.6 + resolution: "is-descriptor@npm:0.1.6" + dependencies: + is-accessor-descriptor: ^0.1.6 + is-data-descriptor: ^0.1.4 + kind-of: ^5.0.0 + checksum: 0f780c1b46b465f71d970fd7754096ffdb7b69fd8797ca1f5069c163eaedcd6a20ec4a50af669075c9ebcfb5266d2e53c8b227e485eefdb0d1fee09aa1dd8ab6 + languageName: node + linkType: hard + +"is-descriptor@npm:^1.0.0, is-descriptor@npm:^1.0.2": + version: 1.0.2 + resolution: "is-descriptor@npm:1.0.2" + dependencies: + is-accessor-descriptor: ^1.0.0 + is-data-descriptor: ^1.0.0 + kind-of: ^6.0.2 + checksum: 2ed623560bee035fb67b23e32ce885700bef8abe3fbf8c909907d86507b91a2c89a9d3a4d835a4d7334dd5db0237a0aeae9ca109c1e4ef1c0e7b577c0846ab5a + languageName: node + linkType: hard + "is-directory@npm:^0.3.1": version: 0.3.1 resolution: "is-directory@npm:0.3.1" @@ -5890,6 +8363,22 @@ __metadata: languageName: node linkType: hard +"is-extendable@npm:^0.1.0, is-extendable@npm:^0.1.1": + version: 0.1.1 + resolution: "is-extendable@npm:0.1.1" + checksum: 3875571d20a7563772ecc7a5f36cb03167e9be31ad259041b4a8f73f33f885441f778cee1f1fe0085eb4bc71679b9d8c923690003a36a6a5fdf8023e6e3f0672 + languageName: node + linkType: hard + +"is-extendable@npm:^1.0.1": + version: 1.0.1 + resolution: "is-extendable@npm:1.0.1" + dependencies: + is-plain-object: ^2.0.4 + checksum: db07bc1e9de6170de70eff7001943691f05b9d1547730b11be01c0ebfe67362912ba743cf4be6fd20a5e03b4180c685dad80b7c509fe717037e3eee30ad8e84f + languageName: node + linkType: hard + "is-extglob@npm:^2.1.1": version: 2.1.1 resolution: "is-extglob@npm:2.1.1" @@ -5978,6 +8467,15 @@ __metadata: languageName: node linkType: hard +"is-number@npm:^3.0.0": + version: 3.0.0 + resolution: "is-number@npm:3.0.0" + dependencies: + kind-of: ^3.0.2 + checksum: 0c62bf8e9d72c4dd203a74d8cfc751c746e75513380fef420cda8237e619a988ee43e678ddb23c87ac24d91ac0fe9f22e4ffb1301a50310c697e9d73ca3994e9 + languageName: node + linkType: hard + "is-number@npm:^7.0.0": version: 7.0.0 resolution: "is-number@npm:7.0.0" @@ -5985,6 +8483,13 @@ __metadata: languageName: node linkType: hard +"is-obj@npm:^2.0.0": + version: 2.0.0 + resolution: "is-obj@npm:2.0.0" + checksum: c9916ac8f4621962a42f5e80e7ffdb1d79a3fab7456ceaeea394cd9e0858d04f985a9ace45be44433bf605673c8be8810540fe4cc7f4266fc7526ced95af5a08 + languageName: node + linkType: hard + "is-observable@npm:^1.1.0": version: 1.1.0 resolution: "is-observable@npm:1.1.0" @@ -5994,6 +8499,36 @@ __metadata: languageName: node linkType: hard +"is-plain-obj@npm:^1.0.0, is-plain-obj@npm:^1.1.0": + version: 1.1.0 + resolution: "is-plain-obj@npm:1.1.0" + checksum: 0ee04807797aad50859652a7467481816cbb57e5cc97d813a7dcd8915da8195dc68c436010bf39d195226cde6a2d352f4b815f16f26b7bf486a5754290629931 + languageName: node + linkType: hard + +"is-plain-obj@npm:^2.0.0": + version: 2.1.0 + resolution: "is-plain-obj@npm:2.1.0" + checksum: cec9100678b0a9fe0248a81743041ed990c2d4c99f893d935545cfbc42876cbe86d207f3b895700c690ad2fa520e568c44afc1605044b535a7820c1d40e38daa + languageName: node + linkType: hard + +"is-plain-object@npm:^2.0.3, is-plain-object@npm:^2.0.4": + version: 2.0.4 + resolution: "is-plain-object@npm:2.0.4" + dependencies: + isobject: ^3.0.1 + checksum: 2a401140cfd86cabe25214956ae2cfee6fbd8186809555cd0e84574f88de7b17abacb2e477a6a658fa54c6083ecbda1e6ae404c7720244cd198903848fca70ca + languageName: node + linkType: hard + +"is-plain-object@npm:^5.0.0": + version: 5.0.0 + resolution: "is-plain-object@npm:5.0.0" + checksum: e32d27061eef62c0847d303125440a38660517e586f2f3db7c9d179ae5b6674ab0f469d519b2e25c147a1a3bc87156d0d5f4d8821e0ce4a9ee7fe1fcf11ce45c + languageName: node + linkType: hard + "is-potential-custom-element-name@npm:^1.0.1": version: 1.0.1 resolution: "is-potential-custom-element-name@npm:1.0.1" @@ -6073,6 +8608,15 @@ __metadata: languageName: node linkType: hard +"is-text-path@npm:^1.0.1": + version: 1.0.1 + resolution: "is-text-path@npm:1.0.1" + dependencies: + text-extensions: ^1.0.0 + checksum: fb5d78752c22b3f73a7c9540768f765ffcfa38c9e421e2b9af869565307fa1ae5e3d3a2ba016a43549742856846566d327da406e94a5846ec838a288b1704fd2 + languageName: node + linkType: hard + "is-typed-array@npm:^1.1.3, is-typed-array@npm:^1.1.7": version: 1.1.8 resolution: "is-typed-array@npm:1.1.8" @@ -6102,6 +8646,13 @@ __metadata: languageName: node linkType: hard +"is-windows@npm:^1.0.2": + version: 1.0.2 + resolution: "is-windows@npm:1.0.2" + checksum: 438b7e52656fe3b9b293b180defb4e448088e7023a523ec21a91a80b9ff8cdb3377ddb5b6e60f7c7de4fa8b63ab56e121b6705fe081b3cf1b828b0a380009ad7 + languageName: node + linkType: hard + "is-wsl@npm:^1.1.0": version: 1.1.0 resolution: "is-wsl@npm:1.1.0" @@ -6118,7 +8669,7 @@ __metadata: languageName: node linkType: hard -"isarray@npm:^1.0.0, isarray@npm:~1.0.0": +"isarray@npm:1.0.0, isarray@npm:^1.0.0, isarray@npm:~1.0.0": version: 1.0.0 resolution: "isarray@npm:1.0.0" checksum: f032df8e02dce8ec565cf2eb605ea939bdccea528dbcf565cdf92bfa2da9110461159d86a537388ef1acef8815a330642d7885b29010e8f7eac967c9993b65ab @@ -6132,6 +8683,22 @@ __metadata: languageName: node linkType: hard +"isobject@npm:^2.0.0": + version: 2.1.0 + resolution: "isobject@npm:2.1.0" + dependencies: + isarray: 1.0.0 + checksum: 811c6f5a866877d31f0606a88af4a45f282544de886bf29f6a34c46616a1ae2ed17076cc6bf34c0128f33eecf7e1fcaa2c82cf3770560d3e26810894e96ae79f + languageName: node + linkType: hard + +"isobject@npm:^3.0.0, isobject@npm:^3.0.1": + version: 3.0.1 + resolution: "isobject@npm:3.0.1" + checksum: db85c4c970ce30693676487cca0e61da2ca34e8d4967c2e1309143ff910c207133a969f9e4ddb2dc6aba670aabce4e0e307146c310350b298e74a31f7d464703 + languageName: node + linkType: hard + "isstream@npm:~0.1.2": version: 0.1.2 resolution: "isstream@npm:0.1.2" @@ -6139,6 +8706,13 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-coverage@npm:^2.0.2, istanbul-lib-coverage@npm:^2.0.5": + version: 2.0.5 + resolution: "istanbul-lib-coverage@npm:2.0.5" + checksum: c83bf39dc722d2a3e7c98b16643f2fef719fd59adf23441ad8a1e6422bb1f3367ac7d4c42ac45d0d87413476891947b6ffbdecf2184047436336aa0c28bbfc15 + languageName: node + linkType: hard + "istanbul-lib-coverage@npm:^3.0.0": version: 3.0.1 resolution: "istanbul-lib-coverage@npm:3.0.1" @@ -6146,6 +8720,21 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-instrument@npm:^3.0.1, istanbul-lib-instrument@npm:^3.3.0": + version: 3.3.0 + resolution: "istanbul-lib-instrument@npm:3.3.0" + dependencies: + "@babel/generator": ^7.4.0 + "@babel/parser": ^7.4.3 + "@babel/template": ^7.4.0 + "@babel/traverse": ^7.4.3 + "@babel/types": ^7.4.0 + istanbul-lib-coverage: ^2.0.5 + semver: ^6.0.0 + checksum: 5ff86440c2f4afe83603f899721e43f9bbc0049ebf4e7fd696ea361d0c9ae5c831c656eec07c13f42ba934fc808c78f42a7884f1a08349802bc9bfa5af760571 + languageName: node + linkType: hard + "istanbul-lib-instrument@npm:^4.0.0, istanbul-lib-instrument@npm:^4.0.3": version: 4.0.3 resolution: "istanbul-lib-instrument@npm:4.0.3" @@ -6158,6 +8747,17 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-report@npm:^2.0.4": + version: 2.0.8 + resolution: "istanbul-lib-report@npm:2.0.8" + dependencies: + istanbul-lib-coverage: ^2.0.5 + make-dir: ^2.1.0 + supports-color: ^6.1.0 + checksum: eef53d35ea750fd971bc7abf2cf1350615804e4dee5a7ee6e13cff45ff36b518970baaeef4bf019d46149581f9d10c3f3675083cf6625da6cc3d4d4b4c670374 + languageName: node + linkType: hard + "istanbul-lib-report@npm:^3.0.0": version: 3.0.0 resolution: "istanbul-lib-report@npm:3.0.0" @@ -6169,6 +8769,19 @@ __metadata: languageName: node linkType: hard +"istanbul-lib-source-maps@npm:^3.0.1": + version: 3.0.6 + resolution: "istanbul-lib-source-maps@npm:3.0.6" + dependencies: + debug: ^4.1.1 + istanbul-lib-coverage: ^2.0.5 + make-dir: ^2.1.0 + rimraf: ^2.6.3 + source-map: ^0.6.1 + checksum: 1c6ebc81331ab4d831910db3e98da1ee4e3e96f64c2fb533e1b73516305f020b44765fa2937f24eee4adb11be22a1fa42c04786e0d697d4893987a1a5180a541 + languageName: node + linkType: hard + "istanbul-lib-source-maps@npm:^4.0.0": version: 4.0.0 resolution: "istanbul-lib-source-maps@npm:4.0.0" @@ -6180,6 +8793,15 @@ __metadata: languageName: node linkType: hard +"istanbul-reports@npm:^2.2.6": + version: 2.2.7 + resolution: "istanbul-reports@npm:2.2.7" + dependencies: + html-escaper: ^2.0.0 + checksum: 138604c86fe4a386c4ba23c103aa64f3d867548cb1ac9961cafe912004bde601180d7ece918a76e2e0078b94e503b77aa696d6e6f68a0d8698abbf0923d78285 + languageName: node + linkType: hard + "istanbul-reports@npm:^3.0.2": version: 3.0.2 resolution: "istanbul-reports@npm:3.0.2" @@ -6197,6 +8819,17 @@ __metadata: languageName: node linkType: hard +"jest-changed-files@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-changed-files@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + execa: ^1.0.0 + throat: ^4.0.0 + checksum: f40e901e6ac2e6f47730b610c3dbef44a9235d556ba53b23926d45e6334c1c5989fd255140753d3270d5e63371ae69084e0867c11b8322030edab51e1ff1b8b7 + languageName: node + linkType: hard + "jest-changed-files@npm:^27.2.4": version: 27.2.4 resolution: "jest-changed-files@npm:27.2.4" @@ -6235,6 +8868,29 @@ __metadata: languageName: node linkType: hard +"jest-cli@npm:^24.8.0": + version: 24.9.0 + resolution: "jest-cli@npm:24.9.0" + dependencies: + "@jest/core": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + exit: ^0.1.2 + import-local: ^2.0.0 + is-ci: ^2.0.0 + jest-config: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + prompts: ^2.0.1 + realpath-native: ^1.1.0 + yargs: ^13.3.0 + bin: + jest: ./bin/jest.js + checksum: 8fc975da02e6793352a3508fae1523c094ed44633dc5e651aa1f01e49b9d4be8353422fd5dc7f01e464f6aafee13b3210daf3d11ce466c8959071251bdb0dc09 + languageName: node + linkType: hard + "jest-cli@npm:^27.2.4": version: 27.2.4 resolution: "jest-cli@npm:27.2.4" @@ -6262,6 +8918,31 @@ __metadata: languageName: node linkType: hard +"jest-config@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-config@npm:24.9.0" + dependencies: + "@babel/core": ^7.1.0 + "@jest/test-sequencer": ^24.9.0 + "@jest/types": ^24.9.0 + babel-jest: ^24.9.0 + chalk: ^2.0.1 + glob: ^7.1.1 + jest-environment-jsdom: ^24.9.0 + jest-environment-node: ^24.9.0 + jest-get-type: ^24.9.0 + jest-jasmine2: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + micromatch: ^3.1.10 + pretty-format: ^24.9.0 + realpath-native: ^1.1.0 + checksum: 87268fcab5322775601181f4ee17d51102ba153b1e0dc68a55075e44109b372f4925fe9c361cca6a72d5934f806b16f8331f0efad8b6b296a6f7bffcb7a34cb9 + languageName: node + linkType: hard + "jest-config@npm:^27.2.4": version: 27.2.4 resolution: "jest-config@npm:27.2.4" @@ -6296,6 +8977,18 @@ __metadata: languageName: node linkType: hard +"jest-diff@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-diff@npm:24.9.0" + dependencies: + chalk: ^2.0.1 + diff-sequences: ^24.9.0 + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 462ccb128cb1b64eb285d28245d0c5bfc230cb063624bd117550d6dbc94332f606828a5de86938611d1e6a78489e576c496737ae139084f6049a56b768ad6402 + languageName: node + linkType: hard + "jest-diff@npm:^27.0.0, jest-diff@npm:^27.2.4": version: 27.2.4 resolution: "jest-diff@npm:27.2.4" @@ -6308,6 +9001,15 @@ __metadata: languageName: node linkType: hard +"jest-docblock@npm:^24.3.0": + version: 24.9.0 + resolution: "jest-docblock@npm:24.9.0" + dependencies: + detect-newline: ^2.1.0 + checksum: 0b2321a4ac5b2b59f9183f805d4c50223635e53ce76080c406da3d499916972b70ce8809fda6d0616b2ce606dd201be36be6b4c8c62ae2c0e62f14cfa3bfcbdb + languageName: node + linkType: hard + "jest-docblock@npm:^27.0.6": version: 27.0.6 resolution: "jest-docblock@npm:27.0.6" @@ -6317,6 +9019,19 @@ __metadata: languageName: node linkType: hard +"jest-each@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-each@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + jest-get-type: ^24.9.0 + jest-util: ^24.9.0 + pretty-format: ^24.9.0 + checksum: 93dc198e1dbea985816e3739b8a6e8622f1ee7b3f8b97d074aa8d512b4f81b8b70b30dcdcb5f735b3407bbd0fe5a9ac06e38cbf6499f7ab302daff2832c49683 + languageName: node + linkType: hard + "jest-each@npm:^27.2.4": version: 27.2.4 resolution: "jest-each@npm:27.2.4" @@ -6330,6 +9045,20 @@ __metadata: languageName: node linkType: hard +"jest-environment-jsdom@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-jsdom@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + jest-util: ^24.9.0 + jsdom: ^11.5.1 + checksum: 093e7f25735e52a1ff01673f0e3921e3e8228d2e902762bf102f1c34cd206e9b73aa83dcd0598e101c6cf4c23e99e5c84df84084258268a696c3007d6990f701 + languageName: node + linkType: hard + "jest-environment-jsdom@npm:^27.2.4": version: 27.2.4 resolution: "jest-environment-jsdom@npm:27.2.4" @@ -6345,6 +9074,19 @@ __metadata: languageName: node linkType: hard +"jest-environment-node@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-environment-node@npm:24.9.0" + dependencies: + "@jest/environment": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/types": ^24.9.0 + jest-mock: ^24.9.0 + jest-util: ^24.9.0 + checksum: 61a446f7cbab96b1777f53bcbb45ecda139a2473c7a093a9420f0018824ec307b93f920f9e188b5f11b605d0ed14798396c97113aedb66c2801b29367a5dc8d2 + languageName: node + linkType: hard + "jest-environment-node@npm:^27.2.4": version: 27.2.4 resolution: "jest-environment-node@npm:27.2.4" @@ -6359,6 +9101,13 @@ __metadata: languageName: node linkType: hard +"jest-get-type@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-get-type@npm:24.9.0" + checksum: 821e6cd46434c917370cd362fbc4ce564c6e22780351f3ca468b230fbbc657ae19905ed5cdcc5e112d81a2c79cbd3fbcbe0dd44dc62860414b60ea223009958c + languageName: node + linkType: hard + "jest-get-type@npm:^27.0.6": version: 27.0.6 resolution: "jest-get-type@npm:27.0.6" @@ -6366,6 +9115,29 @@ __metadata: languageName: node linkType: hard +"jest-haste-map@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-haste-map@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + anymatch: ^2.0.0 + fb-watchman: ^2.0.0 + fsevents: ^1.2.7 + graceful-fs: ^4.1.15 + invariant: ^2.2.4 + jest-serializer: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.9.0 + micromatch: ^3.1.10 + sane: ^4.0.3 + walker: ^1.0.7 + dependenciesMeta: + fsevents: + optional: true + checksum: 3ec2d60863c315d52a32b2d1df3cc8bb5403f7d8bf159e556c878db09dedc4d1fb4e4d5f56cb67c92663b334d49ef8b768375b0d153adebf4d48a7b6959e71b3 + languageName: node + linkType: hard + "jest-haste-map@npm:^27.2.4": version: 27.2.4 resolution: "jest-haste-map@npm:27.2.4" @@ -6390,6 +9162,30 @@ __metadata: languageName: node linkType: hard +"jest-jasmine2@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-jasmine2@npm:24.9.0" + dependencies: + "@babel/traverse": ^7.1.0 + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + co: ^4.6.0 + expect: ^24.9.0 + is-generator-fn: ^2.0.0 + jest-each: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-runtime: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + pretty-format: ^24.9.0 + throat: ^4.0.0 + checksum: 0ce903a12f5c237565e033d6e97bbb22d3131f918d4f715f6908950d820424c780b2f7020b9771001cede4e0a76bd06592fff99924b84cafbc8353feb38667aa + languageName: node + linkType: hard + "jest-jasmine2@npm:^27.2.4": version: 27.2.4 resolution: "jest-jasmine2@npm:27.2.4" @@ -6416,6 +9212,16 @@ __metadata: languageName: node linkType: hard +"jest-leak-detector@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-leak-detector@npm:24.9.0" + dependencies: + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: ab54f8ca8f9abf76db9f681b8add50a17767e7b15459710ece030bd034e1fad47c67da73562408779839138dc7423a08f387f5930efdd800eac67d5653badce8 + languageName: node + linkType: hard + "jest-leak-detector@npm:^27.2.4": version: 27.2.4 resolution: "jest-leak-detector@npm:27.2.4" @@ -6426,6 +9232,18 @@ __metadata: languageName: node linkType: hard +"jest-matcher-utils@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-matcher-utils@npm:24.9.0" + dependencies: + chalk: ^2.0.1 + jest-diff: ^24.9.0 + jest-get-type: ^24.9.0 + pretty-format: ^24.9.0 + checksum: e9dcd4c7a0bf52dccb4890de7ac2da3e857af067e71633b730fdc865dd271b8a2c3d68a2761d5ca6060ea4a455be42176f58462006468b8eb7c216921251e2ee + languageName: node + linkType: hard + "jest-matcher-utils@npm:^27.2.4": version: 27.2.4 resolution: "jest-matcher-utils@npm:27.2.4" @@ -6438,6 +9256,22 @@ __metadata: languageName: node linkType: hard +"jest-message-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-message-util@npm:24.9.0" + dependencies: + "@babel/code-frame": ^7.0.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/stack-utils": ^1.0.1 + chalk: ^2.0.1 + micromatch: ^3.1.10 + slash: ^2.0.0 + stack-utils: ^1.0.1 + checksum: c173117b245090967db4853c28c3452ad2987a10caf28161abbfeb8d96be13f0d9e25422df10162bcc5e46860887e35ec4b4963f85392c4a625e4c37ad242f0b + languageName: node + linkType: hard + "jest-message-util@npm:^27.2.4": version: 27.2.4 resolution: "jest-message-util@npm:27.2.4" @@ -6455,6 +9289,15 @@ __metadata: languageName: node linkType: hard +"jest-mock@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-mock@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + checksum: 823feac37b003543fe81e05d5d8a1ec69cdf9ae5b797582a3e90424ec476120ce42a11e6b1d8231958e01232d4e40e57207cf2c56197d63d309bdeaf63fcf804 + languageName: node + linkType: hard + "jest-mock@npm:^27.2.4": version: 27.2.4 resolution: "jest-mock@npm:27.2.4" @@ -6465,7 +9308,7 @@ __metadata: languageName: node linkType: hard -"jest-pnp-resolver@npm:^1.2.2": +"jest-pnp-resolver@npm:^1.2.1, jest-pnp-resolver@npm:^1.2.2": version: 1.2.2 resolution: "jest-pnp-resolver@npm:1.2.2" peerDependencies: @@ -6477,6 +9320,13 @@ __metadata: languageName: node linkType: hard +"jest-regex-util@npm:^24.3.0, jest-regex-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-regex-util@npm:24.9.0" + checksum: 94299972501ae5dfc3932673b263fd15dba5e28698571687a28cc59b5a173edcbf52b992f4d5a6eded9da5b7e1468d263ef96a1564267832799b41c2986fc423 + languageName: node + linkType: hard + "jest-regex-util@npm:^27.0.6": version: 27.0.6 resolution: "jest-regex-util@npm:27.0.6" @@ -6484,6 +9334,17 @@ __metadata: languageName: node linkType: hard +"jest-resolve-dependencies@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve-dependencies@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + jest-regex-util: ^24.3.0 + jest-snapshot: ^24.9.0 + checksum: 126627777e7382b7ecc5b342f5f7b0e247a99e35895ee59282e7066c611d58ff2bd6a7332628e44e221a52361b8ecd1d9de41ba20d240f9b621ee80b6aebf820 + languageName: node + linkType: hard + "jest-resolve-dependencies@npm:^27.2.4": version: 27.2.4 resolution: "jest-resolve-dependencies@npm:27.2.4" @@ -6495,6 +9356,19 @@ __metadata: languageName: node linkType: hard +"jest-resolve@npm:24.9.0, jest-resolve@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-resolve@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + browser-resolve: ^1.11.3 + chalk: ^2.0.1 + jest-pnp-resolver: ^1.2.1 + realpath-native: ^1.1.0 + checksum: 60a84cbd75d5cdab1ad29c8ed62e43fbc374c906e5a0f166fae5170f91c863ee9372aaab7dbdb3a06a38b0362131fa7c907c114be76a8bc1aeac47013ec308e4 + languageName: node + linkType: hard + "jest-resolve@npm:27.2.4, jest-resolve@npm:^27.2.4": version: 27.2.4 resolution: "jest-resolve@npm:27.2.4" @@ -6513,6 +9387,33 @@ __metadata: languageName: node linkType: hard +"jest-runner@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runner@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/environment": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + chalk: ^2.4.2 + exit: ^0.1.2 + graceful-fs: ^4.1.15 + jest-config: ^24.9.0 + jest-docblock: ^24.3.0 + jest-haste-map: ^24.9.0 + jest-jasmine2: ^24.9.0 + jest-leak-detector: ^24.9.0 + jest-message-util: ^24.9.0 + jest-resolve: ^24.9.0 + jest-runtime: ^24.9.0 + jest-util: ^24.9.0 + jest-worker: ^24.6.0 + source-map-support: ^0.5.6 + throat: ^4.0.0 + checksum: cb5c9fe598ca4ce8d13c2cf8b1649573e1bc73a50eb9438719b33970fed35ee75f731d64090d3392990f077ac1974119d094e311f503884eab42fa10081bd8a3 + languageName: node + linkType: hard + "jest-runner@npm:^27.2.4": version: 27.2.4 resolution: "jest-runner@npm:27.2.4" @@ -6543,6 +9444,39 @@ __metadata: languageName: node linkType: hard +"jest-runtime@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-runtime@npm:24.9.0" + dependencies: + "@jest/console": ^24.7.1 + "@jest/environment": ^24.9.0 + "@jest/source-map": ^24.3.0 + "@jest/transform": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/yargs": ^13.0.0 + chalk: ^2.0.1 + exit: ^0.1.2 + glob: ^7.1.3 + graceful-fs: ^4.1.15 + jest-config: ^24.9.0 + jest-haste-map: ^24.9.0 + jest-message-util: ^24.9.0 + jest-mock: ^24.9.0 + jest-regex-util: ^24.3.0 + jest-resolve: ^24.9.0 + jest-snapshot: ^24.9.0 + jest-util: ^24.9.0 + jest-validate: ^24.9.0 + realpath-native: ^1.1.0 + slash: ^2.0.0 + strip-bom: ^3.0.0 + yargs: ^13.3.0 + bin: + jest-runtime: ./bin/jest-runtime.js + checksum: 924afebac3f1aaf8d9d6dec1b949d1c082b59a26c1b8917a7c47bf9bd27ad05544d534748119616b7f4e99ff50f546f25ca8b3f9bf32a34504355b8059bd0d45 + languageName: node + linkType: hard + "jest-runtime@npm:^27.2.4": version: 27.2.4 resolution: "jest-runtime@npm:27.2.4" @@ -6578,6 +9512,13 @@ __metadata: languageName: node linkType: hard +"jest-serializer@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-serializer@npm:24.9.0" + checksum: 56d70bd50ebd71de7a38e1f94ef2fdf1293c3810ef6d372b69238263625d3df1e6749417872bc6be0515e39832f4c40df03c74d20d8f0f43efd14ea21e22178d + languageName: node + linkType: hard + "jest-serializer@npm:^27.0.6": version: 27.0.6 resolution: "jest-serializer@npm:27.0.6" @@ -6588,6 +9529,27 @@ __metadata: languageName: node linkType: hard +"jest-snapshot@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-snapshot@npm:24.9.0" + dependencies: + "@babel/types": ^7.0.0 + "@jest/types": ^24.9.0 + chalk: ^2.0.1 + expect: ^24.9.0 + jest-diff: ^24.9.0 + jest-get-type: ^24.9.0 + jest-matcher-utils: ^24.9.0 + jest-message-util: ^24.9.0 + jest-resolve: ^24.9.0 + mkdirp: ^0.5.1 + natural-compare: ^1.4.0 + pretty-format: ^24.9.0 + semver: ^6.2.0 + checksum: 474dc05ededdb8b39fb79801498fcd16c1a13a01b4701a27172be0ee3ebc5640e2bfb2780a9afa49bd825b19fc2be1e2ec5fc3d501afa76a5f7bc40f0120aaf3 + languageName: node + linkType: hard + "jest-snapshot@npm:^27.2.4": version: 27.2.4 resolution: "jest-snapshot@npm:27.2.4" @@ -6620,6 +9582,26 @@ __metadata: languageName: node linkType: hard +"jest-util@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-util@npm:24.9.0" + dependencies: + "@jest/console": ^24.9.0 + "@jest/fake-timers": ^24.9.0 + "@jest/source-map": ^24.9.0 + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + callsites: ^3.0.0 + chalk: ^2.0.1 + graceful-fs: ^4.1.15 + is-ci: ^2.0.0 + mkdirp: ^0.5.1 + slash: ^2.0.0 + source-map: ^0.6.0 + checksum: ee84238bfb8c4aa60830b546e0e5dbdff53bbe55a1462f023182130ee7f1f3aac2dce0ab8395ab72b93e5a889fa12a55cebeeab04352a623d00d29c262dfbeb0 + languageName: node + linkType: hard + "jest-util@npm:^27.2.4": version: 27.2.4 resolution: "jest-util@npm:27.2.4" @@ -6634,6 +9616,20 @@ __metadata: languageName: node linkType: hard +"jest-validate@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-validate@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + camelcase: ^5.3.1 + chalk: ^2.0.1 + jest-get-type: ^24.9.0 + leven: ^3.1.0 + pretty-format: ^24.9.0 + checksum: 8e9abc2b605a10e9872bd7cc9cd676641b781b16f22028b7ed59cb3243e942065229e804bf5aa3c9e2d62a1444dd492193155bb7e02d9e6e330faa0afbb6dd9f + languageName: node + linkType: hard + "jest-validate@npm:^27.2.4": version: 27.2.4 resolution: "jest-validate@npm:27.2.4" @@ -6648,6 +9644,21 @@ __metadata: languageName: node linkType: hard +"jest-watcher@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-watcher@npm:24.9.0" + dependencies: + "@jest/test-result": ^24.9.0 + "@jest/types": ^24.9.0 + "@types/yargs": ^13.0.0 + ansi-escapes: ^3.0.0 + chalk: ^2.0.1 + jest-util: ^24.9.0 + string-length: ^2.0.0 + checksum: c0ceec6e854ee73a196064e51471fe01ff743ca78df8f4ef1c78194a0fd4f43ece26d2c55d011e258ac7ae0f37eaecbe3cc100defb604124d90cd9473538a97b + languageName: node + linkType: hard + "jest-watcher@npm:^27.2.4": version: 27.2.4 resolution: "jest-watcher@npm:27.2.4" @@ -6674,6 +9685,16 @@ __metadata: languageName: node linkType: hard +"jest-worker@npm:^24.6.0, jest-worker@npm:^24.9.0": + version: 24.9.0 + resolution: "jest-worker@npm:24.9.0" + dependencies: + merge-stream: ^2.0.0 + supports-color: ^6.1.0 + checksum: bd23b6c8728dcf3bad0d84543ea1bc4a95ccd3b5a40f9e2796d527ab0e87dc6afa6c30cc7b67845dce1cfe7894753812d19793de605db1976b7ac08930671bff + languageName: node + linkType: hard + "jest-worker@npm:^27.2.4": version: 27.2.4 resolution: "jest-worker@npm:27.2.4" @@ -6685,6 +9706,18 @@ __metadata: languageName: node linkType: hard +"jest@npm:24.8.0": + version: 24.8.0 + resolution: "jest@npm:24.8.0" + dependencies: + import-local: ^2.0.0 + jest-cli: ^24.8.0 + bin: + jest: ./bin/jest.js + checksum: d9dcc23e3301bfb9921c1145bc7fb6978151c7796e57097e0aa726d29c1c800e963057d03e44ca34f09bd9888cc729ce9d91c3b3377675369590b9fd9e801310 + languageName: node + linkType: hard + "jest@npm:27.2.4": version: 27.2.4 resolution: "jest@npm:27.2.4" @@ -6729,7 +9762,7 @@ __metadata: languageName: node linkType: hard -"jsdom@npm:^11.9.0": +"jsdom@npm:^11.5.1, jsdom@npm:^11.9.0": version: 11.12.0 resolution: "jsdom@npm:11.12.0" dependencies: @@ -6908,6 +9941,13 @@ __metadata: languageName: node linkType: hard +"jsonparse@npm:^1.2.0, jsonparse@npm:^1.3.1": + version: 1.3.1 + resolution: "jsonparse@npm:1.3.1" + checksum: 6514a7be4674ebf407afca0eda3ba284b69b07f9958a8d3113ef1005f7ec610860c312be067e450c569aab8b89635e332cee3696789c750692bb60daba627f4d + languageName: node + linkType: hard + "jsprim@npm:^1.2.2": version: 1.4.1 resolution: "jsprim@npm:1.4.1" @@ -6930,6 +9970,38 @@ __metadata: languageName: node linkType: hard +"kind-of@npm:^3.0.2, kind-of@npm:^3.0.3, kind-of@npm:^3.2.0": + version: 3.2.2 + resolution: "kind-of@npm:3.2.2" + dependencies: + is-buffer: ^1.1.5 + checksum: e898df8ca2f31038f27d24f0b8080da7be274f986bc6ed176f37c77c454d76627619e1681f6f9d2e8d2fd7557a18ecc419a6bb54e422abcbb8da8f1a75e4b386 + languageName: node + linkType: hard + +"kind-of@npm:^4.0.0": + version: 4.0.0 + resolution: "kind-of@npm:4.0.0" + dependencies: + is-buffer: ^1.1.5 + checksum: 1b9e7624a8771b5a2489026e820f3bbbcc67893e1345804a56b23a91e9069965854d2a223a7c6ee563c45be9d8c6ff1ef87f28ed5f0d1a8d00d9dcbb067c529f + languageName: node + linkType: hard + +"kind-of@npm:^5.0.0": + version: 5.1.0 + resolution: "kind-of@npm:5.1.0" + checksum: f2a0102ae0cf19c4a953397e552571bad2b588b53282874f25fca7236396e650e2db50d41f9f516bd402536e4df968dbb51b8e69e4d5d4a7173def78448f7bab + languageName: node + linkType: hard + +"kind-of@npm:^6.0.0, kind-of@npm:^6.0.2, kind-of@npm:^6.0.3": + version: 6.0.3 + resolution: "kind-of@npm:6.0.3" + checksum: 3ab01e7b1d440b22fe4c31f23d8d38b4d9b91d9f291df683476576493d5dfd2e03848a8b05813dd0c3f0e835bc63f433007ddeceb71f05cb25c45ae1b19c6d3b + languageName: node + linkType: hard + "kleur@npm:^3.0.3": version: 3.0.3 resolution: "kleur@npm:3.0.3" @@ -6960,6 +10032,34 @@ __metadata: languageName: node linkType: hard +"lerna@npm:^4.0.0": + version: 4.0.0 + resolution: "lerna@npm:4.0.0" + dependencies: + "@lerna/add": 4.0.0 + "@lerna/bootstrap": 4.0.0 + "@lerna/changed": 4.0.0 + "@lerna/clean": 4.0.0 + "@lerna/cli": 4.0.0 + "@lerna/create": 4.0.0 + "@lerna/diff": 4.0.0 + "@lerna/exec": 4.0.0 + "@lerna/import": 4.0.0 + "@lerna/info": 4.0.0 + "@lerna/init": 4.0.0 + "@lerna/link": 4.0.0 + "@lerna/list": 4.0.0 + "@lerna/publish": 4.0.0 + "@lerna/run": 4.0.0 + "@lerna/version": 4.0.0 + import-local: ^3.0.2 + npmlog: ^4.1.2 + bin: + lerna: cli.js + checksum: b8a2791bcfd5eb49b0e9cd125ad31a77dd7993a7fff207e864bc03aef64719b31d16bf2f72149c9cbd0bacb0a2b47c2cc5a87da3382124c1d22a611098dcc979 + languageName: node + linkType: hard + "leven@npm:^3.1.0": version: 3.1.0 resolution: "leven@npm:3.1.0" @@ -6987,6 +10087,31 @@ __metadata: languageName: node linkType: hard +"libnpmaccess@npm:^4.0.1": + version: 4.0.3 + resolution: "libnpmaccess@npm:4.0.3" + dependencies: + aproba: ^2.0.0 + minipass: ^3.1.1 + npm-package-arg: ^8.1.2 + npm-registry-fetch: ^11.0.0 + checksum: cc6b9fa0abadb6945adbd00dcf1c22267ed0b4d35e0f6ddc50b9fe7a60aa596613110367502e3cb483f93fbe9aa7df4c575ca00b7b3d9eb429fa2aeaad5783aa + languageName: node + linkType: hard + +"libnpmpublish@npm:^4.0.0": + version: 4.0.2 + resolution: "libnpmpublish@npm:4.0.2" + dependencies: + normalize-package-data: ^3.0.2 + npm-package-arg: ^8.1.2 + npm-registry-fetch: ^11.0.0 + semver: ^7.1.3 + ssri: ^8.0.1 + checksum: 5aa83352bb70bc9bb082107678d1e42f8f80ef1c354b37849a40fa0ab9c9e715aeba803811ee2f0da99605054aead41450e040b4d37cf543237594e1d1b97173 + languageName: node + linkType: hard + "lilconfig@npm:^2.0.3": version: 2.0.3 resolution: "lilconfig@npm:2.0.3" @@ -7080,6 +10205,18 @@ __metadata: languageName: node linkType: hard +"load-json-file@npm:^6.2.0": + version: 6.2.0 + resolution: "load-json-file@npm:6.2.0" + dependencies: + graceful-fs: ^4.1.15 + parse-json: ^5.0.0 + strip-bom: ^4.0.0 + type-fest: ^0.6.0 + checksum: 4429e430ebb99375fc7cd936348e4f7ba729486080ced4272091c1e386a7f5f738ea3337d8ffd4b01c2f5bc3ddde92f2c780045b66838fe98bdb79f901884643 + languageName: node + linkType: hard + "loader-utils@npm:1.2.3": version: 1.2.3 resolution: "loader-utils@npm:1.2.3" @@ -7101,6 +10238,16 @@ __metadata: languageName: node linkType: hard +"locate-path@npm:^3.0.0": + version: 3.0.0 + resolution: "locate-path@npm:3.0.0" + dependencies: + p-locate: ^3.0.0 + path-exists: ^3.0.0 + checksum: 53db3996672f21f8b0bf2a2c645ae2c13ffdae1eeecfcd399a583bce8516c0b88dcb4222ca6efbbbeb6949df7e46860895be2c02e8d3219abd373ace3bfb4e11 + languageName: node + linkType: hard + "locate-path@npm:^5.0.0": version: 5.0.0 resolution: "locate-path@npm:5.0.0" @@ -7145,6 +10292,13 @@ __metadata: languageName: node linkType: hard +"lodash.ismatch@npm:^4.4.0": + version: 4.4.0 + resolution: "lodash.ismatch@npm:4.4.0" + checksum: a393917578842705c7fc1a30fb80613d1ac42d20b67eb26a2a6004d6d61ee90b419f9eb320508ddcd608e328d91eeaa2651411727eaa9a12534ed6ccb02fc705 + languageName: node + linkType: hard + "lodash.merge@npm:^4.6.1, lodash.merge@npm:^4.6.2": version: 4.6.2 resolution: "lodash.merge@npm:4.6.2" @@ -7166,7 +10320,7 @@ __metadata: languageName: node linkType: hard -"lodash.template@npm:^4.4.0": +"lodash.template@npm:^4.4.0, lodash.template@npm:^4.5.0": version: 4.5.0 resolution: "lodash.template@npm:4.5.0" dependencies: @@ -7213,7 +10367,7 @@ __metadata: languageName: node linkType: hard -"lodash@npm:^4.15.0, lodash@npm:^4.17.11, lodash@npm:^4.17.13, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.7.0, lodash@npm:~4.17.10": +"lodash@npm:^4.15.0, lodash@npm:^4.17.11, lodash@npm:^4.17.13, lodash@npm:^4.17.15, lodash@npm:^4.17.19, lodash@npm:^4.17.21, lodash@npm:^4.7.0, lodash@npm:~4.17.10": version: 4.17.21 resolution: "lodash@npm:4.17.21" checksum: eb835a2e51d381e561e508ce932ea50a8e5a68f4ebdd771ea240d3048244a8d13658acbd502cd4829768c56f2e16bdd4340b9ea141297d472517b83868e677f7 @@ -7240,7 +10394,7 @@ __metadata: languageName: node linkType: hard -"loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": +"loose-envify@npm:^1.0.0, loose-envify@npm:^1.1.0, loose-envify@npm:^1.4.0": version: 1.4.0 resolution: "loose-envify@npm:1.4.0" dependencies: @@ -7269,6 +10423,16 @@ __metadata: languageName: node linkType: hard +"make-dir@npm:^2.1.0": + version: 2.1.0 + resolution: "make-dir@npm:2.1.0" + dependencies: + pify: ^4.0.1 + semver: ^5.6.0 + checksum: 043548886bfaf1820323c6a2997e6d2fa51ccc2586ac14e6f14634f7458b4db2daf15f8c310e2a0abd3e0cddc64df1890d8fc7263033602c47bb12cbfcf86aab + languageName: node + linkType: hard + "make-dir@npm:^3.0.0, make-dir@npm:^3.0.2": version: 3.1.0 resolution: "make-dir@npm:3.1.0" @@ -7285,7 +10449,7 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^8.0.14": +"make-fetch-happen@npm:^8.0.14, make-fetch-happen@npm:^8.0.9": version: 8.0.14 resolution: "make-fetch-happen@npm:8.0.14" dependencies: @@ -7308,6 +10472,30 @@ __metadata: languageName: node linkType: hard +"make-fetch-happen@npm:^9.0.1": + version: 9.1.0 + resolution: "make-fetch-happen@npm:9.1.0" + dependencies: + agentkeepalive: ^4.1.3 + cacache: ^15.2.0 + http-cache-semantics: ^4.1.0 + http-proxy-agent: ^4.0.1 + https-proxy-agent: ^5.0.0 + is-lambda: ^1.0.1 + lru-cache: ^6.0.0 + minipass: ^3.1.3 + minipass-collect: ^1.0.2 + minipass-fetch: ^1.3.2 + minipass-flush: ^1.0.5 + minipass-pipeline: ^1.2.4 + negotiator: ^0.6.2 + promise-retry: ^2.0.1 + socks-proxy-agent: ^6.0.0 + ssri: ^8.0.0 + checksum: 0eb371c85fdd0b1584fcfdf3dc3c62395761b3c14658be02620c310305a9a7ecf1617a5e6fb30c1d081c5c8aaf177fa133ee225024313afabb7aa6a10f1e3d04 + languageName: node + linkType: hard + "makeerror@npm:1.0.x": version: 1.0.11 resolution: "makeerror@npm:1.0.11" @@ -7317,6 +10505,36 @@ __metadata: languageName: node linkType: hard +"map-cache@npm:^0.2.2": + version: 0.2.2 + resolution: "map-cache@npm:0.2.2" + checksum: 3067cea54285c43848bb4539f978a15dedc63c03022abeec6ef05c8cb6829f920f13b94bcaf04142fc6a088318e564c4785704072910d120d55dbc2e0c421969 + languageName: node + linkType: hard + +"map-obj@npm:^1.0.0": + version: 1.0.1 + resolution: "map-obj@npm:1.0.1" + checksum: 9949e7baec2a336e63b8d4dc71018c117c3ce6e39d2451ccbfd3b8350c547c4f6af331a4cbe1c83193d7c6b786082b6256bde843db90cb7da2a21e8fcc28afed + languageName: node + linkType: hard + +"map-obj@npm:^4.0.0": + version: 4.3.0 + resolution: "map-obj@npm:4.3.0" + checksum: fbc554934d1a27a1910e842bc87b177b1a556609dd803747c85ece420692380827c6ae94a95cce4407c054fa0964be3bf8226f7f2cb2e9eeee432c7c1985684e + languageName: node + linkType: hard + +"map-visit@npm:^1.0.0": + version: 1.0.0 + resolution: "map-visit@npm:1.0.0" + dependencies: + object-visit: ^1.0.0 + checksum: c27045a5021c344fc19b9132eb30313e441863b2951029f8f8b66f79d3d8c1e7e5091578075a996f74e417479506fe9ede28c44ca7bc351a61c9d8073daec36a + languageName: node + linkType: hard + "matcher@npm:^3.0.0": version: 3.0.0 resolution: "matcher@npm:3.0.0" @@ -7337,6 +10555,25 @@ __metadata: languageName: node linkType: hard +"meow@npm:^8.0.0": + version: 8.1.2 + resolution: "meow@npm:8.1.2" + dependencies: + "@types/minimist": ^1.2.0 + camelcase-keys: ^6.2.2 + decamelize-keys: ^1.1.0 + hard-rejection: ^2.1.0 + minimist-options: 4.1.0 + normalize-package-data: ^3.0.0 + read-pkg-up: ^7.0.1 + redent: ^3.0.0 + trim-newlines: ^3.0.0 + type-fest: ^0.18.0 + yargs-parser: ^20.2.3 + checksum: bc23bf1b4423ef6a821dff9734406bce4b91ea257e7f10a8b7f896f45b59649f07adc0926e2917eacd8cf1df9e4cd89c77623cf63dfd0f8bf54de07a32ee5a85 + languageName: node + linkType: hard + "merge-stream@npm:^2.0.0": version: 2.0.0 resolution: "merge-stream@npm:2.0.0" @@ -7351,6 +10588,27 @@ __metadata: languageName: node linkType: hard +"micromatch@npm:^3.1.10, micromatch@npm:^3.1.4": + version: 3.1.10 + resolution: "micromatch@npm:3.1.10" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + braces: ^2.3.1 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + extglob: ^2.0.4 + fragment-cache: ^0.2.1 + kind-of: ^6.0.2 + nanomatch: ^1.2.9 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.2 + checksum: ad226cba4daa95b4eaf47b2ca331c8d2e038d7b41ae7ed0697cde27f3f1d6142881ab03d4da51b65d9d315eceb5e4cdddb3fbb55f5f72cfa19cf3ea469d054dc + languageName: node + linkType: hard + "micromatch@npm:^4.0.4": version: 4.0.4 resolution: "micromatch@npm:4.0.4" @@ -7403,6 +10661,13 @@ __metadata: languageName: node linkType: hard +"min-indent@npm:^1.0.0": + version: 1.0.1 + resolution: "min-indent@npm:1.0.1" + checksum: bfc6dd03c5eaf623a4963ebd94d087f6f4bbbfd8c41329a7f09706b0cb66969c4ddd336abeb587bc44bc6f08e13bf90f0b374f9d71f9f01e04adc2cd6f083ef1 + languageName: node + linkType: hard + "minimalistic-assert@npm:^1.0.0, minimalistic-assert@npm:^1.0.1": version: 1.0.1 resolution: "minimalistic-assert@npm:1.0.1" @@ -7426,6 +10691,17 @@ __metadata: languageName: node linkType: hard +"minimist-options@npm:4.1.0": + version: 4.1.0 + resolution: "minimist-options@npm:4.1.0" + dependencies: + arrify: ^1.0.1 + is-plain-obj: ^1.1.0 + kind-of: ^6.0.3 + checksum: 8c040b3068811e79de1140ca2b708d3e203c8003eb9a414c1ab3cd467fc5f17c9ca02a5aef23bedc51a7f8bfbe77f87e9a7e31ec81fba304cda675b019496f4e + languageName: node + linkType: hard + "minimist@npm:^1.1.1, minimist@npm:^1.2.0, minimist@npm:^1.2.5": version: 1.2.5 resolution: "minimist@npm:1.2.5" @@ -7442,7 +10718,7 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^1.3.2": +"minipass-fetch@npm:^1.3.0, minipass-fetch@npm:^1.3.2": version: 1.4.1 resolution: "minipass-fetch@npm:1.4.1" dependencies: @@ -7466,6 +10742,16 @@ __metadata: languageName: node linkType: hard +"minipass-json-stream@npm:^1.0.1": + version: 1.0.1 + resolution: "minipass-json-stream@npm:1.0.1" + dependencies: + jsonparse: ^1.3.1 + minipass: ^3.0.0 + checksum: 791b696a27d1074c4c08dab1bf5a9f3201145c2933e428f45d880467bce12c60de4703203d2928de4b162d0ae77b0bb4b55f96cb846645800aa0eb4919b3e796 + languageName: node + linkType: hard + "minipass-pipeline@npm:^1.2.2, minipass-pipeline@npm:^1.2.4": version: 1.2.4 resolution: "minipass-pipeline@npm:1.2.4" @@ -7484,6 +10770,16 @@ __metadata: languageName: node linkType: hard +"minipass@npm:^2.6.0, minipass@npm:^2.9.0": + version: 2.9.0 + resolution: "minipass@npm:2.9.0" + dependencies: + safe-buffer: ^5.1.2 + yallist: ^3.0.0 + checksum: 077b66f31ba44fd5a0d27d12a9e6a86bff8f97a4978dedb0373167156b5599fadb6920fdde0d9f803374164d810e05e8462ce28e86abbf7f0bea293a93711fc6 + languageName: node + linkType: hard + "minipass@npm:^3.0.0, minipass@npm:^3.1.0, minipass@npm:^3.1.1, minipass@npm:^3.1.3": version: 3.1.5 resolution: "minipass@npm:3.1.5" @@ -7493,6 +10789,15 @@ __metadata: languageName: node linkType: hard +"minizlib@npm:^1.3.3": + version: 1.3.3 + resolution: "minizlib@npm:1.3.3" + dependencies: + minipass: ^2.9.0 + checksum: b0425c04d2ae6aad5027462665f07cc0d52075f7fa16e942b4611115f9b31f02924073b7221be6f75929d3c47ab93750c63f6dc2bbe8619ceacb3de1f77732c0 + languageName: node + linkType: hard + "minizlib@npm:^2.0.0, minizlib@npm:^2.1.1": version: 2.1.2 resolution: "minizlib@npm:2.1.2" @@ -7503,6 +10808,27 @@ __metadata: languageName: node linkType: hard +"mixin-deep@npm:^1.2.0": + version: 1.3.2 + resolution: "mixin-deep@npm:1.3.2" + dependencies: + for-in: ^1.0.2 + is-extendable: ^1.0.1 + checksum: 820d5a51fcb7479f2926b97f2c3bb223546bc915e6b3a3eb5d906dda871bba569863595424a76682f2b15718252954644f3891437cb7e3f220949bed54b1750d + languageName: node + linkType: hard + +"mkdirp-infer-owner@npm:^2.0.0": + version: 2.0.0 + resolution: "mkdirp-infer-owner@npm:2.0.0" + dependencies: + chownr: ^2.0.0 + infer-owner: ^1.0.4 + mkdirp: ^1.0.3 + checksum: d8f4ecd32f6762459d6b5714eae6487c67ae9734ab14e26d14377ddd9b2a1bf868d8baa18c0f3e73d3d513f53ec7a698e0f81a9367102c870a55bef7833880f7 + languageName: node + linkType: hard + "mkdirp@npm:1.0.4, mkdirp@npm:^1.0.3, mkdirp@npm:^1.0.4": version: 1.0.4 resolution: "mkdirp@npm:1.0.4" @@ -7512,6 +10838,17 @@ __metadata: languageName: node linkType: hard +"mkdirp@npm:^0.5.1, mkdirp@npm:^0.5.5": + version: 0.5.5 + resolution: "mkdirp@npm:0.5.5" + dependencies: + minimist: ^1.2.5 + bin: + mkdirp: bin/cmd.js + checksum: 3bce20ea525f9477befe458ab85284b0b66c8dc3812f94155af07c827175948cdd8114852ac6c6d82009b13c1048c37f6d98743eb019651ee25c39acc8aabe7d + languageName: node + linkType: hard + "modern-normalize@npm:^1.1.0": version: 1.1.0 resolution: "modern-normalize@npm:1.1.0" @@ -7519,6 +10856,13 @@ __metadata: languageName: node linkType: hard +"modify-values@npm:^1.0.0": + version: 1.0.1 + resolution: "modify-values@npm:1.0.1" + checksum: 8296610c608bc97b03c2cf889c6cdf4517e32fa2d836440096374c2209f6b7b3e256c209493a0b32584b9cb32d528e99d0dd19dcd9a14d2d915a312d391cc7e9 + languageName: node + linkType: hard + "moment@npm:2.24.0": version: 2.24.0 resolution: "moment@npm:2.24.0" @@ -7554,6 +10898,35 @@ __metadata: languageName: node linkType: hard +"multimatch@npm:^5.0.0": + version: 5.0.0 + resolution: "multimatch@npm:5.0.0" + dependencies: + "@types/minimatch": ^3.0.3 + array-differ: ^3.0.0 + array-union: ^2.1.0 + arrify: ^2.0.1 + minimatch: ^3.0.4 + checksum: 82c8030a53af965cab48da22f1b0f894ef99e16ee680dabdfbd38d2dfacc3c8208c475203d747afd9e26db44118ed0221d5a0d65268c864f06d6efc7ac6df812 + languageName: node + linkType: hard + +"mute-stream@npm:0.0.8, mute-stream@npm:~0.0.4": + version: 0.0.8 + resolution: "mute-stream@npm:0.0.8" + checksum: ff48d251fc3f827e5b1206cda0ffdaec885e56057ee86a3155e1951bc940fd5f33531774b1cc8414d7668c10a8907f863f6561875ee6e8768931a62121a531a1 + languageName: node + linkType: hard + +"nan@npm:^2.12.1": + version: 2.15.0 + resolution: "nan@npm:2.15.0" + dependencies: + node-gyp: latest + checksum: 33e1bb4dfca447fe37d4bb5889be55de154828632c8d38646db67293a21afd61ed9909cdf1b886214a64707d935926c4e60e2b09de9edfc2ad58de31d6ce8f39 + languageName: node + linkType: hard + "nanocolors@npm:^0.2.12, nanocolors@npm:^0.2.2, nanocolors@npm:^0.2.8": version: 0.2.12 resolution: "nanocolors@npm:0.2.12" @@ -7570,6 +10943,25 @@ __metadata: languageName: node linkType: hard +"nanomatch@npm:^1.2.9": + version: 1.2.13 + resolution: "nanomatch@npm:1.2.13" + dependencies: + arr-diff: ^4.0.0 + array-unique: ^0.3.2 + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + fragment-cache: ^0.2.1 + is-windows: ^1.0.2 + kind-of: ^6.0.2 + object.pick: ^1.3.0 + regex-not: ^1.0.0 + snapdragon: ^0.8.1 + to-regex: ^3.0.1 + checksum: 54d4166d6ef08db41252eb4e96d4109ebcb8029f0374f9db873bd91a1f896c32ec780d2a2ea65c0b2d7caf1f28d5e1ea33746a470f32146ac8bba821d80d38d8 + languageName: node + linkType: hard + "native-url@npm:0.3.4": version: 0.3.4 resolution: "native-url@npm:0.3.4" @@ -7593,6 +10985,20 @@ __metadata: languageName: node linkType: hard +"negotiator@npm:^0.6.2": + version: 0.6.2 + resolution: "negotiator@npm:0.6.2" + checksum: dfddaff6c06792f1c4c3809e29a427b8daef8cd437c83b08dd51d7ee11bbd1c29d9512d66b801144d6c98e910ffd8723f2432e0cbf8b18d41d2a09599c975ab3 + languageName: node + linkType: hard + +"neo-async@npm:^2.6.0": + version: 2.6.2 + resolution: "neo-async@npm:2.6.2" + checksum: deac9f8d00eda7b2e5cd1b2549e26e10a0faa70adaa6fdadca701cc55f49ee9018e427f424bac0c790b7c7e2d3068db97f3093f1093975f2acb8f8818b936ed9 + languageName: node + linkType: hard + "next-cookie@npm:2.7.0": version: 2.7.0 resolution: "next-cookie@npm:2.7.0" @@ -7732,6 +11138,47 @@ __metadata: languageName: node linkType: hard +"node-gyp@npm:^5.0.2": + version: 5.1.1 + resolution: "node-gyp@npm:5.1.1" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.2 + mkdirp: ^0.5.1 + nopt: ^4.0.1 + npmlog: ^4.1.2 + request: ^2.88.0 + rimraf: ^2.6.3 + semver: ^5.7.1 + tar: ^4.4.12 + which: ^1.3.1 + bin: + node-gyp: bin/node-gyp.js + checksum: 3a5e7970192a3cee858e6e78c2eb8b5220e631a5939c06667e085946510bf265133c3a02126a269d39eeb0c700fce8407f338e08ec17a35d35174c54ec122653 + languageName: node + linkType: hard + +"node-gyp@npm:^7.1.0": + version: 7.1.2 + resolution: "node-gyp@npm:7.1.2" + dependencies: + env-paths: ^2.2.0 + glob: ^7.1.4 + graceful-fs: ^4.2.3 + nopt: ^5.0.0 + npmlog: ^4.1.2 + request: ^2.88.2 + rimraf: ^3.0.2 + semver: ^7.3.2 + tar: ^6.0.2 + which: ^2.0.2 + bin: + node-gyp: bin/node-gyp.js + checksum: 08582720f28f9a9bb64bc9cbe2f58b159c0258326a9c898e4e95d2f2d8002f44602338111ebf980e5aa47a3421e071525b758923b76855d780fab8cc03279ae0 + languageName: node + linkType: hard + "node-gyp@npm:latest": version: 8.2.0 resolution: "node-gyp@npm:8.2.0" @@ -7806,6 +11253,19 @@ __metadata: languageName: node linkType: hard +"node-notifier@npm:^5.4.2": + version: 5.4.5 + resolution: "node-notifier@npm:5.4.5" + dependencies: + growly: ^1.3.0 + is-wsl: ^1.1.0 + semver: ^5.5.0 + shellwords: ^0.1.1 + which: ^1.3.0 + checksum: 8de174eb055a2ec55c1b0beede9328e8f9d4e32e7eacb7e3e2fddff48534105d0e2e10b4947dd422cc0602c65141317499c6fb1dc3b8ba03c775fb159e360bef + languageName: node + linkType: hard + "node-releases@npm:^1.1.71, node-releases@npm:^1.1.76": version: 1.1.77 resolution: "node-releases@npm:1.1.77" @@ -7813,6 +11273,18 @@ __metadata: languageName: node linkType: hard +"nopt@npm:^4.0.1": + version: 4.0.3 + resolution: "nopt@npm:4.0.3" + dependencies: + abbrev: 1 + osenv: ^0.1.4 + bin: + nopt: bin/nopt.js + checksum: 66cd3b6021fc8130fc201236bc3dce614fc86988b78faa91377538b09d57aad9ba4300b5d6a01dc93d6c6f2c170f81cc893063d496d108150b65191beb4a50a4 + languageName: node + linkType: hard + "nopt@npm:^5.0.0": version: 5.0.0 resolution: "nopt@npm:5.0.0" @@ -7824,7 +11296,7 @@ __metadata: languageName: node linkType: hard -"normalize-package-data@npm:^2.3.2": +"normalize-package-data@npm:^2.0.0, normalize-package-data@npm:^2.3.2, normalize-package-data@npm:^2.5.0": version: 2.5.0 resolution: "normalize-package-data@npm:2.5.0" dependencies: @@ -7836,6 +11308,27 @@ __metadata: languageName: node linkType: hard +"normalize-package-data@npm:^3.0.0, normalize-package-data@npm:^3.0.2": + version: 3.0.3 + resolution: "normalize-package-data@npm:3.0.3" + dependencies: + hosted-git-info: ^4.0.1 + is-core-module: ^2.5.0 + semver: ^7.3.4 + validate-npm-package-license: ^3.0.1 + checksum: bbcee00339e7c26fdbc760f9b66d429258e2ceca41a5df41f5df06cc7652de8d82e8679ff188ca095cad8eff2b6118d7d866af2b68400f74602fbcbce39c160a + languageName: node + linkType: hard + +"normalize-path@npm:^2.1.1": + version: 2.1.1 + resolution: "normalize-path@npm:2.1.1" + dependencies: + remove-trailing-separator: ^1.0.1 + checksum: 7e9cbdcf7f5b8da7aa191fbfe33daf290cdcd8c038f422faf1b8a83c972bf7a6d94c5be34c4326cb00fb63bc0fd97d9fbcfaf2e5d6142332c2cd36d2e1b86cea + languageName: node + linkType: hard + "normalize-path@npm:^3.0.0, normalize-path@npm:~3.0.0": version: 3.0.0 resolution: "normalize-path@npm:3.0.0" @@ -7857,6 +11350,123 @@ __metadata: languageName: node linkType: hard +"npm-bundled@npm:^1.1.1": + version: 1.1.2 + resolution: "npm-bundled@npm:1.1.2" + dependencies: + npm-normalize-package-bin: ^1.0.1 + checksum: 6e599155ef28d0b498622f47f1ba189dfbae05095a1ed17cb3a5babf961e965dd5eab621f0ec6f0a98de774e5836b8f5a5ee639010d64f42850a74acec3d4d09 + languageName: node + linkType: hard + +"npm-install-checks@npm:^4.0.0": + version: 4.0.0 + resolution: "npm-install-checks@npm:4.0.0" + dependencies: + semver: ^7.1.1 + checksum: 8308ff48e61e0863d7f148f62543e1f6c832525a7d8002ea742d5e478efa8b29bf65a87f9fb82786e15232e4b3d0362b126c45afdceed4c051c0d3c227dd0ace + languageName: node + linkType: hard + +"npm-lifecycle@npm:^3.1.5": + version: 3.1.5 + resolution: "npm-lifecycle@npm:3.1.5" + dependencies: + byline: ^5.0.0 + graceful-fs: ^4.1.15 + node-gyp: ^5.0.2 + resolve-from: ^4.0.0 + slide: ^1.1.6 + uid-number: 0.0.6 + umask: ^1.1.0 + which: ^1.3.1 + checksum: a0a47c8d476ffc4b14cf26efddd325578c4f66ee91a5f7c8452a67e5e28cfa1fbe70d8a9f89d55ac8cfd1e16b86e33ef6bf254e5586587314904e0bd7aa7bd50 + languageName: node + linkType: hard + +"npm-normalize-package-bin@npm:^1.0.0, npm-normalize-package-bin@npm:^1.0.1": + version: 1.0.1 + resolution: "npm-normalize-package-bin@npm:1.0.1" + checksum: ae7f15155a1e3ace2653f12ddd1ee8eaa3c84452fdfbf2f1943e1de264e4b079c86645e2c55931a51a0a498cba31f70022a5219d5665fbcb221e99e58bc70122 + languageName: node + linkType: hard + +"npm-package-arg@npm:^8.0.0, npm-package-arg@npm:^8.0.1, npm-package-arg@npm:^8.1.0, npm-package-arg@npm:^8.1.2, npm-package-arg@npm:^8.1.5": + version: 8.1.5 + resolution: "npm-package-arg@npm:8.1.5" + dependencies: + hosted-git-info: ^4.0.1 + semver: ^7.3.4 + validate-npm-package-name: ^3.0.0 + checksum: ae76afbcebb4ea8d0b849b8b18ed1b0491030fb04a0af5d75f1b8390cc50bec186ced9fbe60f47d939eab630c7c0db0919d879ac56a87d3782267dfe8eec60d3 + languageName: node + linkType: hard + +"npm-packlist@npm:^2.1.4": + version: 2.2.2 + resolution: "npm-packlist@npm:2.2.2" + dependencies: + glob: ^7.1.6 + ignore-walk: ^3.0.3 + npm-bundled: ^1.1.1 + npm-normalize-package-bin: ^1.0.1 + bin: + npm-packlist: bin/index.js + checksum: 799ce94b077e4dc366a9a5bcc5f006669263bb1a48d6948161aed915fd2f11dea8a7cf516a63fc78e5df059915591dade5928f0738baadc99a8ab4685d8b58c3 + languageName: node + linkType: hard + +"npm-pick-manifest@npm:^6.0.0, npm-pick-manifest@npm:^6.1.1": + version: 6.1.1 + resolution: "npm-pick-manifest@npm:6.1.1" + dependencies: + npm-install-checks: ^4.0.0 + npm-normalize-package-bin: ^1.0.1 + npm-package-arg: ^8.1.2 + semver: ^7.3.4 + checksum: 7a7b9475ae95cf903d37471229efbd12a829a9a7a1020ba36e75768aaa35da4c3a087fde3f06070baf81ec6b2ea2b660f022a1172644e6e7188199d7c1d2954b + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^11.0.0": + version: 11.0.0 + resolution: "npm-registry-fetch@npm:11.0.0" + dependencies: + make-fetch-happen: ^9.0.1 + minipass: ^3.1.3 + minipass-fetch: ^1.3.0 + minipass-json-stream: ^1.0.1 + minizlib: ^2.0.0 + npm-package-arg: ^8.0.0 + checksum: dda149cd86f8ee73db1b0a0302fbf59983ef03ad180051caa9aad1de9f1e099aaa77adcda3ca2c3bd9d98958e9e6593bd56ee21d3f660746b0a65fafbf5ae161 + languageName: node + linkType: hard + +"npm-registry-fetch@npm:^9.0.0": + version: 9.0.0 + resolution: "npm-registry-fetch@npm:9.0.0" + dependencies: + "@npmcli/ci-detect": ^1.0.0 + lru-cache: ^6.0.0 + make-fetch-happen: ^8.0.9 + minipass: ^3.1.3 + minipass-fetch: ^1.3.0 + minipass-json-stream: ^1.0.1 + minizlib: ^2.0.0 + npm-package-arg: ^8.0.0 + checksum: b5376b72efc503e46a84cda967b79c08b093f040bfa819b59db32dfa9b057c810401a740dbf739a94a2ebbd0f6a3888bc0918db6506553ab97afb555260a5a22 + languageName: node + linkType: hard + +"npm-run-path@npm:^2.0.0": + version: 2.0.2 + resolution: "npm-run-path@npm:2.0.2" + dependencies: + path-key: ^2.0.0 + checksum: acd5ad81648ba4588ba5a8effb1d98d2b339d31be16826a118d50f182a134ac523172101b82eab1d01cb4c2ba358e857d54cfafd8163a1ffe7bd52100b741125 + languageName: node + linkType: hard + "npm-run-path@npm:^4.0.0, npm-run-path@npm:^4.0.1": version: 4.0.1 resolution: "npm-run-path@npm:4.0.1" @@ -7915,6 +11525,17 @@ __metadata: languageName: node linkType: hard +"object-copy@npm:^0.1.0": + version: 0.1.0 + resolution: "object-copy@npm:0.1.0" + dependencies: + copy-descriptor: ^0.1.0 + define-property: ^0.2.5 + kind-of: ^3.0.3 + checksum: a9e35f07e3a2c882a7e979090360d1a20ab51d1fa19dfdac3aa8873b328a7c4c7683946ee97c824ae40079d848d6740a3788fa14f2185155dab7ed970a72c783 + languageName: node + linkType: hard + "object-hash@npm:^2.2.0": version: 2.2.0 resolution: "object-hash@npm:2.2.0" @@ -7953,6 +11574,15 @@ __metadata: languageName: node linkType: hard +"object-visit@npm:^1.0.0": + version: 1.0.1 + resolution: "object-visit@npm:1.0.1" + dependencies: + isobject: ^3.0.0 + checksum: b0ee07f5bf3bb881b881ff53b467ebbde2b37ebb38649d6944a6cd7681b32eedd99da9bd1e01c55facf81f54ed06b13af61aba6ad87f0052982995e09333f790 + languageName: node + linkType: hard + "object.assign@npm:^4.1.2": version: 4.1.2 resolution: "object.assign@npm:4.1.2" @@ -7988,7 +11618,7 @@ __metadata: languageName: node linkType: hard -"object.getownpropertydescriptors@npm:^2.1.0, object.getownpropertydescriptors@npm:^2.1.1": +"object.getownpropertydescriptors@npm:^2.0.3, object.getownpropertydescriptors@npm:^2.1.0, object.getownpropertydescriptors@npm:^2.1.1": version: 2.1.2 resolution: "object.getownpropertydescriptors@npm:2.1.2" dependencies: @@ -8009,6 +11639,15 @@ __metadata: languageName: node linkType: hard +"object.pick@npm:^1.3.0": + version: 1.3.0 + resolution: "object.pick@npm:1.3.0" + dependencies: + isobject: ^3.0.1 + checksum: 77fb6eed57c67adf75e9901187e37af39f052ef601cb4480386436561357eb9e459e820762f01fd02c5c1b42ece839ad393717a6d1850d848ee11fbabb3e580a + languageName: node + linkType: hard + "object.values@npm:^1.1.4": version: 1.1.4 resolution: "object.values@npm:1.1.4" @@ -8092,6 +11731,46 @@ __metadata: languageName: node linkType: hard +"os-homedir@npm:^1.0.0": + version: 1.0.2 + resolution: "os-homedir@npm:1.0.2" + checksum: af609f5a7ab72de2f6ca9be6d6b91a599777afc122ac5cad47e126c1f67c176fe9b52516b9eeca1ff6ca0ab8587fe66208bc85e40a3940125f03cdb91408e9d2 + languageName: node + linkType: hard + +"os-tmpdir@npm:^1.0.0, os-tmpdir@npm:~1.0.2": + version: 1.0.2 + resolution: "os-tmpdir@npm:1.0.2" + checksum: 5666560f7b9f10182548bf7013883265be33620b1c1b4a4d405c25be2636f970c5488ff3e6c48de75b55d02bde037249fe5dbfbb4c0fb7714953d56aed062e6d + languageName: node + linkType: hard + +"osenv@npm:^0.1.4": + version: 0.1.5 + resolution: "osenv@npm:0.1.5" + dependencies: + os-homedir: ^1.0.0 + os-tmpdir: ^1.0.0 + checksum: 779d261920f2a13e5e18cf02446484f12747d3f2ff82280912f52b213162d43d312647a40c332373cbccd5e3fb8126915d3bfea8dde4827f70f82da76e52d359 + languageName: node + linkType: hard + +"p-each-series@npm:^1.0.0": + version: 1.0.0 + resolution: "p-each-series@npm:1.0.0" + dependencies: + p-reduce: ^1.0.0 + checksum: 5acdaedd36e0c7b9617f4924dccfd681cbe4dd9f98b0eb0fde7c00dc701eeceaba55c0dc1dfde13207bdab3715a4c5040d806d7ddc493f27498110bdc1e9dd5d + languageName: node + linkType: hard + +"p-finally@npm:^1.0.0": + version: 1.0.0 + resolution: "p-finally@npm:1.0.0" + checksum: 93a654c53dc805dd5b5891bab16eb0ea46db8f66c4bfd99336ae929323b1af2b70a8b0654f8f1eae924b2b73d037031366d645f1fd18b3d30cbd15950cc4b1d4 + languageName: node + linkType: hard + "p-limit@npm:3.1.0": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -8110,7 +11789,7 @@ __metadata: languageName: node linkType: hard -"p-limit@npm:^2.2.0": +"p-limit@npm:^2.0.0, p-limit@npm:^2.2.0": version: 2.3.0 resolution: "p-limit@npm:2.3.0" dependencies: @@ -8128,6 +11807,15 @@ __metadata: languageName: node linkType: hard +"p-locate@npm:^3.0.0": + version: 3.0.0 + resolution: "p-locate@npm:3.0.0" + dependencies: + p-limit: ^2.0.0 + checksum: 83991734a9854a05fe9dbb29f707ea8a0599391f52daac32b86f08e21415e857ffa60f0e120bfe7ce0cc4faf9274a50239c7895fc0d0579d08411e513b83a4ae + languageName: node + linkType: hard + "p-locate@npm:^4.1.0": version: 4.1.0 resolution: "p-locate@npm:4.1.0" @@ -8137,6 +11825,13 @@ __metadata: languageName: node linkType: hard +"p-map-series@npm:^2.1.0": + version: 2.1.0 + resolution: "p-map-series@npm:2.1.0" + checksum: 69d4efbb6951c0dd62591d5a18c3af0af78496eae8b55791e049da239d70011aa3af727dece3fc9943e0bb3fd4fa64d24177cfbecc46efaf193179f0feeac486 + languageName: node + linkType: hard + "p-map@npm:^2.0.0": version: 2.1.0 resolution: "p-map@npm:2.1.0" @@ -8153,6 +11848,46 @@ __metadata: languageName: node linkType: hard +"p-pipe@npm:^3.1.0": + version: 3.1.0 + resolution: "p-pipe@npm:3.1.0" + checksum: ee9a2609685f742c6ceb3122281ec4453bbbcc80179b13e66fd139dcf19b1c327cf6c2fdfc815b548d6667e7eaefe5396323f6d49c4f7933e4cef47939e3d65c + languageName: node + linkType: hard + +"p-queue@npm:^6.6.2": + version: 6.6.2 + resolution: "p-queue@npm:6.6.2" + dependencies: + eventemitter3: ^4.0.4 + p-timeout: ^3.2.0 + checksum: 832642fcc4ab6477b43e6d7c30209ab10952969ed211c6d6f2931be8a4f9935e3578c72e8cce053dc34f2eb6941a408a2c516a54904e989851a1a209cf19761c + languageName: node + linkType: hard + +"p-reduce@npm:^1.0.0": + version: 1.0.0 + resolution: "p-reduce@npm:1.0.0" + checksum: 7b0f25c861ca2319c1fd6d28d1421edca12eb5b780b2f2bcdb418e634b4c2ef07bd85f75ad41594474ec512e5505b49c36e7b22a177d43c60cc014576eab8888 + languageName: node + linkType: hard + +"p-reduce@npm:^2.0.0, p-reduce@npm:^2.1.0": + version: 2.1.0 + resolution: "p-reduce@npm:2.1.0" + checksum: 99b26d36066a921982f25c575e78355824da0787c486e3dd9fc867460e8bf17d5fb3ce98d006b41bdc81ffc0aa99edf5faee53d11fe282a20291fb721b0cb1c7 + languageName: node + linkType: hard + +"p-timeout@npm:^3.2.0": + version: 3.2.0 + resolution: "p-timeout@npm:3.2.0" + dependencies: + p-finally: ^1.0.0 + checksum: 3dd0eaa048780a6f23e5855df3dd45c7beacff1f820476c1d0d1bcd6648e3298752ba2c877aa1c92f6453c7dd23faaf13d9f5149fc14c0598a142e2c5e8d649c + languageName: node + linkType: hard + "p-try@npm:^1.0.0": version: 1.0.0 resolution: "p-try@npm:1.0.0" @@ -8167,6 +11902,44 @@ __metadata: languageName: node linkType: hard +"p-waterfall@npm:^2.1.1": + version: 2.1.1 + resolution: "p-waterfall@npm:2.1.1" + dependencies: + p-reduce: ^2.0.0 + checksum: 8588bb8b004ee37e559c7e940a480c1742c42725d477b0776ff30b894920a3e48bddf8f60aa0ae82773e500a8fc99d75e947c450e0c2ce187aff72cc1b248f6d + languageName: node + linkType: hard + +"pacote@npm:^11.2.6": + version: 11.3.5 + resolution: "pacote@npm:11.3.5" + dependencies: + "@npmcli/git": ^2.1.0 + "@npmcli/installed-package-contents": ^1.0.6 + "@npmcli/promise-spawn": ^1.2.0 + "@npmcli/run-script": ^1.8.2 + cacache: ^15.0.5 + chownr: ^2.0.0 + fs-minipass: ^2.1.0 + infer-owner: ^1.0.4 + minipass: ^3.1.3 + mkdirp: ^1.0.3 + npm-package-arg: ^8.0.1 + npm-packlist: ^2.1.4 + npm-pick-manifest: ^6.0.0 + npm-registry-fetch: ^11.0.0 + promise-retry: ^2.0.1 + read-package-json-fast: ^2.0.1 + rimraf: ^3.0.2 + ssri: ^8.0.1 + tar: ^6.1.0 + bin: + pacote: lib/bin.js + checksum: 4fae0b1429be77e69972402dad24775999c92198dadc20f1f7a418f24e268e8bf85faaffc3f778d94c21348645f99bb65ef519fb82776902b556eef934afd932 + languageName: node + linkType: hard + "pako@npm:~1.0.5": version: 1.0.11 resolution: "pako@npm:1.0.11" @@ -8285,6 +12058,13 @@ __metadata: languageName: node linkType: hard +"pascalcase@npm:^0.1.1": + version: 0.1.1 + resolution: "pascalcase@npm:0.1.1" + checksum: f83681c3c8ff75fa473a2bb2b113289952f802ff895d435edd717e7cb898b0408cbdb247117a938edcbc5d141020909846cc2b92c47213d764e2a94d2ad2b925 + languageName: node + linkType: hard + "password-prompt@npm:^1.0.7, password-prompt@npm:^1.1.2": version: 1.1.2 resolution: "password-prompt@npm:1.1.2" @@ -8340,7 +12120,7 @@ __metadata: languageName: node linkType: hard -"path-key@npm:^2.0.1": +"path-key@npm:^2.0.0, path-key@npm:^2.0.1": version: 2.0.1 resolution: "path-key@npm:2.0.1" checksum: f7ab0ad42fe3fb8c7f11d0c4f849871e28fbd8e1add65c370e422512fc5887097b9cf34d09c1747d45c942a8c1e26468d6356e2df3f740bf177ab8ca7301ebfd @@ -8404,6 +12184,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^2.3.0": + version: 2.3.0 + resolution: "pify@npm:2.3.0" + checksum: 9503aaeaf4577acc58642ad1d25c45c6d90288596238fb68f82811c08104c800e5a7870398e9f015d82b44ecbcbef3dc3d4251a1cbb582f6e5959fe09884b2ba + languageName: node + linkType: hard + "pify@npm:^3.0.0": version: 3.0.0 resolution: "pify@npm:3.0.0" @@ -8418,6 +12205,13 @@ __metadata: languageName: node linkType: hard +"pify@npm:^5.0.0": + version: 5.0.0 + resolution: "pify@npm:5.0.0" + checksum: 443e3e198ad6bfa8c0c533764cf75c9d5bc976387a163792fb553ffe6ce923887cf14eebf5aea9b7caa8eab930da8c33612990ae85bd8c2bc18bedb9eae94ecb + languageName: node + linkType: hard + "pirates@npm:^4.0.1": version: 4.0.1 resolution: "pirates@npm:4.0.1" @@ -8436,6 +12230,15 @@ __metadata: languageName: node linkType: hard +"pkg-dir@npm:^3.0.0": + version: 3.0.0 + resolution: "pkg-dir@npm:3.0.0" + dependencies: + find-up: ^3.0.0 + checksum: 70c9476ffefc77552cc6b1880176b71ad70bfac4f367604b2b04efd19337309a4eec985e94823271c7c0e83946fa5aeb18cd360d15d10a5d7533e19344bfa808 + languageName: node + linkType: hard + "pkg-dir@npm:^4.1.0, pkg-dir@npm:^4.2.0": version: 4.2.0 resolution: "pkg-dir@npm:4.2.0" @@ -8454,6 +12257,23 @@ __metadata: languageName: node linkType: hard +"platezero@workspace:.": + version: 0.0.0-use.local + resolution: "platezero@workspace:." + dependencies: + "@types/jest": 27.0.2 + "@types/node": 16.10.2 + apollo: 2.33.6 + babel-jest: 27.2.4 + eslint: 7.32.0 + eslint-config-next: 11.1.2 + jest: 27.2.4 + lerna: ^4.0.0 + prettier: 2.4.1 + typescript: 4.4.3 + languageName: unknown + linkType: soft + "platform@npm:1.3.6": version: 1.3.6 resolution: "platform@npm:1.3.6" @@ -8477,6 +12297,13 @@ __metadata: languageName: node linkType: hard +"posix-character-classes@npm:^0.1.0": + version: 0.1.1 + resolution: "posix-character-classes@npm:0.1.1" + checksum: dedb99913c60625a16050cfed2fb5c017648fc075be41ac18474e1c6c3549ef4ada201c8bd9bd006d36827e289c571b6092e1ef6e756cdbab2fd7046b25c6442 + languageName: node + linkType: hard + "postcss-js@npm:^3.0.3": version: 3.0.3 resolution: "postcss-js@npm:3.0.3" @@ -8583,6 +12410,18 @@ __metadata: languageName: node linkType: hard +"pretty-format@npm:^24.9.0": + version: 24.9.0 + resolution: "pretty-format@npm:24.9.0" + dependencies: + "@jest/types": ^24.9.0 + ansi-regex: ^4.0.0 + ansi-styles: ^3.2.0 + react-is: ^16.8.4 + checksum: ba9291c8dafd50d2fea1fbad5d2863a6f94e0c8835cce9778ec03bc11bb0f52b9ed0e4ee56aaa331d022ccae2fe52b92f73465a0af58fd0edb59deb6391c6847 + languageName: node + linkType: hard + "pretty-format@npm:^27.0.0, pretty-format@npm:^27.2.4": version: 27.2.4 resolution: "pretty-format@npm:27.2.4" @@ -8650,6 +12489,15 @@ __metadata: languageName: node linkType: hard +"promzard@npm:^0.3.0": + version: 0.3.0 + resolution: "promzard@npm:0.3.0" + dependencies: + read: 1 + checksum: 443a3b39ac916099988ee0161ab4e22edd1fa27e3d39a38d60e48c11ca6df3f5a90bfe44d95af06ed8659c4050b789ffe64c3f9f8e49a4bea1ea19105c98445a + languageName: node + linkType: hard + "prop-types@npm:^15.7.2": version: 15.7.2 resolution: "prop-types@npm:15.7.2" @@ -8661,6 +12509,13 @@ __metadata: languageName: node linkType: hard +"proto-list@npm:~1.2.1": + version: 1.2.4 + resolution: "proto-list@npm:1.2.4" + checksum: 4d4826e1713cbfa0f15124ab0ae494c91b597a3c458670c9714c36e8baddf5a6aad22842776f2f5b137f259c8533e741771445eb8df82e861eea37a6eaba03f7 + languageName: node + linkType: hard + "protocols@npm:^1.1.0, protocols@npm:^1.4.0": version: 1.4.8 resolution: "protocols@npm:1.4.8" @@ -8734,6 +12589,13 @@ __metadata: languageName: node linkType: hard +"q@npm:^1.5.1": + version: 1.5.1 + resolution: "q@npm:1.5.1" + checksum: 147baa93c805bc1200ed698bdf9c72e9e42c05f96d007e33a558b5fdfd63e5ea130e99313f28efc1783e90e6bdb4e48b67a36fcc026b7b09202437ae88a1fb12 + languageName: node + linkType: hard + "qs@npm:^6.9.4": version: 6.10.1 resolution: "qs@npm:6.10.1" @@ -8799,6 +12661,13 @@ __metadata: languageName: node linkType: hard +"quick-lru@npm:^4.0.1": + version: 4.0.1 + resolution: "quick-lru@npm:4.0.1" + checksum: bea46e1abfaa07023e047d3cf1716a06172c4947886c053ede5c50321893711577cb6119360f810cc3ffcd70c4d7db4069c3cee876b358ceff8596e062bd1154 + languageName: node + linkType: hard + "quick-lru@npm:^5.1.1": version: 5.1.1 resolution: "quick-lru@npm:5.1.1" @@ -8857,27 +12726,91 @@ __metadata: languageName: node linkType: hard -"react-is@npm:^16.7.0, react-is@npm:^16.8.1": - version: 16.13.1 - resolution: "react-is@npm:16.13.1" - checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f +"react-is@npm:^16.7.0, react-is@npm:^16.8.1, react-is@npm:^16.8.4": + version: 16.13.1 + resolution: "react-is@npm:16.13.1" + checksum: f7a19ac3496de32ca9ae12aa030f00f14a3d45374f1ceca0af707c831b2a6098ef0d6bdae51bd437b0a306d7f01d4677fcc8de7c0d331eb47ad0f46130e53c5f + languageName: node + linkType: hard + +"react-refresh@npm:0.8.3": + version: 0.8.3 + resolution: "react-refresh@npm:0.8.3" + checksum: 3cffe5a9cbac1c5d59bf74bf9fff43c987d87ef32098b9092ea94b6637377d86c08565b9374d9397f446b3fbcd95de986ec77220a16f979687cb39b7b89e2f91 + languageName: node + linkType: hard + +"react@npm:17.0.2": + version: 17.0.2 + resolution: "react@npm:17.0.2" + dependencies: + loose-envify: ^1.1.0 + object-assign: ^4.1.1 + checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b + languageName: node + linkType: hard + +"read-cmd-shim@npm:^2.0.0": + version: 2.0.0 + resolution: "read-cmd-shim@npm:2.0.0" + checksum: 024f0a092d3630ad344af63eb0539bce90978883dd06a93e7bfbb26913168ab034473eae4a85685ea76a982eb31b0e8e16dee9c1138dabb3a925e7c4757952bc + languageName: node + linkType: hard + +"read-package-json-fast@npm:^2.0.1": + version: 2.0.3 + resolution: "read-package-json-fast@npm:2.0.3" + dependencies: + json-parse-even-better-errors: ^2.3.0 + npm-normalize-package-bin: ^1.0.1 + checksum: fca37b3b2160b9dda7c5588b767f6a2b8ce68d03a044000e568208e20bea0cf6dd2de17b90740ce8da8b42ea79c0b3859649dadf29510bbe77224ea65326a903 + languageName: node + linkType: hard + +"read-package-json@npm:^2.0.0": + version: 2.1.2 + resolution: "read-package-json@npm:2.1.2" + dependencies: + glob: ^7.1.1 + json-parse-even-better-errors: ^2.3.0 + normalize-package-data: ^2.0.0 + npm-normalize-package-bin: ^1.0.0 + checksum: 56a2642851e9321a68e1708263944bf5ab8a2c172daf3f13f18aad32fbe2f2ba516935b068c93771d9671012aec4596962c20417aca8b5e73501bc647691337a + languageName: node + linkType: hard + +"read-package-json@npm:^3.0.0": + version: 3.0.1 + resolution: "read-package-json@npm:3.0.1" + dependencies: + glob: ^7.1.1 + json-parse-even-better-errors: ^2.3.0 + normalize-package-data: ^3.0.0 + npm-normalize-package-bin: ^1.0.0 + checksum: 963904f00f70283e89b8a4a06b51b1453e7e23a9a029af3030e301f8c2429a2bad21a72c53943cdb735c9a7b643282d5b0b1a09b7d31f74640e81311127f8f68 languageName: node linkType: hard -"react-refresh@npm:0.8.3": - version: 0.8.3 - resolution: "react-refresh@npm:0.8.3" - checksum: 3cffe5a9cbac1c5d59bf74bf9fff43c987d87ef32098b9092ea94b6637377d86c08565b9374d9397f446b3fbcd95de986ec77220a16f979687cb39b7b89e2f91 +"read-package-json@npm:^4.1.1": + version: 4.1.1 + resolution: "read-package-json@npm:4.1.1" + dependencies: + glob: ^7.1.1 + json-parse-even-better-errors: ^2.3.0 + normalize-package-data: ^3.0.0 + npm-normalize-package-bin: ^1.0.0 + checksum: d95f6e9747bcce9bdbfae8442a86c41cde3a73691a8a8cdc46e0711e7768718e1f0955a38cbde01a6e571f490bbdc9d6a83713a89eca85646a816e659a78f6f4 languageName: node linkType: hard -"react@npm:17.0.2": - version: 17.0.2 - resolution: "react@npm:17.0.2" +"read-package-tree@npm:^5.3.1": + version: 5.3.1 + resolution: "read-package-tree@npm:5.3.1" dependencies: - loose-envify: ^1.1.0 - object-assign: ^4.1.1 - checksum: b254cc17ce3011788330f7bbf383ab653c6848902d7936a87b09d835d091e3f295f7e9dd1597c6daac5dc80f90e778c8230218ba8ad599f74adcc11e33b9d61b + read-package-json: ^2.0.0 + readdir-scoped-modules: ^1.0.0 + util-promisify: ^2.1.0 + checksum: dc2c1aaef6b0e61dad483f7e4cecc4b250ef2b1f86f4ad42b120b58fd98835762b61fb61280670daad410943fcaf08112895f529776c80ee8e2d0a721f27ab0b languageName: node linkType: hard @@ -8891,6 +12824,27 @@ __metadata: languageName: node linkType: hard +"read-pkg-up@npm:^4.0.0": + version: 4.0.0 + resolution: "read-pkg-up@npm:4.0.0" + dependencies: + find-up: ^3.0.0 + read-pkg: ^3.0.0 + checksum: dd867d9a912707bc11340aebc91780be9f36f34ee1d27a5dafb8520e0cb6344138b80eb8bf8325bebf519d26ecf14cbf6190d9e5f765f0120da5ede4013f4d13 + languageName: node + linkType: hard + +"read-pkg-up@npm:^7.0.1": + version: 7.0.1 + resolution: "read-pkg-up@npm:7.0.1" + dependencies: + find-up: ^4.1.0 + read-pkg: ^5.2.0 + type-fest: ^0.8.1 + checksum: e4e93ce70e5905b490ca8f883eb9e48b5d3cebc6cd4527c25a0d8f3ae2903bd4121c5ab9c5a3e217ada0141098eeb661313c86fa008524b089b8ed0b7f165e44 + languageName: node + linkType: hard + "read-pkg@npm:^3.0.0": version: 3.0.0 resolution: "read-pkg@npm:3.0.0" @@ -8902,7 +12856,39 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6": +"read-pkg@npm:^5.2.0": + version: 5.2.0 + resolution: "read-pkg@npm:5.2.0" + dependencies: + "@types/normalize-package-data": ^2.4.0 + normalize-package-data: ^2.5.0 + parse-json: ^5.0.0 + type-fest: ^0.6.0 + checksum: eb696e60528b29aebe10e499ba93f44991908c57d70f2d26f369e46b8b9afc208ef11b4ba64f67630f31df8b6872129e0a8933c8c53b7b4daf0eace536901222 + languageName: node + linkType: hard + +"read@npm:1, read@npm:~1.0.1": + version: 1.0.7 + resolution: "read@npm:1.0.7" + dependencies: + mute-stream: ~0.0.4 + checksum: 2777c254e5732cac96f5d0a1c0f6b836c89ae23d8febd405b206f6f24d5de1873420f1a0795e0e3721066650d19adf802c7882c4027143ee0acf942a4f34f97b + languageName: node + linkType: hard + +"readable-stream@npm:3, readable-stream@npm:^3.0.0, readable-stream@npm:^3.0.2, readable-stream@npm:^3.1.1, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": + version: 3.6.0 + resolution: "readable-stream@npm:3.6.0" + dependencies: + inherits: ^2.0.3 + string_decoder: ^1.1.1 + util-deprecate: ^1.0.1 + checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + languageName: node + linkType: hard + +"readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.6, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -8917,14 +12903,15 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:^3.1.1, readable-stream@npm:^3.5.0, readable-stream@npm:^3.6.0": - version: 3.6.0 - resolution: "readable-stream@npm:3.6.0" +"readdir-scoped-modules@npm:^1.0.0": + version: 1.1.0 + resolution: "readdir-scoped-modules@npm:1.1.0" dependencies: - inherits: ^2.0.3 - string_decoder: ^1.1.1 - util-deprecate: ^1.0.1 - checksum: d4ea81502d3799439bb955a3a5d1d808592cf3133350ed352aeaa499647858b27b1c4013984900238b0873ec8d0d8defce72469fb7a83e61d53f5ad61cb80dc8 + debuglog: ^1.0.1 + dezalgo: ^1.0.0 + graceful-fs: ^4.1.2 + once: ^1.3.0 + checksum: 6d9f334e40dfd0f5e4a8aab5e67eb460c95c85083c690431f87ab2c9135191170e70c2db6d71afcafb78e073d23eb95dcb3fc33ef91308f6ebfe3197be35e608 languageName: node linkType: hard @@ -8946,6 +12933,15 @@ __metadata: languageName: node linkType: hard +"realpath-native@npm:^1.1.0": + version: 1.1.0 + resolution: "realpath-native@npm:1.1.0" + dependencies: + util.promisify: ^1.0.0 + checksum: 75ef0595dea6186384b785a9e0993c58ec604f8be2e39b602fec6d7837c7f770af4a4eb3c81f864a7d81c518a7167a6eaabbc7695b7a88c56e1ef04b91c1d586 + languageName: node + linkType: hard + "recast@npm:^0.20.0": version: 0.20.5 resolution: "recast@npm:0.20.5" @@ -8967,18 +12963,13 @@ __metadata: languageName: node linkType: hard -"recipe-parser@https://github.com/plate0/recipe-parser#v0.3.2": - version: 0.3.2 - resolution: "recipe-parser@https://github.com/plate0/recipe-parser.git#commit=900ae27af41a1c02d20a78ef106d600429a5aa45" +"redent@npm:^3.0.0": + version: 3.0.0 + resolution: "redent@npm:3.0.0" dependencies: - axios: 0.19.0 - cheerio: 1.0.0-rc.3 - html-entities: 1.2.1 - ingredient-parser: "https://github.com/plate0/ingredient-parser.git#v0.2.2" - lodash: 4.17.14 - moment: 2.24.0 - turndown: 5.0.3 - checksum: a9599c101b3c30ed4c4b2ad1c9ed65353a58915cfaa3ed9a53fc28206400a6dea93108f1b5db9c2cb5b6f592c6521397efb36df7bba5e470760af8c121d20163 + indent-string: ^4.0.0 + strip-indent: ^3.0.0 + checksum: fa1ef20404a2d399235e83cc80bd55a956642e37dd197b4b612ba7327bf87fa32745aeb4a1634b2bab25467164ab4ed9c15be2c307923dd08b0fe7c52431ae6b languageName: node linkType: hard @@ -9008,6 +12999,16 @@ __metadata: languageName: node linkType: hard +"regex-not@npm:^1.0.0, regex-not@npm:^1.0.2": + version: 1.0.2 + resolution: "regex-not@npm:1.0.2" + dependencies: + extend-shallow: ^3.0.2 + safe-regex: ^1.1.0 + checksum: 3081403de79559387a35ef9d033740e41818a559512668cef3d12da4e8a29ef34ee13c8ed1256b07e27ae392790172e8a15c8a06b72962fd4550476cde3d8f77 + languageName: node + linkType: hard + "regexp.prototype.flags@npm:^1.3.1": version: 1.3.1 resolution: "regexp.prototype.flags@npm:1.3.1" @@ -9025,6 +13026,27 @@ __metadata: languageName: node linkType: hard +"remove-trailing-separator@npm:^1.0.1": + version: 1.1.0 + resolution: "remove-trailing-separator@npm:1.1.0" + checksum: d3c20b5a2d987db13e1cca9385d56ecfa1641bae143b620835ac02a6b70ab88f68f117a0021838db826c57b31373d609d52e4f31aca75fc490c862732d595419 + languageName: node + linkType: hard + +"repeat-element@npm:^1.1.2": + version: 1.1.4 + resolution: "repeat-element@npm:1.1.4" + checksum: 1edd0301b7edad71808baad226f0890ba709443f03a698224c9ee4f2494c317892dc5211b2ba8cbea7194a9ddbcac01e283bd66de0467ab24ee1fc1a3711d8a9 + languageName: node + linkType: hard + +"repeat-string@npm:^1.6.1": + version: 1.6.1 + resolution: "repeat-string@npm:1.6.1" + checksum: 1b809fc6db97decdc68f5b12c4d1a671c8e3f65ec4a40c238bc5200e44e85bcc52a54f78268ab9c29fcf5fe4f1343e805420056d1f30fa9a9ee4c2d93e3cc6c0 + languageName: node + linkType: hard + "request-promise-core@npm:1.1.4": version: 1.1.4 resolution: "request-promise-core@npm:1.1.4" @@ -9049,7 +13071,7 @@ __metadata: languageName: node linkType: hard -"request@npm:^2.87.0": +"request@npm:^2.87.0, request@npm:^2.88.0, request@npm:^2.88.2": version: 2.88.2 resolution: "request@npm:2.88.2" dependencies: @@ -9091,6 +13113,22 @@ __metadata: languageName: node linkType: hard +"require-main-filename@npm:^2.0.0": + version: 2.0.0 + resolution: "require-main-filename@npm:2.0.0" + checksum: e9e294695fea08b076457e9ddff854e81bffbe248ed34c1eec348b7abbd22a0d02e8d75506559e2265e96978f3c4720bd77a6dad84755de8162b357eb6c778c7 + languageName: node + linkType: hard + +"resolve-cwd@npm:^2.0.0": + version: 2.0.0 + resolution: "resolve-cwd@npm:2.0.0" + dependencies: + resolve-from: ^3.0.0 + checksum: e7c16880c460656e77f102d537a6dc82b3657d9173697cd6ea82ffce37df96f6c1fc79d0bb35fd73fff8871ac13f21b4396958b5f0a13e5b99c97d69f5e319fa + languageName: node + linkType: hard + "resolve-cwd@npm:^3.0.0": version: 3.0.0 resolution: "resolve-cwd@npm:3.0.0" @@ -9121,6 +13159,20 @@ __metadata: languageName: node linkType: hard +"resolve-url@npm:^0.2.1": + version: 0.2.1 + resolution: "resolve-url@npm:0.2.1" + checksum: 7b7035b9ed6e7bc7d289e90aef1eab5a43834539695dac6416ca6e91f1a94132ae4796bbd173cdacfdc2ade90b5f38a3fb6186bebc1b221cd157777a23b9ad14 + languageName: node + linkType: hard + +resolve@1.1.7: + version: 1.1.7 + resolution: "resolve@npm:1.1.7" + checksum: afd20873fbde7641c9125efe3f940c2a99f6b1f90f1b7b743e744bdaac1cb105b2e4e0317bcc052ed7e31d57afa86b394a4dc9a1b33a297977be134fdf0250ab + languageName: node + linkType: hard + "resolve@^1.1.6, resolve@^1.10.0, resolve@^1.20.0": version: 1.20.0 resolution: "resolve@npm:1.20.0" @@ -9141,6 +13193,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"resolve@patch:resolve@1.1.7#~builtin": + version: 1.1.7 + resolution: "resolve@patch:resolve@npm%3A1.1.7#~builtin::version=1.1.7&hash=00b1ff" + checksum: 3477c7e1cb7c0588764f1c2dbdd84d1f4e98d0ad138485ff280c210ddc252c86735f9e6113cbe9491e24cf3205058fce8a7a1dd1f50370707656dbd895bd3826 + languageName: node + linkType: hard + "resolve@patch:resolve@^1.1.6#~builtin, resolve@patch:resolve@^1.10.0#~builtin, resolve@patch:resolve@^1.20.0#~builtin": version: 1.20.0 resolution: "resolve@patch:resolve@npm%3A1.20.0#~builtin::version=1.20.0&hash=00b1ff" @@ -9171,6 +13230,23 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"restore-cursor@npm:^3.1.0": + version: 3.1.0 + resolution: "restore-cursor@npm:3.1.0" + dependencies: + onetime: ^5.1.0 + signal-exit: ^3.0.2 + checksum: f877dd8741796b909f2a82454ec111afb84eb45890eb49ac947d87991379406b3b83ff9673a46012fca0d7844bb989f45cc5b788254cf1a39b6b5a9659de0630 + languageName: node + linkType: hard + +"ret@npm:~0.1.10": + version: 0.1.15 + resolution: "ret@npm:0.1.15" + checksum: d76a9159eb8c946586567bd934358dfc08a36367b3257f7a3d7255fdd7b56597235af23c6afa0d7f0254159e8051f93c918809962ebd6df24ca2a83dbe4d4151 + languageName: node + linkType: hard + "retry@npm:^0.12.0": version: 0.12.0 resolution: "retry@npm:0.12.0" @@ -9199,6 +13275,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"rimraf@npm:^2.5.4, rimraf@npm:^2.6.3": + version: 2.7.1 + resolution: "rimraf@npm:2.7.1" + dependencies: + glob: ^7.1.3 + bin: + rimraf: ./bin.js + checksum: cdc7f6eacb17927f2a075117a823e1c5951792c6498ebcce81ca8203454a811d4cf8900314154d3259bb8f0b42ab17f67396a8694a54cae3283326e57ad250cd + languageName: node + linkType: hard + "rimraf@npm:^3.0.0, rimraf@npm:^3.0.2": version: 3.0.2 resolution: "rimraf@npm:3.0.2" @@ -9234,34 +13321,19 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"root-workspace-0b6124@workspace:.": - version: 0.0.0-use.local - resolution: "root-workspace-0b6124@workspace:." - dependencies: - "@apollo/client": 3.4.15 - "@types/jest": 27.0.2 - "@types/node": 16.10.2 - "@types/react": 17.0.26 - apollo: 2.33.6 - autoprefixer: 10.3.6 - babel-jest: 27.2.4 - classnames: 2.3.1 - eslint: 7.32.0 - eslint-config-next: 11.1.2 - graphql: 15.6.0 - jest: 27.2.4 - next: 11.1.2 - next-cookie: 2.7.0 - postcss: 8.3.8 - prettier: 2.4.1 - react: 17.0.2 - react-dom: 17.0.2 - recipe-parser: "https://github.com/plate0/recipe-parser#v0.3.2" - slugify: 1.6.0 - tailwindcss: 2.2.16 - typescript: 4.4.3 - languageName: unknown - linkType: soft +"rsvp@npm:^4.8.4": + version: 4.8.5 + resolution: "rsvp@npm:4.8.5" + checksum: 2d8ef30d8febdf05bdf856ccca38001ae3647e41835ca196bc1225333f79b94ae44def733121ca549ccc36209c9b689f6586905e2a043873262609744da8efc1 + languageName: node + linkType: hard + +"run-async@npm:^2.4.0": + version: 2.4.1 + resolution: "run-async@npm:2.4.1" + checksum: a2c88aa15df176f091a2878eb840e68d0bdee319d8d97bbb89112223259cebecb94bc0defd735662b83c2f7a30bed8cddb7d1674eb48ae7322dc602b22d03797 + languageName: node + linkType: hard "run-parallel@npm:^1.1.9": version: 1.2.0 @@ -9272,7 +13344,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"rxjs@npm:^6.3.3": +"rxjs@npm:^6.3.3, rxjs@npm:^6.6.0": version: 6.6.7 resolution: "rxjs@npm:6.6.7" dependencies: @@ -9281,7 +13353,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:~5.2.0": +"safe-buffer@npm:^5.0.1, safe-buffer@npm:^5.1.0, safe-buffer@npm:^5.1.1, safe-buffer@npm:^5.1.2, safe-buffer@npm:^5.2.0, safe-buffer@npm:^5.2.1, safe-buffer@npm:~5.2.0": version: 5.2.1 resolution: "safe-buffer@npm:5.2.1" checksum: b99c4b41fdd67a6aaf280fcd05e9ffb0813654894223afb78a31f14a19ad220bba8aba1cb14eddce1fcfb037155fe6de4e861784eb434f7d11ed58d1e70dd491 @@ -9295,6 +13367,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"safe-regex@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex@npm:1.1.0" + dependencies: + ret: ~0.1.10 + checksum: 9a8bba57c87a841f7997b3b951e8e403b1128c1a4fd1182f40cc1a20e2d490593d7c2a21030fadfea320c8e859219019e136f678c6689ed5960b391b822f01d5 + languageName: node + linkType: hard + "safer-buffer@npm:>= 2.1.2 < 3, safer-buffer@npm:>= 2.1.2 < 3.0.0, safer-buffer@npm:^2.0.2, safer-buffer@npm:^2.1.0, safer-buffer@npm:~2.1.0": version: 2.1.2 resolution: "safer-buffer@npm:2.1.2" @@ -9302,6 +13383,25 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"sane@npm:^4.0.3": + version: 4.1.0 + resolution: "sane@npm:4.1.0" + dependencies: + "@cnakazawa/watch": ^1.0.3 + anymatch: ^2.0.0 + capture-exit: ^2.0.0 + exec-sh: ^0.3.2 + execa: ^1.0.0 + fb-watchman: ^2.0.0 + micromatch: ^3.1.4 + minimist: ^1.1.1 + walker: ~1.0.5 + bin: + sane: ./src/cli.js + checksum: 97716502d456c0d38670a902a4ea943d196dcdf998d1e40532d8f3e24e25d7eddfd4c3579025a1eee8eac09a48dfd05fba61a2156c56704e7feaa450eb249f7c + languageName: node + linkType: hard + "sax@npm:^1.2.4": version: 1.2.4 resolution: "sax@npm:1.2.4" @@ -9335,7 +13435,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0": +"semver@npm:2 || 3 || 4 || 5, semver@npm:^5.5.0, semver@npm:^5.6.0, semver@npm:^5.7.1": version: 5.7.1 resolution: "semver@npm:5.7.1" bin: @@ -9344,7 +13444,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:^6.0.0, semver@npm:^6.3.0": +"semver@npm:^6.0.0, semver@npm:^6.2.0, semver@npm:^6.3.0": version: 6.3.0 resolution: "semver@npm:6.3.0" bin: @@ -9353,7 +13453,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.5": +"semver@npm:^7.1.1, semver@npm:^7.1.3, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5": version: 7.3.5 resolution: "semver@npm:7.3.5" dependencies: @@ -9384,13 +13484,25 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"set-blocking@npm:~2.0.0": +"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 languageName: node linkType: hard +"set-value@npm:^2.0.0, set-value@npm:^2.0.1": + version: 2.0.1 + resolution: "set-value@npm:2.0.1" + dependencies: + extend-shallow: ^2.0.1 + is-extendable: ^0.1.1 + is-plain-object: ^2.0.3 + split-string: ^3.0.1 + checksum: 09a4bc72c94641aeae950eb60dc2755943b863780fcc32e441eda964b64df5e3f50603d5ebdd33394ede722528bd55ed43aae26e9df469b4d32e2292b427b601 + languageName: node + linkType: hard + "setimmediate@npm:^1.0.4": version: 1.0.5 resolution: "setimmediate@npm:1.0.5" @@ -9417,6 +13529,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"shallow-clone@npm:^3.0.0": + version: 3.0.1 + resolution: "shallow-clone@npm:3.0.1" + dependencies: + kind-of: ^6.0.2 + checksum: 39b3dd9630a774aba288a680e7d2901f5c0eae7b8387fc5c8ea559918b29b3da144b7bdb990d7ccd9e11be05508ac9e459ce51d01fd65e583282f6ffafcba2e7 + languageName: node + linkType: hard + "shebang-command@npm:^1.2.0": version: 1.2.0 resolution: "shebang-command@npm:1.2.0" @@ -9469,6 +13590,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"shellwords@npm:^0.1.1": + version: 0.1.1 + resolution: "shellwords@npm:0.1.1" + checksum: 8d73a5e9861f5e5f1068e2cfc39bc0002400fe58558ab5e5fa75630d2c3adf44ca1fac81957609c8320d5533e093802fcafc72904bf1a32b95de3c19a0b1c0d4 + languageName: node + linkType: hard + "side-channel@npm:^1.0.4": version: 1.0.4 resolution: "side-channel@npm:1.0.4" @@ -9503,6 +13631,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"slash@npm:^2.0.0": + version: 2.0.0 + resolution: "slash@npm:2.0.0" + checksum: 512d4350735375bd11647233cb0e2f93beca6f53441015eea241fe784d8068281c3987fbaa93e7ef1c38df68d9c60013045c92837423c69115297d6169aa85e6 + languageName: node + linkType: hard + "slash@npm:^3.0.0": version: 3.0.0 resolution: "slash@npm:3.0.0" @@ -9528,6 +13663,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"slide@npm:^1.1.6": + version: 1.1.6 + resolution: "slide@npm:1.1.6" + checksum: 5768635d227172e215b7a1a91d32f8781f5783b4961feaaf3d536bbf83cc51878928c137508cde7659fea6d7c04074927cab982731302771ee0051518ff24896 + languageName: node + linkType: hard + "slugify@npm:1.6.0": version: 1.6.0 resolution: "slugify@npm:1.6.0" @@ -9552,6 +13694,42 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"snapdragon-node@npm:^2.0.1": + version: 2.1.1 + resolution: "snapdragon-node@npm:2.1.1" + dependencies: + define-property: ^1.0.0 + isobject: ^3.0.0 + snapdragon-util: ^3.0.1 + checksum: 9bb57d759f9e2a27935dbab0e4a790137adebace832b393e350a8bf5db461ee9206bb642d4fe47568ee0b44080479c8b4a9ad0ebe3712422d77edf9992a672fd + languageName: node + linkType: hard + +"snapdragon-util@npm:^3.0.1": + version: 3.0.1 + resolution: "snapdragon-util@npm:3.0.1" + dependencies: + kind-of: ^3.2.0 + checksum: 684997dbe37ec995c03fd3f412fba2b711fc34cb4010452b7eb668be72e8811a86a12938b511e8b19baf853b325178c56d8b78d655305e5cfb0bb8b21677e7b7 + languageName: node + linkType: hard + +"snapdragon@npm:^0.8.1": + version: 0.8.2 + resolution: "snapdragon@npm:0.8.2" + dependencies: + base: ^0.11.1 + debug: ^2.2.0 + define-property: ^0.2.5 + extend-shallow: ^2.0.1 + map-cache: ^0.2.2 + source-map: ^0.5.6 + source-map-resolve: ^0.5.0 + use: ^3.1.0 + checksum: a197f242a8f48b11036563065b2487e9b7068f50a20dd81d9161eca6af422174fc158b8beeadbe59ce5ef172aa5718143312b3aebaae551c124b7824387c8312 + languageName: node + linkType: hard + "socks-proxy-agent@npm:^5.0.0": version: 5.0.1 resolution: "socks-proxy-agent@npm:5.0.1" @@ -9563,7 +13741,18 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"socks@npm:^2.3.3": +"socks-proxy-agent@npm:^6.0.0": + version: 6.1.0 + resolution: "socks-proxy-agent@npm:6.1.0" + dependencies: + agent-base: ^6.0.2 + debug: ^4.3.1 + socks: ^2.6.1 + checksum: 32ea0d62c848b5c246955e8d6c34832fe6cd8c5f3b66f5ace3a9bd7387bafae3e67d96474d41291723ba7135e2da46d65e008a8a35a793dfa5cb0f4ac05429df + languageName: node + linkType: hard + +"socks@npm:^2.3.3, socks@npm:^2.6.1": version: 2.6.1 resolution: "socks@npm:2.6.1" dependencies: @@ -9573,6 +13762,24 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"sort-keys@npm:^2.0.0": + version: 2.0.0 + resolution: "sort-keys@npm:2.0.0" + dependencies: + is-plain-obj: ^1.0.0 + checksum: f0fd827fa9f8f866e98588d2a38c35209afbf1e9a05bb0e4ceeeb8bbf31d923c8902b0a7e0f561590ddb65e58eba6a74f74b991c85360bcc52e83a3f0d1cffd7 + languageName: node + linkType: hard + +"sort-keys@npm:^4.0.0": + version: 4.2.0 + resolution: "sort-keys@npm:4.2.0" + dependencies: + is-plain-obj: ^2.0.0 + checksum: 1535ffd5a789259fc55107d5c3cec09b3e47803a9407fcaae37e1b9e0b813762c47dfee35b6e71e20ca7a69798d0a4791b2058a07f6cab5ef17b2dae83cedbda + languageName: node + linkType: hard + "source-map-js@npm:^0.6.2": version: 0.6.2 resolution: "source-map-js@npm:0.6.2" @@ -9580,6 +13787,19 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"source-map-resolve@npm:^0.5.0": + version: 0.5.3 + resolution: "source-map-resolve@npm:0.5.3" + dependencies: + atob: ^2.1.2 + decode-uri-component: ^0.2.0 + resolve-url: ^0.2.1 + source-map-url: ^0.4.0 + urix: ^0.1.0 + checksum: c73fa44ac00783f025f6ad9e038ab1a2e007cd6a6b86f47fe717c3d0765b4a08d264f6966f3bd7cd9dbcd69e4832783d5472e43247775b2a550d6f2155d24bae + languageName: node + linkType: hard + "source-map-support@npm:^0.5.17, source-map-support@npm:^0.5.6": version: 0.5.20 resolution: "source-map-support@npm:0.5.20" @@ -9590,6 +13810,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"source-map-url@npm:^0.4.0": + version: 0.4.1 + resolution: "source-map-url@npm:0.4.1" + checksum: 64c5c2c77aff815a6e61a4120c309ae4cac01298d9bcbb3deb1b46a4dd4c46d4a1eaeda79ec9f684766ae80e8dc86367b89326ce9dd2b89947bd9291fc1ac08c + languageName: node + linkType: hard + "source-map@npm:0.7.3, source-map@npm:^0.7.3": version: 0.7.3 resolution: "source-map@npm:0.7.3" @@ -9606,7 +13833,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"source-map@npm:^0.5.0": +"source-map@npm:^0.5.0, source-map@npm:^0.5.6": version: 0.5.7 resolution: "source-map@npm:0.5.7" checksum: 5dc2043b93d2f194142c7f38f74a24670cd7a0063acdaf4bf01d2964b402257ae843c2a8fa822ad5b71013b5fcafa55af7421383da919752f22ff488bc553f4d @@ -9654,10 +13881,37 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"split-on-first@npm:^1.0.0": - version: 1.1.0 - resolution: "split-on-first@npm:1.1.0" - checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 +"split-on-first@npm:^1.0.0": + version: 1.1.0 + resolution: "split-on-first@npm:1.1.0" + checksum: 16ff85b54ddcf17f9147210a4022529b343edbcbea4ce977c8f30e38408b8d6e0f25f92cd35b86a524d4797f455e29ab89eb8db787f3c10708e0b47ebf528d30 + languageName: node + linkType: hard + +"split-string@npm:^3.0.1, split-string@npm:^3.0.2": + version: 3.1.0 + resolution: "split-string@npm:3.1.0" + dependencies: + extend-shallow: ^3.0.0 + checksum: ae5af5c91bdc3633628821bde92fdf9492fa0e8a63cf6a0376ed6afde93c701422a1610916f59be61972717070119e848d10dfbbd5024b7729d6a71972d2a84c + languageName: node + linkType: hard + +"split2@npm:^3.0.0": + version: 3.2.2 + resolution: "split2@npm:3.2.2" + dependencies: + readable-stream: ^3.0.0 + checksum: 8127ddbedd0faf31f232c0e9192fede469913aa8982aa380752e0463b2e31c2359ef6962eb2d24c125bac59eeec76873678d723b1c7ff696216a1cd071e3994a + languageName: node + linkType: hard + +"split@npm:^1.0.0": + version: 1.0.1 + resolution: "split@npm:1.0.1" + dependencies: + through: 2 + checksum: 12f4554a5792c7e98bb3e22b53c63bfa5ef89aa704353e1db608a55b51f5b12afaad6e4a8ecf7843c15f273f43cdadd67b3705cc43d48a75c2cf4641d51f7e7a languageName: node linkType: hard @@ -9705,6 +13959,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"stack-utils@npm:^1.0.1": + version: 1.0.5 + resolution: "stack-utils@npm:1.0.5" + dependencies: + escape-string-regexp: ^2.0.0 + checksum: f82baf8d89536252a55c76866d5be3d04c96b09693a8d2ab3794b9fdec3674e05bd3f3d19345093e2cbba116a1f8f413858e0537bc3c81c605249261c3d26182 + languageName: node + linkType: hard + "stack-utils@npm:^2.0.3": version: 2.0.5 resolution: "stack-utils@npm:2.0.5" @@ -9723,6 +13986,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"static-extend@npm:^0.1.1": + version: 0.1.2 + resolution: "static-extend@npm:0.1.2" + dependencies: + define-property: ^0.2.5 + object-copy: ^0.1.0 + checksum: 8657485b831f79e388a437260baf22784540417a9b29e11572c87735df24c22b84eda42107403a64b30861b2faf13df9f7fc5525d51f9d1d2303aba5cbf4e12c + languageName: node + linkType: hard + "statuses@npm:>= 1.5.0 < 2": version: 1.5.0 resolution: "statuses@npm:1.5.0" @@ -9805,6 +14078,16 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string-length@npm:^2.0.0": + version: 2.0.0 + resolution: "string-length@npm:2.0.0" + dependencies: + astral-regex: ^1.0.0 + strip-ansi: ^4.0.0 + checksum: 3a339b63fd39d6a1077dfbbe3279545e1b67fa4b0a558906158cf0121632b280f34c8768ec7270fb25db732d6323eceb9c7254f6026509694b6a7533ca8cb89e + languageName: node + linkType: hard + "string-length@npm:^4.0.1": version: 4.0.2 resolution: "string-length@npm:4.0.2" @@ -9836,6 +14119,17 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"string-width@npm:^3.0.0, string-width@npm:^3.1.0": + version: 3.1.0 + resolution: "string-width@npm:3.1.0" + dependencies: + emoji-regex: ^7.0.1 + is-fullwidth-code-point: ^2.0.0 + strip-ansi: ^5.1.0 + checksum: 57f7ca73d201682816d573dc68bd4bb8e1dff8dc9fcf10470fdfc3474135c97175fec12ea6a159e67339b41e86963112355b64529489af6e7e70f94a7caf08b2 + languageName: node + linkType: hard + "string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -9901,7 +14195,7 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"strip-ansi@npm:5.2.0, strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.2.0": +"strip-ansi@npm:5.2.0, strip-ansi@npm:^5.0.0, strip-ansi@npm:^5.1.0, strip-ansi@npm:^5.2.0": version: 5.2.0 resolution: "strip-ansi@npm:5.2.0" dependencies: @@ -9960,6 +14254,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"strip-eof@npm:^1.0.0": + version: 1.0.0 + resolution: "strip-eof@npm:1.0.0" + checksum: 40bc8ddd7e072f8ba0c2d6d05267b4e0a4800898c3435b5fb5f5a21e6e47dfaff18467e7aa0d1844bb5d6274c3097246595841fbfeb317e541974ee992cac506 + languageName: node + linkType: hard + "strip-final-newline@npm:^2.0.0": version: 2.0.0 resolution: "strip-final-newline@npm:2.0.0" @@ -9967,6 +14268,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"strip-indent@npm:^3.0.0": + version: 3.0.0 + resolution: "strip-indent@npm:3.0.0" + dependencies: + min-indent: ^1.0.0 + checksum: 18f045d57d9d0d90cd16f72b2313d6364fd2cb4bf85b9f593523ad431c8720011a4d5f08b6591c9d580f446e78855c5334a30fb91aa1560f5d9f95ed1b4a0530 + languageName: node + linkType: hard + "strip-json-comments@npm:^3.1.0, strip-json-comments@npm:^3.1.1": version: 3.1.1 resolution: "strip-json-comments@npm:3.1.1" @@ -9974,6 +14284,19 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"strong-log-transformer@npm:^2.1.0": + version: 2.1.0 + resolution: "strong-log-transformer@npm:2.1.0" + dependencies: + duplexer: ^0.1.1 + minimist: ^1.2.0 + through: ^2.3.4 + bin: + sl-log-transformer: bin/sl-log-transformer.js + checksum: abf9a4ac143118f26c3a0771b204b02f5cf4fa80384ae158f25e02bfbff761038accc44a7f65869ccd5a5995a7f2c16b1466b83149644ba6cecd3072a8927297 + languageName: node + linkType: hard + "styled-jsx@npm:4.0.1": version: 4.0.1 resolution: "styled-jsx@npm:4.0.1" @@ -10027,6 +14350,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"supports-color@npm:^6.1.0": + version: 6.1.0 + resolution: "supports-color@npm:6.1.0" + dependencies: + has-flag: ^3.0.0 + checksum: 74358f9535c83ee113fbaac354b11e808060f6e7d8722082ee43af3578469134e89d00026dce2a6b93ce4e5b89d0e9a10f638b2b9f64c7838c2fb2883a47b3d5 + languageName: node + linkType: hard + "supports-color@npm:^7.0.0, supports-color@npm:^7.1.0": version: 7.2.0 resolution: "supports-color@npm:7.2.0" @@ -10160,7 +14492,22 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard -"tar@npm:^6.0.2, tar@npm:^6.1.2": +"tar@npm:^4.4.12": + version: 4.4.19 + resolution: "tar@npm:4.4.19" + dependencies: + chownr: ^1.1.4 + fs-minipass: ^1.2.7 + minipass: ^2.9.0 + minizlib: ^1.3.3 + mkdirp: ^0.5.5 + safe-buffer: ^5.2.1 + yallist: ^3.1.1 + checksum: 423c8259b17f8f612cef9c96805d65f90ba9a28e19be582cd9d0fcb217038219f29b7547198e8fd617da5f436376d6a74b99827acd1238d2f49cf62330f9664e + languageName: node + linkType: hard + +"tar@npm:^6.0.2, tar@npm:^6.1.0, tar@npm:^6.1.2": version: 6.1.11 resolution: "tar@npm:6.1.11" dependencies: @@ -10174,6 +14521,26 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"temp-dir@npm:^1.0.0": + version: 1.0.0 + resolution: "temp-dir@npm:1.0.0" + checksum: cb2b58ddfb12efa83e939091386ad73b425c9a8487ea0095fe4653192a40d49184a771a1beba99045fbd011e389fd563122d79f54f82be86a55620667e08a6b2 + languageName: node + linkType: hard + +"temp-write@npm:^4.0.0": + version: 4.0.0 + resolution: "temp-write@npm:4.0.0" + dependencies: + graceful-fs: ^4.1.15 + is-stream: ^2.0.0 + make-dir: ^3.0.0 + temp-dir: ^1.0.0 + uuid: ^3.3.2 + checksum: 4f94187662968b7cc9d88d7f8eeecc9e7317e26d640d2f90e833151e1049702ec6c63512d095b8bd69c09735eb5b5bfba9bb37dbed3bf2fe8b01076ffa161338 + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -10184,6 +14551,18 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"test-exclude@npm:^5.2.3": + version: 5.2.3 + resolution: "test-exclude@npm:5.2.3" + dependencies: + glob: ^7.1.3 + minimatch: ^3.0.4 + read-pkg-up: ^4.0.0 + require-main-filename: ^2.0.0 + checksum: 3a67bee51b0afb0b7a51b649a7dacd920d929de2b3eccb52fa818f0b0bf2ebfced1d1a77a206b74f95c50f6682e313eedb8000cfdd5ac2f9cc6ed8a32fc4ff2e + languageName: node + linkType: hard + "test-exclude@npm:^6.0.0": version: 6.0.0 resolution: "test-exclude@npm:6.0.0" @@ -10195,6 +14574,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"text-extensions@npm:^1.0.0": + version: 1.9.0 + resolution: "text-extensions@npm:1.9.0" + checksum: 56a9962c1b62d39b2bcb369b7558ca85c1b55e554b38dfd725edcc0a1babe5815782a60c17ff6b839093b163dfebb92b804208aaaea616ec7571c8059ae0cf44 + languageName: node + linkType: hard + "text-table@npm:^0.2.0": version: 0.2.0 resolution: "text-table@npm:0.2.0" @@ -10202,6 +14588,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"throat@npm:^4.0.0": + version: 4.1.0 + resolution: "throat@npm:4.1.0" + checksum: 43519b0cea6d3b2a8fe056fcbc319e289037be67d2204d4d33513d20d6ee9da6255f7ba8c89e2ec8c97b0f188a910b8666def38d1058d2bf4a39613812c36d98 + languageName: node + linkType: hard + "throat@npm:^6.0.1": version: 6.0.1 resolution: "throat@npm:6.0.1" @@ -10209,6 +14602,32 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"through2@npm:^2.0.0": + version: 2.0.5 + resolution: "through2@npm:2.0.5" + dependencies: + readable-stream: ~2.3.6 + xtend: ~4.0.1 + checksum: beb0f338aa2931e5660ec7bf3ad949e6d2e068c31f4737b9525e5201b824ac40cac6a337224856b56bd1ddd866334bbfb92a9f57cd6f66bc3f18d3d86fc0fe50 + languageName: node + linkType: hard + +"through2@npm:^4.0.0": + version: 4.0.2 + resolution: "through2@npm:4.0.2" + dependencies: + readable-stream: 3 + checksum: ac7430bd54ccb7920fd094b1c7ff3e1ad6edd94202e5528331253e5fde0cc56ceaa690e8df9895de2e073148c52dfbe6c4db74cacae812477a35660090960cc0 + languageName: node + linkType: hard + +"through@npm:2, through@npm:>=2.2.7 <3, through@npm:^2.3.4, through@npm:^2.3.6": + version: 2.3.8 + resolution: "through@npm:2.3.8" + checksum: a38c3e059853c494af95d50c072b83f8b676a9ba2818dcc5b108ef252230735c54e0185437618596c790bbba8fcdaef5b290405981ffa09dce67b1f1bf190cbd + languageName: node + linkType: hard + "timers-browserify@npm:2.0.12, timers-browserify@npm:^2.0.4": version: 2.0.12 resolution: "timers-browserify@npm:2.0.12" @@ -10218,6 +14637,15 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"tmp@npm:^0.0.33": + version: 0.0.33 + resolution: "tmp@npm:0.0.33" + dependencies: + os-tmpdir: ~1.0.2 + checksum: 902d7aceb74453ea02abbf58c203f4a8fc1cead89b60b31e354f74ed5b3fb09ea817f94fb310f884a5d16987dd9fa5a735412a7c2dd088dd3d415aa819ae3a28 + languageName: node + linkType: hard + "tmp@npm:^0.2.1": version: 0.2.1 resolution: "tmp@npm:0.2.1" @@ -10248,6 +14676,25 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"to-object-path@npm:^0.3.0": + version: 0.3.0 + resolution: "to-object-path@npm:0.3.0" + dependencies: + kind-of: ^3.0.2 + checksum: 9425effee5b43e61d720940fa2b889623f77473d459c2ce3d4a580a4405df4403eec7be6b857455908070566352f9e2417304641ed158dda6f6a365fe3e66d70 + languageName: node + linkType: hard + +"to-regex-range@npm:^2.1.0": + version: 2.1.1 + resolution: "to-regex-range@npm:2.1.1" + dependencies: + is-number: ^3.0.0 + repeat-string: ^1.6.1 + checksum: 46093cc14be2da905cc931e442d280b2e544e2bfdb9a24b3cf821be8d342f804785e5736c108d5be026021a05d7b38144980a61917eee3c88de0a5e710e10320 + languageName: node + linkType: hard + "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -10257,6 +14704,18 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"to-regex@npm:^3.0.1, to-regex@npm:^3.0.2": + version: 3.0.2 + resolution: "to-regex@npm:3.0.2" + dependencies: + define-property: ^2.0.2 + extend-shallow: ^3.0.2 + regex-not: ^1.0.2 + safe-regex: ^1.1.0 + checksum: 4ed4a619059b64e204aad84e4e5f3ea82d97410988bcece7cf6cbfdbf193d11bff48cf53842d88b8bb00b1bfc0d048f61f20f0709e6f393fd8fe0122662d9db4 + languageName: node + linkType: hard + "toidentifier@npm:1.0.0": version: 1.0.0 resolution: "toidentifier@npm:1.0.0" @@ -10317,6 +14776,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"trim-newlines@npm:^3.0.0": + version: 3.0.1 + resolution: "trim-newlines@npm:3.0.1" + checksum: b530f3fadf78e570cf3c761fb74fef655beff6b0f84b29209bac6c9622db75ad1417f4a7b5d54c96605dcd72734ad44526fef9f396807b90839449eb543c6206 + languageName: node + linkType: hard + "ts-invariant@npm:^0.4.0": version: 0.4.4 resolution: "ts-invariant@npm:0.4.4" @@ -10480,6 +14946,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"type-fest@npm:^0.18.0": + version: 0.18.1 + resolution: "type-fest@npm:0.18.1" + checksum: e96dcee18abe50ec82dab6cbc4751b3a82046da54c52e3b2d035b3c519732c0b3dd7a2fa9df24efd1a38d953d8d4813c50985f215f1957ee5e4f26b0fe0da395 + languageName: node + linkType: hard + "type-fest@npm:^0.20.2": version: 0.20.2 resolution: "type-fest@npm:0.20.2" @@ -10501,6 +14974,20 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"type-fest@npm:^0.4.1": + version: 0.4.1 + resolution: "type-fest@npm:0.4.1" + checksum: 25f882d9cc2f24af7a0a529157f96dead157894c456bfbad16d48f990c43b470dfb79848e8d9c03fe1be72a7d169e44f6f3135b54628393c66a6189c5dc077f7 + languageName: node + linkType: hard + +"type-fest@npm:^0.6.0": + version: 0.6.0 + resolution: "type-fest@npm:0.6.0" + checksum: b2188e6e4b21557f6e92960ec496d28a51d68658018cba8b597bd3ef757721d1db309f120ae987abeeda874511d14b776157ff809f23c6d1ce8f83b9b2b7d60f + languageName: node + linkType: hard + "type-fest@npm:^0.7.1": version: 0.7.1 resolution: "type-fest@npm:0.7.1" @@ -10508,6 +14995,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"type-fest@npm:^0.8.1": + version: 0.8.1 + resolution: "type-fest@npm:0.8.1" + checksum: d61c4b2eba24009033ae4500d7d818a94fd6d1b481a8111612ee141400d5f1db46f199c014766b9fa9b31a6a7374d96fc748c6d688a78a3ce5a33123839becb7 + languageName: node + linkType: hard + "typedarray-to-buffer@npm:^3.1.5": version: 3.1.5 resolution: "typedarray-to-buffer@npm:3.1.5" @@ -10517,6 +15011,13 @@ resolve@^2.0.0-next.3: languageName: node linkType: hard +"typedarray@npm:^0.0.6": + version: 0.0.6 + resolution: "typedarray@npm:0.0.6" + checksum: 33b39f3d0e8463985eeaeeacc3cb2e28bc3dfaf2a5ed219628c0b629d5d7b810b0eb2165f9f607c34871d5daa92ba1dc69f49051cf7d578b4cbd26c340b9d1b1 + languageName: node + linkType: hard + typescript@4.4.3: version: 4.4.3 resolution: "typescript@npm:4.4.3" @@ -10537,6 +15038,29 @@ typescript@4.4.3: languageName: node linkType: hard +"uglify-js@npm:^3.1.4": + version: 3.14.2 + resolution: "uglify-js@npm:3.14.2" + bin: + uglifyjs: bin/uglifyjs + checksum: 4d8e5c63b2c0455b598cc09ade538cd4fe6d68cb46a9bc563464d749650047592d96aff5a283c1c29a0c27a6ce8f9eb0b3a33525b3e7555b841a53b2b32d6219 + languageName: node + linkType: hard + +"uid-number@npm:0.0.6": + version: 0.0.6 + resolution: "uid-number@npm:0.0.6" + checksum: ff17525bb9b17313b839222efa1fe69baf136992cf675e8d1d50e9b1ef4563742968e390a96a57645d99cf8b283866c36ef9747bbf186bbbf2ef601b60ed4443 + languageName: node + linkType: hard + +"umask@npm:^1.1.0": + version: 1.1.0 + resolution: "umask@npm:1.1.0" + checksum: 5f7fd555aed41bb359eb45a8cfd72a79ddc67208e43ee3f7396c6b6c4066eacec8ec2b7b5f0572315229c9c05cfe90447463c6e8efa1f35b56540b36399199cf + languageName: node + linkType: hard + "unbox-primitive@npm:^1.0.1": version: 1.0.1 resolution: "unbox-primitive@npm:1.0.1" @@ -10549,6 +15073,18 @@ typescript@4.4.3: languageName: node linkType: hard +"union-value@npm:^1.0.0": + version: 1.0.1 + resolution: "union-value@npm:1.0.1" + dependencies: + arr-union: ^3.1.0 + get-value: ^2.0.6 + is-extendable: ^0.1.1 + set-value: ^2.0.1 + checksum: a3464097d3f27f6aa90cf103ed9387541bccfc006517559381a10e0dffa62f465a9d9a09c9b9c3d26d0f4cbe61d4d010e2fbd710fd4bf1267a768ba8a774b0ba + languageName: node + linkType: hard + "unique-filename@npm:^1.1.1": version: 1.1.1 resolution: "unique-filename@npm:1.1.1" @@ -10577,6 +15113,13 @@ typescript@4.4.3: languageName: node linkType: hard +"universal-user-agent@npm:^6.0.0": + version: 6.0.0 + resolution: "universal-user-agent@npm:6.0.0" + checksum: 5092bbc80dd0d583cef0b62c17df0043193b74f425112ea6c1f69bc5eda21eeec7a08d8c4f793a277eb2202ffe9b44bec852fa3faff971234cd209874d1b79ef + languageName: node + linkType: hard + "universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -10598,6 +15141,23 @@ typescript@4.4.3: languageName: node linkType: hard +"unset-value@npm:^1.0.0": + version: 1.0.0 + resolution: "unset-value@npm:1.0.0" + dependencies: + has-value: ^0.3.1 + isobject: ^3.0.0 + checksum: 5990ecf660672be2781fc9fb322543c4aa592b68ed9a3312fa4df0e9ba709d42e823af090fc8f95775b4cd2c9a5169f7388f0cec39238b6d0d55a69fc2ab6b29 + languageName: node + linkType: hard + +"upath@npm:^2.0.1": + version: 2.0.1 + resolution: "upath@npm:2.0.1" + checksum: 2db04f24a03ef72204c7b969d6991abec9e2cb06fb4c13a1fd1c59bc33b46526b16c3325e55930a11ff86a77a8cbbcda8f6399bf914087028c5beae21ecdb33c + languageName: node + linkType: hard + "upper-case-first@npm:^2.0.2": version: 2.0.2 resolution: "upper-case-first@npm:2.0.2" @@ -10625,6 +15185,13 @@ typescript@4.4.3: languageName: node linkType: hard +"urix@npm:^0.1.0": + version: 0.1.0 + resolution: "urix@npm:0.1.0" + checksum: 4c076ecfbf3411e888547fe844e52378ab5ada2d2f27625139011eada79925e77f7fbf0e4016d45e6a9e9adb6b7e64981bd49b22700c7c401c5fc15f423303b3 + languageName: node + linkType: hard + "url@npm:^0.11.0": version: 0.11.0 resolution: "url@npm:0.11.0" @@ -10646,6 +15213,13 @@ typescript@4.4.3: languageName: node linkType: hard +"use@npm:^3.1.0": + version: 3.1.1 + resolution: "use@npm:3.1.1" + checksum: 08a130289f5238fcbf8f59a18951286a6e660d17acccc9d58d9b69dfa0ee19aa038e8f95721b00b432c36d1629a9e32a464bf2e7e0ae6a244c42ddb30bdd8b33 + languageName: node + linkType: hard + "util-deprecate@npm:^1.0.1, util-deprecate@npm:^1.0.2, util-deprecate@npm:~1.0.1": version: 1.0.2 resolution: "util-deprecate@npm:1.0.2" @@ -10653,6 +15227,15 @@ typescript@4.4.3: languageName: node linkType: hard +"util-promisify@npm:^2.1.0": + version: 2.1.0 + resolution: "util-promisify@npm:2.1.0" + dependencies: + object.getownpropertydescriptors: ^2.0.3 + checksum: 75e74c46213e49e8d6a85cef942dcbfd8abf2389e789eddfde10e354349778cfca36fe33fa7c74a3ff1c7170462a7f856d5471bd69b06eb37a69362ffe21434e + languageName: node + linkType: hard + "util.promisify@npm:1.0.1": version: 1.0.1 resolution: "util.promisify@npm:1.0.1" @@ -10737,7 +15320,7 @@ typescript@4.4.3: languageName: node linkType: hard -"validate-npm-package-license@npm:^3.0.1": +"validate-npm-package-license@npm:^3.0.1, validate-npm-package-license@npm:^3.0.4": version: 3.0.4 resolution: "validate-npm-package-license@npm:3.0.4" dependencies: @@ -10747,6 +15330,15 @@ typescript@4.4.3: languageName: node linkType: hard +"validate-npm-package-name@npm:^3.0.0": + version: 3.0.0 + resolution: "validate-npm-package-name@npm:3.0.0" + dependencies: + builtins: ^1.0.3 + checksum: ce4c68207abfb22c05eedb09ff97adbcedc80304a235a0844f5344f1fd5086aa80e4dbec5684d6094e26e35065277b765c1caef68bcea66b9056761eddb22967 + languageName: node + linkType: hard + "verror@npm:1.10.0": version: 1.10.0 resolution: "verror@npm:1.10.0" @@ -10833,7 +15425,7 @@ typescript@4.4.3: languageName: node linkType: hard -"walker@npm:^1.0.7": +"walker@npm:^1.0.7, walker@npm:~1.0.5": version: 1.0.7 resolution: "walker@npm:1.0.7" dependencies: @@ -10852,6 +15444,15 @@ typescript@4.4.3: languageName: node linkType: hard +"wcwidth@npm:^1.0.0": + version: 1.0.1 + resolution: "wcwidth@npm:1.0.1" + dependencies: + defaults: ^1.0.3 + checksum: 814e9d1ddcc9798f7377ffa448a5a3892232b9275ebb30a41b529607691c0491de47cba426e917a4d08ded3ee7e9ba2f3fe32e62ee3cd9c7d3bafb7754bd553c + languageName: node + linkType: hard + "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -10928,7 +15529,7 @@ typescript@4.4.3: languageName: node linkType: hard -"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.5.0": +"whatwg-url@npm:^8.0.0, whatwg-url@npm:^8.4.0, whatwg-url@npm:^8.5.0": version: 8.7.0 resolution: "whatwg-url@npm:8.7.0" dependencies: @@ -10952,6 +15553,13 @@ typescript@4.4.3: languageName: node linkType: hard +"which-module@npm:^2.0.0": + version: 2.0.0 + resolution: "which-module@npm:2.0.0" + checksum: 809f7fd3dfcb2cdbe0180b60d68100c88785084f8f9492b0998c051d7a8efe56784492609d3f09ac161635b78ea29219eb1418a98c15ce87d085bce905705c9c + languageName: node + linkType: hard + "which-typed-array@npm:^1.1.2": version: 1.1.7 resolution: "which-typed-array@npm:1.1.7" @@ -10966,7 +15574,7 @@ typescript@4.4.3: languageName: node linkType: hard -"which@npm:^1.2.9": +"which@npm:^1.2.9, which@npm:^1.3.0, which@npm:^1.3.1": version: 1.3.1 resolution: "which@npm:1.3.1" dependencies: @@ -11013,6 +15621,13 @@ typescript@4.4.3: languageName: node linkType: hard +"wordwrap@npm:^1.0.0": + version: 1.0.0 + resolution: "wordwrap@npm:1.0.0" + checksum: 2a44b2788165d0a3de71fd517d4880a8e20ea3a82c080ce46e294f0b68b69a2e49cff5f99c600e275c698a90d12c5ea32aff06c311f0db2eb3f1201f3e7b2a04 + languageName: node + linkType: hard + "wrap-ansi@npm:^3.0.1": version: 3.0.1 resolution: "wrap-ansi@npm:3.0.1" @@ -11034,6 +15649,17 @@ typescript@4.4.3: languageName: node linkType: hard +"wrap-ansi@npm:^5.1.0": + version: 5.1.0 + resolution: "wrap-ansi@npm:5.1.0" + dependencies: + ansi-styles: ^3.2.0 + string-width: ^3.0.0 + strip-ansi: ^5.0.0 + checksum: 9b48c862220e541eb0daa22661b38b947973fc57054e91be5b0f2dcc77741a6875ccab4ebe970a394b4682c8dfc17e888266a105fb8b0a9b23c19245e781ceae + languageName: node + linkType: hard + "wrap-ansi@npm:^7.0.0": version: 7.0.0 resolution: "wrap-ansi@npm:7.0.0" @@ -11052,7 +15678,29 @@ typescript@4.4.3: languageName: node linkType: hard -"write-file-atomic@npm:^3.0.0": +"write-file-atomic@npm:2.4.1": + version: 2.4.1 + resolution: "write-file-atomic@npm:2.4.1" + dependencies: + graceful-fs: ^4.1.11 + imurmurhash: ^0.1.4 + signal-exit: ^3.0.2 + checksum: 9a032212214fb281fa7004e53115dfe38cd6f7191902ac7b691524c42f565f9083f2bb810aa30936b25559ed9f9b1772a2e385c29e5e7e4ef1253388610acdf1 + languageName: node + linkType: hard + +"write-file-atomic@npm:^2.4.2": + version: 2.4.3 + resolution: "write-file-atomic@npm:2.4.3" + dependencies: + graceful-fs: ^4.1.11 + imurmurhash: ^0.1.4 + signal-exit: ^3.0.2 + checksum: 2db81f92ae974fd87ab4a5e7932feacaca626679a7c98fcc73ad8fcea5a1950eab32fa831f79e9391ac99b562ca091ad49be37a79045bd65f595efbb8f4596ae + languageName: node + linkType: hard + +"write-file-atomic@npm:^3.0.0, write-file-atomic@npm:^3.0.3": version: 3.0.3 resolution: "write-file-atomic@npm:3.0.3" dependencies: @@ -11064,6 +15712,45 @@ typescript@4.4.3: languageName: node linkType: hard +"write-json-file@npm:^3.2.0": + version: 3.2.0 + resolution: "write-json-file@npm:3.2.0" + dependencies: + detect-indent: ^5.0.0 + graceful-fs: ^4.1.15 + make-dir: ^2.1.0 + pify: ^4.0.1 + sort-keys: ^2.0.0 + write-file-atomic: ^2.4.2 + checksum: 2b97ce2027d53c28a33e4a8e7b0d565faf785988b3776f9e0c68d36477c1fb12639fd0d70877d92a861820707966c62ea9c5f7a36a165d615fd47ca8e24c8371 + languageName: node + linkType: hard + +"write-json-file@npm:^4.3.0": + version: 4.3.0 + resolution: "write-json-file@npm:4.3.0" + dependencies: + detect-indent: ^6.0.0 + graceful-fs: ^4.1.15 + is-plain-obj: ^2.0.0 + make-dir: ^3.0.0 + sort-keys: ^4.0.0 + write-file-atomic: ^3.0.0 + checksum: 33908c591923dc273e6574e7c0e2df157acfcf498e3a87c5615ced006a465c4058877df6abce6fc1acd2844fa3cf4518ace4a34d5d82ab28bcf896317ba1db6f + languageName: node + linkType: hard + +"write-pkg@npm:^4.0.0": + version: 4.0.0 + resolution: "write-pkg@npm:4.0.0" + dependencies: + sort-keys: ^2.0.0 + type-fest: ^0.4.1 + write-json-file: ^3.2.0 + checksum: 7864d44370f42a6761f6898d07ee2818c7a2faad45116580cf779f3adaf94e4bea5557612533a6c421c32323253ecb63b50615094960a637aeaef5df0fd2d6cd + languageName: node + linkType: hard + "ws@npm:^5.2.0": version: 5.2.3 resolution: "ws@npm:5.2.3" @@ -11102,13 +15789,20 @@ typescript@4.4.3: languageName: node linkType: hard -"xtend@npm:^4.0.0, xtend@npm:^4.0.2": +"xtend@npm:^4.0.0, xtend@npm:^4.0.2, xtend@npm:~4.0.1": version: 4.0.2 resolution: "xtend@npm:4.0.2" checksum: ac5dfa738b21f6e7f0dd6e65e1b3155036d68104e67e5d5d1bde74892e327d7e5636a076f625599dc394330a731861e87343ff184b0047fef1360a7ec0a5a36a languageName: node linkType: hard +"y18n@npm:^4.0.0": + version: 4.0.3 + resolution: "y18n@npm:4.0.3" + checksum: 014dfcd9b5f4105c3bb397c1c8c6429a9df004aa560964fb36732bfb999bfe83d45ae40aeda5b55d21b1ee53d8291580a32a756a443e064317953f08025b1aa4 + languageName: node + linkType: hard + "y18n@npm:^5.0.5": version: 5.0.8 resolution: "y18n@npm:5.0.8" @@ -11116,6 +15810,13 @@ typescript@4.4.3: languageName: node linkType: hard +"yallist@npm:^3.0.0, yallist@npm:^3.1.1": + version: 3.1.1 + resolution: "yallist@npm:3.1.1" + checksum: 48f7bb00dc19fc635a13a39fe547f527b10c9290e7b3e836b9a8f1ca04d4d342e85714416b3c2ab74949c9c66f9cebb0473e6bc353b79035356103b47641285d + languageName: node + linkType: hard + "yallist@npm:^4.0.0": version: 4.0.0 resolution: "yallist@npm:4.0.0" @@ -11130,13 +15831,48 @@ typescript@4.4.3: languageName: node linkType: hard -"yargs-parser@npm:^20.2.2": +"yargs-parser@npm:20.2.4": + version: 20.2.4 + resolution: "yargs-parser@npm:20.2.4" + checksum: d251998a374b2743a20271c2fd752b9fbef24eb881d53a3b99a7caa5e8227fcafd9abf1f345ac5de46435821be25ec12189a11030c12ee6481fef6863ed8b924 + languageName: node + linkType: hard + +"yargs-parser@npm:^13.1.2": + version: 13.1.2 + resolution: "yargs-parser@npm:13.1.2" + dependencies: + camelcase: ^5.0.0 + decamelize: ^1.2.0 + checksum: c8bb6f44d39a4acd94462e96d4e85469df865de6f4326e0ab1ac23ae4a835e5dd2ddfe588317ebf80c3a7e37e741bd5cb0dc8d92bcc5812baefb7df7c885e86b + languageName: node + linkType: hard + +"yargs-parser@npm:^20.2.2, yargs-parser@npm:^20.2.3": version: 20.2.9 resolution: "yargs-parser@npm:20.2.9" checksum: 8bb69015f2b0ff9e17b2c8e6bfe224ab463dd00ca211eece72a4cd8a906224d2703fb8a326d36fdd0e68701e201b2a60ed7cf81ce0fd9b3799f9fe7745977ae3 languageName: node linkType: hard +"yargs@npm:^13.3.0": + version: 13.3.2 + resolution: "yargs@npm:13.3.2" + dependencies: + cliui: ^5.0.0 + find-up: ^3.0.0 + get-caller-file: ^2.0.1 + require-directory: ^2.1.1 + require-main-filename: ^2.0.0 + set-blocking: ^2.0.0 + string-width: ^3.0.0 + which-module: ^2.0.0 + y18n: ^4.0.0 + yargs-parser: ^13.1.2 + checksum: 75c13e837eb2bb25717957ba58d277e864efc0cca7f945c98bdf6477e6ec2f9be6afa9ed8a876b251a21423500c148d7b91e88dee7adea6029bdec97af1ef3e8 + languageName: node + linkType: hard + "yargs@npm:^16.2.0": version: 16.2.0 resolution: "yargs@npm:16.2.0"