import { fileURLToPath, URL } from 'node:url' import path from 'path' import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import eslint from 'vite-plugin-eslint' import vueJsx from '@vitejs/plugin-vue-jsx' import dts from 'vite-plugin-dts' import autoprefixer from 'autoprefixer' // https://vitejs.dev/config/ export default defineConfig({ plugins: [ vue(), vueJsx(), eslint({ exclude: ['**/virtual:/**', '**/node_modules/**'] }), dts({ insertTypesEntry: true, }), ], build: { sourcemap: true, target: 'es2015', lib: { // путь к основному файлу библиотеки entry: path.resolve(__dirname, 'src/lib.ts'), // название библиотеки name: 'ark-ui', // форматы генерируемых файлов // formats: ['es', 'umd'], // formats: ['umd', 'es', 'cjs'], // названия генерируемых файлов // fileName: (format) => `apptimizm-ui.${format}.js`, fileName: 'ark-ui', }, rollupOptions: { // убедитесь, что исключили библиотеки, которые не надо собирать // в вашу библиотеку (library) external: ['vue', 'vue-router'], output: { // Предоставляем глобальные переменные, чтобы использовать их в UMD сборке // для экстернализированных зависимостей globals: { vue: 'Vue', 'vue-router': 'VueRouter', }, assetFileNames: 'ark-ui.[ext]', }, }, }, css: { devSourcemap: true, preprocessorOptions: { scss: { additionalData: ` @import "@/app/assets/styles/_variables.scss"; `, }, }, postcss: { plugins: [autoprefixer()], }, }, resolve: { alias: { '@': fileURLToPath(new URL('./src', import.meta.url)), }, }, })