Converts TypeScript to JSON-schema
Switch branches/tags
Clone or download
Latest commit a74a633 Jun 18, 2015

A swisspush project

Typson ======

Write your type definitions in TypeScript and Typson will generate json-schemas.

See it in action with its buddy docson

Build Status


  • Available as Node.js module
  • Can also run as-is in the browser.
  • Integrates with Swagger.
  • Supports types in multiple files.
  • Translates required properties, extends, enums, maps, annotation keywords.



  • Install with npm install typson -g
  • Generate definitions from a type script: typson schema example/invoice/line.ts
  • Generate a schema from a type declared in a type script: typson schema example/invoice/line.ts Invoice


<script src="vendor/require.js"/>
    require(["lib/typson-schema"], function(typson) {
            typson.schema("example/invoice/line.ts", "Invoice").done(function(schema) {



Generated definitions are compatible with Swagger, you can copy Typson's output to your API files.


You can make Swagger UI read type definitions directly by integrating Typson, you will need a modified version of swagger.js. This version just adds the capability to load the models from another source.

See how it looks like in the Swagger Typson example (Note: this example also illustrate Docson integration in Swagger).

Then, adapt Swagger UI's index.html to

  1. Include Typson integration after the main inline script:
  <script src="/typson/vendor/require.js"></script>
          baseUrl: "/typson"
  1. Initialize Swagger UI only once Typson is ready:
  var typsonReady = $.Deferred();
  typsonReady.done(function () {

instead of jQuery's $(function() { initializer.

Then, just replace the models section of your API file with a tsModels property containing the URL pointing to the type script defining the models.

Similar Projects

Bitdeli Badge