提交 cb22edda 作者: 方治民

build: vite 3.x 兼容适配调整

上级 b6753b09
......@@ -14,7 +14,6 @@ import { configStyleImportPlugin } from './styleImport'
import { configVisualizerConfig } from './visualizer'
import { configThemePlugin } from './theme'
import { configSvgIconsPlugin } from './svgSprite'
import { configOptimizePlugin } from './optimize'
import { configAutoImportPlugin } from './autoImport'
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
......@@ -59,9 +58,6 @@ export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
// vite-plugin-theme
vitePlugins.push(configThemePlugin(isBuild))
// vite-plugin-optimize-persist
vitePlugins.push(configOptimizePlugin())
// vite-plugin-auto-import
vitePlugins.push(configAutoImportPlugin())
......
/**
* https://github.com/antfu/vite-plugin-optimize-persist
*/
import OptimizationPersist from 'vite-plugin-optimize-persist'
import PkgConfig from 'vite-plugin-package-config'
export function configOptimizePlugin() {
return [
PkgConfig({
packageJsonPath: './vite.optimize.json',
}),
OptimizationPersist(),
]
}
import { createProdMockServer } from 'vite-plugin-mock/es/createProdMockServer'
const modules = import.meta.globEager('./**/*.ts')
const modules = import.meta.glob('./**/*.ts', { eager: true })
const mockModules: any[] = []
Object.keys(modules).forEach((key) => {
if (key.includes('/_')) {
return
}
mockModules.push(...modules[key].default)
mockModules.push(...(modules as Recordable)[key].default)
})
/**
......
......@@ -56,19 +56,19 @@
"@ant-design/colors": "^6.0.0",
"@ant-design/icons-vue": "^6.1.0",
"@iconify/iconify": "^2.2.1",
"@logicflow/core": "^1.1.22",
"@logicflow/extension": "^1.1.22",
"@logicflow/core": "^1.1.26",
"@logicflow/extension": "^1.1.26",
"@vue/runtime-core": "^3.2.37",
"@vue/shared": "^3.2.37",
"@vueuse/core": "^8.9.4",
"@vueuse/shared": "^8.9.4",
"@zxcvbn-ts/core": "^2.0.3",
"ant-design-vue": "^3.2.10",
"@zxcvbn-ts/core": "^2.0.4",
"ant-design-vue": "^3.2.11",
"axios": "^0.26.1",
"codemirror": "^5.65.7",
"codemirror": "^5.65.8",
"cropperjs": "^1.5.12",
"crypto-js": "^4.1.1",
"dayjs": "^1.11.4",
"dayjs": "^1.11.5",
"echarts": "^5.3.3",
"intro.js": "^5.1.0",
"lodash-es": "^4.17.21",
......@@ -76,7 +76,7 @@
"nanoid": "^4.0.0",
"nprogress": "^0.2.0",
"path-to-regexp": "^6.2.1",
"pinia": "^2.0.17",
"pinia": "^2.0.21",
"print-js": "^1.6.0",
"qrcode": "^1.5.1",
"qs": "^6.11.0",
......@@ -84,18 +84,18 @@
"showdown": "^2.1.0",
"sortablejs": "^1.15.0",
"tinymce": "^5.10.5",
"vditor": "^3.8.15",
"vditor": "^3.8.17",
"vue": "^3.2.37",
"vue-i18n": "^9.2.0",
"vue-json-pretty": "^2.1.1",
"vue-router": "^4.1.3",
"vue-i18n": "^9.2.2",
"vue-json-pretty": "^2.2.2",
"vue-router": "^4.1.5",
"vue-types": "^4.2.1",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@commitlint/cli": "^17.0.3",
"@commitlint/config-conventional": "^17.0.3",
"@iconify/json": "^2.1.86",
"@commitlint/cli": "^17.1.2",
"@commitlint/config-conventional": "^17.1.0",
"@iconify/json": "^2.1.100",
"@purge-icons/generated": "^0.8.1",
"@types/codemirror": "^5.60.5",
"@types/crypto-js": "^4.1.1",
......@@ -104,16 +104,16 @@
"@types/intro.js": "^3.0.2",
"@types/lodash-es": "^4.17.6",
"@types/mockjs": "^1.0.6",
"@types/node": "^18.6.3",
"@types/node": "^18.7.14",
"@types/nprogress": "^0.2.0",
"@types/qrcode": "^1.4.2",
"@types/qrcode": "^1.5.0",
"@types/qs": "^6.9.7",
"@types/showdown": "^1.9.4",
"@types/sortablejs": "^1.13.0",
"@typescript-eslint/eslint-plugin": "^5.31.0",
"@typescript-eslint/parser": "^5.31.0",
"@vitejs/plugin-legacy": "^2.0.0",
"@vitejs/plugin-vue": "^3.0.1",
"@typescript-eslint/eslint-plugin": "^5.36.0",
"@typescript-eslint/parser": "^5.36.0",
"@vitejs/plugin-legacy": "^2.0.1",
"@vitejs/plugin-vue": "^3.0.3",
"@vitejs/plugin-vue-jsx": "^1.3.10",
"@vue/compiler-sfc": "3.2.31",
"@vue/test-utils": "^2.0.2",
......@@ -123,10 +123,10 @@
"cross-env": "^7.0.3",
"cz-conventional-changelog": "^3.3.0",
"dotenv": "^16.0.1",
"eslint": "^8.21.0",
"eslint": "^8.23.0",
"eslint-config-prettier": "^8.5.0",
"eslint-plugin-prettier": "^4.2.1",
"eslint-plugin-vue": "^9.3.0",
"eslint-plugin-vue": "^9.4.0",
"esno": "^0.14.1",
"fs-extra": "^10.1.0",
"husky": "^7.0.4",
......@@ -136,31 +136,29 @@
"npm-run-all": "^4.1.5",
"picocolors": "^1.0.0",
"pont-engine": "^1.3.3",
"postcss": "^8.4.14",
"postcss": "^8.4.16",
"postcss-html": "^1.5.0",
"postcss-less": "^6.0.0",
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"rollup": "^2.77.2",
"rollup-plugin-visualizer": "^5.7.1",
"rollup": "^2.78.1",
"rollup-plugin-visualizer": "^5.8.0",
"sort-package-json": "^1.57.0",
"stylelint": "^14.9.1",
"stylelint": "^14.11.0",
"stylelint-config-prettier": "^9.0.3",
"stylelint-config-recommended": "^8.0.0",
"stylelint-config-recommended-vue": "^1.4.0",
"stylelint-config-standard": "^26.0.0",
"stylelint-order": "^5.0.0",
"terser": "^5.14.2",
"terser": "^5.15.0",
"ts-node": "^10.9.1",
"typescript": "^4.7.4",
"typescript": "^4.8.2",
"unplugin-auto-import": "^0.10.3",
"vite": "^3.0.4",
"vite": "^3.0.9",
"vite-plugin-compression": "^0.5.1",
"vite-plugin-html": "^3.2.0",
"vite-plugin-mkcert": "^1.9.0",
"vite-plugin-mock": "^2.9.6",
"vite-plugin-optimize-persist": "^0.1.2",
"vite-plugin-package-config": "^0.1.1",
"vite-plugin-purge-icons": "^0.8.2",
"vite-plugin-pwa": "^0.12.3",
"vite-plugin-style-import": "^2.0.0",
......@@ -169,7 +167,7 @@
"vite-plugin-vue-setup-extend": "^0.4.0",
"vite-plugin-windicss": "^1.8.7",
"vue-eslint-parser": "^9.0.3",
"vue-tsc": "^0.40.1"
"vue-tsc": "^0.40.4"
},
"engines": {
"node": ">=14"
......
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -54,7 +54,7 @@
},
])
const version = `@${getEnvText()}: v${$app.version}`
const version = `${getEnvText()}@${$app.version} -> ${$app.lastBuildTime}`
function goHome() {
go(userStore.getUserInfo.homePath || PageEnum.BASE_HOME)
......
import { genMessage } from '../helper'
import antdLocale from 'ant-design-vue/es/locale/en_US'
const modules = import.meta.globEager('./en/**/*.ts')
const modules = import.meta.glob('./en/**/*.ts', { eager: true })
export default {
message: {
...genMessage(modules, 'en'),
......
import { genMessage } from '../helper'
import antdLocale from 'ant-design-vue/es/locale/zh_CN'
const modules = import.meta.globEager('./zh-CN/**/*.ts')
const modules = import.meta.glob('./zh-CN/**/*.ts', { eager: true })
export default {
message: {
...genMessage(modules, 'zh-CN'),
......
......@@ -10,12 +10,12 @@ import { router } from '/@/router'
import { PermissionModeEnum } from '/@/enums/appEnum'
import { pathToRegexp } from 'path-to-regexp'
const modules = import.meta.globEager('./modules/**/*.ts')
const modules = import.meta.glob('./modules/**/*.ts', { eager: true })
const menuModules: MenuModule[] = []
Object.keys(modules).forEach((key) => {
const mod = modules[key].default || {}
const mod = (modules as Recordable)[key].default || {}
const modList = Array.isArray(mod) ? [...mod] : [mod]
menuModules.push(...modList)
})
......
......@@ -5,12 +5,12 @@ import { PAGE_NOT_FOUND_ROUTE, REDIRECT_ROUTE } from '/@/router/routes/basic'
import { PageEnum } from '/@/enums/pageEnum'
import { t } from '/@/hooks/web/useI18n'
const modules = import.meta.globEager('./modules/**/*.ts')
const modules = import.meta.glob('./modules/**/*.ts', { eager: true })
const routeModuleList: AppRouteModule[] = []
Object.keys(modules).forEach((key) => {
const mod = modules[key].default || {}
const mod = (modules as Recordable)[key].default || {}
const modList = Array.isArray(mod) ? [...mod] : [mod]
routeModuleList.push(...modList)
})
......
......@@ -79,6 +79,8 @@ export default ({ command, mode }: ConfigEnv): UserConfig => {
// },
// },
// Turning off brotliSize display can slightly reduce packaging time
reportCompressedSize: false,
chunkSizeWarningLimit: 2000,
},
define: {
// setting vue-i18-next
......
{
"vite": {
"optimizeDeps": {
"include": [
"@ant-design/colors",
"@ant-design/icons-vue",
"@logicflow/core",
"@logicflow/extension",
"@vueuse/core",
"@vueuse/shared",
"@zxcvbn-ts/core",
"ant-design-vue",
"axios",
"codemirror",
"codemirror/mode/css/css",
"codemirror/mode/htmlmixed/htmlmixed",
"codemirror/mode/javascript/javascript",
"cropperjs",
"crypto-js/aes",
"crypto-js/enc-base64",
"crypto-js/enc-utf8",
"crypto-js/md5",
"crypto-js/mode-ecb",
"crypto-js/pad-pkcs7",
"dayjs",
"dayjs/locale/zh-cn",
"echarts",
"echarts/charts",
"echarts/components",
"echarts/core",
"echarts/renderers",
"intro.js",
"lodash-es",
"nprogress",
"path-to-regexp",
"pinia",
"print-js",
"qrcode",
"qs",
"resize-observer-polyfill",
"showdown",
"sortablejs",
"tinymce/icons/default/icons",
"tinymce/plugins/advlist",
"tinymce/plugins/anchor",
"tinymce/plugins/autolink",
"tinymce/plugins/autosave",
"tinymce/plugins/code",
"tinymce/plugins/codesample",
"tinymce/plugins/directionality",
"tinymce/plugins/fullscreen",
"tinymce/plugins/hr",
"tinymce/plugins/insertdatetime",
"tinymce/plugins/link",
"tinymce/plugins/lists",
"tinymce/plugins/media",
"tinymce/plugins/nonbreaking",
"tinymce/plugins/noneditable",
"tinymce/plugins/pagebreak",
"tinymce/plugins/paste",
"tinymce/plugins/preview",
"tinymce/plugins/print",
"tinymce/plugins/save",
"tinymce/plugins/searchreplace",
"tinymce/plugins/spellchecker",
"tinymce/plugins/tabfocus",
"tinymce/plugins/template",
"tinymce/plugins/textpattern",
"tinymce/plugins/visualblocks",
"tinymce/plugins/visualchars",
"tinymce/plugins/wordcount",
"tinymce/themes/silver",
"tinymce/tinymce",
"vditor",
"vite-plugin-theme/es/client",
"vite-plugin-theme/es/colorUtils",
"vue",
"vue-i18n",
"vue-json-pretty",
"vue-router",
"vue-types",
"xlsx"
]
}
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论