From 7724f7ba7dcf96927ddfb51da24bb380e3fd0fe9 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 09:50:45 +0000 Subject: [PATCH 01/29] Update dependency typescript to v4.6.2 (#4603) Co-authored-by: Renovate Bot --- package.json | 4 +- packages/api-server/package.json | 2 +- packages/api/package.json | 2 +- packages/auth/package.json | 2 +- packages/cli/package.json | 2 +- packages/core/package.json | 2 +- packages/create-redwood-app/package.json | 2 +- packages/eslint-config/package.json | 2 +- packages/forms/package.json | 2 +- packages/graphql-server/package.json | 2 +- packages/internal/package.json | 2 +- packages/prerender/package.json | 2 +- packages/router/package.json | 2 +- packages/structure/package.json | 2 +- packages/testing/package.json | 2 +- packages/web/package.json | 2 +- yarn.lock | 48 ++++++++++++------------ 17 files changed, 41 insertions(+), 41 deletions(-) diff --git a/package.json b/package.json index 3ef331274dc3..47cb095fb6d1 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.5.5", + "typescript": "4.6.2", "vscode-languageserver": "6.1.1", "vscode-languageserver-protocol": "3.15.3", "vscode-languageserver-textdocument": "1.0.4", @@ -90,7 +90,7 @@ "prompts": "2.4.2", "rimraf": "3.0.2", "terminal-link": "2.1.1", - "typescript": "4.5.5", + "typescript": "4.6.2", "typescript-transform-paths": "3.3.1", "zx": "5.2.0" }, diff --git a/packages/api-server/package.json b/packages/api-server/package.json index 02abb337453f..dde752ddd846 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -53,7 +53,7 @@ "@types/yargs": "16.0.4", "aws-lambda": "1.0.7", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/api/package.json b/packages/api/package.json index 727dec237f3d..30a5bfd46635 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -46,7 +46,7 @@ "jest": "27.5.1", "split2": "4.1.0", "supertokens-node": "8.6.0", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "peerDependencies": { "@clerk/clerk-sdk-node": "2.9.4", diff --git a/packages/auth/package.json b/packages/auth/package.json index 8c746571aef5..ea945378d3bf 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -41,7 +41,7 @@ "nhost-js-sdk": "3.1.0", "react": "17.0.2", "supertokens-auth-react": "0.18.7", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/cli/package.json b/packages/cli/package.json index 4aee552b3180..fe621c37a1e5 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -69,7 +69,7 @@ "@types/listr": "0.14.4", "@types/node-fetch": "2.5.12", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/core/package.json b/packages/core/package.json index b5d036d79b0d..ec08ac8f33a8 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -55,7 +55,7 @@ "react-refresh": "0.11.0", "style-loader": "3.3.1", "svg-react-loader": "0.4.6", - "typescript": "4.5.5", + "typescript": "4.6.2", "url-loader": "4.1.1", "webpack": "5.69.1", "webpack-bundle-analyzer": "4.5.0", diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json index 568ad6f7edee..4d02b9657b59 100644 --- a/packages/create-redwood-app/package.json +++ b/packages/create-redwood-app/package.json @@ -36,7 +36,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 91112b9dcf0f..25f1a441fddb 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -33,7 +33,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/forms/package.json b/packages/forms/package.json index dd81c3fdb84e..df359bb818ca 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -40,7 +40,7 @@ "nodemon": "2.0.15", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "peerDependencies": { "graphql": "16.3.0", diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json index 7d14131f9069..01e04845a5a2 100644 --- a/packages/graphql-server/package.json +++ b/packages/graphql-server/package.json @@ -55,7 +55,7 @@ "@types/uuid": "8.3.4", "aws-lambda": "1.0.7", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/internal/package.json b/packages/internal/package.json index 054a3864077f..603347ee58bb 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -76,7 +76,7 @@ "babel-plugin-tester": "10.1.0", "graphql-tag": "2.12.6", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/prerender/package.json b/packages/prerender/package.json index e7ea475ac631..e0d1ae6ee34d 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -40,7 +40,7 @@ "@types/mime-types": "2.1.1", "babel-plugin-tester": "10.1.0", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "peerDependencies": { "react": "17.0.2", diff --git a/packages/router/package.json b/packages/router/package.json index d0b043e76cef..2d7083dd3095 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -35,7 +35,7 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/structure/package.json b/packages/structure/package.json index a4c7049ddc4a..a49fbc1c0676 100644 --- a/packages/structure/package.json +++ b/packages/structure/package.json @@ -61,7 +61,7 @@ "@types/node": "16.11.26", "@types/vscode": "1.64.0", "jest": "27.5.1", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/testing/package.json b/packages/testing/package.json index 87289988d8f2..c718474b68aa 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -56,7 +56,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/web/package.json b/packages/web/package.json index 8a62ec4cf4f1..c6f7c83908df 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -47,7 +47,7 @@ "nodemon": "2.0.15", "react": "17.0.2", "react-dom": "17.0.2", - "typescript": "4.5.5" + "typescript": "4.6.2" }, "peerDependencies": { "prop-types": "15.8.1", diff --git a/yarn.lock b/yarn.lock index 126763ed3851..60f5f79147bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5698,7 +5698,7 @@ __metadata: pretty-ms: 7.0.1 qs: 6.10.3 split2: 4.1.0 - typescript: 4.5.5 + typescript: 4.6.2 yargs: 16.2.0 bin: rw-api-server: ./dist/index.js @@ -5731,7 +5731,7 @@ __metadata: pino: 7.8.0 split2: 4.1.0 supertokens-node: 8.6.0 - typescript: 4.5.5 + typescript: 4.6.2 uuid: 8.3.2 peerDependencies: "@clerk/clerk-sdk-node": 2.9.4 @@ -5770,7 +5770,7 @@ __metadata: nhost-js-sdk: 3.1.0 react: 17.0.2 supertokens-auth-react: 0.18.7 - typescript: 4.5.5 + typescript: 4.6.2 languageName: unknown linkType: soft @@ -5816,7 +5816,7 @@ __metadata: rimraf: 3.0.2 secure-random-password: 0.2.3 terminal-link: 2.1.1 - typescript: 4.5.5 + typescript: 4.6.2 yargs: 16.2.0 bin: redwood: ./dist/index.js @@ -5903,7 +5903,7 @@ __metadata: react-refresh: 0.11.0 style-loader: 3.3.1 svg-react-loader: 0.4.6 - typescript: 4.5.5 + typescript: 4.6.2 url-loader: 4.1.1 webpack: 5.69.1 webpack-bundle-analyzer: 4.5.0 @@ -5938,7 +5938,7 @@ __metadata: eslint-plugin-react-hooks: 4.3.0 jest: 27.5.1 prettier: 2.5.1 - typescript: 4.5.5 + typescript: 4.6.2 languageName: unknown linkType: soft @@ -5963,7 +5963,7 @@ __metadata: react: 17.0.2 react-dom: 17.0.2 react-hook-form: 7.27.1 - typescript: 4.5.5 + typescript: 4.6.2 peerDependencies: graphql: 16.3.0 react: 17.0.2 @@ -6004,7 +6004,7 @@ __metadata: lodash.merge: 4.6.2 lodash.omitby: 4.6.0 node-fetch: 2.6.7 - typescript: 4.5.5 + typescript: 4.6.2 uuid: 8.3.2 languageName: unknown linkType: soft @@ -6053,7 +6053,7 @@ __metadata: string-env-interpolation: 1.0.1 systeminformation: 5.11.5 toml: 3.0.0 - typescript: 4.5.5 + typescript: 4.6.2 bin: rw-gen: ./dist/generate/generate.js rw-gen-watch: ./dist/generate/watch.js @@ -6078,7 +6078,7 @@ __metadata: jest: 27.5.1 mime-types: 2.1.34 node-fetch: 2.6.7 - typescript: 4.5.5 + typescript: 4.6.2 peerDependencies: react: 17.0.2 react-dom: 17.0.2 @@ -6113,7 +6113,7 @@ __metadata: prop-types: 15.8.1 react: 17.0.2 react-dom: 17.0.2 - typescript: 4.5.5 + typescript: 4.6.2 languageName: unknown linkType: soft @@ -6146,7 +6146,7 @@ __metadata: proxyquire: 2.1.3 toml: 3.0.0 ts-morph: 13.0.3 - typescript: 4.5.5 + typescript: 4.6.2 vscode-languageserver: 6.1.1 vscode-languageserver-textdocument: 1.0.4 vscode-languageserver-types: 3.16.0 @@ -6208,7 +6208,7 @@ __metadata: jest-watch-typeahead: 1.0.0 msw: 0.38.1 ts-toolbelt: 9.6.0 - typescript: 4.5.5 + typescript: 4.6.2 whatwg-fetch: 3.6.2 languageName: unknown linkType: soft @@ -6237,7 +6237,7 @@ __metadata: react-hot-toast: 2.2.0 stacktracey: 2.1.8 ts-toolbelt: 9.6.0 - typescript: 4.5.5 + typescript: 4.6.2 peerDependencies: prop-types: 15.8.1 react: 17.0.2 @@ -12643,7 +12643,7 @@ __metadata: fs-extra: 10.0.1 jest: 27.5.1 listr: 0.14.3 - typescript: 4.5.5 + typescript: 4.6.2 yargs: 16.2.0 bin: create-redwood-app: ./dist/create-redwood-app.js @@ -26202,7 +26202,7 @@ __metadata: prompts: 2.4.2 rimraf: 3.0.2 terminal-link: 2.1.1 - typescript: 4.5.5 + typescript: 4.6.2 typescript-transform-paths: 3.3.1 zx: 5.2.0 languageName: unknown @@ -29006,23 +29006,23 @@ __metadata: languageName: node linkType: hard -"typescript@npm:4.5.5": - version: 4.5.5 - resolution: "typescript@npm:4.5.5" +"typescript@npm:4.6.2": + version: 4.6.2 + resolution: "typescript@npm:4.6.2" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: ac15b92f3dcd9a4233cab288a913ccbd96729fc488181396fa93c0297ccef3cd3c2f9a7a63340efb0d07bff3d5026028fc81b9c1ef08076029e057081eb5884b + checksum: 29fb8edbdc3bfc0ee043b1da9fb1d13e53f08997b920f3b2afbc5b1800c1510a2e9dbaec75135a1123cca8c405b5483629e9dd04f3933c6a0357b79e6d9fe460 languageName: node linkType: hard -"typescript@patch:typescript@npm%3A4.5.5#~builtin": - version: 4.5.5 - resolution: "typescript@patch:typescript@npm%3A4.5.5#~builtin::version=4.5.5&hash=bda367" +"typescript@patch:typescript@npm%3A4.6.2#~builtin": + version: 4.6.2 + resolution: "typescript@patch:typescript@npm%3A4.6.2#~builtin::version=4.6.2&hash=bda367" bin: tsc: bin/tsc tsserver: bin/tsserver - checksum: e7c8f7eb15922501b9c453724f243feee42fe07403e7fdcc83b293a70e88b85cd60cf3faf40d49134573d2323b8b3a3238f3def4b11218dd06227b893dfc903d + checksum: 92fe25239f0db8d649f4c8d061f78b43deacc1a95727f45ea5d799ebafae2a4891b11d6c6310e8ea38a928851da92d61ecd0e89b515a32e317279a4f1c707da1 languageName: node linkType: hard From 1983a318938728962b7654d871c99791a8ec843d Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 10:24:04 +0000 Subject: [PATCH 02/29] Update dependency cypress to v9.5.1 (#4602) Co-authored-by: Renovate Bot --- package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index 47cb095fb6d1..5d7bb4d75b74 100644 --- a/package.json +++ b/package.json @@ -69,7 +69,7 @@ "babel-plugin-remove-code": "0.0.6", "boxen": "5.1.2", "core-js": "3.21.1", - "cypress": "9.5.0", + "cypress": "9.5.1", "cypress-wait-until": "1.7.2", "eslint": "8.10.0", "fast-glob": "3.2.11", diff --git a/yarn.lock b/yarn.lock index 60f5f79147bb..5bf2874ce008 100644 --- a/yarn.lock +++ b/yarn.lock @@ -13054,9 +13054,9 @@ __metadata: languageName: node linkType: hard -"cypress@npm:9.5.0": - version: 9.5.0 - resolution: "cypress@npm:9.5.0" +"cypress@npm:9.5.1": + version: 9.5.1 + resolution: "cypress@npm:9.5.1" dependencies: "@cypress/request": ^2.88.10 "@cypress/xvfb": ^1.2.4 @@ -13102,7 +13102,7 @@ __metadata: yauzl: ^2.10.0 bin: cypress: bin/cypress - checksum: f6389681ce72009e9c8164623c6e9e4b677daa0474a041efefd0de08b66b637628dd5572357b23eb9923d840f1d883f04a1ac28ec0a160a3143509759e7fcaa6 + checksum: 07e949c92532783f5ca081c75426ba0b73180bfebab43d59cb12d5cce59822a955085d93ae5bb93431ec41b835b5ceb27d4f80ad2c12466a6183f7fc8af7223a languageName: node linkType: hard @@ -26181,7 +26181,7 @@ __metadata: babel-plugin-remove-code: 0.0.6 boxen: 5.1.2 core-js: 3.21.1 - cypress: 9.5.0 + cypress: 9.5.1 cypress-wait-until: 1.7.2 eslint: 8.10.0 fast-glob: 3.2.11 From c7404186547a62c307721707009682c13bf4864c Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Tue, 1 Mar 2022 13:56:20 +0100 Subject: [PATCH 03/29] Webhook verifiers: Add Base64Sha256 version for Svix webhooks used by Clerk auth (#4598) Co-authored-by: David Price --- .../__tests__/base64Sha1Verifier.test.ts | 61 +++++++++ .../__tests__/base64Sha256Verifier.test.ts | 61 +++++++++ .../src/auth/verifiers/base64Sha1Verifier.ts | 93 ++++++++++++++ .../auth/verifiers/base64Sha256Verifier.ts | 95 ++++++++++++++ packages/api/src/auth/verifiers/common.ts | 16 ++- packages/api/src/auth/verifiers/index.ts | 2 +- .../api/src/auth/verifiers/jwtVerifier.ts | 4 +- .../src/auth/verifiers/secretKeyVerifier.ts | 4 +- .../api/src/auth/verifiers/sha1Verifier.ts | 2 +- .../api/src/auth/verifiers/sha256Verifier.ts | 4 +- .../api/src/auth/verifiers/skipVerifier.ts | 2 +- .../auth/verifiers/timestampSchemeVerifier.ts | 2 +- packages/api/src/webhooks/index.ts | 6 +- packages/api/src/webhooks/webhooks.test.ts | 119 +++++++++++++++++- 14 files changed, 452 insertions(+), 19 deletions(-) create mode 100644 packages/api/src/auth/verifiers/__tests__/base64Sha1Verifier.test.ts create mode 100644 packages/api/src/auth/verifiers/__tests__/base64Sha256Verifier.test.ts create mode 100644 packages/api/src/auth/verifiers/base64Sha1Verifier.ts create mode 100644 packages/api/src/auth/verifiers/base64Sha256Verifier.ts diff --git a/packages/api/src/auth/verifiers/__tests__/base64Sha1Verifier.test.ts b/packages/api/src/auth/verifiers/__tests__/base64Sha1Verifier.test.ts new file mode 100644 index 000000000000..90ad19da86b0 --- /dev/null +++ b/packages/api/src/auth/verifiers/__tests__/base64Sha1Verifier.test.ts @@ -0,0 +1,61 @@ +import { createVerifier, WebhookVerificationError } from '../index' + +const stringPayload = 'No more secrets, Marty.' +const payload = { data: { move: 'Sneakers', quote: stringPayload } } +const secret = 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME' + +const { sign, verify } = createVerifier('base64Sha1Verifier') + +describe('base64 sha1 verifier', () => { + describe('signs a payload with the sha1 algorithm', () => { + test('it verifies when signed and verified with same secret', () => { + const signature = sign({ payload, secret }) + expect(verify({ payload, secret, signature })).toBeTruthy() + }) + + test('it denies verification if signature does not represent the secret signed payload', () => { + const signature = + 'sha7=819468bd4f892c51d2aee3b0842afc2e397d3798d1be0ca9b89273c3f97b1b7a' + expect(() => { + verify({ payload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + + test('it denies verification if the secret used to sign does not match the signature', () => { + const signature = sign({ + payload, + secret: 'I_LEAVE_MESSAGE_HERE_ON_SERVICE_BUT_YOU_DO_NOT_CALL', + }) + + expect(() => { + verify({ payload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + }) + + describe('signs a string payload with the sha1 algorithm', () => { + test('it verifies when signed and verified with same secret', () => { + const signature = sign({ payload: stringPayload, secret }) + expect(verify({ payload: stringPayload, secret, signature })).toBeTruthy() + }) + + test('it denies verification if signature does not represent the secret signed payload', () => { + const signature = + 'sha7=819468bd4f892c51d2aee3b0842afc2e397d3798d1be0ca9b89273c3f97b1b7a' + expect(() => { + verify({ payload: stringPayload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + + test('it denies verification if the secret used to sign does not match the signature', () => { + const signature = sign({ + payload: stringPayload, + secret: 'I_LEAVE_MESSAGE_HERE_ON_SERVICE_BUT_YOU_DO_NOT_CALL', + }) + + expect(() => { + verify({ payload: stringPayload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + }) +}) diff --git a/packages/api/src/auth/verifiers/__tests__/base64Sha256Verifier.test.ts b/packages/api/src/auth/verifiers/__tests__/base64Sha256Verifier.test.ts new file mode 100644 index 000000000000..e14a04f083d1 --- /dev/null +++ b/packages/api/src/auth/verifiers/__tests__/base64Sha256Verifier.test.ts @@ -0,0 +1,61 @@ +import { createVerifier, WebhookVerificationError } from '../index' + +const stringPayload = 'No more secrets, Marty.' +const payload = { data: { move: 'Sneakers', quote: stringPayload } } +const secret = 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME' + +const { sign, verify } = createVerifier('base64Sha256Verifier') + +describe('base64 sha256 verifier', () => { + describe('signs a payload with the sha256 algorithm', () => { + test('it verifies when signed and verified with same secret', () => { + const signature = sign({ payload, secret }) + expect(verify({ payload, secret, signature })).toBeTruthy() + }) + + test('it denies verification if signature does not represent the secret signed payload', () => { + const signature = + 'sha265=819468bd4f892c51d2aee3b0842afc2e397d3798d1be0ca9b89273c3f97b1b7a' + expect(() => { + verify({ payload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + + test('it denies verification if the secret used to sign does not match the signature', () => { + const signature = sign({ + payload, + secret: 'I_LEAVE_MESSAGE_HERE_ON_SERVICE_BUT_YOU_DO_NOT_CALL', + }) + + expect(() => { + verify({ payload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + }) + + describe('signs a string payload with the sha256 algorithm', () => { + test('it verifies when signed and verified with same secret', () => { + const signature = sign({ payload: stringPayload, secret }) + expect(verify({ payload: stringPayload, secret, signature })).toBeTruthy() + }) + + test('it denies verification if signature does not represent the secret signed payload', () => { + const signature = + 'sha265=819468bd4f892c51d2aee3b0842afc2e397d3798d1be0ca9b89273c3f97b1b7a' + expect(() => { + verify({ payload: stringPayload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + + test('it denies verification if the secret used to sign does not match the signature', () => { + const signature = sign({ + payload: stringPayload, + secret: 'I_LEAVE_MESSAGE_HERE_ON_SERVICE_BUT_YOU_DO_NOT_CALL', + }) + + expect(() => { + verify({ payload: stringPayload, secret, signature }) + }).toThrow(WebhookVerificationError) + }) + }) +}) diff --git a/packages/api/src/auth/verifiers/base64Sha1Verifier.ts b/packages/api/src/auth/verifiers/base64Sha1Verifier.ts new file mode 100644 index 000000000000..54a29a08ac83 --- /dev/null +++ b/packages/api/src/auth/verifiers/base64Sha1Verifier.ts @@ -0,0 +1,93 @@ +import { createHmac, timingSafeEqual } from 'crypto' + +import { + WebhookVerificationError, + VERIFICATION_ERROR_MESSAGE, + DEFAULT_WEBHOOK_SECRET, +} from './common' +import type { WebhookVerifier, VerifyOptions } from './common' + +export interface Base64Sha1Verifier extends WebhookVerifier { + type: 'base64Sha1Verifier' +} + +function toNormalizedJsonString(payload: Record) { + return JSON.stringify(payload).replace(/[^\\]\\u[\da-f]{4}/g, (s) => { + return s.slice(0, 3) + s.slice(3).toUpperCase() + }) +} + +const createSignature = ({ + payload, + secret = DEFAULT_WEBHOOK_SECRET, +}: { + payload: string | Record + secret: string +}): string => { + const algorithm = 'sha1' + const hmac = createHmac(algorithm, Buffer.from(secret, 'base64')) + + payload = + typeof payload === 'string' ? payload : toNormalizedJsonString(payload) + + const digest = hmac.update(payload).digest() + + return digest.toString('base64') +} + +export const verifySignature = ({ + payload, + secret = DEFAULT_WEBHOOK_SECRET, + signature, +}: { + payload: string | Record + secret: string + signature: string +}): boolean => { + try { + const webhookSignature = Buffer.from(signature || '', 'base64') + const hmac = createHmac('sha1', Buffer.from(secret, 'base64')) + + payload = + typeof payload === 'string' ? payload : toNormalizedJsonString(payload) + + const digest = hmac.update(payload).digest() + + // constant time comparison to prevent timing attacks + // https://stackoverflow.com/a/31096242/206879 + // https://en.wikipedia.org/wiki/Timing_attack + if ( + webhookSignature.length === digest.length && + timingSafeEqual(digest, webhookSignature) + ) { + return true + } + + throw new WebhookVerificationError() + } catch (error: any) { + throw new WebhookVerificationError( + `${VERIFICATION_ERROR_MESSAGE}: ${error.message}` + ) + } +} + +/** + * Base64 SHA1 HMAC Payload Verifier + * + * Based on Svix's webhook payload verification, but using SHA1 instead + * @see https://docs.svix.com/receiving/verifying-payloads/how-manual + * @see https://github.com/svix/svix-webhooks/blob/main/javascript/src/index.ts + */ +const base64Sha1Verifier = (_options?: VerifyOptions): Base64Sha1Verifier => { + return { + sign: ({ payload, secret }) => { + return createSignature({ payload, secret }) + }, + verify: ({ payload, secret, signature }) => { + return verifySignature({ payload, secret, signature }) + }, + type: 'base64Sha1Verifier', + } +} + +export default base64Sha1Verifier diff --git a/packages/api/src/auth/verifiers/base64Sha256Verifier.ts b/packages/api/src/auth/verifiers/base64Sha256Verifier.ts new file mode 100644 index 000000000000..913bde6fd050 --- /dev/null +++ b/packages/api/src/auth/verifiers/base64Sha256Verifier.ts @@ -0,0 +1,95 @@ +import { createHmac, timingSafeEqual } from 'crypto' + +import { + WebhookVerificationError, + VERIFICATION_ERROR_MESSAGE, + DEFAULT_WEBHOOK_SECRET, +} from './common' +import type { WebhookVerifier, VerifyOptions } from './common' + +export interface Base64Sha256Verifier extends WebhookVerifier { + type: 'base64Sha256Verifier' +} + +function toNormalizedJsonString(payload: Record) { + return JSON.stringify(payload).replace(/[^\\]\\u[\da-f]{4}/g, (s) => { + return s.slice(0, 3) + s.slice(3).toUpperCase() + }) +} + +const createSignature = ({ + payload, + secret = DEFAULT_WEBHOOK_SECRET, +}: { + payload: string | Record + secret: string +}): string => { + const algorithm = 'sha256' + const hmac = createHmac(algorithm, Buffer.from(secret, 'base64')) + + payload = + typeof payload === 'string' ? payload : toNormalizedJsonString(payload) + + const digest = hmac.update(payload).digest() + + return digest.toString('base64') +} + +export const verifySignature = ({ + payload, + secret = DEFAULT_WEBHOOK_SECRET, + signature, +}: { + payload: string | Record + secret: string + signature: string +}): boolean => { + try { + const webhookSignature = Buffer.from(signature || '', 'base64') + const hmac = createHmac('sha256', Buffer.from(secret, 'base64')) + + payload = + typeof payload === 'string' ? payload : toNormalizedJsonString(payload) + + const digest = hmac.update(payload).digest() + + // constant time comparison to prevent timing attacks + // https://stackoverflow.com/a/31096242/206879 + // https://en.wikipedia.org/wiki/Timing_attack + if ( + webhookSignature.length === digest.length && + timingSafeEqual(digest, webhookSignature) + ) { + return true + } + + throw new WebhookVerificationError() + } catch (error: any) { + throw new WebhookVerificationError( + `${VERIFICATION_ERROR_MESSAGE}: ${error.message}` + ) + } +} + +/** + * Base64 SHA256 HMAC Payload Verifier + * + * Based on Svix's webhook payload verification + * @see https://docs.svix.com/receiving/verifying-payloads/how-manual + * @see https://github.com/svix/svix-webhooks/blob/main/javascript/src/index.ts + */ +const base64Sha256Verifier = ( + _options?: VerifyOptions +): Base64Sha256Verifier => { + return { + sign: ({ payload, secret }) => { + return createSignature({ payload, secret }) + }, + verify: ({ payload, secret, signature }) => { + return verifySignature({ payload, secret, signature }) + }, + type: 'base64Sha256Verifier', + } +} + +export default base64Sha256Verifier diff --git a/packages/api/src/auth/verifiers/common.ts b/packages/api/src/auth/verifiers/common.ts index 5f186483e307..0e0a7b273fd5 100644 --- a/packages/api/src/auth/verifiers/common.ts +++ b/packages/api/src/auth/verifiers/common.ts @@ -1,3 +1,7 @@ +import base64Sha1Verifier from './base64Sha1Verifier' +import type { Base64Sha1Verifier } from './base64Sha1Verifier' +import base64Sha256Verifier from './base64Sha256Verifier' +import type { Base64Sha256Verifier } from './base64Sha256Verifier' import jwtVerifier from './jwtVerifier' import type { JwtVerifier } from './jwtVerifier' import secretKeyVerifier from './secretKeyVerifier' @@ -16,6 +20,8 @@ export const verifierLookup = { secretKeyVerifier, sha1Verifier, sha256Verifier, + base64Sha1Verifier, + base64Sha256Verifier, timestampSchemeVerifier, jwtVerifier, } @@ -25,6 +31,8 @@ export type SupportedVerifiers = | SecretKeyVerifier | Sha1Verifier | Sha256Verifier + | Base64Sha1Verifier + | Base64Sha256Verifier | Sha1Verifier | TimestampSchemeVerifier | JwtVerifier @@ -85,14 +93,18 @@ export class WebhookSignError extends WebhookError { * * Used when verifying a signature based on the verifier's requirements * - * @param {string} signatureHeader - Optional Header that contains the signature to verify - * will default to DEFAULT_WEBHOOK_SIGNATURE_HEADER + * @param {string} signatureHeader - Optional Header that contains the signature + * to verify. Will default to DEFAULT_WEBHOOK_SIGNATURE_HEADER + * @param {(signature: string) => string} signatureTransformer - Optional + * function that receives the signature from the headers and returns a new + * signature to use in the Verifier * @param {number} timestamp - Optional timestamp in msec * @param {number} tolerance - Optional tolerance in msec * @param {string} issuer - Options JWT issuer for JWTVerifier */ export interface VerifyOptions { signatureHeader?: string + signatureTransformer?: (signature: string) => string timestamp?: number tolerance?: number issuer?: string diff --git a/packages/api/src/auth/verifiers/index.ts b/packages/api/src/auth/verifiers/index.ts index a8a395a4ebea..da124bc99c30 100644 --- a/packages/api/src/auth/verifiers/index.ts +++ b/packages/api/src/auth/verifiers/index.ts @@ -11,7 +11,7 @@ import type { */ export const createVerifier = ( type: SupportedVerifierTypes, - options?: VerifyOptions | undefined + options?: VerifyOptions ): WebhookVerifier => { if (options) { return verifierLookup[type](options) diff --git a/packages/api/src/auth/verifiers/jwtVerifier.ts b/packages/api/src/auth/verifiers/jwtVerifier.ts index 0322603578ef..624fc3b9cb88 100644 --- a/packages/api/src/auth/verifiers/jwtVerifier.ts +++ b/packages/api/src/auth/verifiers/jwtVerifier.ts @@ -82,9 +82,7 @@ export const verifySignature = ({ * @see: https://docs.netlify.com/site-deploys/notifications/#payload-signature * */ -export const jwtVerifier = ( - options?: VerifyOptions | undefined -): JwtVerifier => { +export const jwtVerifier = (options?: VerifyOptions): JwtVerifier => { return { sign: ({ payload, secret }) => { return createSignature({ payload, secret, options }) diff --git a/packages/api/src/auth/verifiers/secretKeyVerifier.ts b/packages/api/src/auth/verifiers/secretKeyVerifier.ts index 40e0514f420d..fa4aaf38ffdc 100644 --- a/packages/api/src/auth/verifiers/secretKeyVerifier.ts +++ b/packages/api/src/auth/verifiers/secretKeyVerifier.ts @@ -12,9 +12,7 @@ export interface SecretKeyVerifier extends WebhookVerifier { * Use when the payload is not signed, but rather authorized via a known secret key * */ -export const secretKeyVerifier = ( - _options?: VerifyOptions | undefined -): SecretKeyVerifier => { +const secretKeyVerifier = (_options?: VerifyOptions): SecretKeyVerifier => { return { sign: ({ secret }) => { return secret diff --git a/packages/api/src/auth/verifiers/sha1Verifier.ts b/packages/api/src/auth/verifiers/sha1Verifier.ts index cac868e4d35a..d64b6fc9db6e 100644 --- a/packages/api/src/auth/verifiers/sha1Verifier.ts +++ b/packages/api/src/auth/verifiers/sha1Verifier.ts @@ -97,7 +97,7 @@ export const verifySignature = ({ * @see https://vercel.com/docs/api#integrations/webhooks/securing-webhooks * */ -const sha1Verifier = (_options?: VerifyOptions | undefined): Sha1Verifier => { +const sha1Verifier = (_options?: VerifyOptions): Sha1Verifier => { return { sign: ({ payload, secret }) => { return createSignature({ payload, secret }) diff --git a/packages/api/src/auth/verifiers/sha256Verifier.ts b/packages/api/src/auth/verifiers/sha256Verifier.ts index c14e465f6eb0..2c4be0cc3d68 100644 --- a/packages/api/src/auth/verifiers/sha256Verifier.ts +++ b/packages/api/src/auth/verifiers/sha256Verifier.ts @@ -97,9 +97,7 @@ export const verifySignature = ({ * @see https://docs.github.com/en/developers/webhooks-and-events/securing-your-webhooks * */ -const sha256Verifier = ( - _options?: VerifyOptions | undefined -): Sha256Verifier => { +const sha256Verifier = (_options?: VerifyOptions): Sha256Verifier => { return { sign: ({ payload, secret }) => { return createSignature({ payload, secret }) diff --git a/packages/api/src/auth/verifiers/skipVerifier.ts b/packages/api/src/auth/verifiers/skipVerifier.ts index 41a64bd4e947..9a4b00670c37 100644 --- a/packages/api/src/auth/verifiers/skipVerifier.ts +++ b/packages/api/src/auth/verifiers/skipVerifier.ts @@ -9,7 +9,7 @@ export interface SkipVerifier extends WebhookVerifier { * entirely public. * */ -const skipVerifier = (_options?: VerifyOptions | undefined): SkipVerifier => { +const skipVerifier = (_options?: VerifyOptions): SkipVerifier => { return { sign: () => { console.warn(`No signature is created for the skipVerifier verifier`) diff --git a/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts b/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts index bef2e467be9c..d4316cbadb7b 100644 --- a/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts +++ b/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts @@ -145,7 +145,7 @@ const verifySignature = ({ * */ const timestampSchemeVerifier = ( - options?: VerifyOptions | undefined + options?: VerifyOptions ): TimestampSchemeVerifier => { return { sign: ({ payload, secret }) => { diff --git a/packages/api/src/webhooks/index.ts b/packages/api/src/webhooks/index.ts index b830d8747e4e..f2cc3836be4d 100644 --- a/packages/api/src/webhooks/index.ts +++ b/packages/api/src/webhooks/index.ts @@ -86,12 +86,16 @@ export const verifyEvent = ( body = eventBody(event) } - const signature = signatureFromEvent({ + let signature = signatureFromEvent({ event, signatureHeader: options?.signatureHeader || DEFAULT_WEBHOOK_SIGNATURE_HEADER, }) + if (options?.signatureTransformer) { + signature = options.signatureTransformer(signature) + } + const { verify } = createVerifier(type, options) return verify({ payload: body, secret, signature }) diff --git a/packages/api/src/webhooks/webhooks.test.ts b/packages/api/src/webhooks/webhooks.test.ts index f42f160cdaf2..5b1eb8807b9c 100644 --- a/packages/api/src/webhooks/webhooks.test.ts +++ b/packages/api/src/webhooks/webhooks.test.ts @@ -14,8 +14,8 @@ const secret = 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME' // See: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/aws-lambda/trigger/api-gateway-proxy.d.ts const buildEvent = ({ payload, - signature, - signatureHeader, + signature = '', + signatureHeader = '', isBase64Encoded = false, }): APIGatewayProxyEvent => { const headers = {} @@ -191,8 +191,69 @@ describe('webhooks', () => { }) }) + describe('using the base64 sha1 verifier', () => { + describe('signs a payload', () => { + test('it signs and verifies', () => { + const signature = signPayload('base64Sha1Verifier', { + payload, + secret, + }) + + expect( + verifySignature('base64Sha1Verifier', { + payload, + secret, + signature, + }) + ).toBeTruthy() + }) + }) + }) + + describe('using the base64 sha256 verifier', () => { + describe('signs a payload', () => { + test('it has a base64 sha256 signature', () => { + const body = + '{"data": {"abandon_at": 1648585920141, ' + + '"client_id": "client_25hz3vm5USqCG3a7jMXqdjzjJyK", ' + + '"created_at": 1645993920141, "expire_at": 1646598720141, ' + + '"id": "sess_25hz5CxFyrNJgDO1TY52LGPtM0e", ' + + '"last_active_at": 1645993920141, "object": "session", ' + + '"status": "active", "updated_at": 1645993920149, ' + + '"user_id": "user_25h1zRMh7owJp6us0Sqs3UXwW0y"}, ' + + '"object": "event", "type": "session.created"}' + + const payload = `msg_25hz5cPxRz5ilWSQSiYfgxpYHTH.1646004463.${body}` + const secret = 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME' + const signature = signPayload('base64Sha256Verifier', { + payload, + secret, + }) + + expect(signature).toMatch( + 'AaP4EgcpPC5oE3eppI/s6EMtQCZ4Ap34wNHPoxBoikI=' + ) + }) + + test('it signs and verifies', () => { + const signature = signPayload('base64Sha256Verifier', { + payload, + secret, + }) + + expect( + verifySignature('base64Sha256Verifier', { + payload, + secret, + signature, + }) + ).toBeTruthy() + }) + }) + }) + describe('webhooks via event', () => { - describe('when it receives and event extracts the signature and payload from the event', () => { + describe('when it receives an event it extracts the signature and payload from the event', () => { test('it can verify an event body payload with a signature it generates', () => { const signature = signPayload('timestampSchemeVerifier', { payload, @@ -310,5 +371,57 @@ describe('webhooks', () => { }).toThrow(WebhookVerificationError) }) }) + + describe('provider specific tests', () => { + test('clerk', () => { + const body = + '{"data": {"abandon_at": 1648585920141, ' + + '"client_id": "client_25hz3vm5USqCG3a7jMXqdjzjJyK", ' + + '"created_at": 1645993920141, "expire_at": 1646598720141, ' + + '"id": "sess_25hz5CxFyrNJgDO1TY52LGPtM0e", ' + + '"last_active_at": 1645993920141, "object": "session", ' + + '"status": "active", "updated_at": 1645993920149, ' + + '"user_id": "user_25h1zRMh7owJp6us0Sqs3UXwW0y"}, ' + + '"object": "event", "type": "session.created"}' + + const event = buildEvent({ payload: body }) + + event.headers = { + 'svix-signature': 'v1,AaP4EgcpPC5oE3eppI/s6EMtQCZ4Ap34wNHPoxBoikI=', + 'svix-timestamp': '1646004463', + 'svix-id': 'msg_25hz5cPxRz5ilWSQSiYfgxpYHTH', + } + + const svix_id = event.headers['svix-id'] + const svix_timestamp = event.headers['svix-timestamp'] + + const payload = `${svix_id}.${svix_timestamp}.${event.body}` + const secret = 'whsec_MY_VOICE_IS_MY_PASSPORT_VERIFY_ME'.slice(6) + + expect( + verifyEvent('base64Sha256Verifier', { + event, + secret, + payload, + options: { + signatureHeader: 'svix-signature', + signatureTransformer: (signature: string) => { + // Clerk can pass a space separated list of signatures. + // Let's just use the first one that's of version 1 + const passedSignatures = signature.split(' ') + + for (const versionedSignature of passedSignatures) { + const [version, signature] = versionedSignature.split(',') + + if (version === 'v1') { + return signature + } + } + }, + }, + }) + ).toBeTruthy() + }) + }) }) }) From eef3fdf278af559fac7585178e59e1910a9142f5 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Tue, 1 Mar 2022 14:18:56 +0100 Subject: [PATCH 04/29] Tailwind: Generate prettier-approved code (#4541) --- .../cli/src/commands/setup/ui/libraries/tailwindcss.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/cli/src/commands/setup/ui/libraries/tailwindcss.js b/packages/cli/src/commands/setup/ui/libraries/tailwindcss.js index 418d858399c2..edd46bea77ec 100644 --- a/packages/cli/src/commands/setup/ui/libraries/tailwindcss.js +++ b/packages/cli/src/commands/setup/ui/libraries/tailwindcss.js @@ -30,9 +30,11 @@ export const builder = (yargs) => { } const tailwindImports = [ - '@import "tailwindcss/base";', - '@import "tailwindcss/components";', - '@import "tailwindcss/utilities";', + // using outer double quotes and inner single quotes here to generate code + // the way prettier wants it in the actual RW app where this will be used + "@import 'tailwindcss/base';", + "@import 'tailwindcss/components';", + "@import 'tailwindcss/utilities';", ] const tailwindImportsExist = (indexCSS) => From 6c5c8234dd6e6e005cf6a93943a1fad4f7350eaf Mon Sep 17 00:00:00 2001 From: Daniel Choudhury Date: Tue, 1 Mar 2022 22:54:28 +0700 Subject: [PATCH 05/29] fixi(prisma): Set default cwd for runCommand task to base (#4604) Co-authored-by: Aditya Pandey --- packages/cli/src/lib/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/index.js b/packages/cli/src/lib/index.js index b112acd0a072..fe589a16d605 100644 --- a/packages/cli/src/lib/index.js +++ b/packages/cli/src/lib/index.js @@ -425,12 +425,12 @@ export const removeRoutesFromRouterTask = (routes, layout) => { export const runCommandTask = async (commands, { verbose }) => { const tasks = new Listr( - commands.map(({ title, cmd, args, opts = {} }) => ({ + commands.map(({ title, cmd, args, opts = {}, cwd = getPaths().base }) => ({ title, task: async () => { return execa(cmd, args, { shell: true, - cwd: `${getPaths().base}/api`, + cwd, stdio: verbose ? 'inherit' : 'pipe', extendEnv: true, cleanup: true, From 8c3e68282c2236b245447679b6da3fbe28d6bee7 Mon Sep 17 00:00:00 2001 From: Tom Preston-Werner Date: Tue, 1 Mar 2022 09:49:08 -0800 Subject: [PATCH 06/29] Revamp Readme for 1.0. (#4398) Streamlined the Readme and made it more relevant to today's Redwood and the imminent 1.0 release. --- README.md | 149 ++++++++++++++++++++---------------------------------- 1 file changed, 54 insertions(+), 95 deletions(-) diff --git a/README.md b/README.md index 01539f086ba3..60a5616850c5 100644 --- a/README.md +++ b/README.md @@ -3,34 +3,49 @@

Redwood

-_by Tom Preston-Werner, Peter Pistorius, Rob Cameron, David Price, and more than two hundred amazing contributors (see end of file for a full list)._ - -**Redwood is an opinionated, full-stack, serverless-ready web application framework -that will allow you to build and deploy with ease.** -Imagine a React frontend, statically delivered by CDN, that talks via GraphQL to -your backend running on AWS Lambdas (or containers) around the world, all deployable with just a -`git push`β€”that's Redwood. By making a lot of decisions for you, Redwood lets -you get to work on what makes your application special, instead of wasting -cycles choosing and re-choosing various technologies and configurations. Plus, -because Redwood is a proper framework, you benefit from continued performance -and feature upgrades over time and with minimum effort. - -Redwood is the latest open source project initiated by Tom Preston-Werner, cofounder of GitHub (most popular code host on the planet), creator of Jekyll (one of the first and most popular static site generators), creator of Gravatar (the most popular avatar service on the planet), author of the Semantic Versioning specification (powers the Node packaging ecosystem), and inventor of TOML (an obvious, minimal configuration language used by many projects). - -> **NOTICE:** RedwoodJS is very close to a stable version 1.0. In the last two years, -> the project has matured significantly and is already used in production by a number -> of startups. We intend to have a 1.0 release candidate before the end of 2021 and -> to release a truly production-ready 1.0 in early 2022. - -> **TUTORIAL:** The best way to get to know Redwood is by going through the extensive -> [Redwood Tutorial](https://redwoodjs.com/tutorial). Have fun! - -> **QUICK START:** You can install and run a full-stack Redwood application on your -> machine with only a couple commands. Check out the [Quick Start](https://redwoodjs.com/docs/quick-start) -> guide to get started. - -**EXAMPLES:** If you'd like to see some examples of what a Redwood application looks -like, take a look at the following projects: +_by Tom Preston-Werner, Peter Pistorius, Rob Cameron, David Price, and more than +250 amazing contributors (see end of file for a full list)._ + +**Redwood is an opinionated, full-stack, JavaScript/TypeScript web application +framework designed to keep you moving fast as your app grows from side project +to startup.** + +At the highest level, a Redwood app is a React frontend that talks to a custom +GraphQL API. The API uses Prisma to operate on a database. Out of the box you +get tightly integrated testing with Jest, logging with Pino, and a UI component +catalog with Storybook. Setting up authentication (like Auth0) or CSS frameworks +(like Tailwind CSS) are a single command line invocation away. And to top it +off, Redwood's architecture allows you to deploy to either serverless providers +(e.g. Netlify, Vercel) or traditional server and container providers (e.g. AWS, +Render) with nearly no code changes between the two! + +By making a lot of decisions for you, Redwood lets you get to work on what makes +your application special, instead of wasting cycles choosing and re-choosing +various technologies and configurations. Plus, because Redwood is a proper +framework, you benefit from continued performance and feature upgrades over time +and with minimum effort. + +Redwood is the latest open source project initiated by Tom Preston-Werner, +cofounder of GitHub (most popular code host on the planet), creator of Jekyll +(one of the first and most popular static site generators), creator of Gravatar +(the most popular avatar service on the planet), author of the Semantic +Versioning specification (powers the Node packaging ecosystem), and inventor of +TOML (an obvious, minimal configuration language used by many projects). + +> **NOTICE:** RedwoodJS is very close to a stable version 1.0. In the last two +> years, the project has matured significantly and is already used in production +> by a number of VC-backed startups. We are currently in the release candidate +> phase and intend to release a final v1.0.0 in March of 2022. + +> **TUTORIAL:** The best way to get to know Redwood is by going through the +> extensive [Redwood Tutorial](https://redwoodjs.com/tutorial). Have fun! + +> **QUICK START:** You can install and run a full-stack Redwood application on +> your machine with only a couple commands. Check out the [Quick +> Start](https://redwoodjs.com/docs/quick-start) guide to get started. + +**EXAMPLES:** If you'd like to see some simple examples of what a Redwood +application looks like, take a look at the following projects: - [Todo](https://github.com/redwoodjs/example-todo) - [Blog](https://github.com/redwoodjs/example-blog) @@ -78,52 +93,12 @@ use: - API Server using [Fastify](https://www.fastify.io) for Serverful deploys - First-class Jamstack-style deployment to both serverless and traditional infrastructure: [Netlify](https://www.netlify.com/), [Vercel](https://vercel.com/), [Serverless](https://www.serverless.com/), [Render](https://render.com/), [Docker container](https://community.redwoodjs.com/t/dockerize-redwoodjs/2291) (for AWS, Google Cloud, Azure, etc.), and many more on the way! -## Roadmap - -We intend to have a 1.0 release candidate before the end of 2021 and to release a truly production-ready 1.0 in early 2022. -To see all the features we plan on including in Redwood's first major release, you can check out our [Roadmap](https://redwoodjs.com/roadmap). - -A framework like Redwood has a lot of moving parts; the Roadmap is a great way to get a high-level overview of where the framework is relative to where we want it to be. And since we link to all of our GitHub project boards, it's also a great way to get involved! - -## The Redwood philosophy - -Redwood believes that [Jamstack](https://jamstack.org/) architecture is a huge leap forward in how we can write web -applications that are easy to write, deploy, scale, and maintain. - -Redwood believes that there is power in standards, and makes decisions for you -about which technologies to use, how to organize your code into files, and how to -name things. With a shared understanding of the Redwood conventions, a developer -should be able to jump into any Redwood application and get up to speed very -quickly. - -Redwood believes that traditional, relational databases like PostgreSQL and -MySQL are still the workhorses of today's web applications and should be first-class -citizens. However, Redwood also shines with NoSQL databases like [FaunaDB](https://fauna.com/). - -Redwood believes that, as much as possible, you should be able to operate in a -serverless mindset and deploy to a generic computational grid. This helps unlock -the next point... - -Redwood believes that deployment and scaling should be super easy, whether deploying to serverless or traditional infrastructure. To deploy -your application, you should only need to commit and push to your Git -repository. To scale from zero to thousands of users should not require your -intervention. The principles of JAMstack and serverless make this possible. - -Redwood believes that it should be equally useful for writing both simple, toy -applications and complex, mission-critical applications. In addition, it should -require very little operational work to grow your app from the former to the -latter. - -Redwood believes that you can use JavaScript as your primary language on both -the frontend and backend. Using a single language simplifies everything -from code reuse to hiring developers. - ## How it works A Redwood application is split into two parts: a frontend and a backend. This is -represented as two node projects within a single monorepo. We use [Yarn](https://yarnpkg.com/) to make -it easy to operate across both projects while keeping them in a single -Git repository. +represented as two JS/TS projects within a single monorepo. We use +[Yarn](https://yarnpkg.com/) to make it easy to operate across both projects +while keeping them in a single Git repository. The frontend project is called `web` and the backend project is called `api`. For clarity, we will refer to these in prose as "sides", i.e. the "web side" and @@ -156,32 +131,16 @@ because Redwood conceives of a world where you may have other sides like "mobile", "desktop", "cli", etc., all consuming the same GraphQL API and living in the same monorepo. -## How can it be serverless if it involves a GraphQL API and database? - -I'm glad you asked! Currently, Redwood can deploy your GraphQL API to a Lambda -function. This is not appropriate for all use cases, but on hosting providers -like Netlify, it makes deployment a breeze. As time goes on, "functions" will -continue to enjoy performance improvements which will further increase the -number of use cases that can take advantage of this technology. - -Databases are a little trickier, especially the traditional relational ones -like PostgreSQL and MySQL. Right now, you still need to set these up manually, -but we are working hard with Netlify and other providers to fulfill the -serverless dream here too. - -Redwood is intentionally pushing the boundaries of what's possible with -JAMstack. In fact, the whole reason I (Tom) started working on Redwood is -because of a tweet I posted some time ago: - -> Prediction: within 5 years, you’ll build your next large scale, fully featured -> web app with #JAMstack and deploy on @Netlify. -> [β€”@mojombo β€’ 9 July 2018](https://twitter.com/mojombo/status/1016506622477135872) +## Roadmap -I kept waiting for a high quality full-stack framework to arrive, but it didn't, -so I decided to take matters into my own hands. And that's why Redwood exists. +We intend to release a truly production-ready 1.0 in early 2022. To see all the +features we plan on including in Redwood's first major release, you can check +out our [Roadmap](https://redwoodjs.com/roadmap). -If you are like minded, then I hope you'll join me in helping build Redwood and -hasten the arrival of the future I predicted! +A framework like Redwood has a lot of moving parts; the Roadmap is a great way +to get a high-level overview of where the framework is relative to where we want +it to be. And since we link to all of our GitHub project boards, it's also a +great way to get involved! ## Why is it called Redwood? From 80daad50d094157a2ebdcb0ba6cacbe7cd15c134 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 19:07:41 +0000 Subject: [PATCH 07/29] Update dependency @clerk/types to v1.26.0 (#4607) Co-authored-by: Renovate Bot --- packages/auth/package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index ea945378d3bf..5e329b3c338b 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,7 +28,7 @@ "@babel/core": "7.16.7", "@clerk/clerk-js": "2.14.3", "@clerk/clerk-sdk-node": "2.9.4", - "@clerk/types": "1.25.4", + "@clerk/types": "1.26.0", "@supabase/supabase-js": "1.30.7", "@types/netlify-identity-widget": "1.9.3", "@types/react": "17.0.39", diff --git a/yarn.lock b/yarn.lock index 5bf2874ce008..06db7f6dd228 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2033,10 +2033,10 @@ __metadata: languageName: node linkType: hard -"@clerk/types@npm:1.25.4, @clerk/types@npm:^1.25.4": - version: 1.25.4 - resolution: "@clerk/types@npm:1.25.4" - checksum: d6f5febb9c669299b9c56de334181af92e99381f02b89a77dd0f85aae7bef87468fe47eb7d30eeebf666e24fed1b54b9d8853d7ad5982ed0aa0aa30b3364b612 +"@clerk/types@npm:1.26.0, @clerk/types@npm:^1.25.4": + version: 1.26.0 + resolution: "@clerk/types@npm:1.26.0" + checksum: e502ac845bb36c1bd7e337e82fb62ef564bba27c023c9ee25eee32b42ebf18514fe2c1cf942898b2f001ff38a38a71061dbde3137392cd9bac089a1b7d1d930a languageName: node linkType: hard @@ -5757,7 +5757,7 @@ __metadata: "@babel/core": 7.16.7 "@clerk/clerk-js": 2.14.3 "@clerk/clerk-sdk-node": 2.9.4 - "@clerk/types": 1.25.4 + "@clerk/types": 1.26.0 "@supabase/supabase-js": 1.30.7 "@types/netlify-identity-widget": 1.9.3 "@types/react": 17.0.39 From 090452f95e5c74624916c18166bd3c0c29749542 Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 11:54:59 -0800 Subject: [PATCH 08/29] remove --schema from rw prisma migrate diff (#4590) --- packages/cli/src/commands/prisma.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/commands/prisma.js b/packages/cli/src/commands/prisma.js index ce399701f121..3a58492b6b9d 100644 --- a/packages/cli/src/commands/prisma.js +++ b/packages/cli/src/commands/prisma.js @@ -57,7 +57,7 @@ export const handler = async ({ _, $0, commands = [], ...options }) => { } options.schema = `"${rwjsPaths.api.dbSchema}"` - if (commands[1] === 'seed') { + if (['seed', 'diff'].includes(commands[1])) { delete options.schema } } From 7e3f9cc2f0ad5928e7531fa6319ad7e7ff335de3 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 11:56:15 -0800 Subject: [PATCH 09/29] Update dependency @apollo/client to v3.5.10 (#4609) Co-authored-by: Renovate Bot Co-authored-by: David Price --- packages/web/package.json | 2 +- yarn.lock | 13 ++++++++----- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/packages/web/package.json b/packages/web/package.json index c6f7c83908df..2658f6aeddd1 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -25,7 +25,7 @@ "test:watch": "yarn test --watch" }, "dependencies": { - "@apollo/client": "3.5.9", + "@apollo/client": "3.5.10", "@babel/runtime-corejs3": "7.16.7", "@redwoodjs/auth": "0.47.0", "graphql": "16.3.0", diff --git a/yarn.lock b/yarn.lock index 06db7f6dd228..344eac07a82e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -48,9 +48,9 @@ __metadata: languageName: node linkType: hard -"@apollo/client@npm:3.5.9": - version: 3.5.9 - resolution: "@apollo/client@npm:3.5.9" +"@apollo/client@npm:3.5.10": + version: 3.5.10 + resolution: "@apollo/client@npm:3.5.10" dependencies: "@graphql-typed-document-node/core": ^3.0.0 "@wry/context": ^0.6.0 @@ -66,14 +66,17 @@ __metadata: zen-observable-ts: ^1.2.0 peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + graphql-ws: ^5.5.5 react: ^16.8.0 || ^17.0.0 subscriptions-transport-ws: ^0.9.0 || ^0.11.0 peerDependenciesMeta: + graphql-ws: + optional: true react: optional: true subscriptions-transport-ws: optional: true - checksum: 2cf9c2b6addce389cb599e3e15fe069838750b0a96d4ea99dc7946790fc893e06e456bad2f8b27e2a247103457ff9ad88028a6d034f8bb3c99043368fefe9852 + checksum: 0e75bc04fb36a1f173c22841e2182f8a9443cdd56bccf12434309ec7fe279cfaee183ed3265fe4c0a4cb8ec9746defed72beb51ced28d890c32286bd5fdf9202 languageName: node linkType: hard @@ -6217,7 +6220,7 @@ __metadata: version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: - "@apollo/client": 3.5.9 + "@apollo/client": 3.5.10 "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 From a1225160de4fa7f6239e8c889a12447967bfca09 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 11:56:54 -0800 Subject: [PATCH 10/29] Update actions/checkout action to v3 (#4610) Co-authored-by: Renovate Bot Co-authored-by: David Price --- .github/workflows/build-eslint-jest.yaml | 2 +- .github/workflows/codeql-analysis.yml | 2 +- .github/workflows/create-pr-artifact.yaml | 2 +- .github/workflows/e2e.yaml | 2 +- .github/workflows/publish-npm-canary.yaml | 2 +- .github/workflows/publish-npm-rc.yaml | 2 +- .github/workflows/smoke-test.yaml | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build-eslint-jest.yaml b/.github/workflows/build-eslint-jest.yaml index 9c741502342e..8f5164888634 100644 --- a/.github/workflows/build-eslint-jest.yaml +++ b/.github/workflows/build-eslint-jest.yaml @@ -14,7 +14,7 @@ jobs: runs-on: ${{ matrix.os }} name: ${{ matrix.os }} | Node ${{ matrix.node-version }} latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3de4dee94318..c01e7b9c7f39 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -35,7 +35,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v2 + uses: actions/checkout@v3 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/create-pr-artifact.yaml b/.github/workflows/create-pr-artifact.yaml index ef9724c51c6a..6e6e4e874c3e 100644 --- a/.github/workflows/create-pr-artifact.yaml +++ b/.github/workflows/create-pr-artifact.yaml @@ -13,7 +13,7 @@ jobs: steps: - name: Checkout PR - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index c73359e10d56..0f939d7b67e7 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -16,7 +16,7 @@ jobs: name: ${{ matrix.os }} | Node ${{ matrix.node-version }} latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 diff --git a/.github/workflows/publish-npm-canary.yaml b/.github/workflows/publish-npm-canary.yaml index 56a601e50d05..9befe7e33949 100644 --- a/.github/workflows/publish-npm-canary.yaml +++ b/.github/workflows/publish-npm-canary.yaml @@ -11,7 +11,7 @@ jobs: if: github.repository == 'redwoodjs/redwood' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 # Required because lerna uses tags to determine the version. - name: Setup node diff --git a/.github/workflows/publish-npm-rc.yaml b/.github/workflows/publish-npm-rc.yaml index 773b2e6833f7..ec552cb82df9 100644 --- a/.github/workflows/publish-npm-rc.yaml +++ b/.github/workflows/publish-npm-rc.yaml @@ -11,7 +11,7 @@ jobs: if: github.repository == 'redwoodjs/redwood' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: fetch-depth: 0 # Required because lerna uses tags to determine the version. diff --git a/.github/workflows/smoke-test.yaml b/.github/workflows/smoke-test.yaml index 8074d42849a1..b9d0076c5a18 100644 --- a/.github/workflows/smoke-test.yaml +++ b/.github/workflows/smoke-test.yaml @@ -21,7 +21,7 @@ jobs: PLAYWRIGHT_BROWSERS_PATH: 0 # this makes sure that playwright dependencies are cached in node_modules steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup node uses: actions/setup-node@v3 From fbb0c924635126bca81f5f82aa3f2f0b9857f795 Mon Sep 17 00:00:00 2001 From: Daniel Choudhury Date: Tue, 1 Mar 2022 22:54:28 +0700 Subject: [PATCH 11/29] fixi(prisma): Set default cwd for runCommand task to base (#4604) Co-authored-by: Aditya Pandey --- packages/cli/src/lib/index.js | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/cli/src/lib/index.js b/packages/cli/src/lib/index.js index b112acd0a072..fe589a16d605 100644 --- a/packages/cli/src/lib/index.js +++ b/packages/cli/src/lib/index.js @@ -425,12 +425,12 @@ export const removeRoutesFromRouterTask = (routes, layout) => { export const runCommandTask = async (commands, { verbose }) => { const tasks = new Listr( - commands.map(({ title, cmd, args, opts = {} }) => ({ + commands.map(({ title, cmd, args, opts = {}, cwd = getPaths().base }) => ({ title, task: async () => { return execa(cmd, args, { shell: true, - cwd: `${getPaths().base}/api`, + cwd, stdio: verbose ? 'inherit' : 'pipe', extendEnv: true, cleanup: true, From 6c35054f4d0000918eee790f22d9811a953ae318 Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 12:30:29 -0800 Subject: [PATCH 12/29] update yarn.lock --- yarn.lock | 88 +++++++++++++++++++++++++++---------------------------- 1 file changed, 44 insertions(+), 44 deletions(-) diff --git a/yarn.lock b/yarn.lock index fff9bd65a19c..13b915a89ebb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5645,7 +5645,7 @@ __metadata: languageName: node linkType: hard -"@redwoodjs/api-server@0.46.1, @redwoodjs/api-server@workspace:packages/api-server": +"@redwoodjs/api-server@0.47.0, @redwoodjs/api-server@workspace:packages/api-server": version: 0.0.0-use.local resolution: "@redwoodjs/api-server@workspace:packages/api-server" dependencies: @@ -5683,7 +5683,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/api@0.46.1, @redwoodjs/api@workspace:packages/api": +"@redwoodjs/api@0.47.0, @redwoodjs/api@workspace:packages/api": version: 0.0.0-use.local resolution: "@redwoodjs/api@workspace:packages/api" dependencies: @@ -5691,7 +5691,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@prisma/client": 3.9.2 - "@redwoodjs/auth": 0.46.1 + "@redwoodjs/auth": 0.47.0 "@types/crypto-js": 4.1.1 "@types/jsonwebtoken": 8.5.8 "@types/md5": 2.3.2 @@ -5722,7 +5722,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/auth@0.46.1, @redwoodjs/auth@workspace:packages/auth": +"@redwoodjs/auth@0.47.0, @redwoodjs/auth@workspace:packages/auth": version: 0.0.0-use.local resolution: "@redwoodjs/auth@workspace:packages/auth" dependencies: @@ -5749,18 +5749,18 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/cli@0.46.1, @redwoodjs/cli@workspace:packages/cli": +"@redwoodjs/cli@0.47.0, @redwoodjs/cli@workspace:packages/cli": version: 0.0.0-use.local resolution: "@redwoodjs/cli@workspace:packages/cli" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.9.2 - "@redwoodjs/api-server": 0.46.1 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/prerender": 0.46.1 - "@redwoodjs/structure": 0.46.1 - "@redwoodjs/telemetry": 0.46.1 + "@redwoodjs/api-server": 0.47.0 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/prerender": 0.47.0 + "@redwoodjs/structure": 0.47.0 + "@redwoodjs/telemetry": 0.47.0 "@types/listr": 0.14.4 "@types/node-fetch": 2.5.12 boxen: 5.1.2 @@ -5849,10 +5849,10 @@ __metadata: "@babel/preset-typescript": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@pmmmwh/react-refresh-webpack-plugin": 0.5.4 - "@redwoodjs/cli": 0.46.1 - "@redwoodjs/eslint-config": 0.46.1 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/testing": 0.46.1 + "@redwoodjs/cli": 0.47.0 + "@redwoodjs/eslint-config": 0.47.0 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/testing": 0.47.0 babel-loader: 8.2.3 babel-plugin-auto-import: 1.1.0 babel-plugin-graphql-tag: 3.3.0 @@ -5890,7 +5890,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/eslint-config@0.46.1, @redwoodjs/eslint-config@workspace:packages/eslint-config": +"@redwoodjs/eslint-config@0.47.0, @redwoodjs/eslint-config@workspace:packages/eslint-config": version: 0.0.0-use.local resolution: "@redwoodjs/eslint-config@workspace:packages/eslint-config" dependencies: @@ -5898,7 +5898,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/eslint-parser": 7.16.5 "@babel/eslint-plugin": 7.16.5 - "@redwoodjs/internal": 0.46.1 + "@redwoodjs/internal": 0.47.0 "@typescript-eslint/eslint-plugin": 5.12.1 "@typescript-eslint/parser": 5.12.1 eslint: 8.9.0 @@ -5945,7 +5945,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/graphql-server@0.46.1, @redwoodjs/graphql-server@workspace:packages/graphql-server": +"@redwoodjs/graphql-server@0.47.0, @redwoodjs/graphql-server@workspace:packages/graphql-server": version: 0.0.0-use.local resolution: "@redwoodjs/graphql-server@workspace:packages/graphql-server" dependencies: @@ -5963,8 +5963,8 @@ __metadata: "@graphql-tools/schema": 8.3.1 "@graphql-tools/utils": 8.6.1 "@prisma/client": 3.9.2 - "@redwoodjs/api": 0.46.1 - "@redwoodjs/auth": 0.46.1 + "@redwoodjs/api": 0.47.0 + "@redwoodjs/auth": 0.47.0 "@types/lodash.merge": 4.6.6 "@types/lodash.omitby": 4.6.6 "@types/uuid": 8.3.4 @@ -5984,7 +5984,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/internal@0.46.1, @redwoodjs/internal@workspace:packages/internal": +"@redwoodjs/internal@0.47.0, @redwoodjs/internal@workspace:packages/internal": version: 0.0.0-use.local resolution: "@redwoodjs/internal@workspace:packages/internal" dependencies: @@ -6002,7 +6002,7 @@ __metadata: "@graphql-codegen/typescript-operations": 2.3.2 "@graphql-codegen/typescript-react-apollo": 3.2.8 "@graphql-codegen/typescript-resolvers": 2.5.2 - "@redwoodjs/graphql-server": 0.46.1 + "@redwoodjs/graphql-server": 0.47.0 "@types/babel-plugin-tester": 9.0.4 "@types/babel__core": 7.1.18 "@types/findup-sync": 4.0.2 @@ -6035,17 +6035,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/prerender@0.46.1, @redwoodjs/prerender@workspace:packages/prerender": +"@redwoodjs/prerender@0.47.0, @redwoodjs/prerender@workspace:packages/prerender": version: 0.0.0-use.local resolution: "@redwoodjs/prerender@workspace:packages/prerender" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.46.1 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/router": 0.46.1 - "@redwoodjs/structure": 0.46.1 - "@redwoodjs/web": 0.46.1 + "@redwoodjs/auth": 0.47.0 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/router": 0.47.0 + "@redwoodjs/structure": 0.47.0 + "@redwoodjs/web": 0.47.0 "@types/mime-types": 2.1.1 babel-plugin-ignore-html-and-css-imports: 0.1.0 babel-plugin-tester: 10.1.0 @@ -6073,14 +6073,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/router@0.46.1, @redwoodjs/router@workspace:packages/router": +"@redwoodjs/router@0.47.0, @redwoodjs/router@workspace:packages/router": version: 0.0.0-use.local resolution: "@redwoodjs/router@workspace:packages/router" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@reach/skip-nav": 0.16.0 - "@redwoodjs/auth": 0.46.1 + "@redwoodjs/auth": 0.47.0 "@types/lodash.isequal": 4.5.5 core-js: 3.21.1 jest: 27.5.1 @@ -6092,14 +6092,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/structure@0.46.1, @redwoodjs/structure@workspace:packages/structure": +"@redwoodjs/structure@0.47.0, @redwoodjs/structure@workspace:packages/structure": version: 0.0.0-use.local resolution: "@redwoodjs/structure@workspace:packages/structure" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.9.2 - "@redwoodjs/internal": 0.46.1 + "@redwoodjs/internal": 0.47.0 "@types/fs-extra": 9.0.13 "@types/line-column": 1.0.0 "@types/lodash": 4.14.178 @@ -6129,15 +6129,15 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/telemetry@0.46.1, @redwoodjs/telemetry@workspace:packages/telemetry": +"@redwoodjs/telemetry@0.47.0, @redwoodjs/telemetry@workspace:packages/telemetry": version: 0.0.0-use.local resolution: "@redwoodjs/telemetry@workspace:packages/telemetry" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/structure": 0.46.1 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/structure": 0.47.0 "@types/envinfo": 7.8.1 "@types/node-fetch": 2.5.12 "@types/uuid": 8.3.4 @@ -6152,17 +6152,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/testing@0.46.1, @redwoodjs/testing@workspace:packages/testing": +"@redwoodjs/testing@0.47.0, @redwoodjs/testing@workspace:packages/testing": version: 0.0.0-use.local resolution: "@redwoodjs/testing@workspace:packages/testing" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.46.1 - "@redwoodjs/graphql-server": 0.46.1 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/router": 0.46.1 - "@redwoodjs/web": 0.46.1 + "@redwoodjs/auth": 0.47.0 + "@redwoodjs/graphql-server": 0.47.0 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/router": 0.47.0 + "@redwoodjs/web": 0.47.0 "@storybook/addon-a11y": 6.4.19 "@storybook/builder-webpack5": 6.4.19 "@storybook/manager-webpack5": 6.4.19 @@ -6188,7 +6188,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/web@0.46.1, @redwoodjs/web@workspace:packages/web": +"@redwoodjs/web@0.47.0, @redwoodjs/web@workspace:packages/web": version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: @@ -6196,7 +6196,7 @@ __metadata: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 0.46.1 + "@redwoodjs/auth": 0.47.0 "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@types/react": 17.0.39 @@ -12617,8 +12617,8 @@ __metadata: "@babel/core": 7.16.7 "@babel/node": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.46.1 - "@redwoodjs/telemetry": 0.46.1 + "@redwoodjs/internal": 0.47.0 + "@redwoodjs/telemetry": 0.47.0 chalk: 4.1.2 check-node-version: 4.2.1 execa: 5.1.1 From 3e3536768813b8473c24fe0847836e5a539c0192 Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 12:36:34 -0800 Subject: [PATCH 13/29] v0.47.1 --- __fixtures__/test-project/api/package.json | 4 +- __fixtures__/test-project/package.json | 2 +- __fixtures__/test-project/web/package.json | 16 +-- lerna.json | 2 +- packages/api-server/package.json | 2 +- packages/api/package.json | 4 +- packages/auth/package.json | 2 +- packages/cli/package.json | 12 +- packages/codemods/package.json | 2 +- packages/core/package.json | 10 +- packages/create-redwood-app/package.json | 6 +- .../template/api/package.json | 4 +- .../create-redwood-app/template/package.json | 2 +- .../template/web/package.json | 6 +- packages/eslint-config/package.json | 4 +- packages/forms/package.json | 2 +- packages/graphql-server/package.json | 6 +- packages/internal/package.json | 4 +- packages/prerender/package.json | 12 +- packages/record/package.json | 2 +- packages/router/package.json | 4 +- packages/structure/package.json | 4 +- packages/telemetry/package.json | 8 +- packages/testing/package.json | 12 +- packages/web/package.json | 4 +- yarn.lock | 104 +++++++++--------- 26 files changed, 120 insertions(+), 120 deletions(-) diff --git a/__fixtures__/test-project/api/package.json b/__fixtures__/test-project/api/package.json index 64d58a0e6bf8..125e7bc7cb63 100644 --- a/__fixtures__/test-project/api/package.json +++ b/__fixtures__/test-project/api/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "dependencies": { - "@redwoodjs/api": "0.47.0", - "@redwoodjs/graphql-server": "0.47.0" + "@redwoodjs/api": "0.47.1", + "@redwoodjs/graphql-server": "0.47.1" } } diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index 80a3c8efd745..05aca6659ac0 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -8,7 +8,7 @@ ] }, "devDependencies": { - "@redwoodjs/core": "0.47.0" + "@redwoodjs/core": "0.47.1" }, "eslintConfig": { "extends": "@redwoodjs/eslint-config", diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index 47fde1220154..63819f9128ac 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -13,18 +13,18 @@ ] }, "dependencies": { - "@redwoodjs/auth": "0.47.0", - "@redwoodjs/forms": "0.47.0", - "@redwoodjs/router": "0.47.0", - "@redwoodjs/web": "0.47.0", + "@redwoodjs/auth": "0.47.1", + "@redwoodjs/forms": "0.47.1", + "@redwoodjs/router": "0.47.1", + "@redwoodjs/web": "0.47.1", "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2" }, "devDependencies": { - "autoprefixer": "^10.4.2", - "postcss": "^8.4.6", - "postcss-loader": "^6.2.1", - "tailwindcss": "^3.0.23" + "autoprefixer": "10.4.2", + "postcss": "8.4.6", + "postcss-loader": "6.2.1", + "tailwindcss": "3.0.23" } } diff --git a/lerna.json b/lerna.json index eb3367d55e31..21eef8060c8a 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "0.47.0", + "version": "0.47.1", "npmClient": "yarn", "useWorkspaces": true, "command": { diff --git a/packages/api-server/package.json b/packages/api-server/package.json index 02abb337453f..028f7a0b729c 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/api-server", - "version": "0.47.0", + "version": "0.47.1", "description": "Redwood's HTTP server for Serverless Functions", "repository": { "type": "git", diff --git a/packages/api/package.json b/packages/api/package.json index 0d3e32a572a5..3d546654f24f 100644 --- a/packages/api/package.json +++ b/packages/api/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/api", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -37,7 +37,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@redwoodjs/auth": "0.47.0", + "@redwoodjs/auth": "0.47.1", "@types/crypto-js": "4.1.1", "@types/jsonwebtoken": "8.5.8", "@types/md5": "2.3.2", diff --git a/packages/auth/package.json b/packages/auth/package.json index a168f64761f7..079f9dffc962 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/auth", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", diff --git a/packages/cli/package.json b/packages/cli/package.json index 35f720702963..c2044ba32625 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/cli", - "version": "0.47.0", + "version": "0.47.1", "description": "The Redwood Command Line", "repository": { "type": "git", @@ -29,11 +29,11 @@ }, "dependencies": { "@prisma/sdk": "3.9.2", - "@redwoodjs/api-server": "0.47.0", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/prerender": "0.47.0", - "@redwoodjs/structure": "0.47.0", - "@redwoodjs/telemetry": "0.47.0", + "@redwoodjs/api-server": "0.47.1", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/prerender": "0.47.1", + "@redwoodjs/structure": "0.47.1", + "@redwoodjs/telemetry": "0.47.1", "boxen": "5.1.2", "camelcase": "6.3.0", "chalk": "4.1.2", diff --git a/packages/codemods/package.json b/packages/codemods/package.json index 96e4cebd2efc..2b859ba54fc5 100644 --- a/packages/codemods/package.json +++ b/packages/codemods/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/codemods", - "version": "0.47.0", + "version": "0.47.1", "description": "Codemods to ease upgrading a RedwoodJS Project", "repository": { "type": "git", diff --git a/packages/core/package.json b/packages/core/package.json index b5d036d79b0d..9a2f8ea98ed3 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/core", - "version": "0.47.0", + "version": "0.47.1", "description": "Foundational packages and config required to build RedwoodJS.", "repository": { "type": "git", @@ -26,10 +26,10 @@ "@babel/preset-typescript": "7.16.7", "@babel/runtime-corejs3": "7.16.7", "@pmmmwh/react-refresh-webpack-plugin": "0.5.4", - "@redwoodjs/cli": "0.47.0", - "@redwoodjs/eslint-config": "0.47.0", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/testing": "0.47.0", + "@redwoodjs/cli": "0.47.1", + "@redwoodjs/eslint-config": "0.47.1", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/testing": "0.47.1", "babel-loader": "8.2.3", "babel-plugin-auto-import": "1.1.0", "babel-plugin-graphql-tag": "3.3.0", diff --git a/packages/create-redwood-app/package.json b/packages/create-redwood-app/package.json index 568ad6f7edee..df5fca893586 100644 --- a/packages/create-redwood-app/package.json +++ b/packages/create-redwood-app/package.json @@ -1,6 +1,6 @@ { "name": "create-redwood-app", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -24,8 +24,8 @@ "@babel/core": "7.16.7", "@babel/node": "7.16.7", "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/telemetry": "0.47.0", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/telemetry": "0.47.1", "chalk": "4.1.2", "check-node-version": "4.2.1", "execa": "5.1.1", diff --git a/packages/create-redwood-app/template/api/package.json b/packages/create-redwood-app/template/api/package.json index 64d58a0e6bf8..125e7bc7cb63 100644 --- a/packages/create-redwood-app/template/api/package.json +++ b/packages/create-redwood-app/template/api/package.json @@ -3,7 +3,7 @@ "version": "0.0.0", "private": true, "dependencies": { - "@redwoodjs/api": "0.47.0", - "@redwoodjs/graphql-server": "0.47.0" + "@redwoodjs/api": "0.47.1", + "@redwoodjs/graphql-server": "0.47.1" } } diff --git a/packages/create-redwood-app/template/package.json b/packages/create-redwood-app/template/package.json index 73f2e6ba0517..3dc5edb5564e 100644 --- a/packages/create-redwood-app/template/package.json +++ b/packages/create-redwood-app/template/package.json @@ -8,7 +8,7 @@ ] }, "devDependencies": { - "@redwoodjs/core": "0.47.0" + "@redwoodjs/core": "0.47.1" }, "eslintConfig": { "extends": "@redwoodjs/eslint-config", diff --git a/packages/create-redwood-app/template/web/package.json b/packages/create-redwood-app/template/web/package.json index cb76a120474c..f9e8dc64380f 100644 --- a/packages/create-redwood-app/template/web/package.json +++ b/packages/create-redwood-app/template/web/package.json @@ -13,9 +13,9 @@ ] }, "dependencies": { - "@redwoodjs/forms": "0.47.0", - "@redwoodjs/router": "0.47.0", - "@redwoodjs/web": "0.47.0", + "@redwoodjs/forms": "0.47.1", + "@redwoodjs/router": "0.47.1", + "@redwoodjs/web": "0.47.1", "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2" diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 3c63d61ab7df..eb29a787254e 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/eslint-config", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -15,7 +15,7 @@ "@babel/core": "7.16.7", "@babel/eslint-parser": "7.16.5", "@babel/eslint-plugin": "7.16.5", - "@redwoodjs/internal": "0.47.0", + "@redwoodjs/internal": "0.47.1", "@typescript-eslint/eslint-plugin": "5.12.1", "@typescript-eslint/parser": "5.12.1", "eslint": "8.9.0", diff --git a/packages/forms/package.json b/packages/forms/package.json index dd81c3fdb84e..20f3c11ef1c8 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/forms", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", diff --git a/packages/graphql-server/package.json b/packages/graphql-server/package.json index 298085cfa2cd..63a661659081 100644 --- a/packages/graphql-server/package.json +++ b/packages/graphql-server/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/graphql-server", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -32,7 +32,7 @@ "@graphql-tools/schema": "8.3.1", "@graphql-tools/utils": "8.6.1", "@prisma/client": "3.9.2", - "@redwoodjs/api": "0.47.0", + "@redwoodjs/api": "0.47.1", "core-js": "3.21.1", "graphql": "16.3.0", "graphql-helix": "1.11.0", @@ -49,7 +49,7 @@ "@babel/core": "7.16.7", "@envelop/testing": "4.0.0", "@envelop/types": "2.0.0", - "@redwoodjs/auth": "0.47.0", + "@redwoodjs/auth": "0.47.1", "@types/lodash.merge": "4.6.6", "@types/lodash.omitby": "4.6.6", "@types/uuid": "8.3.4", diff --git a/packages/internal/package.json b/packages/internal/package.json index a2b790af6499..dd87426e5544 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/internal", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -46,7 +46,7 @@ "@graphql-codegen/typescript-operations": "2.3.2", "@graphql-codegen/typescript-react-apollo": "3.2.8", "@graphql-codegen/typescript-resolvers": "2.5.2", - "@redwoodjs/graphql-server": "0.47.0", + "@redwoodjs/graphql-server": "0.47.1", "babel-plugin-graphql-tag": "3.3.0", "babel-plugin-polyfill-corejs3": "0.5.0", "chalk": "4.1.2", diff --git a/packages/prerender/package.json b/packages/prerender/package.json index e7ea475ac631..d975ca73d46c 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/prerender", - "version": "0.47.0", + "version": "0.47.1", "description": "RedwoodJS prerender", "repository": { "type": "git", @@ -24,11 +24,11 @@ "test:watch": "yarn test --watch" }, "dependencies": { - "@redwoodjs/auth": "0.47.0", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/router": "0.47.0", - "@redwoodjs/structure": "0.47.0", - "@redwoodjs/web": "0.47.0", + "@redwoodjs/auth": "0.47.1", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/router": "0.47.1", + "@redwoodjs/structure": "0.47.1", + "@redwoodjs/web": "0.47.1", "babel-plugin-ignore-html-and-css-imports": "0.1.0", "cheerio": "1.0.0-rc.10", "mime-types": "2.1.34", diff --git a/packages/record/package.json b/packages/record/package.json index 8f4ecd29d485..cdbeec30dd28 100644 --- a/packages/record/package.json +++ b/packages/record/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/record", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", diff --git a/packages/router/package.json b/packages/router/package.json index d0b043e76cef..4b6de62d7d0c 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/router", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -23,7 +23,7 @@ }, "dependencies": { "@reach/skip-nav": "0.16.0", - "@redwoodjs/auth": "0.47.0", + "@redwoodjs/auth": "0.47.1", "core-js": "3.21.1", "lodash.isequal": "4.5.0" }, diff --git a/packages/structure/package.json b/packages/structure/package.json index 4335e86af1ce..6af593dba090 100644 --- a/packages/structure/package.json +++ b/packages/structure/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/structure", - "version": "0.47.0", + "version": "0.47.1", "description": "noun: the arrangement of and relations between the parts or elements of something complex", "repository": { "type": "git", @@ -31,7 +31,7 @@ }, "dependencies": { "@prisma/sdk": "3.9.2", - "@redwoodjs/internal": "0.47.0", + "@redwoodjs/internal": "0.47.1", "@types/line-column": "1.0.0", "camelcase": "6.3.0", "deepmerge": "4.2.2", diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index cef9a3f303e3..7383f317181e 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/telemetry", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -27,9 +27,9 @@ }, "dependencies": { "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/structure": "0.47.0", - "ci-info": "^3.3.0", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/structure": "0.47.1", + "ci-info": "3.3.0", "envinfo": "7.8.1", "node-fetch": "2.6.7", "systeminformation": "5.11.4", diff --git a/packages/testing/package.json b/packages/testing/package.json index 5a99965c9bdd..8549af1eece1 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/testing", - "version": "0.47.0", + "version": "0.47.1", "description": "Tools, wrappers and configuration for testing a Redwood project.", "repository": { "type": "git", @@ -26,11 +26,11 @@ "test:watch": "yarn test --watch" }, "dependencies": { - "@redwoodjs/auth": "0.47.0", - "@redwoodjs/graphql-server": "0.47.0", - "@redwoodjs/internal": "0.47.0", - "@redwoodjs/router": "0.47.0", - "@redwoodjs/web": "0.47.0", + "@redwoodjs/auth": "0.47.1", + "@redwoodjs/graphql-server": "0.47.1", + "@redwoodjs/internal": "0.47.1", + "@redwoodjs/router": "0.47.1", + "@redwoodjs/web": "0.47.1", "@storybook/addon-a11y": "6.4.19", "@storybook/builder-webpack5": "6.4.19", "@storybook/manager-webpack5": "6.4.19", diff --git a/packages/web/package.json b/packages/web/package.json index 8a62ec4cf4f1..620cd38c4aa6 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -1,6 +1,6 @@ { "name": "@redwoodjs/web", - "version": "0.47.0", + "version": "0.47.1", "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", @@ -27,7 +27,7 @@ "dependencies": { "@apollo/client": "3.5.9", "@babel/runtime-corejs3": "7.16.7", - "@redwoodjs/auth": "0.47.0", + "@redwoodjs/auth": "0.47.1", "graphql": "16.3.0", "graphql-tag": "2.12.6", "react-helmet-async": "1.2.3", diff --git a/yarn.lock b/yarn.lock index 13b915a89ebb..f753df330074 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5645,7 +5645,7 @@ __metadata: languageName: node linkType: hard -"@redwoodjs/api-server@0.47.0, @redwoodjs/api-server@workspace:packages/api-server": +"@redwoodjs/api-server@0.47.1, @redwoodjs/api-server@workspace:packages/api-server": version: 0.0.0-use.local resolution: "@redwoodjs/api-server@workspace:packages/api-server" dependencies: @@ -5683,7 +5683,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/api@0.47.0, @redwoodjs/api@workspace:packages/api": +"@redwoodjs/api@0.47.1, @redwoodjs/api@workspace:packages/api": version: 0.0.0-use.local resolution: "@redwoodjs/api@workspace:packages/api" dependencies: @@ -5691,7 +5691,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@prisma/client": 3.9.2 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@types/crypto-js": 4.1.1 "@types/jsonwebtoken": 8.5.8 "@types/md5": 2.3.2 @@ -5722,7 +5722,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/auth@0.47.0, @redwoodjs/auth@workspace:packages/auth": +"@redwoodjs/auth@0.47.1, @redwoodjs/auth@workspace:packages/auth": version: 0.0.0-use.local resolution: "@redwoodjs/auth@workspace:packages/auth" dependencies: @@ -5749,18 +5749,18 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/cli@0.47.0, @redwoodjs/cli@workspace:packages/cli": +"@redwoodjs/cli@0.47.1, @redwoodjs/cli@workspace:packages/cli": version: 0.0.0-use.local resolution: "@redwoodjs/cli@workspace:packages/cli" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.9.2 - "@redwoodjs/api-server": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/prerender": 0.47.0 - "@redwoodjs/structure": 0.47.0 - "@redwoodjs/telemetry": 0.47.0 + "@redwoodjs/api-server": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/prerender": 0.47.1 + "@redwoodjs/structure": 0.47.1 + "@redwoodjs/telemetry": 0.47.1 "@types/listr": 0.14.4 "@types/node-fetch": 2.5.12 boxen: 5.1.2 @@ -5849,10 +5849,10 @@ __metadata: "@babel/preset-typescript": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@pmmmwh/react-refresh-webpack-plugin": 0.5.4 - "@redwoodjs/cli": 0.47.0 - "@redwoodjs/eslint-config": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/testing": 0.47.0 + "@redwoodjs/cli": 0.47.1 + "@redwoodjs/eslint-config": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/testing": 0.47.1 babel-loader: 8.2.3 babel-plugin-auto-import: 1.1.0 babel-plugin-graphql-tag: 3.3.0 @@ -5890,7 +5890,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/eslint-config@0.47.0, @redwoodjs/eslint-config@workspace:packages/eslint-config": +"@redwoodjs/eslint-config@0.47.1, @redwoodjs/eslint-config@workspace:packages/eslint-config": version: 0.0.0-use.local resolution: "@redwoodjs/eslint-config@workspace:packages/eslint-config" dependencies: @@ -5898,7 +5898,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/eslint-parser": 7.16.5 "@babel/eslint-plugin": 7.16.5 - "@redwoodjs/internal": 0.47.0 + "@redwoodjs/internal": 0.47.1 "@typescript-eslint/eslint-plugin": 5.12.1 "@typescript-eslint/parser": 5.12.1 eslint: 8.9.0 @@ -5945,7 +5945,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/graphql-server@0.47.0, @redwoodjs/graphql-server@workspace:packages/graphql-server": +"@redwoodjs/graphql-server@0.47.1, @redwoodjs/graphql-server@workspace:packages/graphql-server": version: 0.0.0-use.local resolution: "@redwoodjs/graphql-server@workspace:packages/graphql-server" dependencies: @@ -5963,8 +5963,8 @@ __metadata: "@graphql-tools/schema": 8.3.1 "@graphql-tools/utils": 8.6.1 "@prisma/client": 3.9.2 - "@redwoodjs/api": 0.47.0 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/api": 0.47.1 + "@redwoodjs/auth": 0.47.1 "@types/lodash.merge": 4.6.6 "@types/lodash.omitby": 4.6.6 "@types/uuid": 8.3.4 @@ -5984,7 +5984,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/internal@0.47.0, @redwoodjs/internal@workspace:packages/internal": +"@redwoodjs/internal@0.47.1, @redwoodjs/internal@workspace:packages/internal": version: 0.0.0-use.local resolution: "@redwoodjs/internal@workspace:packages/internal" dependencies: @@ -6002,7 +6002,7 @@ __metadata: "@graphql-codegen/typescript-operations": 2.3.2 "@graphql-codegen/typescript-react-apollo": 3.2.8 "@graphql-codegen/typescript-resolvers": 2.5.2 - "@redwoodjs/graphql-server": 0.47.0 + "@redwoodjs/graphql-server": 0.47.1 "@types/babel-plugin-tester": 9.0.4 "@types/babel__core": 7.1.18 "@types/findup-sync": 4.0.2 @@ -6035,17 +6035,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/prerender@0.47.0, @redwoodjs/prerender@workspace:packages/prerender": +"@redwoodjs/prerender@0.47.1, @redwoodjs/prerender@workspace:packages/prerender": version: 0.0.0-use.local resolution: "@redwoodjs/prerender@workspace:packages/prerender" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/router": 0.47.0 - "@redwoodjs/structure": 0.47.0 - "@redwoodjs/web": 0.47.0 + "@redwoodjs/auth": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/router": 0.47.1 + "@redwoodjs/structure": 0.47.1 + "@redwoodjs/web": 0.47.1 "@types/mime-types": 2.1.1 babel-plugin-ignore-html-and-css-imports: 0.1.0 babel-plugin-tester: 10.1.0 @@ -6073,14 +6073,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/router@0.47.0, @redwoodjs/router@workspace:packages/router": +"@redwoodjs/router@0.47.1, @redwoodjs/router@workspace:packages/router": version: 0.0.0-use.local resolution: "@redwoodjs/router@workspace:packages/router" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@reach/skip-nav": 0.16.0 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@types/lodash.isequal": 4.5.5 core-js: 3.21.1 jest: 27.5.1 @@ -6092,14 +6092,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/structure@0.47.0, @redwoodjs/structure@workspace:packages/structure": +"@redwoodjs/structure@0.47.1, @redwoodjs/structure@workspace:packages/structure": version: 0.0.0-use.local resolution: "@redwoodjs/structure@workspace:packages/structure" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.9.2 - "@redwoodjs/internal": 0.47.0 + "@redwoodjs/internal": 0.47.1 "@types/fs-extra": 9.0.13 "@types/line-column": 1.0.0 "@types/lodash": 4.14.178 @@ -6129,20 +6129,20 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/telemetry@0.47.0, @redwoodjs/telemetry@workspace:packages/telemetry": +"@redwoodjs/telemetry@0.47.1, @redwoodjs/telemetry@workspace:packages/telemetry": version: 0.0.0-use.local resolution: "@redwoodjs/telemetry@workspace:packages/telemetry" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/structure": 0.47.0 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/structure": 0.47.1 "@types/envinfo": 7.8.1 "@types/node-fetch": 2.5.12 "@types/uuid": 8.3.4 "@types/yargs": 16.0.4 - ci-info: ^3.3.0 + ci-info: 3.3.0 envinfo: 7.8.1 jest: 27.5.1 node-fetch: 2.6.7 @@ -6152,17 +6152,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/testing@0.47.0, @redwoodjs/testing@workspace:packages/testing": +"@redwoodjs/testing@0.47.1, @redwoodjs/testing@workspace:packages/testing": version: 0.0.0-use.local resolution: "@redwoodjs/testing@workspace:packages/testing" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.47.0 - "@redwoodjs/graphql-server": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/router": 0.47.0 - "@redwoodjs/web": 0.47.0 + "@redwoodjs/auth": 0.47.1 + "@redwoodjs/graphql-server": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/router": 0.47.1 + "@redwoodjs/web": 0.47.1 "@storybook/addon-a11y": 6.4.19 "@storybook/builder-webpack5": 6.4.19 "@storybook/manager-webpack5": 6.4.19 @@ -6188,7 +6188,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/web@0.47.0, @redwoodjs/web@workspace:packages/web": +"@redwoodjs/web@0.47.1, @redwoodjs/web@workspace:packages/web": version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: @@ -6196,7 +6196,7 @@ __metadata: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@types/react": 17.0.39 @@ -11594,6 +11594,13 @@ __metadata: languageName: node linkType: hard +"ci-info@npm:3.3.0, ci-info@npm:^3.2.0": + version: 3.3.0 + resolution: "ci-info@npm:3.3.0" + checksum: f23ec1b3c4717abb5fb9934fe0ab6db621cf767abd3832f07af2803e4809d21908d8b87321de4b79861dfe8105c08dba1803a9fb6346d5586b0c57db2bfbce3b + languageName: node + linkType: hard + "ci-info@npm:^2.0.0": version: 2.0.0 resolution: "ci-info@npm:2.0.0" @@ -11601,13 +11608,6 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:^3.2.0, ci-info@npm:^3.3.0": - version: 3.3.0 - resolution: "ci-info@npm:3.3.0" - checksum: f23ec1b3c4717abb5fb9934fe0ab6db621cf767abd3832f07af2803e4809d21908d8b87321de4b79861dfe8105c08dba1803a9fb6346d5586b0c57db2bfbce3b - languageName: node - linkType: hard - "cipher-base@npm:^1.0.0, cipher-base@npm:^1.0.1, cipher-base@npm:^1.0.3": version: 1.0.4 resolution: "cipher-base@npm:1.0.4" @@ -12617,8 +12617,8 @@ __metadata: "@babel/core": 7.16.7 "@babel/node": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/telemetry": 0.47.0 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/telemetry": 0.47.1 chalk: 4.1.2 check-node-version: 4.2.1 execa: 5.1.1 From 46b82a6a0b6411199f11d6176fe15b01aa4d6bcf Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 12:57:01 -0800 Subject: [PATCH 14/29] update yarn.lock --- yarn.lock | 92 +++++++++++++++++++++++++++---------------------------- 1 file changed, 46 insertions(+), 46 deletions(-) diff --git a/yarn.lock b/yarn.lock index 344eac07a82e..08a7e26ecd18 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5673,7 +5673,7 @@ __metadata: languageName: node linkType: hard -"@redwoodjs/api-server@0.47.0, @redwoodjs/api-server@workspace:packages/api-server": +"@redwoodjs/api-server@0.47.1, @redwoodjs/api-server@workspace:packages/api-server": version: 0.0.0-use.local resolution: "@redwoodjs/api-server@workspace:packages/api-server" dependencies: @@ -5711,7 +5711,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/api@0.47.0, @redwoodjs/api@workspace:packages/api": +"@redwoodjs/api@0.47.1, @redwoodjs/api@workspace:packages/api": version: 0.0.0-use.local resolution: "@redwoodjs/api@workspace:packages/api" dependencies: @@ -5719,7 +5719,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@prisma/client": 3.10.0 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@types/crypto-js": 4.1.1 "@types/jsonwebtoken": 8.5.8 "@types/md5": 2.3.2 @@ -5750,7 +5750,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/auth@0.47.0, @redwoodjs/auth@workspace:packages/auth": +"@redwoodjs/auth@0.47.1, @redwoodjs/auth@workspace:packages/auth": version: 0.0.0-use.local resolution: "@redwoodjs/auth@workspace:packages/auth" dependencies: @@ -5777,18 +5777,18 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/cli@0.47.0, @redwoodjs/cli@workspace:packages/cli": +"@redwoodjs/cli@0.47.1, @redwoodjs/cli@workspace:packages/cli": version: 0.0.0-use.local resolution: "@redwoodjs/cli@workspace:packages/cli" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.10.0 - "@redwoodjs/api-server": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/prerender": 0.47.0 - "@redwoodjs/structure": 0.47.0 - "@redwoodjs/telemetry": 0.47.0 + "@redwoodjs/api-server": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/prerender": 0.47.1 + "@redwoodjs/structure": 0.47.1 + "@redwoodjs/telemetry": 0.47.1 "@types/listr": 0.14.4 "@types/node-fetch": 2.5.12 boxen: 5.1.2 @@ -5877,10 +5877,10 @@ __metadata: "@babel/preset-typescript": 7.16.7 "@babel/runtime-corejs3": 7.16.7 "@pmmmwh/react-refresh-webpack-plugin": 0.5.4 - "@redwoodjs/cli": 0.47.0 - "@redwoodjs/eslint-config": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/testing": 0.47.0 + "@redwoodjs/cli": 0.47.1 + "@redwoodjs/eslint-config": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/testing": 0.47.1 babel-loader: 8.2.3 babel-plugin-auto-import: 1.1.0 babel-plugin-graphql-tag: 3.3.0 @@ -5918,7 +5918,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/eslint-config@0.47.0, @redwoodjs/eslint-config@workspace:packages/eslint-config": +"@redwoodjs/eslint-config@0.47.1, @redwoodjs/eslint-config@workspace:packages/eslint-config": version: 0.0.0-use.local resolution: "@redwoodjs/eslint-config@workspace:packages/eslint-config" dependencies: @@ -5926,7 +5926,7 @@ __metadata: "@babel/core": 7.16.7 "@babel/eslint-parser": 7.16.5 "@babel/eslint-plugin": 7.16.5 - "@redwoodjs/internal": 0.47.0 + "@redwoodjs/internal": 0.47.1 "@typescript-eslint/eslint-plugin": 5.13.0 "@typescript-eslint/parser": 5.13.0 eslint: 8.10.0 @@ -5973,7 +5973,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/graphql-server@0.47.0, @redwoodjs/graphql-server@workspace:packages/graphql-server": +"@redwoodjs/graphql-server@0.47.1, @redwoodjs/graphql-server@workspace:packages/graphql-server": version: 0.0.0-use.local resolution: "@redwoodjs/graphql-server@workspace:packages/graphql-server" dependencies: @@ -5991,8 +5991,8 @@ __metadata: "@graphql-tools/schema": 8.3.2 "@graphql-tools/utils": 8.6.2 "@prisma/client": 3.10.0 - "@redwoodjs/api": 0.47.0 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/api": 0.47.1 + "@redwoodjs/auth": 0.47.1 "@types/lodash.merge": 4.6.6 "@types/lodash.omitby": 4.6.6 "@types/uuid": 8.3.4 @@ -6012,7 +6012,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/internal@0.47.0, @redwoodjs/internal@workspace:packages/internal": +"@redwoodjs/internal@0.47.1, @redwoodjs/internal@workspace:packages/internal": version: 0.0.0-use.local resolution: "@redwoodjs/internal@workspace:packages/internal" dependencies: @@ -6030,7 +6030,7 @@ __metadata: "@graphql-codegen/typescript-operations": 2.3.2 "@graphql-codegen/typescript-react-apollo": 3.2.8 "@graphql-codegen/typescript-resolvers": 2.5.2 - "@redwoodjs/graphql-server": 0.47.0 + "@redwoodjs/graphql-server": 0.47.1 "@types/babel-plugin-tester": 9.0.4 "@types/babel__core": 7.1.18 "@types/findup-sync": 4.0.2 @@ -6063,17 +6063,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/prerender@0.47.0, @redwoodjs/prerender@workspace:packages/prerender": +"@redwoodjs/prerender@0.47.1, @redwoodjs/prerender@workspace:packages/prerender": version: 0.0.0-use.local resolution: "@redwoodjs/prerender@workspace:packages/prerender" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/router": 0.47.0 - "@redwoodjs/structure": 0.47.0 - "@redwoodjs/web": 0.47.0 + "@redwoodjs/auth": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/router": 0.47.1 + "@redwoodjs/structure": 0.47.1 + "@redwoodjs/web": 0.47.1 "@types/mime-types": 2.1.1 babel-plugin-ignore-html-and-css-imports: 0.1.0 babel-plugin-tester: 10.1.0 @@ -6101,14 +6101,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/router@0.47.0, @redwoodjs/router@workspace:packages/router": +"@redwoodjs/router@0.47.1, @redwoodjs/router@workspace:packages/router": version: 0.0.0-use.local resolution: "@redwoodjs/router@workspace:packages/router" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@reach/skip-nav": 0.16.0 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@types/lodash.isequal": 4.5.5 core-js: 3.21.1 jest: 27.5.1 @@ -6120,14 +6120,14 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/structure@0.47.0, @redwoodjs/structure@workspace:packages/structure": +"@redwoodjs/structure@0.47.1, @redwoodjs/structure@workspace:packages/structure": version: 0.0.0-use.local resolution: "@redwoodjs/structure@workspace:packages/structure" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@prisma/sdk": 3.10.0 - "@redwoodjs/internal": 0.47.0 + "@redwoodjs/internal": 0.47.1 "@types/fs-extra": 9.0.13 "@types/line-column": 1.0.0 "@types/lodash": 4.14.179 @@ -6157,20 +6157,20 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/telemetry@0.47.0, @redwoodjs/telemetry@workspace:packages/telemetry": +"@redwoodjs/telemetry@0.47.1, @redwoodjs/telemetry@workspace:packages/telemetry": version: 0.0.0-use.local resolution: "@redwoodjs/telemetry@workspace:packages/telemetry" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/structure": 0.47.0 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/structure": 0.47.1 "@types/envinfo": 7.8.1 "@types/node-fetch": 2.5.12 "@types/uuid": 8.3.4 "@types/yargs": 16.0.4 - ci-info: ^3.3.0 + ci-info: 3.3.0 envinfo: 7.8.1 jest: 27.5.1 node-fetch: 2.6.7 @@ -6180,17 +6180,17 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/testing@0.47.0, @redwoodjs/testing@workspace:packages/testing": +"@redwoodjs/testing@0.47.1, @redwoodjs/testing@workspace:packages/testing": version: 0.0.0-use.local resolution: "@redwoodjs/testing@workspace:packages/testing" dependencies: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@redwoodjs/auth": 0.47.0 - "@redwoodjs/graphql-server": 0.47.0 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/router": 0.47.0 - "@redwoodjs/web": 0.47.0 + "@redwoodjs/auth": 0.47.1 + "@redwoodjs/graphql-server": 0.47.1 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/router": 0.47.1 + "@redwoodjs/web": 0.47.1 "@storybook/addon-a11y": 6.4.19 "@storybook/builder-webpack5": 6.4.19 "@storybook/manager-webpack5": 6.4.19 @@ -6216,7 +6216,7 @@ __metadata: languageName: unknown linkType: soft -"@redwoodjs/web@0.47.0, @redwoodjs/web@workspace:packages/web": +"@redwoodjs/web@0.47.1, @redwoodjs/web@workspace:packages/web": version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: @@ -6224,7 +6224,7 @@ __metadata: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/auth": 0.47.0 + "@redwoodjs/auth": 0.47.1 "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@types/react": 17.0.39 @@ -11615,7 +11615,7 @@ __metadata: languageName: node linkType: hard -"ci-info@npm:3.3.0, ci-info@npm:^3.2.0, ci-info@npm:^3.3.0": +"ci-info@npm:3.3.0, ci-info@npm:^3.2.0": version: 3.3.0 resolution: "ci-info@npm:3.3.0" checksum: f23ec1b3c4717abb5fb9934fe0ab6db621cf767abd3832f07af2803e4809d21908d8b87321de4b79861dfe8105c08dba1803a9fb6346d5586b0c57db2bfbce3b @@ -12638,8 +12638,8 @@ __metadata: "@babel/core": 7.16.7 "@babel/node": 7.16.7 "@babel/runtime-corejs3": 7.16.7 - "@redwoodjs/internal": 0.47.0 - "@redwoodjs/telemetry": 0.47.0 + "@redwoodjs/internal": 0.47.1 + "@redwoodjs/telemetry": 0.47.1 chalk: 4.1.2 check-node-version: 4.2.1 execa: 5.1.1 From affb6dea3129f5f60a9475be93402a881a063b78 Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 21:00:34 -0800 Subject: [PATCH 15/29] (fixture chore) pin fixture autoprefixer 9.8.8 (#4623) * pin fixture autoprefixer 9.8.8 * move tailwind deps to ./package.json --- __fixtures__/test-project/package.json | 8 ++++++-- __fixtures__/test-project/web/package.json | 6 ------ 2 files changed, 6 insertions(+), 8 deletions(-) diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index 1ff9dc321c83..36eb6c3a4383 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -8,7 +8,11 @@ ] }, "devDependencies": { - "@redwoodjs/core": "0.47.1" + "@redwoodjs/core": "0.47.1", + "autoprefixer": "10.4.2", + "postcss": "8.4.6", + "postcss-loader": "6.2.1", + "tailwindcss": "3.0.23" }, "eslintConfig": { "extends": "@redwoodjs/eslint-config", @@ -24,4 +28,4 @@ "scripts": { "postinstall": "" } -} \ No newline at end of file +} diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index 63819f9128ac..ea8778063e06 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -20,11 +20,5 @@ "prop-types": "15.8.1", "react": "17.0.2", "react-dom": "17.0.2" - }, - "devDependencies": { - "autoprefixer": "10.4.2", - "postcss": "8.4.6", - "postcss-loader": "6.2.1", - "tailwindcss": "3.0.23" } } From e83b71c577b3830124c70dc764f9f5456481e5fb Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 21:06:12 -0800 Subject: [PATCH 16/29] remove Redwood extension from vscode rec (#4613) --- packages/create-redwood-app/template/.vscode/extensions.json | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/create-redwood-app/template/.vscode/extensions.json b/packages/create-redwood-app/template/.vscode/extensions.json index b4230c7a53cd..7fc50a119fc6 100644 --- a/packages/create-redwood-app/template/.vscode/extensions.json +++ b/packages/create-redwood-app/template/.vscode/extensions.json @@ -1,6 +1,5 @@ { "recommendations": [ - "redwoodjs.redwood", "dbaeumer.vscode-eslint", "eamodio.gitlens", "ofhumanbondage.react-proptypes-intellisense", From 519b70e7ef70a601d885dfcd9ca509ec00590954 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 05:33:18 +0000 Subject: [PATCH 17/29] Update dependency @clerk/clerk-js to v2.15.0 (#4606) Co-authored-by: Renovate Bot --- packages/auth/package.json | 2 +- yarn.lock | 14 +++++++------- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index f96b965cbb04..9032a7aaf733 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -26,7 +26,7 @@ "@azure/msal-browser": "2.22.0", "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@clerk/clerk-js": "2.14.3", + "@clerk/clerk-js": "2.15.0", "@clerk/clerk-sdk-node": "2.9.4", "@clerk/types": "1.26.0", "@supabase/supabase-js": "1.30.7", diff --git a/yarn.lock b/yarn.lock index 08a7e26ecd18..d180ab35e83a 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1998,11 +1998,11 @@ __metadata: languageName: node linkType: hard -"@clerk/clerk-js@npm:2.14.3": - version: 2.14.3 - resolution: "@clerk/clerk-js@npm:2.14.3" +"@clerk/clerk-js@npm:2.15.0": + version: 2.15.0 + resolution: "@clerk/clerk-js@npm:2.15.0" dependencies: - "@clerk/types": ^1.25.4 + "@clerk/types": ^1.26.0 "@popperjs/core": ^2.4.4 browser-tabs-lock: ^1.2.15 classnames: ^2.3.1 @@ -2014,7 +2014,7 @@ __metadata: react-dom: 17.0.2 react-popper: ^2.2.3 regenerator-runtime: ^0.13.7 - checksum: 6cc3c651ed316a345713e8b0056471a24f8d5d40211c900d45bae7373d77f41c5bf7224854a8fea93534b9728c10387ec35c915ce0d859d5f0e8eff85272d5c4 + checksum: 818eabefac1014e4d507ee8490d0f21697789e6d891f89c04b8d949b481bbe105321399240df0a46f943b9cda7a282b72a9a7318294e1418035483597fe9abe1 languageName: node linkType: hard @@ -2036,7 +2036,7 @@ __metadata: languageName: node linkType: hard -"@clerk/types@npm:1.26.0, @clerk/types@npm:^1.25.4": +"@clerk/types@npm:1.26.0, @clerk/types@npm:^1.26.0": version: 1.26.0 resolution: "@clerk/types@npm:1.26.0" checksum: e502ac845bb36c1bd7e337e82fb62ef564bba27c023c9ee25eee32b42ebf18514fe2c1cf942898b2f001ff38a38a71061dbde3137392cd9bac089a1b7d1d930a @@ -5758,7 +5758,7 @@ __metadata: "@azure/msal-browser": 2.22.0 "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@clerk/clerk-js": 2.14.3 + "@clerk/clerk-js": 2.15.0 "@clerk/clerk-sdk-node": 2.9.4 "@clerk/types": 1.26.0 "@supabase/supabase-js": 1.30.7 From 16dc0c192a62a4ebb47c415dcc8a47a5d5f51b28 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 1 Mar 2022 21:39:34 -0800 Subject: [PATCH 18/29] Update dependency systeminformation to v5.11.6 (#4611) Co-authored-by: Renovate Bot Co-authored-by: David Price --- packages/internal/package.json | 2 +- packages/telemetry/package.json | 2 +- yarn.lock | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/internal/package.json b/packages/internal/package.json index b40ab5264c83..b138e693113c 100644 --- a/packages/internal/package.json +++ b/packages/internal/package.json @@ -62,7 +62,7 @@ "prettier": "2.5.1", "rimraf": "3.0.2", "string-env-interpolation": "1.0.1", - "systeminformation": "5.11.5", + "systeminformation": "5.11.6", "toml": "3.0.0" }, "devDependencies": { diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index 41c176f31c3b..845773c82472 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -32,7 +32,7 @@ "ci-info": "3.3.0", "envinfo": "7.8.1", "node-fetch": "2.6.7", - "systeminformation": "5.11.5", + "systeminformation": "5.11.6", "uuid": "8.3.2", "yargs": "16.2.0" }, diff --git a/yarn.lock b/yarn.lock index d180ab35e83a..01f6e8d6d5f1 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6054,7 +6054,7 @@ __metadata: prettier: 2.5.1 rimraf: 3.0.2 string-env-interpolation: 1.0.1 - systeminformation: 5.11.5 + systeminformation: 5.11.6 toml: 3.0.0 typescript: 4.6.2 bin: @@ -6174,7 +6174,7 @@ __metadata: envinfo: 7.8.1 jest: 27.5.1 node-fetch: 2.6.7 - systeminformation: 5.11.5 + systeminformation: 5.11.6 uuid: 8.3.2 yargs: 16.2.0 languageName: unknown @@ -28071,12 +28071,12 @@ __metadata: languageName: node linkType: hard -"systeminformation@npm:5.11.5": - version: 5.11.5 - resolution: "systeminformation@npm:5.11.5" +"systeminformation@npm:5.11.6": + version: 5.11.6 + resolution: "systeminformation@npm:5.11.6" bin: systeminformation: lib/cli.js - checksum: e31fb6eb38811af115c9cf05afe9f8183fdcda51c004e9f9f3563d4b13d753b714574fad6eba3d27bdb033464fabd20317a9b73a58e1c9ec7b4845d074229a02 + checksum: 9a778278d652da56bf280ff188945d6f0efe50823eeee4172412e10f2d1c15e154ada2a9ec79fe51cf7af3e70df39ebdd090c62a106fbee361fe915a14e1d038 conditions: (os=darwin | os=linux | os=win32 | os=freebsd | os=openbsd | os=netbsd | os=sunos | os=android) languageName: node linkType: hard From b7fbd9c1d2a730a37f316aa5df8279a8c961c3bc Mon Sep 17 00:00:00 2001 From: David Price Date: Tue, 1 Mar 2022 21:39:48 -0800 Subject: [PATCH 19/29] part II of #4623 (#4626) * pin fixture autoprefixer 9.8.8 * move tailwind deps to ./package.json * update test-project; install tailwind in root --- .../migration.sql | 0 .../migration.sql | 0 .../migration.sql | 0 __fixtures__/test-project/package.json | 2 +- __fixtures__/test-project/web/src/index.css | 6 +++--- tasks/test-project/tasks.js | 2 +- 6 files changed, 5 insertions(+), 5 deletions(-) rename __fixtures__/test-project/api/db/migrations/{20220228194123_create_product => 20220302044927_create_product}/migration.sql (100%) rename __fixtures__/test-project/api/db/migrations/{20220228194136_create_contact => 20220302044942_create_contact}/migration.sql (100%) rename __fixtures__/test-project/api/db/migrations/{20220228194210_db_auth => 20220302045019_db_auth}/migration.sql (100%) diff --git a/__fixtures__/test-project/api/db/migrations/20220228194123_create_product/migration.sql b/__fixtures__/test-project/api/db/migrations/20220302044927_create_product/migration.sql similarity index 100% rename from __fixtures__/test-project/api/db/migrations/20220228194123_create_product/migration.sql rename to __fixtures__/test-project/api/db/migrations/20220302044927_create_product/migration.sql diff --git a/__fixtures__/test-project/api/db/migrations/20220228194136_create_contact/migration.sql b/__fixtures__/test-project/api/db/migrations/20220302044942_create_contact/migration.sql similarity index 100% rename from __fixtures__/test-project/api/db/migrations/20220228194136_create_contact/migration.sql rename to __fixtures__/test-project/api/db/migrations/20220302044942_create_contact/migration.sql diff --git a/__fixtures__/test-project/api/db/migrations/20220228194210_db_auth/migration.sql b/__fixtures__/test-project/api/db/migrations/20220302045019_db_auth/migration.sql similarity index 100% rename from __fixtures__/test-project/api/db/migrations/20220228194210_db_auth/migration.sql rename to __fixtures__/test-project/api/db/migrations/20220302045019_db_auth/migration.sql diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index 36eb6c3a4383..e1d696cff35e 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@redwoodjs/core": "0.47.1", "autoprefixer": "10.4.2", - "postcss": "8.4.6", + "postcss": "8.4.7", "postcss-loader": "6.2.1", "tailwindcss": "3.0.23" }, diff --git a/__fixtures__/test-project/web/src/index.css b/__fixtures__/test-project/web/src/index.css index 870547eba6ee..027a7cd88a2a 100644 --- a/__fixtures__/test-project/web/src/index.css +++ b/__fixtures__/test-project/web/src/index.css @@ -5,9 +5,9 @@ * to inject Tailwind's styles into your CSS. * For more information, see: https://tailwindcss.com/docs/installation#include-tailwind-in-your-css */ -@import "tailwindcss/base"; -@import "tailwindcss/components"; -@import "tailwindcss/utilities"; +@import 'tailwindcss/base'; +@import 'tailwindcss/components'; +@import 'tailwindcss/utilities'; /** * END --- SETUP TAILWINDCSS EDIT */ diff --git a/tasks/test-project/tasks.js b/tasks/test-project/tasks.js index 469b356cc87c..ba4f4ac717ab 100644 --- a/tasks/test-project/tasks.js +++ b/tasks/test-project/tasks.js @@ -203,7 +203,7 @@ async function webTasks(outputPath, { linkWithLatestFwBuild, verbose }) { // @NOTE: use rwfw, because calling the copy function doesn't seem to work here task: () => execa( - 'yarn workspace web add -D postcss postcss-loader tailwindcss autoprefixer', + 'yarn add -W -D postcss postcss-loader tailwindcss autoprefixer', [], getExecaOptions(outputPath) ), From d8a9a5e3b1b1713a901ec542db3c53ed7222f7ae Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 06:08:16 +0000 Subject: [PATCH 20/29] Update dependency @types/react-dom to v17.0.12 (#4621) Co-authored-by: Renovate Bot Co-authored-by: David Price --- packages/forms/package.json | 2 +- packages/testing/package.json | 2 +- packages/web/package.json | 2 +- yarn.lock | 14 +++++++------- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/forms/package.json b/packages/forms/package.json index ea94dbf09835..b62e5ce7fb71 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -34,7 +34,7 @@ "@testing-library/user-event": "13.5.0", "@types/pascalcase": "1.0.1", "@types/react": "17.0.39", - "@types/react-dom": "17.0.11", + "@types/react-dom": "17.0.12", "@types/testing-library__jest-dom": "5.14.2", "jest": "27.5.1", "nodemon": "2.0.15", diff --git a/packages/testing/package.json b/packages/testing/package.json index cfb24fd61f80..91af1f31383e 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -43,7 +43,7 @@ "@types/jest": "27.4.1", "@types/node": "16.11.26", "@types/react": "17.0.39", - "@types/react-dom": "17.0.11", + "@types/react-dom": "17.0.12", "@types/webpack": "5.28.0", "babel-jest": "27.5.1", "babel-plugin-inline-react-svg": "2.0.1", diff --git a/packages/web/package.json b/packages/web/package.json index 888853721b4f..0c81a35e76ee 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -41,7 +41,7 @@ "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.3", "@types/react": "17.0.39", - "@types/react-dom": "17.0.11", + "@types/react-dom": "17.0.12", "@types/testing-library__jest-dom": "5.14.2", "jest": "27.5.1", "nodemon": "2.0.15", diff --git a/yarn.lock b/yarn.lock index 01f6e8d6d5f1..a7130050d618 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5958,7 +5958,7 @@ __metadata: "@testing-library/user-event": 13.5.0 "@types/pascalcase": 1.0.1 "@types/react": 17.0.39 - "@types/react-dom": 17.0.11 + "@types/react-dom": 17.0.12 "@types/testing-library__jest-dom": 5.14.2 jest: 27.5.1 nodemon: 2.0.15 @@ -6203,7 +6203,7 @@ __metadata: "@types/jest": 27.4.1 "@types/node": 16.11.26 "@types/react": 17.0.39 - "@types/react-dom": 17.0.11 + "@types/react-dom": 17.0.12 "@types/webpack": 5.28.0 babel-jest: 27.5.1 babel-plugin-inline-react-svg: 2.0.1 @@ -6228,7 +6228,7 @@ __metadata: "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@types/react": 17.0.39 - "@types/react-dom": 17.0.11 + "@types/react-dom": 17.0.12 "@types/testing-library__jest-dom": 5.14.2 graphql: 16.3.0 graphql-tag: 2.12.6 @@ -8199,12 +8199,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:*, @types/react-dom@npm:17.0.11": - version: 17.0.11 - resolution: "@types/react-dom@npm:17.0.11" +"@types/react-dom@npm:*, @types/react-dom@npm:17.0.12": + version: 17.0.12 + resolution: "@types/react-dom@npm:17.0.12" dependencies: "@types/react": "*" - checksum: afd57cfd7c6ffbd5f71e6fbfb130323e938cc914b699513be7e69d7d59d3b0e332b15e5379c1e58b9f7f71fc48c0cbdcd5301e1a0017540b53c6152e150e2fee + checksum: 3c40af8d4704d3242a8f2e15f0a4ec2986de3a72fe80a1a5d87b926da532e74c0bfa5ca5e231f5349da192d06308061f79c4ca6381f053329c8023d9371f35e8 languageName: node linkType: hard From 2fb0877bfb211c2bc654b151acac0ab7d0183d36 Mon Sep 17 00:00:00 2001 From: David Thyresson Date: Wed, 2 Mar 2022 10:24:10 -0500 Subject: [PATCH 21/29] Add custom log payload support to logFormatter (#4619) Co-authored-by: David Price Co-authored-by: Simon Gagnon --- packages/api-server/package.json | 4 +- .../logFormatter.test.ts | 73 ++++++++++++++++++- packages/api-server/src/logFormatter/index.ts | 16 ++++ 3 files changed, 89 insertions(+), 4 deletions(-) rename packages/api-server/src/{logFormatter => __tests__}/logFormatter.test.ts (60%) diff --git a/packages/api-server/package.json b/packages/api-server/package.json index da2f3dc7d1cd..7b327d4ea03a 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -23,7 +23,9 @@ "build:js": "babel src -d dist --extensions \".js,.ts,.tsx\"", "build:watch": "nodemon --watch src --ext \"js,ts,tsx\" --ignore dist --exec \"yarn build && yarn fix:permissions\"", "fix:permissions": "chmod +x dist/index.js; chmod +x dist/watch.js", - "prepublishOnly": "NODE_ENV=production yarn build" + "prepublishOnly": "NODE_ENV=production yarn build", + "test": "jest src", + "test:watch": "yarn test --watch" }, "dependencies": { "@babel/plugin-transform-runtime": "7.16.7", diff --git a/packages/api-server/src/logFormatter/logFormatter.test.ts b/packages/api-server/src/__tests__/logFormatter.test.ts similarity index 60% rename from packages/api-server/src/logFormatter/logFormatter.test.ts rename to packages/api-server/src/__tests__/logFormatter.test.ts index 02db4a418f00..cd0d23e99367 100644 --- a/packages/api-server/src/logFormatter/logFormatter.test.ts +++ b/packages/api-server/src/__tests__/logFormatter.test.ts @@ -1,11 +1,11 @@ -import { LogFormatter } from './index' +import { LogFormatter } from '../logFormatter/index' const logFormatter = LogFormatter() describe('LogFormatter', () => { describe('Formats log levels as emoji', () => { test('Formats Trace level', () => { - expect(logFormatter({ level: 10 })).toMatch('πŸ”') + expect(logFormatter({ level: 10 })).toMatch('🧡') }) test('Formats Debug level', () => { @@ -17,7 +17,7 @@ describe('LogFormatter', () => { }) test('Formats Warn level', () => { - expect(logFormatter({ level: 40 })).toMatch('⚠️') + expect(logFormatter({ level: 40 })).toMatch('🚦') }) test('Formats Error level', () => { @@ -108,4 +108,71 @@ describe('LogFormatter', () => { ).not.toMatch('I should not see this') }) }) + + describe('Custom log data', () => { + test('Should include the custom log attribute text', () => { + expect( + logFormatter({ + level: 10, + custom: 'I should see this custom message text', + }) + ).toMatch('I should see this') + }) + + test('Should include the custom log attribute info a custom emoji and label', () => { + expect( + logFormatter({ + level: 10, + custom: 'I should see this custom emoji and label', + }) + ).toMatch('πŸ—’ Custom') + }) + + test('Should include the custom log attribute info with nested text message', () => { + expect( + logFormatter({ + level: 10, + custom: { + msg: 'I should see this custom message in the log', + }, + }) + ).toMatch('I should see this custom message in the log') + }) + }) + + test('Should include the custom log attribute info with a number attribute', () => { + expect( + logFormatter({ + level: 10, + custom: { + msg: 'I should see this custom message and number in the log', + number: 100, + }, + }) + ).toMatch('100') + }) + + test('Should include the custom log attribute info with a nested object attribute', () => { + expect( + logFormatter({ + level: 10, + custom: { + msg: 'I should see this custom object in the log', + obj: { foo: 'bar' }, + }, + }) + ).toMatch('"foo": "bar"') + }) + + test('Should include the custom log attribute info with a nested object attribute', () => { + expect( + logFormatter({ + level: 10, + custom: { + msg: 'I should see this custom object in the log', + obj: { foo: 'bar' }, + }, + }) + ).toMatch('"foo": "bar"') + }) }) diff --git a/packages/api-server/src/logFormatter/index.ts b/packages/api-server/src/logFormatter/index.ts index b3326952f182..6e1acc5c4a20 100644 --- a/packages/api-server/src/logFormatter/index.ts +++ b/packages/api-server/src/logFormatter/index.ts @@ -25,6 +25,7 @@ const isEmptyObject = (object: any) => { const isPinoLog = (log: any) => { return log && Object.prototype.hasOwnProperty.call(log, 'level') } + const isWideEmoji = (character: any) => { return character !== '🚦' } @@ -108,6 +109,7 @@ export const LogFormatter = () => { const statusCode = res ? res.statusCode : logData.statusCode const responseTime = logData.responseTime || logData.elapsed const method = req ? req.method : logData.method + const custom = logData.custom const contentLength = logData.contentLength const operationName = logData.operationName const query = logData.query @@ -142,6 +144,10 @@ export const LogFormatter = () => { output.push(formatBundleSize(contentLength)) } + if (custom) { + output.push(formatCustom(custom)) + } + if (responseTime != null) { output.push(formatLoadTime(responseTime)) } @@ -187,6 +193,16 @@ export const LogFormatter = () => { return chalk.gray(size) } + const formatCustom = (query: any) => { + if (!isEmptyObject(query)) { + return chalk.white( + newline + 'πŸ—’ Custom' + newline + JSON.stringify(query, null, 2) + ) + } + + return + } + const formatData = (data: any) => { if (!isEmptyObject(data)) { return chalk.white( From a5f9fa7ed37f86134941f139aa82e59b48d897c1 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Wed, 2 Mar 2022 18:20:36 +0100 Subject: [PATCH 22/29] Webhook verifiers: Make them all support timestamp diff check (#4608) * Webhook verifiers: Make them all support timestamp diff check * Rename to currentTimestampOverride * Fix test Co-authored-by: David Price --- .../__tests__/timestampSchemeVerifier.test.ts | 4 +- packages/api/src/auth/verifiers/common.ts | 17 +++++++- .../auth/verifiers/timestampSchemeVerifier.ts | 28 +++++++------ packages/api/src/webhooks/index.ts | 11 ++++++ packages/api/src/webhooks/webhooks.test.ts | 39 +++++++++++++++++-- 5 files changed, 77 insertions(+), 22 deletions(-) diff --git a/packages/api/src/auth/verifiers/__tests__/timestampSchemeVerifier.test.ts b/packages/api/src/auth/verifiers/__tests__/timestampSchemeVerifier.test.ts index d1a1fc3faf2a..3b46ae242d4c 100644 --- a/packages/api/src/auth/verifiers/__tests__/timestampSchemeVerifier.test.ts +++ b/packages/api/src/auth/verifiers/__tests__/timestampSchemeVerifier.test.ts @@ -34,7 +34,7 @@ describe('timestampScheme verifier', () => { describe('signs a payload with varying timestamps and tolerances', () => { test('it denies a signature when verifying with a short tolerance', () => { const { sign } = createVerifier('timestampSchemeVerifier', { - timestamp: Date.now() - 600_000, // 10 minutes in msec + currentTimestampOverride: Date.now() - 600_000, // 10 minutes in msec }) const { verify } = createVerifier('timestampSchemeVerifier', { @@ -57,7 +57,7 @@ describe('timestampScheme verifier', () => { test('it denies a signature when verifying when outside the default tolerance', () => { const { sign } = createVerifier('timestampSchemeVerifier', { - timestamp: Date.now() - 600_000, // 10 minutes in msec + currentTimestampOverride: Date.now() - 600_000, // 10 minutes in msec }) // uses default 5 minute tolerance diff --git a/packages/api/src/auth/verifiers/common.ts b/packages/api/src/auth/verifiers/common.ts index 0e0a7b273fd5..2192aec2ddad 100644 --- a/packages/api/src/auth/verifiers/common.ts +++ b/packages/api/src/auth/verifiers/common.ts @@ -46,6 +46,13 @@ export const VERIFICATION_ERROR_MESSAGE = export const VERIFICATION_SIGN_MESSAGE = 'Unable to sign payload' +const FIVE_MINUTES = 5 * 60_000 + +/** + * @const {number} DEFAULT_TOLERANCE - Five minutes + */ +export const DEFAULT_TOLERANCE = FIVE_MINUTES + /** * Class representing a WebhookError * @extends Error @@ -98,14 +105,20 @@ export class WebhookSignError extends WebhookError { * @param {(signature: string) => string} signatureTransformer - Optional * function that receives the signature from the headers and returns a new * signature to use in the Verifier - * @param {number} timestamp - Optional timestamp in msec + * @param {number} currentTimestampOverride - Optional timestamp to use as the + * "current" timestamp, in msec + * @param {number} eventTimestamp - Optional timestamp to use as the event + * timestamp, in msec. If this is provided the webhook verification will fail + * if the eventTimestamp is too far from the current time (or the time passed + * as the `timestamp` option) * @param {number} tolerance - Optional tolerance in msec * @param {string} issuer - Options JWT issuer for JWTVerifier */ export interface VerifyOptions { signatureHeader?: string signatureTransformer?: (signature: string) => string - timestamp?: number + currentTimestampOverride?: number + eventTimestamp?: number tolerance?: number issuer?: string } diff --git a/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts b/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts index d4316cbadb7b..e5b3b72fd067 100644 --- a/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts +++ b/packages/api/src/auth/verifiers/timestampSchemeVerifier.ts @@ -1,22 +1,16 @@ import { createHmac } from 'crypto' -import { WebhookVerificationError, DEFAULT_WEBHOOK_SECRET } from './common' +import { + WebhookVerificationError, + DEFAULT_WEBHOOK_SECRET, + DEFAULT_TOLERANCE, +} from './common' import type { WebhookVerifier, VerifyOptions } from './common' export interface TimestampSchemeVerifier extends WebhookVerifier { type: 'timestampSchemeVerifier' } -/** - * @const {number} - */ -const FIVE_MINUTES = 5 * 60_000 - -/** - * @const {number} - */ -const DEFAULT_TOLERANCE = FIVE_MINUTES - /** * Generates a hash-based message authentication code from a secret. * @@ -76,8 +70,8 @@ const createSignature = ({ * The value for the prefix t corresponds to the timestamp, and v1 corresponds to the signature (or signatures). * * Compare the signature (or signatures) in the header to the expected signature. - * For an equality match, we compute the tolerance between the current timestamp and the received timestamp, - * then decide if the tolerance is within your tolerance -- in our case this is 5 minutes. + * For an equality match, we compute the difference between the current timestamp and the received timestamp, + * then decide if the difference is within your tolerance -- in our case this is 5 minutes. * * Because this timestamp is part of the signed payload, it is also verified by the signature, * so an attacker cannot change the timestamp without invalidating the signature. @@ -116,7 +110,7 @@ const verifySignature = ({ const signedStamp = Number(match[1]) const signedPayload = match[2] - const timestamp = options?.timestamp ?? Date.now() + const timestamp = options?.currentTimestampOverride ?? Date.now() const tolerance = options?.tolerance ?? DEFAULT_TOLERANCE const difference = Math.abs(timestamp - signedStamp) @@ -149,7 +143,11 @@ const timestampSchemeVerifier = ( ): TimestampSchemeVerifier => { return { sign: ({ payload, secret }) => { - return createSignature({ payload, secret, timestamp: options?.timestamp }) + return createSignature({ + payload, + secret, + timestamp: options?.currentTimestampOverride, + }) }, verify: ({ payload, secret, signature }) => { return verifySignature({ payload, secret, signature, options }) diff --git a/packages/api/src/webhooks/index.ts b/packages/api/src/webhooks/index.ts index f2cc3836be4d..b3de5c9ca363 100644 --- a/packages/api/src/webhooks/index.ts +++ b/packages/api/src/webhooks/index.ts @@ -6,6 +6,7 @@ import { WebhookVerificationError, DEFAULT_WEBHOOK_SECRET, SupportedVerifierTypes, + DEFAULT_TOLERANCE, } from '../auth/verifiers' export { @@ -96,6 +97,16 @@ export const verifyEvent = ( signature = options.signatureTransformer(signature) } + if (options?.eventTimestamp) { + const timestamp = options?.currentTimestampOverride ?? Date.now() + const difference = Math.abs(timestamp - options?.eventTimestamp) + const tolerance = options?.tolerance ?? DEFAULT_TOLERANCE + + if (difference > tolerance) { + throw new WebhookVerificationError() + } + } + const { verify } = createVerifier(type, options) return verify({ payload: body, secret, signature }) diff --git a/packages/api/src/webhooks/webhooks.test.ts b/packages/api/src/webhooks/webhooks.test.ts index 5b1eb8807b9c..32cc8434765b 100644 --- a/packages/api/src/webhooks/webhooks.test.ts +++ b/packages/api/src/webhooks/webhooks.test.ts @@ -10,6 +10,9 @@ import { const payload = 'No more secrets, Marty.' const secret = 'MY_VOICE_IS_MY_PASSPORT_VERIFY_ME' +const ONE_MINUTE = 60_000 +const TEN_MINUTES = 10 * ONE_MINUTE +const FIFTEEN_MINUTES = 15 * ONE_MINUTE // See: https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/aws-lambda/trigger/api-gateway-proxy.d.ts const buildEvent = ({ @@ -331,7 +334,7 @@ describe('webhooks', () => { const signature = signPayload('timestampSchemeVerifier', { payload, secret, - options: { timestamp: Date.now() - 10 * 60_000 }, + options: { currentTimestampOverride: Date.now() - TEN_MINUTES }, }) const event = buildEvent({ @@ -344,7 +347,7 @@ describe('webhooks', () => { verifyEvent('timestampSchemeVerifier', { event, secret, - options: { tolerance: 100_000 }, + options: { tolerance: FIFTEEN_MINUTES }, }) }).toBeTruthy() }) @@ -353,7 +356,7 @@ describe('webhooks', () => { const signature = signPayload('timestampSchemeVerifier', { payload, secret, - options: { timestamp: Date.now() - 10 * 60_000 }, + options: { currentTimestampOverride: Date.now() - TEN_MINUTES }, }) const event = buildEvent({ @@ -370,6 +373,31 @@ describe('webhooks', () => { }) }).toThrow(WebhookVerificationError) }) + + test('it denies verification when verifying with a short tolerance also for sha1 verifier', () => { + const signature = signPayload('sha1Verifier', { + payload, + secret, + }) + + const event = buildEvent({ + payload, + signature, + signatureHeader: DEFAULT_WEBHOOK_SIGNATURE_HEADER, + }) + + expect(() => { + verifyEvent('sha1Verifier', { + event, + secret, + options: { + eventTimestamp: Date.now(), + currentTimestampOverride: Date.now() - FIFTEEN_MINUTES, + tolerance: ONE_MINUTE, + }, + }) + }).toThrow(WebhookVerificationError) + }) }) describe('provider specific tests', () => { @@ -418,6 +446,11 @@ describe('webhooks', () => { } } }, + eventTimestamp: parseInt(svix_timestamp, 10) * 1000, + // One minute from the event's timestamp is within the default + // tolerance of five minutes + currentTimestampOverride: + parseInt(svix_timestamp, 10) * 1000 - ONE_MINUTE, }, }) ).toBeTruthy() From ce5f76b9447a4f2dd3875fb8f3670bbd2add9ebd Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 17:45:57 +0000 Subject: [PATCH 23/29] Update dependency @types/aws-lambda to v8.10.93 (#4620) Co-authored-by: Renovate Bot Co-authored-by: David Price --- packages/api-server/package.json | 2 +- packages/testing/package.json | 2 +- yarn.lock | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/api-server/package.json b/packages/api-server/package.json index 7b327d4ea03a..d7d4cf05ede6 100644 --- a/packages/api-server/package.json +++ b/packages/api-server/package.json @@ -48,7 +48,7 @@ "devDependencies": { "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@types/aws-lambda": "8.10.92", + "@types/aws-lambda": "8.10.93", "@types/lodash.escape": "4.0.6", "@types/qs": "6.9.7", "@types/split2": "3.2.1", diff --git a/packages/testing/package.json b/packages/testing/package.json index 91af1f31383e..a5d900d69aa4 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -38,7 +38,7 @@ "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.3", "@testing-library/user-event": "13.5.0", - "@types/aws-lambda": "8.10.92", + "@types/aws-lambda": "8.10.93", "@types/babel-core": "6.25.7", "@types/jest": "27.4.1", "@types/node": "16.11.26", diff --git a/yarn.lock b/yarn.lock index a7130050d618..ae8feff4fe26 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5680,7 +5680,7 @@ __metadata: "@babel/cli": 7.16.7 "@babel/core": 7.16.7 "@babel/plugin-transform-runtime": 7.16.7 - "@types/aws-lambda": 8.10.92 + "@types/aws-lambda": 8.10.93 "@types/lodash.escape": 4.0.6 "@types/qs": 6.9.7 "@types/split2": 3.2.1 @@ -6198,7 +6198,7 @@ __metadata: "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@testing-library/user-event": 13.5.0 - "@types/aws-lambda": 8.10.92 + "@types/aws-lambda": 8.10.93 "@types/babel-core": 6.25.7 "@types/jest": 27.4.1 "@types/node": 16.11.26 @@ -7383,10 +7383,10 @@ __metadata: languageName: node linkType: hard -"@types/aws-lambda@npm:8.10.92, @types/aws-lambda@npm:^8.10.83": - version: 8.10.92 - resolution: "@types/aws-lambda@npm:8.10.92" - checksum: f1b0f2a516dcbe9e3da6d532bfeab88a5d5f3c2067e7870c097ec3ba389f4a1ef0e6f022413b555f0217cd5a0904787d588edac6e3da363abfcadde4f9912f7e +"@types/aws-lambda@npm:8.10.93, @types/aws-lambda@npm:^8.10.83": + version: 8.10.93 + resolution: "@types/aws-lambda@npm:8.10.93" + checksum: a4f4892eda175b586393d7f142a37a3fff27fc7e16b345e4bd8f8f78c00c4f3be97591d0f620d66fb2b67aad00a37939f4e5130f196973bab4b57ff2b2fac768 languageName: node linkType: hard From 96c8222777ea644d223401e0dea7f39f999476ef Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 18:15:55 +0000 Subject: [PATCH 24/29] Update dependency @types/testing-library__jest-dom to v5.14.3 (#4624) Co-authored-by: Renovate Bot Co-authored-by: David Price --- packages/forms/package.json | 2 +- packages/web/package.json | 2 +- yarn.lock | 12 ++++++------ 3 files changed, 8 insertions(+), 8 deletions(-) diff --git a/packages/forms/package.json b/packages/forms/package.json index b62e5ce7fb71..30454ad2af2e 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -35,7 +35,7 @@ "@types/pascalcase": "1.0.1", "@types/react": "17.0.39", "@types/react-dom": "17.0.12", - "@types/testing-library__jest-dom": "5.14.2", + "@types/testing-library__jest-dom": "5.14.3", "jest": "27.5.1", "nodemon": "2.0.15", "react": "17.0.2", diff --git a/packages/web/package.json b/packages/web/package.json index 0c81a35e76ee..c326ff45d96c 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -42,7 +42,7 @@ "@testing-library/react": "12.1.3", "@types/react": "17.0.39", "@types/react-dom": "17.0.12", - "@types/testing-library__jest-dom": "5.14.2", + "@types/testing-library__jest-dom": "5.14.3", "jest": "27.5.1", "nodemon": "2.0.15", "react": "17.0.2", diff --git a/yarn.lock b/yarn.lock index ae8feff4fe26..ee3005b050c2 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5959,7 +5959,7 @@ __metadata: "@types/pascalcase": 1.0.1 "@types/react": 17.0.39 "@types/react-dom": 17.0.12 - "@types/testing-library__jest-dom": 5.14.2 + "@types/testing-library__jest-dom": 5.14.3 jest: 27.5.1 nodemon: 2.0.15 pascalcase: 1.0.0 @@ -6229,7 +6229,7 @@ __metadata: "@testing-library/react": 12.1.3 "@types/react": 17.0.39 "@types/react-dom": 17.0.12 - "@types/testing-library__jest-dom": 5.14.2 + "@types/testing-library__jest-dom": 5.14.3 graphql: 16.3.0 graphql-tag: 2.12.6 jest: 27.5.1 @@ -8360,12 +8360,12 @@ __metadata: languageName: node linkType: hard -"@types/testing-library__jest-dom@npm:5.14.2, @types/testing-library__jest-dom@npm:^5.9.1": - version: 5.14.2 - resolution: "@types/testing-library__jest-dom@npm:5.14.2" +"@types/testing-library__jest-dom@npm:5.14.3, @types/testing-library__jest-dom@npm:^5.9.1": + version: 5.14.3 + resolution: "@types/testing-library__jest-dom@npm:5.14.3" dependencies: "@types/jest": "*" - checksum: 775b5fb3dd26dfff1a17dc7f404c9b06c7aeb388e55802607ba6e08593deaa585fb1ed5e6809090cfe13707667bf413cbf56036952a26b383ac7d7efadac6e30 + checksum: bfc5b3807c01240c9985955f2f4fcf23c66946da02b77a001f06ecbf0196b12fecdd13ab956ef347893e08ccd2a71db0fa8d513927ce6618598853a5873267a1 languageName: node linkType: hard From 94451908efcdbc3d75703a1b547ac62545748392 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 11:13:20 -0800 Subject: [PATCH 25/29] Update dependency @types/react-dom to v17.0.13 (#4629) Co-authored-by: Renovate Bot --- packages/forms/package.json | 2 +- packages/testing/package.json | 2 +- packages/web/package.json | 2 +- yarn.lock | 14 +++++++------- 4 files changed, 10 insertions(+), 10 deletions(-) diff --git a/packages/forms/package.json b/packages/forms/package.json index 30454ad2af2e..725c6ff9dcba 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -34,7 +34,7 @@ "@testing-library/user-event": "13.5.0", "@types/pascalcase": "1.0.1", "@types/react": "17.0.39", - "@types/react-dom": "17.0.12", + "@types/react-dom": "17.0.13", "@types/testing-library__jest-dom": "5.14.3", "jest": "27.5.1", "nodemon": "2.0.15", diff --git a/packages/testing/package.json b/packages/testing/package.json index a5d900d69aa4..ba5453df2951 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -43,7 +43,7 @@ "@types/jest": "27.4.1", "@types/node": "16.11.26", "@types/react": "17.0.39", - "@types/react-dom": "17.0.12", + "@types/react-dom": "17.0.13", "@types/webpack": "5.28.0", "babel-jest": "27.5.1", "babel-plugin-inline-react-svg": "2.0.1", diff --git a/packages/web/package.json b/packages/web/package.json index c326ff45d96c..5da535209620 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -41,7 +41,7 @@ "@testing-library/jest-dom": "5.16.2", "@testing-library/react": "12.1.3", "@types/react": "17.0.39", - "@types/react-dom": "17.0.12", + "@types/react-dom": "17.0.13", "@types/testing-library__jest-dom": "5.14.3", "jest": "27.5.1", "nodemon": "2.0.15", diff --git a/yarn.lock b/yarn.lock index ee3005b050c2..f9299cdfcb35 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5958,7 +5958,7 @@ __metadata: "@testing-library/user-event": 13.5.0 "@types/pascalcase": 1.0.1 "@types/react": 17.0.39 - "@types/react-dom": 17.0.12 + "@types/react-dom": 17.0.13 "@types/testing-library__jest-dom": 5.14.3 jest: 27.5.1 nodemon: 2.0.15 @@ -6203,7 +6203,7 @@ __metadata: "@types/jest": 27.4.1 "@types/node": 16.11.26 "@types/react": 17.0.39 - "@types/react-dom": 17.0.12 + "@types/react-dom": 17.0.13 "@types/webpack": 5.28.0 babel-jest: 27.5.1 babel-plugin-inline-react-svg: 2.0.1 @@ -6228,7 +6228,7 @@ __metadata: "@testing-library/jest-dom": 5.16.2 "@testing-library/react": 12.1.3 "@types/react": 17.0.39 - "@types/react-dom": 17.0.12 + "@types/react-dom": 17.0.13 "@types/testing-library__jest-dom": 5.14.3 graphql: 16.3.0 graphql-tag: 2.12.6 @@ -8199,12 +8199,12 @@ __metadata: languageName: node linkType: hard -"@types/react-dom@npm:*, @types/react-dom@npm:17.0.12": - version: 17.0.12 - resolution: "@types/react-dom@npm:17.0.12" +"@types/react-dom@npm:*, @types/react-dom@npm:17.0.13": + version: 17.0.13 + resolution: "@types/react-dom@npm:17.0.13" dependencies: "@types/react": "*" - checksum: 3c40af8d4704d3242a8f2e15f0a4ec2986de3a72fe80a1a5d87b926da532e74c0bfa5ca5e231f5349da192d06308061f79c4ca6381f053329c8023d9371f35e8 + checksum: 245e353626f3e75eb27ae797a5f6390aab2d8be19f1fb426ebf69a3393e8fcbcc54471397bc226e54f28de188084d8a3b9f86883c7cbad27cc5ea0ae8d2d0158 languageName: node linkType: hard From 9f35f6f4e6c4606329e414b819f6530ba5be17e2 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 12:22:53 -0800 Subject: [PATCH 26/29] Update dependency @clerk/clerk-js to v2.16.0 (#4627) Co-authored-by: Renovate Bot --- packages/auth/package.json | 2 +- yarn.lock | 21 ++++++++++++++------- 2 files changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index 9032a7aaf733..b9459f26923d 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -26,7 +26,7 @@ "@azure/msal-browser": "2.22.0", "@babel/cli": "7.16.7", "@babel/core": "7.16.7", - "@clerk/clerk-js": "2.15.0", + "@clerk/clerk-js": "2.16.0", "@clerk/clerk-sdk-node": "2.9.4", "@clerk/types": "1.26.0", "@supabase/supabase-js": "1.30.7", diff --git a/yarn.lock b/yarn.lock index f9299cdfcb35..b0e2940b91fa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1998,11 +1998,11 @@ __metadata: languageName: node linkType: hard -"@clerk/clerk-js@npm:2.15.0": - version: 2.15.0 - resolution: "@clerk/clerk-js@npm:2.15.0" +"@clerk/clerk-js@npm:2.16.0": + version: 2.16.0 + resolution: "@clerk/clerk-js@npm:2.16.0" dependencies: - "@clerk/types": ^1.26.0 + "@clerk/types": ^1.27.0 "@popperjs/core": ^2.4.4 browser-tabs-lock: ^1.2.15 classnames: ^2.3.1 @@ -2014,7 +2014,7 @@ __metadata: react-dom: 17.0.2 react-popper: ^2.2.3 regenerator-runtime: ^0.13.7 - checksum: 818eabefac1014e4d507ee8490d0f21697789e6d891f89c04b8d949b481bbe105321399240df0a46f943b9cda7a282b72a9a7318294e1418035483597fe9abe1 + checksum: 943d39471bc5d42d5a02c90296b08361c10c51bcc7ca25851f06094f16bbe5e5147e6f6ffbf7921c4838d6e4c80fd9dbd755bfa3eaec734be54e107d8e5d9e6b languageName: node linkType: hard @@ -2036,13 +2036,20 @@ __metadata: languageName: node linkType: hard -"@clerk/types@npm:1.26.0, @clerk/types@npm:^1.26.0": +"@clerk/types@npm:1.26.0": version: 1.26.0 resolution: "@clerk/types@npm:1.26.0" checksum: e502ac845bb36c1bd7e337e82fb62ef564bba27c023c9ee25eee32b42ebf18514fe2c1cf942898b2f001ff38a38a71061dbde3137392cd9bac089a1b7d1d930a languageName: node linkType: hard +"@clerk/types@npm:^1.27.0": + version: 1.27.0 + resolution: "@clerk/types@npm:1.27.0" + checksum: 05c74a52ed36917ab6e086944188932b82190bc974352ce32b73bb369fd127d405be3f3e239babb4e78225f7d4997cd07e637a44bf7aa979b5b7a2b4af661911 + languageName: node + linkType: hard + "@cypress/request@npm:^2.88.10": version: 2.88.10 resolution: "@cypress/request@npm:2.88.10" @@ -5758,7 +5765,7 @@ __metadata: "@azure/msal-browser": 2.22.0 "@babel/cli": 7.16.7 "@babel/core": 7.16.7 - "@clerk/clerk-js": 2.15.0 + "@clerk/clerk-js": 2.16.0 "@clerk/clerk-sdk-node": 2.9.4 "@clerk/types": 1.26.0 "@supabase/supabase-js": 1.30.7 From b3644927f4cb6922717149dadd297c186d94d10b Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 20:47:37 +0000 Subject: [PATCH 27/29] Update dependency @clerk/types to v1.27.0 (#4628) Co-authored-by: Renovate Bot --- packages/auth/package.json | 2 +- yarn.lock | 11 ++--------- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/packages/auth/package.json b/packages/auth/package.json index b9459f26923d..cb4552e1eef5 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,7 +28,7 @@ "@babel/core": "7.16.7", "@clerk/clerk-js": "2.16.0", "@clerk/clerk-sdk-node": "2.9.4", - "@clerk/types": "1.26.0", + "@clerk/types": "1.27.0", "@supabase/supabase-js": "1.30.7", "@types/netlify-identity-widget": "1.9.3", "@types/react": "17.0.39", diff --git a/yarn.lock b/yarn.lock index b0e2940b91fa..fc43ddefd0bd 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2036,14 +2036,7 @@ __metadata: languageName: node linkType: hard -"@clerk/types@npm:1.26.0": - version: 1.26.0 - resolution: "@clerk/types@npm:1.26.0" - checksum: e502ac845bb36c1bd7e337e82fb62ef564bba27c023c9ee25eee32b42ebf18514fe2c1cf942898b2f001ff38a38a71061dbde3137392cd9bac089a1b7d1d930a - languageName: node - linkType: hard - -"@clerk/types@npm:^1.27.0": +"@clerk/types@npm:1.27.0, @clerk/types@npm:^1.27.0": version: 1.27.0 resolution: "@clerk/types@npm:1.27.0" checksum: 05c74a52ed36917ab6e086944188932b82190bc974352ce32b73bb369fd127d405be3f3e239babb4e78225f7d4997cd07e637a44bf7aa979b5b7a2b4af661911 @@ -5767,7 +5760,7 @@ __metadata: "@babel/core": 7.16.7 "@clerk/clerk-js": 2.16.0 "@clerk/clerk-sdk-node": 2.9.4 - "@clerk/types": 1.26.0 + "@clerk/types": 1.27.0 "@supabase/supabase-js": 1.30.7 "@types/netlify-identity-widget": 1.9.3 "@types/react": 17.0.39 From e16b83984422796d6aabd7614ad496ddd5f4eb92 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Wed, 2 Mar 2022 23:53:22 +0000 Subject: [PATCH 28/29] Update dependency msw to v0.38.2 (#4630) Co-authored-by: Renovate Bot --- package.json | 2 +- packages/testing/package.json | 2 +- yarn.lock | 34 +++++++++++++++++----------------- 3 files changed, 19 insertions(+), 19 deletions(-) diff --git a/package.json b/package.json index 5d7bb4d75b74..200ee2c47838 100644 --- a/package.json +++ b/package.json @@ -80,7 +80,7 @@ "lerna": "4.0.0", "lodash.template": "4.5.0", "make-dir-cli": "3.0.0", - "msw": "0.38.1", + "msw": "0.38.2", "ncp": "2.0.0", "node-notifier": "10.0.1", "nodemon": "2.0.15", diff --git a/packages/testing/package.json b/packages/testing/package.json index ba5453df2951..1eaca34fe3f3 100644 --- a/packages/testing/package.json +++ b/packages/testing/package.json @@ -49,7 +49,7 @@ "babel-plugin-inline-react-svg": "2.0.1", "jest": "27.5.1", "jest-watch-typeahead": "1.0.0", - "msw": "0.38.1", + "msw": "0.38.2", "ts-toolbelt": "9.6.0", "whatwg-fetch": "3.6.2" }, diff --git a/yarn.lock b/yarn.lock index fc43ddefd0bd..e2545fc40089 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4808,17 +4808,17 @@ __metadata: languageName: node linkType: hard -"@mswjs/interceptors@npm:^0.13.3": - version: 0.13.3 - resolution: "@mswjs/interceptors@npm:0.13.3" +"@mswjs/interceptors@npm:^0.13.5": + version: 0.13.6 + resolution: "@mswjs/interceptors@npm:0.13.6" dependencies: "@open-draft/until": ^1.0.3 "@xmldom/xmldom": ^0.7.5 debug: ^4.3.3 - headers-polyfill: ^3.0.3 + headers-polyfill: ^3.0.4 outvariant: ^1.2.1 strict-event-emitter: ^0.2.0 - checksum: 34b0dbce956f14995fab7c5a1725b00603e733082e7cabc6f574b987f181061e35b26b97e8b5239ec6d7e91477fa2a7f4f9c8facf85ce2c3ed93e49cef0e060b + checksum: c9296eb7b84dc1c63140048f4d5b40794f0df1ef4252ca79188caa266a1eb6a47ba848a5c0f7feb487eb95bcada492a3a800a256bc53b62e66af2bb3860bbad2 languageName: node linkType: hard @@ -6209,7 +6209,7 @@ __metadata: babel-plugin-inline-react-svg: 2.0.1 jest: 27.5.1 jest-watch-typeahead: 1.0.0 - msw: 0.38.1 + msw: 0.38.2 ts-toolbelt: 9.6.0 typescript: 4.6.2 whatwg-fetch: 3.6.2 @@ -17367,10 +17367,10 @@ __metadata: languageName: node linkType: hard -"headers-polyfill@npm:^3.0.3": - version: 3.0.3 - resolution: "headers-polyfill@npm:3.0.3" - checksum: fe43b34d2d0d9b045fe82196b158b720b97db9cdec28c0246b44c10ca4bc07a7921b774d35dc7610d5d1166173dd05a96da53a8fb372cc623e17c3f950c83017 +"headers-polyfill@npm:^3.0.4": + version: 3.0.4 + resolution: "headers-polyfill@npm:3.0.4" + checksum: 6d5429a7f7deb8d1a567d2578e0be428f318d367a8a6269c32168357441832e6198b0fa5d694f87454be8e3ade19b2663a1e758fdff70d00dab4ba970cbe8e5d languageName: node linkType: hard @@ -21768,12 +21768,12 @@ __metadata: languageName: node linkType: hard -"msw@npm:0.38.1": - version: 0.38.1 - resolution: "msw@npm:0.38.1" +"msw@npm:0.38.2": + version: 0.38.2 + resolution: "msw@npm:0.38.2" dependencies: "@mswjs/cookies": ^0.1.7 - "@mswjs/interceptors": ^0.13.3 + "@mswjs/interceptors": ^0.13.5 "@open-draft/until": ^1.0.3 "@types/cookie": ^0.4.1 "@types/js-levenshtein": ^1.1.1 @@ -21781,7 +21781,7 @@ __metadata: chokidar: ^3.4.2 cookie: ^0.4.2 graphql: ^16.3.0 - headers-polyfill: ^3.0.3 + headers-polyfill: ^3.0.4 inquirer: ^8.2.0 is-node-process: ^1.0.1 js-levenshtein: ^1.1.6 @@ -21793,7 +21793,7 @@ __metadata: yargs: ^17.3.1 bin: msw: cli/index.js - checksum: 793c42c863d8c8c708d822102ec7b1d24158099247cf5e82902df1ef99443d02e0c5326d8519d05f864dc3b747f0b28a8c87de2563efed94e791ba7f94ba7b41 + checksum: 54e71bceadcc86c7025f3b9cef4e00ea5330346afc607449051b47eb5b75a211edc0c01cb83c766fcac08173f5d7b76fd8e0761bb0d5dae09bb898161c890cdd languageName: node linkType: hard @@ -26195,7 +26195,7 @@ __metadata: lerna: 4.0.0 lodash.template: 4.5.0 make-dir-cli: 3.0.0 - msw: 0.38.1 + msw: 0.38.2 ncp: 2.0.0 node-notifier: 10.0.1 nodemon: 2.0.15 From dfdb5f110e44806ad386148646f24fa33863a677 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Thu, 3 Mar 2022 00:13:16 +0000 Subject: [PATCH 29/29] Update dependency eslint-config-prettier to v8.5.0 (#4631) Co-authored-by: Renovate Bot --- packages/eslint-config/package.json | 2 +- yarn.lock | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index 812c76aeae04..480be6d88f63 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -19,7 +19,7 @@ "@typescript-eslint/eslint-plugin": "5.13.0", "@typescript-eslint/parser": "5.13.0", "eslint": "8.10.0", - "eslint-config-prettier": "8.4.0", + "eslint-config-prettier": "8.5.0", "eslint-import-resolver-babel-module": "5.3.1", "eslint-plugin-babel": "5.3.1", "eslint-plugin-import": "2.25.4", diff --git a/yarn.lock b/yarn.lock index e2545fc40089..c2238f2b90bb 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5930,7 +5930,7 @@ __metadata: "@typescript-eslint/eslint-plugin": 5.13.0 "@typescript-eslint/parser": 5.13.0 eslint: 8.10.0 - eslint-config-prettier: 8.4.0 + eslint-config-prettier: 8.5.0 eslint-import-resolver-babel-module: 5.3.1 eslint-plugin-babel: 5.3.1 eslint-plugin-import: 2.25.4 @@ -14595,14 +14595,14 @@ __metadata: languageName: node linkType: hard -"eslint-config-prettier@npm:8.4.0": - version: 8.4.0 - resolution: "eslint-config-prettier@npm:8.4.0" +"eslint-config-prettier@npm:8.5.0": + version: 8.5.0 + resolution: "eslint-config-prettier@npm:8.5.0" peerDependencies: eslint: ">=7.0.0" bin: eslint-config-prettier: bin/cli.js - checksum: 2a1ce84dc4eb13d3a9f880b79077b62ad8e5d272aa0e3bae142e151f8f0d1cdd3025817ba6d78670469cfad3467731d73bac0413bc263e912141429279947a0b + checksum: e01efe3a30cc7a9d4944242b7944c4488514dfa198707d268474e1b938c6b8d1be1320c40ad01f1f3cde93bf393770b2d013e709c8411d41d9d0421fff86a12a languageName: node linkType: hard