///
import type {} from '@unocss/nuxt'
import { dirname, join } from 'node:path'
import { fileURLToPath } from 'node:url'
import { createResolver } from 'nuxt/kit'
const currentDir = dirname(fileURLToPath(import.meta.url))
const { resolve } = createResolver(import.meta.url)
export default defineNuxtConfig({
compatibilityDate: '2024-11-13',
devtools: { enabled: true },
modules: [
'@unocss/nuxt',
'@vueuse/nuxt',
'motion-v/nuxt',
resolve('./modules/tela-build-docs'),
],
imports: {
dirs: [
'./composables',
'./utils',
],
},
components: {
dirs: [
'components',
{ path: 'composables', pattern: '**/*.vue' },
],
},
vue: {
runtimeCompiler: 'STORYBOOK' in process.env,
},
pages: !process.env.STORYBOOK,
unocss: {
attributify: true,
icons: {
scale: 1.2,
collections: {
custom: {
command: '',
return: '',
variable: '',
variableUnassigned: '',
variableReference: '',
variableOutput: '',
outputFormat: '',
loader: '',
variableOutputError: '',
splitter: '',
favorited: '',
google: '',
microsoft: '',
},
},
},
configFile: join(currentDir, './unocss.config.ts'),
content: {
filesystem: [join(currentDir, './utils/design-tokens.ts')],
pipeline: {
include: [
/composables\/.+\.ts($|\?)/,
/\.stories\.ts($|\?)/,
/\.(vue|svelte|[jt]sx|mdx?|astro|elm|php|phtml|html)($|\?)/,
].filter(Boolean),
},
},
},
css: [
// Local font files from @fontsource (no external network requests needed)
'@fontsource-variable/inter',
'@fontsource-variable/geist-mono',
join(currentDir, './css/reset.css'),
join(currentDir, './css/text.css'),
],
vite: {
vue: {
script: {
defineModel: true,
},
},
},
} as any)