UNPKG

@inkline/plugin

Version:

<p align="center"> <a href="https://inkline.io/"> <img src="https://raw.githubusercontent.com/inkline/inkline.io/main/assets/images/logo/logo-black.svg" alt="Inkline" width=72 height=72> </a> </p>

84 lines (83 loc) 2.48 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.module = exports.default = void 0; var _kit = require("@nuxt/kit"); var _path = require("path"); var _url = require("url"); var _module2 = require("module"); var _watch = require("./plugin/watch"); var _build = require("./plugin/build"); var _config = require("@inkline/config"); const defaultImportOptions = { mode: "auto", styles: true, scripts: true, utilities: true }; const _module = (0, _kit.defineNuxtModule)({ meta: { name: "@inkline/nuxt", version: "3", configKey: "inkline", compatibility: { nuxt: ">=2.0.0", bridge: true } }, async setup({ import: importOptions, configFile, outputDir, extName, globals }, nuxt) { importOptions = { ...defaultImportOptions, ...importOptions }; const pluginOptions = { configFile, outputDir, extName }; const resolvedPluginOptions = (0, _config.getResolvedOptions)(pluginOptions); const templatesDir = (0, _url.fileURLToPath)(new URL("./templates", require('url').pathToFileURL(__filename).toString())); const inklineRequire = (0, _module2.createRequire)(require('url').pathToFileURL(__filename).toString()); if (importOptions.styles !== false) { nuxt.options.css = nuxt.options.css || []; nuxt.options.css.unshift(`${resolvedPluginOptions.outputDir}/index.scss`); nuxt.options.css.unshift("@inkline/inkline/css/index.scss"); if (importOptions.utilities !== false) { nuxt.options.css.push("@inkline/inkline/css/utilities.scss"); } } nuxt.options.build.transpile.push("@inkline/inkline"); if (importOptions.scripts !== false) { (0, _kit.addPluginTemplate)({ mode: "all", src: (0, _path.resolve)(templatesDir, "nuxt.ejs"), write: true, filename: "inkline.mjs", options: globals || {} }); } await (0, _kit.addComponentsDir)({ path: (0, _path.join)((0, _path.dirname)(inklineRequire.resolve("@inkline/inkline")), "components"), pathPrefix: false, pattern: "**/*.vue", ignore: ["**/examples/*.vue"], transpile: true, global: importOptions.mode === "global" }); if (nuxt.options.dev) { (0, _watch.watch)(pluginOptions); } else { (0, _build.build)(pluginOptions); } } }); exports.module = _module; var _default = _module; module.exports = _default;