Guest User

Untitled

a guest
Jun 24th, 2018
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. const fs = require("fs");
  2. const { promisify } = require("util");
  3. const { parse } = require("sass-variable-parser");
  4. const camelCase = require("lodash.camelcase");
  5.  
  6. const readFile = promisify(fs.readFile);
  7. const writeFile = promisify(fs.writeFile);
  8.  
  9. const inputFile = process.argv[2];
  10. const moduleName = inputFile.split('.scss')[0]
  11. const outputJs = moduleName + '.js'
  12. const outputJson = moduleName + '.json'
  13.  
  14. const parseOpts = {
  15. camelCase: false
  16. };
  17.  
  18. async function main() {
  19. const scssData = await readFile(inputFile, { encoding: "utf8" });
  20. const jsData = parse(scssData, parseOpts);
  21. const moduleString = Object.entries(jsData)
  22. .map(([k, v]) => `export const ${camelCase(k)} = ${JSON.stringify(v)}; // ${k}`)
  23. .join("\n");
  24. const jsonString = JSON.stringify(jsData, null, 2)
  25. await writeFile(outputJs, moduleString);
  26. await writeFile(outputJson, jsonString);
  27. }
  28.  
  29. main();
Add Comment
Please, Sign In to add comment