UNPKG

@tokens-studio/sdk

Version:
40 lines (39 loc) 1.2 kB
#!/usr/bin/env node /* eslint-disable no-console */ import arg from 'arg'; import chalk from 'chalk'; import { argsSpec } from './args-spec.js'; import { runCommand } from './run-command.js'; import { error } from './utils/messages.js'; import { getVersion } from './utils/get-version.js'; function createArgs() { const argsObject = {}; Object.entries(argsSpec).forEach(([key, val]) => { if (Array.isArray(val)) { // _commands } else if (key.startsWith('--')) { argsObject[key] = val.type; val.aliases.forEach((alias) => { argsObject[alias] = key; }); } }); return arg(argsObject); } export async function run() { const args = createArgs(); const commandLength = args._.length; const version = getVersion(); const versionStr = `${chalk.white(version)}`; console.log(` ${chalk.green.inverse.bold(' Tokens Studio CLI ')} ${versionStr} `); if (commandLength > 1) { error('CLI was ran with too many arguments, use --help for more info on how to use'); } else { await runCommand(args._[0] ?? '', args); } } //# sourceMappingURL=run.js.map