nuxt-lettermint
Version:
Nuxt module for sending emails with Lettermint
37 lines (34 loc) • 1.1 kB
JavaScript
import { defineNuxtModule, createResolver, addServerImportsDir, addServerHandler, addImportsDir, addPlugin } from '@nuxt/kit';
import { defu } from 'defu';
const module = defineNuxtModule({
meta: {
name: "nuxt-lettermint",
configKey: "lettermint",
compatibility: {
nuxt: ">=3.0.0"
}
},
defaults: {
autoEndpoint: true
},
setup: function(options, nuxt) {
const resolver = createResolver(import.meta.url);
const runtimeConfig = {
apiKey: options.apiKey || process.env.NUXT_LETTERMINT_API_KEY || ""
};
nuxt.options.runtimeConfig.lettermint = defu(
nuxt.options.runtimeConfig.lettermint || {},
runtimeConfig
);
addServerImportsDir(resolver.resolve("./runtime/server/utils"));
if (options.autoEndpoint !== false) {
addServerHandler({
route: "/api/lettermint/send",
handler: resolver.resolve("./runtime/server/api/lettermint/send.post")
});
}
addImportsDir(resolver.resolve("./runtime/composables"));
addPlugin(resolver.resolve("./runtime/plugin"));
}
});
export { module as default };