@vulcancreative/cross-colour
Version:
Dynamically translates a SASS/SCSS colour file to a JS object
34 lines (26 loc) • 779 B
JavaScript
const colors = require("colors");
const fs = require("fs");
const readColours = (file) => {
if (!fs.existsSync(file)) {
throw `ERROR: SASS/SCSS file "${file}" doesn't exist`;
}
return fs.readFileSync(file).toString();
};
const writeColours = (colours, file, silent) => {
const result =
`// Auto-generated via CrossColour\n` +
`const colours = ${JSON.stringify(
colours,
null,
2
)};\n\nexport default colours;`;
const exists = fs.existsSync(file);
const same = exists && result === fs.readFileSync(file).toString();
if (!exists || !same) {
fs.writeFileSync(file, result);
if (!silent) {
console.log(colors.green("Colour data successfully emitted"));
}
}
};
module.exports = { readColours, writeColours };