Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const fs = require("fs");
- const { promisify } = require("util");
- const { parse } = require("sass-variable-parser");
- const camelCase = require("lodash.camelcase");
- const readFile = promisify(fs.readFile);
- const writeFile = promisify(fs.writeFile);
- const inputFile = process.argv[2];
- const moduleName = inputFile.split('.scss')[0]
- const outputJs = moduleName + '.js'
- const outputJson = moduleName + '.json'
- const parseOpts = {
- camelCase: false
- };
- async function main() {
- const scssData = await readFile(inputFile, { encoding: "utf8" });
- const jsData = parse(scssData, parseOpts);
- const moduleString = Object.entries(jsData)
- .map(([k, v]) => `export const ${camelCase(k)} = ${JSON.stringify(v)}; // ${k}`)
- .join("\n");
- const jsonString = JSON.stringify(jsData, null, 2)
- await writeFile(outputJs, moduleString);
- await writeFile(outputJson, jsonString);
- }
- main();
Add Comment
Please, Sign In to add comment