Nuxt Bridge Migration Tools
A tool to support migration to Nuxt Bridge.
Usage
Migrating from @nuxtjs/composition-api to @nuxt/bridge capi legacy
convert from @nuxtjs/composition-api to the capi legacy of @nuxt/bridge.
bash
npx @wattanx/nuxt-bridge-migration@latest capi-legacy <files...>diff
const {
- $fetch,
- $fetchState,
+ fetch,
+ fetchState,
} = useFetch(async () => {
...
});Migrating from @nuxtjs/composition-api
Convert to nuxt 3 compatible composables in nuxt bridge.
bash
npx @wattanx/nuxt-bridge-migration@latest capi-migration <files...>Perform the following conversions.
@nuxtjs/composition-api import migration
Convert @nuxtjs/composition-api for bridge.
bash
npx @wattanx/nuxt-bridge-migration@latest capi-import <files...>Path to the target vue file, which can be set with the glob pattern. e.g.: src/**/*.vue
@nuxtjs/composition-api->#importsuseContext->useNuxtAppuseStore->useNuxtAppuseMeta->useHeaduseAsync->useLazyAsyncDatauseFetch->useLazyFetch
useStore migration
Convert useStore to useNuxtApp().$store
bash
npx @wattanx/nuxt-bridge-migration@latest use-store <files...>diff
- const store = useStore();
+ const { $store: store } = useNuxtApp();useContext migration
Convert useContext() to useNuxtApp()
bash
npx @wattanx/nuxt-bridge-migration@latest use-context <files...>diff
- const { $axios, $sentry } = useContext();
+ const { $axios, $sentry } = useNuxtApp();useMeta migration
Convert useMeta to useHead.
bash
npx @wattanx/nuxt-bridge-migration@latest use-meta <files...>diff
- useMeta({ title: "wattanx-converter" });
+ useHead({ title: "wattanx-converter" });useRoute migration.
Removes value from the return value of useRoute.
bash
npx @wattanx/nuxt-bridge-migration@latest use-route <files...>diff
const route = useRoute();
- const path = route.value.path;
+ const path = route.path;defineNuxtMiddleware migration
Remove defineNuxtMiddleware.
bash
npx @wattanx/nuxt-bridge-migration@latest define-nuxt-middleware <files...>diff
- import { defineNuxtMiddleware } from "@nuxtjs/composition-api";
- export default defineNuxtMiddleware(({ store, redirect }) => {
- if (!store.state.authenticated) {
- return redirect('/login')
- }
- });
+ import type { Middleware } from '@nuxt/types';
+ export default <Middleware> function({ store, redirect }) {
+ if (!store.state.authenticated) {
+ return redirect('/login')
+ }
+ };defineNuxtPlugin migration
Remove defineNuxtPlugin.
bash
npx @wattanx/nuxt-bridge-migration@latest define-nuxt-plugin <files...>diff
- import { defineNuxtPlugin } from '@nuxtjs/composition-api';
- export default defineNuxtPlugin((ctx, inject) => {
- inject('hello', (msg) => console.log('Hello World'));
- });
+ import type { Plugin } from '@nuxt/types';
+ export default <Plugin> function(ctx, inject) {
+ inject('hello', (msg) => console.log('Hello World'));
+ };WARNING
New format for nuxt 3 is not supported. https://nuxt.com/docs/bridge/overview#new-plugins-format-optional