Commit Graph
100 Commits
Author SHA1 Message Date
Shahed Nasser 82db53c99e docs: fix search in api reference (#6578)
* docs: fix search in api reference

* remove log messages
2024-03-05 10:02:56 +01:00
Shahed Nasser 860d56041a docs: fixes to CLI reference (#6530) 2024-02-29 13:37:36 +01:00
Shahed Nasser 3b18f399c1 docs(ui): show icon tooltip on small devices (#6407) 2024-02-26 08:31:36 +01:00
Shahed Nasser c86e27bd0d chore: generated tsdocs (#6352)
Generated TSDocs for the past release.

Note: I haven't updated examples as the examples are for modules without a public reference yet, so the examples can wait.
2024-02-23 15:21:16 +00:00
Shahed Nasser 52afc619b3 docs: typo fix in create event module reference (#6470) 2024-02-22 12:16:18 +01:00
Shahed Nasser c3e30224c7 docs: add missing widget props for collections injection zones (#6452)
* docs: add missing widget props for collections injection zones

Adds missing widget props for the `product_collection.details.before` and `product_collection.details.after` injection zones.

* fix lint error
2024-02-21 07:49:30 +01:00
Shahed Nasser 68123c6ffd docs: add missing steps to enable medusa_v2 flag (#6406) 2024-02-16 14:20:52 +00:00
Shahed Nasser 0d68eadf84 docs: add ignore tag to isPaymentProcessor (#6410)
- Add ignore tags to `isPaymentProcessor` method and property
- Generate payment reference to move the associated section.
2024-02-16 12:51:14 +00:00
Shahed Nasser 16927469eb docs: fixes to code snippets in Workflows documentation (#6393) 2024-02-14 13:25:35 +00:00
Shahed Nasser 59ab66a773 docs-util: fix import issues following merge (#6390)
During the merge of #6338 the imports in the `git-manager.ts` causes an error during build which wasn't caught in the merge. This PR fixes the imports in the file.
2024-02-13 14:59:04 +00:00
Shahed Nasser d1f697c88e docs: new troubleshooting guide + cors fix (#6387)
- Fixed CORS middleware to account for routes of a single path (for example, `/custom` and not just `/custom/test`).
- Added a troubleshooting guide for admin webpack errors (see issue #6375)
2024-02-13 11:32:02 +00:00
Shahed Nasser 5ddae7ecd1 chore(docs): add empty changeset step to actions (#6377)
- Creates a script that runs the `yarn changeset --empty` command if there are file changes. This is important to not create PRs of just empty changesets if there are no file changes.
- Run script in all docs-generation PRs
- Fix to condition in `generate-docblock` action
2024-02-13 08:58:48 +00:00
Shahed Nasser 374a3f4dab docs-util: support generating OAS in docblock generator (#6338)
## What

This PR adds support for generating OAS in the docblock generator tool.

## How

As OAS are generated in a different manner/location than regular TSDocs, it requires a new type of generator within the tool. As such, the existing docblock generator now only handles files that aren't under the `packages/medusa/src/api` and `packages/medusa/src/api-v2` directories. The new generator handles files under these directories. However, it only considers a node to be an API route if it's a function having two parameters of types `MedusaRequest` and `MedusaResponse` respectively. So, only new API Routes are considered.

The new generator runs the same way as the existing docblock generator with the same method. The generators will detect whether they can run on the file or not and the docblocks/oas are generated based on that. I've also added a `--type` option to the CLI commands of the docblock generator tool to further filter and choose which generator to use.

When the OAS generator finds an API route, it will generate its OAS under the `docs-util/oas-output/operations` directory in a TypeScript file. I chose to generate in TS files rather than YAML files to maintain the functionality of `medusa-oas` without major changes.

Schemas detected in the OAS operation, such as the request and response schemas, are generated as OAS schemas under the `docs-util/oas-output/schemas` directory and referenced in operations and other resources.

The OAS generator also handles updating OAS. When you run the same command on a file/directory and an API route already has OAS associated with it, its information and associated schemas are updated instead of generating new schemas/operations. However, summaries and descriptions aren't updated unless they're not available or their values are the default value SUMMARY.

## API Route Handling

### Request and Response Types

The tool extracts the type of request/response schemas from the type arguments passed to the `MedusaRequest` and `MedusaResponse` respectively. For example:

```ts
export const POST = async (
  req: MedusaRequest<{
    id: string
  }>,
  res: MedusaResponse<ResponseType>
) => {
  // ...
}
```

If these types aren't provided, the request/response is considered empty.

### Path Parameters

Path parameters are extracted from the file's path name. For example, for `packages/medusa/src/api-v2/admin/campaigns/[id]/route.ts` the `id` path parameter is extracted.

### Query Parameters

The tool extracts the query parameters of an API route based on the type of `request.validatedQuery`. Once we narrow down how we're typing query parameters, we can revisit this implementation.

## Changes to Medusa Oas CLI

I added a `--v2` option to the Medusa OAS CLI to support loading OAS from `docs-util/oas-output` directory rather than the `medusa` package. This will output the OAS in `www/apps/api-reference/specs`, wiping out old OAS. This is only helpful for testing purposes to check how the new OAS looks like in the API reference. It also allows us to slowly start adapting the new OAS.

## Other Notes and Changes

- I've added a GitHub action that creates a PR for generated OAS when Version Packages is merged (similar to regular TSDocs). However, this will only generate the OAS in the `docs-util/oas-output` directory and will not affect the existing OAS in the API reference. Once we're ready to include it those OAS, we can talk about next steps.
- I've moved the base YAML from the `medusa` package to the `docs-util/oas-output/base` directory and changed the `medusa-oas` tool to load them from there.
- I added a `clean:oas` command to the docblock generator CLI tool that removes unused OAS operations, schemas, and tags from `docs-util/oas-output`. The tool also supports updating OAS operations and their associated schemas. However, I didn't add a specific mechanism to update schemas on their own as that's a bit tricky and would require the help of typedoc. I believe with the process of running the tool on the `api-v2` directory whenever there's a new release should be enough to update associated schemas, but if we find that not enough, we can revisit updating schemas individually.
- Because of the `clean:oas` command which makes changes to tags (removing the existing ones, more details on this one later), I've added new base YAML under `docs-util/oas-output/base-v2`. This is used by the tool when generating/cleaning OAS, and the Medusa OAS CLI when the `--v2` option is used.

## Testing

### Prerequisites

To test with request/response types, I recommend minimally modifying `packages/medusa/src/types/routing.ts` to allow type arguments of `MedusaRequest` and `MedusaResponse`:

```ts
import type { NextFunction, Request, Response } from "express"

import type { Customer, User } from "../models"
import type { MedusaContainer } from "./global"

export interface MedusaRequest<T = unknown> extends Request {
  user?: (User | Customer) & { customer_id?: string; userId?: string }
  scope: MedusaContainer
}

export type MedusaResponse<T = unknown> = Response

export type MedusaNextFunction = NextFunction

export type MedusaRequestHandler = (
  req: MedusaRequest,
  res: MedusaResponse,
  next: MedusaNextFunction
) => Promise<void> | void
```

You can then add type arguments to the routes in `packages/medusa/src/api-v2/admin/campaigns/[id]/route.ts`. For example:

```ts
import {
  deleteCampaignsWorkflow,
  updateCampaignsWorkflow,
} from "@medusajs/core-flows"
import { ModuleRegistrationName } from "@medusajs/modules-sdk"
import { CampaignDTO, IPromotionModuleService } from "@medusajs/types"
import { MedusaRequest, MedusaResponse } from "../../../../types/routing"

interface ResponseType {
  campaign: CampaignDTO
}

export const GET = async (
  req: MedusaRequest,
  res: MedusaResponse<ResponseType>
) => {
  const promotionModuleService: IPromotionModuleService = req.scope.resolve(
    ModuleRegistrationName.PROMOTION
  )
  const campaign = await promotionModuleService.retrieveCampaign(
    req.params.id,
    {
      select: req.retrieveConfig.select,
      relations: req.retrieveConfig.relations,
    }
  )
  res.status(200).json({ campaign })
}

export const POST = async (
  req: MedusaRequest<{
    id: string
  }>,
  res: MedusaResponse<ResponseType>
) => {
  const updateCampaigns = updateCampaignsWorkflow(req.scope)
  const campaignsData = [
    {
      id: req.params.id,
      ...(req.validatedBody || {}),
    },
  ]
  const { result, errors } = await updateCampaigns.run({
    input: { campaignsData },
    throwOnError: false,
  })
  if (Array.isArray(errors) && errors[0]) {
    throw errors[0].error
  }
  res.status(200).json({ campaign: result[0] })
}

export const DELETE = async (
  req: MedusaRequest,
  res: MedusaResponse<{
    id: string
    object: string
    deleted: boolean
  }>
) => {
  const id = req.params.id
  const manager = req.scope.resolve("manager")
  const deleteCampaigns = deleteCampaignsWorkflow(req.scope)
  const { errors } = await deleteCampaigns.run({
    input: { ids: [id] },
    context: { manager },
    throwOnError: false,
  })
  if (Array.isArray(errors) && errors[0]) {
    throw errors[0].error
  }
  res.status(200).json({
    id,
    object: "campaign",
    deleted: true,
  })
}
```

### Generate OAS

- Install dependencies in the `docs-util` directory
- Run the following command in the `docs-util/packages/docblock-generator` directory:

```bash
yarn dev run "../../../packages/medusa/src/api-v2/admin/campaigns/[id]/route.ts"
```

This will generate the OAS operation and schemas and necessary and update the base YAML to include the new tags.

### Generate OAS with Examples

By default, the tool will only generate cURL examples for OAS operations. To generate templated JS Client and (placeholder) Medusa React examples, add the `--generate-examples` option to the command:

```bash
yarn dev run "../../../packages/medusa/src/api-v2/admin/campaigns/[id]/route.ts" --generate-examples
```

> Note: the command will update the existing OAS you generated in the previous test.

### Testing Updates

To test updating OAS, you can try updating request/response types, then running the command, and the associated OAS/schemas will be updated.

### Clean OAS

The `clean:oas` command will remove any unused operation, tags, or schemas. To test it out you can try:

- Remove an API Route => this removes its associated operation and schemas (if not referenced anywhere else).
- Remove all references to a schema => this removes the schema.
- Remove all operations in `docs-util/oas-output/operations` associated with a tag => this removes the tag from the base YAML.

```bash
yarn dev clean:oas
```

> Note: when running this command, existing tags in the base YAML (such as Products) will be removed since there are no operations using it. As it's running on the base YAML under `base-v2`, this doesn't affect base YAML used for the API reference.

### Medusa Oas CLI

- Install and build dependencies in the root of the monorepo
- Run the following command to generate reference OAS for v2 API Routes (must have generated OAS previously using the docblock generator tool):

```bash
yarn openapi:generate --v2
```

- This wipes out existing OAS in `www/apps/api-reference/specs` and replaces them with the new ones. At this point, you can view the new API routes in the API reference by running the `yarn dev` command in `www/apps/api-reference` (although not necessary for testing here).
- Run the command again without the `--v2` option:

```bash
yarn openapi:generate
```

The specs in `www/apps/api-reference/specs` are reverted back to the old routes.
2024-02-13 08:40:04 +00:00
Shahed Nasser 1593e0b192 chore: small fixes to tsdocs (#6341)
Small fixes of the TSDocs for the upcoming release
2024-02-12 16:26:27 +00:00
Shahed Nasser bc2a63782b docs: update next.js starter docs (#6378)
* docs: update next.js starter docs

* added empty changeset
2024-02-12 14:10:08 +01:00
Shahed Nasser 66e8f4e0d2 docs-util: fix release scripts (#6353)
- Fix GitHub action to run on push and check if the commit message is "chore: Release". Only then are TSDocs generated and a PR is opened.
- Add an option to pass to the `run:release` method of the docblock generator a release tag. This is helpful in cases when the GitHub action fails for any reason.
- Add scripts that checks the message of a commit.
2024-02-08 20:36:27 +00:00
Shahed Nasser 3ded2314a5 fix(medusa): fix constructor container type for abstract services (#6259) 2024-02-08 10:36:45 +01:00
Shahed Nasser 2cebadc3a8 docs: fix title of the configuration page (#6268)
Fix the title of the configurations page which is generated by typedoc
2024-01-31 13:50:34 +00:00
Shahed Nasser 8c7a031090 docs: refactoring of docblock generator tool (#6261)
small refactoring of the docblock generator tool that moves all git operations and requests into the `GitManager`
2024-01-30 17:01:54 +00:00
Shahed Nasserandgithub-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> 96629f1916 docs: change process for generating docblocks through actions (#6237)
This PR changes the original process of generating docblocks through actions. The process now is:

1. When a PR is merged for the branch `changeset-release/develop`, the docblock generator tool us used to generate docblocks for the changed files. The changed files are determined by retrieving all comments since the last release and the files in each of those commits.
2. If there are changes after using the docblock generator tool, a PR is opened in the branch `chore/generate-tsdocs`.
3. Once the `chore/generate-tsdocs` is merged, it triggers an action that generates the references for the docs. This changes the previous behaviour of generating references on a new release.

Both actions (that runs the docblock generator tool and that generates references for the docs) can also be triggered manually.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
2024-01-29 08:05:14 +00:00
Shahed Nasser b78ffedafb docs: add a section on custom templates in SendGrid guide (#6215) 2024-01-25 16:47:08 +01:00
Shahed Nasser e84847be36 feat(medusa-oas-cli): updated redocly-cli to v1.7 (#6211)
## What

Updates `@redocly/cli` to v1.7. This resolves the bug of TypeScript and tsx code samples in the OAS being generated as undefined files (see files under `www/apps/api-reference/specs/admin/code_samples/tsx` and `www/apps/api-reference/specs/store/code_samples/tsx`

I avoided re-generating OAS so that this PR doesn't have a huge diff. When the next release is out, an automated PR will be opened to update the OAS files, replacing the undefined files with `.tsx` files.

### Other Changes

- Small fixes to `medusa-oas-cli` README for clarity
2024-01-25 07:53:58 +00:00
Shahed Nasser a1b561e4a6 docs(docblock-generator): fix action Node version (#6207) 2024-01-25 08:38:15 +01:00
Shahed Nasser f29948a6a8 docs-util: created docblock-generator tool (#6096) 2024-01-24 11:13:40 +01:00
Shahed Nasser ddc0c9dfff docs: add anchor link to reference parameters (#6194)
- Added anchor links to items in parameter components
- Added sectionTitle prop in markdown theme

Note: Due to the second point, the change requires generating references to see the anchor links, which would result in a big diff in this PR. Instead, next time the references are generated for a release, this feature will available for use.
2024-01-24 08:42:55 +00:00
Shahed Nasser 75fd6b0c83 docs: improvements to deployment guides (#6183)
- Add a new deployment overview page giving a general overview of how a Medusa project is deployed
- Add a new section in all backend deployment guides related to the Medusa admin.
- Add a general deployment guide for the medusa admin.
- Add a general deployment guide for the Next.js starter
2024-01-24 08:22:50 +00:00
Shahed Nasser bc79edfa67 docs: update strapi guide (#6163)
Update the Strapi guide to use [this community plugin](https://github.com/SGFGOV/medusa-strapi-repo)

Fixes #5152 and #5030
2024-01-23 09:31:09 +00:00
Shahed Nasser 9d7ed9dbaf docs: rearrange sections in SendGrid guide (#6165)
Rearrange sections in the sendgrid plugin guide to show installation steps before templates reference.
2024-01-23 08:36:34 +00:00
Shahed Nasser 9a3326a56e docs: fix production build error (#6170)
Fix build error in production due to incorrect link
2024-01-23 08:19:25 +00:00
Shahed Nasser 4792c55226 docs: migrate guides to TSDoc references (#6100) 2024-01-22 18:38:35 +01:00
Shahed Nasser 85dad169bb chore(docs-util): change freshness check threshold (#6122) 2024-01-22 18:02:08 +01:00
Shahed Nasser 8c67e32d41 docs: improve admin documentation (#6117)
- Move the admin plugin's options to the Admin Configuration documentation.
- Add a section on how to change the backend URL for both development and production.
- Fix the troubleshooting section related to port forwarding.
- General fixes.
2024-01-22 15:48:33 +00:00
Shahed Nasser 8a8a7183b8 docs: change sidebar title for Event (#6134)
Changed sidebar title from "Event" to "Subscribers and Events"
2024-01-19 12:23:36 +00:00
Shahed Nasser 571b64cd16 docs: added link to next.js starter demo (#6108) 2024-01-17 10:31:38 +00:00
Shahed Nasser 5d1965f2fa docs: add new troubleshooting section for create-medusa-app (#6071)
* docs: add new troubleshooting section for create-medusa-app

* small fixes
2024-01-15 13:33:53 +02:00
Shahed Nasser 5dacd4ac9f docs: fix example of createFulfillment (#6088) 2024-01-15 11:20:55 +02:00
Shahed Nasser 33ff2415ae fix: eslint configurations in the root (#6049)
When running `yarn lint` in the root of the monorepo, we get the following error:

```bash
Oops! Something went wrong! :(

ESLint: 8.44.0

Error: ESLint configuration in .eslintrc.js is invalid:
	- Unexpected top-level property "overrides[4].ignorePatterns".
```

Rmoving the `ignorePatterns` in configurations for `packages/admin-next/dashboard/**/*` and instead adding the path `packages/admin-next/dashboard/**/dist` fixes the issue.
2024-01-13 13:21:16 +00:00
Shahed Nasser 0b0c25da11 docs: update dependencies (#6046) 2024-01-10 10:56:54 +02:00
Shahed Nasser 13f12e1953 docs: documentation updates for v1.20 (#6031)
* docs: documentation updates for v1.20

* fix stripe upgrade guide

* fixed vale error

* fix eslint errors

* change stripe environment variables to options
2024-01-09 19:07:24 +01:00
Shahed Nasser 97fd67bdd3 docs: improvements of docs UI (#6038)
* docs: improvements of docs UI

* changed note about icon sizes
2024-01-09 19:21:12 +02:00
Shahed Nasser 18de90e603 docs: fix tsdocs following typedoc update + 1.20 release (#6033)
* docs: fix tsdocs following typedoc update + 1.20 release

* Fix OAS validation errors

* fixes to react-docs-generator

* fix content linting
2024-01-09 17:15:29 +02:00
Shahed Nasser 125879ada4 fix(medusa-payment-stripe): change webhook environment variables to plugin options (#6034)
* fix(medusa-payment-stripe): change webhook environment variables to plugin options

* access options through service
2024-01-09 13:21:05 +01:00
Shahed Nasser 3eee2bd5d6 chore(docs-util): update typedoc to v0.25.7 (#6032) 2024-01-09 11:27:17 +02:00
Shahed Nasser 7d650771d1 docs: generate medusa-react reference (#6004)
* add new plugin for better organization

* added handling in theme for mutations and query types

* added tsdoc to hooks

* added tsdocs to utility functions

* added tsdoc to providers

* generated reference

* general fixes for generated reference

* generated api reference specs + general fixes

* add missing import react

* split utilities into different directories

* added overview page

* added link to customer authentication section

* fix lint errors

* added changeset

* fix readme

* fixed build error

* added expand fields + other sections to overview

* updated what's new section

* general refactoring

* remove unnecessary query field

* fix links

* added ignoreApi option
2024-01-05 17:03:38 +02:00
Shahed Nasser 5ef41bd86d docs: fix file name for scheduled jobs (#5972) 2023-12-28 12:07:05 +02:00
Shahed Nasser bfd10dadaf fix(medusa-js): remove unnecessary query field in AdminInventoryItemsResource.deleteLocationLevel method (#5941)
## What

The underlying endpoint `/admin/inventory-items/{id}/location-levels/{location_id}` that the JS Client's `AdminInventoryItemsResource.deleteLocationLevel` method sends a request to doesn't accept query parameters. So, the `query` argument of the `deleteLocationLevel` is unnecessary.

Fixes CORE-1550
2023-12-21 14:38:53 +00:00
Shahed Nasser 8cb53da34e docs: fix medusa-react guide + specify react-query version (#5918)
* docs: fix medusa-react guide by adding missing link

* fix link

* add v4.22 as the supported version of react-query
2023-12-18 16:01:24 +02:00
Shahed Nasser ddc6cc13a0 docs: add TSDoc for payment processor + generate docs (#5917)
* added tsdocs for payment processor

* generated reference for payment processor
2023-12-18 14:02:18 +02:00
Shahed Nasser e63f4e6c7a docs: fix wishlist route (#5914) 2023-12-18 13:47:15 +02:00
Shahed Nasser a34fe9bfe3 docs: updated digital ocean spaces guide (#5900)
* docs: updated digital ocean spaces guide

* fix example
2023-12-15 17:25:18 +02:00
Shahed Nasser 525ae6d728 docs: added missing service method in digital products recipe (#5899)
* docs: added missing service method in digital products recipe

* fix lint
2023-12-15 15:40:05 +02:00
Shahed Nasser 11b1a61969 docs: fixes to digital products recipe (#5897)
* docs: fixes to digital products recipe

* fix lint errors
2023-12-15 12:39:40 +02:00
Shahed Nasser 761d2e7a69 docs: update documentation websites (#5882)
* docs: update next.js to 14.0.4

* update docusaurus to v3.0.1

* update packages dependencies

* added engines

* update lock
2023-12-14 20:43:16 +02:00
Shahed Nasser fde1e23995 chore: refactored docs-util (#5876) 2023-12-14 18:25:40 +02:00
Shahed Nasser 33dc7645d6 docs: fix upgrade guide release notes link (#5879) 2023-12-14 17:07:57 +02:00
Shahed NasserandOli Juhl a6c8490fc3 docs: updates for v1.19 (#5868)
* docs: updates for v1.19

* Update www/apps/docs/content/upgrade-guides/medusa-core/1-19.mdx

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>

* Update www/apps/docs/content/upgrade-guides/medusa-core/1-19.mdx

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>

---------

Co-authored-by: Oli Juhl <59018053+olivermrbl@users.noreply.github.com>
2023-12-14 15:52:41 +01:00
Shahed Nasser 1c6c759aa8 docs: added a troubleshooting section for --db-url option (#5872)
* docs: added a troubleshooting section for --db-url option

* fix vale error
2023-12-14 14:59:07 +02:00
Shahed Nasser c0ce969cd7 docs: fixed sidebar in API reference (#5871) 2023-12-14 13:26:24 +02:00
Shahed NasserandKasper Fabricius Kristensen 245e5c9a69 docs: generate documentation for UI components (#5849)
* added tool to generate spec files for React components

* use typedoc for missing descriptions and types

* improvements and fixes

* improvements

* added doc comments for half of the components

* add custom resolver + more doc comments

* added all tsdocs

* general improvements

* add specs to UI docs

* added github action

* remove unnecessary api route

* Added readme for react-docs-generator

* remove comment

* Update packages/design-system/ui/src/components/currency-input/currency-input.tsx

Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>

* remove description of aria fields + add generate script

---------

Co-authored-by: Kasper Fabricius Kristensen <45367945+kasperkristensen@users.noreply.github.com>
2023-12-13 16:02:41 +02:00
Shahed Nasser edc49bfe1d docs: update required Node.js version for Next.js starter (#5859) 2023-12-13 15:12:14 +02:00
Shahed Nasser a458cd144d docs: update algolia plugin next.js details (#5807) 2023-12-05 15:49:52 +02:00
Shahed Nasser 892d737c1f docs: enhance how references are generated (#5805)
* adjusted configurations

* enhancements to tool and configurations

* change reference in docs

* fixed issue in workflows reference

* added project name

* more optimizations

* fix context error

* added a types reference

* resolved missing types

* fix reference reflection types not having children

* add an expand url parameter

* added new option to the README

* added details about new option
2023-12-05 15:29:41 +02:00
Shahed Nasser ebac617c19 docs: fix typo in onboarding (#5802) 2023-12-05 10:52:51 +02:00
Shahed Nasser c808317044 docs: added "Integrate Your Ecommerce Stack" recipe (#5774) 2023-11-30 11:27:09 +00:00
Shahed Nasser f802e2460f docs: TSDoc + reference of fulfillment service (#5761) 2023-11-29 11:58:08 +00:00
Shahed Nasser 443c611d3b docs: updated Next.js deployment guide (#5756) 2023-11-28 15:52:29 +00:00
Shahed Nasser fa4935259c docs: diagrams plugin tooling (#5741)
* added plugin

* updated plugin + added component

* dummy data TO BE REMOVED

* (wip) workflow generator tool

* add workflow generator tooling

* updated the generator tool

* added code file creation

* fix design of diagrams

* configured diagram theme

* added build script

* removed comments + unnecessary files

* general fixes

* refactored plugin

* added README + more output types
2023-11-28 14:30:23 +00:00
Shahed NasserandRiqwan Thamir d27b86ab8e docs: added examples for modules usage in Medusa (#5753)
* Add data migration script after running migrations

* Update install-medusa.mdx

* Update examples.md (#5751)

* fix lint errors

* fix comment in example

* added examples for modules usage in Medusa

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2023-11-28 11:14:00 +00:00
Shahed Nasser deca78f749 docs: updated next.js starter docs (#5748)
* docs: updated next.js starter docs

* fix lint errors

* added migration script
2023-11-28 09:42:28 +00:00
Shahed Nasser 5f90515306 docs: fix back links for modules references (#5747) 2023-11-27 19:59:04 +00:00
Shahed Nasser dc6b815b12 docs: updated user guide for product pricing (#5744)
Updated the user guide to remove the pricing section in create/update variants sections
2023-11-27 18:37:14 +00:00
Shahed Nasser d337c6d95b docs: fix back link in Workflows API Reference (#5740)
Fix back link shown in the sidebar of the workflows API reference
2023-11-27 18:09:32 +00:00
Shahed Nasser cdc1da5df7 docs: added documentation pages for experimental features (#5671)
* docs: added documentation pages for experimental features

* fix content lint issues

* fixed lint errors

* added migration step

* added workflows introduction

* add installation guides

* added installation guides for modules + generated workflows reference

* added missing workflows reference link

* Added warning message for experimental features

* fix note
2023-11-27 16:49:12 +00:00
Shahed Nasser 547b16ead5 docs: fix code block titles (#5733)
* docs: fix code block titles

* remove console

* fix build error
2023-11-27 16:08:10 +00:00
Shahed Nasser a2f42d1d1c docs: update Next.js starter main image (#5702) 2023-11-23 18:28:36 +00:00
f3e20379b0 chore: added TSDoc for workflow utility functions (#5674)
* feat(translation): Init plugin

* Create migration and entity

* Start service implementation

* fix typo

* typings

* config

* lang -> locale

* chnge config

* link

* update link

* update export

* workflow composer (wip)

* workflow step/workflow

* simplify api

* Add structured tests

* Add step name onto the step function for future usage

* new abstraction level of exported workflow

* cleanup

* rm step 4

* Add parallelize support to workflow composition

* add Symbols and support primitive types as input

* rem .only

* eslint

* cleanup + test

* resultFrom

* prevent undefined from crashing

* finalise tests

* chore: transform

* chore: tests and transform type

* move translation to my dummy

* chore: copy before transform

* yarn.lock

* chore: shortcut to property access

* Add type safety

* WIP typesafety

* WIP

* finalise typings

* remove extends unknown

* WIP

* finalise transform typings

* finalise transform typings

* workflow typs

* More typings in invoke and compensate

* rm comment

* Context as the last args

* fix step function type

* types

* fixes

* fixes compose

* chore: transform

* chore: fix tests and transform Proxy

* chore: args length

* uncomment

* chore: array fill

* WIP fix filler

* WIP fix filler

* chore: remove only

* apply gap filler to create step invoke

* context first

* fixes

* wofkrlow ts documentation

* wofkrlow ts documentation

* wofkrlow ts documentation

* wofkrlow ts documentation

* wofkrlow ts documentation

* chore: hook

* hook types

* update types

* don't loose previous iteration

* update implementation

* fix some tests part 1

* finalise typings

* rm new lines

* fixes

* wip

* fixes

* fix tests

* simplify types

* simplify types

* update export

* improve types exclusion compensateInput

* allow a workflow to return plain object composed of stepReturn properties

* only allow one handler for the hook registration

* only allow one handler for the hook registration

* workflow loading

* lint

* lint

* lint

* finalise tests

* try to fix ci

* try to fix ci

* remove corepack step

* cleanup

* cleanup

* cleanup

* chore: context as 2nd argumentq

* added tsdoc for some workflow functions

* Add support for StepResponse and re work the typings

* changeset

* chore: invoke output as default compensate input

* copy data

* copy data

* fix createWorkflow result

* added tsdoc to remaining utility functions

* rm test file

* proxify input and transformer as well

* transformer should re run + type update

* rework step response

* allow void return from steps

* updates to the TSDocs

* address comments

* address PR feedback

* add await for API Route examples

* ignore documenting hooks

---------

Co-authored-by: adrien2p <adrien.deperetti@gmail.com>
Co-authored-by: Carlos R. L. Rodrigues <rodrigolr@gmail.com>
Co-authored-by: Carlos R. L. Rodrigues <37986729+carlos-r-l-rodrigues@users.noreply.github.com>
2023-11-23 16:38:43 +00:00
Shahed Nasser 180b595afb docs: added a new document for available languages (#5667)
- Add a new documentation page for available languages.
- Refer to the new page from other pages.
2023-11-23 10:54:17 +00:00
Shahed Nasser 2850e9a772 docs: redesigned admonitions (#5689) 2023-11-22 17:07:29 +00:00
Shahed Nasser 00d59e28e9 docs: redesign tabs (#5687)
* redesigned tabs

* design fixes
2023-11-22 16:01:51 +00:00
Shahed Nasser 9c7ac7332a docs: added migration action to upgrade guide (#5669) 2023-11-21 14:46:22 +00:00
Shahed NasserandRiqwan Thamir fd27bc0daa chore: update tsdocs of pricing module (#5648)
* chore: update tsdocs of pricing module

* Update money-amount.ts

---------

Co-authored-by: Riqwan Thamir <rmthamir@gmail.com>
2023-11-21 11:26:07 +00:00
Shahed Nasser 9c7f95c3d5 docs: documentation for v1.18 (#5652)
* docs: documentation for v.17.5

* fix links

* updated version number
2023-11-21 08:57:11 +00:00
Shahed Nasser c51dce164d docs: general fixes to references (#5653)
* fixed typedoc plugin's escape strategy

* move props comments to the associated property

* regenerate references
2023-11-17 19:36:58 +02:00
Shahed Nasser 95aa5a2d28 docs: generate inventory and stock location references (#5645) 2023-11-16 11:10:23 +02:00
Shahed Nasser 61aef4aaa7 chore(types): Add TSDoc comments to IInventoryService (#5630)
* chore(types): Add TSDoc comments to IInventoryService

* fix description of list methods

* address PR feedback
2023-11-15 17:40:25 +02:00
Shahed Nasser e13995ff2f chore: add TSDocs for IStockLocationService (#5631)
* chore: add TSDocs for IStockLocationService

* address feedback
2023-11-15 15:54:20 +02:00
Shahed Nasser edeec07466 docs: added troubleshooting for postgres docker container (#5629)
* docs: added troubleshooting for postgres docker container

* fix component name
2023-11-14 12:27:38 +02:00
Shahed Nasser 26617cecf1 chore: change code owners of docs-util directory (#5626)
The `docs-util` directory holds the necessary utility to automate documentation processes. So, the code-owners of it should be the Docs team.
2023-11-14 08:53:18 +00:00
Shahed Nasser b1826a8e01 chore: add missing error responses to currency OAS (#5627) 2023-11-14 10:18:37 +02:00
Shahed Nasser c6dff873de docs: update docusaurus to v3 (#5625)
* update dependencies

* update onboarding mdx

* fixes for mdx issues

* fixes for mdx compatibility

* resolve mdx errors

* fixes in reference

* fix check errors

* revert change in vale action

* fix node version in action

* fix summary in markdown
2023-11-13 20:11:50 +02:00
Shahed Nasser c7b8d060d7 docs: add note about ttl in redis cache module (#5617) 2023-11-13 10:42:52 +02:00
Shahed Nasser d4b8a89e66 docs: updated API Routes and Middlewares docs (#5588)
* docs: updated API Routes and Middlewares docs

* fix eslint errors
2023-11-10 11:00:08 +01:00
Shahed Nasser 3781ac4631 docs: added troubleshooting guide for promise.all (#5586)
* docs: added troubleshooting guide for promise.all

* fix eslint errors
2023-11-10 10:59:52 +01:00
Shahed Nasser d74df4878f docs: fix expandable link in ParameterType (#5595) 2023-11-09 21:20:54 +02:00
Shahed Nasser 4f91263588 chore: fix generate automated reference action (#5589)
* chore: fix generate automated reference action

* fix dependencies

* add depends in turbo

* add install step for www workspace
2023-11-09 17:14:28 +02:00
Shahed Nasser 91615f9c45 chore: improve JS Client TSDoc comments (#5582)
* add oas schema to tsdoc parser

* add tsdoc (part 1)

* Finished tsdoc in js client

* general fixes

* added tsdoc in core medusa package

* parse schema tags in model files

* added maxlevel option

* added more tsdoc

* added tsdoc in core

* added TSDoc in core package

* generated client types

* support featureFlag and expandable tags

* added support for resource feature flag note

* fix api ignore plugin

* added eslint plugin

* support feature flag and expandable badges

* adjusted overview page + generated reference

* revert generated files

* added changeset

* add details about new typedoc options

* fix broken link
2023-11-09 12:51:17 +02:00
Shahed Nasser 2576a0fd23 docs(api-reference): added local server to list of servers (#5572)
* docs(api-reference): added local server to list of servers

* fix publishable api key route
2023-11-06 17:30:56 +02:00
Shahed Nasser 0c9216c225 docs: add missing mime_type in digital products recipe (#5569)
* docs: add missing mime_type in digital products recipe

* fix lint error
2023-11-06 14:35:23 +02:00
Shahed Nasser 3bf9d8ddec chore: ignore vercel deployments when automerging (#5532)
Add vercel actions to the list of ignored checks when the `automerge` label is added to an approved PR.
2023-11-02 12:25:11 +00:00
Shahed Nasser 4692f54b49 chore(docs-util): fix freshness check script (#5518) 2023-11-01 12:28:34 +02:00