cloudcc-cli 1.5.6 → 1.5.7

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.
Files changed (49) hide show
  1. package/README.md +9 -0
  2. package/bin/cc.js +44 -0
  3. package/bin/plugin.js +7 -0
  4. package/bin/project.js +7 -0
  5. package/cloudcc-cli/accessToken +1 -0
  6. package/package.json +6 -12
  7. package/src/classes/create.js +43 -0
  8. package/src/classes/index.js +8 -0
  9. package/src/classes/publish.js +47 -0
  10. package/src/plugin/create.js +80 -0
  11. package/src/plugin/index.js +8 -0
  12. package/src/{builderPlugin.js → plugin/publish.js} +2 -3
  13. package/src/{creatorTemProject.js → project/create.js} +14 -18
  14. package/template/demojava +15 -0
  15. package/template/index.js +19 -7
  16. package/template/javaconfigjson +3 -0
  17. package/utils/checkVersion.js +1 -1
  18. package/utils/http.js +24 -1
  19. package/utils/utils.js +45 -0
  20. package/bin/build.js +0 -7
  21. package/bin/buildccbasesdk.js +0 -7
  22. package/bin/buildccsdk.js +0 -7
  23. package/bin/buildtag.js +0 -7
  24. package/bin/create.js +0 -7
  25. package/bin/createPlugin.js +0 -7
  26. package/bin/publish.js +0 -7
  27. package/bin/publishBuild.js +0 -7
  28. package/bin/publishh5.js +0 -7
  29. package/bin/publishh5Build.js +0 -7
  30. package/src/buildTag.js +0 -75
  31. package/src/builderBaseSDK.js +0 -90
  32. package/src/builderCreate.js +0 -84
  33. package/src/builderSDK.js +0 -162
  34. package/src/publishProject.js +0 -221
  35. package/src/publishProjectBuild.js +0 -223
  36. package/src/publishProjectH5.js +0 -218
  37. package/src/publishProjectH5Build.js +0 -224
  38. package/utils/askTool.js +0 -96
  39. package/utils/changeVersion copy.js +0 -75
  40. package/utils/changeVersion.js +0 -24
  41. package/utils/deploy.js +0 -9
  42. package/utils/encryption.js +0 -20
  43. package/utils/github-markdown.min.css +0 -2
  44. package/utils/md2html.js +0 -89
  45. package/utils/notifyIM.js +0 -87
  46. package/utils/pushCode.js +0 -202
  47. package/utils/trigger.js +0 -23
  48. package/utils/updatei18n.js +0 -127
  49. package/utils/writeVersion.js +0 -56
