mirror of
https://github.com/Unleash/unleash.git
synced 2024-12-28 00:06:53 +01:00
08467f9dac
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [react-router](https://togithub.com/remix-run/react-router) | [`6.8.1` -> `6.11.0`](https://renovatebot.com/diffs/npm/react-router/6.8.1/6.11.0) | [![age](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/compatibility-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/react-router/6.11.0/confidence-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | | [react-router-dom](https://togithub.com/remix-run/react-router) | [`6.8.1` -> `6.11.0`](https://renovatebot.com/diffs/npm/react-router-dom/6.8.1/6.11.0) | [![age](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/age-slim)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/adoption-slim)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/compatibility-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://badges.renovateapi.com/packages/npm/react-router-dom/6.11.0/confidence-slim/6.8.1)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remix-run/react-router (react-router)</summary> ### [`v6.11.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#​6110) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.10.0...react-router@6.11.0) ##### Patch Changes - Log loader/action errors to the console in dev for easier stack trace evaluation ([#​10286](https://togithub.com/remix-run/react-router/pull/10286)) - Fix bug preventing rendering of descendant `<Routes>` when `RouterProvider` errors existed ([#​10374](https://togithub.com/remix-run/react-router/pull/10374)) - Fix inadvertent re-renders when using `Component` instead of `element` on a route definition ([#​10287](https://togithub.com/remix-run/react-router/pull/10287)) - Fix detection of `useNavigate` in the render cycle by setting the `activeRef` in a layout effect, allowing the `navigate` function to be passed to child components and called in a `useEffect` there. ([#​10394](https://togithub.com/remix-run/react-router/pull/10394)) - Switched from `useSyncExternalStore` to `useState` for internal `@remix-run/router` router state syncing in `<RouterProvider>`. We found some [subtle bugs](https://codesandbox.io/s/use-sync-external-store-loop-9g7b81) where router state updates got propagated *before* other normal `useState` updates, which could lead to footguns in `useEffect` calls. ([#​10377](https://togithub.com/remix-run/react-router/pull/10377), [#​10409](https://togithub.com/remix-run/react-router/pull/10409)) - Allow `useRevalidator()` to resolve a loader-driven error boundary scenario ([#​10369](https://togithub.com/remix-run/react-router/pull/10369)) - Avoid unnecessary unsubscribe/resubscribes on router state changes ([#​10409](https://togithub.com/remix-run/react-router/pull/10409)) - When using a `RouterProvider`, `useNavigate`/`useSubmit`/`fetcher.submit` are now stable across location changes, since we can handle relative routing via the `@remix-run/router` instance and get rid of our dependence on `useLocation()`. When using `BrowserRouter`, these hooks remain unstable across location changes because they still rely on `useLocation()`. ([#​10336](https://togithub.com/remix-run/react-router/pull/10336)) - Updated dependencies: - `@remix-run/router@1.6.0` ### [`v6.10.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#​6100) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.9.0...react-router@6.10.0) ##### Minor Changes - Added support for [**Future Flags**](https://reactrouter.com/en/main/guides/api-development-strategy) in React Router. The first flag being introduced is `future.v7_normalizeFormMethod` which will normalize the exposed `useNavigation()/useFetcher()` `formMethod` fields as uppercase HTTP methods to align with the `fetch()` behavior. ([#​10207](https://togithub.com/remix-run/react-router/pull/10207)) - When `future.v7_normalizeFormMethod === false` (default v6 behavior), - `useNavigation().formMethod` is lowercase - `useFetcher().formMethod` is lowercase - When `future.v7_normalizeFormMethod === true`: - `useNavigation().formMethod` is uppercase - `useFetcher().formMethod` is uppercase ##### Patch Changes - Fix route ID generation when using Fragments in `createRoutesFromElements` ([#​10193](https://togithub.com/remix-run/react-router/pull/10193)) - Updated dependencies: - `@remix-run/router@1.5.0` ### [`v6.9.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#​690) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.8.2...react-router@6.9.0) ##### Minor Changes - React Router now supports an alternative way to define your route `element` and `errorElement` fields as React Components instead of React Elements. You can instead pass a React Component to the new `Component` and `ErrorBoundary` fields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you do `Component`/`ErrorBoundary` will "win". ([#​10045](https://togithub.com/remix-run/react-router/pull/10045)) **Example JSON Syntax** ```jsx // Both of these work the same: const elementRoutes = [{ path: '/', element: <Home />, errorElement: <HomeError />, }] const componentRoutes = [{ path: '/', Component: Home, ErrorBoundary: HomeError, }] function Home() { ... } function HomeError() { ... } ``` **Example JSX Syntax** ```jsx // Both of these work the same: const elementRoutes = createRoutesFromElements( <Route path='/' element={<Home />} errorElement={<HomeError /> } /> ); const componentRoutes = createRoutesFromElements( <Route path='/' Component={Home} ErrorBoundary={HomeError} /> ); function Home() { ... } function HomeError() { ... } ``` - **Introducing Lazy Route Modules!** ([#​10045](https://togithub.com/remix-run/react-router/pull/10045)) In order to keep your application bundles small and support code-splitting of your routes, we've introduced a new `lazy()` route property. This is an async function that resolves the non-route-matching portions of your route definition (`loader`, `action`, `element`/`Component`, `errorElement`/`ErrorBoundary`, `shouldRevalidate`, `handle`). Lazy routes are resolved on initial load and during the `loading` or `submitting` phase of a navigation or fetcher call. You cannot lazily define route-matching properties (`path`, `index`, `children`) since we only execute your lazy route functions after we've matched known routes. Your `lazy` functions will typically return the result of a dynamic import. ```jsx // In this example, we assume most folks land on the homepage so we include that // in our critical-path bundle, but then we lazily load modules for /a and /b so // they don't load until the user navigates to those routes let routes = createRoutesFromElements( <Route path="/" element={<Layout />}> <Route index element={<Home />} /> <Route path="a" lazy={() => import("./a")} /> <Route path="b" lazy={() => import("./b")} /> </Route> ); ``` Then in your lazy route modules, export the properties you want defined for the route: ```jsx export async function loader({ request }) { let data = await fetchData(request); return json(data); } // Export a `Component` directly instead of needing to create a React Element from it export function Component() { let data = useLoaderData(); return ( <> <h1>You made it!</h1> <p>{data}</p> </> ); } // Export an `ErrorBoundary` directly instead of needing to create a React Element from it export function ErrorBoundary() { let error = useRouteError(); return isRouteErrorResponse(error) ? ( <h1> {error.status} {error.statusText} </h1> ) : ( <h1>{error.message || error}</h1> ); } ``` An example of this in action can be found in the [`examples/lazy-loading-router-provider`](https://togithub.com/remix-run/react-router/tree/main/examples/lazy-loading-router-provider) directory of the repository. 🙌 Huge thanks to [@​rossipedia](https://togithub.com/rossipedia) for the [Initial Proposal](https://togithub.com/remix-run/react-router/discussions/9826) and [POC Implementation](https://togithub.com/remix-run/react-router/pull/9830). - Updated dependencies: - `@remix-run/router@1.4.0` ##### Patch Changes - Fix `generatePath` incorrectly applying parameters in some cases ([#​10078](https://togithub.com/remix-run/react-router/pull/10078)) - Improve memoization for context providers to avoid unnecessary re-renders ([#​9983](https://togithub.com/remix-run/react-router/pull/9983)) ### [`v6.8.2`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router/CHANGELOG.md#​682) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router@6.8.1...react-router@6.8.2) ##### Patch Changes - Updated dependencies: - `@remix-run/router@1.3.3` </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v6.11.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#​6110) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.10.0...react-router-dom@6.11.0) ##### Minor Changes - Enable `basename` support in `useFetcher` ([#​10336](https://togithub.com/remix-run/react-router/pull/10336)) - If you were previously working around this issue by manually prepending the `basename` then you will need to remove the manually prepended `basename` from your `fetcher` calls (`fetcher.load('/basename/route') -> fetcher.load('/route')`) ##### Patch Changes - Fix inadvertent re-renders when using `Component` instead of `element` on a route definition ([#​10287](https://togithub.com/remix-run/react-router/pull/10287)) - Fail gracefully on `<Link to="//">` and other invalid URL values ([#​10367](https://togithub.com/remix-run/react-router/pull/10367)) - Switched from `useSyncExternalStore` to `useState` for internal `@remix-run/router` router state syncing in `<RouterProvider>`. We found some [subtle bugs](https://codesandbox.io/s/use-sync-external-store-loop-9g7b81) where router state updates got propagated *before* other normal `useState` updates, which could lead to footguns in `useEffect` calls. ([#​10377](https://togithub.com/remix-run/react-router/pull/10377), [#​10409](https://togithub.com/remix-run/react-router/pull/10409)) - Add static prop to `StaticRouterProvider`'s internal `Router` component ([#​10401](https://togithub.com/remix-run/react-router/pull/10401)) - When using a `RouterProvider`, `useNavigate`/`useSubmit`/`fetcher.submit` are now stable across location changes, since we can handle relative routing via the `@remix-run/router` instance and get rid of our dependence on `useLocation()`. When using `BrowserRouter`, these hooks remain unstable across location changes because they still rely on `useLocation()`. ([#​10336](https://togithub.com/remix-run/react-router/pull/10336)) - Updated dependencies: - `react-router@6.11.0` - `@remix-run/router@1.6.0` ### [`v6.10.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#​6100) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.9.0...react-router-dom@6.10.0) ##### Minor Changes - Added support for [**Future Flags**](https://reactrouter.com/en/main/guides/api-development-strategy) in React Router. The first flag being introduced is `future.v7_normalizeFormMethod` which will normalize the exposed `useNavigation()/useFetcher()` `formMethod` fields as uppercase HTTP methods to align with the `fetch()` behavior. ([#​10207](https://togithub.com/remix-run/react-router/pull/10207)) - When `future.v7_normalizeFormMethod === false` (default v6 behavior), - `useNavigation().formMethod` is lowercase - `useFetcher().formMethod` is lowercase - When `future.v7_normalizeFormMethod === true`: - `useNavigation().formMethod` is uppercase - `useFetcher().formMethod` is uppercase ##### Patch Changes - Fix `createStaticHandler` to also check for `ErrorBoundary` on routes in addition to `errorElement` ([#​10190](https://togithub.com/remix-run/react-router/pull/10190)) - Updated dependencies: - `@remix-run/router@1.5.0` - `react-router@6.10.0` ### [`v6.9.0`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#​690) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.8.2...react-router-dom@6.9.0) ##### Minor Changes - React Router now supports an alternative way to define your route `element` and `errorElement` fields as React Components instead of React Elements. You can instead pass a React Component to the new `Component` and `ErrorBoundary` fields if you choose. There is no functional difference between the two, so use whichever approach you prefer 😀. You shouldn't be defining both, but if you do `Component`/`ErrorBoundary` will "win". ([#​10045](https://togithub.com/remix-run/react-router/pull/10045)) **Example JSON Syntax** ```jsx // Both of these work the same: const elementRoutes = [{ path: '/', element: <Home />, errorElement: <HomeError />, }] const componentRoutes = [{ path: '/', Component: Home, ErrorBoundary: HomeError, }] function Home() { ... } function HomeError() { ... } ``` **Example JSX Syntax** ```jsx // Both of these work the same: const elementRoutes = createRoutesFromElements( <Route path='/' element={<Home />} errorElement={<HomeError /> } /> ); const componentRoutes = createRoutesFromElements( <Route path='/' Component={Home} ErrorBoundary={HomeError} /> ); function Home() { ... } function HomeError() { ... } ``` - **Introducing Lazy Route Modules!** ([#​10045](https://togithub.com/remix-run/react-router/pull/10045)) In order to keep your application bundles small and support code-splitting of your routes, we've introduced a new `lazy()` route property. This is an async function that resolves the non-route-matching portions of your route definition (`loader`, `action`, `element`/`Component`, `errorElement`/`ErrorBoundary`, `shouldRevalidate`, `handle`). Lazy routes are resolved on initial load and during the `loading` or `submitting` phase of a navigation or fetcher call. You cannot lazily define route-matching properties (`path`, `index`, `children`) since we only execute your lazy route functions after we've matched known routes. Your `lazy` functions will typically return the result of a dynamic import. ```jsx // In this example, we assume most folks land on the homepage so we include that // in our critical-path bundle, but then we lazily load modules for /a and /b so // they don't load until the user navigates to those routes let routes = createRoutesFromElements( <Route path="/" element={<Layout />}> <Route index element={<Home />} /> <Route path="a" lazy={() => import("./a")} /> <Route path="b" lazy={() => import("./b")} /> </Route> ); ``` Then in your lazy route modules, export the properties you want defined for the route: ```jsx export async function loader({ request }) { let data = await fetchData(request); return json(data); } // Export a `Component` directly instead of needing to create a React Element from it export function Component() { let data = useLoaderData(); return ( <> <h1>You made it!</h1> <p>{data}</p> </> ); } // Export an `ErrorBoundary` directly instead of needing to create a React Element from it export function ErrorBoundary() { let error = useRouteError(); return isRouteErrorResponse(error) ? ( <h1> {error.status} {error.statusText} </h1> ) : ( <h1>{error.message || error}</h1> ); } ``` An example of this in action can be found in the [`examples/lazy-loading-router-provider`](https://togithub.com/remix-run/react-router/tree/main/examples/lazy-loading-router-provider) directory of the repository. 🙌 Huge thanks to [@​rossipedia](https://togithub.com/rossipedia) for the [Initial Proposal](https://togithub.com/remix-run/react-router/discussions/9826) and [POC Implementation](https://togithub.com/remix-run/react-router/pull/9830). - Updated dependencies: - `react-router@6.9.0` - `@remix-run/router@1.4.0` ### [`v6.8.2`](https://togithub.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#​682) [Compare Source](https://togithub.com/remix-run/react-router/compare/react-router-dom@6.8.1...react-router-dom@6.8.2) ##### Patch Changes - Treat same-origin absolute URLs in `<Link to>` as external if they are outside of the router `basename` ([#​10135](https://togithub.com/remix-run/react-router/pull/10135)) - Fix `useBlocker` to return `IDLE_BLOCKER` during SSR ([#​10046](https://togithub.com/remix-run/react-router/pull/10046)) - Fix SSR of absolute `<Link to>` urls ([#​10112](https://togithub.com/remix-run/react-router/pull/10112)) - Properly escape HTML characters in `StaticRouterProvider` serialized hydration data ([#​10068](https://togithub.com/remix-run/react-router/pull/10068)) - Updated dependencies: - `@remix-run/router@1.3.3` - `react-router@6.8.2` </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View repository job log [here](https://app.renovatebot.com/dashboard#github/Unleash/unleash). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNS43MS40IiwidXBkYXRlZEluVmVyIjoiMzUuNzEuNCIsInRhcmdldEJyYW5jaCI6Im1haW4ifQ==--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
89 lines
2.6 KiB
JSON
89 lines
2.6 KiB
JSON
{
|
|
"name": "websitev-2",
|
|
"version": "0.0.0",
|
|
"private": true,
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"scripts": {
|
|
"docusaurus": "docusaurus",
|
|
"start": "docusaurus start",
|
|
"build": "yarn generate && docusaurus build",
|
|
"swizzle": "docusaurus swizzle",
|
|
"generate": "docusaurus gen-api-docs all && node clean-generated-docs.js",
|
|
"deploy": "yarn generate && docusaurus deploy",
|
|
"clear": "docusaurus clear",
|
|
"serve": "docusaurus serve",
|
|
"write-translations": "docusaurus write-translations",
|
|
"write-heading-ids": "docusaurus write-heading-ids",
|
|
"storybook": "start-storybook -p 6006",
|
|
"build-storybook": "build-storybook"
|
|
},
|
|
"dependencies": {
|
|
"@docusaurus/core": "2.3.1",
|
|
"@docusaurus/plugin-client-redirects": "2.3.1",
|
|
"@docusaurus/plugin-google-analytics": "2.3.1",
|
|
"@docusaurus/preset-classic": "2.3.1",
|
|
"@docusaurus/remark-plugin-npm2yarn": "2.3.1",
|
|
"@docusaurus/theme-mermaid": "2.3.1",
|
|
"@mdx-js/react": "1.6.22",
|
|
"@svgr/webpack": "6.5.1",
|
|
"browserslist": "^4.16.5",
|
|
"clsx": "1.2.1",
|
|
"docusaurus-plugin-openapi-docs": "2.0.0-beta.2",
|
|
"docusaurus-plugin-remote-content": "^3.1.0",
|
|
"docusaurus-theme-openapi-docs": "2.0.0-beta.2",
|
|
"file-loader": "6.2.0",
|
|
"immer": "^9.0.6",
|
|
"react": "18.2.0",
|
|
"react-dom": "18.2.0",
|
|
"unleash-proxy-client": "2.4.3",
|
|
"url-loader": "4.1.1"
|
|
},
|
|
"resolutions": {
|
|
"async": "^3.2.4",
|
|
"trim": "^1.0.0",
|
|
"got": "^11.8.5",
|
|
"glob-parent": "^6.0.0",
|
|
"browserslist": "^4.16.5",
|
|
"set-value": "^4.0.1",
|
|
"immer": "^9.0.6",
|
|
"ansi-regex": "^5.0.1",
|
|
"nth-check": "^2.0.1",
|
|
"shelljs": "^0.8.5",
|
|
"trim-newlines": "^4.0.0",
|
|
"minimatch": "^5.0.0",
|
|
"decode-uri-component": "^0.4.0",
|
|
"qs": "^6.9.7"
|
|
},
|
|
"browserslist": {
|
|
"production": [
|
|
">0.5%",
|
|
"not dead",
|
|
"not op_mini all"
|
|
],
|
|
"development": [
|
|
"last 1 chrome version",
|
|
"last 1 firefox version",
|
|
"last 1 safari version"
|
|
]
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "7.21.5",
|
|
"@docusaurus/module-type-aliases": "2.3.1",
|
|
"@storybook/addon-actions": "6.5.16",
|
|
"@storybook/addon-essentials": "6.5.16",
|
|
"@storybook/addon-interactions": "6.5.16",
|
|
"@storybook/addon-links": "6.5.16",
|
|
"@storybook/react": "6.5.16",
|
|
"@storybook/testing-library": "0.1.0",
|
|
"@tsconfig/docusaurus": "1.0.7",
|
|
"babel-loader": "9.1.2",
|
|
"enhanced-resolve": "5.13.0",
|
|
"react-router": "6.11.0",
|
|
"replace-in-file": "6.3.5",
|
|
"storybook-addon-root-attribute": "1.0.2",
|
|
"typescript": "4.8.4"
|
|
}
|
|
}
|