vue-nuxt-permission
Version:
A unified permission system for Vue 3 and Nuxt 3 / Nuxt 4 with directives, guards, and async support.
3 lines (2 loc) • 1.29 kB
JavaScript
;/*! vue-nuxt-permission v2.2.1 | (c) 2026 Kerolos Zakaria | MIT License */const s=require("@nuxt/kit"),t=require("defu");var i=typeof document<"u"?document.currentScript:null;const o=s.defineNuxtModule({meta:{name:"vue-nuxt-permission",configKey:"permission",compatibility:{nuxt:">=3.0.0"}},defaults:{permissions:[],developmentMode:!1,persist:!0},setup(e,r){if(e.permissions&&!Array.isArray(e.permissions))throw new TypeError("[vue-nuxt-permission] permissions must be an array");if(e.fetchPermissions&&typeof e.fetchPermissions!="string"&&typeof e.fetchPermissions!="function")throw new TypeError("[vue-nuxt-permission] fetchPermissions must be a URL string or async function");const n=s.createResolver(typeof document>"u"?require("url").pathToFileURL(__filename).href:i&&i.tagName.toUpperCase()==="SCRIPT"&&i.src||new URL("module.cjs",document.baseURI).href);s.addPlugin(n.resolve("./runtime/plugin")),s.addImports({name:"usePermission",from:"vue-nuxt-permission"}),r.options.runtimeConfig.public.permission=t.defu(r.options.runtimeConfig.public.permission,{permissions:e.permissions,developmentMode:e.developmentMode,persist:e.persist,fetchPermissions:typeof e.fetchPermissions=="string"?e.fetchPermissions:void 0})}});module.exports=o;
//# sourceMappingURL=module.cjs.map