+
@@ -64,11 +81,24 @@ export default {
components: {
ParentLayout,
CarbonAds,
- BuySellAds
+ BuySellAds,
+ BannerTop: () => import('./components/VueSchool/BannerTop.vue')
},
data() {
return {
- sponsors
+ sponsors,
+ showTopBanner: false
+ }
+ },
+ mounted () {
+ const now = new Date()
+ const end = new Date('2022-05-04T00:00:00+02:00')
+ this.showTopBanner = !localStorage.getItem('VS_FW_22_BANNER_CLOSED') && (now < end)
+ },
+ methods: {
+ closeBannerTop () {
+ this.showTopBanner = false
+ localStorage.setItem('VS_FW_22_BANNER_CLOSED', 1)
}
}
}
@@ -77,7 +107,7 @@ export default {
diff --git a/docs/.vuepress/theme/components/VueSchool/BannerTop.vue b/docs/.vuepress/theme/components/VueSchool/BannerTop.vue
new file mode 100644
index 000000000..02a3b756a
--- /dev/null
+++ b/docs/.vuepress/theme/components/VueSchool/BannerTop.vue
@@ -0,0 +1,244 @@
+
+
+
+

+

+
+
+
+
+ Extended for 48 hours!
+
+
+ Get up to 40% off your Vue School Subscription
+
+
+
+
+
+

+
+
+
+
+
diff --git a/docs/fr/api/README.md b/docs/fr/api/README.md
index 316a62af9..0006b0dbc 100644
--- a/docs/fr/api/README.md
+++ b/docs/fr/api/README.md
@@ -14,7 +14,31 @@ sidebar: auto
- Dans le mode historique HTML5, `router-link` interceptera l'évènement du clic, comme ça le navigateur n'essaiera pas de rafraichir la page.
-- En utilisant l'option `base` dans le mode historique HTML5, vous n'avez pas besoin
+- En utilisant l'option `base` dans le mode historique HTML5, vous n'avez pas besoin de l'inclure dans la prop `to`
+
+### `v-slot` API (3.1.0+)
+
+`router-link` est fortement personnalisable via une [slot avec portée](https://fr.vuejs.org/v2/guide/components-slots.html#Slots-avec-portee). C'est une API qui cible principalement les créateurs de bibliothèque, mais elle peut aussi servir pour les développeurs, le plus souvent dans des composants personnalisés tel qu'un _NavLink_ et autre.
+
+**Lors de l'utilisation `v-slot` API, il faut obligatoirement passer un composant enfant unique au `router-link`**. Si vous ne le faites pas, `router-link` va entourer ses enfants avec une balise `span`.
+
+```html
+
+ {{ route.fullPath }}
+
+```
+
+- `href`: URL résolue. Ce serait l'attribut `href` d'une balise `a`
+- `route`: localisation normalisée et résolue
+- `navigate`: fonction pour lancer la navigation. **En cas de nécessité il va automatiquement empêcher les événements**, de la même façon que `router-link`
+- `isActive`: `true` si [active class](#active-class) devrait être appliqué. Permet d'appliquer une classe arbitraire
+- `isExactActive`: `true` si [exact active class](#exact-active-class) devrait être appliqué. Permet d'appliquer une classe arbitraire
### Appliquer la classe active à l'élément extérieur
diff --git a/docs/fr/guide/essentials/dynamic-matching.md b/docs/fr/guide/essentials/dynamic-matching.md
index 82ec94354..76d1fbf5a 100644
--- a/docs/fr/guide/essentials/dynamic-matching.md
+++ b/docs/fr/guide/essentials/dynamic-matching.md
@@ -29,9 +29,9 @@ Vous pouvez regarder un exemple en ligne [ici](https://jsfiddle.net/yyx990803/4x
Vous pouvez avoir plusieurs segments dynamiques pour une même route, et ils seront associés aux champs associés dans `$route.params`. Des exemples :
-| motif | chemin concordant | $route.params |
-|---------|------|--------|
-| /utilisateur/:username | /utilisateur/evan | `{ username: 'evan' }` |
+| motif | chemin concordant | $route.params |
+| -------------------------------------- | ---------------------------- | ------------------------------------ |
+| /utilisateur/:username | /utilisateur/evan | `{ username: 'evan' }` |
| /utilisateur/:username/billet/:post_id | /utilisateur/evan/billet/123 | `{ username: 'evan', post_id: 123 }` |
En plus de `$route.params`, l'objet `$route` expose également d'autres informations utiles comme la `$route.query` (s'il y a une requête dans l'URL), `$route.hash`, etc. Vous pouvez accéder à tous les détails de cela dans la [référence de l'API](../../api/#the-route-object).
diff --git a/docs/fr/guide/essentials/navigation.md b/docs/fr/guide/essentials/navigation.md
index 76367579c..dbb747621 100644
--- a/docs/fr/guide/essentials/navigation.md
+++ b/docs/fr/guide/essentials/navigation.md
@@ -14,8 +14,8 @@ Pour naviguer vers un URL différent, utilisez `router.push`. Cette méthode ajo
Cette méthode est appelée en interne quand vous cliquez sur `
`, donc cliquer sur `` est équivalent à appeler `router.push(...)`.
-| Déclarative | Programmatique |
-|-------------|--------------|
+| Déclarative | Programmatique |
+| ------------------------- | ------------------ |
| `` | `router.push(...)` |
L'argument peut être une chaine de caractère représentant un chemin, ou un objet de description de destination. Des exemples :
@@ -54,8 +54,8 @@ Dans la version 2.2.0+, vous pouvez optionnellement fournir les fonctions de rap
Il agit comme `router.push`. La seule différence est que la navigation se fait sans ajouter de nouvelle entrée dans la pile de l'historique. Comme son nom l'indique, il remplace l'entrée courante.
-| Déclarative | Programmatique |
-|-------------|--------------|
+| Déclarative | Programmatique |
+| --------------------------------- | --------------------- |
| `` | `router.replace(...)` |
diff --git a/docs/installation.md b/docs/installation.md
index 5de3b4aa7..5308864d1 100644
--- a/docs/installation.md
+++ b/docs/installation.md
@@ -51,3 +51,4 @@ cd node_modules/vue-router
npm install
npm run build
```
+
diff --git a/docs/ru/guide/essentials/dynamic-matching.md b/docs/ru/guide/essentials/dynamic-matching.md
index 1cef1351c..ad7c5bcba 100644
--- a/docs/ru/guide/essentials/dynamic-matching.md
+++ b/docs/ru/guide/essentials/dynamic-matching.md
@@ -29,9 +29,9 @@ const User = {
Может быть несколько динамических сегментов в одном маршруте. Для каждого сегмента появится соответствующее свойство в `$route.params`. Например:
-| Шаблон | Совпадающий путь | $route.params |
-|---------|------|--------|
-| /user/:username | /user/evan | `{ username: 'evan' }` |
+| Шаблон | Совпадающий путь | $route.params |
+| ----------------------------- | ------------------- | -------------------------------------- |
+| /user/:username | /user/evan | `{ username: 'evan' }` |
| /user/:username/post/:post_id | /user/evan/post/123 | `{ username: 'evan', post_id: '123' }` |
Кроме `$route.params`, объект `$route` предоставляют и другую полезную информацию, например `$route.query` (если URL содержит строку запроса), `$route.hash`, и т.д. Подробнее в [справочнике API](../../api/#объект-route).
diff --git a/docs/ru/guide/essentials/navigation.md b/docs/ru/guide/essentials/navigation.md
index f7e294b88..1056b9dce 100644
--- a/docs/ru/guide/essentials/navigation.md
+++ b/docs/ru/guide/essentials/navigation.md
@@ -15,7 +15,7 @@ sidebarDepth: 0
При клике на `` этот метод вызывается автоматически. Клик по `` эквивалентен программному вызову `router.push(...)`.
| Декларативная запись | Программная запись |
-|---------------------------|--------------------|
+| ------------------------- | ------------------ |
| `` | `router.push(...)` |
В качестве аргумента можно передать строку или объект, описывающий маршрут. Например:
@@ -57,7 +57,7 @@ router.push({ path: '/user', params: { userId } }) // -> /user
Действует как `router.push`, с той лишь разницей, что переход осуществляется без добавления новой записи в историю навигации, а заменяет текущую запись в нём.
| Декларативная запись | Программная запись |
-|-----------------------------------|-----------------------|
+| --------------------------------- | --------------------- |
| `` | `router.replace(...)` |
## `router.go(n)`
diff --git a/docs/zh/guide/essentials/navigation.md b/docs/zh/guide/essentials/navigation.md
index 488e919f5..62e7e1e77 100644
--- a/docs/zh/guide/essentials/navigation.md
+++ b/docs/zh/guide/essentials/navigation.md
@@ -14,8 +14,8 @@ sidebarDepth: 0
当你点击 `` 时,这个方法会在内部调用,所以说,点击 `` 等同于调用 `router.push(...)`。
-| 声明式 | 编程式 |
-|-------------|--------------|
+| 声明式 | 编程式 |
+| ------------------------- | ------------------ |
| `` | `router.push(...)` |
该方法的参数可以是一个字符串路径,或者一个描述地址的对象。例如:
@@ -54,8 +54,8 @@ router.push({ path: '/user', params: { userId }}) // -> /user
跟 `router.push` 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。
-| 声明式 | 编程式 |
-|-------------|--------------|
+| 声明式 | 编程式 |
+| --------------------------------- | --------------------- |
| `` | `router.replace(...)` |
## `router.go(n)`
diff --git a/package.json b/package.json
index 7d78899f3..c44a25fd8 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "vue-router",
- "version": "3.5.3",
+ "version": "3.5.4",
"description": "Official router for Vue.js 2",
"author": "Evan You",
"license": "MIT",
diff --git a/src/create-route-map.js b/src/create-route-map.js
index 93a558f8a..411013d19 100644
--- a/src/create-route-map.js
+++ b/src/create-route-map.js
@@ -129,7 +129,7 @@ function addRouteRecord (
`Named Route '${route.name}' has a default child route. ` +
`When navigating to this named route (:to="{name: '${
route.name
- }'"), ` +
+ }'}"), ` +
`the default child route will not be rendered. Remove the name from ` +
`this route and use the name of the default child route for named ` +
`links instead.`
diff --git a/src/util/path.js b/src/util/path.js
index de0509490..9d048437f 100644
--- a/src/util/path.js
+++ b/src/util/path.js
@@ -70,5 +70,5 @@ export function parsePath (path: string): {
}
export function cleanPath (path: string): string {
- return path.replace(/\/+/g, '/')
+ return path.replace(/\/(?:\s*\/)+/g, '/')
}
diff --git a/test/unit/specs/error-handling.spec.js b/test/unit/specs/error-handling.spec.js
index 52d61e210..a9b8e11e8 100644
--- a/test/unit/specs/error-handling.spec.js
+++ b/test/unit/specs/error-handling.spec.js
@@ -5,6 +5,10 @@ import { NavigationFailureType } from '../../../src/util/errors'
Vue.use(VueRouter)
describe('error handling', () => {
+ beforeEach(function () {
+ process.env.NODE_ENV = 'development'
+ })
+
it('onReady errors', done => {
const router = new VueRouter()
const err = new Error('foo')
diff --git a/yarn.lock b/yarn.lock
index 3e655d69c..4ee6404f0 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1983,11 +1983,11 @@ aws4@^1.8.0:
integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
axios@^0.21.1:
- version "0.21.1"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
- integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
+ version "0.21.2"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.2.tgz#21297d5084b2aeeb422f5d38e7be4fbb82239017"
+ integrity sha512-87otirqUw3e8CzHTMO+/9kh/FSgXt/eVDvipijwDtEuwbkySWZ9SBm6VEubmJ/kLKEoLQV/POhxXFb66bfekfg==
dependencies:
- follow-redirects "^1.10.0"
+ follow-redirects "^1.14.0"
babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
version "6.26.0"
@@ -5338,10 +5338,10 @@ fn-name@~2.0.1:
resolved "https://registry.yarnpkg.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
integrity sha1-UhTXU3pNBqSjAcDMJi/rhBiAAuc=
-follow-redirects@^1.0.0, follow-redirects@^1.10.0:
- version "1.14.0"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.0.tgz#f5d260f95c5f8c105894491feee5dc8993b402fe"
- integrity sha512-0vRwd7RKQBTt+mgu87mtYeofLFZpTas2S9zY+jIeuLJMNvudIgF52nr19q40HOwH5RrhWIPuj9puybzSJiRrVg==
+follow-redirects@^1.0.0, follow-redirects@^1.14.0:
+ version "1.14.8"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
+ integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
for-in@^1.0.1, for-in@^1.0.2:
version "1.0.2"
@@ -5669,9 +5669,9 @@ glob@7.1.3:
path-is-absolute "^1.0.0"
glob@^7.0.0, glob@^7.0.3, glob@^7.0.5, glob@^7.0.6, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4, glob@^7.1.6:
- version "7.1.6"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
- integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
+ version "7.2.0"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+ integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
@@ -6476,6 +6476,13 @@ is-core-module@^2.2.0:
dependencies:
has "^1.0.3"
+is-core-module@^2.8.1:
+ version "2.8.1"
+ resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+ integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
+ dependencies:
+ has "^1.0.3"
+
is-data-descriptor@^0.1.4:
version "0.1.4"
resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56"
@@ -7834,13 +7841,20 @@ minimalistic-crypto-utils@^1.0.1:
resolved "https://registry.yarnpkg.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
integrity sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=
-minimatch@3.0.4, minimatch@^3.0.2, minimatch@^3.0.4:
+minimatch@3.0.4, minimatch@^3.0.2:
version "3.0.4"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
dependencies:
brace-expansion "^1.1.7"
+minimatch@^3.0.4:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.1.tgz#879ad447200773912898b46cd516a7abbb5e50b0"
+ integrity sha512-reLxBcKUPNBnc/sVtAbxgRVFSegoGeLaSjmphNhcwcolhYLRgtJscn5mRl6YRZNQv40Y7P6JM2YhSIsbL9OB5A==
+ dependencies:
+ brace-expansion "^1.1.7"
+
minimist-options@4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/minimist-options/-/minimist-options-4.1.0.tgz#c0655713c53a8a2ebd77ffa247d342c40f010619"
@@ -8717,6 +8731,11 @@ path-parse@^1.0.6:
resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.6.tgz#d62dbb5679405d72c4737ec58600e9ddcf06d24c"
integrity sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==
+path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
path-to-regexp@0.1.7:
version "0.1.7"
resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
@@ -9240,9 +9259,9 @@ pretty-time@^1.1.0:
integrity sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==
prismjs@^1.13.0:
- version "1.24.0"
- resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.0.tgz#0409c30068a6c52c89ef7f1089b3ca4de56be2ac"
- integrity sha512-SqV5GRsNqnzCL8k5dfAjCNhUrF3pR0A9lTDSCUZeh/LIshheXJEaP0hwLz2t4XHivd2J/v2HR+gRnigzeKe3cQ==
+ version "1.26.0"
+ resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.26.0.tgz#16881b594828bb6b45296083a8cbab46b0accd47"
+ integrity sha512-HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==
private@^0.1.6, private@^0.1.8:
version "0.1.8"
@@ -9890,7 +9909,16 @@ resolve-url@^0.2.1:
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
-resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0:
+resolve@^1.1.6:
+ version "1.22.0"
+ resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
+ integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
+ dependencies:
+ is-core-module "^2.8.1"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+resolve@^1.10.0, resolve@^1.12.0, resolve@^1.14.2, resolve@^1.17.0, resolve@^1.19.0, resolve@^1.2.0, resolve@^1.20.0:
version "1.20.0"
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
@@ -10298,9 +10326,9 @@ shebang-regex@^3.0.0:
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
shelljs@^0.8.3:
- version "0.8.4"
- resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
- integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
+ version "0.8.5"
+ resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.5.tgz#de055408d8361bed66c669d2f000538ced8ee20c"
+ integrity sha512-TiwcRcrkhHvbrZbnRcFYMLl30Dfov3HKqzp5tO5b4pt6G/SezKcYhmDg15zXVBswHmctSAQKznqNW2LO5tTDow==
dependencies:
glob "^7.0.0"
interpret "^1.0.0"
@@ -10919,6 +10947,11 @@ supports-color@^7.1.0:
dependencies:
has-flag "^4.0.0"
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
svg-tags@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
@@ -11194,9 +11227,9 @@ trim-newlines@^3.0.0:
integrity sha512-C4+gOpvmxaSMKuEf9Qc134F1ZuOHVXKRbtEflf4NTtuuJDEIJ9p5PXsalL8SkeRw+qit1Mo+yuvMPAKwWg/1hA==
trim-off-newlines@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz#9f9ba9d9efa8764c387698bcbfeb2c848f11adb3"
- integrity sha1-n5up2e+odkw4dpi8v+sshI8RrbM=
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/trim-off-newlines/-/trim-off-newlines-1.0.3.tgz#8df24847fcb821b0ab27d58ab6efec9f2fe961a1"
+ integrity sha512-kh6Tu6GbeSNMGfrrZh6Bb/4ZEHV1QlB4xNDBeog8Y9/QwFlKTRyWvY3Fs9tRDAMZliVUwieMgEdIeL/FtqjkJg==
trim-right@^1.0.1:
version "1.0.1"
@@ -11472,9 +11505,9 @@ url-parse-lax@^3.0.0:
prepend-http "^2.0.0"
url-parse@^1.4.3, url-parse@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.1.tgz#d5fa9890af8a5e1f274a2c98376510f6425f6e3b"
- integrity sha512-HOfCOUJt7iSYzEx/UqgtwKRMC6EU91NFhsCHMv9oM03VJcVo2Qrp8T8kI9D7amFf1cu+/3CEhgb3rF9zL7k85Q==
+ version "1.5.7"
+ resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.7.tgz#00780f60dbdae90181f51ed85fb24109422c932a"
+ integrity sha512-HxWkieX+STA38EDk7CE9MEryFeHCKzgagxlGvsdS7WBImq9Mk+PGwiT56w82WI3aicwJA8REp42Cxo98c8FZMA==
dependencies:
querystringify "^2.1.1"
requires-port "^1.0.0"