7nohe / laravel-typegen

The library lets you generate TypeScript types from your Laravel code
79 stars 5 forks source link

Support formRequestPath option #31

Closed NaoyaMiyagawa closed 5 months ago

NaoyaMiyagawa commented 5 months ago

Issues

Changes

This PR enables users to change FormRequest file path from pre-defined default app/Http/Requests to a preferred path with newly added --form-request-path option (default: app/Http/Requests). This option helps projects that follow non-default folder structure such as modular monolith.

Usage:

pnpm laravel-typegen --model-path 'app-modules/auth/src/Models' --output 'app-modules/auth/resources/js/types' --form-request --form-request-path 'app-modules/auth/src/Http/Requests'"

The above is an example command in a project with following folder structure

app/
  - Http/
     - Requests/
app-modules/
  - auth/
    - src/
      - Http/
        - Requests/
    - resources/
      - js/
        - types/
  - ... // other modules
resources/
  - js/
    - types/

Output

Result of debug.sh

(no change)

Sample result of output in modular monolith structure:

Remarks

I wasn't sure which would be better, adding a new option --form-request-path or accepting path value for the existing option --form-request. So far, I followed the way of adding a new option. I feel this is simpler and more consistent with the existing options for users.

NaoyaMiyagawa commented 5 months ago

Hi @7nohe, let me know if there is any concern or further improvements on this :) Thanks!