Files
medusa-store/www/apps/book/sidebar.mjs
Shahed Nasser 2087c8d155 docs: add best practices doc for third-party syncing (#14203)
* docs: add best practices doc for third-party syncing

* small fix
2025-12-03 15:47:41 +02:00

784 lines
23 KiB
JavaScript

/** @type {import("types").Sidebar.Sidebar[]} */
export const sidebars = [
{
sidebar_id: "docs",
title: "Get Started",
items: [
{
type: "category",
title: "Getting Started",
children: [
{
type: "link",
path: "/learn",
title: "Introduction",
},
{
type: "link",
path: "/learn/installation",
title: "Installation",
children: [
{
type: "link",
path: "/learn/installation/docker",
title: "Install with Docker",
},
],
},
{
type: "link",
title: "Architecture",
path: "/learn/introduction/architecture",
},
{
type: "link",
title: "AI Assistants and LLMs",
path: "/learn/introduction/build-with-llms-ai",
},
{
type: "link",
title: "From v1 to v2",
path: "/learn/introduction/from-v1-to-v2",
},
],
},
{
type: "category",
title: "Customization Tutorial",
children: [
{
type: "link",
title: "Build Custom Features",
path: "/learn/customization/custom-features",
children: [
{
type: "link",
title: "Brand Module",
path: "/learn/customization/custom-features/module",
},
{
type: "link",
title: "Brand Workflow",
path: "/learn/customization/custom-features/workflow",
},
{
type: "link",
title: "Brand API Route",
path: "/learn/customization/custom-features/api-route",
},
],
},
{
type: "link",
title: "Extend Features",
path: "/learn/customization/extend-features",
children: [
{
type: "link",
title: "Link Brands and Products",
path: "/learn/customization/extend-features/define-link",
},
{
type: "link",
title: "Extend Core Flow",
path: "/learn/customization/extend-features/extend-create-product",
},
{
type: "link",
title: "Query Linked Records",
path: "/learn/customization/extend-features/query-linked-records",
},
],
},
{
type: "link",
title: "Customize Admin",
path: "/learn/customization/customize-admin",
children: [
{
type: "link",
title: "Add Widget",
path: "/learn/customization/customize-admin/widget",
},
{
type: "link",
title: "Add UI Route",
path: "/learn/customization/customize-admin/route",
},
],
},
{
type: "link",
title: "Integrate Systems",
path: "/learn/customization/integrate-systems",
children: [
{
type: "link",
title: "CMS Module",
path: "/learn/customization/integrate-systems/service",
},
{
type: "link",
title: "Sync to CMS",
path: "/learn/customization/integrate-systems/handle-event",
},
{
type: "link",
title: "Schedule Syncing",
path: "/learn/customization/integrate-systems/schedule-task",
},
],
},
{
type: "link",
title: "Re-Use Customizations",
path: "/learn/customization/reuse-customizations",
},
{
type: "link",
title: "Next Steps",
path: "/learn/customization/next-steps",
},
],
},
{
type: "category",
title: "Framework",
children: [
{
type: "link",
path: "/learn/fundamentals/framework",
title: "Overview",
},
{
type: "link",
path: "/learn/fundamentals/medusa-container",
title: "Medusa Container",
},
{
type: "link",
path: "/learn/fundamentals/modules",
title: "Modules",
children: [
{
type: "link",
path: "/learn/fundamentals/modules/modules-directory-structure",
title: "Directory Structure",
},
{
type: "link",
path: "/learn/fundamentals/modules/loaders",
title: "Loaders",
},
{
type: "link",
path: "/learn/fundamentals/modules/isolation",
title: "Module Isolation",
},
{
type: "link",
path: "/learn/fundamentals/modules/container",
title: "Module Container",
},
{
type: "link",
path: "/learn/fundamentals/modules/options",
title: "Module Options",
},
{
type: "link",
path: "/learn/fundamentals/modules/service-factory",
title: "Service Factory",
},
{
type: "link",
path: "/learn/fundamentals/modules/service-constraints",
title: "Service Constraints",
},
{
type: "link",
path: "/learn/fundamentals/modules/db-operations",
title: "Database Operations",
},
{
type: "link",
path: "/learn/fundamentals/modules/multiple-services",
title: "Multiple Services",
},
{
type: "link",
path: "/learn/fundamentals/modules/commerce-modules",
title: "Commerce Modules",
},
{
type: "link",
path: "/learn/fundamentals/modules/infrastructure-modules",
title: "Infrastructure Modules",
},
],
},
{
type: "link",
path: "/learn/fundamentals/module-links",
title: "Module Links",
children: [
{
type: "link",
path: "/learn/fundamentals/module-links/directions",
title: "Module Link Direction",
},
{
type: "link",
path: "/learn/fundamentals/module-links/link",
title: "Link",
},
{
type: "link",
path: "/learn/fundamentals/module-links/query",
title: "Query",
},
{
type: "link",
path: "/learn/fundamentals/module-links/index-module",
title: "Index Module",
},
{
type: "link",
path: "/learn/fundamentals/module-links/custom-columns",
title: "Add Custom Columns",
},
{
type: "link",
path: "/learn/fundamentals/module-links/read-only",
title: "Read-Only Links",
},
{
type: "link",
path: "/learn/fundamentals/module-links/query-context",
title: "Query Context",
},
],
},
{
type: "link",
path: "/learn/fundamentals/data-models",
title: "Data Models",
children: [
{
type: "link",
path: "/learn/fundamentals/data-models/infer-type",
title: "Infer Type",
},
{
type: "link",
path: "/learn/fundamentals/data-models/properties",
title: "Properties",
},
{
type: "link",
path: "/learn/fundamentals/data-models/json-properties",
title: "JSON Properties",
},
{
type: "link",
path: "/learn/fundamentals/data-models/relationships",
title: "Relationships",
},
{
type: "link",
path: "/learn/fundamentals/data-models/manage-relationships",
title: "Manage Relationships",
},
{
type: "link",
path: "/learn/fundamentals/data-models/index",
title: "Define Index",
},
{
type: "link",
path: "/learn/fundamentals/data-models/check-constraints",
title: "Check Constraints",
},
{
type: "link",
path: "/learn/fundamentals/data-models/write-migration",
title: "Migrations",
},
],
},
{
type: "link",
title: "API Routes",
path: "/learn/fundamentals/api-routes",
children: [
{
type: "link",
path: "/learn/fundamentals/api-routes/http-methods",
title: "HTTP Methods",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/parameters",
title: "Parameters",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/responses",
title: "Response",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/middlewares",
title: "Middlewares",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/parse-body",
title: "Body Parsing",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/validation",
title: "Validation",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/protected-routes",
title: "Protected Routes",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/errors",
title: "Errors",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/cors",
title: "Handling CORS",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/additional-data",
title: "Pass Additional Data",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/retrieve-custom-links",
title: "Retrieve Custom Links",
},
{
type: "link",
path: "/learn/fundamentals/api-routes/override",
title: "Override API Routes",
},
],
},
{
type: "link",
path: "/learn/fundamentals/workflows",
title: "Workflows",
children: [
{
type: "link",
path: "/learn/fundamentals/workflows/constructor-constraints",
title: "Constructor Constraints",
},
{
type: "link",
path: "/learn/fundamentals/workflows/compensation-function",
title: "Compensation Function",
},
{
type: "link",
path: "/learn/fundamentals/workflows/variable-manipulation",
title: "Transform Data",
},
{
type: "link",
path: "/learn/fundamentals/workflows/conditions",
title: "When-Then Conditions",
},
{
type: "link",
path: "/learn/fundamentals/workflows/errors",
title: "Error Handling",
},
{
type: "link",
path: "/learn/fundamentals/workflows/workflow-hooks",
title: "Workflow Hooks",
},
{
type: "link",
path: "/learn/fundamentals/workflows/add-workflow-hook",
title: "Expose a Hook",
},
{
type: "link",
path: "/learn/fundamentals/workflows/retry-failed-steps",
title: "Retry Failed Steps",
},
{
type: "link",
path: "/learn/fundamentals/workflows/parallel-steps",
title: "Run Steps in Parallel",
},
{
type: "link",
path: "/learn/fundamentals/workflows/workflow-timeout",
title: "Workflow Timeout",
},
{
type: "link",
path: "/learn/fundamentals/workflows/store-executions",
title: "Store Workflow Executions",
},
{
type: "link",
path: "/learn/fundamentals/workflows/long-running-workflow",
title: "Long-Running Workflow",
},
{
type: "link",
path: "/learn/fundamentals/workflows/execute-another-workflow",
title: "Nested Workflows",
},
{
type: "link",
path: "/learn/fundamentals/workflows/multiple-step-usage",
title: "Multiple Step Usage",
},
{
type: "link",
path: "/learn/fundamentals/workflows/locks",
title: "Using Locks",
},
{
type: "ref",
path: "/learn/debugging-and-testing/debug-workflows",
title: "Debug Workflows",
},
],
},
{
type: "link",
path: "/learn/fundamentals/events-and-subscribers",
title: "Events and Subscribers",
children: [
{
type: "link",
path: "/learn/fundamentals/events-and-subscribers/data-payload",
title: "Events Data Payload",
},
{
type: "link",
path: "/learn/fundamentals/events-and-subscribers/emit-event",
title: "Emit Event",
},
],
},
{
type: "link",
path: "/learn/fundamentals/scheduled-jobs",
title: "Scheduled Jobs",
children: [
{
type: "link",
path: "/learn/fundamentals/scheduled-jobs/execution-number",
title: "Execution Number",
},
{
type: "link",
path: "/learn/fundamentals/scheduled-jobs/interval",
title: "Set Interval",
},
],
},
{
type: "link",
path: "/learn/fundamentals/plugins",
title: "Plugins",
children: [
{
type: "link",
path: "/learn/fundamentals/plugins/create",
title: "Create Plugin",
},
],
},
{
type: "link",
path: "/learn/fundamentals/custom-cli-scripts",
title: "Custom CLI Scripts",
children: [
{
type: "link",
path: "/learn/fundamentals/custom-cli-scripts/seed-data",
title: "Seed Data",
},
],
},
{
type: "link",
path: "/learn/fundamentals/generated-types",
title: "Auto-Generated Types",
},
],
},
{
type: "category",
title: "Admin Development",
children: [
{
type: "link",
path: "/learn/fundamentals/admin",
title: "Overview",
},
{
type: "link",
path: "/learn/fundamentals/admin/widgets",
title: "Admin Widgets",
},
{
type: "link",
path: "/learn/fundamentals/admin/ui-routes",
title: "Admin UI Routes",
},
{
type: "link",
path: "/learn/fundamentals/admin/environment-variables",
title: "Environment Variables",
},
{
type: "link",
path: "/learn/fundamentals/admin/routing",
title: "Routing Customizations",
},
{
type: "link",
path: "/learn/fundamentals/admin/translations",
title: "Translations",
},
{
type: "link",
path: "/learn/fundamentals/admin/constraints",
title: "Constraints",
},
{
type: "link",
path: "/learn/fundamentals/admin/tips",
title: "Tips",
},
],
},
{
type: "link",
path: "/learn/storefront-development",
title: "Storefront Development",
chapterTitle: "Storefront",
},
{
type: "category",
title: "Configurations",
children: [
{
type: "link",
title: "Environment Variables",
path: "/learn/fundamentals/environment-variables",
},
{
type: "link",
title: "Medusa Configuations",
path: "/learn/configurations/medusa-config",
children: [
{
type: "link",
title: "Asymmetric Encryption",
path: "/learn/configurations/medusa-config/asymmetric-encryption",
},
],
},
{
type: "link",
title: "Type Aliases",
path: "/learn/configurations/ts-aliases",
},
],
},
{
type: "category",
title: "Debugging & Testing",
children: [
{
type: "link",
path: "/learn/debugging-and-testing/testing-tools",
title: "Testing Tools",
},
{
type: "link",
path: "/learn/debugging-and-testing/testing-tools/integration-tests",
title: "Integration Tests",
children: [
{
type: "link",
path: "/learn/debugging-and-testing/testing-tools/integration-tests/api-routes",
title: "Example: API Routes Tests",
},
{
type: "link",
path: "/learn/debugging-and-testing/testing-tools/integration-tests/workflows",
title: "Example: Workflows Tests",
},
],
},
{
type: "link",
path: "/learn/debugging-and-testing/testing-tools/modules-tests",
title: "Modules Tests",
},
{
type: "link",
path: "/learn/debugging-and-testing/debug-workflows",
title: "Debug Workflows",
},
{
type: "link",
path: "/learn/debugging-and-testing/instrumentation",
title: "Instrumentation",
children: [
{
type: "ref",
path: "/resources/integrations/guides/sentry",
title: "Guide: Sentry",
},
],
},
{
type: "link",
path: "/learn/debugging-and-testing/logging",
title: "Logging",
children: [
{
type: "link",
path: "/learn/debugging-and-testing/logging/custom-logger",
title: "Override Logger",
},
],
},
{
type: "link",
path: "/learn/debugging-and-testing/feature-flags",
title: "Feature Flags",
children: [
{
type: "link",
path: "/learn/debugging-and-testing/feature-flags/create",
title: "Create Feature Flag",
},
],
},
],
},
{
type: "category",
title: "Best Practices",
children: [
{
type: "link",
path: "/learn/best-practices/third-party-sync",
title: "Third-Party Syncing",
},
{
type: "ref",
path: "/learn/fundamentals/scheduled-jobs/interval",
title: "Scheduled Job Intervals",
},
],
},
{
type: "category",
title: "Production",
children: [
{
type: "link",
path: "/learn/build",
title: "Build",
},
{
type: "link",
path: "/learn/production/worker-mode",
title: "Worker Modes",
},
{
type: "link",
path: "/learn/deployment",
title: "Deployment Overview",
children: [
{
type: "link",
path: "/learn/deployment/general",
title: "General Deployment",
},
],
},
],
},
{
type: "category",
title: "Upgrade",
children: [
{
type: "link",
path: "/learn/update",
title: "Update Medusa",
},
{
type: "external",
path: "https://github.com/medusajs/medusa/releases",
title: "Release Notes",
},
{
type: "link",
path: "/learn/codemods",
title: "Codemods",
children: [
{
type: "link",
title: "Replace Imports (v2.11.0+)",
path: "/learn/codemods/replace-imports",
},
],
},
],
},
{
type: "category",
title: "Resources",
children: [
{
type: "sub-category",
title: "Contribution Guidelines",
children: [
{
type: "link",
path: "/learn/resources/contribution-guidelines/docs",
title: "Docs",
},
{
type: "link",
path: "/learn/resources/contribution-guidelines/admin-translations",
title: "Admin Translations",
},
],
},
{
type: "link",
path: "/learn/resources/usage",
title: "Usage",
},
],
},
],
},
]