diff --git a/.github/workflows/publish-canary.yml b/.github/workflows/publish-canary.yml index 103b45d7327c..9d6a7c6fe0c8 100644 --- a/.github/workflows/publish-canary.yml +++ b/.github/workflows/publish-canary.yml @@ -39,17 +39,30 @@ jobs: - name: 🚢 Publish run: | + echo "//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}" > .npmrc + TAG='canary' && [[ "$GITHUB_REF_NAME" = 'next' ]] && TAG='next' echo "Publishing $TAG" - echo "//registry.npmjs.org/:_authToken=${NPM_AUTH_TOKEN}" > .npmrc - yarn lerna publish --include-merged-tags \ - --canary \ - --preid $TAG \ - --dist-tag $TAG \ - --force-publish \ - --loglevel verbose \ - --no-git-reset \ - --yes + + args=() + + if [[ "$GITHUB_REF_NAME" = 'main' ]]; then + args+=(premajor) + fi + + args+=( + --include-merged-tags + --canary + --preid "$TAG" + --dist-tag "$TAG" + --force-publish + --loglevel verbose + --no-git-reset + --yes + ) + + yarn lerna publish "${args[@]}" + env: NPM_AUTH_TOKEN: ${{ secrets.NPM_AUTH_TOKEN }} diff --git a/README.md b/README.md index a81589c69cbe..352779bc8c9e 100644 --- a/README.md +++ b/README.md @@ -770,6 +770,8 @@ And there you have it.
Rowin Mol

