55 lines
1.3 KiB
TypeScript
55 lines
1.3 KiB
TypeScript
import path from 'path';
|
|
import { defineConfig } from 'vite';
|
|
import dts from 'vite-plugin-dts';
|
|
|
|
export default defineConfig(({ mode }) => {
|
|
const libRoot = 'src';
|
|
const appRoot = 'src/app-public';
|
|
|
|
return {
|
|
root: mode === 'production' ? '' : appRoot,
|
|
build: {
|
|
lib: {
|
|
name: 'ksef-fe-invoice-converter',
|
|
entry: path.resolve(__dirname, libRoot, 'index.ts'),
|
|
outDir: path.resolve(__dirname, 'dist'),
|
|
emptyOutDir: true,
|
|
formats: ['es', 'umd'],
|
|
rollupOptions: {
|
|
external: [/\.spec\.ts$/, /\.test\.ts$/, 'src/app-private', 'src/app-public'],
|
|
},
|
|
},
|
|
},
|
|
|
|
test: {
|
|
root: __dirname,
|
|
globals: true,
|
|
environment: 'jsdom',
|
|
include: ['src/**/*.spec.{ts,tsx}', 'src/**/*.test.{ts,tsx}'],
|
|
exclude: [
|
|
'node_modules',
|
|
'dist',
|
|
'cypress',
|
|
'**/{karma,rollup,webpack,vite,vitest,jest,ava,babel,nyc,cypress,tsup,build,eslint,prettier}.config.*',
|
|
],
|
|
coverage: {
|
|
provider: 'v8',
|
|
reporter: ['text-summary', 'lcov', 'html'],
|
|
},
|
|
},
|
|
|
|
plugins: [
|
|
dts({
|
|
entryRoot: libRoot,
|
|
insertTypesEntry: true,
|
|
outDir: path.resolve(__dirname, 'dist'),
|
|
exclude: ['src/app-public'],
|
|
}),
|
|
],
|
|
|
|
server: {
|
|
port: 5173,
|
|
},
|
|
};
|
|
});
|