@samk-dev/astratto-ui
Version:
Yes, yet another UI library. Built on top of UIkit 3, it's exclusive to Nuxt
69 lines (65 loc) • 1.97 kB
JavaScript
import { defineNuxtModule, createResolver, addComponentsDir } from '@nuxt/kit';
const name = "@samk-dev/astratto-ui";
const version = "1.0.0-dev-3";
const module = defineNuxtModule({
meta: {
name,
version,
configKey: "astrattoUI",
compatibility: {
bridge: false,
nuxt: "^3.0.0"
}
},
defaults: {
prefix: "au"
},
async setup(options, nuxt) {
var _a, _b, _c;
const resolver = createResolver(import.meta.url);
(_a = nuxt.options).css || (_a.css = []);
nuxt.options.css.push(resolver.resolve("./runtime/assets/styles/base.css"));
(_b = nuxt.options.build).transpile || (_b.transpile = []);
nuxt.options.build.transpile.push(
resolver.resolve("./runtime/assets/js/uikit")
);
nuxt.options.build.transpile.push(
resolver.resolve("./runtime/assets/js/uikit-icons")
);
(_c = nuxt.options.app.head).script || (_c.script = []);
nuxt.options.app.head.script.push(
resolver.resolve("./runtime/assets/js/uikit.js")
);
nuxt.options.app.head.script.push(
resolver.resolve("./runtime/assets/js/uikit-icons.js")
);
await addComponentsDir({
pathPrefix: false,
path: resolver.resolve("runtime/components", "base"),
prefix: `${options.prefix}`,
pattern: "**/*.vue",
ignore: ["**/examples/*.vue"],
transpile: true,
global: false
});
await addComponentsDir({
pathPrefix: false,
path: resolver.resolve("runtime/components", "form-elements"),
prefix: `${options.prefix}`,
pattern: "**/*.vue",
ignore: ["**/examples/*.vue"],
transpile: true,
global: false
});
await addComponentsDir({
pathPrefix: false,
path: resolver.resolve("runtime/components", "layout"),
prefix: `${options.prefix}`,
pattern: "**/*.vue",
ignore: ["**/examples/*.vue"],
transpile: true,
global: false
});
}
});
export { module as default };