Files
penpot/plugins/libs/plugins-runtime/vite.config.ts
2026-02-10 08:29:24 +01:00

75 lines
1.8 KiB
TypeScript

/// <reference types="vitest/config" />
import { defineConfig } from 'vite';
import dts from 'vite-plugin-dts';
import { viteStaticCopy } from 'vite-plugin-static-copy';
import * as path from 'path';
import tsconfigPaths from 'vite-tsconfig-paths';
import checker from 'vite-plugin-checker';
export default defineConfig({
root: __dirname,
cacheDir: '../node_modules/.vite/plugins-runtime',
plugins: [
tsconfigPaths(),
dts({
entryRoot: 'src',
tsconfigPath: path.join(__dirname, 'tsconfig.lib.json'),
}),
checker({
typescript: {
buildMode: true,
},
}),
viteStaticCopy({
targets: [
{
src: 'README.md',
dest: '.',
},
],
}),
],
// Configuration for building your library.
// See: https://vitejs.dev/guide/build.html#library-mode
build: {
outDir: '../../dist/plugins-runtime',
reportCompressedSize: true,
commonjsOptions: {
transformMixedEsModules: true,
},
lib: {
// Could also be a dictionary or array of multiple entry points.
entry: 'src/index.ts',
name: 'plugins-runtime',
fileName: 'index',
// Change this to the formats you want to support.
// Don't forget to update your package.json as well.
formats: ['es'],
},
rollupOptions: {
// External packages that should not be bundled into your library.
external: [],
},
sourcemap: true,
},
preview: {
host: '0.0.0.0',
port: 4200,
},
test: {
watch: false,
globals: true,
environment: 'happy-dom',
include: ['src/**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}'],
reporters: ['default'],
coverage: {
reportsDirectory: '../coverage/plugins-runtime',
provider: 'v8',
},
},
});