UNPKG

@momentum-ui/react-collaboration

Version:

Cisco Momentum UI Framework for React Collaboration Applications

44 lines (34 loc) 1.12 kB
const path = require('path'); const fs = require('fs-extra'); const generateComment = (dataFile) => { return [ '//------------------------------------------------------', '// Do not edit this file directly. These variables are', '// generated from the Momentum Design color tokens.', `// ${dataFile}`, '//------------------------------------------------------', ].join('\n'); }; const delve = (value, prefix) => { if (typeof value !== 'object') { return `${prefix}: ${value} !default;\n`; } return Object.keys(value).map( (key) => delve(value[key], `${prefix}-${key}`) ).join(''); }; async function generateFileFromThemeToken(dest, fileName, data, dataFile) { const scope = { ...data }; const prefix = `$${data.prefix}-${data.component}`; const outputFile = path.join(dest, fileName); delete scope.component; delete scope.prefix; const content = [ generateComment(dataFile), '\n\n', delve(scope, prefix) ].join(''); await fs.outputFile(outputFile, content); console.warn(`${outputFile} written!`); } module.exports = generateFileFromThemeToken;