@taole/deploy-helper 1.2.3 → 1.2.5
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/index.mjs +44 -7
- package/lib/project.mjs +14 -8
- package/package.json +1 -1
package/index.mjs
CHANGED
|
@@ -126,8 +126,31 @@ function registerCommand(command, handler, help) {
|
|
|
126
126
|
};
|
|
127
127
|
}
|
|
128
128
|
|
|
129
|
+
function cmdVersion() {
|
|
130
|
+
const { version } = getPackageJson();
|
|
131
|
+
console.log(`当前版本: ${version}`);
|
|
132
|
+
console.log(`检查更新请使用命令: check-update`);
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
async function cmdCheckUpdate(notifier) {
|
|
136
|
+
const packageJson = getPackageJson();
|
|
137
|
+
console.log(`当前版本: ${packageJson.version}`);
|
|
138
|
+
try {
|
|
139
|
+
const info = await notifier.fetchInfo();
|
|
140
|
+
console.log(`最新版本: ${info.latest}`);
|
|
141
|
+
if (info.latest === info.current) {
|
|
142
|
+
console.log('已是最新版');
|
|
143
|
+
} else {
|
|
144
|
+
console.log(`建议更新: npm i -g ${packageJson.name}`);
|
|
145
|
+
}
|
|
146
|
+
} catch {
|
|
147
|
+
console.log('无法获取最新版本信息');
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
|
|
129
151
|
// 注册命令
|
|
130
152
|
function doRegisterCommands() {
|
|
153
|
+
|
|
131
154
|
registerCommand("create", cmdProjectCreate, "创建项目");
|
|
132
155
|
registerCommand("publish", cmdProjectPublish, "更新项目到H5平台");
|
|
133
156
|
registerCommand("pull", cmdProjectPull, "拉取已有项目到本地");
|
|
@@ -135,6 +158,11 @@ function doRegisterCommands() {
|
|
|
135
158
|
registerCommand("whoami", cmdWhoami, "查看当前登录用户信息");
|
|
136
159
|
registerCommand("logout", cmdLogout, "退出登录");
|
|
137
160
|
registerCommand("login", cmdLogin, "登录");
|
|
161
|
+
registerCommand("version", cmdVersion, "查看当前版本(-v/--version)");
|
|
162
|
+
registerCommand("check-update", cmdCheckUpdate, "检查是否有新版本");
|
|
163
|
+
// 别名不展示在 help 列表
|
|
164
|
+
commandMap["-v"] = { handler: cmdVersion, help: "" };
|
|
165
|
+
commandMap["--version"] = { handler: cmdVersion, help: "" };
|
|
138
166
|
}
|
|
139
167
|
|
|
140
168
|
doRegisterCommands();
|
|
@@ -143,19 +171,14 @@ async function main() {
|
|
|
143
171
|
const packageJson = getPackageJson();
|
|
144
172
|
const version = packageJson.version;
|
|
145
173
|
|
|
146
|
-
updateNotifier({
|
|
174
|
+
const notifier = updateNotifier({
|
|
147
175
|
pkg: packageJson,
|
|
148
176
|
updateCheckInterval: 1000 * 60 * 60 * 24,
|
|
149
|
-
}).notify({
|
|
150
|
-
defer: false,
|
|
151
|
-
message: `发现新版本 {latestVersion}(当前 {currentVersion}),建议更新:\n{updateCommand}`,
|
|
152
177
|
});
|
|
153
178
|
|
|
154
179
|
// process.argv.includes("--debug") ||
|
|
155
180
|
// 默认开启debug debug目前只是打印日志的时候额外打印时间
|
|
156
181
|
setDebug(true);
|
|
157
|
-
log(`deploy-helper v${version}`);
|
|
158
|
-
|
|
159
182
|
|
|
160
183
|
// await devTest();
|
|
161
184
|
// log(`process.argv: ${process.argv[2]} ${process.argv[3]} ${process.argv[4]}`);
|
|
@@ -170,10 +193,23 @@ async function main() {
|
|
|
170
193
|
command = "help";
|
|
171
194
|
}
|
|
172
195
|
|
|
196
|
+
const isVersionCommand = ["version", "-v", "--version"].includes(command);
|
|
197
|
+
const isCheckUpdateCommand = command === "check-update";
|
|
198
|
+
if (!isVersionCommand && !isCheckUpdateCommand) {
|
|
199
|
+
log(`deploy-helper v${version}`);
|
|
200
|
+
notifier.notify({
|
|
201
|
+
defer: false,
|
|
202
|
+
isGlobal: true,
|
|
203
|
+
message: `发现新版本 {latestVersion}(当前 {currentVersion}),建议更新:\n{updateCommand}`,
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
173
207
|
if(registeredCommand){
|
|
174
208
|
const handler = registeredCommand.handler;
|
|
175
209
|
try {
|
|
176
|
-
await Promise.resolve(
|
|
210
|
+
await Promise.resolve(
|
|
211
|
+
handler === cmdCheckUpdate ? cmdCheckUpdate(notifier) : handler()
|
|
212
|
+
);
|
|
177
213
|
process.exit(0);
|
|
178
214
|
} catch (error) {
|
|
179
215
|
log(`执行命令失败: ${error}`);
|
|
@@ -195,6 +231,7 @@ async function main() {
|
|
|
195
231
|
console.log(`command: pipeline {pipelineName|pipelineId} [branch] 触发流水线{pipelineName|pipelineId}, 指定分支(可省略)`);
|
|
196
232
|
Object.keys(commandMap).forEach(command => {
|
|
197
233
|
const cmdObj = commandMap[command];
|
|
234
|
+
if (!cmdObj.help) return;
|
|
198
235
|
console.log(`command: ${command} ${cmdObj.help}`);
|
|
199
236
|
})
|
|
200
237
|
process.exit(0);
|
package/lib/project.mjs
CHANGED
|
@@ -246,12 +246,14 @@ export const cmdProjectCreate = async () => {
|
|
|
246
246
|
log(`项目创建成功, 项目目录: ${name}`);
|
|
247
247
|
git = simpleGit(projectDir);
|
|
248
248
|
const targetPackageJson = getJsonConfig(projectDir, "package.json");
|
|
249
|
-
targetPackageJson.name
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
249
|
+
if (targetPackageJson.name !== name) {
|
|
250
|
+
targetPackageJson.name = name;
|
|
251
|
+
fs.writeFileSync(
|
|
252
|
+
path.join(projectDir, "package.json"),
|
|
253
|
+
JSON.stringify(targetPackageJson, null, 2)
|
|
254
|
+
);
|
|
255
|
+
log(`项目package.json覆盖成功`);
|
|
256
|
+
}
|
|
255
257
|
const readmePath = path.join(projectDir, "README.md");
|
|
256
258
|
if (fs.existsSync(readmePath)) {
|
|
257
259
|
const readmeContent = fs.readFileSync(readmePath, "utf8");
|
|
@@ -275,8 +277,12 @@ export const cmdProjectCreate = async () => {
|
|
|
275
277
|
log(`README.md 追加访问信息成功`);
|
|
276
278
|
}
|
|
277
279
|
}
|
|
278
|
-
await git.
|
|
279
|
-
|
|
280
|
+
const status = await git.status();
|
|
281
|
+
if (!status.isClean()) {
|
|
282
|
+
await git.add(".");
|
|
283
|
+
await git.commit(`-#DH-07 feat: 项目初始化`);
|
|
284
|
+
log(`项目初始化提交成功`);
|
|
285
|
+
}
|
|
280
286
|
log(`请cd至项目目录: ${projectDir} 手动执行: npm install 安装依赖`);
|
|
281
287
|
process.exit(0);
|
|
282
288
|
};
|