Download the PHP package romegasoftware/laravel-schema-generator without Composer
On this page you can find all versions of the php package romegasoftware/laravel-schema-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download romegasoftware/laravel-schema-generator
More information about romegasoftware/laravel-schema-generator
Files in romegasoftware/laravel-schema-generator
Package laravel-schema-generator
Short Description Generate TypeScript Zod validation schemas from Laravel validation rules
License MIT
Informations about the package laravel-schema-generator
Laravel Schema Generator
Generate TypeScript Schema validation schemas from your Laravel validation rules. This package supports Laravel FormRequest classes, Spatie Data classes, and custom validation classes through an extensible architecture.
It will generate Zod schema out of the box, but can be extended for different schema generators.
Features
- 🚀 Zero Dependencies - Works with vanilla Laravel
- 📦 Smart Package Detection - Automatically detects and uses installed packages
- 🎯 Multiple Validation Sources - FormRequests, Spatie Data classes, custom extractors
- 🔧 Flexible Configuration - Customize output paths, formats, and integration settings
- 🧩 Highly Extensible - Custom extractors and type handlers with priority system
Installation
Ensure Zod v4 is installed
Optional Packages
For additional features, install these optional packages:
Configuration
To publish the configuration file, run:
This will create a config/laravel-schema-generator.php file where you can customize output paths, formats, and integration settings.
Generating Separate Files
By default, all schemas are generated into a single TypeScript file. You can configure the package to generate separate files for each schema (e.g., UserSchema.ts, PostSchema.ts) by enabling separate_files in the configuration.
When enabled, the generator will:
- Create individual
.tsfiles for each schema. - Automatically resolve and inject imports for dependent schemas (e.g., if
UserSchemareferencesAddressSchema).
Quick Start
-
Add the attribute to your Laravel validation classes:
-
Generate the schemas:
- Use in TypeScript:
Documentation
For complete documentation, configuration options, advanced features, and examples, visit:
📚 Official Documentation Coming Soon
Custom Schema Overrides
When you need to keep bespoke Laravel validation logic but still describe the TypeScript shape, provide a literal override using the fluent helper. Prefix the snippet with . when you want to append behaviour to the inferred Zod builder instead of replacing it entirely:
Because the override begins with ., the generator keeps the inferred base (z.array(...)) and simply appends your refinement. The callable passed to append() receives the JSON-encoded message as its first argument (and the raw message as a second argument if you declare it). When you want to replace the builder outright, omit the leading dot and provide the complete Zod expression (for example z.array(z.object({ ... }))).
Prefer dedicated rule objects? Implement SchemaAnnotatedRule and reuse the same fluent API with the provided trait:
Both approaches surface the schema fragment directly alongside the validation logic and are picked up automatically by the generator for FormRequests and Spatie Data classes.
Contributing
Please see CONTRIBUTING for development setup and contribution guidelines.
License
The MIT License (MIT). Please see License File for more information.
Credits
- Romega Software
- All Contributors
All versions of laravel-schema-generator with dependencies
illuminate/support Version ^9.0|^10.0|^11.0|^12.0|^13.0
illuminate/console Version ^9.0|^10.0|^11.0|^12.0|^13.0