Files
Notebook-StarNet/AutoCommitPush.mjs
T

56 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 = async function (question) {
return await 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");
})()