import { cdn } from './cdn'; import vue from '@vitejs/plugin-vue'; import type { PluginOption } from 'vite'; import vueJsx from '@vitejs/plugin-vue-jsx'; import legacy from '@vitejs/plugin-legacy'; import { compression } from 'vite-plugin-compression2'; import { viteMockServe } from 'vite-plugin-mock'; import { viteBuildInfo } from './info'; export function getPluginsList(): PluginOption[] { const lifecycle = process.env.npm_lifecycle_event; return [ vue(), legacy({ targets: ['android 4', 'ios 8', 'chrome 30', 'ie 6'], additionalLegacyPolyfills: ['regenerator-runtime/runtime'], renderLegacyChunks: true, polyfills: [ 'es.symbol', 'es.array.filter', 'es.promise', 'es.promise.finally', 'es/map', 'es/set', 'es.array.for-each', 'es.object.define-properties', 'es.object.define-property', 'es.object.get-own-property-descriptor', 'es.object.get-own-property-descriptors', 'es.object.keys', 'es.object.to-string', 'web.dom-collections.for-each', 'esnext.global-this', 'esnext.string.match-all', ], }), vueJsx(), compression(), viteBuildInfo(), cdn, viteMockServe({ mockPath: 'src/mock' }), ]; }