UNPKG

vega-cli

Version:

Command line utilities for server-side Vega.

51 lines (48 loc) 2.18 kB
import yargs from 'yargs'; import { hideBin } from 'yargs/helpers'; export default function (type) { const helpText = `Render a Vega specification to ${type.toUpperCase()}. Usage: vg2${type} [vega_json_spec_file] [output_${type}_file] If no arguments are provided, reads from stdin. If output_${type}_file is not provided, writes to stdout. For errors and log messages, writes to stderr. To load data, you may need to set a base directory: For web retrieval, use '-b http://host/data/'. For files, use '-b file:///dir/data/' (absolute) or '-b data/' (relative).`; const args = yargs(hideBin(process.argv)).usage(helpText) .demand(0); args.string('b') .alias('b', 'base') .describe('b', 'Base directory for data loading. Defaults to the directory of the input spec.'); args.string('l') .alias('l', 'loglevel') .describe('l', 'Level of log messages written to stderr. One of "error", "warn" (default), "info", or "debug".'); args.string('c') .alias('c', 'config') .describe('c', 'Vega config object. Either a JSON file or a .js file that exports the config object.'); args.string('f') .alias('f', 'format') .describe('f', 'Number format locale descriptor. Either a JSON file or a .js file that exports the locale object.'); args.string('t') .alias('t', 'timeFormat') .describe('t', 'Date/time format locale descriptor. Either a JSON file or a .js file that exports the locale object.'); if (type === 'svg') { args.boolean('h') .alias('h', 'header') .describe('h', 'Include XML header and SVG doctype.'); } args.number('s') .alias('s', 'scale') .default('s', 1) .describe('s', 'Output resolution scale factor.'); args.number('seed') .describe('seed', 'Seed for random number generation.'); if (type === 'pdf') { args.boolean('test') .describe('test', 'Disable default PDF metadata for test suites.'); } else if (type === 'png') { args.number('ppi').describe('ppi', 'Resolution in ppi.'); } return args.help().version().argv; };