wasmBindgenSpec top-level property

FigSpec wasmBindgenSpec
final

Completion spec for wasm-bindgen CLI

Implementation

final FigSpec wasmBindgenSpec = FigSpec(
  name: 'wasm-bindgen',
  description: 'Generate bindings between WebAssembly and JavaScript',
  options: [

    Option(
      name: ['--help', '-h'],
      description: 'Show help for wasm-bindgen'
    ),
    Option(
      name: ['--version', '-v'],
      description: 'Show version for wasm-bindgen'
    ),
    Option(
      name: '--out-dir',
      description: 'Output directory',
      args: [
        Arg(
        name: 'directory',
        description: 'Target directory to emit JS bindings, TS definitions, .wasm binaries, etc',
        template: ['folders']
      )
      ]
    ),
    Option(
      name: '--out-name',
      description: 'Set a custom output filename (Without extension. Defaults to crate name)',
      args: [
        Arg(
        name: 'filename',
        description: 'Output filename',
        template: ['filepaths']
      )
      ]
    ),
    Option(
      name: '--target',
      description: 'What type of output to generate',
      args: [
        Arg(
        name: 'target',
        suggestions: [

          FigSuggestion(
            name: 'web',
            description: 'Directly loadable in a web browser'
          ),
          FigSuggestion(
            name: 'bundler',
            description: 'Suitable for loading in bundlers like Webpack'
          ),
          FigSuggestion(
            name: 'nodejs',
            description: 'Loadable via require as a Node.js module'
          ),
          FigSuggestion(
            name: 'no-modules',
            description: 'Like web, but older and doesn\'t use ES modules'
          ),
          FigSuggestion(
            name: 'deno',
            description: 'Loadable using imports from Deno modules'
          )
        ]
      )
      ]
    ),
    Option(
      name: '--no-modules-global',
      description: 'Name of global to assign generated bindings to',
      args: [
        Arg(
        name: 'name'
      )
      ]
    ),
    Option(
      name: '--browser',
      description: 'Hint that JS should only be compatible with a browser'
    ),
    Option(
      name: '--typescript',
      description: 'Output a TypeScript definition file (on by default)'
    ),
    Option(
      name: '--no-typescript',
      description: 'Don\'t emit a *.d.ts file'
    ),
    Option(
      name: '--omit-imports',
      description: 'Don\'t emit imports in generated JavaScript'
    ),
    Option(
      name: '--debug',
      description: 'Include otherwise-extraneous debug checks in output'
    ),
    Option(
      name: '--no-demangle',
      description: 'Don\'t demangle Rust symbol names'
    ),
    Option(
      name: '--keep-debug',
      description: 'Keep debug sections in wasm files'
    ),
    Option(
      name: '--remove-name-section',
      description: 'Remove the debugging `name` section of the file'
    ),
    Option(
      name: '--remove-producers-section',
      description: 'Remove the telemetry `producers` section'
    ),
    Option(
      name: '--omit-default-module-path',
      description: 'Don\'t add WebAssembly fallback imports in generated JavaScript'
    ),
    Option(
      name: '--encode-into',
      description: 'Whether or not to use TextEncoder#encodeInto()',
      args: [
        Arg(
        name: 'option',
        suggestions: [

          FigSuggestion(
            name: 'test'
          ),
          FigSuggestion(
            name: 'always',
            description: 'Always use TextEncoder#encodeInto()'
          ),
          FigSuggestion(
            name: 'never',
            description: 'Never use TextEncoder#encodeInto()'
          )
        ]
      )
      ]
    ),
    Option(
      name: '--nodejs',
      description: 'Deprecated, use `--target nodejs`'
    ),
    Option(
      name: '--web',
      description: 'Deprecated, use `--target web`'
    ),
    Option(
      name: '--no-modules',
      description: 'Deprecated, use `--target no-modules`'
    ),
    Option(
      name: '--weak-refs',
      description: 'Enable usage of the JS weak references proposal'
    ),
    Option(
      name: '--reference-types',
      description: 'Enable usage of WebAssembly reference types'
    )
  ],
  args: [
    Arg(
    name: 'input',
    description: 'File name to output the compiled binary bindings'
  )
  ]
);