@gx-design-vue/create-gx-cli 0.1.4 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +10 -1
- package/package.json +2 -1
- package/src/cli.js +33 -8
- package/src/main.js +2 -2
package/README.md
CHANGED
@@ -10,6 +10,15 @@ npm init @gx-design-vue/create-gx-cli
|
|
10
10
|
npx @gx-design-vue/create-gx-cli
|
11
11
|
# or
|
12
12
|
npm install -g @gx-design-vue/create-gx-cli
|
13
|
-
|
13
|
+
|
14
|
+
# create project
|
15
|
+
create-gx-cli
|
16
|
+
# cli version
|
17
|
+
create-gx-cli -v
|
18
|
+
# short create(first: project name、--template: template project)
|
19
|
+
create-gx-cli app --template gx-design-pro
|
20
|
+
create-gx-cli app --template gx-design-thin
|
21
|
+
create-gx-cli app --template mobile-vant-cli
|
22
|
+
create-gx-cli app --template mobile-vant-html
|
14
23
|
```
|
15
24
|
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@gx-design-vue/create-gx-cli",
|
3
|
-
"version": "0.1.
|
3
|
+
"version": "0.1.6",
|
4
4
|
"license": "MIT",
|
5
5
|
"description": "a cli to bootstrap gx project",
|
6
6
|
"main": "src/index.js",
|
@@ -16,6 +16,7 @@
|
|
16
16
|
"dependencies": {
|
17
17
|
"chalk": "^2.4.2",
|
18
18
|
"esm": "^3.2.18",
|
19
|
+
"execa": "^8.0.1",
|
19
20
|
"inquirer": "^6.2.2",
|
20
21
|
"kolorist": "^1.6.0",
|
21
22
|
"listr": "^0.14.3",
|
package/src/cli.js
CHANGED
@@ -1,9 +1,14 @@
|
|
1
|
+
import chalk from 'chalk'
|
1
2
|
import minimist from 'minimist'
|
2
3
|
import prompts from 'prompts'
|
3
4
|
import { yellow, reset, blue, red, green } from 'kolorist'
|
4
5
|
import { createProject } from './main'
|
5
6
|
|
6
|
-
|
7
|
+
import pag from '../package.json'
|
8
|
+
|
9
|
+
const { version } = pag
|
10
|
+
|
11
|
+
const defaultTargetDir = 'vue3-project'
|
7
12
|
|
8
13
|
const FRAMEWORKS = [
|
9
14
|
{
|
@@ -37,20 +42,24 @@ function parseArgumentsIntoOptions() {
|
|
37
42
|
const argTargetDir = formatTargetDir(argv._[0])
|
38
43
|
const argTemplate = argv.template || argv.t
|
39
44
|
return {
|
45
|
+
v: argv.v,
|
40
46
|
template: argTemplate,
|
41
47
|
projectName: argTargetDir
|
42
48
|
}
|
43
49
|
}
|
44
50
|
|
45
51
|
async function promptForMissingOptions(options) {
|
46
|
-
const
|
47
|
-
|
52
|
+
const projectNamePrompts = []
|
53
|
+
if (!options.projectName) {
|
54
|
+
projectNamePrompts.push({
|
48
55
|
type: options.projectName ? null : 'text',
|
49
56
|
name: 'projectName',
|
50
57
|
message: reset('Project name:'),
|
51
58
|
initial: defaultTargetDir
|
52
|
-
}
|
53
|
-
|
59
|
+
})
|
60
|
+
}
|
61
|
+
if (typeof options.template !== 'string' || !TEMPLATES.includes(options.template)) {
|
62
|
+
projectNamePrompts.push({
|
54
63
|
type: 'select',
|
55
64
|
name: 'template',
|
56
65
|
message:
|
@@ -66,20 +75,36 @@ async function promptForMissingOptions(options) {
|
|
66
75
|
value: framework
|
67
76
|
}
|
68
77
|
})
|
69
|
-
}
|
70
|
-
|
78
|
+
})
|
79
|
+
}
|
80
|
+
let answers = {
|
81
|
+
template: {
|
82
|
+
name: ''
|
83
|
+
},
|
84
|
+
projectName: ''
|
85
|
+
}
|
86
|
+
|
87
|
+
if (projectNamePrompts.length) {
|
88
|
+
answers = await prompts(projectNamePrompts)
|
89
|
+
}
|
71
90
|
|
72
91
|
return {
|
73
92
|
...options,
|
74
|
-
template: options.template || answers.template ? answers.template.name : '',
|
93
|
+
template: options.template || (answers.template ? answers.template.name : ''),
|
75
94
|
projectName: options.projectName || answers.projectName || ''
|
76
95
|
}
|
77
96
|
}
|
78
97
|
|
79
98
|
export async function cli() {
|
80
99
|
let options = parseArgumentsIntoOptions()
|
100
|
+
if (options.v) {
|
101
|
+
console.log(chalk.whiteBright(version))
|
102
|
+
process.exit(1)
|
103
|
+
}
|
81
104
|
options = await promptForMissingOptions(options)
|
82
105
|
if (options.template && options.projectName) {
|
83
106
|
await createProject(options)
|
107
|
+
} else {
|
108
|
+
process.exit(1)
|
84
109
|
}
|
85
110
|
}
|
package/src/main.js
CHANGED
@@ -64,8 +64,8 @@ function doneLog(cwd, root) {
|
|
64
64
|
if (root !== cwd) {
|
65
65
|
console.log(chalk.blueBright(`cd ${path.relative(cwd, root)}`))
|
66
66
|
}
|
67
|
-
console.log(chalk.blueBright(`pnpm
|
68
|
-
console.log(chalk.blueBright(`pnpm
|
67
|
+
console.log(chalk.blueBright(`pnpm、yarn、npm install`))
|
68
|
+
console.log(chalk.blueBright(`pnpm、yarn、npm run dev`))
|
69
69
|
console.log()
|
70
70
|
}
|
71
71
|
|