Skip to content

Commit b27a07f

Browse files
committed
chore: up playground
1 parent 4dbfcdc commit b27a07f

File tree

6 files changed

+717
-650
lines changed

6 files changed

+717
-650
lines changed

playground/env.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
/// <reference types="vite/client" />
2+
/// <reference types="unplugin-vue-router/client" />

playground/package.json

+3-2
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "playground",
33
"version": "0.0.0",
44
"private": true,
5+
"type": "module",
56
"scripts": {
67
"dev": "vite",
78
"firebase:emulators": "firebase emulators:start",
@@ -24,8 +25,8 @@
2425
"@vue/tsconfig": "^0.5.1",
2526
"@vueuse/core": "^10.8.0",
2627
"npm-run-all": "^4.1.5",
27-
"typescript": "~5.3.3",
28-
"unplugin-vue-router": "^0.7.0",
28+
"typescript": "~5.5.3",
29+
"unplugin-vue-router": "^0.10.0",
2930
"vite": "^5.1.4",
3031
"vue-tsc": "^2.0.26"
3132
}

playground/src/main.ts

+2
Original file line numberDiff line numberDiff line change
@@ -20,9 +20,11 @@ import {
2020
indexedDBLocalPersistence,
2121
prodErrorMap,
2222
} from 'firebase/auth'
23+
import { routes } from 'vue-router/auto-routes'
2324

2425
const router = createRouter({
2526
history: createWebHistory(),
27+
routes,
2628
})
2729

