Project

typelizer

0.07
The project is in a healthy, maintained state
A TypeScript type generator for Ruby serializers.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Runtime

>= 6.1.0
 Project Readme

Typelizer

Gem Version

Typelizer generates TypeScript types, route helpers, and OpenAPI schemas from your Ruby on Rails application. It keeps your backend and frontend in sync without hand-maintaining types.

Features

  • Automatic TypeScript interface generation from serializers
  • Type-safe route helpers from Rails routes
  • Supports Alba, ActiveModel::Serializer, Oj::Serializer, Panko::Serializer
  • OpenAPI 3.0/3.1 schema generation
  • Multiple output writers with layered configuration
  • File watching with automatic regeneration in development

Quick Start

Add to your Gemfile:

gem "typelizer"

Include the DSL in your serializers:

class ApplicationResource
  include Alba::Resource
  include Typelizer::DSL
end

class PostResource < ApplicationResource
  attributes :id, :title, :body
end

Generate TypeScript types:

rails typelizer:generate

Documentation

Full documentation: https://typelizer.dev

Development

You need PostgreSQL running locally. Then:

bundle install
cd spec/app && RAILS_ENV=test bundle exec rails db:create db:migrate && cd ../..
bundle exec rspec

The test suite uses a dummy Rails app in spec/app/ with models, migrations, and serializers for all four supported frameworks (Alba, AMS, OjSerializers, Panko). Linting is done with StandardRB:

bundle exec standardrb

bundle exec rake runs both the tests and the linter.

Credits

Typelizer is inspired by types_from_serializers, js-routes, and Wayfinder.


Evil Martians logo Typelizer is built by Evil Martians, an American design and engineering consultancy for developer tools, AI, and cybersecurity startups.

License

The gem is available as open source under the terms of the MIT License.