import { defineConfig } from 'vite'; import vue from '@vitejs/plugin-vue'; // or react from '@vitejs/plugin-react' if using React import wasm from 'vite-plugin-wasm'; import {createHtmlPlugin} from 'vite-plugin-html'; import typescript from "@rollup/plugin-typescript"; import fs from 'fs' import path from 'path' // import pluginTerminal from 'vite-plugin-terminal'; export default defineConfig({ optimizeDeps: { include: ['qrcode'] }, plugins: [ vue(), // or react() if using React wasm(), createHtmlPlugin({ minify: true, template: 'index.html', }), typescript({ sourceMap: false, declaration: true, declarationDir: "dist/types", rootDir: "src", outDir: "dist", }), // pluginTerminal({ // console: 'terminal', // output: ['terminal', 'console'] // }) ], build: { outDir: 'dist', target: 'esnext', rollupOptions: { input: './src/router.ts', output: { entryFileNames: 'index.js', }, }, lib: { entry: path.resolve(__dirname, 'src/router.ts'), name: 'ihm-service', formats: ['es'], fileName: (format) => `ihm-service.${format}.js`, }, }, resolve: { alias: { '@': '/src', }, extensions: ['.ts', '.tsx', '.js'], }, server: { fs: { cachedChecks: false }, host: '0.0.0.0', port: 3001, https: { cert: fs.readFileSync(path.resolve(__dirname, './public/ssl/certs/site.crt')), key: fs.readFileSync(path.resolve(__dirname, './public/ssl/private/site.dec.key')) }, proxy: { '/api': { target: 'https://theradiadev2.northeurope.cloudapp.azure.com:5000', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, '') } } }, });