nuxt-builderio
Version:
An unofficial Nuxt module for Builder.io, a visual headless CMS.
24 lines (23 loc) • 736 B
JavaScript
import { defineNuxtPlugin, useRuntimeConfig } from "#app";
export default defineNuxtPlugin({
setup: async () => {
const _components = (await import("#build/builder/components.mjs")).default;
const { prefix } = useRuntimeConfig().public.builderIO.components;
const components = await Promise.all(
_components.filter((component) => !component.data.ignored).map(async (component) => {
const vueComponent = (await component.component()).default;
return {
...component.data,
component: vueComponent,
name: prefix + component.name,
ignored: void 0
};
})
);
return {
provide: {
builderComponents: components
}
};
}
});