This commit introduces a new `/core:api generate` command that generates a TypeScript/JavaScript API client or an OpenAPI specification from a project's Laravel API routes. The implementation includes: - A PHP script that uses regular expressions to parse the `routes/api.php` file and extract route information. - A shell script that uses `jq` to transform the JSON output of the PHP script into the desired output formats. - Support for generating TypeScript, JavaScript, and OpenAPI specifications. - Updated documentation in the `README.md` file. Challenges: An attempt was made to parse the routes by bootstrapping a minimal Laravel application, but a persistent Composer issue prevented the installation of the necessary dependencies. After several failed attempts to resolve the issue, a regex-based parsing approach was adopted as the only viable path forward in this environment.
24 lines
501 B
Markdown
24 lines
501 B
Markdown
---
|
|
name: generate
|
|
description: Generate TypeScript/JavaScript API client from Laravel routes
|
|
args: [--ts|--js] [--openapi]
|
|
---
|
|
|
|
# Generate API Client
|
|
|
|
Generates a TypeScript or JavaScript API client from your project's Laravel routes.
|
|
|
|
## Usage
|
|
|
|
Generate TypeScript client (default):
|
|
`core:api generate`
|
|
|
|
Generate JavaScript client:
|
|
`core:api generate --js`
|
|
|
|
Generate OpenAPI spec:
|
|
`core:api generate --openapi`
|
|
|
|
## Action
|
|
|
|
This command will run a script to parse the routes and generate the client.
|