2830
router.beforeEach(async () => {

playground/typed-router.d.ts

+11-129
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,18 @@
55
// It's recommended to commit this file.
66
// Make sure to add this file to your tsconfig.json file as an "includes" or "files" entry.
77

8-
/// <reference types="unplugin-vue-router/client" />
8+
declare module 'vue-router/auto-routes' {
9+
import type {
10+
RouteRecordInfo,
11+
ParamValue,
12+
ParamValueOneOrMore,
13+
ParamValueZeroOrMore,
14+
ParamValueZeroOrOne,
15+
} from 'vue-router'
916

10-
import type {
11-
// type safe route locations
12-
RouteLocationTypedList,
13-
RouteLocationResolvedTypedList,
14-
RouteLocationNormalizedTypedList,
15-
RouteLocationNormalizedLoadedTypedList,
16-
RouteLocationAsString,
17-
RouteLocationAsRelativeTypedList,
18-
RouteLocationAsPathTypedList,
19-
20-
// helper types
21-
// route definitions
22-
RouteRecordInfo,
23-
ParamValue,
24-
ParamValueOneOrMore,
25-
ParamValueZeroOrMore,
26-
ParamValueZeroOrOne,
27-
28-
// vue-router extensions
29-
_RouterTyped,
30-
RouterLinkTyped,
31-
RouterLinkPropsTyped,
32-
NavigationGuard,
33-
UseLinkFnTyped,
34-
35-
// data fetching
36-
_DataLoader,
37-
_DefineLoaderOptions,
38-
} from 'unplugin-vue-router/types'
39-
40-
declare module 'vue-router/auto/routes' {
17+
/**
18+
* Route name map generated by unplugin-vue-router
19+
*/
4120
export interface RouteNamedMap {
4221
'/': RouteRecordInfo<'/', '/', Record<never, never>, Record<never, never>>,
4322
'/app-check': RouteRecordInfo<'/app-check', '/app-check', Record<never, never>, Record<never, never>>,
@@ -53,100 +32,3 @@ declare module 'vue-router/auto/routes' {
5332
'/vuex-store': RouteRecordInfo<'/vuex-store', '/vuex-store', Record<never, never>, Record<never, never>>,
5433
}
5534
}
56-
57-
declare module 'vue-router/auto' {
58-
import type { RouteNamedMap } from 'vue-router/auto/routes'
59-
60-
export type RouterTyped = _RouterTyped<RouteNamedMap>
61-
62-
/**
63-
* Type safe version of `RouteLocationNormalized` (the type of `to` and `from` in navigation guards).
64-
* Allows passing the name of the route to be passed as a generic.
65-
*/
66-
export type RouteLocationNormalized<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedTypedList<RouteNamedMap>[Name]
67-
68-
/**
69-
* Type safe version of `RouteLocationNormalizedLoaded` (the return type of `useRoute()`).
70-
* Allows passing the name of the route to be passed as a generic.
71-
*/
72-
export type RouteLocationNormalizedLoaded<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
73-
74-
/**
75-
* Type safe version of `RouteLocationResolved` (the returned route of `router.resolve()`).
76-
* Allows passing the name of the route to be passed as a generic.
77-
*/
78-
export type RouteLocationResolved<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationResolvedTypedList<RouteNamedMap>[Name]
79-
80-
/**
81-
* Type safe version of `RouteLocation` . Allows passing the name of the route to be passed as a generic.
82-
*/
83-
export type RouteLocation<Name extends keyof RouteNamedMap = keyof RouteNamedMap> = RouteLocationTypedList<RouteNamedMap>[Name]
84-
85-
/**
86-
* Type safe version of `RouteLocationRaw` . Allows passing the name of the route to be passed as a generic.
87-
*/
88-
export type RouteLocationRaw<Name extends keyof RouteNamedMap = keyof RouteNamedMap> =
89-
| RouteLocationAsString<RouteNamedMap>
90-
| RouteLocationAsRelativeTypedList<RouteNamedMap>[Name]
91-
| RouteLocationAsPathTypedList<RouteNamedMap>[Name]
92-
93-
/**
94-
* Generate a type safe params for a route location. Requires the name of the route to be passed as a generic.
95-
*/
96-
export type RouteParams<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['params']
97-
/**
98-
* Generate a type safe raw params for a route location. Requires the name of the route to be passed as a generic.
99-
*/
100-
export type RouteParamsRaw<Name extends keyof RouteNamedMap> = RouteNamedMap[Name]['paramsRaw']
101-
102-
export function useRouter(): RouterTyped
103-
export function useRoute<Name extends keyof RouteNamedMap = keyof RouteNamedMap>(name?: Name): RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[Name]
104-
105-
export const useLink: UseLinkFnTyped<RouteNamedMap>
106-
107-
export function onBeforeRouteLeave(guard: NavigationGuard<RouteNamedMap>): void
108-
export function onBeforeRouteUpdate(guard: NavigationGuard<RouteNamedMap>): void
109-
110-
export const RouterLink: RouterLinkTyped<RouteNamedMap>
111-
export const RouterLinkProps: RouterLinkPropsTyped<RouteNamedMap>
112-
113-
// Experimental Data Fetching
114-
115-
export function defineLoader<
116-
P extends Promise<any>,
117-
Name extends keyof RouteNamedMap = keyof RouteNamedMap,
118-
isLazy extends boolean = false,
119-
>(
120-
name: Name,
121-
loader: (route: RouteLocationNormalizedLoaded<Name>) => P,
122-
options?: _DefineLoaderOptions<isLazy>,
123-
): _DataLoader<Awaited<P>, isLazy>
124-
export function defineLoader<
125-
P extends Promise<any>,
126-
isLazy extends boolean = false,
127-
>(
128-
loader: (route: RouteLocationNormalizedLoaded) => P,
129-
options?: _DefineLoaderOptions<isLazy>,
130-
): _DataLoader<Awaited<P>, isLazy>
131-
132-
export {
133-
_definePage as definePage,
134-
_HasDataLoaderMeta as HasDataLoaderMeta,
135-
_setupDataFetchingGuard as setupDataFetchingGuard,
136-
_stopDataFetchingScope as stopDataFetchingScope,
137-
} from 'unplugin-vue-router/runtime'
138-
}
139-
140-
declare module 'vue-router' {
141-
import type { RouteNamedMap } from 'vue-router/auto/routes'
142-
143-
export interface TypesConfig {
144-
beforeRouteUpdate: NavigationGuard<RouteNamedMap>
145-
beforeRouteLeave: NavigationGuard<RouteNamedMap>
146-
147-
$route: RouteLocationNormalizedLoadedTypedList<RouteNamedMap>[keyof RouteNamedMap]
148-
$router: _RouterTyped<RouteNamedMap>
149-
150-
RouterLink: RouterLinkTyped<RouteNamedMap>
151-
}
152-
}

0 commit comments

Comments
 (0)