mirror of https://github.com/vuejs/vitepress
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
main
router
userquin/feat-add-webtypes-json-support
userquin/feat-declare-global-components
tsdown
feat/vite-8
gh-pages
userquin/fix-skip-to-content
fix/4928
v2-theme
v1
link-headers-experiment
fix/2980
userquin/feat-use-best-lang-match-for-last-update
userquin/feat-add-external-translation-repo-links
userquin/feat-add-inert-content-again
userquin/feat-include-ids-and-anchor-check
userquin/feat-add-print-options
fix/2989
progressbar
v0.9.1
v0.10.0
v0.10.1
v0.10.2
v0.10.3
v0.10.4
v0.10.5
v0.10.6
v0.10.7
v0.10.8
v0.11.0
v0.11.1
v0.11.2
v0.11.3
v0.11.4
v0.11.5
v0.12.0
v0.12.1
v0.12.2
v0.13.0
v0.13.1
v0.13.2
v0.14.0
v0.14.1
v0.15.0
v0.15.1
v0.15.2
v0.15.3
v0.15.4
v0.15.5
v0.15.6
v0.16.0
v0.16.1
v0.17.0
v0.17.1
v0.17.2
v0.17.3
v0.18.0
v0.18.1
v0.19.0
v0.19.1
v0.19.2
v0.20.0
v0.20.1
v0.20.10
v0.20.2
v0.20.3
v0.20.4
v0.20.5
v0.20.6
v0.20.7
v0.20.8
v0.20.9
v0.21.0
v0.21.1
v0.21.2
v0.21.3
v0.21.4
v0.21.5
v0.21.6
v0.22.0
v0.22.1
v0.22.2
v0.22.3
v0.22.4
v0.4.1
v0.5.0
v0.6.0
v0.7.0
v0.7.1
v0.7.2
v0.7.3
v0.7.4
v0.8.0
v0.8.1
v0.9.0
v0.9.2
v1.0.0
v1.0.0-alpha.1
v1.0.0-alpha.10
v1.0.0-alpha.11
v1.0.0-alpha.12
v1.0.0-alpha.13
v1.0.0-alpha.14
v1.0.0-alpha.15
v1.0.0-alpha.16
v1.0.0-alpha.17
v1.0.0-alpha.18
v1.0.0-alpha.19
v1.0.0-alpha.2
v1.0.0-alpha.20
v1.0.0-alpha.21
v1.0.0-alpha.22
v1.0.0-alpha.23
v1.0.0-alpha.24
v1.0.0-alpha.25
v1.0.0-alpha.26
v1.0.0-alpha.27
v1.0.0-alpha.28
v1.0.0-alpha.29
v1.0.0-alpha.3
v1.0.0-alpha.30
v1.0.0-alpha.31
v1.0.0-alpha.32
v1.0.0-alpha.33
v1.0.0-alpha.34
v1.0.0-alpha.35
v1.0.0-alpha.36
v1.0.0-alpha.37
v1.0.0-alpha.38
v1.0.0-alpha.39
v1.0.0-alpha.4
v1.0.0-alpha.40
v1.0.0-alpha.41
v1.0.0-alpha.42
v1.0.0-alpha.43
v1.0.0-alpha.44
v1.0.0-alpha.45
v1.0.0-alpha.46
v1.0.0-alpha.47
v1.0.0-alpha.48
v1.0.0-alpha.49
v1.0.0-alpha.5
v1.0.0-alpha.50
v1.0.0-alpha.51
v1.0.0-alpha.52
v1.0.0-alpha.53
v1.0.0-alpha.54
v1.0.0-alpha.55
v1.0.0-alpha.56
v1.0.0-alpha.57
v1.0.0-alpha.58
v1.0.0-alpha.59
v1.0.0-alpha.6
v1.0.0-alpha.60
v1.0.0-alpha.61
v1.0.0-alpha.62
v1.0.0-alpha.63
v1.0.0-alpha.64
v1.0.0-alpha.65
v1.0.0-alpha.66
v1.0.0-alpha.67
v1.0.0-alpha.68
v1.0.0-alpha.69
v1.0.0-alpha.7
v1.0.0-alpha.70
v1.0.0-alpha.71
v1.0.0-alpha.72
v1.0.0-alpha.73
v1.0.0-alpha.74
v1.0.0-alpha.75
v1.0.0-alpha.76
v1.0.0-alpha.8
v1.0.0-alpha.9
v1.0.0-beta.1
v1.0.0-beta.2
v1.0.0-beta.3
v1.0.0-beta.4
v1.0.0-beta.5
v1.0.0-beta.6
v1.0.0-beta.7
v1.0.0-rc.1
v1.0.0-rc.10
v1.0.0-rc.11
v1.0.0-rc.12
v1.0.0-rc.13
v1.0.0-rc.14
v1.0.0-rc.15
v1.0.0-rc.16
v1.0.0-rc.17
v1.0.0-rc.18
v1.0.0-rc.19
v1.0.0-rc.2
v1.0.0-rc.20
v1.0.0-rc.21
v1.0.0-rc.22
v1.0.0-rc.23
v1.0.0-rc.24
v1.0.0-rc.25
v1.0.0-rc.26
v1.0.0-rc.27
v1.0.0-rc.28
v1.0.0-rc.29
v1.0.0-rc.3
v1.0.0-rc.30
v1.0.0-rc.31
v1.0.0-rc.32
v1.0.0-rc.33
v1.0.0-rc.34
v1.0.0-rc.35
v1.0.0-rc.36
v1.0.0-rc.37
v1.0.0-rc.38
v1.0.0-rc.39
v1.0.0-rc.4
v1.0.0-rc.40
v1.0.0-rc.41
v1.0.0-rc.42
v1.0.0-rc.43
v1.0.0-rc.44
v1.0.0-rc.45
v1.0.0-rc.5
v1.0.0-rc.6
v1.0.0-rc.7
v1.0.0-rc.8
v1.0.0-rc.9
v1.0.1
v1.0.2
v1.1.0
v1.1.1
v1.1.2
v1.1.3
v1.1.4
v1.2.0
v1.2.1
v1.2.2
v1.2.3
v1.3.0
v1.3.1
v1.3.2
v1.3.3
v1.3.4
v1.4.0
v1.4.1
v1.4.2
v1.4.3
v1.4.5
v1.5.0
v1.6.0
v1.6.1
v1.6.2
v1.6.3
v1.6.4
v2.0.0-alpha.1
v2.0.0-alpha.10
v2.0.0-alpha.11
v2.0.0-alpha.12
v2.0.0-alpha.13
v2.0.0-alpha.14
v2.0.0-alpha.15
v2.0.0-alpha.16
v2.0.0-alpha.17
v2.0.0-alpha.2
v2.0.0-alpha.3
v2.0.0-alpha.4
v2.0.0-alpha.5
v2.0.0-alpha.6
v2.0.0-alpha.7
v2.0.0-alpha.8
v2.0.0-alpha.9
${ noResults }
Add a parameterised e2e suite that runs the same 22 scenarios against
both router implementations (Navigation API and legacy History API).
The legacy strategy is forced on via `window.__VP_USE_LEGACY_ROUTER__`,
set via Playwright `addInitScript` on a second browser context — the
shared browser and default `page` / `goto` from vitestSetup.ts are
reused for the Navigation API run, so we don't relaunch Playwright.
Scenarios covered, for each mode:
- strategy selection reflects the flag
- link click performs SPA navigation (no full reload)
- hash anchor updates URL, scrolls into view, focuses target heading
- back / forward navigate between entries
- scroll position restored on back traversal
- onBeforeRouteChange / onAfterRouteChange fire for full and hash navs
- onBeforeRouteChange returning false cancels the nav
- programmatic router.go
- router.go with { replace: true }
- same-URL click scrolls without pushing a new history entry
- onBeforePageLoad / onAfterPageLoad fire
- onBeforePageLoad returning false cancels page load
- links inside .vp-raw trigger a full reload
- external / download / target / non-HTML links are not intercepted
- clicks on buttons inside links are not intercepted
- route.path / route.hash / route.query stay in sync
- unknown paths fall back to the 404 page
- route.data.relativePath is populated from the loaded page
A small init-script-installed `resolveRouterOrThrow()` finds the router
via the Vue app's provides, so `page.evaluate` call sites stay terse and
typed against the public `Router` interface — no `any` in test code.
To support the flag, `hasNavigationApi()` now honours
`window.__VP_USE_LEGACY_ROUTER__` as a forced opt-out; this is documented
in-source as a test-only hook.
|
1 month ago | |
|---|---|---|
| .. | ||
| e2e | test(e2e/router): exercise both router strategies | 1 month ago |
| init | chore: maintenance and cleanup | 1 year ago |
| unit | fix: keep translation links in the current tab (#5158) | 2 months ago |
| tsconfig.json | chore: bump deps | 1 month ago |