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.
- VIDEO
+ VIDEO
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 (
+ <>
+ {label}
+
+
+ >
+ )
+}
+```
+
## ``
Renders an HTML `` tag.
diff --git a/docs/docs/graphql.md b/docs/docs/graphql.md
index e14b93c33838..7de11f50ed09 100644
--- a/docs/docs/graphql.md
+++ b/docs/docs/graphql.md
@@ -118,9 +118,9 @@ Note that if you don't import `RedwoodApolloProvider`, it won't be included in y
### Understanding Default Resolvers
-According to the spec, for every field in your sdl, there has to be a resolver in your Services. But you'll usually see fewer resolvers in your Services than you technically should. And that's because if you don't define a resolver, [Apollo Server will](https://www.apollographql.com/docs/apollo-server/data/resolvers/#default-resolvers).
+According to the spec, for every field in your sdl, there has to be a resolver in your Services. But you'll usually see fewer resolvers in your Services than you technically should. And that's because if you don't define a resolver, GraphQL Yoga server will.
-The key question Apollo Server asks is: "Does the parent argument (in Redwood apps, the `parent` argument is named `root`—see [Redwood's Resolver Args](#redwoods-resolver-args)) have a property with this resolver's exact name?" Most of the time, especially with Prisma Client's ergonomic returns, the answer is yes.
+The key question the Yoga server asks is: "Does the parent argument (in Redwood apps, the `parent` argument is named `root`—see [Redwood's Resolver Args](#redwoods-resolver-args)) have a property with this resolver's exact name?" Most of the time, especially with Prisma Client's ergonomic returns, the answer is yes.
Let's walk through an example. Say our sdl looks like this:
@@ -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'
@@ -161,7 +161,7 @@ export const users = () => {
Which begs the question: where are the resolvers for the User fields—`id`, `email`, and `name`?
All we have is the resolver for the Query field, `users`.
-As we just mentioned, Apollo defines them for you. And since the `root` argument for `id`, `email`, and `name` has a property with each resolvers' exact name (i.e. `root.id`, `root.email`, `root.name`), it'll return the property's value (instead of returning `undefined`, which is what Apollo would do if that weren't the case).
+As we just mentioned, GraphQL Yoga defines them for you. And since the `root` argument for `id`, `email`, and `name` has a property with each resolvers' exact name (i.e. `root.id`, `root.email`, `root.name`), it'll return the property's value (instead of returning `undefined`, which is what Yoga would do if that weren't the case).
But, if you wanted to be explicit about it, this is what it would look like:
@@ -221,7 +221,7 @@ Of the four, you'll see `args` and `root` being used a lot.
> **There's so many terms!**
>
-> Half the battle here is really just coming to terms. To keep your head from spinning, keep in mind that everybody tends to rename `obj` to something else: Redwood calls it `root`, Apollo calls it `parent`. `obj` isn't exactly the most descriptive name in the world.
+> Half the battle here is really just coming to terms. To keep your head from spinning, keep in mind that everybody tends to rename `obj` to something else: Redwood calls it `root`, GraphQL Yoga calls it `parent`. `obj` isn't exactly the most descriptive name in the world.
### Context
@@ -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...
- VIDEO
+ VIDEO
- todo
@@ -1017,7 +1017,7 @@ export const handler = createGraphQLHandler({
#### Redwood Errors
-Redwood Errors are derived from [Apollo Server Error codes](https://www.apollographql.com/docs/apollo-server/data/errors/#error-codes) for common use cases:
+Redwood Errors are inspired from [Apollo Server Error codes](https://www.apollographql.com/docs/apollo-server/data/errors/#error-codes) for common use cases:
To use a Redwood Error, import each from `@redwoodjs/graphql-server`.
diff --git a/docs/docs/how-to/sending-emails.md b/docs/docs/how-to/sending-emails.md
index ed9eb670b113..192d2b7c2357 100644
--- a/docs/docs/how-to/sending-emails.md
+++ b/docs/docs/how-to/sending-emails.md
@@ -243,7 +243,7 @@ Now is a good time to go get a fresh cup of coffee, or other beverage of choice.
## SendInBlue
-To actually send an email you need a mail server that you can talk to using SMTP. `nodemailer` has a really [simple example](https://nodemailer.com/about/#example) on their webpage that uses Ethereal. But that's only for test messages. The emails will never actually be delivered beyond Ethereal. Another option is to use your own GMail address (if you have one). But to get that working reliably you need to set up Oauth2, which isn't very straight forward. So your best bet here is actually to use a dedicated Cloud/SaaS solution. A lot of them have a free tier that lets you send enough emails for a small production app. We'll be using SendInBlue that offers 300 free emails per day.
+To actually send an email you need a mail server that you can talk to using SMTP. `nodemailer` has a really [simple example](https://nodemailer.com/about/#example) on their webpage that uses Ethereal. But that's only for test messages. The emails will never actually be delivered beyond Ethereal. Another option is to use your own GMail address (if you have one). But to get that working reliably you need to set up OAuth2, which isn't very straight forward. So your best bet here is actually to use a dedicated Cloud/SaaS solution. A lot of them have a free tier that lets you send enough emails for a small production app. We'll be using SendInBlue that offers 300 free emails per day.
So go ahead and create an account with SendInBlue. They'll ask for an address and a phone number. They need it to prevent users from creating accounts to send spam emails from. When your account is created and set up you need to click on the menu in the upper right with your company name and select the "SMTP & API" option.
diff --git a/docs/docs/how-to/supabase-auth.md b/docs/docs/how-to/supabase-auth.md
index 99b56e858439..f5425b735daa 100644
--- a/docs/docs/how-to/supabase-auth.md
+++ b/docs/docs/how-to/supabase-auth.md
@@ -36,7 +36,7 @@ So, just this once, I hereby give you permission to fire-up Create React App as
>
> If you're like me—and I'm pretty sure I'm just human—you may find yourself spinning in jumbled auth jargon. Hang in there, you'll get your auth ducks lined up eventually.
>
-> I'm proud to tell you that I now know that the Redwood Supabase auth client wraps the Supabase GoTrueJS client, which is a fork of Netlify’s GoTrueJS client (which is different than Netlify Identity). And dbAuth is a totally separate auth option. Plus, I'll keep it simple and not use RBAC at the moment.
+> I'm proud to tell you that I now know that the Redwood Supabase auth client wraps the Supabase GoTrueJS client, which is a fork of Netlify’s GoTrueJS client (which is different from Netlify Identity). And dbAuth is a totally separate auth option. Plus, I'll keep it simple and not use RBAC at the moment.
>
> Ahhh! It took me a few weeks to figure this out.
diff --git a/docs/docs/project-configuration-dev-test-build.mdx b/docs/docs/project-configuration-dev-test-build.mdx
index 28ef71678572..877d3b9dc261 100644
--- a/docs/docs/project-configuration-dev-test-build.mdx
+++ b/docs/docs/project-configuration-dev-test-build.mdx
@@ -162,6 +162,6 @@ You can also pass a flag when you launch your dev servers, for example:
```bash
yarn rw dev --debugPort 75028
```
-The flag passed in the CLI will always take precendence over your setting in the redwood.toml
+The flag passed in the CLI will always take precedence over your setting in the `redwood.toml`
Just remember to also change the port you are attaching to in your `./vscode/launch.json`
diff --git a/docs/docs/testing.md b/docs/docs/testing.md
index 5a93f97a8f6a..9632734a7c6e 100644
--- a/docs/docs/testing.md
+++ b/docs/docs/testing.md
@@ -350,7 +350,7 @@ describe('useAccumulator hook example in docs', () => {
expect(result.current.total).toBe(15)
})
- it('re-initializes the accumulator if passed a new initilizing value', () => {
+ it('re-initializes the accumulator if passed a new initializing value', () => {
const { result, rerender } = renderHook(
(initialValue) => useAccumulator(initialValue),
{
@@ -847,7 +847,7 @@ Two situations make testing Cells unique:
1. A single Cell can export up to four separate components
2. There's a GraphQL query taking place
-The first situation is really no different than regular component testing: you just test more than one component in your test. For example:
+The first situation is really no different from regular component testing: you just test more than one component in your test. For example:
```jsx title="web/src/components/ArticleCell/ArticleCell.js"
import Article from 'src/components/Article'
diff --git a/docs/docs/tutorial/chapter1/file-structure.md b/docs/docs/tutorial/chapter1/file-structure.md
index fdb897d2e8b6..6cc18eb509d1 100644
--- a/docs/docs/tutorial/chapter1/file-structure.md
+++ b/docs/docs/tutorial/chapter1/file-structure.md
@@ -14,7 +14,7 @@ Don't worry about trying to memorize this directory structure right now, it's ju
```
├── api
│ ├── db
-│ │ ├── schema.prisma
+│ │ └── schema.prisma
│ ├── dist
│ ├── src
│ │ ├── directives
diff --git a/docs/docs/tutorial/chapter1/prerequisites.md b/docs/docs/tutorial/chapter1/prerequisites.md
index 8dae52f9f9c8..efa608d12d26 100644
--- a/docs/docs/tutorial/chapter1/prerequisites.md
+++ b/docs/docs/tutorial/chapter1/prerequisites.md
@@ -1,7 +1,7 @@
# Prerequisites
- VIDEO
+ VIDEO
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/docs/tutorial/chapter2/getting-dynamic.md b/docs/docs/tutorial/chapter2/getting-dynamic.md
index dd9a58e987df..2eb37c9927e0 100644
--- a/docs/docs/tutorial/chapter2/getting-dynamic.md
+++ b/docs/docs/tutorial/chapter2/getting-dynamic.md
@@ -1,7 +1,7 @@
# Getting Dynamic
- VIDEO
+ VIDEO
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/docs/tutorial/chapter2/routing-params.md b/docs/docs/tutorial/chapter2/routing-params.md
index e069b1027909..d6be607705b7 100644
--- a/docs/docs/tutorial/chapter2/routing-params.md
+++ b/docs/docs/tutorial/chapter2/routing-params.md
@@ -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/docs/tutorial/chapter2/side-quest.md b/docs/docs/tutorial/chapter2/side-quest.md
index 81a87391ef97..ed1c279f47b6 100644
--- a/docs/docs/tutorial/chapter2/side-quest.md
+++ b/docs/docs/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/docs/tutorial/chapter3/forms.md b/docs/docs/tutorial/chapter3/forms.md
index b669f5259e7f..ba0701352d13 100644
--- a/docs/docs/tutorial/chapter3/forms.md
+++ b/docs/docs/tutorial/chapter3/forms.md
@@ -1,7 +1,7 @@
# Building a Form
- VIDEO
+ VIDEO
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/docs/tutorial/chapter3/saving-data.md b/docs/docs/tutorial/chapter3/saving-data.md
index d007011422f7..9a73500c06c0 100644
--- a/docs/docs/tutorial/chapter3/saving-data.md
+++ b/docs/docs/tutorial/chapter3/saving-data.md
@@ -173,7 +173,7 @@ You'd only get a single `contacts` type to return them all.
:::
-We'll only need `createContact` for our contact page. It accepts a single variable, `input`, that is an object that conforms to what we expect for a `CreateContactInput`, namely `{ name, email, message }`. This mutation should be able to be accessed by anyone, so we'll need want to change `@requireAuth` to `@skipAuth`. This one says that authentication is *not* required and will allow anyone to anonymously send us a message. Note that having at least one schema directive is required for each `Query` and `Mutation` or you'll get an error: Redwood embraces the idea of "secure by default" meaning that we try and keep your application safe, even if you do nothing special to prevent access. In this case it's much safer to throw an error than to accidentally expose all of your users' data to the internet!
+We'll only need `createContact` for our contact page. It accepts a single variable, `input`, that is an object that conforms to what we expect for a `CreateContactInput`, namely `{ name, email, message }`. This mutation should be able to be accessed by anyone, so we'll need to change `@requireAuth` to `@skipAuth`. This one says that authentication is *not* required and will allow anyone to anonymously send us a message. Note that having at least one schema directive is required for each `Query` and `Mutation` or you'll get an error: Redwood embraces the idea of "secure by default" meaning that we try and keep your application safe, even if you do nothing special to prevent access. In this case it's much safer to throw an error than to accidentally expose all of your users' data to the internet!
:::info
@@ -353,7 +353,7 @@ Before we plug this into the UI, let's take a look at a nifty GUI you get just b
Often it's nice to experiment and call your API in a more "raw" form before you get too far down the path of implementation only to find out something is missing. Is there a typo in the API layer or the web layer? Let's find out by accessing just the API layer.
-When you started development with `yarn redwood dev` (or `yarn rw dev`) you actually started a second process running at the same time. Open a new browser tab and head to [http://localhost:8911/graphql](http://localhost:8911/graphql) This is Apollo Server's [GraphQL Playground](https://www.apollographql.com/docs/apollo-server/testing/graphql-playground/), a web-based GUI for GraphQL APIs:
+When you started development with `yarn redwood dev` (or `yarn rw dev`) you actually started a second process running at the same time. Open a new browser tab and head to [http://localhost:8911/graphql](http://localhost:8911/graphql) This is GraphQL Yoga's [GraphiQL](https://www.graphql-yoga.com/docs/features/graphiql), a web-based GUI for GraphQL APIs:
diff --git a/docs/docs/tutorial/chapter4/authentication.md b/docs/docs/tutorial/chapter4/authentication.md
index 5018a194c4b1..9f0056d6cc8c 100644
--- a/docs/docs/tutorial/chapter4/authentication.md
+++ b/docs/docs/tutorial/chapter4/authentication.md
@@ -774,6 +774,16 @@ export const requireAuth = ({ roles }) => {
}
```
+:::caution
+
+At this point of the tutorial we have **not added roles** to our user model yet, therefore you can ignore the `hasRole` method in `api/src/lib/auth.js` for now.
+
+If this bothers you, feel free to peek into [the tutorial chapter about Authorization](../chapter7/rbac.md) and add the missing field as described there.
+:::
+
+
+
+
@@ -840,9 +850,22 @@ export const requireAuth = ({ roles }: { roles?: AllowedRoles } = {}) => {
}
```
+:::caution
+
+At this point of the tutorial we have **not added roles** to our user model yet, therefore you can ignore the following error:
+
+`Property 'roles' does not exist on type '{ id: number; email: string; }'.`
+
+in the `hasRole` method in `api/src/lib/auth.ts` for now.
+
+If this bothers you, feel free to peek into [the tutorial chapter about Authorization](../chapter7/rbac.md) and add the missing field as described there.
+:::
+
+
+
The `getCurrentUser()` function is where the magic happens: whatever is returned by this function is the content of `currentUser`, in both the web and api sides! In the case of dbAuth, the single argument passed in, `session`, contains the `id` of the user that's logged in. It then looks up the user in the database with Prisma, selecting just the `id`. Let's add `email` to this list:
@@ -859,9 +882,9 @@ export const getCurrentUser = async (session) => {
```
-
+
-```javascript title="api/src/lib/auth.js"
+```ts title="api/src/lib/auth.ts"
export const getCurrentUser = async (session) => {
return await db.user.findUnique({
where: { id: session.id },
diff --git a/docs/docs/tutorial/chapter4/deployment.md b/docs/docs/tutorial/chapter4/deployment.md
index 11c1ca5ba2c9..4aa91b1d48e9 100644
--- a/docs/docs/tutorial/chapter4/deployment.md
+++ b/docs/docs/tutorial/chapter4/deployment.md
@@ -12,7 +12,7 @@ But instead of just `git add README.md` use `git add .` since you've got an enti
### The Database
-We'll need a database somewhere on the internet to store our data. We've been using SQLite locally, but the kind of deployment we're going to do doesn't have a persistent disk store that we can put SQLite's file-based database on. So, for this part of this tutorial, we will use Postgres. (Prisma currently supports SQLite, Postgres and MySQL.) Don't worry if you aren't familiar with Postgres, Prisma will do all the heavy lifting. We just need to get a database available to the outside world so it can be accessed by our app.
+We'll need a database somewhere on the internet to store our data. We've been using SQLite locally, but the kind of deployment we're going to do doesn't have a persistent disk store that we can put SQLite's file-based database on. So, for this part of this tutorial, we will use Postgres. (Prisma currently supports SQLite, Postgres, MySQL and SQL Server.) Don't worry if you aren't familiar with Postgres, Prisma will do all the heavy lifting. We just need to get a database available to the outside world so it can be accessed by our app.
:::danger
@@ -27,7 +27,7 @@ There are several hosting providers where you can quickly start up a Postgres in
- [Digital Ocean](https://www.digitalocean.com/products/managed-databases)
- [AWS](https://aws.amazon.com/rds/postgresql/)
-We're going to go with Railway for now because it's a) free and b) ridiculously easy to get started, by far the easiest we've found. You don't even need to create a login! The only limitation is that if you *don't* create an account, your database will be removed after seven days. But unless you *really* procrastinate that should be plenty of time to get through the rest of the tutorial!
+We're going to go with Railway for now because it's a) free and b) ridiculously easy to get started, by far the easiest we've found. You don't even need to create a login! The only limitation is that if you *don't* create an account, your database will be removed after one day. If you think you can finish everything you need to do in the next 24 hours, go for it! Otherwise just create an account first and it'll stick around.
Head over to Railway and click **Start a New Project**:
diff --git a/docs/docs/tutorial/chapter5/first-test.md b/docs/docs/tutorial/chapter5/first-test.md
index efb11175973b..07f44e6a1218 100644
--- a/docs/docs/tutorial/chapter5/first-test.md
+++ b/docs/docs/tutorial/chapter5/first-test.md
@@ -59,7 +59,7 @@ test('Success renders successfully', async () => {
-But the truncation length could change later, so how do we encapsulate that in our test? Or should we? The number of characters to truncate to is hardcoded in the `Article` component, which this component shouldn't really care about about: it should be up to the page that's presenting the article to determine much or how little to show (based on space concerns, design constraints, etc.) don't you think? Even if we refactored the `truncate()` function into a shared place and imported it into both `Article` and this test, the test will still be knowing too much about `Article`—why should it have detailed knowledge of the internals of `Article` and that it's making use of this `truncate()` function at all? It shouldn't! One theory of testing says that the thing you're testing should be a black box: you can't see inside of it, all you can test is what data comes out when you send certain data in.
+But the truncation length could change later, so how do we encapsulate that in our test? Or should we? The number of characters to truncate to is hardcoded in the `Article` component, which this component shouldn't really care about: it should be up to the page that's presenting the article to determine much or how little to show (based on space concerns, design constraints, etc.) don't you think? Even if we refactored the `truncate()` function into a shared place and imported it into both `Article` and this test, the test will still be knowing too much about `Article`—why should it have detailed knowledge of the internals of `Article` and that it's making use of this `truncate()` function at all? It shouldn't! One theory of testing says that the thing you're testing should be a black box: you can't see inside of it, all you can test is what data comes out when you send certain data in.
Let's compromise—by virtue of the fact that this functionality has a prop called "summary" we can guess that it's doing *something* to shorten the text. So what if we test three things that we can make reasonable assumptions about right now:
diff --git a/docs/docs/tutorial/chapter6/comment-form.md b/docs/docs/tutorial/chapter6/comment-form.md
index 99a3a29bf3d9..0ff7915fc0be 100644
--- a/docs/docs/tutorial/chapter6/comment-form.md
+++ b/docs/docs/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/docs/tutorial/chapter6/multiple-comments.md b/docs/docs/tutorial/chapter6/multiple-comments.md
index ae7a965edccc..d6856755747a 100644
--- a/docs/docs/tutorial/chapter6/multiple-comments.md
+++ b/docs/docs/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/docs/tutorial/chapter7/rbac.md b/docs/docs/tutorial/chapter7/rbac.md
index 70a51c20459e..ca81e5e92bc8 100644
--- a/docs/docs/tutorial/chapter7/rbac.md
+++ b/docs/docs/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/docs/tutorial/foreword.md b/docs/docs/tutorial/foreword.md
index 16e1b0fffb11..de8c3b08505d 100644
--- a/docs/docs/tutorial/foreword.md
+++ b/docs/docs/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/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...
- VIDEO
+ VIDEO
- 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.
- VIDEO
+ VIDEO
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...
- VIDEO
+ VIDEO
- 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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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.
- VIDEO
+ VIDEO
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...
- VIDEO
+ VIDEO
- 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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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.
- VIDEO
+ VIDEO
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...
- VIDEO
+ VIDEO
- 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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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.
- VIDEO
+ VIDEO
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...
- VIDEO
+ VIDEO
- 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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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.
- VIDEO
+ VIDEO
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...
- VIDEO
+ VIDEO
- 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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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
- VIDEO
+ VIDEO
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