@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
JavaScript
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();