Implementation
final FigSpec tsNodeSpec = FigSpec(
name: 'ts-node',
description: 'Run the TypeScript interpreter for Node.JS',
options: [
FigOption(
name: ['--help', '-h'],
description: 'Show help for ts-node',
),
FigOption(
name: ['-v', '--version'],
description: 'Print version information of the ts-node module',
),
FigOption(
name: ['-e', '--eval'],
insertValue: "-e '{cursor}'",
description: 'Evaluate script',
args: [FigArg(name: 'script')],
),
FigOption(
name: ['-p', '--print'],
description: 'Evaluate script and print result',
),
FigOption(
name: ['-r', '--require'],
isRepeatable: true,
description: 'Require module before executing',
args: [
FigArg(
name: 'module',
generators: [dependenciesGeneratorRevised],
filterStrategy: 'fuzzy',
),
],
),
FigOption(
name: ['-i', '--interactive'],
description: 'Always open interactive REPL',
),
FigOption(
name: ['--show-config'],
description: 'Print resolved Typescript config to the terminal',
),
FigOption(
name: ['--cwd-mode'],
description:
'Resolve Typescript config based on the current working directory',
),
FigOption(
name: ['-T', '--transpile-only'],
description: 'Use the Typescript transpile module mode',
),
FigOption(
name: ['-H', '--compiler-host'],
description: 'Use the Typescript compiler host API',
),
FigOption(
name: ['-I', '--ignore'],
description: 'Ignore patterns from Typescript compilation',
args: [FigArg(name: 'pattern')],
),
FigOption(
name: ['-P', '--project'],
description: 'Specify TypeScript project location',
args: [
FigArg(
name: 'project',
template: 'filepaths',
// Note: filterTemplateSuggestions is not directly supported in this simple conversion.
// Using template: 'filepaths' is a good approximation.
),
],
),
FigOption(
name: ['-C', '--compiler'],
description: 'Use a custom compiler',
args: [FigArg(name: 'compiler')],
),
FigOption(
name: ['--transpiler'],
description: 'Use a custom transpiler',
args: [FigArg(name: 'transpiler')],
),
FigOption(
name: ['-D', '--ignore-diagnostics'],
description: 'Specify Typescript diagnostic code to ignore',
args: [FigArg(name: 'code')],
),
FigOption(
name: ['-O', '--compiler-options'],
insertValue: "-O '{cursor}'",
description: 'JSON object that will be merged with the compiler options',
args: [FigArg(name: 'options')],
),
FigOption(
name: ['--cwd'],
description: 'Specify working directory',
args: [
FigArg(
name: 'cwd',
template: 'folders',
),
],
),
FigOption(
name: ['--files'],
description:
'Load files, include and exclude from Typescript config on startup',
),
FigOption(
name: ['--pretty'],
description: 'Use the pretty formatter for diagnostic errors',
),
FigOption(
name: ['--skip-project'],
description: 'Skip reading Typescript config',
),
FigOption(
name: ['--scope'],
description: 'Scope compilation to scope directory specified',
),
FigOption(
name: ['--scope-dir'],
description: 'Directory for scope parameter',
args: [
FigArg(
name: 'directory',
template: 'folders',
),
],
),
FigOption(
name: ['--skip-ignore'],
description: 'Skip --ignore checks',
),
FigOption(
name: ['--prefer-ts-exts'],
description:
'Prefer Typescript files over JavaScript files when importing files',
),
FigOption(
name: ['--log-error'],
description:
'Pipe Typescript errors to stderr instead of throwing exceptions',
),
FigOption(
name: ['--no-experimental-repl-await'],
description: 'Disable the top-level await function in REPL',
),
],
args: [
FigArg(
name: 'script',
isScript: true,
template: 'filepaths',
),
],
);