@docus/admin
Version:
The Docus admin module.
35 lines (30 loc) • 1.3 kB
JavaScript
const kit = require('@nuxt/kit');
const url = require('url');
const pathe = require('pathe');
const distDir = pathe.resolve(typeof __dirname === "undefined" ? url.fileURLToPath((typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('index.cjs', document.baseURI).href))) : __dirname);
const runtimeDir = pathe.resolve(distDir, "runtime");
const templateDir = pathe.resolve(distDir, "templates");
const newRoute = {
name: "components___en",
path: "/_components/:component",
chunkName: "components",
component: kit.resolveModule("./components.vue", { paths: templateDir })
};
const index = kit.defineNuxtModule({
setup(_options, nuxt) {
kit.addPlugin(kit.resolveModule("./socketio.client", { paths: runtimeDir }), { append: true });
kit.addPlugin(kit.resolveModule("./iframe.client", { paths: runtimeDir }), { append: true });
nuxt.hook("nitro:context", (ctx) => {
ctx.storage.mounts.preview = {
driver: kit.resolveModule("./cloudDriver", { paths: runtimeDir })
};
});
nuxt.hook("modules:done", (nuxt2) => {
nuxt2.extendRoutes((routes) => {
routes.unshift(newRoute);
});
});
}
});
module.exports = index;
;