#!/usr/bin/env node import { program } from 'commander'; import tinycolor from 'tinycolor2'; program.command('gen ') .description('Generates multiple colors from a given color') .option('-a, --amount ', 'Amount of darken', 10) .action((color, options) => { const primary = tinycolor(color); const amount = options.amount; logColor(primary, 'primary'); const darkPrimary = primary.clone().darken(amount); logColor(darkPrimary, 'dark primary'); const darkerPrimary = darkPrimary.clone().darken(amount); logColor(darkerPrimary, 'darker primary'); const secondary = primary.complement(); logColor(secondary, 'secondary'); const darkSecondary = secondary.clone().darken(amount); logColor(darkSecondary, 'dark secondary'); const darkerSecondary = darkSecondary.clone().darken(amount); logColor(darkerSecondary, 'darker secondary'); }); program.parse(process.argv); function logColor(color, name) { const { r, g, b } = color.toRgb() console.log(`\x1b[48;2;${r};${g};${b}m COLOR \x1b[0m [${name.toUpperCase()}] ${color.toHexString()} `); }