index.ts 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /**
  2. * Copyright (c) 2013-Now https://jeesite.com All rights reserved.
  3. * No deletion without permission, or be held responsible to law.
  4. * @author ThinkGem
  5. */
  6. import { type PluginOption } from 'vite';
  7. import vue from '@vitejs/plugin-vue';
  8. import vueJsx from '@vitejs/plugin-vue-jsx';
  9. import vueSetupExtend from 'vite-plugin-vue-setup-extend';
  10. import vitePluginCertificate from 'vite-plugin-mkcert';
  11. import { appConfigPlugin } from '../config/appConfig';
  12. import { configCompressPlugin } from './compress';
  13. import { configHtmlPlugin } from './html';
  14. import { configLegacyPlugin } from './legacy';
  15. import { configThemePlugin } from '../theme';
  16. import { configUnoCSSPlugin } from './unocss';
  17. import { configMonacoEditorPlugin } from './monacoEditor';
  18. import { configVisualizerPlugin } from './visualizer';
  19. export function createVitePlugins(isBuild: boolean, viteEnv: ViteEnv) {
  20. const vitePlugins: PluginOption[] = [
  21. vue(),
  22. vueJsx(),
  23. vueSetupExtend(),
  24. vitePluginCertificate({
  25. source: 'coding',
  26. }),
  27. ];
  28. // app-config-plugin
  29. vitePlugins.push(appConfigPlugin(isBuild, viteEnv));
  30. // UnoCSS-vite-plugin
  31. vitePlugins.push(configUnoCSSPlugin());
  32. // vite-plugin-html
  33. vitePlugins.push(configHtmlPlugin(isBuild));
  34. // vite-plugin-monaco-editor
  35. vitePlugins.push(configMonacoEditorPlugin());
  36. // rollup-plugin-visualizer
  37. vitePlugins.push(configVisualizerPlugin());
  38. // vite-plugin-theme-vite3
  39. vitePlugins.push(configThemePlugin(isBuild));
  40. // rollup-plugin-gzip
  41. vitePlugins.push(configCompressPlugin(isBuild, viteEnv));
  42. // @vitejs/plugin-legacy
  43. vitePlugins.push(configLegacyPlugin(isBuild, viteEnv));
  44. return vitePlugins;
  45. }
  46. export {
  47. appConfigPlugin,
  48. configCompressPlugin,
  49. configHtmlPlugin,
  50. configLegacyPlugin,
  51. configThemePlugin,
  52. configUnoCSSPlugin,
  53. configMonacoEditorPlugin,
  54. configVisualizerPlugin,
  55. };