Skip to content
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

fix(deps): update dependency vue-router to v4 #225

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Jan 18, 2024

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
vue-router 3.6.5 -> 4.4.0 age adoption passing confidence

Release Notes

vuejs/router (vue-router)

v4.4.0

Compare Source

Please refer to CHANGELOG.md for details.

v4.3.3

Compare Source

Please refer to CHANGELOG.md for details.

v4.3.2

Compare Source

Please refer to CHANGELOG.md for details.

v4.3.1

Compare Source

Please refer to CHANGELOG.md for details.

v4.3.0

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.5

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.4

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.3

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.2

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.1

Compare Source

Please refer to CHANGELOG.md for details.

v4.2.0

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.6

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.5

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.4

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.3

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.2

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.1

Compare Source

Please refer to CHANGELOG.md for details.

v4.1.0

Compare Source

Vue Router 4.1

We are excited to announce the release of Vue Router 4.1 with a few new interesting features, better support for Node ESM and no breaking changes.

Omitting the component/components option in routes

It's now possible to completely omit the component option when defining routes with children. While nested routes are about defining layouts, they are also directly connected to a path and users often found themselves defining a pass through component that would just render a <RouterView> component to reuse the path structure. You can now simplify this to:

- import { RouterView } from 'vue-router'
- import { h } from 'vue'
-
 const routes = [
   {
     path: '/admin',
-     component: () => h(RouterView),
     children: [
       { path: 'users', component: AdminUserList },
       { path: 'users/:id', component: AdminUserDetails },
     ],
   },
 ]

In other words, you can now nest paths without having to define a component.

Passing History State in navigations

Passing History State through router.push() has been implemented and used by the router since its version 4.0 but hasn't been exposed as a public API until now. This enables passing a state property when calling router.push() or router.replace(). This is useful to pass global state to be associated with the history entry that cannot be shared by copying the URL. One common example of this are Modals:

// go to /users/24 but show a modal instead
router.push({ name: 'UserDetail', params: { id: 24 } state: { backgroundView: ... } })

To see a full example, check the modal e2e test, it has been updated to use the state property.

It's worth noting this shouldn't be used to pass fetched data or complex objects such as classes because of type and size limitations. Check the History State documentation for more information about the state property.

Given the nature of the <RouterView>'s route prop, there is also a new function loadRouteLocation() that can be used on a resolved route location to load a route with lazy loading:

import { loadRouteLocation } from 'vue-router'

const loadedRoute = await loadRouteLocation(router.resolve('/users/24'))

Typed Routes

RouterLink to autocomplete

In v4.1 we were initially planning to introduce types to automatically detect the params from a path property, creating autocomplete and type safety in router.push() and <RouterLink>'s to prop. It was implemented but also turned out to be extremely slow after ~50 routes due to the nature of the types relying on nesting and complex unions. Instead, we are introducing a build plugin to generate the types of the routes for you based your file structure. This is similar to Nuxt and Vite Plugin Pages but with full type support (similar to nuxt-typed-router) while allowing you to keep using the exact same API, just with Autocompletion and typing hints 😄. The plugin currently supports Vite, Webpack (with some caveats), and rollup and it's currently experimental to gather feedback from the community and build a flexible solution. We hope to release a stable version in the following months.

Check out the plugin GitHub repository for installation instructions and documentation.

Here are some other examples of how much this plugin can improves your developer experience:

params validation in RouterLink Route infer from if condition Typed routes in navigation guards

CJS/MJS support for Node

We now expose a few extra entry points for Node but kept the old ones as well to prevent any disruption to the existing users. You can find more information about this in the corresponding pull request.


Please refer to CHANGELOG.md for details.

v4.0.16

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.15

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.14

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.13

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.12

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.11

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.10

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.9

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.8

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.7

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.6

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.5

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.4

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.3

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.2

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.1

Compare Source

Please refer to CHANGELOG.md for details.

v4.0.0

Compare Source

Vue logo

A more complete but lighter Router

Today Vue Router 4 is officially released as stable.
After 14 alphas, 13 betas and 6 release candidates, Vue Router v4 is ready to bring the best of routing to your Vue 3 applications with improved bundle size, TypeScript integration, new features and consistency improvements for modern apps.

It has taken almost 2 years of work, around 1500 commits, 15 RFCs, and the help of many users and their bug reports and feature requests to get here. Thank you all for your very much appreciated help!

Project Organization improvements

Vue Router is now divided in three modules:

  • History implementation: handles the address bar and is specific to the environment Vue Router runs on (Node, Browser, Mobile, etc)
  • Router Matcher: handles the parsing of routes /users/:id and its ranking
  • Router: connects everything together and handle routing specific features like navigation guards
Dynamic Routing

One the most wanted features on Vue Router is Dynamic Routing. It makes the router more flexible and powerful and open possibilities for applications that were not possible before! This is possible thanks to an advanced path parsing with automatic ranking, allowing the router to guess what route should be matched based on the URL string representation, allowing user to define routes in any order.

Improved Navigation system

The new navigation system is more consistent and improves the experience of Scroll Behavior to match native browser behavior. It also gives users almost more information about the status of a navigation and allow using that information to improve user experience through global UI elements like progress bars and modals.

More powerful Devtools

Thanks to the new Vue Devtools, Vue Router is able to create more advanced integrations: navigation in the timeline and a complete route directory that helps you debug routes.

Better Navigation guards

Say good bye to next and avoid easy-to-make mistakes inside navigation guards: return any value you were passing to next. The previous version is still supported to ease migration!

More information on the updated documentation.

Consistent encoding in routes

Encoding has been adapted to make it consistent across different browsers and route location properties (params, query and hash). You don't need to encode these properties when passing them to router.push() and they will always appear decoded in the route locations (e.g. $route and useRoute()).

Small migration path

Vue Router 4 focus on improving the existing Router while keeping a very similar API, migration should be short and almost limited to a few renames if you were using the basics of Vue Router. You can check the full migration guide on the documentation

The future of the Router

Vue Router has been effectively stable for the past couple of months and makes it possible to now focus on:

  • Better Developer experience with existing tooling (Vetur, Vite, Devtools, etc)
  • Better integration with modern features like Suspense
  • RFCs to improve the existing API or bring new ones
  • Lighter versions of the router

Trying It Out

If you want to give Vue Router 4 a quick try, you can check this CodeSandbox, this Vite template with Tailwind CSS, or use the CLI to get started.

To Learn more about Vue Router 4, check out our new documentation. If you are an existing Vue 2.x user, go directly to the Migration Guide.

Supporting Vue Router Development

If your company uses Vue Router, please consider supporting its development by supporting me 🙏 . It will mean a lot and really help me to keep working on improving the Vue Ecosystem.


If you were already using the release candidate version of vue router, you can find the list of improvements on the CHANGELOG.md.


Configuration

📅 Schedule: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

Copy link
Contributor Author

renovate bot commented Jan 18, 2024

⚠ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: src/list/package-lock.json
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: list@0.0.0
npm error Found: vue@2.7.16
npm error node_modules/vue
npm error   vue@"2.7.16" from list@0.0.0
npm error   frontend
npm error     list@0.0.0
npm error     node_modules/list
npm error       workspace frontend from the root project
npm error
npm error Could not resolve dependency:
npm error peer vue@"^3.2.0" from vue-router@4.3.2
npm error node_modules/vue-router
npm error   vue-router@"4.3.2" from list@0.0.0
npm error   frontend
npm error     list@0.0.0
npm error     node_modules/list
npm error       workspace frontend from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /tmp/renovate/cache/others/npm/_logs/2024-05-01T12_20_12_854Z-eresolve-report.txt

npm error A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2024-05-01T12_20_12_854Z-debug-0.log

Copy link

github-actions bot commented Jan 18, 2024

🦙 MegaLinter status: ❌ ERROR

Descriptor Linter Files Fixed Errors Elapsed time
✅ ACTION actionlint 18 0 0.33s
✅ BASH bash-exec 4 0 0.06s
✅ BASH shellcheck 1 0 0.11s
✅ BASH shfmt 4 0 0.03s
✅ CSHARP csharpier 1 0 1.16s
⚠️ CSHARP dotnet-format 1 1 1.26s
✅ CSHARP roslynator 1 0 20.26s
✅ CSS stylelint 1 0 1.57s
✅ DOCKERFILE hadolint 4 0 0.25s
✅ EDITORCONFIG editorconfig-checker 378 0 3.81s
✅ ENV dotenv-linter 1 0 0.0s
✅ GROOVY npm-groovy-lint 7 0 14.23s
✅ HTML djlint 2 0 1.19s
✅ HTML htmlhint 2 0 0.31s
✅ JAVA checkstyle 59 0 6.32s
✅ JSON jsonlint 31 0 0.27s
✅ JSON prettier 31 0 4.29s
✅ JSON v8r 31 0 78.81s
⚠️ MARKDOWN markdownlint 22 194 1.8s
✅ PYTHON bandit 1 0 1.18s
✅ PYTHON black 1 0 0.76s
✅ PYTHON flake8 1 0 0.48s
✅ PYTHON isort 1 0 0.29s
✅ PYTHON mypy 1 0 10.35s
✅ PYTHON ruff 1 0 0.03s
✅ REPOSITORY checkov yes no 18.9s
✅ REPOSITORY gitleaks yes no 2.17s
✅ REPOSITORY git_diff yes no 0.16s
✅ REPOSITORY kics yes no 55.6s
✅ REPOSITORY secretlint yes no 1.86s
✅ REPOSITORY syft yes no 3.27s
❌ REPOSITORY trivy yes 1 17.37s
✅ REPOSITORY trivy-sbom yes no 4.7s
✅ REPOSITORY trufflehog yes no 5.59s
✅ XML xmllint 3 0 0.02s
✅ YAML prettier 111 0 2.8s

See detailed report in MegaLinter reports

You could have same capabilities but better runtime performances if you request a new MegaLinter flavor.

MegaLinter is graciously provided by OX Security

@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 5 times, most recently from 6220a57 to cd75f7d Compare February 4, 2024 10:35
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 7 times, most recently from e805197 to 8ee354e Compare February 17, 2024 16:03
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 15 times, most recently from 24e7e8b to d09ca07 Compare March 14, 2024 09:55
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch from c129e93 to cd65485 Compare April 1, 2024 22:18
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 6 times, most recently from e9a4ead to 3e0ac18 Compare April 20, 2024 18:32
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch from 3e0ac18 to 52ca4c6 Compare May 1, 2024 12:20
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch from 52ca4c6 to f17527c Compare May 26, 2024 18:30
Copy link
Contributor Author

renovate bot commented May 26, 2024

⚠️ Artifact update problem

Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.

♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

  • any of the package files in this branch needs updating, or
  • the branch becomes conflicted, or
  • you click the rebase/retry checkbox if found above, or
  • you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:

File name: src/list/package-lock.json
npm error code ERESOLVE
npm error ERESOLVE unable to resolve dependency tree
npm error
npm error While resolving: list@0.0.0
npm error Found: vue@2.7.16
npm error node_modules/vue
npm error   vue@"2.7.16" from list@0.0.0
npm error   frontend
npm error     list@0.0.0
npm error     node_modules/list
npm error       workspace frontend from the root project
npm error
npm error Could not resolve dependency:
npm error peer vue@"^3.2.0" from vue-router@4.4.0
npm error node_modules/vue-router
npm error   vue-router@"4.4.0" from list@0.0.0
npm error   frontend
npm error     list@0.0.0
npm error     node_modules/list
npm error       workspace frontend from the root project
npm error
npm error Fix the upstream dependency conflict, or retry
npm error this command with --force or --legacy-peer-deps
npm error to accept an incorrect (and potentially broken) dependency resolution.
npm error
npm error
npm error For a full report see:
npm error /tmp/renovate/cache/others/npm/_logs/2024-06-21T14_15_36_579Z-eresolve-report.txt
npm error A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2024-06-21T14_15_36_579Z-debug-0.log

@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 14 times, most recently from 6fdb8ae to 472cbcd Compare June 6, 2024 18:32
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch 3 times, most recently from 58558d5 to 5c85d62 Compare June 10, 2024 14:12
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch from 5c85d62 to fb0292e Compare June 21, 2024 13:58
@renovate renovate bot force-pushed the renovate/vue-router-4.x branch from fb0292e to ef437ed Compare June 21, 2024 14:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

0 participants