vite.config.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import path from 'path';
  2. import react from '@vitejs/plugin-react';
  3. import glob from 'glob';
  4. import { nodeExternals } from 'rollup-plugin-node-externals';
  5. import { defineConfig } from 'vite';
  6. import dts from 'vite-plugin-dts';
  7. const excludeFiles = [
  8. '**/components/playground/*',
  9. '**/main.tsx',
  10. '**/vite-env.d.ts',
  11. ];
  12. // https://vitejs.dev/config/
  13. export default defineConfig({
  14. plugins: [
  15. react(),
  16. dts({
  17. exclude: [
  18. ...excludeFiles,
  19. ],
  20. copyDtsFiles: true,
  21. }),
  22. {
  23. ...nodeExternals({
  24. devDeps: true,
  25. builtinsPrefix: 'ignore',
  26. }),
  27. enforce: 'pre',
  28. },
  29. ],
  30. build: {
  31. outDir: 'dist',
  32. sourcemap: true,
  33. lib: {
  34. entry: glob.sync(path.resolve(__dirname, 'src/**/*.{ts,tsx}'), {
  35. ignore: [
  36. ...excludeFiles,
  37. '**/*.spec.ts',
  38. ],
  39. }),
  40. name: 'editor-libs',
  41. formats: ['es'],
  42. },
  43. rollupOptions: {
  44. output: {
  45. preserveModules: true,
  46. preserveModulesRoot: 'src',
  47. },
  48. external: [
  49. 'emoji-mart/css/emoji-mart.css',
  50. ],
  51. },
  52. },
  53. });