Download the PHP package codemystify/laravel-types-generator without Composer

On this page you can find all versions of the php package codemystify/laravel-types-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package laravel-types-generator

Laravel Types Generator

I got tired of manually writing TypeScript types for my Laravel APIs, so I built this. It's simple: you tell it exactly what your data looks like, and it generates clean TypeScript interfaces. No magic, no guessing, just straight-forward type generation.

What This Actually Does

You add an attribute to your Laravel classes (like API resources), define the structure, run a command, and get TypeScript files. That's it.

Installation

If you want to customize the config:

Quick Example

Here's how I use it in my Laravel API resources:

Run the command:

Get this TypeScript file:

How to Define Types

Basic Types

Optional Fields

For fields that might not be present:

Nullable Fields

For fields that can be null:

Arrays

Union Types

Real Example: Blog Post API

Here's how I handle a typical blog post resource:

This generates two clean interfaces:

Commands

Generate Types

Preview Without Writing Files

Generate Specific Group

Using Groups

I organize my types with groups:

Then generate specific groups:

File Organization

All generated files go to resources/js/types/generated/ by default:

The index.ts file automatically exports everything:

So in your React/Vue components:

Configuration

The defaults work fine, but you can customize:

Practical Tips

1. Start Simple

Don't try to define everything at once. Start with basic types and add complexity as needed.

2. Mirror Your API Exactly

The structure should match exactly what your API returns. Don't overthink it.

3. Use Optional vs Nullable Correctly

4. Handle Pagination

5. Keep It DRY with Shared Types

Define common types once and reuse them:

Why I Built This

I tried other solutions but they were either:

This approach is explicit and predictable. You define exactly what you want, and you get exactly that. No surprises.

Troubleshooting

Types not generating?

Import errors in TypeScript?

Want to disable the package in production?

The attributes have no runtime impact, but if you want to remove them:

That's it! Simple, predictable TypeScript type generation for Laravel. No magic, just the types you define.


All versions of laravel-types-generator with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2|^8.3
illuminate/console Version ^11.0|^12.0
illuminate/filesystem Version ^11.0|^12.0
illuminate/support Version ^11.0|^12.0
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package codemystify/laravel-types-generator contains the following files

Loading the files please wait ....