buildThemes.ts

 1import * as fs from "fs";
 2import * as path from "path";
 3import app from "./styleTree/app";
 4import dark from "./themes/dark";
 5import light from "./themes/light";
 6import solarizedDark from "./themes/solarized-dark";
 7import solarizedLight from "./themes/solarized-light";
 8import sulphurpoolDark from "./themes/sulphurpool-dark";
 9import sulphurpoolLight from "./themes/sulphurpool-light";
10import snakeCase from "./utils/snakeCase";
11
12const themes = [
13  dark, light,
14  solarizedDark, solarizedLight,
15  sulphurpoolDark, sulphurpoolLight
16];
17
18for (let theme of themes) {
19  let styleTree = snakeCase(app(theme));
20  let styleTreeJSON = JSON.stringify(styleTree, null, 2);
21  let outPath = path.resolve(
22    `${__dirname}/../../assets/themes/${theme.name}.json`
23  );
24  fs.writeFileSync(outPath, styleTreeJSON);
25  console.log(`- ${outPath} created`);
26}