-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Call patchRoutesOnMiss when matching slug routes in case there exist higher scoring static routes #11883
Conversation
… higher scoring static routes
🦋 Changeset detectedLatest commit: adaba37 The changes in this PR will be included in the next version bump. This PR includes changesets to release 5 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
let discoveredRoutesMaxSize = 1000; | ||
let discoveredRoutes = new Set<string>(); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Track up to 1000 paths (fifo) internally to avoid re-calling patchRoutesOnMiss
on subsequent navigations to the same path
if (Object.keys(matches[0].params).length > 0) { | ||
// If we matched a dynamic param or a splat, it might only be because | ||
// we haven't yet discovered other routes that would match with a | ||
// higher score. Call patchRoutesOnMiss just to be sure |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In order to handle both splat and dynamic param routes we can just check if we have any params in the matches
// If we found a splat route, we can't be sure there's not a | ||
// higher-scoring route down some partial matches trail so we need | ||
// to check that out | ||
matchedSplat = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think we should need to run through here again on splat routes any longer. If we match a splat we automatically call patchRoutesOnMiss
one time - and it would be the apps responsibility to patch in the most specific match at that point.
route = partialMatches[partialMatches.length - 1].route; | ||
if (route.path === "*") { | ||
// The splat is still our most accurate partial, so run with it | ||
return { type: "success", matches: partialMatches }; | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No longer needed - this was the back half of https://github.com/remix-run/react-router/pull/11883/files#r1715581042
🤖 Hello there, We just published version Thanks! |
🤖 Hello there, We just published version Thanks! |
[![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@remix-run/dev](https://remix.run) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/eslint-config](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-eslint-config)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2feslint-config/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2feslint-config/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2feslint-config/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2feslint-config/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2feslint-config/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/express](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-express)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fexpress/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fexpress/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fexpress/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fexpress/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fexpress/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/node](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/react](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remix-run/remix (@​remix-run/dev)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` - `@remix-run/node@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/eslint-config)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-eslint-config/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/eslint-config@2.11.1...@remix-run/eslint-config@2.11.2) No significant changes to this package were made in this release. [See the repo `CHANGELOG.md`](https://github.com/remix-run/remix/blob/main/CHANGELOG.md) for an overview of all changes in v2.11.2. </details> <details> <summary>remix-run/remix (@​remix-run/express)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-express/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/express@2.11.1...@remix-run/express@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/node)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/react)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2) ##### Patch Changes - Fog of War: Simplify implementation now that React Router handles slug/splat edge cases and tracks previously discovered routes (see [remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - This changes the return signature of the internal `__manifest` endpoint since we no longer need the `notFoundPaths` field - Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation` function in RR (see [remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - Single Fetch: Update `turbo-stream` to `v2.3.0` ([#​9856](https://github.com/remix-run/remix/pull/9856)) - Stabilize object key order for serialized payloads - Remove memory limitations payloads sizes - Updated dependencies: - `@remix-run/server-runtime@2.11.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. --- - [ ] If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/technifit/tasker).
… (main) (patch) (#6216) [![Mend Renovate](https://app.renovatebot.com/images/banner.svg)](https://renovatebot.com) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@remix-run/dev](https://remix.run) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/node](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/react](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/serve](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-serve)) | [`2.11.1` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fserve/2.11.1/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fserve/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fserve/2.11.1/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [cypress](https://cypress.io) ([source](https://github.com/cypress-io/cypress)) | [`13.13.2` -> `13.13.3`](https://renovatebot.com/diffs/npm/cypress/13.13.2/13.13.3) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.13.2/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.13.2/13.13.3?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [isbot](https://isbot.js.org) ([source](https://github.com/omrilotan/isbot)) | [`5.1.14` -> `5.1.16`](https://renovatebot.com/diffs/npm/isbot/5.1.14/5.1.16) | [![age](https://developer.mend.io/api/mc/badges/age/npm/isbot/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/isbot/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/isbot/5.1.14/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/isbot/5.1.14/5.1.16?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.26.0` -> `6.26.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.26.0/6.26.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.26.0/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.26.0/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vitejs.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.4.0` -> `5.4.1`](https://renovatebot.com/diffs/npm/vite/5.4.0/5.4.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.4.0/5.4.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remix-run/remix (@​remix-run/dev)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` - `@remix-run/node@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/node)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/react)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2) ##### Patch Changes - Fog of War: Simplify implementation now that React Router handles slug/splat edge cases and tracks previously discovered routes (see [remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - This changes the return signature of the internal `__manifest` endpoint since we no longer need the `notFoundPaths` field - Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation` function in RR (see [remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - Single Fetch: Update `turbo-stream` to `v2.3.0` ([#​9856](https://github.com/remix-run/remix/pull/9856)) - Stabilize object key order for serialized payloads - Remove memory limitations payloads sizes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` </details> <details> <summary>remix-run/remix (@​remix-run/serve)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.1...@remix-run/serve@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.11.2` - `@remix-run/express@2.11.2` </details> <details> <summary>cypress-io/cypress (cypress)</summary> ### [`v13.13.3`](https://github.com/cypress-io/cypress/releases/tag/v13.13.3) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.13.2...v13.13.3) Changelog: https://docs.cypress.io/guides/references/changelog#13-13-3 </details> <details> <summary>omrilotan/isbot (isbot)</summary> ### [`v5.1.16`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5116) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.15...v5.1.16) - \[Pattern] Treat CCleaner broswer as an actual browser, not a bot ### [`v5.1.15`](https://github.com/omrilotan/isbot/blob/HEAD/CHANGELOG.md#5115) [Compare Source](https://github.com/omrilotan/isbot/compare/v5.1.14...v5.1.15) - \[Pattern] Pattern updates for better recognition </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v6.26.1`](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1) </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v5.4.1`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small541-2024-08-15-small) - fix: `build.modulePreload.resolveDependencies` is optimizable ([#​16083](https://github.com/vitejs/vite/issues/16083)) ([e961b31](https://github.com/vitejs/vite/commit/e961b31493f8493277b46773156cc6e546b9c86b)), closes [#​16083](https://github.com/vitejs/vite/issues/16083) - fix: align CorsOptions.origin type with [@​types/cors](https://github.com/types/cors) ([#​17836](https://github.com/vitejs/vite/issues/17836)) ([1bda847](https://github.com/vitejs/vite/commit/1bda847329022d5279cfa2b51719dd19a161fd64)), closes [#​17836](https://github.com/vitejs/vite/issues/17836) - fix: typings for vite:preloadError ([#​17868](https://github.com/vitejs/vite/issues/17868)) ([6700594](https://github.com/vitejs/vite/commit/67005949999054ab3cd079890ed220bc359bcf62)), closes [#​17868](https://github.com/vitejs/vite/issues/17868) - fix(build): avoid re-define `__vite_import_meta_env__` ([#​17876](https://github.com/vitejs/vite/issues/17876)) ([e686d74](https://github.com/vitejs/vite/commit/e686d749d673c02ff4395971ac74340082da14e5)), closes [#​17876](https://github.com/vitejs/vite/issues/17876) - fix(deps): update all non-major dependencies ([#​17869](https://github.com/vitejs/vite/issues/17869)) ([d11711c](https://github.com/vitejs/vite/commit/d11711c7e4c082fd0400245bfdc766006fd38ac8)), closes [#​17869](https://github.com/vitejs/vite/issues/17869) - fix(lightningcss): search for assets with correct base path ([#​17856](https://github.com/vitejs/vite/issues/17856)) ([4e5ce3c](https://github.com/vitejs/vite/commit/4e5ce3c7a90966b1f942df35b8b3e8a550a4f031)), closes [#​17856](https://github.com/vitejs/vite/issues/17856) - fix(worker): handle self reference url worker in dependency for build ([#​17846](https://github.com/vitejs/vite/issues/17846)) ([391bb49](https://github.com/vitejs/vite/commit/391bb4917b55baf3fdb01c6fc3d782d6c51be6c8)), closes [#​17846](https://github.com/vitejs/vite/issues/17846) - chore: fix picocolors import for local dev ([#​17884](https://github.com/vitejs/vite/issues/17884)) ([9018255](https://github.com/vitejs/vite/commit/9018255c697a8c0888dce57aaa755d25bf66beba)), closes [#​17884](https://github.com/vitejs/vite/issues/17884) - refactor: remove `handleHotUpdate` from watch-package-data plugin ([#​17865](https://github.com/vitejs/vite/issues/17865)) ([e16bf1f](https://github.com/vitejs/vite/commit/e16bf1fb14b7a3a950de4d74fce31416746829b3)), closes [#​17865](https://github.com/vitejs/vite/issues/17865) </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://www.mend.io/free-developer-tools/renovate/). View the [repository job log](https://developer.mend.io/github/SAP/ui5-webcomponents-react). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguMjYuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
… (v1.29.x) (minor) (#6265) This PR contains the following updates: | Package | Change | Age | Adoption | Passing | Confidence | |---|---|---|---|---|---| | [@remix-run/dev](https://remix.run) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-dev)) | [`2.9.2` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fdev/2.9.2/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fdev/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fdev/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fdev/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/node](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-node)) | [`2.9.2` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fnode/2.9.2/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fnode/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fnode/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fnode/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/react](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-react)) | [`2.9.2` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2freact/2.9.2/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2freact/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2freact/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2freact/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@remix-run/serve](https://github.com/remix-run/remix) ([source](https://github.com/remix-run/remix/tree/HEAD/packages/remix-serve)) | [`2.9.2` -> `2.11.2`](https://renovatebot.com/diffs/npm/@remix-run%2fserve/2.9.2/2.11.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@remix-run%2fserve/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@remix-run%2fserve/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@remix-run%2fserve/2.9.2/2.11.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node) ([source](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node)) | [`20.14.15` -> `20.16.2`](https://renovatebot.com/diffs/npm/@types%2fnode/20.14.15/20.16.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@types%2fnode/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@types%2fnode/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@types%2fnode/20.14.15/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@types%2fnode/20.14.15/20.16.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/eslint-plugin](https://typescript-eslint.io/packages/eslint-plugin) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin)) | [`7.11.0` -> `7.18.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2feslint-plugin/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2feslint-plugin/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2feslint-plugin/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [@typescript-eslint/parser](https://typescript-eslint.io/packages/parser) ([source](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser)) | [`7.11.0` -> `7.18.0`](https://renovatebot.com/diffs/npm/@typescript-eslint%2fparser/7.11.0/7.18.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/@typescript-eslint%2fparser/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/@typescript-eslint%2fparser/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/@typescript-eslint%2fparser/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/@typescript-eslint%2fparser/7.11.0/7.18.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [cypress](https://cypress.io) ([source](https://github.com/cypress-io/cypress)) | [`13.10.0` -> `13.14.0`](https://renovatebot.com/diffs/npm/cypress/13.10.0/13.14.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/cypress/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/cypress/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/cypress/13.10.0/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/cypress/13.10.0/13.14.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-jsx-a11y](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y) | [`6.8.0` -> `6.9.0`](https://renovatebot.com/diffs/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-jsx-a11y/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-jsx-a11y/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-jsx-a11y/6.8.0/6.9.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) | [`7.34.4` -> `7.35.0`](https://renovatebot.com/diffs/npm/eslint-plugin-react/7.34.4/7.35.0) | [![age](https://developer.mend.io/api/mc/badges/age/npm/eslint-plugin-react/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/eslint-plugin-react/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/eslint-plugin-react/7.34.4/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/eslint-plugin-react/7.34.4/7.35.0?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [react-router-dom](https://github.com/remix-run/react-router) ([source](https://github.com/remix-run/react-router/tree/HEAD/packages/react-router-dom)) | [`6.23.1` -> `6.26.1`](https://renovatebot.com/diffs/npm/react-router-dom/6.23.1/6.26.1) | [![age](https://developer.mend.io/api/mc/badges/age/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/react-router-dom/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/react-router-dom/6.23.1/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/react-router-dom/6.23.1/6.26.1?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [typescript](https://www.typescriptlang.org/) ([source](https://github.com/Microsoft/TypeScript)) | [`5.4.5` -> `5.5.4`](https://renovatebot.com/diffs/npm/typescript/5.4.5/5.5.4) | [![age](https://developer.mend.io/api/mc/badges/age/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/typescript/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/typescript/5.4.5/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/typescript/5.4.5/5.5.4?slim=true)](https://docs.renovatebot.com/merge-confidence/) | | [vite](https://vitejs.dev) ([source](https://github.com/vitejs/vite/tree/HEAD/packages/vite)) | [`5.2.13` -> `5.4.2`](https://renovatebot.com/diffs/npm/vite/5.2.13/5.4.2) | [![age](https://developer.mend.io/api/mc/badges/age/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![adoption](https://developer.mend.io/api/mc/badges/adoption/npm/vite/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![passing](https://developer.mend.io/api/mc/badges/compatibility/npm/vite/5.2.13/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | [![confidence](https://developer.mend.io/api/mc/badges/confidence/npm/vite/5.2.13/5.4.2?slim=true)](https://docs.renovatebot.com/merge-confidence/) | --- ### Release Notes <details> <summary>remix-run/remix (@​remix-run/dev)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.1...@remix-run/dev@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` - `@remix-run/node@2.11.2` ### [`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2111) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.11.0...@remix-run/dev@2.11.1) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.1` - `@remix-run/node@2.11.1` ### [`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2110) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.3...@remix-run/dev@2.11.0) ##### Minor Changes - Rename `future.unstable_fogOfWar` to `future.unstable_lazyRouteDiscovery` for clarity ([#​9763](https://github.com/remix-run/remix/pull/9763)) ##### Patch Changes - Handle absolute Vite base URLs ([#​9700](https://github.com/remix-run/remix/pull/9700)) - Updated dependencies: - `@remix-run/node@2.11.0` - `@remix-run/server-runtime@2.11.0` ### [`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2103) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.2...@remix-run/dev@2.10.3) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.10.3` - `@remix-run/server-runtime@2.10.3` ### [`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2102) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.1...@remix-run/dev@2.10.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.10.2` - `@remix-run/node@2.10.2` ### [`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2101) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.10.0...@remix-run/dev@2.10.1) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.10.1` - `@remix-run/server-runtime@2.10.1` ### [`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-dev/CHANGELOG.md#2100) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/dev@2.9.2...@remix-run/dev@2.10.0) ##### Patch Changes - Upgrade `express` dependency to `^4.19.2` ([#​9184](https://github.com/remix-run/remix/pull/9184)) - Updated dependencies: - `@remix-run/server-runtime@2.10.0` - `@remix-run/node@2.10.0` </details> <details> <summary>remix-run/remix (@​remix-run/node)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.1...@remix-run/node@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` ### [`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2111) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.11.0...@remix-run/node@2.11.1) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.1` ### [`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2110) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.3...@remix-run/node@2.11.0) ##### Minor Changes - Single Fetch: Add a new `unstable_data()` API as a replacement for `json`/`defer` when custom `status`/`headers` are needed ([#​9769](https://github.com/remix-run/remix/pull/9769)) - Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#​9764](https://github.com/remix-run/remix/pull/9764)) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.11.0` ### [`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2103) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.2...@remix-run/node@2.10.3) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.10.3` ### [`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2102) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.1...@remix-run/node@2.10.2) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.10.2` ### [`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2101) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.10.0...@remix-run/node@2.10.1) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.10.1` ### [`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-node/CHANGELOG.md#2100) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/node@2.9.2...@remix-run/node@2.10.0) ##### Patch Changes - Updated dependencies: - `@remix-run/server-runtime@2.10.0` </details> <details> <summary>remix-run/remix (@​remix-run/react)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.1...@remix-run/react@2.11.2) ##### Patch Changes - Fog of War: Simplify implementation now that React Router handles slug/splat edge cases and tracks previously discovered routes (see [remix-run/react-router#11883](https://github.com/remix-run/react-router/pull/11883)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - This changes the return signature of the internal `__manifest` endpoint since we no longer need the `notFoundPaths` field - Fog of War: Update to use renamed `unstable_patchRoutesOnNavigation` function in RR (see [remix-run/react-router#11888](https://github.com/remix-run/react-router/pull/11888)) ([#​9860](https://github.com/remix-run/remix/pull/9860)) - Single Fetch: Update `turbo-stream` to `v2.3.0` ([#​9856](https://github.com/remix-run/remix/pull/9856)) - Stabilize object key order for serialized payloads - Remove memory limitations payloads sizes - Updated dependencies: - `@remix-run/server-runtime@2.11.2` ### [`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2111) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.11.0...@remix-run/react@2.11.1) ##### Patch Changes - Revert [#​9695](https://github.com/remix-run/remix/issues/9695), stop infinite reload ([`a7cffe57`](https://github.com/remix-run/remix/commit/a7cffe5733c8b7d0f29bd2d8606876c537d87101)) - Updated dependencies: - `@remix-run/server-runtime@2.11.1` ### [`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2110) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.3...@remix-run/react@2.11.0) ##### Minor Changes - Single Fetch: Add a new `unstable_data()` API as a replacement for `json`/`defer` when custom `status`/`headers` are needed ([#​9769](https://github.com/remix-run/remix/pull/9769)) - Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#​9764](https://github.com/remix-run/remix/pull/9764)) - Rename `future.unstable_fogOfWar` to `future.unstable_lazyRouteDiscovery` for clarity ([#​9763](https://github.com/remix-run/remix/pull/9763)) - Single Fetch: Remove `responseStub` in favor of `headers` ([#​9769](https://github.com/remix-run/remix/pull/9769)) - Background - The original Single Fetch approach was based on an assumption that an eventual `middleware` implementation would require something like `ResponseStub` so users could mutate `status`/`headers` in `middleware` before/after handlers as well as during handlers - We wanted to align how `headers` got merged between document and data requests - So we made document requests also use `ResponseStub` and removed the usage of `headers` in Single Fetch - The realization/alignment between Michael and Ryan on the recent [roadmap planning](https://www.youtube.com/watch?v=f5z_axCofW0) made us realize that the original assumption was incorrect - `middleware` won't need a stub - users can just mutate the `Response` they get from `await next()` directly - With that gone, and still wanting to align how `headers` get merged, it makes more sense to stick with the current `headers` API and apply that to Single Fetch and avoid introducing a totally new thing in `RepsonseStub` (that always felt a bit awkward to work with anyway) - With this change: - You are encouraged to stop returning `Response` instances in favor of returning raw data from loaders and actions: - \~~`return json({ data: whatever });`~~ - `return { data: whatever };` - In most cases, you can remove your `json()` and `defer()` calls in favor of returning raw data if they weren't setting custom `status`/`headers` - We will be removing both `json` and `defer` in the next major version, but both *should* still work in Single Fetch in v2 to allow for incremental adoption of the new behavior - If you need custom `status`/`headers`: - We've added a new `unstable_data({...}, responseInit)` utility that will let you send back `status`/`headers` alongside your raw data without having to encode it into a `Response` - The `headers()` function will let you control header merging for both document and data requests ##### Patch Changes - Single Fetch: Ensure calls don't include any trailing slash from the pathname (i.e., `/path/.data`) ([#​9792](https://github.com/remix-run/remix/pull/9792)) - Single Fetch: Add `undefined` to the `useRouteLoaderData` type override ([#​9796](https://github.com/remix-run/remix/pull/9796)) - Change initial hydration route mismatch from a URL check to a matches check to be resistant to URL inconsistencies ([#​9695](https://github.com/remix-run/remix/pull/9695)) - Updated dependencies: - `@remix-run/server-runtime@2.11.0` ### [`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2103) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.2...@remix-run/react@2.10.3) ##### Patch Changes - Log any errors encountered loading a route module prior to reloading the page ([#​8932](https://github.com/remix-run/remix/pull/8932)) - Single Fetch (unstable): Proxy `request.signal` through `dataStrategy` for `loader` calls to fix cancellation ([#​9738](https://github.com/remix-run/remix/pull/9738)) - Single Fetch (unstable): Adopt React Router's stabilized `future.v7_skipActionErrorRevalidation` under the hood ([#​9706](https://github.com/remix-run/remix/pull/9706)) - This also stabilizes the `shouldRevalidate` parameter from `unstable_actionStatus` to `actionStatus` - Updated dependencies: - `@remix-run/server-runtime@2.10.3` ### [`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2102) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.1...@remix-run/react@2.10.2) ##### Patch Changes - Forward `ref` to `Form` ([`bdd04217`](https://github.com/remix-run/remix/commit/bdd04217713292307078a30dab9033926d48ede6)) - Updated dependencies: - `@remix-run/server-runtime@2.10.2` ### [`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2101) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.10.0...@remix-run/react@2.10.1) ##### Patch Changes - Fog of War (unstable): Don't discover links/forms with `reloadDocument` ([#​9686](https://github.com/remix-run/remix/pull/9686)) - Fog of War (unstable): Support route discovery from `<Form>` components ([#​9665](https://github.com/remix-run/remix/pull/9665)) - Updated dependencies: - `@remix-run/server-runtime@2.10.1` ### [`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-react/CHANGELOG.md#2100) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/react@2.9.2...@remix-run/react@2.10.0) ##### Minor Changes - Add support for Lazy Route Discovery (a.k.a. Fog of War) ([#​9600](https://github.com/remix-run/remix/pull/9600)) - RFC: <https://github.com/remix-run/react-router/discussions/11113> - Docs: <https://remix.run/docs/guides/fog-of-war> ##### Patch Changes - Don't prefetch server `loader` data when `clientLoader` exists ([#​9580](https://github.com/remix-run/remix/pull/9580)) - Avoid hydration loops when `Layout` `ErrorBoundary` renders also throw ([#​9566](https://github.com/remix-run/remix/pull/9566)) - Fix a bug where hydration wouldn't work right when using child routes and hydrate fallbacks with a `basename` ([#​9584](https://github.com/remix-run/remix/pull/9584)) - Update to `turbo-stream@2.2.0` for single fetch ([#​9562](https://github.com/remix-run/remix/pull/9562)) - Updated dependencies: - `@remix-run/server-runtime@2.10.0` </details> <details> <summary>remix-run/remix (@​remix-run/serve)</summary> ### [`v2.11.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2112) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.1...@remix-run/serve@2.11.2) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.11.2` - `@remix-run/express@2.11.2` ### [`v2.11.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2111) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.11.0...@remix-run/serve@2.11.1) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.11.1` - `@remix-run/express@2.11.1` ### [`v2.11.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2110) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.3...@remix-run/serve@2.11.0) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.11.0` - `@remix-run/express@2.11.0` ### [`v2.10.3`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2103) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.2...@remix-run/serve@2.10.3) ##### Patch Changes - Updated dependencies: - `@remix-run/express@2.10.3` - `@remix-run/node@2.10.3` ### [`v2.10.2`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2102) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.1...@remix-run/serve@2.10.2) ##### Patch Changes - Updated dependencies: - `@remix-run/node@2.10.2` - `@remix-run/express@2.10.2` ### [`v2.10.1`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2101) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.10.0...@remix-run/serve@2.10.1) ##### Patch Changes - Updated dependencies: - `@remix-run/express@2.10.1` - `@remix-run/node@2.10.1` ### [`v2.10.0`](https://github.com/remix-run/remix/blob/HEAD/packages/remix-serve/CHANGELOG.md#2100) [Compare Source](https://github.com/remix-run/remix/compare/@remix-run/serve@2.9.2...@remix-run/serve@2.10.0) ##### Patch Changes - Upgrade `express` dependency to `^4.19.2` ([#​9184](https://github.com/remix-run/remix/pull/9184)) - Updated dependencies: - `@remix-run/express@2.10.0` - `@remix-run/node@2.10.0` </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/eslint-plugin)</summary> ### [`v7.18.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7180-2024-07-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.17.0...v7.18.0) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-assertion] prevent runtime error when asserting a variable declared in default TS lib - **eslint-plugin:** \[unbound-method] report on destructuring in function parameters - **eslint-plugin:** \[no-duplicate-type-constituents] shouldn't report on error types - **eslint-plugin:** \[strict-boolean-expressions] support branded booleans ##### ❤️ Thank You - auvred - Oliver Salzburg - Vinccool96 - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.17.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7170-2024-07-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.1...v7.17.0) ##### 🚀 Features - **eslint-plugin:** backport no-unsafe-function type, no-wrapper-object-types from v8 to v7 - **eslint-plugin:** \[return-await] add option to report in error-handling scenarios only, and deprecate "never" ##### 🩹 Fixes - **eslint-plugin:** \[no-floating-promises] check top-level type assertions (and more) - **eslint-plugin:** \[strict-boolean-expressions] consider assertion function argument a boolean context - **eslint-plugin:** \[no-unnecessary-condition] false positive on optional private field ##### ❤️ Thank You - Armano - Josh Goldberg ✨ - Kirk Waiblinger - StyleShit You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.16.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7161-2024-07-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1) ##### 🩹 Fixes - **eslint-plugin:** \[no-unnecessary-type-parameters] descend into all parts of mapped types in no-unnecessary-type-parameters ##### ❤️ Thank You - Dan Vanderkam You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.16.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7160-2024-07-08) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0) ##### 🚀 Features - **rule-tester:** stricter rule test validations - **eslint-plugin:** \[no-unnecessary-parameter-property-assignment] add new rule - **eslint-plugin:** add support for nested namespaces to unsafe-member-access - **eslint-plugin:** \[no-floating-promises] add checkThenables option ##### 🩹 Fixes - **deps:** update dependency [@​eslint-community/regexpp](https://github.com/eslint-community/regexpp) to v4.11.0 - **eslint-plugin:** \[no-floating-promises] add `suggestions` to tests from [#​9263](https://github.com/typescript-eslint/typescript-eslint/issues/9263) `checkThenables` - **website:** react key error on internal pages of website - **eslint-plugin:** \[restrict-template-expressions] don't report tuples if `allowArray` option is enabled ##### ❤️ Thank You - Abraham Guo - auvred - Josh Goldberg ✨ - Juan Sanchez - Vinccool96 - YeonJuan - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.15.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7150-2024-07-01) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.1...v7.15.0) ##### 🚀 Features - **eslint-plugin:** \[array-type] detect `Readonly<string[]>` case - **eslint-plugin:** back-port new rules around empty object types from v8 ##### 🩹 Fixes - disable `EXPERIMENTAL_useProjectService` in `disabled-type-checked` shared config - **eslint-plugin:** \[no-unsafe-return] differentiate a types-error any from a true any - **eslint-plugin:** \[no-unsafe-call] differentiate a types-error any from a true any ##### ❤️ Thank You - auvred - Kim Sang Du - rgehbt - Vinccool96 You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7141-2024-06-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1) ##### 🩹 Fixes - **eslint-plugin:** \[prefer-nullish-coalescing] treat enums and literals as their underlying primitive types - **eslint-plugin:** \[prefer-nullish-coalescing] ensure ternary fix does not remove parens ##### ❤️ Thank You - Jake Bailey You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7140-2024-06-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0) ##### 🚀 Features - support TypeScript 5.5 ##### 🩹 Fixes - **eslint-plugin:** \[no-extraneous-class] handle abstract members - **eslint-plugin:** \[prefer-nullish-coalescing] handle intersected primitive types - **eslint-plugin:** \[no-invalid-this] support AccessorProperty ##### ❤️ Thank You - Brad Zacher - cm-ayf - Jake Bailey - James Zhan - Joshua Chen - yoshi2no You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7131-2024-06-17) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1) ##### 🩹 Fixes - **eslint-plugin:** \[prefer-readonly] refine report locations - **eslint-plugin:** \[return-await] support explicit resource management - **eslint-plugin:** \[no-unsafe-member-access] differentiate a types-error any from a true any ##### ❤️ Thank You - Kirk Waiblinger - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7130-2024-06-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.12.0...v7.13.0) ##### 🚀 Features - **typescript-estree:** require `import = require()` argument to be a string literal - **typescript-estree:** forbid `.body`, `.async`, `.generator` on `declare function` - **eslint-plugin:** \[no-dynamic-delete] allow all string literals as index ##### 🩹 Fixes - **ast-spec:** function-call-like callee should be Expression not LeftHandSideExpression - **scope-manager:** handle index signature in class - **eslint-plugin:** \[init-declarations] refine report locations - **eslint-plugin:** \[no-base-to-string] make error message more nuanced - **eslint-plugin:** \[no-unsafe-assignment] be more specific about error types - **eslint-plugin:** \[no-magic-numbers] fix implementation of the `ignore` option ##### ❤️ Thank You - Fotis Papadogeorgopoulos - Joshua Chen - Kirk Waiblinger - Tobiloba Adedeji - Vinccool96 - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.12.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/eslint-plugin/CHANGELOG.md#7120-2024-06-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.11.0...v7.12.0) ##### 🚀 Features - **eslint-plugin:** \[no-useless-template-literals] rename to `no-useless-template-expression` (deprecate `no-useless-template-literals`) - **rule-tester:** check for parsing errors in suggestion fixes - **rule-tester:** port `checkDuplicateTestCases` from ESLint - **eslint-plugin:** \[no-floating-promises] add option 'allowForKnownSafePromises' ##### 🩹 Fixes - no-useless-template-expression -> no-unnecessary-template-expression - **eslint-plugin:** \[no-unnecessary-type-assertion] combine template literal check with `const` variable check - **eslint-plugin:** \[dot-notation] fix false positive when accessing private/protected property with optional chaining - **eslint-plugin:** \[explicit-member-accessibility] refine report locations - **eslint-plugin:** \[no-unnecessary-type-assertion] declares are always defined, so always check `declare`s - **eslint-plugin:** \[prefer-literal-enum-member] allow using member it self on allowBitwiseExpressions - **eslint-plugin:** \[return-await] clean up in-try-catch detection and make autofixes safe - **eslint-plugin:** \[member-ordering] also TSMethodSignature can be get/set ##### ❤️ Thank You - Abraham Guo - Han Yeong-woo - Joshua Chen - Kim Sang Du - Kirk Waiblinger - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>typescript-eslint/typescript-eslint (@​typescript-eslint/parser)</summary> ### [`v7.18.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7180-2024-07-29) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.17.0...v7.18.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.17.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7170-2024-07-22) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.1...v7.17.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.16.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7161-2024-07-15) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.16.0...v7.16.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.16.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7160-2024-07-08) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.15.0...v7.16.0) ##### 🩹 Fixes - **deps:** update dependency [@​eslint-community/regexpp](https://github.com/eslint-community/regexpp) to v4.11.0 - **website:** react key error on internal pages of website ##### ❤️ Thank You - Abraham Guo - auvred - Josh Goldberg ✨ - Juan Sanchez - Vinccool96 - YeonJuan - Yukihiro Hasegawa You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.15.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7150-2024-07-01) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.1...v7.15.0) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7141-2024-06-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.14.0...v7.14.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.14.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7140-2024-06-24) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.1...v7.14.0) ##### 🚀 Features - support TypeScript 5.5 ##### ❤️ Thank You - Brad Zacher - cm-ayf - Jake Bailey - James Zhan - Joshua Chen - yoshi2no You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.1`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7131-2024-06-17) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.13.0...v7.13.1) This was a version bump only for parser to align it with other projects, there were no code changes. You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.13.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7130-2024-06-10) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.12.0...v7.13.0) ##### 🚀 Features - **parser, typescript-estree:** export withoutProjectParserOptions utility ##### ❤️ Thank You - Fotis Papadogeorgopoulos - Joshua Chen - Kirk Waiblinger - Tobiloba Adedeji - Vinccool96 - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. ### [`v7.12.0`](https://github.com/typescript-eslint/typescript-eslint/blob/HEAD/packages/parser/CHANGELOG.md#7120-2024-06-03) [Compare Source](https://github.com/typescript-eslint/typescript-eslint/compare/v7.11.0...v7.12.0) ##### 🩹 Fixes - **types:** correct typing ParserOptions ##### ❤️ Thank You - Abraham Guo - Han Yeong-woo - Joshua Chen - Kim Sang Du - Kirk Waiblinger - YeonJuan You can read about our [versioning strategy](https://main--typescript-eslint.netlify.app/users/versioning) and [releases](https://main--typescript-eslint.netlify.app/users/releases) on our website. </details> <details> <summary>cypress-io/cypress (cypress)</summary> ### [`v13.14.0`](https://github.com/cypress-io/cypress/releases/tag/v13.14.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.13.3...v13.14.0) Changelog: https://docs.cypress.io/guides/references/changelog#13-14-0 ### [`v13.13.3`](https://github.com/cypress-io/cypress/releases/tag/v13.13.3) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.13.2...v13.13.3) Changelog: https://docs.cypress.io/guides/references/changelog#13-13-3 ### [`v13.13.2`](https://github.com/cypress-io/cypress/releases/tag/v13.13.2) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.13.1...v13.13.2) Changelog: https://docs.cypress.io/guides/references/changelog#13-13-2 ### [`v13.13.1`](https://github.com/cypress-io/cypress/releases/tag/v13.13.1) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.13.0...v13.13.1) Changelog: https://docs.cypress.io/guides/references/changelog#13-13-1 ### [`v13.13.0`](https://github.com/cypress-io/cypress/releases/tag/v13.13.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.12.0...v13.13.0) Changelog: https://docs.cypress.io/guides/references/changelog#13-13-0 ### [`v13.12.0`](https://github.com/cypress-io/cypress/releases/tag/v13.12.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.11.0...v13.12.0) Changelog: https://docs.cypress.io/guides/references/changelog#13-12-0 ### [`v13.11.0`](https://github.com/cypress-io/cypress/releases/tag/v13.11.0) [Compare Source](https://github.com/cypress-io/cypress/compare/v13.10.0...v13.11.0) Changelog: https://docs.cypress.io/guides/references/changelog#13-11-0 </details> <details> <summary>jsx-eslint/eslint-plugin-jsx-a11y (eslint-plugin-jsx-a11y)</summary> ### [`v6.9.0`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/HEAD/CHANGELOG.md#v690---2024-06-19) [Compare Source](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/compare/v6.8.0...v6.9.0) ##### Fixed - \[Fix] `img-redundant-alt`: fixed multibyte character support [`#969`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/969) - \[meta] fix changelog links [`#960`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/issues/960) ##### Commits - \[New] add support for Flat Config [`6b5f096`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/6b5f096f10b47326d68e2893152a48a79c8555b4) - Revert "\[Fix] `isNonInteractiveElement`: Upgrade aria-query to 5.3.0 and axobject-query to 3.2.1" [`75d5dd7`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/75d5dd722bd67186d97afa7b151fd6fee5885c70) - \[Robustness] use `safe-regex-test` [`4c7e781`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/4c7e7815c12a797587bb8e3cdced7f3003848964) - \[actions] update actions/checkout [`51a1ca7`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/51a1ca7b4d83d4fbd1ea62888f7f2dc21ece6788) - \[Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`, `@babel/register`, `eslint-doc-generator`, `object.entries` [`1271ac1`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1271ac1d6e5dcf9a2bc2c086faaf062335629171) - \[Dev Deps] update `@babel/cli`, `@babel/core`, `@babel/register`, `aud`, `eslint-plugin-import`, `npmignore`, `object.assign` [`540cb7a`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/540cb7aefead582f237071d55a40f098d0885478) - \[Deps] update `@babel/runtime`, `array-includes`, `es-iterator-helpers`, `hasown`, `object.fromentries`, `safe-regex-test` [`5d14408`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/5d1440825a8838ae10dc94cc3a4a7e1e967644b4) - \[Deps] pin `aria-query` and `axobject-query`, add `ls-engines` test to CI [`32fd82c`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/32fd82c628d7f3e4ec8c06a1994f4eca1be2be4f) - \[Dev Deps] update `@babel/core`, `@babel/eslint-parser`, `@babel/plugin-transform-flow-strip-types`, `eslint-doc-generator` [`d1b4114`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/d1b41142248a7cca45bb5f0b96ff23ee87fb9411) - \[Fix] ensure `summary` remains non-interactive [`6a048da`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/6a048dacf2b98eaa204e2a5a70dc7e3d48d9463a) - \[Deps] remove `@babel/runtime` [`0a98ad8`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/0a98ad83ffa7f4b66458cc1c39db2ef32bb2c480) - \[New] `no-noninteractive-element-to-interactive-role`: allow `menuitemradio` and `menuitemcheckbox` on \<li> [`c0733f9`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/c0733f94031fe3eec6b4d54176afe47929bb0a84) - \[Deps] update `@babel/runtime`, `safe-regex-test` [`0d5321a`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/0d5321a5457c5f0da0ca216053cc5b4f571b53ae) - \[actions] pin codecov to v3.1.5 [`961817f`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/961817f61fa56cd7815c6940c27ef08469b1516b) - \[Deps] unpin `axe-core` [`b3559cf`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/b3559cf89be6b5352cd77ffa025831b3d793d565) - \[Deps] move `object.entries` to dev deps [`1be7b70`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1be7b709eececd83f1d5f67a60b2c97cfe9a561d) - \[Deps] update `@babel/runtime` [`2a48abb`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/2a48abb5effa911e7d1a8575e1c9768c947a33f1) - \[Deps] update `@babel/runtime` [`1adec35`](https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/commit/1adec3517fc2c9797212ca4d38858deed917e7be) </details> <details> <summary>jsx-eslint/eslint-plugin-react (eslint-plugin-react)</summary> ### [`v7.35.0`](https://github.com/jsx-eslint/eslint-plugin-react/blob/HEAD/CHANGELOG.md#7350---20240719) [Compare Source](https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.4...v7.35.0) ##### Added - support eslint v9 ([#​3759][] [@​mdjermanovic](https://github.com/mdjermanovic)) - export flat configs from plugin root and fix flat config crash ([#​3694][] [@​bradzacher](https://github.com/bradzacher) [@​mdjermanovic](https://github.com/mdjermanovic)) - add \[`jsx-props-no-spread-multi`] ([#​3724][] [@​SimonSchick](https://github.com/SimonSchick)) - \[`forbid-component-props`]: add `propNamePattern` to allow / disallow prop name patterns ([#​3774][] [@​akulsr0](https://github.com/akulsr0)) - \[`jsx-handler-names`]: support ignoring component names ([#​3772][] [@​akulsr0](https://github.com/akulsr0)) - version settings: Allow react defaultVersion to be configurable ([#​3771][] [@​onlywei](https://github.com/onlywei)) - \[`jsx-closing-tag-location`]: add `line-aligned` option ([#​3777] [@​kimtaejin3](https://github.com/kimtaejin3)) - \[`no-danger`]: add `customComponentNames` option ([#​3748][] [@​akulsr0](https://github.com/akulsr0)) ##### Fixed - \[`no-invalid-html-attribute`]: substitute placeholders in suggestion messages ([#​3759][] [@​mdjermanovic](https://github.com/mdjermanovic)) - \[`sort-prop-types`]: single line type ending without semicolon ([#​3784][] [@​akulsr0](https://github.com/akulsr0)) - \[`require-default-props`]: report when required props have default value ([#​3785][] [@​akulsr0](https://github.com/akulsr0)) ##### Changed - \[Refactor] `variableUtil`: Avoid creating a single flat variable scope for each lookup ([#​3782][] [@​DanielRosenwasser](https://github.com/DanielRosenwasser)) [7.35.0]: https://github.com/jsx-eslint/eslint-plugin-react/compare/v7.34.4...v7.35.0 [#​3785]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3785 [#​3784]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3784 [#​3782]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3782 [#​3777]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3777 [#​3774]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3774 [#​3772]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3772 [#​3771]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3771 [#​3759]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3759 [#​3748]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3748 [#​3724]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3724 [#​3694]: https://github.com/jsx-eslint/eslint-plugin-react/pull/3694 </details> <details> <summary>remix-run/react-router (react-router-dom)</summary> ### [`v6.26.1`](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.26.0...react-router-dom@6.26.1) ### [`v6.26.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6260) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.25.1...react-router-dom@6.26.0) ##### Minor Changes - Add a new `replace(url, init?)` alternative to `redirect(url, init?)` that performs a `history.replaceState` instead of a `history.pushState` on client-side navigation redirects ([#​11811](https://github.com/remix-run/react-router/pull/11811)) ##### Patch Changes - Fix initial hydration behavior when using `future.v7_partialHydration` along with `unstable_patchRoutesOnMiss` ([#​11838](https://github.com/remix-run/react-router/pull/11838)) - During initial hydration, `router.state.matches` will now include any partial matches so that we can render ancestor `HydrateFallback` components - Updated dependencies: - `@remix-run/router@1.19.0` - `react-router@6.26.0` ### [`v6.25.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6251) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.25.0...react-router-dom@6.25.1) ##### Patch Changes - Memoize some `RouterProvider` internals to reduce unnecessary re-renders ([#​11803](https://github.com/remix-run/react-router/pull/11803)) - Updated dependencies: - `react-router@6.25.1` ### [`v6.25.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6250) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.24.1...react-router-dom@6.25.0) ##### Minor Changes - Stabilize `future.unstable_skipActionErrorRevalidation` as `future.v7_skipActionErrorRevalidation` ([#​11769](https://github.com/remix-run/react-router/pull/11769)) - When this flag is enabled, actions will not automatically trigger a revalidation if they return/throw a `Response` with a `4xx`/`5xx` status code - You may still opt-into revalidation via `shouldRevalidate` - This also changes `shouldRevalidate`'s `unstable_actionStatus` parameter to `actionStatus` ##### Patch Changes - Updated dependencies: - `react-router@6.25.0` - `@remix-run/router@1.18.0` ### [`v6.24.1`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6241) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.24.0...react-router-dom@6.24.1) ##### Patch Changes - Remove `polyfill.io` reference from warning message because the domain was sold and has since been determined to serve malware ([#​11741](https://github.com/remix-run/react-router/pull/11741)) - See <https://sansec.io/research/polyfill-supply-chain-attack> - Export `NavLinkRenderProps` type for easier typing of custom `NavLink` callback ([#​11553](https://github.com/remix-run/react-router/pull/11553)) - Updated dependencies: - `@remix-run/router@1.17.1` - `react-router@6.24.1` ### [`v6.24.0`](https://github.com/remix-run/react-router/blob/HEAD/packages/react-router-dom/CHANGELOG.md#6240) [Compare Source](https://github.com/remix-run/react-router/compare/react-router-dom@6.23.1...react-router-dom@6.24.0) ##### Minor Changes - Add support for Lazy Route Discovery (a.k.a. Fog of War) ([#​11626](https://github.com/remix-run/react-router/pull/11626)) - RFC: <https://github.com/remix-run/react-router/discussions/11113> - `unstable_patchRoutesOnMiss` docs: <https://reactrouter.com/en/main/routers/create-browser-router> ##### Patch Changes - Fix `fetcher.submit` types - remove incorrect `navigate`/`fetcherKey`/`unstable_viewTransition` options because they are only relevant for `useSubmit` ([#​11631](https://github.com/remix-run/react-router/pull/11631)) - Allow falsy `location.state` values passed to `<StaticRouter>` ([#​11495](https://github.com/remix-run/react-router/pull/11495)) - Updated dependencies: - `react-router@6.24.0` - `@remix-run/router@1.17.0` </details> <details> <summary>Microsoft/TypeScript (typescript)</summary> ### [`v5.5.4`](https://github.com/Microsoft/TypeScript/compare/v5.5.3...c8a7d589e647e19c94150d9892909f3aa93e48eb) [Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.5.3...v5.5.4) ### [`v5.5.3`](https://github.com/Microsoft/TypeScript/compare/v5.5.2...f0e992167440686f948965e5441a918b34251886) [Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.5.2...v5.5.3) ### [`v5.5.2`](https://github.com/Microsoft/TypeScript/compare/v5.4.5...ce2e60e4ea15a65992e54a9e8877d16be9d42abb) [Compare Source](https://github.com/Microsoft/TypeScript/compare/v5.4.5...v5.5.2) </details> <details> <summary>vitejs/vite (vite)</summary> ### [`v5.4.2`](https://github.com/vitejs/vite/blob/HEAD/packages/vite/CHANGELOG.md#small542-2024-08-20-small) [Compare Source](https://github.com/vitejs/vite/compare/v5.4.1...v5.4.2) - chore: remove stale TODOs ([#​17866](https://github.com/vitejs/vite/issues/17866)) ([e012f29](https://github.com/vitejs/vite/commit/e012f296df583bd133d26399397bd4ae49de1497)), closes [#​17866](https://github.com/vitejs/vite/issues/17866) - refactor: remove redundant prepend/strip base ([#​17887](https://github.com/vitejs/vite/issues/17887)) ([3b8f03d](https://github.com/vitejs/vite/commit/3b8f03d789ec3ef1a099c884759bd4e61b03ce7c)), closes [#​17887](https://github.com/vitejs/vite/issues/17887) - fix: resolve relative URL generated by `renderBuiltUrl` passed to module preload ([#​16084](https://github.com/vitejs/vite/issues/16084)) ([fac3a8e](https://github.com/vitejs/vite/commit/fac3a8ed6855c4ab3032957137b74f21ec501e72)), closes [#​16084](https://github.com/vitejs/vite/issues/16084) - feat: support originalFilena </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on Monday" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 👻 **Immortal**: This PR will be recreated if closed unmerged. Get [config help](https://github.com/renovatebot/renovate/discussions) if that's undesired. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/SAP/ui5-webcomponents-react). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOC4yNi4xIiwidXBkYXRlZEluVmVyIjoiMzguNTYuMCIsInRhcmdldEJyYW5jaCI6InYxLjI5LngiLCJsYWJlbHMiOlsiZGVwZW5kZW5jaWVzIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR updates the fog of war implementation to treat dynamic-param (slug) routes the same way we treat splat routes and call
unstable_patchRotuesOnMiss
if we match a slug route just in case there exists a higher-scoring static route we don't yet know about.TODO:
patchRoutesOnMiss
to something else since it's no longer only on a "miss" but on a "match that we're not confident is the best match"knownGoodPaths
logic from Remix inside the router to avoid needing to re-call this for the same slug route over and over? Add some cleanup when the Set reaches a certain size to cap memory consumption.Closes remix-run/remix#9799