国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

制作可全局執行的NPM包:批量清理github倉庫

junnplus / 2741人閱讀

摘要:各種開頭的項目,還有些空倉庫,啥都沒寫的。具體的代碼,調用,實在簡單,看看就好打包發布就這樣打包,肯定不會有全局執行文件滴。然后在中,敲下如下代碼說明全局執行命令叫是執行文件。

不知什么時候開始,自家github堆滿了倉庫代碼。。。各種demo開頭的項目,還有些空倉庫,啥都沒寫的。自然,程序員寫的最差的代碼就是以前寫的代碼了,為了維護心中美好的光輝形象,我決定——————

不過,刪除過程確實麻煩了些,身為“頭腦簡單,四肢發達” ,哦不對,“四肢簡單,頭腦發達”的程序員,怎么會甘心做苦力勞動呢?我決定搞個命令行批量執行下。

找到github API文檔

要刪除當然是要找API啦,不過,我開始想的是用puppeteer無頭chrome搞的,后來發現直接有API,就直接用嘍。
刪除git倉庫需要認證權限,我這里直接用Basic Auth驗證,簡單!Basic驗證,簡單說就是在請求頭里,搞個Authorization:用戶名:密碼

命令行工具

必須是要美美的命令行優化工具啦,I pick這個inquirer。 有一些帶顏色的終端字看著還是ok的,所以還帶上了chalk這個庫。

just do it

具體的代碼,調用API,實在簡單,看看就好:

#!/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打包發布

就這樣打包,肯定不會有全局執行文件滴。

首先你需要在主執行的js的第一行寫上
#!/usr/bin/env node

大家都知道,這是linux中指定文件執行解釋器的意思,windows系統沒用,但是配合上npm就有用啦,且先寫著。

然后:在package.json中,敲下如下代碼:
 "bin": {
    "ngit": "index.js"
  },

ngit說明全局執行命令叫ngit, index.js是執行文件。

ok,最后npm publish發布
npm install -g nodejs-github

再到cmd中,輸入

ngit

就會直接執行代碼啦,呼呼呼呼呼呼~~

github: https://github.com/chendonming/nodejs-github
npm: nodejs-github

各位看官闊以看下。

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/104714.html

相關文章

  • 使用hexo+github搭建免費個人博客詳細教程

    摘要:如果實在不會安裝可以去網上找教程。打開,跳轉到剛剛創建的文件夾位置,運行命令然后會在你的文件夾中搭建好了環境配置配置修改一些你的博客名字描述作者等。基于我的個人經驗,建議都開啟開啟標簽頁命令,在博客目錄添加元數據開啟分類頁命令,在博 Windows環境下Git安裝、配置SSH key、安裝node.js npm、安裝Hexo及配置、發布博客 前言 使用github pages服務搭建博客的...

    番茄西紅柿 評論0 收藏0
  • 在 Ubuntu 14.04 服務器上部署 Hexo 博客

    摘要:本文將介紹如何在一臺的云服務器上快速部署博客站點,如何快速發布一篇博文并通過云服務器上的私有倉庫部署到服務器目錄下。此外,還要在云服務器上安裝和兩個必備的軟件包。在服務器上部署博客以下為文章正文。 推薦理由:Hexo 是用 Node.js 開發的一個靜態站點生成器(Static Site Generator),支持 Markdown 語法寫作,有著強大的插件系統,而且性能優異。下面我推...

    cyqian 評論0 收藏0
  • [譯]npm入門指南

    摘要:博客地址這篇文章是我在眾成翻譯翻譯的一篇文章,一篇的入門指南,原文鏈接的出現使得用寫服務端應用成為可能。你可以看到,這個過程也安裝了其他的模塊,它們都是的所依賴的模塊。但是,得到的輸出信息會很冗長,我們可以加上來精簡一下輸出。 github 博客地址: https://github.com/zengxiaota... 這篇文章是我在 眾成翻譯 翻譯的一篇文章,一篇 npm 的入門指南,...

    mrcode 評論0 收藏0
  • Maven學習筆記

    摘要:學習筆記先生,您在寫代碼嗎不,我們正在完成一項偉大的工程。于是打算重新學習一下。中央倉庫鏡像為了分擔中央倉庫的流量,提升用戶的訪問速度。生成項目報告,站點,發布站點。修改源碼后也需要逐個手動進行操作。 maven學習筆記 先生,您在寫代碼嗎? 不,我們正在完成一項偉大的工程。 前言 在剛學maven時,我就把maven當作一個引入jar包的工具而已,以前是自己下載jar包,現在是只用...

    tomlingtm 評論0 收藏0

發表評論

0條評論

junnplus

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<