From 90ee2d634e4491ea3d8d44ef7433b2e129f98345 Mon Sep 17 00:00:00 2001 From: joaopedrodcf Date: Fri, 26 Dec 2025 17:59:40 +0000 Subject: [PATCH 1/4] Add portal-vue to module replacements --- docs/modules/README.md | 1 + docs/modules/portal-vue | 27 +++++++++++++++++++++++++++ manifests/preferred.json | 6 ++++++ 3 files changed, 34 insertions(+) create mode 100644 docs/modules/portal-vue diff --git a/docs/modules/README.md b/docs/modules/README.md index f4114b0..63e1ee3 100644 --- a/docs/modules/README.md +++ b/docs/modules/README.md @@ -63,6 +63,7 @@ ESLint plugin. - [`object-hash`](./object-hash.md) - [`ora`](./ora.md) - [`path-exists`](./path-exists.md) +- [`portal-vue`](./portal-vue.md) - [`pkg-dir`](./pkg-dir.md) - [`qs`](./qs.md) - [`read-pkg`](./read-pkg.md) diff --git a/docs/modules/portal-vue b/docs/modules/portal-vue new file mode 100644 index 0000000..bf9ce47 --- /dev/null +++ b/docs/modules/portal-vue @@ -0,0 +1,27 @@ +--- +description: Modern alternatives to the `portal-vue` package for making portals in vue applications +--- + +# Replacements for `portal-vue` + +## Vue `Teleport` API + +Since Vue 3 the [Teleport]('https://vuejs.org/guide/built-ins/teleport.html') it replaces portal-vue for most use cases, especially modals and overlays. + only moves DOM nodes to an existing target — it does not manage destinations, layouts, or component structure. + +```ts +// Using a modal +
+

Vue Teleport Example

+
+ +
+
+``` + +```ts +// MyModal.vue + +

The content inside of Teleport will render in html body

+
+``` diff --git a/manifests/preferred.json b/manifests/preferred.json index eaa7abc..2e88c39 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -2268,6 +2268,12 @@ "docPath": "path-exists", "category": "preferred" }, + { + "type": "documented", + "moduleName": "portal-vue", + "docPath": "portal-vue", + "category": "preferred" + }, { "type": "documented", "moduleName": "pkg-dir", From d538fbd5e90568c97f309ce0e7329871c68ddc32 Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Sat, 3 Jan 2026 11:40:23 +0000 Subject: [PATCH 2/4] chore: move to .md --- docs/modules/{portal-vue => portal-vue.md} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename docs/modules/{portal-vue => portal-vue.md} (100%) diff --git a/docs/modules/portal-vue b/docs/modules/portal-vue.md similarity index 100% rename from docs/modules/portal-vue rename to docs/modules/portal-vue.md From 2bf89c88f26ca3637c65be98fcf8994e92aa4388 Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Sat, 3 Jan 2026 11:44:56 +0000 Subject: [PATCH 3/4] chore: minor formatting changes --- docs/modules/portal-vue.md | 29 +++++++++++++++-------------- 1 file changed, 15 insertions(+), 14 deletions(-) diff --git a/docs/modules/portal-vue.md b/docs/modules/portal-vue.md index bf9ce47..fbd75ff 100644 --- a/docs/modules/portal-vue.md +++ b/docs/modules/portal-vue.md @@ -1,27 +1,28 @@ --- -description: Modern alternatives to the `portal-vue` package for making portals in vue applications +description: Modern alternatives to the `portal-vue` package for making portals in Vue applications --- # Replacements for `portal-vue` ## Vue `Teleport` API -Since Vue 3 the [Teleport]('https://vuejs.org/guide/built-ins/teleport.html') it replaces portal-vue for most use cases, especially modals and overlays. - only moves DOM nodes to an existing target — it does not manage destinations, layouts, or component structure. +Since Vue 3, the [Teleport](https://vuejs.org/guide/built-ins/teleport.html) component has been introduced which replaces portal-vue for most use cases, especially modals and overlays. -```ts -// Using a modal +`` only moves DOM nodes to an existing target — it does not manage destinations, layouts, or component structure. + +```html +
-

Vue Teleport Example

-
- -
+

Vue Teleport Example

+
+ +
``` -```ts -// MyModal.vue - -

The content inside of Teleport will render in html body

-
+```html + + +

The content inside of Teleport will render in html body

+
``` From 8728957aff6cc83ff6dfb968de1a0a9d65f6a93a Mon Sep 17 00:00:00 2001 From: James Garbutt <43081j@users.noreply.github.com> Date: Sat, 3 Jan 2026 11:46:17 +0000 Subject: [PATCH 4/4] chore: sort manifests --- manifests/preferred.json | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/manifests/preferred.json b/manifests/preferred.json index 2e88c39..213c03e 100644 --- a/manifests/preferred.json +++ b/manifests/preferred.json @@ -2268,12 +2268,6 @@ "docPath": "path-exists", "category": "preferred" }, - { - "type": "documented", - "moduleName": "portal-vue", - "docPath": "portal-vue", - "category": "preferred" - }, { "type": "documented", "moduleName": "pkg-dir", @@ -2286,6 +2280,12 @@ "docPath": "find-up", "category": "preferred" }, + { + "type": "documented", + "moduleName": "portal-vue", + "docPath": "portal-vue", + "category": "preferred" + }, { "type": "documented", "moduleName": "q",