#!/usr/bin/env node import { Command } from 'commander' import previewList from './src/preview/cli-list' import previewSnippet from './src/preview/cli-snippet' import buildTOML from './src/build/toml' import { nanoseconds } from 'bun'; import { timerToSeconds } from './src/helpers/math'; const program = new Command(); async function log(isVerbose: true, file: string, timer: [number, number]) { const time: string = isVerbose ? ` ${timerToSeconds(timer)} seconds` : '' console.info(`${file}${time}`) } program .name('verdigris') .description('Mining up the very best Color Palette') .version('0.0.1') program .command('preview') .description('stdout some examples') .option('-v, --verbose', 'additional logs') .option('--no-list', 'do not show colors as a list') .option('--no-snippet', 'do not a code snippet') .action((options) => { if (options.verbose) console.info('Previewing Color Palette') if (options.verbose) console.info('List:') if (options.list) previewList() if (options.verbose) console.info('Code Example:') if (options.snippet) previewSnippet() }); program .command('build') .description('compile toml and other consumable formats') .option('-v, --verbose', 'additional logs') .action(async (options) => { const timer = process.hrtime() if (options.verbose) console.info('Building Direct Exports...') log(options.verbose, await buildTOML(), timer) if (options.verbose) console.info('Building Ports...') }); program.parse();