Implementation
final List<FigOption> sharedPublicParams = [
FigOption(name: ['-h', '--help'], description: 'Display this help and exit'),
FigOption(
name: ['-b', '--bun'],
description:
'Force a script or package to use Bun\'s runtime instead of Node.js (via symlinking node)'),
FigOption(name: '--cwd', args: [
FigArg(
name: 'path',
description:
'Absolute path to resolve files & entry points from. This just changes the process\' cwd')
]),
FigOption(name: [
'-c',
'--config'
], args: [
FigArg(
name: 'path',
template: 'filepaths',
description: 'Config file to load Bun from (e.g. -c bunfig.toml)',
isOptional: true)
], description: 'Load config (bunfig.toml)'),
FigOption(name: '--extension-order', args: [
FigArg(
name: 'order',
isVariadic: true,
description: 'Defaults to: .tsx,.ts,.jsx,.js,.json')
]),
FigOption(
name: '--jsx-factory',
args: [
FigArg(name: 'name', suggestions: [
const FigSuggestion(name: 'React.createElement'),
const FigSuggestion(name: 'h'),
const FigSuggestion(name: 'preact.h')
])
],
description:
'Changes the function called when compiling JSX elements using the classic JSX runtime'),
FigOption(
name: '--jsx-fragment',
priority: 49,
args: [FigArg(name: 'string', isOptional: true)],
insertValue: '--jsx-fragment=\'{cursor}\'',
description: 'Changes the function called when compiling JSX fragments'),
FigOption(
name: '--jsx-import-source',
args: [
FigArg(
name: 'module', suggestions: [const FigSuggestion(name: 'react')])
],
description:
'Declares the module specifier to be used for importing the jsx and jsxs factory functions. Default: "react"'),
FigOption(
name: '--jsx-runtime',
args: [
FigArg(name: 'name', suggestions: [
const FigSuggestion(name: 'automatic'),
const FigSuggestion(name: 'classic')
])
],
description: '"automatic" (default) or "classic"'),
FigOption(name: [
'-r',
'--preload'
], args: [
FigArg(
name: 'args',
isVariadic: true,
description: 'Import a module before other modules are loaded')
]),
FigOption(name: '--main-fields', args: [
FigArg(
name: 'args',
isVariadic: true,
description:
'Main fields to lookup in package.json. Defaults to --target dependent')
]),
FigOption(
name: '--no-summary',
description: 'Don\'t print a summary (when generating .bun)'),
FigOption(name: ['-v', '--version'], description: 'Print version and exit'),
FigOption(
name: '--revision', description: 'Print version with revision and exit'),
FigOption(name: '--tsconfig-override', args: [
FigArg(
name: 'overrides',
description: 'Load tsconfig from path instead of cwd/tsconfig.json')
]),
FigOption(name: [
'-d',
'--define'
], args: [
FigArg(
name: 'k=v',
isVariadic: true,
description:
'Substitute key=value while parsing, e.g. --define process.env.NODE_ENV=development')
]),
FigOption(name: [
'-e',
'--external'
], args: [
FigArg(
name: 'args',
isVariadic: true,
description:
'Exclude module from transpilation (can use * wildcards). ex: -e react')
]),
FigOption(name: [
'-l',
'--loader'
], args: [
FigArg(
name: 'args',
isVariadic: true,
description:
'Parse files with .ext:loader, e.g. --loader .js:jsx. Valid loaders: js, jsx, ts, tsx, json, toml, text, file, wasm, napi',
suggestions:
loaders.map((loader) => FigSuggestion(name: '.$loader')).toList())
]),
FigOption(name: [
'-u',
'--origin'
], args: [
FigArg(
name: 'args',
description: 'Rewrite import URLs to start with --origin. Default: ""')
]),
FigOption(name: [
'-p',
'--port'
], args: [
FigArg(
name: 'args',
description: 'Port to serve Bun\'s dev server on. Default: "3000"')
]),
FigOption(
name: '--smol',
description: 'Use less memory, but run garbage collection more often'),
FigOption(
name: '--minify', description: 'Minify (experimental)', priority: 50),
FigOption(
name: '--minify-syntax',
description: 'Minify syntax and inline data (experimental)'),
FigOption(
name: '--minify-whitespace',
description: 'Minify whitespace (experimental)'),
FigOption(name: '--minify-identifiers', description: 'Minify identifiers'),
FigOption(
name: '--no-macros',
description:
'Disable macros from being executed in the bundler, transpiler and runtime'),
FigOption(
name: '--target',
description: 'Target environment',
priority: 50,
args: [
FigArg(suggestions: [
const FigSuggestion(name: 'node'),
const FigSuggestion(name: 'browser'),
const FigSuggestion(name: 'bun')
])
]),
FigOption(
name: '--inspect',
description: 'Activate Bun\'s debugger for a file',
args: [inspectArgs]),
FigOption(
name: '--inspect-wait',
description:
'Activate Bun\'s Debugger, wait for a connection before executing',
args: [inspectArgs]),
FigOption(
name: '--inspect-brk',
description:
'Activate Bun\'s Debugger, set breakpoint on first line of code and wait',
args: [inspectArgs]),
FigOption(
name: '--if-present',
description: 'Exit if the entrypoint does not exist')
];