@vendure/docs 0.0.0-202601161541

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (968) hide show
  1. package/dist/index.d.ts +3 -0
  2. package/dist/index.d.ts.map +1 -0
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/manifest.d.ts +3 -0
  6. package/dist/manifest.d.ts.map +1 -0
  7. package/dist/manifest.js +857 -0
  8. package/dist/manifest.js.map +1 -0
  9. package/docs/guides/core-concepts/auth/admin-role.webp +0 -0
  10. package/docs/guides/core-concepts/auth/admin.webp +0 -0
  11. package/docs/guides/core-concepts/auth/customer.webp +0 -0
  12. package/docs/guides/core-concepts/auth/index.md +557 -0
  13. package/docs/guides/core-concepts/auth/roles.webp +0 -0
  14. package/docs/guides/core-concepts/channels/channel-token.webp +0 -0
  15. package/docs/guides/core-concepts/channels/channels.webp +0 -0
  16. package/docs/guides/core-concepts/channels/channels_currencies_diagram.png +0 -0
  17. package/docs/guides/core-concepts/channels/channels_diagram.png +0 -0
  18. package/docs/guides/core-concepts/channels/channels_prices_diagram.png +0 -0
  19. package/docs/guides/core-concepts/channels/default-currency.webp +0 -0
  20. package/docs/guides/core-concepts/channels/index.md +154 -0
  21. package/docs/guides/core-concepts/channels/variant-prices.webp +0 -0
  22. package/docs/guides/core-concepts/collections/collection-filters.webp +0 -0
  23. package/docs/guides/core-concepts/collections/collections.webp +0 -0
  24. package/docs/guides/core-concepts/collections/filter-inheritance.webp +0 -0
  25. package/docs/guides/core-concepts/collections/index.mdx +125 -0
  26. package/docs/guides/core-concepts/customers/customer.webp +0 -0
  27. package/docs/guides/core-concepts/customers/index.mdx +21 -0
  28. package/docs/guides/core-concepts/email/email-plugin-flow.webp +0 -0
  29. package/docs/guides/core-concepts/email/index.mdx +155 -0
  30. package/docs/guides/core-concepts/images-assets/asset-flow.webp +0 -0
  31. package/docs/guides/core-concepts/images-assets/asset-tags.webp +0 -0
  32. package/docs/guides/core-concepts/images-assets/index.mdx +42 -0
  33. package/docs/guides/core-concepts/money/index.mdx +246 -0
  34. package/docs/guides/core-concepts/orders/custom-order-ui.webp +0 -0
  35. package/docs/guides/core-concepts/orders/index.md +366 -0
  36. package/docs/guides/core-concepts/orders/order-process.webp +0 -0
  37. package/docs/guides/core-concepts/orders/order.webp +0 -0
  38. package/docs/guides/core-concepts/payment/index.md +410 -0
  39. package/docs/guides/core-concepts/payment/payment-method.webp +0 -0
  40. package/docs/guides/core-concepts/payment/payment_sequence_one_step.png +0 -0
  41. package/docs/guides/core-concepts/payment/payment_sequence_two_step.png +0 -0
  42. package/docs/guides/core-concepts/products/facets.webp +0 -0
  43. package/docs/guides/core-concepts/products/index.mdx +59 -0
  44. package/docs/guides/core-concepts/products/product-relations.webp +0 -0
  45. package/docs/guides/core-concepts/products/products-variants.webp +0 -0
  46. package/docs/guides/core-concepts/promotions/index.md +324 -0
  47. package/docs/guides/core-concepts/shipping/index.md +225 -0
  48. package/docs/guides/core-concepts/shipping/shipping-method.webp +0 -0
  49. package/docs/guides/core-concepts/stock-control/global-stock-control.webp +0 -0
  50. package/docs/guides/core-concepts/stock-control/index.md +233 -0
  51. package/docs/guides/core-concepts/stock-control/stock-levels.webp +0 -0
  52. package/docs/guides/core-concepts/taxes/index.mdx +76 -0
  53. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/01-create-space.webp +0 -0
  54. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/02-space-access-keys.webp +0 -0
  55. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/03-create-app.webp +0 -0
  56. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/04-configure-server.webp +0 -0
  57. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/05-open-server-settings.webp +0 -0
  58. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/06-admin-app-route.webp +0 -0
  59. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/07-open-app.webp +0 -0
  60. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/deploy-to-do-app-platform.webp +0 -0
  61. package/docs/guides/deployment/deploy-to-digital-ocean-app-platform/index.md +246 -0
  62. package/docs/guides/deployment/deploy-to-google-cloud-run/deploy-to-gcr.webp +0 -0
  63. package/docs/guides/deployment/deploy-to-google-cloud-run/index.md +53 -0
  64. package/docs/guides/deployment/deploy-to-northflank/01-create-template-screen.webp +0 -0
  65. package/docs/guides/deployment/deploy-to-northflank/02-paste-config.webp +0 -0
  66. package/docs/guides/deployment/deploy-to-northflank/03-run-template.webp +0 -0
  67. package/docs/guides/deployment/deploy-to-northflank/04-find-project.webp +0 -0
  68. package/docs/guides/deployment/deploy-to-northflank/05-server-service.webp +0 -0
  69. package/docs/guides/deployment/deploy-to-northflank/06-find-url.webp +0 -0
  70. package/docs/guides/deployment/deploy-to-northflank/deploy-to-northflank.webp +0 -0
  71. package/docs/guides/deployment/deploy-to-northflank/index.md +606 -0
  72. package/docs/guides/deployment/deploy-to-railway/01-new-service.webp +0 -0
  73. package/docs/guides/deployment/deploy-to-railway/02-env-vars.webp +0 -0
  74. package/docs/guides/deployment/deploy-to-railway/03-test-server.webp +0 -0
  75. package/docs/guides/deployment/deploy-to-railway/deploy-to-railway.webp +0 -0
  76. package/docs/guides/deployment/deploy-to-railway/index.md +202 -0
  77. package/docs/guides/deployment/deploy-to-render/01-create-db.webp +0 -0
  78. package/docs/guides/deployment/deploy-to-render/02-env-group.webp +0 -0
  79. package/docs/guides/deployment/deploy-to-render/03-db-connection.webp +0 -0
  80. package/docs/guides/deployment/deploy-to-render/04-link-env-group.webp +0 -0
  81. package/docs/guides/deployment/deploy-to-render/05-server-url.webp +0 -0
  82. package/docs/guides/deployment/deploy-to-render/deploy-to-render.webp +0 -0
  83. package/docs/guides/deployment/deploy-to-render/index.md +221 -0
  84. package/docs/guides/deployment/deploying-admin-ui.md +130 -0
  85. package/docs/guides/deployment/getting-data-into-production.md +50 -0
  86. package/docs/guides/deployment/horizontal-scaling.md +75 -0
  87. package/docs/guides/deployment/production-configuration/env-var-ui.webp +0 -0
  88. package/docs/guides/deployment/production-configuration/index.md +140 -0
  89. package/docs/guides/deployment/server-resource-requirements.md +29 -0
  90. package/docs/guides/deployment/using-docker.md +193 -0
  91. package/docs/guides/developer-guide/cache/cache-service.webp +0 -0
  92. package/docs/guides/developer-guide/cache/index.mdx +327 -0
  93. package/docs/guides/developer-guide/channel-aware/index.md +117 -0
  94. package/docs/guides/developer-guide/cli/add-command.webp +0 -0
  95. package/docs/guides/developer-guide/cli/index.md +418 -0
  96. package/docs/guides/developer-guide/cli/migrate-command.webp +0 -0
  97. package/docs/guides/developer-guide/cli/schema-command.webp +0 -0
  98. package/docs/guides/developer-guide/configuration/index.md +226 -0
  99. package/docs/guides/developer-guide/custom-fields/custom-fields-data-table.webp +0 -0
  100. package/docs/guides/developer-guide/custom-fields/custom-fields-ui.webp +0 -0
  101. package/docs/guides/developer-guide/custom-fields/index.md +1423 -0
  102. package/docs/guides/developer-guide/custom-permissions/index.md +186 -0
  103. package/docs/guides/developer-guide/custom-strategies-in-plugins/index.mdx +467 -0
  104. package/docs/guides/developer-guide/database-entity/index.md +136 -0
  105. package/docs/guides/developer-guide/dataloaders/index.md +137 -0
  106. package/docs/guides/developer-guide/db-subscribers/index.md +115 -0
  107. package/docs/guides/developer-guide/error-handling/index.mdx +324 -0
  108. package/docs/guides/developer-guide/events/index.mdx +406 -0
  109. package/docs/guides/developer-guide/extend-graphql-api/index.md +501 -0
  110. package/docs/guides/developer-guide/has-custom-fields/index.md +174 -0
  111. package/docs/guides/developer-guide/importing-data/index.md +488 -0
  112. package/docs/guides/developer-guide/importing-data/reindex.webp +0 -0
  113. package/docs/guides/developer-guide/logging/index.md +77 -0
  114. package/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.md +213 -0
  115. package/docs/guides/developer-guide/migrating-from-v1/database-migration.md +39 -0
  116. package/docs/guides/developer-guide/migrating-from-v1/index.md +41 -0
  117. package/docs/guides/developer-guide/migrating-from-v1/storefront-migration.md +30 -0
  118. package/docs/guides/developer-guide/migrations/index.md +197 -0
  119. package/docs/guides/developer-guide/migrations/migration.webp +0 -0
  120. package/docs/guides/developer-guide/nest-devtools/index.md +74 -0
  121. package/docs/guides/developer-guide/nest-devtools/nest-devtools-bootstrap-perf.webp +0 -0
  122. package/docs/guides/developer-guide/nest-devtools/nest-devtools-graph.webp +0 -0
  123. package/docs/guides/developer-guide/overview/Vendure_docs-architecture.webp +0 -0
  124. package/docs/guides/developer-guide/overview/index.md +40 -0
  125. package/docs/guides/developer-guide/plugins/index.mdx +806 -0
  126. package/docs/guides/developer-guide/rest-endpoint/index.md +99 -0
  127. package/docs/guides/developer-guide/scheduled-tasks/index.md +298 -0
  128. package/docs/guides/developer-guide/security/index.md +264 -0
  129. package/docs/guides/developer-guide/settings-store/index.mdx +553 -0
  130. package/docs/guides/developer-guide/stand-alone-scripts/index.md +119 -0
  131. package/docs/guides/developer-guide/strategies-configurable-operations/collection-filters-args.webp +0 -0
  132. package/docs/guides/developer-guide/strategies-configurable-operations/collection-filters.webp +0 -0
  133. package/docs/guides/developer-guide/strategies-configurable-operations/index.mdx +373 -0
  134. package/docs/guides/developer-guide/testing/index.md +254 -0
  135. package/docs/guides/developer-guide/the-api-layer/Vendure_docs-api_request.webp +0 -0
  136. package/docs/guides/developer-guide/the-api-layer/index.mdx +474 -0
  137. package/docs/guides/developer-guide/the-service-layer/index.mdx +311 -0
  138. package/docs/guides/developer-guide/translatable/index.md +224 -0
  139. package/docs/guides/developer-guide/translations/index.md +165 -0
  140. package/docs/guides/developer-guide/updating/index.md +79 -0
  141. package/docs/guides/developer-guide/uploading-files/index.md +220 -0
  142. package/docs/guides/developer-guide/worker-job-queue/Vendure_docs-job-queue-2.webp +0 -0
  143. package/docs/guides/developer-guide/worker-job-queue/Vendure_docs-job-queue-3.webp +0 -0
  144. package/docs/guides/developer-guide/worker-job-queue/Vendure_docs-job-queue.webp +0 -0
  145. package/docs/guides/developer-guide/worker-job-queue/index.mdx +522 -0
  146. package/docs/guides/developer-guide/worker-job-queue/worker-job-queue.webp +0 -0
  147. package/docs/guides/extending-the-admin-ui/add-actions-to-pages/index.md +233 -0
  148. package/docs/guides/extending-the-admin-ui/add-actions-to-pages/ui-extensions-actionbar-dropdown.webp +0 -0
  149. package/docs/guides/extending-the-admin-ui/add-actions-to-pages/ui-extensions-actionbar.webp +0 -0
  150. package/docs/guides/extending-the-admin-ui/adding-ui-translations/index.md +113 -0
  151. package/docs/guides/extending-the-admin-ui/adding-ui-translations/ui-translations-01.webp +0 -0
  152. package/docs/guides/extending-the-admin-ui/admin-ui-theming-branding/index.md +133 -0
  153. package/docs/guides/extending-the-admin-ui/alerts/alerts-01.webp +0 -0
  154. package/docs/guides/extending-the-admin-ui/alerts/index.md +56 -0
  155. package/docs/guides/extending-the-admin-ui/bulk-actions/bulk-actions-screenshot.webp +0 -0
  156. package/docs/guides/extending-the-admin-ui/bulk-actions/index.md +78 -0
  157. package/docs/guides/extending-the-admin-ui/creating-detail-views/index.md +332 -0
  158. package/docs/guides/extending-the-admin-ui/creating-list-views/index.md +331 -0
  159. package/docs/guides/extending-the-admin-ui/custom-data-table-components/custom-data-table-location.webp +0 -0
  160. package/docs/guides/extending-the-admin-ui/custom-data-table-components/custom-data-table.webp +0 -0
  161. package/docs/guides/extending-the-admin-ui/custom-data-table-components/index.md +111 -0
  162. package/docs/guides/extending-the-admin-ui/custom-detail-components/detail-component.webp +0 -0
  163. package/docs/guides/extending-the-admin-ui/custom-detail-components/index.md +198 -0
  164. package/docs/guides/extending-the-admin-ui/custom-form-inputs/index.md +285 -0
  165. package/docs/guides/extending-the-admin-ui/custom-form-inputs/ui-extensions-custom-field-default.webp +0 -0
  166. package/docs/guides/extending-the-admin-ui/custom-form-inputs/ui-extensions-custom-field-slider.webp +0 -0
  167. package/docs/guides/extending-the-admin-ui/custom-timeline-components/index.md +79 -0
  168. package/docs/guides/extending-the-admin-ui/custom-timeline-components/timeline-entry.webp +0 -0
  169. package/docs/guides/extending-the-admin-ui/dashboard-widgets/dashboard-widgets.webp +0 -0
  170. package/docs/guides/extending-the-admin-ui/dashboard-widgets/index.md +149 -0
  171. package/docs/guides/extending-the-admin-ui/defining-routes/index.md +777 -0
  172. package/docs/guides/extending-the-admin-ui/defining-routes/route-area.webp +0 -0
  173. package/docs/guides/extending-the-admin-ui/defining-routes/ui-extensions-greeter.webp +0 -0
  174. package/docs/guides/extending-the-admin-ui/getting-started/index.md +656 -0
  175. package/docs/guides/extending-the-admin-ui/getting-started/provider-extension-points.webp +0 -0
  176. package/docs/guides/extending-the-admin-ui/nav-menu/index.md +97 -0
  177. package/docs/guides/extending-the-admin-ui/nav-menu/nav-menu-id.webp +0 -0
  178. package/docs/guides/extending-the-admin-ui/nav-menu/ui-extensions-navbar.webp +0 -0
  179. package/docs/guides/extending-the-admin-ui/page-tabs/index.md +44 -0
  180. package/docs/guides/extending-the-admin-ui/page-tabs/ui-extensions-tabs.webp +0 -0
  181. package/docs/guides/extending-the-admin-ui/ui-library/buttons.webp +0 -0
  182. package/docs/guides/extending-the-admin-ui/ui-library/card.webp +0 -0
  183. package/docs/guides/extending-the-admin-ui/ui-library/form-inputs.webp +0 -0
  184. package/docs/guides/extending-the-admin-ui/ui-library/icons.webp +0 -0
  185. package/docs/guides/extending-the-admin-ui/ui-library/index.md +356 -0
  186. package/docs/guides/extending-the-admin-ui/ui-library/layout.webp +0 -0
  187. package/docs/guides/extending-the-admin-ui/using-other-frameworks/index.md +205 -0
  188. package/docs/guides/extending-the-admin-ui/using-other-frameworks/ui-extensions-cra.jpg +0 -0
  189. package/docs/guides/extending-the-dashboard/alerts/alert.webp +0 -0
  190. package/docs/guides/extending-the-dashboard/alerts/index.md +89 -0
  191. package/docs/guides/extending-the-dashboard/creating-pages/detail-pages.md +316 -0
  192. package/docs/guides/extending-the-dashboard/creating-pages/index.md +90 -0
  193. package/docs/guides/extending-the-dashboard/creating-pages/list-pages.md +206 -0
  194. package/docs/guides/extending-the-dashboard/creating-pages/tabbed-page-example.webp +0 -0
  195. package/docs/guides/extending-the-dashboard/creating-pages/tabbed-pages.md +144 -0
  196. package/docs/guides/extending-the-dashboard/custom-form-components/color-picker.webp +0 -0
  197. package/docs/guides/extending-the-dashboard/custom-form-components/dev-mode.webp +0 -0
  198. package/docs/guides/extending-the-dashboard/custom-form-components/example-currency-input.webp +0 -0
  199. package/docs/guides/extending-the-dashboard/custom-form-components/example-email-input.webp +0 -0
  200. package/docs/guides/extending-the-dashboard/custom-form-components/example-slug-input.webp +0 -0
  201. package/docs/guides/extending-the-dashboard/custom-form-components/example-tags-input.webp +0 -0
  202. package/docs/guides/extending-the-dashboard/custom-form-components/form-component-examples.mdx +445 -0
  203. package/docs/guides/extending-the-dashboard/custom-form-components/index.md +465 -0
  204. package/docs/guides/extending-the-dashboard/custom-form-components/locator.webp +0 -0
  205. package/docs/guides/extending-the-dashboard/custom-form-components/relation-selectors.md +687 -0
  206. package/docs/guides/extending-the-dashboard/customizing-pages/action-bar-button.webp +0 -0
  207. package/docs/guides/extending-the-dashboard/customizing-pages/action-bar-dropdown.webp +0 -0
  208. package/docs/guides/extending-the-dashboard/customizing-pages/action-bar-items.md +272 -0
  209. package/docs/guides/extending-the-dashboard/customizing-pages/custom-widget.webp +0 -0
  210. package/docs/guides/extending-the-dashboard/customizing-pages/customizing-detail-pages.md +129 -0
  211. package/docs/guides/extending-the-dashboard/customizing-pages/customizing-list-pages.md +93 -0
  212. package/docs/guides/extending-the-dashboard/customizing-pages/customizing-login-page.md +66 -0
  213. package/docs/guides/extending-the-dashboard/customizing-pages/history-entries.md +43 -0
  214. package/docs/guides/extending-the-dashboard/customizing-pages/history-entry.webp +0 -0
  215. package/docs/guides/extending-the-dashboard/customizing-pages/index.md +10 -0
  216. package/docs/guides/extending-the-dashboard/customizing-pages/insights-widgets.md +57 -0
  217. package/docs/guides/extending-the-dashboard/customizing-pages/login-page.webp +0 -0
  218. package/docs/guides/extending-the-dashboard/customizing-pages/page-blocks.md +244 -0
  219. package/docs/guides/extending-the-dashboard/data-fetching/index.md +126 -0
  220. package/docs/guides/extending-the-dashboard/data-fetching/type-inference.webp +0 -0
  221. package/docs/guides/extending-the-dashboard/deployment/index.md +200 -0
  222. package/docs/guides/extending-the-dashboard/extending-overview/dev-mode.webp +0 -0
  223. package/docs/guides/extending-the-dashboard/extending-overview/index.md +228 -0
  224. package/docs/guides/extending-the-dashboard/extending-overview/location-id.webp +0 -0
  225. package/docs/guides/extending-the-dashboard/getting-started/detail-view.webp +0 -0
  226. package/docs/guides/extending-the-dashboard/getting-started/index.md +194 -0
  227. package/docs/guides/extending-the-dashboard/getting-started/list-view-empty.webp +0 -0
  228. package/docs/guides/extending-the-dashboard/getting-started/list-view-full.webp +0 -0
  229. package/docs/guides/extending-the-dashboard/getting-started/page-block.webp +0 -0
  230. package/docs/guides/extending-the-dashboard/getting-started/test-page.webp +0 -0
  231. package/docs/guides/extending-the-dashboard/localization/index.md +94 -0
  232. package/docs/guides/extending-the-dashboard/migration/index.md +1902 -0
  233. package/docs/guides/extending-the-dashboard/navigation/dev-mode-nav.webp +0 -0
  234. package/docs/guides/extending-the-dashboard/navigation/index.md +322 -0
  235. package/docs/guides/extending-the-dashboard/navigation/unauthenticated-page.webp +0 -0
  236. package/docs/guides/extending-the-dashboard/tech-stack/index.md +395 -0
  237. package/docs/guides/extending-the-dashboard/theming/index.md +180 -0
  238. package/docs/guides/extending-the-dashboard/theming/show-colour-value-inspection.gif +0 -0
  239. package/docs/guides/getting-started/graphql-intro/index.mdx +572 -0
  240. package/docs/guides/getting-started/installation/app-screens.webp +0 -0
  241. package/docs/guides/getting-started/installation/index.md +234 -0
  242. package/docs/guides/getting-started/try-the-api/graphiql-docs.jpeg +0 -0
  243. package/docs/guides/getting-started/try-the-api/graphiql.jpeg +0 -0
  244. package/docs/guides/getting-started/try-the-api/index.mdx +238 -0
  245. package/docs/guides/how-to/cms-integration-plugin/index.mdx +2083 -0
  246. package/docs/guides/how-to/codegen/index.md +280 -0
  247. package/docs/guides/how-to/configurable-products/index.md +138 -0
  248. package/docs/guides/how-to/digital-products/index.mdx +485 -0
  249. package/docs/guides/how-to/digital-products/product-variant.webp +0 -0
  250. package/docs/guides/how-to/digital-products/shipping-method.webp +0 -0
  251. package/docs/guides/how-to/github-oauth-authentication/index.mdx +360 -0
  252. package/docs/guides/how-to/google-oauth-authentication/index.mdx +494 -0
  253. package/docs/guides/how-to/multi-vendor-marketplaces/aggregate-order.webp +0 -0
  254. package/docs/guides/how-to/multi-vendor-marketplaces/index.md +197 -0
  255. package/docs/guides/how-to/paginated-list/index.mdx +360 -0
  256. package/docs/guides/how-to/publish-plugin/index.mdx +402 -0
  257. package/docs/guides/how-to/s3-asset-storage/index.mdx +572 -0
  258. package/docs/guides/how-to/telemetry/grafana-logs.webp +0 -0
  259. package/docs/guides/how-to/telemetry/grafana-trace.webp +0 -0
  260. package/docs/guides/how-to/telemetry/index.md +260 -0
  261. package/docs/guides/how-to/telemetry/jaeger-trace.webp +0 -0
  262. package/docs/guides/storefront/active-order/index.mdx +201 -0
  263. package/docs/guides/storefront/checkout-flow/index.mdx +428 -0
  264. package/docs/guides/storefront/codegen/index.mdx +157 -0
  265. package/docs/guides/storefront/connect-api/index.mdx +677 -0
  266. package/docs/guides/storefront/customer-accounts/index.mdx +389 -0
  267. package/docs/guides/storefront/customer-accounts/pw-reset.webp +0 -0
  268. package/docs/guides/storefront/customer-accounts/verification.webp +0 -0
  269. package/docs/guides/storefront/listing-products/index.mdx +711 -0
  270. package/docs/guides/storefront/navigation-menu/index.mdx +157 -0
  271. package/docs/guides/storefront/order-workflow/index.md +231 -0
  272. package/docs/guides/storefront/order-workflow/order_class_diagram.png +0 -0
  273. package/docs/guides/storefront/order-workflow/order_state_diagram.png +0 -0
  274. package/docs/guides/storefront/product-detail/index.mdx +295 -0
  275. package/docs/guides/storefront/storefront-starters/angular-storefront.webp +0 -0
  276. package/docs/guides/storefront/storefront-starters/index.mdx +69 -0
  277. package/docs/guides/storefront/storefront-starters/next-storefront.webp +0 -0
  278. package/docs/guides/storefront/storefront-starters/qwik-storefront.webp +0 -0
  279. package/docs/guides/storefront/storefront-starters/remix-storefront.webp +0 -0
  280. package/docs/reference/admin-ui-api/action-bar/action-bar-context.md +82 -0
  281. package/docs/reference/admin-ui-api/action-bar/action-bar-dropdown-menu-item.md +93 -0
  282. package/docs/reference/admin-ui-api/action-bar/action-bar-item.md +106 -0
  283. package/docs/reference/admin-ui-api/action-bar/action-bar-location-id.md +17 -0
  284. package/docs/reference/admin-ui-api/action-bar/add-action-bar-dropdown-menu-item.md +38 -0
  285. package/docs/reference/admin-ui-api/action-bar/add-action-bar-item.md +36 -0
  286. package/docs/reference/admin-ui-api/action-bar/index.md +5 -0
  287. package/docs/reference/admin-ui-api/action-bar/page-location-id.md +61 -0
  288. package/docs/reference/admin-ui-api/action-bar/router-link-definition.md +16 -0
  289. package/docs/reference/admin-ui-api/alerts/alert-config.md +88 -0
  290. package/docs/reference/admin-ui-api/alerts/alert-context.md +52 -0
  291. package/docs/reference/admin-ui-api/alerts/index.md +5 -0
  292. package/docs/reference/admin-ui-api/alerts/register-alert.md +23 -0
  293. package/docs/reference/admin-ui-api/bulk-actions/bulk-action.md +229 -0
  294. package/docs/reference/admin-ui-api/bulk-actions/index.md +5 -0
  295. package/docs/reference/admin-ui-api/bulk-actions/register-bulk-action.md +63 -0
  296. package/docs/reference/admin-ui-api/components/asset-picker-dialog-component.md +160 -0
  297. package/docs/reference/admin-ui-api/components/chip-component.md +63 -0
  298. package/docs/reference/admin-ui-api/components/currency-input-component.md +174 -0
  299. package/docs/reference/admin-ui-api/components/data-table-component.md +238 -0
  300. package/docs/reference/admin-ui-api/components/data-table2component.md +354 -0
  301. package/docs/reference/admin-ui-api/components/datetime-picker-component.md +262 -0
  302. package/docs/reference/admin-ui-api/components/dropdown-component.md +86 -0
  303. package/docs/reference/admin-ui-api/components/facet-value-selector-component.md +155 -0
  304. package/docs/reference/admin-ui-api/components/index.md +5 -0
  305. package/docs/reference/admin-ui-api/components/object-tree-component.md +86 -0
  306. package/docs/reference/admin-ui-api/components/order-state-label-component.md +41 -0
  307. package/docs/reference/admin-ui-api/components/product-variant-selector-component.md +75 -0
  308. package/docs/reference/admin-ui-api/components/rich-text-editor-component.md +108 -0
  309. package/docs/reference/admin-ui-api/components/zone-selector-component.md +124 -0
  310. package/docs/reference/admin-ui-api/custom-detail-components/custom-detail-component-config.md +41 -0
  311. package/docs/reference/admin-ui-api/custom-detail-components/custom-detail-component-location-id.md +36 -0
  312. package/docs/reference/admin-ui-api/custom-detail-components/custom-detail-component.md +36 -0
  313. package/docs/reference/admin-ui-api/custom-detail-components/index.md +5 -0
  314. package/docs/reference/admin-ui-api/custom-detail-components/register-custom-detail-component.md +69 -0
  315. package/docs/reference/admin-ui-api/custom-history-entry-components/customer-history-entry-component.md +32 -0
  316. package/docs/reference/admin-ui-api/custom-history-entry-components/history-entry-component.md +57 -0
  317. package/docs/reference/admin-ui-api/custom-history-entry-components/history-entry-config.md +35 -0
  318. package/docs/reference/admin-ui-api/custom-history-entry-components/index.md +5 -0
  319. package/docs/reference/admin-ui-api/custom-history-entry-components/order-history-entry-component.md +32 -0
  320. package/docs/reference/admin-ui-api/custom-history-entry-components/register-history-entry-component.md +79 -0
  321. package/docs/reference/admin-ui-api/custom-input-components/default-inputs.md +1034 -0
  322. package/docs/reference/admin-ui-api/custom-input-components/form-input-component.md +56 -0
  323. package/docs/reference/admin-ui-api/custom-input-components/index.md +5 -0
  324. package/docs/reference/admin-ui-api/custom-input-components/register-form-input-component.md +71 -0
  325. package/docs/reference/admin-ui-api/custom-table-components/custom-column-component.md +32 -0
  326. package/docs/reference/admin-ui-api/custom-table-components/data-table-component-config.md +48 -0
  327. package/docs/reference/admin-ui-api/custom-table-components/index.md +5 -0
  328. package/docs/reference/admin-ui-api/custom-table-components/register-data-table-component.md +55 -0
  329. package/docs/reference/admin-ui-api/dashboard-widgets/dashboard-widget-config.md +60 -0
  330. package/docs/reference/admin-ui-api/dashboard-widgets/index.md +5 -0
  331. package/docs/reference/admin-ui-api/dashboard-widgets/register-dashboard-widget.md +27 -0
  332. package/docs/reference/admin-ui-api/dashboard-widgets/set-dashboard-widget-layout.md +22 -0
  333. package/docs/reference/admin-ui-api/dashboard-widgets/widget-layout-definition.md +16 -0
  334. package/docs/reference/admin-ui-api/directives/if-multichannel-directive.md +41 -0
  335. package/docs/reference/admin-ui-api/directives/if-permissions-directive.md +43 -0
  336. package/docs/reference/admin-ui-api/directives/index.md +5 -0
  337. package/docs/reference/admin-ui-api/index.md +13 -0
  338. package/docs/reference/admin-ui-api/list-detail-views/base-detail-component.md +168 -0
  339. package/docs/reference/admin-ui-api/list-detail-views/base-entity-resolver.md +54 -0
  340. package/docs/reference/admin-ui-api/list-detail-views/base-list-component.md +155 -0
  341. package/docs/reference/admin-ui-api/list-detail-views/detail-component-with-resolver.md +52 -0
  342. package/docs/reference/admin-ui-api/list-detail-views/index.md +5 -0
  343. package/docs/reference/admin-ui-api/list-detail-views/typed-base-detail-component.md +51 -0
  344. package/docs/reference/admin-ui-api/list-detail-views/typed-base-list-component.md +125 -0
  345. package/docs/reference/admin-ui-api/nav-menu/add-nav-menu-item.md +52 -0
  346. package/docs/reference/admin-ui-api/nav-menu/add-nav-menu-section.md +47 -0
  347. package/docs/reference/admin-ui-api/nav-menu/index.md +5 -0
  348. package/docs/reference/admin-ui-api/nav-menu/nav-menu-item.md +66 -0
  349. package/docs/reference/admin-ui-api/nav-menu/nav-menu-section.md +83 -0
  350. package/docs/reference/admin-ui-api/nav-menu/navigation-types.md +38 -0
  351. package/docs/reference/admin-ui-api/pipes/asset-preview-pipe.md +41 -0
  352. package/docs/reference/admin-ui-api/pipes/duration-pipe.md +45 -0
  353. package/docs/reference/admin-ui-api/pipes/file-size-pipe.md +38 -0
  354. package/docs/reference/admin-ui-api/pipes/has-permission-pipe.md +51 -0
  355. package/docs/reference/admin-ui-api/pipes/index.md +5 -0
  356. package/docs/reference/admin-ui-api/pipes/locale-currency-name-pipe.md +47 -0
  357. package/docs/reference/admin-ui-api/pipes/locale-currency-pipe.md +54 -0
  358. package/docs/reference/admin-ui-api/pipes/locale-date-pipe.md +48 -0
  359. package/docs/reference/admin-ui-api/pipes/locale-language-name-pipe.md +47 -0
  360. package/docs/reference/admin-ui-api/pipes/locale-region-name-pipe.md +47 -0
  361. package/docs/reference/admin-ui-api/pipes/time-ago-pipe.md +44 -0
  362. package/docs/reference/admin-ui-api/react-components/action-bar.md +36 -0
  363. package/docs/reference/admin-ui-api/react-components/card.md +36 -0
  364. package/docs/reference/admin-ui-api/react-components/cds-icon.md +34 -0
  365. package/docs/reference/admin-ui-api/react-components/form-field.md +42 -0
  366. package/docs/reference/admin-ui-api/react-components/index.md +5 -0
  367. package/docs/reference/admin-ui-api/react-components/link.md +34 -0
  368. package/docs/reference/admin-ui-api/react-components/page-block.md +36 -0
  369. package/docs/reference/admin-ui-api/react-components/page-detail-layout.md +36 -0
  370. package/docs/reference/admin-ui-api/react-components/rich-text-editor.md +42 -0
  371. package/docs/reference/admin-ui-api/react-extensions/index.md +5 -0
  372. package/docs/reference/admin-ui-api/react-extensions/react-custom-detail-component-config.md +41 -0
  373. package/docs/reference/admin-ui-api/react-extensions/react-data-table-component-config.md +48 -0
  374. package/docs/reference/admin-ui-api/react-extensions/register-react-custom-detail-component.md +23 -0
  375. package/docs/reference/admin-ui-api/react-extensions/register-react-data-table-component.md +55 -0
  376. package/docs/reference/admin-ui-api/react-extensions/register-react-form-input-component.md +26 -0
  377. package/docs/reference/admin-ui-api/react-extensions/register-react-route-component-options.md +18 -0
  378. package/docs/reference/admin-ui-api/react-extensions/register-react-route-component.md +22 -0
  379. package/docs/reference/admin-ui-api/react-hooks/index.md +5 -0
  380. package/docs/reference/admin-ui-api/react-hooks/use-detail-component-data.md +39 -0
  381. package/docs/reference/admin-ui-api/react-hooks/use-form-control.md +36 -0
  382. package/docs/reference/admin-ui-api/react-hooks/use-injector.md +39 -0
  383. package/docs/reference/admin-ui-api/react-hooks/use-lazy-query.md +74 -0
  384. package/docs/reference/admin-ui-api/react-hooks/use-mutation.md +62 -0
  385. package/docs/reference/admin-ui-api/react-hooks/use-page-metadata.md +36 -0
  386. package/docs/reference/admin-ui-api/react-hooks/use-query.md +59 -0
  387. package/docs/reference/admin-ui-api/react-hooks/use-rich-text-editor.md +30 -0
  388. package/docs/reference/admin-ui-api/react-hooks/use-route-params.md +29 -0
  389. package/docs/reference/admin-ui-api/routes/index.md +5 -0
  390. package/docs/reference/admin-ui-api/routes/register-route-component-options.md +28 -0
  391. package/docs/reference/admin-ui-api/routes/register-route-component.md +57 -0
  392. package/docs/reference/admin-ui-api/services/data-service.md +142 -0
  393. package/docs/reference/admin-ui-api/services/index.md +5 -0
  394. package/docs/reference/admin-ui-api/services/modal-service.md +199 -0
  395. package/docs/reference/admin-ui-api/services/notification-service.md +126 -0
  396. package/docs/reference/admin-ui-api/tabs/index.md +5 -0
  397. package/docs/reference/admin-ui-api/tabs/page-tab-config.md +70 -0
  398. package/docs/reference/admin-ui-api/tabs/register-page-tab.md +38 -0
  399. package/docs/reference/admin-ui-api/ui-devkit/admin-ui-extension.md +417 -0
  400. package/docs/reference/admin-ui-api/ui-devkit/compile-ui-extensions.md +22 -0
  401. package/docs/reference/admin-ui-api/ui-devkit/helpers.md +39 -0
  402. package/docs/reference/admin-ui-api/ui-devkit/index.md +5 -0
  403. package/docs/reference/admin-ui-api/ui-devkit/ui-devkit-client.md +160 -0
  404. package/docs/reference/admin-ui-api/ui-devkit/ui-extension-build-command.md +16 -0
  405. package/docs/reference/admin-ui-api/ui-devkit/ui-extension-compiler-options.md +118 -0
  406. package/docs/reference/admin-ui-api/ui-devkit/ui-extension-compiler-process-argument.md +16 -0
  407. package/docs/reference/core-plugins/admin-ui-plugin/admin-ui-plugin-options.md +67 -0
  408. package/docs/reference/core-plugins/admin-ui-plugin/index.md +94 -0
  409. package/docs/reference/core-plugins/asset-server-plugin/asset-server-options.md +106 -0
  410. package/docs/reference/core-plugins/asset-server-plugin/cache-config.md +36 -0
  411. package/docs/reference/core-plugins/asset-server-plugin/hashed-asset-naming-strategy.md +47 -0
  412. package/docs/reference/core-plugins/asset-server-plugin/image-transform-mode.md +21 -0
  413. package/docs/reference/core-plugins/asset-server-plugin/image-transform-preset.md +57 -0
  414. package/docs/reference/core-plugins/asset-server-plugin/image-transform-strategy.md +144 -0
  415. package/docs/reference/core-plugins/asset-server-plugin/index.md +189 -0
  416. package/docs/reference/core-plugins/asset-server-plugin/local-asset-storage-strategy.md +74 -0
  417. package/docs/reference/core-plugins/asset-server-plugin/preset-only-strategy.md +118 -0
  418. package/docs/reference/core-plugins/asset-server-plugin/s3asset-storage-strategy.md +225 -0
  419. package/docs/reference/core-plugins/asset-server-plugin/sharp-asset-preview-strategy.md +118 -0
  420. package/docs/reference/core-plugins/dashboard-plugin/dashboard-plugin-options.md +43 -0
  421. package/docs/reference/core-plugins/dashboard-plugin/index.md +106 -0
  422. package/docs/reference/core-plugins/elasticsearch-plugin/elasticsearch-options.md +695 -0
  423. package/docs/reference/core-plugins/elasticsearch-plugin/index.md +193 -0
  424. package/docs/reference/core-plugins/email-plugin/email-event-handler-with-async-data.md +33 -0
  425. package/docs/reference/core-plugins/email-plugin/email-event-handler.md +299 -0
  426. package/docs/reference/core-plugins/email-plugin/email-event-listener.md +42 -0
  427. package/docs/reference/core-plugins/email-plugin/email-generator.md +78 -0
  428. package/docs/reference/core-plugins/email-plugin/email-plugin-options.md +154 -0
  429. package/docs/reference/core-plugins/email-plugin/email-plugin-types.md +276 -0
  430. package/docs/reference/core-plugins/email-plugin/email-send-event.md +34 -0
  431. package/docs/reference/core-plugins/email-plugin/email-sender.md +92 -0
  432. package/docs/reference/core-plugins/email-plugin/email-utils.md +54 -0
  433. package/docs/reference/core-plugins/email-plugin/index.md +309 -0
  434. package/docs/reference/core-plugins/email-plugin/template-loader.md +96 -0
  435. package/docs/reference/core-plugins/email-plugin/transport-options.md +241 -0
  436. package/docs/reference/core-plugins/graphiql-plugin/index.md +89 -0
  437. package/docs/reference/core-plugins/harden-plugin/default-vendure-complexity-estimator.md +30 -0
  438. package/docs/reference/core-plugins/harden-plugin/harden-plugin-options.md +106 -0
  439. package/docs/reference/core-plugins/harden-plugin/index.md +169 -0
  440. package/docs/reference/core-plugins/index.md +5 -0
  441. package/docs/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-plugin.md +211 -0
  442. package/docs/reference/core-plugins/job-queue-plugin/bull-mqjob-queue-strategy.md +93 -0
  443. package/docs/reference/core-plugins/job-queue-plugin/bull-mqplugin-options.md +142 -0
  444. package/docs/reference/core-plugins/job-queue-plugin/index.md +5 -0
  445. package/docs/reference/core-plugins/job-queue-plugin/pub-sub-job-queue-strategy.md +65 -0
  446. package/docs/reference/core-plugins/job-queue-plugin/pub-sub-plugin.md +36 -0
  447. package/docs/reference/core-plugins/payments-plugin/braintree-plugin.md +350 -0
  448. package/docs/reference/core-plugins/payments-plugin/index.md +5 -0
  449. package/docs/reference/core-plugins/payments-plugin/mollie-plugin.md +209 -0
  450. package/docs/reference/core-plugins/payments-plugin/stripe-plugin.md +355 -0
  451. package/docs/reference/core-plugins/sentry-plugin/index.md +158 -0
  452. package/docs/reference/core-plugins/sentry-plugin/sentry-plugin-options.md +32 -0
  453. package/docs/reference/core-plugins/sentry-plugin/sentry-service.md +47 -0
  454. package/docs/reference/core-plugins/stellate-plugin/index.md +277 -0
  455. package/docs/reference/core-plugins/stellate-plugin/purge-rule.md +91 -0
  456. package/docs/reference/core-plugins/stellate-plugin/stellate-plugin-options.md +65 -0
  457. package/docs/reference/core-plugins/stellate-plugin/stellate-service.md +71 -0
  458. package/docs/reference/core-plugins/telemetry-plugin/get-sdk-configuration.md +92 -0
  459. package/docs/reference/core-plugins/telemetry-plugin/index.md +131 -0
  460. package/docs/reference/core-plugins/telemetry-plugin/otel-logger.md +102 -0
  461. package/docs/reference/core-plugins/telemetry-plugin/register-method-hooks.md +46 -0
  462. package/docs/reference/core-plugins/telemetry-plugin/telemetry-plugin-options.md +77 -0
  463. package/docs/reference/dashboard/components/asset-gallery.md +127 -0
  464. package/docs/reference/dashboard/components/asset-picker-dialog.md +76 -0
  465. package/docs/reference/dashboard/components/channel-chip.md +22 -0
  466. package/docs/reference/dashboard/components/detail-page-button.md +49 -0
  467. package/docs/reference/dashboard/components/facet-value-chip.md +22 -0
  468. package/docs/reference/dashboard/components/facet-value-selector.md +85 -0
  469. package/docs/reference/dashboard/components/index.md +5 -0
  470. package/docs/reference/dashboard/components/permission-guard.md +63 -0
  471. package/docs/reference/dashboard/components/vendure-image.md +199 -0
  472. package/docs/reference/dashboard/detail-views/detail-page.md +91 -0
  473. package/docs/reference/dashboard/detail-views/index.md +5 -0
  474. package/docs/reference/dashboard/detail-views/use-detail-page.md +234 -0
  475. package/docs/reference/dashboard/detail-views/use-generated-form.md +105 -0
  476. package/docs/reference/dashboard/extensions-api/action-bar.md +66 -0
  477. package/docs/reference/dashboard/extensions-api/alerts.md +78 -0
  478. package/docs/reference/dashboard/extensions-api/data-tables.md +55 -0
  479. package/docs/reference/dashboard/extensions-api/define-dashboard-extension.md +142 -0
  480. package/docs/reference/dashboard/extensions-api/detail-forms.md +81 -0
  481. package/docs/reference/dashboard/extensions-api/form-components.md +188 -0
  482. package/docs/reference/dashboard/extensions-api/history-entries.md +246 -0
  483. package/docs/reference/dashboard/extensions-api/index.md +5 -0
  484. package/docs/reference/dashboard/extensions-api/login.md +113 -0
  485. package/docs/reference/dashboard/extensions-api/navigation.md +128 -0
  486. package/docs/reference/dashboard/extensions-api/page-blocks.md +143 -0
  487. package/docs/reference/dashboard/extensions-api/routes.md +69 -0
  488. package/docs/reference/dashboard/extensions-api/widgets.md +61 -0
  489. package/docs/reference/dashboard/form-components/affixed-input.md +34 -0
  490. package/docs/reference/dashboard/form-components/boolean-input.md +22 -0
  491. package/docs/reference/dashboard/form-components/checkbox-input.md +22 -0
  492. package/docs/reference/dashboard/form-components/date-time-input.md +22 -0
  493. package/docs/reference/dashboard/form-components/form-field-wrapper.md +80 -0
  494. package/docs/reference/dashboard/form-components/index.md +5 -0
  495. package/docs/reference/dashboard/form-components/money-input.md +23 -0
  496. package/docs/reference/dashboard/form-components/number-input.md +22 -0
  497. package/docs/reference/dashboard/form-components/password-input.md +22 -0
  498. package/docs/reference/dashboard/form-components/rich-text-input.md +22 -0
  499. package/docs/reference/dashboard/form-components/slug-input.md +57 -0
  500. package/docs/reference/dashboard/form-components/text-input.md +13 -0
  501. package/docs/reference/dashboard/form-components/textarea-input.md +22 -0
  502. package/docs/reference/dashboard/form-components/translatable-form-field-wrapper.md +70 -0
  503. package/docs/reference/dashboard/hooks/index.md +5 -0
  504. package/docs/reference/dashboard/hooks/use-alerts.md +65 -0
  505. package/docs/reference/dashboard/hooks/use-auth.md +84 -0
  506. package/docs/reference/dashboard/hooks/use-channel.md +72 -0
  507. package/docs/reference/dashboard/hooks/use-custom-field-config.md +24 -0
  508. package/docs/reference/dashboard/hooks/use-display-locale.md +32 -0
  509. package/docs/reference/dashboard/hooks/use-drag-and-drop.md +22 -0
  510. package/docs/reference/dashboard/hooks/use-local-format.md +30 -0
  511. package/docs/reference/dashboard/hooks/use-paginated-list.md +29 -0
  512. package/docs/reference/dashboard/hooks/use-permissions.md +25 -0
  513. package/docs/reference/dashboard/hooks/use-sorted-languages.md +30 -0
  514. package/docs/reference/dashboard/hooks/use-ui-language-loader.md +18 -0
  515. package/docs/reference/dashboard/hooks/use-widget-filters.md +16 -0
  516. package/docs/reference/dashboard/list-views/bulk-actions.md +199 -0
  517. package/docs/reference/dashboard/list-views/data-table-cell-component.md +45 -0
  518. package/docs/reference/dashboard/list-views/data-table.md +209 -0
  519. package/docs/reference/dashboard/list-views/index.md +5 -0
  520. package/docs/reference/dashboard/list-views/list-page.md +493 -0
  521. package/docs/reference/dashboard/list-views/paginated-list-data-table.md +303 -0
  522. package/docs/reference/dashboard/page-layout/index.md +54 -0
  523. package/docs/reference/dashboard/page-layout/page-action-bar.md +62 -0
  524. package/docs/reference/dashboard/page-layout/page-block.md +137 -0
  525. package/docs/reference/dashboard/page-layout/page-title.md +22 -0
  526. package/docs/reference/dashboard/page-layout/page.md +100 -0
  527. package/docs/reference/dashboard/page-layout/use-page-block.md +32 -0
  528. package/docs/reference/dashboard/vite-plugin/index.md +5 -0
  529. package/docs/reference/dashboard/vite-plugin/vendure-dashboard-plugin.md +356 -0
  530. package/docs/reference/graphql-api/_index.md +16 -0
  531. package/docs/reference/graphql-api/admin/_index.md +13 -0
  532. package/docs/reference/graphql-api/admin/enums.md +1142 -0
  533. package/docs/reference/graphql-api/admin/input-types.md +4631 -0
  534. package/docs/reference/graphql-api/admin/mutations.md +1985 -0
  535. package/docs/reference/graphql-api/admin/object-types.md +4515 -0
  536. package/docs/reference/graphql-api/admin/queries.md +760 -0
  537. package/docs/reference/graphql-api/shop/_index.md +13 -0
  538. package/docs/reference/graphql-api/shop/enums.md +1072 -0
  539. package/docs/reference/graphql-api/shop/input-types.md +1192 -0
  540. package/docs/reference/graphql-api/shop/mutations.md +431 -0
  541. package/docs/reference/graphql-api/shop/object-types.md +3406 -0
  542. package/docs/reference/graphql-api/shop/queries.md +247 -0
  543. package/docs/reference/index.mdx +38 -0
  544. package/docs/reference/links.webp +0 -0
  545. package/docs/reference/typescript-api/_index.md +13 -0
  546. package/docs/reference/typescript-api/assets/asset-naming-strategy.md +56 -0
  547. package/docs/reference/typescript-api/assets/asset-options.md +58 -0
  548. package/docs/reference/typescript-api/assets/asset-preview-strategy.md +45 -0
  549. package/docs/reference/typescript-api/assets/asset-storage-strategy.md +84 -0
  550. package/docs/reference/typescript-api/assets/default-asset-naming-strategy.md +39 -0
  551. package/docs/reference/typescript-api/assets/index.md +5 -0
  552. package/docs/reference/typescript-api/auth/auth-options.md +165 -0
  553. package/docs/reference/typescript-api/auth/authentication-strategy.md +97 -0
  554. package/docs/reference/typescript-api/auth/bcrypt-password-hashing-strategy.md +38 -0
  555. package/docs/reference/typescript-api/auth/cookie-options.md +108 -0
  556. package/docs/reference/typescript-api/auth/default-password-validation-strategy.md +44 -0
  557. package/docs/reference/typescript-api/auth/default-session-cache-strategy.md +73 -0
  558. package/docs/reference/typescript-api/auth/default-verification-token-strategy.md +47 -0
  559. package/docs/reference/typescript-api/auth/external-authentication-service.md +98 -0
  560. package/docs/reference/typescript-api/auth/in-memory-session-cache-strategy.md +63 -0
  561. package/docs/reference/typescript-api/auth/index.md +5 -0
  562. package/docs/reference/typescript-api/auth/native-authentication-strategy.md +58 -0
  563. package/docs/reference/typescript-api/auth/noop-session-cache-strategy.md +51 -0
  564. package/docs/reference/typescript-api/auth/password-hashing-strategy.md +45 -0
  565. package/docs/reference/typescript-api/auth/password-validation-strategy.md +43 -0
  566. package/docs/reference/typescript-api/auth/permission-definition.md +269 -0
  567. package/docs/reference/typescript-api/auth/session-cache-strategy.md +275 -0
  568. package/docs/reference/typescript-api/auth/superadmin-credentials.md +36 -0
  569. package/docs/reference/typescript-api/auth/verification-token-strategy.md +45 -0
  570. package/docs/reference/typescript-api/cache/cache-config.md +44 -0
  571. package/docs/reference/typescript-api/cache/cache-service.md +76 -0
  572. package/docs/reference/typescript-api/cache/cache-strategy.md +103 -0
  573. package/docs/reference/typescript-api/cache/default-cache-plugin.md +73 -0
  574. package/docs/reference/typescript-api/cache/index.md +79 -0
  575. package/docs/reference/typescript-api/cache/redis-cache-plugin.md +85 -0
  576. package/docs/reference/typescript-api/cache/redis-cache-strategy.md +75 -0
  577. package/docs/reference/typescript-api/cache/request-context-cache-service.md +54 -0
  578. package/docs/reference/typescript-api/cache/self-refreshing-cache.md +152 -0
  579. package/docs/reference/typescript-api/cache/sql-cache-strategy.md +87 -0
  580. package/docs/reference/typescript-api/common/admin-ui/admin-ui-app-config.md +43 -0
  581. package/docs/reference/typescript-api/common/admin-ui/admin-ui-app-dev-mode-config.md +47 -0
  582. package/docs/reference/typescript-api/common/admin-ui/admin-ui-config.md +139 -0
  583. package/docs/reference/typescript-api/common/admin-ui/index.md +5 -0
  584. package/docs/reference/typescript-api/common/async-queue.md +38 -0
  585. package/docs/reference/typescript-api/common/bootstrap.md +129 -0
  586. package/docs/reference/typescript-api/common/currency-code.md +174 -0
  587. package/docs/reference/typescript-api/common/entity-relation-paths.md +34 -0
  588. package/docs/reference/typescript-api/common/i18n-service.md +74 -0
  589. package/docs/reference/typescript-api/common/id.md +17 -0
  590. package/docs/reference/typescript-api/common/index.md +5 -0
  591. package/docs/reference/typescript-api/common/injectable-strategy.md +48 -0
  592. package/docs/reference/typescript-api/common/injector.md +47 -0
  593. package/docs/reference/typescript-api/common/job-state.md +23 -0
  594. package/docs/reference/typescript-api/common/json-compatible.md +23 -0
  595. package/docs/reference/typescript-api/common/language-code.md +177 -0
  596. package/docs/reference/typescript-api/common/middleware.md +72 -0
  597. package/docs/reference/typescript-api/common/paginated-list.md +36 -0
  598. package/docs/reference/typescript-api/common/permission.md +136 -0
  599. package/docs/reference/typescript-api/common/price-calculation-result.md +36 -0
  600. package/docs/reference/typescript-api/common/process-context.md +55 -0
  601. package/docs/reference/typescript-api/common/vendure_version.md +22 -0
  602. package/docs/reference/typescript-api/configurable-operation-def/config-arg-type.md +22 -0
  603. package/docs/reference/typescript-api/configurable-operation-def/config-args.md +89 -0
  604. package/docs/reference/typescript-api/configurable-operation-def/configurable-operation-def-options.md +57 -0
  605. package/docs/reference/typescript-api/configurable-operation-def/default-form-component-id.md +34 -0
  606. package/docs/reference/typescript-api/configurable-operation-def/default-form-config-hash.md +137 -0
  607. package/docs/reference/typescript-api/configurable-operation-def/index.md +149 -0
  608. package/docs/reference/typescript-api/configurable-operation-def/localized-string-array.md +28 -0
  609. package/docs/reference/typescript-api/configuration/api-options.md +159 -0
  610. package/docs/reference/typescript-api/configuration/collection-filter.md +76 -0
  611. package/docs/reference/typescript-api/configuration/default-config.md +13 -0
  612. package/docs/reference/typescript-api/configuration/default-slug-strategy.md +46 -0
  613. package/docs/reference/typescript-api/configuration/entity-duplicator.md +195 -0
  614. package/docs/reference/typescript-api/configuration/entity-id-decorator.md +24 -0
  615. package/docs/reference/typescript-api/configuration/entity-id-strategy.md +168 -0
  616. package/docs/reference/typescript-api/configuration/entity-options.md +153 -0
  617. package/docs/reference/typescript-api/configuration/index.md +5 -0
  618. package/docs/reference/typescript-api/configuration/merge-config.md +49 -0
  619. package/docs/reference/typescript-api/configuration/product-variant-price-selection-strategy.md +71 -0
  620. package/docs/reference/typescript-api/configuration/product-variant-price-update-strategy.md +185 -0
  621. package/docs/reference/typescript-api/configuration/runtime-vendure-config.md +111 -0
  622. package/docs/reference/typescript-api/configuration/settings-store-fields.md +29 -0
  623. package/docs/reference/typescript-api/configuration/slug-strategy.md +47 -0
  624. package/docs/reference/typescript-api/configuration/system-options.md +50 -0
  625. package/docs/reference/typescript-api/configuration/trust-proxy-options.md +19 -0
  626. package/docs/reference/typescript-api/configuration/vendure-config.md +168 -0
  627. package/docs/reference/typescript-api/custom-fields/custom-field-config.md +25 -0
  628. package/docs/reference/typescript-api/custom-fields/custom-field-type.md +42 -0
  629. package/docs/reference/typescript-api/custom-fields/index.md +70 -0
  630. package/docs/reference/typescript-api/custom-fields/struct-custom-field-config.md +21 -0
  631. package/docs/reference/typescript-api/custom-fields/struct-field-config.md +41 -0
  632. package/docs/reference/typescript-api/custom-fields/typed-custom-single-field-config.md +24 -0
  633. package/docs/reference/typescript-api/data-access/calculated-property-subscriber.md +38 -0
  634. package/docs/reference/typescript-api/data-access/calculated.md +62 -0
  635. package/docs/reference/typescript-api/data-access/entity-hydrator.md +103 -0
  636. package/docs/reference/typescript-api/data-access/get-entity-or-throw-options.md +53 -0
  637. package/docs/reference/typescript-api/data-access/hydrate-options.md +40 -0
  638. package/docs/reference/typescript-api/data-access/index.md +5 -0
  639. package/docs/reference/typescript-api/data-access/list-query-builder.md +239 -0
  640. package/docs/reference/typescript-api/data-access/transactional-connection.md +173 -0
  641. package/docs/reference/typescript-api/default-search-plugin/default-search-plugin-init-options.md +126 -0
  642. package/docs/reference/typescript-api/default-search-plugin/index.md +64 -0
  643. package/docs/reference/typescript-api/default-search-plugin/mysql-search-strategy.md +56 -0
  644. package/docs/reference/typescript-api/default-search-plugin/postgres-search-strategy.md +56 -0
  645. package/docs/reference/typescript-api/default-search-plugin/search-strategy.md +58 -0
  646. package/docs/reference/typescript-api/default-search-plugin/sqlite-search-strategy.md +57 -0
  647. package/docs/reference/typescript-api/entities/address.md +124 -0
  648. package/docs/reference/typescript-api/entities/administrator.md +78 -0
  649. package/docs/reference/typescript-api/entities/anonymous-session.md +34 -0
  650. package/docs/reference/typescript-api/entities/asset.md +135 -0
  651. package/docs/reference/typescript-api/entities/authenticated-session.md +48 -0
  652. package/docs/reference/typescript-api/entities/authentication-method.md +156 -0
  653. package/docs/reference/typescript-api/entities/channel.md +233 -0
  654. package/docs/reference/typescript-api/entities/collection.md +152 -0
  655. package/docs/reference/typescript-api/entities/country.md +40 -0
  656. package/docs/reference/typescript-api/entities/customer-group.md +63 -0
  657. package/docs/reference/typescript-api/entities/customer-history-entry.md +40 -0
  658. package/docs/reference/typescript-api/entities/customer.md +122 -0
  659. package/docs/reference/typescript-api/entities/facet-value.md +98 -0
  660. package/docs/reference/typescript-api/entities/facet.md +89 -0
  661. package/docs/reference/typescript-api/entities/fulfillment.md +84 -0
  662. package/docs/reference/typescript-api/entities/global-settings.md +66 -0
  663. package/docs/reference/typescript-api/entities/history-entry.md +66 -0
  664. package/docs/reference/typescript-api/entities/index.md +5 -0
  665. package/docs/reference/typescript-api/entities/interfaces.md +125 -0
  666. package/docs/reference/typescript-api/entities/order-history-entry.md +40 -0
  667. package/docs/reference/typescript-api/entities/order-line-reference.md +174 -0
  668. package/docs/reference/typescript-api/entities/order-line.md +344 -0
  669. package/docs/reference/typescript-api/entities/order-modification.md +103 -0
  670. package/docs/reference/typescript-api/entities/order.md +284 -0
  671. package/docs/reference/typescript-api/entities/orderable-asset.md +61 -0
  672. package/docs/reference/typescript-api/entities/payment-method.md +94 -0
  673. package/docs/reference/typescript-api/entities/payment.md +96 -0
  674. package/docs/reference/typescript-api/entities/product-option-group.md +84 -0
  675. package/docs/reference/typescript-api/entities/product-option.md +90 -0
  676. package/docs/reference/typescript-api/entities/product-variant-price.md +70 -0
  677. package/docs/reference/typescript-api/entities/product-variant.md +251 -0
  678. package/docs/reference/typescript-api/entities/product.md +134 -0
  679. package/docs/reference/typescript-api/entities/promotion.md +190 -0
  680. package/docs/reference/typescript-api/entities/province.md +39 -0
  681. package/docs/reference/typescript-api/entities/refund.md +120 -0
  682. package/docs/reference/typescript-api/entities/region.md +87 -0
  683. package/docs/reference/typescript-api/entities/role.md +62 -0
  684. package/docs/reference/typescript-api/entities/seller.md +63 -0
  685. package/docs/reference/typescript-api/entities/session.md +87 -0
  686. package/docs/reference/typescript-api/entities/settings-store-entry.md +57 -0
  687. package/docs/reference/typescript-api/entities/shipping-line.md +150 -0
  688. package/docs/reference/typescript-api/entities/shipping-method.md +123 -0
  689. package/docs/reference/typescript-api/entities/stock-level.md +87 -0
  690. package/docs/reference/typescript-api/entities/stock-location.md +76 -0
  691. package/docs/reference/typescript-api/entities/stock-movement.md +270 -0
  692. package/docs/reference/typescript-api/entities/surcharge.md +102 -0
  693. package/docs/reference/typescript-api/entities/tag.md +40 -0
  694. package/docs/reference/typescript-api/entities/tax-category.md +68 -0
  695. package/docs/reference/typescript-api/entities/tax-rate.md +138 -0
  696. package/docs/reference/typescript-api/entities/user.md +111 -0
  697. package/docs/reference/typescript-api/entities/vendure-entity.md +49 -0
  698. package/docs/reference/typescript-api/entities/zone.md +78 -0
  699. package/docs/reference/typescript-api/errors/error-handler-strategy.md +88 -0
  700. package/docs/reference/typescript-api/errors/error-result-union.md +30 -0
  701. package/docs/reference/typescript-api/errors/error-types.md +197 -0
  702. package/docs/reference/typescript-api/errors/i18n-error.md +39 -0
  703. package/docs/reference/typescript-api/errors/index.md +5 -0
  704. package/docs/reference/typescript-api/errors/is-graph-ql-error-result.md +40 -0
  705. package/docs/reference/typescript-api/events/blocking-event-handler-options.md +57 -0
  706. package/docs/reference/typescript-api/events/event-bus.md +136 -0
  707. package/docs/reference/typescript-api/events/event-types.md +1689 -0
  708. package/docs/reference/typescript-api/events/index.md +5 -0
  709. package/docs/reference/typescript-api/events/vendure-entity-event.md +57 -0
  710. package/docs/reference/typescript-api/events/vendure-event.md +35 -0
  711. package/docs/reference/typescript-api/fulfillment/fulfillment-handler.md +173 -0
  712. package/docs/reference/typescript-api/fulfillment/fulfillment-process.md +71 -0
  713. package/docs/reference/typescript-api/fulfillment/fulfillment-state.md +21 -0
  714. package/docs/reference/typescript-api/fulfillment/fulfillment-states.md +18 -0
  715. package/docs/reference/typescript-api/fulfillment/fulfillment-transition-data.md +41 -0
  716. package/docs/reference/typescript-api/fulfillment/index.md +5 -0
  717. package/docs/reference/typescript-api/health-check/health-check-registry-service.md +70 -0
  718. package/docs/reference/typescript-api/health-check/health-check-strategy.md +70 -0
  719. package/docs/reference/typescript-api/health-check/http-health-check-strategy.md +61 -0
  720. package/docs/reference/typescript-api/health-check/index.md +5 -0
  721. package/docs/reference/typescript-api/health-check/type-ormhealth-check-strategy.md +64 -0
  722. package/docs/reference/typescript-api/import-export/asset-import-strategy.md +46 -0
  723. package/docs/reference/typescript-api/import-export/asset-importer.md +32 -0
  724. package/docs/reference/typescript-api/import-export/default-asset-import-strategy.md +48 -0
  725. package/docs/reference/typescript-api/import-export/fast-importer-service.md +67 -0
  726. package/docs/reference/typescript-api/import-export/import-export-options.md +36 -0
  727. package/docs/reference/typescript-api/import-export/import-parser.md +280 -0
  728. package/docs/reference/typescript-api/import-export/importer.md +54 -0
  729. package/docs/reference/typescript-api/import-export/index.md +5 -0
  730. package/docs/reference/typescript-api/import-export/initial-data.md +71 -0
  731. package/docs/reference/typescript-api/import-export/populate.md +71 -0
  732. package/docs/reference/typescript-api/import-export/populator.md +38 -0
  733. package/docs/reference/typescript-api/job-queue/default-job-queue-plugin.md +245 -0
  734. package/docs/reference/typescript-api/job-queue/in-memory-job-buffer-storage-strategy.md +55 -0
  735. package/docs/reference/typescript-api/job-queue/in-memory-job-queue-strategy.md +110 -0
  736. package/docs/reference/typescript-api/job-queue/index.md +84 -0
  737. package/docs/reference/typescript-api/job-queue/inspectable-job-queue-strategy.md +60 -0
  738. package/docs/reference/typescript-api/job-queue/job-buffer-storage-strategy.md +78 -0
  739. package/docs/reference/typescript-api/job-queue/job-buffer.md +119 -0
  740. package/docs/reference/typescript-api/job-queue/job-queue-options.md +56 -0
  741. package/docs/reference/typescript-api/job-queue/job-queue-service.md +128 -0
  742. package/docs/reference/typescript-api/job-queue/job-queue-strategy.md +59 -0
  743. package/docs/reference/typescript-api/job-queue/job.md +195 -0
  744. package/docs/reference/typescript-api/job-queue/polling-job-queue-strategy.md +122 -0
  745. package/docs/reference/typescript-api/job-queue/sql-job-queue-strategy.md +84 -0
  746. package/docs/reference/typescript-api/job-queue/subscribable-job.md +44 -0
  747. package/docs/reference/typescript-api/job-queue/types.md +199 -0
  748. package/docs/reference/typescript-api/logger/default-logger.md +81 -0
  749. package/docs/reference/typescript-api/logger/index.md +120 -0
  750. package/docs/reference/typescript-api/logger/log-level.md +30 -0
  751. package/docs/reference/typescript-api/logger/vendure-logger.md +60 -0
  752. package/docs/reference/typescript-api/migration/generate-migration.md +28 -0
  753. package/docs/reference/typescript-api/migration/index.md +5 -0
  754. package/docs/reference/typescript-api/migration/migration-options.md +36 -0
  755. package/docs/reference/typescript-api/migration/revert-last-migration.md +23 -0
  756. package/docs/reference/typescript-api/migration/run-migrations.md +23 -0
  757. package/docs/reference/typescript-api/money/big-int-money-strategy.md +68 -0
  758. package/docs/reference/typescript-api/money/default-money-strategy.md +47 -0
  759. package/docs/reference/typescript-api/money/index.md +5 -0
  760. package/docs/reference/typescript-api/money/money-decorator.md +23 -0
  761. package/docs/reference/typescript-api/money/money-strategy.md +116 -0
  762. package/docs/reference/typescript-api/money/round-money.md +26 -0
  763. package/docs/reference/typescript-api/orders/active-order-service.md +69 -0
  764. package/docs/reference/typescript-api/orders/active-order-strategy.md +203 -0
  765. package/docs/reference/typescript-api/orders/changed-price-handling-strategy.md +51 -0
  766. package/docs/reference/typescript-api/orders/custom-order-states.md +18 -0
  767. package/docs/reference/typescript-api/orders/default-active-order-strategy.md +52 -0
  768. package/docs/reference/typescript-api/orders/default-guest-checkout-strategy.md +93 -0
  769. package/docs/reference/typescript-api/orders/default-order-item-price-calculation-strategy.md +33 -0
  770. package/docs/reference/typescript-api/orders/default-order-placed-strategy.md +33 -0
  771. package/docs/reference/typescript-api/orders/default-stock-allocation-strategy.md +33 -0
  772. package/docs/reference/typescript-api/orders/guest-checkout-strategy.md +56 -0
  773. package/docs/reference/typescript-api/orders/index.md +5 -0
  774. package/docs/reference/typescript-api/orders/merge-strategies.md +114 -0
  775. package/docs/reference/typescript-api/orders/order-by-code-access-strategy.md +91 -0
  776. package/docs/reference/typescript-api/orders/order-code-strategy.md +88 -0
  777. package/docs/reference/typescript-api/orders/order-interceptor.md +250 -0
  778. package/docs/reference/typescript-api/orders/order-item-price-calculation-strategy.md +91 -0
  779. package/docs/reference/typescript-api/orders/order-merge-strategy.md +80 -0
  780. package/docs/reference/typescript-api/orders/order-options.md +145 -0
  781. package/docs/reference/typescript-api/orders/order-placed-strategy.md +54 -0
  782. package/docs/reference/typescript-api/orders/order-process.md +271 -0
  783. package/docs/reference/typescript-api/orders/order-seller-strategy.md +124 -0
  784. package/docs/reference/typescript-api/orders/stock-allocation-strategy.md +46 -0
  785. package/docs/reference/typescript-api/payment/default-payment-process.md +13 -0
  786. package/docs/reference/typescript-api/payment/default-refund-process.md +13 -0
  787. package/docs/reference/typescript-api/payment/dummy-payment-handler.md +31 -0
  788. package/docs/reference/typescript-api/payment/index.md +5 -0
  789. package/docs/reference/typescript-api/payment/payment-method-config-options.md +69 -0
  790. package/docs/reference/typescript-api/payment/payment-method-eligibility-checker.md +95 -0
  791. package/docs/reference/typescript-api/payment/payment-method-handler.md +83 -0
  792. package/docs/reference/typescript-api/payment/payment-method-types.md +386 -0
  793. package/docs/reference/typescript-api/payment/payment-options.md +57 -0
  794. package/docs/reference/typescript-api/payment/payment-process.md +62 -0
  795. package/docs/reference/typescript-api/payment/payment-state.md +20 -0
  796. package/docs/reference/typescript-api/payment/payment-states.md +18 -0
  797. package/docs/reference/typescript-api/payment/payment-transition-data.md +42 -0
  798. package/docs/reference/typescript-api/payment/refund-process.md +55 -0
  799. package/docs/reference/typescript-api/payment/refund-state.md +16 -0
  800. package/docs/reference/typescript-api/payment/refund-states.md +18 -0
  801. package/docs/reference/typescript-api/payment/refund-transition-data.md +41 -0
  802. package/docs/reference/typescript-api/plugin/index.md +5 -0
  803. package/docs/reference/typescript-api/plugin/plugin-common-module.md +28 -0
  804. package/docs/reference/typescript-api/plugin/plugin-utilities.md +96 -0
  805. package/docs/reference/typescript-api/plugin/vendure-plugin-metadata.md +147 -0
  806. package/docs/reference/typescript-api/plugin/vendure-plugin.md +52 -0
  807. package/docs/reference/typescript-api/products-stock/catalog-options.md +70 -0
  808. package/docs/reference/typescript-api/products-stock/default-product-variant-price-calculation-strategy.md +38 -0
  809. package/docs/reference/typescript-api/products-stock/default-stock-display-strategy.md +40 -0
  810. package/docs/reference/typescript-api/products-stock/default-stock-location-strategy.md +47 -0
  811. package/docs/reference/typescript-api/products-stock/index.md +5 -0
  812. package/docs/reference/typescript-api/products-stock/multi-channel-stock-location-strategy.md +47 -0
  813. package/docs/reference/typescript-api/products-stock/product-variant-price-calculation-strategy.md +95 -0
  814. package/docs/reference/typescript-api/products-stock/stock-display-strategy.md +47 -0
  815. package/docs/reference/typescript-api/products-stock/stock-location-strategy.md +157 -0
  816. package/docs/reference/typescript-api/promotions/facet-value-checker.md +78 -0
  817. package/docs/reference/typescript-api/promotions/index.md +5 -0
  818. package/docs/reference/typescript-api/promotions/promotion-action.md +454 -0
  819. package/docs/reference/typescript-api/promotions/promotion-condition.md +117 -0
  820. package/docs/reference/typescript-api/promotions/promotion-options.md +35 -0
  821. package/docs/reference/typescript-api/request/allow-decorator.md +53 -0
  822. package/docs/reference/typescript-api/request/api-decorator.md +28 -0
  823. package/docs/reference/typescript-api/request/api-type.md +16 -0
  824. package/docs/reference/typescript-api/request/ctx-decorator.md +23 -0
  825. package/docs/reference/typescript-api/request/index.md +5 -0
  826. package/docs/reference/typescript-api/request/relations-decorator.md +116 -0
  827. package/docs/reference/typescript-api/request/request-context-service.md +47 -0
  828. package/docs/reference/typescript-api/request/request-context.md +205 -0
  829. package/docs/reference/typescript-api/request/transaction-decorator.md +82 -0
  830. package/docs/reference/typescript-api/scheduled-tasks/clean-sessions-task.md +40 -0
  831. package/docs/reference/typescript-api/scheduled-tasks/default-scheduler-plugin.md +86 -0
  832. package/docs/reference/typescript-api/scheduled-tasks/default-scheduler-strategy.md +76 -0
  833. package/docs/reference/typescript-api/scheduled-tasks/index.md +5 -0
  834. package/docs/reference/typescript-api/scheduled-tasks/scheduled-task.md +196 -0
  835. package/docs/reference/typescript-api/scheduled-tasks/scheduler-options.md +47 -0
  836. package/docs/reference/typescript-api/scheduled-tasks/scheduler-service.md +62 -0
  837. package/docs/reference/typescript-api/scheduled-tasks/scheduler-strategy.md +141 -0
  838. package/docs/reference/typescript-api/service-helpers/entity-duplicator-service.md +43 -0
  839. package/docs/reference/typescript-api/service-helpers/index.md +5 -0
  840. package/docs/reference/typescript-api/service-helpers/order-calculator.md +54 -0
  841. package/docs/reference/typescript-api/service-helpers/order-modifier.md +91 -0
  842. package/docs/reference/typescript-api/service-helpers/product-price-applicator.md +62 -0
  843. package/docs/reference/typescript-api/service-helpers/slug-validator.md +86 -0
  844. package/docs/reference/typescript-api/service-helpers/translatable-saver.md +66 -0
  845. package/docs/reference/typescript-api/service-helpers/translator-service.md +63 -0
  846. package/docs/reference/typescript-api/services/administrator-service.md +71 -0
  847. package/docs/reference/typescript-api/services/asset-service.md +177 -0
  848. package/docs/reference/typescript-api/services/auth-service.md +54 -0
  849. package/docs/reference/typescript-api/services/channel-service.md +111 -0
  850. package/docs/reference/typescript-api/services/collection-service.md +186 -0
  851. package/docs/reference/typescript-api/services/country-service.md +71 -0
  852. package/docs/reference/typescript-api/services/customer-group-service.md +77 -0
  853. package/docs/reference/typescript-api/services/customer-service.md +203 -0
  854. package/docs/reference/typescript-api/services/entity-slug-service.md +37 -0
  855. package/docs/reference/typescript-api/services/facet-service.md +95 -0
  856. package/docs/reference/typescript-api/services/facet-value-service.md +104 -0
  857. package/docs/reference/typescript-api/services/fulfillment-service.md +69 -0
  858. package/docs/reference/typescript-api/services/global-settings-service.md +41 -0
  859. package/docs/reference/typescript-api/services/history-service.md +172 -0
  860. package/docs/reference/typescript-api/services/index.md +5 -0
  861. package/docs/reference/typescript-api/services/initializer-service.md +36 -0
  862. package/docs/reference/typescript-api/services/order-service.md +440 -0
  863. package/docs/reference/typescript-api/services/order-testing-service.md +44 -0
  864. package/docs/reference/typescript-api/services/payment-method-service.md +105 -0
  865. package/docs/reference/typescript-api/services/payment-service.md +105 -0
  866. package/docs/reference/typescript-api/services/product-option-group-service.md +67 -0
  867. package/docs/reference/typescript-api/services/product-option-service.md +64 -0
  868. package/docs/reference/typescript-api/services/product-service.md +111 -0
  869. package/docs/reference/typescript-api/services/product-variant-service.md +179 -0
  870. package/docs/reference/typescript-api/services/promotion-service.md +127 -0
  871. package/docs/reference/typescript-api/services/province-service.md +59 -0
  872. package/docs/reference/typescript-api/services/role-service.md +113 -0
  873. package/docs/reference/typescript-api/services/search-service.md +37 -0
  874. package/docs/reference/typescript-api/services/seller-service.md +65 -0
  875. package/docs/reference/typescript-api/services/session-service.md +105 -0
  876. package/docs/reference/typescript-api/services/settings-store-service.md +194 -0
  877. package/docs/reference/typescript-api/services/shipping-method-service.md +95 -0
  878. package/docs/reference/typescript-api/services/slug-service.md +35 -0
  879. package/docs/reference/typescript-api/services/stock-level-service.md +62 -0
  880. package/docs/reference/typescript-api/services/stock-location-service.md +115 -0
  881. package/docs/reference/typescript-api/services/stock-movement-service.md +95 -0
  882. package/docs/reference/typescript-api/services/tag-service.md +71 -0
  883. package/docs/reference/typescript-api/services/tax-category-service.md +59 -0
  884. package/docs/reference/typescript-api/services/tax-rate-service.md +66 -0
  885. package/docs/reference/typescript-api/services/user-service.md +132 -0
  886. package/docs/reference/typescript-api/services/zone-service.md +77 -0
  887. package/docs/reference/typescript-api/settings-store/cleanup-orphaned-settings-store-entries-options.md +48 -0
  888. package/docs/reference/typescript-api/settings-store/cleanup-orphaned-settings-store-entries-result.md +41 -0
  889. package/docs/reference/typescript-api/settings-store/index.md +38 -0
  890. package/docs/reference/typescript-api/settings-store/orphaned-settings-store-entry.md +48 -0
  891. package/docs/reference/typescript-api/settings-store/set-settings-store-value-result.md +42 -0
  892. package/docs/reference/typescript-api/settings-store/settings-store-field-config.md +92 -0
  893. package/docs/reference/typescript-api/settings-store/settings-store-registration.md +36 -0
  894. package/docs/reference/typescript-api/settings-store/settings-store-scope-function.md +35 -0
  895. package/docs/reference/typescript-api/settings-store/settings-store-scopes.md +36 -0
  896. package/docs/reference/typescript-api/shipping/check-shipping-eligibility-checker-fn.md +27 -0
  897. package/docs/reference/typescript-api/shipping/default-shipping-line-assignment-strategy.md +33 -0
  898. package/docs/reference/typescript-api/shipping/index.md +5 -0
  899. package/docs/reference/typescript-api/shipping/shipping-calculator.md +121 -0
  900. package/docs/reference/typescript-api/shipping/shipping-eligibility-checker-config.md +39 -0
  901. package/docs/reference/typescript-api/shipping/shipping-eligibility-checker.md +60 -0
  902. package/docs/reference/typescript-api/shipping/shipping-line-assignment-strategy.md +75 -0
  903. package/docs/reference/typescript-api/shipping/shipping-options.md +63 -0
  904. package/docs/reference/typescript-api/shipping/should-run-check-fn.md +44 -0
  905. package/docs/reference/typescript-api/state-machine/fsm.md +66 -0
  906. package/docs/reference/typescript-api/state-machine/index.md +5 -0
  907. package/docs/reference/typescript-api/state-machine/state-machine-config.md +103 -0
  908. package/docs/reference/typescript-api/state-machine/transitions.md +43 -0
  909. package/docs/reference/typescript-api/tax/address-based-tax-zone-strategy.md +57 -0
  910. package/docs/reference/typescript-api/tax/default-tax-line-calculation-strategy.md +33 -0
  911. package/docs/reference/typescript-api/tax/default-tax-zone-strategy.md +35 -0
  912. package/docs/reference/typescript-api/tax/index.md +5 -0
  913. package/docs/reference/typescript-api/tax/tax-line-calculation-strategy.md +90 -0
  914. package/docs/reference/typescript-api/tax/tax-options.md +35 -0
  915. package/docs/reference/typescript-api/tax/tax-zone-strategy.md +54 -0
  916. package/docs/reference/typescript-api/telemetry/index.md +5 -0
  917. package/docs/reference/typescript-api/telemetry/instrument.md +47 -0
  918. package/docs/reference/typescript-api/telemetry/instrumentation-strategy.md +35 -0
  919. package/docs/reference/typescript-api/telemetry/wrapped-method-args.md +56 -0
  920. package/docs/reference/typescript-api/testing/create-error-result-guard.md +33 -0
  921. package/docs/reference/typescript-api/testing/create-test-environment.md +47 -0
  922. package/docs/reference/typescript-api/testing/error-result-guard.md +73 -0
  923. package/docs/reference/typescript-api/testing/get-superadmin-context.md +23 -0
  924. package/docs/reference/typescript-api/testing/index.md +5 -0
  925. package/docs/reference/typescript-api/testing/register-initializer.md +27 -0
  926. package/docs/reference/typescript-api/testing/simple-graph-qlclient.md +123 -0
  927. package/docs/reference/typescript-api/testing/test-config.md +30 -0
  928. package/docs/reference/typescript-api/testing/test-db-initializer.md +60 -0
  929. package/docs/reference/typescript-api/testing/test-environment.md +42 -0
  930. package/docs/reference/typescript-api/testing/test-server-options.md +47 -0
  931. package/docs/reference/typescript-api/testing/test-server.md +60 -0
  932. package/docs/reference/typescript-api/testing/testing-logger.md +140 -0
  933. package/docs/reference/typescript-api/worker/bootstrap-worker.md +76 -0
  934. package/docs/reference/typescript-api/worker/index.md +5 -0
  935. package/docs/reference/typescript-api/worker/vendure-worker.md +50 -0
  936. package/docs/reference/typescript-api/worker/worker-health-check-config.md +41 -0
  937. package/docs/user-guide/catalog/collections.md +27 -0
  938. package/docs/user-guide/catalog/facets.md +34 -0
  939. package/docs/user-guide/catalog/product-variants.png +0 -0
  940. package/docs/user-guide/catalog/products.md +35 -0
  941. package/docs/user-guide/catalog/screen-facet-add.webp +0 -0
  942. package/docs/user-guide/catalog/screen-facet-list.webp +0 -0
  943. package/docs/user-guide/catalog/screen-inventory.webp +0 -0
  944. package/docs/user-guide/customers/index.md +30 -0
  945. package/docs/user-guide/customers/screen-customer-group.webp +0 -0
  946. package/docs/user-guide/index.md +7 -0
  947. package/docs/user-guide/localization/index.md +42 -0
  948. package/docs/user-guide/localization/screen-ui-language.webp +0 -0
  949. package/docs/user-guide/orders/draft-orders.md +28 -0
  950. package/docs/user-guide/orders/order-state-diagram-for-admin.png +0 -0
  951. package/docs/user-guide/orders/orders.md +65 -0
  952. package/docs/user-guide/orders/screen-fulfillment-shipped.webp +0 -0
  953. package/docs/user-guide/orders/screen-fulfillment.webp +0 -0
  954. package/docs/user-guide/orders/screen-modification.webp +0 -0
  955. package/docs/user-guide/orders/screen-modify-button.webp +0 -0
  956. package/docs/user-guide/orders/screen-refund-button.webp +0 -0
  957. package/docs/user-guide/orders/screen-settle-payment.webp +0 -0
  958. package/docs/user-guide/promotions/index.md +44 -0
  959. package/docs/user-guide/settings/administrators-roles.md +34 -0
  960. package/docs/user-guide/settings/channels.md +18 -0
  961. package/docs/user-guide/settings/countries-zones.md +12 -0
  962. package/docs/user-guide/settings/global-settings.md +12 -0
  963. package/docs/user-guide/settings/payment-methods.md +32 -0
  964. package/docs/user-guide/settings/screen-shipping-test.webp +0 -0
  965. package/docs/user-guide/settings/screen-translations.webp +0 -0
  966. package/docs/user-guide/settings/shipping-methods.md +55 -0
  967. package/docs/user-guide/settings/taxes.md +32 -0
  968. package/package.json +32 -0
