UNPKG

@gobstones/gobstones-parser

Version:
46 lines (41 loc) 1.4 kB
import { Parser } from './parser/parser'; import { cli } from '@gobstones/gobstones-core/cli'; import { intl } from './translations'; // eslint-disable-next-line @typescript-eslint/no-var-requires const packageJSON = require('../package.json'); interface CLIArguments { language: string; in: string; out: string; from?: string; to?: string; names?: string; locales?: string; } // Read from the package.json in order to retrieve the name and version const name = (packageJSON.name as string).split('/').slice(-1).pop(); const versionNumber = packageJSON.version; cli({ translator: intl, texts: { name, versionNumber, help: 'cli.descriptions.help', tool: 'cli.descriptions.tool', language: 'cli.descriptions.language', languageError: 'cli.errors.language', version: 'cli.descriptions.version' } }) .command('parse [code]', 'cli.parse.description', (cmd) => { cmd.input('cli.descriptions.in', 'cli.errors.file') .output('cli.descriptions.out') .action((app, _, opts: CLIArguments) => { app.outputHelpOnNoArgs(); const input = app.read(); const parser = new Parser(input); const output = JSON.stringify(parser.parse(), undefined, 2); app.write(output); }); }) .run();