www/utils/packages/docs-generator/README.md
A CLI tool that generates different types of docblocks from source code:
generated/oas-output.generated/dml-output.yarn command to install dependencies.yarn build command to build source files.Run the following command to run the tool for a specific file:
yarn dev run /absolute/path/to/file.ts
Run the following command to run the tool for applicable git file changes:
yarn dev run:changes
Run the following command to run the tool for a commit SHA hash:
yarn dev run:commit <commit-sha>
Where <commit-sha> is the SHA of the commit. For example, e28fa7fbdf45c5b1fa19848db731132a0bf1757d.
Run the following command to run the tool on commits since the latest release.
yarn dev run:release
Run the following command to clean up the OAS output files and remove any routes that no longer exist:
yarn dev clean:oas
This command will also remove tags and schemas not used.
Run the following command to clean up the DML JSON output files and remove any data models that no longer exist:
yarn dev clean:dml
If a node is an API route, it generates OAS comments rather than TSDoc comments. The OAS comments are generated and placed in new/existing files under the www/utils/generated/oas-output/operations directory.
If a node is a CallExpression and it's created using model.define, then a JSON documentation file with key-value pairs is generated to add description to its properties.
Only files under packages/modules/**/src/models are considered here.
If a node isn't an API Route and it complies with the specified conditions, TSDoc docblocks are generated for it.
Files under the packages/medusa/src/api or packages/modules/**/src/models directories are considered incompatible, so any files under these directories won't have TSDoc docblocks generated for them.
This section includes options that you can pass to any of the mentioned commands.
If this option is passed, the tool will try to generate OAS examples. Currently, it will only try to generate JS Client examples.
cURL examples are always generated regardless of this option.
You can use this option to specify the type of docs to generate. Possible values are:
all: (default) Generate all doc types.docs: Generate only TSDoc docblocks.oas: Generate only OAS files.dml: Generate only JSON files for models built with DML.