• generate-langs-json.js
  • import axios from "axios";
    import fs from "fs";
    import jsYaml from "js-yaml";
    
    const LANGS_FILEPATH = "./src/common/languageColors.json";
    
    //Retrieve languages from github linguist repository yaml file
    //@ts-ignore
    axios
      .get(
        "https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml",
      )
      .then((response) => {
        //and convert them to a JS Object
        const languages = jsYaml.load(response.data);
    
        const languageColors = {};
    
        //Filter only language colors from the whole file
        Object.keys(languages).forEach((lang) => {
          languageColors[lang] = languages[lang].color;
        });
    
        //Debug Print
        //console.dir(languageColors);
        fs.writeFileSync(
          LANGS_FILEPATH,
          JSON.stringify(languageColors, null, "    "),
        );
      });