오프라인 공유를 위한 번들 github 저장소
2366 단어 gitjavascriptgithubnode
번들 repo.js
const chalk = require("chalk");
const { execSync, exec } = require("child_process");
// const fs = require('fs');
if (!process.argv[2] || !process.argv[3]) {
console.log(
chalk.red(
"Usage: node bundle-repo OWNER REPO-STRING [BUNDLE-TARGET-DIR]\nExample: node bundle-repo 'twitter' 'main, side, boom'"
)
);
return;
}
const prefix = "[email protected]:";
const finalDir = process.argv[4] ? process.argv[4] + "/" : "";
const getPath = (r) => (!finalDir ? "" : finalDir + r);
process.argv[3].split(",").forEach((r) => {
execSync(
`git clone ${prefix}${process.argv[2]}/${r.trim()} ${getPath(r.trim())}`
);
const a = execSync(`ls -la ${getPath(r.trim())}`);
console.log(a.toString());
if (a.toString().split('\n')[0].split(' ')[1] != 0) {
execSync(
`cd ${getPath(
r.trim()
)} && git bundle create ${r.trim()}.bundle --all && mv ${r.trim()}.bundle .. && cd .. && rm -rf ${r.trim()}`
);
}
});
패키지.json
{
"type": "module",
"dependencies": {
"chalk": "^3.0.0"
}
}
바쁘기 전에 작동상의 결함을 피하기 위해 이 설정을 따르십시오.
node bundle-repo 'twitter' 'main, side, boom' [optional target directory]
가셔도 좋습니다. 체크아웃code on github
읽어 주셔서 감사합니다 :)
Reference
이 문제에 관하여(오프라인 공유를 위한 번들 github 저장소), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kartikjha/bundle-github-repos-for-offline-sharing-37a4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)