Christopher Burns
+
Alex Lilly
+
dphuang2
diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index d430c2fd5bcb..027fc284191b 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -24,10 +24,10 @@ "react-dom": "17.0.2" }, "devDependencies": { - "autoprefixer": "^10.4.12", + "autoprefixer": "^10.4.13", "postcss": "^8.4.18", "postcss-loader": "^7.0.1", "prettier-plugin-tailwindcss": "^0.1.13", - "tailwindcss": "^3.1.8" + "tailwindcss": "^3.2.1" } } diff --git a/docs/docs/cli-commands.md b/docs/docs/cli-commands.md index 5be5ff697ff6..14cc06f8682f 100644 --- a/docs/docs/cli-commands.md +++ b/docs/docs/cli-commands.md @@ -192,9 +192,9 @@ yarn redwood dev [side..] `yarn redwood dev api` starts the Redwood dev server and `yarn redwood dev web` starts the Webpack dev server with Redwood's config. -| Argument | Description | -| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -| `side` | Which dev server(s) to start. Choices are `api` and `web`. Defaults to `api` and `web` | +| Argument | Description | +| :----------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `side` | Which dev server(s) to start. Choices are `api` and `web`. Defaults to `api` and `web` | | `--forward, --fwd` | String of one or more Webpack Dev Server config options. See example usage below. See the [Redwood Webpack Doc](webpack-configuration.md#webpack-dev-server) for more details and examples. | **Usage** @@ -247,7 +247,7 @@ yarn redwood deploy ``` | Commands | Description | -|:------------------------------|:-----------------------------------------| +| :---------------------------- | :--------------------------------------- | | `serverless ` | Deploy to AWS using Serverless framework | | `netlify [...commands]` | Build command for Netlify deploy | | `render [...commands]` | Build command for Render deploy | @@ -262,7 +262,7 @@ yarn redwood deploy serverless ``` | Options & Arguments | Description | -|:--------------------|:--------------------------------------------------------------------------------------------------------------------------------------------| +| :------------------ | :------------------------------------------------------------------------------------------------------------------------------------------ | | `--side` | which Side(s)to deploy [choices: "api", "web"] [default: "web","api"] | | `--stage` | serverless stage, see [serverless stage docs](https://www.serverless.com/blog/stages-and-environments) [default: "production"] | | `--pack-only` | Only package the build for deployment | @@ -368,7 +368,7 @@ yarn redwood destroy | `sdl ` | Destroy a GraphQL schema and service component based on a given DB schema Model | | `service ` | Destroy a service component | | `directive ` | Destroy a directive | -| `graphiql` | Destroy a generated graphiql file | +| `graphiql` | Destroy a generated graphiql file | ## exec @@ -584,9 +584,9 @@ Generate log in, sign up, forgot password and password reset pages for dbAuth yarn redwood generate dbAuth ``` -| Arguments & Options | Description | -| -------------------- | ------------------------------------------------------------------------------------------------ | -| `--webAuthn` | Whether or not to add webAuthn support to the log in page. If not specified you will be prompted | +| Arguments & Options | Description | +| ------------------- | ------------------------------------------------------------------------------------------------ | +| `--webAuthn` | Whether or not to add webAuthn support to the log in page. If not specified you will be prompted | If you don't want to create your own log in, sign up, forgot password and password reset pages from scratch you can use this generator. The pages will be @@ -1720,13 +1720,13 @@ A `generateGraphiQLHeader` file will be created in your `api/lib` folder and inc yarn redwood setup graphiql ``` -| Arguments & Options | Description | -| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `provider` | Auth provider to configure. Choices are `dbAuth`, `netlify`, and `supabase` | -| `--id, -i` | Unique id to identify current user (required only for DBAuth) | -| `--token, -t` | Generated JWT token. If not provided, a mock JWT payload is returned in `api/lib/generateGraphiQLHeader` that can be modified and turned into a token | -| `--expiry, -e` | Token expiry in minutes. Default is 60 | -| `--view, -v` | Print out generated headers to console +| Arguments & Options | Description | +| :------------------ | :---------------------------------------------------------------------------------------------------------------------------------------------------- | +| `provider` | Auth provider to configure. Choices are `dbAuth`, `netlify`, and `supabase` | +| `--id, -i` | Unique id to identify current user (required only for DBAuth) | +| `--token, -t` | Generated JWT token. If not provided, a mock JWT payload is returned in `api/lib/generateGraphiQLHeader` that can be modified and turned into a token | +| `--expiry, -e` | Token expiry in minutes. Default is 60 | +| `--view, -v` | Print out generated headers to console | ### setup cache @@ -1785,18 +1785,18 @@ Your template will receive the provided `name` in a number of different variatio For example, given the name `fooBar` your template will receive the following _variables_ with the given _values_ -| Variable | Value | -| :------------------------ | :------------ | -| `pascalName` | `FooBar` | -| `camelName` | `fooBar` | -| `singularPascalName` | `FooBar` | -| `pluralPascalName` | `FooBars` | -| `singularCamelName` | `fooBar` | -| `pluralCamelName` | `fooBars` | -| `singularParamName` | `foo-bar` | -| `pluralParamName` | `foo-bars` | -| `singularConstantName` | `FOO_BAR` | -| `pluralConstantName` | `FOO_BARS` | +| Variable | Value | +| :--------------------- | :--------- | +| `pascalName` | `FooBar` | +| `camelName` | `fooBar` | +| `singularPascalName` | `FooBar` | +| `pluralPascalName` | `FooBars` | +| `singularCamelName` | `fooBar` | +| `pluralCamelName` | `fooBars` | +| `singularParamName` | `foo-bar` | +| `pluralParamName` | `foo-bars` | +| `singularConstantName` | `FOO_BAR` | +| `pluralConstantName` | `FOO_BARS` | **Example** @@ -1881,10 +1881,10 @@ Set up a UI design or style library. Right now the choices are [TailwindCSS](htt yarn rw setup ui ``` -| Arguments & Options | Description | -| :------------------ | :-------------------------------------------------------------------------- | +| Arguments & Options | Description | +| :------------------ | :-------------------------------------------------------------------------------------- | | `library` | Library to configure. Choices are `chakra-ui`, `tailwindcss`, `mantine`, and `windicss` | -| `--force, -f` | Overwrite existing configuration | +| `--force, -f` | Overwrite existing configuration | ## storybook @@ -1900,11 +1900,11 @@ yarn redwood storybook RedwoodJS supports Storybook by creating stories when generating cells, components, layouts and pages. You can then use these to describe how to render that UI component with representative data. -| Arguments & Options | Description | -| :------------------ | :------------------------------------------------ | -| `--open` | Open Storybook in your browser on start | -| `--build` | Build Storybook | -| `--port` | Which port to run Storybook on (defaults to 7910) | +| Arguments & Options | Description | +| :------------------ | :------------------------------------------------------------------------------------------------- | +| `--open` | Open Storybook in your browser on start [default: true]. Pass `--no-open` to disable this behavior | +| `--build` | Build Storybook | +| `--port` | Which port to run Storybook on [default: 7910] | ## test @@ -1914,15 +1914,15 @@ Run Jest tests for api and web. yarn redwood test [side..] ``` -| Arguments & Options | Description | -| ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| `sides or filter` | Which side(s) to test, and/or a regular expression to match against your test files to filter by | -| `--help` | Show help | -| `--version` | Show version number | -| `--watch` | Run tests related to changed files based on hg/git (uncommitted files). Specify the name or path to a file to focus on a specific set of tests [default: true] | -| `--watchAll` | Run all tests | -| `--collectCoverage` | Show test coverage summary and output info to `coverage` directory in project root. See this directory for an .html coverage report | -| `--clearCache` | Delete the Jest cache directory and exit without running tests | +| Arguments & Options | Description | +| ------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| `sides or filter` | Which side(s) to test, and/or a regular expression to match against your test files to filter by | +| `--help` | Show help | +| `--version` | Show version number | +| `--watch` | Run tests related to changed files based on hg/git (uncommitted files). Specify the name or path to a file to focus on a specific set of tests [default: true] | +| `--watchAll` | Run all tests | +| `--collectCoverage` | Show test coverage summary and output info to `coverage` directory in project root. See this directory for an .html coverage report | +| `--clearCache` | Delete the Jest cache directory and exit without running tests | | `--db-push` | Syncs the test database with your Prisma schema without requiring a migration. It creates a test database if it doesn't already exist [default: true]. This flag is ignored if your project doesn't have an `api` side. [👉 More details](#prisma-db-push). | > **Note** all other flags are passed onto the jest cli. So for example if you wanted to update your snapshots you can pass the `-u` flag diff --git a/docs/docs/testing.md b/docs/docs/testing.md index 20a84cc9d542..1ea448aed47a 100644 --- a/docs/docs/testing.md +++ b/docs/docs/testing.md @@ -274,6 +274,19 @@ render(
, { }) ``` ::: +### Mocking useLocation + +To mock `useLocation` in your component tests, wrap the component with `LocationProvider`: + +```jsx +import { LocationProvider } from '@redwoodjs/router' + +render( + + + +) +``` ## Testing Custom Hooks diff --git a/docs/docs/tutorial/chapter3/saving-data.md b/docs/docs/tutorial/chapter3/saving-data.md index 3512b86b25c1..3bcd7386d234 100644 --- a/docs/docs/tutorial/chapter3/saving-data.md +++ b/docs/docs/tutorial/chapter3/saving-data.md @@ -298,9 +298,10 @@ export const deleteContact = ({ id }) => { ```js title="api/src/services/contacts/contacts.ts" -import { db } from 'src/lib/db' import type { QueryResolvers, MutationResolvers } from 'types/graphql' +import { db } from 'src/lib/db' + export const contacts: QueryResolvers['contacts'] = () => { return db.contact.findMany() } @@ -1280,14 +1281,14 @@ export const createContact = ({ input }) => { ```ts title="api/src/services/contacts/contacts.ts" -import type { Prisma } from '@prisma/client' +import type { QueryResolvers, MutationResolvers } from 'types/graphql' // highlight-next-line import { validate } from '@redwoodjs/api' // ... -export const createContact = ({ input }: CreateContactArgs) => { +export const createContact = ({ input }: MutationResolvers['createContact']) => { // highlight-next-line validate(input.email, 'email', { email: true }) return db.contact.create({ data: input }) diff --git a/package.json b/package.json index c57980fc34df..c0894141eacd 100644 --- a/package.json +++ b/package.json @@ -63,25 +63,25 @@ "@tsd/typescript": "4.8.4", "@types/babel__generator": "7.6.4", "@types/fs-extra": "9.0.13", - "@types/jest": "29.1.2", + "@types/jest": "29.2.1", "@types/jscodeshift": "0.11.5", "@types/lodash.template": "4.5.1", "@types/ncp": "2.0.5", "@types/prompts": "2.4.1", "all-contributors-cli": "6.24.0", "ansi-colors": "4.1.3", - "babel-jest": "29.1.2", + "babel-jest": "29.2.2", "babel-plugin-auto-import": "1.1.0", "babel-plugin-remove-code": "0.0.6", "boxen": "5.1.2", "core-js": "3.25.5", "cypress": "10.10.0", "cypress-wait-until": "1.7.2", - "eslint": "8.25.0", + "eslint": "8.26.0", "fast-glob": "3.2.12", "fs-extra": "10.1.0", "is-port-reachable": "3.1.0", - "jest": "29.1.2", + "jest": "29.2.2", "jest-runner-tsd": "4.0.0", "jscodeshift": "0.14.0", "lerna": "6.0.0", diff --git a/packages/api-server/package.json b/packages/api-server/package.json index a4c03dcc89f7..fe9beeca823b 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -38,7 +38,7 @@ "chokidar": "3.5.3", "core-js": "3.25.5", "fast-json-parse": "1.0.3", - "fastify": "4.8.1", + "fastify": "4.9.2", "fastify-raw-body": "4.1.0", "lodash.escape": "4.0.1", "pretty-bytes": "5.6.0", @@ -56,7 +56,7 @@ "@types/split2": "3.2.1", "@types/yargs": "17.0.13", "aws-lambda": "1.0.7", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/api-server/src/requestHandlers/awsLambdaFastify.ts b/packages/api-server/src/requestHandlers/awsLambdaFastify.ts index db84540353ad..7eec1a5f4941 100644 --- a/packages/api-server/src/requestHandlers/awsLambdaFastify.ts +++ b/packages/api-server/src/requestHandlers/awsLambdaFastify.ts @@ -43,9 +43,9 @@ const fastifyResponseForLambdaResult = ( if (lambdaResult.isBase64Encoded) { // Correctly handle base 64 encoded binary data. See // https://aws.amazon.com/blogs/compute/handling-binary-data-using-amazon-api-gateway-http-apis - reply.send(Buffer.from(body, 'base64')) + return reply.send(Buffer.from(body, 'base64')) } else { - reply.send(body) + return reply.send(body) } } diff --git a/packages/api/package.json b/packages/api/package.json index c74c12fc1fac..f0555c955653 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -32,7 +32,7 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.19.4", - "@prisma/client": "4.3.1", + "@prisma/client": "4.5.0", "base64url": "3.0.1", "core-js": "3.25.5", "cross-undici-fetch": "0.4.14", @@ -61,7 +61,7 @@ "@types/split2": "3.2.1", "@types/uuid": "8.3.4", "aws-lambda": "1.0.7", - "jest": "29.1.2", + "jest": "29.2.2", "memjs": "1.3.0", "redis": "4.2.0", "split2": "4.1.0", diff --git a/packages/auth-providers-api/package.json b/packages/auth-providers-api/package.json index 7c8ff40e8988..125857f9f9a6 100644 --- a/packages/auth-providers-api/package.json +++ b/packages/auth-providers-api/package.json @@ -54,7 +54,7 @@ "firebase": "9.10.0", "firebase-admin": "10.3.0", "gotrue-js": "0.9.29", - "jest": "29.1.2", + "jest": "29.2.2", "magic-sdk": "9.1.1", "netlify-identity-widget": "1.9.2", "react": "17.0.2", diff --git a/packages/auth-providers-api/src/dbAuth/DbAuthHandler.ts b/packages/auth-providers-api/src/dbAuth/DbAuthHandler.ts index 3543301ca8e6..46fef3e20941 100644 --- a/packages/auth-providers-api/src/dbAuth/DbAuthHandler.ts +++ b/packages/auth-providers-api/src/dbAuth/DbAuthHandler.ts @@ -7,6 +7,10 @@ import type { VerifiedRegistrationResponse, VerifiedAuthenticationResponse, } from '@simplewebauthn/server' +import type { + AuthenticationCredentialJSON, + RegistrationCredentialJSON, +} from '@simplewebauthn/typescript-types' import type { APIGatewayProxyEvent, Context as LambdaContext } from 'aws-lambda' import base64url from 'base64url' import CryptoJS from 'crypto-js' @@ -230,12 +234,13 @@ export type AuthMethodNames = | 'webAuthnAuthOptions' | 'webAuthnAuthenticate' -type Params = { - username?: string - password?: string - method: AuthMethodNames - [key: string]: any -} +type Params = AuthenticationCredentialJSON & + RegistrationCredentialJSON & { + username?: string + password?: string + method: AuthMethodNames + [key: string]: any + } interface DbAuthSession { id: TIdType @@ -501,8 +506,18 @@ export class DbAuthHandler< this.options.forgotPassword as ForgotPasswordFlowOptions ).handler(this._sanitizeUser(user)) + // remove resetToken and resetTokenExpiresAt if in the body of the + // forgotPassword handler response + let responseObj = response + if (typeof response === 'object') { + responseObj = Object.assign(response, { + [this.options.authFields.resetToken]: undefined, + [this.options.authFields.resetTokenExpiresAt]: undefined, + }) + } + return [ - response ? JSON.stringify(response) : '', + response ? JSON.stringify(responseObj) : '', { ...this._deleteSessionHeader, }, @@ -607,14 +622,14 @@ export class DbAuthHandler< }, data: { [this.options.authFields.hashedPassword]: hashedPassword, - [this.options.authFields.resetToken]: null, - [this.options.authFields.resetTokenExpiresAt]: null, }, }) } catch (e) { throw new DbAuthError.GenericError() } + await this._clearResetToken(user) + // call the user-defined handler so they can decide what to do with this user const response = await ( this.options.resetPassword as ResetPasswordFlowOptions @@ -689,9 +704,8 @@ export class DbAuthHandler< throw new DbAuthError.WebAuthnError('WebAuthn is not enabled') } - const jsonBody = JSON.parse(this.event.body as string) const credential = await this.dbCredentialAccessor.findFirst({ - where: { id: jsonBody.rawId }, + where: { id: this.params.rawId }, }) if (!credential) { @@ -708,7 +722,7 @@ export class DbAuthHandler< let verification: VerifiedAuthenticationResponse try { const opts: VerifyAuthenticationResponseOpts = { - credential: jsonBody, + credential: this.params, expectedChallenge: user[this.options.authFields.challenge as string], expectedOrigin: webAuthnOptions.origin, expectedRPID: webAuthnOptions.domain, @@ -756,7 +770,7 @@ export class DbAuthHandler< // get the regular `login` cookies const [, loginHeaders] = this._loginResponse(user) const cookies = [ - this._webAuthnCookie(jsonBody.rawId, this.webAuthnExpiresDate), + this._webAuthnCookie(this.params.rawId, this.webAuthnExpiresDate), loginHeaders['set-cookie'], ].flat() @@ -881,12 +895,11 @@ export class DbAuthHandler< } const user = await this._getCurrentUser() - const jsonBody = JSON.parse(this.event.body as string) let verification: VerifiedRegistrationResponse try { const options: VerifyRegistrationResponseOpts = { - credential: jsonBody, + credential: this.params, expectedChallenge: user[this.options.authFields.challenge as string], expectedOrigin: this.options.webAuthn.origin, expectedRPID: this.options.webAuthn.domain, @@ -919,8 +932,10 @@ export class DbAuthHandler< user[this.options.authFields.id], [this.options.webAuthn.credentialFields.publicKey]: credentialPublicKey, - [this.options.webAuthn.credentialFields.transports]: - jsonBody.transports ? JSON.stringify(jsonBody.transports) : null, + [this.options.webAuthn.credentialFields.transports]: this.params + .transports + ? JSON.stringify(this.params.transports) + : null, [this.options.webAuthn.credentialFields.counter]: counter, }, }) diff --git a/packages/auth-providers-api/src/dbAuth/__tests__/DbAuthHandler.test.js b/packages/auth-providers-api/src/dbAuth/__tests__/DbAuthHandler.test.js index 2fbbcf8fb5e3..ec19f587da7b 100644 --- a/packages/auth-providers-api/src/dbAuth/__tests__/DbAuthHandler.test.js +++ b/packages/auth-providers-api/src/dbAuth/__tests__/DbAuthHandler.test.js @@ -767,15 +767,16 @@ describe('dbAuth', () => { // base64 characters only, except = expect(resetUser.resetToken).toMatch(/^\w{16}$/) expect(resetUser.resetTokenExpiresAt instanceof Date).toEqual(true) - // response contains the user data, minus `hashedPassword` and `salt` + + // response contains data returned from the handler expect(responseBody.id).toEqual(resetUser.id) expect(responseBody.email).toEqual(resetUser.email) - expect(responseBody.resetToken).toEqual(resetUser.resetToken) - expect(responseBody.resetTokenExpiresAt).toEqual( - resetUser.resetTokenExpiresAt.toISOString() - ) - expect(responseBody.hashedPassword).toEqual(undefined) - expect(responseBody.salt).toEqual(undefined) + + // response data should not include sensitive info + expect(responseBody.resetToken).toBeUndefined() + expect(responseBody.resetTokenExpiresAt).toBeUndefined() + expect(responseBody.hashedPassword).toBeUndefined() + expect(responseBody.salt).toBeUndefined() }) it('returns a logout session cookie', async () => { @@ -802,6 +803,22 @@ describe('dbAuth', () => { expect.assertions(1) }) + it('removes the token from the forgotPassword response', async () => { + const user = await createDbUser() + event.body = JSON.stringify({ + username: user.email, + }) + options.forgotPassword.handler = (handlerUser) => { + return handlerUser + } + const dbAuth = new DbAuthHandler(event, context, options) + const response = await dbAuth.forgotPassword() + const jsonResponse = JSON.parse(response[0]) + + expect(jsonResponse.resetToken).toBeUndefined() + expect(jsonResponse.resetTokenExpiresAt).toBeUndefined() + }) + it('throws a generic error for an invalid client', async () => { const user = await createDbUser() event.body = JSON.stringify({ @@ -1821,6 +1838,35 @@ describe('dbAuth', () => { expect(credential.transports).toEqual('["internal"]') expect(credential.counter).toEqual(0) }) + + it('works if event body is base64 encoded', async () => { + const user = await createDbUser({ + webAuthnChallenge: 'HuGPrQqK7f53NLwMZMst_DL9Dig2BBivDYWWpawIPVM', + }) + event = { + headers: { + 'Content-Type': 'application/json', + cookie: encryptToCookie( + JSON.stringify({ id: user.id }) + ';' + 'token' + ), + }, + body: Buffer.from( + `{"method":"webAuthnRegister","id":"GqjZOuYYppObBDeVknbrcBLkaa9imS5EJJwtCV740asUz24sdAmGFg","rawId":"GqjZOuYYppObBDeVknbrcBLkaa9imS5EJJwtCV740asUz24sdAmGFg","response":{"attestationObject":"o2NmbXRkbm9uZWdhdHRTdG10oGhhdXRoRGF0YVisSZYN5YgOjGh0NBcPZHZgW4_krrmihjLHmVzzuoMdl2NFAAAAAK3OAAI1vMYKZIsLJfHwVQMAKBqo2TrmGKaTmwQ3lZJ263AS5GmvYpkuRCScLQle-NGrFM9uLHQJhhalAQIDJiABIVggGIipTQt-gcoDPOpW6Zje_Av9C0-jWb2R2PBmXJJL-c8iWCC76wxo3uzG8cPqb0A8Vij-dqMbrEytEHjuFOtiQ2dt8A","clientDataJSON":"eyJ0eXBlIjoid2ViYXV0aG4uY3JlYXRlIiwiY2hhbGxlbmdlIjoiSHVHUHJRcUs3ZjUzTkx3TVpNc3RfREw5RGlnMkJCaXZEWVdXcGF3SVBWTSIsIm9yaWdpbiI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODkxMCIsImNyb3NzT3JpZ2luIjpmYWxzZSwib3RoZXJfa2V5c19jYW5fYmVfYWRkZWRfaGVyZSI6ImRvIG5vdCBjb21wYXJlIGNsaWVudERhdGFKU09OIGFnYWluc3QgYSB0ZW1wbGF0ZS4gU2VlIGh0dHBzOi8vZ29vLmdsL3lhYlBleCJ9"},"type":"public-key","clientExtensionResults":{},"transports":["internal"]}`, + 'utf8' + ), + } + const dbAuth = new DbAuthHandler(event, context, options) + + await dbAuth.webAuthnRegister() + + const credential = db.userCredential.findFirst({ + where: { userId: user.id }, + }) + + expect(credential.id).toEqual( + 'GqjZOuYYppObBDeVknbrcBLkaa9imS5EJJwtCV740asUz24sdAmGFg' + ) + }) }) describe('_validateOptions', () => { diff --git a/packages/auth-providers-setup/package.json b/packages/auth-providers-setup/package.json index 473e6166fdc1..01164e922b19 100644 --- a/packages/auth-providers-setup/package.json +++ b/packages/auth-providers-setup/package.json @@ -34,7 +34,7 @@ "@babel/core": "7.19.3", "@types/react": "17.0.50", "@types/secure-random-password": "0.2.1", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/auth-providers-setup/src/custom/templates/web/auth.ts.template b/packages/auth-providers-setup/src/custom/templates/web/auth.ts.template index 9fffc8ee7960..c590c2a3386d 100644 --- a/packages/auth-providers-setup/src/custom/templates/web/auth.ts.template +++ b/packages/auth-providers-setup/src/custom/templates/web/auth.ts.template @@ -31,7 +31,7 @@ export interface ValidateResetTokenResponse { [key: string]: string | undefined } -// Replace this with with the auth service provider client sdk +// Replace this with the auth service provider client sdk const customClient = { login: () => ({ id: 'unique-user-id', diff --git a/packages/auth-providers-setup/src/dbAuth/templates/api/functions/auth.webAuthn.ts.template b/packages/auth-providers-setup/src/dbAuth/templates/api/functions/auth.webAuthn.ts.template index 0b74a2d2317f..d2836bcc5361 100644 --- a/packages/auth-providers-setup/src/dbAuth/templates/api/functions/auth.webAuthn.ts.template +++ b/packages/auth-providers-setup/src/dbAuth/templates/api/functions/auth.webAuthn.ts.template @@ -1,7 +1,6 @@ import type { APIGatewayProxyEvent, Context } from 'aws-lambda' import { DbAuthHandler, DbAuthHandlerOptions } from '@redwoodjs/auth-providers-api' -import type { DbAuthHandlerOptions } from '@redwoodjs/api' import { db } from 'src/lib/db' diff --git a/packages/auth-providers-web/package.json b/packages/auth-providers-web/package.json index 47a2549a9e76..dddfa73af73f 100644 --- a/packages/auth-providers-web/package.json +++ b/packages/auth-providers-web/package.json @@ -49,7 +49,7 @@ "firebase": "9.10.0", "firebase-admin": "10.3.0", "gotrue-js": "0.9.29", - "jest": "29.1.2", + "jest": "29.2.2", "magic-sdk": "9.1.1", "netlify-identity-widget": "1.9.2", "react": "17.0.2", diff --git a/packages/auth/package.json b/packages/auth/package.json index 15b5bdce95cc..a65eb8f2205a 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -45,7 +45,7 @@ "firebase": "9.10.0", "firebase-admin": "10.3.0", "gotrue-js": "0.9.29", - "jest": "29.1.2", + "jest": "29.2.2", "magic-sdk": "9.1.1", "netlify-identity-widget": "1.9.2", "react": "17.0.2", diff --git a/packages/cli-helpers/package.json b/packages/cli-helpers/package.json index bb550e5579a7..a1e45141c2bf 100644 --- a/packages/cli-helpers/package.json +++ b/packages/cli-helpers/package.json @@ -31,7 +31,7 @@ "@babel/cli": "7.19.3", "@babel/core": "7.19.3", "@types/react": "17.0.50", - "jest": "29.1.2", + "jest": "29.2.2", "react": "17.0.2", "typescript": "4.7.4" }, diff --git a/packages/cli/package.json b/packages/cli/package.json index 3a2b24eb468a..63f28739660d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.19.4", - "@prisma/internals": "4.3.1", + "@prisma/internals": "4.5.0", "@redwoodjs/api-server": "3.2.0", "@redwoodjs/auth-providers-setup": "3.2.0", "@redwoodjs/internal": "3.2.0", @@ -57,7 +57,7 @@ "pascalcase": "1.0.0", "pluralize": "8.0.0", "prettier": "2.7.1", - "prisma": "4.3.1", + "prisma": "4.5.0", "prompts": "2.4.2", "rimraf": "3.0.2", "secure-random-password": "0.2.3", @@ -68,7 +68,7 @@ "devDependencies": { "@babel/cli": "7.19.3", "@babel/core": "7.19.3", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/cli/src/commands/setup/deploy/templates/flightcontrol.js b/packages/cli/src/commands/setup/deploy/templates/flightcontrol.js index bcdda2a6cede..9e5d0260828d 100644 --- a/packages/cli/src/commands/setup/deploy/templates/flightcontrol.js +++ b/packages/cli/src/commands/setup/deploy/templates/flightcontrol.js @@ -33,6 +33,8 @@ export const flightcontrolConfig = { type: 'static', buildType: 'nixpacks', singlePageApp: true, + installCommand: + 'yarn set version stable && NODE_ENV=development yarn install', buildCommand: 'yarn rw deploy flightcontrol web', outputDirectory: 'web/dist', envVariables: { diff --git a/packages/cli/src/commands/setup/deploy/templates/render.js b/packages/cli/src/commands/setup/deploy/templates/render.js index fd217ec56ef9..1b508e34409f 100644 --- a/packages/cli/src/commands/setup/deploy/templates/render.js +++ b/packages/cli/src/commands/setup/deploy/templates/render.js @@ -21,7 +21,7 @@ services: - key: NODE_VERSION value: 16 - key: SKIP_INSTALL_DEPS - value: TRUE + value: true routes: - type: rewrite source: /.redwood/functions/* diff --git a/packages/codemods/package.json b/packages/codemods/package.json index d6b511665179..f790588e2024 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -33,7 +33,7 @@ "execa": "5.1.1", "fast-glob": "3.2.12", "findup-sync": "5.0.0", - "jest": "29.1.2", + "jest": "29.2.2", "jscodeshift": "0.14.0", "prettier": "2.7.1", "tasuku": "2.0.0", @@ -45,7 +45,7 @@ "@types/babel__core": "7.1.19", "@types/findup-sync": "4.0.2", "@types/fs-extra": "9.0.13", - "@types/jest": "29.1.2", + "@types/jest": "29.2.1", "@types/jscodeshift": "0.11.5", "@types/prettier": "2.7.1", "@types/yargs": "17.0.13", diff --git a/packages/core/package.json b/packages/core/package.json index 65a4ba5efcd8..f341e9c13754 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -89,7 +89,7 @@ }, "devDependencies": { "@types/rimraf": "3.0.2", - "jest": "29.1.2" + "jest": "29.2.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json index 547faaf650d5..b314fed7ed45 100644 --- a/packages/create-redwood-app/package.json +++ b/packages/create-redwood-app/package.json @@ -29,16 +29,17 @@ "chalk": "4.1.2", "check-node-version": "4.2.1", "core-js": "3.25.5", + "enquirer": "2.3.6", "execa": "5.1.1", "fs-extra": "10.1.0", "listr2": "5.0.5", - "prompts": "2.4.2", + "terminal-link": "2.1.1", "yargs": "17.6.0" }, "devDependencies": { "@babel/cli": "7.19.3", "@types/prompts": "2.4.1", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/create-redwood-app/src/create-redwood-app.js b/packages/create-redwood-app/src/create-redwood-app.js index 432aff898134..56327be9216e 100644 --- a/packages/create-redwood-app/src/create-redwood-app.js +++ b/packages/create-redwood-app/src/create-redwood-app.js @@ -11,10 +11,11 @@ import path from 'path' import chalk from 'chalk' import checkNodeVersion from 'check-node-version' +import { prompt } from 'enquirer' import execa from 'execa' import fs from 'fs-extra' -import { Listr } from 'listr2' -import prompts from 'prompts' +import { Listr, figures } from 'listr2' +import terminalLink from 'terminal-link' import { hideBin } from 'yargs/helpers' import yargs from 'yargs/yargs' @@ -104,38 +105,6 @@ import { name, version } from '../package' .version(version) .parse() - // Variable to hold the user args as an object that can be used for prompt overides - // This gets more useful as there are more prompts to override - let userArgs = {} - - // Handle if typescript is selected via --ts - if (typescript === true) { - Object.assign(userArgs, { typescript: true }) - } - // Handle if typescript is skipped via --no-ts - if (typescript === false) { - Object.assign(userArgs, { typescript: false }) - } - - // User prompts - // See https://github.com/terkelg/prompts - const questions = [ - { - type: 'confirm', - name: 'typescript', - message: 'Use TypeScript?', - initial: true, - active: 'Yes', - inactive: 'No', - }, - ] - - // Override prompts based on initial args from user - prompts.override(userArgs) - - // Get the answers from the user - const answers = await prompts(questions) - // Get the directory for installation from the args const targetDir = String(args).replace(/,/g, '-') @@ -163,44 +132,6 @@ import { name, version } from '../package' const createProjectTasks = ({ newAppDir, overwrite }) => { return [ - { - title: 'Checking node and yarn compatibility', - skip: () => { - if (yarnInstall === false) { - return 'Warning: skipping check on request' - } - }, - task: () => { - return new Promise((resolve, reject) => { - const { engines } = require(path.join(templateDir, 'package.json')) - - // this checks all engine requirements, including Node.js and Yarn - checkNodeVersion(engines, (_error, result) => { - if (result.isSatisfied) { - return resolve() - } - - const logStatements = Object.keys(result.versions) - .filter((name) => !result.versions[name].isSatisfied) - .map((name) => { - const { version, wanted } = result.versions[name] - return style.error( - `${name} ${wanted} required, but you have ${version}` - ) - }) - logStatements.push( - style.header(`\nVisit requirements documentation:`) - ) - logStatements.push( - style.warning( - `/docs/tutorial/chapter1/prerequisites/#nodejs-and-yarn-versions\n` - ) - ) - return reject(new Error(logStatements.join('\n'))) - }) - }) - }, - }, { title: `${ appDirExists ? 'Using' : 'Creating' @@ -315,8 +246,105 @@ import { name, version } from '../package' const startTime = Date.now() + // Engine check Listr. Separate Listr to avoid https://github.com/cenk1cenk2/listr2/issues/296 + // Boolean flag + let hasPassedEngineCheck = null + // Array of strings + let engineErrorLog = [] + // Docs link for engine errors + const engineErrorDocsLink = terminalLink( + 'Tutorial - Prerequisites', + 'https://redwoodjs.com/docs/tutorial/chapter1/prerequisites' + ) + + await new Listr( + [ + { + title: 'Checking node and yarn compatibility', + skip: () => { + if (yarnInstall === false) { + return 'Warning: skipping check on request' + } + }, + task: () => { + return new Promise((resolve) => { + const { engines } = require(path.join(templateDir, 'package.json')) + + // this checks all engine requirements, including Node.js and Yarn + checkNodeVersion(engines, (_error, result) => { + if (result.isSatisfied) { + hasPassedEngineCheck = true + return resolve() + } + const logStatements = Object.keys(result.versions) + .filter((name) => !result.versions[name].isSatisfied) + .map((name) => { + const { version, wanted } = result.versions[name] + return `${name} ${wanted} required, but you have ${version}` + }) + engineErrorLog = logStatements + hasPassedEngineCheck = false + return resolve() + }) + }) + }, + }, + ], + { rendererOptions: { clearOutput: true } } + ).run() + + // Show a success message if required engines are present + if (hasPassedEngineCheck === true) { + console.log(`${style.success(figures.tick)} Compatibility checks passed`) + } + + // Show an error and prompt if failed engines check + if (hasPassedEngineCheck === false) { + console.log(`${style.error(figures.cross)} Compatibility checks failed`) + console.log( + [ + ` ${style.warning(figures.warning)} ${engineErrorLog.join('\n')}`, + '', + ` This may make your project incompatible with some deploy targets.`, + ` See: ${engineErrorDocsLink}`, + '', + ].join('\n') + ) + // Prompt user for how to proceed + const response = await prompt({ + type: 'select', + name: 'override-engine-error', + message: 'How would you like to proceed?', + choices: ['Override error and continue install', 'Quit install'], + initial: 0, + onCancel: () => process.exit(1), + }) + // Quit the install if user selects this option, otherwise it will proceed + if (response['override-engine-error'] === 'Quit install') { + process.exit(1) + } + } + + // Main install Listr new Listr( [ + { + title: 'Language preference', + skip: () => typescript !== null, + task: async (ctx, task) => { + ctx.language = await task.prompt({ + type: 'Select', + choices: ['TypeScript', 'JavaScript'], + message: 'Select your preferred coding language', + initial: 'TypeScript', + }) + + task.output = ctx.language + }, + options: { + persistentOutput: true, + }, + }, { title: 'Creating Redwood app', task: () => new Listr(createProjectTasks({ newAppDir, overwrite })), @@ -329,9 +357,9 @@ import { name, version } from '../package' title: 'Convert TypeScript files to JavaScript', // Enabled if user selects no to typescript prompt // Enabled if user specified --no-ts via command line - enabled: () => + enabled: (ctx) => yarnInstall === true && - (typescript === false || answers.typescript === false), + (typescript === false || ctx.language === 'JavaScript'), task: () => { return execa('yarn rw ts-to-js', { shell: true, @@ -350,7 +378,10 @@ import { name, version } from '../package' }, }, ], - { rendererOptions: { collapse: false }, exitOnError: true } + { + rendererOptions: { collapse: false }, + exitOnError: true, + } ) .run() .then(() => { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 7fb89eb59801..3102546f3e43 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -18,7 +18,7 @@ "@redwoodjs/internal": "3.2.0", "@typescript-eslint/eslint-plugin": "5.40.0", "@typescript-eslint/parser": "5.40.0", - "eslint": "8.25.0", + "eslint": "8.26.0", "eslint-config-prettier": "8.5.0", "eslint-import-resolver-babel-module": "5.3.1", "eslint-plugin-babel": "5.3.1", @@ -32,7 +32,7 @@ }, "devDependencies": { "@babel/cli": "7.19.3", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/forms/package.json b/packages/forms/package.json index 7533629c05d4..905710fa6641 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -25,7 +25,7 @@ "@babel/runtime-corejs3": "7.19.4", "core-js": "3.25.5", "pascalcase": "1.0.0", - "react-hook-form": "7.37.0" + "react-hook-form": "7.39.1" }, "devDependencies": { "@babel/cli": "7.19.3", @@ -39,7 +39,7 @@ "@types/react-dom": "17.0.17", "@types/testing-library__jest-dom": "5.14.5", "graphql": "16.6.0", - "jest": "29.1.2", + "jest": "29.2.2", "nodemon": "2.0.20", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json index e71829d54f8c..86a30d9676e2 100644 --- a/packages/graphql-server/package.json +++ b/packages/graphql-server/package.json @@ -32,7 +32,7 @@ "@graphql-tools/schema": "8.5.1", "@graphql-tools/utils": "8.12.0", "@graphql-yoga/common": "2.12.12", - "@prisma/client": "4.3.1", + "@prisma/client": "4.5.0", "@redwoodjs/api": "3.2.0", "core-js": "3.25.5", "cross-undici-fetch": "0.4.14", @@ -54,7 +54,7 @@ "@types/lodash.omitby": "4.6.7", "@types/uuid": "8.3.4", "aws-lambda": "1.0.7", - "jest": "29.1.2", + "jest": "29.2.2", "jsonwebtoken": "8.5.1", "typescript": "4.7.4" }, diff --git a/packages/internal/package.json b/packages/internal/package.json index fd8be47832b9..05ca4c2de237 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -71,7 +71,7 @@ "@types/rimraf": "3.0.2", "babel-plugin-tester": "10.1.0", "graphql-tag": "2.12.6", - "jest": "29.1.2" + "jest": "29.2.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/prerender/package.json b/packages/prerender/package.json index 6df036d34c38..7b492059e588 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -42,7 +42,7 @@ "@babel/core": "7.19.3", "@types/mime-types": "2.1.1", "babel-plugin-tester": "10.1.0", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "peerDependencies": { diff --git a/packages/record/package.json b/packages/record/package.json index 7205e676c8af..9d85b329fb79 100644 --- a/packages/record/package.json +++ b/packages/record/package.json @@ -28,15 +28,15 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.19.4", - "@prisma/client": "4.3.1", + "@prisma/client": "4.5.0", "core-js": "3.25.5" }, "devDependencies": { "@babel/cli": "7.19.3", "@babel/core": "7.19.3", - "@prisma/internals": "4.3.1", + "@prisma/internals": "4.5.0", "esbuild": "0.15.10", - "jest": "29.1.2" + "jest": "29.2.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/router/package.json b/packages/router/package.json index bc158970df68..f9c3486a8a41 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -34,7 +34,7 @@ "@types/lodash.isequal": "4.5.6", "@types/react": "17.0.50", "@types/react-dom": "17.0.17", - "jest": "29.1.2", + "jest": "29.2.2", "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", diff --git a/packages/structure/package.json b/packages/structure/package.json index 14262b831375..fdc3088511e2 100644 --- a/packages/structure/package.json +++ b/packages/structure/package.json @@ -31,7 +31,7 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.19.4", - "@prisma/internals": "4.3.1", + "@prisma/internals": "4.5.0", "@redwoodjs/internal": "3.2.0", "@types/line-column": "1.0.0", "camelcase": "6.3.0", @@ -62,7 +62,7 @@ "@types/lru-cache": "5.1.1", "@types/node": "16.11.65", "@types/vscode": "1.72.0", - "jest": "29.1.2", + "jest": "29.2.2", "typescript": "4.7.4" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index 5708ddfa1614..34c2f7a3e9dd 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -43,7 +43,7 @@ "@types/envinfo": "7.8.1", "@types/uuid": "8.3.4", "@types/yargs": "17.0.13", - "jest": "29.1.2" + "jest": "29.2.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/testing/package.json b/packages/testing/package.json index c3f5304ccc5b..392b3eddb1d8 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -45,17 +45,17 @@ "@testing-library/user-event": "14.4.3", "@types/aws-lambda": "8.10.107", "@types/babel-core": "6.25.7", - "@types/jest": "29.1.2", + "@types/jest": "29.2.1", "@types/node": "16.11.65", "@types/react": "17.0.50", "@types/react-dom": "17.0.17", "@types/webpack": "5.28.0", - "babel-jest": "29.1.2", + "babel-jest": "29.2.2", "babel-plugin-inline-react-svg": "2.0.1", "core-js": "3.25.5", "fast-glob": "3.2.12", - "jest": "29.1.2", - "jest-environment-jsdom": "29.1.2", + "jest": "29.2.2", + "jest-environment-jsdom": "29.2.2", "jest-watch-typeahead": "2.2.0", "msw": "0.47.4", "ts-toolbelt": "9.6.0", diff --git a/packages/web/package.json b/packages/web/package.json index 1c2e8228f30f..81864994e62a 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -36,7 +36,7 @@ "test:watch": "yarn test --watch" }, "dependencies": { - "@apollo/client": "3.7.0", + "@apollo/client": "3.7.1", "@babel/runtime-corejs3": "7.19.4", "@redwoodjs/auth": "3.2.0", "core-js": "3.25.5", @@ -56,7 +56,7 @@ "@types/react": "17.0.50", "@types/react-dom": "17.0.17", "@types/testing-library__jest-dom": "5.14.5", - "jest": "29.1.2", + "jest": "29.2.2", "nodemon": "2.0.20", "prop-types": "15.8.1", "react": "17.0.2", diff --git a/tasks/all-contributors/.all-contributorsrc b/tasks/all-contributors/.all-contributorsrc index ea4ae9e45ca1..24e790c85628 100644 --- a/tasks/all-contributors/.all-contributorsrc +++ b/tasks/all-contributors/.all-contributorsrc @@ -3664,6 +3664,24 @@ "contributions": [ "code" ] + }, + { + "login": "bigbuckalex", + "name": "Alex Lilly", + "avatar_url": "https://avatars.githubusercontent.com/u/13971705?v=4", + "profile": "https://github.com/bigbuckalex", + "contributions": [ + "code" + ] + }, + { + "login": "dphuang2", + "name": "dphuang2", + "avatar_url": "https://avatars.githubusercontent.com/u/14287381?v=4", + "profile": "https://github.com/dphuang2", + "contributions": [ + "code" + ] } ] } diff --git a/tasks/run-e2e b/tasks/run-e2e index 7b33132bbc5c..a50ea410cf92 100755 --- a/tasks/run-e2e +++ b/tasks/run-e2e @@ -65,6 +65,24 @@ const createRedwoodJSApp = ({ yarn1 }) => { stdio: 'inherit', } ) + + // Add prisma resolutions + const packageJSONPath = path.join(REDWOOD_PROJECT_DIRECTORY, 'package.json') + const packageJSON = fs.readJSONSync(packageJSONPath) + + const getVersionFrmRwPkg = (dep, pkg) => { + return fs.readJSONSync( + path.join(REDWOODJS_FRAMEWORK_PATH, 'packages', pkg, 'package.json') + ).dependencies[dep] + } + + packageJSON.resolutions = { + prisma: getVersionFrmRwPkg('prisma', 'cli'), + '@prisma/client': getVersionFrmRwPkg('@prisma/client', 'api'), + '@prisma/internals': getVersionFrmRwPkg('@prisma/internals', 'cli'), + } + + fs.writeFileSync(packageJSONPath, JSON.stringify(packageJSON, null, 2)) } catch (e) { console.error('Error: Could not create Redwood Project') console.error(e) diff --git a/tasks/test-project/tasks.js b/tasks/test-project/tasks.js index bc497f5408b4..6bc60dad7961 100644 --- a/tasks/test-project/tasks.js +++ b/tasks/test-project/tasks.js @@ -514,7 +514,8 @@ async function apiTasks(outputPath, { verbose, linkWithLatestFwBuild }) { { title: 'Scaffolding post', task: async () => { - return generateScaffold('post') + await generateScaffold('post') + await execa(`yarn rwfw project:copy`, [], execaOptions) }, }, { diff --git a/yarn.lock b/yarn.lock index 15b15ba3af00..81949ad7262c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,9 +56,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:3.7.0": - version: 3.7.0 - resolution: "@apollo/client@npm:3.7.0" +"@apollo/client@npm:3.7.1": + version: 3.7.1 + resolution: "@apollo/client@npm:3.7.1" dependencies: "@graphql-typed-document-node/core": ^3.1.1 "@wry/context": ^0.7.0 @@ -88,7 +88,7 @@ __metadata: optional: true subscriptions-transport-ws: optional: true - checksum: d2b3e2e135d6bdd314d3879206a63f6e56fa1621da6a35bdf4907e71c21a8a3595ae7728bec816b276329eec1ce7aee8f0893e10d51ed9a4eee1852cabf028a4 + checksum: 2f0ac97f59555481bcc297c8c441b6ef71e9faac5d025f476baceab09173a615c6584fb486fac7c9c7361f6b543dc8fb648c6ea0160ccfd31a86f7866717d35e languageName: node linkType: hard @@ -3704,14 +3704,14 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/config-array@npm:^0.10.5": - version: 0.10.5 - resolution: "@humanwhocodes/config-array@npm:0.10.5" +"@humanwhocodes/config-array@npm:^0.11.6": + version: 0.11.7 + resolution: "@humanwhocodes/config-array@npm:0.11.7" dependencies: "@humanwhocodes/object-schema": ^1.2.1 debug: ^4.1.1 - minimatch: ^3.0.4 - checksum: d8bdd91d8ff81e9663236de0650fa1d94457422bb1226604c66e7921ac0afee50148f1e935976eac98822761c98d92d0ca2e97e30c4c22c0ecdebdf8133e5e82 + minimatch: ^3.0.5 + checksum: 88b24aa7ff7ba7f4313de530b7c162cb4bcd75451a7765eb2810b2841c61989f184a1f7ef76f3160df8a8735615fda64075e9da83273190731e5a26e03c6920c languageName: node linkType: hard @@ -3770,50 +3770,50 @@ __metadata: languageName: node linkType: hard -"@jest/console@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/console@npm:29.1.2" +"@jest/console@npm:^29.2.1": + version: 29.2.1 + resolution: "@jest/console@npm:29.2.1" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@types/node": "*" chalk: ^4.0.0 - jest-message-util: ^29.1.2 - jest-util: ^29.1.2 + jest-message-util: ^29.2.1 + jest-util: ^29.2.1 slash: ^3.0.0 - checksum: aff46ba460fb236b2e753bda473db67fc04c5232eaaadaa6f49de9f883f48c624a14ec274e7acbef3d2fdc13437033bd74579858088e604e81d0e0d2c2fe9f4f + checksum: eb6296f46e23b80965fab2f4cbd69e221cad461995526f6dc4563646ce1726dc2dd888944672022699bfe13560e1504ed31e5b3fc9fc9ce68c671c5ca56b327c languageName: node linkType: hard -"@jest/core@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/core@npm:29.1.2" +"@jest/core@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/core@npm:29.2.2" dependencies: - "@jest/console": ^29.1.2 - "@jest/reporters": ^29.1.2 - "@jest/test-result": ^29.1.2 - "@jest/transform": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/console": ^29.2.1 + "@jest/reporters": ^29.2.2 + "@jest/test-result": ^29.2.1 + "@jest/transform": ^29.2.2 + "@jest/types": ^29.2.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 ci-info: ^3.2.0 exit: ^0.1.2 graceful-fs: ^4.2.9 - jest-changed-files: ^29.0.0 - jest-config: ^29.1.2 - jest-haste-map: ^29.1.2 - jest-message-util: ^29.1.2 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.1.2 - jest-resolve-dependencies: ^29.1.2 - jest-runner: ^29.1.2 - jest-runtime: ^29.1.2 - jest-snapshot: ^29.1.2 - jest-util: ^29.1.2 - jest-validate: ^29.1.2 - jest-watcher: ^29.1.2 + jest-changed-files: ^29.2.0 + jest-config: ^29.2.2 + jest-haste-map: ^29.2.1 + jest-message-util: ^29.2.1 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.2.2 + jest-resolve-dependencies: ^29.2.2 + jest-runner: ^29.2.2 + jest-runtime: ^29.2.2 + jest-snapshot: ^29.2.2 + jest-util: ^29.2.1 + jest-validate: ^29.2.2 + jest-watcher: ^29.2.2 micromatch: ^4.0.4 - pretty-format: ^29.1.2 + pretty-format: ^29.2.1 slash: ^3.0.0 strip-ansi: ^6.0.0 peerDependencies: @@ -3821,76 +3821,76 @@ __metadata: peerDependenciesMeta: node-notifier: optional: true - checksum: 4372ef9055cd5f0303fb057a8e6fd7a00e7abca1f8e3dde582108e0c4af98f168690b80e0f89dc5c5d7e77d667ebdff76202faf195a302c5320f6060c4086eca + checksum: 07a9ca6a0d747b6a2e822d512455cda4254ac74d42d300339eef3fba5c2c9b00a91cb2a50fc8477e789c4e5b57c22ecc9a6250a067e12b9993833d4f01d2b4c8 languageName: node linkType: hard -"@jest/environment@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/environment@npm:29.1.2" +"@jest/environment@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/environment@npm:29.2.2" dependencies: - "@jest/fake-timers": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/fake-timers": ^29.2.2 + "@jest/types": ^29.2.1 "@types/node": "*" - jest-mock: ^29.1.2 - checksum: 272ca67bd0b7ade24481c01d799f239a07857a8ce2a9ae0a3b5dcdae4ff38ed1c4a475d6a5941ad34ec6d527612bf1619ee695b42c24b7bc672c8891fd08c208 + jest-mock: ^29.2.2 + checksum: 090d47b83165455f3e5ddea014594a3b77de42d185d3ac4c26044eecf167ab0b3efb14784c288ebee749bb3c06055d257ae6caffcef4d44fcfff2b38d43dd8d9 languageName: node linkType: hard -"@jest/expect-utils@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/expect-utils@npm:29.1.2" +"@jest/expect-utils@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/expect-utils@npm:29.2.2" dependencies: - jest-get-type: ^29.0.0 - checksum: b37a164336bf60fc02ed08c8ae34a62b3a171132dfe5e259ccc6a967360abeb783f830973560e11fde240e2a68f3f692b8f6114bb0e35a33ca4674ea6ec32420 + jest-get-type: ^29.2.0 + checksum: 1241e80d307724df38668334cecff28c6dce28e5eeda1893b1f8be8b74dcb286ed4f8f40db0b15c32e3fd376563a69a8ffce30189a357fc4bd75a0450ae4e6d9 languageName: node linkType: hard -"@jest/expect@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/expect@npm:29.1.2" +"@jest/expect@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/expect@npm:29.2.2" dependencies: - expect: ^29.1.2 - jest-snapshot: ^29.1.2 - checksum: 60931a2da3c3367d185b0bdaf9727981927027abe58e7592aca52914917d420b293238e393e7d36dbbe1e3b66c0df522e6f496686d89989afa925d8a2acb74ff + expect: ^29.2.2 + jest-snapshot: ^29.2.2 + checksum: 9654b3a076d354278e048808c20c9004e4172d8108c052a74510757fe41d79004ec594cb5965b33f436a4994df1ae347b97469734648711e1664f25d9e6c2637 languageName: node linkType: hard -"@jest/fake-timers@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/fake-timers@npm:29.1.2" +"@jest/fake-timers@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/fake-timers@npm:29.2.2" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@sinonjs/fake-timers": ^9.1.2 "@types/node": "*" - jest-message-util: ^29.1.2 - jest-mock: ^29.1.2 - jest-util: ^29.1.2 - checksum: f0575c24ca4992bb5da8fca547e29c4d20e9c31cff65b5740eadb5e9546dd41ad5ca86e8cd81b07c6f0ab796fc5c886c4da0cd01536dc581c16fb1c466281b05 + jest-message-util: ^29.2.1 + jest-mock: ^29.2.2 + jest-util: ^29.2.1 + checksum: 7c32c3c1f4ffc410db64041365359656dfdb3acdcae96a0a2f5497849068524e258963978d91e8a75f830bec38f87c6576992de9f113bbf609b3c85d64b0c73d languageName: node linkType: hard -"@jest/globals@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/globals@npm:29.1.2" +"@jest/globals@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/globals@npm:29.2.2" dependencies: - "@jest/environment": ^29.1.2 - "@jest/expect": ^29.1.2 - "@jest/types": ^29.1.2 - jest-mock: ^29.1.2 - checksum: f0a5de1b0423cd8d9e304d50fe3d5945dd6b960528c23f22dccd536eb8dfaea767bfdd861dc9d0e1e7908de103c1be59e83840c20b13403b0114074d59527975 + "@jest/environment": ^29.2.2 + "@jest/expect": ^29.2.2 + "@jest/types": ^29.2.1 + jest-mock: ^29.2.2 + checksum: 000aa9dcd5b1b3f6afe9b2cbd9dd6d56f5da1740cfae7720da945b0b04f34e12ec54a50a97f2a8e234c366a6f05fe2a9665012326aafd90e3a5a2c139c90c59e languageName: node linkType: hard -"@jest/reporters@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/reporters@npm:29.1.2" +"@jest/reporters@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/reporters@npm:29.2.2" dependencies: "@bcoe/v8-coverage": ^0.2.3 - "@jest/console": ^29.1.2 - "@jest/test-result": ^29.1.2 - "@jest/transform": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/console": ^29.2.1 + "@jest/test-result": ^29.2.1 + "@jest/transform": ^29.2.2 + "@jest/types": ^29.2.1 "@jridgewell/trace-mapping": ^0.3.15 "@types/node": "*" chalk: ^4.0.0 @@ -3903,20 +3903,19 @@ __metadata: istanbul-lib-report: ^3.0.0 istanbul-lib-source-maps: ^4.0.0 istanbul-reports: ^3.1.3 - jest-message-util: ^29.1.2 - jest-util: ^29.1.2 - jest-worker: ^29.1.2 + jest-message-util: ^29.2.1 + jest-util: ^29.2.1 + jest-worker: ^29.2.1 slash: ^3.0.0 string-length: ^4.0.1 strip-ansi: ^6.0.0 - terminal-link: ^2.0.0 v8-to-istanbul: ^9.0.1 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: node-notifier: optional: true - checksum: 7eef7acc21b48d4ae00c2380886acc100a3107c7c47a26d58d0bf7fad3674657dd9ec56cbae76ed01d08ad4e0b97ead0a94a65d1f915f56baaf5feeef8b742ec + checksum: b78a9e3a878c9be1d32d58232aaa4ed0086500b6e0ed3e9974cb859faf2e3ffe3500007dc872c2d151bae3b383943d01de57bc92b26fc280513b0ee11e37bc20 languageName: node linkType: hard @@ -3929,38 +3928,38 @@ __metadata: languageName: node linkType: hard -"@jest/source-map@npm:^29.0.0": - version: 29.0.0 - resolution: "@jest/source-map@npm:29.0.0" +"@jest/source-map@npm:^29.2.0": + version: 29.2.0 + resolution: "@jest/source-map@npm:29.2.0" dependencies: "@jridgewell/trace-mapping": ^0.3.15 callsites: ^3.0.0 graceful-fs: ^4.2.9 - checksum: 7789e0326bfea3d392b0c4b11b2611013218ad0a246110e3fbd2043128ee64a3282cd33434cbade36b5f2a87decc5e2592d545d270321f8ada663e2c8deedfdf + checksum: 6b63d7a1deb59f59fdd7c6f5700069401ec6228e788f3446a6f9ead2e4926c394e1d00eced3f77296a218089c0a173d2aeb5c7b9fd6205ddb160a9f28e644ea8 languageName: node linkType: hard -"@jest/test-result@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/test-result@npm:29.1.2" +"@jest/test-result@npm:^29.2.1": + version: 29.2.1 + resolution: "@jest/test-result@npm:29.2.1" dependencies: - "@jest/console": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/console": ^29.2.1 + "@jest/types": ^29.2.1 "@types/istanbul-lib-coverage": ^2.0.0 collect-v8-coverage: ^1.0.0 - checksum: c6462aaa9d6cd54ece64f244745bb247041ed6facccd9ebe15be74c3cb302b188f298b550f33de70a869fd495d1d51c9f5b4c029c4bc18701cc6a8c3663d88ef + checksum: aafc63f60a63bfc17e58826e5e51a6f34a3f3b024c5017f36b62ba2471575117381ac147e766d331e7a20bea6995b8e5f3e8e8af3bd502c868aee6456b6eb773 languageName: node linkType: hard -"@jest/test-sequencer@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/test-sequencer@npm:29.1.2" +"@jest/test-sequencer@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/test-sequencer@npm:29.2.2" dependencies: - "@jest/test-result": ^29.1.2 + "@jest/test-result": ^29.2.1 graceful-fs: ^4.2.9 - jest-haste-map: ^29.1.2 + jest-haste-map: ^29.2.1 slash: ^3.0.0 - checksum: fbca61ab6e4b14dd8e69da6563979c6fe741937e1ec7f40b610252224ba1fbbe070898cbcee5126c0ff2a5b11aeb16d1d019cf37cfe561bd9437f3d1b2df1513 + checksum: 33a3090c71a5f53509f4426a7404c60b2fc0a123fc1792477e1262161e7e9dd8d3cb3e53e33359abe71fab8cb2a1bd8810240b39a1515e7be028751ed7e86e0d languageName: node linkType: hard @@ -3987,26 +3986,26 @@ __metadata: languageName: node linkType: hard -"@jest/transform@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/transform@npm:29.1.2" +"@jest/transform@npm:^29.2.2": + version: 29.2.2 + resolution: "@jest/transform@npm:29.2.2" dependencies: "@babel/core": ^7.11.6 - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@jridgewell/trace-mapping": ^0.3.15 babel-plugin-istanbul: ^6.1.1 chalk: ^4.0.0 convert-source-map: ^1.4.0 fast-json-stable-stringify: ^2.1.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.1.2 - jest-regex-util: ^29.0.0 - jest-util: ^29.1.2 + jest-haste-map: ^29.2.1 + jest-regex-util: ^29.2.0 + jest-util: ^29.2.1 micromatch: ^4.0.4 pirates: ^4.0.4 slash: ^3.0.0 write-file-atomic: ^4.0.1 - checksum: f01bd4ee84b6f3f8a1b7b03c1bc838ef8949954c88b19dfa003c983dbe99ee55ae0a3014eef17cc502b6660c25628e5c2ed9cafa5a1cce4de2dc7613c26aeb4d + checksum: 25cc609c5810331b496cd670fd7097202044ac76446e94441a3b8e680f7e54f0fb7794b30f0be9b321323045349812fd12fce9f6f9268bb40d13d8100980dc60 languageName: node linkType: hard @@ -4023,9 +4022,9 @@ __metadata: languageName: node linkType: hard -"@jest/types@npm:^29.1.2": - version: 29.1.2 - resolution: "@jest/types@npm:29.1.2" +"@jest/types@npm:^29.2.1": + version: 29.2.1 + resolution: "@jest/types@npm:29.2.1" dependencies: "@jest/schemas": ^29.0.0 "@types/istanbul-lib-coverage": ^2.0.0 @@ -4033,7 +4032,7 @@ __metadata: "@types/node": "*" "@types/yargs": ^17.0.8 chalk: ^4.0.0 - checksum: 931b864bca5e7f99f86de02d6efc0ee1a86eef7fc2b6db7103f84cf8dd73278122855b0e5b964087f391169c73887a6c069aa8dbc8a722c00c5cb0f33cc42b63 + checksum: 4f3ed71cec9bc9511d2bdb3637c587269a3e0f846610bfd085db1b34ae96c37eee805100f4ec094382549802a20327e79d4fcaf91a47a9d4a7d7fb7106b7baa9 languageName: node linkType: hard @@ -5148,7 +5147,7 @@ __metadata: languageName: node linkType: hard -"@nodelib/fs.walk@npm:^1.2.3": +"@nodelib/fs.walk@npm:^1.2.3, @nodelib/fs.walk@npm:^1.2.8": version: 1.2.8 resolution: "@nodelib/fs.walk@npm:1.2.8" dependencies: @@ -6025,41 +6024,41 @@ __metadata: languageName: node linkType: hard -"@prisma/client@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/client@npm:4.3.1" +"@prisma/client@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/client@npm:4.5.0" dependencies: - "@prisma/engines-version": 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b + "@prisma/engines-version": 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 peerDependencies: prisma: "*" peerDependenciesMeta: prisma: optional: true - checksum: afd28e86f022f2495ebc51e3483ac62fd4fcb8a5d69cd34ab27d3cc11ab450fdb218b3fe54662894daca180fac684016e8849e73f357dc43ade6a88768b82026 + checksum: d0fe18d36ab3f4bd9deb468c7461702c68ba3a32afb1e854b3942cc0ed917bd5fbb427fc9069127c72407d9998d559cd8d48be3a81960deb413d241e032be100 languageName: node linkType: hard -"@prisma/debug@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/debug@npm:4.3.1" +"@prisma/debug@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/debug@npm:4.5.0" dependencies: "@types/debug": 4.1.7 debug: 4.3.4 strip-ansi: 6.0.1 - checksum: 40cfaf0fe4577709abdce2ea49b0a56e4a17fb4bda43430b8489c7073bf5924afd77667fcd8cdf63fffa3f6f009ad643436c404b7528ac871c6b17ab3cc6176b + checksum: 9889f5efb201416b9237e82f8b49606699f7e8a498da4635f77a81c4b24d41b2bb4bb3bfd5852cb9b98db11e9d24df36c2d89d71d5a45cfc5524430e06b5bf91 languageName: node linkType: hard -"@prisma/engine-core@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/engine-core@npm:4.3.1" +"@prisma/engine-core@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/engine-core@npm:4.5.0" dependencies: "@opentelemetry/api": ^1.1.0 "@opentelemetry/sdk-trace-base": ^1.4.0 - "@prisma/debug": 4.3.1 - "@prisma/engines": 4.3.1 - "@prisma/generator-helper": 4.3.1 - "@prisma/get-platform": 4.3.1 + "@prisma/debug": 4.5.0 + "@prisma/engines": 4.5.0 + "@prisma/generator-helper": 4.5.0 + "@prisma/get-platform": 4.5.0 chalk: 4.1.2 execa: 5.1.1 get-stream: 6.0.1 @@ -6068,30 +6067,30 @@ __metadata: p-retry: 4.6.2 strip-ansi: 6.0.1 undici: 5.10.0 - checksum: 332c9cace65bfb5bdffdc73c29058002237682af77a8235ee307e8a95cac38b6818f2c79c7c834f3e2772ec4e83fdc992a77b5456faf85aef9a9997672955cee + checksum: 930f3b3d81d732b77c89119837842fc79450ff7ecd25048c9dd426af4446b300ba653db078990485483c4afb0c19ef4efd60ca09fae28567969a1650667744d6 languageName: node linkType: hard -"@prisma/engines-version@npm:4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b": - version: 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b - resolution: "@prisma/engines-version@npm:4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" - checksum: b48bfa4a1cbfa590048faeab9b436471db8e51d3c01611acfc93df90d799a3b991ea3cc12a71c405fa82087ab5037ea979f5585bf1e6e0730a6a4a97da23d870 +"@prisma/engines-version@npm:4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452": + version: 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 + resolution: "@prisma/engines-version@npm:4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" + checksum: 144868d0e11e5e13e206628c750bd71c45a3fc8279b52723dcd970ccd44446a34eb74ea7c2e5cdf10e6567df0b886d937c4c54a31846d58ddcc2f06141334786 languageName: node linkType: hard -"@prisma/engines@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/engines@npm:4.3.1" - checksum: 119c6ac32da7ebbc77a6694de2da9200f4a6f30660256e62aca500b9eba65b5490d80df8eb2524090781515c878a36c282a680489271d994e23d261fd673fc9a +"@prisma/engines@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/engines@npm:4.5.0" + checksum: 287150c809e817a008a219207ae30b74d5469e90a64c3800780e1a65c96f571d8b5da19bf62c6d27dc46a7e25692eb8697eb8f22996f24c9add35b8062fdab46 languageName: node linkType: hard -"@prisma/fetch-engine@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/fetch-engine@npm:4.3.1" +"@prisma/fetch-engine@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/fetch-engine@npm:4.5.0" dependencies: - "@prisma/debug": 4.3.1 - "@prisma/get-platform": 4.3.1 + "@prisma/debug": 4.5.0 + "@prisma/get-platform": 4.5.0 chalk: 4.1.2 execa: 5.1.1 find-cache-dir: 3.3.2 @@ -6107,58 +6106,57 @@ __metadata: rimraf: 3.0.2 temp-dir: 2.0.0 tempy: 1.0.1 - checksum: 164c795edb03f5588144f73bfea2c70fa8fdfd698c2dc56168a9559dfc7d12fe6b1b2b1d0e7e5de3c75b60cb98747f6d4bf33f154e988a5c3aa565aa3f1601cb + checksum: 3662b94511f6cce6ae66c647ead17a3d02cefbb3afea779abd0c20066481bf12c7d274ac84c37f398de1cb57416f18a0bd5e78a648b39c50a574ffbff3186007 languageName: node linkType: hard -"@prisma/generator-helper@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/generator-helper@npm:4.3.1" +"@prisma/generator-helper@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/generator-helper@npm:4.5.0" dependencies: - "@prisma/debug": 4.3.1 + "@prisma/debug": 4.5.0 "@types/cross-spawn": 6.0.2 chalk: 4.1.2 cross-spawn: 7.0.3 - checksum: c5cf188028195fca8c2931806a877bb5f85c636a41f72d6f6dab8c1b7841f2777f55c4d067ad6adb2f527f06e9f804a94ba291aef27e32645f029be054aece28 + checksum: 1ce30220997a492b5b8ee4d2b676ce58c218ce4e21b77b79c623a09ca621937e7d2b6e4efb7bd2060b917eab4cb8b288b34e92663dd4df3c05a4241a05869c72 languageName: node linkType: hard -"@prisma/get-platform@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/get-platform@npm:4.3.1" +"@prisma/get-platform@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/get-platform@npm:4.5.0" dependencies: - "@prisma/debug": 4.3.1 - checksum: fabdf619f867f600737ef96462559b77177bfc6ed9a0b1bc08711bb385647a1edecf373127606ff779bef2ba1627fd0e3bf6650489f2293763e5b3ab54110f3a + "@prisma/debug": 4.5.0 + checksum: 1c3b668fd6f270030de6b0b82554fd37bdff5dcf02317fb1c7bdcc564801ea9e0540ec6c9b9ae595b8a5b89ad960c0697f5161e68a0bf40c63cbbe916b17d7e3 languageName: node linkType: hard -"@prisma/internals@npm:4.3.1": - version: 4.3.1 - resolution: "@prisma/internals@npm:4.3.1" - dependencies: - "@prisma/debug": 4.3.1 - "@prisma/engine-core": 4.3.1 - "@prisma/engines": 4.3.1 - "@prisma/fetch-engine": 4.3.1 - "@prisma/generator-helper": 4.3.1 - "@prisma/get-platform": 4.3.1 - "@prisma/prisma-fmt-wasm": 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b +"@prisma/internals@npm:4.5.0": + version: 4.5.0 + resolution: "@prisma/internals@npm:4.5.0" + dependencies: + "@prisma/debug": 4.5.0 + "@prisma/engine-core": 4.5.0 + "@prisma/engines": 4.5.0 + "@prisma/fetch-engine": 4.5.0 + "@prisma/generator-helper": 4.5.0 + "@prisma/get-platform": 4.5.0 + "@prisma/prisma-fmt-wasm": 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 archiver: 5.3.1 arg: 5.0.2 chalk: 4.1.2 checkpoint-client: 1.1.21 cli-truncate: 2.1.0 - dotenv: 16.0.1 + dotenv: 16.0.2 escape-string-regexp: 4.0.0 execa: 5.1.1 find-up: 5.0.0 - fp-ts: 2.12.2 + fp-ts: 2.12.3 fs-extra: 10.1.0 - fs-jetpack: 4.3.1 + fs-jetpack: 5.0.0 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 @@ -6181,14 +6179,14 @@ __metadata: terminal-link: 2.1.1 tmp: 0.2.1 ts-pattern: ^4.0.1 - checksum: df7715d88264b4948248370ef1fbcaaecab63c1555d0e6ac2787d2886536af8787f64961af7abef94bcc7613e3f9289b239e2ad65afa4f632f3b9f4f61a5e782 + checksum: 1188ae418422ab43fe5afb8f93873c4ddcb9b087329b32feb04924350ac8930493acdf86305db0676bab3d11061d7f68c55ace4c9d6cb2354f64c0c94d9a162d languageName: node linkType: hard -"@prisma/prisma-fmt-wasm@npm:4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b": - version: 4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b - resolution: "@prisma/prisma-fmt-wasm@npm:4.3.0-32.c875e43600dfe042452e0b868f7a48b817b9640b" - checksum: 68929f6e4b2b39253e19262a8ce688aa96b70c494450e3c78210d89d29a1b8e9bdf2a60db044276002fc06813bb56ab4283308cbff73bf1a8f55560b69457aba +"@prisma/prisma-fmt-wasm@npm:4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452": + version: 4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452 + resolution: "@prisma/prisma-fmt-wasm@npm:4.5.0-43.0362da9eebca54d94c8ef5edd3b2e90af99ba452" + checksum: 15aec4f82c1244ac0aa282bfed202caff087a77644a9529cf3a1e2e2b8ff896ca5ee9dd38cf4b0729a8c7fbb5eb0a8f9aec717b44a8443a051ca181f06140caa languageName: node linkType: hard @@ -6369,9 +6367,9 @@ __metadata: chokidar: 3.5.3 core-js: 3.25.5 fast-json-parse: 1.0.3 - fastify: 4.8.1 + fastify: 4.9.2 fastify-raw-body: 4.1.0 - jest: 29.1.2 + jest: 29.2.2 lodash.escape: 4.0.1 pretty-bytes: 5.6.0 pretty-ms: 7.0.1 @@ -6394,7 +6392,7 @@ __metadata: "@babel/core": 7.19.3 "@babel/runtime-corejs3": 7.19.4 "@clerk/clerk-sdk-node": 3.9.2 - "@prisma/client": 4.3.1 + "@prisma/client": 4.5.0 "@redwoodjs/auth": 3.2.0 "@simplewebauthn/server": 6.2.1 "@types/aws-lambda": 8.10.107 @@ -6411,7 +6409,7 @@ __metadata: cross-undici-fetch: 0.4.14 crypto-js: 4.1.1 humanize-string: 2.1.0 - jest: 29.1.2 + jest: 29.2.2 jsonwebtoken: 8.5.1 jwks-rsa: 2.0.5 md5: 2.3.0 @@ -6476,7 +6474,7 @@ __metadata: firebase: 9.10.0 firebase-admin: 10.3.0 gotrue-js: 0.9.29 - jest: 29.1.2 + jest: 29.2.2 jsonwebtoken: 8.5.1 magic-sdk: 9.1.1 netlify-identity-widget: 1.9.2 @@ -6516,7 +6514,7 @@ __metadata: "@types/react": 17.0.50 "@types/secure-random-password": 0.2.1 core-js: 3.25.5 - jest: 29.1.2 + jest: 29.2.2 secure-random-password: 0.2.3 typescript: 4.7.4 languageName: unknown @@ -6549,7 +6547,7 @@ __metadata: firebase: 9.10.0 firebase-admin: 10.3.0 gotrue-js: 0.9.29 - jest: 29.1.2 + jest: 29.2.2 magic-sdk: 9.1.1 netlify-identity-widget: 1.9.2 react: 17.0.2 @@ -6601,7 +6599,7 @@ __metadata: firebase: 9.10.0 firebase-admin: 10.3.0 gotrue-js: 0.9.29 - jest: 29.1.2 + jest: 29.2.2 magic-sdk: 9.1.1 netlify-identity-widget: 1.9.2 react: 17.0.2 @@ -6620,7 +6618,7 @@ __metadata: "@redwoodjs/telemetry": 3.2.0 "@types/react": 17.0.50 core-js: 3.25.5 - jest: 29.1.2 + jest: 29.2.2 listr2: 5.0.5 react: 17.0.2 typescript: 4.7.4 @@ -6634,7 +6632,7 @@ __metadata: "@babel/cli": 7.19.3 "@babel/core": 7.19.3 "@babel/runtime-corejs3": 7.19.4 - "@prisma/internals": 4.3.1 + "@prisma/internals": 4.5.0 "@redwoodjs/api-server": 3.2.0 "@redwoodjs/auth-providers-setup": 3.2.0 "@redwoodjs/internal": 3.2.0 @@ -6655,7 +6653,7 @@ __metadata: execa: 5.1.1 fast-glob: 3.2.12 fs-extra: 10.1.0 - jest: 29.1.2 + jest: 29.2.2 latest-version: 5.1.0 listr2: 5.0.5 lodash: 4.17.21 @@ -6663,7 +6661,7 @@ __metadata: pascalcase: 1.0.0 pluralize: 8.0.0 prettier: 2.7.1 - prisma: 4.3.1 + prisma: 4.5.0 prompts: 2.4.2 rimraf: 3.0.2 secure-random-password: 0.2.3 @@ -6689,7 +6687,7 @@ __metadata: "@types/babel__core": 7.1.19 "@types/findup-sync": 4.0.2 "@types/fs-extra": 9.0.13 - "@types/jest": 29.1.2 + "@types/jest": 29.2.1 "@types/jscodeshift": 0.11.5 "@types/prettier": 2.7.1 "@types/yargs": 17.0.13 @@ -6701,7 +6699,7 @@ __metadata: fast-glob: 3.2.12 findup-sync: 5.0.0 fs-extra: 10.1.0 - jest: 29.1.2 + jest: 29.2.2 jscodeshift: 0.14.0 prettier: 2.7.1 tasuku: 2.0.0 @@ -6754,7 +6752,7 @@ __metadata: graphql: 16.6.0 graphql-tag: 2.12.6 html-webpack-plugin: 5.5.0 - jest: 29.1.2 + jest: 29.2.2 lodash.escaperegexp: 4.1.2 mini-css-extract-plugin: 2.6.1 nodemon: 2.0.20 @@ -6799,7 +6797,7 @@ __metadata: "@redwoodjs/internal": 3.2.0 "@typescript-eslint/eslint-plugin": 5.40.0 "@typescript-eslint/parser": 5.40.0 - eslint: 8.25.0 + eslint: 8.26.0 eslint-config-prettier: 8.5.0 eslint-import-resolver-babel-module: 5.3.1 eslint-plugin-babel: 5.3.1 @@ -6809,7 +6807,7 @@ __metadata: eslint-plugin-prettier: 4.2.1 eslint-plugin-react: 7.31.10 eslint-plugin-react-hooks: 4.6.0 - jest: 29.1.2 + jest: 29.2.2 prettier: 2.7.1 typescript: 4.7.4 languageName: unknown @@ -6832,12 +6830,12 @@ __metadata: "@types/testing-library__jest-dom": 5.14.5 core-js: 3.25.5 graphql: 16.6.0 - jest: 29.1.2 + jest: 29.2.2 nodemon: 2.0.20 pascalcase: 1.0.0 react: 17.0.2 react-dom: 17.0.2 - react-hook-form: 7.37.0 + react-hook-form: 7.39.1 typescript: 4.7.4 peerDependencies: graphql: 16.6.0 @@ -6863,7 +6861,7 @@ __metadata: "@graphql-tools/schema": 8.5.1 "@graphql-tools/utils": 8.12.0 "@graphql-yoga/common": 2.12.12 - "@prisma/client": 4.3.1 + "@prisma/client": 4.5.0 "@redwoodjs/api": 3.2.0 "@redwoodjs/auth": 3.2.0 "@types/jsonwebtoken": 8.5.9 @@ -6876,7 +6874,7 @@ __metadata: graphql: 16.6.0 graphql-scalars: 1.19.0 graphql-tag: 2.12.6 - jest: 29.1.2 + jest: 29.2.2 jsonwebtoken: 8.5.1 lodash.merge: 4.6.2 lodash.omitby: 4.6.0 @@ -6922,7 +6920,7 @@ __metadata: fs-extra: 10.1.0 graphql: 16.6.0 graphql-tag: 2.12.6 - jest: 29.1.2 + jest: 29.2.2 kill-port: 1.6.1 prettier: 2.7.1 rimraf: 3.0.2 @@ -6956,7 +6954,7 @@ __metadata: core-js: 3.25.5 cross-undici-fetch: 0.4.14 graphql: 16.6.0 - jest: 29.1.2 + jest: 29.2.2 mime-types: 2.1.35 typescript: 4.7.4 peerDependencies: @@ -6972,11 +6970,11 @@ __metadata: "@babel/cli": 7.19.3 "@babel/core": 7.19.3 "@babel/runtime-corejs3": 7.19.4 - "@prisma/client": 4.3.1 - "@prisma/internals": 4.3.1 + "@prisma/client": 4.5.0 + "@prisma/internals": 4.5.0 core-js: 3.25.5 esbuild: 0.15.10 - jest: 29.1.2 + jest: 29.2.2 languageName: unknown linkType: soft @@ -6993,7 +6991,7 @@ __metadata: "@types/react": 17.0.50 "@types/react-dom": 17.0.17 core-js: 3.25.5 - jest: 29.1.2 + jest: 29.2.2 lodash.isequal: 4.5.0 prop-types: 15.8.1 react: 17.0.2 @@ -7009,7 +7007,7 @@ __metadata: "@babel/cli": 7.19.3 "@babel/core": 7.19.3 "@babel/runtime-corejs3": 7.19.4 - "@prisma/internals": 4.3.1 + "@prisma/internals": 4.5.0 "@redwoodjs/internal": 3.2.0 "@types/fs-extra": 9.0.13 "@types/line-column": 1.0.0 @@ -7024,7 +7022,7 @@ __metadata: enquirer: 2.3.6 findup-sync: 5.0.0 graphql: 16.6.0 - jest: 29.1.2 + jest: 29.2.2 lazy-get-decorator: 2.2.0 line-column: 1.0.2 lodash: 4.17.21 @@ -7057,7 +7055,7 @@ __metadata: core-js: 3.25.5 cross-undici-fetch: 0.4.14 envinfo: 7.8.1 - jest: 29.1.2 + jest: 29.2.2 systeminformation: 5.12.6 uuid: 9.0.0 yargs: 17.6.0 @@ -7088,17 +7086,17 @@ __metadata: "@testing-library/user-event": 14.4.3 "@types/aws-lambda": 8.10.107 "@types/babel-core": 6.25.7 - "@types/jest": 29.1.2 + "@types/jest": 29.2.1 "@types/node": 16.11.65 "@types/react": 17.0.50 "@types/react-dom": 17.0.17 "@types/webpack": 5.28.0 - babel-jest: 29.1.2 + babel-jest: 29.2.2 babel-plugin-inline-react-svg: 2.0.1 core-js: 3.25.5 fast-glob: 3.2.12 - jest: 29.1.2 - jest-environment-jsdom: 29.1.2 + jest: 29.2.2 + jest-environment-jsdom: 29.2.2 jest-watch-typeahead: 2.2.0 msw: 0.47.4 ts-toolbelt: 9.6.0 @@ -7111,7 +7109,7 @@ __metadata: version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: - "@apollo/client": 3.7.0 + "@apollo/client": 3.7.1 "@babel/cli": 7.19.3 "@babel/core": 7.19.3 "@babel/runtime-corejs3": 7.19.4 @@ -7125,7 +7123,7 @@ __metadata: core-js: 3.25.5 graphql: 16.6.0 graphql-tag: 2.12.6 - jest: 29.1.2 + jest: 29.2.2 nodemon: 2.0.20 prop-types: 15.8.1 react: 17.0.2 @@ -9148,13 +9146,13 @@ __metadata: languageName: node linkType: hard -"@types/jest@npm:*, @types/jest@npm:29.1.2": - version: 29.1.2 - resolution: "@types/jest@npm:29.1.2" +"@types/jest@npm:*, @types/jest@npm:29.2.1": + version: 29.2.1 + resolution: "@types/jest@npm:29.2.1" dependencies: expect: ^29.0.0 pretty-format: ^29.0.0 - checksum: b67a87ccdfeffe935f97958ca2f2768a7f1a60fb85e87b08d8a702c61a4e6e49cbeaf2529382c0366296d4b6cbdeadcf86bd3a02081f2ad6c35725a85b263608 + checksum: 11c85fdb2997684f317fc65a2ceb22a0ee21d351b1b58bf351e20ce065614176d6932c6358472f9dc00846d26fde3caa31b10065f0245f3e1a8d094840ab0804 languageName: node linkType: hard @@ -11487,20 +11485,20 @@ __metadata: languageName: node linkType: hard -"babel-jest@npm:29.1.2, babel-jest@npm:^29.1.2": - version: 29.1.2 - resolution: "babel-jest@npm:29.1.2" +"babel-jest@npm:29.2.2, babel-jest@npm:^29.2.2": + version: 29.2.2 + resolution: "babel-jest@npm:29.2.2" dependencies: - "@jest/transform": ^29.1.2 + "@jest/transform": ^29.2.2 "@types/babel__core": ^7.1.14 babel-plugin-istanbul: ^6.1.1 - babel-preset-jest: ^29.0.2 + babel-preset-jest: ^29.2.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 slash: ^3.0.0 peerDependencies: "@babel/core": ^7.8.0 - checksum: 2510afe5b887f7c7765293c4448af0e234e8ba42392d954a21d7c2c3fb4b2d94994417676e2450c0bf3f7bea693b05624f3e57a02f8ec566061d24eba612a069 + checksum: b80a4db41441c3eb62019112b7b8a09bd0a30de7dd50bf2e4cf35b6acae11d7799b6d9d70afb49990607a786acc955ea5da13c5cec30f94545eda87733d3dcae languageName: node linkType: hard @@ -11629,15 +11627,15 @@ __metadata: languageName: node linkType: hard -"babel-plugin-jest-hoist@npm:^29.0.2": - version: 29.0.2 - resolution: "babel-plugin-jest-hoist@npm:29.0.2" +"babel-plugin-jest-hoist@npm:^29.2.0": + version: 29.2.0 + resolution: "babel-plugin-jest-hoist@npm:29.2.0" dependencies: "@babel/template": ^7.3.3 "@babel/types": ^7.3.3 "@types/babel__core": ^7.1.14 "@types/babel__traverse": ^7.0.6 - checksum: f290e0177dfa1ced680f2ea2fa341f18d7c4936c771fdc269517970c0081b193095b95d7bd5aa50b7cdf626d7b4f68a98ae2d8a8ddc8ae4fc29a996b48cb503c + checksum: 37888f5161cfefefebe7f81c6fb3cc3a38ff793f1b1d6196a5b5b3a72f778476cdfb78eb4a4e1bc09903f952bfc28c4854a88433e2dd31366512c85e493e32f9 languageName: node linkType: hard @@ -11829,15 +11827,15 @@ __metadata: languageName: node linkType: hard -"babel-preset-jest@npm:^29.0.2": - version: 29.0.2 - resolution: "babel-preset-jest@npm:29.0.2" +"babel-preset-jest@npm:^29.2.0": + version: 29.2.0 + resolution: "babel-preset-jest@npm:29.2.0" dependencies: - babel-plugin-jest-hoist: ^29.0.2 + babel-plugin-jest-hoist: ^29.2.0 babel-preset-current-node-syntax: ^1.0.0 peerDependencies: "@babel/core": ^7.0.0 - checksum: c278596f86ec4bc4103f8ec9cf1de475b81d1e604fe2a6a110b3aaa6bced2d8c791f7cf9198c5c08c7772dc0b868f85db245884d2cc03c781bdf6101aaa286bd + checksum: bc72a6a64dd77b1075cbeaa53ee925b33e78d32e44fe3676c57941baa3ae8f59f6e2f399cef5b2d3ce2eecefb41e401ed4e276f4310f36519f4821c57227fb16 languageName: node linkType: hard @@ -14106,11 +14104,12 @@ __metadata: chalk: 4.1.2 check-node-version: 4.2.1 core-js: 3.25.5 + enquirer: 2.3.6 execa: 5.1.1 fs-extra: 10.1.0 - jest: 29.1.2 + jest: 29.2.2 listr2: 5.0.5 - prompts: 2.4.2 + terminal-link: 2.1.1 typescript: 4.7.4 yargs: 17.6.0 bin: @@ -15082,10 +15081,10 @@ __metadata: languageName: node linkType: hard -"diff-sequences@npm:^29.0.0": - version: 29.0.0 - resolution: "diff-sequences@npm:29.0.0" - checksum: 345f899af91ef981c4b02adb1d41ed001eb74743120ffdb751c942b39e8cbf37ece60d7c120977ef7ce48538d60f5a63b17e7d13e6797e4c5dcd91d2fe5cd215 +"diff-sequences@npm:^29.2.0": + version: 29.2.0 + resolution: "diff-sequences@npm:29.2.0" + checksum: 4b83cda386c251f772c6983e3dfbe36d6d563c6b223e8845c98469417d2f2e35839dc4cf23dbabc3ccecaf30bf8e188481fee6f1660cb3e8fbfa9a27506790ef languageName: node linkType: hard @@ -15350,10 +15349,10 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:16.0.1, dotenv@npm:^16.0.0": - version: 16.0.1 - resolution: "dotenv@npm:16.0.1" - checksum: 8afd5d776ea6968f5c28ca374ddb1fe6a7afabe062d32354478e6ea0fe8da341945a3da71defe513403623fa6871ac880d1d100bb08f80be1ae170e99e1b9293 +"dotenv@npm:16.0.2, dotenv@npm:^16.0.0": + version: 16.0.2 + resolution: "dotenv@npm:16.0.2" + checksum: e9b64fa45f0b693875db50f1876c1202be8e936500aa664478247ab06b2fe8096cc1ab238919771dbdd1f65490b7efe65b61401d3cd61bcea88eab7c2bf06964 languageName: node linkType: hard @@ -15491,10 +15490,10 @@ __metadata: languageName: node linkType: hard -"emittery@npm:^0.10.2": - version: 0.10.2 - resolution: "emittery@npm:0.10.2" - checksum: 2caeea7501a0cca9b0e9d8d0a84d7d059cd2319ab02016bb6f81ae8bc2f3353c6734ed50a5fe0e4e2b96ebcc1623c1344b6beec51a4feda34b121942dd50ba55 +"emittery@npm:^0.13.1": + version: 0.13.1 + resolution: "emittery@npm:0.13.1" + checksum: 1573d0ae29ab34661b6c63251ff8f5facd24ccf6a823f19417ae8ba8c88ea450325788c67f16c99edec8de4b52ce93a10fe441ece389fd156e88ee7dab9bfa35 languageName: node linkType: hard @@ -16294,13 +16293,14 @@ __metadata: languageName: node linkType: hard -"eslint@npm:8.25.0": - version: 8.25.0 - resolution: "eslint@npm:8.25.0" +"eslint@npm:8.26.0": + version: 8.26.0 + resolution: "eslint@npm:8.26.0" dependencies: "@eslint/eslintrc": ^1.3.3 - "@humanwhocodes/config-array": ^0.10.5 + "@humanwhocodes/config-array": ^0.11.6 "@humanwhocodes/module-importer": ^1.0.1 + "@nodelib/fs.walk": ^1.2.8 ajv: ^6.10.0 chalk: ^4.0.0 cross-spawn: ^7.0.2 @@ -16316,14 +16316,14 @@ __metadata: fast-deep-equal: ^3.1.3 file-entry-cache: ^6.0.1 find-up: ^5.0.0 - glob-parent: ^6.0.1 + glob-parent: ^6.0.2 globals: ^13.15.0 - globby: ^11.1.0 grapheme-splitter: ^1.0.4 ignore: ^5.2.0 import-fresh: ^3.0.0 imurmurhash: ^0.1.4 is-glob: ^4.0.0 + is-path-inside: ^3.0.3 js-sdsl: ^4.1.4 js-yaml: ^4.1.0 json-stable-stringify-without-jsonify: ^1.0.1 @@ -16338,7 +16338,7 @@ __metadata: text-table: ^0.2.0 bin: eslint: bin/eslint.js - checksum: b335134430dbbc420fe3fa102cede927964efa864f25babcb09281c1350b1e7f028934ed4d875892d171f01d5316ad810f70282d69f46099ed9abd3d55f7178b + checksum: da97a44bac58770d44dc6a2daa57cbb67ac888c060dde5a87c7785ea34a2cea61568d5238d375a14bfd548ffff7cd61691ab5a81c4625c7c97412b2d45b63843 languageName: node linkType: hard @@ -16676,16 +16676,16 @@ __metadata: languageName: node linkType: hard -"expect@npm:^29.0.0, expect@npm:^29.1.2": - version: 29.1.2 - resolution: "expect@npm:29.1.2" +"expect@npm:^29.0.0, expect@npm:^29.2.2": + version: 29.2.2 + resolution: "expect@npm:29.2.2" dependencies: - "@jest/expect-utils": ^29.1.2 - jest-get-type: ^29.0.0 - jest-matcher-utils: ^29.1.2 - jest-message-util: ^29.1.2 - jest-util: ^29.1.2 - checksum: fc5110b470e1a87e8ebcd869f8b68e1feca9b5f7b20949fe1c75c5d7f833b435808dcd4db597b2af32ce232b3b9328be498b3ed30756cebcefb2f095b1d62c32 + "@jest/expect-utils": ^29.2.2 + jest-get-type: ^29.2.0 + jest-matcher-utils: ^29.2.2 + jest-message-util: ^29.2.1 + jest-util: ^29.2.1 + checksum: 4e9a08548b4bf9240ab68c5a9de22fe4460abfd6a65fbf9eac724266406cae6851bc51044a6edea46e666924b709c984eb221125394dee9b99e17138c62d1216 languageName: node linkType: hard @@ -17012,9 +17012,9 @@ __metadata: languageName: node linkType: hard -"fastify@npm:4.8.1": - version: 4.8.1 - resolution: "fastify@npm:4.8.1" +"fastify@npm:4.9.2": + version: 4.9.2 + resolution: "fastify@npm:4.9.2" dependencies: "@fastify/ajv-compiler": ^3.3.1 "@fastify/error": ^3.0.0 @@ -17030,7 +17030,7 @@ __metadata: secure-json-parse: ^2.5.0 semver: ^7.3.7 tiny-lru: ^9.0.2 - checksum: 72cdfcd6d4650112469008d9638a36ccf06e2d40d3ebc75ecf59028db3e4d37a4004c795d32640f2ce401142a4be5331cc2539681f12100731c56f0774a747d3 + checksum: 6be84b9182f03c219bf9ff6eb96812779010526d24b98844c99f5d47af454a21af8de2d2854e07dfdee983a41113b42cda2f92c25d4b712da3eba4c8f4668215 languageName: node linkType: hard @@ -17589,10 +17589,10 @@ __metadata: languageName: node linkType: hard -"fp-ts@npm:2.12.2": - version: 2.12.2 - resolution: "fp-ts@npm:2.12.2" - checksum: 32b8e70688af9ea51bf109c0db3efbaa84728c910ce34d4585641fa7b026203d8ccfad99c0aadd0253aca69ad9fde037dbba4727b43875e8ea192588ca1bb03e +"fp-ts@npm:2.12.3": + version: 2.12.3 + resolution: "fp-ts@npm:2.12.3" + checksum: a19f8e198da37a7227503fba90c0d1ee34c302fe50c45d0b36cc8642fc4dafb9d908f82d912daef14bc99381b3cfde07d43b946a471ff8ef6a1f2c1987818a7c languageName: node linkType: hard @@ -17679,13 +17679,12 @@ __metadata: languageName: node linkType: hard -"fs-jetpack@npm:4.3.1": - version: 4.3.1 - resolution: "fs-jetpack@npm:4.3.1" +"fs-jetpack@npm:5.0.0": + version: 5.0.0 + resolution: "fs-jetpack@npm:5.0.0" dependencies: - minimatch: ^3.0.2 - rimraf: ^2.6.3 - checksum: 5d27e829233de005505417bae2f55412ae65ff63a57b68ac6d3cd8dde29ed9f0797c2a83356d20237bf74f516db8e40636c5fc238b49b4414b3d9339e60f7914 + minimatch: ^5.1.0 + checksum: 037f16098033eebb7cff58434e0390f7006ee704cfa8ebb06ab34f9f782a51aaae57ec03ded11b30f456649eec022c8346ae7c0260832cf3b87f6b6644023524 languageName: node linkType: hard @@ -18095,7 +18094,7 @@ __metadata: languageName: node linkType: hard -"glob-parent@npm:^6.0.1": +"glob-parent@npm:^6.0.1, glob-parent@npm:^6.0.2": version: 6.0.2 resolution: "glob-parent@npm:6.0.2" dependencies: @@ -19669,25 +19668,25 @@ __metadata: languageName: node linkType: hard -"is-ci@npm:3.0.1, is-ci@npm:^3.0.0": - version: 3.0.1 - resolution: "is-ci@npm:3.0.1" +"is-ci@npm:^2.0.0": + version: 2.0.0 + resolution: "is-ci@npm:2.0.0" dependencies: - ci-info: ^3.2.0 + ci-info: ^2.0.0 bin: is-ci: bin.js - checksum: 0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 + checksum: 17de4e2cd8f993c56c86472dd53dd9e2c7f126d0ee55afe610557046cdd64de0e8feadbad476edc9eeff63b060523b8673d9094ed2ab294b59efb5a66dd05a9a languageName: node linkType: hard -"is-ci@npm:^2.0.0": - version: 2.0.0 - resolution: "is-ci@npm:2.0.0" +"is-ci@npm:^3.0.0": + version: 3.0.1 + resolution: "is-ci@npm:3.0.1" dependencies: - ci-info: ^2.0.0 + ci-info: ^3.2.0 bin: is-ci: bin.js - checksum: 17de4e2cd8f993c56c86472dd53dd9e2c7f126d0ee55afe610557046cdd64de0e8feadbad476edc9eeff63b060523b8673d9094ed2ab294b59efb5a66dd05a9a + checksum: 0e81caa62f4520d4088a5bef6d6337d773828a88610346c4b1119fb50c842587ed8bef1e5d9a656835a599e7209405b5761ddf2339668f2d0f4e889a92fe6051 languageName: node linkType: hard @@ -19974,7 +19973,7 @@ __metadata: languageName: node linkType: hard -"is-path-inside@npm:^3.0.2": +"is-path-inside@npm:^3.0.2, is-path-inside@npm:^3.0.3": version: 3.0.3 resolution: "is-path-inside@npm:3.0.3" checksum: cf7d4ac35fb96bab6a1d2c3598fe5ebb29aafb52c0aaa482b5a3ed9d8ba3edc11631e3ec2637660c44b3ce0e61a08d54946e8af30dec0b60a7c27296c68ffd05 @@ -20399,57 +20398,57 @@ __metadata: languageName: node linkType: hard -"jest-changed-files@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-changed-files@npm:29.0.0" +"jest-changed-files@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-changed-files@npm:29.2.0" dependencies: execa: ^5.0.0 p-limit: ^3.1.0 - checksum: 1748feac9f094409f8d9673e403118aeb3df6785a3051d1e2a2e3005ebe731584a54c63173205422fc4f4a595d9bc757ae9cfb4745435301b30b1a99cf01e319 + checksum: 2d3ed094ff26e6c3d5151d3bc6314c352c96f2070a3c92278711a214eeae2a6f931d619843f9e3a796c066a2ad1a7cc22f30f9e21c8bbde2fbaddbd10a64f8b8 languageName: node linkType: hard -"jest-circus@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-circus@npm:29.1.2" +"jest-circus@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-circus@npm:29.2.2" dependencies: - "@jest/environment": ^29.1.2 - "@jest/expect": ^29.1.2 - "@jest/test-result": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/environment": ^29.2.2 + "@jest/expect": ^29.2.2 + "@jest/test-result": ^29.2.1 + "@jest/types": ^29.2.1 "@types/node": "*" chalk: ^4.0.0 co: ^4.6.0 dedent: ^0.7.0 is-generator-fn: ^2.0.0 - jest-each: ^29.1.2 - jest-matcher-utils: ^29.1.2 - jest-message-util: ^29.1.2 - jest-runtime: ^29.1.2 - jest-snapshot: ^29.1.2 - jest-util: ^29.1.2 + jest-each: ^29.2.1 + jest-matcher-utils: ^29.2.2 + jest-message-util: ^29.2.1 + jest-runtime: ^29.2.2 + jest-snapshot: ^29.2.2 + jest-util: ^29.2.1 p-limit: ^3.1.0 - pretty-format: ^29.1.2 + pretty-format: ^29.2.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: e93128f4e8d3392065b8e817d0db996c78c3ec8579452b155b1ebf7475497757f5a68e9e943ea37385e802790cc4eb759a8556eee8428e75f27cbc590655b3e3 + checksum: 2018399d89003fe65833510ff40aec065ee936e4f46b8d939e7407ba4cf959623bb5855eca2a49d54bc655944ec2c0d16217c6bca1c9eae1cd4b77cb146a9f25 languageName: node linkType: hard -"jest-cli@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-cli@npm:29.1.2" +"jest-cli@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-cli@npm:29.2.2" dependencies: - "@jest/core": ^29.1.2 - "@jest/test-result": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/core": ^29.2.2 + "@jest/test-result": ^29.2.1 + "@jest/types": ^29.2.1 chalk: ^4.0.0 exit: ^0.1.2 graceful-fs: ^4.2.9 import-local: ^3.0.2 - jest-config: ^29.1.2 - jest-util: ^29.1.2 - jest-validate: ^29.1.2 + jest-config: ^29.2.2 + jest-util: ^29.2.1 + jest-validate: ^29.2.2 prompts: ^2.0.1 yargs: ^17.3.1 peerDependencies: @@ -20459,34 +20458,34 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 43ea5a7b5abad42812d6576f4560953cdec7596224362b3d8ec38c990d65375b383895bf19229496793ef9c1d8df38f45fbc78b99bd5007ab02de99642aa3e30 + checksum: aaafa6d0afa87ec276420186f576e7f5226ae4ce9f4e68c94cf44f25cff3a20c3afe54288ade8e4570cb9ad0cd4fe2eed3962061d5f17e30a733a061ff137b42 languageName: node linkType: hard -"jest-config@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-config@npm:29.1.2" +"jest-config@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-config@npm:29.2.2" dependencies: "@babel/core": ^7.11.6 - "@jest/test-sequencer": ^29.1.2 - "@jest/types": ^29.1.2 - babel-jest: ^29.1.2 + "@jest/test-sequencer": ^29.2.2 + "@jest/types": ^29.2.1 + babel-jest: ^29.2.2 chalk: ^4.0.0 ci-info: ^3.2.0 deepmerge: ^4.2.2 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-circus: ^29.1.2 - jest-environment-node: ^29.1.2 - jest-get-type: ^29.0.0 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.1.2 - jest-runner: ^29.1.2 - jest-util: ^29.1.2 - jest-validate: ^29.1.2 + jest-circus: ^29.2.2 + jest-environment-node: ^29.2.2 + jest-get-type: ^29.2.0 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.2.2 + jest-runner: ^29.2.2 + jest-util: ^29.2.1 + jest-validate: ^29.2.2 micromatch: ^4.0.4 parse-json: ^5.2.0 - pretty-format: ^29.1.2 + pretty-format: ^29.2.1 slash: ^3.0.0 strip-json-comments: ^3.1.1 peerDependencies: @@ -20497,78 +20496,83 @@ __metadata: optional: true ts-node: optional: true - checksum: 8b6c79b79f5028f3dadd847cac9f9a7829f5eb537de80d0b010c87caed2f34d67a2c15266fb51512b76c1fc9f4526d8291de1944d6d7f976409c6af75cc6d6c3 + checksum: 925060860cf2892c069e06ba479019cc81b0b4a931cbd6c16de7f6c35ee96885077fb7be38c498909aeff285983c86ff117332998c293a218768eaea692682fe languageName: node linkType: hard -"jest-diff@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-diff@npm:29.1.2" +"jest-diff@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-diff@npm:29.2.1" dependencies: chalk: ^4.0.0 - diff-sequences: ^29.0.0 - jest-get-type: ^29.0.0 - pretty-format: ^29.1.2 - checksum: 3cdde0e29bc902b977a0a176a9488d2cdb6f561c1b6011495376527cbc436510816f94986cdaeecbee4b4b20e2977f88b440897a95b418e8b027942423387956 + diff-sequences: ^29.2.0 + jest-get-type: ^29.2.0 + pretty-format: ^29.2.1 + checksum: ce76f24f1ed026cf501c920675a783356e92c5ec69795d3b505c7b2ff09aa3271111524dd24bc185178ce8d7e992f2947a2f3e932efd2bef60215f7cbf9e552e languageName: node linkType: hard -"jest-docblock@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-docblock@npm:29.0.0" +"jest-docblock@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-docblock@npm:29.2.0" dependencies: detect-newline: ^3.0.0 - checksum: 81ebb05ca4e8b6e731316535cc62a6fdae1a2a1dd9ebed0fe90fb608196781e7682193355b067f6d101b4e0f62060567c5ee62dcf2e51cfc7701cdfe590dd5ed + checksum: 2e5ac2ce86475afa4b0f15fa388206f187d936d0612e45ad29e0aa18158ee951c1d83b1f1ec7deee535f7afa80dbbc875d79398879703045a262dbf8344280de languageName: node linkType: hard -"jest-each@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-each@npm:29.1.2" +"jest-each@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-each@npm:29.2.1" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 chalk: ^4.0.0 - jest-get-type: ^29.0.0 - jest-util: ^29.1.2 - pretty-format: ^29.1.2 - checksum: e1900b8d489088470fba306f59a07cdb66a08bcb68d52da97d787ee76dd85244bcd16bfb75b35d4beb99e803aca3e410009dd26fec22204e3f63c9366d3f8040 + jest-get-type: ^29.2.0 + jest-util: ^29.2.1 + pretty-format: ^29.2.1 + checksum: 7abccf22291b2b9519daeeffe9446d42ace3283b90be8b019c5e68c85ccbc9c53656752f33874331f6d2c5315dddf90bca895bad086e324963ccfd5b245fd12f languageName: node linkType: hard -"jest-environment-jsdom@npm:29.1.2": - version: 29.1.2 - resolution: "jest-environment-jsdom@npm:29.1.2" +"jest-environment-jsdom@npm:29.2.2": + version: 29.2.2 + resolution: "jest-environment-jsdom@npm:29.2.2" dependencies: - "@jest/environment": ^29.1.2 - "@jest/fake-timers": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/environment": ^29.2.2 + "@jest/fake-timers": ^29.2.2 + "@jest/types": ^29.2.1 "@types/jsdom": ^20.0.0 "@types/node": "*" - jest-mock: ^29.1.2 - jest-util: ^29.1.2 + jest-mock: ^29.2.2 + jest-util: ^29.2.1 jsdom: ^20.0.0 - checksum: 25d1e9f3881928357ef75c26422e14e9e4006a4f91e2c416736fb72a513a93d19fdeb4a445a0bad053a3514bc8e266ffc025c9267fccdbd76c4719e4ee2824d6 + peerDependencies: + canvas: ^2.5.0 + peerDependenciesMeta: + canvas: + optional: true + checksum: 941563cab631eb92525583beac3f63e6aac9c782612ca714890da3c2e88999ef9488737e43726f7532bc5fd48cb21ba72595fb9fe3a84e3b6ffb76ab6c0c11ac languageName: node linkType: hard -"jest-environment-node@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-environment-node@npm:29.1.2" +"jest-environment-node@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-environment-node@npm:29.2.2" dependencies: - "@jest/environment": ^29.1.2 - "@jest/fake-timers": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/environment": ^29.2.2 + "@jest/fake-timers": ^29.2.2 + "@jest/types": ^29.2.1 "@types/node": "*" - jest-mock: ^29.1.2 - jest-util: ^29.1.2 - checksum: 4d0669ed8a19a55b392b5bf68deb4a6192a397bf6b5054e41ca7d7bdcb17241bc6b4bf0fcef66bfdf23b1e56fc88078f158ef8fba5ce595b3117333106246c48 + jest-mock: ^29.2.2 + jest-util: ^29.2.1 + checksum: 6faaa8800591129bd46cb584d8fd0f9e64f2085e1ec0298872346f331ef0a39a8b85f4211748510510a7d1bde109e3c1ce8cf2ac7fd0299cb531cb94143abae6 languageName: node linkType: hard -"jest-get-type@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-get-type@npm:29.0.0" - checksum: 953a32cef3034764c0e2ac53e8192fe1fa3e5e56465086f0b57cd1a45aebbfceecca1f8cf890004be41b99fa7c4585b3c183a2dee5017c088a8a5b760dca31d0 +"jest-get-type@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-get-type@npm:29.2.0" + checksum: 6466631b344ff8e9d3fa6a47bafa4fc2baf42ec8b4f5de5c99fa1edda128af869da319af4cf770662776e4ed7a3e44656eba690cf5b662c664605b0331762bc7 languageName: node linkType: hard @@ -20597,76 +20601,76 @@ __metadata: languageName: node linkType: hard -"jest-haste-map@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-haste-map@npm:29.1.2" +"jest-haste-map@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-haste-map@npm:29.2.1" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@types/graceful-fs": ^4.1.3 "@types/node": "*" anymatch: ^3.0.3 fb-watchman: ^2.0.0 fsevents: ^2.3.2 graceful-fs: ^4.2.9 - jest-regex-util: ^29.0.0 - jest-util: ^29.1.2 - jest-worker: ^29.1.2 + jest-regex-util: ^29.2.0 + jest-util: ^29.2.1 + jest-worker: ^29.2.1 micromatch: ^4.0.4 walker: ^1.0.8 dependenciesMeta: fsevents: optional: true - checksum: 20e993e8c122dd14812a0ed583c85cce863c0badf4083171f823864829e77960d8c8e8835c7ca485d7da5736478db034e1087682d2b0f4da9927714a680d4561 + checksum: fedea9a8dd47c16a8b5a391413d8548972780d81e4c87a0def94b1af19d970102fe496caf388e6234a08cfe9b20cd916d71d20bfcf859908a323d14a39f63e9b languageName: node linkType: hard -"jest-leak-detector@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-leak-detector@npm:29.1.2" +"jest-leak-detector@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-leak-detector@npm:29.2.1" dependencies: - jest-get-type: ^29.0.0 - pretty-format: ^29.1.2 - checksum: 6fc5df7b309e435c2259c441eca7fa3621983a28f586d6cf70d55acb9960d6889cfd89f829ad6008660620638ad5433014cc6e5a0ad738429963b84d0ec169bc + jest-get-type: ^29.2.0 + pretty-format: ^29.2.1 + checksum: c25aafb38546d00444e36ef1cc9c16ced69764e4dcbc49b8a077e4b257fbf7e4ce9f5cc3ab5db2732adea7a01e82db6df4e4d960652006b1f5e706905950179a languageName: node linkType: hard -"jest-matcher-utils@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-matcher-utils@npm:29.1.2" +"jest-matcher-utils@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-matcher-utils@npm:29.2.2" dependencies: chalk: ^4.0.0 - jest-diff: ^29.1.2 - jest-get-type: ^29.0.0 - pretty-format: ^29.1.2 - checksum: 10ed0b787b1664a3d2f760a65beedf9f23993bfddac64b3b86e41515059f329c97396e7f4273e6c341f850d840671d89dfc976ef05cd5e91ba77f3521ab48c48 + jest-diff: ^29.2.1 + jest-get-type: ^29.2.0 + pretty-format: ^29.2.1 + checksum: a554e683bcd18cc11e1e018597771051e88cb3bf79cdbb5896f7550bd4c787e473ba4727336db2049fea6149e21546c8f1cde4b78a76eb595199cfeaba6450b1 languageName: node linkType: hard -"jest-message-util@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-message-util@npm:29.1.2" +"jest-message-util@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-message-util@npm:29.2.1" dependencies: "@babel/code-frame": ^7.12.13 - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@types/stack-utils": ^2.0.0 chalk: ^4.0.0 graceful-fs: ^4.2.9 micromatch: ^4.0.4 - pretty-format: ^29.1.2 + pretty-format: ^29.2.1 slash: ^3.0.0 stack-utils: ^2.0.3 - checksum: 38219d23ddef7b22fabef79aa07dd97eebaba7ca1985323c03ba2ad2d97705aea8b6046304efa85605a6e2dd42a6d8cc0faaebc304c49f491918c59cfe52d153 + checksum: 1931a6666b7e650b69f1ee702c8680e7e57becba8be0cb7ac06b35c5a12778338a6702295a39022d975c87a10cc3c7c53f4f3d76b14065ead4a0d4f01ce1f22c languageName: node linkType: hard -"jest-mock@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-mock@npm:29.1.2" +"jest-mock@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-mock@npm:29.2.2" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@types/node": "*" - jest-util: ^29.1.2 - checksum: 6ad42b50f0fb8da096885071cf7735083ad28dd05c8b310bcc9aa0d238397724c8ecc7d740a63b2a618af69573d3f25c729f778330daba6254f877fda476e185 + jest-util: ^29.2.1 + checksum: d715436601bbcd96b1ec0e0931bd5bc14444904bf907e7d2eac80894a1c70dc8884cf7fb05e4912f9a11a0c2f43c3af8174eafaee89f3f406b5cbc91889d591b languageName: node linkType: hard @@ -20689,37 +20693,37 @@ __metadata: languageName: node linkType: hard -"jest-regex-util@npm:^29.0.0": - version: 29.0.0 - resolution: "jest-regex-util@npm:29.0.0" - checksum: bc14eb311e1b5944560175a543cf764a3f807abffa04228d6803f37ca6edb9e080b8d718b4efe66e50debd91300cdcbc7bd4953f105bf0d95e4f6a3716001f81 +"jest-regex-util@npm:^29.0.0, jest-regex-util@npm:^29.2.0": + version: 29.2.0 + resolution: "jest-regex-util@npm:29.2.0" + checksum: 7e500f4f6fcbf5f46d284e83c9ade2e47707ee51e90d82e531fe10de05924a13dff89280d7184f1050129a070ce6db6336b41e2fd3bd07b8c32a91e8235f9840 languageName: node linkType: hard -"jest-resolve-dependencies@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-resolve-dependencies@npm:29.1.2" +"jest-resolve-dependencies@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-resolve-dependencies@npm:29.2.2" dependencies: - jest-regex-util: ^29.0.0 - jest-snapshot: ^29.1.2 - checksum: 0d9a63896804537d0022982f352ae68fcd4acea596296247ff2db43469d4e0649f0b0a08295d557d65ae9f3e235802a3436343f3470e3614a3ad2e1a69590622 + jest-regex-util: ^29.2.0 + jest-snapshot: ^29.2.2 + checksum: e6a72cb4f70569e9766a72ef114a5d1949e4b9c98a4ae91c2c389a4fe67b7455384bc03af4d07b2b530650559b8afb9d885f66033e75b85c8bc96bd7d162b1d6 languageName: node linkType: hard -"jest-resolve@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-resolve@npm:29.1.2" +"jest-resolve@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-resolve@npm:29.2.2" dependencies: chalk: ^4.0.0 graceful-fs: ^4.2.9 - jest-haste-map: ^29.1.2 + jest-haste-map: ^29.2.1 jest-pnp-resolver: ^1.2.2 - jest-util: ^29.1.2 - jest-validate: ^29.1.2 + jest-util: ^29.2.1 + jest-validate: ^29.2.2 resolve: ^1.20.0 resolve.exports: ^1.1.0 slash: ^3.0.0 - checksum: 6b1a7d2ee1fb8564b99dc80b2431a1941856046c4d38178c34165128685b8f4178f98c702ec6dbc7072f6dbeffdb6a65dd52d7035ec9388be85a1ee46f9770c1 + checksum: dddefefda5374a0340040274bc6246edb8d2b15da7843e28a607ca513aefd71d366320cbfa9b8efb02daf0a78dd5195f9883a50da58a51c0f53a9f8a83d41ae8 languageName: node linkType: hard @@ -20737,62 +20741,62 @@ __metadata: languageName: node linkType: hard -"jest-runner@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-runner@npm:29.1.2" +"jest-runner@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-runner@npm:29.2.2" dependencies: - "@jest/console": ^29.1.2 - "@jest/environment": ^29.1.2 - "@jest/test-result": ^29.1.2 - "@jest/transform": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/console": ^29.2.1 + "@jest/environment": ^29.2.2 + "@jest/test-result": ^29.2.1 + "@jest/transform": ^29.2.2 + "@jest/types": ^29.2.1 "@types/node": "*" chalk: ^4.0.0 - emittery: ^0.10.2 + emittery: ^0.13.1 graceful-fs: ^4.2.9 - jest-docblock: ^29.0.0 - jest-environment-node: ^29.1.2 - jest-haste-map: ^29.1.2 - jest-leak-detector: ^29.1.2 - jest-message-util: ^29.1.2 - jest-resolve: ^29.1.2 - jest-runtime: ^29.1.2 - jest-util: ^29.1.2 - jest-watcher: ^29.1.2 - jest-worker: ^29.1.2 + jest-docblock: ^29.2.0 + jest-environment-node: ^29.2.2 + jest-haste-map: ^29.2.1 + jest-leak-detector: ^29.2.1 + jest-message-util: ^29.2.1 + jest-resolve: ^29.2.2 + jest-runtime: ^29.2.2 + jest-util: ^29.2.1 + jest-watcher: ^29.2.2 + jest-worker: ^29.2.1 p-limit: ^3.1.0 source-map-support: 0.5.13 - checksum: 4a784ebedfc88e15eaec9ffa7cb0ec1bcc4f1ccfaf1683800aa006853b4fa591416430c541967eaf6b628f96589ade45b2febc1fb3521eff9294f5d5f178429b + checksum: 62c975062339d2b86536e5e1549f5d63eb6ce2cd51c9edc5fa984aa2d3719c476f16ce83bd95f90fbf63b3c7c719f4a31735497564c155985caa348b54833381 languageName: node linkType: hard -"jest-runtime@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-runtime@npm:29.1.2" +"jest-runtime@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-runtime@npm:29.2.2" dependencies: - "@jest/environment": ^29.1.2 - "@jest/fake-timers": ^29.1.2 - "@jest/globals": ^29.1.2 - "@jest/source-map": ^29.0.0 - "@jest/test-result": ^29.1.2 - "@jest/transform": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/environment": ^29.2.2 + "@jest/fake-timers": ^29.2.2 + "@jest/globals": ^29.2.2 + "@jest/source-map": ^29.2.0 + "@jest/test-result": ^29.2.1 + "@jest/transform": ^29.2.2 + "@jest/types": ^29.2.1 "@types/node": "*" chalk: ^4.0.0 cjs-module-lexer: ^1.0.0 collect-v8-coverage: ^1.0.0 glob: ^7.1.3 graceful-fs: ^4.2.9 - jest-haste-map: ^29.1.2 - jest-message-util: ^29.1.2 - jest-mock: ^29.1.2 - jest-regex-util: ^29.0.0 - jest-resolve: ^29.1.2 - jest-snapshot: ^29.1.2 - jest-util: ^29.1.2 + jest-haste-map: ^29.2.1 + jest-message-util: ^29.2.1 + jest-mock: ^29.2.2 + jest-regex-util: ^29.2.0 + jest-resolve: ^29.2.2 + jest-snapshot: ^29.2.2 + jest-util: ^29.2.1 slash: ^3.0.0 strip-bom: ^4.0.0 - checksum: 6cd587e9df170c058fdd9b95b07006b505b8ae1a431b854d53ae480c110615bb1bd02a7619081a09b7cd507f2ff24fd93dae4b16f9376c6b428c2341512e291d + checksum: b007c4fae671f8f0cae13ad5f88bd015396a034e333581fe7b01b8ca6a84fef98efbe79786e367184aa0e17546b8a84c08943d2380e58745617b8f2c82e5d550 languageName: node linkType: hard @@ -20806,9 +20810,9 @@ __metadata: languageName: node linkType: hard -"jest-snapshot@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-snapshot@npm:29.1.2" +"jest-snapshot@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-snapshot@npm:29.2.2" dependencies: "@babel/core": ^7.11.6 "@babel/generator": ^7.7.2 @@ -20816,25 +20820,25 @@ __metadata: "@babel/plugin-syntax-typescript": ^7.7.2 "@babel/traverse": ^7.7.2 "@babel/types": ^7.3.3 - "@jest/expect-utils": ^29.1.2 - "@jest/transform": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/expect-utils": ^29.2.2 + "@jest/transform": ^29.2.2 + "@jest/types": ^29.2.1 "@types/babel__traverse": ^7.0.6 "@types/prettier": ^2.1.5 babel-preset-current-node-syntax: ^1.0.0 chalk: ^4.0.0 - expect: ^29.1.2 + expect: ^29.2.2 graceful-fs: ^4.2.9 - jest-diff: ^29.1.2 - jest-get-type: ^29.0.0 - jest-haste-map: ^29.1.2 - jest-matcher-utils: ^29.1.2 - jest-message-util: ^29.1.2 - jest-util: ^29.1.2 + jest-diff: ^29.2.1 + jest-get-type: ^29.2.0 + jest-haste-map: ^29.2.1 + jest-matcher-utils: ^29.2.2 + jest-message-util: ^29.2.1 + jest-util: ^29.2.1 natural-compare: ^1.4.0 - pretty-format: ^29.1.2 + pretty-format: ^29.2.1 semver: ^7.3.5 - checksum: 2947b13804eefeb98621b6e12e9a60c70ed2aaaf3ac1432f9b6c224ca870a4541df94d15c5090c544e5ec60086882ca91a221c1c0d6c18e5d55b8bfe02aab1e6 + checksum: 749dcad5d87bcbc6ae1de0a85c3119fae7e22816981c8ad41c4db268038827e3d0d6018d355e78dc8427a70347791f8c80cc445811c6e16539e31190554c2e12 languageName: node linkType: hard @@ -20852,31 +20856,31 @@ __metadata: languageName: node linkType: hard -"jest-util@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-util@npm:29.1.2" +"jest-util@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-util@npm:29.2.1" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 "@types/node": "*" chalk: ^4.0.0 ci-info: ^3.2.0 graceful-fs: ^4.2.9 picomatch: ^2.2.3 - checksum: 59e1c7bd99684e9be39a789f05f34e7c00309d7d18ea7fa52f3405b2df1a74dae7ae32293d8548ed15b4c9231a1dbd48a03cbbca56b1b71bbabcc3390fe522ff + checksum: 678ae6089b460156882c0c2f94f46dfcbf9e00d147edee0eb7101a1b38ef36c7a5e7b7c7d8d3aa089a8fa08b2930bf3392c5bb527d229b70a5fd0d48fd091be0 languageName: node linkType: hard -"jest-validate@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-validate@npm:29.1.2" +"jest-validate@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-validate@npm:29.2.2" dependencies: - "@jest/types": ^29.1.2 + "@jest/types": ^29.2.1 camelcase: ^6.2.0 chalk: ^4.0.0 - jest-get-type: ^29.0.0 + jest-get-type: ^29.2.0 leven: ^3.1.0 - pretty-format: ^29.1.2 - checksum: 831e81ca282184b84b903ff1ca61303478ee66b8f210fd4f9eeb2d7894ee36ad372d9cdf4b654d52f26c3b6d93f886741a4d35265e441ec65069792eb943c208 + pretty-format: ^29.2.1 + checksum: 91b680885a2126a3363c82c4e675b1e6987df6dd855415928a3f5b8286416801ddc2a1d50f0c20f670cc76a6d7748c9f2ed39f0dedd7a1d2e8c9ecb7eecb9cd0 languageName: node linkType: hard @@ -20897,19 +20901,19 @@ __metadata: languageName: node linkType: hard -"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-watcher@npm:29.1.2" +"jest-watcher@npm:^29.0.0, jest-watcher@npm:^29.2.2": + version: 29.2.2 + resolution: "jest-watcher@npm:29.2.2" dependencies: - "@jest/test-result": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/test-result": ^29.2.1 + "@jest/types": ^29.2.1 "@types/node": "*" ansi-escapes: ^4.2.1 chalk: ^4.0.0 - emittery: ^0.10.2 - jest-util: ^29.1.2 + emittery: ^0.13.1 + jest-util: ^29.2.1 string-length: ^4.0.1 - checksum: 9de35973a73c52bb332e7b31e5653f1168000f2d3a654f2ad0682ee9aa0ed7897982facdf595d474b0fd19e26f4848871cb5444184ee83e1cb7ac005dffb0712 + checksum: 0cd0b7ea02c853a9aeba2caa29db1cbf3ddbb53afda430e564da2a59a67142b5846f187813893f66b7ea66226f58f224c79e80bb72a62b0f92aaaa8041c00963 languageName: node linkType: hard @@ -20935,26 +20939,26 @@ __metadata: languageName: node linkType: hard -"jest-worker@npm:^29.0.0, jest-worker@npm:^29.1.2": - version: 29.1.2 - resolution: "jest-worker@npm:29.1.2" +"jest-worker@npm:^29.0.0, jest-worker@npm:^29.1.2, jest-worker@npm:^29.2.1": + version: 29.2.1 + resolution: "jest-worker@npm:29.2.1" dependencies: "@types/node": "*" - jest-util: ^29.1.2 + jest-util: ^29.2.1 merge-stream: ^2.0.0 supports-color: ^8.0.0 - checksum: 0aae865e51b4e217264032ea14570d88768cdec60d39e6ae628a1f2d8e6837f59e34bdb09608d0082aaff1238411af10828687f5e0ca4cd97745b46d1f586176 + checksum: da0bf51bba49be676b596499bac9e2b7598c6095862f18733618813dd6694f70bd5ee832513c8ff50cccda3457202e9d444ea4a983c608e7f91d65b2066e02bb languageName: node linkType: hard -"jest@npm:29.1.2": - version: 29.1.2 - resolution: "jest@npm:29.1.2" +"jest@npm:29.2.2": + version: 29.2.2 + resolution: "jest@npm:29.2.2" dependencies: - "@jest/core": ^29.1.2 - "@jest/types": ^29.1.2 + "@jest/core": ^29.2.2 + "@jest/types": ^29.2.1 import-local: ^3.0.2 - jest-cli: ^29.1.2 + jest-cli: ^29.2.2 peerDependencies: node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 peerDependenciesMeta: @@ -20962,7 +20966,7 @@ __metadata: optional: true bin: jest: bin/jest.js - checksum: 2c76f7660e6f553d60561e578649aabe773e4e6e7ff7d193c7e7836154850a4731f1dfcb56484b54bbea9026b1bff19899a362c1f2c512097d9cb3e9b306703b + checksum: 4635fa2e533904f81b1cc69b8f59ff5bc6c237d4ad47e252d30ef2c05a877b49671ef78fe23c10d0093fa8b3cc93e63bf1cab4d7cfc746fbc5d8f537dd5e6c6b languageName: node linkType: hard @@ -22987,7 +22991,7 @@ __metadata: languageName: node linkType: hard -"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": +"minimatch@npm:^3.0.2, minimatch@npm:^3.0.4, minimatch@npm:^3.0.5, minimatch@npm:^3.1.1, minimatch@npm:^3.1.2": version: 3.1.2 resolution: "minimatch@npm:3.1.2" dependencies: @@ -25766,14 +25770,14 @@ __metadata: languageName: node linkType: hard -"pretty-format@npm:^29.0.0, pretty-format@npm:^29.1.2": - version: 29.1.2 - resolution: "pretty-format@npm:29.1.2" +"pretty-format@npm:^29.0.0, pretty-format@npm:^29.2.1": + version: 29.2.1 + resolution: "pretty-format@npm:29.2.1" dependencies: "@jest/schemas": ^29.0.0 ansi-styles: ^5.0.0 react-is: ^18.0.0 - checksum: 7b9b37ca8412aa05a5db359f88b0497174c8520c687e6ee06b2f16b7369161cb11469f9ae9ff5bf6bf0ced95f86752b8a0fa796476fe3b2da7596ea02e8f77a0 + checksum: 35d275a65379fdd52cbf2d984432bca91ca4ebecc6c3459e5d96f653a2855b9aab8147fe303b68435c3d18ec8b80bdbe425ed3b9fc8e4ff112f552f4b949108d languageName: node linkType: hard @@ -25809,15 +25813,15 @@ __metadata: languageName: node linkType: hard -"prisma@npm:4.3.1": - version: 4.3.1 - resolution: "prisma@npm:4.3.1" +"prisma@npm:4.5.0": + version: 4.5.0 + resolution: "prisma@npm:4.5.0" dependencies: - "@prisma/engines": 4.3.1 + "@prisma/engines": 4.5.0 bin: prisma: build/index.js prisma2: build/index.js - checksum: 5104ac04d2907fd2b9eb4757e9f3b945f5b68e45888618b617d2275f149b991a8721ae877c8081a8eba6dd9f847129776874ab415453b033885b60c341d1005f + checksum: 1f77adcbc757badac26f37f2296565390491386d4ce8d198fced9263c5ab450d43b8bb1674e70c004bb07005ebcd053611eaacfe651890cfb8334896c37b338f languageName: node linkType: hard @@ -26480,12 +26484,12 @@ __metadata: languageName: node linkType: hard -"react-hook-form@npm:7.37.0": - version: 7.37.0 - resolution: "react-hook-form@npm:7.37.0" +"react-hook-form@npm:7.39.1": + version: 7.39.1 + resolution: "react-hook-form@npm:7.39.1" peerDependencies: react: ^16.8.0 || ^17 || ^18 - checksum: f879bb8618388be60b2bd9b06f9b55097ab9a7f3b248a7a9de7d754ac0ed8a2c7a50c1701a9cf5796dd67de9c156ff9db8b1138a45e278ab968d08d6a7ff2608 + checksum: e089e4781cbe6b9ee5645abf5ebe453ad70a2cfd7cf406f4d666a6785d3436177f1a320d490efb0ae95b9f10272ae6ec40f31e0c7ac720abbafd348e44a0a38a languageName: node linkType: hard @@ -27573,25 +27577,25 @@ __metadata: "@tsd/typescript": 4.8.4 "@types/babel__generator": 7.6.4 "@types/fs-extra": 9.0.13 - "@types/jest": 29.1.2 + "@types/jest": 29.2.1 "@types/jscodeshift": 0.11.5 "@types/lodash.template": 4.5.1 "@types/ncp": 2.0.5 "@types/prompts": 2.4.1 all-contributors-cli: 6.24.0 ansi-colors: 4.1.3 - babel-jest: 29.1.2 + babel-jest: 29.2.2 babel-plugin-auto-import: 1.1.0 babel-plugin-remove-code: 0.0.6 boxen: 5.1.2 core-js: 3.25.5 cypress: 10.10.0 cypress-wait-until: 1.7.2 - eslint: 8.25.0 + eslint: 8.26.0 fast-glob: 3.2.12 fs-extra: 10.1.0 is-port-reachable: 3.1.0 - jest: 29.1.2 + jest: 29.2.2 jest-runner-tsd: 4.0.0 jscodeshift: 0.14.0 lerna: 6.0.0 @@ -29597,7 +29601,7 @@ __metadata: languageName: node linkType: hard -"terminal-link@npm:2.1.1, terminal-link@npm:^2.0.0": +"terminal-link@npm:2.1.1": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" dependencies: