Skip to content

Typed routes out of the box (without file based routing) #2494

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

Open
ThomasKientz opened this issue Apr 21, 2025 · 1 comment
Open

Typed routes out of the box (without file based routing) #2494

ThomasKientz opened this issue Apr 21, 2025 · 1 comment

Comments

@ThomasKientz
Copy link

What problem is this solving

Navigate to an unknown route isn't catch by typescript.

export const router = createRouter({
  routes: [
    { path: "/foo", component: () => import("./pages/foo.vue") },
  ],
  history: createWebHistory(),
});

router.push("/bar"); // <------ No type error

Proposed solution

Infer types so router is strongly typed with declared routes.

Describe alternatives you've considered

unplugin-vue-router but its file based routing.

@dmitry-lavrik
Copy link

Hello!

I just recently made a library that might help you - https://github.com/dmitry-lavrik/vue-routes-to-types

It outputs types for RouteNamedMap from routes array.

Hopefully, someday such functionality will be created in the Vue-router core. Or they will put a link from the documentation to this library :)

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

No branches or pull requests

2 participants