/// import { defineConfig } from 'vite'; import dts from 'vite-plugin-dts'; import * as path from 'path'; import { nxCopyAssetsPlugin } from '@nx/vite/plugins/nx-copy-assets.plugin'; import { inputFiles, generateEntryCssFile } from './generate-entry-css-file'; export default defineConfig({ root: __dirname, cacheDir: '../../../node_modules/.vite/packages/styles', plugins: [ nxCopyAssetsPlugin([ '*.md', { input: './src/fonts', output: './fonts', glob: '*.{ttf,woff,woff2}', }, ]), dts({ entryRoot: 'src', tsconfigPath: path.join(__dirname, 'tsconfig.lib.json'), aliasesExclude: [/^@dpa\//], staticImport: true, }), generateEntryCssFile(), ], base: './', build: { outDir: './dist', emptyOutDir: true, reportCompressedSize: true, commonjsOptions: { transformMixedEsModules: true, }, lib: { entry: path.join(__dirname, 'src/index.ts'), formats: ['es'], }, rollupOptions: { input: { ...inputFiles, index: path.join(__dirname, 'src/index.ts'), }, output: { entryFileNames: '[name].js', assetFileNames: (assetInfo) => { if (/\.(woff|woff2|ttf|eot|otf)$/.test(assetInfo.name || '')) { return 'fonts/[name][extname]'; } return '[name].[hash].min.css'; }, }, }, cssCodeSplit: true, }, });