@vendure/docs 0.0.0-202601161603 → 0.0.0-202601161637
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.
- package/docs/guides/core-concepts/collections/index.mdx +0 -3
- package/docs/guides/core-concepts/orders/index.mdx +0 -4
- package/docs/guides/core-concepts/payment/index.mdx +0 -3
- package/docs/guides/core-concepts/shipping/index.mdx +0 -3
- package/docs/guides/core-concepts/stock-control/index.mdx +0 -3
- package/docs/guides/deployment/deploy-to-northflank/index.mdx +0 -3
- package/docs/guides/deployment/getting-data-into-production.mdx +0 -2
- package/docs/guides/deployment/horizontal-scaling.mdx +0 -2
- package/docs/guides/deployment/production-configuration/index.mdx +0 -2
- package/docs/guides/deployment/using-docker.mdx +0 -2
- package/docs/guides/developer-guide/cli/index.mdx +0 -3
- package/docs/guides/developer-guide/configuration/index.mdx +0 -2
- package/docs/guides/developer-guide/custom-fields/index.mdx +0 -4
- package/docs/guides/developer-guide/db-subscribers/index.mdx +0 -2
- package/docs/guides/developer-guide/error-handling/index.mdx +0 -4
- package/docs/guides/developer-guide/logging/index.mdx +0 -2
- package/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.mdx +0 -2
- package/docs/guides/developer-guide/migrating-from-v1/database-migration.mdx +0 -2
- package/docs/guides/developer-guide/migrating-from-v1/index.mdx +0 -2
- package/docs/guides/developer-guide/migrating-from-v1/storefront-migration.mdx +0 -2
- package/docs/guides/developer-guide/migrations/index.mdx +0 -3
- package/docs/guides/developer-guide/plugins/index.mdx +0 -3
- package/docs/guides/developer-guide/settings-store/index.mdx +0 -7
- package/docs/guides/developer-guide/stand-alone-scripts/index.mdx +0 -2
- package/docs/guides/developer-guide/testing/index.mdx +0 -2
- package/docs/guides/developer-guide/the-api-layer/index.mdx +0 -3
- package/docs/guides/developer-guide/updating/index.mdx +0 -2
- package/docs/guides/developer-guide/uploading-files/index.mdx +0 -2
- package/docs/guides/extending-the-admin-ui/add-actions-to-pages/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/creating-detail-views/index.mdx +0 -2
- package/docs/guides/extending-the-admin-ui/custom-data-table-components/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/custom-detail-components/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/custom-form-inputs/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/defining-routes/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/getting-started/index.mdx +0 -3
- package/docs/guides/extending-the-admin-ui/ui-library/index.mdx +0 -3
- package/docs/guides/extending-the-dashboard/creating-pages/detail-pages.mdx +0 -3
- package/docs/guides/extending-the-dashboard/creating-pages/index.mdx +0 -3
- package/docs/guides/extending-the-dashboard/creating-pages/list-pages.mdx +0 -3
- package/docs/guides/extending-the-dashboard/creating-pages/tabbed-pages.mdx +0 -3
- package/docs/guides/extending-the-dashboard/custom-form-components/form-component-examples.mdx +0 -4
- package/docs/guides/extending-the-dashboard/extending-overview/index.mdx +0 -3
- package/docs/guides/extending-the-dashboard/getting-started/index.mdx +0 -3
- package/docs/guides/extending-the-dashboard/migration/index.mdx +0 -2
- package/docs/guides/getting-started/graphql-intro/index.mdx +0 -3
- package/docs/guides/getting-started/installation/index.mdx +0 -3
- package/docs/guides/getting-started/try-the-api/index.mdx +0 -3
- package/docs/guides/how-to/cms-integration-plugin/index.mdx +0 -3
- package/docs/guides/how-to/digital-products/index.mdx +0 -4
- package/docs/guides/how-to/github-oauth-authentication/index.mdx +0 -4
- package/docs/guides/how-to/google-oauth-authentication/index.mdx +0 -4
- package/docs/guides/how-to/multi-vendor-marketplaces/index.mdx +0 -2
- package/docs/guides/how-to/paginated-list/index.mdx +0 -3
- package/docs/guides/how-to/publish-plugin/index.mdx +0 -3
- package/docs/guides/how-to/s3-asset-storage/index.mdx +0 -4
- package/docs/guides/storefront/active-order/index.mdx +0 -2
- package/docs/guides/storefront/checkout-flow/index.mdx +0 -3
- package/docs/guides/storefront/connect-api/index.mdx +0 -4
- package/docs/guides/storefront/customer-accounts/index.mdx +0 -3
- package/docs/guides/storefront/listing-products/index.mdx +0 -4
- package/docs/guides/storefront/navigation-menu/index.mdx +0 -4
- package/docs/guides/storefront/order-workflow/index.mdx +0 -2
- package/docs/guides/storefront/product-detail/index.mdx +0 -4
- package/docs/reference/admin-ui-api/index.mdx +0 -2
- package/docs/reference/graphql-api/_index.mdx +0 -2
- package/docs/reference/graphql-api/admin/_index.mdx +0 -2
- package/docs/reference/graphql-api/shop/_index.mdx +0 -2
- package/docs/reference/typescript-api/_index.mdx +0 -2
- package/docs/user-guide/catalog/collections.mdx +0 -2
- package/docs/user-guide/catalog/facets.mdx +0 -2
- package/docs/user-guide/catalog/products.mdx +0 -2
- package/docs/user-guide/customers/index.mdx +0 -2
- package/docs/user-guide/index.mdx +4 -2
- package/docs/user-guide/localization/index.mdx +0 -2
- package/docs/user-guide/orders/draft-orders.mdx +0 -2
- package/docs/user-guide/orders/orders.mdx +0 -2
- package/docs/user-guide/promotions/index.mdx +0 -2
- package/docs/user-guide/settings/administrators-roles.mdx +0 -2
- package/docs/user-guide/settings/channels.mdx +0 -2
- package/docs/user-guide/settings/countries-zones.mdx +0 -2
- package/docs/user-guide/settings/global-settings.mdx +0 -2
- package/docs/user-guide/settings/payment-methods.mdx +0 -2
- package/docs/user-guide/settings/shipping-methods.mdx +0 -2
- package/docs/user-guide/settings/taxes.mdx +0 -2
- package/package.json +1 -1
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Collections'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
[`Collections`](/reference/typescript-api/entities/collection/) are used to categorize and organize your catalog. A collection
|
|
9
6
|
contains multiple product variants, and a product variant can belong to multiple collections. Collections can be nested to
|
|
10
7
|
create a hierarchy of categories, which is typically used to create a menu structure in the storefront.
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: 'Orders'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
|
-
|
|
9
5
|
In Vendure, the [`Order`](/reference/typescript-api/entities/order/) entity represents the entire lifecycle of an order, from the moment a customer adds an item to their cart, through to the point where the order is completed and the customer has received their goods.
|
|
10
6
|
|
|
11
7
|
An [`Order`](/reference/typescript-api/entities/order/) is composed of one or more [`OrderLines`](/reference/typescript-api/entities/order-line/).
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Payment'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Vendure can support many kinds of payment workflows, such as authorizing and capturing payment in a single step upon checkout or authorizing on checkout and then capturing on fulfillment.
|
|
9
6
|
|
|
10
7
|
:::info
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Shipping & Fulfillment"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Shipping in Vendure is handled by [ShippingMethods](/reference/typescript-api/entities/shipping-method/).
|
|
9
6
|
A ShippingMethod is composed of a **checker** and a **calculator**.
|
|
10
7
|
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Stock Control"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Vendure includes features to help manage your stock levels, stock allocations and back orders. The basic purpose is to help you keep track of how many of a given ProductVariant you have available to sell.
|
|
9
6
|
|
|
10
7
|
Stock control is enabled globally via the Global Settings:
|
|
@@ -5,9 +5,6 @@ images:
|
|
|
5
5
|
- "/docs/deployment/deploy-to-northflank/deploy-to-northflank.webp"
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
import Tabs from '@theme/Tabs';
|
|
9
|
-
import TabItem from '@theme/TabItem';
|
|
10
|
-
|
|
11
8
|

