Directory structure:
└── posva-unplugin-vue-router/
├── README.md
├── client.d.ts
├── LICENSE
├── package.json
├── pnpm-workspace.yaml
├── renovate.json
├── route.schema.json
├── tsconfig.json
├── tsconfig.typecheck.json
├── tsdown-runtime.config.ts
├── tsdown.config.ts
├── vitest.config.ts
├── vitest.workspace.js
├── .npmrc
├── .prettierignore
├── .prettierrc.js
├── docs/
│ ├── index.md
│ ├── introduction.md
│ ├── package.json
│ ├── why.md
│ ├── data-loaders/
│ │ ├── defining-loaders.md
│ │ ├── error-handling.md
│ │ ├── index.md
│ │ ├── load-cancellation.md
│ │ ├── navigation-aware.md
│ │ ├── nested-loaders.md
│ │ ├── nuxt.md
│ │ ├── organization.md
│ │ ├── reloading-data.md
│ │ ├── rfc.md
│ │ ├── ssr.md
│ │ ├── apollo/
│ │ │ └── index.md
│ │ ├── basic/
│ │ │ └── index.md
│ │ └── colada/
│ │ └── index.md
│ ├── guide/
│ │ ├── configuration.md
│ │ ├── eslint.md
│ │ ├── extending-routes.md
│ │ ├── file-based-routing.md
│ │ ├── hmr.md
│ │ └── typescript.md
│ ├── nuxt/
│ │ └── getting-started.md
│ └── .vitepress/
│ ├── config.ts
│ ├── meta.ts
│ ├── twoslash-files.ts
│ ├── theme/
│ │ └── index.ts
│ └── twoslash/
│ ├── files.ts
│ └── code/
│ ├── api.ts
│ ├── stores.ts
│ └── typed-router.ts
├── e2e/
│ ├── routes.spec.ts
│ ├── __snapshots__/
│ │ └── routes.spec.ts.snap
│ └── fixtures/
│ └── filenames/
│ ├── multi-extensions/
│ │ ├── about.vue
│ │ ├── index.vue
│ │ └── docs/
│ │ ├── [...pathMatch].vue
│ │ └── index.md
│ └── routes/
│ ├── [...path].vue
│ ├── about.vue
│ ├── index.vue
│ ├── users.new.vue
│ ├── users.vue
│ ├── articles/
│ │ ├── [id].vue
│ │ └── [slugs]+.vue
│ ├── nested/
│ │ └── folder/
│ │ ├── index.vue
│ │ └── should/
│ │ └── work/
│ │ └── index.vue
│ ├── optional/
│ │ ├── [[doc]].vue
│ │ └── [[docs]]+.vue
│ └── users/
│ └── [id].vue
├── examples/
│ └── nuxt/
│ ├── README.md
│ ├── app.vue
│ ├── colada.options.ts
│ ├── nuxt.config.ts
│ ├── package.json
│ ├── tsconfig.json
│ ├── pages/
│ │ ├── index.vue
│ │ └── users/
│ │ ├── [id].vue
│ │ └── colada-[userId].vue
│ └── plugins/
│ └── data-loaders.ts
├── playground/
│ ├── auto-imports.d.ts
│ ├── db.json
│ ├── env.d.ts
│ ├── index.html
│ ├── package.json
│ ├── tsconfig.config.json
│ ├── tsconfig.json
│ ├── typed-router.d.ts
│ ├── vite.config.ts
│ └── src/
│ ├── App.vue
│ ├── main.ts
│ ├── router.ts
│ ├── utils.ts
│ ├── api/
│ │ ├── cat-facts.ts
│ │ └── index.ts
│ ├── components/
│ │ ├── Test.vue
│ │ └── TestSetup.vue
│ ├── docs/
│ │ ├── about.vue
│ │ ├── index.vue
│ │ ├── should-be-ignored.md
│ │ └── real/
│ │ └── index.md
│ ├── features/
│ │ ├── feature-1/
│ │ │ └── pages/
│ │ │ ├── about.vue
│ │ │ └── index.vue
│ │ ├── feature-2/
│ │ │ └── pages/
│ │ │ ├── about.vue
│ │ │ └── index.vue
│ │ └── feature-3/
│ │ └── pages/
│ │ ├── about.vue
│ │ └── index.vue
│ ├── loaders/
│ │ └── colada-loaders.ts
│ ├── pages/
│ │ ├── (some-layout).vue
│ │ ├── (test-group).vue
│ │ ├── @[profileId].vue
│ │ ├── [...path]+.vue
│ │ ├── [...path].vue
│ │ ├── [name].vue
│ │ ├── __not-used.vue
│ │ ├── about.extra.nested.vue
│ │ ├── about.vue
│ │ ├── articles.vue
│ │ ├── custom-definePage.vue
│ │ ├── custom-name-and-path.vue
│ │ ├── custom-name.vue
│ │ ├── custom-path.vue
│ │ ├── file(ignored-parentheses).vue
│ │ ├── index.vue
│ │ ├── index@named.vue
│ │ ├── multiple-[a]-[b]-params.vue
│ │ ├── my-optional-[[slug]].vue
│ │ ├── not-used.component.vue
│ │ ├── not-used.md
│ │ ├── partial-[name].vue
│ │ ├── test-[a-id].vue
│ │ ├── with-extension.page.vue
│ │ ├── (some-layout)/
│ │ │ ├── app.vue
│ │ │ └── home.vue
│ │ ├── (test-group)/
│ │ │ └── test-group-child.vue
│ │ ├── __not-used-either/
│ │ │ └── not-used.vue
│ │ ├── articles/
│ │ │ ├── [id]+.vue
│ │ │ ├── [id].vue
│ │ │ └── index.vue
│ │ ├── deep/
│ │ │ └── nesting/
│ │ │ └── works/
│ │ │ ├── [[files]]+.vue
│ │ │ ├── __not-used.vue
│ │ │ ├── custom-name-and-path.vue
│ │ │ ├── custom-name.vue
│ │ │ ├── custom-path.vue
│ │ │ └── too.vue
│ │ ├── group/
│ │ │ └── (thing).vue
│ │ ├── ignored/
│ │ │ └── not-used.vue
│ │ ├── n-[[n]]/
│ │ │ ├── index.vue
│ │ │ └── [[more]]+/
│ │ │ ├── [final].vue
│ │ │ └── index.vue
│ │ ├── named-views/
│ │ │ ├── parent.vue
│ │ │ └── parent/
│ │ │ ├── index.vue
│ │ │ ├── index@a.vue
│ │ │ └── index@b.vue
│ │ ├── nested-group/
│ │ │ ├── (group).vue
│ │ │ └── (nested-group-first-level)/
│ │ │ ├── nested-group-first-level-child.vue
│ │ │ └── (nested-group-deep)/
│ │ │ └── nested-group-deep-child.vue
│ │ ├── todos/
│ │ │ ├── +layout.vue
│ │ │ └── index.vue
│ │ ├── users/
│ │ │ ├── [id].edit.vue
│ │ │ ├── [id].vue
│ │ │ ├── colada-loader.[id].vue
│ │ │ ├── index.vue
│ │ │ ├── nested.route.deep.vue
│ │ │ ├── pinia-colada.[id].vue
│ │ │ ├── query.[id].vue
│ │ │ ├── tq-infinite-query.vue
│ │ │ ├── tq-query-bug.vue
│ │ │ └── tq-query.[id].vue
│ │ └── vuefire-tests/
│ │ └── get-doc.vue
│ └── queries/
│ └── recipes.ts
├── scripts/
│ ├── release.mjs
│ └── verifyCommit.mjs
├── src/
│ ├── esbuild.ts
│ ├── index.ts
│ ├── options.ts
│ ├── rollup.ts
│ ├── runtime.ts
│ ├── types.ts
│ ├── vite.ts
│ ├── webpack.ts
│ ├── codegen/
│ │ ├── generateDTS.ts
│ │ ├── generateRouteFileInfoMap.spec.ts
│ │ ├── generateRouteFileInfoMap.ts
│ │ ├── generateRouteMap.spec.ts
│ │ ├── generateRouteMap.ts
│ │ ├── generateRouteParams.ts
│ │ ├── generateRouteRecords.spec.ts
│ │ ├── generateRouteRecords.ts
│ │ ├── vueRouterModule.ts
│ │ └── __snapshots__/
│ │ ├── generateRouteRecords.spec.ts.snap
│ │ └── generateRoutes.spec.ts.snap
│ ├── core/
│ │ ├── context.ts
│ │ ├── customBlock.ts
│ │ ├── definePage.spec.ts
│ │ ├── definePage.ts
│ │ ├── extendRoutes.spec.ts
│ │ ├── extendRoutes.ts
│ │ ├── moduleConstants.ts
│ │ ├── options.spec.ts
│ │ ├── RoutesFolderWatcher.spec.ts
│ │ ├── RoutesFolderWatcher.ts
│ │ ├── tree.spec.ts
│ │ ├── tree.ts
│ │ ├── treeNodeValue.ts
│ │ ├── utils.spec.ts
│ │ ├── utils.ts
│ │ ├── __snapshots__/
│ │ │ └── definePage.spec.ts.snap
│ │ └── vite/
│ │ └── index.ts
│ ├── data-loaders/
│ │ ├── auto-exports.ts
│ │ ├── createDataLoader.ts
│ │ ├── defineColadaLoader.spec.ts
│ │ ├── defineColadaLoader.test-d.ts
│ │ ├── defineColadaLoader.ts
│ │ ├── defineLoader-notes.md
│ │ ├── defineLoader.spec.ts
│ │ ├── defineLoader.test-d.ts
│ │ ├── defineLoader.ts
│ │ ├── defineQueryLoader.spec.ts
│ │ ├── defineQueryLoader.ts
│ │ ├── defineVueFireLoader.ts
│ │ ├── meta-extensions.test-d.ts
│ │ ├── meta-extensions.ts
│ │ ├── navigation-guard.spec.ts
│ │ ├── navigation-guard.ts
│ │ ├── symbols.ts
│ │ ├── tests-defineLoader.md
│ │ ├── types-config.ts
│ │ ├── utils.ts
│ │ └── entries/
│ │ ├── basic.ts
│ │ ├── index.ts
│ │ └── pinia-colada.ts
│ ├── utils/
│ │ └── index.ts
│ └── volar/
│ ├── entries/
│ │ ├── sfc-route-blocks.ts
│ │ └── sfc-typed-router.ts
│ └── utils/
│ └── augment-vls-ctx.ts
├── tests/
│ ├── router-mock.ts
│ ├── utils.ts
│ ├── vitest-mock-warn.ts
│ └── data-loaders/
│ ├── ComponentWithLoader.vue
│ ├── ComponentWithNestedLoader.vue
│ ├── env.d.ts
│ ├── index.ts
│ ├── loaders.ts
│ ├── RouterViewMock.vue
│ └── tester.ts
└── .github/
├── FUNDING.yml
├── settings.yml
└── workflows/
├── autofix.yml
├── ci.yml
├── pkg.pr.new.yml
└── release-tag.yml