diff --git a/package.json b/package.json index 4d6a960..c33786d 100644 --- a/package.json +++ b/package.json @@ -28,11 +28,13 @@ }, "dependencies": { "@nuxt/kit": "^3.2.2", + "lodash-es": "latest", "sass": "^1.58.3", "vite-plugin-vuetify": "^1.0.2", "vuetify": "^3.1.6" }, "devDependencies": { + "@types/lodash-es": "latest", "@types/node": "^18.14.1", "nuxt": "^3.2.2", "unbuild": "latest" diff --git a/src/module.ts b/src/module.ts index ebae12f..103d866 100644 --- a/src/module.ts +++ b/src/module.ts @@ -1,3 +1,5 @@ +import { readFileSync } from 'node:fs' +import { template } from 'lodash-es' import type { ModuleOptions } from './types'; import type { Nuxt } from '@nuxt/schema' import { name, version } from '../package.json'; @@ -67,7 +69,10 @@ export default defineNuxtModule({ } addPluginTemplate({ - src: resolve('./runtime/templates/plugin.mjs'), + getContents({ options }) { + const contents = readFileSync(resolve('./runtime/templates/plugin.mjs'), 'utf-8') + return template(contents)({ options }) + }, filename: 'vuetify.plugin.mjs', options: options.vuetifyOptions }) @@ -104,4 +109,4 @@ function setupIcons(nuxt: Nuxt, preset: IconPreset) { href: cdnPresets[preset] }) } -} \ No newline at end of file +}