github-readme-stats/scripts/generate-langs-json.js

27 lines
756 B
JavaScript

const fs = require('fs');
const jsYaml = require('js-yaml');
const axios = require('axios');
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, ' '));
});