import { resolve } from 'node:path'; import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; import dts from 'vite-plugin-dts'; // Minimal library build for @42/vue. `vue` and `@42/core` (and its subpaths) // are peer dependencies and must stay external so the package ships only the // thin wrapper layer. export default defineConfig({ plugins: [ vue(), dts({ include: ['src/**/*.ts', 'src/**/*.tsx'], exclude: ['**/*.test.ts', 'vite.config.ts'], }), ], build: { outDir: 'dist', emptyOutDir: true, lib: { entry: { index: resolve(__dirname, 'src/index.ts'), }, formats: ['es'], }, rollupOptions: { external: ['vue', /^@42\/core/], output: { entryFileNames: '[name].js', chunkFileNames: 'shared/[name].js', globals: { vue: 'Vue' }, }, }, }, });