From 53d4f0af1519123715376cae3ec04ea372e7f429 Mon Sep 17 00:00:00 2001 From: MrWangJustToDo <2711470541@qq.com> Date: Mon, 25 Nov 2024 14:20:40 +0800 Subject: [PATCH] update --- .../src/processState/feature.ts | 37 ++-- .../src/share/elementType.ts | 13 ++ packages/myreact-reconciler/src/share/env.ts | 2 + pnpm-lock.yaml | 160 +++++++++++++----- ui/remix-example/package.json | 10 +- 5 files changed, 159 insertions(+), 63 deletions(-) diff --git a/packages/myreact-reconciler/src/processState/feature.ts b/packages/myreact-reconciler/src/processState/feature.ts index 01f7ebda..53b1594f 100644 --- a/packages/myreact-reconciler/src/processState/feature.ts +++ b/packages/myreact-reconciler/src/processState/feature.ts @@ -5,7 +5,14 @@ import { isErrorBoundariesComponent } from "../dispatchErrorBoundaries"; import { listenerMap } from "../renderDispatch"; import { prepareUpdateOnFiber, type MyReactFiberNode } from "../runtimeFiber"; import { getInstanceOwnerFiber } from "../runtimeGenerate"; -import { getCurrentDispatchFromFiber, getElementName, onceWarnWithKeyAndFiber, safeCallWithCurrentFiber, syncFlush } from "../share"; +import { + enableLogForCurrentFlowIsRunning, + getCurrentDispatchFromFiber, + getElementName, + onceWarnWithKeyAndFiber, + safeCallWithCurrentFiber, + syncFlush, +} from "../share"; import type { MyReactHookNode } from "../runtimeHook"; import type { MyReactComponent, MyReactInternalInstance, RenderFiber, UpdateQueue } from "@my-react/react"; @@ -95,14 +102,16 @@ export const processState = (_params: UpdateQueue) => { ); } else if (!isErrorBoundariesComponent(ownerFiber)) { const triggeredElementName = getElementName(ownerFiber); - + const currentElementName = getElementName(currentCFiber); - onceWarnWithKeyAndFiber( - currentRFiber, - `updateWhenCurrentFlowIsRunning-${triggeredElementName}`, - `[@my-react/react] trigger an update for ${triggeredElementName} when current update flow is running, this is a unexpected behavior, please make sure current render function for ${currentElementName} is a pure function` - ); + if (enableLogForCurrentFlowIsRunning.current) { + onceWarnWithKeyAndFiber( + currentRFiber, + `updateWhenCurrentFlowIsRunning-${triggeredElementName}`, + `[@my-react/react] trigger an update for ${triggeredElementName} when current update flow is running, this is a unexpected behavior, please make sure current render function for ${currentElementName} is a pure function` + ); + } } lastRenderComponentFiber = currentCFiber; @@ -156,12 +165,16 @@ export const processState = (_params: UpdateQueue) => { ); } else if (!isErrorBoundariesComponent(ownerFiber)) { const triggeredElementName = getElementName(ownerFiber); + const currentElementName = getElementName(currentCFiber); - onceWarnWithKeyAndFiber( - currentRFiber, - `updateWhenCurrentFlowIsRunning-${triggeredElementName}`, - `[@my-react/react] trigger an update for ${triggeredElementName} when current update flow is running, this is a unexpected behavior, please make sure current render function for ${currentElementName} is a pure function` - ); + + if (enableLogForCurrentFlowIsRunning.current) { + onceWarnWithKeyAndFiber( + currentRFiber, + `updateWhenCurrentFlowIsRunning-${triggeredElementName}`, + `[@my-react/react] trigger an update for ${triggeredElementName} when current update flow is running, this is a unexpected behavior, please make sure current render function for ${currentElementName} is a pure function` + ); + } } lastRenderComponentFiber = currentCFiber; lastRenderComponentTimeStep = now; diff --git a/packages/myreact-reconciler/src/share/elementType.ts b/packages/myreact-reconciler/src/share/elementType.ts index f204485a..446d0a22 100644 --- a/packages/myreact-reconciler/src/share/elementType.ts +++ b/packages/myreact-reconciler/src/share/elementType.ts @@ -36,6 +36,15 @@ type ReturnTypeFromElement = { const emptyProps = {}; +const checkIsMyReactElement = (element: MyReactElementNode) => { + if (isValidElement(element)) { + const isMyReactElement = element._jsx || element._legacy; + if (!isMyReactElement) { + devWarn(`[@my-react/react] look like current element is not a valid @my-react element %o`, element); + } + } +} + export const getElementTypeFromType = (type: MyReactComponentType): MyReactComponentType => { if (typeof type === "object") { switch (type[TYPEKEY]) { @@ -51,6 +60,10 @@ export const getElementTypeFromType = (type: MyReactComponentType): MyReactCompo export const getTypeFromElementNode = (element: MyReactElementNode): ReturnTypeFromElement => { let nodeType = NODE_TYPE.__initial__; + if (__DEV__) { + checkIsMyReactElement(element); + } + if (isValidElement(element)) { return getTypeFromElement(element); } else { diff --git a/packages/myreact-reconciler/src/share/env.ts b/packages/myreact-reconciler/src/share/env.ts index 5b2bf68b..cdf7e5fa 100644 --- a/packages/myreact-reconciler/src/share/env.ts +++ b/packages/myreact-reconciler/src/share/env.ts @@ -19,3 +19,5 @@ export const currentCallingFiber = createRef(null); export const fiberToDispatchMap = new MyWeakMap() as WeakMap; export const enableFiberForLog = createRef(false); + +export const enableLogForCurrentFlowIsRunning = createRef(false); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 487c5f2d..22d2dfec 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -750,16 +750,16 @@ importers: specifier: workspace:* version: link:../../packages/myreact-dom '@remix-run/node': - specifier: ^2.13.1 - version: 2.13.1(typescript@5.3.3) + specifier: ^2.15.0 + version: 2.15.0(typescript@5.3.3) '@remix-run/react': - specifier: ^2.13.1 - version: 2.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + specifier: ^2.15.0 + version: 2.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) '@remix-run/serve': - specifier: ^2.13.1 - version: 2.13.1(typescript@5.3.3) + specifier: ^2.15.0 + version: 2.15.0(typescript@5.3.3) isbot: - specifier: ^4.1.0 + specifier: ^4.4.0 version: 4.4.0 react: specifier: ^18.2.0 @@ -775,8 +775,8 @@ importers: specifier: workspace:* version: link:../../packages/myreact-vite '@remix-run/dev': - specifier: ^2.13.1 - version: 2.13.1(@remix-run/react@2.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@remix-run/serve@2.13.1(typescript@5.3.3))(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.3.3))(typescript@5.3.3)(vite@5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)) + specifier: ^2.15.0 + version: 2.15.0(@remix-run/react@2.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@remix-run/serve@2.15.0(typescript@5.3.3))(@types/node@22.8.4)(babel-plugin-macros@3.1.0)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.3.3))(typescript@5.3.3)(vite@5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)) '@types/react': specifier: ^18.2.58 version: 18.3.12 @@ -4409,13 +4409,13 @@ packages: '@redux-saga/types@1.2.1': resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} - '@remix-run/dev@2.13.1': - resolution: {integrity: sha512-7+06Dail6zMyRlRvgrZ4cmQjs2gUb+M24iP4jbmql+0B7VAAPwzCRU0x+BF5z8GSef13kDrH3iXv/BQ2O2yOgw==} + '@remix-run/dev@2.15.0': + resolution: {integrity: sha512-iXV6u9PBwFc7KriDpVcjqLGJzZZd6ZOrxewen7hoH0OBzGwjkhtm46BTQEJrZ/e/dzlU1IU/0ylH29tN9BZoyg==} engines: {node: '>=18.0.0'} hasBin: true peerDependencies: - '@remix-run/react': ^2.13.1 - '@remix-run/serve': ^2.13.1 + '@remix-run/react': ^2.15.0 + '@remix-run/serve': ^2.15.0 typescript: ^5.1.0 vite: ^5.1.0 wrangler: ^3.28.2 @@ -4429,8 +4429,8 @@ packages: wrangler: optional: true - '@remix-run/express@2.13.1': - resolution: {integrity: sha512-yl3/BSJ8eyvwUyWCLDq3NlS81mZFll9hnADNuSCCBrQgkMhEx7stk5JUmWdvmcmGqHw04Ahkq07ZqJeD4F1FMA==} + '@remix-run/express@2.15.0': + resolution: {integrity: sha512-MyCXVmbrxeo06zJECuaOUQ01x13zEkmMUkFzaHESWMBxnTPGbtKF4Gb0iF6TrMFiSeaKptUU4JBvLeHooPOryA==} engines: {node: '>=18.0.0'} peerDependencies: express: ^4.20.0 @@ -4439,8 +4439,8 @@ packages: typescript: optional: true - '@remix-run/node@2.13.1': - resolution: {integrity: sha512-2ly7bENj2n2FNBdEN60ZEbNCs5dAOex/QJoo6EZ8RNFfUQxVKAZkMwfQ4ETV2SLWDgkRLj3Jo5n/dx7O2ZGhGw==} + '@remix-run/node@2.15.0': + resolution: {integrity: sha512-tWbR7pQ6gwj+MkGf6WVIYnjgfGfpdU8EOIa6xsCIRlrm0p3BtMz4jA3GvBWEpOuEnN5MV7CarVzhduaRzkZ0SQ==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 @@ -4448,8 +4448,8 @@ packages: typescript: optional: true - '@remix-run/react@2.13.1': - resolution: {integrity: sha512-kZevCoKMz0ZDOOzTnG95yfM7M9ju38FkWNY1wtxCy+NnUJYrmTerGQtiBsJgMzYD6i29+w4EwoQsdqys7DmMSg==} + '@remix-run/react@2.15.0': + resolution: {integrity: sha512-puqDbi9N/WfaUhzDnw2pACXtCB7ukrtFJ9ILwpEuhlaTBpjefifJ89igokW+tt1ePphIFMivAm/YspcbZdCQsA==} engines: {node: '>=18.0.0'} peerDependencies: react: ^18.0.0 @@ -4463,13 +4463,17 @@ packages: resolution: {integrity: sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg==} engines: {node: '>=14.0.0'} - '@remix-run/serve@2.13.1': - resolution: {integrity: sha512-lKCU1ZnHaGknRAYII5PQOGch9xzK3Q68mcyN8clN6WoKQTn5fvWVE1nEDd1L7vyt5LPVI2b7HNQtVMow1g1vHg==} + '@remix-run/router@1.21.0': + resolution: {integrity: sha512-xfSkCAchbdG5PnbrKqFWwia4Bi61nH+wm8wLEqfHDyp7Y3dZzgqS2itV8i4gAq9pC2HsTpwyBC6Ds8VHZ96JlA==} + engines: {node: '>=14.0.0'} + + '@remix-run/serve@2.15.0': + resolution: {integrity: sha512-Me78FMVKtBRUi6i2PKfP6t7coHHEjDl5IIV7loMm3HCMzc1iP35bRjv3F7nKcTknaiK/Zhsic1lrKt9jevAb/A==} engines: {node: '>=18.0.0'} hasBin: true - '@remix-run/server-runtime@2.13.1': - resolution: {integrity: sha512-2DfBPRcHKVzE4bCNsNkKB50BhCCKF73x+jiS836OyxSIAL+x0tguV2AEjmGXefEXc5AGGzoxkus0AUUEYa29Vg==} + '@remix-run/server-runtime@2.15.0': + resolution: {integrity: sha512-FuM8vAg1sPskf4wn0ivbuj/7s9Qdh2wnKu+sVXqYz0a95gH5b73TuMzk6n3NMSkFVKKc6+UmlG1WLYre7L2LTg==} engines: {node: '>=18.0.0'} peerDependencies: typescript: ^5.1.0 @@ -9492,6 +9496,13 @@ packages: react: '>=16.8' react-dom: '>=16.8' + react-router-dom@6.28.0: + resolution: {integrity: sha512-kQ7Unsl5YdyOltsPGl31zOjLrDv+m2VcIEcIHqYYD3Lp0UppLjrzcfJqDJwXxFw3TH/yvapbnUvPlAj7Kx5nbg==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-dom: '>=16.8' + react-router@5.3.4: resolution: {integrity: sha512-Ys9K+ppnJah3QuaRiLxk+jDWOR1MekYQrlytiXxC1RyfbdsZkS5pvKAzCCr031xHixZwpnsYNT5xysdFHQaYsA==} peerDependencies: @@ -9503,6 +9514,12 @@ packages: peerDependencies: react: '>=16.8' + react-router@6.28.0: + resolution: {integrity: sha512-HrYdIFqdrnhDw0PqG/AKjAqEqM7AvxCz0DQ4h2W8k6nqmc5uRBYDag0SBxx9iYz5G8gnuNVLzUe13wl9eAsXXg==} + engines: {node: '>=14.0.0'} + peerDependencies: + react: '>=16.8' + react-style-singleton@2.2.1: resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} @@ -10788,6 +10805,14 @@ packages: v8-compile-cache-lib@3.0.1: resolution: {integrity: sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==} + valibot@0.41.0: + resolution: {integrity: sha512-igDBb8CTYr8YTQlOKgaN9nSS0Be7z+WRuaeYqGf3Cjz3aKmSnqEmYnkfVjzIuumGqfHpa3fLIvMEAfhrpqN8ng==} + peerDependencies: + typescript: '>=5' + peerDependenciesMeta: + typescript: + optional: true + validate-npm-package-license@3.0.4: resolution: {integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==} @@ -10817,6 +10842,11 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-node@1.6.0: + resolution: {integrity: sha512-de6HJgzC+TFzOu0NTC4RAIsyf/DY/ibWDYQUcuEA84EMHhcefTUGkjFHKKEJhQN4A+6I0u++kr3l36ZF2d7XRw==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + vite-tsconfig-paths@5.1.0: resolution: {integrity: sha512-Y1PLGHCJfAq1Zf4YIGEsmuU/NCX1epoZx9zwSr32Gjn3aalwQHRKr5aUmbo6r0JHeHkqmWpmDg7WOynhYXw1og==} peerDependencies: @@ -15367,7 +15397,7 @@ snapshots: '@redux-saga/types@1.2.1': {} - '@remix-run/dev@2.13.1(@remix-run/react@2.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@remix-run/serve@2.13.1(typescript@5.3.3))(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.3.3))(typescript@5.3.3)(vite@5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1))': + '@remix-run/dev@2.15.0(@remix-run/react@2.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3))(@remix-run/serve@2.15.0(typescript@5.3.3))(@types/node@22.8.4)(babel-plugin-macros@3.1.0)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)(ts-node@10.9.2(@swc/core@1.7.40(@swc/helpers@0.5.13))(@types/node@22.8.4)(typescript@5.3.3))(typescript@5.3.3)(vite@5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1))': dependencies: '@babel/core': 7.25.2 '@babel/generator': 7.25.5 @@ -15379,12 +15409,12 @@ snapshots: '@babel/types': 7.25.4 '@mdx-js/mdx': 2.3.0 '@npmcli/package-json': 4.0.1 - '@remix-run/node': 2.13.1(typescript@5.3.3) - '@remix-run/react': 2.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) - '@remix-run/router': 1.20.0 - '@remix-run/server-runtime': 2.13.1(typescript@5.3.3) + '@remix-run/node': 2.15.0(typescript@5.3.3) + '@remix-run/react': 2.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3) + '@remix-run/router': 1.21.0 + '@remix-run/server-runtime': 2.15.0(typescript@5.3.3) '@types/mdx': 2.0.13 - '@vanilla-extract/integration': 6.5.0(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) + '@vanilla-extract/integration': 6.5.0(@types/node@22.8.4)(babel-plugin-macros@3.1.0)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) arg: 5.0.2 cacache: 17.1.4 chalk: 4.1.2 @@ -15422,9 +15452,11 @@ snapshots: set-cookie-parser: 2.7.1 tar-fs: 2.1.1 tsconfig-paths: 4.2.0 + valibot: 0.41.0(typescript@5.3.3) + vite-node: 1.6.0(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) ws: 7.5.10 optionalDependencies: - '@remix-run/serve': 2.13.1(typescript@5.3.3) + '@remix-run/serve': 2.15.0(typescript@5.3.3) typescript: 5.3.3 vite: 5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) transitivePeerDependencies: @@ -15443,16 +15475,16 @@ snapshots: - ts-node - utf-8-validate - '@remix-run/express@2.13.1(express@4.21.1)(typescript@5.3.3)': + '@remix-run/express@2.15.0(express@4.21.1)(typescript@5.3.3)': dependencies: - '@remix-run/node': 2.13.1(typescript@5.3.3) + '@remix-run/node': 2.15.0(typescript@5.3.3) express: 4.21.1 optionalDependencies: typescript: 5.3.3 - '@remix-run/node@2.13.1(typescript@5.3.3)': + '@remix-run/node@2.15.0(typescript@5.3.3)': dependencies: - '@remix-run/server-runtime': 2.13.1(typescript@5.3.3) + '@remix-run/server-runtime': 2.15.0(typescript@5.3.3) '@remix-run/web-fetch': 4.4.2 '@web3-storage/multipart-parser': 1.0.0 cookie-signature: 1.2.2 @@ -15462,24 +15494,26 @@ snapshots: optionalDependencies: typescript: 5.3.3 - '@remix-run/react@2.13.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': + '@remix-run/react@2.15.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.3.3)': dependencies: - '@remix-run/router': 1.20.0 - '@remix-run/server-runtime': 2.13.1(typescript@5.3.3) + '@remix-run/router': 1.21.0 + '@remix-run/server-runtime': 2.15.0(typescript@5.3.3) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - react-router: 6.27.0(react@18.2.0) - react-router-dom: 6.27.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + react-router: 6.28.0(react@18.2.0) + react-router-dom: 6.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0) turbo-stream: 2.4.0 optionalDependencies: typescript: 5.3.3 '@remix-run/router@1.20.0': {} - '@remix-run/serve@2.13.1(typescript@5.3.3)': + '@remix-run/router@1.21.0': {} + + '@remix-run/serve@2.15.0(typescript@5.3.3)': dependencies: - '@remix-run/express': 2.13.1(express@4.21.1)(typescript@5.3.3) - '@remix-run/node': 2.13.1(typescript@5.3.3) + '@remix-run/express': 2.15.0(express@4.21.1)(typescript@5.3.3) + '@remix-run/node': 2.15.0(typescript@5.3.3) chokidar: 3.6.0 compression: 1.7.4 express: 4.21.1 @@ -15490,9 +15524,9 @@ snapshots: - supports-color - typescript - '@remix-run/server-runtime@2.13.1(typescript@5.3.3)': + '@remix-run/server-runtime@2.15.0(typescript@5.3.3)': dependencies: - '@remix-run/router': 1.20.0 + '@remix-run/router': 1.21.0 '@types/cookie': 0.6.0 '@web3-storage/multipart-parser': 1.0.0 cookie: 0.6.0 @@ -16217,7 +16251,7 @@ snapshots: transitivePeerDependencies: - babel-plugin-macros - '@vanilla-extract/integration@6.5.0(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)': + '@vanilla-extract/integration@6.5.0(@types/node@22.8.4)(babel-plugin-macros@3.1.0)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)': dependencies: '@babel/core': 7.25.2 '@babel/plugin-syntax-typescript': 7.23.3(@babel/core@7.25.2) @@ -16231,7 +16265,7 @@ snapshots: mlly: 1.4.2 outdent: 0.8.0 vite: 5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) - vite-node: 1.3.1(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) + vite-node: 1.6.0(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -21258,6 +21292,13 @@ snapshots: react-dom: 18.2.0(react@18.2.0) react-router: 6.27.0(react@18.2.0) + react-router-dom@6.28.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0): + dependencies: + '@remix-run/router': 1.21.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-router: 6.28.0(react@18.2.0) + react-router@5.3.4(react@18.2.0): dependencies: '@babel/runtime': 7.23.6 @@ -21276,6 +21317,11 @@ snapshots: '@remix-run/router': 1.20.0 react: 18.2.0 + react-router@6.28.0(react@18.2.0): + dependencies: + '@remix-run/router': 1.21.0 + react: 18.2.0 + react-style-singleton@2.2.1(@types/react@18.2.58)(react@18.2.0): dependencies: get-nonce: 1.0.1 @@ -22813,6 +22859,10 @@ snapshots: v8-compile-cache-lib@3.0.1: {} + valibot@0.41.0(typescript@5.3.3): + optionalDependencies: + typescript: 5.3.3 + validate-npm-package-license@3.0.4: dependencies: spdx-correct: 3.2.0 @@ -22856,6 +22906,24 @@ snapshots: - supports-color - terser + vite-node@1.6.0(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1): + dependencies: + cac: 6.7.14 + debug: 4.3.7 + pathe: 1.1.1 + picocolors: 1.1.1 + vite: 5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1) + transitivePeerDependencies: + - '@types/node' + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vite-tsconfig-paths@5.1.0(typescript@5.3.3)(vite@5.4.10(@types/node@22.8.4)(sass@1.80.5)(sugarss@4.0.1(postcss@8.4.47))(terser@5.28.1)): dependencies: debug: 4.3.7 diff --git a/ui/remix-example/package.json b/ui/remix-example/package.json index 15c7e11d..8d97a3f4 100644 --- a/ui/remix-example/package.json +++ b/ui/remix-example/package.json @@ -13,17 +13,17 @@ "dependencies": { "@my-react/react": "workspace:*", "@my-react/react-dom": "workspace:*", - "@remix-run/node": "^2.13.1", - "@remix-run/react": "^2.13.1", - "@remix-run/serve": "^2.13.1", - "isbot": "^4.1.0", + "@remix-run/node": "^2.15.0", + "@remix-run/react": "^2.15.0", + "@remix-run/serve": "^2.15.0", + "isbot": "^4.4.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { "@my-react/react-refresh": "workspace:*", "@my-react/react-vite": "workspace:*", - "@remix-run/dev": "^2.13.1", + "@remix-run/dev": "^2.15.0", "@types/react": "^18.2.58", "@types/react-dom": "^18.2.19", "eslint": "^8.57.0",