(ns renderlanguages
  {:clj-kondo/config '{:lint-as {promesa.core/let clojure.core/let}}}
  (:require [reagent.dom.server :as dom]
            ["fs" :as fs]))

(defn main [args]
  (try
    (let [stats-path (first args)
          stats (js->clj (js/JSON.parse (fs/readFileSync stats-path "utf8")) :keywordize-keys true)
          hiccup [:ul {:id "languages"}
                  (for [lang (:languages stats)]
                    [:li {:key (:language lang)}
                     [:span {:style {:width (str (:percent lang) "%")}}]
                     (:language lang)])]]
      (println (dom/render-to-static-markup hiccup)))
    (catch :default e
      (.error js/console (str "Error: " (.-message e)))
      (js/process.exit 1))))

(main *command-line-args*)
