@gx-design-vue/create-gx-cli 0.1.12 → 0.1.14
Sign up to get free protection for your applications and to get access to all the features.
- package/bin/create-gx-cli +3 -2
- package/package.json +4 -4
- package/src/cli.js +9 -7
- package/src/git.js +8 -5
- package/src/main.js +29 -16
- package/template-mobile-vant-cli/package.json +5 -5
- package/template-gx-design-thin/.editorconfig +0 -19
- package/template-gx-design-thin/.env +0 -4
- package/template-gx-design-thin/.env.development +0 -15
- package/template-gx-design-thin/.env.production +0 -28
- package/template-gx-design-thin/.eslintignore +0 -16
- package/template-gx-design-thin/.prettierignore +0 -9
- package/template-gx-design-thin/LICENSE +0 -21
- package/template-gx-design-thin/README.md +0 -112
- package/template-gx-design-thin/build/constant.ts +0 -1
- package/template-gx-design-thin/build/generate/generateModifyVars.ts +0 -14
- package/template-gx-design-thin/build/rollupOptions/index.ts +0 -22
- package/template-gx-design-thin/build/util/hash.ts +0 -17
- package/template-gx-design-thin/build/util/index.ts +0 -131
- package/template-gx-design-thin/build/vite/cdn.ts +0 -63
- package/template-gx-design-thin/build/vite/optimizer.ts +0 -26
- package/template-gx-design-thin/build/vite/plugin/appConfig.ts +0 -91
- package/template-gx-design-thin/build/vite/plugin/autoImport.ts +0 -26
- package/template-gx-design-thin/build/vite/plugin/compress.ts +0 -31
- package/template-gx-design-thin/build/vite/plugin/html.ts +0 -39
- package/template-gx-design-thin/build/vite/plugin/index.ts +0 -75
- package/template-gx-design-thin/build/vite/plugin/mock.ts +0 -14
- package/template-gx-design-thin/build/vite/plugin/pwa.ts +0 -31
- package/template-gx-design-thin/build/vite/plugin/visualizer.ts +0 -14
- package/template-gx-design-thin/build/vite/plugin/viteMock/client.ts +0 -88
- package/template-gx-design-thin/build/vite/plugin/viteMock/createMockServer.ts +0 -271
- package/template-gx-design-thin/build/vite/plugin/viteMock/index.ts +0 -69
- package/template-gx-design-thin/build/vite/plugin/viteMock/types.ts +0 -48
- package/template-gx-design-thin/build/vite/plugin/viteMock/utils.ts +0 -48
- package/template-gx-design-thin/build/vite/plugin/viteNotice.ts +0 -40
- package/template-gx-design-thin/commitlint.config.cjs +0 -32
- package/template-gx-design-thin/config/default/defaultSettings.ts +0 -78
- package/template-gx-design-thin/config/default/network.ts +0 -10
- package/template-gx-design-thin/config/default/proxy.ts +0 -47
- package/template-gx-design-thin/config/default/theme.ts +0 -3
- package/template-gx-design-thin/config/index.ts +0 -11
- package/template-gx-design-thin/eslint.config.js +0 -51
- package/template-gx-design-thin/index.html +0 -42
- package/template-gx-design-thin/mock/_createProductionServer.ts +0 -19
- package/template-gx-design-thin/mock/_util.ts +0 -33
- package/template-gx-design-thin/mock/config/menu.ts +0 -21
- package/template-gx-design-thin/mock/config/user.ts +0 -123
- package/template-gx-design-thin/mock/datasSource/system/menu.ts +0 -10
- package/template-gx-design-thin/mock/datasSource/user/account.ts +0 -30
- package/template-gx-design-thin/mock/datasSource/user/index.ts +0 -47
- package/template-gx-design-thin/mock/util/crypto.ts +0 -23
- package/template-gx-design-thin/mock/util/table.ts +0 -92
- package/template-gx-design-thin/mock/util/utils.ts +0 -73
- package/template-gx-design-thin/package.json +0 -129
- package/template-gx-design-thin/pnpm-lock.yaml +0 -12575
- package/template-gx-design-thin/prettier.config.cjs +0 -18
- package/template-gx-design-thin/public/resource/css/index.css +0 -119
- package/template-gx-design-thin/public/resource/css/normalize.css +0 -396
- package/template-gx-design-thin/public/resource/img/favicon.ico +0 -0
- package/template-gx-design-thin/public/resource/img/logo.png +0 -0
- package/template-gx-design-thin/public/resource/img/pro_icon.svg +0 -1
- package/template-gx-design-thin/public/resource/img/pwa-192x192.png +0 -0
- package/template-gx-design-thin/public/resource/img/pwa-512x512.png +0 -0
- package/template-gx-design-thin/src/App.vue +0 -42
- package/template-gx-design-thin/src/assets/error_images/403.png +0 -0
- package/template-gx-design-thin/src/assets/error_images/404.png +0 -0
- package/template-gx-design-thin/src/assets/error_images/cloud.png +0 -0
- package/template-gx-design-thin/src/assets/login_images/login_background.svg +0 -1
- package/template-gx-design-thin/src/assets/logo.png +0 -0
- package/template-gx-design-thin/src/assets/menu_font/iconfont.css +0 -94
- package/template-gx-design-thin/src/assets/menu_font/iconfont.eot +0 -0
- package/template-gx-design-thin/src/assets/menu_font/iconfont.js +0 -1
- package/template-gx-design-thin/src/assets/menu_font/iconfont.json +0 -142
- package/template-gx-design-thin/src/assets/menu_font/iconfont.svg +0 -1
- package/template-gx-design-thin/src/assets/menu_font/iconfont.ttf +0 -0
- package/template-gx-design-thin/src/assets/menu_font/iconfont.woff +0 -0
- package/template-gx-design-thin/src/assets/menu_font/iconfont.woff2 +0 -0
- package/template-gx-design-thin/src/assets/menu_font/index.less +0 -94
- package/template-gx-design-thin/src/assets/public_icon/iconfont.css +0 -42
- package/template-gx-design-thin/src/assets/public_icon/iconfont.eot +0 -0
- package/template-gx-design-thin/src/assets/public_icon/iconfont.js +0 -1
- package/template-gx-design-thin/src/assets/public_icon/iconfont.json +0 -51
- package/template-gx-design-thin/src/assets/public_icon/iconfont.svg +0 -1
- package/template-gx-design-thin/src/assets/public_icon/iconfont.ttf +0 -0
- package/template-gx-design-thin/src/assets/public_icon/iconfont.woff +0 -0
- package/template-gx-design-thin/src/assets/public_icon/iconfont.woff2 +0 -0
- package/template-gx-design-thin/src/assets/public_icon/index.less +0 -42
- package/template-gx-design-thin/src/assets/public_images/nodata.svg +0 -1
- package/template-gx-design-thin/src/common/global.ts +0 -4
- package/template-gx-design-thin/src/components/GDesign/Result/index.tsx +0 -144
- package/template-gx-design-thin/src/components/GDesign/Result/style.less +0 -140
- package/template-gx-design-thin/src/components/GDesign/utils/index.ts +0 -7
- package/template-gx-design-thin/src/components/GlobalLayout/Confirm/index.ts +0 -21
- package/template-gx-design-thin/src/components/GlobalLayout/Empty/index.vue +0 -18
- package/template-gx-design-thin/src/components/GlobalLayout/RightContent/index.tsx +0 -126
- package/template-gx-design-thin/src/components/GlobalLayout/RightContent/style.ts +0 -77
- package/template-gx-design-thin/src/components/GlobalLayout/Spin/index.tsx +0 -30
- package/template-gx-design-thin/src/components/PageLoading/index.tsx +0 -51
- package/template-gx-design-thin/src/components/index.ts +0 -6
- package/template-gx-design-thin/src/core/ant-design/index.ts +0 -10
- package/template-gx-design-thin/src/core/gx-admin-design/index.ts +0 -6
- package/template-gx-design-thin/src/core/gx-design/index.ts +0 -6
- package/template-gx-design-thin/src/core/gx-pro-design/index.ts +0 -8
- package/template-gx-design-thin/src/core/index.ts +0 -84
- package/template-gx-design-thin/src/design/ant-design/index.less +0 -4
- package/template-gx-design-thin/src/design/ant-design/layout.less +0 -22
- package/template-gx-design-thin/src/design/ant-design/menu.less +0 -48
- package/template-gx-design-thin/src/design/ant-design/spin.less +0 -23
- package/template-gx-design-thin/src/design/ant-design/tooltip.less +0 -7
- package/template-gx-design-thin/src/design/color.less +0 -1
- package/template-gx-design-thin/src/design/config.less +0 -5
- package/template-gx-design-thin/src/design/imageEditor.less +0 -180
- package/template-gx-design-thin/src/design/index.less +0 -95
- package/template-gx-design-thin/src/design/mixin.less +0 -65
- package/template-gx-design-thin/src/design/normalize.less +0 -391
- package/template-gx-design-thin/src/design/root.less +0 -3
- package/template-gx-design-thin/src/hooks/core/index.ts +0 -3
- package/template-gx-design-thin/src/hooks/core/useRequest/index.ts +0 -118
- package/template-gx-design-thin/src/hooks/event/index.ts +0 -3
- package/template-gx-design-thin/src/hooks/event/useClipboard.ts +0 -15
- package/template-gx-design-thin/src/hooks/web/index.ts +0 -5
- package/template-gx-design-thin/src/hooks/web/useThemeStyle.ts +0 -16
- package/template-gx-design-thin/src/layout/BasicLayout.vue +0 -123
- package/template-gx-design-thin/src/layout/BlankLayout.vue +0 -5
- package/template-gx-design-thin/src/layout/ContentView.vue +0 -50
- package/template-gx-design-thin/src/layout/IframeView.vue +0 -1
- package/template-gx-design-thin/src/layout/UserLayout.vue +0 -7
- package/template-gx-design-thin/src/main.ts +0 -34
- package/template-gx-design-thin/src/plugins/index.ts +0 -2
- package/template-gx-design-thin/src/router/guard/index.ts +0 -83
- package/template-gx-design-thin/src/router/guard/permissions.ts +0 -70
- package/template-gx-design-thin/src/router/guard/stateGuard.ts +0 -10
- package/template-gx-design-thin/src/router/helper/routeHelper.ts +0 -223
- package/template-gx-design-thin/src/router/helper/utils.ts +0 -19
- package/template-gx-design-thin/src/router/index.ts +0 -31
- package/template-gx-design-thin/src/router/routes/index.ts +0 -86
- package/template-gx-design-thin/src/router/routes/modules/dataSource.ts +0 -12
- package/template-gx-design-thin/src/services/common/index.ts +0 -11
- package/template-gx-design-thin/src/services/systemCenter/index.ts +0 -1
- package/template-gx-design-thin/src/services/systemCenter/menu.ts +0 -9
- package/template-gx-design-thin/src/services/userCenter/account.ts +0 -42
- package/template-gx-design-thin/src/services/userCenter/index.ts +0 -28
- package/template-gx-design-thin/src/store/index.ts +0 -32
- package/template-gx-design-thin/src/store/modules/dict.ts +0 -28
- package/template-gx-design-thin/src/store/modules/global.ts +0 -42
- package/template-gx-design-thin/src/store/modules/permission.ts +0 -19
- package/template-gx-design-thin/src/store/modules/routes.ts +0 -113
- package/template-gx-design-thin/src/store/modules/tabsRouter.ts +0 -76
- package/template-gx-design-thin/src/store/modules/user.ts +0 -136
- package/template-gx-design-thin/src/utils/accessToken.ts +0 -80
- package/template-gx-design-thin/src/utils/crypto/base64.ts +0 -101
- package/template-gx-design-thin/src/utils/crypto/index.ts +0 -57
- package/template-gx-design-thin/src/utils/env.ts +0 -50
- package/template-gx-design-thin/src/utils/fetchFile.ts +0 -81
- package/template-gx-design-thin/src/utils/index.ts +0 -123
- package/template-gx-design-thin/src/utils/pageTitle.ts +0 -20
- package/template-gx-design-thin/src/utils/request/XHR.ts +0 -139
- package/template-gx-design-thin/src/utils/request/axiosCancel.ts +0 -69
- package/template-gx-design-thin/src/utils/request/checkStatus.ts +0 -25
- package/template-gx-design-thin/src/utils/request/index.ts +0 -144
- package/template-gx-design-thin/src/utils/request/typings.ts +0 -171
- package/template-gx-design-thin/src/utils/storage.ts +0 -199
- package/template-gx-design-thin/src/utils/uploadFile.ts +0 -27
- package/template-gx-design-thin/src/utils/util.ts +0 -198
- package/template-gx-design-thin/src/utils/validate.ts +0 -216
- package/template-gx-design-thin/src/views/Iframe/index.vue +0 -76
- package/template-gx-design-thin/src/views/Page/one.vue +0 -13
- package/template-gx-design-thin/src/views/Page/two.vue +0 -13
- package/template-gx-design-thin/src/views/exception/403/index.vue +0 -7
- package/template-gx-design-thin/src/views/exception/404/index.vue +0 -9
- package/template-gx-design-thin/src/views/user/login/index.vue +0 -109
- package/template-gx-design-thin/src/views/user/login/style.less +0 -38
- package/template-gx-design-thin/tsconfig.json +0 -46
- package/template-gx-design-thin/types/ant-design-import.d.ts +0 -99
- package/template-gx-design-thin/types/auto-imports.d.ts +0 -81
- package/template-gx-design-thin/types/components.d.ts +0 -24
- package/template-gx-design-thin/types/config.d.ts +0 -44
- package/template-gx-design-thin/types/global.d.ts +0 -97
- package/template-gx-design-thin/types/mock.d.ts +0 -16
- package/template-gx-design-thin/types/module.d.ts +0 -20
- package/template-gx-design-thin/types/response.d.ts +0 -15
- package/template-gx-design-thin/unocss.config.ts +0 -101
- package/template-gx-design-thin/vite.config.ts +0 -120
- package/template-gx-design-thin/yarn.lock +0 -9492
package/bin/create-gx-cli
CHANGED
package/package.json
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gx-design-vue/create-gx-cli",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.14",
|
4
4
|
"license": "MIT",
|
5
|
+
"type": "module",
|
5
6
|
"description": "a cli to bootstrap gx project",
|
6
|
-
"main": "
|
7
|
+
"main": "bin/create-gx-cli",
|
7
8
|
"bin": "bin/create-gx-cli",
|
8
9
|
"publishConfig": {
|
9
10
|
"access": "public"
|
@@ -16,7 +17,6 @@
|
|
16
17
|
"dependencies": {
|
17
18
|
"chalk": "^2.4.2",
|
18
19
|
"child_process": "^1.0.2",
|
19
|
-
"esm": "^3.2.18",
|
20
20
|
"execa": "^8.0.1",
|
21
21
|
"inquirer": "^6.2.2",
|
22
22
|
"kolorist": "^1.6.0",
|
@@ -25,7 +25,7 @@
|
|
25
25
|
"nanospinner": "^1.1.0",
|
26
26
|
"ncp": "^2.0.0",
|
27
27
|
"prompts": "^2.4.1",
|
28
|
-
"rimraf": "^
|
28
|
+
"rimraf": "^6.0.1"
|
29
29
|
},
|
30
30
|
"files": [
|
31
31
|
"bin/",
|
package/src/cli.js
CHANGED
@@ -1,12 +1,14 @@
|
|
1
1
|
import chalk from 'chalk'
|
2
|
+
import fs from 'node:fs'
|
3
|
+
import path from 'node:path'
|
2
4
|
import minimist from 'minimist'
|
3
5
|
import prompts from 'prompts'
|
4
|
-
import {
|
5
|
-
import { createProject } from './main'
|
6
|
+
import { blue, green, red, reset, yellow } from 'kolorist'
|
7
|
+
import { createProject } from './main.js'
|
6
8
|
|
7
|
-
|
8
|
-
|
9
|
-
const { version } =
|
9
|
+
let packageJSON = fs.readFileSync(path.join('../package.json'), 'utf-8')
|
10
|
+
packageJSON = JSON.parse(packageJSON)
|
11
|
+
const { version } = packageJSON
|
10
12
|
|
11
13
|
const defaultTargetDir = 'vue3-project'
|
12
14
|
|
@@ -16,7 +18,7 @@ const FRAMEWORKS = [
|
|
16
18
|
color: red
|
17
19
|
},
|
18
20
|
{
|
19
|
-
name: 'gx-design-thin',
|
21
|
+
name: 'gx-design-pro-thin',
|
20
22
|
color: blue
|
21
23
|
},
|
22
24
|
{
|
@@ -30,7 +32,7 @@ const FRAMEWORKS = [
|
|
30
32
|
]
|
31
33
|
|
32
34
|
const TEMPLATES = FRAMEWORKS.map(
|
33
|
-
|
35
|
+
f => (f.variants && f.variants.map(v => v.name)) || [f.name]
|
34
36
|
).reduce((a, b) => a.concat(b), [])
|
35
37
|
|
36
38
|
function formatTargetDir(targetDir) {
|
package/src/git.js
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
+
// eslint-disable-next-line unicorn/prefer-node-protocol
|
1
2
|
import { spawn } from 'child_process'
|
2
|
-
import rimraf from 'rimraf'
|
3
|
+
import { rimraf } from 'rimraf'
|
3
4
|
|
4
5
|
function git(opts) {
|
5
6
|
return opts.git || 'git'
|
@@ -10,7 +11,7 @@ function buildCloneCommand(repo, targetPath, opts) {
|
|
10
11
|
const userArgs = opts.args || []
|
11
12
|
|
12
13
|
if (opts.shallow) {
|
13
|
-
if (userArgs.
|
14
|
+
if (userArgs.includes('--depth')) {
|
14
15
|
throw new Error('\'--depth\' cannot be specified when shallow is set to \'true\'')
|
15
16
|
}
|
16
17
|
args.push('--depth', '1')
|
@@ -40,11 +41,13 @@ export function clone(repo, targetPath, opts, onSuccess, onError) {
|
|
40
41
|
if (line.match(/Receiving objects:\s+(\d+)%/)) {
|
41
42
|
opts.progress({
|
42
43
|
phase: 'receivingObjects',
|
44
|
+
// eslint-disable-next-line regexp/no-legacy-features
|
43
45
|
percent: Number(RegExp.$1)
|
44
46
|
})
|
45
47
|
} else if (line.match(/Resolving deltas:\s+(\d+)%/)) {
|
46
48
|
opts.progress({
|
47
49
|
phase: 'resolvingDeltas',
|
50
|
+
// eslint-disable-next-line regexp/no-legacy-features
|
48
51
|
percent: Number(RegExp.$1)
|
49
52
|
})
|
50
53
|
}
|
@@ -52,11 +55,11 @@ export function clone(repo, targetPath, opts, onSuccess, onError) {
|
|
52
55
|
}
|
53
56
|
|
54
57
|
proc.on('close', (status) => {
|
55
|
-
if (status
|
58
|
+
if (status === 0) {
|
56
59
|
if (opts.checkout) {
|
57
60
|
_checkout()
|
58
61
|
} else {
|
59
|
-
rimraf(`${targetPath}/.git
|
62
|
+
rimraf(`${targetPath}/.git`)
|
60
63
|
onSuccess()
|
61
64
|
}
|
62
65
|
} else {
|
@@ -68,7 +71,7 @@ export function clone(repo, targetPath, opts, onSuccess, onError) {
|
|
68
71
|
const [ cmd, args ] = buildCheckoutCommand(opts.checkout, opts)
|
69
72
|
const proc = spawn(cmd, args, { cwd: targetPath })
|
70
73
|
proc.on('close', function (status) {
|
71
|
-
if (status
|
74
|
+
if (status === 0) {
|
72
75
|
onSuccess()
|
73
76
|
} else {
|
74
77
|
onError(new Error('\'git checkout\' failed with status ' + status))
|
package/src/main.js
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
import chalk from 'chalk'
|
2
|
-
import fs from 'fs'
|
2
|
+
import fs from 'node:fs'
|
3
3
|
import { reset } from 'kolorist'
|
4
4
|
import prompts from 'prompts'
|
5
|
-
import { fileURLToPath } from 'url'
|
5
|
+
import { fileURLToPath } from 'node:url'
|
6
6
|
import Listr from 'listr'
|
7
7
|
import ncp from 'ncp'
|
8
|
-
import path from 'path'
|
9
|
-
import { promisify } from 'util'
|
8
|
+
import path from 'node:path'
|
9
|
+
import { promisify } from 'node:util'
|
10
10
|
import { createSpinner } from 'nanospinner'
|
11
|
-
import { clone } from './git'
|
11
|
+
import { clone } from './git.js'
|
12
12
|
|
13
13
|
const copy = promisify(ncp)
|
14
14
|
|
@@ -18,11 +18,24 @@ const gitRepositoryList = [
|
|
18
18
|
children: [
|
19
19
|
{
|
20
20
|
name: 'Gitee',
|
21
|
-
url: 'https://gitee.com/gx12358/vue3-antd-admin.git'
|
21
|
+
url: 'https://gitee.com/gx12358/vue3-antd-admin.git'
|
22
22
|
},
|
23
23
|
{
|
24
24
|
name: 'Github',
|
25
|
-
url: 'https://github.com/gx12358/vue3-antd-admin.git'
|
25
|
+
url: 'https://github.com/gx12358/vue3-antd-admin.git'
|
26
|
+
}
|
27
|
+
]
|
28
|
+
},
|
29
|
+
{
|
30
|
+
name: 'gx-design-pro-thin',
|
31
|
+
children: [
|
32
|
+
{
|
33
|
+
name: 'Gitee',
|
34
|
+
url: 'https://github.com/gx12358/vue3-antd-admin-thin.git'
|
35
|
+
},
|
36
|
+
{
|
37
|
+
name: 'Github',
|
38
|
+
url: 'https://github.com/gx12358/vue3-antd-admin-thin.git'
|
26
39
|
}
|
27
40
|
]
|
28
41
|
}
|
@@ -33,9 +46,9 @@ async function copyTemplateFiles(templateDir, root) {
|
|
33
46
|
return copy(templateDir, root, {
|
34
47
|
clobber: false,
|
35
48
|
filter: (sourcePath) => {
|
36
|
-
const relativePath = path.relative(templateDir, sourcePath)
|
37
|
-
const folders = relativePath.split(path.sep)
|
38
|
-
const folderToCheck = folders.length > 1 ? folders[1] : folders[0]
|
49
|
+
const relativePath = path.relative(templateDir, sourcePath)
|
50
|
+
const folders = relativePath.split(path.sep)
|
51
|
+
const folderToCheck = folders.length > 1 ? folders[1] : folders[0]
|
39
52
|
return !exclusions.includes(folderToCheck)
|
40
53
|
}
|
41
54
|
})
|
@@ -89,7 +102,7 @@ function download(url, root, projectName) {
|
|
89
102
|
text: '项目创建成功,请依次执行以下命令'
|
90
103
|
})
|
91
104
|
doneLog(process.cwd(), root)
|
92
|
-
},async function (err) {
|
105
|
+
}, async function (err) {
|
93
106
|
console.log(err)
|
94
107
|
spinner.error({ text: '下载失败' })
|
95
108
|
})
|
@@ -117,7 +130,7 @@ export async function createProject(options) {
|
|
117
130
|
}
|
118
131
|
}
|
119
132
|
|
120
|
-
|
133
|
+
// 目录是否已经存在
|
121
134
|
const dirIsExists = fs.existsSync(root)
|
122
135
|
|
123
136
|
if (dirIsExists) {
|
@@ -139,7 +152,7 @@ export async function createProject(options) {
|
|
139
152
|
}
|
140
153
|
})
|
141
154
|
}
|
142
|
-
]).then(answers => {
|
155
|
+
]).then((answers) => {
|
143
156
|
if (answers.url) download(answers.url, root, options.projectName)
|
144
157
|
})
|
145
158
|
} else if (downloadGit.url) {
|
@@ -150,7 +163,7 @@ export async function createProject(options) {
|
|
150
163
|
{
|
151
164
|
title: '项目创建',
|
152
165
|
task: () => copyTemplateFiles(templateDir, root)
|
153
|
-
}
|
166
|
+
}
|
154
167
|
]
|
155
168
|
if (options.template !== 'mobile-vant-html') {
|
156
169
|
listr.push({
|
@@ -158,7 +171,8 @@ export async function createProject(options) {
|
|
158
171
|
task: () => editPackageJson(root, options.projectName || getProjectName(options.projectName))
|
159
172
|
})
|
160
173
|
}
|
161
|
-
const tasks = new Listr(
|
174
|
+
const tasks = new Listr(
|
175
|
+
listr,
|
162
176
|
{
|
163
177
|
exitOnError: false
|
164
178
|
}
|
@@ -170,7 +184,6 @@ export async function createProject(options) {
|
|
170
184
|
doneLog(cwd, root)
|
171
185
|
} else {
|
172
186
|
console.log(chalk.blueBright(`init success`))
|
173
|
-
|
174
187
|
}
|
175
188
|
}
|
176
189
|
return true
|
@@ -10,8 +10,8 @@
|
|
10
10
|
"preview": "vite preview"
|
11
11
|
},
|
12
12
|
"dependencies": {
|
13
|
-
"@gx-design-vue/pro-hooks": "^0.2.0-beta.
|
14
|
-
"@gx-design-vue/pro-utils": "^0.2.0-beta.
|
13
|
+
"@gx-design-vue/pro-hooks": "^0.2.0-beta.20",
|
14
|
+
"@gx-design-vue/pro-utils": "^0.2.0-beta.28",
|
15
15
|
"@vueuse/core": "^10.7.2",
|
16
16
|
"@vueuse/shared": "^10.7.2",
|
17
17
|
"axios": "^1.6.7",
|
@@ -21,7 +21,8 @@
|
|
21
21
|
"pinia": "2.1.7",
|
22
22
|
"qs": "^6.11.0",
|
23
23
|
"vant": "^4.8.8",
|
24
|
-
"
|
24
|
+
"unocss": "^0.58.5",
|
25
|
+
"vue": "^3.5.0",
|
25
26
|
"vue-router": "^4.1.6"
|
26
27
|
},
|
27
28
|
"devDependencies": {
|
@@ -33,7 +34,6 @@
|
|
33
34
|
"@vitejs/plugin-vue": "^5.0.4",
|
34
35
|
"@vitejs/plugin-vue-jsx": "^3.1.0",
|
35
36
|
"autoprefixer": "^10.4.13",
|
36
|
-
"unocss": "^0.58.5",
|
37
37
|
"mockjs": "^1.1.0",
|
38
38
|
"cross-env": "^7.0.3",
|
39
39
|
"connect": "^3.7.0",
|
@@ -54,4 +54,4 @@
|
|
54
54
|
"vite-plugin-vue-setup-extend": "^0.4.0",
|
55
55
|
"vue-tsc": "^1.8.27"
|
56
56
|
}
|
57
|
-
}
|
57
|
+
}
|
@@ -1,19 +0,0 @@
|
|
1
|
-
root = true
|
2
|
-
|
3
|
-
[*]
|
4
|
-
charset=utf-8
|
5
|
-
end_of_line=lf
|
6
|
-
insert_final_newline=true
|
7
|
-
indent_style=space
|
8
|
-
indent_size=2
|
9
|
-
max_line_length = 100
|
10
|
-
|
11
|
-
[*.{yml,yaml,json}]
|
12
|
-
indent_style = space
|
13
|
-
indent_size = 2
|
14
|
-
|
15
|
-
[*.md]
|
16
|
-
trim_trailing_whitespace = false
|
17
|
-
|
18
|
-
[Makefile]
|
19
|
-
indent_style = tab
|
@@ -1,28 +0,0 @@
|
|
1
|
-
# 项目启动执行环境
|
2
|
-
VITE_NODE_ENV= production
|
3
|
-
|
4
|
-
# 代码运行环境
|
5
|
-
VITE_USE_MODE = production
|
6
|
-
|
7
|
-
# 是否开启mock
|
8
|
-
VITE_USE_MOCK = true
|
9
|
-
|
10
|
-
# 是否删除console
|
11
|
-
VITE_DROP_CONSOLE = false
|
12
|
-
|
13
|
-
# Whether to enable gzip or brotli compression
|
14
|
-
# Optional: gzip | brotli | none
|
15
|
-
# If you need multiple forms, you can use `,` to separate
|
16
|
-
VITE_BUILD_COMPRESS = 'none'
|
17
|
-
|
18
|
-
# 使用压缩时是否删除源文件,默认为false
|
19
|
-
VITE_BUILD_COMPRESS_DELETE_ORIGIN_FILE = false
|
20
|
-
|
21
|
-
# 是否使用pwa
|
22
|
-
VITE_USE_PWA = false
|
23
|
-
|
24
|
-
# 是否为打包后的文件提供传统浏览器兼容性支持
|
25
|
-
VITE_LEGACY = false
|
26
|
-
|
27
|
-
# api前缀
|
28
|
-
VITE_BASE_URL=/mock-server
|
@@ -1,21 +0,0 @@
|
|
1
|
-
MIT License
|
2
|
-
|
3
|
-
Copyright (c) 2021 gx12358
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
13
|
-
copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
21
|
-
SOFTWARE.
|
@@ -1,112 +0,0 @@
|
|
1
|
-
<div align="center"> <a href="https://github.com/gx12358/vue3-antd-admin"> <img alt="VbenAdmin Logo" width="200" src="https://gx12358.cn/resource/img/favicon.ico"> </a> <br> <br>
|
2
|
-
|
3
|
-
<h1>GX Pro Admin(Ant Design Vue)</h1>
|
4
|
-
</div>
|
5
|
-
|
6
|
-
## 简介
|
7
|
-
|
8
|
-
GX Pro Admin 是一个免费开源的中后台模版。使用了最新的`vue3.0+`,`vite5`,`TypeScript`, `Ant Design Vue4.0+`, `Unocss`等主流技术开发,开箱即用的中后台前端解决方案,也可用于学习参考。
|
9
|
-
如果大家喜欢的话,给个start!
|
10
|
-
|
11
|
-
## 特性
|
12
|
-
|
13
|
-
- **最新技术栈**:使用 Vue3、vite5、ant-design-vue4、unocss 等前端前沿技术开发
|
14
|
-
- **TypeScript**: 应用程序级 JavaScript 的语言
|
15
|
-
- **主题**:可配置定制化的主题
|
16
|
-
- **Mock 数据** 内置 Mock 数据方案
|
17
|
-
- **权限** 内置完善的动态路由权限生成方案
|
18
|
-
- **组件** 二次封装了多个pro企业级的组件
|
19
|
-
|
20
|
-
## 预览
|
21
|
-
|
22
|
-
- [🚀 pro 版演示地址](https://gx12358.cn/)
|
23
|
-
测试账号: admin/gx.design
|
24
|
-
|
25
|
-
- [🚀 系统文档地址](https://gx12358.cn/doc/)
|
26
|
-
- [🚀 pro 组件文档地址](https://gx12358.cn/procomponents/)
|
27
|
-
|
28
|
-
|
29
|
-
## 准备
|
30
|
-
|
31
|
-
- [node](http://nodejs.org/) 和 [git](https://git-scm.com/) -项目开发环境
|
32
|
-
- [Vite](https://vitejs.dev/) - 熟悉 vite 特性
|
33
|
-
- [Vue3](https://v3.vuejs.org/) - 熟悉 Vue 基础语法
|
34
|
-
- [TypeScript](https://www.typescriptlang.org/) - 熟悉`TypeScript`基本语法
|
35
|
-
- [Es6+](http://es6.ruanyifeng.com/) - 熟悉 es6 基本语法
|
36
|
-
- [Vue-Router-Next](https://next.router.vuejs.org/) - 熟悉 vue-router 基本使用
|
37
|
-
- [Ant-Design-Vue](https://next.antdv.com/components/overview-cn/) - ui 基本使用
|
38
|
-
- [Mock.js](https://github.com/nuysoft/Mock) - mockjs 基本语法
|
39
|
-
|
40
|
-
## 安装使用
|
41
|
-
|
42
|
-
- 获取项目代码
|
43
|
-
|
44
|
-
```bash
|
45
|
-
git clone https://gitee.com/gx12358/vite-admin-pro
|
46
|
-
```
|
47
|
-
|
48
|
-
- 安装依赖
|
49
|
-
|
50
|
-
```bash
|
51
|
-
cd gx-admin-pro
|
52
|
-
|
53
|
-
pnpm install
|
54
|
-
|
55
|
-
```
|
56
|
-
|
57
|
-
- 运行
|
58
|
-
|
59
|
-
```bash
|
60
|
-
pnpm run serve
|
61
|
-
```
|
62
|
-
|
63
|
-
- 打包
|
64
|
-
|
65
|
-
```bash
|
66
|
-
pnpm run build
|
67
|
-
```
|
68
|
-
|
69
|
-
## Git 贡献提交规范
|
70
|
-
|
71
|
-
- 参考 [vue](https://github.com/vuejs/vue/blob/dev/.github/COMMIT_CONVENTION.md) 规范
|
72
|
-
- `feat` 增加新功能
|
73
|
-
- `fix` 修复问题/BUG
|
74
|
-
- `style` 代码风格相关无影响运行结果的
|
75
|
-
- `perf` 优化/性能提升
|
76
|
-
- `refactor` 重构
|
77
|
-
- `revert` 撤销修改
|
78
|
-
- `test` 测试相关
|
79
|
-
- `docs` 文档/注释
|
80
|
-
- `chore` 依赖更新/脚手架配置修改等
|
81
|
-
- `workflow` 工作流改进
|
82
|
-
- `ci` 持续集成
|
83
|
-
- `types` 类型定义文件更改
|
84
|
-
- `wip` 开发中
|
85
|
-
|
86
|
-
## 浏览器支持
|
87
|
-
|
88
|
-
本地开发推荐使用`Chrome 80+` 浏览器
|
89
|
-
|
90
|
-
支持现代浏览器, 不支持 IE
|
91
|
-
|
92
|
-
## 相关仓库
|
93
|
-
|
94
|
-
如果这些插件对你有帮助,可以给一个 star 支持下
|
95
|
-
|
96
|
-
- [vite-plugin-html](https://github.com/anncwb/vite-plugin-html) - 用于 html 模版转换及压缩
|
97
|
-
- [vite-plugin-compression](https://github.com/anncwb/vite-plugin-compression) - 用于打包输出.gz|.brotil 文件
|
98
|
-
- [vite-plugin-svg-icons](https://github.com/anncwb/vite-plugin-svg-icons) - 用于快速生成 svg 雪碧图
|
99
|
-
|
100
|
-
## 维护者
|
101
|
-
|
102
|
-
[@gx12358](https://github.com/gx12358/vue3-antd-admin)
|
103
|
-
|
104
|
-
## 交流
|
105
|
-
|
106
|
-
`Vue3-Antd-Admin` 是完全开源免费的项目,在帮助开发者更方便地进行中大型管理系统开发,同时也提供 QQ 交流群使用问题欢迎在群内提问。
|
107
|
-
|
108
|
-
- QQ 群 `871430530`
|
109
|
-
|
110
|
-
## License
|
111
|
-
|
112
|
-
[MIT © gx12358-2021](./LICENSE)
|
@@ -1 +0,0 @@
|
|
1
|
-
export const GLOB_CONFIG_FILE_NAME = '_app.config.js'
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import { resolve } from 'node:path'
|
2
|
-
import { theme } from 'ant-design-vue'
|
3
|
-
|
4
|
-
export function generateModifyVars() {
|
5
|
-
const { defaultAlgorithm, defaultSeed } = theme
|
6
|
-
|
7
|
-
const mapToken = defaultAlgorithm(defaultSeed)
|
8
|
-
const modifyVarsParams = {
|
9
|
-
...mapToken,
|
10
|
-
hack: `true; @import (reference) "${resolve('src/design/config.less')}";`
|
11
|
-
}
|
12
|
-
|
13
|
-
return modifyVarsParams
|
14
|
-
}
|
@@ -1,22 +0,0 @@
|
|
1
|
-
import type { RollupOptions } from 'rollup'
|
2
|
-
import externalGlobals from 'rollup-plugin-external-globals'
|
3
|
-
import { pathResolve } from '../util'
|
4
|
-
import { configManualChunk } from '../vite/optimizer'
|
5
|
-
import { getExternalMap } from '../vite/cdn'
|
6
|
-
|
7
|
-
export default function (useCdn: boolean) {
|
8
|
-
return {
|
9
|
-
input: {
|
10
|
-
index: pathResolve('index.html')
|
11
|
-
},
|
12
|
-
// 静态资源分类打包
|
13
|
-
output: {
|
14
|
-
manualChunks: configManualChunk,
|
15
|
-
chunkFileNames: 'static/js/[name]-[hash].js',
|
16
|
-
entryFileNames: 'static/js/[name]-[hash].js',
|
17
|
-
assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
|
18
|
-
},
|
19
|
-
external: useCdn ? Object.keys(getExternalMap()) : [],
|
20
|
-
plugins: useCdn ? [ externalGlobals(getExternalMap()) ] : []
|
21
|
-
} as RollupOptions
|
22
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
import { createHash } from 'node:crypto'
|
2
|
-
|
3
|
-
function createContentHash(content: string, hashLSize = 12) {
|
4
|
-
const hash = createHash('sha256').update(content)
|
5
|
-
return hash.digest('hex').slice(0, hashLSize)
|
6
|
-
}
|
7
|
-
|
8
|
-
function strToHex(str: string) {
|
9
|
-
const result: string[] = []
|
10
|
-
for (let i = 0; i < str.length; ++i) {
|
11
|
-
const hex = str.charCodeAt(i).toString(16)
|
12
|
-
result.push((`000${hex}`).slice(-4))
|
13
|
-
}
|
14
|
-
return result.join('').toUpperCase()
|
15
|
-
}
|
16
|
-
|
17
|
-
export { createContentHash, strToHex }
|