摘要:各種開頭的項(xiàng)目,還有些空倉(cāng)庫(kù),啥都沒寫的。具體的代碼,調(diào)用,實(shí)在簡(jiǎn)單,看看就好打包發(fā)布就這樣打包,肯定不會(huì)有全局執(zhí)行文件滴。然后在中,敲下如下代碼說明全局執(zhí)行命令叫是執(zhí)行文件。
不知什么時(shí)候開始,自家github堆滿了倉(cāng)庫(kù)代碼。。。各種demo開頭的項(xiàng)目,還有些空倉(cāng)庫(kù),啥都沒寫的。自然,程序員寫的最差的代碼就是以前寫的代碼了,為了維護(hù)心中美好的光輝形象,我決定——————
不過,刪除過程確實(shí)麻煩了些,身為“頭腦簡(jiǎn)單,四肢發(fā)達(dá)” ,哦不對(duì),“四肢簡(jiǎn)單,頭腦發(fā)達(dá)”的程序員,怎么會(huì)甘心做苦力勞動(dòng)呢?我決定搞個(gè)命令行批量執(zhí)行下。
要?jiǎng)h除當(dāng)然是要找API啦,不過,我開始想的是用puppeteer無頭chrome搞的,后來發(fā)現(xiàn)直接有API,就直接用嘍。
刪除git倉(cāng)庫(kù)需要認(rèn)證權(quán)限,我這里直接用Basic Auth驗(yàn)證,簡(jiǎn)單!Basic驗(yàn)證,簡(jiǎn)單說就是在請(qǐng)求頭里,搞個(gè)Authorization:用戶名:密碼
必須是要美美的命令行優(yōu)化工具啦,I pick這個(gè)inquirer。 有一些帶顏色的終端字看著還是ok的,所以還帶上了chalk這個(gè)庫(kù)。
just do it具體的代碼,調(diào)用API,實(shí)在簡(jiǎn)單,看看就好:
#!/usr/bin/env node var inquirer = require("inquirer"); var axios = require("axios"); var chalk = require("chalk"); var log = console.log; var api = { user: async () => { return await axios({ url: "https://api.github.com/user", method: "GET", }); }, repos: async () => { return await axios({ url: "https://api.github.com/user/repos", method: "GET", }); }, deleteRepos: async (user, name) => { return await axios({ method: "DELETE", url: `https://api.github.com/repos/${user}/${name}`, }); }, login: async () => { return await inquirer.prompt([ { name: "username", message: "username?" }, { name: "password", type: "password", message: "password?" } ]); }, listRepos: async (repos) => { var list = []; repos.forEach(v => { var desc = v.description === null ? "" : v.description; list.push({name: v.full_name + " " + desc}); }); return await inquirer.prompt([ { type: "checkbox", name: "rep", message: "select need cleared repos", choices: list } ]); } }; (async () => { var inf = await api.login(); var base64 = new Buffer.from(inf.username + ":" + inf.password).toString("base64"); axios.interceptors.request.use(config => { config.headers = { Authorization: "Basic " + base64 }; return config; }); var user = await api.user(); log(`welcome ! ${chalk.green(user.data.name || user.data.login)}`); var repos = await api.repos(); var selectRepos = await api.listRepos(repos.data); for (var j = 0; j < selectRepos.rep.length; j++) { var name = selectRepos.rep[j].indexOf(" ") === -1 ? selectRepos.rep[j] : selectRepos.rep[j].substring(0, selectRepos.rep[j].indexOf(" ")); await api.deleteRepos(user.data.login, name); } log(chalk.green("successfull!")); })();npm打包發(fā)布
就這樣打包,肯定不會(huì)有全局執(zhí)行文件滴。
首先你需要在主執(zhí)行的js的第一行寫上#!/usr/bin/env node
大家都知道,這是linux中指定文件執(zhí)行解釋器的意思,windows系統(tǒng)沒用,但是配合上npm就有用啦,且先寫著。
然后:在package.json中,敲下如下代碼:"bin": { "ngit": "index.js" },
ngit說明全局執(zhí)行命令叫ngit, index.js是執(zhí)行文件。
ok,最后npm publish發(fā)布npm install -g nodejs-github
再到cmd中,輸入
ngit
就會(huì)直接執(zhí)行代碼啦,呼呼呼呼呼呼~~
github: https://github.com/chendonming/nodejs-github
npm: nodejs-github
各位看官闊以看下。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104714.html
摘要:如果實(shí)在不會(huì)安裝可以去網(wǎng)上找教程。打開,跳轉(zhuǎn)到剛剛創(chuàng)建的文件夾位置,運(yùn)行命令然后會(huì)在你的文件夾中搭建好了環(huán)境配置配置修改一些你的博客名字描述作者等?;谖业膫€(gè)人經(jīng)驗(yàn),建議都開啟開啟標(biāo)簽頁(yè)命令,在博客目錄添加元數(shù)據(jù)開啟分類頁(yè)命令,在博 Windows環(huán)境下Git安裝、配置SSH key、安裝node.js npm、安裝Hexo及配置、發(fā)布博客 前言 使用github pages服務(wù)搭建博客的...
摘要:本文將介紹如何在一臺(tái)的云服務(wù)器上快速部署博客站點(diǎn),如何快速發(fā)布一篇博文并通過云服務(wù)器上的私有倉(cāng)庫(kù)部署到服務(wù)器目錄下。此外,還要在云服務(wù)器上安裝和兩個(gè)必備的軟件包。在服務(wù)器上部署博客以下為文章正文。 推薦理由:Hexo 是用 Node.js 開發(fā)的一個(gè)靜態(tài)站點(diǎn)生成器(Static Site Generator),支持 Markdown 語法寫作,有著強(qiáng)大的插件系統(tǒng),而且性能優(yōu)異。下面我推...
摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現(xiàn)使得用寫服務(wù)端應(yīng)用成為可能。你可以看到,這個(gè)過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會(huì)很冗長(zhǎng),我們可以加上來精簡(jiǎn)一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...
摘要:學(xué)習(xí)筆記先生,您在寫代碼嗎不,我們正在完成一項(xiàng)偉大的工程。于是打算重新學(xué)習(xí)一下。中央倉(cāng)庫(kù)鏡像為了分擔(dān)中央倉(cāng)庫(kù)的流量,提升用戶的訪問速度。生成項(xiàng)目報(bào)告,站點(diǎn),發(fā)布站點(diǎn)。修改源碼后也需要逐個(gè)手動(dòng)進(jìn)行操作。 maven學(xué)習(xí)筆記 先生,您在寫代碼嗎? 不,我們正在完成一項(xiàng)偉大的工程。 前言 在剛學(xué)maven時(shí),我就把maven當(dāng)作一個(gè)引入jar包的工具而已,以前是自己下載jar包,現(xiàn)在是只用...
閱讀 2264·2023-04-26 01:50
閱讀 720·2021-09-22 15:20
閱讀 2599·2019-08-30 15:53
閱讀 1603·2019-08-30 12:49
閱讀 1718·2019-08-26 14:05
閱讀 2716·2019-08-26 11:42
閱讀 2310·2019-08-26 10:40
閱讀 2608·2019-08-26 10:38