UNPKG

@maggioli-design-system/design-tokens

Version:

This is the Design Token library of Maggioli Design System, here you'll find all the visual data used around the libraries.

37 lines (36 loc) 1.39 kB
#!/usr/bin/env node import { createColorTokens } from './lib/color.mjs'; import chalk from 'chalk'; import { parseArgs } from './lib/parse-args.mjs'; import { writeJsonTokens, getColorsConfig, exportColors } from './lib/utils.mjs'; export async function main() { const opts = parseArgs(); const colorsConfig = await getColorsConfig(opts.config); if (colorsConfig === null) { console.log('Color configuration not found'); return; } const { tokens, exportGroups } = createColorTokens(colorsConfig.config); if (opts.exportTokens) { if (opts.dryRun) { const jsonPalette = JSON.stringify(tokens, null, 2); console.log(jsonPalette); } else { console.log('Exporting whole color palette'); writeJsonTokens(tokens, 'base', opts.outTokensDir); } } // export all colors in one file console.log('export colors'); exportColors(tokens, 'custom', opts.outDir, opts.generate); // export colors separated by export config Object.keys(exportGroups).forEach(group => { if (opts.exportTokens) { console.info(`Exporting ${chalk.yellow('color palette')} ${group}`); writeJsonTokens(exportGroups[group], group, opts.outTokensDir); } exportColors(exportGroups[group], group, opts.outDir, opts.generate); }); } main();