@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
JavaScript
;
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;