55 lines
1.4 KiB
JavaScript
55 lines
1.4 KiB
JavaScript
import _readline from "readline";
|
|
import { exec } from "node:child_process";
|
|
|
|
const execSync = command =>
|
|
new Promise((resolve, rejects) => {
|
|
exec(command, (err, stdout, stderr) => {
|
|
if (err) {
|
|
console.error(stderr);
|
|
rejects(stderr);
|
|
} else {
|
|
console.log(stdout);
|
|
resolve(stdout);
|
|
}
|
|
});
|
|
});
|
|
|
|
const readline = _readline.createInterface({
|
|
input: process.stdin,
|
|
output: process.stdout
|
|
});
|
|
|
|
const input = question =>
|
|
new Promise((resolve, rejects) => {
|
|
try {
|
|
readline.question(question, output => {
|
|
readline.close();
|
|
resolve(output);
|
|
});
|
|
} catch (e) {
|
|
rejects(e);
|
|
}
|
|
});
|
|
|
|
const generateDate = function () {
|
|
const dateNow = new Date();
|
|
const paddingNumber = function (num) {
|
|
return ("0" + num).slice(-2);
|
|
};
|
|
let year = dateNow.getFullYear();
|
|
let month = paddingNumber(dateNow.getMonth() + 1);
|
|
let day = paddingNumber(dateNow.getDate());
|
|
let hour = paddingNumber(dateNow.getHours());
|
|
let minute = paddingNumber(dateNow.getMinutes());
|
|
let seconds = paddingNumber(dateNow.getSeconds());
|
|
return `${year}-${month}-${day} ${hour}:${minute}:${seconds}`;
|
|
};
|
|
|
|
(async function () {
|
|
const remark = await input("remark:");
|
|
const message = `update:${generateDate()} ${remark ? "-remark:" + remark : ""} -AutoCommit`;
|
|
await execSync(`git add ."`);
|
|
await execSync(`git commit -m "${message}"`);
|
|
await execSync("git push");
|
|
})();
|