From ed135dcee8376a82f70087b7542e528da54c3980 Mon Sep 17 00:00:00 2001 From: Josh GM Walker <56300765+Josh-Walker-GM@users.noreply.github.com> Date: Fri, 19 Apr 2024 20:17:33 +0100 Subject: [PATCH 01/16] fix(cli): avoid `npx` during upgrade command (#10479) **Problem** Fixes #10466. During `yarn rw upgrade` we check the version of `npx` installed. It's entirely possible that `npx` is not available or installed. We only do this check because we have to handle dedupe differently between yarn v1 and yarn >v1. We specify that redwood projects should be using yarn v4 using `"packageManager": "yarn@4.1.1"` in the `package.json`. Therefore when following the recommended setup users should not be using yarn v1 in their redwood projects. **Changes** 1. Avoid `npx` version check. 2. Skip dedupe step if for some reason have yarn v1. When this happens we log a warning message to tell the user to run a command manually to dedupe. --- .changesets/10479.md | 3 +++ packages/cli/src/commands/upgrade.js | 15 ++++++--------- 2 files changed, 9 insertions(+), 9 deletions(-) create mode 100644 .changesets/10479.md diff --git a/.changesets/10479.md b/.changesets/10479.md new file mode 100644 index 000000000000..a78273b4aae7 --- /dev/null +++ b/.changesets/10479.md @@ -0,0 +1,3 @@ +- fix(cli): avoid `npx` during upgrade command (#10479) by @Josh-Walker-GM + +This change fixes a problem with the `yarn rw upgrade` command when you don't have `npx` installed. If you don't have `npx` installed you will now have to manually run a command to dedupe dependencies rather than this being done for you automatically during the upgrade command. If this is the case, the `npx` command will be logged to the console when you run `yarn rw upgrade`. diff --git a/packages/cli/src/commands/upgrade.js b/packages/cli/src/commands/upgrade.js index dbc0827d9d18..2b52f4fd087b 100644 --- a/packages/cli/src/commands/upgrade.js +++ b/packages/cli/src/commands/upgrade.js @@ -390,11 +390,6 @@ export const getCmdMajorVersion = async (command) => { const dedupeDeps = async (task, { verbose }) => { try { const yarnVersion = await getCmdMajorVersion('yarn') - const npxVersion = await getCmdMajorVersion('npx') - let npxArgs = [] - if (npxVersion > 6) { - npxArgs = ['--yes'] - } const baseExecaArgsForDedupe = { shell: true, @@ -404,10 +399,12 @@ const dedupeDeps = async (task, { verbose }) => { if (yarnVersion > 1) { await execa('yarn', ['dedupe'], baseExecaArgsForDedupe) } else { - await execa( - 'npx', - [...npxArgs, 'yarn-deduplicate'], - baseExecaArgsForDedupe, + // Redwood projects should not be using yarn 1.x as we specify a version of yarn in the package.json + // with "packageManager": "yarn@4.1.1" or similar. + // Although we could (and previous did) automatically run `npx yarn-deduplicate` here, that would require + // the user to have `npx` installed, which is not guaranteed and we do not wish to enforce that. + task.skip( + "Yarn 1.x doesn't support dedupe directly. Please upgrade yarn or use npx with `npx yarn-deduplicate` manually.", ) } } catch (e) { From 1776dfca6df3fb4347a0d3b7a1dbfb2590991b3f Mon Sep 17 00:00:00 2001 From: Rob Cameron Date: Fri, 19 Apr 2024 15:32:38 -0700 Subject: [PATCH 02/16] chore(docs): Move .mdx import into separate file (#10486) This is in preparation of our new docs site: component imports in .mdx files should go into standalone components that can have `'use client'` at the top since they'll generally require user interaction. --- docs/docs/ReactPlayer.jsx | 5 +++++ docs/docs/project-configuration-dev-test-build.mdx | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) create mode 100644 docs/docs/ReactPlayer.jsx diff --git a/docs/docs/ReactPlayer.jsx b/docs/docs/ReactPlayer.jsx new file mode 100644 index 000000000000..eea078342da8 --- /dev/null +++ b/docs/docs/ReactPlayer.jsx @@ -0,0 +1,5 @@ +'use client' + +import ReactPlayer from 'react-player' + +export default ReactPlayer diff --git a/docs/docs/project-configuration-dev-test-build.mdx b/docs/docs/project-configuration-dev-test-build.mdx index 37df966dafeb..3cd33d890551 100644 --- a/docs/docs/project-configuration-dev-test-build.mdx +++ b/docs/docs/project-configuration-dev-test-build.mdx @@ -3,7 +3,7 @@ title: Project Configuration description: Advanced project configuration --- -import ReactPlayer from 'react-player' +import ReactPlayer from './ReactPlayer' # Project Configuration: Dev, Test, Build From affd56d7e4fb3d11c9a17a872679a1dd36d05b1d Mon Sep 17 00:00:00 2001 From: Josh GM Walker <56300765+Josh-Walker-GM@users.noreply.github.com> Date: Sat, 20 Apr 2024 08:16:56 +0100 Subject: [PATCH 03/16] chore(ssr): Switch to use `@apollo/client-react-streaming` package (#10484) Co-authored-by: Tobbe Lundberg --- .vscode/settings.json | 1 + .../experimental/setupStreamingSsrHandler.js | 19 ++++++-- packages/web/package.json | 2 +- packages/web/src/apollo/suspense.tsx | 32 ++++++++----- packages/web/src/components/ServerInject.tsx | 6 +-- yarn.lock | 45 ++++++++----------- 6 files changed, 61 insertions(+), 44 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 826a3d57d836..c59c6e289160 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -36,6 +36,7 @@ "redwoodjs", "rsdw", "RWJS", + "superjson", "tailwindcss", "waku" ] diff --git a/packages/cli/src/commands/experimental/setupStreamingSsrHandler.js b/packages/cli/src/commands/experimental/setupStreamingSsrHandler.js index 8bf4ec47e596..9715d5502039 100644 --- a/packages/cli/src/commands/experimental/setupStreamingSsrHandler.js +++ b/packages/cli/src/commands/experimental/setupStreamingSsrHandler.js @@ -159,9 +159,22 @@ export const handler = async ({ force, verbose }) => { }) }, }, - addWebPackages([ - '@apollo/experimental-nextjs-app-support@0.0.0-commit-b8a73fe', - ]), + { + title: + 'Adding resolution for "@apollo/client-react-streaming/superjson"', + task: () => { + // We need this to make sure we get a version of superjson that works + // with CommonJS. + // TODO: Remove this when Redwood switches to ESM + const pkgJsonPath = path.join(rwPaths.base, 'package.json') + const pkgJson = fs.readJsonSync(pkgJsonPath) + const resolutions = pkgJson.resolutions || {} + resolutions['@apollo/client-react-streaming/superjson'] = '^1.12.2' + pkgJson.resolutions = resolutions + fs.writeJsonSync(pkgJsonPath, pkgJson, { spaces: 2 }) + }, + }, + addWebPackages(['@apollo/client-react-streaming@0.10.0']), { task: () => { printTaskEpilogue(command, description, EXPERIMENTAL_TOPIC_ID) diff --git a/packages/web/package.json b/packages/web/package.json index 3136bcee6522..f7383cf1a608 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -50,7 +50,7 @@ "ts-toolbelt": "9.6.0" }, "devDependencies": { - "@apollo/experimental-nextjs-app-support": "0.0.0-commit-b8a73fe", + "@apollo/client-react-streaming": "0.10.0", "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@babel/plugin-transform-runtime": "7.24.3", diff --git a/packages/web/src/apollo/suspense.tsx b/packages/web/src/apollo/suspense.tsx index c76a69217d54..91dc3d90ef50 100644 --- a/packages/web/src/apollo/suspense.tsx +++ b/packages/web/src/apollo/suspense.tsx @@ -21,16 +21,17 @@ import { setLogVerbosity as apolloSetLogVerbosity, useMutation, useSubscription, -} from '@apollo/client' -import { - ApolloNextAppProvider, - NextSSRApolloClient, - NextSSRInMemoryCache, useBackgroundQuery, useQuery, useReadQuery, useSuspenseQuery, -} from '@apollo/experimental-nextjs-app-support/ssr' +} from '@apollo/client' +import { + ApolloClient, + InMemoryCache, + WrapApolloProvider, +} from '@apollo/client-react-streaming' +import { buildManualDataTransport } from '@apollo/client-react-streaming/manual-transport' import type { UseAuth } from '@redwoodjs/auth' import { ServerAuthContext, useNoAuth } from '@redwoodjs/auth' @@ -41,6 +42,7 @@ import { useFetchConfig, } from '../components/FetchConfigProvider' import { GraphQLHooksProvider } from '../components/GraphQLHooksProvider.js' +import { ServerHtmlContext } from '../components/ServerInject' import type { RedwoodApolloLink, @@ -114,6 +116,16 @@ export type GraphQLClientConfigProp = Omit< link?: ApolloLink | RedwoodApolloLinkFactory } +// Based on the code from here: +// https://github.com/apollographql/apollo-client-nextjs/blob/0aca8251409de7b729f7caa9c14492b0044e0d21/integration-test/vite-streaming/src/Transport.tsx#L19 +const WrappedApolloProvider = WrapApolloProvider( + buildManualDataTransport({ + useInsertHtml() { + return React.useContext(ServerHtmlContext) + }, + }), +) + const ApolloProviderWithFetchConfig: React.FunctionComponent<{ config: Omit & { cache: ApolloCache @@ -168,7 +180,7 @@ const ApolloProviderWithFetchConfig: React.FunctionComponent<{ function makeClient() { // @MARK use special Apollo client - return new NextSSRApolloClient({ + return new ApolloClient({ link: createFinalLink({ userConfiguredLink: userPassedLink, defaultLinks: redwoodApolloLinks, @@ -178,9 +190,9 @@ const ApolloProviderWithFetchConfig: React.FunctionComponent<{ } return ( - + {children} - + ) } @@ -200,7 +212,7 @@ export const RedwoodApolloProvider: React.FunctionComponent<{ const { cacheConfig, ...config } = graphQLClientConfig ?? {} // @MARK we need this special cache - const cache = new NextSSRInMemoryCache(cacheConfig).restore( + const cache = new InMemoryCache(cacheConfig).restore( globalThis?.__REDWOOD__APOLLO_STATE ?? {}, ) diff --git a/packages/web/src/components/ServerInject.tsx b/packages/web/src/components/ServerInject.tsx index 225614db6dbf..6ce8e1cebee1 100644 --- a/packages/web/src/components/ServerInject.tsx +++ b/packages/web/src/components/ServerInject.tsx @@ -15,8 +15,8 @@ import React, { Fragment, useContext, useId } from 'react' export type RenderCallback = () => ReactNode export const ServerHtmlContext = React.createContext< - ((things: RenderCallback) => void) | null ->(null) + (callback: RenderCallback) => void +>(() => {}) /** * @@ -34,7 +34,7 @@ export const createInjector = () => { return { injectToPage, injectionState } } -// @NOTE do not instatiate the provider value here, so that we can ensure +// @NOTE do not instantiate the provider value here, so that we can ensure // context isolation. This is done in streamHelpers currently, // using the createInjector factory, once per request export const ServerHtmlProvider = ServerHtmlContext.Provider diff --git a/yarn.lock b/yarn.lock index 0cbad9d299d2..8c70d9c4c783 100644 --- a/yarn.lock +++ b/yarn.lock @@ -103,6 +103,19 @@ __metadata: languageName: node linkType: hard +"@apollo/client-react-streaming@npm:0.10.0": + version: 0.10.0 + resolution: "@apollo/client-react-streaming@npm:0.10.0" + dependencies: + superjson: "npm:^1.12.2 || ^2.0.0" + ts-invariant: "npm:^0.10.3" + peerDependencies: + "@apollo/client": ^3.9.6 + react: ^18 + checksum: 10c0/b960665331cf52c05e033c91635df41ee311cd910d84b9f41b59be2496760f72591610c3eb746a46f57416f29bea7e2ee47e84e81fc3f0099db5087284f00905 + languageName: node + linkType: hard + "@apollo/client@npm:3.9.9": version: 3.9.9 resolution: "@apollo/client@npm:3.9.9" @@ -140,21 +153,6 @@ __metadata: languageName: node linkType: hard -"@apollo/experimental-nextjs-app-support@npm:0.0.0-commit-b8a73fe": - version: 0.0.0-commit-b8a73fe - resolution: "@apollo/experimental-nextjs-app-support@npm:0.0.0-commit-b8a73fe" - dependencies: - server-only: "npm:^0.0.1" - superjson: "npm:^1.12.2" - ts-invariant: "npm:^0.10.3" - peerDependencies: - "@apollo/client": ">=3.8.0-rc || ^3.8.0" - next: ^13.4.1 - react: ^18 - checksum: 10c0/aca7b04735bafbec41de7c950229de4ffda9f03f4b8e74646eccdde064e9cfc5497559202c1f93ca98322778a382ded04cdf5bc40a6eaa4f005ec985c6973688 - languageName: node - linkType: hard - "@ardatan/relay-compiler@npm:12.0.0": version: 12.0.0 resolution: "@ardatan/relay-compiler@npm:12.0.0" @@ -8899,7 +8897,7 @@ __metadata: resolution: "@redwoodjs/web@workspace:packages/web" dependencies: "@apollo/client": "npm:3.9.9" - "@apollo/experimental-nextjs-app-support": "npm:0.0.0-commit-b8a73fe" + "@apollo/client-react-streaming": "npm:0.10.0" "@babel/cli": "npm:7.24.1" "@babel/core": "npm:^7.22.20" "@babel/plugin-transform-runtime": "npm:7.24.3" @@ -28644,13 +28642,6 @@ __metadata: languageName: node linkType: hard -"server-only@npm:^0.0.1": - version: 0.0.1 - resolution: "server-only@npm:0.0.1" - checksum: 10c0/4704f0ef85da0be981af6d4ed8e739d39bcfd265b9c246a684060acda5642d0fdc6daffc2308e71e2682c5f508090978802eae0a77623c9b90a49f9ae68048d6 - languageName: node - linkType: hard - "set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" @@ -29669,12 +29660,12 @@ __metadata: languageName: node linkType: hard -"superjson@npm:^1.12.2": - version: 1.13.1 - resolution: "superjson@npm:1.13.1" +"superjson@npm:^1.12.2 || ^2.0.0": + version: 2.2.1 + resolution: "superjson@npm:2.2.1" dependencies: copy-anything: "npm:^3.0.2" - checksum: 10c0/596edde148df1f05f09236b0715ad97bcf803514e65a271d4f945557e35652b838e65c96520946b7ee7a62cb96f26a565749dc14897de2bcf9ac12371f1a4f8c + checksum: 10c0/5d8202c955170bd98ef2647f712754ac54d2d007923cfdb53a4b035304d8964b8c41d5eff41ee277896e2ac32e06abb009b571f1589416b729fe40216320cc7a languageName: node linkType: hard From fbffc7f86d3c6ff35aa1735a3d010c3e8f6658ce Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 18:58:38 +0200 Subject: [PATCH 04/16] RSC: Remove unused vite patch from test-project-rsa (#10487) This is outdated code. We've moved on to a newer version of vite now, so no need to keep this around anymore --- .../patches/vite-npm-4.4.9-e845c1bbf8.patch | 19 ------------------- __fixtures__/test-project-rsa/package.json | 5 +---- 2 files changed, 1 insertion(+), 23 deletions(-) delete mode 100644 __fixtures__/test-project-rsa/.yarn/patches/vite-npm-4.4.9-e845c1bbf8.patch diff --git a/__fixtures__/test-project-rsa/.yarn/patches/vite-npm-4.4.9-e845c1bbf8.patch b/__fixtures__/test-project-rsa/.yarn/patches/vite-npm-4.4.9-e845c1bbf8.patch deleted file mode 100644 index eb67d7906284..000000000000 --- a/__fixtures__/test-project-rsa/.yarn/patches/vite-npm-4.4.9-e845c1bbf8.patch +++ /dev/null @@ -1,19 +0,0 @@ -diff --git a/dist/node/chunks/dep-df561101.js b/dist/node/chunks/dep-df561101.js -index 1bc8674177fe73120171b22436e6104713c5d764..f0fee7b385868cb01c6d47b80d7f64a7368c0412 100644 ---- a/dist/node/chunks/dep-df561101.js -+++ b/dist/node/chunks/dep-df561101.js -@@ -55890,12 +55890,12 @@ async function instantiateModule(url, server, context = { global }, urlStack = [ - }; - urlStack = urlStack.concat(url); - const isCircular = (url) => urlStack.includes(url); -- const { isProduction, resolve: { dedupe, preserveSymlinks }, root, } = server.config; -+ const { isProduction, resolve: { dedupe, preserveSymlinks, conditions }, root, } = server.config; - const resolveOptions = { - mainFields: ['main'], - browserField: true, - conditions: [], -- overrideConditions: ['production', 'development'], -+ overrideConditions: [...conditions, 'production', 'development'], - extensions: ['.js', '.cjs', '.json'], - dedupe, - preserveSymlinks, diff --git a/__fixtures__/test-project-rsa/package.json b/__fixtures__/test-project-rsa/package.json index c7208f76e2cb..86e8df531271 100644 --- a/__fixtures__/test-project-rsa/package.json +++ b/__fixtures__/test-project-rsa/package.json @@ -19,8 +19,5 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1", - "resolutions": { - "vite@4.4.9": "patch:vite@npm%3A4.4.9#./.yarn/patches/vite-npm-4.4.9-e845c1bbf8.patch" - } + "packageManager": "yarn@4.1.1" } From 9eac1fdd231d73b6d302eb554d068b3e5f174075 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 19:20:13 +0200 Subject: [PATCH 05/16] RSC: Update test projects to use new @apollo/client-react-streaming (#10488) --- __fixtures__/test-project-rsa/package.json | 5 ++++- __fixtures__/test-project-rsa/web/package.json | 2 +- .../package.json | 5 ++++- .../web/package.json | 2 +- 4 files changed, 10 insertions(+), 4 deletions(-) diff --git a/__fixtures__/test-project-rsa/package.json b/__fixtures__/test-project-rsa/package.json index 86e8df531271..81f76184b7c3 100644 --- a/__fixtures__/test-project-rsa/package.json +++ b/__fixtures__/test-project-rsa/package.json @@ -19,5 +19,8 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@apollo/client-react-streaming/superjson": "^1.12.2" + } } diff --git a/__fixtures__/test-project-rsa/web/package.json b/__fixtures__/test-project-rsa/web/package.json index 2137e301b9d7..4e67de27d64b 100644 --- a/__fixtures__/test-project-rsa/web/package.json +++ b/__fixtures__/test-project-rsa/web/package.json @@ -11,7 +11,7 @@ ] }, "dependencies": { - "@apollo/experimental-nextjs-app-support": "0.0.0-commit-b8a73fe", + "@apollo/client-react-streaming": "0.10.0", "@redwoodjs/forms": "8.0.0-canary.144", "@redwoodjs/router": "8.0.0-canary.144", "@redwoodjs/web": "8.0.0-canary.144", diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/package.json index 0c213e874494..a758ee224fab 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/package.json @@ -20,5 +20,8 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@apollo/client-react-streaming/superjson": "^1.12.2" + } } diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json index 67ca702530a7..76b29d6d0257 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json @@ -11,7 +11,7 @@ ] }, "dependencies": { - "@apollo/experimental-nextjs-app-support": "0.0.0-commit-b8a73fe", + "@apollo/client-react-streaming": "0.10.0", "@jtoar/throw-on-client": "0.0.1", "@redwoodjs/forms": "7.0.0-canary.1011", "@redwoodjs/router": "7.0.0-canary.1011", From a8378ae5320fe8fb616caadea997acf58d5ca442 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 19:23:39 +0200 Subject: [PATCH 06/16] chore(renovate): Remove config for unused package (#10489) --- .github/renovate.json | 9 --------- 1 file changed, 9 deletions(-) diff --git a/.github/renovate.json b/.github/renovate.json index 56c54a889e15..3aa6fbfd133d 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -62,15 +62,6 @@ "sort-package-json", "zx" ] - }, - - { - "groupName": "experimental", - "enabled": false, - - "matchPackageNames": [ - "@apollo/experimental-nextjs-app-support" - ] } ] } From 52f2a257596a4fc3e8bcb427810107141e25f9e2 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 20:43:43 +0200 Subject: [PATCH 07/16] RSC: css preinit: Add required option precedence (#10481) --- .../__tests__/vite-plugin-rsc-css-preinit.test.mts | 9 ++++++--- packages/vite/src/plugins/vite-plugin-rsc-css-preinit.ts | 4 ++++ 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/packages/vite/src/plugins/__tests__/vite-plugin-rsc-css-preinit.test.mts b/packages/vite/src/plugins/__tests__/vite-plugin-rsc-css-preinit.test.mts index 149c1fdbbbca..66909724e5a8 100644 --- a/packages/vite/src/plugins/__tests__/vite-plugin-rsc-css-preinit.test.mts +++ b/packages/vite/src/plugins/__tests__/vite-plugin-rsc-css-preinit.test.mts @@ -108,13 +108,16 @@ describe('rscCssPreinitPlugin', () => { name = "Anonymous" }) => { preinit("assets/Counter-BZpJq_HD.css", { - as: "style" + as: "style", + precedence: "medium" }); preinit("assets/rsc-DeepSubCounter-DqMovEyK.css", { - as: "style" + as: "style", + precedence: "medium" }); preinit("assets/rsc-SubCounter-Bc4odF6o.css", { - as: "style" + as: "style", + precedence: "medium" }); return /* @__PURE__ */jsxs("div", { className: "home-page", diff --git a/packages/vite/src/plugins/vite-plugin-rsc-css-preinit.ts b/packages/vite/src/plugins/vite-plugin-rsc-css-preinit.ts index fc69d16a1013..580932d32766 100644 --- a/packages/vite/src/plugins/vite-plugin-rsc-css-preinit.ts +++ b/packages/vite/src/plugins/vite-plugin-rsc-css-preinit.ts @@ -215,6 +215,10 @@ export function rscCssPreinitPlugin( t.identifier('as'), t.stringLiteral('style'), ), + t.objectProperty( + t.identifier('precedence'), + t.stringLiteral('medium'), + ), ]), ]), ), From efdbd8f44b7d6f2fb7998d04ade8512d59092152 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 21:42:43 +0200 Subject: [PATCH 08/16] chore(dataMigrate): Fix package.json directory value (#10490) --- packages/cli-packages/dataMigrate/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli-packages/dataMigrate/package.json b/packages/cli-packages/dataMigrate/package.json index af8e7c5ac42c..7257b0543859 100644 --- a/packages/cli-packages/dataMigrate/package.json +++ b/packages/cli-packages/dataMigrate/package.json @@ -4,7 +4,7 @@ "repository": { "type": "git", "url": "https://github.com/redwoodjs/redwood.git", - "directory": "packages/cli-packages/storybook" + "directory": "packages/cli-packages/dataMigrate" }, "license": "MIT", "exports": "./dist/index.js", From 1ed26505944a5e51210ad8d22b00b5eabf472ce4 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sat, 20 Apr 2024 22:56:30 +0200 Subject: [PATCH 09/16] fix(deps): update React to latest canary 19.x (#10482) --- .github/workflows/ci.yml | 4 + .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 + .../fragment-test-project/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ .../test-project-rsa/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ .../web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 + __fixtures__/test-project/package.json | 5 +- __fixtures__/test-project/web/package.json | 4 +- package.json | 3 +- .../auth-providers/auth0/web/package.json | 2 +- .../azureActiveDirectory/web/package.json | 2 +- .../auth-providers/clerk/web/package.json | 2 +- .../auth-providers/dbAuth/web/package.json | 2 +- .../auth-providers/firebase/web/package.json | 2 +- .../auth-providers/netlify/web/package.json | 2 +- .../auth-providers/supabase/web/package.json | 2 +- .../supertokens/web/package.json | 2 +- packages/auth/package.json | 2 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 + .../templates/js/package.json | 5 +- .../templates/js/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 +++++ ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 + .../templates/ts/package.json | 5 +- .../templates/ts/web/package.json | 4 +- .../tests/templates.test.ts | 8 + packages/forms/package.json | 6 +- packages/ogimage-gen/package.json | 4 +- packages/prerender/package.json | 4 +- packages/router/package.json | 8 +- packages/vite/package.json | 4 +- packages/web/package.json | 10 +- yarn.lock | 141 ++++++++++++------ 38 files changed, 397 insertions(+), 90 deletions(-) create mode 100644 .yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 .yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch create mode 100644 __fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 __fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 __fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 __fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch create mode 100644 packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch create mode 100644 packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch create mode 100644 packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 8436d7c63c55..fbd0265075f5 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -237,6 +237,10 @@ jobs: - name: Run `rw build --no-prerender` run: | + yarn why @apollo/client + tree .yarn + tree node_modules/@apollo/client/react/hooks/internal + cat node_modules/@apollo/client/react/hooks/internal/useRenderGuard.js yarn rw build --no-prerender working-directory: ${{ steps.set-up-test-project.outputs.test-project-path }} diff --git a/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch new file mode 100644 index 000000000000..4f6243bdd1f4 --- /dev/null +++ b/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch @@ -0,0 +1,7 @@ +diff --git a/dist/preset.js b/dist/preset.js +index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 +--- a/dist/preset.js ++++ b/dist/preset.js +@@ -1 +1 @@ +-"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); ++"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/__fixtures__/fragment-test-project/web/package.json b/__fixtures__/fragment-test-project/web/package.json index f527cdb9c3d2..05fb9a6b5eb3 100644 --- a/__fixtures__/fragment-test-project/web/package.json +++ b/__fixtures__/fragment-test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project-rsa/web/package.json b/__fixtures__/test-project-rsa/web/package.json index 4e67de27d64b..b418e2cefc0d 100644 --- a/__fixtures__/test-project-rsa/web/package.json +++ b/__fixtures__/test-project-rsa/web/package.json @@ -15,8 +15,8 @@ "@redwoodjs/forms": "8.0.0-canary.144", "@redwoodjs/router": "8.0.0-canary.144", "@redwoodjs/web": "8.0.0-canary.144", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "8.0.0-canary.144", diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json index 76b29d6d0257..d28ed24a094d 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json @@ -18,8 +18,8 @@ "@redwoodjs/web": "7.0.0-canary.1011", "@tobbe.dev/rsc-test": "0.0.5", "client-only": "0.0.1", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0-canary.1011", diff --git a/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch new file mode 100644 index 000000000000..4f6243bdd1f4 --- /dev/null +++ b/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch @@ -0,0 +1,7 @@ +diff --git a/dist/preset.js b/dist/preset.js +index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 +--- a/dist/preset.js ++++ b/dist/preset.js +@@ -1 +1 @@ +-"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); ++"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index f93f198eeb40..e9d5e7f3a963 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -20,5 +20,8 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" + } } diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index 6cfed421007b..b3e669ea6d75 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/package.json b/package.json index f5288ae3db45..b66eac6e5ee0 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "vscode-languageserver": "6.1.1", "vscode-languageserver-protocol": "3.15.3", "vscode-languageserver-textdocument": "1.0.11", - "vscode-languageserver-types": "3.17.5" + "vscode-languageserver-types": "3.17.5", + "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" }, "devDependencies": { "@actions/cache": "3.2.4", diff --git a/packages/auth-providers/auth0/web/package.json b/packages/auth-providers/auth0/web/package.json index 32da48ca7903..1ff27057a9cc 100644 --- a/packages/auth-providers/auth0/web/package.json +++ b/packages/auth-providers/auth0/web/package.json @@ -32,7 +32,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/azureActiveDirectory/web/package.json b/packages/auth-providers/azureActiveDirectory/web/package.json index a212a7da2ad6..1f8edd51290d 100644 --- a/packages/auth-providers/azureActiveDirectory/web/package.json +++ b/packages/auth-providers/azureActiveDirectory/web/package.json @@ -33,7 +33,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/clerk/web/package.json b/packages/auth-providers/clerk/web/package.json index 11f66265f033..8a0ef706ee1b 100644 --- a/packages/auth-providers/clerk/web/package.json +++ b/packages/auth-providers/clerk/web/package.json @@ -33,7 +33,7 @@ "@clerk/clerk-react": "4.30.7", "@clerk/types": "3.62.1", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/dbAuth/web/package.json b/packages/auth-providers/dbAuth/web/package.json index a7ec05461fa7..0c249ebe8120 100644 --- a/packages/auth-providers/dbAuth/web/package.json +++ b/packages/auth-providers/dbAuth/web/package.json @@ -36,7 +36,7 @@ "@types/react": "^18.2.55", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/auth-providers/firebase/web/package.json b/packages/auth-providers/firebase/web/package.json index 81720510f8f0..8fba31a67387 100644 --- a/packages/auth-providers/firebase/web/package.json +++ b/packages/auth-providers/firebase/web/package.json @@ -34,7 +34,7 @@ "firebase": "10.11.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5" }, "peerDependencies": { diff --git a/packages/auth-providers/netlify/web/package.json b/packages/auth-providers/netlify/web/package.json index 2f3bf57d2e47..2af5b7e2b55e 100644 --- a/packages/auth-providers/netlify/web/package.json +++ b/packages/auth-providers/netlify/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supabase/web/package.json b/packages/auth-providers/supabase/web/package.json index 62b84f3db73b..ab6f4c7d15e4 100644 --- a/packages/auth-providers/supabase/web/package.json +++ b/packages/auth-providers/supabase/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@supabase/supabase-js": "2.40.0", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supertokens/web/package.json b/packages/auth-providers/supertokens/web/package.json index bd4419570aba..2bbf982f2c63 100644 --- a/packages/auth-providers/supertokens/web/package.json +++ b/packages/auth-providers/supertokens/web/package.json @@ -31,7 +31,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "supertokens-auth-react": "0.39.1", "typescript": "5.4.5", "vitest": "1.4.0" diff --git a/packages/auth/package.json b/packages/auth/package.json index 5701cd6cbea9..add9349d8c97 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "core-js": "3.36.1", - "react": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch new file mode 100644 index 000000000000..4f6243bdd1f4 --- /dev/null +++ b/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch @@ -0,0 +1,7 @@ +diff --git a/dist/preset.js b/dist/preset.js +index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 +--- a/dist/preset.js ++++ b/dist/preset.js +@@ -1 +1 @@ +-"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); ++"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/packages/create-redwood-app/templates/js/package.json b/packages/create-redwood-app/templates/js/package.json index f93f198eeb40..e9d5e7f3a963 100644 --- a/packages/create-redwood-app/templates/js/package.json +++ b/packages/create-redwood-app/templates/js/package.json @@ -20,5 +20,8 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" + } } diff --git a/packages/create-redwood-app/templates/js/web/package.json b/packages/create-redwood-app/templates/js/web/package.json index 171b5331ccc6..20760391c43b 100644 --- a/packages/create-redwood-app/templates/js/web/package.json +++ b/packages/create-redwood-app/templates/js/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch new file mode 100644 index 000000000000..176f03718891 --- /dev/null +++ b/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch @@ -0,0 +1,35 @@ +diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js +index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 +--- a/react/hooks/internal/useRenderGuard.js ++++ b/react/hooks/internal/useRenderGuard.js +@@ -1,7 +1,9 @@ +-import * as React from "rehackt"; ++import React from "rehackt"; + function getRenderDispatcher() { +- var _a, _b; +- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; ++ return _b === null || _b === void 0 ? void 0 : _b.current; + } + var RenderDispatcher = null; + /* +diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js +index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 +--- a/testing/internal/profile/profile.js ++++ b/testing/internal/profile/profile.js +@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { + }); + } + function resolveHookOwner() { +- var _a, _b, _c; +- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; ++ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; ++ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; ++ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; ++ var _c; ++ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; + } + export function useTrackRenders(_a) { + var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch new file mode 100644 index 000000000000..4f6243bdd1f4 --- /dev/null +++ b/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch @@ -0,0 +1,7 @@ +diff --git a/dist/preset.js b/dist/preset.js +index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 +--- a/dist/preset.js ++++ b/dist/preset.js +@@ -1 +1 @@ +-"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); ++"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/packages/create-redwood-app/templates/ts/package.json b/packages/create-redwood-app/templates/ts/package.json index f93f198eeb40..e9d5e7f3a963 100644 --- a/packages/create-redwood-app/templates/ts/package.json +++ b/packages/create-redwood-app/templates/ts/package.json @@ -20,5 +20,8 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" + } } diff --git a/packages/create-redwood-app/templates/ts/web/package.json b/packages/create-redwood-app/templates/ts/web/package.json index 171b5331ccc6..20760391c43b 100644 --- a/packages/create-redwood-app/templates/ts/web/package.json +++ b/packages/create-redwood-app/templates/ts/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/create-redwood-app/tests/templates.test.ts b/packages/create-redwood-app/tests/templates.test.ts index 61ed0219efab..8e490958fe05 100644 --- a/packages/create-redwood-app/tests/templates.test.ts +++ b/packages/create-redwood-app/tests/templates.test.ts @@ -21,6 +21,10 @@ describe('TS template', () => { "/.vscode/launch.json", "/.vscode/settings.json", "/.vscode/tasks.json", + "/.yarn", + "/.yarn/patches", + "/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", + "/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch", "/.yarnrc.yml", "/README.md", "/api", @@ -103,6 +107,10 @@ describe('JS template', () => { "/.vscode/launch.json", "/.vscode/settings.json", "/.vscode/tasks.json", + "/.yarn", + "/.yarn/patches", + "/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", + "/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch", "/.yarnrc.yml", "/README.md", "/api", diff --git a/packages/forms/package.json b/packages/forms/package.json index 9bffbe3c925c..9f0b2eb5e76a 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -40,13 +40,13 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/ogimage-gen/package.json b/packages/ogimage-gen/package.json index 8a3b844a531b..693bf969c1e0 100644 --- a/packages/ogimage-gen/package.json +++ b/packages/ogimage-gen/package.json @@ -34,8 +34,8 @@ "@redwoodjs/router": "workspace:*", "@redwoodjs/vite": "workspace:*", "fast-glob": "3.3.2", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/prerender/package.json b/packages/prerender/package.json index 4a63ad911e1f..a1ae6a8fd294 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -48,8 +48,8 @@ "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "externals": { "react": "react", diff --git a/packages/router/package.json b/packages/router/package.json index d4cb82a03c2c..d90001282d38 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -36,14 +36,14 @@ "@types/react-dom": "^18.2.19", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "tstyche": "1.1.0", "typescript": "5.4.5" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/vite/package.json b/packages/vite/package.json index 4a3e4ffcb5f6..0a78abf852a9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -81,8 +81,8 @@ "find-my-way": "8.1.0", "http-proxy-middleware": "2.0.6", "isbot": "3.8.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-server-dom-webpack": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-server-dom-webpack": "19.0.0-canary-36e62c603-20240418", "vite": "5.2.8", "vite-plugin-cjs-interop": "2.1.0", "yargs-parser": "21.1.1" diff --git a/packages/web/package.json b/packages/web/package.json index f7383cf1a608..7de2f5f33864 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -37,7 +37,7 @@ "test:watch": "vitest watch" }, "dependencies": { - "@apollo/client": "3.9.9", + "@apollo/client": "patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", "@babel/runtime-corejs3": "7.24.1", "@redwoodjs/auth": "workspace:*", "core-js": "3.36.1", @@ -61,15 +61,15 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "tstyche": "1.1.0", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/yarn.lock b/yarn.lock index 8c70d9c4c783..17e1b54eab2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -153,6 +153,43 @@ __metadata: languageName: node linkType: hard +"@apollo/client@patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch": + version: 3.9.9 + resolution: "@apollo/client@patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch::version=3.9.9&hash=da1f5d" + dependencies: + "@graphql-typed-document-node/core": "npm:^3.1.1" + "@wry/caches": "npm:^1.0.0" + "@wry/equality": "npm:^0.5.6" + "@wry/trie": "npm:^0.5.0" + graphql-tag: "npm:^2.12.6" + hoist-non-react-statics: "npm:^3.3.2" + optimism: "npm:^0.18.0" + prop-types: "npm:^15.7.2" + rehackt: "npm:0.0.6" + response-iterator: "npm:^0.2.6" + symbol-observable: "npm:^4.0.0" + ts-invariant: "npm:^0.10.3" + tslib: "npm:^2.3.0" + zen-observable-ts: "npm:^1.2.5" + peerDependencies: + graphql: ^15.0.0 || ^16.0.0 + graphql-ws: ^5.5.5 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + subscriptions-transport-ws: ^0.9.0 || ^0.11.0 + peerDependenciesMeta: + graphql-ws: + optional: true + react: + optional: true + react-dom: + optional: true + subscriptions-transport-ws: + optional: true + checksum: 10c0/c4dfa8cb7d1ce77a3a3ea7e04e38b9da8aeb36e15701e8da0bc65e9ac133438972b2b19461eba4ce89d88332cb3f2c85b7b8a0ace2ddefc38cb9e269badf9296 + languageName: node + linkType: hard + "@ardatan/relay-compiler@npm:12.0.0": version: 12.0.0 resolution: "@ardatan/relay-compiler@npm:12.0.0" @@ -7574,7 +7611,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7627,7 +7664,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7677,7 +7714,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7770,7 +7807,7 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7819,7 +7856,7 @@ __metadata: firebase: "npm:10.11.0" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" peerDependencies: firebase: 10.11.0 @@ -7869,7 +7906,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7919,7 +7956,7 @@ __metadata: "@supabase/supabase-js": "npm:2.40.0" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7972,7 +8009,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" supertokens-auth-react: "npm:0.39.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -7990,7 +8027,7 @@ __metadata: "@testing-library/react": "npm:14.2.2" core-js: "npm:3.36.1" msw: "npm:1.3.3" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" tsx: "npm:4.7.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -8370,13 +8407,13 @@ __metadata: graphql: "npm:16.8.1" nodemon: "npm:3.1.0" pascalcase: "npm:1.0.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" react-hook-form: "npm:7.51.2" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8587,8 +8624,8 @@ __metadata: "@redwoodjs/router": "workspace:*" "@redwoodjs/vite": "workspace:*" fast-glob: "npm:3.3.2" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" ts-toolbelt: "npm:9.6.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8621,8 +8658,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8702,13 +8739,13 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" tstyche: "npm:1.1.0" typescript: "npm:5.4.5" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8855,8 +8892,8 @@ __metadata: glob: "npm:10.3.12" http-proxy-middleware: "npm:2.0.6" isbot: "npm:3.8.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-server-dom-webpack: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-server-dom-webpack: "npm:19.0.0-canary-36e62c603-20240418" rollup: "npm:4.13.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8896,7 +8933,7 @@ __metadata: version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: - "@apollo/client": "npm:3.9.9" + "@apollo/client": "patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch" "@apollo/client-react-streaming": "npm:0.10.0" "@babel/cli": "npm:7.24.1" "@babel/core": "npm:^7.22.20" @@ -8914,8 +8951,8 @@ __metadata: graphql-sse: "npm:2.5.2" graphql-tag: "npm:2.12.6" nodemon: "npm:3.1.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" react-helmet-async: "npm:2.0.4" react-hot-toast: "npm:2.4.1" stacktracey: "npm:2.1.8" @@ -8924,8 +8961,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 bin: cross-env: ./dist/bins/cross-env.js msw: ./dist/bins/msw.js @@ -10053,6 +10090,16 @@ __metadata: languageName: node linkType: hard +"@storybook/react-dom-shim@patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch": + version: 7.6.17 + resolution: "@storybook/react-dom-shim@patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch::version=7.6.17&hash=5d9d27" + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 10c0/3a16df94b6c0ebd363fa76e6bc90fc70a3638ef6a5ce7f820524ebe222ac541e962a2b0879f59da31920cd798ecaa3fd668ed9b590bda5505670b3da69f9927c + languageName: node + linkType: hard + "@storybook/react-webpack5@npm:7.6.17": version: 7.6.17 resolution: "@storybook/react-webpack5@npm:7.6.17" @@ -27147,14 +27194,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react-dom@npm:18.3.0-canary-a870b2d54-20240314" +"react-dom@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react-dom@npm:19.0.0-canary-36e62c603-20240418" dependencies: - scheduler: "npm:0.24.0-canary-a870b2d54-20240314" + scheduler: "npm:0.25.0-canary-36e62c603-20240418" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - checksum: 10c0/6896473a3a7ed802f6b85c9601c64b0f1fe58ffbf3829ee5ac819a503fa16f5ec4d39b4b3f188cb2bf9ba9fb74cbdc28844c03cc2a4208303595220e5877d1b5 + react: 19.0.0-canary-36e62c603-20240418 + checksum: 10c0/e793e44af18b02d7e684a9e1dfbeb51e24ebcf17295303813b4a9e91962c51c6d1857a10d06aaeb390d5b503251225a93ef7d8e8a6e696a21a2148812575870c languageName: node linkType: hard @@ -27300,17 +27347,17 @@ __metadata: languageName: node linkType: hard -"react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314" +"react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418" dependencies: acorn-loose: "npm:^8.3.0" neo-async: "npm:^2.6.1" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 webpack: ^5.59.0 - checksum: 10c0/9040df3d8549898dbf4afd7bc86a01948e47b6eda998bda0e663a69fefa6922fa5977aaec0d0795938aac62c97d1da9307636051d0d12ec429c3c416cad23ffb + checksum: 10c0/cea48503f3e5b45d8ceb6103a809eac7715917373a352a6f5bfa969378f2bbe0aeec05522b4e1819770cc2f40315e42bf4b5a3a06cffb1c9adf12d1dfc980bb4 languageName: node linkType: hard @@ -27340,10 +27387,10 @@ __metadata: languageName: node linkType: hard -"react@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react@npm:18.3.0-canary-a870b2d54-20240314" - checksum: 10c0/f89b119c6fefc0956c815ad99e39ba83bc44485c4187143003a01906ef1d750a02f0018210eb192d1d0bdcd28a280139bf399bc59c972fc9e8f9938ee8c63387 +"react@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react@npm:19.0.0-canary-36e62c603-20240418" + checksum: 10c0/c9e48c9a21cd21736d6e0523bdf72f0b3d88b3581b70ccc0aba761927eaae823d1c8c2b047678827737792a92c01d40b977d422cd7195760e4f88879cca15446 languageName: node linkType: hard @@ -28449,10 +28496,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.24.0-canary-a870b2d54-20240314": - version: 0.24.0-canary-a870b2d54-20240314 - resolution: "scheduler@npm:0.24.0-canary-a870b2d54-20240314" - checksum: 10c0/ac70f95c1d0cbf6de8bf0d1b2f1c8bb063d0ea0ce9410de720b9eeb17d85dc18bc9bc3c2ab89332cb0d7e746b68f7599ccc4915bcf3ea3a4541797bb1f2ec587 +"scheduler@npm:0.25.0-canary-36e62c603-20240418": + version: 0.25.0-canary-36e62c603-20240418 + resolution: "scheduler@npm:0.25.0-canary-36e62c603-20240418" + checksum: 10c0/bf7adcdd9c3d786405dd3f8c9a107cc7fd8e8b62dd491f308c68a07cbd62da4caa73a20431b42d47cd0bd7f97e809ec1e3f5e2d35a9eedf9f827d3eb4789c299 languageName: node linkType: hard From 051bfd4116643b28173d91e4476798283514f504 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Sun, 21 Apr 2024 11:02:08 +0200 Subject: [PATCH 10/16] fix(upgrade): Download yarn patches (#10491) --- packages/cli/src/commands/upgrade.js | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/packages/cli/src/commands/upgrade.js b/packages/cli/src/commands/upgrade.js index 2b52f4fd087b..01b25fb77311 100644 --- a/packages/cli/src/commands/upgrade.js +++ b/packages/cli/src/commands/upgrade.js @@ -111,6 +111,11 @@ export const handler = async ({ dryRun, tag, verbose, dedupe }) => { updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }), enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), }, + { + title: 'Downloading yarn patches', + task: (ctx) => downloadYarnPatches(ctx, { dryRun, verbose }), + enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), + }, { title: 'Running yarn install', task: (ctx) => yarnInstall(ctx, { dryRun, verbose }), @@ -355,6 +360,58 @@ async function updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }) { ) } +async function downloadYarnPatches(ctx, { dryRun, verbose }) { + if (!ctx.versionToUpgradeTo) { + throw new Error('Failed to upgrade') + } + + const res = await fetch( + 'https://api.github.com/repos/redwoodjs/redwood/git/trees/main?recursive=1', + ) + const json = await res.json() + const patches = json.tree.filter((patchInfo) => + patchInfo.path.startsWith( + 'packages/create-redwood-app/templates/ts/.yarn/patches/', + ), + ) + + const patchDir = path.join(getPaths().base, '.yarn', 'patches') + + if (verbose) { + console.log('Creating patch directory', patchDir) + } + + if (!dryRun) { + fs.mkdirSync(patchDir, { recursive: true }) + } + + return new Listr( + patches.map((patch) => { + return { + title: `Downloading ${patch.path}`, + task: async () => { + const res = await fetch(patch.url) + const patchMeta = await res.json() + const patchPath = path.join( + getPaths().base, + '.yarn', + 'patches', + path.basename(patch.path), + ) + + if (verbose) { + console.log('Writing patch', patchPath) + } + + if (!dryRun) { + await fs.writeFile(patchPath, patchMeta.content, 'base64') + } + }, + } + }), + ) +} + async function refreshPrismaClient(task, { verbose }) { /** Relates to prisma/client issue, @see: https://github.com/redwoodjs/redwood/issues/1083 */ try { From 9e4475a341c317910e170e2f022657286d416f19 Mon Sep 17 00:00:00 2001 From: Curtis Reimer <51102303+cjreimer@users.noreply.github.com> Date: Sun, 21 Apr 2024 04:35:56 -0500 Subject: [PATCH 11/16] Modified type for describeScenario (#10468) Co-authored-by: Daniel Choudhury --- packages/testing/src/api/scenario.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/testing/src/api/scenario.ts b/packages/testing/src/api/scenario.ts index 463c31cd0889..887841740620 100644 --- a/packages/testing/src/api/scenario.ts +++ b/packages/testing/src/api/scenario.ts @@ -117,7 +117,7 @@ interface TestFunctionWithScenario { } interface DescribeBlockWithGetScenario { - (getScenario?: () => TData): void + (getScenario: () => TData): void } export interface Scenario { From d78968cbaa073e7edcdf1350b39e3b7da28327fc Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Mon, 22 Apr 2024 12:30:46 +0200 Subject: [PATCH 12/16] Revert React 19 upgrade (#10482 and #10491) (#10495) --- .github/workflows/ci.yml | 4 - .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 - .../fragment-test-project/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- .../test-project-rsa/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- .../web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 - __fixtures__/test-project/package.json | 5 +- __fixtures__/test-project/web/package.json | 4 +- package.json | 3 +- .../auth-providers/auth0/web/package.json | 2 +- .../azureActiveDirectory/web/package.json | 2 +- .../auth-providers/clerk/web/package.json | 2 +- .../auth-providers/dbAuth/web/package.json | 2 +- .../auth-providers/firebase/web/package.json | 2 +- .../auth-providers/netlify/web/package.json | 2 +- .../auth-providers/supabase/web/package.json | 2 +- .../supertokens/web/package.json | 2 +- packages/auth/package.json | 2 +- packages/cli/src/commands/upgrade.js | 57 ------- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 - .../templates/js/package.json | 5 +- .../templates/js/web/package.json | 4 +- .../@apollo-client-npm-3.9.9-15c2e13518.patch | 35 ----- ...react-dom-shim-npm-7.6.17-789bc900f0.patch | 7 - .../templates/ts/package.json | 5 +- .../templates/ts/web/package.json | 4 +- .../tests/templates.test.ts | 8 - packages/forms/package.json | 6 +- packages/ogimage-gen/package.json | 4 +- packages/prerender/package.json | 4 +- packages/router/package.json | 8 +- packages/vite/package.json | 4 +- packages/web/package.json | 10 +- yarn.lock | 141 ++++++------------ 39 files changed, 90 insertions(+), 454 deletions(-) delete mode 100644 .yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 .yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch delete mode 100644 __fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 __fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 __fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 __fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch delete mode 100644 packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch delete mode 100644 packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch delete mode 100644 packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fbd0265075f5..8436d7c63c55 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -237,10 +237,6 @@ jobs: - name: Run `rw build --no-prerender` run: | - yarn why @apollo/client - tree .yarn - tree node_modules/@apollo/client/react/hooks/internal - cat node_modules/@apollo/client/react/hooks/internal/useRenderGuard.js yarn rw build --no-prerender working-directory: ${{ steps.set-up-test-project.outputs.test-project-path }} diff --git a/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch deleted file mode 100644 index 4f6243bdd1f4..000000000000 --- a/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/dist/preset.js b/dist/preset.js -index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 ---- a/dist/preset.js -+++ b/dist/preset.js -@@ -1 +1 @@ --"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); -+"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/__fixtures__/fragment-test-project/web/package.json b/__fixtures__/fragment-test-project/web/package.json index 05fb9a6b5eb3..f527cdb9c3d2 100644 --- a/__fixtures__/fragment-test-project/web/package.json +++ b/__fixtures__/fragment-test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/__fixtures__/test-project-rsa/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project-rsa/web/package.json b/__fixtures__/test-project-rsa/web/package.json index b418e2cefc0d..4e67de27d64b 100644 --- a/__fixtures__/test-project-rsa/web/package.json +++ b/__fixtures__/test-project-rsa/web/package.json @@ -15,8 +15,8 @@ "@redwoodjs/forms": "8.0.0-canary.144", "@redwoodjs/router": "8.0.0-canary.144", "@redwoodjs/web": "8.0.0-canary.144", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "8.0.0-canary.144", diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json index d28ed24a094d..76b29d6d0257 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json @@ -18,8 +18,8 @@ "@redwoodjs/web": "7.0.0-canary.1011", "@tobbe.dev/rsc-test": "0.0.5", "client-only": "0.0.1", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "7.0.0-canary.1011", diff --git a/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/__fixtures__/test-project/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch deleted file mode 100644 index 4f6243bdd1f4..000000000000 --- a/__fixtures__/test-project/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/dist/preset.js b/dist/preset.js -index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 ---- a/dist/preset.js -+++ b/dist/preset.js -@@ -1 +1 @@ --"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); -+"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index e9d5e7f3a963..f93f198eeb40 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -20,8 +20,5 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1", - "resolutions": { - "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" - } + "packageManager": "yarn@4.1.1" } diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index b3e669ea6d75..6cfed421007b 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/package.json b/package.json index b66eac6e5ee0..f5288ae3db45 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,7 @@ "vscode-languageserver": "6.1.1", "vscode-languageserver-protocol": "3.15.3", "vscode-languageserver-textdocument": "1.0.11", - "vscode-languageserver-types": "3.17.5", - "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" + "vscode-languageserver-types": "3.17.5" }, "devDependencies": { "@actions/cache": "3.2.4", diff --git a/packages/auth-providers/auth0/web/package.json b/packages/auth-providers/auth0/web/package.json index 1ff27057a9cc..32da48ca7903 100644 --- a/packages/auth-providers/auth0/web/package.json +++ b/packages/auth-providers/auth0/web/package.json @@ -32,7 +32,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/azureActiveDirectory/web/package.json b/packages/auth-providers/azureActiveDirectory/web/package.json index 1f8edd51290d..a212a7da2ad6 100644 --- a/packages/auth-providers/azureActiveDirectory/web/package.json +++ b/packages/auth-providers/azureActiveDirectory/web/package.json @@ -33,7 +33,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/clerk/web/package.json b/packages/auth-providers/clerk/web/package.json index 8a0ef706ee1b..11f66265f033 100644 --- a/packages/auth-providers/clerk/web/package.json +++ b/packages/auth-providers/clerk/web/package.json @@ -33,7 +33,7 @@ "@clerk/clerk-react": "4.30.7", "@clerk/types": "3.62.1", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/dbAuth/web/package.json b/packages/auth-providers/dbAuth/web/package.json index 0c249ebe8120..a7ec05461fa7 100644 --- a/packages/auth-providers/dbAuth/web/package.json +++ b/packages/auth-providers/dbAuth/web/package.json @@ -36,7 +36,7 @@ "@types/react": "^18.2.55", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/auth-providers/firebase/web/package.json b/packages/auth-providers/firebase/web/package.json index 8fba31a67387..81720510f8f0 100644 --- a/packages/auth-providers/firebase/web/package.json +++ b/packages/auth-providers/firebase/web/package.json @@ -34,7 +34,7 @@ "firebase": "10.11.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5" }, "peerDependencies": { diff --git a/packages/auth-providers/netlify/web/package.json b/packages/auth-providers/netlify/web/package.json index 2af5b7e2b55e..2f3bf57d2e47 100644 --- a/packages/auth-providers/netlify/web/package.json +++ b/packages/auth-providers/netlify/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supabase/web/package.json b/packages/auth-providers/supabase/web/package.json index ab6f4c7d15e4..62b84f3db73b 100644 --- a/packages/auth-providers/supabase/web/package.json +++ b/packages/auth-providers/supabase/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@supabase/supabase-js": "2.40.0", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supertokens/web/package.json b/packages/auth-providers/supertokens/web/package.json index 2bbf982f2c63..bd4419570aba 100644 --- a/packages/auth-providers/supertokens/web/package.json +++ b/packages/auth-providers/supertokens/web/package.json @@ -31,7 +31,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", "supertokens-auth-react": "0.39.1", "typescript": "5.4.5", "vitest": "1.4.0" diff --git a/packages/auth/package.json b/packages/auth/package.json index add9349d8c97..5701cd6cbea9 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "core-js": "3.36.1", - "react": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/cli/src/commands/upgrade.js b/packages/cli/src/commands/upgrade.js index 01b25fb77311..2b52f4fd087b 100644 --- a/packages/cli/src/commands/upgrade.js +++ b/packages/cli/src/commands/upgrade.js @@ -111,11 +111,6 @@ export const handler = async ({ dryRun, tag, verbose, dedupe }) => { updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }), enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), }, - { - title: 'Downloading yarn patches', - task: (ctx) => downloadYarnPatches(ctx, { dryRun, verbose }), - enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), - }, { title: 'Running yarn install', task: (ctx) => yarnInstall(ctx, { dryRun, verbose }), @@ -360,58 +355,6 @@ async function updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }) { ) } -async function downloadYarnPatches(ctx, { dryRun, verbose }) { - if (!ctx.versionToUpgradeTo) { - throw new Error('Failed to upgrade') - } - - const res = await fetch( - 'https://api.github.com/repos/redwoodjs/redwood/git/trees/main?recursive=1', - ) - const json = await res.json() - const patches = json.tree.filter((patchInfo) => - patchInfo.path.startsWith( - 'packages/create-redwood-app/templates/ts/.yarn/patches/', - ), - ) - - const patchDir = path.join(getPaths().base, '.yarn', 'patches') - - if (verbose) { - console.log('Creating patch directory', patchDir) - } - - if (!dryRun) { - fs.mkdirSync(patchDir, { recursive: true }) - } - - return new Listr( - patches.map((patch) => { - return { - title: `Downloading ${patch.path}`, - task: async () => { - const res = await fetch(patch.url) - const patchMeta = await res.json() - const patchPath = path.join( - getPaths().base, - '.yarn', - 'patches', - path.basename(patch.path), - ) - - if (verbose) { - console.log('Writing patch', patchPath) - } - - if (!dryRun) { - await fs.writeFile(patchPath, patchMeta.content, 'base64') - } - }, - } - }), - ) -} - async function refreshPrismaClient(task, { verbose }) { /** Relates to prisma/client issue, @see: https://github.com/redwoodjs/redwood/issues/1083 */ try { diff --git a/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/packages/create-redwood-app/templates/js/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch deleted file mode 100644 index 4f6243bdd1f4..000000000000 --- a/packages/create-redwood-app/templates/js/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/dist/preset.js b/dist/preset.js -index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 ---- a/dist/preset.js -+++ b/dist/preset.js -@@ -1 +1 @@ --"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); -+"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/packages/create-redwood-app/templates/js/package.json b/packages/create-redwood-app/templates/js/package.json index e9d5e7f3a963..f93f198eeb40 100644 --- a/packages/create-redwood-app/templates/js/package.json +++ b/packages/create-redwood-app/templates/js/package.json @@ -20,8 +20,5 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1", - "resolutions": { - "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" - } + "packageManager": "yarn@4.1.1" } diff --git a/packages/create-redwood-app/templates/js/web/package.json b/packages/create-redwood-app/templates/js/web/package.json index 20760391c43b..171b5331ccc6 100644 --- a/packages/create-redwood-app/templates/js/web/package.json +++ b/packages/create-redwood-app/templates/js/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch b/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch deleted file mode 100644 index 176f03718891..000000000000 --- a/packages/create-redwood-app/templates/ts/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/react/hooks/internal/useRenderGuard.js b/react/hooks/internal/useRenderGuard.js -index 15551e6e2de4dcc585e9426f80c67cb136ecd2a7..181e74a378c59779e83b698cb1923602cf845813 100644 ---- a/react/hooks/internal/useRenderGuard.js -+++ b/react/hooks/internal/useRenderGuard.js -@@ -1,7 +1,9 @@ --import * as React from "rehackt"; -+import React from "rehackt"; - function getRenderDispatcher() { -- var _a, _b; -- return (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentDispatcher) === null || _b === void 0 ? void 0 : _b.current; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentDispatcher || r19.ReactCurrentDispatcher; -+ return _b === null || _b === void 0 ? void 0 : _b.current; - } - var RenderDispatcher = null; - /* -diff --git a/testing/internal/profile/profile.js b/testing/internal/profile/profile.js -index bcb709e4a7f6a72b381632e6da6a5c7d9ab5d8f1..362dcd3e577beb62f14bdb61a72debebaaf212ff 100644 ---- a/testing/internal/profile/profile.js -+++ b/testing/internal/profile/profile.js -@@ -276,8 +276,11 @@ export function profileHook(renderCallback) { - }); - } - function resolveHookOwner() { -- var _a, _b, _c; -- return (_c = (_b = (_a = React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === null || _a === void 0 ? void 0 : _a.ReactCurrentOwner) === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; -+ var r18 = typeof React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED !== "undefined" ? React.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED : {}; -+ var r19 = typeof React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE !== "undefined" ? React.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE : {}; -+ var _b = r18.ReactCurrentOwner || r19.ReactCurrentOwner; -+ var _c; -+ return (_c = _b === null || _b === void 0 ? void 0 : _b.current) === null || _c === void 0 ? void 0 : _c.elementType; - } - export function useTrackRenders(_a) { - var _b = _a === void 0 ? {} : _a, name = _b.name; diff --git a/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch b/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch deleted file mode 100644 index 4f6243bdd1f4..000000000000 --- a/packages/create-redwood-app/templates/ts/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch +++ /dev/null @@ -1,7 +0,0 @@ -diff --git a/dist/preset.js b/dist/preset.js -index e136e7e4efc61bc2596c91b12bae8748cd48226f..578c2e77cd58176ad441a8fe83d384016008bbfe 100644 ---- a/dist/preset.js -+++ b/dist/preset.js -@@ -1 +1 @@ --"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); -+"use strict";var __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:!0})},__copyProps=(to,from,except,desc)=>{if(from&&typeof from=="object"||typeof from=="function")for(let key of __getOwnPropNames(from))!__hasOwnProp.call(to,key)&&key!==except&&__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable});return to};var __toCommonJS=mod=>__copyProps(__defProp({},"__esModule",{value:!0}),mod);var preset_exports={};__export(preset_exports,{viteFinal:()=>viteFinal,webpackFinal:()=>webpackFinal});module.exports=__toCommonJS(preset_exports);var import_package=require("react-dom/package.json"),webpackFinal=async(config,options)=>{var _a;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("19")||import_package.version.startsWith("0.0.0");return legacyRootApi??!isReact18?config:{...config,resolve:{...config.resolve,alias:{...(_a=config.resolve)==null?void 0:_a.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"}}}},viteFinal=async(config,options)=>{var _a,_b;let{legacyRootApi}=await options.presets.apply("frameworkOptions")||{},isReact18=import_package.version.startsWith("18")||import_package.version.startsWith("0.0.0");if(legacyRootApi||!isReact18)return config;let alias=Array.isArray((_a=config.resolve)==null?void 0:_a.alias)?config.resolve.alias.concat({find:/^@storybook\/react-dom-shim$/,replacement:"@storybook/react-dom-shim/dist/react-18"}):{...(_b=config.resolve)==null?void 0:_b.alias,"@storybook/react-dom-shim":"@storybook/react-dom-shim/dist/react-18"};return{...config,resolve:{...config.resolve,alias}}};0&&(module.exports={viteFinal,webpackFinal}); diff --git a/packages/create-redwood-app/templates/ts/package.json b/packages/create-redwood-app/templates/ts/package.json index e9d5e7f3a963..f93f198eeb40 100644 --- a/packages/create-redwood-app/templates/ts/package.json +++ b/packages/create-redwood-app/templates/ts/package.json @@ -20,8 +20,5 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1", - "resolutions": { - "@storybook/react-dom-shim@npm:7.6.17": "patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch" - } + "packageManager": "yarn@4.1.1" } diff --git a/packages/create-redwood-app/templates/ts/web/package.json b/packages/create-redwood-app/templates/ts/web/package.json index 20760391c43b..171b5331ccc6 100644 --- a/packages/create-redwood-app/templates/ts/web/package.json +++ b/packages/create-redwood-app/templates/ts/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/create-redwood-app/tests/templates.test.ts b/packages/create-redwood-app/tests/templates.test.ts index 8e490958fe05..61ed0219efab 100644 --- a/packages/create-redwood-app/tests/templates.test.ts +++ b/packages/create-redwood-app/tests/templates.test.ts @@ -21,10 +21,6 @@ describe('TS template', () => { "/.vscode/launch.json", "/.vscode/settings.json", "/.vscode/tasks.json", - "/.yarn", - "/.yarn/patches", - "/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", - "/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch", "/.yarnrc.yml", "/README.md", "/api", @@ -107,10 +103,6 @@ describe('JS template', () => { "/.vscode/launch.json", "/.vscode/settings.json", "/.vscode/tasks.json", - "/.yarn", - "/.yarn/patches", - "/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", - "/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch", "/.yarnrc.yml", "/README.md", "/api", diff --git a/packages/forms/package.json b/packages/forms/package.json index 9f0b2eb5e76a..9bffbe3c925c 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -40,13 +40,13 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/ogimage-gen/package.json b/packages/ogimage-gen/package.json index 693bf969c1e0..8a3b844a531b 100644 --- a/packages/ogimage-gen/package.json +++ b/packages/ogimage-gen/package.json @@ -34,8 +34,8 @@ "@redwoodjs/router": "workspace:*", "@redwoodjs/vite": "workspace:*", "fast-glob": "3.3.2", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/prerender/package.json b/packages/prerender/package.json index a1ae6a8fd294..4a63ad911e1f 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -48,8 +48,8 @@ "vitest": "1.4.0" }, "peerDependencies": { - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "externals": { "react": "react", diff --git a/packages/router/package.json b/packages/router/package.json index d90001282d38..d4cb82a03c2c 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -36,14 +36,14 @@ "@types/react-dom": "^18.2.19", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314", "tstyche": "1.1.0", "typescript": "5.4.5" }, "peerDependencies": { - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/vite/package.json b/packages/vite/package.json index 0a78abf852a9..4a3e4ffcb5f6 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -81,8 +81,8 @@ "find-my-way": "8.1.0", "http-proxy-middleware": "2.0.6", "isbot": "3.8.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-server-dom-webpack": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", + "react-server-dom-webpack": "18.3.0-canary-a870b2d54-20240314", "vite": "5.2.8", "vite-plugin-cjs-interop": "2.1.0", "yargs-parser": "21.1.1" diff --git a/packages/web/package.json b/packages/web/package.json index 7de2f5f33864..f7383cf1a608 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -37,7 +37,7 @@ "test:watch": "vitest watch" }, "dependencies": { - "@apollo/client": "patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch", + "@apollo/client": "3.9.9", "@babel/runtime-corejs3": "7.24.1", "@redwoodjs/auth": "workspace:*", "core-js": "3.36.1", @@ -61,15 +61,15 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418", + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314", "tstyche": "1.1.0", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "19.0.0-canary-36e62c603-20240418", - "react-dom": "19.0.0-canary-36e62c603-20240418" + "react": "18.3.0-canary-a870b2d54-20240314", + "react-dom": "18.3.0-canary-a870b2d54-20240314" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/yarn.lock b/yarn.lock index 17e1b54eab2b..8c70d9c4c783 100644 --- a/yarn.lock +++ b/yarn.lock @@ -153,43 +153,6 @@ __metadata: languageName: node linkType: hard -"@apollo/client@patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch": - version: 3.9.9 - resolution: "@apollo/client@patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch::version=3.9.9&hash=da1f5d" - dependencies: - "@graphql-typed-document-node/core": "npm:^3.1.1" - "@wry/caches": "npm:^1.0.0" - "@wry/equality": "npm:^0.5.6" - "@wry/trie": "npm:^0.5.0" - graphql-tag: "npm:^2.12.6" - hoist-non-react-statics: "npm:^3.3.2" - optimism: "npm:^0.18.0" - prop-types: "npm:^15.7.2" - rehackt: "npm:0.0.6" - response-iterator: "npm:^0.2.6" - symbol-observable: "npm:^4.0.0" - ts-invariant: "npm:^0.10.3" - tslib: "npm:^2.3.0" - zen-observable-ts: "npm:^1.2.5" - peerDependencies: - graphql: ^15.0.0 || ^16.0.0 - graphql-ws: ^5.5.5 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - subscriptions-transport-ws: ^0.9.0 || ^0.11.0 - peerDependenciesMeta: - graphql-ws: - optional: true - react: - optional: true - react-dom: - optional: true - subscriptions-transport-ws: - optional: true - checksum: 10c0/c4dfa8cb7d1ce77a3a3ea7e04e38b9da8aeb36e15701e8da0bc65e9ac133438972b2b19461eba4ce89d88332cb3f2c85b7b8a0ace2ddefc38cb9e269badf9296 - languageName: node - linkType: hard - "@ardatan/relay-compiler@npm:12.0.0": version: 12.0.0 resolution: "@ardatan/relay-compiler@npm:12.0.0" @@ -7611,7 +7574,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7664,7 +7627,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7714,7 +7677,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7807,7 +7770,7 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7856,7 +7819,7 @@ __metadata: firebase: "npm:10.11.0" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" peerDependencies: firebase: 10.11.0 @@ -7906,7 +7869,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7956,7 +7919,7 @@ __metadata: "@supabase/supabase-js": "npm:2.40.0" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -8009,7 +7972,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" supertokens-auth-react: "npm:0.39.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -8027,7 +7990,7 @@ __metadata: "@testing-library/react": "npm:14.2.2" core-js: "npm:3.36.1" msw: "npm:1.3.3" - react: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" tsx: "npm:4.7.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -8407,13 +8370,13 @@ __metadata: graphql: "npm:16.8.1" nodemon: "npm:3.1.0" pascalcase: "npm:1.0.0" - react: "npm:19.0.0-canary-36e62c603-20240418" - react-dom: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" + react-dom: "npm:18.3.0-canary-a870b2d54-20240314" react-hook-form: "npm:7.51.2" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 + react: 18.3.0-canary-a870b2d54-20240314 languageName: unknown linkType: soft @@ -8624,8 +8587,8 @@ __metadata: "@redwoodjs/router": "workspace:*" "@redwoodjs/vite": "workspace:*" fast-glob: "npm:3.3.2" - react: "npm:19.0.0-canary-36e62c603-20240418" - react-dom: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" + react-dom: "npm:18.3.0-canary-a870b2d54-20240314" ts-toolbelt: "npm:9.6.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8658,8 +8621,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 - react-dom: 19.0.0-canary-36e62c603-20240418 + react: 18.3.0-canary-a870b2d54-20240314 + react-dom: 18.3.0-canary-a870b2d54-20240314 languageName: unknown linkType: soft @@ -8739,13 +8702,13 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:19.0.0-canary-36e62c603-20240418" - react-dom: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" + react-dom: "npm:18.3.0-canary-a870b2d54-20240314" tstyche: "npm:1.1.0" typescript: "npm:5.4.5" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 - react-dom: 19.0.0-canary-36e62c603-20240418 + react: 18.3.0-canary-a870b2d54-20240314 + react-dom: 18.3.0-canary-a870b2d54-20240314 languageName: unknown linkType: soft @@ -8892,8 +8855,8 @@ __metadata: glob: "npm:10.3.12" http-proxy-middleware: "npm:2.0.6" isbot: "npm:3.8.0" - react: "npm:19.0.0-canary-36e62c603-20240418" - react-server-dom-webpack: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" + react-server-dom-webpack: "npm:18.3.0-canary-a870b2d54-20240314" rollup: "npm:4.13.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8933,7 +8896,7 @@ __metadata: version: 0.0.0-use.local resolution: "@redwoodjs/web@workspace:packages/web" dependencies: - "@apollo/client": "patch:@apollo/client@npm%3A3.9.9#~/.yarn/patches/@apollo-client-npm-3.9.9-15c2e13518.patch" + "@apollo/client": "npm:3.9.9" "@apollo/client-react-streaming": "npm:0.10.0" "@babel/cli": "npm:7.24.1" "@babel/core": "npm:^7.22.20" @@ -8951,8 +8914,8 @@ __metadata: graphql-sse: "npm:2.5.2" graphql-tag: "npm:2.12.6" nodemon: "npm:3.1.0" - react: "npm:19.0.0-canary-36e62c603-20240418" - react-dom: "npm:19.0.0-canary-36e62c603-20240418" + react: "npm:18.3.0-canary-a870b2d54-20240314" + react-dom: "npm:18.3.0-canary-a870b2d54-20240314" react-helmet-async: "npm:2.0.4" react-hot-toast: "npm:2.4.1" stacktracey: "npm:2.1.8" @@ -8961,8 +8924,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 - react-dom: 19.0.0-canary-36e62c603-20240418 + react: 18.3.0-canary-a870b2d54-20240314 + react-dom: 18.3.0-canary-a870b2d54-20240314 bin: cross-env: ./dist/bins/cross-env.js msw: ./dist/bins/msw.js @@ -10090,16 +10053,6 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch": - version: 7.6.17 - resolution: "@storybook/react-dom-shim@patch:@storybook/react-dom-shim@npm%3A7.6.17#~/.yarn/patches/@storybook-react-dom-shim-npm-7.6.17-789bc900f0.patch::version=7.6.17&hash=5d9d27" - peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/3a16df94b6c0ebd363fa76e6bc90fc70a3638ef6a5ce7f820524ebe222ac541e962a2b0879f59da31920cd798ecaa3fd668ed9b590bda5505670b3da69f9927c - languageName: node - linkType: hard - "@storybook/react-webpack5@npm:7.6.17": version: 7.6.17 resolution: "@storybook/react-webpack5@npm:7.6.17" @@ -27194,14 +27147,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:19.0.0-canary-36e62c603-20240418": - version: 19.0.0-canary-36e62c603-20240418 - resolution: "react-dom@npm:19.0.0-canary-36e62c603-20240418" +"react-dom@npm:18.3.0-canary-a870b2d54-20240314": + version: 18.3.0-canary-a870b2d54-20240314 + resolution: "react-dom@npm:18.3.0-canary-a870b2d54-20240314" dependencies: - scheduler: "npm:0.25.0-canary-36e62c603-20240418" + scheduler: "npm:0.24.0-canary-a870b2d54-20240314" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 - checksum: 10c0/e793e44af18b02d7e684a9e1dfbeb51e24ebcf17295303813b4a9e91962c51c6d1857a10d06aaeb390d5b503251225a93ef7d8e8a6e696a21a2148812575870c + react: 18.3.0-canary-a870b2d54-20240314 + checksum: 10c0/6896473a3a7ed802f6b85c9601c64b0f1fe58ffbf3829ee5ac819a503fa16f5ec4d39b4b3f188cb2bf9ba9fb74cbdc28844c03cc2a4208303595220e5877d1b5 languageName: node linkType: hard @@ -27347,17 +27300,17 @@ __metadata: languageName: node linkType: hard -"react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418": - version: 19.0.0-canary-36e62c603-20240418 - resolution: "react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418" +"react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314": + version: 18.3.0-canary-a870b2d54-20240314 + resolution: "react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314" dependencies: acorn-loose: "npm:^8.3.0" neo-async: "npm:^2.6.1" peerDependencies: - react: 19.0.0-canary-36e62c603-20240418 - react-dom: 19.0.0-canary-36e62c603-20240418 + react: 18.3.0-canary-a870b2d54-20240314 + react-dom: 18.3.0-canary-a870b2d54-20240314 webpack: ^5.59.0 - checksum: 10c0/cea48503f3e5b45d8ceb6103a809eac7715917373a352a6f5bfa969378f2bbe0aeec05522b4e1819770cc2f40315e42bf4b5a3a06cffb1c9adf12d1dfc980bb4 + checksum: 10c0/9040df3d8549898dbf4afd7bc86a01948e47b6eda998bda0e663a69fefa6922fa5977aaec0d0795938aac62c97d1da9307636051d0d12ec429c3c416cad23ffb languageName: node linkType: hard @@ -27387,10 +27340,10 @@ __metadata: languageName: node linkType: hard -"react@npm:19.0.0-canary-36e62c603-20240418": - version: 19.0.0-canary-36e62c603-20240418 - resolution: "react@npm:19.0.0-canary-36e62c603-20240418" - checksum: 10c0/c9e48c9a21cd21736d6e0523bdf72f0b3d88b3581b70ccc0aba761927eaae823d1c8c2b047678827737792a92c01d40b977d422cd7195760e4f88879cca15446 +"react@npm:18.3.0-canary-a870b2d54-20240314": + version: 18.3.0-canary-a870b2d54-20240314 + resolution: "react@npm:18.3.0-canary-a870b2d54-20240314" + checksum: 10c0/f89b119c6fefc0956c815ad99e39ba83bc44485c4187143003a01906ef1d750a02f0018210eb192d1d0bdcd28a280139bf399bc59c972fc9e8f9938ee8c63387 languageName: node linkType: hard @@ -28496,10 +28449,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.25.0-canary-36e62c603-20240418": - version: 0.25.0-canary-36e62c603-20240418 - resolution: "scheduler@npm:0.25.0-canary-36e62c603-20240418" - checksum: 10c0/bf7adcdd9c3d786405dd3f8c9a107cc7fd8e8b62dd491f308c68a07cbd62da4caa73a20431b42d47cd0bd7f97e809ec1e3f5e2d35a9eedf9f827d3eb4789c299 +"scheduler@npm:0.24.0-canary-a870b2d54-20240314": + version: 0.24.0-canary-a870b2d54-20240314 + resolution: "scheduler@npm:0.24.0-canary-a870b2d54-20240314" + checksum: 10c0/ac70f95c1d0cbf6de8bf0d1b2f1c8bb063d0ea0ce9410de720b9eeb17d85dc18bc9bc3c2ab89332cb0d7e746b68f7599ccc4915bcf3ea3a4541797bb1f2ec587 languageName: node linkType: hard From 903767edc53cd029e835e67300019245f933c8af Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Mon, 22 Apr 2024 13:57:48 +0200 Subject: [PATCH 13/16] fix(upgrade): Download yarn patches (#10497) --- packages/cli/src/commands/upgrade.js | 57 ++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/packages/cli/src/commands/upgrade.js b/packages/cli/src/commands/upgrade.js index 2b52f4fd087b..01b25fb77311 100644 --- a/packages/cli/src/commands/upgrade.js +++ b/packages/cli/src/commands/upgrade.js @@ -111,6 +111,11 @@ export const handler = async ({ dryRun, tag, verbose, dedupe }) => { updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }), enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), }, + { + title: 'Downloading yarn patches', + task: (ctx) => downloadYarnPatches(ctx, { dryRun, verbose }), + enabled: (ctx) => ctx.versionToUpgradeTo?.includes('canary'), + }, { title: 'Running yarn install', task: (ctx) => yarnInstall(ctx, { dryRun, verbose }), @@ -355,6 +360,58 @@ async function updatePackageVersionsFromTemplate(ctx, { dryRun, verbose }) { ) } +async function downloadYarnPatches(ctx, { dryRun, verbose }) { + if (!ctx.versionToUpgradeTo) { + throw new Error('Failed to upgrade') + } + + const res = await fetch( + 'https://api.github.com/repos/redwoodjs/redwood/git/trees/main?recursive=1', + ) + const json = await res.json() + const patches = json.tree.filter((patchInfo) => + patchInfo.path.startsWith( + 'packages/create-redwood-app/templates/ts/.yarn/patches/', + ), + ) + + const patchDir = path.join(getPaths().base, '.yarn', 'patches') + + if (verbose) { + console.log('Creating patch directory', patchDir) + } + + if (!dryRun) { + fs.mkdirSync(patchDir, { recursive: true }) + } + + return new Listr( + patches.map((patch) => { + return { + title: `Downloading ${patch.path}`, + task: async () => { + const res = await fetch(patch.url) + const patchMeta = await res.json() + const patchPath = path.join( + getPaths().base, + '.yarn', + 'patches', + path.basename(patch.path), + ) + + if (verbose) { + console.log('Writing patch', patchPath) + } + + if (!dryRun) { + await fs.writeFile(patchPath, patchMeta.content, 'base64') + } + }, + } + }), + ) +} + async function refreshPrismaClient(task, { verbose }) { /** Relates to prisma/client issue, @see: https://github.com/redwoodjs/redwood/issues/1083 */ try { From 859d93b04e5ba9e96a9f1af7f0a4f2587452f3a2 Mon Sep 17 00:00:00 2001 From: Tobbe Lundberg Date: Mon, 22 Apr 2024 16:01:50 +0200 Subject: [PATCH 14/16] fix(deps): update React to latest canary 19.x (#10496) --- .../fragment-test-project/web/package.json | 4 +- __fixtures__/test-project-rsa/package.json | 3 +- .../test-project-rsa/web/package.json | 4 +- .../package.json | 3 +- .../web/package.json | 4 +- __fixtures__/test-project/package.json | 6 +- __fixtures__/test-project/web/package.json | 4 +- package.json | 3 +- .../auth-providers/auth0/web/package.json | 2 +- .../azureActiveDirectory/web/package.json | 2 +- .../auth-providers/clerk/web/package.json | 2 +- .../auth-providers/dbAuth/web/package.json | 2 +- .../auth-providers/firebase/web/package.json | 2 +- .../auth-providers/netlify/web/package.json | 2 +- .../auth-providers/supabase/web/package.json | 2 +- .../supertokens/web/package.json | 2 +- packages/auth/package.json | 2 +- .../templates/js/package.json | 6 +- .../templates/js/web/package.json | 4 +- .../templates/ts/package.json | 6 +- .../templates/ts/web/package.json | 4 +- packages/forms/package.json | 6 +- packages/ogimage-gen/package.json | 4 +- packages/prerender/package.json | 4 +- packages/router/package.json | 8 +- packages/vite/package.json | 4 +- packages/web/package.json | 8 +- yarn.lock | 100 +++++++++--------- 28 files changed, 109 insertions(+), 94 deletions(-) diff --git a/__fixtures__/fragment-test-project/web/package.json b/__fixtures__/fragment-test-project/web/package.json index f527cdb9c3d2..05fb9a6b5eb3 100644 --- a/__fixtures__/fragment-test-project/web/package.json +++ b/__fixtures__/fragment-test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/__fixtures__/test-project-rsa/package.json b/__fixtures__/test-project-rsa/package.json index 81f76184b7c3..0b351d7de940 100644 --- a/__fixtures__/test-project-rsa/package.json +++ b/__fixtures__/test-project-rsa/package.json @@ -21,6 +21,7 @@ }, "packageManager": "yarn@4.1.1", "resolutions": { - "@apollo/client-react-streaming/superjson": "^1.12.2" + "@apollo/client-react-streaming/superjson": "^1.12.2", + "@apollo/client/rehackt": "0.0.0-pr.10.0" } } diff --git a/__fixtures__/test-project-rsa/web/package.json b/__fixtures__/test-project-rsa/web/package.json index 4e67de27d64b..b418e2cefc0d 100644 --- a/__fixtures__/test-project-rsa/web/package.json +++ b/__fixtures__/test-project-rsa/web/package.json @@ -15,8 +15,8 @@ "@redwoodjs/forms": "8.0.0-canary.144", "@redwoodjs/router": "8.0.0-canary.144", "@redwoodjs/web": "8.0.0-canary.144", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "8.0.0-canary.144", diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/package.json index a758ee224fab..71ff0ba5f28f 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/package.json @@ -22,6 +22,7 @@ }, "packageManager": "yarn@4.1.1", "resolutions": { - "@apollo/client-react-streaming/superjson": "^1.12.2" + "@apollo/client-react-streaming/superjson": "^1.12.2", + "@apollo/client/rehackt": "0.0.0-pr.10.0" } } diff --git a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json index 76b29d6d0257..d28ed24a094d 100644 --- a/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json +++ b/__fixtures__/test-project-rsc-external-packages-and-cells/web/package.json @@ -18,8 +18,8 @@ "@redwoodjs/web": "7.0.0-canary.1011", "@tobbe.dev/rsc-test": "0.0.5", "client-only": "0.0.1", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0-canary.1011", diff --git a/__fixtures__/test-project/package.json b/__fixtures__/test-project/package.json index f93f198eeb40..2c3b2554a532 100644 --- a/__fixtures__/test-project/package.json +++ b/__fixtures__/test-project/package.json @@ -20,5 +20,9 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz", + "@apollo/client/rehackt": "0.0.0-pr.10.0" + } } diff --git a/__fixtures__/test-project/web/package.json b/__fixtures__/test-project/web/package.json index 6cfed421007b..b3e669ea6d75 100644 --- a/__fixtures__/test-project/web/package.json +++ b/__fixtures__/test-project/web/package.json @@ -16,8 +16,8 @@ "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", "humanize-string": "2.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/package.json b/package.json index f5288ae3db45..d0a5a6e6f09e 100644 --- a/package.json +++ b/package.json @@ -41,7 +41,8 @@ "vscode-languageserver": "6.1.1", "vscode-languageserver-protocol": "3.15.3", "vscode-languageserver-textdocument": "1.0.11", - "vscode-languageserver-types": "3.17.5" + "vscode-languageserver-types": "3.17.5", + "@storybook/react-dom-shim@npm:7.6.17": "https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz" }, "devDependencies": { "@actions/cache": "3.2.4", diff --git a/packages/auth-providers/auth0/web/package.json b/packages/auth-providers/auth0/web/package.json index 32da48ca7903..1ff27057a9cc 100644 --- a/packages/auth-providers/auth0/web/package.json +++ b/packages/auth-providers/auth0/web/package.json @@ -32,7 +32,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/azureActiveDirectory/web/package.json b/packages/auth-providers/azureActiveDirectory/web/package.json index a212a7da2ad6..1f8edd51290d 100644 --- a/packages/auth-providers/azureActiveDirectory/web/package.json +++ b/packages/auth-providers/azureActiveDirectory/web/package.json @@ -33,7 +33,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/clerk/web/package.json b/packages/auth-providers/clerk/web/package.json index 11f66265f033..8a0ef706ee1b 100644 --- a/packages/auth-providers/clerk/web/package.json +++ b/packages/auth-providers/clerk/web/package.json @@ -33,7 +33,7 @@ "@clerk/clerk-react": "4.30.7", "@clerk/types": "3.62.1", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/dbAuth/web/package.json b/packages/auth-providers/dbAuth/web/package.json index a7ec05461fa7..0c249ebe8120 100644 --- a/packages/auth-providers/dbAuth/web/package.json +++ b/packages/auth-providers/dbAuth/web/package.json @@ -36,7 +36,7 @@ "@types/react": "^18.2.55", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" diff --git a/packages/auth-providers/firebase/web/package.json b/packages/auth-providers/firebase/web/package.json index 81720510f8f0..8fba31a67387 100644 --- a/packages/auth-providers/firebase/web/package.json +++ b/packages/auth-providers/firebase/web/package.json @@ -34,7 +34,7 @@ "firebase": "10.11.0", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5" }, "peerDependencies": { diff --git a/packages/auth-providers/netlify/web/package.json b/packages/auth-providers/netlify/web/package.json index 2f3bf57d2e47..2af5b7e2b55e 100644 --- a/packages/auth-providers/netlify/web/package.json +++ b/packages/auth-providers/netlify/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@types/netlify-identity-widget": "1.9.6", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supabase/web/package.json b/packages/auth-providers/supabase/web/package.json index 62b84f3db73b..ab6f4c7d15e4 100644 --- a/packages/auth-providers/supabase/web/package.json +++ b/packages/auth-providers/supabase/web/package.json @@ -32,7 +32,7 @@ "@babel/core": "^7.22.20", "@supabase/supabase-js": "2.40.0", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, diff --git a/packages/auth-providers/supertokens/web/package.json b/packages/auth-providers/supertokens/web/package.json index bd4419570aba..2bbf982f2c63 100644 --- a/packages/auth-providers/supertokens/web/package.json +++ b/packages/auth-providers/supertokens/web/package.json @@ -31,7 +31,7 @@ "@babel/cli": "7.24.1", "@babel/core": "^7.22.20", "@types/react": "^18.2.55", - "react": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", "supertokens-auth-react": "0.39.1", "typescript": "5.4.5", "vitest": "1.4.0" diff --git a/packages/auth/package.json b/packages/auth/package.json index 5701cd6cbea9..add9349d8c97 100644 --- a/packages/auth/package.json +++ b/packages/auth/package.json @@ -28,7 +28,7 @@ }, "dependencies": { "core-js": "3.36.1", - "react": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/create-redwood-app/templates/js/package.json b/packages/create-redwood-app/templates/js/package.json index f93f198eeb40..2c3b2554a532 100644 --- a/packages/create-redwood-app/templates/js/package.json +++ b/packages/create-redwood-app/templates/js/package.json @@ -20,5 +20,9 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz", + "@apollo/client/rehackt": "0.0.0-pr.10.0" + } } diff --git a/packages/create-redwood-app/templates/js/web/package.json b/packages/create-redwood-app/templates/js/web/package.json index 171b5331ccc6..20760391c43b 100644 --- a/packages/create-redwood-app/templates/js/web/package.json +++ b/packages/create-redwood-app/templates/js/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/create-redwood-app/templates/ts/package.json b/packages/create-redwood-app/templates/ts/package.json index f93f198eeb40..2c3b2554a532 100644 --- a/packages/create-redwood-app/templates/ts/package.json +++ b/packages/create-redwood-app/templates/ts/package.json @@ -20,5 +20,9 @@ "prisma": { "seed": "yarn rw exec seed" }, - "packageManager": "yarn@4.1.1" + "packageManager": "yarn@4.1.1", + "resolutions": { + "@storybook/react-dom-shim@npm:7.6.17": "https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz", + "@apollo/client/rehackt": "0.0.0-pr.10.0" + } } diff --git a/packages/create-redwood-app/templates/ts/web/package.json b/packages/create-redwood-app/templates/ts/web/package.json index 171b5331ccc6..20760391c43b 100644 --- a/packages/create-redwood-app/templates/ts/web/package.json +++ b/packages/create-redwood-app/templates/ts/web/package.json @@ -14,8 +14,8 @@ "@redwoodjs/forms": "7.0.0", "@redwoodjs/router": "7.0.0", "@redwoodjs/web": "7.0.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/vite": "7.0.0", diff --git a/packages/forms/package.json b/packages/forms/package.json index 9bffbe3c925c..9f0b2eb5e76a 100644 --- a/packages/forms/package.json +++ b/packages/forms/package.json @@ -40,13 +40,13 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/ogimage-gen/package.json b/packages/ogimage-gen/package.json index 8a3b844a531b..693bf969c1e0 100644 --- a/packages/ogimage-gen/package.json +++ b/packages/ogimage-gen/package.json @@ -34,8 +34,8 @@ "@redwoodjs/router": "workspace:*", "@redwoodjs/vite": "workspace:*", "fast-glob": "3.3.2", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "devDependencies": { "@redwoodjs/framework-tools": "workspace:*", diff --git a/packages/prerender/package.json b/packages/prerender/package.json index 4a63ad911e1f..a1ae6a8fd294 100644 --- a/packages/prerender/package.json +++ b/packages/prerender/package.json @@ -48,8 +48,8 @@ "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "externals": { "react": "react", diff --git a/packages/router/package.json b/packages/router/package.json index d4cb82a03c2c..d90001282d38 100644 --- a/packages/router/package.json +++ b/packages/router/package.json @@ -36,14 +36,14 @@ "@types/react-dom": "^18.2.19", "jest": "29.7.0", "jest-environment-jsdom": "29.7.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "tstyche": "1.1.0", "typescript": "5.4.5" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/packages/vite/package.json b/packages/vite/package.json index 4a3e4ffcb5f6..0a78abf852a9 100644 --- a/packages/vite/package.json +++ b/packages/vite/package.json @@ -81,8 +81,8 @@ "find-my-way": "8.1.0", "http-proxy-middleware": "2.0.6", "isbot": "3.8.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-server-dom-webpack": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-server-dom-webpack": "19.0.0-canary-36e62c603-20240418", "vite": "5.2.8", "vite-plugin-cjs-interop": "2.1.0", "yargs-parser": "21.1.1" diff --git a/packages/web/package.json b/packages/web/package.json index f7383cf1a608..69e2f038c37d 100644 --- a/packages/web/package.json +++ b/packages/web/package.json @@ -61,15 +61,15 @@ "@types/react": "^18.2.55", "@types/react-dom": "^18.2.19", "nodemon": "3.1.0", - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314", + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418", "tstyche": "1.1.0", "typescript": "5.4.5", "vitest": "1.4.0" }, "peerDependencies": { - "react": "18.3.0-canary-a870b2d54-20240314", - "react-dom": "18.3.0-canary-a870b2d54-20240314" + "react": "19.0.0-canary-36e62c603-20240418", + "react-dom": "19.0.0-canary-36e62c603-20240418" }, "gitHead": "3905ed045508b861b495f8d5630d76c7a157d8f1" } diff --git a/yarn.lock b/yarn.lock index 8c70d9c4c783..50a4a09e5484 100644 --- a/yarn.lock +++ b/yarn.lock @@ -7574,7 +7574,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7627,7 +7627,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7677,7 +7677,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7770,7 +7770,7 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" languageName: unknown linkType: soft @@ -7819,7 +7819,7 @@ __metadata: firebase: "npm:10.11.0" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" peerDependencies: firebase: 10.11.0 @@ -7869,7 +7869,7 @@ __metadata: "@types/netlify-identity-widget": "npm:1.9.6" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7919,7 +7919,7 @@ __metadata: "@supabase/supabase-js": "npm:2.40.0" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: @@ -7972,7 +7972,7 @@ __metadata: "@redwoodjs/auth": "workspace:*" "@types/react": "npm:^18.2.55" core-js: "npm:3.36.1" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" supertokens-auth-react: "npm:0.39.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -7990,7 +7990,7 @@ __metadata: "@testing-library/react": "npm:14.2.2" core-js: "npm:3.36.1" msw: "npm:1.3.3" - react: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" tsx: "npm:4.7.1" typescript: "npm:5.4.5" vitest: "npm:1.4.0" @@ -8370,13 +8370,13 @@ __metadata: graphql: "npm:16.8.1" nodemon: "npm:3.1.0" pascalcase: "npm:1.0.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" react-hook-form: "npm:7.51.2" typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8587,8 +8587,8 @@ __metadata: "@redwoodjs/router": "workspace:*" "@redwoodjs/vite": "workspace:*" fast-glob: "npm:3.3.2" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" ts-toolbelt: "npm:9.6.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8621,8 +8621,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8702,13 +8702,13 @@ __metadata: core-js: "npm:3.36.1" jest: "npm:29.7.0" jest-environment-jsdom: "npm:29.7.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" tstyche: "npm:1.1.0" typescript: "npm:5.4.5" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 languageName: unknown linkType: soft @@ -8855,8 +8855,8 @@ __metadata: glob: "npm:10.3.12" http-proxy-middleware: "npm:2.0.6" isbot: "npm:3.8.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-server-dom-webpack: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-server-dom-webpack: "npm:19.0.0-canary-36e62c603-20240418" rollup: "npm:4.13.0" tsx: "npm:4.7.1" typescript: "npm:5.4.5" @@ -8914,8 +8914,8 @@ __metadata: graphql-sse: "npm:2.5.2" graphql-tag: "npm:2.12.6" nodemon: "npm:3.1.0" - react: "npm:18.3.0-canary-a870b2d54-20240314" - react-dom: "npm:18.3.0-canary-a870b2d54-20240314" + react: "npm:19.0.0-canary-36e62c603-20240418" + react-dom: "npm:19.0.0-canary-36e62c603-20240418" react-helmet-async: "npm:2.0.4" react-hot-toast: "npm:2.4.1" stacktracey: "npm:2.1.8" @@ -8924,8 +8924,8 @@ __metadata: typescript: "npm:5.4.5" vitest: "npm:1.4.0" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 bin: cross-env: ./dist/bins/cross-env.js msw: ./dist/bins/msw.js @@ -10043,13 +10043,13 @@ __metadata: languageName: node linkType: hard -"@storybook/react-dom-shim@npm:7.6.17": - version: 7.6.17 - resolution: "@storybook/react-dom-shim@npm:7.6.17" +"@storybook/react-dom-shim@https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz": + version: 8.0.8 + resolution: "@storybook/react-dom-shim@https://verdaccio.tobbe.dev/@storybook/react-dom-shim/-/react-dom-shim-8.0.8.tgz" peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/20558c58f9f0a3a00c5a1bbf2aa3517e3d318e6528f503129c99fb9ee4b604a225e79725f67e01e6e99d5d8c7db0614575dcc89af7768381afe59c976cb7cfc0 + checksum: 10c0/993d7e5032d82a496ddff82eefd4a097c743554def5d44aa7dcd43e80e1b619f07bc6f19d3876fb76663b7116f443fb614800786bc49c054f91af0d7bee0c197 languageName: node linkType: hard @@ -27147,14 +27147,14 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react-dom@npm:18.3.0-canary-a870b2d54-20240314" +"react-dom@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react-dom@npm:19.0.0-canary-36e62c603-20240418" dependencies: - scheduler: "npm:0.24.0-canary-a870b2d54-20240314" + scheduler: "npm:0.25.0-canary-36e62c603-20240418" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - checksum: 10c0/6896473a3a7ed802f6b85c9601c64b0f1fe58ffbf3829ee5ac819a503fa16f5ec4d39b4b3f188cb2bf9ba9fb74cbdc28844c03cc2a4208303595220e5877d1b5 + react: 19.0.0-canary-36e62c603-20240418 + checksum: 10c0/e793e44af18b02d7e684a9e1dfbeb51e24ebcf17295303813b4a9e91962c51c6d1857a10d06aaeb390d5b503251225a93ef7d8e8a6e696a21a2148812575870c languageName: node linkType: hard @@ -27300,17 +27300,17 @@ __metadata: languageName: node linkType: hard -"react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react-server-dom-webpack@npm:18.3.0-canary-a870b2d54-20240314" +"react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react-server-dom-webpack@npm:19.0.0-canary-36e62c603-20240418" dependencies: acorn-loose: "npm:^8.3.0" neo-async: "npm:^2.6.1" peerDependencies: - react: 18.3.0-canary-a870b2d54-20240314 - react-dom: 18.3.0-canary-a870b2d54-20240314 + react: 19.0.0-canary-36e62c603-20240418 + react-dom: 19.0.0-canary-36e62c603-20240418 webpack: ^5.59.0 - checksum: 10c0/9040df3d8549898dbf4afd7bc86a01948e47b6eda998bda0e663a69fefa6922fa5977aaec0d0795938aac62c97d1da9307636051d0d12ec429c3c416cad23ffb + checksum: 10c0/cea48503f3e5b45d8ceb6103a809eac7715917373a352a6f5bfa969378f2bbe0aeec05522b4e1819770cc2f40315e42bf4b5a3a06cffb1c9adf12d1dfc980bb4 languageName: node linkType: hard @@ -27340,10 +27340,10 @@ __metadata: languageName: node linkType: hard -"react@npm:18.3.0-canary-a870b2d54-20240314": - version: 18.3.0-canary-a870b2d54-20240314 - resolution: "react@npm:18.3.0-canary-a870b2d54-20240314" - checksum: 10c0/f89b119c6fefc0956c815ad99e39ba83bc44485c4187143003a01906ef1d750a02f0018210eb192d1d0bdcd28a280139bf399bc59c972fc9e8f9938ee8c63387 +"react@npm:19.0.0-canary-36e62c603-20240418": + version: 19.0.0-canary-36e62c603-20240418 + resolution: "react@npm:19.0.0-canary-36e62c603-20240418" + checksum: 10c0/c9e48c9a21cd21736d6e0523bdf72f0b3d88b3581b70ccc0aba761927eaae823d1c8c2b047678827737792a92c01d40b977d422cd7195760e4f88879cca15446 languageName: node linkType: hard @@ -28449,10 +28449,10 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:0.24.0-canary-a870b2d54-20240314": - version: 0.24.0-canary-a870b2d54-20240314 - resolution: "scheduler@npm:0.24.0-canary-a870b2d54-20240314" - checksum: 10c0/ac70f95c1d0cbf6de8bf0d1b2f1c8bb063d0ea0ce9410de720b9eeb17d85dc18bc9bc3c2ab89332cb0d7e746b68f7599ccc4915bcf3ea3a4541797bb1f2ec587 +"scheduler@npm:0.25.0-canary-36e62c603-20240418": + version: 0.25.0-canary-36e62c603-20240418 + resolution: "scheduler@npm:0.25.0-canary-36e62c603-20240418" + checksum: 10c0/bf7adcdd9c3d786405dd3f8c9a107cc7fd8e8b62dd491f308c68a07cbd62da4caa73a20431b42d47cd0bd7f97e809ec1e3f5e2d35a9eedf9f827d3eb4789c299 languageName: node linkType: hard From c6788cdd5eaa918aed2019d2fa60b3f88f375e4c Mon Sep 17 00:00:00 2001 From: Daniel Choudhury Date: Mon, 22 Apr 2024 23:44:36 +0700 Subject: [PATCH 15/16] feat(cookieJar): Change cookie.get to directly return value (#10493) --- .changesets/10493.md | 19 +++++++++++++++++++ .../vite/src/middleware/CookieJar.test.ts | 18 ++++++------------ packages/vite/src/middleware/CookieJar.ts | 2 +- .../src/middleware/MiddlewareRequest.test.ts | 4 ++-- packages/vite/src/middleware/register.test.ts | 2 +- 5 files changed, 29 insertions(+), 16 deletions(-) create mode 100644 .changesets/10493.md diff --git a/.changesets/10493.md b/.changesets/10493.md new file mode 100644 index 000000000000..461695b4b362 --- /dev/null +++ b/.changesets/10493.md @@ -0,0 +1,19 @@ +- feat(cookieJar): Change cookie.get to directly return value (#10493) by @dac09 + +**Motivation** +My original design of the `CookeiJar.get` would return the full cookie object we store, including cookie options. This is not ideal because you need to access the cookie like this: + +```js +const myCookie = mwRequest.cookies.get('myCookie') + +// 👇 +const actualValue = myCookie.value +``` + +This is unwieldy, and feels unergonomic for the 98% of cases where `get` will be used to just see the value. + +**How do I still see the options of the cookie?** +You can still access all the details of the cookie by doing `cookie.entries`. I don't really have a case for this yet, so let's not optimise for this case, but we know it's possible! + + +This is me just stabilizing the API for Middleware stuff, before we ship it out of experimental diff --git a/packages/vite/src/middleware/CookieJar.test.ts b/packages/vite/src/middleware/CookieJar.test.ts index 66f01011c49c..6fa61e9dc572 100644 --- a/packages/vite/src/middleware/CookieJar.test.ts +++ b/packages/vite/src/middleware/CookieJar.test.ts @@ -12,21 +12,17 @@ describe('CookieJar', () => { ) test('instatitates cookie jar from a cookie string', () => { - expect(cookieJar.get('color_mode')).toStrictEqual({ - value: JSON.stringify({ + expect(cookieJar.get('color_mode')).toStrictEqual( + JSON.stringify({ color_mode: 'light', light_theme: { name: 'light', color_mode: 'light' }, dark_theme: { name: 'dark_dimmed', color_mode: 'dark' }, }), - }) + ) - expect(cookieJar.get('preferred_color_mode')).toStrictEqual({ - value: 'dark', - }) + expect(cookieJar.get('preferred_color_mode')).toStrictEqual('dark') - expect(cookieJar.get('tz')).toStrictEqual({ - value: 'Asia/Bangkok', - }) + expect(cookieJar.get('tz')).toStrictEqual('Asia/Bangkok') }) describe('Helper methods like JS Map', () => { @@ -60,11 +56,9 @@ describe('CookieJar', () => { myJar.unset('auth_provider') - const { value: authProviderValue, options: authProviderOptions } = - myJar.get('auth_provider')! + const authProviderValue = myJar.get('auth_provider') expect(authProviderValue).toBeFalsy() - expect(authProviderOptions!.expires).toStrictEqual(new Date(0)) }) test('clear All', () => { diff --git a/packages/vite/src/middleware/CookieJar.ts b/packages/vite/src/middleware/CookieJar.ts index 55c358d63a18..cba97fac0569 100644 --- a/packages/vite/src/middleware/CookieJar.ts +++ b/packages/vite/src/middleware/CookieJar.ts @@ -37,7 +37,7 @@ export class CookieJar { } public get(name: string) { - return this.map.get(name) + return this.map.get(name)?.value } public has(name: string) { diff --git a/packages/vite/src/middleware/MiddlewareRequest.test.ts b/packages/vite/src/middleware/MiddlewareRequest.test.ts index 379532521fb5..f0f1dbe7cebc 100644 --- a/packages/vite/src/middleware/MiddlewareRequest.test.ts +++ b/packages/vite/src/middleware/MiddlewareRequest.test.ts @@ -18,7 +18,7 @@ describe('MiddlewareRequest', () => { }) const mReq = createMiddlewareRequest(req) - expect(mReq.cookies.get('foo')).toStrictEqual({ value: 'bar' }) + expect(mReq.cookies.get('foo')).toStrictEqual('bar') expect(mReq.method).toStrictEqual('POST') expect(mReq.headers.get('Content-Type')).toStrictEqual('application/json') @@ -43,7 +43,7 @@ describe('MiddlewareRequest', () => { const mReq = createMiddlewareRequest(whatWgRequest) - expect(mReq.cookies.get('errybody')).toStrictEqual({ value: 'lets-funk' }) + expect(mReq.cookies.get('errybody')).toStrictEqual('lets-funk') expect(mReq.method).toStrictEqual('PUT') expect(mReq.headers.get('x-custom-header')).toStrictEqual('beatdrop') diff --git a/packages/vite/src/middleware/register.test.ts b/packages/vite/src/middleware/register.test.ts index 69d888fc757b..7cc000bd8259 100644 --- a/packages/vite/src/middleware/register.test.ts +++ b/packages/vite/src/middleware/register.test.ts @@ -139,7 +139,7 @@ describe('chain', () => { expect(output.headers.get('class-mw-value')).toBe('999') // The other one still gets chained - expect(output.cookies.get('add-cookie-mw').value).toBe('added') + expect(output.cookies.get('add-cookie-mw')).toBe('added') // Because /bazinga is more specific, the '*' handlers won't be executed expect(output.headers.get('add-header-mw')).toBeFalsy() From 1dc7179043591152386bca1ddbc1f458593dc84c Mon Sep 17 00:00:00 2001 From: Rob Cameron Date: Mon, 22 Apr 2024 16:16:40 -0700 Subject: [PATCH 16/16] Removes old HTML comments from CLI commands doc Breaks new doc site --- docs/docs/cli-commands.md | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/docs/docs/cli-commands.md b/docs/docs/cli-commands.md index 82a0e9ad86a4..c28ac5e290f7 100644 --- a/docs/docs/cli-commands.md +++ b/docs/docs/cli-commands.md @@ -1193,9 +1193,6 @@ yarn redwood generate sdl The sdl will inspect your `schema.prisma` and will do its best with relations. Schema to generators isn't one-to-one yet (and might never be). - - | Arguments & Options | Description | | -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | `model` | Model to generate the sdl for | @@ -1627,16 +1624,6 @@ If you wanted to seed your database using a different method (like `psql` and an In addition, you can [code along with Ryan Chenkie](https://www.youtube.com/watch?v=2LwTUIqjbPo), and learn how libraries like [faker](https://www.npmjs.com/package/faker) can help you create a large, realistic database fast, especially in tandem with Prisma's [createMany](https://www.prisma.io/docs/reference/api-reference/prisma-client-reference#createmany). - - - - - - - - - - **Log Formatting** If you use the Redwood Logger as part of your seed script, you can pipe the command to the LogFormatter to output prettified logs. @@ -1714,16 +1701,6 @@ Create a migration from changes in Prisma schema, apply it to the database, trig yarn redwood prisma migrate dev ``` - - - - - - - - - - #### prisma migrate deploy Apply pending migrations to update the database schema in production/staging.