@@ -0,0 +1,572 @@
1
+ ---
2
+ title: "Integrating S3-Compatible Asset Storage"
3
+ ---
4
+
5
+
6
+ import Tabs from '@theme/Tabs';
7
+ import TabItem from '@theme/TabItem';
8
+
9
+ This guide demonstrates how to integrate S3-compatible asset storage into your Vendure application using multiple cloud storage platforms. You'll learn to configure a single, platform-agnostic storage solution that works seamlessly with AWS S3, DigitalOcean Spaces, MinIO, CloudFlare R2, and Supabase Storage.
10
+
11
+ ## Working Example Repository
12
+
13
+ :::info
14
+ This guide is based on the [s3-file-storage](https://github.com/vendurehq/examples/tree/publish/examples/s3-file-storage) example.
15
+ Refer to the complete working code for full implementation details.
16
+ :::
17
+
18
+ ## Prerequisites
19
+
20
+ - Node.js 20+ with npm package manager
21
+ - An existing Vendure project created with the [Vendure create command](/guides/getting-started/installation/)
22
+ - An account with one of the supported S3-compatible storage providers
23
+
24
+ ## S3-Compatible Storage Provider Setup
25
+
26
+ Configure your chosen storage provider by following the setup instructions for your preferred platform:
27
+
28
+ <Tabs>
29
+ <TabItem value="aws-s3" label="AWS S3">
30
+
31
+ ### Setting up AWS S3
32
+
33
+ 1. **Create an S3 Bucket**
34
+ - Navigate to [AWS S3 Console](https://console.aws.amazon.com/s3/)
35
+ - Click "Create bucket"
36
+ - Enter a unique bucket name (e.g., `my-vendure-assets`)
37
+ - Choose your preferred AWS region
38
+ - Configure permissions as needed for public asset access
39
+
40
+ 2. **Create IAM User with S3 Permissions**
41
+ - Go to [AWS IAM Console](https://console.aws.amazon.com/iam/)
42
+ - Navigate to "Users" and click "Create user"
43
+ - Enter username and proceeed to `Set Permissions`
44
+ - Select the `Attach existing policies directly` option
45
+ - Attach the `AmazonS3FullAccess` policy (or create a custom policy with minimal permissions)
46
+
47
+ 3. **Generate Access Keys**
48
+ - After creating the user, click on the user name
49
+ - Go to "Security credentials" tab
50
+ - Click "Create access key" and select "Application running on AWS service"
51
+ - Copy the Access Key ID and Secret Access Key (Download the CSV file if needed)
52
+
53
+ 4. **Environment Variables**
54
+
55
+ ```bash
56
+ # AWS S3 Configuration
57
+ S3_BUCKET=my-vendure-assets
58
+ S3_ACCESS_KEY_ID=AKIA...
59
+ S3_SECRET_ACCESS_KEY=wJalrXUtn...
60
+ S3_REGION=us-east-1
61
+ # Leave S3_ENDPOINT empty for AWS S3
62
+ # Leave S3_FORCE_PATH_STYLE empty for AWS S3
63
+ ```
64
+
65
+ ![AWS S3 Setup](https://cdn.vendure.io/learn/s3-guides/aws-bucket-iam.gif)
66
+
67
+ </TabItem>
68
+ <TabItem value="supabase" label="Supabase Storage">
69
+
70
+ ### Setting up Supabase S3 Storage
71
+
72
+ 1. **Create Supabase Project**
73
+ - Sign up at [Supabase](https://supabase.com/)
74
+ - Click "New project" and fill in project details
75
+ - Wait for project initialization to complete
76
+
77
+ 2. **Navigate to Storage**
78
+ - Go to "Storage" section in your project dashboard
79
+ - Click "Create a new bucket"
80
+ - Enter bucket name: `assets` (or your preferred name)
81
+ - Configure bucket to be public if you need direct asset access
82
+ - Click "Create bucket"
83
+
84
+ 3. **Generate Service Role Key**
85
+ - Navigate to "Settings" → "API"
86
+ - Copy your **Project URL** and **Project Reference ID**
87
+ - Copy the **service_role** key (keep this secure)
88
+ - The service_role key provides full access to your project
89
+
90
+ 4. **Environment Variables**
91
+
92
+ ```bash
93
+ # Supabase Storage Configuration
94
+ S3_BUCKET=assets
95
+ S3_ACCESS_KEY_ID=your-supabase-access-key-id
96
+ S3_SECRET_ACCESS_KEY=your-service-role-key
97
+ S3_REGION=us-east-1
98
+ S3_ENDPOINT=https://your-project-ref.supabase.co/storage/v1/s3
99
+ S3_FORCE_PATH_STYLE=true
100
+ ```
101
+
102
+ :::info
103
+ Replace `your-project-ref` with your actual Supabase project reference ID found in your project settings.
104
+ :::
105
+
106
+ ![Supabase Storage Setup](https://cdn.vendure.io/learn/s3-guides/Supabase-create-bucket.gif)
107
+
108
+ </TabItem>
109
+ <TabItem value="digitalocean" label="DigitalOcean Spaces">
110
+
111
+ ### Setting up DigitalOcean Spaces
112
+
113
+ 1. **Create a DigitalOcean Account**
114
+ - Sign up at [DigitalOcean](https://www.digitalocean.com/)
115
+ - Navigate to the Spaces section in your dashboard
116
+
117
+ 2. **Create a Space**
118
+ - Click "Create a Space"
119
+ - Choose your datacenter region (e.g., `fra1` for Frankfurt)
120
+ - Enter a unique Space name (e.g., `my-vendure-assets`)
121
+ - Choose File Listing permissions based on your needs
122
+ - Optionally enable CDN to improve global asset delivery
123
+
124
+ 3. **Generate Spaces Access Keys**
125
+ - Go to [API Tokens page](https://cloud.digitalocean.com/account/api/tokens)
126
+ - Click "Generate New Key" in the Spaces Keys section
127
+ - Enter a name for your key
128
+ - Copy the generated Key and Secret
129
+
130
+ 4. **Configure CORS Policy (Optional)**
131
+ For browser-based uploads, configure CORS in your Space settings:
132
+
133
+ ```json
134
+ [
135
+ {
136
+ "allowed_origins": ["https://yourdomain.com"],
137
+ "allowed_methods": ["GET", "POST", "PUT"],
138
+ "allowed_headers": ["*"],
139
+ "max_age": 3000
140
+ }
141
+ ]
142
+ ```
143
+
144
+ 5. **Environment Variables**
145
+
146
+ ```bash
147
+ # DigitalOcean Spaces Configuration
148
+ S3_BUCKET=my-vendure-assets
149
+ S3_ACCESS_KEY_ID=DO00...
150
+ S3_SECRET_ACCESS_KEY=wJalrXUtn...
151
+ S3_REGION=fra1
152
+ S3_ENDPOINT=https://fra1.digitaloceanspaces.com
153
+ S3_FORCE_PATH_STYLE=false
154
+ ```
155
+
156
+ :::tip
157
+ Use the regional endpoint (e.g., `https://fra1.digitaloceanspaces.com`) not the CDN endpoint. The AWS SDK constructs URLs automatically.
158
+ :::
159
+
160
+ ![DigitalOcean Spaces Setup](https://cdn.vendure.io/learn/s3-guides/digital-ocean-create-bucket.gif)
161
+
162
+ </TabItem>
163
+ <TabItem value="cloudflare-r2" label="CloudFlare R2">
164
+
165
+ ### Setting up CloudFlare R2
166
+
167
+ 1. **Create CloudFlare Account**
168
+ - Sign up at [CloudFlare](https://www.cloudflare.com/)
169
+ - Complete account verification process
170
+
171
+ 2. **Enable R2 Object Storage**
172
+ - Navigate to R2 Object Storage in your dashboard
173
+ - You may need to provide payment information (R2 has generous free tier)
174
+ - Accept the R2 terms of service
175
+
176
+ 3. **Create R2 Bucket**
177
+ - Click "Create bucket"
178
+ - Enter a globally unique bucket name: `vendure-assets`
179
+ - Select "Automatic" for location optimization
180
+ - Choose "Standard" storage class for most use cases
181
+ - Click "Create bucket" to finalize
182
+
183
+ 4. **Generate API Tokens**
184
+ - Go to "Manage R2 API tokens" section
185
+ - Click "Create API token"
186
+ - Configure token name: "Vendure R2 Token"
187
+ - Under Permissions, select "Object Read & Write"
188
+ - Optionally restrict to specific buckets under "Account resources"
189
+ - Click "Create API token"
190
+
191
+ 5. **Retrieve Credentials**
192
+ - Copy the **Access Key ID** and **Secret Access Key**
193
+ - Copy the **jurisdiction-specific endpoint** for S3 clients
194
+ - Note your **account ID** from the URL or dashboard
195
+
196
+ 6. **Environment Variables**
197
+
198
+ ```bash
199
+ # CloudFlare R2 Configuration
200
+ S3_BUCKET=vendure-assets
201
+ S3_ACCESS_KEY_ID=your-r2-access-key
202
+ S3_SECRET_ACCESS_KEY=your-r2-secret-key
203
+ S3_REGION=auto
204
+ S3_ENDPOINT=https://your-account-id.r2.cloudflarestorage.com
205
+ S3_FORCE_PATH_STYLE=true
206
+ ```
207
+
208
+ :::warning
209
+ Replace `your-account-id` with your actual CloudFlare account ID. If using a custom domain, update `S3_FILE_URL` to point to your custom domain with `https://`.
210
+ :::
211
+
212
+ ![CloudFlare R2 Setup](https://cdn.vendure.io/learn/s3-guides/cloudflareR2-bucket.gif)
213
+
214
+ </TabItem>
215
+ <TabItem value="hetzner" label="Hetzner Object Storage">
216
+
217
+ ### Setting up Hetzner Object Storage
218
+
219
+ 1. **Create Hetzner Cloud Account**
220
+ - Sign up at [Hetzner Cloud](https://www.hetzner.com/cloud)
221
+ - Complete account verification and billing setup
222
+ - Navigate to the Hetzner Cloud Console
223
+
224
+ 2. **Access Object Storage Service**
225
+ - In the Hetzner Cloud Console, navigate to **"Object Storage"** in the left sidebar
226
+ - If Object Storage is not visible, you may need to request access (service availability varies by region)
227
+ - Accept the Object Storage terms of service when prompted
228
+
229
+ 3. **Create Storage Bucket**
230
+ - Click **"Create Bucket"** in the Object Storage section
231
+ - Enter a globally unique bucket name (e.g., `vendure-assets-yourname`)
232
+ - Select your preferred location (e.g., `fsn1` for Falkenstein, Germany)
233
+ - Choose bucket visibility:
234
+ - **Private**: Requires authentication for all access
235
+ - **Public**: Allows public read access for assets
236
+ - Click **"Create"** to create the bucket
237
+
238
+ 4. **Generate S3 API Credentials**
239
+ - In the Object Storage section, navigate to **"API Credentials"** or **"Access Keys"**
240
+ - Click **"Generate new credentials"** or **"Create access key"**
241
+ - Provide a name for the credentials (e.g., "Vendure API Key")
242
+ - Copy the generated **Access Key** and **Secret Key**
243
+ - ⚠️ **Important**: Save the Secret Key immediately as it cannot be viewed again
244
+
245
+ 5. **Environment Variables**
246
+
247
+ ```bash
248
+ # Hetzner Object Storage Configuration
249
+ S3_BUCKET=vendure-assets-yourname
250
+ S3_ACCESS_KEY_ID=your-hetzner-access-key
251
+ S3_SECRET_ACCESS_KEY=your-hetzner-secret-key
252
+ S3_REGION=fsn1
253
+ S3_ENDPOINT=https://fsn1.your-objectstorage.com
254
+ S3_FORCE_PATH_STYLE=true
255
+ ```
256
+
257
+ :::note
258
+ Replace `fsn1` with your chosen location (e.g., `nbg1` for Nuremberg). The endpoint URL will match your bucket's location. Ensure the region and endpoint location match.
259
+ :::
260
+
261
+ ![Hetzner Object Storage Setup](https://cdn.vendure.io/learn/s3-guides/hetzner-create-storage.gif)
262
+
263
+ </TabItem>
264
+ <TabItem value="minio" label="MinIO">
265
+
266
+ ### Setting up MinIO (Self-Hosted)
267
+
268
+ 1. **Install MinIO Server**
269
+
270
+ **Option A: Using Docker (Recommended)**
271
+ ```bash
272
+ # Create a docker-compose.yml file
273
+ docker compose up -d minio
274
+ ```
275
+
276
+ **Option B: Direct Installation**
277
+ - Download MinIO from [MinIO Downloads](https://min.io/download)
278
+ - Follow installation instructions for your operating system
279
+ - Start MinIO server with: `minio server /data --console-address ":9001"`
280
+
281
+ 2. **Access MinIO Console**
282
+ - Open [http://localhost:9001](http://localhost:9001) in your browser
283
+ - Default credentials: `minioadmin` / `minioadmin`
284
+ - Change these credentials in production environments
285
+
286
+ 3. **Create Access Keys**
287
+
288
+ The MinIO web console in development setups typically only shows bucket management. For access key creation, use the MinIO CLI:
289
+
290
+ **Install MinIO Client (if not already installed):**
291
+ ```bash
292
+ # macOS
293
+ brew install minio/stable/mc
294
+
295
+ # Linux
296
+ curl https://dl.min.io/client/mc/release/linux-amd64/mc \
297
+ --create-dirs -o $HOME/minio-binaries/mc
298
+ chmod +x $HOME/minio-binaries/mc
299
+ export PATH=$PATH:$HOME/minio-binaries/
300
+
301
+ # Windows
302
+ # Download mc.exe from https://dl.min.io/client/mc/release/windows-amd64/mc.exe
303
+ ```
304
+
305
+ **Configure and create access keys:**
306
+ ```bash
307
+ # Set up MinIO client alias (replace with your MinIO server details)
308
+ mc alias set local http://localhost:9000 minioadmin minioadmin
309
+
310
+ # Create a service account (access key pair)
311
+ mc admin user svcacct add local minioadmin
312
+
313
+ # This will output something like:
314
+ # Access Key: AKIAIOSFODNN7EXAMPLE
315
+ # Secret Key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
316
+ ```
317
+
318
+ ⚠️ **Important**: Save both keys immediately as the Secret Key won't be shown again
319
+
320
+ 4. **Create Storage Bucket**
321
+ - In the MinIO console, you should see a "Buckets" section showing available buckets
322
+ - Click **"Create Bucket"** (usually a + icon or button)
323
+ - Enter bucket name: `vendure-assets`
324
+ - Click "Create" to create the bucket
325
+
326
+ **Alternative using CLI:**
327
+ ```bash
328
+ # Create bucket using MinIO client
329
+ mc mb local/vendure-assets
330
+ ```
331
+
332
+ 5. **Configure Public Access Policy**
333
+
334
+ For public asset access, set the bucket policy using the MinIO CLI (console UI may not have policy editor):
335
+
336
+ ```bash
337
+ # Create a policy file for public read access
338
+ cat > public-read-policy.json << EOF
339
+ {
340
+ "Version": "2012-10-17",
341
+ "Statement": [
342
+ {
343
+ "Effect": "Allow",
344
+ "Principal": "*",
345
+ "Action": "s3:GetObject",
346
+ "Resource": "arn:aws:s3:::vendure-assets/*"
347
+ }
348
+ ]
349
+ }
350
+ EOF
351
+
352
+ # Apply the policy to the bucket
353
+ mc anonymous set download local/vendure-assets
354
+
355
+ # Or apply the JSON policy directly
356
+ mc admin policy create local public-read public-read-policy.json
357
+ ```
358
+
359
+ **Alternative simple approach:**
360
+ ```bash
361
+ # Make bucket publicly readable (simpler method)
362
+ mc anonymous set download local/vendure-assets
363
+ ```
364
+
365
+ 6. **Environment Variables**
366
+
367
+ ```bash
368
+ # MinIO Configuration
369
+ S3_BUCKET=vendure-assets
370
+ S3_ACCESS_KEY_ID=minio-access-key
371
+ S3_SECRET_ACCESS_KEY=minio-secret-key
372
+ S3_REGION=us-east-1
373
+ S3_ENDPOINT=http://localhost:9000
374
+ S3_FORCE_PATH_STYLE=true
375
+ ```
376
+
377
+ </TabItem>
378
+ </Tabs>
379
+
380
+ ## Vendure Configuration
381
+
382
+ Configure your Vendure application to use S3-compatible asset storage by modifying your `vendure-config.ts`:
383
+
384
+ ```ts title="src/vendure-config.ts"
385
+ import { VendureConfig } from '@vendure/core';
386
+ // highlight-start
387
+ import {
388
+ AssetServerPlugin,
389
+ configureS3AssetStorage
390
+ } from '@vendure/asset-server-plugin';
391
+ // highlight-end
392
+ import 'dotenv/config';
393
+ import path from 'path';
394
+
395
+ const IS_DEV = process.env.APP_ENV === 'dev';
396
+
397
+ export const config: VendureConfig = {
398
+ // ... other configuration options
399
+
400
+ plugins: [
401
+ // highlight-start
402
+ AssetServerPlugin.init({
403
+ route: 'assets',
404
+ assetUploadDir: path.join(__dirname, '../static/assets'),
405
+ assetUrlPrefix: IS_DEV ? undefined : 'https://www.my-shop.com/assets/',
406
+
407
+ // S3-Compatible Storage Configuration
408
+ // Dynamically switches between local storage and S3 based on environment
409
+ storageStrategyFactory: process.env.S3_BUCKET
410
+ ? configureS3AssetStorage({
411
+ bucket: process.env.S3_BUCKET,
412
+ credentials: {
413
+ accessKeyId: process.env.S3_ACCESS_KEY_ID!,
414
+ secretAccessKey: process.env.S3_SECRET_ACCESS_KEY!,
415
+ },
416
+ nativeS3Configuration: {
417
+ // Platform-specific endpoint configuration
418
+ endpoint: process.env.S3_ENDPOINT,
419
+ region: process.env.S3_REGION,
420
+ forcePathStyle: process.env.S3_FORCE_PATH_STYLE === 'true',
421
+ signatureVersion: 'v4',
422
+ },
423
+ })
424
+ : undefined, // Fallback to local storage when S3 not configured
425
+ }),
426
+ // highlight-end
427
+
428
+ // ... other plugins
429
+ ],
430
+ };
431
+ ```
432
+
433
+ :::note
434
+ **IMPORTANT**: The configuration uses a conditional approach - when `S3_BUCKET` is set, it activates S3 storage; otherwise, it falls back to local file storage. This enables seamless development-to-production transitions.
435
+ :::
436
+
437
+ ## Environment Configuration
438
+
439
+ Create a `.env` file in your project root with your chosen storage provider configuration:
440
+
441
+ ```bash title=".env"
442
+ # Basic Vendure Configuration
443
+ APP_ENV=dev
444
+ SUPERADMIN_USERNAME=superadmin
445
+ SUPERADMIN_PASSWORD=superadmin
446
+ COOKIE_SECRET=your-cookie-secret-32-characters-min
447
+
448
+ # S3-Compatible Storage Configuration
449
+ S3_BUCKET=your-bucket-name
450
+ S3_ACCESS_KEY_ID=your-access-key-id
451
+ S3_SECRET_ACCESS_KEY=your-secret-access-key
452
+ S3_REGION=your-region
453
+ S3_ENDPOINT=your-endpoint-url
454
+ S3_FORCE_PATH_STYLE=true-or-false
455
+ ```
456
+
457
+ :::cli
458
+ Preconfigured environment examples for each storage provider are available in the [s3-file-storage example repository](https://github.com/vendurehq/examples/tree/publish/examples/s3-file-storage).
459
+ :::
460
+
461
+ ## Testing Your Configuration
462
+
463
+ Verify your S3 storage configuration works correctly:
464
+
465
+ 1. **Start your Vendure server**:
466
+ ```bash
467
+ npm run dev:server
468
+ ```
469
+
470
+ 2. **Access the Dashboard**:
471
+ - Open [http://localhost:3000/dashboard](http://localhost:3000/dashboard)
472
+ - Log in with your superadmin credentials
473
+
474
+ 3. **Test asset upload**:
475
+ - Navigate to "Catalog" → "Assets"
476
+ - Click "Upload assets"
477
+ - Select a test image and upload
478
+ - Verify the image appears in the asset gallery
479
+
480
+ 4. **Verify storage backend**:
481
+ - Check your S3 bucket/storage service for the uploaded file
482
+ - Confirm the asset URL is accessible
483
+
484
+
485
+ ## Advanced Configuration
486
+
487
+ ### Custom Asset URL Prefix
488
+
489
+ For production deployments with CDN or custom domains:
490
+
491
+ ```ts title="src/vendure-config.ts"
492
+ AssetServerPlugin.init({
493
+ route: 'assets',
494
+ // highlight-next-line
495
+ assetUrlPrefix: 'https://cdn.yourdomain.com/assets/',
496
+ storageStrategyFactory: process.env.S3_BUCKET
497
+ ? configureS3AssetStorage({
498
+ // ... S3 configuration
499
+ })
500
+ : undefined,
501
+ });
502
+ ```
503
+
504
+ ### Environment-Specific Configuration
505
+
506
+ Use different buckets for different environments:
507
+
508
+ ```bash
509
+ # Development
510
+ S3_BUCKET=vendure-dev-assets
511
+
512
+ # Staging
513
+ S3_BUCKET=vendure-staging-assets
514
+
515
+ # Production
516
+ S3_BUCKET=vendure-prod-assets
517
+ ```
518
+
519
+ ### Migration Between Platforms
520
+
521
+ Switching between storage providers requires updating only the environment variables:
522
+
523
+ ```bash
524
+ # From AWS S3 to CloudFlare R2
525
+ # Change these variables:
526
+ S3_ENDPOINT=https://account-id.r2.cloudflarestorage.com
527
+ S3_FORCE_PATH_STYLE=true
528
+ # Keep the same bucket name and credentials structure
529
+ ```
530
+
531
+ ## Troubleshooting
532
+
533
+ ### Common Issues
534
+
535
+ 1. **"Access Denied" Errors**:
536
+ - Verify your access key has proper permissions
537
+ - Check bucket policies allow the required operations
538
+ - Ensure credentials are correctly set in environment variables
539
+
540
+ 2. **"Bucket Not Found" Errors**:
541
+ - Verify bucket name matches exactly (case-sensitive)
542
+ - Check that `S3_REGION` matches your bucket's region
543
+ - For MinIO/R2, ensure `S3_FORCE_PATH_STYLE=true`
544
+
545
+ 3. **Assets Not Loading**:
546
+ - Verify bucket has public read access (if needed)
547
+ - Check CORS configuration for browser-based access
548
+ - Ensure `assetUrlPrefix` matches your actual domain
549
+
550
+ 4. **Connection Timeout Issues**:
551
+ - Verify `S3_ENDPOINT` URL is correct and accessible
552
+ - Check firewall settings for outbound connections
553
+ - For self-hosted MinIO, ensure server is running and accessible
554
+
555
+
556
+ ## Conclusion
557
+
558
+ You now have a robust, platform-agnostic S3-compatible asset storage solution integrated with your Vendure application. This configuration provides:
559
+
560
+ - **Seamless switching** between storage providers via environment variables
561
+ - **Development-to-production** workflow with local storage fallback
562
+ - **Built-in compatibility** with major S3-compatible services
563
+ - **Production-ready** configuration patterns
564
+
565
+ The unified approach eliminates the need for custom storage plugins while maintaining flexibility across different cloud storage platforms. Your assets will be reliably stored and served regardless of which S3-compatible provider you choose.
566
+
567
+ ## Next Steps
568
+
569
+ - Set up CDN integration for improved global asset delivery
570
+ - Implement backup strategies for critical assets
571
+ - Configure monitoring and alerting for storage operations
572
+ - Consider implementing asset optimization and transformation workflows