package/utils/askTool.js DELETED
@@ -1,96 +0,0 @@
1
- // 同步执行exe命令
2
- const exec = require('child_process').execSync;
3
- // 文件管理器
4
- const fs = require('fs');
5
- // 配置信息
6
- const projectConfig = JSON.parse(fs.readFileSync('package.json', 'utf8'))
7
- // 常用控制台交互
8
- const inquirer = require("inquirer")
9
-
10
- let choices = [
11
- { name: "客户环境-Release", value: "Release" },
12
- { name: "客户环境-Release-99", value: "Release-99" },
13
- { name: "公司环境-GA", value: "GA" },
14
- { name: "预生产环境-RC", value: "RC" },
15
- { name: "预生产环境-RC-99", value: "RC-99" },
16
- { name: "uat环境-Beta", value: "Beta" },
17
- { name: "研发联调环境-Dev", value: "Dev" }
18
- ]
19
-
20
- module.exports = {
21
- /**
22
- * 询问要创建的tag名称
23
- * @returns 结果
24
- */
25
- askTag: (message) => {
26
- const prompt = [{
27
- type: 'list',
28
- message,
29
- name: 'type',
30
- choices: choices,
31
- }
32
- ];
33
- return inquirer.prompt(prompt)
34
- },
35
- /**
36
- * 请求版本信息
37
- * @returns 结果
38
- */
39
- askType: () => {
40
- // 如果存在配置,那么从配置中读取
41
- if (projectConfig && projectConfig.config) {
42
- let branch = exec('git branch --show-current');
43
- branch = branch.toString("utf8").trim();
44
- choices = projectConfig.config["branch-" + branch]
45
- if (choices) {
46
- choices.push({ name: "其他", value: "other" })
47
- } else {
48
- choices = projectConfig.config["branch-other"]
49
- }
50
- }
51
- const prompt = [{
52
- type: 'list',
53
- message: '请选择发布版本:',
54
- name: 'type',
55
- choices: choices,
56
- }
57
- ];
58
- return inquirer.prompt(prompt)
59
- },
60
- /**
61
- * 请求版本信息
62
- * @returns 结果
63
- */
64
- askTypeOther: () => {
65
- // 如果存在配置,那么从配置中读取
66
- if (projectConfig && projectConfig.config) {
67
- choices = projectConfig.config["branch-other"]
68
- }
69
- const prompt = [{
70
- type: 'list',
71
- message: '请选择发布版本:',
72
- name: 'type',
73
- choices: choices,
74
- }
75
- ];
76
- return inquirer.prompt(prompt)
77
- },
78
-
79
- /**
80
- * 询问打包方式:本地打包,云打包
81
- * @returns 结果
82
- */
83
- askBuildType: () => {
84
- const prompt = [{
85
- type: 'list',
86
- message: '请选择打包方式:',
87
- name: 'buildType',
88
- choices: [
89
- { name: "云打包", value: "online" },
90
- { name: "本地打包", value: "local" },
91
- ],
92
- }
93
- ];
94
- return inquirer.prompt(prompt)
95
- }
96
- }
@@ -1,75 +0,0 @@
1
-
2
- function change(ori) {
3
- //   let ori = "12.0.9";
4
- let split = ori.split(".");
5
- let ret = "";
6
- if (split.length == 4) {
7
- // 12.1.0.0 形式的
8
- for (let i = 0; i < split.length; i++) {
9
- let last = split[3];
10
- if (last < 9999) {
11
- last++;
12
- ret = split[0] + "." + split[1] + "." + split[2] + "." + last;
13
- break;
14
- } else {
15
- let second = split[2];
16
- if (second < 9) {
17
- second++;
18
- ret = split[0] + "." + split[1] + "." + second + ".0";
19
- break;
20
- } else {
21
- let third = split[1];
22
- if (third < 9) {
23
- third++;
24
- ret = split[0] + "." + third + ".0" + ".0";
25
- break;
26
- } else {
27
- let forth = split[0];
28
- forth++;
29
- ret = forth + ".0.0.0";
30
- break;
31
- }
32
- }
33
- }
34
- }
35
- return ret;
36
- } else {
37
- // 12.0.9 形式的
38
- for (let i = 0; i < split.length; i++) {
39
- let last = split[2];
40
- if (last < 9) {
41
- last++;
42
- ret = split[0] + "." + split[1] + "." + last;
43
- break;
44
- } else {
45
- let second = split[1];
46
- if (second < 9) {
47
- second++;
48
- ret = split[0] + "." + second + ".0";
49
- break;
50
- } else {
51
- let third = split[0];
52
- third++;
53
- ret = third + ".0.0";
54
- break;
55
- }
56
- }
57
- }
58
- return ret;
59
- }
60
- }
61
- module.exports = { change }
62
-
63
-
64
-
65
- /**
66
- * 修改版本号
67
- * @param {ori} 版本号
68
- * @param {type} 类型:Dev,uat,GA,Release
69
- * @returns 新的版本号
70
- */
71
- // 需要更新第二位
72
- const updateSecond = ["Release"];
73
-
74
- // 需要更新第三位
75
- const updateLast = ["Dev", "uat", "GA", "RC"];
@@ -1,24 +0,0 @@
1
- /**
2
- * 修改版本号
3
- * @param {ori} 版本号:12.0.123
4
- * @param {type} 类型:Dev,uat,GA,Release
5
- * @returns 新的版本号
6
- */
7
- // 需要更新第二位
8
- const updateSecond = ["Stable"];
9
-
10
- function change(version, type) {
11
- if (version) {
12
- let split = version.split(".");
13
- let ret = version;
14
- if (split && split.length === 3) {
15
- if (updateSecond.includes(type)) {
16
- ret = split[0] + "." + (++split[1]) + "." + split[2];
17
- } else {
18
- ret = split[0] + "." + split[1] + "." + (++split[2]);
19
- }
20
- }
21
- return ret;
22
- }
23
- }
24
- module.exports = { change }
package/utils/deploy.js DELETED
@@ -1,9 +0,0 @@
1
- /**
2
- * 版本发布
3
- */
4
- const axios = require("axios")
5
- module.exports = {
6
- deploy: (url) => {
7
- axios.post(url);
8
- },
9
- }
@@ -1,20 +0,0 @@
1
- const CryptoJS = require("crypto-js");
2
-
3
- const keyCode = "646576636f6e736f6c652d7376633132"
4
- module.exports = {
5
- en(word, keyStr = keyCode) {
6
- let enc = CryptoJS.AES.encrypt(word, CryptoJS.enc.Hex.parse(keyStr), {
7
- mode: CryptoJS.mode.ECB,
8
- padding: CryptoJS.pad.Pkcs7
9
- })
10
- return enc.ciphertext.toString()
11
- },
12
-
13
- de(word, keyStr = keyCode) {
14
- let dec = CryptoJS.AES.decrypt(CryptoJS.format.Hex.parse(word), CryptoJS.enc.Hex.parse(keyStr), {
15
- mode: CryptoJS.mode.ECB,
16
- padding: CryptoJS.pad.Pkcs7
17
- })
18
- return CryptoJS.enc.Utf8.stringify(dec)
19
- }
20
- };
@@ -1,2 +0,0 @@
1
- @font-face{font-family:octicons-link;src:url(data:font/woff;charset=utf-8;base64,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) format('woff')}.markdown-body .octicon{display:inline-block;fill:currentColor;vertical-align:text-bottom}.markdown-body .anchor{float:left;line-height:1;margin-left:-20px;padding-right:4px}.markdown-body .anchor:focus{outline:0}.markdown-body h1 .octicon-link,.markdown-body h2 .octicon-link,.markdown-body h3 .octicon-link,.markdown-body h4 .octicon-link,.markdown-body h5 .octicon-link,.markdown-body h6 .octicon-link{color:#1b1f23;vertical-align:middle;visibility:hidden}.markdown-body h1:hover .anchor,.markdown-body h2:hover .anchor,.markdown-body h3:hover .anchor,.markdown-body h4:hover .anchor,.markdown-body h5:hover .anchor,.markdown-body h6:hover .anchor{text-decoration:none}.markdown-body h1:hover .anchor .octicon-link,.markdown-body h2:hover .anchor .octicon-link,.markdown-body h3:hover .anchor .octicon-link,.markdown-body h4:hover .anchor .octicon-link,.markdown-body h5:hover .anchor .octicon-link,.markdown-body h6:hover .anchor .octicon-link{visibility:visible}.markdown-body{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;color:#24292e;line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol;font-size:16px;line-height:1.5;word-wrap:break-word}.markdown-body .pl-c{color:#6a737d}.markdown-body .pl-c1,.markdown-body .pl-s .pl-v{color:#005cc5}.markdown-body .pl-e,.markdown-body .pl-en{color:#6f42c1}.markdown-body .pl-s .pl-s1,.markdown-body .pl-smi{color:#24292e}.markdown-body .pl-ent{color:#22863a}.markdown-body .pl-k{color:#d73a49}.markdown-body .pl-pds,.markdown-body .pl-s,.markdown-body .pl-s .pl-pse .pl-s1,.markdown-body .pl-sr,.markdown-body .pl-sr .pl-cce,.markdown-body .pl-sr .pl-sra,.markdown-body .pl-sr .pl-sre{color:#032f62}.markdown-body .pl-smw,.markdown-body .pl-v{color:#e36209}.markdown-body .pl-bu{color:#b31d28}.markdown-body .pl-ii{background-color:#b31d28;color:#fafbfc}.markdown-body .pl-c2{background-color:#d73a49;color:#fafbfc}.markdown-body .pl-c2:before{content:"^M"}.markdown-body .pl-sr .pl-cce{color:#22863a;font-weight:700}.markdown-body .pl-ml{color:#735c0f}.markdown-body .pl-mh,.markdown-body .pl-mh .pl-en,.markdown-body .pl-ms{color:#005cc5;font-weight:700}.markdown-body .pl-mi{color:#24292e;font-style:italic}.markdown-body .pl-mb{color:#24292e;font-weight:700}.markdown-body .pl-md{background-color:#ffeef0;color:#b31d28}.markdown-body .pl-mi1{background-color:#f0fff4;color:#22863a}.markdown-body .pl-mc{background-color:#ffebda;color:#e36209}.markdown-body .pl-mi2{background-color:#005cc5;color:#f6f8fa}.markdown-body .pl-mdr{color:#6f42c1;font-weight:700}.markdown-body .pl-ba{color:#586069}.markdown-body .pl-sg{color:#959da5}.markdown-body .pl-corl{color:#032f62;text-decoration:underline}.markdown-body details{display:block}.markdown-body summary{display:list-item}.markdown-body a{background-color:transparent}.markdown-body a:active,.markdown-body a:hover{outline-width:0}.markdown-body strong{font-weight:inherit;font-weight:bolder}.markdown-body h1{font-size:2em;margin:.67em 0}.markdown-body img{border-style:none}.markdown-body code,.markdown-body kbd,.markdown-body pre{font-family:monospace,monospace;font-size:1em}.markdown-body hr{box-sizing:content-box;height:0;overflow:visible}.markdown-body input{font:inherit;margin:0}.markdown-body input{overflow:visible}.markdown-body [type=checkbox]{box-sizing:border-box;padding:0}.markdown-body *{box-sizing:border-box}.markdown-body input{font-family:inherit;font-size:inherit;line-height:inherit}.markdown-body a{color:#0366d6;text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body strong{font-weight:600}.markdown-body hr{background:0 0;border:0;border-bottom:1px solid #dfe2e5;height:0;margin:15px 0;overflow:hidden}.markdown-body hr:before{content:"";display:table}.markdown-body hr:after{clear:both;content:"";display:table}.markdown-body table{border-collapse:collapse;border-spacing:0}.markdown-body td,.markdown-body th{padding:0}.markdown-body details summary{cursor:pointer}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-bottom:0;margin-top:0}.markdown-body h1{font-size:32px}.markdown-body h1,.markdown-body h2{font-weight:600}.markdown-body h2{font-size:24px}.markdown-body h3{font-size:20px}.markdown-body h3,.markdown-body h4{font-weight:600}.markdown-body h4{font-size:16px}.markdown-body h5{font-size:14px}.markdown-body h5,.markdown-body h6{font-weight:600}.markdown-body h6{font-size:12px}.markdown-body p{margin-bottom:10px;margin-top:0}.markdown-body blockquote{margin:0}.markdown-body ol,.markdown-body ul{margin-bottom:0;margin-top:0;padding-left:0}.markdown-body ol ol,.markdown-body ul ol{list-style-type:lower-roman}.markdown-body ol ol ol,.markdown-body ol ul ol,.markdown-body ul ol ol,.markdown-body ul ul ol{list-style-type:lower-alpha}.markdown-body dd{margin-left:0}.markdown-body code,.markdown-body pre{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px}.markdown-body pre{margin-bottom:0;margin-top:0}.markdown-body input::-webkit-inner-spin-button,.markdown-body input::-webkit-outer-spin-button{-webkit-appearance:none;appearance:none;margin:0}.markdown-body .border{border:1px solid #e1e4e8!important}.markdown-body .border-0{border:0!important}.markdown-body .border-bottom{border-bottom:1px solid #e1e4e8!important}.markdown-body .rounded-1{border-radius:3px!important}.markdown-body .bg-white{background-color:#fff!important}.markdown-body .bg-gray-light{background-color:#fafbfc!important}.markdown-body .text-gray-light{color:#6a737d!important}.markdown-body .mb-0{margin-bottom:0!important}.markdown-body .my-2{margin-bottom:8px!important;margin-top:8px!important}.markdown-body .pl-0{padding-left:0!important}.markdown-body .py-0{padding-bottom:0!important;padding-top:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .py-2{padding-bottom:8px!important;padding-top:8px!important}.markdown-body .pl-3,.markdown-body .px-3{padding-left:16px!important}.markdown-body .px-3{padding-right:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .f6{font-size:12px!important}.markdown-body .lh-condensed{line-height:1.25!important}.markdown-body .text-bold{font-weight:600!important}.markdown-body:before{content:"";display:table}.markdown-body:after{clear:both;content:"";display:table}.markdown-body>:first-child{margin-top:0!important}.markdown-body>:last-child{margin-bottom:0!important}.markdown-body a:not([href]){color:inherit;text-decoration:none}.markdown-body blockquote,.markdown-body dl,.markdown-body ol,.markdown-body p,.markdown-body pre,.markdown-body table,.markdown-body ul{margin-bottom:16px;margin-top:0}.markdown-body hr{background-color:#e1e4e8;border:0;height:.25em;margin:24px 0;padding:0}.markdown-body blockquote{border-left:.25em solid #dfe2e5;color:#6a737d;padding:0 1em}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body kbd{background-color:#fafbfc;border:1px solid #c6cbd1;border-bottom-color:#959da5;border-radius:3px;box-shadow:inset 0 -1px 0 #959da5;color:#444d56;display:inline-block;font-size:11px;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{font-weight:600;line-height:1.25;margin-bottom:16px;margin-top:24px}.markdown-body h1{font-size:2em}.markdown-body h1,.markdown-body h2{border-bottom:1px solid #eaecef;padding-bottom:.3em}.markdown-body h2{font-size:1.5em}.markdown-body h3{font-size:1.25em}.markdown-body h4{font-size:1em}.markdown-body h5{font-size:.875em}.markdown-body h6{color:#6a737d;font-size:.85em}.markdown-body ol,.markdown-body ul{padding-left:2em}.markdown-body ol ol,.markdown-body ol ul,.markdown-body ul ol,.markdown-body ul ul{margin-bottom:0;margin-top:0}.markdown-body li{word-wrap:break-all}.markdown-body li>p{margin-top:16px}.markdown-body li+li{margin-top:.25em}.markdown-body dl{padding:0}.markdown-body dl dt{font-size:1em;font-style:italic;font-weight:600;margin-top:16px;padding:0}.markdown-body dl dd{margin-bottom:16px;padding:0 16px}.markdown-body table{display:block;overflow:auto;width:100%}.markdown-body table th{font-weight:600}.markdown-body table td,.markdown-body table th{border:1px solid #dfe2e5;padding:6px 13px}.markdown-body table tr{background-color:#fff;border-top:1px solid #c6cbd1}.markdown-body table tr:nth-child(2n){background-color:#f6f8fa}.markdown-body img{background-color:#fff;box-sizing:content-box;max-width:100%}.markdown-body img[align=right]{padding-left:20px}.markdown-body img[align=left]{padding-right:20px}.markdown-body code{background-color:rgba(27,31,35,.05);border-radius:3px;font-size:85%;margin:0;padding:.2em .4em}.markdown-body pre{word-wrap:normal}.markdown-body pre>code{background:0 0;border:0;font-size:100%;margin:0;padding:0;white-space:pre;word-break:normal}.markdown-body .highlight{margin-bottom:16px}.markdown-body .highlight pre{margin-bottom:0;word-break:normal}.markdown-body .highlight pre,.markdown-body pre{background-color:#f6f8fa;border-radius:3px;font-size:85%;line-height:1.45;overflow:auto;padding:16px}.markdown-body pre code{background-color:transparent;border:0;display:inline;line-height:inherit;margin:0;max-width:auto;overflow:visible;padding:0;word-wrap:normal}.markdown-body .commit-tease-sha{color:#444d56;display:inline-block;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:90%}.markdown-body .blob-wrapper{border-bottom-left-radius:3px;border-bottom-right-radius:3px;overflow-x:auto;overflow-y:hidden}.markdown-body .blob-wrapper-embedded{max-height:240px;overflow-y:auto}.markdown-body .blob-num{-moz-user-select:none;-ms-user-select:none;-webkit-user-select:none;color:rgba(27,31,35,.3);cursor:pointer;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;line-height:20px;min-width:50px;padding-left:10px;padding-right:10px;text-align:right;user-select:none;vertical-align:top;white-space:nowrap;width:1%}.markdown-body .blob-num:hover{color:rgba(27,31,35,.6)}.markdown-body .blob-num:before{content:attr(data-line-number)}.markdown-body .blob-code{line-height:20px;padding-left:10px;padding-right:10px;position:relative;vertical-align:top}.markdown-body .blob-code-inner{color:#24292e;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:12px;overflow:visible;white-space:pre;word-wrap:normal}.markdown-body .pl-token.active,.markdown-body .pl-token:hover{background:#ffea7f;cursor:pointer}.markdown-body kbd{background-color:#fafbfc;border:1px solid #d1d5da;border-bottom-color:#c6cbd1;border-radius:3px;box-shadow:inset 0 -1px 0 #c6cbd1;color:#444d56;display:inline-block;font:11px SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;line-height:10px;padding:3px 5px;vertical-align:middle}.markdown-body :checked+.radio-label{border-color:#0366d6;position:relative;z-index:1}.markdown-body .tab-size[data-tab-size="1"]{-moz-tab-size:1;tab-size:1}.markdown-body .tab-size[data-tab-size="2"]{-moz-tab-size:2;tab-size:2}.markdown-body .tab-size[data-tab-size="3"]{-moz-tab-size:3;tab-size:3}.markdown-body .tab-size[data-tab-size="4"]{-moz-tab-size:4;tab-size:4}.markdown-body .tab-size[data-tab-size="5"]{-moz-tab-size:5;tab-size:5}.markdown-body .tab-size[data-tab-size="6"]{-moz-tab-size:6;tab-size:6}.markdown-body .tab-size[data-tab-size="7"]{-moz-tab-size:7;tab-size:7}.markdown-body .tab-size[data-tab-size="8"]{-moz-tab-size:8;tab-size:8}.markdown-body .tab-size[data-tab-size="9"]{-moz-tab-size:9;tab-size:9}.markdown-body .tab-size[data-tab-size="10"]{-moz-tab-size:10;tab-size:10}.markdown-body .tab-size[data-tab-size="11"]{-moz-tab-size:11;tab-size:11}.markdown-body .tab-size[data-tab-size="12"]{-moz-tab-size:12;tab-size:12}.markdown-body .task-list-item{list-style-type:none}.markdown-body .task-list-item+.task-list-item{margin-top:3px}.markdown-body .task-list-item input{margin:0 .2em .25em -1.6em;vertical-align:middle}.markdown-body hr{border-bottom-color:#eee}.markdown-body .pl-0{padding-left:0!important}.markdown-body .pl-1{padding-left:4px!important}.markdown-body .pl-2{padding-left:8px!important}.markdown-body .pl-3{padding-left:16px!important}.markdown-body .pl-4{padding-left:24px!important}.markdown-body .pl-5{padding-left:32px!important}.markdown-body .pl-6{padding-left:40px!important}.markdown-body .pl-7{padding-left:48px!important}.markdown-body .pl-8{padding-left:64px!important}.markdown-body .pl-9{padding-left:80px!important}.markdown-body .pl-10{padding-left:96px!important}.markdown-body .pl-11{padding-left:112px!important}.markdown-body .pl-12{padding-left:128px!important}
2
- /*# sourceMappingURL=github-markdown.min.css.map */
package/utils/md2html.js DELETED
@@ -1,89 +0,0 @@
1
- /**
2
- * 将md编译为html,并复制到dist/plu
3
- */
4
- const fs = require('fs'); //文件模块
5
- const path = require('path'); //路径模块
6
- const marked = require('marked'); //md转html模块
7
-
8
- /**
9
- * 检测文件改动
10
- */
11
- function watchFile(target) {
12
- fs.watchFile(target, {
13
- persistent: true, //是否持续监听
14
- interval: 200, //刷新间隔
15
- }, (curr, prev) => {
16
- if (curr.mtime == prev.mtime) { //比较修改时间,判断保存后内容是否真的发生了变化
17
- return false;
18
- }
19
- change()
20
- });
21
- }
22
- /**
23
- * 转换
24
- * @param {target} 编译文件名称
25
- * @param {outPath} 保存路径
26
- */
27
- function change(target = "README", outPath = "dist", outFile = "README") {
28
- //读取文件
29
- const data = fs.readFileSync(target + ".md", 'utf-8')
30
- const html = marked.parse(data); //将md内容转为html内容
31
- let template = createTemplate();
32
- template = template.replace('{{{content}}}', html); //替换html内容占位标记
33
-
34
- let css = fs.readFileSync(path.join(__dirname) + '/github-markdown.min.css', 'utf8')
35
- template = template.replace('{{{style}}}', css); //替换css内容占位标记
36
- createFile(template, outPath, outFile);
37
-
38
- }
39
- /**
40
- * 创建页面模板
41
- * @returns {string} 页面骨架字符串
42
- */
43
-
44
- function createTemplate() {
45
- const template = `<!DOCTYPE html>
46
- <html>
47
- <head>
48
- <meta charset="utf-8" >
49
- <meta name="viewport" content="width=device-width, initial-scale=1">
50
- <title>开发日志</title>
51
- <style>
52
- .markdown-body {
53
- box-sizing: border-box;
54
- min-width: 200px;
55
- max-width: 980px;
56
- margin: 0 auto;
57
- padding: 45px;
58
- }
59
- @media (max-width: 767px) {
60
- .markdown-body {
61
- padding: 15px;
62
- }
63
- }
64
- {{{style}}}
65
- </style>
66
- </head>
67
- <body>
68
- <article class="markdown-body">
69
- {{{content}}}
70
- </article>
71
- </body>
72
- </html>`;
73
- return template;
74
- }
75
-
76
- /**
77
- * 创建html文件
78
- * @param {string} content 写入html的文件内容
79
- */
80
- function createFile(content, outPath = "dist", outFile) {
81
- const suffix = 'html'; //文件格式
82
- const fullName = outFile + '.' + suffix; //文件全名
83
- const file = path.join(outPath, fullName); //文件地址
84
- fs.writeFileSync(file, content, 'utf-8')
85
- }
86
-
87
- module.exports = {
88
- createFile, createTemplate, change, watchFile
89
- }
package/utils/notifyIM.js DELETED
@@ -1,87 +0,0 @@
1
- /**
2
- * 调用IM机器人进行群通知
3
- */
4
- const { postParams } = require('../utils/http');
5
- // 同步执行exe命令
6
- const exec = require('child_process').execSync;
7
- // 控制台样式
8
- const chalk = require("chalk")
9
- // 网络请求
10
- const axios = require("axios")
11
- module.exports = {
12
- /**
13
- * 通知钉钉群
14
- */
15
- notifyDingDing: (type, version, projectConfig, user) => {
16
- if (projectConfig && projectConfig.config) {
17
- let body = {
18
- "msgtype": "actionCard",
19
- "actionCard": {
20
- "title": `${projectConfig.name}项目发布通知`,
21
- "text": `${projectConfig.name}项目发布通知` + "\n\n 项&nbsp;&nbsp;目&nbsp;&nbsp;名:" + projectConfig.name + "\n\n分&nbsp;&nbsp;支&nbsp;&nbsp;名:" + exec("git branch --show-current").toString("utf8").trim() + "\n\nTag&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:" + type + "\n\n版&nbsp;&nbsp;本&nbsp;&nbsp;号:" + version + "\n\n发&nbsp;&nbsp;布&nbsp;&nbsp;者:" + user,
22
- "btnOrientation": "1",
23
- "btns": [
24
- {
25
- "title": "迭代日志",
26
- "actionURL": projectConfig.config["doc-" + type]
27
- }
28
- ]
29
- }
30
- }
31
- // 获取钉钉推送地址
32
- let triggers = projectConfig.config["dingding-" + type];
33
- if (triggers) {
34
- triggers.map((trigger) => {
35
- axios.post(trigger, body);
36
- })
37
- console.log(chalk.green('已通知钉钉群,请查看。'));
38
- }
39
- }
40
- },
41
- /**
42
- * 通知飞书群
43
- */
44
- notifyFeishu: (type, version, projectConfig, user) => {
45
- if (projectConfig && projectConfig.config) {
46
- let body = {
47
- "msg_type": "interactive",
48
- "card": {
49
- "config": {
50
- "wide_screen_mode": true,
51
- "enable_forward": true
52
- },
53
- "elements": [{
54
- "tag": "markdown",
55
- "content": "项目名称:" + projectConfig.name + "\n分支:" + exec("git branch --show-current").toString("utf8").trim() + "\nTag:" + type + "\n版本号:" + version + "\n发布者:" + user
56
- }, {
57
- "actions": [{
58
- "tag": "button",
59
- "text": {
60
- "content": "更新日志",
61
- "tag": "lark_md"
62
- },
63
- "url": projectConfig.config["doc-" + type],
64
- "type": "default",
65
- "value": {}
66
- }],
67
- "tag": "action"
68
- }],
69
- "header": {
70
- "title": {
71
- "content": `${projectConfig.name}项目发布通知`,
72
- "tag": "plain_text"
73
- }
74
- }
75
- }
76
- }
77
- // 获取飞书推送地址
78
- let triggers = projectConfig.config["feishu-" + type];
79
- if (triggers) {
80
- triggers.map((trigger) => {
81
- postParams(trigger, body);
82
- })
83
- console.log(chalk.green('已通知飞书群,请查看。'));
84
- }
85
- }
86
- }
87
- }
package/utils/pushCode.js DELETED
@@ -1,202 +0,0 @@
1
- /**
2
- * 将代码提交到gitlab,并设置tag
3
- */
4
- const exec = require('child_process').execSync;
5
- const chalk = require("chalk")
6
- const changeVersion = require("../utils/changeVersion")
7
- /**
8
- * 更改版本version
9
- * @param {types} 版本类型,如Dev、uat,GA,Release
10
- */
11
- function getNewVersionName(types) {
12
- exec("git fetch --tags -f")
13
- return types.map((item) => {
14
-
15
- // 更新本地tag
16
- let version = exec(`git tag --sort=-committerdate`)
17
- version = version.toString("utf8").trim();
18
- if (version) {
19
- // 使用换行分隔下
20
- let versions = version.split("\n");
21
- // 取出第一个包含-V的版本号
22
- version = versions.find((item) => {
23
- return item.startsWith("V");
24
- })
25
- if (version) {
26
- // 取版本号
27
- version = version.split("V")[1]
28
- // 改变版本号
29
- version = changeVersion.change(version, item)
30
- // 生成最后的版本号
31
- item = "V" + version
32
- } else {
33
- item = "V0.0.1"
34
- }
35
- } else {
36
- item = "V0.0.1"
37
- }
38
- return item;
39
- })
40
- }
41
-
42
- /**
43
- * 将代码推送至gitlab
44
- * @param {version} 版本号
45
- * @param {update} 是否强制更新:1强制更新,0不强制更新
46
- * @returns true 成功,false 失败
47
- */
48
- function push(version, update = "0", path) {
49
- try {
50
- // 添加改变文件
51
- exec(`git -C ${path} add .`)
52
- if ("." != path) {
53
- exec(`git add .`)
54
- }
55
- } catch (error) {
56
- return false;
57
- }
58
-
59
- try {
60
- // 提交到本地
61
- exec(`git -C ${path} commit -m ` + version)
62
- if ("." != path) {
63
- exec(`git commit -m ` + version)
64
- }
65
- } catch (error) {
66
- return false;
67
- }
68
-
69
- console.log();
70
- console.log(chalk.green('代码开始推送,请稍后...'));
71
- try {
72
- // 推送到服务器
73
- exec(`git -C ${path} push`)
74
- if ("." != path) {
75
- exec(`git push`)
76
- }
77
- console.log();
78
- console.log(chalk.green('代码推送成功!'));
79
- } catch (error) {
80
- console.log("update", update);
81
- if ("1" == update) {
82
- exec(`git -C ${path} fetch --tags -f && git -C ${path} pull --force && git -C ${path} push`)
83
- if ("." != path) {
84
- exec(`git fetch --tags -f && git pull --force && git push`)
85
- }
86
- console.log(chalk.green('代码推送成功!'));
87
- } else {
88
- console.log(chalk.red('代码推送失败,本地代码与线上不同步,请先 git pull 同步!'));
89
- console.log();
90
- return false;
91
- }
92
- }
93
- return true
94
- }
95
- /**
96
- * 设置Tags
97
- * @param {types} 发布版本类型,如Dev,uat,GA,Release
98
- * @param {versions} 版本tag信息,如Dev-V12.0.1
99
- */
100
- function setTag(types, versions, path) {
101
- console.log(chalk.green('开始同步Tag设置,请稍后...'));
102
- try {
103
- // 更新tag
104
- exec(`git fetch --tags -f`)
105
- } catch (error) {
106
- return false;
107
- }
108
- // 删除本地版本版本Tag
109
- versions.map((version) => {
110
- try {
111
- exec(`git tag -d ` + version)
112
- } catch (error) {
113
- }
114
- })
115
- types.map((type) => {
116
- try {
117
- // 删除本地发布Tag
118
- exec(`git -C ${path} tag -d ` + type)
119
- } catch (error) {
120
- }
121
- })
122
- versions.map((version) => {
123
- try {
124
- // 删除远程Tag
125
- exec(`git push origin :refs/tags/` + version)
126
- } catch (error) {
127
- }
128
- })
129
- types.map((type) => {
130
- try {
131
- // 删除远程发布Tag
132
- exec(`git -C ${path} push origin :refs/tags/` + type)
133
- } catch (error) {
134
- }
135
- })
136
-
137
- // 添加版本tag
138
- versions.map((version) => {
139
- exec(`git tag ` + version + " -f")
140
- })
141
-
142
- types.map((type) => {
143
- exec(`git -C ${path} tag ` + type + " -f")
144
- })
145
- // 推送tag
146
- exec(`git -C ${path} push --tags`)
147
- exec(`git push --tags`)
148
-
149
- console.log(chalk.green('Tag设置成功!'));
150
- console.log();
151
- return true;
152
- }
153
- /**
154
- * 删除dist文件夹
155
- * @returns true 成功,false 失败
156
- */
157
- function deleteDist(version, path) {
158
- try {
159
- // 删除dist文件夹
160
- exec(`git -C ${path} rm -r dist`)
161
- } catch (error) {
162
-
163
- }
164
-
165
- try {
166
- // 删除unpackage文件夹
167
- exec(`git -C ${path} rm -r unpackage`)
168
- } catch (error) {
169
-
170
- }
171
-
172
- try {
173
- // 添加改变文件
174
- exec(`git -C ${path} add .`)
175
- } catch (error) {
176
-
177
- }
178
-
179
- try {
180
- // 提交到本地
181
- exec(`git -C ${path} commit -m clear-dist`)
182
- } catch (error) {
183
- }
184
- try {
185
- // 推送到服务器
186
- exec(`git -C ${path} push`)
187
- } catch (error) {
188
-
189
- }
190
- return true;
191
- }
192
- /**
193
- * 发布代码同时设置Tags
194
- * @param {versions} 版本信息
195
- * @param {types} 版本集合
196
- * @param {update} 是否强制更新
197
- * @param {path} git运行目录
198
- */
199
- function pushCodeAndTags(versions, types = [], update = "0", path = ".") {
200
- return push(versions[0], update, path) && setTag(types, versions, path) && deleteDist(versions[0], path);
201
- }
202
- module.exports = { pushCodeAndTags, push, getNewVersionName, setTag }
package/utils/trigger.js DELETED
@@ -1,23 +0,0 @@
1
- /**
2
- * 版本构建触发器
3
- */
4
-
5
- const { get, postNormal } = require('../utils/http');
6
-
7
- async function jenkins(url) {
8
- try {
9
- await get(url)
10
- } catch (error) {
11
- }
12
- return true
13
- }
14
-
15
- async function yunxiao(url) {
16
- try {
17
- await postNormal(url)
18
- } catch (error) {
19
- }
20
- return true
21
- }
22
-
23
- module.exports = { jenkins, yunxiao }