UNPKG

nuxt-alt-generator

Version:

Nuxt module that generates alt text for images using AI

49 lines (46 loc) 1.38 kB
import { defineNuxtModule, createResolver, addServerHandler, addImports, addServerPlugin } from '@nuxt/kit'; import { defu } from 'defu'; const module = defineNuxtModule({ meta: { name: "nuxt-alt-generator", configKey: "altGenerator" }, // Default configuration options of the Nuxt module defaults: { auto: false, ai: { apiKey: "", baseUrl: "" } }, setup(options, nuxt) { nuxt.options.runtimeConfig.altGenerator = defu( nuxt.options.runtimeConfig.altGenerator || {}, { enabled: options.enabled ?? !nuxt.options.dev, // Disable by default in dev mode allowedSrcPatterns: options.allowedSrcPatterns, ai: { context: options.ai?.context, apiKey: options.ai?.apiKey, baseUrl: options.ai?.baseUrl } } ); const resolver = createResolver(import.meta.url); addServerHandler({ route: "/api/__alt__/generate", handler: resolver.resolve("./runtime/server/api/__alt__/generate.post"), method: "post" }); addImports({ name: "useGenerateAltText", as: "useGenerateAltText", from: resolver.resolve("runtime/composables/useGenerateAltText") }); if (options.auto) { addServerPlugin(resolver.resolve("./runtime/server/plugins/addAltToImages")); } } }); export { module as default };