From b6bf8f81f288ca8ca3ce4c0c3248885a103e0913 Mon Sep 17 00:00:00 2001 From: Rob Cameron Date: Wed, 15 Jun 2022 16:40:48 -0700 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit 40c2c11c4ee144160fec663d0a8471518a1a526b Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 15 20:54:08 2022 +0000 fix(deps): update dependency @apollo/client to v3.6.8 (#5769) Co-authored-by: Renovate Bot commit 8bc48ffc749b0b8c40bba381c77426ce5f92c452 Author: Anders Søgaard Date: Wed Jun 15 17:55:15 2022 +0200 Correct a few spelling mistakes (#5747) commit 957f98ce95b0f7f88373ba4cded805b277465b5a Author: António Meireles Date: Wed Jun 15 16:14:13 2022 +0100 docs: yet another set of single byte typo squashing (#5749) Signed-off-by: António Meireles Co-authored-by: David Thyresson Co-authored-by: Dominic Saadi commit ef5aaecd9f142a1d2a87a059965094aa33752481 Author: Rushabh Javeri Date: Wed Jun 15 20:40:33 2022 +0530 docs: GraphQL Yoga's playground, not Apollo Server's (#5741) * docs: GraphQL Yoga's playground, not Apollo Server's * docs: Changed "GraphQL Playground" to "GraphiQL" and added appropriate link commit 4272511b34bc13aa331b9e5a202d5fa6f3dedfa1 Author: Charly POLY <1252066+charlypoly@users.noreply.github.com> Date: Wed Jun 15 17:02:38 2022 +0200 docs(graphql): replaced outdated mentions to Apollo Server (#5768) commit b7636b11ce9ab78eef5e886227d4d5d7552fc7b4 Author: Masvoras <58081001+Masvoras@users.noreply.github.com> Date: Wed Jun 15 10:58:53 2022 -0400 Update routing-params.md (#5706) There were errors in the code portion at the end of Chapter 2 -> Routing params when ArticleCell is last modified. commit 90592e3f03247f313536d2ac5444461089ff8e4c Author: Syahrizal Ardana <57914770+Gombeng@users.noreply.github.com> Date: Wed Jun 15 21:55:23 2022 +0700 fixing typo (#5699) commit 43230ae8865092f2268a750a3b87558b29950b25 Author: David Thyresson Date: Wed Jun 15 10:41:20 2022 -0400 fix: RedwoodLogger -- Mask errors, but include stack trace in formatter (#5704) * Mask errors, but include stack trasce in formatter * Fix tests for new error attribute in log data * Adds test to log stack traces * Tests log error formatter * style: remove extra space between error and stack Co-authored-by: Dominic Saadi commit 6c4360644bbb18c524b7cf5ebd6b6eb562bfe713 Author: Dominic Saadi Date: Wed Jun 15 21:41:46 2022 +0900 Lint fix some template files (#5766) * fix: lint fix template files * fix: update snapshots commit 4613200b564829a0569c446daa697a48c50d4173 Author: Guillaume Mantopoulos <3082385+MrGuiMan@users.noreply.github.com> Date: Wed Jun 15 00:55:54 2022 +0200 docs: adding precisions and fixes to contributing (#5760) Co-authored-by: Guillaume Mantopoulos Co-authored-by: David Thyresson commit 339d7831aa5516d2b5ad4f2fadb2184a97cbf718 Author: Rob Cameron Date: Tue Jun 14 15:23:00 2022 -0700 Adds note about errors when generating cells without a SDL file (#5764) commit 7423b559cb2b565e9fa0a1a9c2c286c4c534f409 Author: Jan Henning Date: Tue Jun 14 19:16:28 2022 +0200 docs: Fix not being able to fullscreen YouTube embeds (#5744) Co-authored-by: David Thyresson commit b6a733de708971a349351fe8ad5861235b2f2292 Author: Rob Cameron Date: Mon Jun 13 14:29:49 2022 -0700 Adds mailchimp signup form to tutorial Foreword page (#5758) * Add Mailchimp signup form * Update link * Rename back * Add form directly to 1.5 versioned docs * Fix link * Move signup form to root /docs dir * Also add to 1.5 * Remove Mailchimp JS, move component to bottom to fix title commit ac4844dce4477849cc88692a224340e072a7b4d7 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Jun 13 21:23:58 2022 +0000 fix(deps): update dependency webpack-dev-server to v4.9.2 (#5754) Co-authored-by: Renovate Bot commit e7e0e8b1f0b6c487b11701700ce5cd84184eaf95 Author: Dominic Saadi Date: Mon Jun 13 23:34:24 2022 +0900 Update yarn.lock commit 025e1134f59c5c10ebd3d559c172dc42fba81dc2 Merge: 32e879a1 f3bc6551 Author: Dominic Saadi Date: Mon Jun 13 23:33:41 2022 +0900 Merge branch 'release/patch/v1.5.2' commit f3bc6551d3e518d785ab3b5d932c0fefb66902e7 Author: Dominic Saadi Date: Mon Jun 13 23:07:09 2022 +0900 v1.5.2 commit 20aee390ff18f447c78ec9157953b9b76d3f4670 Author: Dominic Saadi Date: Mon Jun 13 23:02:53 2022 +0900 Update yarn.lock commit 0998c768850f0cf4ffb115c2f36d9dfc549f3e9a Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Jun 13 22:45:20 2022 +0900 fix(deps): update dependency webpack-cli to v4.10.0 (#5756) Co-authored-by: Renovate Bot commit 32e879a1ff61caef1b0ba0303deba5ff98ad0a27 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Mon Jun 13 22:45:20 2022 +0900 fix(deps): update dependency webpack-cli to v4.10.0 (#5756) Co-authored-by: Renovate Bot commit 9e9ecb60c436fd3905007c2a2c8d8daf906eed3e Author: Rushabh Javeri Date: Sat Jun 11 11:14:50 2022 +0530 docs: Some fact checks in the deployment section. (#5736) * docs: Some fact checks in the deployment section. * docs: Inform users to create account in order to persist their DB. Co-authored-by: Rob Cameron Co-authored-by: Rob Cameron Co-authored-by: David Thyresson commit a81f916a209ba13f244e473253ea44222837391f Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 10 15:05:33 2022 +0000 fix(deps): update dependency ts-morph to v15 (#5644) Co-authored-by: Renovate Bot Co-authored-by: Dominic Saadi commit be229fdbb25e7b05f9d8b2ca243590b55b645c98 Author: Aleph Retamal <7674479+alephao@users.noreply.github.com> Date: Fri Jun 10 11:23:36 2022 -0300 fix: typo in graphql generate service command (#5712) Co-authored-by: Dominic Saadi commit b71339b4e0cbb49939049989cbf581be259bb709 Author: Kolja Lampe Date: Fri Jun 10 16:15:18 2022 +0200 Fix typo (#5735) Co-authored-by: Dominic Saadi commit 17730f693dc37768d2607066dd4ecfad4a902b06 Author: Bouzid Badreddine Date: Fri Jun 10 15:11:35 2022 +0100 Fix typo (#5733) Co-authored-by: Dominic Saadi commit 5c6f08dff22ce11a967de291c2e46b84aa59638c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 10 22:20:06 2022 +0900 fix(deps): update storybook monorepo to v6.5.8 (#5720) Co-authored-by: Renovate Bot Co-authored-by: Dominic Saadi commit 39e86c68d23552a8bf811c5bad7ab1ce0e8d89c4 Author: Tobbe Lundberg Date: Fri Jun 10 13:30:59 2022 +0200 Reorganize router utils (#5659) commit 012bc15f6e5c94f8428ba49f1a82ae30b1b1040e Author: Alon <57628667+AlonHor@users.noreply.github.com> Date: Fri Jun 10 13:41:52 2022 +0300 Fixed not enough spaces after '>' (#5732) commit 218887b27f7c691c811ba60e651b3ca14a5bb935 Author: Rushabh Javeri Date: Fri Jun 10 16:07:49 2022 +0530 docs: (typo fix) Updated reference to GraphQL Yoga from Apollo (#5731) * docs: (typo fix) Updated reference to GraphQL Yoga from Apollo * docs: (typo fix) Updated reference to GraphQL Yoga from Apollo Co-authored-by: Dominic Saadi commit 14ec0c7ff4107edb9290f4409389518fb860b11a Author: kunalarya Date: Fri Jun 10 03:31:40 2022 -0700 docs: Fix Typescript typo in authentication chapter (#5621) * Fix Typescript typo in authentication chapter * Move changes to docs/docs Co-authored-by: Kunal Arya Co-authored-by: Dominic Saadi commit 5e3cb58b94c1dcca1b9eca4db19b0464d4885b5d Author: Fabio Lazzaroni Date: Fri Jun 10 12:25:27 2022 +0200 Update comment-form.md (#5637) * Update comment-form.md Fix a broken import in example code * Update rbac.md Fix a broken import in example code * Update comment-form.md Fix a broken import in example code * typo(docs): fix typo in docs fix some broken imports in the example code of the tutorial documentation `api/src/lib/db` -> `src/lib/db` Co-authored-by: Dominic Saadi commit c91b3dcfe4ddcbf74ad5857754852d71112f8efd Author: mattdriscoll Date: Fri Jun 10 05:13:27 2022 -0500 Fix typo in Tutorial Chapter 1 Prerequisites (#5616) * Fix typo * chore: copy typo fix to ./docs Co-authored-by: Aditya Pandey Co-authored-by: David Thyresson Co-authored-by: Dominic Saadi commit ebd0ffefb80a08bd4cf252272c59c37a2bc48186 Author: Anders Søgaard Date: Fri Jun 10 12:10:48 2022 +0200 Fix typo (#5711) * Fix typo * Update authentication.md * Update authentication.md * Update authentication.md * Update authentication.md Co-authored-by: Dominic Saadi commit 07b00d2c19e5536b3b2671bf3fba6c225b9c4d99 Author: David Thyresson Date: Fri Jun 10 05:57:26 2022 -0400 auth0 decoder handles undefined public key (#5701) Co-authored-by: Dominic Saadi commit fa8fba9ad3ac3120b0793dbe7dc319302224bdda Author: Dominic Saadi Date: Fri Jun 10 18:27:21 2022 +0900 Revert "chore: update cypress github action" This reverts commit 1232e40c4aedb36b75257f25d13c28932c739fd5. commit 1232e40c4aedb36b75257f25d13c28932c739fd5 Author: Dominic Saadi Date: Fri Jun 10 18:04:41 2022 +0900 chore: update cypress github action commit 71823f59ffbe954883529d689999fd372c2460d3 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 10 08:44:34 2022 +0000 fix(deps): update prisma monorepo to v3.15.1 (#5721) Co-authored-by: Renovate Bot commit 5e10b85c643759904831176398983a39800cb26c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 10 16:57:13 2022 +0900 chore(deps): update dependency octokit to v1.7.2 (#5719) Co-authored-by: Renovate Bot commit 03af8ffaf33c83ac887134a5cf5a804d1e44db40 Author: kunalarya Date: Thu Jun 9 23:43:41 2022 -0700 docs: Link to current document source. (#5658) Co-authored-by: Kunal Arya Co-authored-by: Tobbe Lundberg commit e8d2eb9b29f40b58a5dfcf2f6e7e8bbb89df4762 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Jun 9 16:23:30 2022 +0000 fix(deps): update dependency @envelop/depth-limit to v1.5.3 (#5709) Co-authored-by: Renovate Bot commit 2dfe7d87d6475e8a5380c51a4f34163a2e0cc27a Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 10 00:32:02 2022 +0900 chore(deps): update dependency esbuild to v0.14.43 (#5717) Co-authored-by: Renovate Bot commit 5eb42366c265bdee74140715034ee68229b543f9 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Jun 9 23:54:00 2022 +0900 fix(deps): update dependency @envelop/disable-introspection to v3.3.3 (#5710) Co-authored-by: Renovate Bot commit 7cb547bb122a020fd71b99f060b6399d178dc124 Author: nickpdemarco Date: Thu Jun 9 01:25:44 2022 -0400 Move import/order rule into shared eslint configuration so generated projects have to adhere to the rule as well (#4954) Co-authored-by: Dominic Saadi commit 161c4602b0dc20902c96bd55631708c6f4ebc869 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 8 01:43:00 2022 +0000 chore(deps): update dependency typescript to v4.7.3 (#5707) Co-authored-by: Renovate Bot commit a56ef2bfda24204c2c2e012d2fc53422ab3242e1 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Jun 7 22:40:28 2022 +0000 chore(deps): update dependency @clerk/clerk-sdk-node to v3.6.1 (#5697) Co-authored-by: Renovate Bot commit 3adbff8158b00fb870b7b72e2993072e0d7060bc Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Jun 7 18:48:34 2022 +0000 chore(deps): update dependency @nhost/hasura-auth-js to v1.1.14 (#5688) Co-authored-by: Renovate Bot commit aba9a3a34044c3b0e49a20147a407181b2538c4f Author: Pin Sern <52379442+fangpinsern@users.noreply.github.com> Date: Tue Jun 7 21:57:04 2022 +0800 docs: Removes unnecessary word in Chapter 3: saving-data.md (#5698) Co-authored-by: David Thyresson commit a7dff8283e6883fbcc85f70a9957d704c3dcfcdb Author: António Meireles Date: Tue Jun 7 14:50:34 2022 +0100 docs: yet another single byte typo squash (#5702) commit b6005c308853f4578cca5fe8ea2c98149372660a Author: craineum Date: Tue Jun 7 07:45:49 2022 -0400 Add example usage of useRegister and useErrorStyles (#5692) * 📝 Add documentation for custom input fields Covers use of `useRegister` and `useErrorStyles` * 👌 Implement PR feedback * 👌 A couple more PR feedback implementations commit 62d209e55e6d542bff83a3b423eeb4aa18c4921c Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Tue Jun 7 00:48:05 2022 +0000 chore(deps): update dependency @envelop/testing to v4.3.3 (#5690) Co-authored-by: Renovate Bot commit 6729c2937a512f39a3aa7394e19e018bcefa1fba Author: Jorge Venegas Date: Mon Jun 6 12:00:38 2022 -0700 Update contributing docs (#5685) * docs: remove broken URLs * docs: typo, update on description * docs: add missing packages * docs: add missing README * docs: add descriptions * Update packages/prerender/README.md Co-authored-by: David Price commit ca0bfe40e796bbf323388256a9cf5374de476b78 Author: Min ho Kim Date: Tue Jun 7 01:20:37 2022 +0900 Fix typos in docs (#5694) Co-authored-by: Daniel Choudhury commit d5ef5da2e756282e61dd4ba1f428bf60d9486371 Author: Leon <18523441+Leon-Sam@users.noreply.github.com> Date: Mon Jun 6 08:43:14 2022 -0400 Fix typo in ArticleCell code snippet of Tutorial 2 docs (#5695) commit 7b9c60ea6b7705cdaa58b984ee98522c55111e9b Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Sat Jun 4 02:40:18 2022 +0000 fix(deps): update dependency core-js to v3.22.8 (#5683) Co-authored-by: Renovate Bot commit 4cc4fd1567ee565e425227a137149ae579c42f16 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Fri Jun 3 23:18:20 2022 +0000 fix(deps): update dependency webpack-dev-server to v4.9.1 (#5684) Co-authored-by: Renovate Bot commit fd24d85674fa7ff69869f64102dcb05279a1f8ed Author: paikwiki Date: Sat Jun 4 02:34:57 2022 +0900 Fix typo (#5686) Co-authored-by: David Price commit 0604543c3f3b84014494ef8d47123bb9006becf5 Author: Andre Wruszczak Date: Fri Jun 3 19:20:52 2022 +0200 Add warning box for missing roles in authorization doc (#5611) * Add warning box for missing roles in authorization doc * Update docs/docs/tutorial/chapter4/authentication.md Co-authored-by: Peter Colapietro Co-authored-by: Peter Colapietro Co-authored-by: David Price commit dbc0989ef24b178783b0cfc521807533ed923372 Author: Jonas Oberschweiber Date: Thu Jun 2 17:25:34 2022 +0200 Fix dbAuth on AWS Lambda (#5474) * queryStringParameters can be null in AWS Lambda * Allow cookie to be capitalized * Make cookie vs. Cookie distinction once in DbAuthHandler * Extract header handling into separate function * Missed another semicolon... * Fix linter errors, add extractCookie in one more place Co-authored-by: Rob Cameron commit d348e50735f3149160fb380cd56a836d8f67a236 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Thu Jun 2 02:20:59 2022 +0000 fix(deps): update dependency @types/jest to v27.5.2 (#5681) Co-authored-by: Renovate Bot commit 422867cf7aa3e5bf3d8bc575bbebab2be518a9ce Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 1 22:05:29 2022 +0000 fix(deps): update dependency vscode-languageserver-textdocument to v1.0.5 (#5679) Co-authored-by: Renovate Bot commit 8b25fbc33c222e47bd465f1979d5059225604380 Author: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Date: Wed Jun 1 18:23:20 2022 +0000 chore(deps): update dependency @nhost/hasura-auth-js to v1.1.12 (#5677) Co-authored-by: Renovate Bot --- .eslintrc.js | 33 - __fixtures__/test-project/api/package.json | 4 +- .../test-project/api/src/functions/auth.ts | 6 +- __fixtures__/test-project/package.json | 2 +- __fixtures__/test-project/web/package.json | 8 +- docs/docs/a11y.md | 2 +- docs/docs/authentication.md | 2 +- docs/docs/connection-pooling.md | 2 +- docs/docs/contributing-overview.md | 10 +- docs/docs/contributing-walkthrough.md | 9 +- docs/docs/deploy/baremetal.md | 2 +- docs/docs/forms.md | 48 + docs/docs/graphql.md | 14 +- docs/docs/how-to/sending-emails.md | 2 +- docs/docs/how-to/supabase-auth.md | 2 +- .../project-configuration-dev-test-build.mdx | 2 +- docs/docs/testing.md | 4 +- docs/docs/tutorial/chapter1/file-structure.md | 2 +- docs/docs/tutorial/chapter1/prerequisites.md | 4 +- .../docs/tutorial/chapter2/getting-dynamic.md | 2 +- docs/docs/tutorial/chapter2/routing-params.md | 4 +- docs/docs/tutorial/chapter2/side-quest.md | 2 +- docs/docs/tutorial/chapter3/forms.md | 2 +- docs/docs/tutorial/chapter3/saving-data.md | 4 +- docs/docs/tutorial/chapter4/authentication.md | 27 +- docs/docs/tutorial/chapter4/deployment.md | 4 +- docs/docs/tutorial/chapter5/first-test.md | 2 +- docs/docs/tutorial/chapter6/comment-form.md | 4 +- .../tutorial/chapter6/multiple-comments.md | 8 + docs/docs/tutorial/chapter7/rbac.md | 4 +- docs/docs/tutorial/foreword.md | 45 + docs/docs/typescript.md | 2 +- docs/docusaurus.config.js | 1 + docs/package.json | 2 +- .../version-1.0/contributing-walkthrough.md | 3 +- docs/versioned_docs/version-1.0/deploy.md | 2 +- .../version-1.0/deploy/serverless.md | 2 +- docs/versioned_docs/version-1.0/graphql.md | 4 +- .../tutorial/chapter3/saving-data.md | 4 +- .../tutorial/chapter5/first-test.md | 2 +- .../tutorial/chapter6/comment-form.md | 2 +- .../tutorial/chapter6/multiple-comments.md | 2 +- .../version-1.0/tutorial/intermission.md | 2 +- docs/versioned_docs/version-1.1/a11y.md | 2 +- .../version-1.1/contributing-walkthrough.md | 3 +- .../version-1.1/deploy/serverless.md | 2 +- docs/versioned_docs/version-1.1/graphql.md | 4 +- .../tutorial/chapter1/prerequisites.md | 2 +- .../tutorial/chapter2/getting-dynamic.md | 2 +- .../version-1.1/tutorial/chapter3/forms.md | 2 +- .../tutorial/chapter3/saving-data.md | 2 +- .../tutorial/chapter6/comment-form.md | 2 +- .../tutorial/chapter6/multiple-comments.md | 2 +- .../version-1.1/tutorial/intermission.md | 2 +- docs/versioned_docs/version-1.2/a11y.md | 2 +- .../version-1.2/contributing-walkthrough.md | 3 +- docs/versioned_docs/version-1.2/forms.md | 2 +- docs/versioned_docs/version-1.2/graphql.md | 4 +- .../tutorial/chapter1/prerequisites.md | 2 +- .../tutorial/chapter2/getting-dynamic.md | 2 +- .../version-1.2/tutorial/chapter3/forms.md | 2 +- .../tutorial/chapter4/authentication.md | 2 +- .../version-1.2/tutorial/intermission.md | 2 +- docs/versioned_docs/version-1.3/a11y.md | 2 +- .../version-1.3/contributing-walkthrough.md | 3 +- docs/versioned_docs/version-1.3/graphql.md | 4 +- .../tutorial/chapter1/prerequisites.md | 2 +- .../tutorial/chapter2/getting-dynamic.md | 2 +- .../version-1.3/tutorial/chapter3/forms.md | 2 +- docs/versioned_docs/version-1.4/a11y.md | 2 +- .../version-1.4/contributing-walkthrough.md | 3 +- docs/versioned_docs/version-1.4/graphql.md | 4 +- .../tutorial/chapter1/prerequisites.md | 4 +- .../tutorial/chapter2/getting-dynamic.md | 2 +- .../version-1.4/tutorial/chapter3/forms.md | 2 +- .../tutorial/chapter6/comment-form.md | 4 +- .../version-1.4/tutorial/chapter7/rbac.md | 4 +- docs/versioned_docs/version-1.5/a11y.md | 2 +- .../version-1.5/contributing-walkthrough.md | 3 +- .../version-1.5/deploy/baremetal.md | 6 +- docs/versioned_docs/version-1.5/graphql.md | 4 +- .../tutorial/chapter1/prerequisites.md | 2 +- .../tutorial/chapter2/getting-dynamic.md | 2 +- .../tutorial/chapter2/routing-params.md | 6 +- .../tutorial/chapter2/side-quest.md | 2 +- .../version-1.5/tutorial/chapter3/forms.md | 2 +- .../tutorial/chapter6/multiple-comments.md | 8 + .../version-1.5/tutorial/foreword.md | 45 + docs/yarn.lock | 18 +- lerna.json | 2 +- package.json | 12 +- packages/api-server/package.json | 6 +- .../src/__tests__/logFormatter.test.ts | 27 + packages/api-server/src/logFormatter/index.ts | 29 +- packages/api/package.json | 14 +- packages/api/src/auth/decoders/auth0.ts | 2 +- .../api/src/functions/dbAuth/DbAuthHandler.ts | 16 +- packages/api/src/functions/dbAuth/shared.ts | 10 +- packages/auth/package.json | 10 +- packages/cli/README.md | 2 +- packages/cli/package.json | 20 +- .../__snapshots__/scaffold.test.js.snap | 40 +- .../__snapshots__/scaffoldNoNest.test.js.snap | 30 +- .../commands/generate/scaffold/scaffold.js | 2 +- .../components/EditNameCell.tsx.template | 2 +- .../templates/components/Name.tsx.template | 2 +- .../components/NameCell.tsx.template | 1 + .../templates/components/Names.tsx.template | 2 +- .../components/NamesCell.tsx.template | 2 +- .../templates/components/NewName.tsx.template | 3 +- .../__snapshots__/service.test.js.snap | 30 +- .../service/templates/service.ts.template | 3 +- packages/cli/src/commands/setup.js | 2 +- .../templates/dbAuth.function.ts.template | 6 +- packages/codemods/package.json | 6 +- .../v0.37.x/updateGraphQLFunction/README.md | 2 +- packages/core/package.json | 20 +- packages/create-redwood-app/package.json | 10 +- .../template/api/package.json | 4 +- .../template/api/src/functions/graphql.ts | 3 +- .../create-redwood-app/template/package.json | 2 +- .../template/web/package.json | 6 +- packages/eslint-config/package.json | 6 +- packages/eslint-config/shared.js | 33 + packages/forms/package.json | 6 +- packages/graphql-server/package.json | 18 +- .../graphql-server/src/functions/graphql.ts | 10 +- .../__tests__/useRedwoodLogger.test.ts | 25 +- .../src/plugins/useRedwoodLogger.ts | 16 +- packages/internal/package.json | 10 +- packages/prerender/README.md | 20 + packages/prerender/package.json | 16 +- packages/record/README.md | 2 +- packages/record/package.json | 10 +- packages/record/src/redwoodrecord/Core.js | 2 +- packages/router/package.json | 8 +- .../src/__tests__/route-announcer.test.tsx | 2 +- .../router/src/__tests__/route-focus.test.tsx | 2 +- packages/router/src/a11yUtils.ts | 52 + packages/router/src/active-route-loader.tsx | 3 +- packages/router/src/util.ts | 85 +- packages/structure/package.json | 14 +- packages/telemetry/package.json | 8 +- packages/testing/package.json | 30 +- packages/web/package.json | 10 +- yarn.lock | 1478 +++++++++-------- 146 files changed, 1488 insertions(+), 1186 deletions(-) create mode 100644 packages/prerender/README.md create mode 100644 packages/router/src/a11yUtils.ts diff --git a/.eslintrc.js b/.eslintrc.js index 0e7cb92fa6e4..699c3a42ec98 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -31,39 +31,6 @@ module.exports = { ], rules: { '@typescript-eslint/no-explicit-any': 'off', - 'import/order': [ - 'error', - { - 'newlines-between': 'always', - pathGroupsExcludedImportTypes: ['react'], - pathGroups: [ - { - pattern: 'react', - group: 'builtin', - position: 'after', - }, - { - pattern: '@redwoodjs/**', - group: 'external', - position: 'after', - }, - { - pattern: 'src/lib/test', - group: 'parent', - position: 'before', - }, - { - pattern: 'src/**', - group: 'parent', - position: 'before', - }, - ], - alphabetize: { - order: 'asc', - caseInsensitive: true, - }, - }, - ], curly: 'error', }, overrides: [ diff --git a/__fixtures__/test-project/api/package.json b/__fixtures__/test-project/api/package.json index ccd38df7afbd..477c923e20a3 100644 --- a/__fixtures__/test-project/api/package.json +++ b/__fixtures__/test-project/api/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "dependencies": { - "@redwoodjs/api": "1.5.1", - "@redwoodjs/graphql-server": "1.5.1" + "@redwoodjs/api": "1.5.2", + "@redwoodjs/graphql-server": "1.5.2" } } diff --git a/__fixtures__/test-project/api/src/functions/auth.ts b/__fixtures__/test-project/api/src/functions/auth.ts index 471f5a232bdb..8c8b2f2d11cf 100644 --- a/__fixtures__/test-project/api/src/functions/auth.ts +++ b/__fixtures__/test-project/api/src/functions/auth.ts @@ -64,14 +64,14 @@ export const handler = async (event, context) => { const resetPasswordOptions = { // handler() is invoked after the password has been successfully updated in - // the database. Returning anything truthy will automatically logs the user + // the database. Returning anything truthy will automatically log the user // in. Return `false` otherwise, and in the Reset Password page redirect the // user to the login page. handler: (user) => { return user }, - // If `false` then the new password MUST be different than the current one + // If `false` then the new password MUST be different from the current one allowReusedPassword: true, errors: { @@ -125,7 +125,7 @@ export const handler = async (event, context) => { db: db, // The name of the property you'd call on `db` to access your user table. - // ie. if your Prisma model is named `User` this value would be `user`, as in `db.user` + // i.e. if your Prisma model is named `User` this value would be `user`, as in `db.user` authModelAccessor: 'user', // A map of what dbAuth calls a field to what your database calls it. diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index 40def92fd63a..d90330f0f604 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -8,7 +8,7 @@ ] }, "devDependencies": { - "@redwoodjs/core": "1.5.1" + "@redwoodjs/core": "1.5.2" }, "eslintConfig": { "extends": "@redwoodjs/eslint-config", diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index 9946c47f392d..205a91ed6a1a 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -13,10 +13,10 @@ ] }, "dependencies": { - "@redwoodjs/auth": "1.5.1", - "@redwoodjs/forms": "1.5.1", - "@redwoodjs/router": "1.5.1", - "@redwoodjs/web": "1.5.1", + "@redwoodjs/auth": "1.5.2", + "@redwoodjs/forms": "1.5.2", + "@redwoodjs/router": "1.5.2", + "@redwoodjs/web": "1.5.2", "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2" diff --git a/docs/docs/a11y.md b/docs/docs/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/docs/a11y.md +++ b/docs/docs/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
- +
diff --git a/docs/docs/authentication.md b/docs/docs/authentication.md index 64b97bc5c40c..8f38daafb5c0 100644 --- a/docs/docs/authentication.md +++ b/docs/docs/authentication.md @@ -100,7 +100,7 @@ Read the post-install instructions carefully as they contain instructions for ad > > Need simple Login, Signup and Forgot Password pages? Of course we have a generator for those: > -> yarn rw generate dbAuth +> yarn rw generate dbAuth Note that if you change the fields named `hashedPassword` and `salt`, and you have some verbose logging in your app, you'll want to scrub those fields from appearing in your logs. See the [Redaction](logger.md#redaction) docs for info. diff --git a/docs/docs/connection-pooling.md b/docs/docs/connection-pooling.md index a6bcbed12075..7b78bad546c0 100644 --- a/docs/docs/connection-pooling.md +++ b/docs/docs/connection-pooling.md @@ -24,7 +24,7 @@ To use Prisma Client with PgBouncer from a serverless function, add the `?pgboun postgresql://USER:PASSWORD@HOST:PORT/DATABASE?pgbouncer=true ``` -Typically, your PgBouncer port will be 6543 which is different than the Postgres default of 5432. +Typically, your PgBouncer port will be 6543 which is different from the Postgres default of 5432. > Note that since Prisma Migrate uses database transactions to check out the current state of the database and the migrations table, if you attempt to run Prisma Migrate commands in any environment that uses PgBouncer for connection pooling, you might see an error. > diff --git a/docs/docs/contributing-overview.md b/docs/docs/contributing-overview.md index d8b79e00c341..ad656540981d 100644 --- a/docs/docs/contributing-overview.md +++ b/docs/docs/contributing-overview.md @@ -88,20 +88,22 @@ What you want to do not on the roadmap? Well, still go for it! We love spikes an ### RedwoodJS Framework Packages |Package|Description| |:-|:-| -|[`@redwoodjs/api-server`](https://github.com/redwoodjs/redwood/blob/main/packages/api-server/README.md)|Run a Redwood app using Express server (alternative to serverless API)| -|[`@redwoodjs/api`](https://github.com/redwoodjs/redwood/blob/main/packages/api/README.md)|Infrastruction components for your applications UI including logging, webhooks, authentication decoders and parsers, as well as tools to test custom serverless functions and webhooks| +|[`@redwoodjs/api-server`](https://github.com/redwoodjs/redwood/blob/main/packages/api-server/README.md)|Run a Redwood app using Fastify server (alternative to serverless API)| +|[`@redwoodjs/api`](https://github.com/redwoodjs/redwood/blob/main/packages/api/README.md)|Infrastructure components for your applications UI including logging, webhooks, authentication decoders and parsers, as well as tools to test custom serverless functions and webhooks| |[`@redwoodjs/auth`](https://github.com/redwoodjs/redwood/blob/main/packages/auth/README.md#contributing)|A lightweight wrapper around popular SPA authentication libraries| |[`@redwoodjs/cli`](https://github.com/redwoodjs/redwood/blob/main/packages/cli/README.md)|All the commands for Redwood's built-in CLI| +|[`@redwoodjs/codemods`](https://github.com/redwoodjs/redwood/blob/main/packages/codemods/README.md)|Codemods that automate upgrading a Redwood project| |[`@redwoodjs/core`](https://github.com/redwoodjs/redwood/blob/main/packages/core/README.md)|Defines babel plugins and config files| |[`@redwoodjs/create-redwood-app`](https://github.com/redwoodjs/redwood/blob/main/packages/create-redwood-app/README.md)|Enables `yarn create redwood-app`—downloads the latest release of Redwood and extracts it into the supplied directory| -|[`@redwoodjs/dev-server`](https://github.com/redwoodjs/redwood/blob/main/packages/dev-server/README.md)|Configuration for the local development server| |[`@redwoodjs/eslint-config`](https://github.com/redwoodjs/redwood/blob/main/packages/eslint-config/README.md)|Defines Redwood's eslint config| -|[`@redwoodjs/eslint-plugin-redwood`](https://github.com/redwoodjs/redwood/blob/main/packages/eslint-plugin-redwood/README.md)|Defines eslint plugins; currently just prohibits the use of non-existent pages in `Routes.js`| |[`@redwoodjs/forms`](https://github.com/redwoodjs/redwood/blob/main/packages/forms/README.md)|Provides Form helpers| |[`@redwoodjs/graphql-server`](https://github.com/redwoodjs/redwood/blob/main/packages/graphql-server/README.md)|Exposes functions to build the GraphQL API, provides services with `context`, and a set of envelop plugins to supercharge your GraphQL API with logging, authentication, error handling, directives and more| |[`@redwoodjs/internal`](https://github.com/redwoodjs/redwood/blob/main/packages/internal/README.md)|Provides tooling to parse Redwood configs and get a project's paths| +|[`@redwoodjs/prerender`](https://github.com/redwoodjs/redwood/blob/main/packages/prerender/README.md)|Defines functionality for prerendering static content| +|[`@redwoodjs/record`](https://github.com/redwoodjs/redwood/blob/main/packages/record/README.md)|ORM built on top of Prisma. It may be extended in the future to wrap other database access packages| |[`@redwoodjs/router`](https://github.com/redwoodjs/redwood/blob/main/packages/router/README.md)|The built-in router for Redwood| |[`@redwoodjs/structure`](https://github.com/redwoodjs/redwood/blob/main/packages/structure/README.md)|Provides a way to build, validate and inspect an object graph that represents a complete Redwood project| +|[`@redwoodjs/telemetry`](https://github.com/redwoodjs/redwood/blob/main/packages/telemetry/README.md)|Provides functionality for anonymous data collection| |[`@redwoodjs/testing`](https://github.com/redwoodjs/redwood/blob/main/packages/testing/README.md)|Provides helpful defaults when testing a Redwood project's web side| |[`@redwoodjs/web`](https://github.com/redwoodjs/redwood/blob/main/packages/web/README.md)|Configures a Redwood's app web side: wraps the Apollo Client in `RedwoodApolloProvider`; defines the Cell HOC| diff --git a/docs/docs/contributing-walkthrough.md b/docs/docs/contributing-walkthrough.md index 9f3e7b00b148..2c215e757612 100644 --- a/docs/docs/contributing-walkthrough.md +++ b/docs/docs/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) @@ -71,11 +70,11 @@ This has quickly become the de facto editor for JavaScript and TypeScript. Addit **GitHub Desktop** [Download GitHub Desktop](https://desktop.github.com) -You’ll need to be comfortable using Git at the command line. But the thing ew like best about GitHub Desktop is how easy it makes workflow across GitHub -- GitHub Desktop -- VS Code. You don’t have to worry about syncing permissions or finding things. You can start from a repo on GitHub.com and use Desktop to do everything from “clone and open on your computer” to returning back to the site to “open a PR on GitHub”. +You’ll need to be comfortable using Git at the command line. But the thing we like best about GitHub Desktop is how easy it makes workflow across GitHub -- GitHub Desktop -- VS Code. You don’t have to worry about syncing permissions or finding things. You can start from a repo on GitHub.com and use Desktop to do everything from “clone and open on your computer” to returning back to the site to “open a PR on GitHub”. **[Mac OS] iTerm and Oh-My-Zsh** -There’s nothing wrong with Terminal (on Mac) and bash. (If you’re on Windows, we highly recommend using Git for Windows and Git bash.) But we enjoy using iTerm ([download](https://iterm2.com)) and Zsh much more (use [Oh My Zsh](https://ohmyz.sh)). Heads up, you can get lost in the world of theming and adding plugins. We recommend keeping it simple for awhile before taking the customization deep dive -😉 +There’s nothing wrong with Terminal (on Mac) and plain zsh or bash. (If you’re on Windows, we highly recommend using Git for Windows and Git bash.) But we enjoy using iTerm2 ([download](https://iterm2.com)) and zsh much more (combined with [Oh My Zsh](https://ohmyz.sh)). Heads up, you can get lost in the world of theming and adding plugins. We recommend keeping it simple for awhile before taking the customization deep dive +😉. **[Windows] Git for Windows with Git Bash or WSL(2)** Unfortunately, there are a lot of “gotchas” when it comes to working with Javascript-based frameworks on Windows. We do our best to point out (and resolve) issues, but our priority focus is on developing a Redwood app vs contributing to the Framework. (If you’re interested, there’s a lengthy Forum conversation about this with many suggestions.) diff --git a/docs/docs/deploy/baremetal.md b/docs/docs/deploy/baremetal.md index 6cbd5d06e7b9..63046a6c3a2a 100644 --- a/docs/docs/deploy/baremetal.md +++ b/docs/docs/deploy/baremetal.md @@ -470,7 +470,7 @@ host = 'server.com' # ... ``` -Server specific commands are defined with a `before.command` and `after.commmand` key directly in your server config: +Server specific commands are defined with a `before.command` and `after.command` key directly in your server config: ```toml [[production.servers]] diff --git a/docs/docs/forms.md b/docs/docs/forms.md index 6eae1a2fcd31..e9e8d18b14ce 100644 --- a/docs/docs/forms.md +++ b/docs/docs/forms.md @@ -335,6 +335,54 @@ For example: ``` will return `undefined` if the field is empty. +### Custom Input Fields + +You can create a custom field that integrates with Redwood through the use of Redwood's `useRegister` and `useErrorStyles` hooks. Each of these serving a different purpose depending on what you are trying to build. + +`useRegister` registers the field with react-hook-form and is a wrapper for [`register`](https://react-hook-form.com/api/useform/register). + +`useErrorStyles` sets up error styling for your custom input field. + +Using these two together you can create custom input fields that replicate a Redwood input field while also allowing for custom domain logic. + +In the following example we have an all-in-one custom required input field with label, input, and error display. + +```jsx +import { FieldError, useErrorStyles, useRegister } from '@redwoodjs/forms' + +const RequiredField = ({ label, name, validation }) => { + const register = useRegister({ + name, + validation: {...validation, required: true} + }) + + const { className: labelClassName, style: labelStyle } = useErrorStyles({ + className: `my-label-class`, + errorClassName: `my-label-error-class`, + name, + }) + + const { className: inputClassName, style: inputStyle } = useErrorStyles({ + className: `my-input-class`, + errorClassName: `my-input-error-class`, + name, + }) + + return ( + <> + + + + + ) +} +``` + ## `` Renders an HTML ` + +
+ + +
+ + + +) + diff --git a/docs/docs/typescript.md b/docs/docs/typescript.md index cff72cd0963c..8f031546d173 100644 --- a/docs/docs/typescript.md +++ b/docs/docs/typescript.md @@ -17,7 +17,7 @@ yarn create redwood-app my-redwood-app --typescript ## Converting a JavaScript Project to TypeScript Started your project in JavaScript but want to switch to TypeScript? -Start by using the tsconfig setup command: +Start by using the `tsconfig` setup command: ``` yarn rw setup tsconfig diff --git a/docs/docusaurus.config.js b/docs/docusaurus.config.js index 00c9d5f00751..3a55b2a5d416 100644 --- a/docs/docusaurus.config.js +++ b/docs/docusaurus.config.js @@ -115,6 +115,7 @@ const config = { sidebarPath: require.resolve('./sidebars.js'), // ? — blob? tree? editUrl: 'https://github.com/redwoodjs/redwood/blob/main/docs', // base path for repo edit pages + editCurrentVersion: true, remarkPlugins: [autoImportTabs, fileExtSwitcher], versions: { current: { diff --git a/docs/package.json b/docs/package.json index 1076dbb3b4b2..a73cc6552fbe 100644 --- a/docs/package.json +++ b/docs/package.json @@ -36,6 +36,6 @@ "devDependencies": { "@docusaurus/module-type-aliases": "2.0.0-beta.21", "@tsconfig/docusaurus": "1.0.5", - "typescript": "4.7.2" + "typescript": "4.7.3" } } diff --git a/docs/versioned_docs/version-1.0/contributing-walkthrough.md b/docs/versioned_docs/version-1.0/contributing-walkthrough.md index 5c38570314f5..e0e186ea0768 100644 --- a/docs/versioned_docs/version-1.0/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.0/contributing-walkthrough.md @@ -21,8 +21,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.0/deploy.md b/docs/versioned_docs/version-1.0/deploy.md index f693bc4e1fbb..069ce759828c 100644 --- a/docs/versioned_docs/version-1.0/deploy.md +++ b/docs/versioned_docs/version-1.0/deploy.md @@ -209,7 +209,7 @@ There are even more places you can get environment variables from, check out Ser > **Note:** > Serverless Dashboard CI/CD does not support projects structured like Redwood, although they're working on it. For CD, you'll need to use something like GitHub Actions. > -> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless acount within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. +> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless account within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. To integrate your site into the Serverless Dashboard, there are two ways: diff --git a/docs/versioned_docs/version-1.0/deploy/serverless.md b/docs/versioned_docs/version-1.0/deploy/serverless.md index bd66a0b17fdf..eb9eaec88048 100644 --- a/docs/versioned_docs/version-1.0/deploy/serverless.md +++ b/docs/versioned_docs/version-1.0/deploy/serverless.md @@ -68,7 +68,7 @@ There are even more places you can get environment variables from, check out Ser > **Note:** > Serverless Dashboard CI/CD does not support projects structured like Redwood, although they're working on it. For CD, you'll need to use something like GitHub Actions. > -> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless acount within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. +> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless account within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. To integrate your site into the Serverless Dashboard, there are two ways: diff --git a/docs/versioned_docs/version-1.0/graphql.md b/docs/versioned_docs/version-1.0/graphql.md index 2090f9bee9ec..0e736736f39a 100644 --- a/docs/versioned_docs/version-1.0/graphql.md +++ b/docs/versioned_docs/version-1.0/graphql.md @@ -149,7 +149,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```javascript // api/src/services/user/user.js @@ -299,7 +299,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
- +
- todo diff --git a/docs/versioned_docs/version-1.0/tutorial/chapter3/saving-data.md b/docs/versioned_docs/version-1.0/tutorial/chapter3/saving-data.md index 40831763e8a6..286c6f9577c2 100644 --- a/docs/versioned_docs/version-1.0/tutorial/chapter3/saving-data.md +++ b/docs/versioned_docs/version-1.0/tutorial/chapter3/saving-data.md @@ -767,7 +767,7 @@ We get that error message at the top saying something went wrong in plain Englis > - `listStyle` / `listClassName`: the `
    ` that contains the list of errors > - `listItemStyle` / `listItemClassName`: each individual `
  • ` around each error -This just scratches the service of what Service Validations can do. You can perform more complex validations, including combining multiple directives in a single call. What if we had a model representing a `Car`, and users could submit them to us for sale on our exclusive car shopping site. How do we make sure we only get the cream of the crop of motorized vehicles? Sevice validations would allow us to be very particular about the values someone would be allowed to submit, all without any custom checks, just built-in `validate()` calls: +This just scratches the service of what Service Validations can do. You can perform more complex validations, including combining multiple directives in a single call. What if we had a model representing a `Car`, and users could submit them to us for sale on our exclusive car shopping site. How do we make sure we only get the cream of the crop of motorized vehicles? Service validations would allow us to be very particular about the values someone would be allowed to submit, all without any custom checks, just built-in `validate()` calls: ```javascript export const createCar = ({ input }) => { @@ -792,7 +792,7 @@ export const createCar = ({ input }) => { } ``` -You can still include your own custom valiation logic and have the errors handled in the same manner as the built-in validations: +You can still include your own custom validation logic and have the errors handled in the same manner as the built-in validations: ```javascript validateWith(() => { diff --git a/docs/versioned_docs/version-1.0/tutorial/chapter5/first-test.md b/docs/versioned_docs/version-1.0/tutorial/chapter5/first-test.md index 4a6102658ef6..adfd1234a98e 100644 --- a/docs/versioned_docs/version-1.0/tutorial/chapter5/first-test.md +++ b/docs/versioned_docs/version-1.0/tutorial/chapter5/first-test.md @@ -194,7 +194,7 @@ export const success = () => { export default { title: 'Cells/BlogPostsCell' } ``` -Some folks find this syntax a little *too* succinct and would rather see the `` component being invoked the same way it is in their actual code. If that sounds like you, skip the spread syntax and just call the `articles` property on `standard()` the old fashoined way: +Some folks find this syntax a little *too* succinct and would rather see the `` component being invoked the same way it is in their actual code. If that sounds like you, skip the spread syntax and just call the `articles` property on `standard()` the old fashioned way: ```jsx import { Success } from './BlogPostsCell' diff --git a/docs/versioned_docs/version-1.0/tutorial/chapter6/comment-form.md b/docs/versioned_docs/version-1.0/tutorial/chapter6/comment-form.md index 4db195f9bdb5..f9c48103df5d 100644 --- a/docs/versioned_docs/version-1.0/tutorial/chapter6/comment-form.md +++ b/docs/versioned_docs/version-1.0/tutorial/chapter6/comment-form.md @@ -736,7 +736,7 @@ export const standard = defineScenario({ }) ``` -Each scenario here is associated with its own post, so rather than counting all the comments in the database (like the test does now) let's only count the number of comments attached to the single post we're getting commnents for (we're passing the postId into the `comments()` call now). Let's see what it looks like in test form: +Each scenario here is associated with its own post, so rather than counting all the comments in the database (like the test does now) let's only count the number of comments attached to the single post we're getting comments for (we're passing the postId into the `comments()` call now). Let's see what it looks like in test form: ```javascript title="api/src/services/comments/comments.test.js" import { comments, createComment } from './comments' diff --git a/docs/versioned_docs/version-1.0/tutorial/chapter6/multiple-comments.md b/docs/versioned_docs/version-1.0/tutorial/chapter6/multiple-comments.md index 10d6b200110c..9c47f7350ab9 100644 --- a/docs/versioned_docs/version-1.0/tutorial/chapter6/multiple-comments.md +++ b/docs/versioned_docs/version-1.0/tutorial/chapter6/multiple-comments.md @@ -284,7 +284,7 @@ describe('CommentsCell', () => { ``` -We're looping through each `comment` from the mock, the same mock used by Storybook, so that even if we add more later, we're covered. You may find youself writing a test and saying "just test that there are 3 comments," which will work today, but months from now when you add more comments to the mock to try some different iterations in Storybook, that test will start failing. Avoid hardcoding data like this into your test when you can derive it from your mocked data! +We're looping through each `comment` from the mock, the same mock used by Storybook, so that even if we add more later, we're covered. You may find yourself writing a test and saying "just test that there are 3 comments," which will work today, but months from now when you add more comments to the mock to try some different iterations in Storybook, that test will start failing. Avoid hardcoding data like this into your test when you can derive it from your mocked data! #### Testing Article diff --git a/docs/versioned_docs/version-1.0/tutorial/intermission.md b/docs/versioned_docs/version-1.0/tutorial/intermission.md index 372de7d8135e..aa45b4dd9ced 100644 --- a/docs/versioned_docs/version-1.0/tutorial/intermission.md +++ b/docs/versioned_docs/version-1.0/tutorial/intermission.md @@ -22,7 +22,7 @@ yarn rw setup ui tailwindcss However, none of the screenshots that follow will come anywhere close to what you're seeing in your browser (except for those isolated components you build in Storybook) so you may want to just start with the [example repo](https://github.com/redwoodjs/redwood-tutorial). You'll also be missing out on a good starting test suite that we've added! -If you're *still* set on continuting with your own repo, and you deployed to a service like Netlify, you would have changed database the provider in `schema.prisma` to `postgres`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). +If you're *still* set on continuing with your own repo, and you deployed to a service like Netlify, you would have changed database the provider in `schema.prisma` to `postgres`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). Once you're ready, start up the dev server with your repor: diff --git a/docs/versioned_docs/version-1.1/a11y.md b/docs/versioned_docs/version-1.1/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/versioned_docs/version-1.1/a11y.md +++ b/docs/versioned_docs/version-1.1/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
    - +
    diff --git a/docs/versioned_docs/version-1.1/contributing-walkthrough.md b/docs/versioned_docs/version-1.1/contributing-walkthrough.md index 9f3e7b00b148..c30b51a6fd3a 100644 --- a/docs/versioned_docs/version-1.1/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.1/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.1/deploy/serverless.md b/docs/versioned_docs/version-1.1/deploy/serverless.md index bd66a0b17fdf..eb9eaec88048 100644 --- a/docs/versioned_docs/version-1.1/deploy/serverless.md +++ b/docs/versioned_docs/version-1.1/deploy/serverless.md @@ -68,7 +68,7 @@ There are even more places you can get environment variables from, check out Ser > **Note:** > Serverless Dashboard CI/CD does not support projects structured like Redwood, although they're working on it. For CD, you'll need to use something like GitHub Actions. > -> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless acount within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. +> It can still be worthwhile to integrate your project with Serverless Dashboard — you'll have features like deploy logs and monitoring, analytics, secret management, and AWS account integration. You can also [authenticate into your Serverless account within a CI context](https://www.serverless.com/framework/docs/guides/cicd/running-in-your-own-cicd). Just remember that if you do use the Dashboard to manage secrets, you'll need to use the `${param:VAR_NAME}` syntax. To integrate your site into the Serverless Dashboard, there are two ways: diff --git a/docs/versioned_docs/version-1.1/graphql.md b/docs/versioned_docs/version-1.1/graphql.md index bb71a596f806..17c61438ffd6 100644 --- a/docs/versioned_docs/version-1.1/graphql.md +++ b/docs/versioned_docs/version-1.1/graphql.md @@ -148,7 +148,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```jsx title="api/src/services/user/user.js" import { db } from 'src/lib/db' @@ -292,7 +292,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
    - +
    - todo diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter1/prerequisites.md b/docs/versioned_docs/version-1.1/tutorial/chapter1/prerequisites.md index efae3a89ecb7..8dae984d4a82 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter1/prerequisites.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter1/prerequisites.md @@ -1,7 +1,7 @@ # Prerequisites
    - +
    Redwood is composed of several popular libraries to make full-stack web development easier. Unfortunately, we can't teach all of those technologies from scratch during this tutorial, so we're going to assume you are already familiar with a few core concepts: diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter2/getting-dynamic.md b/docs/versioned_docs/version-1.1/tutorial/chapter2/getting-dynamic.md index 4d011065a227..022173c11dad 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter2/getting-dynamic.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter2/getting-dynamic.md @@ -1,7 +1,7 @@ # Getting Dynamic
    - +
    These two pages are great and all but where are the actual blog posts in this blog? Let's work on those next. diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter3/forms.md b/docs/versioned_docs/version-1.1/tutorial/chapter3/forms.md index 3b9912076c39..a7bdf0ddaa52 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter3/forms.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter3/forms.md @@ -1,7 +1,7 @@ # Building a Form
    - +
    Wait, don't close your browser! You had to know this was coming eventually, didn't you? And you've probably realized by now we wouldn't even have this section in the tutorial unless Redwood had figured out a way to make forms less soul-sucking than usual. In fact, Redwood might even make you _love_ building forms. diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter3/saving-data.md b/docs/versioned_docs/version-1.1/tutorial/chapter3/saving-data.md index 31dfa7b8365f..956b25304776 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter3/saving-data.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter3/saving-data.md @@ -792,7 +792,7 @@ We get that error message at the top saying something went wrong in plain Englis > - `listStyle` / `listClassName`: the `
      ` that contains the list of errors > - `listItemStyle` / `listItemClassName`: each individual `
    • ` around each error -This just scratches the surface of what Service Validations can do. You can perform more complex validations, including combining multiple directives in a single call. What if we had a model representing a `Car`, and users could submit them to us for sale on our exclusive car shopping site. How do we make sure we only get the cream of the crop of motorized vehicles? Sevice validations would allow us to be very particular about the values someone would be allowed to submit, all without any custom checks, just built-in `validate()` calls: +This just scratches the surface of what Service Validations can do. You can perform more complex validations, including combining multiple directives in a single call. What if we had a model representing a `Car`, and users could submit them to us for sale on our exclusive car shopping site. How do we make sure we only get the cream of the crop of motorized vehicles? Service validations would allow us to be very particular about the values someone would be allowed to submit, all without any custom checks, just built-in `validate()` calls: ```js export const createCar = ({ input }) => { diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter6/comment-form.md b/docs/versioned_docs/version-1.1/tutorial/chapter6/comment-form.md index f6f0c3d47ff4..55e58648ce1e 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter6/comment-form.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter6/comment-form.md @@ -736,7 +736,7 @@ export const standard = defineScenario({ }) ``` -Each scenario here is associated with its own post, so rather than counting all the comments in the database (like the test does now) let's only count the number of comments attached to the single post we're getting commnents for (we're passing the postId into the `comments()` call now). Let's see what it looks like in test form: +Each scenario here is associated with its own post, so rather than counting all the comments in the database (like the test does now) let's only count the number of comments attached to the single post we're getting comments for (we're passing the postId into the `comments()` call now). Let's see what it looks like in test form: ```jsx title="api/src/services/comments/comments.test.js" import { comments, createComment } from './comments' diff --git a/docs/versioned_docs/version-1.1/tutorial/chapter6/multiple-comments.md b/docs/versioned_docs/version-1.1/tutorial/chapter6/multiple-comments.md index f8e791d244e5..b5d3f707473e 100644 --- a/docs/versioned_docs/version-1.1/tutorial/chapter6/multiple-comments.md +++ b/docs/versioned_docs/version-1.1/tutorial/chapter6/multiple-comments.md @@ -284,7 +284,7 @@ describe('CommentsCell', () => { ``` -We're looping through each `comment` from the mock, the same mock used by Storybook, so that even if we add more later, we're covered. You may find youself writing a test and saying "just test that there are 3 comments," which will work today, but months from now when you add more comments to the mock to try some different iterations in Storybook, that test will start failing. Avoid hardcoding data like this into your test when you can derive it from your mocked data! +We're looping through each `comment` from the mock, the same mock used by Storybook, so that even if we add more later, we're covered. You may find yourself writing a test and saying "just test that there are 3 comments," which will work today, but months from now when you add more comments to the mock to try some different iterations in Storybook, that test will start failing. Avoid hardcoding data like this into your test when you can derive it from your mocked data! #### Testing Article diff --git a/docs/versioned_docs/version-1.1/tutorial/intermission.md b/docs/versioned_docs/version-1.1/tutorial/intermission.md index ca806bff4dde..f4ae6dc8cb3f 100644 --- a/docs/versioned_docs/version-1.1/tutorial/intermission.md +++ b/docs/versioned_docs/version-1.1/tutorial/intermission.md @@ -22,7 +22,7 @@ yarn rw setup ui tailwindcss However, none of the screenshots that follow will come anywhere close to what you're seeing in your browser (except for those isolated components you build in Storybook) so you may want to just start with the [example repo](https://github.com/redwoodjs/redwood-tutorial). You'll also be missing out on a good starting test suite that we've added! -If you're *still* set on continuting with your own repo, and you deployed to a service like Netlify, you would have changed the database provider in `schema.prisma` to `postgresql`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). +If you're *still* set on continuing with your own repo, and you deployed to a service like Netlify, you would have changed the database provider in `schema.prisma` to `postgresql`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). Once you're ready, start up the dev server: diff --git a/docs/versioned_docs/version-1.2/a11y.md b/docs/versioned_docs/version-1.2/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/versioned_docs/version-1.2/a11y.md +++ b/docs/versioned_docs/version-1.2/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
      - +
      diff --git a/docs/versioned_docs/version-1.2/contributing-walkthrough.md b/docs/versioned_docs/version-1.2/contributing-walkthrough.md index 9f3e7b00b148..c30b51a6fd3a 100644 --- a/docs/versioned_docs/version-1.2/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.2/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.2/forms.md b/docs/versioned_docs/version-1.2/forms.md index fccd40ea652b..6eae1a2fcd31 100644 --- a/docs/versioned_docs/version-1.2/forms.md +++ b/docs/versioned_docs/version-1.2/forms.md @@ -321,7 +321,7 @@ The treatment of empty field values is governed by the following: ### emptyAs prop -The `emptyAs` prop allows the user to overide the default value for an input field if the field is empty. Provided that a `setValueAs` prop is not specified, Redwood will allow you to override the default empty value returned. +The `emptyAs` prop allows the user to override the default value for an input field if the field is empty. Provided that a `setValueAs` prop is not specified, Redwood will allow you to override the default empty value returned. The possible values for `emptyAs` are: - `null` - `'undefined'` diff --git a/docs/versioned_docs/version-1.2/graphql.md b/docs/versioned_docs/version-1.2/graphql.md index bb71a596f806..17c61438ffd6 100644 --- a/docs/versioned_docs/version-1.2/graphql.md +++ b/docs/versioned_docs/version-1.2/graphql.md @@ -148,7 +148,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```jsx title="api/src/services/user/user.js" import { db } from 'src/lib/db' @@ -292,7 +292,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
      - +
      - todo diff --git a/docs/versioned_docs/version-1.2/tutorial/chapter1/prerequisites.md b/docs/versioned_docs/version-1.2/tutorial/chapter1/prerequisites.md index 8dae52f9f9c8..69e0528308ac 100644 --- a/docs/versioned_docs/version-1.2/tutorial/chapter1/prerequisites.md +++ b/docs/versioned_docs/version-1.2/tutorial/chapter1/prerequisites.md @@ -1,7 +1,7 @@ # Prerequisites
      - +
      Redwood is composed of several popular libraries to make full-stack web development easier. Unfortunately, we can't teach all of those technologies from scratch during this tutorial, so we're going to assume you are already familiar with a few core concepts: diff --git a/docs/versioned_docs/version-1.2/tutorial/chapter2/getting-dynamic.md b/docs/versioned_docs/version-1.2/tutorial/chapter2/getting-dynamic.md index eabf2eda0f06..31a08ccf647c 100644 --- a/docs/versioned_docs/version-1.2/tutorial/chapter2/getting-dynamic.md +++ b/docs/versioned_docs/version-1.2/tutorial/chapter2/getting-dynamic.md @@ -1,7 +1,7 @@ # Getting Dynamic
      - +
      These two pages are great and all but where are the actual blog posts in this blog? Let's work on those next. diff --git a/docs/versioned_docs/version-1.2/tutorial/chapter3/forms.md b/docs/versioned_docs/version-1.2/tutorial/chapter3/forms.md index 389e334982e9..46865d5b8675 100644 --- a/docs/versioned_docs/version-1.2/tutorial/chapter3/forms.md +++ b/docs/versioned_docs/version-1.2/tutorial/chapter3/forms.md @@ -1,7 +1,7 @@ # Building a Form
      - +
      Wait, don't close your browser! You had to know this was coming eventually, didn't you? And you've probably realized by now we wouldn't even have this section in the tutorial unless Redwood had figured out a way to make forms less soul-sucking than usual. In fact, Redwood might even make you _love_ building forms. diff --git a/docs/versioned_docs/version-1.2/tutorial/chapter4/authentication.md b/docs/versioned_docs/version-1.2/tutorial/chapter4/authentication.md index 14ba406c7474..4d9fe1aaa32d 100644 --- a/docs/versioned_docs/version-1.2/tutorial/chapter4/authentication.md +++ b/docs/versioned_docs/version-1.2/tutorial/chapter4/authentication.md @@ -495,7 +495,7 @@ Before we leave this file, take a look at `requireAuth()`. Remember when we talk ## Session Secret -After the initial `setup` command, which installed dbAuth, you may have noticed that an edit was made to the `.env` file in the root of your project. The `setup` script appened a new ENV var called `SESSION_SECRET` along with a big random string of numbers and letters. This is the encryption key for the cookies that are stored in the user's browser when they log in. This secret should never be shared, never checked into your repo, and should be re-generated for each environment you deploy to. +After the initial `setup` command, which installed dbAuth, you may have noticed that an edit was made to the `.env` file in the root of your project. The `setup` script appended a new ENV var called `SESSION_SECRET` along with a big random string of numbers and letters. This is the encryption key for the cookies that are stored in the user's browser when they log in. This secret should never be shared, never checked into your repo, and should be re-generated for each environment you deploy to. You can generate a new value with the `yarn rw g secret` command. It only outputs it to the terminal, you'll need to copy/paste to your `.env` file. Note that if you change this secret in a production environment, all users will be logged out on their next request because the cookie they currently have cannot be decrypted with the new key! They'll need to log in again to a new cookie encrypted with the new key. diff --git a/docs/versioned_docs/version-1.2/tutorial/intermission.md b/docs/versioned_docs/version-1.2/tutorial/intermission.md index da136f6f9098..2850e39f2d55 100644 --- a/docs/versioned_docs/version-1.2/tutorial/intermission.md +++ b/docs/versioned_docs/version-1.2/tutorial/intermission.md @@ -22,7 +22,7 @@ yarn rw setup ui tailwindcss However, none of the screenshots that follow will come anywhere close to what you're seeing in your browser (except for those isolated components you build in Storybook) so you may want to just start with the [example repo](https://github.com/redwoodjs/redwood-tutorial). You'll also be missing out on a good starting test suite that we've added! -If you're *still* set on continuting with your own repo, and you deployed to a service like Netlify, you would have changed the database provider in `schema.prisma` to `postgresql`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). +If you're *still* set on continuing with your own repo, and you deployed to a service like Netlify, you would have changed the database provider in `schema.prisma` to `postgresql`. If that's the case then make sure your local development environment has changed over as well. Check out the [Local Postgres Setup](../local-postgres-setup.md) for assistance. If you stick with the [example repo](https://github.com/redwoodjs/redwood-tutorial) instead, you can go ahead good ol' SQLite (what we were using locally to build everything in the first half). Once you're ready, start up the dev server: diff --git a/docs/versioned_docs/version-1.3/a11y.md b/docs/versioned_docs/version-1.3/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/versioned_docs/version-1.3/a11y.md +++ b/docs/versioned_docs/version-1.3/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
      - +
      diff --git a/docs/versioned_docs/version-1.3/contributing-walkthrough.md b/docs/versioned_docs/version-1.3/contributing-walkthrough.md index 9f3e7b00b148..c30b51a6fd3a 100644 --- a/docs/versioned_docs/version-1.3/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.3/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.3/graphql.md b/docs/versioned_docs/version-1.3/graphql.md index bb71a596f806..17c61438ffd6 100644 --- a/docs/versioned_docs/version-1.3/graphql.md +++ b/docs/versioned_docs/version-1.3/graphql.md @@ -148,7 +148,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```jsx title="api/src/services/user/user.js" import { db } from 'src/lib/db' @@ -292,7 +292,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
      - +
      - todo diff --git a/docs/versioned_docs/version-1.3/tutorial/chapter1/prerequisites.md b/docs/versioned_docs/version-1.3/tutorial/chapter1/prerequisites.md index 8dae52f9f9c8..69e0528308ac 100644 --- a/docs/versioned_docs/version-1.3/tutorial/chapter1/prerequisites.md +++ b/docs/versioned_docs/version-1.3/tutorial/chapter1/prerequisites.md @@ -1,7 +1,7 @@ # Prerequisites
      - +
      Redwood is composed of several popular libraries to make full-stack web development easier. Unfortunately, we can't teach all of those technologies from scratch during this tutorial, so we're going to assume you are already familiar with a few core concepts: diff --git a/docs/versioned_docs/version-1.3/tutorial/chapter2/getting-dynamic.md b/docs/versioned_docs/version-1.3/tutorial/chapter2/getting-dynamic.md index dd9a58e987df..2eb37c9927e0 100644 --- a/docs/versioned_docs/version-1.3/tutorial/chapter2/getting-dynamic.md +++ b/docs/versioned_docs/version-1.3/tutorial/chapter2/getting-dynamic.md @@ -1,7 +1,7 @@ # Getting Dynamic
      - +
      These two pages are great and all but where are the actual blog posts in this blog? Let's work on those next. diff --git a/docs/versioned_docs/version-1.3/tutorial/chapter3/forms.md b/docs/versioned_docs/version-1.3/tutorial/chapter3/forms.md index 694a3792fc28..f7177067cb14 100644 --- a/docs/versioned_docs/version-1.3/tutorial/chapter3/forms.md +++ b/docs/versioned_docs/version-1.3/tutorial/chapter3/forms.md @@ -1,7 +1,7 @@ # Building a Form
      - +
      Wait, don't close your browser! You had to know this was coming eventually, didn't you? And you've probably realized by now we wouldn't even have this section in the tutorial unless Redwood had figured out a way to make forms less soul-sucking than usual. In fact, Redwood might even make you _love_ building forms. diff --git a/docs/versioned_docs/version-1.4/a11y.md b/docs/versioned_docs/version-1.4/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/versioned_docs/version-1.4/a11y.md +++ b/docs/versioned_docs/version-1.4/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
      - +
      diff --git a/docs/versioned_docs/version-1.4/contributing-walkthrough.md b/docs/versioned_docs/version-1.4/contributing-walkthrough.md index 9f3e7b00b148..c30b51a6fd3a 100644 --- a/docs/versioned_docs/version-1.4/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.4/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.4/graphql.md b/docs/versioned_docs/version-1.4/graphql.md index bb71a596f806..17c61438ffd6 100644 --- a/docs/versioned_docs/version-1.4/graphql.md +++ b/docs/versioned_docs/version-1.4/graphql.md @@ -148,7 +148,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```jsx title="api/src/services/user/user.js" import { db } from 'src/lib/db' @@ -292,7 +292,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
      - +
      - todo diff --git a/docs/versioned_docs/version-1.4/tutorial/chapter1/prerequisites.md b/docs/versioned_docs/version-1.4/tutorial/chapter1/prerequisites.md index 8dae52f9f9c8..efa608d12d26 100644 --- a/docs/versioned_docs/version-1.4/tutorial/chapter1/prerequisites.md +++ b/docs/versioned_docs/version-1.4/tutorial/chapter1/prerequisites.md @@ -1,7 +1,7 @@ # Prerequisites
      - +
      Redwood is composed of several popular libraries to make full-stack web development easier. Unfortunately, we can't teach all of those technologies from scratch during this tutorial, so we're going to assume you are already familiar with a few core concepts: @@ -23,7 +23,7 @@ If you have an existing site created with a prior version, you'll need to upgrad 1. For _each_ version included in your upgrade, follow the "Code Modifications" section of the specific version's Release Notes: - [Redwood Releases](https://github.com/redwoodjs/redwood/releases) -2. The upgrade to the latest version. Run the command: +2. Then upgrade to the latest version. Run the command: - `yarn redwood upgrade` ### Node.js and Yarn Versions diff --git a/docs/versioned_docs/version-1.4/tutorial/chapter2/getting-dynamic.md b/docs/versioned_docs/version-1.4/tutorial/chapter2/getting-dynamic.md index dd9a58e987df..2eb37c9927e0 100644 --- a/docs/versioned_docs/version-1.4/tutorial/chapter2/getting-dynamic.md +++ b/docs/versioned_docs/version-1.4/tutorial/chapter2/getting-dynamic.md @@ -1,7 +1,7 @@ # Getting Dynamic
      - +
      These two pages are great and all but where are the actual blog posts in this blog? Let's work on those next. diff --git a/docs/versioned_docs/version-1.4/tutorial/chapter3/forms.md b/docs/versioned_docs/version-1.4/tutorial/chapter3/forms.md index 694a3792fc28..f7177067cb14 100644 --- a/docs/versioned_docs/version-1.4/tutorial/chapter3/forms.md +++ b/docs/versioned_docs/version-1.4/tutorial/chapter3/forms.md @@ -1,7 +1,7 @@ # Building a Form
      - +
      Wait, don't close your browser! You had to know this was coming eventually, didn't you? And you've probably realized by now we wouldn't even have this section in the tutorial unless Redwood had figured out a way to make forms less soul-sucking than usual. In fact, Redwood might even make you _love_ building forms. diff --git a/docs/versioned_docs/version-1.4/tutorial/chapter6/comment-form.md b/docs/versioned_docs/version-1.4/tutorial/chapter6/comment-form.md index 99a3a29bf3d9..0ff7915fc0be 100644 --- a/docs/versioned_docs/version-1.4/tutorial/chapter6/comment-form.md +++ b/docs/versioned_docs/version-1.4/tutorial/chapter6/comment-form.md @@ -1362,7 +1362,7 @@ Each scenario here is associated with its own post, so rather than counting all ```jsx title="api/src/services/comments/comments.test.js" import { comments, createComment } from './comments' // highlight-next-line -import { db } from 'api/src/lib/db' +import { db } from 'src/lib/db' describe('comments', () => { scenario('returns all comments', async (scenario) => { @@ -1386,7 +1386,7 @@ describe('comments', () => { ```tsx title="api/src/services/comments/comments.test.ts" import { comments, createComment } from './comments' // highlight-next-line -import { db } from 'api/src/lib/db' +import { db } from 'src/lib/db' import type { StandardScenario } from './comments.scenarios' diff --git a/docs/versioned_docs/version-1.4/tutorial/chapter7/rbac.md b/docs/versioned_docs/version-1.4/tutorial/chapter7/rbac.md index 70a51c20459e..ca81e5e92bc8 100644 --- a/docs/versioned_docs/version-1.4/tutorial/chapter7/rbac.md +++ b/docs/versioned_docs/version-1.4/tutorial/chapter7/rbac.md @@ -1063,7 +1063,7 @@ We'll need a test to go along with that functionality. How do we test `requireAu ```javascript title="api/src/services/comments/comments.test.js" // highlight-next-line import { comments, createComment, deleteComment } from './comments' -import { db } from 'api/src/lib/db' +import { db } from 'src/lib/db' // highlight-next-line import { AuthenticationError, ForbiddenError } from '@redwoodjs/graphql-server' @@ -1143,7 +1143,7 @@ describe('comments', () => { ```ts title="api/src/services/comments/comments.test.ts" // highlight-next-line import { comments, createComment, deleteComment } from './comments' -import { db } from 'api/src/lib/db' +import { db } from 'src/lib/db' // highlight-next-line import { AuthenticationError, ForbiddenError } from '@redwoodjs/graphql-server' diff --git a/docs/versioned_docs/version-1.5/a11y.md b/docs/versioned_docs/version-1.5/a11y.md index 3a1e352ce216..8129c4c7bd73 100644 --- a/docs/versioned_docs/version-1.5/a11y.md +++ b/docs/versioned_docs/version-1.5/a11y.md @@ -166,5 +166,5 @@ export default ContactPage `RouteFocus` tells the router to send focus to it's child on page change. In the example above, when the user navigates to the contact page, the name text field on the form is focused—the first field of the form they're here to fill out.
      - +
      diff --git a/docs/versioned_docs/version-1.5/contributing-walkthrough.md b/docs/versioned_docs/version-1.5/contributing-walkthrough.md index 9f3e7b00b148..c30b51a6fd3a 100644 --- a/docs/versioned_docs/version-1.5/contributing-walkthrough.md +++ b/docs/versioned_docs/version-1.5/contributing-walkthrough.md @@ -26,8 +26,7 @@ The following recording is from a Contributing Workshop, following through the e style={{ height: '24rem' }} src="https://www.youtube.com/embed/aZs_9g-5Ms8" frameborder="0" - allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0" - allowfullscreen + allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture; modestbranding; showinfo=0; fullscreen" > ## Prologue: Getting Started with Redwood and GitHub (and git) diff --git a/docs/versioned_docs/version-1.5/deploy/baremetal.md b/docs/versioned_docs/version-1.5/deploy/baremetal.md index d222e8be76e0..63046a6c3a2a 100644 --- a/docs/versioned_docs/version-1.5/deploy/baremetal.md +++ b/docs/versioned_docs/version-1.5/deploy/baremetal.md @@ -26,7 +26,7 @@ yarn rw deploy baremetal production The Baremetal deploy runs several commands in sequence. These can be customized, to an extent, and some of them skipped completely: -1. `git clone --depth=1` to retieve the latest code +1. `git clone --depth=1` to retrieve the latest code 2. Symlink the latest deploy `.env` to the shared `.env` in the app dir 3. `yarn install` - installs dependencies 4. Runs prisma DB migrations @@ -287,7 +287,7 @@ This may also be a one-liner like: + # [ -z "$PS1" ] && return ``` -There are techniques for getting `node`, `npm` and `yarn` to be availble without loading everything in `.bashrc`. See [this comment](https://github.com/nvm-sh/nvm/issues/1290#issuecomment-427557733) for some ideas. +There are techniques for getting `node`, `npm` and `yarn` to be available without loading everything in `.bashrc`. See [this comment](https://github.com/nvm-sh/nvm/issues/1290#issuecomment-427557733) for some ideas. ::: @@ -470,7 +470,7 @@ host = 'server.com' # ... ``` -Server specific commands are defined with a `before.command` and `after.commmand` key directly in your server config: +Server specific commands are defined with a `before.command` and `after.command` key directly in your server config: ```toml [[production.servers]] diff --git a/docs/versioned_docs/version-1.5/graphql.md b/docs/versioned_docs/version-1.5/graphql.md index e14b93c33838..16e1881998fb 100644 --- a/docs/versioned_docs/version-1.5/graphql.md +++ b/docs/versioned_docs/version-1.5/graphql.md @@ -148,7 +148,7 @@ model User { } ``` -If you create your Services for this model using Redwood's generator (`yarn rw g services user`), your Services will look like this: +If you create your Services for this model using Redwood's generator (`yarn rw g service user`), your Services will look like this: ```jsx title="api/src/services/user/user.js" import { db } from 'src/lib/db' @@ -292,7 +292,7 @@ Now that you've seen the sdl, be sure to check out [the resolvers](https://githu The GraphQL Playground's nice, but if you're a power user, you'll want to be using something a little more dedicated and always on; where you can save things like environments...
      - +
      - todo diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter1/prerequisites.md b/docs/versioned_docs/version-1.5/tutorial/chapter1/prerequisites.md index 8dae52f9f9c8..69e0528308ac 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter1/prerequisites.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter1/prerequisites.md @@ -1,7 +1,7 @@ # Prerequisites
      - +
      Redwood is composed of several popular libraries to make full-stack web development easier. Unfortunately, we can't teach all of those technologies from scratch during this tutorial, so we're going to assume you are already familiar with a few core concepts: diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter2/getting-dynamic.md b/docs/versioned_docs/version-1.5/tutorial/chapter2/getting-dynamic.md index dd9a58e987df..2eb37c9927e0 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter2/getting-dynamic.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter2/getting-dynamic.md @@ -1,7 +1,7 @@ # Getting Dynamic
      - +
      These two pages are great and all but where are the actual blog posts in this blog? Let's work on those next. diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter2/routing-params.md b/docs/versioned_docs/version-1.5/tutorial/chapter2/routing-params.md index 3d3176628c69..d6be607705b7 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter2/routing-params.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter2/routing-params.md @@ -731,7 +731,7 @@ Last but not least we can update the `ArticleCell` to properly display our blog import Article from 'src/components/Article' export const QUERY = gql` - query ArticleQuery { + query ArticleQuery($id: Int!) { article: post(id: $id) { id title @@ -749,7 +749,7 @@ export const Failure = ({ error }) => (
      Error: {error.message}
      ) -export const Success = ({ articles }) => ( +export const Success = ({ article }) => ( // highlight-next-line
      ) @@ -784,7 +784,7 @@ export const Failure = ({ error }: CellFailureProps) => (
      Error: {error.message}
      ) -export const Success = ({ articles }: CellSuccessProps) => ( +export const Success = ({ article }: CellSuccessProps) => ( // highlight-next-line
      ) diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter2/side-quest.md b/docs/versioned_docs/version-1.5/tutorial/chapter2/side-quest.md index 81a87391ef97..ed1c279f47b6 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter2/side-quest.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter2/side-quest.md @@ -95,7 +95,7 @@ In this example, Redwood will look in `api/src/services/posts/posts.{js,ts}` for - `updatePost({ id, input })` - `deletePost({ id })` -To implement these, simply export them from the services file. They will usually get your data from a database, but they can do anything you want, as long as they return the proper types that Apollo expects based on what you defined in `posts.sdl.{js,ts}`. +To implement these, simply export them from the services file. They will usually get your data from a database, but they can do anything you want, as long as they return the proper types that GraphQL Yoga expects based on what you defined in `posts.sdl.{js,ts}`. diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter3/forms.md b/docs/versioned_docs/version-1.5/tutorial/chapter3/forms.md index b669f5259e7f..ba0701352d13 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter3/forms.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter3/forms.md @@ -1,7 +1,7 @@ # Building a Form
      - +
      Wait, don't close your browser! You had to know this was coming eventually, didn't you? And you've probably realized by now we wouldn't even have this section in the tutorial unless Redwood had figured out a way to make forms less soul-sucking than usual. In fact, Redwood might even make you _love_ building forms. diff --git a/docs/versioned_docs/version-1.5/tutorial/chapter6/multiple-comments.md b/docs/versioned_docs/version-1.5/tutorial/chapter6/multiple-comments.md index ae7a965edccc..d6856755747a 100644 --- a/docs/versioned_docs/version-1.5/tutorial/chapter6/multiple-comments.md +++ b/docs/versioned_docs/version-1.5/tutorial/chapter6/multiple-comments.md @@ -30,6 +30,14 @@ Let's generate a **CommentsCell**: yarn rw g cell Comments ``` +:::caution What's with these errors and warnings after generating this cell? + +Redwood will try to generate types to go along with your cell. However, we haven't generated an SDL file for the Comment model yet, so types can't be created. This is safe to ignore for now as we're building out our UI in Storybook. + +You may also see some red squiggles in your IDE: same thing, types couldn't be generated. + +::: + Storybook updates with a new **CommentsCell** under the **Cells** folder, and it's actually showing something: ![image](https://user-images.githubusercontent.com/300/153477642-0d5a15a5-f96f-485a-b8b0-dbc1c4515279.png) diff --git a/docs/versioned_docs/version-1.5/tutorial/foreword.md b/docs/versioned_docs/version-1.5/tutorial/foreword.md index 16e1b0fffb11..de8c3b08505d 100644 --- a/docs/versioned_docs/version-1.5/tutorial/foreword.md +++ b/docs/versioned_docs/version-1.5/tutorial/foreword.md @@ -6,6 +6,12 @@ In this tutorial we're going to build a blog engine. In reality a blog is probab If you went through an earlier version of this tutorial you may remember it being split into parts 1 and 2. That was an artifact of the fact that most features demonstrated in part 2 didn't exist in the framework when part 1 was written. Once they were added we created part 2 to contain just those new features. Now that everything is integrated and working well we've moved each section into logically grouped chapters. +## Sign Up for Tutorial Reminders + +There's a new Javascript framework coming out every week, we know it can be hard to keep up. If you'd like some non-spammy emails reminding you to go through the tutorial, give us your email below: + + + ## Callouts You'll find some callouts throughout the text to draw your attention: @@ -37,3 +43,42 @@ This tutorial assumes you are using version 1.0.0 or greater of RedwoodJS. ::: Let's get started! + +export const MailchimpForm = () => ( + <> +
      +
      + +
      + + +
      +
      +
      + +) + diff --git a/docs/yarn.lock b/docs/yarn.lock index d5372162bde2..00ccf4c5b9af 100644 --- a/docs/yarn.lock +++ b/docs/yarn.lock @@ -4637,7 +4637,7 @@ __metadata: react: 17.0.2 react-dom: 17.0.2 react-player: 2.10.1 - typescript: 4.7.2 + typescript: 4.7.3 languageName: unknown linkType: soft @@ -10138,23 +10138,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.7.2": - version: 4.7.2 - resolution: "typescript@npm:4.7.2" +"typescript@npm:4.7.3": + version: 4.7.3 + resolution: "typescript@npm:4.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c458df58a52f1cb1c954109dbc3477abfeb632644bc6552a9ac2152bce86e377afe11bf661466926bc4dcdc945f1e053d492c347ae377f1cba7051226b930ea3 + checksum: 4f2597ac203e792881e02db85cd01bcba0ff0edfdb467e16af5a35808d35c424fe4fbc99ce8cea3745b206e66dbbe67e9ca0a0b03117672d7d95cad7055bd2b6 languageName: node linkType: hard -"typescript@patch:typescript@4.7.2#~builtin": - version: 4.7.2 - resolution: "typescript@patch:typescript@npm%3A4.7.2#~builtin::version=4.7.2&hash=7ad353" +"typescript@patch:typescript@4.7.3#~builtin": + version: 4.7.3 + resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin::version=4.7.3&hash=7ad353" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: f454730aef4a8cef2ad5650ce769f38ed4460583fe5867d4f93592282afdbd9b5142b75d448b647e4984edf23575ac1f2adafb2db8614f253f700721d3eb439a + checksum: fd3972aed0089d64c03235f4352a232eb62e5810e7b37e28ff804d1dbb728cda4c81b7e2d1e9b0e72d9fc8a7ccb1c211e044078b6b3774d4a18a6fcb9f16f86f languageName: node linkType: hard diff --git a/lerna.json b/lerna.json index f4df384063a5..ceeb6d7cda61 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.5.1", + "version": "1.5.2", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/package.json b/package.json index d000e0a07b87..983add6542fb 100644 --- a/package.json +++ b/package.json @@ -33,10 +33,10 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.7.2", + "typescript": "4.7.3", "vscode-languageserver": "6.1.1", "vscode-languageserver-protocol": "3.15.3", - "vscode-languageserver-textdocument": "1.0.4", + "vscode-languageserver-textdocument": "1.0.5", "vscode-languageserver-types": "3.17.1" }, "devDependencies": { @@ -61,7 +61,7 @@ "@testing-library/react-hooks": "8.0.0", "@testing-library/user-event": "14.2.0", "@types/fs-extra": "9.0.13", - "@types/jest": "27.5.1", + "@types/jest": "27.5.2", "@types/jscodeshift": "0.11.5", "@types/lodash.template": "4.5.1", "@types/ncp": "2.0.5", @@ -72,7 +72,7 @@ "babel-plugin-auto-import": "1.1.0", "babel-plugin-remove-code": "0.0.6", "boxen": "5.1.2", - "core-js": "3.22.7", + "core-js": "3.22.8", "cypress": "9.7.0", "cypress-wait-until": "1.7.2", "eslint": "8.16.0", @@ -89,12 +89,12 @@ "node-notifier": "10.0.1", "nodemon": "2.0.16", "npm-packlist": "5.1.0", - "octokit": "1.7.1", + "octokit": "1.7.2", "ora": "5.4.1", "prompts": "2.4.2", "rimraf": "3.0.2", "terminal-link": "2.1.1", - "typescript": "4.7.2", + "typescript": "4.7.3", "typescript-transform-paths": "3.3.1", "zx": "6.1.0" }, diff --git a/packages/api-server/package.json b/packages/api-server/package.json index 129799746cee..488ca4bf8a90 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/api-server", - "version": "1.5.1", + "version": "1.5.2", "description": "Redwood's HTTP server for Serverless Functions", "repository": { "type": "git", @@ -35,7 +35,7 @@ "ansi-colors": "4.1.3", "chalk": "4.1.2", "chokidar": "3.5.3", - "core-js": "3.22.7", + "core-js": "3.22.8", "fast-json-parse": "1.0.3", "fastify": "3.29.0", "fastify-raw-body": "3.2.0", @@ -56,7 +56,7 @@ "@types/yargs": "17.0.10", "aws-lambda": "1.0.7", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/api-server/src/__tests__/logFormatter.test.ts b/packages/api-server/src/__tests__/logFormatter.test.ts index cd0d23e99367..4f71aa127583 100644 --- a/packages/api-server/src/__tests__/logFormatter.test.ts +++ b/packages/api-server/src/__tests__/logFormatter.test.ts @@ -175,4 +175,31 @@ describe('LogFormatter', () => { }) ).toMatch('"foo": "bar"') }) + + test('Should format error stack traces', () => { + expect( + logFormatter({ + level: 50, + err: { + message: 'This error has a stack traces', + stack: + 'A stack trace \n will have \n several lines \n at some line number \n at some code', + }, + }) + ).toMatch(/at some line number/) + }) + + test('Should format error and include the error type', () => { + expect( + logFormatter({ + level: 50, + err: { + type: 'GraphQL Error', + message: 'This error has a stack traces', + stack: + 'A stack trace \n will have \n several lines \n at some line number \n at some code', + }, + }) + ).toMatch(/GraphQL Error Info/) + }) }) diff --git a/packages/api-server/src/logFormatter/index.ts b/packages/api-server/src/logFormatter/index.ts index 6e1acc5c4a20..9c8b2c704be5 100644 --- a/packages/api-server/src/logFormatter/index.ts +++ b/packages/api-server/src/logFormatter/index.ts @@ -176,14 +176,14 @@ export const LogFormatter = () => { output.push(formatTracing(tracing)) } - if (stack != null) { - output.push(formatStack(stack)) - } - if (err != null) { output.push(formatErrorProp(err)) } + if (stack != null) { + output.push(formatStack(stack)) + } + return output.filter(noEmpty).join(' ') } @@ -223,7 +223,20 @@ export const LogFormatter = () => { } const formatErrorProp = (errorPropValue: any) => { - return newline + JSON.stringify({ err: errorPropValue }, null, 2) + const errorType = errorPropValue['type'] || 'Error' + delete errorPropValue['message'] + delete errorPropValue['stack'] + delete errorPropValue['type'] + + return chalk.redBright( + newline + + newline + + `🚨 ${errorType} Info` + + newline + + newline + + JSON.stringify(errorPropValue, null, 2) + + newline + ) } const formatLevel = (level: any) => { @@ -321,7 +334,11 @@ export const LogFormatter = () => { } const formatStack = (stack: any) => { - return stack ? newline + stack : '' + return chalk.redBright( + stack + ? newline + '🥞 Error Stack' + newline + newline + stack + newline + : '' + ) } const formatTracing = (data: any) => { diff --git a/packages/api/package.json b/packages/api/package.json index d48fc423cc47..0442b4823344 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/api", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -31,10 +31,10 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@prisma/client": "3.14.0", + "@prisma/client": "3.15.1", "@simplewebauthn/server": "^5.2.1", "base64url": "^3.0.1", - "core-js": "3.22.7", + "core-js": "3.22.8", "cross-undici-fetch": "0.1.27", "crypto-js": "4.1.1", "humanize-string": "2.1.0", @@ -49,8 +49,8 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@clerk/clerk-sdk-node": "3.6.0", - "@redwoodjs/auth": "1.5.1", + "@clerk/clerk-sdk-node": "3.6.1", + "@redwoodjs/auth": "1.5.2", "@types/aws-lambda": "8.10.97", "@types/crypto-js": "4.1.1", "@types/jsonwebtoken": "8.5.8", @@ -61,10 +61,10 @@ "aws-lambda": "1.0.7", "jest": "27.5.1", "split2": "4.1.0", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "peerDependencies": { - "@clerk/clerk-sdk-node": "3.6.0", + "@clerk/clerk-sdk-node": "3.6.1", "@magic-sdk/admin": "1.4.1", "firebase-admin": "10.2.0" }, diff --git a/packages/api/src/auth/decoders/auth0.ts b/packages/api/src/auth/decoders/auth0.ts index 4de3dcffe1cf..e507ed7fad39 100644 --- a/packages/api/src/auth/decoders/auth0.ts +++ b/packages/api/src/auth/decoders/auth0.ts @@ -41,7 +41,7 @@ export const verifyAuth0Token = ( bearerToken, (header, callback) => { client.getSigningKey(header.kid as string, (error, key) => { - callback(error, key.getPublicKey()) + callback(error, key?.getPublicKey()) }) }, { diff --git a/packages/api/src/functions/dbAuth/DbAuthHandler.ts b/packages/api/src/functions/dbAuth/DbAuthHandler.ts index 15cc15522687..d2cc73e47714 100644 --- a/packages/api/src/functions/dbAuth/DbAuthHandler.ts +++ b/packages/api/src/functions/dbAuth/DbAuthHandler.ts @@ -28,7 +28,12 @@ import { import { normalizeRequest } from '../../transforms' import * as DbAuthError from './errors' -import { decryptSession, getSession, webAuthnSession } from './shared' +import { + decryptSession, + extractCookie, + getSession, + webAuthnSession, +} from './shared' interface DbAuthHandlerOptions { /** @@ -200,6 +205,7 @@ export class DbAuthHandler { event: APIGatewayProxyEvent context: LambdaContext options: DbAuthHandlerOptions + cookie: string | undefined params: Params db: PrismaClient dbAccessor: any @@ -277,6 +283,7 @@ export class DbAuthHandler { this.event = event this.context = context this.options = options + this.cookie = extractCookie(this.event) this._validateOptions() @@ -295,9 +302,7 @@ export class DbAuthHandler { } try { - const [session, csrfToken] = decryptSession( - getSession(this.event.headers['cookie']) - ) + const [session, csrfToken] = decryptSession(getSession(this.cookie)) this.session = session this.sessionCsrfToken = csrfToken } catch (e) { @@ -1138,8 +1143,7 @@ export class DbAuthHandler { // figure out which auth method we're trying to call _getAuthMethod() { // try getting it from the query string, /.redwood/functions/auth?method=[methodName] - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - let methodName = this.event.queryStringParameters!.method as AuthMethodNames + let methodName = this.event.queryStringParameters?.method as AuthMethodNames if (!DbAuthHandler.METHODS.includes(methodName) && this.params) { // try getting it from the body in JSON: { method: [methodName] } diff --git a/packages/api/src/functions/dbAuth/shared.ts b/packages/api/src/functions/dbAuth/shared.ts index 29ab9446ce28..85f896623189 100644 --- a/packages/api/src/functions/dbAuth/shared.ts +++ b/packages/api/src/functions/dbAuth/shared.ts @@ -3,6 +3,12 @@ import CryptoJS from 'crypto-js' import * as DbAuthError from './errors' +// Extracts the cookie from an event, handling lower and upper case header +// names. +export const extractCookie = (event: APIGatewayProxyEvent) => { + return event.headers.cookie || event.headers.Cookie +} + // decrypts the session cookie and returns an array: [data, csrf] export const decryptSession = (text: string | null) => { if (!text || text.trim() === '') { @@ -44,9 +50,9 @@ export const getSession = (text?: string) => { // Convenience function to get session, decrypt, and return session data all // at once. Accepts the `event` argument from a Lambda function call. export const dbAuthSession = (event: APIGatewayProxyEvent) => { - if (event.headers.cookie) { + if (extractCookie(event)) { const [session, _csrfToken] = decryptSession( - getSession(event.headers.cookie) + getSession(extractCookie(event)) ) return session } else { diff --git a/packages/auth/package.json b/packages/auth/package.json index 6d1d44a2280b..46e8930333ea 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/auth", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -23,7 +23,7 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "core-js": "3.22.7" + "core-js": "3.22.8" }, "devDependencies": { "@auth0/auth0-spa-js": "1.22.0", @@ -31,9 +31,9 @@ "@babel/cli": "7.16.7", "@babel/core": "7.16.7", "@clerk/clerk-js": "3.12.0", - "@clerk/clerk-sdk-node": "3.6.0", + "@clerk/clerk-sdk-node": "3.6.1", "@clerk/types": "2.14.0", - "@nhost/hasura-auth-js": "1.1.11", + "@nhost/hasura-auth-js": "1.1.14", "@nhost/nhost-js": "1.1.14", "@simplewebauthn/typescript-types": "^5.2.1", "@supabase/supabase-js": "1.35.3", @@ -47,7 +47,7 @@ "netlify-identity-widget": "1.9.2", "react": "17.0.2", "supertokens-auth-react": "0.21.3", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/cli/README.md b/packages/cli/README.md index 0b8387da9c15..edc8e40fe518 100644 --- a/packages/cli/README.md +++ b/packages/cli/README.md @@ -593,7 +593,7 @@ Lastly, `notes` is an array of strings to output after the generator has finishe Most of the commands in `dbCommands` are just wrappers around [Prisma commands](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-cli/command-reference), the exception being `seed`, which runs a Redwood app's [./api/prisma/seed.js](https://github.com/redwoodjs/create-redwood-app/blob/master/api/prisma/seeds.js). -Adding or modifying a command here's no different—there's still a `command`, `descripton`, `builder`, and `handler`. But there's a pattern to `handler`: it usually uses [runCommandTask](https://github.com/redwoodjs/redwood/blob/d51ade08118c17459cebcdb496197ea52485364a/packages/cli/src/lib/index.js#L349-L377), a Redwood-defined function. +Adding or modifying a command here's no different—there's still a `command`, `description`, `builder`, and `handler`. But there's a pattern to `handler`: it usually uses [runCommandTask](https://github.com/redwoodjs/redwood/blob/d51ade08118c17459cebcdb496197ea52485364a/packages/cli/src/lib/index.js#L349-L377), a Redwood-defined function. This is because most `dbCommands` are really just running prisma commands, so they really just have to output something like `yarn prisma ...`. diff --git a/packages/cli/package.json b/packages/cli/package.json index e19c2ddab8e1..900868739376 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/cli", - "version": "1.5.1", + "version": "1.5.2", "description": "The Redwood Command Line", "repository": { "type": "git", @@ -29,18 +29,18 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@prisma/sdk": "3.14.0", - "@redwoodjs/api-server": "1.5.1", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/prerender": "1.5.1", - "@redwoodjs/structure": "1.5.1", - "@redwoodjs/telemetry": "1.5.1", + "@prisma/sdk": "3.15.1", + "@redwoodjs/api-server": "1.5.2", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/prerender": "1.5.2", + "@redwoodjs/structure": "1.5.2", + "@redwoodjs/telemetry": "1.5.2", "boxen": "5.1.2", "camelcase": "6.3.0", "chalk": "4.1.2", "concurrently": "7.2.1", "configstore": "3.1.5", - "core-js": "3.22.7", + "core-js": "3.22.8", "cross-env": "7.0.3", "decamelize": "5.0.0", "dotenv-defaults": "5.0.0", @@ -57,7 +57,7 @@ "pascalcase": "1.0.0", "pluralize": "8.0.0", "prettier": "2.6.2", - "prisma": "3.14.0", + "prisma": "3.15.1", "prompts": "2.4.2", "rimraf": "3.0.2", "secure-random-password": "0.2.3", @@ -70,7 +70,7 @@ "@babel/core": "7.16.7", "@types/listr": "0.14.4", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffold.test.js.snap b/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffold.test.js.snap index 9c7c2d60e470..02b7ab729f33 100644 --- a/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffold.test.js.snap +++ b/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffold.test.js.snap @@ -312,9 +312,10 @@ export default PostsLayout `; exports[`in javascript (default) mode creates a new component 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import PostForm from 'src/components/Post/PostForm' const CREATE_POST_MUTATION = gql\` @@ -357,9 +358,10 @@ export default NewPost `; exports[`in javascript (default) mode creates a new component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import UserProfileForm from 'src/components/UserProfile/UserProfileForm' const CREATE_USER_PROFILE_MUTATION = gql\` @@ -456,9 +458,9 @@ export const Success = ({ post }) => { exports[`in javascript (default) mode creates a show component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes, navigate } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes, navigate } from '@redwoodjs/router' const DELETE_POST_MUTATION = gql\` mutation DeletePostMutation($id: Int!) { @@ -1010,9 +1012,10 @@ exports[`in javascript (default) mode creates a stylesheet 1`] = ` exports[`in javascript (default) mode creates an edit cell 1`] = `undefined`; exports[`in javascript (default) mode creates an edit component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' + +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import UserProfileForm from 'src/components/UserProfile/UserProfileForm' @@ -1135,9 +1138,9 @@ export const Success = ({ posts }) => { exports[`in javascript (default) mode creates an index component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes } from '@redwoodjs/router' import { QUERY } from 'src/components/Post/PostsCell' @@ -1665,9 +1668,10 @@ export default PostsLayout `; exports[`in typescript mode creates a new component 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import PostForm from 'src/components/Post/PostForm' const CREATE_POST_MUTATION = gql\` @@ -1710,9 +1714,10 @@ export default NewPost `; exports[`in typescript mode creates a new component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import UserProfileForm from 'src/components/UserProfile/UserProfileForm' const CREATE_USER_PROFILE_MUTATION = gql\` @@ -1768,6 +1773,7 @@ export default NewPostPage exports[`in typescript mode creates a show cell 1`] = ` "import type { FindPostById } from 'types/graphql' + import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import Post from 'src/components/Post/Post' @@ -1809,9 +1815,9 @@ export const Success = ({ post }: CellSuccessProps) => { exports[`in typescript mode creates a show component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes, navigate } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes, navigate } from '@redwoodjs/router' const DELETE_POST_MUTATION = gql\` mutation DeletePostMutation($id: Int!) { @@ -2353,10 +2359,10 @@ exports[`in typescript mode creates a stylesheet 1`] = ` exports[`in typescript mode creates an edit cell 1`] = ` "import type { EditPostById } from 'types/graphql' +import { navigate, routes } from '@redwoodjs/router' import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import PostForm from 'src/components/Post/PostForm' @@ -2437,10 +2443,10 @@ export const Success = ({ post }: CellSuccessProps) => { exports[`in typescript mode creates an edit component with int foreign keys converted in onSave 1`] = ` "import type { EditUserProfileById } from 'types/graphql' +import { navigate, routes } from '@redwoodjs/router' import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import UserProfileForm from 'src/components/UserProfile/UserProfileForm' @@ -2501,9 +2507,9 @@ export const Success = ({ userProfile }: CellSuccessProps) exports[`in typescript mode creates an index cell 1`] = ` "import type { FindPosts } from 'types/graphql' -import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { Link, routes } from '@redwoodjs/router' +import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import Posts from 'src/components/Post/Posts' @@ -2556,9 +2562,9 @@ export const Success = ({ posts }: CellSuccessProps) => { exports[`in typescript mode creates an index component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes } from '@redwoodjs/router' import { QUERY } from 'src/components/Post/PostsCell' diff --git a/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffoldNoNest.test.js.snap b/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffoldNoNest.test.js.snap index 5b06cbd7ebd6..cf2119334bbe 100644 --- a/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffoldNoNest.test.js.snap +++ b/packages/cli/src/commands/generate/scaffold/__tests__/__snapshots__/scaffoldNoNest.test.js.snap @@ -314,9 +314,10 @@ export default PostsLayout exports[`in javascript (default) mode creates a new component 1`] = `undefined`; exports[`in javascript (default) mode creates a new component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import UserProfileForm from 'src/components/UserProfileForm' const CREATE_USER_PROFILE_MUTATION = gql\` @@ -413,9 +414,9 @@ export const Success = ({ post }) => { exports[`in javascript (default) mode creates a show component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes, navigate } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes, navigate } from '@redwoodjs/router' const DELETE_POST_MUTATION = gql\` mutation DeletePostMutation($id: Int!) { @@ -967,9 +968,10 @@ exports[`in javascript (default) mode creates a stylesheet 1`] = ` exports[`in javascript (default) mode creates an edit cell 1`] = `undefined`; exports[`in javascript (default) mode creates an edit component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' + +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import UserProfileForm from 'src/components/UserProfileForm' @@ -1092,9 +1094,9 @@ export const Success = ({ posts }) => { exports[`in javascript (default) mode creates an index component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes } from '@redwoodjs/router' import { QUERY } from 'src/components/PostsCell' @@ -1624,9 +1626,10 @@ export default PostsLayout exports[`in typescript mode creates a new component 1`] = `undefined`; exports[`in typescript mode creates a new component with int foreign keys converted in onSave 1`] = ` -"import { useMutation } from '@redwoodjs/web' +"import { navigate, routes } from '@redwoodjs/router' +import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import UserProfileForm from 'src/components/UserProfileForm' const CREATE_USER_PROFILE_MUTATION = gql\` @@ -1682,6 +1685,7 @@ export default NewPostPage exports[`in typescript mode creates a show cell 1`] = ` "import type { FindPostById } from 'types/graphql' + import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import Post from 'src/components/Post' @@ -1723,9 +1727,9 @@ export const Success = ({ post }: CellSuccessProps) => { exports[`in typescript mode creates a show component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes, navigate } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes, navigate } from '@redwoodjs/router' const DELETE_POST_MUTATION = gql\` mutation DeletePostMutation($id: Int!) { @@ -2267,10 +2271,10 @@ exports[`in typescript mode creates a stylesheet 1`] = ` exports[`in typescript mode creates an edit cell 1`] = ` "import type { EditPostById } from 'types/graphql' +import { navigate, routes } from '@redwoodjs/router' import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import PostForm from 'src/components/PostForm' @@ -2351,10 +2355,10 @@ export const Success = ({ post }: CellSuccessProps) => { exports[`in typescript mode creates an edit component with int foreign keys converted in onSave 1`] = ` "import type { EditUserProfileById } from 'types/graphql' +import { navigate, routes } from '@redwoodjs/router' import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import UserProfileForm from 'src/components/UserProfileForm' @@ -2415,9 +2419,9 @@ export const Success = ({ userProfile }: CellSuccessProps) exports[`in typescript mode creates an index cell 1`] = ` "import type { FindPosts } from 'types/graphql' -import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { Link, routes } from '@redwoodjs/router' +import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import Posts from 'src/components/Posts' @@ -2470,9 +2474,9 @@ export const Success = ({ posts }: CellSuccessProps) => { exports[`in typescript mode creates an index component 1`] = ` "import humanize from 'humanize-string' +import { Link, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes } from '@redwoodjs/router' import { QUERY } from 'src/components/PostsCell' diff --git a/packages/cli/src/commands/generate/scaffold/scaffold.js b/packages/cli/src/commands/generate/scaffold/scaffold.js index e5822c80eb32..cc12d8a206e2 100644 --- a/packages/cli/src/commands/generate/scaffold/scaffold.js +++ b/packages/cli/src/commands/generate/scaffold/scaffold.js @@ -585,7 +585,7 @@ const addLayoutImport = ({ model: name, path: scaffoldPath = '' }) => { if (!routesContent.match(importLayout)) { const newRoutesContent = routesContent.replace( /['"]@redwoodjs\/router['"](\s*)/, - `'@redwoodjs/router'\n${importLayout}$1` + `'@redwoodjs/router'\n\n${importLayout}$1` ) writeFile(routesPath, newRoutesContent, { overwriteExisting: true }) diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/EditNameCell.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/EditNameCell.tsx.template index cd38a2095101..0da119569d19 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/EditNameCell.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/EditNameCell.tsx.template @@ -1,9 +1,9 @@ import type { Edit${singularPascalName}ById } from 'types/graphql' +import { navigate, routes } from '@redwoodjs/router' import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' import ${singularPascalName}Form from '${importComponentNameForm}' diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/Name.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/Name.tsx.template index 2ea89b6bf3d2..12d4c6dbc288 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/Name.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/Name.tsx.template @@ -1,8 +1,8 @@ import humanize from 'humanize-string' +import { Link, routes, navigate } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes, navigate } from '@redwoodjs/router' const DELETE_${singularConstantName}_MUTATION = gql` mutation Delete${singularPascalName}Mutation($id: ${idType}!) { diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/NameCell.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/NameCell.tsx.template index 977f30ddcfbb..93a712512e86 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/NameCell.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/NameCell.tsx.template @@ -1,4 +1,5 @@ import type { Find${singularPascalName}ById } from 'types/graphql' + import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import ${singularPascalName} from '${importComponentName}' diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/Names.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/Names.tsx.template index 2a5f20aa5a8f..156a7bfd70ba 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/Names.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/Names.tsx.template @@ -1,8 +1,8 @@ import humanize from 'humanize-string' +import { Link, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { Link, routes } from '@redwoodjs/router' import { QUERY } from '${importComponentNamesCell}' diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/NamesCell.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/NamesCell.tsx.template index 8d7f1cf94d38..122207f0109c 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/NamesCell.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/NamesCell.tsx.template @@ -1,7 +1,7 @@ import type { Find${pluralPascalName} } from 'types/graphql' -import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import { Link, routes } from '@redwoodjs/router' +import type { CellSuccessProps, CellFailureProps } from '@redwoodjs/web' import ${pluralPascalName} from '${importComponentNames}' diff --git a/packages/cli/src/commands/generate/scaffold/templates/components/NewName.tsx.template b/packages/cli/src/commands/generate/scaffold/templates/components/NewName.tsx.template index fd269ef6efd3..6823641aba00 100644 --- a/packages/cli/src/commands/generate/scaffold/templates/components/NewName.tsx.template +++ b/packages/cli/src/commands/generate/scaffold/templates/components/NewName.tsx.template @@ -1,6 +1,7 @@ +import { navigate, routes } from '@redwoodjs/router' import { useMutation } from '@redwoodjs/web' import { toast } from '@redwoodjs/web/toast' -import { navigate, routes } from '@redwoodjs/router' + import ${singularPascalName}Form from '${importComponentNameForm}' const CREATE_${singularConstantName}_MUTATION = gql` diff --git a/packages/cli/src/commands/generate/service/__tests__/__snapshots__/service.test.js.snap b/packages/cli/src/commands/generate/service/__tests__/__snapshots__/service.test.js.snap index b5b3642a986f..767a50a67297 100644 --- a/packages/cli/src/commands/generate/service/__tests__/__snapshots__/service.test.js.snap +++ b/packages/cli/src/commands/generate/service/__tests__/__snapshots__/service.test.js.snap @@ -278,8 +278,9 @@ describe('users', () => { `; exports[`in typescript mode creates a multi word service file 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers } from 'types/graphql' +"import type { QueryResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const userProfiles: QueryResolvers['userProfiles'] = () => { return db.userProfile.findMany() @@ -370,8 +371,9 @@ describe('transactions', () => { `; exports[`in typescript mode creates a single word service file 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers, MutationResolvers } from 'types/graphql' +"import type { QueryResolvers, MutationResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const users: QueryResolvers['users'] = () => { return db.user.findMany() @@ -405,8 +407,9 @@ export const deleteUser: MutationResolvers['deleteUser'] = ({ id }) => { `; exports[`in typescript mode creates a single word service file with CRUD actions 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers, MutationResolvers } from 'types/graphql' +"import type { QueryResolvers, MutationResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const posts: QueryResolvers['posts'] = () => { return db.post.findMany() @@ -440,8 +443,9 @@ export const deletePost: MutationResolvers['deletePost'] = ({ id }) => { `; exports[`in typescript mode creates a single word service file with a belongsTo relation 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers, UserResolvers } from 'types/graphql' +"import type { QueryResolvers, UserResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const users: QueryResolvers['users'] = () => { return db.user.findMany() @@ -461,8 +465,9 @@ export const User: UserResolvers = { `; exports[`in typescript mode creates a single word service file with a hasMany relation 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers, UserResolvers } from 'types/graphql' +"import type { QueryResolvers, UserResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const users: QueryResolvers['users'] = () => { return db.user.findMany() @@ -482,8 +487,9 @@ export const User: UserResolvers = { `; exports[`in typescript mode creates a single word service file with multiple relations 1`] = ` -"import { db } from 'src/lib/db' -import type { QueryResolvers, UserResolvers } from 'types/graphql' +"import type { QueryResolvers, UserResolvers } from 'types/graphql' + +import { db } from 'src/lib/db' export const users: QueryResolvers['users'] = () => { return db.user.findMany() diff --git a/packages/cli/src/commands/generate/service/templates/service.ts.template b/packages/cli/src/commands/generate/service/templates/service.ts.template index e1ac26f3b1db..596cc952f29a 100644 --- a/packages/cli/src/commands/generate/service/templates/service.ts.template +++ b/packages/cli/src/commands/generate/service/templates/service.ts.template @@ -1,6 +1,7 @@ -import { db } from 'src/lib/db' import type { QueryResolvers<% if (crud) { %>, MutationResolvers<% } %><% if (relations.length) { %>, ${singularPascalName}Resolvers<% } %> } from 'types/graphql' +import { db } from 'src/lib/db' + export const ${pluralCamelName}: QueryResolvers['${pluralCamelName}'] = () => { return db.${singularCamelName}.findMany() }<% if (crud || relations.length) { %> diff --git a/packages/cli/src/commands/setup.js b/packages/cli/src/commands/setup.js index 18550a6492b3..e286b78060b9 100644 --- a/packages/cli/src/commands/setup.js +++ b/packages/cli/src/commands/setup.js @@ -2,7 +2,7 @@ import terminalLink from 'terminal-link' import detectRwVersion from '../middleware/detectProjectRwVersion' -export const command = 'setup ' +export const command = 'setup ' export const description = 'Initialize project config and install packages' export const builder = (yargs) => diff --git a/packages/cli/src/commands/setup/auth/templates/dbAuth.function.ts.template b/packages/cli/src/commands/setup/auth/templates/dbAuth.function.ts.template index e03c09d19243..d38545facba5 100644 --- a/packages/cli/src/commands/setup/auth/templates/dbAuth.function.ts.template +++ b/packages/cli/src/commands/setup/auth/templates/dbAuth.function.ts.template @@ -64,14 +64,14 @@ export const handler = async (event, context) => { const resetPasswordOptions = { // handler() is invoked after the password has been successfully updated in - // the database. Returning anything truthy will automatically logs the user + // the database. Returning anything truthy will automatically log the user // in. Return `false` otherwise, and in the Reset Password page redirect the // user to the login page. handler: (user) => { return user }, - // If `false` then the new password MUST be different than the current one + // If `false` then the new password MUST be different from the current one allowReusedPassword: true, errors: { @@ -125,7 +125,7 @@ export const handler = async (event, context) => { db: db, // The name of the property you'd call on `db` to access your user table. - // ie. if your Prisma model is named `User` this value would be `user`, as in `db.user` + // i.e. if your Prisma model is named `User` this value would be `user`, as in `db.user` authModelAccessor: 'user', // A map of what dbAuth calls a field to what your database calls it. diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 5d0395408c2f..30d62e5ef6e1 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/codemods", - "version": "1.5.1", + "version": "1.5.2", "description": "Codemods to ease upgrading a RedwoodJS Project", "repository": { "type": "git", @@ -27,7 +27,7 @@ "@babel/plugin-transform-typescript": "7.16.7", "@babel/runtime-corejs3": "7.16.7", "@vscode/ripgrep": "1.14.2", - "core-js": "3.22.7", + "core-js": "3.22.8", "cross-undici-fetch": "0.1.27", "deepmerge": "4.2.2", "execa": "5.1.1", @@ -44,7 +44,7 @@ "@types/babel__core": "7.1.19", "@types/findup-sync": "4.0.2", "@types/fs-extra": "9.0.13", - "@types/jest": "27.5.1", + "@types/jest": "27.5.2", "@types/jscodeshift": "0.11.5", "@types/prettier": "2.6.3", "@types/yargs": "17.0.10", diff --git a/packages/codemods/src/codemods/v0.37.x/updateGraphQLFunction/README.md b/packages/codemods/src/codemods/v0.37.x/updateGraphQLFunction/README.md index 6463160e9c6a..00cf5c9cf512 100644 --- a/packages/codemods/src/codemods/v0.37.x/updateGraphQLFunction/README.md +++ b/packages/codemods/src/codemods/v0.37.x/updateGraphQLFunction/README.md @@ -1,3 +1,3 @@ # Update GraphQL Function -Some GraphQL imports have moved from `@redwodjs/api` to `@redwoodjs/graphql-server` and the syntax of `createGraphQLHandler` has changed. +Some GraphQL imports have moved from `@redwoodjs/api` to `@redwoodjs/graphql-server` and the syntax of `createGraphQLHandler` has changed. diff --git a/packages/core/package.json b/packages/core/package.json index 42f8c6470956..ff1071600bb0 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/core", - "version": "1.5.1", + "version": "1.5.2", "description": "Foundational packages and config required to build RedwoodJS.", "repository": { "type": "git", @@ -48,10 +48,10 @@ "@babel/preset-typescript": "7.16.7", "@babel/runtime-corejs3": "7.16.7", "@pmmmwh/react-refresh-webpack-plugin": "0.5.7", - "@redwoodjs/cli": "1.5.1", - "@redwoodjs/eslint-config": "1.5.1", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/testing": "1.5.1", + "@redwoodjs/cli": "1.5.2", + "@redwoodjs/eslint-config": "1.5.2", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/testing": "1.5.2", "babel-loader": "8.2.3", "babel-plugin-auto-import": "1.1.0", "babel-plugin-graphql-tag": "3.3.0", @@ -59,11 +59,11 @@ "babel-plugin-module-resolver": "4.1.0", "babel-timing": "0.9.1", "copy-webpack-plugin": "11.0.0", - "core-js": "3.22.7", + "core-js": "3.22.8", "css-loader": "6.7.1", "css-minimizer-webpack-plugin": "4.0.0", "dotenv-webpack": "7.1.0", - "esbuild": "0.14.42", + "esbuild": "0.14.43", "esbuild-loader": "2.19.0", "fast-glob": "3.2.11", "file-loader": "6.2.0", @@ -78,12 +78,12 @@ "rimraf": "3.0.2", "style-loader": "3.3.1", "svg-react-loader": "0.4.6", - "typescript": "4.7.2", + "typescript": "4.7.3", "url-loader": "4.1.1", "webpack": "5.72.1", "webpack-bundle-analyzer": "4.5.0", - "webpack-cli": "4.9.2", - "webpack-dev-server": "4.9.0", + "webpack-cli": "4.10.0", + "webpack-dev-server": "4.9.2", "webpack-manifest-plugin": "5.0.0", "webpack-merge": "5.8.0", "webpack-retry-chunk-load-plugin": "3.1.1" diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json index 778774c48118..bacfa1e58832 100644 --- a/packages/create-redwood-app/package.json +++ b/packages/create-redwood-app/package.json @@ -1,6 +1,6 @@ { "name": "create-redwood-app", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -24,11 +24,11 @@ "@babel/core": "7.16.7", "@babel/node": "7.16.7", "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/telemetry": "1.5.1", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/telemetry": "1.5.2", "chalk": "4.1.2", "check-node-version": "4.2.1", - "core-js": "3.22.7", + "core-js": "3.22.8", "execa": "5.1.1", "fs-extra": "10.1.0", "listr": "0.14.3", @@ -37,7 +37,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/create-redwood-app/template/api/package.json b/packages/create-redwood-app/template/api/package.json index ccd38df7afbd..477c923e20a3 100644 --- a/packages/create-redwood-app/template/api/package.json +++ b/packages/create-redwood-app/template/api/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "dependencies": { - "@redwoodjs/api": "1.5.1", - "@redwoodjs/graphql-server": "1.5.1" + "@redwoodjs/api": "1.5.2", + "@redwoodjs/graphql-server": "1.5.2" } } diff --git a/packages/create-redwood-app/template/api/src/functions/graphql.ts b/packages/create-redwood-app/template/api/src/functions/graphql.ts index f395c3b0f852..eae529e743da 100644 --- a/packages/create-redwood-app/template/api/src/functions/graphql.ts +++ b/packages/create-redwood-app/template/api/src/functions/graphql.ts @@ -2,10 +2,9 @@ import { createGraphQLHandler } from '@redwoodjs/graphql-server' import directives from 'src/directives/**/*.{js,ts}' import sdls from 'src/graphql/**/*.sdl.{js,ts}' -import services from 'src/services/**/*.{js,ts}' - import { db } from 'src/lib/db' import { logger } from 'src/lib/logger' +import services from 'src/services/**/*.{js,ts}' export const handler = createGraphQLHandler({ loggerConfig: { logger, options: {} }, diff --git a/packages/create-redwood-app/template/package.json b/packages/create-redwood-app/template/package.json index 85920e01bac9..428f32b08ba8 100644 --- a/packages/create-redwood-app/template/package.json +++ b/packages/create-redwood-app/template/package.json @@ -8,7 +8,7 @@ ] }, "devDependencies": { - "@redwoodjs/core": "1.5.1" + "@redwoodjs/core": "1.5.2" }, "eslintConfig": { "extends": "@redwoodjs/eslint-config", diff --git a/packages/create-redwood-app/template/web/package.json b/packages/create-redwood-app/template/web/package.json index 6f6e39f0ac9f..966fb0f7b209 100644 --- a/packages/create-redwood-app/template/web/package.json +++ b/packages/create-redwood-app/template/web/package.json @@ -13,9 +13,9 @@ ] }, "dependencies": { - "@redwoodjs/forms": "1.5.1", - "@redwoodjs/router": "1.5.1", - "@redwoodjs/web": "1.5.1", + "@redwoodjs/forms": "1.5.2", + "@redwoodjs/router": "1.5.2", + "@redwoodjs/web": "1.5.2", "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2" diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 15539f6f4bd4..22daa3bb94ac 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/eslint-config", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -15,7 +15,7 @@ "@babel/core": "7.16.7", "@babel/eslint-parser": "7.16.5", "@babel/eslint-plugin": "7.16.5", - "@redwoodjs/internal": "1.5.1", + "@redwoodjs/internal": "1.5.2", "@typescript-eslint/eslint-plugin": "5.26.0", "@typescript-eslint/parser": "5.26.0", "eslint": "8.16.0", @@ -33,7 +33,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/eslint-config/shared.js b/packages/eslint-config/shared.js index ca9afbef05d9..e4f5865010b1 100644 --- a/packages/eslint-config/shared.js +++ b/packages/eslint-config/shared.js @@ -64,6 +64,39 @@ module.exports = { ], 'react/display-name': 'off', 'react-hooks/exhaustive-deps': 'warn', + 'import/order': [ + 'error', + { + 'newlines-between': 'always', + pathGroupsExcludedImportTypes: ['react'], + pathGroups: [ + { + pattern: 'react', + group: 'builtin', + position: 'after', + }, + { + pattern: '@redwoodjs/**', + group: 'external', + position: 'after', + }, + { + pattern: 'src/lib/test', + group: 'parent', + position: 'before', + }, + { + pattern: 'src/**', + group: 'parent', + position: 'before', + }, + ], + alphabetize: { + order: 'asc', + caseInsensitive: true, + }, + }, + ], }, overrides: [ { diff --git a/packages/forms/package.json b/packages/forms/package.json index 3b718ec4dfeb..7117a9f61459 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/forms", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -22,7 +22,7 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "core-js": "3.22.7", + "core-js": "3.22.8", "pascalcase": "1.0.0", "react-hook-form": "7.31.3" }, @@ -42,7 +42,7 @@ "nodemon": "2.0.16", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "peerDependencies": { "graphql": "16.5.0", diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json index 7d001e3a01a0..a1771a9c1a2c 100644 --- a/packages/graphql-server/package.json +++ b/packages/graphql-server/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/graphql-server", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -23,8 +23,8 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@envelop/depth-limit": "1.5.2", - "@envelop/disable-introspection": "3.3.2", + "@envelop/depth-limit": "1.5.3", + "@envelop/disable-introspection": "3.3.3", "@envelop/filter-operation-type": "3.3.2", "@envelop/parser-cache": "4.3.2", "@envelop/validation-cache": "4.3.2", @@ -32,9 +32,9 @@ "@graphql-tools/schema": "8.3.13", "@graphql-tools/utils": "8.6.12", "@graphql-yoga/common": "2.7.0", - "@prisma/client": "3.14.0", - "@redwoodjs/api": "1.5.1", - "core-js": "3.22.7", + "@prisma/client": "3.15.1", + "@redwoodjs/api": "1.5.2", + "core-js": "3.22.8", "cross-undici-fetch": "0.1.27", "graphql": "16.5.0", "graphql-scalars": "1.17.0", @@ -46,15 +46,15 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@envelop/testing": "4.3.2", + "@envelop/testing": "4.3.3", "@envelop/types": "2.0.0", - "@redwoodjs/auth": "1.5.1", + "@redwoodjs/auth": "1.5.2", "@types/lodash.merge": "4.6.7", "@types/lodash.omitby": "4.6.7", "@types/uuid": "8.3.4", "aws-lambda": "1.0.7", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/graphql-server/src/functions/graphql.ts b/packages/graphql-server/src/functions/graphql.ts index 72fe23947e44..93b9b69c365c 100644 --- a/packages/graphql-server/src/functions/graphql.ts +++ b/packages/graphql-server/src/functions/graphql.ts @@ -3,7 +3,6 @@ import { EnvelopError, FormatErrorHandler, GraphQLYogaError, - useMaskedErrors, } from '@graphql-yoga/common' import type { PluginOrDisabledPlugin } from '@graphql-yoga/common' @@ -163,14 +162,17 @@ export const createGraphQLHandler = ({ plugins.push(...extraPlugins) } - // Must be "last" in plugin chain so can process any data added to results and extensions + // Must be "last" in plugin chain, but before error masking + // so can process any data added to results and extensions plugins.push(useRedwoodLogger(loggerConfig)) - plugins.push(useMaskedErrors({ formatError, errorMessage: defaultError })) const yoga = createServer({ schema, plugins, - maskedErrors: false, + maskedErrors: { + formatError, + errorMessage: defaultError, + }, logging: logger, graphiql: isDevEnv ? { diff --git a/packages/graphql-server/src/plugins/__tests__/useRedwoodLogger.test.ts b/packages/graphql-server/src/plugins/__tests__/useRedwoodLogger.test.ts index 437c0720e440..f3693b830e67 100644 --- a/packages/graphql-server/src/plugins/__tests__/useRedwoodLogger.test.ts +++ b/packages/graphql-server/src/plugins/__tests__/useRedwoodLogger.test.ts @@ -198,13 +198,36 @@ describe('Populates context', () => { expect(errorLogStatement).toHaveProperty('level') expect(errorLogStatement).toHaveProperty('time') expect(errorLogStatement).toHaveProperty('msg') - expect(errorLogStatement).toHaveProperty('error') + expect(errorLogStatement).toHaveProperty('err') expect(errorLogStatement.name).toEqual('graphql-server') expect(errorLogStatement.level).toEqual(50) expect(errorLogStatement.msg).toEqual('You are forbidden') }) + it('Should log an error with type and stack trace info when the resolver raises an exception', async () => { + const loggerConfig = { + logger, + options: {}, + } as LoggerConfig + + const testkit = createTestkit([useRedwoodLogger(loggerConfig)], testSchema) + + await testkit.execute(testErrorQuery, {}, {}) + + await watchFileCreated(logFile) + + const logStatements = parseLogFile(logFile) + + const errorLogStatement = logStatements.pop() + + expect(errorLogStatement).toHaveProperty('err') + expect(errorLogStatement.err).toHaveProperty('stack') + expect(errorLogStatement.err.type).toEqual('GraphQLError') + expect(errorLogStatement.err.path).toContain('forbiddenUser') + expect(errorLogStatement.err.message).toEqual('You are forbidden') + }) + it('Should not log filtered graphql operations', async () => { const loggerConfig = { logger, diff --git a/packages/graphql-server/src/plugins/useRedwoodLogger.ts b/packages/graphql-server/src/plugins/useRedwoodLogger.ts index e4d3a4c5523f..5537fb050a20 100644 --- a/packages/graphql-server/src/plugins/useRedwoodLogger.ts +++ b/packages/graphql-server/src/plugins/useRedwoodLogger.ts @@ -27,7 +27,7 @@ import { RedwoodGraphQLContext } from '../functions/types' type GraphQLLoggerOptions = { /** * Sets log level for GraphQL logging. - * This level setting can be different than the one used in api side logging. + * This level setting can be different from the one used in api side logging. * Defaults to the same level as the logger unless set here. * * Available log levels: @@ -135,19 +135,19 @@ const logResult = error.originalError instanceof ForbiddenError) ) { envelopLogger.warn( - { - error, - }, + error, + `'${error?.extensions?.code || 'authentication'}' error '${ error.message }' occurred in ${operationName}` ) } else { envelopLogger.error( - { - error, - }, - error.message || `Error in GraphQL execution: ${operationName}` + error, + + error?.originalError?.message || + error.message || + `Error in GraphQL execution: ${operationName}` ) } }) diff --git a/packages/internal/package.json b/packages/internal/package.json index a84d5f870cce..d092a9f2b909 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/internal", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -40,13 +40,13 @@ "@graphql-codegen/typescript-operations": "2.4.0", "@graphql-codegen/typescript-react-apollo": "3.2.14", "@graphql-codegen/typescript-resolvers": "2.6.4", - "@redwoodjs/graphql-server": "1.5.1", + "@redwoodjs/graphql-server": "1.5.2", "babel-plugin-graphql-tag": "3.3.0", "babel-plugin-polyfill-corejs3": "0.5.0", "chalk": "4.1.2", - "core-js": "3.22.7", + "core-js": "3.22.8", "deepmerge": "4.2.2", - "esbuild": "0.14.42", + "esbuild": "0.14.43", "fast-glob": "3.2.11", "findup-sync": "5.0.0", "fs-extra": "10.1.0", @@ -70,7 +70,7 @@ "babel-plugin-tester": "10.1.0", "graphql-tag": "2.12.6", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/prerender/README.md b/packages/prerender/README.md new file mode 100644 index 000000000000..ce0045ac4306 --- /dev/null +++ b/packages/prerender/README.md @@ -0,0 +1,20 @@ +# Prerender + +- [Prerender](#prerender) + - [Purpose and Vision](#purpose-and-vision) + - [Package Leads](#package-leads) + - [Contributing](#contributing) + +## Purpose and Vision + +Build-time prerender for pages that don't have dynamic content. See: +https://redwoodjs.com/docs/prerender + +## Package Leads + +- Daniel Choudhury (@dac09) + +## Contributing + +**ToDo** + diff --git a/packages/prerender/package.json b/packages/prerender/package.json index 0a939525b552..4d7a180736fe 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/prerender", - "version": "1.5.1", + "version": "1.5.2", "description": "RedwoodJS prerender", "repository": { "type": "git", @@ -25,14 +25,14 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/auth": "1.5.1", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/router": "1.5.1", - "@redwoodjs/structure": "1.5.1", - "@redwoodjs/web": "1.5.1", + "@redwoodjs/auth": "1.5.2", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/router": "1.5.2", + "@redwoodjs/structure": "1.5.2", + "@redwoodjs/web": "1.5.2", "babel-plugin-ignore-html-and-css-imports": "0.1.0", "cheerio": "1.0.0-rc.11", - "core-js": "3.22.7", + "core-js": "3.22.8", "cross-undici-fetch": "0.1.27", "mime-types": "2.1.35" }, @@ -42,7 +42,7 @@ "@types/mime-types": "2.1.1", "babel-plugin-tester": "10.1.0", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "peerDependencies": { "react": "17.0.2", diff --git a/packages/record/README.md b/packages/record/README.md index aeda3c136403..e1b4fdc77295 100644 --- a/packages/record/README.md +++ b/packages/record/README.md @@ -6,7 +6,7 @@ RedwoodRecord is heavily inspired by [ActiveRecord](https://guides.rubyonrails.o ## Usage -Usage documentation is avilable at https://redwoodjs.com/docs/redwoodrecord +Usage documentation is available at https://redwoodjs.com/docs/redwoodrecord ## Package Structure diff --git a/packages/record/package.json b/packages/record/package.json index 48ed662414f8..ce86881a603a 100644 --- a/packages/record/package.json +++ b/packages/record/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/record", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -28,14 +28,14 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@prisma/client": "3.14.0", - "core-js": "3.22.7" + "@prisma/client": "3.15.1", + "core-js": "3.22.8" }, "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@prisma/sdk": "3.14.0", - "esbuild": "0.14.42", + "@prisma/sdk": "3.15.1", + "esbuild": "0.14.43", "jest": "27.5.1" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/record/src/redwoodrecord/Core.js b/packages/record/src/redwoodrecord/Core.js index 73332742efa6..0d36b7a15150 100644 --- a/packages/record/src/redwoodrecord/Core.js +++ b/packages/record/src/redwoodrecord/Core.js @@ -9,7 +9,7 @@ export default class Core { // Set in child class to override DB accessor name. This is the name of the // property you would call on an instance of Prisma Client in order the query - // a model in your schema. ie. For the call `db.user` the accessorName is + // a model in your schema. i.e. For the call `db.user` the accessorName is // "user". Not setting this property will use the default camelCase version of // the class name itself as the accessor. // diff --git a/packages/router/package.json b/packages/router/package.json index f362b98ac8d0..9278cc651614 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/router", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -24,8 +24,8 @@ "dependencies": { "@babel/runtime-corejs3": "7.16.7", "@reach/skip-nav": "0.16.0", - "@redwoodjs/auth": "1.5.1", - "core-js": "3.22.7", + "@redwoodjs/auth": "1.5.2", + "core-js": "3.22.8", "lodash.isequal": "4.5.0" }, "devDependencies": { @@ -38,7 +38,7 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/router/src/__tests__/route-announcer.test.tsx b/packages/router/src/__tests__/route-announcer.test.tsx index cccd1a81c40a..6f5535133692 100644 --- a/packages/router/src/__tests__/route-announcer.test.tsx +++ b/packages/router/src/__tests__/route-announcer.test.tsx @@ -1,10 +1,10 @@ import { render, waitFor, act } from '@testing-library/react' import '@testing-library/jest-dom/extend-expect' +import { getAnnouncement } from '../a11yUtils' import { navigate } from '../history' import RouteAnnouncement from '../route-announcement' import { Router, Route, routes } from '../router' -import { getAnnouncement } from '../util' // SETUP const HomePage = () =>

      Home Page

      diff --git a/packages/router/src/__tests__/route-focus.test.tsx b/packages/router/src/__tests__/route-focus.test.tsx index d455b825b6cf..04c517b23896 100644 --- a/packages/router/src/__tests__/route-focus.test.tsx +++ b/packages/router/src/__tests__/route-focus.test.tsx @@ -1,9 +1,9 @@ import { render, waitFor } from '@testing-library/react' import '@testing-library/jest-dom/extend-expect' +import { getFocus } from '../a11yUtils' import RouteFocus from '../route-focus' import { Router, Route, routes } from '../router' -import { getFocus } from '../util' // SETUP const RouteFocusPage = () => ( diff --git a/packages/router/src/a11yUtils.ts b/packages/router/src/a11yUtils.ts new file mode 100644 index 000000000000..bced02a38104 --- /dev/null +++ b/packages/router/src/a11yUtils.ts @@ -0,0 +1,52 @@ +/** + * gets the announcement for the new page. + * called in one of active-route-loader's `useEffect`. + * + * the order of priority is: + * 1. RouteAnnouncement (the most specific one) + * 2. h1 + * 3. document.title + * 4. location.pathname + */ +export const getAnnouncement = () => { + const routeAnnouncement = global?.document.querySelectorAll( + '[data-redwood-route-announcement]' + )?.[0] + if (routeAnnouncement?.textContent) { + return routeAnnouncement.textContent + } + + const pageHeading = global?.document.querySelector(`h1`) + if (pageHeading?.textContent) { + return pageHeading.textContent + } + + if (global?.document.title) { + return document.title + } + + return `new page at ${global?.location.pathname}` +} + +export const getFocus = () => { + const routeFocus = global?.document.querySelectorAll( + '[data-redwood-route-focus]' + )?.[0] + + if ( + !routeFocus || + !routeFocus.children.length || + (routeFocus.children[0] as HTMLElement).tabIndex < 0 + ) { + return null + } + + return routeFocus.children[0] as HTMLElement +} + +// note: tried document.activeElement.blur(), but that didn't reset the focus flow +export const resetFocus = () => { + global?.document.body.setAttribute('tabindex', '-1') + global?.document.body.focus() + global?.document.body.removeAttribute('tabindex') +} diff --git a/packages/router/src/active-route-loader.tsx b/packages/router/src/active-route-loader.tsx index d1293fa754de..1fb3cb6477d9 100644 --- a/packages/router/src/active-route-loader.tsx +++ b/packages/router/src/active-route-loader.tsx @@ -2,13 +2,14 @@ import React, { useRef, useState, useEffect } from 'react' import { unstable_batchedUpdates } from 'react-dom' +import { getAnnouncement, getFocus, resetFocus } from './a11yUtils' import { ActivePageContextProvider, LoadingStateRecord, } from './ActivePageContext' import { PageLoadingContextProvider } from './PageLoadingContext' import { useIsMounted } from './useIsMounted' -import { Spec, getAnnouncement, getFocus, resetFocus } from './util' +import { Spec } from './util' import { ParamsProvider, useLocation } from '.' diff --git a/packages/router/src/util.ts b/packages/router/src/util.ts index 52cca41ed8f7..7df314f717de 100644 --- a/packages/router/src/util.ts +++ b/packages/router/src/util.ts @@ -1,7 +1,7 @@ import React, { Children, ReactElement, ReactNode } from 'react' /** Create a React Context with the given name. */ -const createNamedContext = (name: string, defaultValue?: T) => { +export const createNamedContext = (name: string, defaultValue?: T) => { const Ctx = React.createContext(defaultValue) Ctx.displayName = name return Ctx @@ -17,6 +17,8 @@ const createNamedContext = (name: string, defaultValue?: T) => { * ['day', 'Int', '{day:Int}'], * ['filePath', 'Glob', '{filePath...}'] * ] + * + * Only exported to be able to test it */ export const paramsForRoute = (route: string) => { // Match the strings between `{` and `}`. @@ -95,7 +97,7 @@ type SupportedRouterParamTypes = keyof typeof coreParamTypes * matchPath('/post/{id:Int}', '/post/7') * => { match: true, params: { id: 7 }} */ -const matchPath = ( +export const matchPath = ( route: string, pathname: string, paramTypes?: Record @@ -161,7 +163,7 @@ const matchPath = ( * @fixme * This utility ignores keys with multiple values such as `?foo=1&foo=2`. */ -const parseSearch = ( +export const parseSearch = ( search: | string | string[][] @@ -185,7 +187,7 @@ const parseSearch = ( * are found, a descriptive Error will be thrown, as problems with routes are * critical enough to be considered fatal. */ -const validatePath = (path: string) => { +export const validatePath = (path: string) => { // Check that path begins with a slash. if (!path.startsWith('/')) { throw new Error(`Route path does not begin with a slash: "${path}"`) @@ -219,7 +221,10 @@ const validatePath = (path: string) => { * replaceParams('/tags/{tag}', { tag: 'code', extra: 'foo' }) * => '/tags/code?extra=foo */ -const replaceParams = (route: string, args: Record = {}) => { +export const replaceParams = ( + route: string, + args: Record = {} +) => { const params = paramsForRoute(route) let path = route @@ -251,7 +256,7 @@ const replaceParams = (route: string, args: Record = {}) => { return path } -function isReactElement(node: ReactNode): node is ReactElement { +export function isReactElement(node: ReactNode): node is ReactElement { return ( node !== undefined && node !== null && @@ -259,7 +264,7 @@ function isReactElement(node: ReactNode): node is ReactElement { ) } -function flattenAll(children: ReactNode): ReactNode[] { +export function flattenAll(children: ReactNode): ReactNode[] { const childrenArray = Children.toArray(children) return childrenArray.flatMap((child) => { @@ -287,7 +292,7 @@ function flattenAll(children: ReactNode): ReactNode[] { * => [ { key1: 'val1' }, { key2: 'val2' } ] * */ -function flattenSearchParams( +export function flattenSearchParams( queryString: string ): Array> { const searchParams = [] @@ -299,70 +304,6 @@ function flattenSearchParams( return searchParams } -export { - createNamedContext, - matchPath, - parseSearch, - validatePath, - replaceParams, - isReactElement, - flattenAll, - flattenSearchParams, -} - -/** - * gets the announcement for the new page. - * called in one of active-route-loader's `useEffect`. - * - * the order of priority is: - * 1. RouteAnnouncement (the most specific one) - * 2. h1 - * 3. document.title - * 4. location.pathname - */ -export const getAnnouncement = () => { - const routeAnnouncement = global?.document.querySelectorAll( - '[data-redwood-route-announcement]' - )?.[0] - if (routeAnnouncement?.textContent) { - return routeAnnouncement.textContent - } - - const pageHeading = global?.document.querySelector(`h1`) - if (pageHeading?.textContent) { - return pageHeading.textContent - } - - if (global?.document.title) { - return document.title - } - - return `new page at ${global?.location.pathname}` -} - -export const getFocus = () => { - const routeFocus = global?.document.querySelectorAll( - '[data-redwood-route-focus]' - )?.[0] - - if ( - !routeFocus || - !routeFocus.children.length || - (routeFocus.children[0] as HTMLElement).tabIndex < 0 - ) { - return null - } - - return routeFocus.children[0] as HTMLElement -} - -// note: tried document.activeElement.blur(), but that didn't reset the focus flow -export const resetFocus = () => { - global?.document.body.setAttribute('tabindex', '-1') - global?.document.body.focus() - global?.document.body.removeAttribute('tabindex') -} - export interface Spec { name: string loader: () => Promise<{ default: React.ComponentType }> diff --git a/packages/structure/package.json b/packages/structure/package.json index 3473119a34f1..b67036aa4a9b 100644 --- a/packages/structure/package.json +++ b/packages/structure/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/structure", - "version": "1.5.1", + "version": "1.5.2", "description": "noun: the arrangement of and relations between the parts or elements of something complex", "repository": { "type": "git", @@ -31,11 +31,11 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@prisma/sdk": "3.14.0", - "@redwoodjs/internal": "1.5.1", + "@prisma/sdk": "3.15.1", + "@redwoodjs/internal": "1.5.2", "@types/line-column": "1.0.0", "camelcase": "6.3.0", - "core-js": "3.22.7", + "core-js": "3.22.8", "deepmerge": "4.2.2", "dotenv-defaults": "5.0.0", "enquirer": "2.3.6", @@ -48,9 +48,9 @@ "lru-cache": "6.0.0", "proxyquire": "2.1.3", "toml": "3.0.0", - "ts-morph": "14.0.0", + "ts-morph": "15.1.0", "vscode-languageserver": "6.1.1", - "vscode-languageserver-textdocument": "1.0.4", + "vscode-languageserver-textdocument": "1.0.5", "vscode-languageserver-types": "3.17.1", "yargs-parser": "21.0.1" }, @@ -63,7 +63,7 @@ "@types/node": "16.11.38", "@types/vscode": "1.67.0", "jest": "27.5.1", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index ca3ac5c596b7..e1e34d941b31 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/telemetry", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -27,10 +27,10 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/structure": "1.5.1", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/structure": "1.5.2", "ci-info": "3.3.1", - "core-js": "3.22.7", + "core-js": "3.22.8", "cross-undici-fetch": "0.1.27", "envinfo": "7.8.1", "systeminformation": "5.11.16", diff --git a/packages/testing/package.json b/packages/testing/package.json index 175e1c043c95..04bc40fd0b67 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/testing", - "version": "1.5.1", + "version": "1.5.2", "description": "Tools, wrappers and configuration for testing a Redwood project.", "repository": { "type": "git", @@ -27,31 +27,31 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/auth": "1.5.1", - "@redwoodjs/graphql-server": "1.5.1", - "@redwoodjs/internal": "1.5.1", - "@redwoodjs/router": "1.5.1", - "@redwoodjs/web": "1.5.1", - "@storybook/addon-a11y": "6.5.5", - "@storybook/addon-docs": "6.5.5", - "@storybook/addon-essentials": "6.5.5", - "@storybook/builder-webpack5": "6.5.5", - "@storybook/manager-webpack5": "6.5.5", - "@storybook/react": "6.5.5", + "@redwoodjs/auth": "1.5.2", + "@redwoodjs/graphql-server": "1.5.2", + "@redwoodjs/internal": "1.5.2", + "@redwoodjs/router": "1.5.2", + "@redwoodjs/web": "1.5.2", + "@storybook/addon-a11y": "6.5.8", + "@storybook/addon-docs": "6.5.8", + "@storybook/addon-essentials": "6.5.8", + "@storybook/builder-webpack5": "6.5.8", + "@storybook/manager-webpack5": "6.5.8", + "@storybook/react": "6.5.8", "@testing-library/jest-dom": "5.16.4", "@testing-library/react": "12.1.5", "@testing-library/react-hooks": "8.0.0", "@testing-library/user-event": "14.2.0", "@types/aws-lambda": "8.10.97", "@types/babel-core": "6.25.7", - "@types/jest": "27.5.1", + "@types/jest": "27.5.2", "@types/node": "16.11.38", "@types/react": "17.0.45", "@types/react-dom": "17.0.17", "@types/webpack": "5.28.0", "babel-jest": "27.5.1", "babel-plugin-inline-react-svg": "2.0.1", - "core-js": "3.22.7", + "core-js": "3.22.8", "jest": "27.5.1", "jest-watch-typeahead": "1.1.0", "msw": "0.40.2", @@ -61,7 +61,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/web/package.json b/packages/web/package.json index de3e67daf0ac..f0545414d373 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/web", - "version": "1.5.1", + "version": "1.5.2", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -36,10 +36,10 @@ "test:watch": "yarn test --watch" }, "dependencies": { - "@apollo/client": "3.6.6", + "@apollo/client": "3.6.8", "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/auth": "1.5.1", - "core-js": "3.22.7", + "@redwoodjs/auth": "1.5.2", + "core-js": "3.22.8", "graphql": "16.5.0", "graphql-tag": "2.12.6", "react-helmet-async": "1.3.0", @@ -61,7 +61,7 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.7.2" + "typescript": "4.7.3" }, "peerDependencies": { "prop-types": "15.8.1", diff --git a/yarn.lock b/yarn.lock index 13a3f8b35165..61f53e05e6dd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,9 +48,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:3.6.6": - version: 3.6.6 - resolution: "@apollo/client@npm:3.6.6" +"@apollo/client@npm:3.6.8": + version: 3.6.8 + resolution: "@apollo/client@npm:3.6.8" dependencies: "@graphql-typed-document-node/core": ^3.1.1 "@wry/context": ^0.6.0 @@ -76,7 +76,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: aeef464741353cc247560e07c1d6991cdd7a97072399c2888267ede80eda97c9bba39f5f641290354d1c1343986ccbf9eb511533866c5f212ea37f0b8dfdd553 + checksum: 600342755e32ce6a729206c4668158d21535df93317fe947abc115a217d877be39bcbc071acd1d8e5294d1682c4337c6ce3c0dca609f920039c25088f8cdc927 languageName: node linkType: hard @@ -1957,15 +1957,15 @@ __metadata: languageName: node linkType: hard -"@clerk/backend-core@npm:^1.9.0": - version: 1.9.0 - resolution: "@clerk/backend-core@npm:1.9.0" +"@clerk/backend-core@npm:^1.9.1": + version: 1.9.1 + resolution: "@clerk/backend-core@npm:1.9.1" dependencies: - "@clerk/types": ^2.14.0 + "@clerk/types": ^2.15.0 query-string: ^7.0.1 snakecase-keys: ^5.1.2 tslib: ^2.3.1 - checksum: bf4020d7f50112aa2fd185426275798c66ee8b05cf7fde42275a4f12298d85eb0eb11c62c39ec75bd4a2710a8945493a2a73ec81bb52b2843f437012ff12ff81 + checksum: b31413b54e7edc917d8a1b39b775bf95a57c4dfcce6b60f64f1a1e58a3f87c733d1f5e989f01ce44f57dcbd538eaca1fd4dd77ad39e54bdd4e77a7fa464c6dfb languageName: node linkType: hard @@ -1989,12 +1989,12 @@ __metadata: languageName: node linkType: hard -"@clerk/clerk-sdk-node@npm:3.6.0": - version: 3.6.0 - resolution: "@clerk/clerk-sdk-node@npm:3.6.0" +"@clerk/clerk-sdk-node@npm:3.6.1": + version: 3.6.1 + resolution: "@clerk/clerk-sdk-node@npm:3.6.1" dependencies: - "@clerk/backend-core": ^1.9.0 - "@clerk/types": ^2.14.0 + "@clerk/backend-core": ^1.9.1 + "@clerk/types": ^2.15.0 "@peculiar/webcrypto": ^1.2.3 camelcase-keys: ^6.2.2 cookies: ^0.8.0 @@ -2004,17 +2004,24 @@ __metadata: jwks-rsa: ^2.0.4 snakecase-keys: ^3.2.1 tslib: ^2.3.1 - checksum: ebec37c447612e9db2ebc401f6f7673a483c2585db64a461c77ee38c481b9042a950a39c350daf596d5964ebfac93c8802fd0ed6a22a593e088874e5082005cd + checksum: 38d868db10a147d7d5effdb929830d1874dcac7d43015bc56f9868263e917e942e3ab5ef960174c3a92bc998504b0cd9ea807deb11a640aa17f28583e71c08a0 languageName: node linkType: hard -"@clerk/types@npm:2.14.0, @clerk/types@npm:^2.14.0": +"@clerk/types@npm:2.14.0": version: 2.14.0 resolution: "@clerk/types@npm:2.14.0" checksum: 37b9fb4c6412c2cbaffcbb5740087efc0ba5817a8c1e7b37007e8ab9b0d83f48427e278ce9e16cd5b72c6f92ec4053885ee5a15602f6856b9a2b23377f7d5444 languageName: node linkType: hard +"@clerk/types@npm:^2.14.0, @clerk/types@npm:^2.15.0": + version: 2.15.0 + resolution: "@clerk/types@npm:2.15.0" + checksum: 101794bc53f36f362896a975c8086fd033a4b53044d3777b3530792e04febb4e23903767dfd79651aba2776efb1b6527d4d35bd68763f6cf47173da6fe90e52b + languageName: node + linkType: hard + "@cnakazawa/watch@npm:^1.0.3": version: 1.0.4 resolution: "@cnakazawa/watch@npm:1.0.4" @@ -2186,25 +2193,25 @@ __metadata: languageName: node linkType: hard -"@envelop/depth-limit@npm:1.5.2": - version: 1.5.2 - resolution: "@envelop/depth-limit@npm:1.5.2" +"@envelop/depth-limit@npm:1.5.3": + version: 1.5.3 + resolution: "@envelop/depth-limit@npm:1.5.3" dependencies: graphql-depth-limit: ^1.1.0 peerDependencies: - "@envelop/core": ^2.3.2 + "@envelop/core": ^2.3.3 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: ae4a41377aa8d64a152486e31d846cda4c1442f3218e6fb066cfa9239aaf1bbcd6e2268cf55c740672f6d91058633d3d268ea8e39bb6578297d20180e7c69423 + checksum: 9c584117970f2bb506c48e122826816f16d29a8959f0366f5dabf6b4776ea4cde270a54d0ba2a7df367938b7b827ba4e4ca6ad27a72b30e841a10f2fef8b07f9 languageName: node linkType: hard -"@envelop/disable-introspection@npm:3.3.2": - version: 3.3.2 - resolution: "@envelop/disable-introspection@npm:3.3.2" +"@envelop/disable-introspection@npm:3.3.3": + version: 3.3.3 + resolution: "@envelop/disable-introspection@npm:3.3.3" peerDependencies: - "@envelop/core": ^2.3.2 + "@envelop/core": ^2.3.3 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: f0a0be9e814cf6f6cf5edcaf520c1433c7775c0b0772a846346443c67bd24848fe3cc28987697a0908bd7ee876f83c7110ec45352d4368d17d0724e9bf5849d8 + checksum: 345a08e4b49756abdf57f9e5e4f7ffbb1c8522264709d65958204191bc0c506c2c93daa486939642f99932ea206678dfeb1d3b56f87edacb520d0bbe4bebf0c9 languageName: node linkType: hard @@ -2230,16 +2237,16 @@ __metadata: languageName: node linkType: hard -"@envelop/testing@npm:4.3.2": - version: 4.3.2 - resolution: "@envelop/testing@npm:4.3.2" +"@envelop/testing@npm:4.3.3": + version: 4.3.3 + resolution: "@envelop/testing@npm:4.3.3" dependencies: "@graphql-tools/utils": ^8.6.1 peerDependencies: - "@envelop/core": ^2.3.2 - "@envelop/types": ^2.2.0 + "@envelop/core": ^2.3.3 + "@envelop/types": ^2.2.1 graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - checksum: e438bf1adcaaf2c2adb717ce946ff35a80b34b89777f9ffc468d1b67b942f460274be5a1fcebfc810ec0e200af2bf3994f4ecfd0e9db7fece6e8937bef4dd76e + checksum: 50d7a4bff750793e6bb090e71ae06f24fd293075990a0850f274e3ba50a7c0b92d7f9835a27ae848db100410a29ab9ca694e7486a72164c74a69a88081d4d724 languageName: node linkType: hard @@ -4951,25 +4958,25 @@ __metadata: languageName: node linkType: hard -"@nhost/core@npm:0.6.2": - version: 0.6.2 - resolution: "@nhost/core@npm:0.6.2" +"@nhost/core@npm:0.6.5": + version: 0.6.5 + resolution: "@nhost/core@npm:0.6.5" dependencies: axios: ^0.27.2 js-cookie: ^3.0.1 xstate: ^4.31.0 - checksum: 3d4f4547362e3a68b2e8e032946c93cffdaf70467e7db77f633f648faae9ac390da3e870a09280a5af7f7cdef8bec1eb2797479ac04e69a99c9b9b30a3d7b975 + checksum: b6cfb1e2b7ba3ba1f12b2cf93461d1a6dcb4222099cc948ba9899b47f311577227d2ac4b95aac1cd90331c1920fb0a4a7c156c780f0073c8440d41d86e972ea1 languageName: node linkType: hard -"@nhost/hasura-auth-js@npm:1.1.11": - version: 1.1.11 - resolution: "@nhost/hasura-auth-js@npm:1.1.11" +"@nhost/hasura-auth-js@npm:1.1.14": + version: 1.1.14 + resolution: "@nhost/hasura-auth-js@npm:1.1.14" dependencies: - "@nhost/core": 0.6.2 + "@nhost/core": 0.6.5 jwt-decode: ^3.1.2 xstate: ^4.31.0 - checksum: 1724243bb3cc26412b055e7ccd82e9fc834d3141d5f5ff9e31760b2635f80e6cb4e1a0c161b8d9d117bf2e6a21eae81c2e97f51a120b522323ff91b4269a9e29 + checksum: 1504b9235b5e832af215f5b7868186d185331cb9285babb45ddeeab5ecd0dc8795f5a5feec3020673cacaf78c16c5c846bc484271079f0d79aa35659bb58fcea languageName: node linkType: hard @@ -5587,50 +5594,50 @@ __metadata: languageName: node linkType: hard -"@prisma/client@npm:3.14.0": - version: 3.14.0 - resolution: "@prisma/client@npm:3.14.0" +"@prisma/client@npm:3.15.1": + version: 3.15.1 + resolution: "@prisma/client@npm:3.15.1" dependencies: - "@prisma/engines-version": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a + "@prisma/engines-version": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e peerDependencies: prisma: "*" peerDependenciesMeta: prisma: optional: true - checksum: 73de113bdeea256560b6091f206ca75ca2323afda54632351ba8963e1592fc94da5bceb3b11b854d1e95d1ef5154164020a3e51a349b457161379eed47d59ad8 + checksum: cf3f974a81dbb0fa79425667bbaa77b080cc4ced71be518568ed0d377573a747f353d7e0cc3d6e427243d2d61966546914f7a344d7f03bd8ed937142f505e900 languageName: node linkType: hard -"@prisma/debug@npm:3.13.0": - version: 3.13.0 - resolution: "@prisma/debug@npm:3.13.0" +"@prisma/debug@npm:3.14.0": + version: 3.14.0 + resolution: "@prisma/debug@npm:3.14.0" dependencies: "@types/debug": 4.1.7 ms: 2.1.3 strip-ansi: 6.0.1 - checksum: 03250dedfd0329fdead4db08a461b4c91ef23298f90d1514964bfe8ad46971a1ba05d0bbc534e2b42ced6e80acc83921fd94098f17089b05f890b71735a2e9da + checksum: 087275a5c82125beb427dfa71141d45f3e8be1736f46294a1c6f16a2e8539aa2bed60604689d8ca6b90c55d47c165edae9cb01f9a99f55863c7841b420ab9751 languageName: node linkType: hard -"@prisma/debug@npm:3.14.0": - version: 3.14.0 - resolution: "@prisma/debug@npm:3.14.0" +"@prisma/debug@npm:3.15.1": + version: 3.15.1 + resolution: "@prisma/debug@npm:3.15.1" dependencies: "@types/debug": 4.1.7 - ms: 2.1.3 + debug: 4.3.4 strip-ansi: 6.0.1 - checksum: 087275a5c82125beb427dfa71141d45f3e8be1736f46294a1c6f16a2e8539aa2bed60604689d8ca6b90c55d47c165edae9cb01f9a99f55863c7841b420ab9751 + checksum: b8562f40bd08d4fe802f175807e0489584e032a2bf10a32366dd8f8d1aa87734b24cd35c803cb1b3643bc0144a9b6182d3dfce3b3d4dc1fca3f3f2e421c24efb languageName: node linkType: hard -"@prisma/engine-core@npm:3.14.0": - version: 3.14.0 - resolution: "@prisma/engine-core@npm:3.14.0" +"@prisma/engine-core@npm:3.15.1": + version: 3.15.1 + resolution: "@prisma/engine-core@npm:3.15.1" dependencies: - "@prisma/debug": 3.14.0 - "@prisma/engines": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - "@prisma/generator-helper": 3.14.0 - "@prisma/get-platform": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a + "@prisma/debug": 3.15.1 + "@prisma/engines": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + "@prisma/generator-helper": 3.15.1 + "@prisma/get-platform": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e chalk: 4.1.2 execa: 5.1.1 get-stream: 6.0.1 @@ -5638,31 +5645,31 @@ __metadata: new-github-issue-url: 0.2.1 p-retry: 4.6.2 strip-ansi: 6.0.1 - undici: 5.0.0 - checksum: 5a928b90395aaf32d2201dd5357152b43018b0dc09a05611d9a738dad784021b5bf540dd47cdbca931db1e9f5783601e4a8eaee1e1b8ec63f4db394d49f6d1e0 + undici: 5.1.1 + checksum: c96284df78c75d027f1a714e85dee630beefc22a4d5a11f00dc31f4d64e1927f1ade1e5e6ebcd182bf6e775738954a0461ace8be19f6e4b56207363c733fa83f languageName: node linkType: hard -"@prisma/engines-version@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version: 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - resolution: "@prisma/engines-version@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - checksum: 8fafd3eafc941347e4111beef0f8428b14101d3153073e46d09f8ac89e6db9cfe4426c86fd8b7054bbbb5b05b143c9cd426a83eabee43afd7c471af400d51b3b +"@prisma/engines-version@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e": + version: 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + resolution: "@prisma/engines-version@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e" + checksum: aaa229a8fce941b1611bd9c7fd0234d1f897b6664c8a827766657e36a399962504cf95fc713264e838f1abe69afd9d2af9934b0dafb8352b8a22816695dc38fe languageName: node linkType: hard -"@prisma/engines@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version: 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - resolution: "@prisma/engines@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" - checksum: 6f71a82fb2e7dffb83fec88a68acf031f6f7fe2a11f570ef4140a637f170f8c7205da82dd841a6ad954de8f140e227f9cdd200b903f57529ae14738bb2bcfae0 +"@prisma/engines@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e": + version: 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + resolution: "@prisma/engines@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e" + checksum: 05d5a9bbfa824afad6a854ca9ebeb589e5cffe4232d6ff209a1a07208c9620704e17243de41bbecbe4d80e76b0d133d3ff935c701bfe3fa5e2d898e3d4050e19 languageName: node linkType: hard -"@prisma/fetch-engine@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version: 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - resolution: "@prisma/fetch-engine@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" +"@prisma/fetch-engine@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e": + version: 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + resolution: "@prisma/fetch-engine@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e" dependencies: - "@prisma/debug": 3.13.0 - "@prisma/get-platform": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a + "@prisma/debug": 3.14.0 + "@prisma/get-platform": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e chalk: 4.1.2 execa: 5.1.1 find-cache-dir: 3.3.2 @@ -5678,56 +5685,59 @@ __metadata: rimraf: 3.0.2 temp-dir: 2.0.0 tempy: 1.0.1 - checksum: 851bd9fcabc34ce2ee2118209357cc5e63fde6f2c7b9de4d717206730778269c6163ebd9c0cf86412b47769f21a7c1fd69ee23cff3d8d6109f7cd1cff6648217 + checksum: 1044e17bfbb983f6a9d9d7063ce2b9d98f4c9c18634f40dbc96007321a293f5ab8a8c5d45c31439ebaf392065292039024710a0234a687ce6058d6f450284947 languageName: node linkType: hard -"@prisma/generator-helper@npm:3.14.0": - version: 3.14.0 - resolution: "@prisma/generator-helper@npm:3.14.0" +"@prisma/generator-helper@npm:3.15.1": + version: 3.15.1 + resolution: "@prisma/generator-helper@npm:3.15.1" dependencies: - "@prisma/debug": 3.14.0 + "@prisma/debug": 3.15.1 "@types/cross-spawn": 6.0.2 chalk: 4.1.2 cross-spawn: 7.0.3 - checksum: 09ef640653d2d4717f26e192646b8a9a00cc8e55a8de186ffd937b9b2b245ca3ea727709eb012d33a5d93b200c6c6d1db42aeac231911b56a2bc364990961eab + checksum: b1a4a53d5722ed20e67da675df7766afd740acf3a8a3246e4d20121b8ab5f69b7aaaa6232390c46652bb9d5fd06a2fd4af1ae8a3dfc15fb9680beb946f0884ff languageName: node linkType: hard -"@prisma/get-platform@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a": - version: 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - resolution: "@prisma/get-platform@npm:3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a" +"@prisma/get-platform@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e": + version: 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + resolution: "@prisma/get-platform@npm:3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e" dependencies: - "@prisma/debug": 3.13.0 - checksum: 0451e48daa25beebe23f88eb4be14f28476a493427a4c6a45b3317a0dbc838b7d225e31af546179418f9fa50b1b4b2022a2b04c197dc98479f4d2cb2f8b17c99 + "@prisma/debug": 3.14.0 + checksum: 18be5cb6302a0d1d92faab6866b2137d32ad4e11fb4283131fce1707707788060df8931e9ab3532a3946dcdab49872434f12422514435d33e1cd557488230f01 languageName: node linkType: hard -"@prisma/sdk@npm:3.14.0": - version: 3.14.0 - resolution: "@prisma/sdk@npm:3.14.0" - dependencies: - "@prisma/debug": 3.14.0 - "@prisma/engine-core": 3.14.0 - "@prisma/engines": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - "@prisma/fetch-engine": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a - "@prisma/generator-helper": 3.14.0 - "@prisma/get-platform": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a +"@prisma/sdk@npm:3.15.1": + version: 3.15.1 + resolution: "@prisma/sdk@npm:3.15.1" + dependencies: + "@prisma/debug": 3.15.1 + "@prisma/engine-core": 3.15.1 + "@prisma/engines": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + "@prisma/fetch-engine": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e + "@prisma/generator-helper": 3.15.1 + "@prisma/get-platform": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e "@timsuchanek/copy": 1.4.5 archiver: 5.3.1 arg: 5.0.1 chalk: 4.1.2 checkpoint-client: 1.1.21 cli-truncate: 2.1.0 - dotenv: 16.0.0 + dotenv: 16.0.1 escape-string-regexp: 4.0.0 execa: 5.1.1 find-up: 5.0.0 + fp-ts: 2.12.1 fs-jetpack: 4.3.1 global-dirs: 3.0.0 globby: 11.1.0 has-yarn: 2.1.0 is-ci: 3.0.1 + is-windows: ^1.0.2 + is-wsl: ^2.2.0 make-dir: 3.1.0 new-github-issue-url: 0.2.1 node-fetch: 2.6.7 @@ -5750,7 +5760,7 @@ __metadata: terminal-link: 2.1.1 tmp: 0.2.1 ts-pattern: ^4.0.1 - checksum: 3a2fd6dac7da8217cfd83158b0fb04ce0fc98b5cea04ec3f2144bee8588c1c019db94edc67e3f7241bd5b9c4d66d7e49f31727722aafeaed2ca2119ab4441dcb + checksum: 8848d7bec569cf906578834441db8f533f1a0be184c1e6ad6898817e1170701a02ba67bab97c4cd681bb451f381785b1e946fddd0eda0367a101dd339b0fac1c languageName: node linkType: hard @@ -5853,7 +5863,7 @@ __metadata: languageName: node linkType: hard -"@redwoodjs/api-server@1.5.1, @redwoodjs/api-server@workspace:packages/api-server": +"@redwoodjs/api-server@1.5.2, @redwoodjs/api-server@workspace:packages/api-server": version: 0.0.0-use.local resolution: "@redwoodjs/api-server@workspace:packages/api-server" dependencies: @@ -5873,7 +5883,7 @@ __metadata: aws-lambda: 1.0.7 chalk: 4.1.2 chokidar: 3.5.3 - core-js: 3.22.7 + core-js: 3.22.8 fast-json-parse: 1.0.3 fastify: 3.29.0 fastify-raw-body: 3.2.0 @@ -5883,7 +5893,7 @@ __metadata: pretty-ms: 7.0.1 qs: 6.10.3 split2: 4.1.0 - typescript: 4.7.2 + typescript: 4.7.3 yargs: 17.5.1 bin: rw-api-server-watch: ./dist/watch.js @@ -5892,16 +5902,16 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/api@1.5.1, @redwoodjs/api@workspace:packages/api": +"@redwoodjs/api@1.5.2, @redwoodjs/api@workspace:packages/api": version: 0.0.0-use.local resolution: "@redwoodjs/api@workspace:packages/api" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@clerk/clerk-sdk-node": 3.6.0 - "@prisma/client": 3.14.0 - "@redwoodjs/auth": 1.5.1 + "@clerk/clerk-sdk-node": 3.6.1 + "@prisma/client": 3.15.1 + "@redwoodjs/auth": 1.5.2 "@simplewebauthn/server": ^5.2.1 "@types/aws-lambda": 8.10.97 "@types/crypto-js": 4.1.1 @@ -5912,7 +5922,7 @@ __metadata: "@types/uuid": 8.3.4 aws-lambda: 1.0.7 base64url: ^3.0.1 - core-js: 3.22.7 + core-js: 3.22.8 cross-undici-fetch: 0.1.27 crypto-js: 4.1.1 humanize-string: 2.1.0 @@ -5924,10 +5934,10 @@ __metadata: pino: 7.11.0 split2: 4.1.0 title-case: 3.0.3 - typescript: 4.7.2 + typescript: 4.7.3 uuid: 8.3.2 peerDependencies: - "@clerk/clerk-sdk-node": 3.6.0 + "@clerk/clerk-sdk-node": 3.6.1 "@magic-sdk/admin": 1.4.1 firebase-admin: 10.2.0 peerDependenciesMeta: @@ -5945,7 +5955,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/auth@1.5.1, @redwoodjs/auth@workspace:packages/auth": +"@redwoodjs/auth@1.5.2, @redwoodjs/auth@workspace:packages/auth": version: 0.0.0-use.local resolution: "@redwoodjs/auth@workspace:packages/auth" dependencies: @@ -5955,15 +5965,15 @@ __metadata: "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@clerk/clerk-js": 3.12.0 - "@clerk/clerk-sdk-node": 3.6.0 + "@clerk/clerk-sdk-node": 3.6.1 "@clerk/types": 2.14.0 - "@nhost/hasura-auth-js": 1.1.11 + "@nhost/hasura-auth-js": 1.1.14 "@nhost/nhost-js": 1.1.14 "@simplewebauthn/typescript-types": ^5.2.1 "@supabase/supabase-js": 1.35.3 "@types/netlify-identity-widget": 1.9.3 "@types/react": 17.0.45 - core-js: 3.22.7 + core-js: 3.22.8 firebase: 9.8.2 firebase-admin: 10.2.0 gotrue-js: 0.9.29 @@ -5972,30 +5982,30 @@ __metadata: netlify-identity-widget: 1.9.2 react: 17.0.2 supertokens-auth-react: 0.21.3 - typescript: 4.7.2 + typescript: 4.7.3 languageName: unknown linkType: soft -"@redwoodjs/cli@1.5.1, @redwoodjs/cli@workspace:packages/cli": +"@redwoodjs/cli@1.5.2, @redwoodjs/cli@workspace:packages/cli": version: 0.0.0-use.local resolution: "@redwoodjs/cli@workspace:packages/cli" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@prisma/sdk": 3.14.0 - "@redwoodjs/api-server": 1.5.1 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/prerender": 1.5.1 - "@redwoodjs/structure": 1.5.1 - "@redwoodjs/telemetry": 1.5.1 + "@prisma/sdk": 3.15.1 + "@redwoodjs/api-server": 1.5.2 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/prerender": 1.5.2 + "@redwoodjs/structure": 1.5.2 + "@redwoodjs/telemetry": 1.5.2 "@types/listr": 0.14.4 boxen: 5.1.2 camelcase: 6.3.0 chalk: 4.1.2 concurrently: 7.2.1 configstore: 3.1.5 - core-js: 3.22.7 + core-js: 3.22.8 cross-env: 7.0.3 decamelize: 5.0.0 dotenv-defaults: 5.0.0 @@ -6013,13 +6023,13 @@ __metadata: pascalcase: 1.0.0 pluralize: 8.0.0 prettier: 2.6.2 - prisma: 3.14.0 + prisma: 3.15.1 prompts: 2.4.2 rimraf: 3.0.2 secure-random-password: 0.2.3 terminal-link: 2.1.1 title-case: 3.0.3 - typescript: 4.7.2 + typescript: 4.7.3 yargs: 17.5.1 bin: redwood: ./dist/index.js @@ -6039,12 +6049,12 @@ __metadata: "@types/babel__core": 7.1.19 "@types/findup-sync": 4.0.2 "@types/fs-extra": 9.0.13 - "@types/jest": 27.5.1 + "@types/jest": 27.5.2 "@types/jscodeshift": 0.11.5 "@types/prettier": 2.6.3 "@types/yargs": 17.0.10 "@vscode/ripgrep": 1.14.2 - core-js: 3.22.7 + core-js: 3.22.8 cross-undici-fetch: 0.1.27 deepmerge: 4.2.2 execa: 5.1.1 @@ -6081,10 +6091,10 @@ __metadata: "@babel/preset-typescript": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@pmmmwh/react-refresh-webpack-plugin": 0.5.7 - "@redwoodjs/cli": 1.5.1 - "@redwoodjs/eslint-config": 1.5.1 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/testing": 1.5.1 + "@redwoodjs/cli": 1.5.2 + "@redwoodjs/eslint-config": 1.5.2 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/testing": 1.5.2 "@types/rimraf": 3.0.2 babel-loader: 8.2.3 babel-plugin-auto-import: 1.1.0 @@ -6093,11 +6103,11 @@ __metadata: babel-plugin-module-resolver: 4.1.0 babel-timing: 0.9.1 copy-webpack-plugin: 11.0.0 - core-js: 3.22.7 + core-js: 3.22.8 css-loader: 6.7.1 css-minimizer-webpack-plugin: 4.0.0 dotenv-webpack: 7.1.0 - esbuild: 0.14.42 + esbuild: 0.14.43 esbuild-loader: 2.19.0 fast-glob: 3.2.11 file-loader: 6.2.0 @@ -6113,12 +6123,12 @@ __metadata: rimraf: 3.0.2 style-loader: 3.3.1 svg-react-loader: 0.4.6 - typescript: 4.7.2 + typescript: 4.7.3 url-loader: 4.1.1 webpack: 5.72.1 webpack-bundle-analyzer: 4.5.0 - webpack-cli: 4.9.2 - webpack-dev-server: 4.9.0 + webpack-cli: 4.10.0 + webpack-dev-server: 4.9.2 webpack-manifest-plugin: 5.0.0 webpack-merge: 5.8.0 webpack-retry-chunk-load-plugin: 3.1.1 @@ -6138,7 +6148,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/eslint-config@1.5.1, @redwoodjs/eslint-config@workspace:packages/eslint-config": +"@redwoodjs/eslint-config@1.5.2, @redwoodjs/eslint-config@workspace:packages/eslint-config": version: 0.0.0-use.local resolution: "@redwoodjs/eslint-config@workspace:packages/eslint-config" dependencies: @@ -6146,7 +6156,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/eslint-parser": 7.16.5 "@babel/eslint-plugin": 7.16.5 - "@redwoodjs/internal": 1.5.1 + "@redwoodjs/internal": 1.5.2 "@typescript-eslint/eslint-plugin": 5.26.0 "@typescript-eslint/parser": 5.26.0 eslint: 8.16.0 @@ -6161,7 +6171,7 @@ __metadata: eslint-plugin-react-hooks: 4.5.0 jest: 27.5.1 prettier: 2.6.2 - typescript: 4.7.2 + typescript: 4.7.3 languageName: unknown linkType: soft @@ -6180,7 +6190,7 @@ __metadata: "@types/react": 17.0.45 "@types/react-dom": 17.0.17 "@types/testing-library__jest-dom": 5.14.3 - core-js: 3.22.7 + core-js: 3.22.8 graphql: 16.5.0 jest: 27.5.1 nodemon: 2.0.16 @@ -6188,39 +6198,39 @@ __metadata: react: 17.0.2 react-dom: 17.0.2 react-hook-form: 7.31.3 - typescript: 4.7.2 + typescript: 4.7.3 peerDependencies: graphql: 16.5.0 react: 17.0.2 languageName: unknown linkType: soft -"@redwoodjs/graphql-server@1.5.1, @redwoodjs/graphql-server@workspace:packages/graphql-server": +"@redwoodjs/graphql-server@1.5.2, @redwoodjs/graphql-server@workspace:packages/graphql-server": version: 0.0.0-use.local resolution: "@redwoodjs/graphql-server@workspace:packages/graphql-server" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@envelop/depth-limit": 1.5.2 - "@envelop/disable-introspection": 3.3.2 + "@envelop/depth-limit": 1.5.3 + "@envelop/disable-introspection": 3.3.3 "@envelop/filter-operation-type": 3.3.2 "@envelop/parser-cache": 4.3.2 - "@envelop/testing": 4.3.2 + "@envelop/testing": 4.3.3 "@envelop/types": 2.0.0 "@envelop/validation-cache": 4.3.2 "@graphql-tools/merge": 8.2.13 "@graphql-tools/schema": 8.3.13 "@graphql-tools/utils": 8.6.12 "@graphql-yoga/common": 2.7.0 - "@prisma/client": 3.14.0 - "@redwoodjs/api": 1.5.1 - "@redwoodjs/auth": 1.5.1 + "@prisma/client": 3.15.1 + "@redwoodjs/api": 1.5.2 + "@redwoodjs/auth": 1.5.2 "@types/lodash.merge": 4.6.7 "@types/lodash.omitby": 4.6.7 "@types/uuid": 8.3.4 aws-lambda: 1.0.7 - core-js: 3.22.7 + core-js: 3.22.8 cross-undici-fetch: 0.1.27 graphql: 16.5.0 graphql-scalars: 1.17.0 @@ -6228,12 +6238,12 @@ __metadata: jest: 27.5.1 lodash.merge: 4.6.2 lodash.omitby: 4.6.0 - typescript: 4.7.2 + typescript: 4.7.3 uuid: 8.3.2 languageName: unknown linkType: soft -"@redwoodjs/internal@1.5.1, @redwoodjs/internal@workspace:packages/internal": +"@redwoodjs/internal@1.5.2, @redwoodjs/internal@workspace:packages/internal": version: 0.0.0-use.local resolution: "@redwoodjs/internal@workspace:packages/internal" dependencies: @@ -6251,7 +6261,7 @@ __metadata: "@graphql-codegen/typescript-operations": 2.4.0 "@graphql-codegen/typescript-react-apollo": 3.2.14 "@graphql-codegen/typescript-resolvers": 2.6.4 - "@redwoodjs/graphql-server": 1.5.1 + "@redwoodjs/graphql-server": 1.5.2 "@types/babel-plugin-tester": 9.0.5 "@types/babel__core": 7.1.19 "@types/findup-sync": 4.0.2 @@ -6261,9 +6271,9 @@ __metadata: babel-plugin-polyfill-corejs3: 0.5.0 babel-plugin-tester: 10.1.0 chalk: 4.1.2 - core-js: 3.22.7 + core-js: 3.22.8 deepmerge: 4.2.2 - esbuild: 0.14.42 + esbuild: 0.14.43 fast-glob: 3.2.11 findup-sync: 5.0.0 fs-extra: 10.1.0 @@ -6277,34 +6287,34 @@ __metadata: systeminformation: 5.11.16 terminal-link: 2.1.1 toml: 3.0.0 - typescript: 4.7.2 + typescript: 4.7.3 bin: rw-gen: ./dist/generate/generate.js rw-gen-watch: ./dist/generate/watch.js languageName: unknown linkType: soft -"@redwoodjs/prerender@1.5.1, @redwoodjs/prerender@workspace:packages/prerender": +"@redwoodjs/prerender@1.5.2, @redwoodjs/prerender@workspace:packages/prerender": version: 0.0.0-use.local resolution: "@redwoodjs/prerender@workspace:packages/prerender" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 1.5.1 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/router": 1.5.1 - "@redwoodjs/structure": 1.5.1 - "@redwoodjs/web": 1.5.1 + "@redwoodjs/auth": 1.5.2 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/router": 1.5.2 + "@redwoodjs/structure": 1.5.2 + "@redwoodjs/web": 1.5.2 "@types/mime-types": 2.1.1 babel-plugin-ignore-html-and-css-imports: 0.1.0 babel-plugin-tester: 10.1.0 cheerio: 1.0.0-rc.11 - core-js: 3.22.7 + core-js: 3.22.8 cross-undici-fetch: 0.1.27 jest: 27.5.1 mime-types: 2.1.35 - typescript: 4.7.2 + typescript: 4.7.3 peerDependencies: react: 17.0.2 react-dom: 17.0.2 @@ -6318,15 +6328,15 @@ __metadata: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@prisma/client": 3.14.0 - "@prisma/sdk": 3.14.0 - core-js: 3.22.7 - esbuild: 0.14.42 + "@prisma/client": 3.15.1 + "@prisma/sdk": 3.15.1 + core-js: 3.22.8 + esbuild: 0.14.43 jest: 27.5.1 languageName: unknown linkType: soft -"@redwoodjs/router@1.5.1, @redwoodjs/router@workspace:packages/router": +"@redwoodjs/router@1.5.2, @redwoodjs/router@workspace:packages/router": version: 0.0.0-use.local resolution: "@redwoodjs/router@workspace:packages/router" dependencies: @@ -6334,29 +6344,29 @@ __metadata: "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@reach/skip-nav": 0.16.0 - "@redwoodjs/auth": 1.5.1 + "@redwoodjs/auth": 1.5.2 "@types/lodash.isequal": 4.5.6 "@types/react": 17.0.45 "@types/react-dom": 17.0.17 - core-js: 3.22.7 + core-js: 3.22.8 jest: 27.5.1 lodash.isequal: 4.5.0 prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2 - typescript: 4.7.2 + typescript: 4.7.3 languageName: unknown linkType: soft -"@redwoodjs/structure@1.5.1, @redwoodjs/structure@workspace:packages/structure": +"@redwoodjs/structure@1.5.2, @redwoodjs/structure@workspace:packages/structure": version: 0.0.0-use.local resolution: "@redwoodjs/structure@workspace:packages/structure" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@prisma/sdk": 3.14.0 - "@redwoodjs/internal": 1.5.1 + "@prisma/sdk": 3.15.1 + "@redwoodjs/internal": 1.5.2 "@types/fs-extra": 9.0.13 "@types/line-column": 1.0.0 "@types/lodash": 4.14.182 @@ -6364,7 +6374,7 @@ __metadata: "@types/node": 16.11.38 "@types/vscode": 1.67.0 camelcase: 6.3.0 - core-js: 3.22.7 + core-js: 3.22.8 deepmerge: 4.2.2 dotenv-defaults: 5.0.0 enquirer: 2.3.6 @@ -6378,29 +6388,29 @@ __metadata: lru-cache: 6.0.0 proxyquire: 2.1.3 toml: 3.0.0 - ts-morph: 14.0.0 - typescript: 4.7.2 + ts-morph: 15.1.0 + typescript: 4.7.3 vscode-languageserver: 6.1.1 - vscode-languageserver-textdocument: 1.0.4 + vscode-languageserver-textdocument: 1.0.5 vscode-languageserver-types: 3.17.1 yargs-parser: 21.0.1 languageName: unknown linkType: soft -"@redwoodjs/telemetry@1.5.1, @redwoodjs/telemetry@workspace:packages/telemetry": +"@redwoodjs/telemetry@1.5.2, @redwoodjs/telemetry@workspace:packages/telemetry": version: 0.0.0-use.local resolution: "@redwoodjs/telemetry@workspace:packages/telemetry" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/structure": 1.5.1 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/structure": 1.5.2 "@types/envinfo": 7.8.1 "@types/uuid": 8.3.4 "@types/yargs": 17.0.10 ci-info: 3.3.1 - core-js: 3.22.7 + core-js: 3.22.8 cross-undici-fetch: 0.1.27 envinfo: 7.8.1 jest: 27.5.1 @@ -6410,63 +6420,63 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/testing@1.5.1, @redwoodjs/testing@workspace:packages/testing": +"@redwoodjs/testing@1.5.2, @redwoodjs/testing@workspace:packages/testing": version: 0.0.0-use.local resolution: "@redwoodjs/testing@workspace:packages/testing" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 1.5.1 - "@redwoodjs/graphql-server": 1.5.1 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/router": 1.5.1 - "@redwoodjs/web": 1.5.1 - "@storybook/addon-a11y": 6.5.5 - "@storybook/addon-docs": 6.5.5 - "@storybook/addon-essentials": 6.5.5 - "@storybook/builder-webpack5": 6.5.5 - "@storybook/manager-webpack5": 6.5.5 - "@storybook/react": 6.5.5 + "@redwoodjs/auth": 1.5.2 + "@redwoodjs/graphql-server": 1.5.2 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/router": 1.5.2 + "@redwoodjs/web": 1.5.2 + "@storybook/addon-a11y": 6.5.8 + "@storybook/addon-docs": 6.5.8 + "@storybook/addon-essentials": 6.5.8 + "@storybook/builder-webpack5": 6.5.8 + "@storybook/manager-webpack5": 6.5.8 + "@storybook/react": 6.5.8 "@testing-library/jest-dom": 5.16.4 "@testing-library/react": 12.1.5 "@testing-library/react-hooks": 8.0.0 "@testing-library/user-event": 14.2.0 "@types/aws-lambda": 8.10.97 "@types/babel-core": 6.25.7 - "@types/jest": 27.5.1 + "@types/jest": 27.5.2 "@types/node": 16.11.38 "@types/react": 17.0.45 "@types/react-dom": 17.0.17 "@types/webpack": 5.28.0 babel-jest: 27.5.1 babel-plugin-inline-react-svg: 2.0.1 - core-js: 3.22.7 + core-js: 3.22.8 jest: 27.5.1 jest-watch-typeahead: 1.1.0 msw: 0.40.2 ts-toolbelt: 9.6.0 - typescript: 4.7.2 + typescript: 4.7.3 whatwg-fetch: 3.6.2 languageName: unknown linkType: soft -"@redwoodjs/web@1.5.1, @redwoodjs/web@workspace:packages/web": +"@redwoodjs/web@1.5.2, @redwoodjs/web@workspace:packages/web": version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: - "@apollo/client": 3.6.6 + "@apollo/client": 3.6.8 "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 1.5.1 + "@redwoodjs/auth": 1.5.2 "@testing-library/jest-dom": 5.16.4 "@testing-library/react": 12.1.5 "@types/prop-types": 15.7.5 "@types/react": 17.0.45 "@types/react-dom": 17.0.17 "@types/testing-library__jest-dom": 5.14.3 - core-js: 3.22.7 + core-js: 3.22.8 graphql: 16.5.0 graphql-tag: 2.12.6 jest: 27.5.1 @@ -6478,7 +6488,7 @@ __metadata: react-hot-toast: 2.2.0 stacktracey: 2.1.8 ts-toolbelt: 9.6.0 - typescript: 4.7.2 + typescript: 4.7.3 peerDependencies: prop-types: 15.8.1 react: 17.0.2 @@ -6583,18 +6593,18 @@ __metadata: languageName: node linkType: hard -"@storybook/addon-a11y@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-a11y@npm:6.5.5" +"@storybook/addon-a11y@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-a11y@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 axe-core: ^4.2.0 core-js: ^3.8.2 global: ^4.4.0 @@ -6611,21 +6621,21 @@ __metadata: optional: true react-dom: optional: true - checksum: 4da96f4b6d1992cf6e4e4e4169c5542633c135f3fd00b38999435a008a37d03ed1d9412fb8fb860008103bb036bd6684957530452055f6ca253b8989d70ba2a1 + checksum: 4238684be7a77fc3a444b80396fc1d3409772f6624414fc85cb4bd70bffd638fde226d0d59ae15107c38d40945cba9d97b193511a961bdf8e10f56a2b4b59293 languageName: node linkType: hard -"@storybook/addon-actions@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-actions@npm:6.5.5" +"@storybook/addon-actions@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-actions@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -6646,21 +6656,21 @@ __metadata: optional: true react-dom: optional: true - checksum: 950d341ff3f69b7083f4e313f74367aa7feb20aca008790b872bcaaa152072c1c96f53f029068188dbda07b2f3a9f0aa42a85f11b952ec614cfe93b40ba6c0c0 + checksum: 57f7dd81e69810f7f921527d460c1478673559d12cae006a16681458203d5a77786c63caa115c9a3661d2719768b45ebaa30744f4753d5a5dffb58ba383a8493 languageName: node linkType: hard -"@storybook/addon-backgrounds@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-backgrounds@npm:6.5.5" +"@storybook/addon-backgrounds@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-backgrounds@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 @@ -6675,23 +6685,23 @@ __metadata: optional: true react-dom: optional: true - checksum: 5f798fd73a86eb44acc4e572bce93a092174cd387cf0a0874dc603b8e12cd34396b28e64d3b503322043b29611ce3a8dc463d09f042d2d8eff423cea57fc208b + checksum: 8407b5245312dc30243a9213e1a6e1d7ef96304efa90a269407ee48c7f54474becc756276acdc707af9d41f50ec61fe74d0c5cbc36039a312e48413a389fbde9 languageName: node linkType: hard -"@storybook/addon-controls@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-controls@npm:6.5.5" +"@storybook/addon-controls@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-controls@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-common": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-common": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/node-logger": 6.5.5 - "@storybook/store": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/node-logger": 6.5.8 + "@storybook/store": 6.5.8 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 lodash: ^4.17.21 ts-dedent: ^2.0.0 @@ -6703,32 +6713,32 @@ __metadata: optional: true react-dom: optional: true - checksum: 6c17faa4e453c566071e38eedd3fab508368472c8c71f64c9d869e6ded2716374cb4b870cae4d134ac88716f6f7cf8550ffa3df9a7161a53e305bc447b61dc0e + checksum: 99cfa14934a9aabd8ca2df4f8d545f49dc1be9329c395cc3d0ed58800df2fc25687ced5cccc6d2a020531792c52ce3e1d01c50c4460343f656e5d3c05477acca languageName: node linkType: hard -"@storybook/addon-docs@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-docs@npm:6.5.5" +"@storybook/addon-docs@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-docs@npm:6.5.8" dependencies: "@babel/plugin-transform-react-jsx": ^7.12.12 "@babel/preset-env": ^7.12.11 "@jest/transform": ^26.6.2 "@mdx-js/react": ^1.6.22 - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/docs-tools": 6.5.5 + "@storybook/docs-tools": 6.5.8 "@storybook/mdx1-csf": ^0.0.1 - "@storybook/node-logger": 6.5.5 - "@storybook/postinstall": 6.5.5 - "@storybook/preview-web": 6.5.5 - "@storybook/source-loader": 6.5.5 - "@storybook/store": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/node-logger": 6.5.8 + "@storybook/postinstall": 6.5.8 + "@storybook/preview-web": 6.5.8 + "@storybook/source-loader": 6.5.8 + "@storybook/store": 6.5.8 + "@storybook/theming": 6.5.8 babel-loader: ^8.0.0 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 @@ -6750,26 +6760,26 @@ __metadata: optional: true react-dom: optional: true - checksum: 286592be2668122d47eb9a61084601840be19bfa78311cdf210a491078737ff47b536098305592a48401905bd56904df5fb94d0370427f6aeafde10fa5750650 - languageName: node - linkType: hard - -"@storybook/addon-essentials@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-essentials@npm:6.5.5" - dependencies: - "@storybook/addon-actions": 6.5.5 - "@storybook/addon-backgrounds": 6.5.5 - "@storybook/addon-controls": 6.5.5 - "@storybook/addon-docs": 6.5.5 - "@storybook/addon-measure": 6.5.5 - "@storybook/addon-outline": 6.5.5 - "@storybook/addon-toolbars": 6.5.5 - "@storybook/addon-viewport": 6.5.5 - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/node-logger": 6.5.5 + checksum: a27f033f74f851d30614fe90b9bc948cd0b628689b1ce386d3cefd12ec193e43b3ef511eba15a193fdd3be87c923b6910ec44cdae7c225a08a329faa789afbbd + languageName: node + linkType: hard + +"@storybook/addon-essentials@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-essentials@npm:6.5.8" + dependencies: + "@storybook/addon-actions": 6.5.8 + "@storybook/addon-backgrounds": 6.5.8 + "@storybook/addon-controls": 6.5.8 + "@storybook/addon-docs": 6.5.8 + "@storybook/addon-measure": 6.5.8 + "@storybook/addon-outline": 6.5.8 + "@storybook/addon-toolbars": 6.5.8 + "@storybook/addon-viewport": 6.5.8 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/node-logger": 6.5.8 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 ts-dedent: ^2.0.0 @@ -6810,19 +6820,19 @@ __metadata: optional: true webpack: optional: true - checksum: ecea6d4af6d0708d336456eb09341e7cf6ca6be5ee26b74a1977d3adfdbfab58f123e53a771a54244f77ebcab1b0c578a2baad4481c221609d2b459b2b70d163 + checksum: 81134fe076861d9cf0ca27a436f200c9dbc98799aa878e5a361addde35145fb38bd4bd522fb394f939e42d46392a74ed4a84b4f16f25428a1b22b637b26ba3d6 languageName: node linkType: hard -"@storybook/addon-measure@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-measure@npm:6.5.5" +"@storybook/addon-measure@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-measure@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 core-js: ^3.8.2 global: ^4.4.0 @@ -6834,19 +6844,19 @@ __metadata: optional: true react-dom: optional: true - checksum: 47c41c33368b6773859c773c7366e8d9e0ea34cab9365f9c30e881235f11c4e249a63593b68d6d0e03f3e7f448ac2d62ecd100c29571658eb375990341762b59 + checksum: 31d39e2fcef6a1f5163bab2df7557b946f60271d50c8ba31deba9ecd3615c131cbcdf17dea12c91b745121e51a029ee18f750bc54e98c9238be75281ad1bd1a4 languageName: node linkType: hard -"@storybook/addon-outline@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-outline@npm:6.5.5" +"@storybook/addon-outline@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-outline@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 core-js: ^3.8.2 global: ^4.4.0 @@ -6860,19 +6870,19 @@ __metadata: optional: true react-dom: optional: true - checksum: 1134ead2a9d6785289abc8110d5717bcce8e9fb0c04af37fd50af67fc7db8d260960df6c8412b7f1b2da4ff8309e67a793ba9473c66ec53d0efd45e99f59fd71 + checksum: ec3e09a56f2a635feb45cd63a60c2af4907aa3b4b07cb78f7b7aa86080a53046821190138619313739932d2446a74796c30da16a09125cf90e6c4566dd79f40f languageName: node linkType: hard -"@storybook/addon-toolbars@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-toolbars@npm:6.5.5" +"@storybook/addon-toolbars@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-toolbars@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: @@ -6883,20 +6893,20 @@ __metadata: optional: true react-dom: optional: true - checksum: 5439518c238a8d6a35a5f9cc5cad629c53cd420a4d940763c95fcaaa6d03c1b81c9e2e0ad6e2c70d2ec94c7c8591441eaabdc4a3baf0f30a848ce5c67f53d494 + checksum: 40b2c0c60054088c5d7d256d3aecebf31dcb61bd48dfded4047df83249e4f9e05b0ff0363f3f253e26eb3ef176ddfd611e0657441ce8a55049df54f090db5f75 languageName: node linkType: hard -"@storybook/addon-viewport@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addon-viewport@npm:6.5.5" +"@storybook/addon-viewport@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addon-viewport@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 global: ^4.4.0 memoizerific: ^1.11.3 @@ -6910,21 +6920,21 @@ __metadata: optional: true react-dom: optional: true - checksum: e62ed42c4382dcb309c27c28155a1b125565a7e396af398f7b7360508e784ad652ef4faa1b90e4bc0e545621ad75d688894d648e01f69466a57088f2aca379d4 + checksum: cc3fa912b185455fe562e8c3ebc24ee7c393ef247ae99d9134b212409d44f9a3fec69253f86351f40422bd510a4be28082e9f9988c8e9ef5b36b7f4a4e2bf46d languageName: node linkType: hard -"@storybook/addons@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/addons@npm:6.5.5" +"@storybook/addons@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/addons@npm:6.5.8" dependencies: - "@storybook/api": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/api": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/router": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/router": 6.5.8 + "@storybook/theming": 6.5.8 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 global: ^4.4.0 @@ -6932,21 +6942,21 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 443af8e1064ca0ad82495a97a1bf2eddde94fb0956adfe60632a5b70bbfb4132cb73f7233effd3de079ee70bbdd8a9139afbd833d56225dbb5440583394f2ed9 + checksum: b967723e534126a042236eaf947e9e8267dbbc37e1be33effca8e67fcdb3e1a3ef6988469fc99c1659967f7122991a0d1e2c848e38b703c4f79bd66ace510b96 languageName: node linkType: hard -"@storybook/api@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/api@npm:6.5.5" +"@storybook/api@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/api@npm:6.5.8" dependencies: - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/router": 6.5.5 + "@storybook/router": 6.5.8 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 global: ^4.4.0 @@ -6960,31 +6970,31 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 8a0c6307551ae2b09700234510d870726377b724a3546b572a6b4176697e303cd45bfb47691ead0084efc306a0f3077ce5c1547c51c6925f49251628c486199d + checksum: 80456c5239c0757c1ad0eb6cda011fa70a7b37b7845a1b734cba8842b174deae3a9165ab5e4e2d136f28f9b7cdd117c99435802c0f12453c9519b639228f04c6 languageName: node linkType: hard -"@storybook/builder-webpack4@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/builder-webpack4@npm:6.5.5" +"@storybook/builder-webpack4@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/builder-webpack4@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/channel-postmessage": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/core-events": 6.5.5 - "@storybook/node-logger": 6.5.5 - "@storybook/preview-web": 6.5.5 - "@storybook/router": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/channel-postmessage": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/core-events": 6.5.8 + "@storybook/node-logger": 6.5.8 + "@storybook/preview-web": 6.5.8 + "@storybook/router": 6.5.8 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.5 - "@storybook/theming": 6.5.5 - "@storybook/ui": 6.5.5 + "@storybook/store": 6.5.8 + "@storybook/theming": 6.5.8 + "@storybook/ui": 6.5.8 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 autoprefixer: ^9.8.6 @@ -7021,30 +7031,30 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: a3a9e173f2666bb86ba6ccb9a9831f2db4e4113c87a23410f4193a028c7e9e5ca659c653cdcb7ef592c2550e90ac96d296846b2103a5ccda8aa43d3e99892ce9 + checksum: 7f9b3ab3dbd4e8e5660954ccfa2666947b002e87f549f1fbb4b21be7c69c072fc01d47f6b3199d5274a57916b80b9073515c9dd51241be1115a49ae49eb599a9 languageName: node linkType: hard -"@storybook/builder-webpack5@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/builder-webpack5@npm:6.5.5" +"@storybook/builder-webpack5@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/builder-webpack5@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/channel-postmessage": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/core-events": 6.5.5 - "@storybook/node-logger": 6.5.5 - "@storybook/preview-web": 6.5.5 - "@storybook/router": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/channel-postmessage": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/core-events": 6.5.8 + "@storybook/node-logger": 6.5.8 + "@storybook/preview-web": 6.5.8 + "@storybook/router": 6.5.8 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.5 - "@storybook/theming": 6.5.5 + "@storybook/store": 6.5.8 + "@storybook/theming": 6.5.8 "@types/node": ^14.0.10 || ^16.0.0 babel-loader: ^8.0.0 babel-plugin-named-exports-order: ^0.0.2 @@ -7073,60 +7083,60 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 593907fa5ea2a643ac5295bd6a5d259d276c1df9b12b31dd7cd0d6edf280f146e060e1dd09cfae9c5a32ceb62d70ede9dfc196ca338ed8236d5bb9d9028c70ae + checksum: 46375a1ef6d37673620f99c28dba886538f8ffbfb86eb17582099e192047d9816771f531614df40bdcb8f528186823741a792bc720beba67cf3053e9e2a29d7c languageName: node linkType: hard -"@storybook/channel-postmessage@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/channel-postmessage@npm:6.5.5" +"@storybook/channel-postmessage@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/channel-postmessage@npm:6.5.8" dependencies: - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 core-js: ^3.8.2 global: ^4.4.0 qs: ^6.10.0 telejson: ^6.0.8 - checksum: 3240a4dc2afd9c29d6f055513912d4388024505c0efbfbf421d97ed7f9de07c1bd55e1ec58d89631bf147a8849908cf748d5f0270f2c8dbce5c4106dbe2ea4c9 + checksum: e8924f60af98ac18ec2184facdc758252d8abb95f31313e7e6607779a8cdd1fcf0d79e23f7b8b9225e1d0f230ff7528136d580d5f7d4503ecf815985bca6fa0a languageName: node linkType: hard -"@storybook/channel-websocket@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/channel-websocket@npm:6.5.5" +"@storybook/channel-websocket@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/channel-websocket@npm:6.5.8" dependencies: - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 core-js: ^3.8.2 global: ^4.4.0 telejson: ^6.0.8 - checksum: 811760d323e9fbc1e9c0b16644345d77b3b6da56ce8d8014817a3d83e4c69c1b97a7220479909944379a54578079353cb16e313016b969d5604933d663c798cb + checksum: ee8f4e888862e291d8261680e893c1d6a0d2d60cf5858296d49040d56a34ceb1adf8894c3af07179b0e7d40d0f60973aee3cb27c4a28c9772581b166caf43503 languageName: node linkType: hard -"@storybook/channels@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/channels@npm:6.5.5" +"@storybook/channels@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/channels@npm:6.5.8" dependencies: core-js: ^3.8.2 ts-dedent: ^2.0.0 util-deprecate: ^1.0.2 - checksum: 24cbfedcd40e0f4e34f1bd3efb2dc699be0bc6815bc7f7ab26273e7b79c42175f4e5f5a7a72bf963dfe00047b282a1abdea28d9ba2d3dcd3d6dc86578d7d3ca9 + checksum: a7e96082673c70f2f9c3d06e428b5cca28b21879514d60ab93cc166aacee0f92c9d9706289a8c65ac6f1459e0af2cc8b6c13bb8c163e3ed0e544ca68e736fca0 languageName: node linkType: hard -"@storybook/client-api@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/client-api@npm:6.5.5" +"@storybook/client-api@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/client-api@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/channel-postmessage": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/channel-postmessage": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/store": 6.5.5 + "@storybook/store": 6.5.8 "@types/qs": ^6.9.5 "@types/webpack-env": ^1.16.0 core-js: ^3.8.2 @@ -7143,27 +7153,27 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 356b364a7f6a0bd4438d83769a7e281834e77db7d7de680e261d3a4205fc8ecd71cef3d8fb1933443bcd6f4f628df01978452e497671c1837323454a8681afa4 + checksum: 7f13448b0101e2815272507646a3fd63e89ff4b7c98d64187a3b2a918a2eab099e24c480b3da2be88a19237916e108013bc8ed2f732dfd14e844cf2b4c3603b9 languageName: node linkType: hard -"@storybook/client-logger@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/client-logger@npm:6.5.5" +"@storybook/client-logger@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/client-logger@npm:6.5.8" dependencies: core-js: ^3.8.2 global: ^4.4.0 - checksum: e65dab715a1b66bc943e3f9ba397df049406e4d768343cbe788d5926ffa6baddbe526427b3be68b113fc152c03e16f4f8d6c44944a54a1dbed7834d176779a2a + checksum: 78a8736bd7b6817136ab898159cafd3c9c6f23c25ffcbd2f19a468762a28d8cddd2aa07f756a3ec3c80a48ce0c712d08cf8e805bb6e695ac2b6fb134f08cfef9 languageName: node linkType: hard -"@storybook/components@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/components@npm:6.5.5" +"@storybook/components@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/components@npm:6.5.8" dependencies: - "@storybook/client-logger": 6.5.5 + "@storybook/client-logger": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 "@types/react-syntax-highlighter": 11.0.5 core-js: ^3.8.2 qs: ^6.10.0 @@ -7173,24 +7183,24 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: a47ceaca8d07c23da412933e77e07ba964fc91171c8ac33726f33d45f95fc3d7cc6e35ab2219a352a6474ae6c8e39406e89f085c65fbf849e7483eadfd6e01c5 + checksum: 5816e4555f01628cc2db8e359b02f8c6c70983384895aaeb90f806056a6d0cbe2a9485288a2a0fd09ec98ac853b45df0853b6f68258bb19e9198a777d07465df languageName: node linkType: hard -"@storybook/core-client@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/core-client@npm:6.5.5" +"@storybook/core-client@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/core-client@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/channel-postmessage": 6.5.5 - "@storybook/channel-websocket": 6.5.5 - "@storybook/client-api": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/channel-postmessage": 6.5.8 + "@storybook/channel-websocket": 6.5.8 + "@storybook/client-api": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/preview-web": 6.5.5 - "@storybook/store": 6.5.5 - "@storybook/ui": 6.5.5 + "@storybook/preview-web": 6.5.8 + "@storybook/store": 6.5.8 + "@storybook/ui": 6.5.8 airbnb-js-shims: ^2.2.1 ansi-to-html: ^0.6.11 core-js: ^3.8.2 @@ -7208,13 +7218,13 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 0e1c15f9d5d9ae14e59117b8bde67bac2f00c21940282885ca24772faf1bb99c059df60347e12ffd11a5168cb7921b6917d36068cccaa4a92027f921e56c4469 + checksum: 8fad52ab7ee12a9417e38df170203eaadffcc39e55377ead1213f96560b9963da8b64fe5cb1c963e58d9cbc6756347897104f5c9f40fc55dd34a23e84f2664ca languageName: node linkType: hard -"@storybook/core-common@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/core-common@npm:6.5.5" +"@storybook/core-common@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/core-common@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 "@babel/plugin-proposal-class-properties": ^7.12.1 @@ -7238,7 +7248,7 @@ __metadata: "@babel/preset-react": ^7.12.10 "@babel/preset-typescript": ^7.12.7 "@babel/register": ^7.12.1 - "@storybook/node-logger": 6.5.5 + "@storybook/node-logger": 6.5.8 "@storybook/semver": ^7.3.2 "@types/node": ^14.0.10 || ^16.0.0 "@types/pretty-hrtime": ^1.0.0 @@ -7272,35 +7282,35 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 3acf28f6ccfbdbe10a286a513eecf4103c0f7765599bb1a09b2e75fe3ccef4400da3e515f872f3695f9b0fb33705d1bd8d39d5a96297b9dd772b45c90b4fb0c8 + checksum: c16f3bd46f2940e6561089bc2241e3722197afbd75c5a3dec765cfc7a39882034d0db9c97dc5fd6f6372498d9af9c15ee4bd06040ac157bbaae24bffce04ef66 languageName: node linkType: hard -"@storybook/core-events@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/core-events@npm:6.5.5" +"@storybook/core-events@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/core-events@npm:6.5.8" dependencies: core-js: ^3.8.2 - checksum: 9cc242ade3c4dc80bc9469752722515a810fc30dae1a2b00a83bf44d8144b0b618a0f9d2e82435d06120ed054e125a77176c76b3574a44948cbcfeee16d1511a + checksum: d6c969809df60c12327ce095a3fca3f85319547c06b2c5e508dd536e5ca44b0361aecbcb0eda81fad62bb9c8a5ee0e21cfc424252d6db39fadd891cbd4a6b8b7 languageName: node linkType: hard -"@storybook/core-server@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/core-server@npm:6.5.5" +"@storybook/core-server@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/core-server@npm:6.5.8" dependencies: "@discoveryjs/json-ext": ^0.5.3 - "@storybook/builder-webpack4": 6.5.5 - "@storybook/core-client": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/builder-webpack4": 6.5.8 + "@storybook/core-client": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/csf-tools": 6.5.5 - "@storybook/manager-webpack4": 6.5.5 - "@storybook/node-logger": 6.5.5 + "@storybook/csf-tools": 6.5.8 + "@storybook/manager-webpack4": 6.5.8 + "@storybook/node-logger": 6.5.8 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.5 - "@storybook/telemetry": 6.5.5 + "@storybook/store": 6.5.8 + "@storybook/telemetry": 6.5.8 "@types/node": ^14.0.10 || ^16.0.0 "@types/node-fetch": ^2.5.7 "@types/pretty-hrtime": ^1.0.0 @@ -7318,7 +7328,7 @@ __metadata: fs-extra: ^9.0.1 global: ^4.4.0 globby: ^11.0.2 - ip: ^1.1.5 + ip: ^2.0.0 lodash: ^4.17.21 node-fetch: ^2.6.7 open: ^8.4.0 @@ -7344,16 +7354,16 @@ __metadata: optional: true typescript: optional: true - checksum: 32389bac5ee494b2786a56bd1723dbbe911e3d97d06816d0ec2a9a580c2c0ed430121ef2a799651fc7835b491a6bd518beb29485b3955d3d255ddc0c65fbd6f1 + checksum: c1965544f587cf1e56612f09fbcdb1dffc73d0a96555c75509f6bd59caa9055fc938071424275ee02066bd5713f8877de16f3bf2753745df42a8f7d7b8587670 languageName: node linkType: hard -"@storybook/core@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/core@npm:6.5.5" +"@storybook/core@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/core@npm:6.5.8" dependencies: - "@storybook/core-client": 6.5.5 - "@storybook/core-server": 6.5.5 + "@storybook/core-client": 6.5.8 + "@storybook/core-server": 6.5.8 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -7365,13 +7375,13 @@ __metadata: optional: true typescript: optional: true - checksum: ca600058be0f889f997fa823e7b82f2dc29a278abd2e2e54c39bf69f7783dcc98c788a109c621fb78a940efe5bd42f96cb99892ace78b80286fc4aeb15160f35 + checksum: 435c36c1fe8dba8be3fad717d1d02587e000181cbeb9c76cd77179e6d11cff0af785aebd2d0faefc11e564d823644c3034bba4fb94246de2e25d93b98eafe02e languageName: node linkType: hard -"@storybook/csf-tools@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/csf-tools@npm:6.5.5" +"@storybook/csf-tools@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/csf-tools@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 "@babel/generator": ^7.12.11 @@ -7392,7 +7402,7 @@ __metadata: peerDependenciesMeta: "@storybook/mdx2-csf": optional: true - checksum: c5d291b4d7f3b44525aba8bc6c47dcbf7546ac4aa1fada2e068e22fa08f911ec8dad5394fe050cb868dae3992ee57742daf14e9e1af897558423b6a777e78908 + checksum: 28e7e7e0d73192a0d5978848dc7d4e42174df1b69848839972a59cd69cd816eb1067cfa2ae42d6f19bb31b3df5f65c8ac7a43b1ff1ae7538920262ba7217fe93 languageName: node linkType: hard @@ -7405,34 +7415,34 @@ __metadata: languageName: node linkType: hard -"@storybook/docs-tools@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/docs-tools@npm:6.5.5" +"@storybook/docs-tools@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/docs-tools@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/store": 6.5.5 + "@storybook/store": 6.5.8 core-js: ^3.8.2 doctrine: ^3.0.0 lodash: ^4.17.21 regenerator-runtime: ^0.13.7 - checksum: fdf52c4f5e07f4cd67ea859c1dc646dbbada898422d32016069978874687c2c5e07c80101500515a5ae546384b3704e28342437acfac261fd7ead42692f46e06 + checksum: 9fca5f01fc3ad28494ebedf59028caa18d0f280f330e99fcc46c2f05dc3068753d0b34bc981c1d132db23c47fae823a71e4d37b8b238f68b31096337ddd456c8 languageName: node linkType: hard -"@storybook/manager-webpack4@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/manager-webpack4@npm:6.5.5" +"@storybook/manager-webpack4@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/manager-webpack4@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 "@babel/plugin-transform-template-literals": ^7.12.1 "@babel/preset-react": ^7.12.10 - "@storybook/addons": 6.5.5 - "@storybook/core-client": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/node-logger": 6.5.5 - "@storybook/theming": 6.5.5 - "@storybook/ui": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/core-client": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/node-logger": 6.5.8 + "@storybook/theming": 6.5.8 + "@storybook/ui": 6.5.8 "@types/node": ^14.0.10 || ^16.0.0 "@types/webpack": ^4.41.26 babel-loader: ^8.0.0 @@ -7465,23 +7475,23 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 90c7fb2ca470043087dfeecbc0ce262895ebee58fe7a910c92099a9af2add89df4853f94e070c8f70c2b4cc58d386b2da1a1e8b547c18638cd61b890bdff1103 + checksum: f4e752411038ec2842457ec18296818db30ecba8de64b1397c92de06fe19db4a1be725002b8c0fe3ed700a69e8a666024c6bbfd9d71e105a4be4f0d6b1f11062 languageName: node linkType: hard -"@storybook/manager-webpack5@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/manager-webpack5@npm:6.5.5" +"@storybook/manager-webpack5@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/manager-webpack5@npm:6.5.8" dependencies: "@babel/core": ^7.12.10 "@babel/plugin-transform-template-literals": ^7.12.1 "@babel/preset-react": ^7.12.10 - "@storybook/addons": 6.5.5 - "@storybook/core-client": 6.5.5 - "@storybook/core-common": 6.5.5 - "@storybook/node-logger": 6.5.5 - "@storybook/theming": 6.5.5 - "@storybook/ui": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/core-client": 6.5.8 + "@storybook/core-common": 6.5.8 + "@storybook/node-logger": 6.5.8 + "@storybook/theming": 6.5.8 + "@storybook/ui": 6.5.8 "@types/node": ^14.0.10 || ^16.0.0 babel-loader: ^8.0.0 case-sensitive-paths-webpack-plugin: ^2.3.0 @@ -7511,7 +7521,7 @@ __metadata: peerDependenciesMeta: typescript: optional: true - checksum: 3f5c74115179a5cffd32d4161f6a79daaf947472c3e89fbca3350793da7c6f455e0e865a1fbf1a42772ac764f07c8acd6db28a5544e91ce319133db9b9e02464 + checksum: e46de243cefb5f706debaf87fbcdf3408896c93d41e484834e6ca593cecb046feeec59393c63dfb602eac0b48e441419aebcfea67cdb69ef31b95e6fc1e8f303 languageName: node linkType: hard @@ -7534,38 +7544,38 @@ __metadata: languageName: node linkType: hard -"@storybook/node-logger@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/node-logger@npm:6.5.5" +"@storybook/node-logger@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/node-logger@npm:6.5.8" dependencies: "@types/npmlog": ^4.1.2 chalk: ^4.1.0 core-js: ^3.8.2 npmlog: ^5.0.1 pretty-hrtime: ^1.0.3 - checksum: e44b2d58a3bc0e7f3a42ee8fed224cedf5f091152c2c0c420d02aca547868f281462aaeb85e2d91891fbc965fc148542db579ff0e37093020a63c22482ee331d + checksum: 787c9417413f9e24f2b5744ec1fed60d7b34392c6749452fba48e8610437dc71f0fb3604eb10c47ff42e8d24341165d4b8596c9b1c42c953061bac5647321557 languageName: node linkType: hard -"@storybook/postinstall@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/postinstall@npm:6.5.5" +"@storybook/postinstall@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/postinstall@npm:6.5.8" dependencies: core-js: ^3.8.2 - checksum: 2adaf3b7411e13e3a21412811d7b958e372908f39f6dd63f86077bafec680ef8f533878bcbbe55409543ddec9b4be3725456e4786b980eaf37a776da0f3855d4 + checksum: 8b3cda2653155a576e59f957c0e6e4b2941fa92e29e5f2ed58cb9c0d099296dee0abf6ff60f299a1f0adf5175f9e03fddb109d001fdbb4e7714289cf4a311a75 languageName: node linkType: hard -"@storybook/preview-web@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/preview-web@npm:6.5.5" +"@storybook/preview-web@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/preview-web@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/channel-postmessage": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/channel-postmessage": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/store": 6.5.5 + "@storybook/store": 6.5.8 ansi-to-html: ^0.6.11 core-js: ^3.8.2 global: ^4.4.0 @@ -7579,7 +7589,7 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: cb89961308cbfc68433edf149fdbe239d0f65208e8990d2b6aafcac802745ffc5dc16d9d5904242da43f1b592de483edf3370444a8021d7db01f7adb4dd7ee15 + checksum: 5466d6c8d30729ba8a463dcec6faea019ec0a624986c5b960e473344e6e0c6d154f4dc33e6c77d6169c8f5c331b147f1ea07b90bf80f88f48c9d2d767f0c3647 languageName: node linkType: hard @@ -7601,23 +7611,23 @@ __metadata: languageName: node linkType: hard -"@storybook/react@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/react@npm:6.5.5" +"@storybook/react@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/react@npm:6.5.8" dependencies: "@babel/preset-flow": ^7.12.1 "@babel/preset-react": ^7.12.10 "@pmmmwh/react-refresh-webpack-plugin": ^0.5.3 - "@storybook/addons": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core": 6.5.5 - "@storybook/core-common": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core": 6.5.8 + "@storybook/core-common": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 - "@storybook/docs-tools": 6.5.5 - "@storybook/node-logger": 6.5.5 + "@storybook/docs-tools": 6.5.8 + "@storybook/node-logger": 6.5.8 "@storybook/react-docgen-typescript-plugin": 1.0.2-canary.6.9d540b91e815f8fc2f8829189deb00553559ff63.0 "@storybook/semver": ^7.3.2 - "@storybook/store": 6.5.5 + "@storybook/store": 6.5.8 "@types/estree": ^0.0.51 "@types/node": ^14.14.20 || ^16.0.0 "@types/webpack-env": ^1.16.0 @@ -7662,21 +7672,21 @@ __metadata: build-storybook: bin/build.js start-storybook: bin/index.js storybook-server: bin/index.js - checksum: aa3cccd2f12465e7f9383282f9cc1eff848049a60d61fc9ae20f8116ae4d78bb1b30e1300586688a926d60daf50c5b868a424af31ec9bd712f1cdec3ca107f2e + checksum: d0f9f0a6cea871088f8415030e7a45894670e2eed5cae166d0ba21c25d5946fe124b4a34346ad172d6f94be1231f4ce608833110a87240bd90e35ed599681f53 languageName: node linkType: hard -"@storybook/router@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/router@npm:6.5.5" +"@storybook/router@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/router@npm:6.5.8" dependencies: - "@storybook/client-logger": 6.5.5 + "@storybook/client-logger": 6.5.8 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: bdb1f5e385e8e32275250e44c4c2686f3656dcf75cac874c0e93423a627f76e65907d62eec3ee0a3add2be8407bce77e5e1c4fa759738daccf7937ee82a957e7 + checksum: e3b8884a95314d11600845b8b2148318185db18f6b0d8c7dd1360cdc828de5152dadf2c375125e93aecd3afe3860c184cb4a25e22d9d1899752f30f941b9728b languageName: node linkType: hard @@ -7692,12 +7702,12 @@ __metadata: languageName: node linkType: hard -"@storybook/source-loader@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/source-loader@npm:6.5.5" +"@storybook/source-loader@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/source-loader@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/client-logger": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/client-logger": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 core-js: ^3.8.2 estraverse: ^5.2.0 @@ -7709,17 +7719,17 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 5d71426ead7a828d80bbbb92fd76019fe37f2ef22697aa4c3469bbd82c2e0a7f0f2b38d64939f3ae7a21edf1f1ddfd059dbe2e3eba5f0ed16946da7074077e28 + checksum: 758f0f794f69376ed5bc3edf538bc7c69530ef58dd5a29481887b61de7d839567e93c0a1dea7999245faf625881bb34c520c921e44ea2f18573d5b66f3fc5b9d languageName: node linkType: hard -"@storybook/store@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/store@npm:6.5.5" +"@storybook/store@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/store@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/core-events": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/core-events": 6.5.8 "@storybook/csf": 0.0.2--canary.4566f4d.1 core-js: ^3.8.2 fast-deep-equal: ^3.1.3 @@ -7735,16 +7745,16 @@ __metadata: peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: f906db37e6d0530228a8525486a270072c46f030204b45884d331a31dbb3c560623de7e041f258a2b7a55a3f61c6a005218c17c710fb105d47d260319b57d31b + checksum: 7ce747b917d074f6bc7f4f229f1e31e0265b5e3c5551364a84fb221efa363d773ad37d2490250420cc4a4ab5c627df5c71d13c919f442f1c4887528a9b99216a languageName: node linkType: hard -"@storybook/telemetry@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/telemetry@npm:6.5.5" +"@storybook/telemetry@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/telemetry@npm:6.5.8" dependencies: - "@storybook/client-logger": 6.5.5 - "@storybook/core-common": 6.5.5 + "@storybook/client-logger": 6.5.8 + "@storybook/core-common": 6.5.8 chalk: ^4.1.0 core-js: ^3.8.2 detect-package-manager: ^2.0.1 @@ -7755,44 +7765,44 @@ __metadata: nanoid: ^3.3.1 read-pkg-up: ^7.0.1 regenerator-runtime: ^0.13.7 - checksum: 67873412cfd29de65c18707852dbe3a73fcb4bffec536b4853ddce7459c1ed32348a856788a19d58f5bccf81ee3eb0318195bfc11a147151c396dc2fb429aeba + checksum: ec8a6512e65df33fd6972471ba128d648ab1b933e366c548ea47b36762a9b222a1d671a86c814f0a158d68cbe824dd70686f637701a471e9f2f37e007d31b8e5 languageName: node linkType: hard -"@storybook/theming@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/theming@npm:6.5.5" +"@storybook/theming@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/theming@npm:6.5.8" dependencies: - "@storybook/client-logger": 6.5.5 + "@storybook/client-logger": 6.5.8 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: a5c9957d70b0a74dc03a7fa30fd5d34c3424f9d94d577190f3ea913fde36bd2ac474fdfbece410ccbf052337322fc007c81ff58edbc90267093f6ea782117e2a + checksum: 3d03dd95c51a51470dcde63b6ba4264d0541e970ce17359b072aab1637949ede8ee4cfd4a7c55938e3322757a8a1ac4047c385209c528a3f60905781430febe7 languageName: node linkType: hard -"@storybook/ui@npm:6.5.5": - version: 6.5.5 - resolution: "@storybook/ui@npm:6.5.5" +"@storybook/ui@npm:6.5.8": + version: 6.5.8 + resolution: "@storybook/ui@npm:6.5.8" dependencies: - "@storybook/addons": 6.5.5 - "@storybook/api": 6.5.5 - "@storybook/channels": 6.5.5 - "@storybook/client-logger": 6.5.5 - "@storybook/components": 6.5.5 - "@storybook/core-events": 6.5.5 - "@storybook/router": 6.5.5 + "@storybook/addons": 6.5.8 + "@storybook/api": 6.5.8 + "@storybook/channels": 6.5.8 + "@storybook/client-logger": 6.5.8 + "@storybook/components": 6.5.8 + "@storybook/core-events": 6.5.8 + "@storybook/router": 6.5.8 "@storybook/semver": ^7.3.2 - "@storybook/theming": 6.5.5 + "@storybook/theming": 6.5.8 core-js: ^3.8.2 regenerator-runtime: ^0.13.7 resolve-from: ^5.0.0 peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 4036bca1ed5605d089243e36c511dd9fc86a5400f20a5e32820db7d85f5e8b763a813b9cb86796cb90bb69c64ef8cc588116f1e84b4eab4bc65c56faf70bbd67 + checksum: 7438d94826aeff2d64ccf75971b23816e99e04be3603aaa5aa12be29386a556446b68b8cfc0e08b828b4303516724a61950ed7ade3596bbdfe86c937620b5b16 languageName: node linkType: hard @@ -7993,15 +8003,15 @@ __metadata: languageName: node linkType: hard -"@ts-morph/common@npm:~0.13.0": - version: 0.13.0 - resolution: "@ts-morph/common@npm:0.13.0" +"@ts-morph/common@npm:~0.16.0": + version: 0.16.0 + resolution: "@ts-morph/common@npm:0.16.0" dependencies: fast-glob: ^3.2.11 - minimatch: ^5.0.1 + minimatch: ^5.1.0 mkdirp: ^1.0.4 path-browserify: ^1.0.1 - checksum: 18e6e08f7fcbf8c972e91a3ffdc280277dff8bb93ae7964b5ed88e56dc1fee254dc0f12b29df817f1b2f112af0226aa9b3ab039068ccef3f6170a370dfd522f3 + checksum: a9f306dd5c0c022b805400a1e54f18ec3fd1d80cc62e41f5f6964755d4b2538c10584b2fd040f9184121269dfebbe20ac7ffeb9965e74c3d6cb5b8891e29e5cb languageName: node linkType: hard @@ -8432,13 +8442,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:*, @types/jest@npm:27.5.1": - version: 27.5.1 - resolution: "@types/jest@npm:27.5.1" +"@types/jest@npm:*, @types/jest@npm:27.5.2": + version: 27.5.2 + resolution: "@types/jest@npm:27.5.2" dependencies: jest-matcher-utils: ^27.0.0 pretty-format: ^27.0.0 - checksum: 30e09ffa2137f5f5b12c57fbcf9fdece1e980dae5677ffbda1f960b970b7cc9d84ac8aae9172b257ff39f5089124b2b5f4bb38234ce352d9c050b90e94b0e46c + checksum: 29ef3da9b94a15736a67fc13956f385ac2ba2c6297f50d550446842c278f2e0d9f343dcd8e31c321ada5d8a1bd67bc1d79c7b6ff1802d55508c692123b3d9794 languageName: node linkType: hard @@ -8891,7 +8901,7 @@ __metadata: languageName: node linkType: hard -"@types/serve-static@npm:*": +"@types/serve-static@npm:*, @types/serve-static@npm:^1.13.10": version: 1.13.10 resolution: "@types/serve-static@npm:1.13.10" dependencies: @@ -9579,36 +9589,36 @@ __metadata: languageName: node linkType: hard -"@webpack-cli/configtest@npm:^1.1.1": - version: 1.1.1 - resolution: "@webpack-cli/configtest@npm:1.1.1" +"@webpack-cli/configtest@npm:^1.2.0": + version: 1.2.0 + resolution: "@webpack-cli/configtest@npm:1.2.0" peerDependencies: webpack: 4.x.x || 5.x.x webpack-cli: 4.x.x - checksum: 905e86d4075ac93411e1e7673060373b4a9770426a6d476aa99842399d4b6cc1a0cc3380a811a5285c012fd48ba2ee9d2153a650d842c0f3085e997e3608412d + checksum: 560e4dbd92fc6e4f574654fb1325b90d02c634bcdf8564c22b0e44c1ecf8db828fbea9f20d0546fa809002bd27b1b6f544f74b13bd5ccdee64e8e9368df46cc2 languageName: node linkType: hard -"@webpack-cli/info@npm:^1.4.1": - version: 1.4.1 - resolution: "@webpack-cli/info@npm:1.4.1" +"@webpack-cli/info@npm:^1.5.0": + version: 1.5.0 + resolution: "@webpack-cli/info@npm:1.5.0" dependencies: envinfo: ^7.7.3 peerDependencies: webpack-cli: 4.x.x - checksum: 1381c7f8ffacc80414648a5fe38f222a27501d31f5463042ff5e9ffb24100330ea736d307502d5fcad7fecf1019691e5b4a417cda18b329d4b4327500bc6c4af + checksum: 3e7c7ceb30b15fecdf5b5492494fbc76accee27748445c04f2bf66d0c036793b59ae7c27f5f4f6013a500aeae82762244c51f49c1de3d046e0b2dcfe163b642b languageName: node linkType: hard -"@webpack-cli/serve@npm:^1.6.1": - version: 1.6.1 - resolution: "@webpack-cli/serve@npm:1.6.1" +"@webpack-cli/serve@npm:^1.7.0": + version: 1.7.0 + resolution: "@webpack-cli/serve@npm:1.7.0" peerDependencies: webpack-cli: 4.x.x peerDependenciesMeta: webpack-dev-server: optional: true - checksum: 0aca33a1a590d580a1bda87d6b9794db8725fbf5a7731997733a221e57d25bb70499429e8837755ff7c578674665fd970dde124c8e26fba41c398ad200deb816 + checksum: a2045c6ada073c517820424f97264a99c809e8bfdef866f5af7ceaefff44580351e9713b06d68e326469bd170111e370942825adcdac7eb242b2ee4343458a81 languageName: node linkType: hard @@ -13101,10 +13111,10 @@ __metadata: languageName: node linkType: hard -"core-js@npm:3.22.7, core-js@npm:^3.0.4, core-js@npm:^3.18.3, core-js@npm:^3.19.0, core-js@npm:^3.22.4, core-js@npm:^3.6.5, core-js@npm:^3.8.2": - version: 3.22.7 - resolution: "core-js@npm:3.22.7" - checksum: 0f9daff33656f4b9a1664c35f2ce151746e8a198ae9f32d81465a0a63b5b5f15e81cc0e43f073f2733f23d842d75b946d02c1ee05ba4e805c90417e1c7ee7d82 +"core-js@npm:3.22.8, core-js@npm:^3.0.4, core-js@npm:^3.18.3, core-js@npm:^3.19.0, core-js@npm:^3.22.4, core-js@npm:^3.6.5, core-js@npm:^3.8.2": + version: 3.22.8 + resolution: "core-js@npm:3.22.8" + checksum: 431fa4c9028bd2fdaffaba490e6dc2b9fcebef50a62d4ef15d37f04b98a7ae7adda370811db61a439a2068d75da7314ba0532b1e4ee00b39bda3b01af89c282a languageName: node linkType: hard @@ -13267,16 +13277,16 @@ __metadata: "@babel/core": 7.16.7 "@babel/node": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 1.5.1 - "@redwoodjs/telemetry": 1.5.1 + "@redwoodjs/internal": 1.5.2 + "@redwoodjs/telemetry": 1.5.2 chalk: 4.1.2 check-node-version: 4.2.1 - core-js: 3.22.7 + core-js: 3.22.8 execa: 5.1.1 fs-extra: 10.1.0 jest: 27.5.1 listr: 0.14.3 - typescript: 4.7.2 + typescript: 4.7.3 yargs: 17.5.1 bin: create-redwood-app: ./dist/create-redwood-app.js @@ -13922,7 +13932,7 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": +"debug@npm:4, debug@npm:4.3.4, debug@npm:^4.0.0, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.3, debug@npm:^4.3.4": version: 4.3.4 resolution: "debug@npm:4.3.4" dependencies: @@ -14575,10 +14585,10 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:16.0.0": - version: 16.0.0 - resolution: "dotenv@npm:16.0.0" - checksum: 50c211ad5b0047d0e2ac10fcc5722979923a7dca6246569ccb41532f3e48b752d8ad5204a7f4c19e371276a4cd2c8beef5e79522fa6a3cc6856597944017f638 +"dotenv@npm:16.0.1": + version: 16.0.1 + resolution: "dotenv@npm:16.0.1" + checksum: 8afd5d776ea6968f5c28ca374ddb1fe6a7afabe062d32354478e6ea0fe8da341945a3da71defe513403623fa6871ac880d1d100bb08f80be1ae170e99e1b9293 languageName: node linkType: hard @@ -15034,100 +15044,100 @@ __metadata: languageName: node linkType: hard -"esbuild-android-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-android-64@npm:0.14.42" +"esbuild-android-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-android-64@npm:0.14.43" conditions: os=android & cpu=x64 languageName: node linkType: hard -"esbuild-android-arm64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-android-arm64@npm:0.14.42" +"esbuild-android-arm64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-android-arm64@npm:0.14.43" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"esbuild-darwin-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-darwin-64@npm:0.14.42" +"esbuild-darwin-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-darwin-64@npm:0.14.43" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"esbuild-darwin-arm64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-darwin-arm64@npm:0.14.42" +"esbuild-darwin-arm64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-darwin-arm64@npm:0.14.43" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"esbuild-freebsd-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-freebsd-64@npm:0.14.42" +"esbuild-freebsd-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-freebsd-64@npm:0.14.43" conditions: os=freebsd & cpu=x64 languageName: node linkType: hard -"esbuild-freebsd-arm64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-freebsd-arm64@npm:0.14.42" +"esbuild-freebsd-arm64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-freebsd-arm64@npm:0.14.43" conditions: os=freebsd & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-32@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-32@npm:0.14.42" +"esbuild-linux-32@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-32@npm:0.14.43" conditions: os=linux & cpu=ia32 languageName: node linkType: hard -"esbuild-linux-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-64@npm:0.14.42" +"esbuild-linux-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-64@npm:0.14.43" conditions: os=linux & cpu=x64 languageName: node linkType: hard -"esbuild-linux-arm64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-arm64@npm:0.14.42" +"esbuild-linux-arm64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-arm64@npm:0.14.43" conditions: os=linux & cpu=arm64 languageName: node linkType: hard -"esbuild-linux-arm@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-arm@npm:0.14.42" +"esbuild-linux-arm@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-arm@npm:0.14.43" conditions: os=linux & cpu=arm languageName: node linkType: hard -"esbuild-linux-mips64le@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-mips64le@npm:0.14.42" +"esbuild-linux-mips64le@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-mips64le@npm:0.14.43" conditions: os=linux & cpu=mips64el languageName: node linkType: hard -"esbuild-linux-ppc64le@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-ppc64le@npm:0.14.42" +"esbuild-linux-ppc64le@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-ppc64le@npm:0.14.43" conditions: os=linux & cpu=ppc64 languageName: node linkType: hard -"esbuild-linux-riscv64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-riscv64@npm:0.14.42" +"esbuild-linux-riscv64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-riscv64@npm:0.14.43" conditions: os=linux & cpu=riscv64 languageName: node linkType: hard -"esbuild-linux-s390x@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-linux-s390x@npm:0.14.42" +"esbuild-linux-s390x@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-linux-s390x@npm:0.14.43" conditions: os=linux & cpu=s390x languageName: node linkType: hard @@ -15148,72 +15158,72 @@ __metadata: languageName: node linkType: hard -"esbuild-netbsd-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-netbsd-64@npm:0.14.42" +"esbuild-netbsd-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-netbsd-64@npm:0.14.43" conditions: os=netbsd & cpu=x64 languageName: node linkType: hard -"esbuild-openbsd-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-openbsd-64@npm:0.14.42" +"esbuild-openbsd-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-openbsd-64@npm:0.14.43" conditions: os=openbsd & cpu=x64 languageName: node linkType: hard -"esbuild-sunos-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-sunos-64@npm:0.14.42" +"esbuild-sunos-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-sunos-64@npm:0.14.43" conditions: os=sunos & cpu=x64 languageName: node linkType: hard -"esbuild-windows-32@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-windows-32@npm:0.14.42" +"esbuild-windows-32@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-windows-32@npm:0.14.43" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"esbuild-windows-64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-windows-64@npm:0.14.42" +"esbuild-windows-64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-windows-64@npm:0.14.43" conditions: os=win32 & cpu=x64 languageName: node linkType: hard -"esbuild-windows-arm64@npm:0.14.42": - version: 0.14.42 - resolution: "esbuild-windows-arm64@npm:0.14.42" +"esbuild-windows-arm64@npm:0.14.43": + version: 0.14.43 + resolution: "esbuild-windows-arm64@npm:0.14.43" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"esbuild@npm:0.14.42, esbuild@npm:^0.14.39": - version: 0.14.42 - resolution: "esbuild@npm:0.14.42" - dependencies: - esbuild-android-64: 0.14.42 - esbuild-android-arm64: 0.14.42 - esbuild-darwin-64: 0.14.42 - esbuild-darwin-arm64: 0.14.42 - esbuild-freebsd-64: 0.14.42 - esbuild-freebsd-arm64: 0.14.42 - esbuild-linux-32: 0.14.42 - esbuild-linux-64: 0.14.42 - esbuild-linux-arm: 0.14.42 - esbuild-linux-arm64: 0.14.42 - esbuild-linux-mips64le: 0.14.42 - esbuild-linux-ppc64le: 0.14.42 - esbuild-linux-riscv64: 0.14.42 - esbuild-linux-s390x: 0.14.42 - esbuild-netbsd-64: 0.14.42 - esbuild-openbsd-64: 0.14.42 - esbuild-sunos-64: 0.14.42 - esbuild-windows-32: 0.14.42 - esbuild-windows-64: 0.14.42 - esbuild-windows-arm64: 0.14.42 +"esbuild@npm:0.14.43, esbuild@npm:^0.14.39": + version: 0.14.43 + resolution: "esbuild@npm:0.14.43" + dependencies: + esbuild-android-64: 0.14.43 + esbuild-android-arm64: 0.14.43 + esbuild-darwin-64: 0.14.43 + esbuild-darwin-arm64: 0.14.43 + esbuild-freebsd-64: 0.14.43 + esbuild-freebsd-arm64: 0.14.43 + esbuild-linux-32: 0.14.43 + esbuild-linux-64: 0.14.43 + esbuild-linux-arm: 0.14.43 + esbuild-linux-arm64: 0.14.43 + esbuild-linux-mips64le: 0.14.43 + esbuild-linux-ppc64le: 0.14.43 + esbuild-linux-riscv64: 0.14.43 + esbuild-linux-s390x: 0.14.43 + esbuild-netbsd-64: 0.14.43 + esbuild-openbsd-64: 0.14.43 + esbuild-sunos-64: 0.14.43 + esbuild-windows-32: 0.14.43 + esbuild-windows-64: 0.14.43 + esbuild-windows-arm64: 0.14.43 dependenciesMeta: esbuild-android-64: optional: true @@ -15257,7 +15267,7 @@ __metadata: optional: true bin: esbuild: bin/esbuild - checksum: c4913a2411c70760e87b0f0317ee619a02d584b37e8f49875a71fe6dca1bcde896b893d6820a55f36adbdf071fc1548ddb2ae45ee5f378365a37f2421f94c613 + checksum: 7e6e4948e83d3feb798619846f8288b79ec8d9d903c1664f55d0cd604321ca3b7d1ee61fe7c7eaf436a1733317a3cda30d04782a90d79b791f6f50da513c72c3 languageName: node linkType: hard @@ -16829,6 +16839,13 @@ __metadata: languageName: node linkType: hard +"fp-ts@npm:2.12.1": + version: 2.12.1 + resolution: "fp-ts@npm:2.12.1" + checksum: dbd3a072721055d9dfe7e5c69d25b9910e58285fc70e77444832dbccf7f672bf55aa74770e0cf1367fd000f5487523f5217f1fb2f2dd88de5d816d3ee7721656 + languageName: node + linkType: hard + "fragment-cache@npm:^0.2.1": version: 0.2.1 resolution: "fragment-cache@npm:0.2.1" @@ -18836,6 +18853,13 @@ __metadata: languageName: node linkType: hard +"ip@npm:^2.0.0": + version: 2.0.0 + resolution: "ip@npm:2.0.0" + checksum: 8d186cc5585f57372847ae29b6eba258c68862055e18a75cc4933327232cb5c107f89800ce29715d542eef2c254fbb68b382e780a7414f9ee7caf60b7a473958 + languageName: node + linkType: hard + "ipaddr.js@npm:1.9.1": version: 1.9.1 resolution: "ipaddr.js@npm:1.9.1" @@ -22420,12 +22444,12 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^5.0.1": - version: 5.0.1 - resolution: "minimatch@npm:5.0.1" +"minimatch@npm:^5.0.1, minimatch@npm:^5.1.0": + version: 5.1.0 + resolution: "minimatch@npm:5.1.0" dependencies: brace-expansion: ^2.0.1 - checksum: baa60fc5839205f13d6c266d8ad4d160ae37c33f66b130b5640acac66deff84b934ac6307f5dc5e4b30362c51284817c12df7c9746ffb600b9009c581e0b1634 + checksum: 21c4877438068da0728eeb678107ea716fd3c76fcde713c9d11b01d7d15c276071aa2fecfcd353b970a290cffd572c3ed43e0a64804470ab9ae97717ed13fb18 languageName: node linkType: hard @@ -23617,9 +23641,9 @@ __metadata: languageName: node linkType: hard -"octokit@npm:1.7.1": - version: 1.7.1 - resolution: "octokit@npm:1.7.1" +"octokit@npm:1.7.2": + version: 1.7.2 + resolution: "octokit@npm:1.7.2" dependencies: "@octokit/app": ^12.0.4 "@octokit/core": ^3.5.1 @@ -23629,7 +23653,7 @@ __metadata: "@octokit/plugin-retry": ^3.0.9 "@octokit/plugin-throttling": ^3.5.1 "@octokit/types": ^6.26.0 - checksum: e1ce2d583a0795cf10999d2452f15fb02b5efce31044a7827d5efc34419c2909dd56c6c8f79347907f827e5646e35e63ec65d4327db4f999b278269eced33e2b + checksum: b9b2877ba919dda31f521a732caef7fb0a93a284f9f8cb4314320c978c55769fc654ec428cd1618bd8307b12d7bed04198a7a0253e82b40bfffef2a4081c3ee4 languageName: node linkType: hard @@ -25263,15 +25287,15 @@ __metadata: languageName: node linkType: hard -"prisma@npm:3.14.0": - version: 3.14.0 - resolution: "prisma@npm:3.14.0" +"prisma@npm:3.15.1": + version: 3.15.1 + resolution: "prisma@npm:3.15.1" dependencies: - "@prisma/engines": 3.14.0-36.2b0c12756921c891fec4f68d9444e18c7d5d4a6a + "@prisma/engines": 3.15.1-1.461d6a05159055555eb7dfb337c9fb271cbd4d7e bin: prisma: build/index.js prisma2: build/index.js - checksum: df2140e2b1235924e3697272cc9bbe784f915baf0509210ba80efdceb8f4dcc9fef06486d30cdbf1914837779a07eef56e1b1d4c5d2891028652cfa9c78db34d + checksum: 42b2658a2b204bbbe4a22bde24a63cbb4eb899093177e56fdf0a65e2280ec0bc56d86c1e0a31d1a0ed6a77794790b4a68fb736b73e2f4d48010dbdfb269a26ff languageName: node linkType: hard @@ -27125,7 +27149,7 @@ __metadata: "@testing-library/react-hooks": 8.0.0 "@testing-library/user-event": 14.2.0 "@types/fs-extra": 9.0.13 - "@types/jest": 27.5.1 + "@types/jest": 27.5.2 "@types/jscodeshift": 0.11.5 "@types/lodash.template": 4.5.1 "@types/ncp": 2.0.5 @@ -27136,7 +27160,7 @@ __metadata: babel-plugin-auto-import: 1.1.0 babel-plugin-remove-code: 0.0.6 boxen: 5.1.2 - core-js: 3.22.7 + core-js: 3.22.8 cypress: 9.7.0 cypress-wait-until: 1.7.2 eslint: 8.16.0 @@ -27153,12 +27177,12 @@ __metadata: node-notifier: 10.0.1 nodemon: 2.0.16 npm-packlist: 5.1.0 - octokit: 1.7.1 + octokit: 1.7.2 ora: 5.4.1 prompts: 2.4.2 rimraf: 3.0.2 terminal-link: 2.1.1 - typescript: 4.7.2 + typescript: 4.7.3 typescript-transform-paths: 3.3.1 zx: 6.1.0 languageName: unknown @@ -27968,7 +27992,7 @@ __metadata: languageName: node linkType: hard -"sockjs@npm:^0.3.21": +"sockjs@npm:^0.3.24": version: 0.3.24 resolution: "sockjs@npm:0.3.24" dependencies: @@ -29719,13 +29743,13 @@ __metadata: languageName: node linkType: hard -"ts-morph@npm:14.0.0": - version: 14.0.0 - resolution: "ts-morph@npm:14.0.0" +"ts-morph@npm:15.1.0": + version: 15.1.0 + resolution: "ts-morph@npm:15.1.0" dependencies: - "@ts-morph/common": ~0.13.0 + "@ts-morph/common": ~0.16.0 code-block-writer: ^11.0.0 - checksum: df329fc1e2d06b854cdc1caa5de6b75e6b31ab997a896bbc0dd0b760057dfa653fe6d1598696d795e68ba063b5cc0247a957a97da618bb983b4fd7a7d9981e54 + checksum: ef72fe65e5837afb49f11a67f98922687c92653a3391a258448d36b2d2a16d82487a8de93c0e61f7f79151539f2b6e46fa1ef8cb17f1e1bc9317f3d6819c0655 languageName: node linkType: hard @@ -29994,23 +30018,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.7.2": - version: 4.7.2 - resolution: "typescript@npm:4.7.2" +"typescript@npm:4.7.3": + version: 4.7.3 + resolution: "typescript@npm:4.7.3" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: c458df58a52f1cb1c954109dbc3477abfeb632644bc6552a9ac2152bce86e377afe11bf661466926bc4dcdc945f1e053d492c347ae377f1cba7051226b930ea3 + checksum: 4f2597ac203e792881e02db85cd01bcba0ff0edfdb467e16af5a35808d35c424fe4fbc99ce8cea3745b206e66dbbe67e9ca0a0b03117672d7d95cad7055bd2b6 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A4.7.2#~builtin": - version: 4.7.2 - resolution: "typescript@patch:typescript@npm%3A4.7.2#~builtin::version=4.7.2&hash=7ad353" +"typescript@patch:typescript@npm%3A4.7.3#~builtin": + version: 4.7.3 + resolution: "typescript@patch:typescript@npm%3A4.7.3#~builtin::version=4.7.3&hash=7ad353" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: f454730aef4a8cef2ad5650ce769f38ed4460583fe5867d4f93592282afdbd9b5142b75d448b647e4984edf23575ac1f2adafb2db8614f253f700721d3eb439a + checksum: fd3972aed0089d64c03235f4352a232eb62e5810e7b37e28ff804d1dbb728cda4c81b7e2d1e9b0e72d9fc8a7ccb1c211e044078b6b3774d4a18a6fcb9f16f86f languageName: node linkType: hard @@ -30070,10 +30094,10 @@ __metadata: languageName: node linkType: hard -"undici@npm:5.0.0": - version: 5.0.0 - resolution: "undici@npm:5.0.0" - checksum: 381cff91b1c937edab4672e16d0aeeda6ba432aba7e958a9e5bc8bc1b8c0a5527919a82f4ae73d7bf7ee43e6b2ac28292c2fdefaaf6e69d4f7b3a1223cf5fd15 +"undici@npm:5.1.1, undici@npm:^5.0.0, undici@npm:^5.1.0": + version: 5.1.1 + resolution: "undici@npm:5.1.1" + checksum: 7902dffe78f913501b88a7bf1244d9d4b0bbfea3f81ff7c0a175d9f0e19616190432786d430aa2dc382455b0aa88f5844d6d753deec5573b4606358f7bf13de1 languageName: node linkType: hard @@ -30084,13 +30108,6 @@ __metadata: languageName: node linkType: hard -"undici@npm:^5.0.0, undici@npm:^5.1.0": - version: 5.1.1 - resolution: "undici@npm:5.1.1" - checksum: 7902dffe78f913501b88a7bf1244d9d4b0bbfea3f81ff7c0a175d9f0e19616190432786d430aa2dc382455b0aa88f5844d6d753deec5573b4606358f7bf13de1 - languageName: node - linkType: hard - "unfetch@npm:^4.2.0": version: 4.2.0 resolution: "unfetch@npm:4.2.0" @@ -30734,10 +30751,10 @@ __metadata: languageName: node linkType: hard -"vscode-languageserver-textdocument@npm:1.0.4": - version: 1.0.4 - resolution: "vscode-languageserver-textdocument@npm:1.0.4" - checksum: eb78b7e28e4e5d65c93d64e5b8ff79e7b66a291c163f2c6519571c31002727027eb637682c5004c31a3a6a6757e669defd90fa01634854caaf58256d2f309f5f +"vscode-languageserver-textdocument@npm:1.0.5": + version: 1.0.5 + resolution: "vscode-languageserver-textdocument@npm:1.0.5" + checksum: 17f9f3eb52fbe5f0d750ab152623a93424b24a28a349fd9576c967423306156a8c1964c92ad15ce2b09b79f3ebd5666f23bc115d14675e3c5a66a0e3f038d655 languageName: node linkType: hard @@ -31050,17 +31067,17 @@ __metadata: languageName: node linkType: hard -"webpack-cli@npm:4.9.2": - version: 4.9.2 - resolution: "webpack-cli@npm:4.9.2" +"webpack-cli@npm:4.10.0": + version: 4.10.0 + resolution: "webpack-cli@npm:4.10.0" dependencies: "@discoveryjs/json-ext": ^0.5.0 - "@webpack-cli/configtest": ^1.1.1 - "@webpack-cli/info": ^1.4.1 - "@webpack-cli/serve": ^1.6.1 + "@webpack-cli/configtest": ^1.2.0 + "@webpack-cli/info": ^1.5.0 + "@webpack-cli/serve": ^1.7.0 colorette: ^2.0.14 commander: ^7.0.0 - execa: ^5.0.0 + cross-spawn: ^7.0.3 fastest-levenshtein: ^1.0.12 import-local: ^3.0.2 interpret: ^2.2.0 @@ -31079,7 +31096,7 @@ __metadata: optional: true bin: webpack-cli: bin/cli.js - checksum: 42666e258bd44f0f0374de0bff696ee7d87dbc31fb7c17fd24aab44d99ab278aafb888a3f62953362436c2d8c37274dc19e2ef36cfac00d3887ac77f92e72656 + checksum: e144821a3eaf8c2598e80d6bc8b1b4035e6f5cb0046b3090ad0f858f87480f007127d5c5efa83c79436df3f31e0c0d6033fd9ea93526395984ef986ba5d72aa3 languageName: node linkType: hard @@ -31129,14 +31146,15 @@ __metadata: languageName: node linkType: hard -"webpack-dev-server@npm:4.9.0": - version: 4.9.0 - resolution: "webpack-dev-server@npm:4.9.0" +"webpack-dev-server@npm:4.9.2": + version: 4.9.2 + resolution: "webpack-dev-server@npm:4.9.2" dependencies: "@types/bonjour": ^3.5.9 "@types/connect-history-api-fallback": ^1.3.5 "@types/express": ^4.17.13 "@types/serve-index": ^1.9.1 + "@types/serve-static": ^1.13.10 "@types/sockjs": ^0.3.33 "@types/ws": ^8.5.1 ansi-html-community: ^0.0.8 @@ -31157,7 +31175,7 @@ __metadata: schema-utils: ^4.0.0 selfsigned: ^2.0.1 serve-index: ^1.9.1 - sockjs: ^0.3.21 + sockjs: ^0.3.24 spdy: ^4.0.2 webpack-dev-middleware: ^5.3.1 ws: ^8.4.2 @@ -31168,7 +31186,7 @@ __metadata: optional: true bin: webpack-dev-server: bin/webpack-dev-server.js - checksum: 2ad46d4ad4b3ee70d3a44686c04376419603eef77d00f7c09d423ee3c67fad96d7ea283425bd9bdbae99753d9deef8a948799925cc2eb233381c236308c3ce77 + checksum: 51ad103395224c69df338a48de29687c188d5cbfd2f60fad8ddb816c1d26218eca003bf5c3ce25b871f4f7c29db5f9a0f1daef8f3700a33b924158c747c9e2b7 languageName: node linkType: hard