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.
501 B
501 B
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.