api-ref: custom API reference (#4770)

* initialized next.js project

* finished markdown sections

* added operation schema component

* change page metadata

* eslint fixes

* fixes related to deployment

* added response schema

* resolve max stack issue

* support for different property types

* added support for property types

* added loading for components

* added more loading

* type fixes

* added oneOf type

* removed console

* fix replace with push

* refactored everything

* use static content for description

* fixes and improvements

* added code examples section

* fix path name

* optimizations

* fixed tag navigation

* add support for admin and store references

* general enhancements

* optimizations and fixes

* fixes and enhancements

* added search bar

* loading enhancements

* added loading

* added code blocks

* added margin top

* add empty response text

* fixed oneOf parameters

* added path and query parameters

* general fixes

* added base path env variable

* small fix for arrays

* enhancements

* design enhancements

* general enhancements

* fix isRequired

* added enum values

* enhancements

* general fixes

* general fixes

* changed oas generation script

* additions to the introduction section

* added copy button for code + other enhancements

* fix response code block

* fix metadata

* formatted store introduction

* move sidebar logic to Tags component

* added test env variables

* fix code block bug

* added loading animation

* added expand param + loading

* enhance operation loading

* made responsive + improvements

* added loading provider

* fixed loading

* adjustments for small devices

* added sidebar label for endpoints

* added feedback component

* fixed analytics

* general fixes

* listen to scroll for other headings

* added sample env file

* update api ref files + support new fields

* fix for external docs link

* added new sections

* fix last item in sidebar not showing

* move docs content to www/docs

* change redirect url

* revert change

* resolve build errors

* configure rewrites

* changed to environment variable url

* revert changing environment variable name

* add environment variable for API path

* fix links

* fix tailwind settings

* remove vercel file

* reconfigured api route

* move api page under api

* fix page metadata

* fix external link in navigation bar

* update api spec

* updated api specs

* fixed google lint error

* add max-height on request samples

* add padding before loading

* fix for one of name

* fix undefined types

* general fixes

* remove response schema example

* redesigned navigation bar

* redesigned sidebar

* fixed up paddings

* added feedback component + report issue

* fixed up typography, padding, and general styling

* redesigned code blocks

* optimization

* added error timeout

* fixes

* added indexing with algolia + fixes

* fix errors with algolia script

* redesign operation sections

* fix heading scroll

* design fixes

* fix padding

* fix padding + scroll issues

* fix scroll issues

* improve scroll performance

* fixes for safari

* optimization and fixes

* fixes to docs + details animation

* padding fixes for code block

* added tab animation

* fixed incorrect link

* added selection styling

* fix lint errors

* redesigned details component

* added detailed feedback form

* api reference fixes

* fix tabs

* upgrade + fixes

* updated documentation links

* optimizations to sidebar items

* fix spacing in sidebar item

* optimizations and fixes

* fix endpoint path styling

* remove margin

* final fixes

* change margin on small devices

* generated OAS

* fixes for mobile

* added feedback modal

* optimize dark mode button

* fixed color mode useeffect

* minimize dom size

* use new style system

* radius and spacing design system

* design fixes

* fix eslint errors

* added meta files

* change cron schedule

* fix docusaurus configurations

* added operating system to feedback data

* change content directory name

* fixes to contribution guidelines

* revert renaming content

* added api-reference to documentation workflow

* fixes for search

* added dark mode + fixes

* oas fixes

* handle bugs

* added code examples for clients

* changed tooltip text

* change authentication to card

* change page title based on selected section

* redesigned mobile navbar

* fix icon colors

* fix key colors

* fix medusa-js installation command

* change external regex in algolia

* change changeset

* fix padding on mobile

* fix hydration error

* update depedencies
This commit is contained in:
Shahed Nasser
2023-08-15 18:07:54 +03:00
committed by GitHub
parent 16249ec280
commit 914d773d3a
3270 changed files with 22075 additions and 192064 deletions
+232
View File
@@ -0,0 +1,232 @@
---
description: 'Learn how to install the Medusa CLI Tool. Medusa CLI Tool can be used to perform actions such as create a new Medusa backend, run migrations, create a new admin user, and more.'
---
import TroubleshootingSection from "../troubleshooting/cli-installation-errors/_reusable-section.mdx"
# CLI Reference
This document serves as a reference to the Medusa CLI tool including how to install it and what commands are available.
## Overview
The Medusa CLI serves as a tool that allows you to perform important commands while developing with Medusa.
To use Medusa, it is required to install the CLI tool as it is used to create a new Medusa backend.
---
## How to Install CLI Tool
To install the CLI tool, run the following command in your terminal:
```bash npm2yarn
npm install @medusajs/medusa-cli -g
```
:::note
If you run into any errors while installing the CLI tool, check out the [troubleshooting section](#troubleshooting-installation).
:::
The CLI tool is then available under the `medusa` command. You can see all commands and options with the following command:
```bash
medusa --help
```
---
## Troubleshooting Installation
<TroubleshootingSection />
---
## Common Options
The following options can be used with all available commands.
### --help
Learn more about what you can do with the CLI tool or with a specific command.
**Alias:** `-h`
```bash
medusa new --help
```
### --verbose
Turn on verbose output for detailed logs.
**Default:** `false`
```bash
medusa new my-backend --verbose
```
### --no-color
Turn off colors in the output.
**Alias:** `--no-colors`
**Default:** `false`
```bash
medusa new my-backend --no-color
```
### --json
Turn on JSON logger.
**Default:** `false`
```bash
medusa new my-backend --json
```
### --version
If used inside a Medusa project, the version of the Medusa CLI and Medusa project is shown. Otherwise, the version of the Medusa CLI is shown.
**Alias:** `-v`
```bash
medusa --version
```
---
## Available Commands
### new
Create a new Medusa backend.
```bash
medusa new [<backend_name> [<starter_url>]]
```
#### Arguments
| Name | Description | Default |
| --- | --- | --- |
| `backend_name` | The name of the Medusa backend. It will be used as the name of the directory created. | If not provided, youll be prompted to enter it. |
| `starter_url` | The URL of the starter to create the backend from. | The default starter is used. |
#### Options
| Name | Description |
| --- | --- |
| `-y`, `--useDefaults` | If the flag is set the command will not interactively collect database credentials. |
| `--skip-db` | If the flag is set the command will not attempt to complete the database setup. |
| `--skip-migrations` | If the flag is set the command will not attempt to complete the database migration. |
| `--skip-env` | If the flag is set the command will not attempt to populate .env. |
| `--db-user` | The database user to use for database setup and migrations. |
| `--db-database` | The database used for database setup and migrations. |
| `--db-pass` | The database password to use for database setup and migrations. |
| `--db-port` | The database port to use for database setup and migrations. |
| `--db-host` | The database host to use for database setup and migrations. |
### develop
Start development backend. This command watches files for any changes to rebuild the files and restart the backend.
```bash
medusa develop
```
#### Options
| Name | Description |
| --- | --- |
| `-H`, `--host` | Set host. Defaults to localhost. |
| `-p`, `--port` | Set port. Defaults to 9000. |
### start
Start development backend. This command does not watch for file changes or restart the backend.
```bash
medusa start
```
#### Options
| Name | Description |
| --- | --- |
| `-H`, `--host` | Set host. Defaults to localhost. |
| `-p`, `--port` | Set port. Defaults to 9000. |
### migrations
Migrate the database to the most recent version.
```bash
medusa migrations <action>
```
#### Arguments
| Name | Description | Default |
| --- | --- | --- |
| `action` | The action to perform. Values can be `run`, `show`, or `revert`. `run` is used to run the migrations; `show` is used to only show what migrations are available to run; and `revert` is to undo the last migration. | This argument is required and does not have a default value. |
### seed
Migrates and populates the database with the provided file.
```bash
medusa seed --seed-file=<file_path>
```
#### Options
| Name | Description |
| --- | --- |
| `-f`, `--seed-file` | Path to the file where the seed is defined. (required) |
| `-m`, `--migrate` | Flag to indicate if migrations should be run prior to seeding the database. Default is true. |
### user
Creates a new admin user.
```bash
medusa user --email <email> [--password <password>]
```
#### Options
| Name | Description |
| --- | --- |
| `-e <email>`, `--email <email>` | The email to create a user with. (required) |
| `-p <password>`, `--password <password>` | The password to use with the user. If not included, the user will not have a password. |
| `-i <id>`, `--id <id>` | The users ID. By default it is automatically generated. |
| `--invite` | Whether to create an invite instead of a user. When using this option, you don't need to specify a password. If ran successfully, you'll receive the invite token in the output. |
### telemetry
Enable or disable the collection of anonymous data usage. If no option is provided, the command will enable the collection of anonymous data usage.
```bash
medusa telemetry
```
#### Options
| Name | Description |
| --- | --- |
| `--enable` | Enable telemetry (default) |
| `--disable` | Disable telemetry |
---
## See Also
- [Configure Medusa](../development/backend/configurations.md)
- [Set up your development environment](../development/backend/prepare-environment.mdx)