~~(I know the change in generate-langs-json.js isn't really necessary, but I think it still makes sense to have it.)~~
31 lines
835 B
JavaScript
31 lines
835 B
JavaScript
import fs from "fs";
|
|
|
|
import axios from "axios";
|
|
import { default as jsYaml } from "js-yaml";
|
|
import * as prettier from "prettier";
|
|
|
|
const LANGS_FILEPATH = "./src/common/languageColors.json";
|
|
|
|
// Retrieve languages from github linguist repository yaml file
|
|
const response = await axios.get(
|
|
"https://raw.githubusercontent.com/github/linguist/master/lib/linguist/languages.yml",
|
|
);
|
|
|
|
// 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);
|
|
const jsonString = JSON.stringify(languageColors);
|
|
fs.writeFileSync(
|
|
LANGS_FILEPATH,
|
|
await prettier.format(jsonString, { parser: "json" }),
|
|
);
|