vite.config.ts 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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. entryRoot: 'src',
  18. exclude: [
  19. ...excludeFiles,
  20. ],
  21. copyDtsFiles: true,
  22. }),
  23. {
  24. ...nodeExternals({
  25. devDeps: true,
  26. builtinsPrefix: 'ignore',
  27. }),
  28. enforce: 'pre',
  29. },
  30. ],
  31. build: {
  32. outDir: 'dist',
  33. sourcemap: true,
  34. lib: {
  35. entry: glob.sync(path.resolve(__dirname, 'src/**/*.{ts,tsx}'), {
  36. ignore: [
  37. ...excludeFiles,
  38. '**/*.spec.ts',
  39. ],
  40. }),
  41. name: 'editor-libs',
  42. formats: ['es'],
  43. },
  44. rollupOptions: {
  45. output: {
  46. preserveModules: true,
  47. preserveModulesRoot: 'src',
  48. },
  49. external: [
  50. 'emoji-mart/css/emoji-mart.css',
  51. ],
  52. },
  53. },
  54. });