@wagq/wa-cli 0.6.22 → 0.6.24
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/config/command.js +13 -4
- package/lib/batchUpdate/getUpdateLibs.js +18 -0
- package/lib/batchUpdate/index.js +20 -0
- package/lib/daml/asyncByApp.js +35 -10
- package/package.json +1 -1
- package/utils/packages.js +20 -0
package/config/command.js
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
const init = require("../lib/init");
|
|
2
2
|
const server = require("../lib/server");
|
|
3
3
|
const xlsx2Config = require("../lib/locale/xlsx2Config");
|
|
4
|
-
const asyncDaml = require(
|
|
5
|
-
const asyncDamlByApp = require(
|
|
4
|
+
const asyncDaml = require("../lib/daml/async");
|
|
5
|
+
const asyncDamlByApp = require("../lib/daml/asyncByApp");
|
|
6
|
+
const batchUpdate = require("../lib/batchUpdate");
|
|
6
7
|
|
|
7
8
|
const command = [
|
|
8
9
|
{
|
|
@@ -13,6 +14,14 @@ const command = [
|
|
|
13
14
|
asyncDaml();
|
|
14
15
|
},
|
|
15
16
|
},
|
|
17
|
+
{
|
|
18
|
+
name: "batchUpdate",
|
|
19
|
+
alias: "bu",
|
|
20
|
+
description: "批量升级依赖包,可以指定组织,只更新组织下的依赖",
|
|
21
|
+
action: () => {
|
|
22
|
+
batchUpdate();
|
|
23
|
+
},
|
|
24
|
+
},
|
|
16
25
|
{
|
|
17
26
|
name: "damls",
|
|
18
27
|
description: `从应用同步所有页面的逻辑器与变量值,
|
|
@@ -23,8 +32,8 @@ const command = [
|
|
|
23
32
|
appName为应用名称,也是你区分不同应用的标识,所有生成的文件都会放在appName文件夹下`,
|
|
24
33
|
alias: "da",
|
|
25
34
|
action: () => {
|
|
26
|
-
asyncDamlByApp()
|
|
27
|
-
}
|
|
35
|
+
asyncDamlByApp();
|
|
36
|
+
},
|
|
28
37
|
},
|
|
29
38
|
{
|
|
30
39
|
name: "init",
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const { execSync } = require("child_process");
|
|
2
|
+
const log = require("../../utils/log");
|
|
3
|
+
const { getPackageTxt } = require("../../utils/packages");
|
|
4
|
+
|
|
5
|
+
const getupdateContent = async (prefix) => {
|
|
6
|
+
let packageTxt = getPackageTxt();
|
|
7
|
+
const reg = new RegExp(`"(${prefix}\/[\\w|-]+)".+,`, "g");
|
|
8
|
+
packageTxt = packageTxt.replace(reg, (_, name) => {
|
|
9
|
+
let version = execSync(`npm view ${name} version`).toString();
|
|
10
|
+
version = version.substring(0, version.length - 1);
|
|
11
|
+
log.info(`${name} => ${version}`);
|
|
12
|
+
return `"${name}": "^${version}",`;
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
return packageTxt;
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
module.exports = getupdateContent;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const { writePackageTxt } = require("../../utils/packages");
|
|
2
|
+
const getupdateContent = require("./getUpdateLibs");
|
|
3
|
+
const Prompt = require("inquirer");
|
|
4
|
+
|
|
5
|
+
const batchUpdate = async () => {
|
|
6
|
+
const quetionList = [
|
|
7
|
+
{
|
|
8
|
+
type: "input",
|
|
9
|
+
name: "prefix",
|
|
10
|
+
message: "请输入需要更新的包组织,如只更新@wagq,输入@wagq",
|
|
11
|
+
default: "@wagq",
|
|
12
|
+
},
|
|
13
|
+
];
|
|
14
|
+
|
|
15
|
+
const { prefix } = await Prompt.default.prompt(quetionList);
|
|
16
|
+
const packageContent = await getupdateContent(prefix);
|
|
17
|
+
writePackageTxt(packageContent);
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
module.exports = batchUpdate;
|
package/lib/daml/asyncByApp.js
CHANGED
|
@@ -14,6 +14,13 @@ const initQuestions = () => [
|
|
|
14
14
|
choices: [true, false],
|
|
15
15
|
default: true,
|
|
16
16
|
},
|
|
17
|
+
{
|
|
18
|
+
type: "list",
|
|
19
|
+
name: "prettier",
|
|
20
|
+
message: "是否使用prettier格式化代码",
|
|
21
|
+
choices: [true, false],
|
|
22
|
+
default: true,
|
|
23
|
+
},
|
|
17
24
|
];
|
|
18
25
|
|
|
19
26
|
const handleIgnore = async (ignore, catalogue) => {
|
|
@@ -86,7 +93,15 @@ const getList = async (origin, appId, branchid, token) => {
|
|
|
86
93
|
}
|
|
87
94
|
};
|
|
88
95
|
|
|
89
|
-
const getDaml = async (
|
|
96
|
+
const getDaml = async ({
|
|
97
|
+
lists,
|
|
98
|
+
origin,
|
|
99
|
+
appId,
|
|
100
|
+
branchid,
|
|
101
|
+
token,
|
|
102
|
+
basePath,
|
|
103
|
+
prettier,
|
|
104
|
+
}) => {
|
|
90
105
|
try {
|
|
91
106
|
lists.forEach(async ({ name, id }) => {
|
|
92
107
|
const request = () =>
|
|
@@ -120,8 +135,8 @@ const getDaml = async (lists, origin, appId, branchid, token, dirName) => {
|
|
|
120
135
|
.then((res) => res.json())
|
|
121
136
|
.then(async (res) => {
|
|
122
137
|
const daml = JSON.parse(res.data.daml);
|
|
123
|
-
await generateLogic(
|
|
124
|
-
await generateVariable(
|
|
138
|
+
await generateLogic(basePath, daml, name, prettier);
|
|
139
|
+
await generateVariable(basePath, daml, name);
|
|
125
140
|
});
|
|
126
141
|
});
|
|
127
142
|
} catch (err) {
|
|
@@ -159,7 +174,7 @@ const formatContent = async (content, filepath) => {
|
|
|
159
174
|
}
|
|
160
175
|
};
|
|
161
176
|
|
|
162
|
-
const generateLogic = async (dirName, daml, name) => {
|
|
177
|
+
const generateLogic = async (dirName, daml, name, prettier) => {
|
|
163
178
|
try {
|
|
164
179
|
log.loading(`正在同步${name}的逻辑器`);
|
|
165
180
|
const logicDir = `${dirName}/${name}/logic`;
|
|
@@ -174,10 +189,12 @@ const generateLogic = async (dirName, daml, name) => {
|
|
|
174
189
|
const pages = daml.app.subapps[0]?.actions?.actionList || [];
|
|
175
190
|
pages.forEach(async ({ content, name: fileName }) => {
|
|
176
191
|
const filePath = `${logicDir}/${fileName}.js`;
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
192
|
+
if (prettier) {
|
|
193
|
+
// 添加标识
|
|
194
|
+
content = addJsDoc(content, name, fileName);
|
|
195
|
+
// 格式化
|
|
196
|
+
content = await formatContent(content, filePath);
|
|
197
|
+
}
|
|
181
198
|
|
|
182
199
|
fs.writeFileSync(filePath, content, {
|
|
183
200
|
cwd: process.cwd(),
|
|
@@ -257,7 +274,7 @@ const checkDamlrc = async () => {
|
|
|
257
274
|
const main = async () => {
|
|
258
275
|
await checkDamlrc();
|
|
259
276
|
const settings = require(`${process.cwd()}/.damlrc.json`) || [];
|
|
260
|
-
const { ignore } = await Prompt.default.prompt(initQuestions());
|
|
277
|
+
const { ignore, prettier } = await Prompt.default.prompt(initQuestions());
|
|
261
278
|
settings.forEach(async ({ appName, origin, token, appId, branchid }) => {
|
|
262
279
|
const basePath = `${appName}/${catalogue}`;
|
|
263
280
|
const exist = await fs.existsSync(basePath);
|
|
@@ -278,7 +295,15 @@ const main = async () => {
|
|
|
278
295
|
await handleIgnore(ignore, basePath);
|
|
279
296
|
const lists = await getList(origin, appId, branchid, token);
|
|
280
297
|
log.info(`请求${appName}页面列表成功,条数为${lists.length}`);
|
|
281
|
-
await getDaml(
|
|
298
|
+
await getDaml({
|
|
299
|
+
lists,
|
|
300
|
+
origin,
|
|
301
|
+
appId,
|
|
302
|
+
branchid,
|
|
303
|
+
token,
|
|
304
|
+
basePath,
|
|
305
|
+
prettier,
|
|
306
|
+
});
|
|
282
307
|
});
|
|
283
308
|
};
|
|
284
309
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
const fs = require("fs");
|
|
2
|
+
|
|
3
|
+
const getPackageInfo = () => {
|
|
4
|
+
const packageJson = require("./package.json");
|
|
5
|
+
return packageJson;
|
|
6
|
+
};
|
|
7
|
+
|
|
8
|
+
const getPackageTxt = () => {
|
|
9
|
+
return fs.readFileSync("./package.json", "utf-8");
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
const writePackageTxt = (content) => {
|
|
13
|
+
return fs.writeFileSync("./package.json", content, "utf-8");
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
module.exports = {
|
|
17
|
+
getPackageInfo,
|
|
18
|
+
getPackageTxt,
|
|
19
|
+
writePackageTxt,
|
|
20
|
+
};
|