@gx-design-vue/create-gx-cli 0.0.5 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- package/package.json +1 -1
- package/src/cli.js +1 -1
- package/src/main.js +4 -0
- package/template-design-pro/.editorconfig +0 -19
- package/template-design-pro/.env +0 -2
- package/template-design-pro/.env.development +0 -18
- package/template-design-pro/.env.pro +0 -32
- package/template-design-pro/.env.production +0 -32
- package/template-design-pro/.env.test +0 -20
- package/template-design-pro/.eslintignore +0 -16
- package/template-design-pro/.eslintrc.js +0 -64
- package/template-design-pro/.gitpod.yml +0 -6
- package/template-design-pro/.husky/pre-commit +0 -4
- package/template-design-pro/.prettierignore +0 -9
- package/template-design-pro/.stylelintignore +0 -3
- package/template-design-pro/.yarnclean +0 -48
- package/template-design-pro/LICENSE +0 -21
- package/template-design-pro/README.md +0 -111
- package/template-design-pro/build/constant.ts +0 -6
- package/template-design-pro/build/generate/generateModifyVars.ts +0 -18
- package/template-design-pro/build/getConfigFileName.ts +0 -13
- package/template-design-pro/build/script/buildConf.ts +0 -44
- package/template-design-pro/build/script/postBuild.ts +0 -25
- package/template-design-pro/build/script/reSetRootHtml.ts +0 -20
- package/template-design-pro/build/utils.ts +0 -85
- package/template-design-pro/build/vite/cdn.ts +0 -7
- package/template-design-pro/build/vite/optimizer.ts +0 -22
- package/template-design-pro/build/vite/plugin/autoImport.ts +0 -18
- package/template-design-pro/build/vite/plugin/compress.ts +0 -35
- package/template-design-pro/build/vite/plugin/hmr.ts +0 -25
- package/template-design-pro/build/vite/plugin/html.ts +0 -47
- package/template-design-pro/build/vite/plugin/index.ts +0 -89
- package/template-design-pro/build/vite/plugin/mock.ts +0 -20
- package/template-design-pro/build/vite/plugin/pwa.ts +0 -37
- package/template-design-pro/build/vite/plugin/styleImport.ts +0 -129
- package/template-design-pro/build/vite/plugin/visualizer.ts +0 -17
- package/template-design-pro/build/vite/plugin/vite-plugin-antd-theme/index.ts +0 -24
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createMockServer.ts +0 -303
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/createProdMockServer.ts +0 -93
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/index.ts +0 -68
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/types.ts +0 -30
- package/template-design-pro/build/vite/plugin/vite-plugin-mock/utils.ts +0 -26
- package/template-design-pro/commitlint.config.js +0 -32
- package/template-design-pro/config/config.ts +0 -14
- package/template-design-pro/config/default/animate.ts +0 -30
- package/template-design-pro/config/default/defaultSettings.ts +0 -75
- package/template-design-pro/config/default/network.ts +0 -16
- package/template-design-pro/config/default/proxy.ts +0 -26
- package/template-design-pro/config/default/theme.ts +0 -43
- package/template-design-pro/config/default/themeColor.ts +0 -62
- package/template-design-pro/index.html +0 -45
- package/template-design-pro/jest.config.mjs +0 -36
- package/template-design-pro/mock/_createProductionServer.ts +0 -19
- package/template-design-pro/mock/_util.ts +0 -55
- package/template-design-pro/mock/controller/menu.ts +0 -85
- package/template-design-pro/mock/controller/notices.ts +0 -114
- package/template-design-pro/mock/system/dict.ts +0 -60
- package/template-design-pro/mock/system/user.ts +0 -218
- package/template-design-pro/package.json +0 -151
- package/template-design-pro/pnpm-lock.yaml +0 -9913
- package/template-design-pro/postcss.config.js +0 -5
- package/template-design-pro/prettier.config.js +0 -18
- package/template-design-pro/public/resource/css/index.css +0 -171
- package/template-design-pro/public/resource/img/favicon.ico +0 -0
- package/template-design-pro/public/resource/img/logo.png +0 -0
- package/template-design-pro/public/resource/img/pro_icon.svg +0 -5
- package/template-design-pro/public/resource/img/pwa-192x192.png +0 -0
- package/template-design-pro/public/resource/img/pwa-512x512.png +0 -0
- package/template-design-pro/src/App.vue +0 -47
- package/template-design-pro/src/assets/error_images/403.png +0 -0
- package/template-design-pro/src/assets/error_images/404.png +0 -0
- package/template-design-pro/src/assets/error_images/cloud.png +0 -0
- package/template-design-pro/src/assets/login_images/login_background.svg +0 -69
- package/template-design-pro/src/assets/logo.png +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.css +0 -94
- package/template-design-pro/src/assets/menu_font/iconfont.eot +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.js +0 -1
- package/template-design-pro/src/assets/menu_font/iconfont.json +0 -142
- package/template-design-pro/src/assets/menu_font/iconfont.svg +0 -57
- package/template-design-pro/src/assets/menu_font/iconfont.ttf +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff +0 -0
- package/template-design-pro/src/assets/menu_font/iconfont.woff2 +0 -0
- package/template-design-pro/src/assets/menu_font/index.less +0 -94
- package/template-design-pro/src/common/global.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.less +0 -80
- package/template-design-pro/src/components/GDesign/ProLayout/BasicLayout.tsx +0 -342
- package/template-design-pro/src/components/GDesign/ProLayout/PageLoading.tsx +0 -20
- package/template-design-pro/src/components/GDesign/ProLayout/RenderTypings.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/RouteContext.tsx +0 -82
- package/template-design-pro/src/components/GDesign/ProLayout/WrapContent.tsx +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalFooter/index.tsx +0 -88
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/DefaultHeader.tsx +0 -189
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/Header.less +0 -8
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/index.tsx +0 -105
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/props.ts +0 -69
- package/template-design-pro/src/components/GDesign/ProLayout/components/GlobalHeader/style.less +0 -144
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/index.tsx +0 -81
- package/template-design-pro/src/components/GDesign/ProLayout/components/LogoContent/props.ts +0 -29
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/index.tsx +0 -384
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/props.ts +0 -15
- package/template-design-pro/src/components/GDesign/ProLayout/components/MultiTab/style.less +0 -79
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeIcon.tsx +0 -148
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.module.less +0 -115
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/NoticeList.tsx +0 -154
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.less +0 -39
- package/template-design-pro/src/components/GDesign/ProLayout/components/NoticeIcon/index.tsx +0 -133
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/index.tsx +0 -190
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/props.ts +0 -48
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/style.less +0 -128
- package/template-design-pro/src/components/GDesign/ProLayout/components/PageContainer/typings.ts +0 -0
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/AvatarDropdown.tsx +0 -63
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/HeaderSearch.tsx +0 -122
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/headerSearch.less +0 -30
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/index.tsx +0 -95
- package/template-design-pro/src/components/GDesign/ProLayout/components/RightContent/style.less +0 -90
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/BlockCheckbox.tsx +0 -70
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/LayoutSetting.tsx +0 -107
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/ThemeColor.tsx +0 -68
- package/template-design-pro/src/components/GDesign/ProLayout/components/SettingDrawer/index.tsx +0 -346
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/BaseMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/SiderMenu.tsx +0 -224
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/index.tsx +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/props.ts +0 -112
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/style.less +0 -262
- package/template-design-pro/src/components/GDesign/ProLayout/components/SiderMenu/typings.ts +0 -44
- package/template-design-pro/src/components/GDesign/ProLayout/default.less +0 -2
- package/template-design-pro/src/components/GDesign/ProLayout/defaultSettings.ts +0 -121
- package/template-design-pro/src/components/GDesign/ProLayout/hooks/context/index.ts +0 -45
- package/template-design-pro/src/components/GDesign/ProLayout/index.ts +0 -43
- package/template-design-pro/src/components/GDesign/ProLayout/props.ts +0 -57
- package/template-design-pro/src/components/GDesign/ProLayout/style.less +0 -272
- package/template-design-pro/src/components/GDesign/ProLayout/typings.ts +0 -1
- package/template-design-pro/src/components/GDesign/ProLayout/utils/getMenuData.ts +0 -31
- package/template-design-pro/src/components/GDesign/ProLayout/utils/index.ts +0 -94
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isImg/index.ts +0 -6
- package/template-design-pro/src/components/GDesign/ProLayout/utils/isUrl/index.ts +0 -5
- package/template-design-pro/src/components/GDesign/Result/index.tsx +0 -142
- package/template-design-pro/src/components/GDesign/Result/style.less +0 -140
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/index.tsx +0 -56
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Bar/props.ts +0 -23
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/index.tsx +0 -164
- package/template-design-pro/src/components/GDesign/Scrollbars/components/Thumb/props.ts +0 -11
- package/template-design-pro/src/components/GDesign/Scrollbars/context.ts +0 -10
- package/template-design-pro/src/components/GDesign/Scrollbars/index.tsx +0 -200
- package/template-design-pro/src/components/GDesign/Scrollbars/props.ts +0 -65
- package/template-design-pro/src/components/GDesign/Scrollbars/style.less +0 -85
- package/template-design-pro/src/components/GDesign/Scrollbars/util.ts +0 -40
- package/template-design-pro/src/components/GDesign/utils/index.ts +0 -7
- package/template-design-pro/src/components/PageLoading/index.tsx +0 -44
- package/template-design-pro/src/components/PageTransition/index.vue +0 -98
- package/template-design-pro/src/components/index.ts +0 -6
- package/template-design-pro/src/core/ant-design/index.ts +0 -14
- package/template-design-pro/src/core/gx-admin-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-admin-directives/index.ts +0 -8
- package/template-design-pro/src/core/gx-admin-directives/permission.ts +0 -28
- package/template-design-pro/src/core/gx-design/index.ts +0 -7
- package/template-design-pro/src/core/gx-pro-design/index.ts +0 -10
- package/template-design-pro/src/core/index.ts +0 -27
- package/template-design-pro/src/design/ant-design/index.less +0 -4
- package/template-design-pro/src/design/ant-design/layout.less +0 -29
- package/template-design-pro/src/design/ant-design/menu.less +0 -55
- package/template-design-pro/src/design/ant-design/table.less +0 -67
- package/template-design-pro/src/design/ant-design/tooltip.less +0 -13
- package/template-design-pro/src/design/color.less +0 -1
- package/template-design-pro/src/design/config.less +0 -5
- package/template-design-pro/src/design/index.less +0 -41
- package/template-design-pro/src/design/mixin.less +0 -66
- package/template-design-pro/src/design/normalize.less +0 -390
- package/template-design-pro/src/global.less +0 -15
- package/template-design-pro/src/hooks/core/index.ts +0 -3
- package/template-design-pro/src/hooks/core/useRequest/index.ts +0 -70
- package/template-design-pro/src/hooks/core/useRequest/typings.ts +0 -0
- package/template-design-pro/src/hooks/event/index.ts +0 -3
- package/template-design-pro/src/hooks/event/useClipboard.ts +0 -14
- package/template-design-pro/src/hooks/system/index.ts +0 -5
- package/template-design-pro/src/hooks/system/useDict.ts +0 -62
- package/template-design-pro/src/hooks/system/usePermissions.ts +0 -39
- package/template-design-pro/src/hooks/typings.ts +0 -17
- package/template-design-pro/src/layout/BasicLayout.vue +0 -104
- package/template-design-pro/src/layout/BlankLayout.vue +0 -5
- package/template-design-pro/src/layout/ContentView.vue +0 -76
- package/template-design-pro/src/layout/IframeView.vue +0 -1
- package/template-design-pro/src/layout/UserLayout.vue +0 -7
- package/template-design-pro/src/main.ts +0 -34
- package/template-design-pro/src/plugins/index.ts +0 -3
- package/template-design-pro/src/router/guard/index.ts +0 -84
- package/template-design-pro/src/router/guard/permissions.ts +0 -73
- package/template-design-pro/src/router/guard/stateGuard.ts +0 -11
- package/template-design-pro/src/router/helper/routeHelper.ts +0 -244
- package/template-design-pro/src/router/helper/utils.ts +0 -19
- package/template-design-pro/src/router/index.ts +0 -30
- package/template-design-pro/src/router/routes/index.ts +0 -85
- package/template-design-pro/src/router/routes/modules/workplace.ts +0 -19
- package/template-design-pro/src/services/common/index.ts +0 -11
- package/template-design-pro/src/services/controller/router.ts +0 -10
- package/template-design-pro/src/services/controller/user.ts +0 -35
- package/template-design-pro/src/services/system/dictData.ts +0 -10
- package/template-design-pro/src/services/system/notices.ts +0 -9
- package/template-design-pro/src/store/index.ts +0 -32
- package/template-design-pro/src/store/modules/dict.ts +0 -27
- package/template-design-pro/src/store/modules/permission.ts +0 -19
- package/template-design-pro/src/store/modules/routes.ts +0 -110
- package/template-design-pro/src/store/modules/settings.ts +0 -102
- package/template-design-pro/src/store/modules/tabsRouter.ts +0 -73
- package/template-design-pro/src/store/modules/user.ts +0 -153
- package/template-design-pro/src/utils/accessToken.ts +0 -93
- package/template-design-pro/src/utils/crypto.ts +0 -39
- package/template-design-pro/src/utils/env.ts +0 -52
- package/template-design-pro/src/utils/fetchFile.ts +0 -79
- package/template-design-pro/src/utils/index.ts +0 -127
- package/template-design-pro/src/utils/pageTitle.ts +0 -17
- package/template-design-pro/src/utils/request/XHR.ts +0 -131
- package/template-design-pro/src/utils/request/axiosCancel.ts +0 -60
- package/template-design-pro/src/utils/request/checkStatus.ts +0 -26
- package/template-design-pro/src/utils/request/index.ts +0 -145
- package/template-design-pro/src/utils/request/typings.ts +0 -114
- package/template-design-pro/src/utils/storage.ts +0 -194
- package/template-design-pro/src/utils/uploadFile.ts +0 -26
- package/template-design-pro/src/utils/util.ts +0 -278
- package/template-design-pro/src/utils/validate.ts +0 -221
- package/template-design-pro/src/views/Iframe/index.vue +0 -76
- package/template-design-pro/src/views/MenuOne/index.vue +0 -15
- package/template-design-pro/src/views/MenuTwo/index.vue +0 -13
- package/template-design-pro/src/views/exception/403/index.vue +0 -9
- package/template-design-pro/src/views/exception/404/index.vue +0 -9
- package/template-design-pro/src/views/user/login/index.vue +0 -110
- package/template-design-pro/src/views/user/login/style.less +0 -38
- package/template-design-pro/stylelint.config.js +0 -106
- package/template-design-pro/tests/__mocks__/fileMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/styleMock.ts +0 -1
- package/template-design-pro/tests/__mocks__/workerMock.ts +0 -5
- package/template-design-pro/tests/server/README.md +0 -15
- package/template-design-pro/tests/server/controller/FileController.ts +0 -18
- package/template-design-pro/tests/server/controller/UserController.ts +0 -15
- package/template-design-pro/tests/server/ecosystem.config.js +0 -18
- package/template-design-pro/tests/server/index.ts +0 -63
- package/template-design-pro/tests/server/nodemon.json +0 -8
- package/template-design-pro/tests/server/package.json +0 -36
- package/template-design-pro/tests/server/routes.ts +0 -23
- package/template-design-pro/tests/server/service/FileService.ts +0 -54
- package/template-design-pro/tests/server/service/UserService.ts +0 -25
- package/template-design-pro/tests/server/tsconfig.json +0 -15
- package/template-design-pro/tests/server/utils.ts +0 -9
- package/template-design-pro/tests/server/yarn.lock +0 -2955
- package/template-design-pro/tests/test.spec.ts +0 -16
- package/template-design-pro/tsconfig.json +0 -47
- package/template-design-pro/types/auto-imports.d.ts +0 -61
- package/template-design-pro/types/config.d.ts +0 -100
- package/template-design-pro/types/global.d.ts +0 -103
- package/template-design-pro/types/gx-components.d.ts +0 -24
- package/template-design-pro/types/index.d.ts +0 -13
- package/template-design-pro/types/mock.d.ts +0 -23
- package/template-design-pro/types/module.d.ts +0 -16
- package/template-design-pro/types/response.d.ts +0 -15
- package/template-design-pro/types/route.d.ts +0 -89
- package/template-design-pro/vite.config.ts +0 -136
- package/template-design-pro/yarn.lock +0 -9697
@@ -1,22 +0,0 @@
|
|
1
|
-
import type { GetManualChunk } from 'rollup'
|
2
|
-
|
3
|
-
const vendorLibs: { match: string[]; output: string }[] = [
|
4
|
-
{
|
5
|
-
match: ['ant-design-vue'],
|
6
|
-
output: 'ant-design-vue',
|
7
|
-
},
|
8
|
-
{
|
9
|
-
match: ['@gx-design-vue/pro-table'],
|
10
|
-
output: 'pro-table',
|
11
|
-
},
|
12
|
-
]
|
13
|
-
|
14
|
-
export const configManualChunk: GetManualChunk = (id: string) => {
|
15
|
-
if (/[\\/]node_modules[\\/]/.test(id)) {
|
16
|
-
const matchItem = vendorLibs.find((item) => {
|
17
|
-
const reg = new RegExp(`[\\/]node_modules[\\/]_?(${item.match.join('|')})(.*)`, 'ig')
|
18
|
-
return reg.test(id)
|
19
|
-
})
|
20
|
-
return matchItem ? matchItem.output : null
|
21
|
-
}
|
22
|
-
}
|
@@ -1,18 +0,0 @@
|
|
1
|
-
import autoImport from 'unplugin-auto-import/vite'
|
2
|
-
|
3
|
-
export function createAutoImport() {
|
4
|
-
return [
|
5
|
-
autoImport({
|
6
|
-
include: [
|
7
|
-
/\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
|
8
|
-
/\.vue$/, /\.vue\?vue/, // .vue
|
9
|
-
/\.md$/, // .md
|
10
|
-
],
|
11
|
-
imports: [
|
12
|
-
'vue',
|
13
|
-
'vue-router'
|
14
|
-
],
|
15
|
-
dts: 'types/auto-imports.d.ts'
|
16
|
-
})
|
17
|
-
]
|
18
|
-
}
|
@@ -1,35 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Used to package and output gzip. Note that this does not work properly in Vite, the specific reason is still being investigated
|
3
|
-
* https://github.com/anncwb/vite-plugin-compression
|
4
|
-
*/
|
5
|
-
import type { Plugin } from 'vite'
|
6
|
-
|
7
|
-
import compressPlugin from 'vite-plugin-compression'
|
8
|
-
|
9
|
-
export function configCompressPlugin(
|
10
|
-
compress: 'gzip' | 'brotli' | 'none',
|
11
|
-
deleteOriginFile = false
|
12
|
-
): Plugin | Plugin[] {
|
13
|
-
const compressList = compress.split(',')
|
14
|
-
|
15
|
-
const plugins: Plugin[] = []
|
16
|
-
|
17
|
-
if (compressList.includes('gzip')) {
|
18
|
-
plugins.push(
|
19
|
-
compressPlugin({
|
20
|
-
ext: '.gz',
|
21
|
-
deleteOriginFile
|
22
|
-
})
|
23
|
-
)
|
24
|
-
}
|
25
|
-
if (compressList.includes('brotli')) {
|
26
|
-
plugins.push(
|
27
|
-
compressPlugin({
|
28
|
-
ext: '.br',
|
29
|
-
algorithm: 'brotliCompress',
|
30
|
-
deleteOriginFile
|
31
|
-
})
|
32
|
-
)
|
33
|
-
}
|
34
|
-
return plugins
|
35
|
-
}
|
@@ -1,25 +0,0 @@
|
|
1
|
-
import type { Plugin } from 'vite'
|
2
|
-
|
3
|
-
/**
|
4
|
-
* TODO
|
5
|
-
* Temporarily solve the Vite circular dependency problem, and wait for a better solution to fix it later. I don't know what problems this writing will bring.
|
6
|
-
* @returns
|
7
|
-
*/
|
8
|
-
|
9
|
-
export function configHmrPlugin(): Plugin {
|
10
|
-
return {
|
11
|
-
name: 'singleHMR',
|
12
|
-
handleHotUpdate({ modules, file }) {
|
13
|
-
if (file.match(/xml$/)) return []
|
14
|
-
|
15
|
-
modules.forEach((m) => {
|
16
|
-
if (!m.url.match(/\.(css|less)/)) {
|
17
|
-
m.importedModules = new Set()
|
18
|
-
m.importers = new Set()
|
19
|
-
}
|
20
|
-
})
|
21
|
-
|
22
|
-
return modules
|
23
|
-
}
|
24
|
-
}
|
25
|
-
}
|
@@ -1,47 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Plugin to minimize and use ejs template syntax in index.html.
|
3
|
-
* https://github.com/anncwb/vite-plugin-html
|
4
|
-
*/
|
5
|
-
import { PluginOption } from 'vite'
|
6
|
-
|
7
|
-
import { createHtmlPlugin } from 'vite-plugin-html'
|
8
|
-
|
9
|
-
import pkg from '../../../package.json'
|
10
|
-
import { GLOB_CONFIG_FILE_NAME } from '../../constant'
|
11
|
-
import config from '../../../config/config'
|
12
|
-
import { cdnConf } from '../cdn'
|
13
|
-
|
14
|
-
const { title, publicPath, useCdn } = config.defaultSettings
|
15
|
-
|
16
|
-
export function configHtmlPlugin(_: ViteEnv, isBuild: boolean) {
|
17
|
-
|
18
|
-
const path = publicPath.endsWith('/') ? publicPath : `${publicPath}/`
|
19
|
-
|
20
|
-
const getAppConfigSrc = () => {
|
21
|
-
return `${path || '/'}${GLOB_CONFIG_FILE_NAME}?v=${pkg.version}-${new Date().getTime()}`
|
22
|
-
}
|
23
|
-
|
24
|
-
const htmlPlugin: PluginOption[] = createHtmlPlugin({
|
25
|
-
minify: isBuild,
|
26
|
-
inject: {
|
27
|
-
// Inject data into ejs template
|
28
|
-
data: {
|
29
|
-
VUE_APP_TITLE: title || 'GX Pro Admin',
|
30
|
-
injectScript: useCdn ? cdnConf.js : [],
|
31
|
-
injectLink: useCdn ? cdnConf.css : [],
|
32
|
-
},
|
33
|
-
// Embed the generated app.config.js file
|
34
|
-
tags: isBuild
|
35
|
-
? [
|
36
|
-
{
|
37
|
-
tag: 'script',
|
38
|
-
attrs: {
|
39
|
-
src: getAppConfigSrc()
|
40
|
-
}
|
41
|
-
}
|
42
|
-
]
|
43
|
-
: []
|
44
|
-
}
|
45
|
-
})
|
46
|
-
return htmlPlugin
|
47
|
-
}
|
@@ -1,89 +0,0 @@
|
|
1
|
-
import type { Plugin, PluginOption } from 'vite'
|
2
|
-
|
3
|
-
import vue from '@vitejs/plugin-vue'
|
4
|
-
import vueJsx from '@vitejs/plugin-vue-jsx'
|
5
|
-
import legacy from '@vitejs/plugin-legacy'
|
6
|
-
|
7
|
-
import vueSetupExtend from 'vite-plugin-vue-setup-extend'
|
8
|
-
|
9
|
-
import { presetAttributify, presetUno, transformerDirectives } from 'unocss'
|
10
|
-
import Unocss from 'unocss/vite'
|
11
|
-
|
12
|
-
import { configHtmlPlugin } from './html'
|
13
|
-
import { configPwaConfig } from './pwa'
|
14
|
-
import { configMockPlugin } from './mock'
|
15
|
-
import { createAutoImport } from './autoImport'
|
16
|
-
import { configCompressPlugin } from './compress'
|
17
|
-
import { configStyleImportPlugin } from './styleImport'
|
18
|
-
import { configVisualizerConfig } from './visualizer'
|
19
|
-
import { configHmrPlugin } from './hmr'
|
20
|
-
import createAntdVariableTheme from './vite-plugin-antd-theme'
|
21
|
-
|
22
|
-
export function createVitePlugins(viteEnv: ViteEnv, isBuild: boolean) {
|
23
|
-
const {
|
24
|
-
VITE_APP_ENV,
|
25
|
-
VITE_USE_THEME,
|
26
|
-
VITE_USE_MOCK,
|
27
|
-
VITE_LEGACY,
|
28
|
-
VITE_BUILD_COMPRESS,
|
29
|
-
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE
|
30
|
-
} = viteEnv
|
31
|
-
|
32
|
-
const isDev = VITE_APP_ENV === 'dev'
|
33
|
-
|
34
|
-
const vitePlugins: (Plugin | PluginOption[])[] = [
|
35
|
-
// have to
|
36
|
-
vue(),
|
37
|
-
// have to
|
38
|
-
vueJsx()
|
39
|
-
]
|
40
|
-
|
41
|
-
// vite-plugin-windicss
|
42
|
-
vitePlugins.push(Unocss({
|
43
|
-
presets: [
|
44
|
-
presetAttributify(),
|
45
|
-
presetUno()
|
46
|
-
],
|
47
|
-
transformers: [ transformerDirectives() ]
|
48
|
-
}))
|
49
|
-
|
50
|
-
// vite-plugin-vue-setup-extend
|
51
|
-
vitePlugins.push(vueSetupExtend())
|
52
|
-
|
53
|
-
!isBuild && vitePlugins.push(configHmrPlugin())
|
54
|
-
|
55
|
-
// @vitejs/plugin-legacy
|
56
|
-
VITE_LEGACY && isBuild && vitePlugins.push(legacy())
|
57
|
-
|
58
|
-
// vite-plugin-html
|
59
|
-
vitePlugins.push(configHtmlPlugin(viteEnv, isBuild))
|
60
|
-
|
61
|
-
// vite-plugin-antd-theme
|
62
|
-
vitePlugins.push(createAntdVariableTheme(VITE_USE_THEME))
|
63
|
-
|
64
|
-
// vite-plugin-style-import
|
65
|
-
vitePlugins.push(configStyleImportPlugin(VITE_USE_THEME))
|
66
|
-
|
67
|
-
// vite-plugin-mock
|
68
|
-
const useMock = isDev || VITE_USE_MOCK
|
69
|
-
useMock && vitePlugins.push(configMockPlugin(isBuild))
|
70
|
-
|
71
|
-
// rollup-plugin-visualizer
|
72
|
-
vitePlugins.push(configVisualizerConfig())
|
73
|
-
|
74
|
-
// unplugin-auto-import/vite
|
75
|
-
vitePlugins.push(createAutoImport())
|
76
|
-
|
77
|
-
// The following plugins only work in the production environment
|
78
|
-
if (isBuild) {
|
79
|
-
// rollup-plugin-gzip
|
80
|
-
vitePlugins.push(
|
81
|
-
configCompressPlugin(VITE_BUILD_COMPRESS, VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE)
|
82
|
-
)
|
83
|
-
|
84
|
-
// vite-plugin-pwa
|
85
|
-
vitePlugins.push(configPwaConfig(viteEnv))
|
86
|
-
}
|
87
|
-
|
88
|
-
return vitePlugins
|
89
|
-
}
|
@@ -1,20 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Mock plugin for development and production.
|
3
|
-
* https://github.com/anncwb/vite-plugin-mock
|
4
|
-
*/
|
5
|
-
import { viteMockServe } from './vite-plugin-mock'
|
6
|
-
|
7
|
-
export function configMockPlugin(isBuild: boolean) {
|
8
|
-
return viteMockServe({
|
9
|
-
ignore: /^\_/,
|
10
|
-
mockPath: 'mock',
|
11
|
-
watchFiles: true,
|
12
|
-
localEnabled: !isBuild,
|
13
|
-
prodEnabled: isBuild,
|
14
|
-
injectCode: `
|
15
|
-
import { setupProdMockServer } from '../mock/_createProductionServer';
|
16
|
-
|
17
|
-
setupProdMockServer();
|
18
|
-
`
|
19
|
-
})
|
20
|
-
}
|
@@ -1,37 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Zero-config PWA for Vite
|
3
|
-
* https://github.com/antfu/vite-plugin-pwa
|
4
|
-
*/
|
5
|
-
|
6
|
-
import { VitePWA } from 'vite-plugin-pwa'
|
7
|
-
|
8
|
-
import config from '../../../config/config'
|
9
|
-
|
10
|
-
export function configPwaConfig(env: ViteEnv) {
|
11
|
-
const { title, shortName } = config.defaultSettings
|
12
|
-
const { VITE_USE_PWA } = env
|
13
|
-
|
14
|
-
if (VITE_USE_PWA) {
|
15
|
-
// vite-plugin-pwa
|
16
|
-
const pwaPlugin = VitePWA({
|
17
|
-
manifest: {
|
18
|
-
name: title || 'GX Pro Admin',
|
19
|
-
short_name: shortName || 'gx_pro_admin',
|
20
|
-
icons: [
|
21
|
-
{
|
22
|
-
src: './resource/img/pwa-192x192.png',
|
23
|
-
sizes: '192x192',
|
24
|
-
type: 'image/png'
|
25
|
-
},
|
26
|
-
{
|
27
|
-
src: './resource/img/pwa-512x512.png',
|
28
|
-
sizes: '512x512',
|
29
|
-
type: 'image/png'
|
30
|
-
}
|
31
|
-
]
|
32
|
-
}
|
33
|
-
})
|
34
|
-
return pwaPlugin
|
35
|
-
}
|
36
|
-
return []
|
37
|
-
}
|
@@ -1,129 +0,0 @@
|
|
1
|
-
import { createStyleImportPlugin } from 'vite-plugin-style-import'
|
2
|
-
|
3
|
-
const component = [
|
4
|
-
{
|
5
|
-
name: 'g-pro-table',
|
6
|
-
lib: 'pro-table',
|
7
|
-
styleName: 'proTable'
|
8
|
-
},
|
9
|
-
{
|
10
|
-
name: 'g-swiper',
|
11
|
-
lib: 'swiper',
|
12
|
-
styleName: 'style'
|
13
|
-
},
|
14
|
-
{
|
15
|
-
name: 'g-image',
|
16
|
-
lib: 'image',
|
17
|
-
styleName: 'style'
|
18
|
-
},
|
19
|
-
{
|
20
|
-
name: 'g-color',
|
21
|
-
lib: 'color-picker',
|
22
|
-
styleName: 'colorPicker'
|
23
|
-
},
|
24
|
-
{
|
25
|
-
name: 'g-pro-field',
|
26
|
-
lib: 'pro-field',
|
27
|
-
styleName: 'proField'
|
28
|
-
},
|
29
|
-
{
|
30
|
-
name: 'g-pro-card',
|
31
|
-
lib: 'pro-card',
|
32
|
-
styleName: 'proCard'
|
33
|
-
},
|
34
|
-
{
|
35
|
-
name: 'g-pro-modal',
|
36
|
-
lib: 'pro-modal',
|
37
|
-
styleName: 'proModal'
|
38
|
-
},
|
39
|
-
{
|
40
|
-
name: 'g-pro-form',
|
41
|
-
lib: 'pro-form',
|
42
|
-
styleName: 'proForm'
|
43
|
-
}
|
44
|
-
]
|
45
|
-
|
46
|
-
export function configStyleImportPlugin(isUseTheme: boolean) {
|
47
|
-
const styleImportPlugin = createStyleImportPlugin({
|
48
|
-
libs: [
|
49
|
-
isUseTheme ? {
|
50
|
-
libraryName: ''
|
51
|
-
} : {
|
52
|
-
libraryName: 'ant-design-vue',
|
53
|
-
esModule: true,
|
54
|
-
resolveStyle: (name) => {
|
55
|
-
// 这里是无需额外引入样式文件的“子组件”列表
|
56
|
-
const ignoreList = [
|
57
|
-
'anchor-link',
|
58
|
-
'sub-menu',
|
59
|
-
'menu-item',
|
60
|
-
'menu-divider',
|
61
|
-
'menu-item-group',
|
62
|
-
'breadcrumb-item',
|
63
|
-
'breadcrumb-separator',
|
64
|
-
'form-item',
|
65
|
-
'step',
|
66
|
-
'select-option',
|
67
|
-
'select-opt-group',
|
68
|
-
'card-grid',
|
69
|
-
'card-meta',
|
70
|
-
'collapse-panel',
|
71
|
-
'descriptions-item',
|
72
|
-
'list-item',
|
73
|
-
'list-item-meta',
|
74
|
-
'table-column',
|
75
|
-
'table-column-group',
|
76
|
-
'tab-pane',
|
77
|
-
'tab-content',
|
78
|
-
'timeline-item',
|
79
|
-
'tree-node',
|
80
|
-
'skeleton-input',
|
81
|
-
'skeleton-avatar',
|
82
|
-
'skeleton-title',
|
83
|
-
'skeleton-paragraph',
|
84
|
-
'skeleton-image',
|
85
|
-
'skeleton-button'
|
86
|
-
]
|
87
|
-
// 这里是需要额外引入样式的子组件列表
|
88
|
-
// 单独引入子组件时需引入组件样式,否则会在打包后导致子组件样式丢失
|
89
|
-
const replaceList = {
|
90
|
-
'typography-text': 'typography',
|
91
|
-
'typography-title': 'typography',
|
92
|
-
'typography-paragraph': 'typography',
|
93
|
-
'typography-link': 'typography',
|
94
|
-
'dropdown-button': 'dropdown',
|
95
|
-
'input-password': 'input',
|
96
|
-
'input-search': 'input',
|
97
|
-
'input-group': 'input',
|
98
|
-
'radio-group': 'radio',
|
99
|
-
'checkbox-group': 'checkbox',
|
100
|
-
'layout-sider': 'layout',
|
101
|
-
'layout-content': 'layout',
|
102
|
-
'layout-footer': 'layout',
|
103
|
-
'layout-header': 'layout',
|
104
|
-
'month-picker': 'date-picker',
|
105
|
-
'range-picker': 'date-picker',
|
106
|
-
'image-preview-group': 'image'
|
107
|
-
}
|
108
|
-
|
109
|
-
return ignoreList.includes(name)
|
110
|
-
? ''
|
111
|
-
: replaceList.hasOwnProperty(name)
|
112
|
-
? `ant-design-vue/es/${replaceList[name]}/style/index`
|
113
|
-
: `ant-design-vue/es/${name}/style/index`
|
114
|
-
}
|
115
|
-
}
|
116
|
-
].concat(component.map(item => {
|
117
|
-
return {
|
118
|
-
libraryName: `@gx-design-vue/${item.lib}`,
|
119
|
-
esModule: true,
|
120
|
-
resolveStyle: (name) => {
|
121
|
-
if (name)
|
122
|
-
return `@gx-design-vue/${item.lib}/dist/${item.styleName}.less`
|
123
|
-
return ''
|
124
|
-
}
|
125
|
-
}
|
126
|
-
}))
|
127
|
-
})
|
128
|
-
return styleImportPlugin
|
129
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Package file volume analysis
|
3
|
-
*/
|
4
|
-
import visualizer from 'rollup-plugin-visualizer'
|
5
|
-
import { isReportMode } from '../../utils'
|
6
|
-
|
7
|
-
export function configVisualizerConfig() {
|
8
|
-
if (isReportMode()) {
|
9
|
-
return visualizer({
|
10
|
-
filename: './node_modules/.cache/visualizer/stats.html',
|
11
|
-
open: true,
|
12
|
-
gzipSize: true,
|
13
|
-
brotliSize: true
|
14
|
-
}) as Plugin
|
15
|
-
}
|
16
|
-
return []
|
17
|
-
}
|
@@ -1,24 +0,0 @@
|
|
1
|
-
import type { Plugin } from 'vite'
|
2
|
-
import { normalizePath } from 'vite'
|
3
|
-
import { getDefaultPath, fileExists } from '../../../utils'
|
4
|
-
|
5
|
-
export default function createAntdVariableTheme(useTheme): Plugin {
|
6
|
-
let defaultPath = getDefaultPath()
|
7
|
-
if (!fileExists(defaultPath)) {
|
8
|
-
defaultPath = getDefaultPath(false)
|
9
|
-
if (!fileExists(defaultPath)) {
|
10
|
-
defaultPath = ''
|
11
|
-
}
|
12
|
-
}
|
13
|
-
const defaultEnter = normalizePath(defaultPath)
|
14
|
-
return {
|
15
|
-
name: 'vite:antd-variable-theme',
|
16
|
-
enforce: 'pre',
|
17
|
-
async transform(code: string, id: string) {
|
18
|
-
if (!id.endsWith(defaultEnter) || !useTheme) return null
|
19
|
-
return {
|
20
|
-
code: `${code}\nimport('ant-design-vue/dist/antd.variable.min.css')`
|
21
|
-
}
|
22
|
-
}
|
23
|
-
}
|
24
|
-
}
|