diff --git a/.eslintrc.js b/.eslintrc.js
index 00e852c11..d0858feb9 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -12,10 +12,11 @@ module.exports = {
parserOptions: {
parser: '@typescript-eslint/parser',
project: [
- resolve(__dirname, './tsconfig.base.json'),
+ resolve(__dirname, './tsconfig.json'),
resolve(__dirname, './packages/api-client/tsconfig.json'),
resolve(__dirname, './packages/composables/tsconfig.json'),
- resolve(__dirname, './packages/theme/tsconfig.json')
+ resolve(__dirname, './packages/theme/tsconfig.json'),
+ resolve(__dirname, './packages/theme/tests/e2e/tsconfig.json'),
],
tsconfigRootDir: __dirname,
extraFileExtensions: ['.vue'],
@@ -30,6 +31,14 @@ module.exports = {
'@vue-storefront/eslint-config-jest',
],
rules: {
- "@typescript-eslint/no-floating-promises": "off"
+ "@typescript-eslint/no-floating-promises": "off",
+ "jest/expect-expect": [
+ "error",
+ {
+ "assertFunctionNames": ["expect", "getByRole", "getByTestId"],
+ }
+ ],
+ "no-plusplus": "off",
}
}
+
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
new file mode 100644
index 000000000..084db9f1d
--- /dev/null
+++ b/.github/CODEOWNERS
@@ -0,0 +1 @@
+* @Frodigo @bartoszherba @sethidden
diff --git a/.github/workflows/assing-pr-to-author.yml b/.github/workflows/assing-pr-to-author.yml
index 3cf7226c9..37af3ceb7 100644
--- a/.github/workflows/assing-pr-to-author.yml
+++ b/.github/workflows/assing-pr-to-author.yml
@@ -3,6 +3,10 @@ on:
pull_request:
types: [opened, ready_for_review, edited, synchronize]
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
jobs:
assignAuthor:
name: Assing
diff --git a/.github/workflows/conventional-pr-name.yml b/.github/workflows/conventional-pr-name.yml
index 895c766f6..465216619 100644
--- a/.github/workflows/conventional-pr-name.yml
+++ b/.github/workflows/conventional-pr-name.yml
@@ -3,6 +3,10 @@ on:
pull_request:
types: ['opened', 'edited', 'reopened', 'synchronize']
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
jobs:
lint:
name: Validate PR Title (conventional-commit)
diff --git a/.github/workflows/deploy-vue-storefront-cloud.yml b/.github/workflows/deploy-vue-storefront-cloud.yml
index 755917066..214eb9977 100644
--- a/.github/workflows/deploy-vue-storefront-cloud.yml
+++ b/.github/workflows/deploy-vue-storefront-cloud.yml
@@ -4,6 +4,7 @@ on:
branches:
- main
- develop
+ - enterprise
- release/*
jobs:
@@ -25,108 +26,93 @@ jobs:
password: ${{ secrets.CLOUD_PASSWORD }}
dockerfile: .vuestorefrontcloud/docker/Dockerfile
buildoptions: --compress
- buildargs: NPM_EMAIL,NPM_PASS,NPM_USER,NPM_REGISTRY,STORE_URL,MAGENTO_GRAPHQL,MAGENTO_EXTERNAL_CHECKOUT,MAGENTO_EXTERNAL_CHECKOUT_URL,MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH,IMAGE_PROVIDER,IMAGE_PROVIDER_BASE_URL,REDIS__HOST,REDIS__PORT,REDIS__CACHE_INVALIDATE_KEY,REDIS__CACHE_INVALIDATE_URL,REDIS__KEY_PREFIX,REDIS__ENABLED,SENTRY_DSN,RECAPTCHA_SITE_KEY,RECAPTCHA_SECRET_KEY
+ buildargs: NPM_EMAIL,NPM_PASS,NPM_USER,NPM_REGISTRY,LAST_COMMIT,VSF_STORE_URL,VSF_MAGENTO_BASE_URL,VSF_MAGENTO_GRAPHQL_URL,VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED,VSF_MAGENTO_EXTERNAL_CHECKOUT_URL,VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH,VSF_IMAGE_PROVIDER,VSF_IMAGE_PROVIDER_BASE_URL,VSF_IMAGE_PROVIDER_DOMAIN,VSF_REDIS_HOST,VSF_REDIS_PORT,VSF_REDIS_CACHE_INVALIDATE_KEY,VSF_REDIS_CACHE_INVALIDATE_URL,VSF_REDIS_KEY_PREFIX,VSF_REDIS_ENABLED,VSF_RECAPTCHA_ENABLED,VSF_RECAPTCHA_HIDE_BADGE,VSF_RECAPTCHA_VERSION,VSF_RECAPTCHA_SIZE,VSF_RECAPTCHA_MIN_SCORE,VSF_RECAPTCHA_SITE_KEY,VSF_RECAPTCHA_SECRET_KEY,VSF_SENTRY_DSN,
+
env:
NPM_EMAIL: ${{ secrets.NPM_EMAIL }}
- NPM_PASS: ${{ secrets.CLOUD_PASSWORD }}
NPM_USER: ${{ secrets.CLOUD_USERNAME }}
+ NPM_PASS: ${{ secrets.CLOUD_PASSWORD }}
NPM_REGISTRY: https://registrynpm.storefrontcloud.io
- STORE_URL: ${{ secrets.STORE_URL }}
- MAGENTO_GRAPHQL: ${{ secrets.MAGENTO_GRAPHQL }}
- MAGENTO_EXTERNAL_CHECKOUT: false
- MAGENTO_EXTERNAL_CHECKOUT_URL: ${{ secrets.MAGENTO_EXTERNAL_CHECKOUT_URL }}
- MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH: ${{ secrets.MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH }}
- IMAGE_PROVIDER: ${{ secrets.IMAGE_PROVIDER }}
- IMAGE_PROVIDER_BASE_URL: ${{ secrets.IMAGE_PROVIDER_BASE_URL }}
- REDIS__HOST: ${{ secrets.REDIS__HOST }}
- REDIS__PORT: ${{ secrets.REDIS__PORT }}
- REDIS__KEY_PREFIX: ${{ secrets.REDIS__KEY_PREFIX }}
- REDIS__CACHE_INVALIDATE_KEY: ${{ secrets.REDIS__CACHE_INVALIDATE_KEY }}
- REDIS__CACHE_INVALIDATE_URL: ${{ secrets.REDIS__CACHE_INVALIDATE_URL }}
- REDIS__ENABLED: ${{ secrets.REDIS__ENABLED }}
- SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
- RECAPTCHA_SITE_KEY: ${{ secrets.RECAPTCHA_SITE_KEY }}
- RECAPTCHA_SECRET_KEY: ${{ secrets.RECAPTCHA_SECRET_KEY }}
- deploy:
- runs-on: ubuntu-latest
+
+ VSF_STORE_URL: '' # TODO
+
+ VSF_MAGENTO_BASE_URL: https://magento2-instance.vuestorefront.io/
+ VSF_MAGENTO_GRAPHQL_URL: https://magento2-instance.vuestorefront.io/graphql
+ VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED: false
+ VSF_MAGENTO_EXTERNAL_CHECKOUT_URL: ''
+ VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH: ''
+
+ VSF_IMAGE_PROVIDER: cloudinary
+ VSF_IMAGE_PROVIDER_BASE_URL: https://res-4.cloudinary.com/dnozky7on/image/upload/
+ VSF_IMAGE_PROVIDER_DOMAIN: https://res-4.cloudinary.com
+
+ VSF_REDIS_ENABLED: true
+ VSF_REDIS_HOST: redis # VSF cloud specific
+ VSF_REDIS_PORT: 6379
+ VSF_REDIS_KEY_PREFIX: ${{ github.sha }}
+ VSF_REDIS_CACHE_INVALIDATE_KEY: magento2vsf2
+ VSF_REDIS_CACHE_INVALIDATE_URL: /cache-invalidate
+
+ VSF_RECAPTCHA_ENABLED: false
+ VSF_RECAPTCHA_HIDE_BADGE: false
+ VSF_RECAPTCHA_VERSION: 3
+ VSF_RECAPTCHA_SIZE: invisible
+ VSF_RECAPTCHA_MIN_SCORE: 0.5
+ VSF_RECAPTCHA_SITE_KEY: 6Ldce0EeAAAAAAGGtGWG-e-SygXiFub6PXHT5fKd
+ VSF_RECAPTCHA_SECRET_KEY: ${{ secrets.RECAPTCHA_SECRET_KEY }}
+
+ VSF_SENTRY_DSN: ${{ secrets.SENTRY_DSN }}
+
+ LAST_COMMIT: ${{ github.sha }}
+
+ deploy-main:
+ uses: ./.github/workflows/deployment-template.yml
needs: build
- steps:
- - uses: chrnorm/deployment-action@releases/v1
- name: Create GitHub deployment
- id: deployment
- with:
- token: ${{ github.token }}
- target_url: https://demo-magento2.europe-west1.gcp.storefrontcloud.io
- environment: production
- initial_status: in_progress
- - name: Deploy on demo-magento2.europe-west1.gcp.storefrontcloud.io
- if: startsWith(github.ref, 'refs/heads/main')
- run: |
- if curl -s -H 'X-User-Id: ${{ secrets.CLOUD_USERNAME }}' -H 'X-Api-Key: ${{ secrets.CLOUD_PASSWORD }}' -H 'Content-Type: application/json' -X POST -d '{
- "code":"demo-magento2",
- "region":"europe-west1.gcp",
- "frontContainerVersion":"${{ github.sha }}"
- }' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then
- echo "Instance updated"
- else
- echo "Something went wrong during the update process..."
- exit 1
- fi
- - name: Deploy on demo-magento2-dev.europe-west1.gcp.storefrontcloud.io/
- if: startsWith(github.ref, 'refs/heads/develop')
- run: |
- if curl -s -H 'X-User-Id: ${{ secrets.CLOUD_USERNAME }}' -H 'X-Api-Key: ${{ secrets.CLOUD_PASSWORD }}' -H 'Content-Type: application/json' -X POST -d '{
- "code":"demo-magento2-dev",
- "region":"europe-west1.gcp",
- "frontContainerVersion":"${{ github.sha }}"
- }' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then
- echo "Instance updated"
- else
- echo "Something went wrong during the update process..."
- exit 1
- fi
- - name: Deploy on demo-magento2-canary.europe-west1.gcp.storefrontcloud.io
- if: startsWith(github.ref, 'refs/heads/release')
- run: |
- if curl -s -H 'X-User-Id: ${{ secrets.CLOUD_USERNAME }}' -H 'X-Api-Key: ${{ secrets.CLOUD_PASSWORD }}' -H 'Content-Type: application/json' -X POST -d '{
- "code":"demo-magento2-canary",
- "region":"europe-west1.gcp",
- "frontContainerVersion":"${{ github.sha }}"
- }' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then
- echo "Instance updated"
- else
- echo "Something went wrong during the update process..."
- exit 1
- fi
- - name: Deploy on demo-magento2-enterprise.europe-west1.gcp.storefrontcloud.io
- if: startsWith(github.ref, 'refs/heads/enterprise')
- run: |
- if curl -s -H 'X-User-Id: ${{ secrets.CLOUD_USERNAME }}' -H 'X-Api-Key: ${{ secrets.CLOUD_PASSWORD }}' -H 'Content-Type: application/json' -X POST -d '{
- "code":"demo-magento2-enterprise",
- "region":"europe-west1.gcp",
- "frontContainerVersion":"${{ github.sha }}"
- }' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then
- echo "Instance updated"
- else
- echo "Something went wrong during the update process..."
- exit 1
- fi
+ if: github.ref == 'refs/heads/main'
+ with:
+ github_environment_name: production
+ environment_code: demo-magento2
+ target_url: https://demo-magento2.europe-west1.gcp.storefrontcloud.io
+ secrets:
+ cloud_username: ${{ secrets.CLOUD_USERNAME }}
+ cloud_password: ${{ secrets.CLOUD_PASSWORD }}
+ deployment_status_token: ${{ secrets.DEPLOYMENT_PERSONAL_ACCESS_TOKEN }}
- - name: Update deployment status (success)
- if: success()
- uses: chrnorm/deployment-status@releases/v1
- with:
- token: ${{ github.token }}
- target_url: https://demo-magento2.europe-west1.gcp.storefrontcloud.io
- state: success
- description: Congratulations! The deploy is done.
- deployment_id: ${{ steps.deployment.outputs.deployment_id }}
- - name: Update deployment status (failure)
- if: failure()
- uses: chrnorm/deployment-status@releases/v1
- with:
- token: ${{ github.token }}
- target_url: https://demo-magento2.europe-west1.gcp.storefrontcloud.io
- description: Unfortunately, the instance hasn't been updated.
- state: failure
- deployment_id: ${{ steps.deployment.outputs.deployment_id }}
+ deploy-develop:
+ uses: ./.github/workflows/deployment-template.yml
+ needs: build
+ if: github.ref == 'refs/heads/develop'
+ with:
+ github_environment_name: dev
+ environment_code: demo-magento2-dev
+ target_url: https://demo-magento2-dev.europe-west1.gcp.storefrontcloud.io
+ secrets:
+ cloud_username: ${{ secrets.CLOUD_USERNAME }}
+ cloud_password: ${{ secrets.CLOUD_PASSWORD }}
+ deployment_status_token: ${{ secrets.DEPLOYMENT_PERSONAL_ACCESS_TOKEN }}
+
+ deploy-release:
+ uses: ./.github/workflows/deployment-template.yml
+ needs: build
+ if: startsWith(github.ref, 'refs/heads/release')
+ with:
+ github_environment_name: canary
+ environment_code: demo-magento2-canary
+ target_url: https://demo-magento2-canary.europe-west1.gcp.storefrontcloud.io
+ secrets:
+ cloud_username: ${{ secrets.CLOUD_USERNAME }}
+ cloud_password: ${{ secrets.CLOUD_PASSWORD }}
+ deployment_status_token: ${{ secrets.DEPLOYMENT_PERSONAL_ACCESS_TOKEN }}
+
+ deploy-enterprise:
+ uses: ./.github/workflows/deployment-template.yml
+ needs: build
+ if: github.ref == 'refs/heads/enterprise'
+ with:
+ github_environment_name: enterprise
+ environment_code: demo-magento2-enterprise
+ target_url: https://demo-magento2-enterprise.europe-west1.gcp.storefrontcloud.io
+ secrets:
+ cloud_username: ${{ secrets.CLOUD_USERNAME }}
+ cloud_password: ${{ secrets.CLOUD_PASSWORD }}
+ deployment_status_token: ${{ secrets.DEPLOYMENT_PERSONAL_ACCESS_TOKEN }}
diff --git a/.github/workflows/deployment-template.yml b/.github/workflows/deployment-template.yml
new file mode 100644
index 000000000..73bb98996
--- /dev/null
+++ b/.github/workflows/deployment-template.yml
@@ -0,0 +1,69 @@
+ # https://docs.github.com/en/actions/using-workflows/reusing-workflows#creating-a-reusable-workflow
+on:
+ workflow_call:
+ inputs:
+ github_environment_name:
+ required: true
+ type: string
+
+ environment_code:
+ required: true
+ type: string
+
+ target_url:
+ required: true
+ type: string
+ secrets:
+ cloud_username:
+ required: true
+ cloud_password:
+ required: true
+ deployment_status_token: # can be ${{ github.token }}
+ required: true
+
+
+jobs:
+ deploy:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: chrnorm/deployment-action@releases/v1
+ name: Create GitHub deployment
+ id: deployment
+ with:
+ token: ${{ secrets.deployment_status_token }}
+ environment: ${{ inputs.github_environment_name }}
+ initial_status: in_progress
+ target_url: ${{ inputs.target_url }}
+ - name: Deploy on ${{ inputs.target_url }}
+ run: |
+ if curl -s -H 'X-User-Id: ${{ secrets.cloud_username }}' -H 'X-Api-Key: ${{ secrets.cloud_password }}' -H 'Content-Type: application/json' -X POST -d '{
+ "code":"${{ inputs.environment_code }}",
+ "region":"europe-west1.gcp",
+ "frontContainerVersion":"${{ github.sha }}"
+ }' https://farmer.storefrontcloud.io/instances | grep -q '{"code":200,"result":"Instance updated!"}'; then
+ echo "Instance updated"
+ else
+ echo "Something went wrong during the update process..."
+ exit 1
+ fi
+
+ - name: Update deployment status (success)
+ if: success()
+ uses: chrnorm/deployment-status@releases/v1
+ with:
+ token: ${{ secrets.deployment_status_token }}
+ target_url: ${{ inputs.target_url }}
+ state: success
+ description: Congratulations! The deploy is done.
+ deployment_id: ${{ steps.deployment.outputs.deployment_id }}
+
+ - name: Update deployment status (failure)
+ if: failure()
+ uses: chrnorm/deployment-status@releases/v1
+ with:
+ token: ${{ secrets.deployment_status_token }}
+ target_url: ${{ inputs.target_url }}
+ description: Unfortunately, the instance hasn't been updated.
+ state: failure
+ deployment_id: ${{ steps.deployment.outputs.deployment_id }}
+
diff --git a/.github/workflows/speedcurve.yml b/.github/workflows/speedcurve.yml
new file mode 100644
index 000000000..eaec33634
--- /dev/null
+++ b/.github/workflows/speedcurve.yml
@@ -0,0 +1,25 @@
+name: "Run SpeedCurve test"
+
+on:
+ deployment_status
+
+jobs:
+ speedcurve:
+ if: github.event.deployment_status.state == 'success' && github.event.deployment.ref == 'refs/heads/develop'
+ runs-on: ubuntu-latest
+ steps:
+ - name: 'Wait for container deployed on VSF Cloud to come online'
+ run: 'sleep 300'
+ shell: 'bash'
+
+ - name: Shorten deployment commit SHA
+ id: vars
+ shell: bash
+ run: echo "::set-output name=sha_short::$(echo ${{ github.event.deployment.sha }} | cut -c1-8)"
+
+ - name: 'Ask SpeedCurve to run performance tests'
+ uses: SpeedCurve-Metrics/speedcurve-test-action@v1.2.2
+ with:
+ api_key: ${{ secrets.SPEEDCURVE_API_KEY }}
+ site_id: 744017
+ note: commit ${{ steps.vars.outputs.sha_short }}
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 67f469d92..c81da536b 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -12,6 +12,10 @@ on:
- develop
- release-**
+concurrency:
+ group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
+ cancel-in-progress: true
+
jobs:
test_repository:
name: Build and test
diff --git a/.gitignore b/.gitignore
index 11f332738..b60b71922 100644
--- a/.gitignore
+++ b/.gitignore
@@ -118,3 +118,4 @@ dist
.history/
.graphqlconfig
.idea
+docs.sh
diff --git a/.husky/pre-commit b/.husky/pre-commit
index beaa057b4..6e2035b72 100755
--- a/.husky/pre-commit
+++ b/.husky/pre-commit
@@ -1,4 +1,4 @@
#!/bin/sh
. "$(dirname "$0")/_/husky.sh"
-npx lerna run --parallel precommit
+yarn run --silent lint-staged
diff --git a/.husky/prepare-commit-msg b/.husky/prepare-commit-msg
deleted file mode 100755
index 73a4cdc33..000000000
--- a/.husky/prepare-commit-msg
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-. "$(dirname "$0")/_/husky.sh"
-
-exec < /dev/tty && git cz --hook || true
diff --git a/.lintstagedrc b/.lintstagedrc
new file mode 100644
index 000000000..54065f8e0
--- /dev/null
+++ b/.lintstagedrc
@@ -0,0 +1,3 @@
+{
+ "*.{js,jsx,ts,tsx,vue}": "eslint --fix",
+}
diff --git a/.vuestorefrontcloud/docker/Dockerfile b/.vuestorefrontcloud/docker/Dockerfile
index 31e441bd8..918540d3d 100644
--- a/.vuestorefrontcloud/docker/Dockerfile
+++ b/.vuestorefrontcloud/docker/Dockerfile
@@ -1,51 +1,68 @@
FROM node:16
-ARG COMMIT
+ARG LAST_COMMIT
ARG NPM_USER
ARG NPM_PASS
ARG NPM_EMAIL
ARG NPM_REGISTRY
-ARG MAGENTO_EXTERNAL_CHECKOUT
-ARG MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH
-ARG STORE_URL
-ARG IMAGE_PROVIDER_BASE_URL
-ARG REDIS__HOST
-ARG REDIS__PORT
-ARG REDIS__CACHE_INVALIDATE_KEY
-ARG RECAPTCHA_ENABLED
-ARG RECAPTCHA_HIDE_BADGE
-ARG RECAPTCHA_VERSION
-ARG RECAPTCHA_SIZE
-ARG RECAPTCHA_MIN_SCORE
-ARG RECAPTCHA_SITE_KEY
-ARG RECAPTCHA_SECRET_KEY
-
-ENV MAGENTO_GRAPHQL=https://magento2-instance.vuestorefront.io:8443/graphql
-ENV MAGENTO_EXTERNAL_CHECKOUT_URL=https://magento2-instance.vuestorefront.io
-ENV MAGENTO_EXTERNAL_CHECKOUT=${MAGENTO_EXTERNAL_CHECKOUT}
-ENV MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH=${MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH}
-ENV STORE_URL=${STORE_URL}
-ENV LAST_COMMIT=${COMMIT}
-ENV STORE_ENV=production
-ENV NUXT_APP_ENV=production
-ENV NUXT_APP_PORT=3000
-ENV MAGENTO_BASE_URL=https://magento2-instance.vuestorefront.io/
-ENV IMAGE_PROVIDER=cloudinary
-ENV IMAGE_PROVIDER_BASE_URL=${IMAGE_PROVIDER_BASE_URL}
-ENV REDIS__HOST=${REDIS__HOST}
-ENV REDIS__PORT=${REDIS__PORT}
-ENV REDIS__CACHE_INVALIDATE_KEY=${REDIS__CACHE_INVALIDATE_KEY}
-ENV REDIS__CACHE_INVALIDATE_URL=/cache-invalidate
-ENV REDIS__KEY_PREFIX=magento2vsf2
-ENV REDIS__ENABLED=true
-ENV SENTRY_DSN=${SENTRY_DSN}
-ENV RECAPTCHA_ENABLED=false
-ENV RECAPTCHA_HIDE_BADGE=false
-ENV RECAPTCHA_VERSION=3
-ENV RECAPTCHA_SIZE=invisible
-ENV RECAPTCHA_MIN_SCORE=0.5
-ENV RECAPTCHA_SITE_KEY=${RECAPTCHA_SITE_KEY}
-ENV RECAPTCHA_SECRET_KEY=${RECAPTCHA_SITE_KEY}
+
+ARG VSF_STORE_URL
+
+ARG VSF_MAGENTO_BASE_URL
+ARG VSF_MAGENTO_GRAPHQL_URL
+ARG VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED
+ARG VSF_MAGENTO_EXTERNAL_CHECKOUT_URL
+ARG VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH
+
+ARG VSF_IMAGE_PROVIDER
+ARG VSF_IMAGE_PROVIDER_BASE_URL
+ARG VSF_IMAGE_PROVIDER_DOMAIN
+
+ARG VSF_REDIS_ENABLED
+ARG VSF_REDIS_HOST
+ARG VSF_REDIS_PORT
+ARG VSF_REDIS_KEY_PREFIX
+ARG VSF_REDIS_CACHE_INVALIDATE_URL
+ARG VSF_REDIS_CACHE_INVALIDATE_KEY
+
+ARG VSF_RECAPTCHA_ENABLED
+ARG VSF_RECAPTCHA_HIDE_BADGE
+ARG VSF_RECAPTCHA_VERSION
+ARG VSF_RECAPTCHA_SIZE
+ARG VSF_RECAPTCHA_MIN_SCORE
+ARG VSF_RECAPTCHA_SITE_KEY
+ARG VSF_RECAPTCHA_SECRET_KEY
+
+ARG VSF_SENTRY_DSN
+
+ENV LAST_COMMIT=${LAST_COMMIT}
+
+ENV VSF_NUXT_APP_ENV=production
+ENV VSF_NUXT_APP_PORT=3000
+
+ENV VSF_MAGENTO_BASE_URL=${VSF_MAGENTO_BASE_URL}
+ENV VSF_MAGENTO_GRAPHQL_URL=${VSF_MAGENTO_GRAPHQL_URL}
+ENV VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED=${VSF_MAGENTO_EXTERNAL_CHECKOUT_ENABLED}
+ENV VSF_MAGENTO_EXTERNAL_CHECKOUT_URL=${VSF_MAGENTO_EXTERNAL_CHECKOUT_URL}
+ENV VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH=${VSF_MAGENTO_EXTERNAL_CHECKOUT_SYNC_PATH}
+ENV VSF_STORE_URL=${VSF_STORE_URL}
+ENV VSF_IMAGE_PROVIDER=${VSF_IMAGE_PROVIDER}
+ENV VSF_IMAGE_PROVIDER_BASE_URL=${VSF_IMAGE_PROVIDER_BASE_URL}
+ENV VSF_IMAGE_PROVIDER_DOMAINL=${VSF_IMAGE_PROVIDER_DOMAINL}
+ENV VSF_REDIS_ENABLED=${VSF_REDIS_ENABLED}
+ENV VSF_REDIS_HOST=${VSF_REDIS_HOST}
+ENV VSF_REDIS_PORT=${VSF_REDIS_PORT}
+ENV VSF_REDIS_KEY_PREFIX=${VSF_REDIS_KEY_PREFIX}
+ENV VSF_REDIS_CACHE_INVALIDATE_KEY=${VSF_REDIS_CACHE_INVALIDATE_KEY}
+ENV VSF_REDIS_CACHE_INVALIDATE_URL=${VSF_REDIS_CACHE_INVALIDATE_URL}
+ENV VSF_SENTRY_DSN=${VSF_SENTRY_DSN}
+ENV VSF_RECAPTCHA_ENABLED=${VSF_RECAPTCHA_ENABLED}
+ENV VSF_RECAPTCHA_HIDE_BADGE=${VSF_RECAPTCHA_HIDE_BADGE}
+ENV VSF_RECAPTCHA_VERSION=${VSF_RECAPTCHA_VERSION}
+ENV VSF_RECAPTCHA_SIZE=${VSF_RECAPTCHA_SIZE}
+ENV VSF_RECAPTCHA_MIN_SCORE=${VSF_RECAPTCHA_MIN_SCORE}
+ENV VSF_RECAPTCHA_SITE_KEY=${VSF_RECAPTCHA_SITE_KEY}
+ENV VSF_RECAPTCHA_SECRET_KEY=${VSF_RECAPTCHA_SITE_KEY}
RUN npm config set @vsf-enterprise:registry=https://registrynpm.storefrontcloud.io
@@ -60,8 +77,7 @@ RUN mv /var/www/packages/theme/nuxt.config.js /var/www/packages/theme/base.nuxt.
RUN yarn install
-RUN npx yarn@1.19.0 workspace @vue-storefront/magento-theme add @nuxtjs/sentry @sentry/tracing
-
+RUN npx yarn@1.19.0 workspace @vue-storefront/magento-theme add @sentry/tracing @nuxtjs/sentry
RUN yarn build && yarn cache clean --all
COPY .vuestorefrontcloud/docker/vue-storefront.sh /usr/local/bin/
diff --git a/.vuestorefrontcloud/docker/nuxt.config.additional.js b/.vuestorefrontcloud/docker/nuxt.config.additional.js
index aa9029696..b5e52cd90 100755
--- a/.vuestorefrontcloud/docker/nuxt.config.additional.js
+++ b/.vuestorefrontcloud/docker/nuxt.config.additional.js
@@ -10,7 +10,7 @@ export default () => {
'@nuxtjs/sentry'
],
sentry: {
- dsn: process.env.SENTRY_DSN,
+ dsn: process.env.VSF_SENTRY_DSN,
tracing: true,
},
};
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 4b2941210..5b48d7e56 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -52,7 +52,7 @@ To make your life easier @vuestorefront/magento2 is commitizen-friendly and prov
> Commit standards
- [conventional-changelog](https://github.com/conventional-changelog)
-- husky commit message hook available
+- run `npx cz` to commit using commitizen
- present tense
- maximum of 100 characters
- message format of `$type($scope): $message`
diff --git a/README.md b/README.md
index 139dd161b..a3e32dc57 100644
--- a/README.md
+++ b/README.md
@@ -5,13 +5,11 @@
### Stay connected
-[](https://github.com/vuestorefront/vue-storefront)
-[](https://twitter.com/vuestorefront)
-[](https://www.youtube.com/c/VueStorefront)
+
+
+
[](https://discord.vuestorefront.io)
-
-[](#contributors-)
-
+
## Vue Storefront 2 integration with Magento
@@ -19,6 +17,10 @@ This project is a Magento 2 integration for Vue Storefront 2.
+
+[](#contributors-)
+
+
## How to start if you want to try out the integration
```
@@ -77,23 +79,19 @@ Find more information about the module [GraphQl Custom Config](https://github.co
```bash
yarn install
```
-5. Define a store running environment by adding a `STORE_ENV` to your running project or execute the code
- ```bash
- echo "STORE_ENV=dev" >> .env
- ```
-6. Copy `config/example.json` to an environment named config and update GraphQL Endpoint
+5. Copy `.env.example` to `.env`
```bash
- cp packages/theme/config/example.json packages/theme/config/dev.json
+ cp packages/theme/.env.example packages/theme/.env
```
-7. Update `magentoGraphQl` with url to Magento >=2.4.2 GraphQL endpoint, and the other variable accordingly to your store configurations.
+6. Update `MAGENTO_GRAPHQL_URL` with url to Magento >=2.4.2 GraphQL endpoint, and the other variable accordingly to your store configurations.
```
- "magentoGraphQl": "https://{YOUR_SITE_FRONT_URL}/graphql",
+ MAGENTO_GRAPHQL_URL=https://{YOUR_SITE_FRONT_URL}/graphql
```
-8. Build dependencies `yarn build:api-client && yarn build:composables`
+7. Build dependencies `yarn build:api-client && yarn build:composables`
```bash
yarn build:api-client && yarn build:composables
```
-9. Run `yarn dev:theme` to run theme. You can find other commands in `package.json`
+8. Run `yarn dev:theme` to run theme. You can find other commands in `package.json`
```bash
yarn dev:theme
```
@@ -107,12 +105,11 @@ Find more information about the module [GraphQl Custom Config](https://github.co
## Support
-If you have any questions about this integration we will be happy to answer them on `magento2` channel on [our Discord](http://discord.vuestorefront.io).
+If you have any questions about this integration we will be happy to answer them on `magento2-vsf2` channel on [our Discord](http://discord.vuestorefront.io).
## Contributors β¨
### Honorable Mentions
-- [Caravel x](https://www.caravelx.com/)
- [Cyberfuze](https://cyberfuze.com/)
- [Leonex](https://www.leonex.de/)
@@ -131,24 +128,18 @@ Thanks go to these wonderful people π:
 Patrick Monteiro π» |
-  Kevin Gorjan π» π |
-  Bartosz Herba π» π π§ π§βπ« π |
-  Marcin Kwiatkowski π» π πΌ π π€ π§ π§βπ« π |
+  Kevin Gorjan π» |
+  Bartosz Herba π» |
+  Marcin Kwiatkowski π» π |
 Filip Rakowski π¬ π§βπ« π |
-  Filip Sobol π¬ π§βπ« π π |
+  Filip Sobol π¬ π§βπ« π |
 Patryk Andrzejewski π¬ π§βπ« π |
 Renan Oliveira π§ π |
 Dominik Deimel π» π |
 Lior Lindvor π» |
-
-  Artur Tagisow π» |
-  Jonathan Ribas π» |
-  Ali Ghanei π» |
-  Maya Shavin π |
-
diff --git a/api-extractor.base.json b/api-extractor.base.json
index 6b0a718b0..8aa2f0c35 100644
--- a/api-extractor.base.json
+++ b/api-extractor.base.json
@@ -2,7 +2,7 @@
"$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
"projectFolder": ".",
"compiler": {
- "tsconfigFilePath": "/tsconfig.base.json"
+ "tsconfigFilePath": "/tsconfig.json"
},
"docModel": {
"enabled": true
diff --git a/docs/.gitignore b/docs/.gitignore
index 60239afcf..6511fed0b 100644
--- a/docs/.gitignore
+++ b/docs/.gitignore
@@ -1 +1,2 @@
.yarn/
+api-reference/
diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js
index 4ecffda10..32610a906 100755
--- a/docs/.vuepress/config.js
+++ b/docs/.vuepress/config.js
@@ -17,19 +17,22 @@ module.exports = {
`]],
],
configureWebpack: (config) => {
- config.module.rules = config.module.rules.map(rule => ({
+ config.module.rules = config.module.rules.map((rule) => ({
...rule,
- use: rule.use && rule.use.map(useRule => ({
- ...useRule,
- options: useRule.loader === 'url-loader' ?
- /**
+ use:
+ rule.use &&
+ rule.use.map((useRule) => ({
+ ...useRule,
+ options:
+ useRule.loader === 'url-loader'
+ ? /**
Hack for loading images properly.
ref: https://github.com/vuejs/vue-loader/issues/1612#issuecomment-559366730
*/
- { ...useRule.options, esModule: false } :
- useRule.options
- }))
- }))
+ { ...useRule.options, esModule: false }
+ : useRule.options,
+ })),
+ }));
},
/**
* RefοΌhttps://v1.vuepress.vuejs.org/plugin/
@@ -40,11 +43,11 @@ module.exports = {
'@vuepress/plugin-medium-zoom',
{
// This selector excludes images from the "Integrations" page
- selector: 'main :not(.tile-image) > img'
- }
+ selector: 'main :not(.tile-image) > img',
+ },
],
'@vuepress/active-header-links',
- '@vuepress/search'
+ '@vuepress/search',
],
themeConfig: {
GTM_TAG,
@@ -58,8 +61,8 @@ module.exports = {
{ text: 'Vue Storefront', link: 'https://vuestorefront.io/' },
{ text: 'Core Documentation', link: 'https://docs.vuestorefront.io/v2/' },
{ text: 'Demo', link: 'https://demo-magento2.europe-west1.gcp.storefrontcloud.io/' },
- { text: 'GitHub', link: 'https://github.com/vuestorefront/magento2'},
- { text: 'Environments', link: 'https://docs.vuestorefront.io/magento/guide/environments.html'}
+ { text: 'GitHub', link: 'https://github.com/vuestorefront/magento2' },
+ { text: 'Environments', link: 'https://docs.vuestorefront.io/magento/guide/environments.html' },
],
sidebar: [
{
@@ -67,10 +70,10 @@ module.exports = {
collapsable: false,
children: [
['/', 'Introduction'],
- ['/guide/environments', 'Environments'],
- ['/guide/functional-catalog', 'Functional catalog'],
+ ['/guide/environments', 'Demo environments'],
+ ['/guide/supported-features', 'Supported features'],
['/guide/about', 'About'],
- ]
+ ],
},
{
title: 'Creating a Storefront',
@@ -80,8 +83,8 @@ module.exports = {
['/guide/configuration', 'Configuration'],
['/guide/override-queries', 'Override queries'],
['/guide/testing', 'Testing'],
- ['/guide/recaptcha', 'ReCaptcha']
- ]
+ ['/guide/recaptcha', 'ReCaptcha'],
+ ],
},
{
title: 'Performance',
@@ -89,45 +92,63 @@ module.exports = {
children: [
['/guide/graphql-get', 'Varnish & GET for GraphQL Queries'],
['/guide/ssr', 'Server Side Rendering Cache'],
- ]
+ ],
+ },
+ {
+ title: 'Performance',
+ collapsable: false,
+ children: [
+ ['/guide/graphql-get', 'Varnish & GET for GraphQL Queries'],
+ ['/guide/ssr', 'Server Side Rendering Cache'],
+ ],
},
{
title: 'Composables',
children: [
- ['/guide/composables/use-addresses', 'useAddresses'],
- ['/guide/composables/use-billing', 'useBilling'],
- ['/guide/composables/use-cart', 'useCart'],
- ['/guide/composables/use-category', 'useCategory'],
- ['/guide/composables/use-category-search', 'useCategorySearch'],
- ['/guide/composables/use-config', 'useConfig'],
- ['/guide/composables/use-content', 'useContent'],
- ['/guide/composables/use-country-search', 'useCountrySearch'],
- ['/guide/composables/use-custom-mutation', 'useCustomMutation'],
- ['/guide/composables/use-custom-query', 'useCustomQuery'],
- ['/guide/composables/use-external-checkout', 'useExternalCheckout'],
- ['/guide/composables/use-facet', 'useFacet'],
- ['/guide/composables/use-forgot-password', 'useForgotPassword'],
- ['/guide/composables/use-get-shipping-methods', 'useGetShippingMethods'],
- ['/guide/composables/use-guest-user', 'useGuestUser'],
- ['/guide/composables/use-make-oder', 'useMakeOrder'],
- ['/guide/composables/use-menu-category', 'useMenuCategory'],
- ['/guide/composables/use-newsletter', 'useNewsletter'],
- ['/guide/composables/use-payment-provider', 'usePaymentProvider'],
- ['/guide/composables/use-product', 'useProduct'],
- ['/guide/composables/use-related-products', 'useRelatedProducts'],
- ['/guide/composables/use-review', 'useReview'],
- ['/guide/composables/use-store', 'useStore'],
- ['/guide/composables/use-upsell-products', 'useUpsellProducts'],
- ['/guide/composables/use-url-resolver', 'useUrlResolver'],
- ['/guide/composables/use-wishlist', 'useWishlist'],
- ]
+ ['/api-reference/magento-theme.useaddresses', 'useAddresses()'],
+ ['/api-reference/magento-theme.useapi', 'useApi()'],
+ ['/api-reference/magento-theme.usebilling', 'useBilling()'],
+ ['/api-reference/magento-theme.usecart', 'useCart()'],
+ ['/api-reference/magento-theme.usecategory', 'useCategory()'],
+ ['/api-reference/magento-theme.usecategorysearch', 'useCategorySearch()'],
+ ['/api-reference/magento-theme.useconfig', 'useConfig()'],
+ ['/api-reference/magento-theme.usecontent', 'useContent()'],
+ ['/api-reference/magento-theme.usecountrysearch', 'useCountrySearch()'],
+ ['/api-reference/magento-theme.usecurrency', 'useCurrency()'],
+ ['/api-reference/magento-theme.useexternalcheckout', 'useExternalCheckout()'],
+ ['/api-reference/magento-theme.usefacet', 'useFacet()'],
+ ['/api-reference/magento-theme.useforgotpassword', 'useForgotPassword()'],
+ ['/api-reference/magento-theme.usegetshippingmethods', 'useGetShippingMethods()'],
+ ['/api-reference/magento-theme.useguestuser', 'useGuestUser()'],
+ ['/api-reference/magento-theme.useimage', 'useImage()'],
+ ['/api-reference/magento-theme.usemagentoconfiguration', 'useMagentoConfiguration()'],
+ ['/api-reference/magento-theme.usemakeorder', 'useMakeOrder()'],
+ ['/api-reference/magento-theme.usenewsletter', 'useNewsletter()'],
+ ['/api-reference/magento-theme.usepaymentprovider', 'usePaymentProvider()'],
+ ['/api-reference/magento-theme.useproduct', 'useProduct()'],
+ ['/api-reference/magento-theme.userelatedproducts', 'useRelatedProducts()'],
+ ['/api-reference/magento-theme.usereview', 'useReview()'],
+ ['/api-reference/magento-theme.useshipping', 'useShipping()'],
+ ['/api-reference/magento-theme.useshippingprovider', 'useShippingProvider()'],
+ ['/api-reference/magento-theme.usestore', 'useStore()'],
+ ['/api-reference/magento-theme.useuihelpers', 'useUiHelpers()'],
+ ['/api-reference/magento-theme.useuinotification', 'useUiNotification()'],
+ ['/api-reference/magento-theme.useuistate', 'useUiState()'],
+ ['/api-reference/magento-theme.useupsellproducts', 'useUpsellProducts()'],
+ ['/api-reference/magento-theme.useurlresolver', 'useUrlResolver()'],
+ ['/api-reference/magento-theme.useuser', 'useUser()'],
+ ['/api-reference/magento-theme.useuseraddress', 'useUserAddress()'],
+ ['/api-reference/magento-theme.useuserorder', 'useUserOrder()'],
+ ['/api-reference/magento-theme.usewishlist', 'useWishlist()'],
+ ],
},
{
title: 'Reference',
children: [
['/plugins/', 'Plugins'],
['/api-reference/', 'API Reference'],
- ]
+ ['/migration-guides/', 'Migration guides'],
+ ],
},
{
title: 'Nuxt Tips & Tricks',
@@ -136,8 +157,8 @@ module.exports = {
['/improvements/security/', 'Security'],
['/improvements/logging/', 'Logging'],
['/improvements/analytics/', 'Analytics'],
- ]
- }
- ]
- }
-}
+ ],
+ },
+ ],
+ },
+};
diff --git a/docs/api-reference/index.md b/docs/api-reference/index.md
deleted file mode 100644
index 55e173d49..000000000
--- a/docs/api-reference/index.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md)
-
-## API Reference
-
-## Packages
-
-| Package | Description |
-| --- | --- |
-| [@vue-storefront/magento](./magento.md) | |
-| [@vue-storefront/magento-api](./magento-api.md) | api-client for Magento 2 integration for Vue Storefront 2. |
-
diff --git a/docs/api-reference/magento-api.addbundleproductstocart.md b/docs/api-reference/magento-api.addbundleproductstocart.md
deleted file mode 100644
index 7232b602e..000000000
--- a/docs/api-reference/magento-api.addbundleproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addBundleProductsToCart](./magento-api.addbundleproductstocart.md)
-
-## addBundleProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddBundleProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.addconfigurableproductstocart.md b/docs/api-reference/magento-api.addconfigurableproductstocart.md
deleted file mode 100644
index 4183d13c8..000000000
--- a/docs/api-reference/magento-api.addconfigurableproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addConfigurableProductsToCart](./magento-api.addconfigurableproductstocart.md)
-
-## addConfigurableProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddConfigurableProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.adddownloadableproductstocart.md b/docs/api-reference/magento-api.adddownloadableproductstocart.md
deleted file mode 100644
index 437fa7b33..000000000
--- a/docs/api-reference/magento-api.adddownloadableproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addDownloadableProductsToCart](./magento-api.adddownloadableproductstocart.md)
-
-## addDownloadableProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddDownloadableProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.addproductstocart.md b/docs/api-reference/magento-api.addproductstocart.md
deleted file mode 100644
index 431a040f6..000000000
--- a/docs/api-reference/magento-api.addproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addProductsToCart](./magento-api.addproductstocart.md)
-
-## addProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.addproducttowishlist.md b/docs/api-reference/magento-api.addproducttowishlist.md
deleted file mode 100644
index acfa824a7..000000000
--- a/docs/api-reference/magento-api.addproducttowishlist.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addProductToWishList](./magento-api.addproducttowishlist.md)
-
-## addProductToWishList variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddProductsToWishlistMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.addsimpleproductstocart.md b/docs/api-reference/magento-api.addsimpleproductstocart.md
deleted file mode 100644
index d2b68a46b..000000000
--- a/docs/api-reference/magento-api.addsimpleproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addSimpleProductsToCart](./magento-api.addsimpleproductstocart.md)
-
-## addSimpleProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddSimpleProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.addvirtualproductstocart.md b/docs/api-reference/magento-api.addvirtualproductstocart.md
deleted file mode 100644
index 75b4bd9a6..000000000
--- a/docs/api-reference/magento-api.addvirtualproductstocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [addVirtualProductsToCart](./magento-api.addvirtualproductstocart.md)
-
-## addVirtualProductsToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: AddVirtualProductsToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.applycoupontocart.md b/docs/api-reference/magento-api.applycoupontocart.md
deleted file mode 100644
index 5cb3439d0..000000000
--- a/docs/api-reference/magento-api.applycoupontocart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [applyCouponToCart](./magento-api.applycoupontocart.md)
-
-## applyCouponToCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: ApplyCouponToCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.availablestores.md b/docs/api-reference/magento-api.availablestores.md
deleted file mode 100644
index fe4756883..000000000
--- a/docs/api-reference/magento-api.availablestores.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [availableStores](./magento-api.availablestores.md)
-
-## availableStores variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.cart.md b/docs/api-reference/magento-api.cart.md
deleted file mode 100644
index 9ef22f357..000000000
--- a/docs/api-reference/magento-api.cart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cart](./magento-api.cart.md)
-
-## cart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, cartId: string, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.categorylist.md b/docs/api-reference/magento-api.categorylist.md
deleted file mode 100644
index d3d4d5af3..000000000
--- a/docs/api-reference/magento-api.categorylist.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [categoryList](./magento-api.categorylist.md)
-
-## categoryList variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: CategoryListQueryVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.categorysearch.md b/docs/api-reference/magento-api.categorysearch.md
deleted file mode 100644
index cf197eb15..000000000
--- a/docs/api-reference/magento-api.categorysearch.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [categorySearch](./magento-api.categorysearch.md)
-
-## categorySearch variable
-
-Signature:
-
-```typescript
-_default: (context: Context, filters: CategorySearchQueryVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.changecustomerpassword.md b/docs/api-reference/magento-api.changecustomerpassword.md
deleted file mode 100644
index 07d282405..000000000
--- a/docs/api-reference/magento-api.changecustomerpassword.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [changeCustomerPassword](./magento-api.changecustomerpassword.md)
-
-## changeCustomerPassword variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- currentPassword: string;
- newPassword: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.cmsblocks.md b/docs/api-reference/magento-api.cmsblocks.md
deleted file mode 100644
index bb01fbbba..000000000
--- a/docs/api-reference/magento-api.cmsblocks.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cmsBlocks](./magento-api.cmsblocks.md)
-
-## cmsBlocks variable
-
-Signature:
-
-```typescript
-_default: (context: Context, identifiers: string, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.cmspage.md b/docs/api-reference/magento-api.cmspage.md
deleted file mode 100644
index 1f3386c2c..000000000
--- a/docs/api-reference/magento-api.cmspage.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [cmsPage](./magento-api.cmspage.md)
-
-## cmsPage variable
-
-Signature:
-
-```typescript
-_default: (context: Context, identifier: string, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.countries.md b/docs/api-reference/magento-api.countries.md
deleted file mode 100644
index de6747cf5..000000000
--- a/docs/api-reference/magento-api.countries.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [countries](./magento-api.countries.md)
-
-## countries variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.country.md b/docs/api-reference/magento-api.country.md
deleted file mode 100644
index 7794bc2cb..000000000
--- a/docs/api-reference/magento-api.country.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [country](./magento-api.country.md)
-
-## country variable
-
-Signature:
-
-```typescript
-_default: (context: Context, id: string, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.createcustomer.md b/docs/api-reference/magento-api.createcustomer.md
deleted file mode 100644
index 6d8c5320f..000000000
--- a/docs/api-reference/magento-api.createcustomer.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createCustomer](./magento-api.createcustomer.md)
-
-## createCustomer variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: CustomerCreateInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.createcustomeraddress.md b/docs/api-reference/magento-api.createcustomeraddress.md
deleted file mode 100644
index 12d654d3e..000000000
--- a/docs/api-reference/magento-api.createcustomeraddress.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createCustomerAddress](./magento-api.createcustomeraddress.md)
-
-## createCustomerAddress variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: CustomerAddressInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.createemptycart.md b/docs/api-reference/magento-api.createemptycart.md
deleted file mode 100644
index 9c3cd91d2..000000000
--- a/docs/api-reference/magento-api.createemptycart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createEmptyCart](./magento-api.createemptycart.md)
-
-## createEmptyCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.createproductreview.md b/docs/api-reference/magento-api.createproductreview.md
deleted file mode 100644
index dcdafc6eb..000000000
--- a/docs/api-reference/magento-api.createproductreview.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [createProductReview](./magento-api.createproductreview.md)
-
-## createProductReview variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: CreateProductReviewInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.currency.md b/docs/api-reference/magento-api.currency.md
deleted file mode 100644
index ddce17ecf..000000000
--- a/docs/api-reference/magento-api.currency.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [currency](./magento-api.currency.md)
-
-## currency variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.customer.md b/docs/api-reference/magento-api.customer.md
deleted file mode 100644
index cc53f8e26..000000000
--- a/docs/api-reference/magento-api.customer.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customer](./magento-api.customer.md)
-
-## customer variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.customercart.md b/docs/api-reference/magento-api.customercart.md
deleted file mode 100644
index 4008e9e21..000000000
--- a/docs/api-reference/magento-api.customercart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerCart](./magento-api.customercart.md)
-
-## customerCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.customerorders.md b/docs/api-reference/magento-api.customerorders.md
deleted file mode 100644
index 786211b6c..000000000
--- a/docs/api-reference/magento-api.customerorders.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerOrders](./magento-api.customerorders.md)
-
-## customerOrders variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams: GetOrdersSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.customerproductreview.md b/docs/api-reference/magento-api.customerproductreview.md
deleted file mode 100644
index 93c6a1325..000000000
--- a/docs/api-reference/magento-api.customerproductreview.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customerProductReview](./magento-api.customerproductreview.md)
-
-## customerProductReview variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: CustomerProductReviewParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.custommutation.md b/docs/api-reference/magento-api.custommutation.md
deleted file mode 100644
index e6e531227..000000000
--- a/docs/api-reference/magento-api.custommutation.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customMutation](./magento-api.custommutation.md)
-
-## customMutation variable
-
-Signature:
-
-```typescript
-_default: ({ client }: Context, { mutation, mutationVariables, fetchPolicy, }: {
- mutation: MUTATION;
- mutationVariables: MUTATION_VARIABLES;
- fetchPolicy?: Extract;
-}) => Promise, Record>>
-```
diff --git a/docs/api-reference/magento-api.customquery.md b/docs/api-reference/magento-api.customquery.md
deleted file mode 100644
index 97c967908..000000000
--- a/docs/api-reference/magento-api.customquery.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [customQuery](./magento-api.customquery.md)
-
-## customQuery variable
-
-Signature:
-
-```typescript
-_default: ({ client }: Context, { query, queryVariables, fetchPolicy, }: {
- query: QUERY;
- queryVariables?: QUERY_VARIABLES;
- fetchPolicy?: FetchPolicy;
-}) => Promise>
-```
diff --git a/docs/api-reference/magento-api.deletecustomeraddress.md b/docs/api-reference/magento-api.deletecustomeraddress.md
deleted file mode 100644
index 768a361c3..000000000
--- a/docs/api-reference/magento-api.deletecustomeraddress.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [deleteCustomerAddress](./magento-api.deletecustomeraddress.md)
-
-## deleteCustomerAddress variable
-
-Signature:
-
-```typescript
-_default: (context: Context, addressId: number, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.generatecustomertoken.md b/docs/api-reference/magento-api.generatecustomertoken.md
deleted file mode 100644
index 35836219a..000000000
--- a/docs/api-reference/magento-api.generatecustomertoken.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [generateCustomerToken](./magento-api.generatecustomertoken.md)
-
-## generateCustomerToken variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- email: string;
- password: string;
- recaptchaToken: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md b/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md
deleted file mode 100644
index 6154074a4..000000000
--- a/docs/api-reference/magento-api.getavailablecustomerpaymentmethods.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableCustomerPaymentMethods](./magento-api.getavailablecustomerpaymentmethods.md)
-
-## getAvailableCustomerPaymentMethods variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- cartId: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.getavailablecustomershippingmethods.md b/docs/api-reference/magento-api.getavailablecustomershippingmethods.md
deleted file mode 100644
index 8c54d893e..000000000
--- a/docs/api-reference/magento-api.getavailablecustomershippingmethods.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableCustomerShippingMethods](./magento-api.getavailablecustomershippingmethods.md)
-
-## getAvailableCustomerShippingMethods variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.getavailablepaymentmethods.md b/docs/api-reference/magento-api.getavailablepaymentmethods.md
deleted file mode 100644
index d4b7d9eb4..000000000
--- a/docs/api-reference/magento-api.getavailablepaymentmethods.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailablePaymentMethods](./magento-api.getavailablepaymentmethods.md)
-
-## getAvailablePaymentMethods variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- cartId: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.getavailableshippingmethods.md b/docs/api-reference/magento-api.getavailableshippingmethods.md
deleted file mode 100644
index 86368b4c1..000000000
--- a/docs/api-reference/magento-api.getavailableshippingmethods.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getAvailableShippingMethods](./magento-api.getavailableshippingmethods.md)
-
-## getAvailableShippingMethods variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- cartId: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.getcustomeraddresses.md b/docs/api-reference/magento-api.getcustomeraddresses.md
deleted file mode 100644
index cf2f7cad4..000000000
--- a/docs/api-reference/magento-api.getcustomeraddresses.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [getCustomerAddresses](./magento-api.getcustomeraddresses.md)
-
-## getCustomerAddresses variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.md b/docs/api-reference/magento-api.md
deleted file mode 100644
index c93c675cd..000000000
--- a/docs/api-reference/magento-api.md
+++ /dev/null
@@ -1,81 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md)
-
-## magento-api package
-
-`api-client` for Magento 2 integration for Vue Storefront 2.
-
-## Remarks
-
-The `@vue-storefront/magento2` library includes everything needed to fetch data from the Magento 2 eCommerce platform. This includes API client configuration, API endpoints, and GraphQL types and fragments.
-
-## Variables
-
-| Variable | Description |
-| --- | --- |
-| [addBundleProductsToCart](./magento-api.addbundleproductstocart.md) | |
-| [addConfigurableProductsToCart](./magento-api.addconfigurableproductstocart.md) | |
-| [addDownloadableProductsToCart](./magento-api.adddownloadableproductstocart.md) | |
-| [addProductsToCart](./magento-api.addproductstocart.md) | |
-| [addProductToWishList](./magento-api.addproducttowishlist.md) | |
-| [addSimpleProductsToCart](./magento-api.addsimpleproductstocart.md) | |
-| [addVirtualProductsToCart](./magento-api.addvirtualproductstocart.md) | |
-| [applyCouponToCart](./magento-api.applycoupontocart.md) | |
-| [availableStores](./magento-api.availablestores.md) | |
-| [cart](./magento-api.cart.md) | |
-| [cartTotalQty](./magento-api.carttotalqty.md) | |
-| [categoryList](./magento-api.categorylist.md) | |
-| [categorySearch](./magento-api.categorysearch.md) | |
-| [changeCustomerPassword](./magento-api.changecustomerpassword.md) | |
-| [cmsBlocks](./magento-api.cmsblocks.md) | |
-| [cmsPage](./magento-api.cmspage.md) | |
-| [countries](./magento-api.countries.md) | |
-| [country](./magento-api.country.md) | |
-| [createCustomer](./magento-api.createcustomer.md) | |
-| [createCustomerAddress](./magento-api.createcustomeraddress.md) | |
-| [createEmptyCart](./magento-api.createemptycart.md) | |
-| [createProductReview](./magento-api.createproductreview.md) | |
-| [currency](./magento-api.currency.md) | |
-| [customer](./magento-api.customer.md) | |
-| [customerCart](./magento-api.customercart.md) | |
-| [customerOrders](./magento-api.customerorders.md) | |
-| [customerProductReview](./magento-api.customerproductreview.md) | |
-| [customMutation](./magento-api.custommutation.md) | |
-| [customQuery](./magento-api.customquery.md) | |
-| [deleteCustomerAddress](./magento-api.deletecustomeraddress.md) | |
-| [generateCustomerToken](./magento-api.generatecustomertoken.md) | |
-| [getAvailableCustomerPaymentMethods](./magento-api.getavailablecustomerpaymentmethods.md) | |
-| [getAvailableCustomerShippingMethods](./magento-api.getavailablecustomershippingmethods.md) | |
-| [getAvailablePaymentMethods](./magento-api.getavailablepaymentmethods.md) | |
-| [getAvailableShippingMethods](./magento-api.getavailableshippingmethods.md) | |
-| [getCustomerAddresses](./magento-api.getcustomeraddresses.md) | |
-| [mergeCarts](./magento-api.mergecarts.md) | |
-| [placeOrder](./magento-api.placeorder.md) | |
-| [productDetail](./magento-api.productdetail.md) | |
-| [productReview](./magento-api.productreview.md) | |
-| [productReviewRatingsMetadata](./magento-api.productreviewratingsmetadata.md) | |
-| [products](./magento-api.products.md) | |
-| [relatedProduct](./magento-api.relatedproduct.md) | |
-| [removeCouponFromCart](./magento-api.removecouponfromcart.md) | |
-| [removeItemFromCart](./magento-api.removeitemfromcart.md) | |
-| [removeProductsFromWishlist](./magento-api.removeproductsfromwishlist.md) | |
-| [requestPasswordResetEmail](./magento-api.requestpasswordresetemail.md) | |
-| [resetPassword](./magento-api.resetpassword.md) | |
-| [revokeCustomerToken](./magento-api.revokecustomertoken.md) | |
-| [setBillingAddressOnCart](./magento-api.setbillingaddressoncart.md) | |
-| [setGuestEmailOnCart](./magento-api.setguestemailoncart.md) | |
-| [setPaymentMethodOnCart](./magento-api.setpaymentmethodoncart.md) | |
-| [setShippingAddressesOnCart](./magento-api.setshippingaddressesoncart.md) | |
-| [setShippingMethodsOnCart](./magento-api.setshippingmethodsoncart.md) | |
-| [storeConfig](./magento-api.storeconfig.md) | |
-| [subscribeEmailToNewsletter](./magento-api.subscribeemailtonewsletter.md) | |
-| [updateCartItems](./magento-api.updatecartitems.md) | |
-| [updateCustomer](./magento-api.updatecustomer.md) | |
-| [updateCustomerAddress](./magento-api.updatecustomeraddress.md) | |
-| [updateCustomerEmail](./magento-api.updatecustomeremail.md) | |
-| [upsellProduct](./magento-api.upsellproduct.md) | |
-| [urlResolver](./magento-api.urlresolver.md) | |
-| [wishlist](./magento-api.wishlist.md) | |
-| [wishlistItemsCount](./magento-api.wishlistitemscount.md) | |
-
diff --git a/docs/api-reference/magento-api.mergecarts.md b/docs/api-reference/magento-api.mergecarts.md
deleted file mode 100644
index 4a7cccbd5..000000000
--- a/docs/api-reference/magento-api.mergecarts.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [mergeCarts](./magento-api.mergecarts.md)
-
-## mergeCarts variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- sourceCartId: string;
- destinationCartId: string;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.placeorder.md b/docs/api-reference/magento-api.placeorder.md
deleted file mode 100644
index f8d0dd5e7..000000000
--- a/docs/api-reference/magento-api.placeorder.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [placeOrder](./magento-api.placeorder.md)
-
-## placeOrder variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: PlaceOrderInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.productdetail.md b/docs/api-reference/magento-api.productdetail.md
deleted file mode 100644
index 57dee5259..000000000
--- a/docs/api-reference/magento-api.productdetail.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productDetail](./magento-api.productdetail.md)
-
-## productDetail variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.productreview.md b/docs/api-reference/magento-api.productreview.md
deleted file mode 100644
index 8d1612a10..000000000
--- a/docs/api-reference/magento-api.productreview.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productReview](./magento-api.productreview.md)
-
-## productReview variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.productreviewratingsmetadata.md b/docs/api-reference/magento-api.productreviewratingsmetadata.md
deleted file mode 100644
index 2cd8626c7..000000000
--- a/docs/api-reference/magento-api.productreviewratingsmetadata.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [productReviewRatingsMetadata](./magento-api.productreviewratingsmetadata.md)
-
-## productReviewRatingsMetadata variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.products.md b/docs/api-reference/magento-api.products.md
deleted file mode 100644
index e3da94362..000000000
--- a/docs/api-reference/magento-api.products.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [products](./magento-api.products.md)
-
-## products variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.relatedproduct.md b/docs/api-reference/magento-api.relatedproduct.md
deleted file mode 100644
index 3a3f613c2..000000000
--- a/docs/api-reference/magento-api.relatedproduct.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [relatedProduct](./magento-api.relatedproduct.md)
-
-## relatedProduct variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.removecouponfromcart.md b/docs/api-reference/magento-api.removecouponfromcart.md
deleted file mode 100644
index 2b54f05c7..000000000
--- a/docs/api-reference/magento-api.removecouponfromcart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeCouponFromCart](./magento-api.removecouponfromcart.md)
-
-## removeCouponFromCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: RemoveCouponFromCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.removeitemfromcart.md b/docs/api-reference/magento-api.removeitemfromcart.md
deleted file mode 100644
index 814b05896..000000000
--- a/docs/api-reference/magento-api.removeitemfromcart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeItemFromCart](./magento-api.removeitemfromcart.md)
-
-## removeItemFromCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: RemoveItemFromCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.removeproductsfromwishlist.md b/docs/api-reference/magento-api.removeproductsfromwishlist.md
deleted file mode 100644
index 90841a670..000000000
--- a/docs/api-reference/magento-api.removeproductsfromwishlist.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [removeProductsFromWishlist](./magento-api.removeproductsfromwishlist.md)
-
-## removeProductsFromWishlist variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: RemoveProductsFromWishlistMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.requestpasswordresetemail.md b/docs/api-reference/magento-api.requestpasswordresetemail.md
deleted file mode 100644
index 905c371c0..000000000
--- a/docs/api-reference/magento-api.requestpasswordresetemail.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [requestPasswordResetEmail](./magento-api.requestpasswordresetemail.md)
-
-## requestPasswordResetEmail variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: RequestPasswordResetEmailMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.resetpassword.md b/docs/api-reference/magento-api.resetpassword.md
deleted file mode 100644
index 65e8ba8b2..000000000
--- a/docs/api-reference/magento-api.resetpassword.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [resetPassword](./magento-api.resetpassword.md)
-
-## resetPassword variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: ResetPasswordMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.revokecustomertoken.md b/docs/api-reference/magento-api.revokecustomertoken.md
deleted file mode 100644
index f8d703610..000000000
--- a/docs/api-reference/magento-api.revokecustomertoken.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [revokeCustomerToken](./magento-api.revokecustomertoken.md)
-
-## revokeCustomerToken variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.setbillingaddressoncart.md b/docs/api-reference/magento-api.setbillingaddressoncart.md
deleted file mode 100644
index 84ebb1b2a..000000000
--- a/docs/api-reference/magento-api.setbillingaddressoncart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setBillingAddressOnCart](./magento-api.setbillingaddressoncart.md)
-
-## setBillingAddressOnCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: SetBillingAddressOnCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.setguestemailoncart.md b/docs/api-reference/magento-api.setguestemailoncart.md
deleted file mode 100644
index a567c7daf..000000000
--- a/docs/api-reference/magento-api.setguestemailoncart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setGuestEmailOnCart](./magento-api.setguestemailoncart.md)
-
-## setGuestEmailOnCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: SetGuestEmailOnCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.setpaymentmethodoncart.md b/docs/api-reference/magento-api.setpaymentmethodoncart.md
deleted file mode 100644
index 3e268c12d..000000000
--- a/docs/api-reference/magento-api.setpaymentmethodoncart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setPaymentMethodOnCart](./magento-api.setpaymentmethodoncart.md)
-
-## setPaymentMethodOnCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: SetPaymentMethodOnCartInputs, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.setshippingaddressesoncart.md b/docs/api-reference/magento-api.setshippingaddressesoncart.md
deleted file mode 100644
index 54ac98537..000000000
--- a/docs/api-reference/magento-api.setshippingaddressesoncart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setShippingAddressesOnCart](./magento-api.setshippingaddressesoncart.md)
-
-## setShippingAddressesOnCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: SetShippingAddressesOnCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.setshippingmethodsoncart.md b/docs/api-reference/magento-api.setshippingmethodsoncart.md
deleted file mode 100644
index 867f1d20e..000000000
--- a/docs/api-reference/magento-api.setshippingmethodsoncart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [setShippingMethodsOnCart](./magento-api.setshippingmethodsoncart.md)
-
-## setShippingMethodsOnCart variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: SetShippingMethodsOnCartInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.storeconfig.md b/docs/api-reference/magento-api.storeconfig.md
deleted file mode 100644
index 28c53c7c1..000000000
--- a/docs/api-reference/magento-api.storeconfig.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [storeConfig](./magento-api.storeconfig.md)
-
-## storeConfig variable
-
-Signature:
-
-```typescript
-_default: (context: Context, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.subscribeemailtonewsletter.md b/docs/api-reference/magento-api.subscribeemailtonewsletter.md
deleted file mode 100644
index a93032786..000000000
--- a/docs/api-reference/magento-api.subscribeemailtonewsletter.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [subscribeEmailToNewsletter](./magento-api.subscribeemailtonewsletter.md)
-
-## subscribeEmailToNewsletter variable
-
-Signature:
-
-```typescript
-_default: (context: Context, { email }: SubscribeEmailToNewsletterMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.updatecartitems.md b/docs/api-reference/magento-api.updatecartitems.md
deleted file mode 100644
index 4d11ab05e..000000000
--- a/docs/api-reference/magento-api.updatecartitems.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCartItems](./magento-api.updatecartitems.md)
-
-## updateCartItems variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: UpdateCartItemsInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.updatecustomer.md b/docs/api-reference/magento-api.updatecustomer.md
deleted file mode 100644
index 6289cca20..000000000
--- a/docs/api-reference/magento-api.updatecustomer.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomer](./magento-api.updatecustomer.md)
-
-## updateCustomer variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: CustomerUpdateInput, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.updatecustomeraddress.md b/docs/api-reference/magento-api.updatecustomeraddress.md
deleted file mode 100644
index c85e1efba..000000000
--- a/docs/api-reference/magento-api.updatecustomeraddress.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomerAddress](./magento-api.updatecustomeraddress.md)
-
-## updateCustomerAddress variable
-
-Signature:
-
-```typescript
-_default: (context: Context, params: {
- addressId: number;
- input: CustomerAddressInput;
-}, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.updatecustomeremail.md b/docs/api-reference/magento-api.updatecustomeremail.md
deleted file mode 100644
index 5e98bb056..000000000
--- a/docs/api-reference/magento-api.updatecustomeremail.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [updateCustomerEmail](./magento-api.updatecustomeremail.md)
-
-## updateCustomerEmail variable
-
-Signature:
-
-```typescript
-_default: (context: Context, input: UpdateCustomerEmailMutationVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.upsellproduct.md b/docs/api-reference/magento-api.upsellproduct.md
deleted file mode 100644
index fd7afdf32..000000000
--- a/docs/api-reference/magento-api.upsellproduct.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [upsellProduct](./magento-api.upsellproduct.md)
-
-## upsellProduct variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams?: GetProductSearchParams, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.urlresolver.md b/docs/api-reference/magento-api.urlresolver.md
deleted file mode 100644
index 6f25b5ad7..000000000
--- a/docs/api-reference/magento-api.urlresolver.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [urlResolver](./magento-api.urlresolver.md)
-
-## urlResolver variable
-
-Signature:
-
-```typescript
-_default: (context: Context, url: string, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento-api.wishlist.md b/docs/api-reference/magento-api.wishlist.md
deleted file mode 100644
index 3426b85dc..000000000
--- a/docs/api-reference/magento-api.wishlist.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento-api](./magento-api.md) > [wishlist](./magento-api.wishlist.md)
-
-## wishlist variable
-
-Signature:
-
-```typescript
-_default: (context: Context, searchParams: WishlistQueryVariables, customQuery?: CustomQuery) => Promise>
-```
diff --git a/docs/api-reference/magento.addressgetter.md b/docs/api-reference/magento.addressgetter.md
deleted file mode 100644
index c430efc28..000000000
--- a/docs/api-reference/magento.addressgetter.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [addressGetter](./magento.addressgetter.md)
-
-## addressGetter variable
-
-Signature:
-
-```typescript
-_default: AddressGetter
-```
diff --git a/docs/api-reference/magento.cartgetters.md b/docs/api-reference/magento.cartgetters.md
deleted file mode 100644
index e12b22a67..000000000
--- a/docs/api-reference/magento.cartgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [cartGetters](./magento.cartgetters.md)
-
-## cartGetters variable
-
-Signature:
-
-```typescript
-cartGetters: CartGetters
-```
diff --git a/docs/api-reference/magento.categorygetters.md b/docs/api-reference/magento.categorygetters.md
deleted file mode 100644
index 17f141718..000000000
--- a/docs/api-reference/magento.categorygetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [categoryGetters](./magento.categorygetters.md)
-
-## categoryGetters variable
-
-Signature:
-
-```typescript
-categoryGetters: CategoryGetters
-```
diff --git a/docs/api-reference/magento.checkoutgetters.md b/docs/api-reference/magento.checkoutgetters.md
deleted file mode 100644
index ffc750bd1..000000000
--- a/docs/api-reference/magento.checkoutgetters.md
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [checkoutGetters](./magento.checkoutgetters.md)
-
-## checkoutGetters variable
-
-Signature:
-
-```typescript
-checkoutGetters: {
- getShippingMethodId: (shippingMethod: ShippingMethod) => string;
- getShippingMethodName: (shippingMethod: ShippingMethod) => string;
- getShippingMethodDescription: (shippingMethod: ShippingMethod) => string;
- getFormattedPrice: (price: number) => string;
- getShippingMethodPrice: (shippingMethod: ShippingMethod) => number;
-}
-```
diff --git a/docs/api-reference/magento.extendscopecontext.md b/docs/api-reference/magento.extendscopecontext.md
deleted file mode 100644
index d48174f77..000000000
--- a/docs/api-reference/magento.extendscopecontext.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [extendScopeContext](./magento.extendscopecontext.md)
-
-## extendScopeContext variable
-
-Signature:
-
-```typescript
-extendScopeContext: (scope: EffectScope, app: NuxtAppOptions) => void
-```
diff --git a/docs/api-reference/magento.facetgetters.md b/docs/api-reference/magento.facetgetters.md
deleted file mode 100644
index ec625c279..000000000
--- a/docs/api-reference/magento.facetgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [facetGetters](./magento.facetgetters.md)
-
-## facetGetters variable
-
-Signature:
-
-```typescript
-facetGetters: FacetsGetters
-```
diff --git a/docs/api-reference/magento.forgotpasswordgetters.md b/docs/api-reference/magento.forgotpasswordgetters.md
deleted file mode 100644
index 6c3bceb61..000000000
--- a/docs/api-reference/magento.forgotpasswordgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [forgotPasswordGetters](./magento.forgotpasswordgetters.md)
-
-## forgotPasswordGetters variable
-
-Signature:
-
-```typescript
-forgotPasswordGetters: ForgotPasswordGetters
-```
diff --git a/docs/api-reference/magento.md b/docs/api-reference/magento.md
deleted file mode 100644
index cfc052bdc..000000000
--- a/docs/api-reference/magento.md
+++ /dev/null
@@ -1,66 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md)
-
-## magento package
-
-## Variables
-
-| Variable | Description |
-| --- | --- |
-| [addressGetter](./magento.addressgetter.md) | |
-| [cartGetters](./magento.cartgetters.md) | |
-| [categoryGetters](./magento.categorygetters.md) | |
-| [checkoutGetters](./magento.checkoutgetters.md) | |
-| [extendScopeContext](./magento.extendscopecontext.md) | |
-| [facetGetters](./magento.facetgetters.md) | |
-| [forgotPasswordGetters](./magento.forgotpasswordgetters.md) | |
-| [orderGetters](./magento.ordergetters.md) | |
-| [productGetters](./magento.productgetters.md) | |
-| [reviewGetters](./magento.reviewgetters.md) | |
-| [storeConfigGetters](./magento.storeconfiggetters.md) | |
-| [storeGetters](./magento.storegetters.md) | |
-| [useAddresses](./magento.useaddresses.md) | |
-| [useBilling](./magento.usebilling.md) | |
-| [useCart](./magento.usecart.md) | |
-| [useCategory](./magento.usecategory.md) | |
-| [useCategorySearch](./magento.usecategorysearch.md) | |
-| [useConfig](./magento.useconfig.md) | |
-| [useContent](./magento.usecontent.md) | |
-| [useCountrySearch](./magento.usecountrysearch.md) | |
-| [useCurrency](./magento.usecurrency.md) | |
-| [useCustomMutation](./magento.usecustommutation.md) | |
-| [useCustomQuery](./magento.usecustomquery.md) | |
-| [useExternalCheckout](./magento.useexternalcheckout.md) | |
-| [useFacet](./magento.usefacet.md) | |
-| [useForgotPassword](./magento.useforgotpassword.md) | |
-| [useGetShippingMethods](./magento.usegetshippingmethods.md) | |
-| [useGuestUser](./magento.useguestuser.md) | |
-| [useMakeOrder](./magento.usemakeorder.md) | |
-| [useNewsletter](./magento.usenewsletter.md) | |
-| [usePaymentProvider](./magento.usepaymentprovider.md) | |
-| [useProduct](./magento.useproduct.md) | |
-| [userAddressesGetters](./magento.useraddressesgetters.md) | |
-| [userBillingGetters](./magento.userbillinggetters.md) | |
-| [useRelatedProducts](./magento.userelatedproducts.md) | |
-| [useReview](./magento.usereview.md) | |
-| [userGetters](./magento.usergetters.md) | |
-| [userShippingGetters](./magento.usershippinggetters.md) | |
-| [useShipping](./magento.useshipping.md) | |
-| [useShippingProvider](./magento.useshippingprovider.md) | |
-| [useStore](./magento.usestore.md) | |
-| [useUpsellProducts](./magento.useupsellproducts.md) | |
-| [useUrlResolver](./magento.useurlresolver.md) | |
-| [useUser](./magento.useuser.md) | |
-| [useUserBilling](./magento.useuserbilling.md) | |
-| [useUserOrder](./magento.useuserorder.md) | |
-| [useUserShipping](./magento.useusershipping.md) | |
-| [useWishlist](./magento.usewishlist.md) | |
-| [wishlistGetters](./magento.wishlistgetters.md) | |
-
-## Type Aliases
-
-| Type Alias | Description |
-| --- | --- |
-| [WishlistProduct](./magento.wishlistproduct.md) | |
-
diff --git a/docs/api-reference/magento.ordergetters.md b/docs/api-reference/magento.ordergetters.md
deleted file mode 100644
index 1a1c42776..000000000
--- a/docs/api-reference/magento.ordergetters.md
+++ /dev/null
@@ -1,23 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [orderGetters](./magento.ordergetters.md)
-
-## orderGetters variable
-
-Signature:
-
-```typescript
-orderGetters: {
- getDate: (order: any) => string;
- getId: (order: any) => string;
- getStatus: (order: any) => string;
- getPrice: (order: any) => number | null;
- getItems: (order: any) => any[];
- getItemSku: (item: any) => string;
- getItemName: (item: any) => string;
- getItemQty: (item: any) => number;
- getItemPrice: (item: any) => number;
- getFormattedPrice: (price: number) => string;
- getPagination: (orders: any) => AgnosticPagination;
-}
-```
diff --git a/docs/api-reference/magento.productgetters.md b/docs/api-reference/magento.productgetters.md
deleted file mode 100644
index 25ffbc78a..000000000
--- a/docs/api-reference/magento.productgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [productGetters](./magento.productgetters.md)
-
-## productGetters variable
-
-Signature:
-
-```typescript
-productGetters: ProductGetters
-```
diff --git a/docs/api-reference/magento.reviewgetters.md b/docs/api-reference/magento.reviewgetters.md
deleted file mode 100644
index 13432a476..000000000
--- a/docs/api-reference/magento.reviewgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [reviewGetters](./magento.reviewgetters.md)
-
-## reviewGetters variable
-
-Signature:
-
-```typescript
-reviewGetters: MagentoReviewGetters
-```
diff --git a/docs/api-reference/magento.storeconfiggetters.md b/docs/api-reference/magento.storeconfiggetters.md
deleted file mode 100644
index 330fdddbd..000000000
--- a/docs/api-reference/magento.storeconfiggetters.md
+++ /dev/null
@@ -1,24 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [storeConfigGetters](./magento.storeconfiggetters.md)
-
-## storeConfigGetters variable
-
-Signature:
-
-```typescript
-storeConfigGetters: {
- getCode: (config: StoreConfig) => string;
- getTitle: (config: StoreConfig) => string;
- getName: (config: StoreConfig) => string;
- getCurrency: (config: StoreConfig) => string;
- getLocale: (config: StoreConfig) => string;
- allowGuestProductReview: (config: StoreConfig) => string;
- enabledWishlist: (config: StoreConfig) => string;
- getBaseMediaUrl: (config: StoreConfig) => string;
- getLogoSrc: (config: StoreConfig) => string;
- getLogoWidth: (config: StoreConfig) => number;
- getLogoHeight: (config: StoreConfig) => number;
- getLogoAlt: (config: StoreConfig) => string;
-}
-```
diff --git a/docs/api-reference/magento.storegetters.md b/docs/api-reference/magento.storegetters.md
deleted file mode 100644
index 2bcceb195..000000000
--- a/docs/api-reference/magento.storegetters.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [storeGetters](./magento.storegetters.md)
-
-## storeGetters variable
-
-Signature:
-
-```typescript
-storeGetters: {
- getItems: typeof getItems;
- getSelected: typeof getSelected;
-}
-```
diff --git a/docs/api-reference/magento.useaddresses.md b/docs/api-reference/magento.useaddresses.md
deleted file mode 100644
index 68b93915b..000000000
--- a/docs/api-reference/magento.useaddresses.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useAddresses](./magento.useaddresses.md)
-
-## useAddresses variable
-
-Signature:
-
-```typescript
-_default: () => import("../../types/composables").UseAddresses
-```
diff --git a/docs/api-reference/magento.usebilling.md b/docs/api-reference/magento.usebilling.md
deleted file mode 100644
index 31fd5f80e..000000000
--- a/docs/api-reference/magento.usebilling.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useBilling](./magento.usebilling.md)
-
-## useBilling variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseBilling
-```
diff --git a/docs/api-reference/magento.usecart.md b/docs/api-reference/magento.usecart.md
deleted file mode 100644
index 90ec30f88..000000000
--- a/docs/api-reference/magento.usecart.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCart](./magento.usecart.md)
-
-## useCart variable
-
-Signature:
-
-```typescript
-_default: () => import("../../factories/useCartFactory").UseCart
-```
diff --git a/docs/api-reference/magento.usecategory.md b/docs/api-reference/magento.usecategory.md
deleted file mode 100644
index ec7e19664..000000000
--- a/docs/api-reference/magento.usecategory.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCategory](./magento.usecategory.md)
-
-## useCategory variable
-
-Signature:
-
-```typescript
-_default: (id: string) => import("@vue-storefront/core").UseCategory, any>
-```
diff --git a/docs/api-reference/magento.usecategorysearch.md b/docs/api-reference/magento.usecategorysearch.md
deleted file mode 100644
index 4d60f3d06..000000000
--- a/docs/api-reference/magento.usecategorysearch.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCategorySearch](./magento.usecategorysearch.md)
-
-## useCategorySearch variable
-
-Signature:
-
-```typescript
-useCategorySearch: (cacheId?: string) => UseCategorySearch
-```
diff --git a/docs/api-reference/magento.useconfig.md b/docs/api-reference/magento.useconfig.md
deleted file mode 100644
index e11314523..000000000
--- a/docs/api-reference/magento.useconfig.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useConfig](./magento.useconfig.md)
-
-## useConfig variable
-
-Signature:
-
-```typescript
-useConfig: (cacheId?: string) => UseConfig
-```
diff --git a/docs/api-reference/magento.usecontent.md b/docs/api-reference/magento.usecontent.md
deleted file mode 100644
index 817ec31df..000000000
--- a/docs/api-reference/magento.usecontent.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useContent](./magento.usecontent.md)
-
-## useContent variable
-
-Signature:
-
-```typescript
-_default: (ssrKey?: string) => import("../../types/composables").UseContent
-```
diff --git a/docs/api-reference/magento.usecountrysearch.md b/docs/api-reference/magento.usecountrysearch.md
deleted file mode 100644
index 5c3da0660..000000000
--- a/docs/api-reference/magento.usecountrysearch.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCountrySearch](./magento.usecountrysearch.md)
-
-## useCountrySearch variable
-
-Signature:
-
-```typescript
-useCountrySearch: (cacheId?: string) => UseCountrySearch
-```
diff --git a/docs/api-reference/magento.usecurrency.md b/docs/api-reference/magento.usecurrency.md
deleted file mode 100644
index 9f059eac5..000000000
--- a/docs/api-reference/magento.usecurrency.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCurrency](./magento.usecurrency.md)
-
-## useCurrency variable
-
-Signature:
-
-```typescript
-useCurrency: () => UseCurrency
-```
diff --git a/docs/api-reference/magento.usecustommutation.md b/docs/api-reference/magento.usecustommutation.md
deleted file mode 100644
index b17e7e42d..000000000
--- a/docs/api-reference/magento.usecustommutation.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCustomMutation](./magento.usecustommutation.md)
-
-## useCustomMutation variable
-
-Signature:
-
-```typescript
-_default: (ssrKey?: string) => import("../../types/composables").UseCustomMutation, Record>, any>
-```
diff --git a/docs/api-reference/magento.usecustomquery.md b/docs/api-reference/magento.usecustomquery.md
deleted file mode 100644
index 9388a68c5..000000000
--- a/docs/api-reference/magento.usecustomquery.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useCustomQuery](./magento.usecustomquery.md)
-
-## useCustomQuery variable
-
-Signature:
-
-```typescript
-_default: (ssrKey?: string) => import("../../types/composables").UseCustomQuery, any>
-```
diff --git a/docs/api-reference/magento.useexternalcheckout.md b/docs/api-reference/magento.useexternalcheckout.md
deleted file mode 100644
index 85e1d14c5..000000000
--- a/docs/api-reference/magento.useexternalcheckout.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useExternalCheckout](./magento.useexternalcheckout.md)
-
-## useExternalCheckout variable
-
-Signature:
-
-```typescript
-_default: (ssrKey?: string) => import("../../types/composables").UseExternalCheckout
-```
diff --git a/docs/api-reference/magento.usefacet.md b/docs/api-reference/magento.usefacet.md
deleted file mode 100644
index a16080f29..000000000
--- a/docs/api-reference/magento.usefacet.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useFacet](./magento.usefacet.md)
-
-## useFacet variable
-
-Signature:
-
-```typescript
-_default: (id?: string) => import("@vue-storefront/core").UseFacet
-```
diff --git a/docs/api-reference/magento.useforgotpassword.md b/docs/api-reference/magento.useforgotpassword.md
deleted file mode 100644
index 2cee23001..000000000
--- a/docs/api-reference/magento.useforgotpassword.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useForgotPassword](./magento.useforgotpassword.md)
-
-## useForgotPassword variable
-
-Signature:
-
-```typescript
-useForgotPassword: () => import("@vue-storefront/core").UseForgotPassword
-```
diff --git a/docs/api-reference/magento.usegetshippingmethods.md b/docs/api-reference/magento.usegetshippingmethods.md
deleted file mode 100644
index 9a98d2822..000000000
--- a/docs/api-reference/magento.usegetshippingmethods.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useGetShippingMethods](./magento.usegetshippingmethods.md)
-
-## useGetShippingMethods variable
-
-Signature:
-
-```typescript
-useGetShippingMethods: (cacheId?: string) => UseGetShippingMethods
-```
diff --git a/docs/api-reference/magento.useguestuser.md b/docs/api-reference/magento.useguestuser.md
deleted file mode 100644
index bf429d205..000000000
--- a/docs/api-reference/magento.useguestuser.md
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useGuestUser](./magento.useguestuser.md)
-
-## useGuestUser variable
-
-Signature:
-
-```typescript
-_default: () => import("../../types/composables").UseGuestUser
-```
diff --git a/docs/api-reference/magento.usemakeorder.md b/docs/api-reference/magento.usemakeorder.md
deleted file mode 100644
index 45cae2d45..000000000
--- a/docs/api-reference/magento.usemakeorder.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useMakeOrder](./magento.usemakeorder.md)
-
-## useMakeOrder variable
-
-Signature:
-
-```typescript
-useMakeOrder: () => UseMakeOrder
-```
diff --git a/docs/api-reference/magento.usenewsletter.md b/docs/api-reference/magento.usenewsletter.md
deleted file mode 100644
index 9761b9a2c..000000000
--- a/docs/api-reference/magento.usenewsletter.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useNewsletter](./magento.usenewsletter.md)
-
-## useNewsletter variable
-
-Signature:
-
-```typescript
-_default: () => import("../../types/composables").UseNewsletter
-```
diff --git a/docs/api-reference/magento.usepaymentprovider.md b/docs/api-reference/magento.usepaymentprovider.md
deleted file mode 100644
index 4df5f331d..000000000
--- a/docs/api-reference/magento.usepaymentprovider.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [usePaymentProvider](./magento.usepaymentprovider.md)
-
-## usePaymentProvider variable
-
-Signature:
-
-```typescript
-_default: () => import("../../types/composables").UsePaymentProvider
-```
diff --git a/docs/api-reference/magento.useproduct.md b/docs/api-reference/magento.useproduct.md
deleted file mode 100644
index 1dbad2b2d..000000000
--- a/docs/api-reference/magento.useproduct.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useProduct](./magento.useproduct.md)
-
-## useProduct variable
-
-Signature:
-
-```typescript
-useProduct: (cacheId?: string) => UseProduct
-```
diff --git a/docs/api-reference/magento.useraddressesgetters.md b/docs/api-reference/magento.useraddressesgetters.md
deleted file mode 100644
index ede441886..000000000
--- a/docs/api-reference/magento.useraddressesgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userAddressesGetters](./magento.useraddressesgetters.md)
-
-## userAddressesGetters variable
-
-Signature:
-
-```typescript
-userAddressesGetters: UserAddressesGetters
-```
diff --git a/docs/api-reference/magento.userbillinggetters.md b/docs/api-reference/magento.userbillinggetters.md
deleted file mode 100644
index 4d32a815e..000000000
--- a/docs/api-reference/magento.userbillinggetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userBillingGetters](./magento.userbillinggetters.md)
-
-## userBillingGetters variable
-
-Signature:
-
-```typescript
-userBillingGetters: UserBillingGetters
-```
diff --git a/docs/api-reference/magento.userelatedproducts.md b/docs/api-reference/magento.userelatedproducts.md
deleted file mode 100644
index c7747afe1..000000000
--- a/docs/api-reference/magento.userelatedproducts.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useRelatedProducts](./magento.userelatedproducts.md)
-
-## useRelatedProducts variable
-
-Signature:
-
-```typescript
-useRelatedProducts: (cacheId?: string) => UseRelatedProducts
-```
diff --git a/docs/api-reference/magento.usereview.md b/docs/api-reference/magento.usereview.md
deleted file mode 100644
index e5caf33b3..000000000
--- a/docs/api-reference/magento.usereview.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useReview](./magento.usereview.md)
-
-## useReview variable
-
-Signature:
-
-```typescript
-_default: (id: string) => import("../../types/composables").UseReview, ComposableFunctionArgs, CreateProductReviewInput, ProductReviewRatingMetadata, any>
-```
diff --git a/docs/api-reference/magento.usergetters.md b/docs/api-reference/magento.usergetters.md
deleted file mode 100644
index 44e4681e3..000000000
--- a/docs/api-reference/magento.usergetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userGetters](./magento.usergetters.md)
-
-## userGetters variable
-
-Signature:
-
-```typescript
-userGetters: BaseUserGetters
-```
diff --git a/docs/api-reference/magento.usershippinggetters.md b/docs/api-reference/magento.usershippinggetters.md
deleted file mode 100644
index f997a1dd2..000000000
--- a/docs/api-reference/magento.usershippinggetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [userShippingGetters](./magento.usershippinggetters.md)
-
-## userShippingGetters variable
-
-Signature:
-
-```typescript
-userShippingGetters: UserShippingGetters
-```
diff --git a/docs/api-reference/magento.useshipping.md b/docs/api-reference/magento.useshipping.md
deleted file mode 100644
index 32917d2c5..000000000
--- a/docs/api-reference/magento.useshipping.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useShipping](./magento.useshipping.md)
-
-## useShipping variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseShipping
-```
diff --git a/docs/api-reference/magento.useshippingprovider.md b/docs/api-reference/magento.useshippingprovider.md
deleted file mode 100644
index d60d4c7c7..000000000
--- a/docs/api-reference/magento.useshippingprovider.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useShippingProvider](./magento.useshippingprovider.md)
-
-## useShippingProvider variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseShippingProvider
-```
diff --git a/docs/api-reference/magento.usestore.md b/docs/api-reference/magento.usestore.md
deleted file mode 100644
index 083842f2c..000000000
--- a/docs/api-reference/magento.usestore.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useStore](./magento.usestore.md)
-
-## useStore variable
-
-Signature:
-
-```typescript
-useStore: () => UseStore
-```
diff --git a/docs/api-reference/magento.useupsellproducts.md b/docs/api-reference/magento.useupsellproducts.md
deleted file mode 100644
index 065ef598b..000000000
--- a/docs/api-reference/magento.useupsellproducts.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUpsellProducts](./magento.useupsellproducts.md)
-
-## useUpsellProducts variable
-
-Signature:
-
-```typescript
-useUpsellProducts: (cacheId?: string) => UseUpsellProducts
-```
diff --git a/docs/api-reference/magento.useurlresolver.md b/docs/api-reference/magento.useurlresolver.md
deleted file mode 100644
index 9932d614c..000000000
--- a/docs/api-reference/magento.useurlresolver.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUrlResolver](./magento.useurlresolver.md)
-
-## useUrlResolver variable
-
-Signature:
-
-```typescript
-useUrlResolver: (cacheId?: string) => UseUrlResolver
-```
diff --git a/docs/api-reference/magento.useuser.md b/docs/api-reference/magento.useuser.md
deleted file mode 100644
index c876821f9..000000000
--- a/docs/api-reference/magento.useuser.md
+++ /dev/null
@@ -1,15 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUser](./magento.useuser.md)
-
-## useUser variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseUser, any>
-```
diff --git a/docs/api-reference/magento.useuserbilling.md b/docs/api-reference/magento.useuserbilling.md
deleted file mode 100644
index 1644b2ffe..000000000
--- a/docs/api-reference/magento.useuserbilling.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserBilling](./magento.useuserbilling.md)
-
-## useUserBilling variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseUserBilling
-```
diff --git a/docs/api-reference/magento.useuserorder.md b/docs/api-reference/magento.useuserorder.md
deleted file mode 100644
index 064427798..000000000
--- a/docs/api-reference/magento.useuserorder.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserOrder](./magento.useuserorder.md)
-
-## useUserOrder variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseUserOrder
-```
diff --git a/docs/api-reference/magento.useusershipping.md b/docs/api-reference/magento.useusershipping.md
deleted file mode 100644
index b9d129a5a..000000000
--- a/docs/api-reference/magento.useusershipping.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useUserShipping](./magento.useusershipping.md)
-
-## useUserShipping variable
-
-Signature:
-
-```typescript
-_default: () => import("@vue-storefront/core").UseUserShipping
-```
diff --git a/docs/api-reference/magento.usewishlist.md b/docs/api-reference/magento.usewishlist.md
deleted file mode 100644
index cc5579f85..000000000
--- a/docs/api-reference/magento.usewishlist.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [useWishlist](./magento.usewishlist.md)
-
-## useWishlist variable
-
-Signature:
-
-```typescript
-_default: (ssrKey?: string) => import("../../types/composables").UseWishlist
-```
diff --git a/docs/api-reference/magento.wishlistgetters.md b/docs/api-reference/magento.wishlistgetters.md
deleted file mode 100644
index 003fc1267..000000000
--- a/docs/api-reference/magento.wishlistgetters.md
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [wishlistGetters](./magento.wishlistgetters.md)
-
-## wishlistGetters variable
-
-Signature:
-
-```typescript
-wishlistGetters: WishlistGetters
-```
diff --git a/docs/api-reference/magento.wishlistproduct.md b/docs/api-reference/magento.wishlistproduct.md
deleted file mode 100644
index f189919f8..000000000
--- a/docs/api-reference/magento.wishlistproduct.md
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-[Home](./index.md) > [@vue-storefront/magento](./magento.md) > [WishlistProduct](./magento.wishlistproduct.md)
-
-## WishlistProduct type
-
-Signature:
-
-```typescript
-export declare type WishlistProduct = WishlistQuery['customer']['wishlists'][0]['items_v2']['items'][0] & {
- variant: any;
-};
-```
diff --git a/docs/guide/api-client/reference.md b/docs/guide/api-client/reference.md
new file mode 100644
index 000000000..d95cb5d59
--- /dev/null
+++ b/docs/guide/api-client/reference.md
@@ -0,0 +1,13 @@
+# Api methods
+
+## cmsBlocks
+
+The cmsBlocks API method allows loading information about CMS blocks.
+
+[The cmsBlocks API method reference](/api-reference/magento-api.cmsblocks.html)
+
+## cmsPage
+
+The cmsPage API method allows loading information about CMS page.
+
+[The cmsPage API method reference](/api-reference/magento-api.cmspage.html)
diff --git a/docs/guide/composables/use-addresses.md b/docs/guide/composables/use-addresses.md
deleted file mode 100644
index 5f5662cc5..000000000
--- a/docs/guide/composables/use-addresses.md
+++ /dev/null
@@ -1,29 +0,0 @@
-# useAddresses
-
-`useAddresses`:
-
-## API
-```typescript
-export interface UseAddresses extends Composable {
- error: ComputedProperty;
- loading: ComputedProperty;
- addresses: ComputedProperty;
- load: (loadParams?: LOAD_ADDRESS_PARAMS) => Promise,
- save: (saveParams: SAVE_ADDRESS_PARAMS) => Promise,
- remove: (removeParams: REMOVE_ADDRESS_PARAMS) => Promise,
- update: (updateParams: UPDATE_ADDRESS_PARAMS) => Promise,
-}
-```
-
-* `` -
-
-## Example
-
-```javascript
-```
diff --git a/docs/guide/composables/use-billing.md b/docs/guide/composables/use-billing.md
deleted file mode 100644
index ccf376c73..000000000
--- a/docs/guide/composables/use-billing.md
+++ /dev/null
@@ -1,113 +0,0 @@
-# useBilling
-
-## Features
-`useBilling` composable can be used to:
-* fetch existing billing addresses,
-* submit new billing addresses,
-* modify and delete existing billing addresses.
-
-## API
-
-### `load`
-Function that takes in `CustomQuery` as optional params and gets the `billing` accordingly
-
-### `billing`
-Returns `billing` as a `computed` property
-```typescript
-// packages/composables/src/composables/useBilling/index.ts
-export default useBillingFactory(factoryParams);
-
-// packages/api-client/src/types/GraphQL.ts
-interface BillingCartAddress {
- city: Scalars['String'];
- company?: Maybe;
- country: CartAddressCountry;
- firstname: Scalars['String'];
- lastname: Scalars['String'];
- postcode?: Maybe;
- region?: Maybe;
- street: Array>;
- telephone: Scalars['String'];
-}
-```
-
-### `save`
-Saves new address
-
-### `loading`
-Returns the `loading` state of `search`
-
-### `error`
-reactive object containing the error message, if search failed for any reason.
-
-## Getters
-* `getAddresses` - returns list of billing addresses.
-* `getDefault` - returns a default billing address.
-* `getTotal` - returns total number of billing addresses user has.
-* `getId` - returns id from an individual address.
-* `getPostCode` - returns post code from an individual address.
-* `getStreetName` - returns street name from an individual address.
-* `getStreetNumber` - returns street number from an individual address.
-* `getCity` - returns city name from an individual address.
-* `getFirstName` - returns first name from an individual address.
-* `getLastName` - returns last name from an individual address.
-* `getCountry` - returns country name from an individual address.
-* `getPhone` - return phone number from an individual address.
-* `getEmail` - returns e-mail address from an individual address.
-* `getProvince` - returns province (state) from an individual address.
-* `getCompanyName` - returns company name from an individual address.
-* `getTaxNumber` - returns tax number from an individual address.
-* `getApartmentNumber` - returns apartment number from an individual address.
-* `isDefault` - return information if address is current default.
-
-```typescript
-interface UserBillingGetters {
- getAddresses: (billing, criteria?: Record) => any[];
- getDefault: (billing) => any;
- getTotal: (billing) => number;
- getPostCode: (address) => string;
- getStreetName: (address) => string;
- getStreetNumber: (address) => string | number;
- getCity: (address) => string;
- getFirstName: (address) => string;
- getLastName: (address) => string;
- getCountry: (address) => string;
- getPhone: (address) => string;
- getEmail: (address) => string;
- getProvince: (address) => string;
- getCompanyName: (address) => string;
- getTaxNumber: (address) => string;
- getId: (address) => string;
- getApartmentNumber: (address) => string | number;
- isDefault: (address) => boolean;
-}
-```
-
-## Example
-
-```javascript
-import { onSSR } from '@vue-storefront/core';
-import { useBilling, userBillingGetters } from '@vue-storefront/magento';
-
-export default {
- setup() {
- const {
- billing,
- load,
- addAddress,
- deleteAddress,
- updateAddress
- } = useBilling();
-
- // If you're using Nuxt or any other framework for Universal Vue apps
- onSSR(async () => {
- await load();
- });
-
- return {
- billing: computed(() => userBillingGetters.getAddresses(billing.value)),
- userBillingGetters
- };
- }
-};
-```
diff --git a/docs/guide/composables/use-cart.md b/docs/guide/composables/use-cart.md
deleted file mode 100644
index df12e35b3..000000000
--- a/docs/guide/composables/use-cart.md
+++ /dev/null
@@ -1,186 +0,0 @@
-# useCart
-
-## Features
-`useCart` composable can be used to:
-* load cart information,
-* add, update and remove items in the cart,
-* applying and removing coupons,
-* checking if product is already added to the cart.
-
-## API
-```typescript
-interface UseCart {
- cart: ComputedProperty;
- setCart(cart: Cart): void;
- addItem(params: {
- product: Product;
- quantity: number;
- customQuery?: CustomQuery;
- }): Promise;
- isInCart: ({ product: Product }: {
- product: any;
- }) => boolean;
- removeItem(params: {
- product: CartItem;
- customQuery?: CustomQuery;
- }): Promise;
- updateItemQty(params: {
- product: CartItem;
- quantity?: number;
- customQuery?: CustomQuery;
- }): Promise;
- clear(): Promise;
- applyCoupon(params: {
- couponCode: string;
- customQuery?: CustomQuery;
- }): Promise;
- removeCoupon(params: {
- coupon: Coupon;
- customQuery?: CustomQuery;
- }): Promise;
- load(): Promise;
- load(params: {
- customQuery?: CustomQuery;
- }): Promise;
- error: ComputedProperty;
- loading: ComputedProperty;
-}
-
-export interface Cart {
- /**
- * An array of coupons that have been applied to the cart
- * @deprecated Use applied_coupons instead
- */
- applied_coupon?: Maybe;
- /** An array of `AppliedCoupon` objects. Each object contains the `code` text attribute, which specifies the coupon code */
- applied_coupons?: Maybe>>;
- /** Available payment methods */
- available_payment_methods?: Maybe>>;
- billing_address?: Maybe;
- email?: Maybe;
- /** The entered gift message for the cart */
- gift_message?: Maybe;
- /** The unique ID for a `Cart` object */
- id: Scalars['ID'];
- is_virtual: Scalars['Boolean'];
- items?: Maybe>>;
- prices?: Maybe;
- selected_payment_method?: Maybe;
- shipping_addresses: Array>;
- total_quantity: Scalars['Float'];
-}
-
-export interface CartItem {
- prices?: Maybe;
- product: ProductInterface;
- quantity: Scalars['Float'];
- /** The unique ID for a `CartItemInterface` object */
- uid: Scalars['ID'];
-}
-
-export interface Coupon {
- code: Scalars['String'];
-}
-
-```
-> For more information on [Product interface](use-product) visit the dedicated documentation.
-
-
-### `cart`
-Returns the Items in the Cart as a `computed` property
-
-### `setCart`
-set new Cart
-
-### `addItem`
-Function that takes in a `product` and its `quantity` and adds it to the cart
-
-### `isInCart`
-Function that takes in a `product` and returns `true` or `false`
-
-### `removeItem`
-Function that takes in a `product` and removes it from the `cart`
-
-### `updateItemQty`
-Function that takes in a `product` and its new `quantaty` and updates it accordingly
-
-### `clear`
-Function that clears cart
-
-### `applyCoupon`
-Function that takes in a `coupon` and applies it to the cart
-
-### `removeCoupon`
-Function that removes all applied coupons
-
-### `load`
-Function that loads the current `cart`
-
-### `error`
-reactive object containing the error message, if some properties failed for any reason.
-
-### `loading`
-a reactive object containing information about loading state of the cart.
-
-
-## Getters
-
-````typescript
-interface CartGetters {
- getItems: (cart: Cart) => CartItem[];
- getItemName: (cartItem: CartItem) => string;
- getItemImage: (cartItem: CartItem) => string;
- getItemPrice: (cartItem: CartItem) => AgnosticPrice;
- getItemQty: (cartItem: CartItem) => number;
- getItemAttributes: (
- cartItem: CartItem,
- _filterByAttributeName?: Array,
- ) => Record;
- getItemSku: (cartItem: CartItem) => string;
- getTotals: (cart: Cart) => AgnosticTotals;
- getShippingPrice: (cart: Cart) => number;
- getTotalItems: (cart: Cart) => number;
- getFormattedPrice: (price: number) => string;
- getCoupons: (cart: Cart) => AgnosticCoupon[];
- getDiscounts: (cart: Cart) => AgnosticDiscount[];
-}
-````
-
-* `getItems` - returns all items from cart.
-* `getItemName` - returns product name.
-* `getItemImage` - returns product image.
-* `getItemPrice` - returns product price.
-* `getItemQty` - returns product quantity.
-* `getItemAttributes` - returns product attribute.
-* `getItemSku` - returns product SKU.
-* `getTotals` - returns cart totals.
-* `getShippingPrice` - returns current shipping price.
-* `getTotalItems` - returns products amount.
-* `getFormattedPrice` - returns product price with currency sign.
-* `getCoupons` - returns applied coupons.
-* `getDiscounts` - returns all discounts.
-
-## Example
-
-```javascript
-import { useCart, cartGetters } from '@vue-storefront/magento';
-import { onSSR } from '@vue-storefront/core'
-
-export default {
- setup () {
- const { cart, removeItem, updateItemQty, load } = useCart();
-
- onSSR(async () => {
- await load();
- })
-
- return {
- removeItem,
- updateItemQty,
- products: computed(() => cartGetters.getItems(cart.value)),
- totals: computed(() => cartGetters.getTotals(cart.value)),
- totalItems: computed(() => cartGetters.getTotalItems(cart.value))
- }
- }
-}
-```
diff --git a/docs/guide/composables/use-category-search.md b/docs/guide/composables/use-category-search.md
deleted file mode 100644
index 6808916d3..000000000
--- a/docs/guide/composables/use-category-search.md
+++ /dev/null
@@ -1,63 +0,0 @@
-# useCategorySearch
-
-## Features
-`useCategorySearch` composable is responsible for fetching a list of categories based on search term provided. A common usage scenario for this composable is navigation subtrees.
-
-## API
-The `useCategorySearch` composable implements custom factory `useCategorySearchFactory` located in `packages/composables/src/factories/useCategorySearchFactory.ts` and returns `UseCategorySearch` interface:
-
-```typescript
-export interface UseCategorySearch {
- search: (params: { term: string }) => Promise;
- result: ComputedProperty;
- error: ComputedProperty;
- loading: ComputedProperty;
-}
-
-export interface UseCategorySearchErrors {
- search: Error;
-}
-```
-> For more information on [Category interface](use-category) visit the dedicated documentation.
-
-### `search`
-Function that takes `term` as search param and gets the `categories` accordingly
-
-### `result`
-Returns an array of categories fetched by `search` method as a `computed` property.
-See [useCategory](use-category.html) for more information on `categories` interface
-
-### `loading`
-Returns the current state of `search` as `computed` boolean property
-
-### `error`
-Reactive object containing the error message, if search failed for any reason.
-
-## Example
-```javascript
-import { onSSR } from '@vue-storefront/core';
-import { useCategorySearch } from '@vue-storefront/magento';
-
-export default {
- setup () {
- const {
- loading,
- error,
- result: categories,
- search: categoriesSearch,
- } = useCategorySearch('AppHeader:Categories');
-
- onSSR(async () => {
- await categoriesSearch({
- term: 'value',
- });
- });
-
- return {
- categories,
- loading,
- error,
- }
- }
-}
-```
diff --git a/docs/guide/composables/use-category.md b/docs/guide/composables/use-category.md
deleted file mode 100644
index 51c7a603e..000000000
--- a/docs/guide/composables/use-category.md
+++ /dev/null
@@ -1,142 +0,0 @@
-# useCategory
-
-## Features
-`useCategory` composable is responsible for fetching a list of categories. A common usage scenario for this composable is navigation.
-
-## API
-```typescript
-interface UseCategory {
- categories: ComputedProperty;
- search(params: ComposableFunctionArgs): Promise;
- loading: ComputedProperty;
- error: ComputedProperty;
-}
-
-export type CategoryListQueryVariables = Exact<{ [key: string]: never; }>;
-
-export interface Category {
- available_sort_by?: Maybe>>;
- /** Breadcrumbs, parent categories info. */
- breadcrumbs?: Maybe>>;
- /** Relative canonical URL. This value is returned only if the system setting 'Use Canonical Link Meta Tag For Categories' is enabled */
- canonical_url?: Maybe;
- /** Child categories tree. */
- children?: Maybe>>;
- children_count?: Maybe;
- /** Category CMS Block. */
- cms_block?: Maybe;
- /**
- * Timestamp indicating when the category was created.
- * @deprecated The field should not be used on the storefront.
- */
- created_at?: Maybe;
- custom_layout_update_file?: Maybe;
- /** The attribute to use for sorting. */
- default_sort_by?: Maybe;
- /** An optional description of the category. */
- description?: Maybe;
- display_mode?: Maybe;
- filter_price_range?: Maybe;
- /**
- * An ID that uniquely identifies the category.
- * @deprecated Use the `uid` argument instead.
- */
- id?: Maybe;
- image?: Maybe;
- include_in_menu?: Maybe;
- is_anchor?: Maybe;
- landing_page?: Maybe;
- /** Indicates the depth of the category within the tree. */
- level?: Maybe;
- meta_description?: Maybe;
- meta_keywords?: Maybe;
- meta_title?: Maybe;
- /** The display name of the category. */
- name?: Maybe;
- /** Category Path. */
- path?: Maybe;
- /** Category path in store. */
- path_in_store?: Maybe;
- /** The position of the category relative to other categories at the same level in tree. */
- position?: Maybe;
- /** The number of products in the category that are marked as visible. By default, in complex products, parent products are visible, but their child products are not. */
- product_count?: Maybe;
- /** The list of products assigned to the category. */
- products?: Maybe;
- /** The unique ID for a `CategoryInterface` object. */
- uid: Scalars['ID'];
- /**
- * Timestamp indicating when the category was updated.
- * @deprecated The field should not be used on the storefront.
- */
- updated_at?: Maybe;
- /** The url key assigned to the category. */
- url_key?: Maybe;
- /** The url path assigned to the category. */
- url_path?: Maybe;
- /** The part of the category URL that is appended after the url key */
- url_suffix?: Maybe;
-}
-```
-
-### `search`
-Function that takes `CategoryListQueryVariables`as optional param and gets the `categories` accordingly
-
-### `categories`
-Returns an array of categories fetched by `search` method as a `computed` property.
-
-### `loading`
-Returns the current state of `search` as `computed` boolean property
-
-### `error`
-Reactive object containing the error message, if search failed for any reason.
-
-## Getters
-````typescript
-interface CategoryGetters {
- getTree: (category: Category) => AgnosticCategoryTree | null;
- getBreadcrumbs: (category: Category) => AgnosticBreadcrumb[];
- getCategoryTree?: (
- category: Category,
- currentCategory: string,
- withProducts: boolean,
- ) => AgnosticCategoryTree | null;
-}
-
-export interface AgnosticBreadcrumb {
- text: string;
- link: string;
-}
-
-export interface AgnosticCategoryTree {
- label: string;
- slug?: string;
- items: AgnosticCategoryTree[];
- isCurrent: boolean;
- count?: number;
- [x: string]: unknown;
-}
-````
-## Example
-
-```javascript
-import { onSSR } from '@vue-storefront/core';
-import { useCategory } from '@vue-storefront/magento';
-
-export default {
- setup () {
- const { categories, search, loading } = useCategory('AppHeader:Categories');
-
- onSSR(async () => {
- await search({
- pageSize: 100,
- });
- });
-
- return {
- categories,
- loading
- }
- }
-}
-```
diff --git a/docs/guide/composables/use-config.md b/docs/guide/composables/use-config.md
deleted file mode 100644
index c48f7288e..000000000
--- a/docs/guide/composables/use-config.md
+++ /dev/null
@@ -1,209 +0,0 @@
-# useConfig
-
-## Features
-`useConfig` composable is responsible, as its name suggests, for interactions with the configuration in your eCommerce.
-
-## API
-The `useConfig` composable implements custom factory `useConfigFactory` located in `packages/composables/src/factories/useConfigFactory.ts` and returns `UseConfig` interface:
-```typescript
-interface UseConfig {
- config: ComputedRef;
- loadConfig: () => Promise;
- loading: ComputedRef;
-}
-
-export interface StoreConfig {
- /** Footer Miscellaneous HTML */
- absolute_footer?: Maybe;
- /** Indicates whether guest users can write product reviews. Possible values: 1 (Yes) and 0 (No) */
- allow_guests_to_write_product_reviews?: Maybe;
- /** The value of the Allow Gift Messages for Order Items option */
- allow_items?: Maybe;
- /** The value of the Allow Gift Messages on Order Level option */
- allow_order?: Maybe;
- /** Enable autocomplete on login and forgot password forms */
- autocomplete_on_storefront?: Maybe;
- /** Base currency code */
- base_currency_code?: Maybe;
- /** Base link URL for the store */
- base_link_url?: Maybe;
- /** Base media URL for the store */
- base_media_url?: Maybe;
- /** Base static URL for the store */
- base_static_url?: Maybe;
- /** Base URL for the store */
- base_url?: Maybe;
- /** Braintree cc vault status. */
- braintree_cc_vault_active?: Maybe;
- /** Default Sort By. */
- catalog_default_sort_by?: Maybe;
- /** Corresponds to the 'Display Prices In Product Lists' field. It indicates how FPT information is displayed on category pages */
- category_fixed_product_tax_display_setting?: Maybe;
- /** Category URL Suffix. */
- category_url_suffix?: Maybe;
- /** CMS Home Page */
- cms_home_page?: Maybe;
- /** CMS No Cookies Page */
- cms_no_cookies?: Maybe;
- /** CMS No Route Page */
- cms_no_route?: Maybe;
- /**
- * A code assigned to the store to identify it
- * @deprecated Use `store_code` instead.
- */
- code?: Maybe;
- /** The configuration setting determines which thumbnail should be used in the cart for configurable products. */
- configurable_thumbnail_source?: Maybe;
- /** Copyright */
- copyright?: Maybe;
- /** Default Meta Description */
- default_description?: Maybe;
- /** Default display currency code */
- default_display_currency_code?: Maybe;
- /** Default Meta Keywords */
- default_keywords?: Maybe;
- /** Default Page Title */
- default_title?: Maybe;
- /** Display Demo Store Notice */
- demonotice?: Maybe;
- /** Default Web URL */
- front?: Maybe;
- /** Products per Page on Grid Default Value. */
- grid_per_page?: Maybe;
- /** Products per Page on Grid Allowed Values. */
- grid_per_page_values?: Maybe;
- /** Scripts and Style Sheets */
- head_includes?: Maybe;
- /** Favicon Icon */
- head_shortcut_icon?: Maybe;
- /** Logo Image */
- header_logo_src?: Maybe;
- /**
- * The ID number assigned to the store
- * @deprecated Use `store_code` instead.
- */
- id?: Maybe;
- /** Indicates whether the store view has been designated as the default within the store group */
- is_default_store?: Maybe;
- /** Indicates whether the store group has been designated as the default within the website */
- is_default_store_group?: Maybe;
- /** List Mode. */
- list_mode?: Maybe;
- /** Products per Page on List Default Value. */
- list_per_page?: Maybe;
- /** Products per Page on List Allowed Values. */
- list_per_page_values?: Maybe;
- /** Store locale */
- locale?: Maybe;
- /** Logo Image Alt */
- logo_alt?: Maybe;
- /** Logo Attribute Height */
- logo_height?: Maybe;
- /** Logo Attribute Width */
- logo_width?: Maybe;
- /** Indicates whether wishlists are enabled (1) or disabled (0) */
- magento_wishlist_general_is_enabled?: Maybe;
- /** The minimum number of characters required for a valid password. */
- minimum_password_length?: Maybe;
- /** Default No-route URL */
- no_route?: Maybe;
- /** Payflow Pro vault status. */
- payment_payflowpro_cc_vault_active?: Maybe;
- /** Corresponds to the 'Display Prices On Product View Page' field. It indicates how FPT information is displayed on product pages */
- product_fixed_product_tax_display_setting?: Maybe;
- /** Indicates whether product reviews are enabled. Possible values: 1 (Yes) and 0 (No) */
- product_reviews_enabled?: Maybe;
- /** Product URL Suffix. */
- product_url_suffix?: Maybe;
- /** The number of different character classes required in a password (lowercase, uppercase, digits, special characters). */
- required_character_classes_number?: Maybe;
- /**
- * The ID of the root category
- * @deprecated Use `root_category_uid` instead
- */
- root_category_id?: Maybe;
- /** The unique ID for a `CategoryInterface` object. */
- root_category_uid?: Maybe;
- /** Corresponds to the 'Display Prices In Sales Modules' field. It indicates how FPT information is displayed on cart, checkout, and order pages */
- sales_fixed_product_tax_display_setting?: Maybe;
- /** Secure base link URL for the store */
- secure_base_link_url?: Maybe;
- /** Secure base media URL for the store */
- secure_base_media_url?: Maybe;
- /** Secure base static URL for the store */
- secure_base_static_url?: Maybe;
- /** Secure base URL for the store */
- secure_base_url?: Maybe;
- /** Email to a Friend configuration. */
- send_friend?: Maybe;
- /** Show Breadcrumbs for CMS Pages */
- show_cms_breadcrumbs?: Maybe;
- /** The unique ID of the store view. In the Admin, this is called the Store View Code. When making a GraphQL call, assign this value to the `Store` header to provide the scope */
- store_code?: Maybe