Awesome
<img alt="type-o-rama" width="100%" src="https://github.com/stereobooster/type-o-rama/blob/master/type-o-rama.png?raw=true"/>
Conversion table
Convert from X→
to →Y
(X→Y
).
→TypeScript | →Flow | →Graphql | →JSON Schema | →Elm | →JSDoc | →Closure JSDoc | →Reason | |
---|---|---|---|---|---|---|---|---|
TypeScript→ | - | + | + | + | + | + | ||
Flow→ | + | - | + | 😢 | + | |||
GraphQL→ | + | + | - | + | + | + | ||
JSON Schema→ | 📦 | + | + | - | 📦 | |||
Elm→ | + | - | ||||||
JSDoc→ | + | + | - | |||||
JSON→ | 📦 | 📦 | + | + | 📦 | |||
Reason→ | + | + | - | |||||
PureScript→ | + | + | ||||||
JavaScript→ | + | + | + | |||||
PropTypes→ | + | + | ||||||
CSS Modules→ | + | + | ||||||
gRPC→ | + | + | + | + | + | |||
Thrift→ | + | |||||||
SQL→ | + | + | + |
Badge
If you want to show that your project was mentioned in type-o-rama you can use this badge:
[![type-o-rama](https://img.shields.io/badge/type--o--rama-%F0%9F%9A%80-blue.svg)](https://github.com/stereobooster/type-o-rama)
TypeScript
- try online
- cheat sheet
- type-coverage - A CLI tool to check type coverage for typescript code
- dtslint
- TSTools - Tools for developing TypeScript declaration files
- typewiz
- Advanced Static Types in TypeScript
TypeScript to Flow
See also:
TypeScript to JSON Schema
TypeScript to JSDoc
TypeScript to Closure JSDoc
TypeScript to Reason
TypeScript to Dart
TypeScript to Kotlin
Flow
- try online
- cheat sheet
- flow-coverage-report - Generate flow coverage reports
Flow to TypeScript
See also:
- Utility Types for TypeScript (provide compatibility with Flow's Utility Types)
- Differences between Flowtype and TypeScript
Flow to Reason
Flow to Closure JSDoc
- 😢 no options here
Who needs it:
Flow to Prepack
Flow to JSON Schema
Flow to PropTypes
GraphQL
GraphQL to TypeScript
See also:
- typed-graphqlify. Build Typed GraphQL Query in TypeScript. Better TypeScript + GraphQL experience
- ts-graphql-plugin
GraphQL to Flow
GraphQL to JSON Schema
GraphQL to Elm
GraphQL to Reason
JSON Schema
JSON Schema to TypeScript
JSON Schema to Flow
JSON Schema to Graphql
JSON Schema to Elm
- quicktype, 📦 Json.Decode
JSON Schema to gRPC
JSON Schema to SQL
OpenAPI
OpenAPI to TypeScript
Swagger to TypeScript
Swagger to Flow
Elm
Elm to TypeScript
JSDoc
JSDoc to Flow
JSDoc to TypeScript
TypeScript JSDoc to TypeScript
Who needs it:
Closure JSDoc to TypeScript
JSDoc flavours
See also:
JSON
JSON to TypeScript
- MakeTypes, 📦 TypeScript Proxies
- quicktype, 📦 cast
- transform.now.sh, 📦 io-ts
- json-ts
- jsontots
- json2ts
- json2dts
JSON to Flow
JSON to Graphql
JSON to PropTypes
JSON to Elm
- json-to-elm, 📦 Json.Decode
- quicktype, 📦 Json.Decode
JSON to Scala
I suppose this can be used for Scala.js.
JSON to JSON Schema
JSON to Reason
Reason
Reason to TypeScript
Reason to Flow
PureScript
PureScript to TypeScript
PureScript to Flow
JavaScript
Status of Static Typing in ECMAScript
JavaScript to TypeScript
JavaScript to Flow
JavaScript to Reason
PropTypes
PropTypes to TypeScript
JSX to TypeScript
PropTypes to Flow
- codemod-proptypes-to-flow
- proptypes-to-flow-codemod
- codemod-react-proptypes-to-flow
- proptypes-to-flow
CSS Modules
CSS Modules to TypeScript
CSS Modules to Flow
gRPC
gRPC to TypeScript
gRPC to Flow
gRPC to GraphQL
- rejoiner (Java)
- gRPC-to-GraphQL-Adapter
gRPC to JSON Schema
- protoc-gen-jsonschema
- protobuf-jsonschema
- grpc-gateway - reverse-proxy server which translates a RESTful JSON API into gRPC. Optionally emitting API definition for Swagger.
gRPC to Elm
gRPC to SQL
gRPC to Scala
Thrift
Thrift to Typescript
SQL
SQL to Typescript
SQL to Flow
SQL to GraphQL
SQL to gRPC
WebIDL
https://developer.microsoft.com/en-us/microsoft-edge/platform/catalog/ - checkout "Visualization" tab.
WebIDL to TypeScript
WebIDL to Flow
Go
Go to TypeScript
Go to Flow
Kotlin
Kotlin to TypeScript
Runtime types to static types
- type-profile for JavaScript
- MonkeyType for Python
- ruby-type-inference for Ruby
Runtime type system
Why do you need Runtime and Static type system together? See this discussion.
Compatible with TypeScript
- ts-runtime - TypeScript Runtime Type Checks Playground
- io-ts - TypeScript compatible runtime type system for IO validation
Compatible with Flow
- flow-runtime - Flow-compatible runtime type system for JavaScript.
- flow-io - (deprecated) Flow compatible runtime type system for IO validation
Incompatible with existing static type systems
- React PropTypes
- tcomb - Type checking and DDD for JavaScript
- hm-def - Runtime type checking for JS with Hindley Milner signatures
- ftor - ftor enables ML-like type-directed, functional programming with Javascript including reasonable debugging
- sanctuary-def - Run-time type system for JavaScript. See also sanctuary#254
- rfx - Self documenting runtime interfaces.
- rtype - Intuitive structural type notation for JavaScript.
See also:
- getdocs - Getdocs is not JSDoc
- ndoc - js port of pdoc, with extentions
- Algebraic Data Types in awesome-fp-js
Property based testing
Testing with TypeScript
Testing with Flow
- babel-plugin-transform-flow-to-gen
- Randomized Testing in JavaScript Without Lifting a Finger
- jest-runner-flowtype
Incompatible with existing static type systems
Testing with Elm
Testing with Reason
Testing with PureScript
Languages that compile to JS
(And not mentioned above)
See also: