Skip to content

Emitter usage

Usage

  1. Via the command line
Terminal window
tsp compile . --emit=@typespec/json-schema
  1. Via the config
emit:
- "@typespec/json-schema"

The config can be extended with options as follows:

emit:
- "@typespec/json-schema"
options:
"@typespec/json-schema":
option: value

Emitter options

file-type

Type: "yaml" | "json"

Serialize the schema as either yaml or json.

int64-strategy

Type: "string" | "number"

How to handle 64 bit integers on the wire. Options are:

  • string: serialize as a string (widely interoperable)
  • number: serialize as a number (not widely interoperable)

bundleId

Type: string

When provided, bundle all the schemas into a single json schema document with schemas under $defs. The provided id is the id of the root document and is also used for the file name.

emitAllModels

Type: boolean

When true, emit all model declarations to JSON Schema without requiring the @jsonSchema decorator.

emitAllRefs

Type: boolean

When true, emit all references as json schema files, even if the referenced type does not have the @jsonSchema decorator or is not within a namespace with the @jsonSchema decorator.