kn-cli 1.0.83 → 1.0.85
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/build/dev.sh +12 -0
- package/build/shellUtil.sh +40 -3
- package/package.json +1 -1
- package/readme.md +20 -18
- package/src/build.js +3 -0
- package/src/getTools.js +14 -3
- package/templates/template_admin/cli.config.js +4 -0
- package/templates/template_admin/dev.sh +3 -63
- package/templates/template_admin/frontend_build.sh +2 -44
- package/templates/template_admin/init.sh +3 -12
- package/templates/template_admin/report.sh +3 -46
- package/templates/template_admin/shellUtil.sh +110 -0
- package/templates/template_admin/versionPublish.sh +1 -12
- package/templates/template_app/cli.config.js +4 -0
- package/templates/template_app/dev.sh +3 -63
- package/templates/template_app/frontend_build.sh +3 -71
- package/templates/template_app/report.sh +3 -45
- package/templates/template_app/shellUtil.sh +110 -0
- package/templates/template_app/versionPublish.sh +1 -13
- package/templates/template_oa/cli.config.js +4 -0
- package/templates/template_oa/dev.sh +3 -63
- package/templates/template_oa/frontend_build.sh +3 -46
- package/templates/template_oa/init.sh +1 -12
- package/templates/template_oa/report.sh +3 -44
- package/templates/template_oa/shellUtil.sh +110 -0
- package/templates/template_oa/versionPublish.sh +1 -12
- package/templates/template_oa_jwt/cli.config.js +1 -1
- package/templates/template_oa_jwt/dev.sh +3 -64
- package/templates/template_oa_jwt/frontend_build.sh +3 -45
- package/templates/template_oa_jwt/init.sh +2 -12
- package/templates/template_oa_jwt/report.sh +3 -45
- package/templates/template_oa_jwt/shellUtil.sh +110 -0
- package/templates/template_oa_jwt/versionPublish.sh +1 -13
- package/templates/template_offcial/cli.config.js +4 -0
- package/templates/template_offcial/dev.sh +3 -63
- package/templates/template_offcial/frontend_build.sh +3 -45
- package/templates/template_offcial/init.sh +1 -12
- package/templates/template_offcial/report.sh +3 -45
- package/templates/template_offcial/shellUtil.sh +110 -0
- package/templates/template_offcial/versionPublish.sh +1 -13
package/build/dev.sh
CHANGED
|
@@ -1,3 +1,15 @@
|
|
|
1
1
|
export build_type=dev
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
if [ ! -n "$build_log_level" ]
|
|
5
|
+
then
|
|
6
|
+
if [ $build_env != 'prod' ]
|
|
7
|
+
then
|
|
8
|
+
export build_log_level=all
|
|
9
|
+
else
|
|
10
|
+
export build_log_level=clear
|
|
11
|
+
fi
|
|
12
|
+
fi
|
|
13
|
+
|
|
2
14
|
# 如果 export dev_mode=watch 则启动webpack -w模式而非webpack-dev-server
|
|
3
15
|
. ./start.sh
|
package/build/shellUtil.sh
CHANGED
|
@@ -5,31 +5,68 @@ checkResult(){
|
|
|
5
5
|
ret=$?
|
|
6
6
|
if [ $ret != 0 ]
|
|
7
7
|
then
|
|
8
|
-
printf "
|
|
8
|
+
printf "\e[40;31m [$1] 执行失败 \e[0m\n"
|
|
9
9
|
exit 2
|
|
10
10
|
return 0
|
|
11
11
|
else
|
|
12
|
-
printf "
|
|
12
|
+
printf "\e[40;32m [$1] 执行成功\e[0m \n"
|
|
13
13
|
return 0
|
|
14
14
|
fi
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
|
|
18
18
|
|
|
19
|
+
checkKnCli(){
|
|
20
|
+
# 方案一:始终将kn-cli保持为最新版本
|
|
21
|
+
# npm i kn-cli -g
|
|
22
|
+
# return 0
|
|
23
|
+
|
|
24
|
+
# 方案二:保持kn-cli为固定某个版本
|
|
25
|
+
# npm i kn-cli@1.0.26 -g
|
|
26
|
+
# return 0
|
|
27
|
+
|
|
28
|
+
# 方案三:检测未安装时或版本不为最新版本时更新
|
|
29
|
+
if ! [ -x "$(command -v kn-cli)" ]
|
|
30
|
+
then
|
|
31
|
+
echo "安装kn-cli"
|
|
32
|
+
npm i kn-cli -g
|
|
33
|
+
return 0
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
for line in `npm view kn-cli version`
|
|
37
|
+
do
|
|
38
|
+
for line2 in `kn-cli -v`
|
|
39
|
+
do
|
|
40
|
+
if [ $line != $line2 ]
|
|
41
|
+
then
|
|
42
|
+
echo "升级kn-cli"
|
|
43
|
+
npm upgrade kn-cli -g
|
|
44
|
+
return 0
|
|
45
|
+
fi
|
|
46
|
+
done
|
|
47
|
+
done
|
|
48
|
+
return 0
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
19
52
|
showLog() {
|
|
20
53
|
local text="$1"
|
|
21
54
|
local color="$2"
|
|
22
55
|
local color_code=""
|
|
23
56
|
case "$color" in
|
|
57
|
+
"white") color_code="";;
|
|
24
58
|
"red") color_code="\e[40;31m";;
|
|
25
59
|
"green") color_code="\e[40;32m";;
|
|
26
60
|
"blue") color_code="\e[40;34m";;
|
|
27
61
|
"yellow") color_code="\e[40;33m";;
|
|
28
|
-
*) color_code="";;
|
|
62
|
+
*) color_code="\e[40;30m";;
|
|
29
63
|
esac
|
|
30
64
|
printf "%b\n" "${color_code}${text}\e[0m"
|
|
31
65
|
}
|
|
32
66
|
|
|
67
|
+
showNormal(){
|
|
68
|
+
showLog "$1" "white"
|
|
69
|
+
}
|
|
33
70
|
showSuccess() {
|
|
34
71
|
showLog "$1" "green"
|
|
35
72
|
}
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -3,14 +3,13 @@
|
|
|
3
3
|
|
|
4
4
|
# 快速开始
|
|
5
5
|
0. node使用16.18.0
|
|
6
|
-
1. 安装: npm i kn-cli -g
|
|
7
|
-
2. 创建项目: kn-cli --create
|
|
8
|
-
3. 调试项目:
|
|
6
|
+
1. 安装: `npm i kn-cli -g`
|
|
7
|
+
2. 创建项目: `kn-cli --create`
|
|
8
|
+
3. 调试项目: `sh dev.sh`
|
|
9
9
|
* 当`export dev_mode=watch`时,将不会独立启动http服务,而是直接将编译后资源输出到文件夹内并监听源代码的变化后重新编译
|
|
10
|
-
4. 编译项目:
|
|
10
|
+
4. 编译项目: `sh build.sh`或`sh frontend_build.sh`
|
|
11
11
|
5. 当项目中需要添加第三方npm包时,务必使用--save参数`npm i 包名 --save`
|
|
12
|
-
6.
|
|
13
|
-
|
|
12
|
+
6. 包模块分析:`sh report.sh`
|
|
14
13
|
|
|
15
14
|
> 项目创建后,记得执行sh init.sh 以激活git分支提交日志
|
|
16
15
|
|
|
@@ -24,7 +23,7 @@
|
|
|
24
23
|
# cli 其它常用方法
|
|
25
24
|
1. 查看版本号: `kn-cli -v`
|
|
26
25
|
2. 创建辅助工具:`kn-cli --tool`
|
|
27
|
-
目前辅助工具有:图片压缩、word转html、iconfont
|
|
26
|
+
目前辅助工具有:图片压缩、word转html、iconfont、资源引用检查、docker容器内运行
|
|
28
27
|
|
|
29
28
|
|
|
30
29
|
# cli.config.js - 构建配置文件
|
|
@@ -90,32 +89,32 @@ module.exports = {
|
|
|
90
89
|
|
|
91
90
|
|
|
92
91
|
# 环境变量
|
|
93
|
-
build_env
|
|
92
|
+
**build_env**
|
|
94
93
|
可选值:localdebug|dev|prod
|
|
95
94
|
控制构建模式,localdebug本地调试、dev测试环境、prod生产
|
|
96
95
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
可选值:clear|all
|
|
96
|
+
**build_log_level**
|
|
97
|
+
可选值:clear|all
|
|
100
98
|
控制输出的日志类型,如果不手动接入的话,prod模式下为简洁模式,开发模式下为全量输出
|
|
101
99
|
|
|
102
|
-
|
|
103
|
-
noSkipNpmInstall
|
|
100
|
+
**noSkipNpmInstall**
|
|
104
101
|
可选值:1|0
|
|
102
|
+
默认值:1
|
|
105
103
|
是否跳过npm install以增加启动速度,prod模式下必然为1,其它模式下根据用户选择
|
|
106
104
|
|
|
107
|
-
mock
|
|
105
|
+
**mock**
|
|
108
106
|
可选值:1|0
|
|
107
|
+
默认值:0
|
|
109
108
|
是否打开mock
|
|
110
109
|
|
|
111
|
-
|
|
112
|
-
registryType
|
|
110
|
+
**registryType**
|
|
113
111
|
可选值:taobao|zheda|huawei|空值
|
|
112
|
+
默认值:空值
|
|
114
113
|
npm镜像源
|
|
115
114
|
|
|
116
|
-
|
|
117
|
-
dev_mode
|
|
115
|
+
**dev_mode**
|
|
118
116
|
可选值:watch|空值
|
|
117
|
+
默认值:空值
|
|
119
118
|
调试模式是用的watch文件监听,还是webpack-dev-server监听模式
|
|
120
119
|
|
|
121
120
|
report
|
|
@@ -133,6 +132,9 @@ report
|
|
|
133
132
|
|
|
134
133
|
|
|
135
134
|
# 更新日志
|
|
135
|
+
* 1.0.85
|
|
136
|
+
cli工具内增加docker环境工具,用于将当前项目直接在docker内运行
|
|
137
|
+
|
|
136
138
|
* 1.0.82
|
|
137
139
|
增加环境变量:build_log_level ,用于控制输出的日志类型
|
|
138
140
|
|
package/src/build.js
CHANGED
package/src/getTools.js
CHANGED
|
@@ -5,6 +5,9 @@ const {Listr} = require('listr2');
|
|
|
5
5
|
const {TaskNodeVersion,copyDir}= require('./utils');
|
|
6
6
|
const inquirer = require('inquirer');
|
|
7
7
|
const ROOT=path.resolve(__dirname,"../");
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const shelljs = require('shelljs');
|
|
10
|
+
|
|
8
11
|
|
|
9
12
|
/**
|
|
10
13
|
* 创建工具
|
|
@@ -24,7 +27,8 @@ module.exports=async ()=> {
|
|
|
24
27
|
'图片压缩',
|
|
25
28
|
'word转html',
|
|
26
29
|
'iconFont图标字体',
|
|
27
|
-
'资源引用检查'
|
|
30
|
+
'资源引用检查',
|
|
31
|
+
'docker'
|
|
28
32
|
],
|
|
29
33
|
default:''
|
|
30
34
|
},
|
|
@@ -35,7 +39,7 @@ module.exports=async ()=> {
|
|
|
35
39
|
case 'iconFont图标字体':{templateName='iconfont'}break;
|
|
36
40
|
case 'word转html':{templateName='word2html'}break;
|
|
37
41
|
case '资源引用检查':{templateName='fileCase'}break;
|
|
38
|
-
|
|
42
|
+
case 'docker':{templateName='docker'}break;
|
|
39
43
|
}
|
|
40
44
|
}
|
|
41
45
|
|
|
@@ -45,7 +49,14 @@ module.exports=async ()=> {
|
|
|
45
49
|
},
|
|
46
50
|
{
|
|
47
51
|
title: "工具创建中",
|
|
48
|
-
task: () =>
|
|
52
|
+
task: () => {
|
|
53
|
+
let toolsDir= path.resolve(sourceDir,'tools')
|
|
54
|
+
const exists = fs.existsSync(toolsDir);
|
|
55
|
+
if(exists==false){
|
|
56
|
+
shelljs.mkdir(toolsDir);
|
|
57
|
+
}
|
|
58
|
+
copyDir(path.resolve(templatesDir,templateName),path.resolve(toolsDir,templateName))
|
|
59
|
+
}
|
|
49
60
|
},
|
|
50
61
|
]);
|
|
51
62
|
try{
|
|
@@ -3,69 +3,9 @@ then
|
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
checkNode(){
|
|
9
|
-
for line in `node -v`
|
|
10
|
-
do
|
|
11
|
-
if [ $line != $node_version ]
|
|
12
|
-
then
|
|
13
|
-
echo "change Node from $line to $node_version"
|
|
14
|
-
nvm use $node_version
|
|
15
|
-
ret=$?
|
|
16
|
-
if [ $ret != 0 ]
|
|
17
|
-
then
|
|
18
|
-
echo "Please run nvm install $node_version"
|
|
19
|
-
exit 3
|
|
20
|
-
else
|
|
21
|
-
return 0
|
|
22
|
-
fi
|
|
23
|
-
else
|
|
24
|
-
return 0
|
|
25
|
-
fi
|
|
26
|
-
done
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
checkResult(){
|
|
30
|
-
ret=$?
|
|
31
|
-
if [ $ret != 0 ]
|
|
32
|
-
then
|
|
33
|
-
echo "[$1]执行失败"
|
|
34
|
-
exit 2
|
|
35
|
-
return 0
|
|
36
|
-
else
|
|
37
|
-
echo "[$1]执行成功"
|
|
38
|
-
return 0
|
|
39
|
-
fi
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
# 智能检测并安装/升级CLI的版本
|
|
46
|
-
checkKnCli(){
|
|
47
|
-
# dev只需要保持安装了就行,版本通过开发自己控制
|
|
48
|
-
if ! [ -x "$(command -v kn-cli)" ]
|
|
49
|
-
then
|
|
50
|
-
echo "安装kn-cli"
|
|
51
|
-
npm i kn-cli -g
|
|
52
|
-
return 0
|
|
53
|
-
fi
|
|
54
|
-
# for line in `npm view kn-cli version`
|
|
55
|
-
# do
|
|
56
|
-
# for line2 in `kn-cli -v`
|
|
57
|
-
# do
|
|
58
|
-
# if [ $line != $line2 ]
|
|
59
|
-
# then
|
|
60
|
-
# echo "升级kn-cli"
|
|
61
|
-
# npm upgrade kn-cli -g
|
|
62
|
-
# return 0
|
|
63
|
-
# fi
|
|
64
|
-
# done
|
|
65
|
-
# done
|
|
66
|
-
# return 0
|
|
67
|
-
}
|
|
6
|
+
. ./shellUtil.sh
|
|
68
7
|
|
|
8
|
+
node_version="v16.18.0"
|
|
69
9
|
|
|
70
10
|
|
|
71
11
|
build(){
|
|
@@ -82,7 +22,7 @@ build(){
|
|
|
82
22
|
checkResult "kn-cli --dev"
|
|
83
23
|
}
|
|
84
24
|
|
|
85
|
-
checkNode
|
|
25
|
+
checkNode "${node_version}"
|
|
86
26
|
checkResult "检查node"
|
|
87
27
|
|
|
88
28
|
build
|
|
@@ -2,55 +2,13 @@ if [ -d "${HOME}/.nvm/" ]
|
|
|
2
2
|
then
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
|
+
. ./shellUtil.sh
|
|
5
6
|
|
|
6
7
|
export mock=0
|
|
7
8
|
export noSkipNpmInstall=1
|
|
8
9
|
node_version="v16.18.0"
|
|
9
10
|
|
|
10
|
-
checkNode(){
|
|
11
|
-
for line in `node -v`
|
|
12
|
-
do
|
|
13
|
-
if [ $line != $node_version ]
|
|
14
|
-
then
|
|
15
|
-
echo "change Node from $line to $node_version"
|
|
16
|
-
nvm use $node_version
|
|
17
|
-
ret=$?
|
|
18
|
-
if [ $ret != 0 ]
|
|
19
|
-
then
|
|
20
|
-
echo "Please run nvm install $node_version"
|
|
21
|
-
exit 3
|
|
22
|
-
else
|
|
23
|
-
return 0
|
|
24
|
-
fi
|
|
25
|
-
else
|
|
26
|
-
return 0
|
|
27
|
-
fi
|
|
28
|
-
done
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
checkKnCli(){
|
|
33
|
-
if ! [ -x "$(command -v kn-cli)" ]
|
|
34
|
-
then
|
|
35
|
-
npm i kn-cli -g
|
|
36
|
-
return 0
|
|
37
|
-
fi
|
|
38
|
-
return 0
|
|
39
|
-
}
|
|
40
|
-
|
|
41
11
|
|
|
42
|
-
checkResult(){
|
|
43
|
-
ret=$?
|
|
44
|
-
if [ $ret != 0 ]
|
|
45
|
-
then
|
|
46
|
-
echo "[$1]执行失败"
|
|
47
|
-
exit 2
|
|
48
|
-
return 0
|
|
49
|
-
else
|
|
50
|
-
echo "[$1]执行成功"
|
|
51
|
-
return 0
|
|
52
|
-
fi
|
|
53
|
-
}
|
|
54
12
|
|
|
55
13
|
build(){
|
|
56
14
|
npm config delete registry -g
|
|
@@ -76,7 +34,7 @@ build(){
|
|
|
76
34
|
checkResult "复制favicon"
|
|
77
35
|
}
|
|
78
36
|
|
|
79
|
-
checkNode
|
|
37
|
+
checkNode "${node_version}"
|
|
80
38
|
checkResult "检查node"
|
|
81
39
|
|
|
82
40
|
|
|
@@ -1,15 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
then
|
|
5
|
-
echo "[$1]执行失败"
|
|
6
|
-
exit 2
|
|
7
|
-
return 0
|
|
8
|
-
else
|
|
9
|
-
echo "[$1]执行成功"
|
|
10
|
-
return 0
|
|
11
|
-
fi
|
|
12
|
-
}
|
|
1
|
+
|
|
2
|
+
. ./shellUtil.sh
|
|
3
|
+
|
|
13
4
|
|
|
14
5
|
echo "安装git提交钩子脚本 cp prepare-commit-msg ./.git/hooks/prepare-commit-msg"
|
|
15
6
|
ls -A ./.git/
|
|
@@ -3,52 +3,9 @@ then
|
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
checkNode(){
|
|
9
|
-
for line in `node -v`
|
|
10
|
-
do
|
|
11
|
-
if [ $line != $node_version ]
|
|
12
|
-
then
|
|
13
|
-
echo "change Node from $line to $node_version"
|
|
14
|
-
nvm use $node_version
|
|
15
|
-
ret=$?
|
|
16
|
-
if [ $ret != 0 ]
|
|
17
|
-
then
|
|
18
|
-
echo "Please run nvm install $node_version"
|
|
19
|
-
exit 3
|
|
20
|
-
else
|
|
21
|
-
return 0
|
|
22
|
-
fi
|
|
23
|
-
else
|
|
24
|
-
return 0
|
|
25
|
-
fi
|
|
26
|
-
done
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
checkResult(){
|
|
30
|
-
ret=$?
|
|
31
|
-
if [ $ret != 0 ]
|
|
32
|
-
then
|
|
33
|
-
echo "[$1]执行失败"
|
|
34
|
-
exit 2
|
|
35
|
-
return 0
|
|
36
|
-
else
|
|
37
|
-
echo "[$1]执行成功"
|
|
38
|
-
return 0
|
|
39
|
-
fi
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
checkKnCli(){
|
|
44
|
-
if ! [ -x "$(command -v kn-cli)" ]
|
|
45
|
-
then
|
|
46
|
-
npm i kn-cli -g
|
|
47
|
-
return 0
|
|
48
|
-
fi
|
|
49
|
-
return 0
|
|
50
|
-
}
|
|
6
|
+
. ./shellUtil.sh
|
|
51
7
|
|
|
8
|
+
node_version="v16.18.0"
|
|
52
9
|
|
|
53
10
|
build(){
|
|
54
11
|
npm config delete registry -g
|
|
@@ -61,7 +18,7 @@ build(){
|
|
|
61
18
|
checkResult "kn-cli --report"
|
|
62
19
|
}
|
|
63
20
|
|
|
64
|
-
checkNode
|
|
21
|
+
checkNode "${node_version}"
|
|
65
22
|
checkResult "检查node"
|
|
66
23
|
|
|
67
24
|
build
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
checkResult(){
|
|
5
|
+
ret=$?
|
|
6
|
+
if [ $ret != 0 ]
|
|
7
|
+
then
|
|
8
|
+
printf "\e[40;31m [$1] 执行失败 \e[0m\n"
|
|
9
|
+
exit 2
|
|
10
|
+
return 0
|
|
11
|
+
else
|
|
12
|
+
printf "\e[40;32m [$1] 执行成功\e[0m \n"
|
|
13
|
+
return 0
|
|
14
|
+
fi
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
checkKnCli(){
|
|
20
|
+
# 方案一:始终将kn-cli保持为最新版本
|
|
21
|
+
# npm i kn-cli -g
|
|
22
|
+
# return 0
|
|
23
|
+
|
|
24
|
+
# 方案二:保持kn-cli为固定某个版本
|
|
25
|
+
# npm i kn-cli@1.0.26 -g
|
|
26
|
+
# return 0
|
|
27
|
+
|
|
28
|
+
# 方案三:检测未安装时或版本不为最新版本时更新
|
|
29
|
+
if ! [ -x "$(command -v kn-cli)" ]
|
|
30
|
+
then
|
|
31
|
+
echo "安装kn-cli"
|
|
32
|
+
npm i kn-cli -g
|
|
33
|
+
return 0
|
|
34
|
+
fi
|
|
35
|
+
|
|
36
|
+
for line in `npm view kn-cli version`
|
|
37
|
+
do
|
|
38
|
+
for line2 in `kn-cli -v`
|
|
39
|
+
do
|
|
40
|
+
if [ $line != $line2 ]
|
|
41
|
+
then
|
|
42
|
+
echo "升级kn-cli"
|
|
43
|
+
npm upgrade kn-cli -g
|
|
44
|
+
return 0
|
|
45
|
+
fi
|
|
46
|
+
done
|
|
47
|
+
done
|
|
48
|
+
return 0
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
showLog() {
|
|
53
|
+
local text="$1"
|
|
54
|
+
local color="$2"
|
|
55
|
+
local color_code=""
|
|
56
|
+
case "$color" in
|
|
57
|
+
"white") color_code="";;
|
|
58
|
+
"red") color_code="\e[40;31m";;
|
|
59
|
+
"green") color_code="\e[40;32m";;
|
|
60
|
+
"blue") color_code="\e[40;34m";;
|
|
61
|
+
"yellow") color_code="\e[40;33m";;
|
|
62
|
+
*) color_code="\e[40;30m";;
|
|
63
|
+
esac
|
|
64
|
+
printf "%b\n" "${color_code}${text}\e[0m"
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
showNormal(){
|
|
68
|
+
showLog "$1" "white"
|
|
69
|
+
}
|
|
70
|
+
showSuccess() {
|
|
71
|
+
showLog "$1" "green"
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
showError() {
|
|
75
|
+
showLog "$1" "red"
|
|
76
|
+
}
|
|
77
|
+
showWarn() {
|
|
78
|
+
showLog "$1" "yellow"
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
showInput(){
|
|
82
|
+
local text="$1"
|
|
83
|
+
printf "%b" "\e[40;35m${text}\e[0m" >&2
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
checkNode(){
|
|
90
|
+
local node_version="$1"
|
|
91
|
+
|
|
92
|
+
for line in `node -v`
|
|
93
|
+
do
|
|
94
|
+
if [ $line != $node_version ]
|
|
95
|
+
then
|
|
96
|
+
showWarn "change Node from ${line} to ${node_version}"
|
|
97
|
+
nvm use $node_version
|
|
98
|
+
ret=$?
|
|
99
|
+
if [ $ret != 0 ]
|
|
100
|
+
then
|
|
101
|
+
showError "Please run nvm install ${node_version}"
|
|
102
|
+
exit 3
|
|
103
|
+
else
|
|
104
|
+
return 0
|
|
105
|
+
fi
|
|
106
|
+
else
|
|
107
|
+
return 0
|
|
108
|
+
fi
|
|
109
|
+
done
|
|
110
|
+
}
|
|
@@ -1,16 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
|
|
3
|
-
ret=$?
|
|
4
|
-
if [ $ret != 0 ]
|
|
5
|
-
then
|
|
6
|
-
echo "[$1]执行失败"
|
|
7
|
-
exit 2
|
|
8
|
-
return 0
|
|
9
|
-
else
|
|
10
|
-
echo "[$1]执行成功"
|
|
11
|
-
return 0
|
|
12
|
-
fi
|
|
13
|
-
}
|
|
2
|
+
. ./shellUtil.sh
|
|
14
3
|
|
|
15
4
|
# version=$(grep -m1 '"version":' package.json | awk -F'"' '{print $4}')
|
|
16
5
|
# checkResult "获取当前版本号"
|
|
@@ -3,69 +3,9 @@ then
|
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
checkNode(){
|
|
9
|
-
for line in `node -v`
|
|
10
|
-
do
|
|
11
|
-
if [ $line != $node_version ]
|
|
12
|
-
then
|
|
13
|
-
echo "change Node from $line to $node_version"
|
|
14
|
-
nvm use $node_version
|
|
15
|
-
ret=$?
|
|
16
|
-
if [ $ret != 0 ]
|
|
17
|
-
then
|
|
18
|
-
echo "Please run nvm install $node_version"
|
|
19
|
-
exit 3
|
|
20
|
-
else
|
|
21
|
-
return 0
|
|
22
|
-
fi
|
|
23
|
-
else
|
|
24
|
-
return 0
|
|
25
|
-
fi
|
|
26
|
-
done
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
checkResult(){
|
|
30
|
-
ret=$?
|
|
31
|
-
if [ $ret != 0 ]
|
|
32
|
-
then
|
|
33
|
-
echo "[$1]执行失败"
|
|
34
|
-
exit 2
|
|
35
|
-
return 0
|
|
36
|
-
else
|
|
37
|
-
echo "[$1]执行成功"
|
|
38
|
-
return 0
|
|
39
|
-
fi
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
# 智能检测并安装/升级CLI的版本
|
|
46
|
-
checkKnCli(){
|
|
47
|
-
# dev只需要保持安装了就行,版本通过开发自己控制
|
|
48
|
-
if ! [ -x "$(command -v kn-cli)" ]
|
|
49
|
-
then
|
|
50
|
-
echo "安装kn-cli"
|
|
51
|
-
npm i kn-cli -g
|
|
52
|
-
return 0
|
|
53
|
-
fi
|
|
54
|
-
# for line in `npm view kn-cli version`
|
|
55
|
-
# do
|
|
56
|
-
# for line2 in `kn-cli -v`
|
|
57
|
-
# do
|
|
58
|
-
# if [ $line != $line2 ]
|
|
59
|
-
# then
|
|
60
|
-
# echo "升级kn-cli"
|
|
61
|
-
# npm upgrade kn-cli -g
|
|
62
|
-
# return 0
|
|
63
|
-
# fi
|
|
64
|
-
# done
|
|
65
|
-
# done
|
|
66
|
-
# return 0
|
|
67
|
-
}
|
|
6
|
+
. ./shellUtil.sh
|
|
68
7
|
|
|
8
|
+
node_version="v16.18.0"
|
|
69
9
|
|
|
70
10
|
|
|
71
11
|
build(){
|
|
@@ -82,7 +22,7 @@ build(){
|
|
|
82
22
|
checkResult "kn-cli --dev"
|
|
83
23
|
}
|
|
84
24
|
|
|
85
|
-
checkNode
|
|
25
|
+
checkNode "${node_version}"
|
|
86
26
|
checkResult "检查node"
|
|
87
27
|
|
|
88
28
|
build
|