kn-cli 1.0.77 → 1.0.79
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/build.sh +4 -2
- package/build/report.sh +3 -33
- package/build/shellUtil.sh +73 -0
- package/build/start.sh +20 -51
- package/build/webpack.config.js +13 -8
- package/package.json +1 -1
- package/readme.md +7 -1
- package/src/getTools.js +3 -0
package/build/build.sh
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
|
+
. shellUtil.sh
|
|
2
|
+
|
|
1
3
|
if [ ! -n "$build_env" ]
|
|
2
4
|
then
|
|
3
|
-
|
|
5
|
+
showWarn "没有发现build_env,默认设置为prod"
|
|
4
6
|
export build_env="prod"
|
|
5
7
|
fi
|
|
6
8
|
|
|
7
9
|
if [ $build_env = "prod" ]
|
|
8
10
|
then
|
|
9
|
-
|
|
11
|
+
showWarn "cli build模式强制设定 noSkipNpmInstall=1"
|
|
10
12
|
export noSkipNpmInstall=1
|
|
11
13
|
fi
|
|
12
14
|
export mock=0
|
package/build/report.sh
CHANGED
|
@@ -3,41 +3,11 @@ then
|
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
checkResult(){
|
|
8
|
-
ret=$?
|
|
9
|
-
if [ $ret != 0 ]
|
|
10
|
-
then
|
|
11
|
-
echo "[$1]执行失败"
|
|
12
|
-
exit 2
|
|
13
|
-
return 0
|
|
14
|
-
else
|
|
15
|
-
echo "[$1]执行成功"
|
|
16
|
-
return 0
|
|
17
|
-
fi
|
|
18
|
-
}
|
|
6
|
+
. shellUtil.sh
|
|
19
7
|
|
|
20
8
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
do
|
|
24
|
-
if [ $line != $node_version ]
|
|
25
|
-
then
|
|
26
|
-
echo "change Node from $line to $node_version"
|
|
27
|
-
nvm use $node_version
|
|
28
|
-
ret=$?
|
|
29
|
-
if [ $ret != 0 ]
|
|
30
|
-
then
|
|
31
|
-
echo "Please run nvm install $node_version"
|
|
32
|
-
exit 3
|
|
33
|
-
else
|
|
34
|
-
return 0
|
|
35
|
-
fi
|
|
36
|
-
else
|
|
37
|
-
return 0
|
|
38
|
-
fi
|
|
39
|
-
done
|
|
40
|
-
}
|
|
9
|
+
node_version="v16.18.0"
|
|
10
|
+
checkNode $node_version
|
|
41
11
|
|
|
42
12
|
export build_env=prod
|
|
43
13
|
export mock=0
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
checkResult(){
|
|
5
|
+
ret=$?
|
|
6
|
+
if [ $ret != 0 ]
|
|
7
|
+
then
|
|
8
|
+
printf "[$1] \e[40;31m 执行失败 \e[0m\n"
|
|
9
|
+
exit 2
|
|
10
|
+
return 0
|
|
11
|
+
else
|
|
12
|
+
printf "[$1] \e[40;32m 执行成功\e[0m \n"
|
|
13
|
+
return 0
|
|
14
|
+
fi
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
showLog() {
|
|
20
|
+
local text="$1"
|
|
21
|
+
local color="$2"
|
|
22
|
+
local color_code=""
|
|
23
|
+
case "$color" in
|
|
24
|
+
"red") color_code="\e[40;31m";;
|
|
25
|
+
"green") color_code="\e[40;32m";;
|
|
26
|
+
"blue") color_code="\e[40;34m";;
|
|
27
|
+
"yellow") color_code="\e[40;33m";;
|
|
28
|
+
*) color_code="";;
|
|
29
|
+
esac
|
|
30
|
+
printf "%b\n" "${color_code}${text}\e[0m"
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
showSuccess() {
|
|
34
|
+
showLog "$1" "green"
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
showError() {
|
|
38
|
+
showLog "$1" "red"
|
|
39
|
+
}
|
|
40
|
+
showWarn() {
|
|
41
|
+
showLog "$1" "yellow"
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
showInput(){
|
|
45
|
+
local text="$1"
|
|
46
|
+
printf "%b" "\e[40;35m${text}\e[0m" >&2
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
|
|
52
|
+
checkNode(){
|
|
53
|
+
local node_version="$1"
|
|
54
|
+
|
|
55
|
+
for line in `node -v`
|
|
56
|
+
do
|
|
57
|
+
if [ $line != $node_version ]
|
|
58
|
+
then
|
|
59
|
+
showWarn "change Node from ${line} to ${node_version}"
|
|
60
|
+
nvm use $node_version
|
|
61
|
+
ret=$?
|
|
62
|
+
if [ $ret != 0 ]
|
|
63
|
+
then
|
|
64
|
+
showError "Please run nvm install ${node_version}"
|
|
65
|
+
exit 3
|
|
66
|
+
else
|
|
67
|
+
return 0
|
|
68
|
+
fi
|
|
69
|
+
else
|
|
70
|
+
return 0
|
|
71
|
+
fi
|
|
72
|
+
done
|
|
73
|
+
}
|
package/build/start.sh
CHANGED
|
@@ -2,49 +2,17 @@ if [ -d "${HOME}/.nvm/" ]
|
|
|
2
2
|
then
|
|
3
3
|
. ${HOME}/.nvm/nvm.sh
|
|
4
4
|
fi
|
|
5
|
+
. shellUtil.sh
|
|
5
6
|
|
|
6
|
-
node_version="v16.18.0"
|
|
7
7
|
|
|
8
|
-
checkResult(){
|
|
9
|
-
ret=$?
|
|
10
|
-
if [ $ret != 0 ]
|
|
11
|
-
then
|
|
12
|
-
echo "[$1]执行失败"
|
|
13
|
-
exit 2
|
|
14
|
-
return 0
|
|
15
|
-
else
|
|
16
|
-
echo "[$1]执行成功"
|
|
17
|
-
return 0
|
|
18
|
-
fi
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
checkNode(){
|
|
22
|
-
for line in `node -v`
|
|
23
|
-
do
|
|
24
|
-
if [ $line != $node_version ]
|
|
25
|
-
then
|
|
26
|
-
echo "change Node from $line to $node_version"
|
|
27
|
-
nvm use $node_version
|
|
28
|
-
ret=$?
|
|
29
|
-
if [ $ret != 0 ]
|
|
30
|
-
then
|
|
31
|
-
echo "Please run nvm install $node_version"
|
|
32
|
-
exit 3
|
|
33
|
-
else
|
|
34
|
-
return 0
|
|
35
|
-
fi
|
|
36
|
-
else
|
|
37
|
-
return 0
|
|
38
|
-
fi
|
|
39
|
-
done
|
|
40
|
-
}
|
|
41
8
|
|
|
42
9
|
setEnv(){
|
|
43
|
-
|
|
10
|
+
showLog "检查build_env:${build_env}"
|
|
44
11
|
|
|
45
12
|
if [ ! -n "$build_env" ]
|
|
46
13
|
then
|
|
47
|
-
|
|
14
|
+
showInput "选择环境 [1:本地调试] [2:测试] [3:生产]: "
|
|
15
|
+
read apiEnv
|
|
48
16
|
if [ ! -n "$apiEnv" ]
|
|
49
17
|
then
|
|
50
18
|
export build_env="localdebug"
|
|
@@ -59,56 +27,58 @@ setEnv(){
|
|
|
59
27
|
fi
|
|
60
28
|
fi
|
|
61
29
|
|
|
62
|
-
|
|
30
|
+
showWarn "编译环境:${build_env}"
|
|
63
31
|
}
|
|
64
32
|
|
|
65
33
|
setMock(){
|
|
66
|
-
|
|
34
|
+
showLog "检查mock:${mock}"
|
|
67
35
|
if [ ! -n "$mock" ]
|
|
68
36
|
then
|
|
69
|
-
|
|
37
|
+
showInput "是否打开mock [1:打开] [2:不打开]: "
|
|
38
|
+
read mockOpen
|
|
70
39
|
export mock=0
|
|
71
40
|
if [ -n "$mockOpen" ] && [ $mockOpen = "1" ]
|
|
72
41
|
then
|
|
73
42
|
export mock=1
|
|
74
43
|
fi
|
|
75
44
|
fi
|
|
76
|
-
|
|
45
|
+
showWarn "mock开关:${mock}"
|
|
77
46
|
}
|
|
78
47
|
|
|
79
48
|
setNpmSetup(){
|
|
80
|
-
|
|
49
|
+
showLog "检查noSkipNpmInstall:${noSkipNpmInstall}"
|
|
81
50
|
if [ ! -n "$noSkipNpmInstall" ]
|
|
82
51
|
then
|
|
83
|
-
|
|
52
|
+
showInput "跳过环境初始化?[1]:不跳过,[其它]:跳过 "
|
|
53
|
+
read noSkipNpmInstall
|
|
84
54
|
fi
|
|
85
55
|
|
|
86
56
|
if [ -n "$noSkipNpmInstall" ] && [ $noSkipNpmInstall = "1" ]
|
|
87
57
|
then
|
|
88
|
-
|
|
58
|
+
showLog "开始npm install"
|
|
89
59
|
npm config delete registry -g
|
|
90
60
|
npm config delete registry
|
|
91
61
|
|
|
92
|
-
|
|
62
|
+
showLog "使用npm默认镜像源"
|
|
93
63
|
if [ -n "$registryType" ]
|
|
94
64
|
then
|
|
95
65
|
if [ $registryType = "taobao" ]
|
|
96
66
|
then
|
|
97
|
-
|
|
67
|
+
showLog "切换到淘宝npm源"
|
|
98
68
|
npm config set registry https://registry.npm.taobao.org
|
|
99
69
|
npm config set registry https://registry.npm.taobao.org -g
|
|
100
70
|
fi
|
|
101
71
|
|
|
102
72
|
if [ $registryType = "zheda" ]
|
|
103
73
|
then
|
|
104
|
-
|
|
74
|
+
showLog "切换到浙大源"
|
|
105
75
|
npm config set registry https://mirrors.zju.edu.cn/npm
|
|
106
76
|
npm config set registry https://mirrors.zju.edu.cn/npm -g
|
|
107
77
|
fi
|
|
108
78
|
|
|
109
79
|
if [ $registryType = "huawei" ]
|
|
110
80
|
then
|
|
111
|
-
|
|
81
|
+
showLog "切换到华为源"
|
|
112
82
|
npm config set registry https://repo.huaweicloud.com/repository/npm/
|
|
113
83
|
npm config set registry https://repo.huaweicloud.com/repository/npm/ -g
|
|
114
84
|
fi
|
|
@@ -116,7 +86,7 @@ setNpmSetup(){
|
|
|
116
86
|
npm install
|
|
117
87
|
checkResult "npm install"
|
|
118
88
|
else
|
|
119
|
-
|
|
89
|
+
showWarn "跳过 npm install"
|
|
120
90
|
fi
|
|
121
91
|
}
|
|
122
92
|
|
|
@@ -127,11 +97,10 @@ build(){
|
|
|
127
97
|
rm -rf __dirname/dist
|
|
128
98
|
checkResult "清理dist"
|
|
129
99
|
|
|
130
|
-
|
|
131
100
|
|
|
132
101
|
if [ -n "$build_type" ] && [ $build_type = "dev" ]
|
|
133
102
|
then
|
|
134
|
-
|
|
103
|
+
showLog "开始npm run dev"
|
|
135
104
|
if [ "${dev_mode}" = "watch" ]
|
|
136
105
|
then
|
|
137
106
|
npm run dev:watch
|
|
@@ -141,7 +110,7 @@ build(){
|
|
|
141
110
|
checkResult "npm run dev"
|
|
142
111
|
fi
|
|
143
112
|
else
|
|
144
|
-
|
|
113
|
+
showLog "开始npm run build"
|
|
145
114
|
npm run build
|
|
146
115
|
checkResult "npm run build"
|
|
147
116
|
fi
|
package/build/webpack.config.js
CHANGED
|
@@ -23,14 +23,19 @@ if(existsCli){
|
|
|
23
23
|
|
|
24
24
|
const dirname = __dirname;
|
|
25
25
|
const webpackPath=__webpackPath;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
console.log(
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
function warn(txt){
|
|
29
|
+
console.log(`\x1b[40;32m %s \x1b[0m`,txt);
|
|
30
|
+
}
|
|
31
|
+
warn(`=====================env=========================`);
|
|
32
|
+
warn(`dirname:${dirname}`);
|
|
33
|
+
warn(`webpackPath:${webpackPath}`);
|
|
34
|
+
warn(`build_env:${process.env.build_env}`);
|
|
35
|
+
warn(`mock:${process.env.mock}`);
|
|
36
|
+
warn(`noSkipNpmInstall:${process.env.noSkipNpmInstall}`);
|
|
37
|
+
warn(path.resolve(dirname,'node_modules'));
|
|
38
|
+
warn(`=====================env end=========================`);
|
|
34
39
|
|
|
35
40
|
const devMode = process.env.build_env !== 'prod';
|
|
36
41
|
const hashMode = CLI_CONFIG?.hashMode ?? process.env.build_env != 'localdebug';
|
package/package.json
CHANGED
package/readme.md
CHANGED
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
# cli 其它常用方法
|
|
25
25
|
1. 查看版本号: `kn-cli -v`
|
|
26
26
|
2. 创建辅助工具:`kn-cli --tool`
|
|
27
|
-
目前辅助工具有:图片压缩、word转html、iconfont
|
|
27
|
+
目前辅助工具有:图片压缩、word转html、iconfont、资源引用检查
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
# cli.config.js - 构建配置文件
|
|
@@ -97,6 +97,12 @@ module.exports = {
|
|
|
97
97
|
|
|
98
98
|
|
|
99
99
|
# 更新日志
|
|
100
|
+
* 1.0.77
|
|
101
|
+
构建shell优化
|
|
102
|
+
|
|
103
|
+
* 1.0.76
|
|
104
|
+
cli工具内增加资源引用检查工具,用来检查是否有大小写不匹配的资源引用
|
|
105
|
+
|
|
100
106
|
* 1.0.75
|
|
101
107
|
工程模版内jsconfig.json格式纠正
|
|
102
108
|
|
package/src/getTools.js
CHANGED
|
@@ -24,6 +24,7 @@ module.exports=async ()=> {
|
|
|
24
24
|
'图片压缩',
|
|
25
25
|
'word转html',
|
|
26
26
|
'iconFont图标字体',
|
|
27
|
+
'资源引用检查'
|
|
27
28
|
],
|
|
28
29
|
default:''
|
|
29
30
|
},
|
|
@@ -33,6 +34,8 @@ module.exports=async ()=> {
|
|
|
33
34
|
case '图片压缩':{templateName='tinypng'}break;
|
|
34
35
|
case 'iconFont图标字体':{templateName='iconfont'}break;
|
|
35
36
|
case 'word转html':{templateName='word2html'}break;
|
|
37
|
+
case '资源引用检查':{templateName='fileCase'}break;
|
|
38
|
+
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
|