UNPKG

vue-recaptcha

Version:

ReCAPTCHA vue component

71 lines (70 loc) 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); module.exports = void 0; var _kit = require("@nuxt/kit"); const COMPONENTS = { RecaptchaCheckbox: "Checkbox", RecaptchaChallengeV2: "ChallengeV2", RecaptchaChallengeV3: "ChallengeV3" }; var _default = (0, _kit.defineNuxtModule)({ meta: { name: "vue-recaptcha", configKey: "recaptcha", compatibility: { nuxt: "^3.0.0" } }, defaults: { enterprise: false, installPlugin: true, _globalComponent: false }, async setup(opt) { const logger = (0, _kit.useLogger)("vue-recaptcha"); const nuxt = (0, _kit.useNuxt)(); const resolver = (0, _kit.createResolver)(require('url').pathToFileURL(__filename).toString()); nuxt.options.build.transpile.push(resolver.resolve("."), "vue-recaptcha"); for (const [name, fileName] of Object.entries(COMPONENTS)) { await (0, _kit.addComponent)({ name, global: opt._globalComponent, filePath: resolver.resolve(`./components/${fileName}.vue`) }); } (0, _kit.addImports)([{ from: resolver.resolve("./composables/context"), name: "useRecaptchaContext" }, { from: resolver.resolve("./composables/context"), name: "useRecaptchaProxy" }, { from: resolver.resolve("./composables/challenge-v2"), name: "useChallengeV2" }, { from: resolver.resolve("./composables/challenge-v3"), name: "useChallengeV3" }, { from: resolver.resolve("./composables/script-provider"), name: "useRecaptchaProvider" }]); if (!opt.installPlugin) { if (opt.enterprise) { logger.warn("`enterprise` option is ignored when `installPlugin` is false"); } return; } if (opt.enterprise) { (0, _kit.addPlugin)({ src: resolver.resolve("./nuxt-enterprise-plugin") }); } else { (0, _kit.addPlugin)({ src: resolver.resolve("./nuxt-plugin") }); } } }); module.exports = _default;