|
|
12
9
|
|
|
13
10
|
[Northflank](https://northflank.com) is a comprehensive developer platform to build and scale your apps. It has an outstanding developer experience and has a free tier for small projects, and is well-suited for deploying and scaling Vendure applications.
|
|
@@ -4,8 +4,6 @@ showtoc: true
|
|
|
4
4
|
weight: 3
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# Using Docker
|
|
8
|
-
|
|
9
7
|
[Docker](https://docs.docker.com/) is a technology which allows you to run your Vendure application inside a [container](https://docs.docker.com/get-started/#what-is-a-container).
|
|
10
8
|
The default installation with `@vendure/create` includes a sample Dockerfile:
|
|
11
9
|
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'CLI'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
The Vendure CLI is a command-line tool for boosting your productivity as a developer by automating common tasks
|
|
9
6
|
such as creating new plugins, entities, API extensions and more.
|
|
10
7
|
|
|
@@ -3,8 +3,6 @@ title: "Configuration"
|
|
|
3
3
|
sidebar_position: 3
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Configuration
|
|
7
|
-
|
|
8
6
|
Every aspect of the Vendure server is configured via a single, central [`VendureConfig`](/reference/typescript-api/configuration/vendure-config/) object. This object is passed into the [`bootstrap`](/reference/typescript-api/common/bootstrap/) and [`bootstrapWorker`](/reference/typescript-api/worker/bootstrap-worker/) functions to start up the Vendure server and worker respectively.
|
|
9
7
|
|
|
10
8
|
The `VendureConfig` object is organised into sections, grouping related settings together. For example, [`VendureConfig.apiOptions`](/reference/typescript-api/configuration/api-options/) contains all the config for the GraphQL APIs, whereas [`VendureConfig.authOptions`](/reference/typescript-api/auth/auth-options/) deals with authentication.
|
|
@@ -3,10 +3,6 @@ title: 'Custom Fields'
|
|
|
3
3
|
sidebar_position: 3
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
import CustomFieldProperty from '@site/src/components/CustomFieldProperty';
|
|
9
|
-
|
|
10
6
|
Custom fields allow you to add your own custom data properties to almost every Vendure entity. The entities which may have custom fields defined are listed in the [CustomFields interface documentation](/reference/typescript-api/custom-fields/).
|
|
11
7
|
|
|
12
8
|
Some use-cases for custom fields include:
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Database subscribers"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Defining database subscribers
|
|
6
|
-
|
|
7
5
|
TypeORM allows us to define [subscribers](https://typeorm.io/listeners-and-subscribers#what-is-a-subscriber). With a subscriber, we can listen to specific entity events and take actions based on inserts, updates, deletions and more.
|
|
8
6
|
|
|
9
7
|
If you need lower-level access to database changes that you get with the [Vendure EventBus system](/reference/typescript-api/events/event-bus/), TypeORM subscribers can be useful.
|
|
@@ -3,10 +3,6 @@ title: "Error Handling"
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
import Stackblitz from '@site/src/components/Stackblitz';
|
|
9
|
-
|
|
10
6
|
Errors in Vendure can be divided into two categories:
|
|
11
7
|
|
|
12
8
|
* Unexpected errors
|
|
@@ -3,8 +3,6 @@ title: "Logging"
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Logging
|
|
7
|
-
|
|
8
6
|
Logging allows you to see what is happening inside the Vendure server. It is useful for debugging and for monitoring the health of the server in production.
|
|
9
7
|
|
|
10
8
|
In Vendure, logging is configured using the `logger` property of the [VendureConfig](/reference/typescript-api/configuration/vendure-config/#logger) object. The logger must implement the [VendureLogger](/reference/typescript-api/logger/vendure-logger) interface.
|
|
@@ -3,8 +3,6 @@ title: "Database Migration"
|
|
|
3
3
|
sidebar_position: 2
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# v2 Database Migration
|
|
7
|
-
|
|
8
6
|
Vendure v2 introduces a number of breaking changes to the database schema, some of which require quite complex migrations in order to preserve existing data. To make this process as smooth as possible, we have created a migration tool which will handle the hard parts for you!
|
|
9
7
|
|
|
10
8
|
:::warning
|
|
@@ -3,8 +3,6 @@ title: "Storefront Migration"
|
|
|
3
3
|
sidebar_position: 4
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Storefront migration
|
|
7
|
-
|
|
8
6
|
There are relatively few breaking changes that will affect the storefront.
|
|
9
7
|
|
|
10
8
|
- The `setOrderShippingMethod` mutation now takes an array of shipping method IDs rather than just a single one. This is so we can support multiple shipping methods per Order.
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Migrations"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Database migrations are needed whenever the database schema changes. This can be caused by:
|
|
9
6
|
|
|
10
7
|
* changes to the [custom fields](/guides/developer-guide/custom-fields/) configuration
|
|
@@ -3,9 +3,6 @@ title: 'Plugins'
|
|
|
3
3
|
sidebar_position: 6
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
6
|
The heart of Vendure is its plugin system. Plugins not only allow you to instantly add new functionality to your
|
|
10
7
|
Vendure server via third-part npm packages, they are also the means by which you build out the custom business
|
|
11
8
|
logic of your application.
|
|
@@ -3,13 +3,6 @@ title: 'Settings Store'
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
import Tabs from '@theme/Tabs';
|
|
9
|
-
import TabItem from '@theme/TabItem';
|
|
10
|
-
|
|
11
|
-
# Settings Store
|
|
12
|
-
|
|
13
6
|
The Settings Store is a flexible system for storing configuration data with support for scoping, permissions,
|
|
14
7
|
and validation. It allows plugins and the core system to store and retrieve arbitrary JSON data with
|
|
15
8
|
fine-grained control over access and isolation.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Stand-alone CLI Scripts"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Stand-alone CLI Scripts
|
|
6
|
-
|
|
7
5
|
It is possible to create stand-alone scripts that can be run from the command-line by using the [bootstrapWorker function](/reference/typescript-api/worker/bootstrap-worker/). This can be useful for a variety of use-cases such as running cron jobs or importing data.
|
|
8
6
|
|
|
9
7
|
## Minimal example
|
|
@@ -3,8 +3,6 @@ title: "Testing"
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Testing
|
|
7
|
-
|
|
8
6
|
Vendure plugins allow you to extend all aspects of the standard Vendure server. When a plugin gets somewhat complex (defining new entities, extending the GraphQL schema, implementing custom resolvers), you may wish to create automated tests to ensure your plugin is correct.
|
|
9
7
|
|
|
10
8
|
The `@vendure/testing` package gives you some simple but powerful tooling for creating end-to-end tests for your custom Vendure code.
|
|
@@ -3,9 +3,6 @@ title: 'The API Layer'
|
|
|
3
3
|
sidebar_position: 1
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
6
|
Vendure is a headless platform, which means that all functionality is exposed via GraphQL APIs. The API can be thought of
|
|
10
7
|
as a number of layers through which a request will pass, each of which is responsible for a different aspect of the
|
|
11
8
|
request/response lifecycle.
|
|
@@ -3,8 +3,6 @@ title: "Uploading Files"
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Uploading Files
|
|
7
|
-
|
|
8
6
|
Vendure handles file uploads with the [GraphQL multipart request specification](https://github.com/jaydenseric/graphql-multipart-request-spec). Internally, we use the [graphql-upload package](https://github.com/jaydenseric/graphql-upload). Once uploaded, a file is known as an [Asset](/guides/core-concepts/images-assets/). Assets are typically used for images, but can represent any kind of binary data such as PDF files or videos.
|
|
9
7
|
|
|
10
8
|
## Upload clients
|
|
@@ -3,9 +3,6 @@ title: 'Page ActionBar Buttons'
|
|
|
3
3
|
weight: 5
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
6
|
The `ActionBar` is the horizontal area at the top of each list or detail page, which contains the main buttons for that page.
|
|
10
7
|
This guide explains how to add new buttons and dropdown menu items to the ActionBar.
|
|
11
8
|
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: 'Creating Detail Views'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Creating Detail Views
|
|
6
|
-
|
|
7
5
|
The two most common type of components you'll be creating in your UI extensions are list components and detail components.
|
|
8
6
|
|
|
9
7
|
In Vendure, we have standardized the way you write these components so that your ui extensions can be made to fit seamlessly into the rest of the app.
|
|
@@ -3,9 +3,6 @@ title: 'Custom DataTable Components'
|
|
|
3
3
|
weight: 6
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
6
|
The Admin UI list views are powered by a data table component which features sorting, advanced filtering, pagination and more. It will also give you the option of displaying any configured [custom fields](/guides/developer-guide/custom-fields/) for the entity in question.
|
|
10
7
|
|
|
11
8
|
With Admin UI extensions, you can specify custom components to use in rendering any column of any data table - both custom fields _and_ built-in fields, using either Angular or React components.
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Custom Detail Components'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Detail views can be extended with custom Angular or React components using the [`registerCustomDetailComponent`](/reference/admin-ui-api/custom-detail-components/register-custom-detail-component/) and [`registerReactCustomDetailComponent`](/reference/admin-ui-api/react-extensions/register-react-custom-detail-component) functions.
|
|
9
6
|
|
|
10
7
|
Any components registered in this way will appear below the main detail form.
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Custom Form Inputs'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
You can define custom Angular or React components which can be used to render [Custom Fields](/guides/developer-guide/custom-fields/) you have defined on your entities as well as [configurable args](/reference/typescript-api/configurable-operation-def/config-args/) used by custom [Configurable Operations](/guides/developer-guide/strategies-configurable-operations/#configurable-operations).
|
|
9
6
|
|
|
10
7
|
## For Custom Fields
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Defining routes'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Routes allow you to mount entirely custom components at a given URL in the Admin UI. New routes will appear in this area of the Admin UI:
|
|
9
6
|
|
|
10
7
|

|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Getting Started'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
:::warning Angular Admin UI Deprecation
|
|
9
6
|
The Angular-based Admin UI has been replaced by the new [React Admin Dashboard](/guides/extending-the-dashboard/getting-started/). The Angular Admin UI will not be maintained after **July 2026**.
|
|
10
7
|
Until then, we will continue patching critical bugs and security issues. Community contributions will always be merged and released.
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "UI Component Library"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
The Admin UI is built on a customized version of the [Clarity Design System](https://clarity.design/documentation/get-started). This means that if you are writing Angular-based UI extensions, you can use the same components that are used in the rest of the Admin UI. If you are using React, we are gradually exporting the most-used components for use with React.
|
|
9
6
|
|
|
10
7
|
## Buttons
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Extending the Dashboard'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
The custom functionality you create in your Vendure plugins often needs to be exposed via the Dashboard so that
|
|
9
6
|
administrators can interact with it.
|
|
10
7
|
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Getting Started'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
:::info
|
|
9
6
|
From Vendure v3.5.0, the `@vendure/dashboard` package and configuration comes as standard with new projects that are started with
|
|
10
7
|
the `npx @vendure/create` command.
|
|
@@ -3,8 +3,6 @@ title: Migrating from Admin UI
|
|
|
3
3
|
sidebar_position: 1
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Migrating from Admin UI
|
|
7
|
-
|
|
8
6
|
If you have existing extensions to the legacy Angular-based Admin UI, you will want to migrate to the new Dashboard to enjoy
|
|
9
7
|
an improved developer experience, many more customization options, and ongoing support from the Vendure team.
|
|
10
8
|
|
|
@@ -3,9 +3,6 @@ title: 'Installation'
|
|
|
3
3
|
sidebar_position: 1
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
6
|
## Requirements
|
|
10
7
|
|
|
11
8
|
- [Node.js](https://nodejs.org/en/) **v20**, **v22** and **v24** - these versions are tested and supported. (Odd-numbered versions above v20 should still work but are not officially supported.)
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: 'Building a CMS Integration Plugin'
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
A CMS integration plugin allows you to automatically synchronize your Vendure product catalog with an external Content Management System.
|
|
9
6
|
|
|
10
7
|
This is done in a way that establishes Vendure as the source of truth for the ecommerce's data.
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "Digital Products"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
5
|
Digital products include things like ebooks, online courses, and software. They are products that are delivered to the customer electronically, and do not require
|
|
10
6
|
physical shipping.
|
|
11
7
|
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "GitHub OAuth Authentication"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
5
|
:::info
|
|
10
6
|
The complete source of the following example plugin can be found here: [example-plugins/github-auth-plugin](https://github.com/vendurehq/examples/tree/publish/examples/shop-github-auth)
|
|
11
7
|
:::
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "Google OAuth Authentication"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
5
|
:::info
|
|
10
6
|
The complete source of the following example plugin can be found here: [example-plugins/google-auth-plugin](https://github.com/vendurehq/examples/tree/publish/examples/shop-google-auth)
|
|
11
7
|
:::
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Multi-vendor Marketplaces"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Multi-vendor Marketplaces
|
|
6
|
-
|
|
7
5
|
Vendure v2.0 introduced a number of changes and new APIs to enable developers to build multi-vendor marketplace apps.
|
|
8
6
|
|
|
9
7
|
This is a type of application in which multiple sellers are able to list products, and then customers can create orders containing products from one or more of these sellers. Well-known examples include Amazon, Ebay, Etsy and Airbnb.
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Paginated lists"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Vendure's list queries follow a set pattern which allows for pagination, filtering & sorting. This guide will demonstrate how
|
|
9
6
|
to implement your own paginated list queries.
|
|
10
7
|
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Publishing a Plugin"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Vendure's [plugin-based architecture](/guides/developer-guide/plugins/) means you'll be writing a lot of plugins.
|
|
9
6
|
Some of those plugins may be useful to others, and you may want to share them with the community.
|
|
10
7
|
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "Integrating S3-Compatible Asset Storage"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
import Tabs from '@theme/Tabs';
|
|
7
|
-
import TabItem from '@theme/TabItem';
|
|
8
|
-
|
|
9
5
|
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
6
|
|
|
11
7
|
## Working Example Repository
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Managing the Active Order"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Stackblitz from '@site/src/components/Stackblitz';
|
|
6
|
-
|
|
7
5
|
The "active order" is what is also known as the "cart" - it is the order that is currently being worked on by the customer.
|
|
8
6
|
|
|
9
7
|
An order remains active until it is completed, and during this time it can be modified by the customer in various ways:
|
|
@@ -2,9 +2,6 @@
|
|
|
2
2
|
title: "Checkout Flow"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
|
|
8
5
|
Once the customer has added the desired products to the active order, it's time to check out.
|
|
9
6
|
|
|
10
7
|
This guide assumes that you are using the [default OrderProcess](/guides/core-concepts/orders/#the-order-process), so
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: Connect to the API
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
import Stackblitz from '@site/src/components/Stackblitz';
|
|
8
|
-
|
|
9
5
|
The first thing you'll need to do is to connect your storefront app to the **Shop API**. The Shop API is a GraphQL API
|
|
10
6
|
that provides access to the products, collections, customer data, and exposes mutations that allow you to add items to
|
|
11
7
|
the cart, checkout, manage customer accounts, and more.
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "Navigation Menu"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
import Stackblitz from '@site/src/components/Stackblitz';
|
|
8
|
-
|
|
9
5
|
A navigation menu allows your customers to navigate your store and find the products they are looking for.
|
|
10
6
|
|
|
11
7
|
Typically, navigation is based on a hierarchy of [collections](/guides/core-concepts/collections/). We can get the top-level
|
|
@@ -3,8 +3,6 @@ title: "Order Workflow"
|
|
|
3
3
|
showtoc: true
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Order Workflow
|
|
7
|
-
|
|
8
6
|
An Order is a collection of one or more ProductVariants which can be purchased by a Customer. Orders are represented internally by the [Order entity](/reference/typescript-api/entities/order/) and in the GraphQL API by the [Order type](/reference/graphql-api/admin/enums/#ordertype).
|
|
9
7
|
|
|
10
8
|
## Order State
|
|
@@ -2,10 +2,6 @@
|
|
|
2
2
|
title: "Product Detail Page"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
import Tabs from '@theme/Tabs';
|
|
6
|
-
import TabItem from '@theme/TabItem';
|
|
7
|
-
import Stackblitz from '@site/src/components/Stackblitz';
|
|
8
|
-
|
|
9
5
|
The product detail page (often abbreviated to PDP) is the page that shows the details of a product and allows the user to add it to their cart.
|
|
10
6
|
|
|
11
7
|
Typically, the PDP should include:
|
|
@@ -4,8 +4,6 @@ weight: 3
|
|
|
4
4
|
showtoc: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# GraphQL API
|
|
8
|
-
|
|
9
7
|
This section contains a description of all queries, mutations and related types available in the Vendure GraphQL API.
|
|
10
8
|
|
|
11
9
|
The API is split into two distinct endpoints: *Shop* and *Admin*. The Shop API is for storefront client applications, whereas the Admin API is used for administrative tasks.
|
|
@@ -4,8 +4,6 @@ weight: 3
|
|
|
4
4
|
showtoc: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# GraphQL Shop API
|
|
8
|
-
|
|
9
7
|
The Shop API is used by storefront applications. It provides all the necessary queries and mutations for finding and viewing products, creating and updating orders, checking out, managing a customer account etc.
|
|
10
8
|
|
|
11
9
|
:::note
|
|
@@ -4,8 +4,6 @@ weight: 9
|
|
|
4
4
|
showtoc: false
|
|
5
5
|
---
|
|
6
6
|
|
|
7
|
-
# Vendure TypeScript API Docs
|
|
8
|
-
|
|
9
7
|
The Vendure TypeScript API is used when configuring the server (via the [`VendureConfig`](/reference/typescript-api/configuration/vendure-config/#vendureconfig) object) and when writing plugins that extend the functionality of Vendure core.
|
|
10
8
|
|
|
11
9
|
:::note
|
|
@@ -3,8 +3,6 @@ title: "Collections"
|
|
|
3
3
|
weight: 2
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Collections
|
|
7
|
-
|
|
8
6
|
Collections allow you to group ProductVariants together by various criteria. A typical use of Collections is to create a hierarchical category tree which can be used in a navigation menu in your storefront.
|
|
9
7
|
|
|
10
8
|
## Populating Collections
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
1
|
+
---
|
|
2
|
+
title: "Vendure User Guide"
|
|
3
|
+
---
|
|
2
4
|
|
|
3
5
|
This section is for store owners and staff who are charged with running a Vendure-based store.
|
|
4
6
|
|
|
5
7
|
This guide assumes that your Vendure instance is running the AdminUiPlugin.
|
|
6
8
|
|
|
7
|
-
We will roughly structure this guide to conform to the default layout of the Admin UI main navigation menu.
|
|
9
|
+
We will roughly structure this guide to conform to the default layout of the Admin UI main navigation menu.
|
|
@@ -3,8 +3,6 @@ title: "Orders"
|
|
|
3
3
|
weight: 3
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Orders
|
|
7
|
-
|
|
8
6
|
An Order is created whenever someone adds an item to their cart in the storefront. In Vendure, there is no distinction between a "cart" and an "order". Thus a "cart" is just an Order which has not yet passed through the checkout process.
|
|
9
7
|
|
|
10
8
|
## The Order Workflow
|
|
@@ -3,8 +3,6 @@ title: "Promotions"
|
|
|
3
3
|
weight: 4
|
|
4
4
|
---
|
|
5
5
|
|
|
6
|
-
# Promotions
|
|
7
|
-
|
|
8
6
|
Promotions are a means of offering discounts on an order based on various criteria. A Promotion consists of _conditions_ and _actions_.
|
|
9
7
|
|
|
10
8
|
* **conditions** are the rules which determine whether the Promotion should be applied to the order.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Administrators & Roles"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Administrators & Roles
|
|
6
|
-
|
|
7
5
|
An **administrator** is a staff member who has access to the Admin UI, and is able to view and modify some or all of the items and settings.
|
|
8
6
|
|
|
9
7
|
The exact permissions of _what_ a given administrator may view and modify is defined by which **roles** are assigned to that administrator.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Countries & Zones"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Countries & Zones
|
|
6
|
-
|
|
7
5
|
**Countries** are where you define the list of countries which are relevant to your operations. This does not only include those countries you ship to, but also those countries which may appear on a billing address.
|
|
8
6
|
|
|
9
7
|
By default, Vendure includes all countries in the list, but you are free to remove or disable any that you don't need.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Global Settings"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Global Settings
|
|
6
|
-
|
|
7
5
|
The global settings allow you to define certain configurations that affect _all_ channels.
|
|
8
6
|
|
|
9
7
|
* **Available languages** defines which languages you wish to make available for translations. When more than one language has been enabled, you will see the language switcher appear when viewing translatable objects such as products, collections, facets and shipping methods.
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Payment Methods"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Payment Methods
|
|
6
|
-
|
|
7
5
|
Payment methods define how your storefront handles payments. Your storefront may offer multiple payment methods or just one.
|
|
8
6
|
|
|
9
7
|
A Payment method consists of two parts: an **eligibility checker** and a **handler**
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
title: "Taxes"
|
|
3
3
|
---
|
|
4
4
|
|
|
5
|
-
# Taxes
|
|
6
|
-
|
|
7
5
|
Taxes represent extra charges on top of the base price of a product. There are various forms of taxes that might be applicable, depending on local laws and the laws of the regions that your business serves. Common forms of applicable taxes are:
|
|
8
6
|
|
|
9
7
|
* Value added tax (VAT)
|