]> git.ipfire.org Git - thirdparty/vuejs/router.git/log
thirdparty/vuejs/router.git
28 hours agodocs: add modfiy vite config for use custom Parser (#2723) main
WuMingDao [Fri, 5 Jun 2026 15:56:14 +0000 (23:56 +0800)] 
docs: add modfiy vite config for use custom Parser (#2723)

* docs(exp): add modfiy vite config for use custom Parser

* refactor: review

---------

Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
30 hours agofix(scroll): ignore stale async scrollBehavior results (#2730)
baozj [Fri, 5 Jun 2026 14:43:15 +0000 (22:43 +0800)] 
fix(scroll): ignore stale async scrollBehavior results (#2730)

* fix(scroll): ignore stale async scrollBehavior results

When scrollBehavior returns a Promise, superseded navigations could
still apply their scroll position to the current page. Track the
latest handleScroll call and only apply the result of the most recent
one.

Co-authored-by: Cursor <cursoragent@cursor.com>
* test(scroll): cover stale scrollBehavior rejections

Co-authored-by: Cursor <cursoragent@cursor.com>
* refactor: review

* test: refactor

---------

Co-authored-by: Cursor <cursoragent@cursor.com>
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
30 hours agoci: bump actions/checkout from 6.0.2 to 6.0.3 in the actions group (#2729)
dependabot[bot] [Fri, 5 Jun 2026 14:00:55 +0000 (16:00 +0200)] 
ci: bump actions/checkout from 6.0.2 to 6.0.3 in the actions group (#2729)

Bumps the actions group with 1 update: [actions/checkout](https://github.com/actions/checkout).

Updates `actions/checkout` from 6.0.2 to 6.0.3
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/de0fac2e4500dabe0009e67214ff5f5447ce83dd...df4cb1c069e1874edd31b4311f1884172cec0e10)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: 6.0.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
4 days agodocs: nuxt data loaders demo
Eduardo San Martin Morote [Tue, 2 Jun 2026 12:42:41 +0000 (14:42 +0200)] 
docs: nuxt data loaders demo

8 days agoci: update workflows
Eduardo San Martin Morote [Fri, 29 May 2026 16:07:37 +0000 (18:07 +0200)] 
ci: update workflows

8 days agoci: pin
Eduardo San Martin Morote [Fri, 29 May 2026 16:07:15 +0000 (18:07 +0200)] 
ci: pin

8 days agotest: migrate e2e suite from Nightwatch to Playwright (#2724)
Eduardo San Martin Morote [Fri, 29 May 2026 15:58:15 +0000 (17:58 +0200)] 
test: migrate e2e suite from Nightwatch to Playwright (#2724)

* test: migrate e2e suite from Nightwatch to Playwright

* ci: run e2e through Playwright only

* ci: use playwright image

* test: improve e2e specs

* ci: fix actions

* ci: parallelize e2e

* ci: try more workers

* ci: test speed only chrome

* ci: upgrade pnpm

8 days agodocs: fix formatting in `extending-routes.md` (#2721)
Micha Huhn [Fri, 29 May 2026 12:42:12 +0000 (14:42 +0200)] 
docs: fix formatting in `extending-routes.md` (#2721)

8 days agotest: unused import
Eduardo San Martin Morote [Fri, 29 May 2026 07:55:41 +0000 (09:55 +0200)] 
test: unused import

8 days agotest: fix
Eduardo San Martin Morote [Fri, 29 May 2026 07:51:04 +0000 (09:51 +0200)] 
test: fix

8 days agochore: fix missing script in test
Eduardo San Martin Morote [Fri, 29 May 2026 07:48:22 +0000 (09:48 +0200)] 
chore: fix missing script in test

9 days agorelease: vue-router@5.1.0 v5.1.0
Eduardo San Martin Morote [Thu, 28 May 2026 14:31:50 +0000 (16:31 +0200)] 
release: vue-router@5.1.0

9 days agochore: fix playgroundc usage
Eduardo San Martin Morote [Thu, 28 May 2026 14:04:22 +0000 (16:04 +0200)] 
chore: fix playgroundc usage

9 days agorefactor(experimental): remove defineQueryParamParser and definePathParamParser
Eduardo San Martin Morote [Thu, 28 May 2026 13:59:30 +0000 (15:59 +0200)] 
refactor(experimental): remove defineQueryParamParser and definePathParamParser

BREAKING CHANGE: these are now replaced by `defineParamParser` and
`defineParamParserRaw`. They should cover more use cases in a more
intuitive way. Feedback is welcome. See
https://router.vuejs.org/experimental/param-parsers.html

9 days agodocs: fix gen and dead links
Eduardo San Martin Morote [Thu, 28 May 2026 13:43:53 +0000 (15:43 +0200)] 
docs: fix gen and dead links

9 days agorefactor: organize imports and exports add back Router
Eduardo San Martin Morote [Thu, 28 May 2026 13:36:39 +0000 (15:36 +0200)] 
refactor: organize imports and exports add back Router

9 days agodocs: links update
Eduardo San Martin Morote [Thu, 28 May 2026 13:16:32 +0000 (15:16 +0200)] 
docs: links update

9 days agochore: unused param
Eduardo San Martin Morote [Thu, 28 May 2026 10:55:01 +0000 (12:55 +0200)] 
chore: unused param

9 days agodocs: experimental
Eduardo San Martin Morote [Thu, 28 May 2026 10:54:47 +0000 (12:54 +0200)] 
docs: experimental

9 days agochore: playground param parsers testing
Eduardo San Martin Morote [Thu, 28 May 2026 10:18:16 +0000 (12:18 +0200)] 
chore: playground param parsers testing

9 days agobuild: build before test:types
Eduardo San Martin Morote [Thu, 28 May 2026 10:16:31 +0000 (12:16 +0200)] 
build: build before test:types

9 days agotest: param parser + resolve
Eduardo San Martin Morote [Thu, 28 May 2026 10:10:46 +0000 (12:10 +0200)] 
test: param parser + resolve

10 days agofix(experimental): repeatable params in subsegments
Eduardo San Martin Morote [Wed, 27 May 2026 16:02:00 +0000 (18:02 +0200)] 
fix(experimental): repeatable params in subsegments

10 days agofeat: allow string as a param parser for convenience
Eduardo San Martin Morote [Wed, 27 May 2026 14:12:34 +0000 (16:12 +0200)] 
feat: allow string as a param parser for convenience

10 days agobuild: update tsdown and rolldown
Eduardo San Martin Morote [Wed, 27 May 2026 13:30:55 +0000 (15:30 +0200)] 
build: update tsdown and rolldown

10 days agochore: use experimental types config in playground
Eduardo San Martin Morote [Wed, 27 May 2026 12:49:02 +0000 (14:49 +0200)] 
chore: use experimental types config in playground

10 days agofeat: override useRouter() return with experimental types config
Eduardo San Martin Morote [Wed, 27 May 2026 12:48:32 +0000 (14:48 +0200)] 
feat: override useRouter() return with experimental types config

11 days agodocs: drop vue-router 4 references (#2719)
Eduardo San Martin Morote [Tue, 26 May 2026 09:29:57 +0000 (11:29 +0200)] 
docs: drop vue-router 4 references (#2719)

11 days agorefactor: not needed type
Eduardo San Martin Morote [Tue, 26 May 2026 09:07:44 +0000 (11:07 +0200)] 
refactor: not needed type

11 days agochore: remove vue-router 4 stuff
Eduardo San Martin Morote [Tue, 26 May 2026 09:05:11 +0000 (11:05 +0200)] 
chore: remove vue-router 4 stuff

2 weeks agofeat: emit runtime warning for invalid format in query params
Eduardo San Martin Morote [Sat, 23 May 2026 16:18:20 +0000 (18:18 +0200)] 
feat: emit runtime warning for invalid format in query params

2 weeks agochore: logs
Eduardo San Martin Morote [Sat, 23 May 2026 16:11:04 +0000 (18:11 +0200)] 
chore: logs

2 weeks agofix: allow undefined values for params in query
Eduardo San Martin Morote [Sat, 23 May 2026 16:10:23 +0000 (18:10 +0200)] 
fix: allow undefined values for params in query

2 weeks agochore: add param parser playground
Eduardo San Martin Morote [Sat, 23 May 2026 15:55:07 +0000 (17:55 +0200)] 
chore: add param parser playground

2 weeks agorefactor: use app.onUnmount
Eduardo San Martin Morote [Sat, 23 May 2026 15:23:00 +0000 (17:23 +0200)] 
refactor: use app.onUnmount

2 weeks agodocs: better docs for loaders in meta
Eduardo San Martin Morote [Sat, 23 May 2026 15:20:06 +0000 (17:20 +0200)] 
docs: better docs for loaders in meta

2 weeks agorefactor: add loader types to base meta
Eduardo San Martin Morote [Sat, 23 May 2026 15:16:26 +0000 (17:16 +0200)] 
refactor: add loader types to base meta

2 weeks agoci: ignore more
Eduardo San Martin Morote [Sat, 23 May 2026 15:08:12 +0000 (17:08 +0200)] 
ci: ignore more

2 weeks agotest: remove useless test run and others
Eduardo San Martin Morote [Sat, 23 May 2026 15:08:00 +0000 (17:08 +0200)] 
test: remove useless test run and others

2 weeks agochore: build run
Eduardo San Martin Morote [Fri, 22 May 2026 16:51:32 +0000 (18:51 +0200)] 
chore: build run

2 weeks agochore: note
Eduardo San Martin Morote [Fri, 22 May 2026 14:56:03 +0000 (16:56 +0200)] 
chore: note

2 weeks agofeat: allow overriding the global Router type
Eduardo San Martin Morote [Fri, 22 May 2026 14:55:16 +0000 (16:55 +0200)] 
feat: allow overriding the global Router type

2 weeks agotest: up colada, less flaky
Eduardo San Martin Morote [Thu, 21 May 2026 09:20:51 +0000 (11:20 +0200)] 
test: up colada, less flaky

2 weeks agorefactor: toStringLiteral
Eduardo San Martin Morote [Thu, 21 May 2026 09:11:02 +0000 (11:11 +0200)] 
refactor: toStringLiteral

2 weeks agofix: detect not set format
Eduardo San Martin Morote [Thu, 21 May 2026 09:10:53 +0000 (11:10 +0200)] 
fix: detect not set format

2 weeks agochore: playground updates
Eduardo San Martin Morote [Thu, 21 May 2026 09:02:15 +0000 (11:02 +0200)] 
chore: playground updates

2 weeks agofeat: force array type raw param parsers
Eduardo San Martin Morote [Thu, 21 May 2026 09:02:00 +0000 (11:02 +0200)] 
feat: force array type raw param parsers

2 weeks agofeat: support raw param parsers
Eduardo San Martin Morote [Thu, 21 May 2026 09:01:13 +0000 (11:01 +0200)] 
feat: support raw param parsers

2 weeks agorefactor: raw param parser
Eduardo San Martin Morote [Thu, 21 May 2026 08:56:26 +0000 (10:56 +0200)] 
refactor: raw param parser

2 weeks agotest: missing runtime test
Eduardo San Martin Morote [Wed, 20 May 2026 15:21:34 +0000 (17:21 +0200)] 
test: missing runtime test

2 weeks agofeat: strict type for definePage param default
Eduardo San Martin Morote [Wed, 20 May 2026 15:19:23 +0000 (17:19 +0200)] 
feat: strict type for definePage param default

2 weeks agofix: filter invalid query params without failing to match
Eduardo San Martin Morote [Wed, 20 May 2026 10:41:52 +0000 (12:41 +0200)] 
fix: filter invalid query params without failing to match

2 weeks agochore: remove old file
Eduardo San Martin Morote [Wed, 20 May 2026 10:38:29 +0000 (12:38 +0200)] 
chore: remove old file

2 weeks agofix: avoid importing unused param parsers
Eduardo San Martin Morote [Wed, 20 May 2026 09:51:37 +0000 (11:51 +0200)] 
fix: avoid importing unused param parsers

2 weeks agofix: deterministic param parser types order
Eduardo San Martin Morote [Wed, 20 May 2026 09:10:09 +0000 (11:10 +0200)] 
fix: deterministic param parser types order

2 weeks agobuild: fix script
Eduardo San Martin Morote [Tue, 19 May 2026 15:56:30 +0000 (17:56 +0200)] 
build: fix script

2 weeks agochore: up some deps
Eduardo San Martin Morote [Tue, 19 May 2026 15:56:23 +0000 (17:56 +0200)] 
chore: up some deps

2 weeks agofix(types): add vite as optional peer dependency (#2712)
Huijie Shi [Tue, 19 May 2026 15:48:45 +0000 (23:48 +0800)] 
fix(types): add vite as optional peer dependency (#2712)

Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com>
Co-authored-by: shihuijie <shihuijie@msh.team>
2 weeks agofeat: typed definePage params.path (#2716)
Eduardo San Martin Morote [Tue, 19 May 2026 15:43:01 +0000 (17:43 +0200)] 
feat: typed definePage params.path (#2716)

2 weeks agofix: fix auto import fixes and make experimental esm only
Eduardo San Martin Morote [Tue, 19 May 2026 14:36:02 +0000 (16:36 +0200)] 
fix: fix auto import fixes and make experimental esm only

3 weeks agodocs: update `params` example (#2707)
skirtle [Wed, 13 May 2026 07:47:28 +0000 (08:47 +0100)] 
docs: update `params` example (#2707)

3 weeks agorelease: vue-router@5.0.7 v5.0.7
Eduardo San Martin Morote [Wed, 13 May 2026 07:42:34 +0000 (09:42 +0200)] 
release: vue-router@5.0.7

3 weeks agofeat(param-parsers): add include/exclude options
Eduardo San Martin Morote [Wed, 13 May 2026 07:40:44 +0000 (09:40 +0200)] 
feat(param-parsers): add include/exclude options

Close #2706

3 weeks agofix(volar): drop runtime `@vue/language-core` import (#2710)
Daniel Roe [Wed, 13 May 2026 07:25:35 +0000 (08:25 +0100)] 
fix(volar): drop runtime `@vue/language-core` import (#2710)

3 weeks agochore(ci): set least-privilege workflow token permissions (#2708)
Arpit Jain [Tue, 12 May 2026 17:41:40 +0000 (02:41 +0900)] 
chore(ci): set least-privilege workflow token permissions (#2708)

4 weeks agochore(release): use @clack/prompts
Eduardo San Martin Morote [Fri, 8 May 2026 10:51:29 +0000 (12:51 +0200)] 
chore(release): use @clack/prompts

4 weeks agochore: playground param type
Eduardo San Martin Morote [Thu, 7 May 2026 15:56:06 +0000 (17:56 +0200)] 
chore: playground param type

4 weeks agorefactor(param-parsers): simplify defineParamParser
Eduardo San Martin Morote [Thu, 7 May 2026 15:43:07 +0000 (17:43 +0200)] 
refactor(param-parsers): simplify defineParamParser

BREAKING CHANGE: the new `defineParamParser()` is simpler and internally
handles arrays and nullish values, simplifying the writing of param
parsers:

  ```ts
  export const parser = defineParamParser<Date>({
    get: value => {
      const asDate = new Date(value)
      if (Number.isNaN(asDate.getTime())) {
        miss(`Invalid date: "${value}"`)
      }

      return asDate
    },
    set: value => value.toISOString(),
  })

  Setting the first type param (here `Date`) is all you need now.
```

4 weeks agochore: comments
Eduardo San Martin Morote [Thu, 7 May 2026 13:42:47 +0000 (15:42 +0200)] 
chore: comments

4 weeks agorefactor: wip of defineParamParser
Eduardo San Martin Morote [Thu, 7 May 2026 13:42:36 +0000 (15:42 +0200)] 
refactor: wip of defineParamParser

4 weeks agochore: logs
Eduardo San Martin Morote [Thu, 7 May 2026 10:37:11 +0000 (12:37 +0200)] 
chore: logs

4 weeks agofeat: upgrade `@vue/devtools-api`
Eduardo San Martin Morote [Thu, 7 May 2026 10:06:39 +0000 (12:06 +0200)] 
feat: upgrade `@vue/devtools-api`

4 weeks agochore: up oxfmt
Eduardo San Martin Morote [Thu, 7 May 2026 10:06:11 +0000 (12:06 +0200)] 
chore: up oxfmt

4 weeks agochore: up tsdown
Eduardo San Martin Morote [Thu, 7 May 2026 10:01:00 +0000 (12:01 +0200)] 
chore: up tsdown

4 weeks agochore: updates
Eduardo San Martin Morote [Thu, 7 May 2026 09:46:12 +0000 (11:46 +0200)] 
chore: updates

4 weeks agochore: deepsec
Eduardo San Martin Morote [Thu, 7 May 2026 09:43:35 +0000 (11:43 +0200)] 
chore: deepsec

4 weeks agochore: ignore claude files
Eduardo San Martin Morote [Thu, 7 May 2026 09:43:17 +0000 (11:43 +0200)] 
chore: ignore claude files

4 weeks agochore: up deps
Eduardo San Martin Morote [Thu, 7 May 2026 09:35:27 +0000 (11:35 +0200)] 
chore: up deps

this should fix docs

4 weeks agodocs: update 'Nested Routes' example (#2701)
skirtle [Thu, 7 May 2026 08:28:34 +0000 (09:28 +0100)] 
docs: update 'Nested Routes' example (#2701)

4 weeks agofix(types): wire RouteNamedMap via generated routes.d.ts (#2700)
Eduardo San Martin Morote [Wed, 6 May 2026 13:45:27 +0000 (15:45 +0200)] 
fix(types): wire RouteNamedMap via generated routes.d.ts (#2700)

4 weeks agofix(unplugin): apply definePage path-param parser overrides (#2699)
Eduardo San Martin Morote [Wed, 6 May 2026 13:31:30 +0000 (15:31 +0200)] 
fix(unplugin): apply definePage path-param parser overrides (#2699)

4 weeks agochore: rename
Eduardo San Martin Morote [Wed, 6 May 2026 12:53:48 +0000 (14:53 +0200)] 
chore: rename

4 weeks agochore: todo note
Eduardo San Martin Morote [Wed, 6 May 2026 12:33:16 +0000 (14:33 +0200)] 
chore: todo note

4 weeks agofix(query): use Object.create(null) to prevent prototype pollution (#2661)
wdskuki [Wed, 6 May 2026 12:28:18 +0000 (20:28 +0800)] 
fix(query): use Object.create(null) to prevent prototype pollution (#2661)

Co-authored-by: wdsmini <wdsmini@wdsmini.local>
Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
4 weeks agofeat: make `defineParamParser()` more intuitive
Eduardo San Martin Morote [Tue, 5 May 2026 14:25:47 +0000 (16:25 +0200)] 
feat: make `defineParamParser()` more intuitive

Now it takes a single type param that defines what the param becomes. I
find this to be more intuitive than the previous version:

```ts
 export const parser = defineParamParser<number>({
   get: value => {
     if (value == null) return null
     if (Array.isArray(value)) {
       return value
         .filter(v => v != null)
         .map(Number)
         .filter(v => !Number.isNaN(v))
     }

     return Number.isNaN(Number(value))
       ? miss(`"${value}" is not a valid number`)
       : Number(value)
   },

   set: value =>
     Array.isArray(value)
       ? value.map(String)
       : value == null
         ? null
         : String(value),
 })
```

4 weeks agofeat: upgrade to babel 8
Eduardo San Martin Morote [Tue, 5 May 2026 08:03:21 +0000 (10:03 +0200)] 
feat: upgrade to babel 8

Given than Node supports ESM out of the box, this should be fine, but it
might be needed to go back to 7 if things break in CJS.

4 weeks agochore: move lines
Eduardo San Martin Morote [Tue, 5 May 2026 07:48:44 +0000 (09:48 +0200)] 
chore: move lines

4 weeks agodocs: update 'Named Views' examples (#2697)
skirtle [Tue, 5 May 2026 07:34:35 +0000 (08:34 +0100)] 
docs: update 'Named Views' examples (#2697)

4 weeks agotest: use direct imports
Eduardo San Martin Morote [Mon, 4 May 2026 15:35:48 +0000 (17:35 +0200)] 
test: use direct imports

4 weeks agotest: add generateRouteParams spec
Eduardo San Martin Morote [Mon, 4 May 2026 12:47:54 +0000 (14:47 +0200)] 
test: add generateRouteParams spec

5 weeks agodocs: simpler diff
Eduardo San Martin Morote [Sat, 2 May 2026 13:11:11 +0000 (15:11 +0200)] 
docs: simpler diff

6 weeks agofix(unplugin): Avoid generating empty routes (#2642)
一只前端汪 [Fri, 24 Apr 2026 09:54:22 +0000 (17:54 +0800)] 
fix(unplugin): Avoid generating empty routes (#2642)

Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
6 weeks agofix(resolve): omit empty optional params from resolved params (#2434)
bab [Wed, 22 Apr 2026 15:29:03 +0000 (00:29 +0900)] 
fix(resolve): omit empty optional params from resolved params (#2434)

Optional params that don't match a segment are no longer set to `''` in
the resolved `params` object; the key is now absent. This matches how
the same route resolves by name and fixes #2419.

Code that checks `params.p === ''` to detect a missing optional param
should use `!params.p` instead as it works with both old and new behavior.

Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
6 weeks agotest: optional param normalization
Eduardo San Martin Morote [Wed, 22 Apr 2026 15:13:22 +0000 (17:13 +0200)] 
test: optional param normalization

6 weeks agodocs: nginx example (#2348)
Fabian Althaus [el-j] [Wed, 22 Apr 2026 14:47:16 +0000 (16:47 +0200)] 
docs: nginx example (#2348)

Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
6 weeks agodocs: add example config for Azure Static Web App (#1406)
Boaz101 [Wed, 22 Apr 2026 14:42:00 +0000 (10:42 -0400)] 
docs: add example config for Azure Static Web App (#1406)

6 weeks agofix(matcher): finalize param token before processing escaped colon (#2654)
bab [Wed, 22 Apr 2026 14:38:10 +0000 (23:38 +0900)] 
fix(matcher): finalize param token before processing escaped colon (#2654)

Co-authored-by: Eduardo San Martin Morote <posva13@gmail.com>
6 weeks agochore: make `warnDeprecatedUsage` warn info more explicit (#2577)
btea [Wed, 22 Apr 2026 13:37:42 +0000 (21:37 +0800)] 
chore: make `warnDeprecatedUsage` warn info more explicit (#2577)

6 weeks agodocs: Remove leading slash in documentation for apache redirect rule (#1561)
Art Furrer [Wed, 22 Apr 2026 13:31:37 +0000 (15:31 +0200)] 
docs: Remove leading slash in documentation for apache redirect rule (#1561)

6 weeks agodocs: update installation guide (#2659)
skirtle [Wed, 22 Apr 2026 13:25:57 +0000 (14:25 +0100)] 
docs: update installation guide (#2659)