@tokens-studio/sdk
Version:
The official SDK for Tokens Studio
40 lines (39 loc) • 1.2 kB
JavaScript
/* 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