Przeglądaj źródła

chore: Update github org name in links

We renamed the org from "vendure-ecommerce" to "vendurehq"
Michael Bromley 4 tygodni temu
rodzic
commit
3af21d5486
100 zmienionych plików z 450 dodań i 486 usunięć
  1. 1 1
      .github/workflows/cla.yml
  2. 5 5
      CONTRIBUTING.md
  3. 4 4
      README.md
  4. 1 1
      docs/docs/guides/core-concepts/collections/index.mdx
  5. 2 2
      docs/docs/guides/core-concepts/email/index.mdx
  6. 1 1
      docs/docs/guides/core-concepts/payment/index.md
  7. 1 1
      docs/docs/guides/deployment/deploy-to-digital-ocean-app-platform/index.md
  8. 3 3
      docs/docs/guides/deployment/deploy-to-northflank/index.md
  9. 2 2
      docs/docs/guides/deployment/deploy-to-railway/index.md
  10. 3 3
      docs/docs/guides/deployment/deploy-to-render/index.md
  11. 1 1
      docs/docs/guides/developer-guide/custom-fields/index.md
  12. 1 1
      docs/docs/guides/developer-guide/importing-data/index.md
  13. 3 3
      docs/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.md
  14. 3 3
      docs/docs/guides/developer-guide/migrating-from-v1/database-migration.md
  15. 2 2
      docs/docs/guides/developer-guide/plugins/index.mdx
  16. 4 4
      docs/docs/guides/developer-guide/testing/index.md
  17. 3 3
      docs/docs/guides/developer-guide/updating/index.md
  18. 1 1
      docs/docs/guides/developer-guide/worker-job-queue/index.mdx
  19. 1 1
      docs/docs/guides/extending-the-admin-ui/adding-ui-translations/index.md
  20. 1 1
      docs/docs/guides/extending-the-admin-ui/admin-ui-theming-branding/index.md
  21. 1 1
      docs/docs/guides/extending-the-admin-ui/dashboard-widgets/index.md
  22. 1 1
      docs/docs/guides/extending-the-admin-ui/using-other-frameworks/index.md
  23. 3 3
      docs/docs/guides/getting-started/installation/index.md
  24. 15 15
      docs/docs/guides/how-to/cms-integration-plugin/index.mdx
  25. 2 2
      docs/docs/guides/how-to/digital-products/index.mdx
  26. 1 1
      docs/docs/guides/how-to/github-oauth-authentication/index.mdx
  27. 1 1
      docs/docs/guides/how-to/google-oauth-authentication/index.mdx
  28. 2 2
      docs/docs/guides/how-to/multi-vendor-marketplaces/index.md
  29. 2 2
      docs/docs/guides/how-to/publish-plugin/index.mdx
  30. 2 2
      docs/docs/guides/how-to/s3-asset-storage/index.mdx
  31. 4 4
      docs/docs/guides/storefront/storefront-starters/index.mdx
  32. 1 1
      docs/docs/reference/core-plugins/elasticsearch-plugin/elasticsearch-options.md
  33. 1 1
      docs/docs/reference/core-plugins/email-plugin/index.md
  34. 1 1
      docs/docs/reference/core-plugins/payments-plugin/stripe-plugin.md
  35. 1 1
      docs/docs/reference/core-plugins/sentry-plugin/index.md
  36. 1 1
      docs/docs/reference/typescript-api/configuration/collection-filter.md
  37. 1 1
      docs/docs/reference/typescript-api/configuration/vendure-config.md
  38. 1 1
      docs/docs/reference/typescript-api/service-helpers/order-modifier.md
  39. 3 3
      docs/docusaurus.config.js
  40. 1 1
      docs/src/components/GenerationInfo/index.tsx
  41. 1 1
      e2e-common/vitest.config.bench.ts
  42. 1 1
      e2e-common/vitest.config.mts
  43. 114 114
      package.json
  44. 1 1
      packages/admin-ui-plugin/package.json
  45. 1 1
      packages/admin-ui/package.json
  46. 2 2
      packages/admin-ui/src/lib/core/src/shared/components/asset-file-input/asset-file-input.component.ts
  47. 1 1
      packages/admin-ui/src/lib/core/src/shared/components/split-view/split-view.component.scss
  48. 1 2
      packages/admin-ui/src/lib/core/src/shared/pipes/locale-currency.pipe.spec.ts
  49. 3 3
      packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts
  50. 1 1
      packages/asset-server-plugin/package.json
  51. 1 1
      packages/cli/package.json
  52. 1 1
      packages/common/package.json
  53. 1 1
      packages/common/src/normalize-string.spec.ts
  54. 5 6
      packages/core/e2e/asset.e2e-spec.ts
  55. 2 2
      packages/core/e2e/auth.e2e-spec.ts
  56. 12 15
      packages/core/e2e/authentication-strategy.e2e-spec.ts
  57. 9 9
      packages/core/e2e/collection.e2e-spec.ts
  58. 1 1
      packages/core/e2e/custom-field-default-values.e2e-spec.ts
  59. 15 15
      packages/core/e2e/custom-field-relations.e2e-spec.ts
  60. 2 2
      packages/core/e2e/custom-field-struct.e2e-spec.ts
  61. 6 6
      packages/core/e2e/custom-fields.e2e-spec.ts
  62. 2 2
      packages/core/e2e/customer-channel.e2e-spec.ts
  63. 4 5
      packages/core/e2e/customer-group.e2e-spec.ts
  64. 3 3
      packages/core/e2e/customer.e2e-spec.ts
  65. 2 2
      packages/core/e2e/database-transactions.e2e-spec.ts
  66. 9 9
      packages/core/e2e/default-search-plugin.e2e-spec.ts
  67. 1 1
      packages/core/e2e/draft-order.e2e-spec.ts
  68. 15 15
      packages/core/e2e/entity-hydrator.e2e-spec.ts
  69. 2 2
      packages/core/e2e/entity-prefix.e2e-spec.ts
  70. 1 1
      packages/core/e2e/entity-serialization.e2e-spec.ts
  71. 2 2
      packages/core/e2e/facet.e2e-spec.ts
  72. 6 6
      packages/core/e2e/fixtures/test-plugins/hydration-test-plugin.ts
  73. 3 4
      packages/core/e2e/fixtures/test-plugins/issue-1636-1664/issue-1636-1664-plugin.ts
  74. 1 1
      packages/core/e2e/fixtures/test-plugins/with-global-providers.ts
  75. 1 2
      packages/core/e2e/fixtures/test-plugins/with-new-config-object-reference.ts
  76. 1 1
      packages/core/e2e/fixtures/test-shipping-eligibility-checkers.ts
  77. 3 3
      packages/core/e2e/list-query-builder.e2e-spec.ts
  78. 4 4
      packages/core/e2e/money-strategy.e2e-spec.ts
  79. 4 12
      packages/core/e2e/order-merge.e2e-spec.ts
  80. 7 7
      packages/core/e2e/order-modification.e2e-spec.ts
  81. 8 11
      packages/core/e2e/order-process.e2e-spec.ts
  82. 13 13
      packages/core/e2e/order-promotion.e2e-spec.ts
  83. 2 2
      packages/core/e2e/order-taxes.e2e-spec.ts
  84. 12 12
      packages/core/e2e/order.e2e-spec.ts
  85. 2 2
      packages/core/e2e/parallel-transactions.e2e-spec.ts
  86. 3 4
      packages/core/e2e/plugin.e2e-spec.ts
  87. 3 3
      packages/core/e2e/populate.e2e-spec.ts
  88. 3 3
      packages/core/e2e/product-channel.e2e-spec.ts
  89. 10 10
      packages/core/e2e/product.e2e-spec.ts
  90. 1 1
      packages/core/e2e/role.e2e-spec.ts
  91. 25 35
      packages/core/e2e/shop-auth.e2e-spec.ts
  92. 14 20
      packages/core/e2e/shop-order.e2e-spec.ts
  93. 7 7
      packages/core/e2e/stock-control.e2e-spec.ts
  94. 1 1
      packages/core/package.json
  95. 1 1
      packages/core/src/api/common/id-codec.spec.ts
  96. 1 1
      packages/core/src/api/common/request-context.spec.ts
  97. 1 1
      packages/core/src/api/config/configure-graphql-module.ts
  98. 1 1
      packages/core/src/api/config/generate-resolvers.ts
  99. 1 1
      packages/core/src/api/config/graphql-custom-fields.spec.ts
  100. 1 1
      packages/core/src/api/middleware/auth-guard.ts

+ 1 - 1
.github/workflows/cla.yml

@@ -23,7 +23,7 @@ jobs:
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
           GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
         with:
         with:
           path-to-signatures: 'license/signatures/version1/cla.json'
           path-to-signatures: 'license/signatures/version1/cla.json'
-          path-to-document: 'https://github.com/vendure-ecommerce/vendure/blob/master/license/CLA.md'
+          path-to-document: 'https://github.com/vendurehq/vendure/blob/master/license/CLA.md'
           branch: 'master'
           branch: 'master'
           allowlist: user1,bot*
           allowlist: user1,bot*
 
 

+ 5 - 5
CONTRIBUTING.md

@@ -30,7 +30,7 @@ In order to make the best use of both your time and that of the Vendure maintain
 
 
 ### Creating a fork
 ### Creating a fork
 
 
-Start by creating a fork of the repository. This can be done by navigating to our [repository](https://github.com/vendure-ecommerce/vendure) and clicking on the fork button. This creates your own copy under your GitHub account. We recommend keeping "vendure" as the name of the fork.
+Start by creating a fork of the repository. This can be done by navigating to our [repository](https://github.com/vendurehq/vendure) and clicking on the fork button. This creates your own copy under your GitHub account. We recommend keeping "vendure" as the name of the fork.
 
 
 ### Cloning locally
 ### Cloning locally
 
 
@@ -41,10 +41,10 @@ git clone https://github.com/YOUR-USERNAME/vendure.git
 cd vendure
 cd vendure
 ```
 ```
 
 
-Add the [Vendure repository](https://github.com/vendure-ecommerce/vendure) as the upstream remote to your clone:
+Add the [Vendure repository](https://github.com/vendurehq/vendure) as the upstream remote to your clone:
 
 
 ```bash
 ```bash
-git remote add upstream https://github.com/vendure-ecommerce/vendure.git
+git remote add upstream https://github.com/vendurehq/vendure.git
 ```
 ```
 
 
 This lets you pull updates from the original repository directly to your local clone.
 This lets you pull updates from the original repository directly to your local clone.
@@ -299,7 +299,7 @@ If you have the [GitHub CLI](https://cli.github.com/) installed, run:
 ```bash
 ```bash
 gh pr create
 gh pr create
 ```
 ```
-and follow the prompts - this will automatically use our [pull request template](https://github.com/vendure-ecommerce/vendure/blob/master/.github/pull_request_template.md).
+and follow the prompts - this will automatically use our [pull request template](https://github.com/vendurehq/vendure/blob/master/.github/pull_request_template.md).
 
 
 **Option B: Using GitHub Web Interface**
 **Option B: Using GitHub Web Interface**
 
 
@@ -478,7 +478,7 @@ docs/docs
 
 
 ### Contributing to the Admin UI translations
 ### Contributing to the Admin UI translations
 
 
-If you wish to contribute translations of the Admin UI into another language (or improve an existing set of translations), please see the [Localization guide](https://github.com/vendure-ecommerce/vendure/blob/master/packages/admin-ui/README.md#localization) in the admin-ui package.
+If you wish to contribute translations of the Admin UI into another language (or improve an existing set of translations), please see the [Localization guide](https://github.com/vendurehq/vendure/blob/master/packages/admin-ui/README.md#localization) in the admin-ui package.
 
 
 ## Help & Support
 ## Help & Support
 
 

+ 4 - 4
README.md

@@ -16,7 +16,7 @@
 </h4>
 </h4>
 
 
 <p align="center">
 <p align="center">
-  <a href="https://github.com/vendure-ecommerce/vendure/blob/master/LICENSE.md">
+  <a href="https://github.com/vendurehq/vendure/blob/master/LICENSE.md">
     <img src="https://img.shields.io/badge/license-GPL-blue.svg" alt="Vendure is released under the GPLv3 license." />
     <img src="https://img.shields.io/badge/license-GPL-blue.svg" alt="Vendure is released under the GPLv3 license." />
   </a>
   </a>
   <a href="https://twitter.com/intent/follow?screen_name=vendure_io">
   <a href="https://twitter.com/intent/follow?screen_name=vendure_io">
@@ -25,7 +25,7 @@
   <a href="https://vendure.io/community">
   <a href="https://vendure.io/community">
     <img src="https://img.shields.io/badge/join-our%20discord-7289DA.svg" alt="Join our Discord" />
     <img src="https://img.shields.io/badge/join-our%20discord-7289DA.svg" alt="Join our Discord" />
   </a>
   </a>
-  <a href="https://github.com/vendure-ecommerce/vendure/blob/master/CONTRIBUTING.md">
+  <a href="https://github.com/vendurehq/vendure/blob/master/CONTRIBUTING.md">
     <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
     <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat" alt="PRs welcome!" />
   </a>
   </a>
 </p>
 </p>
@@ -50,7 +50,7 @@ Visit our [Getting Started guide](https://docs.vendure.io/guides/getting-started
 
 
 ## Upgrades & Plugins 
 ## Upgrades & Plugins 
 
 
-New updates get released on a bi-weekly cadence, check out our [release notes](https://github.com/vendure-ecommerce/vendure/releases) to keep up-to-date with the latest releases.
+New updates get released on a bi-weekly cadence, check out our [release notes](https://github.com/vendurehq/vendure/releases) to keep up-to-date with the latest releases.
 
 
 Have a look at all of our [ready-made Vendure plugins](https://vendure.io/plugins?page=1).
 Have a look at all of our [ready-made Vendure plugins](https://vendure.io/plugins?page=1).
 
 
@@ -60,7 +60,7 @@ Contributions to Vendure are welcome and highly appreciated! Whether you're fixi
 
 
 Our **[Contribution Guide](./CONTRIBUTING.md)** is covering everything from setting up your development environment to submitting your first pull request.
 Our **[Contribution Guide](./CONTRIBUTING.md)** is covering everything from setting up your development environment to submitting your first pull request.
 
 
-**Ready to get started?** Check out [these issues](https://github.com/vendure-ecommerce/vendure/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%F0%9F%91%8B%20contributions%20welcome%22) for a good first task to start!
+**Ready to get started?** Check out [these issues](https://github.com/vendurehq/vendure/issues?q=is%3Aissue%20state%3Aopen%20label%3A%22%F0%9F%91%8B%20contributions%20welcome%22) for a good first task to start!
 
 
 ## License
 ## License
 
 

+ 1 - 1
docs/docs/guides/core-concepts/collections/index.mdx

@@ -121,5 +121,5 @@ export const config: VendureConfig = {
 
 
 :::info
 :::info
 To see some more advanced collection filter examples, you can look at the source code of the
 To see some more advanced collection filter examples, you can look at the source code of the
-[default collection filters](https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/src/config/catalog/default-collection-filters.ts).
+[default collection filters](https://github.com/vendurehq/vendure/blob/master/packages/core/src/config/catalog/default-collection-filters.ts).
 :::
 :::

+ 2 - 2
docs/docs/guides/core-concepts/email/index.mdx

@@ -24,7 +24,7 @@ Here's an illustration of the flow of an email being sent:
 ![Email plugin flow](./email-plugin-flow.webp)
 ![Email plugin flow](./email-plugin-flow.webp)
 
 
 All emails are triggered by a particular [Event](/guides/developer-guide/events/) - in this case when the state of an
 All emails are triggered by a particular [Event](/guides/developer-guide/events/) - in this case when the state of an
-Order changes. The EmailPlugin ships with a set of [default email handlers](https://github.com/vendure-ecommerce/vendure/blob/master/packages/email-plugin/src/default-email-handlers.ts),
+Order changes. The EmailPlugin ships with a set of [default email handlers](https://github.com/vendurehq/vendure/blob/master/packages/email-plugin/src/default-email-handlers.ts),
 one of which is responsible for sending "order confirmation" emails.
 one of which is responsible for sending "order confirmation" emails.
 
 
 ### EmailEventHandlers
 ### EmailEventHandlers
@@ -152,4 +152,4 @@ export class SmsPlugin implements OnModuleInit {
             });
             });
     }
     }
 }
 }
-```
+```

+ 1 - 1
docs/docs/guides/core-concepts/payment/index.md

@@ -8,7 +8,7 @@ import TabItem from '@theme/TabItem';
 Vendure can support many kinds of payment workflows, such as authorizing and capturing payment in a single step upon checkout or authorizing on checkout and then capturing on fulfillment.
 Vendure can support many kinds of payment workflows, such as authorizing and capturing payment in a single step upon checkout or authorizing on checkout and then capturing on fulfillment.
 
 
 :::info
 :::info
-For complete working examples of real payment integrations, see the [payments-plugins](https://github.com/vendure-ecommerce/vendure/tree/master/packages/payments-plugin/src)
+For complete working examples of real payment integrations, see the [payments-plugins](https://github.com/vendurehq/vendure/tree/master/packages/payments-plugin/src)
 :::
 :::
 
 
 ## Authorization & Settlement
 ## Authorization & Settlement

+ 1 - 1
docs/docs/guides/deployment/deploy-to-digital-ocean-app-platform/index.md

@@ -20,7 +20,7 @@ deploying from docker registries, but that is out of the scope of this guide.
 
 
 :::info
 :::info
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can clone our
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can clone our
-[Vendure one-click-deploy repo](https://github.com/vendure-ecommerce/one-click-deploy).
+[Vendure one-click-deploy repo](https://github.com/vendurehq/one-click-deploy).
 :::
 :::
 
 
 ## Configuration
 ## Configuration

+ 3 - 3
docs/docs/guides/deployment/deploy-to-northflank/index.md

@@ -12,7 +12,7 @@ import TabItem from '@theme/TabItem';
 
 
 [Northflank](https://northflank.com) is a comprehensive developer platform to build and scale your apps. It has an outstanding developer experience and has a free tier for small projects, and is well-suited for deploying and scaling Vendure applications.
 [Northflank](https://northflank.com) is a comprehensive developer platform to build and scale your apps. It has an outstanding developer experience and has a free tier for small projects, and is well-suited for deploying and scaling Vendure applications.
 
 
-This guide will walk you through the steps to deploy [a sample Vendure application](https://github.com/vendure-ecommerce/one-click-deploy) to Northflank.
+This guide will walk you through the steps to deploy [a sample Vendure application](https://github.com/vendurehq/one-click-deploy) to Northflank.
 
 
 ## Set up a Northflank account
 ## Set up a Northflank account
 
 
@@ -208,7 +208,7 @@ If you want to use the free plan, use the "Lite Template".
               "deploymentPlan": "nf-compute-20"
               "deploymentPlan": "nf-compute-20"
             },
             },
             "vcsData": {
             "vcsData": {
-              "projectUrl": "https://github.com/vendure-ecommerce/one-click-deploy",
+              "projectUrl": "https://github.com/vendurehq/one-click-deploy",
               "projectType": "github"
               "projectType": "github"
             },
             },
             "buildSettings": {
             "buildSettings": {
@@ -455,7 +455,7 @@ This setup is suitable for testing purposes, but is not recommended for producti
               "deploymentPlan": "nf-compute-10"
               "deploymentPlan": "nf-compute-10"
             },
             },
             "vcsData": {
             "vcsData": {
-              "projectUrl": "https://github.com/vendure-ecommerce/one-click-deploy",
+              "projectUrl": "https://github.com/vendurehq/one-click-deploy",
               "projectType": "github"
               "projectType": "github"
             },
             },
             "buildSettings": {
             "buildSettings": {

+ 2 - 2
docs/docs/guides/deployment/deploy-to-railway/index.md

@@ -22,7 +22,7 @@ In order to use the Railway trial plan, you'll need to connect your GitHub accou
 
 
 :::info
 :::info
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can clone our
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can clone our
-[Vendure one-click-deploy repo](https://github.com/vendure-ecommerce/one-click-deploy).
+[Vendure one-click-deploy repo](https://github.com/vendurehq/one-click-deploy).
 :::
 :::
 
 
 ## Configuration
 ## Configuration
@@ -199,4 +199,4 @@ want to consider the following:
 server and worker instances.
 server and worker instances.
   - [Railway Redis docs](https://docs.railway.app/guides/redis)
   - [Railway Redis docs](https://docs.railway.app/guides/redis)
   - [Vendure horizontal scaling docs](/guides/deployment/horizontal-scaling)
   - [Vendure horizontal scaling docs](/guides/deployment/horizontal-scaling)
-  
+  

+ 3 - 3
docs/docs/guides/deployment/deploy-to-render/index.md

@@ -19,7 +19,7 @@ For this guide you'll need to have your Vendure project in a git repo on either
 
 
 :::info
 :::info
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can use our
 If you'd like to quickly get started with a ready-made Vendure project which includes sample data, you can use our
-[Vendure one-click-deploy repo](https://github.com/vendure-ecommerce/one-click-deploy), which means you won't have
+[Vendure one-click-deploy repo](https://github.com/vendurehq/one-click-deploy), which means you won't have
 to set up your own git repo.
 to set up your own git repo.
 :::
 :::
 
 
@@ -111,7 +111,7 @@ to connect your account and grant access to the repository containing your Vendu
 If you are using the one-click-deploy repo, you should instead use the "Public Git repository" option and enter the URL of the repo:
 If you are using the one-click-deploy repo, you should instead use the "Public Git repository" option and enter the URL of the repo:
 
 
 ```
 ```
-https://github.com/vendure-ecommerce/one-click-deploy
+https://github.com/vendurehq/one-click-deploy
 ```
 ```
 :::
 :::
 
 
@@ -218,4 +218,4 @@ want to consider the following:
   server and worker instances.
   server and worker instances.
   - [Render Redis docs](https://docs.render.com/redis#creating-a-redis-instance)
   - [Render Redis docs](https://docs.render.com/redis#creating-a-redis-instance)
   - [Vendure horizontal scaling docs](/guides/deployment/horizontal-scaling)
   - [Vendure horizontal scaling docs](/guides/deployment/horizontal-scaling)
-  
+  

+ 1 - 1
docs/docs/guides/developer-guide/custom-fields/index.md

@@ -1377,7 +1377,7 @@ One way to ensure that your custom field typings always get imported first is to
 :::
 :::
 
 
 :::tip
 :::tip
-For a working example of this setup, see the [real-world-vendure repo](https://github.com/vendure-ecommerce/real-world-vendure/blob/master/src/plugins/reviews/types.ts)
+For a working example of this setup, see the [real-world-vendure repo](https://github.com/vendurehq/real-world-vendure/blob/master/src/plugins/reviews/types.ts)
 :::
 :::
 
 
 ## Special cases
 ## Special cases

+ 1 - 1
docs/docs/guides/developer-guide/importing-data/index.md

@@ -53,7 +53,7 @@ If you have [CustomFields](/guides/developer-guide/custom-fields/) defined on yo
 * `variant:<customFieldName>`: The value of this column will populate `ProductVariant.customFields[customFieldName]`. 
 * `variant:<customFieldName>`: The value of this column will populate `ProductVariant.customFields[customFieldName]`. 
 
 
 :::info 
 :::info 
-For a real example, see the [products.csv file used to populate the Vendure demo data](https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/mock-data/data-sources/products.csv)
+For a real example, see the [products.csv file used to populate the Vendure demo data](https://github.com/vendurehq/vendure/blob/master/packages/core/mock-data/data-sources/products.csv)
 :::
 :::
 
 
 #### Importing `relation` custom fields
 #### Importing `relation` custom fields

+ 3 - 3
docs/docs/guides/developer-guide/migrating-from-v1/breaking-api-changes.md

@@ -10,7 +10,7 @@ sidebar_position: 3
 ### TypeScript
 ### TypeScript
 - v2 is built on TypeScript **v4.9.5**. You should update your TypeScript version to match this. Doing so is quite likely to reveal new compiler errors (as is usual with TypeScript minor release updates).
 - v2 is built on TypeScript **v4.9.5**. You should update your TypeScript version to match this. Doing so is quite likely to reveal new compiler errors (as is usual with TypeScript minor release updates).
 - If you are using `ts-node`, update it to the latest version
 - If you are using `ts-node`, update it to the latest version
-- If you are targeting `ES2022` or `ESNEXT` in your `tsconfig.json`, you'll need to set `"useDefineForClassFields": false`. See [this issue](https://github.com/vendure-ecommerce/vendure/issues/2099) for more context.
+- If you are targeting `ES2022` or `ESNEXT` in your `tsconfig.json`, you'll need to set `"useDefineForClassFields": false`. See [this issue](https://github.com/vendurehq/vendure/issues/2099) for more context.
 
 
 ### Apollo Server & GraphQL
 ### Apollo Server & GraphQL
 If you have any custom ApolloServerPlugins, the plugin methods must now return a Promise. Example:
 If you have any custom ApolloServerPlugins, the plugin methods must now return a Promise. Example:
@@ -92,7 +92,7 @@ Also note that `shippingOptions.customFulfillmentProcess` and `paymentOptions.cu
 
 
 ### OrderItem no longer exists
 ### OrderItem no longer exists
 
 
-As a result of [#1981](https://github.com/vendure-ecommerce/vendure/issues/1981), the `OrderItem` entity no longer exists. The function and data of `OrderItem` is now transferred to `OrderLine`. As a result, the following APIs which previously used OrderItem arguments have now changed:
+As a result of [#1981](https://github.com/vendurehq/vendure/issues/1981), the `OrderItem` entity no longer exists. The function and data of `OrderItem` is now transferred to `OrderLine`. As a result, the following APIs which previously used OrderItem arguments have now changed:
 
 
 - `FulfillmentHandler`
 - `FulfillmentHandler`
 - `ChangedPriceHandlingStrategy`
 - `ChangedPriceHandlingStrategy`
@@ -125,7 +125,7 @@ const order = await this.connection
 
 
 ### ProductVariant stock changes
 ### ProductVariant stock changes
 
 
-With [#1545](https://github.com/vendure-ecommerce/vendure/issues/1545) we have changed the way we model stock levels in order to support multiple stock locations. This means that the `ProductVariant.stockOnHand` and `ProductVariant.stockAllocated` properties no longer exist on the `ProductVariant` entity in TypeScript.
+With [#1545](https://github.com/vendurehq/vendure/issues/1545) we have changed the way we model stock levels in order to support multiple stock locations. This means that the `ProductVariant.stockOnHand` and `ProductVariant.stockAllocated` properties no longer exist on the `ProductVariant` entity in TypeScript.
 
 
 Instead, this information is now located at `ProductVariant.stockLevels`, which is an array of [StockLevel](/reference/typescript-api/entities/stock-level) entities.
 Instead, this information is now located at `ProductVariant.stockLevels`, which is an array of [StockLevel](/reference/typescript-api/entities/stock-level) entities.
 
 

+ 3 - 3
docs/docs/guides/developer-guide/migrating-from-v1/database-migration.md

@@ -14,7 +14,7 @@ Vendure v2 introduces a number of breaking changes to the database schema, some
 :::
 :::
 
 
 1. Make sure all your Vendure packages to the latest v2 versions.
 1. Make sure all your Vendure packages to the latest v2 versions.
-2. Use your package manager to install the [v2 migration tool](https://github.com/vendure-ecommerce/v2-migration-tool): `npm install @vendure/migrate-v2`
+2. Use your package manager to install the [v2 migration tool](https://github.com/vendurehq/v2-migration-tool): `npm install @vendure/migrate-v2`
     - Note, if you run into the error `"Cannot find module '@ardatan/aggregate-error'"`, delete node_modules and the lockfile and reinstall.
     - Note, if you run into the error `"Cannot find module '@ardatan/aggregate-error'"`, delete node_modules and the lockfile and reinstall.
 3. Add the `MigrationV2Plugin` to your plugins array:
 3. Add the `MigrationV2Plugin` to your plugins array:
    ```ts
    ```ts
@@ -31,8 +31,8 @@ Vendure v2 introduces a number of breaking changes to the database schema, some
    The sole function of this plugin is to temporarily remove some "NOT NULL" constraints from certain columns, which allows us to run the next part of the migration.
    The sole function of this plugin is to temporarily remove some "NOT NULL" constraints from certain columns, which allows us to run the next part of the migration.
 4. Generate a new migration file, `npm run migration:generate v2`
 4. Generate a new migration file, `npm run migration:generate v2`
 5. Edit the newly-created migration file by following the comments in these examples: 
 5. Edit the newly-created migration file by following the comments in these examples: 
-    - [postgres](https://github.com/vendure-ecommerce/v2-migration-tool/blob/master/src/migrations/1686649098749-v201-postgres.ts)
-    - [mysql](https://github.com/vendure-ecommerce/v2-migration-tool/blob/master/src/migrations/1686655918823-v201-mysql.ts)
+    - [postgres](https://github.com/vendurehq/v2-migration-tool/blob/master/src/migrations/1686649098749-v201-postgres.ts)
+    - [mysql](https://github.com/vendurehq/v2-migration-tool/blob/master/src/migrations/1686655918823-v201-mysql.ts)
 
 
    In your migrations files, you'll import the `vendureV2Migrations` from `@vendure/migrate-v2`.
    In your migrations files, you'll import the `vendureV2Migrations` from `@vendure/migrate-v2`.
 6. Run the migration with `npm run migration:run`.
 6. Run the migration with `npm run migration:run`.

+ 2 - 2
docs/docs/guides/developer-guide/plugins/index.mdx

@@ -165,7 +165,7 @@ For any unit of functionality that you need to add to your project, you'll be cr
 ```
 ```
 
 
 :::info
 :::info
-For a complete working example of a Vendure plugin, see the [real-world-vendure Reviews plugin](https://github.com/vendure-ecommerce/real-world-vendure/tree/master/src/plugins/reviews)
+For a complete working example of a Vendure plugin, see the [real-world-vendure Reviews plugin](https://github.com/vendurehq/real-world-vendure/tree/master/src/plugins/reviews)
 
 
 You can also use the [Vendure CLI](/guides/developer-guide/cli) to quickly scaffold a new plugin.
 You can also use the [Vendure CLI](/guides/developer-guide/cli) to quickly scaffold a new plugin.
 :::
 :::
@@ -309,7 +309,7 @@ import './types';
 ```
 ```
 
 
 :::note
 :::note
-Custom fields are not solely restricted to Vendure's native entities though, it's also possible to add support for custom fields to your own custom entities. This way other plugins would be able to extend our example `WishlistItem`. See: [Supporting custom fields](/guides/developer-guide/database-entity/#supporting-custom-fields) 
+Custom fields are not solely restricted to Vendure's native entities though, it's also possible to add support for custom fields to your own custom entities. This way other plugins would be able to extend our example `WishlistItem`. See: [Supporting custom fields](/guides/developer-guide/database-entity/#supporting-custom-fields)
 :::
 :::
 
 
 ### Step 4: Create a service
 ### Step 4: Create a service

+ 4 - 4
docs/docs/guides/developer-guide/testing/index.md

@@ -12,7 +12,7 @@ The `@vendure/testing` package gives you some simple but powerful tooling for cr
 By "end-to-end" we mean we are testing the _entire server stack_ - from API, to services, to database - by making a real API request, and then making assertions about the response. This is a very effective way to ensure that _all_ parts of your plugin are working correctly together.
 By "end-to-end" we mean we are testing the _entire server stack_ - from API, to services, to database - by making a real API request, and then making assertions about the response. This is a very effective way to ensure that _all_ parts of your plugin are working correctly together.
 
 
 :::info
 :::info
-For a working example of a Vendure plugin with e2e testing, see the [real-world-vendure Reviews plugin](https://github.com/vendure-ecommerce/real-world-vendure/tree/master/src/plugins/reviews)
+For a working example of a Vendure plugin with e2e testing, see the [real-world-vendure Reviews plugin](https://github.com/vendurehq/real-world-vendure/tree/master/src/plugins/reviews)
 :::
 :::
 
 
 ## Usage
 ## Usage
@@ -53,7 +53,7 @@ export default defineConfig({
         swc.vite({
         swc.vite({
             jsc: {
             jsc: {
                 transform: {
                 transform: {
-                    // See https://github.com/vendure-ecommerce/vendure/issues/2099
+                    // See https://github.com/vendurehq/vendure/issues/2099
                     useDefineForClassFields: false,
                     useDefineForClassFields: false,
                 },
                 },
             },
             },
@@ -157,8 +157,8 @@ afterAll(async () => {
 
 
 An explanation of the options:
 An explanation of the options:
 
 
-* `productsCsvPath` This is a path to an optional CSV file containing product data. See [Product Import Format](/guides/developer-guide/importing-data/#product-import-format). You can see [an example used in the Vendure e2e tests](https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/e2e/fixtures/e2e-products-full.csv) to get an idea of how it works. To start with you can just copy this file directly and use it as-is.
-* `initialData` This is an object which defines how other non-product data (Collections, ShippingMethods, Countries etc.) is populated. See [Initial Data Format](/guides/developer-guide/importing-data/#initial-data). You can [copy this example from the Vendure e2e tests](https://github.com/vendure-ecommerce/vendure/blob/master/e2e-common/e2e-initial-data.ts)
+* `productsCsvPath` This is a path to an optional CSV file containing product data. See [Product Import Format](/guides/developer-guide/importing-data/#product-import-format). You can see [an example used in the Vendure e2e tests](https://github.com/vendurehq/vendure/blob/master/packages/core/e2e/fixtures/e2e-products-full.csv) to get an idea of how it works. To start with you can just copy this file directly and use it as-is.
+* `initialData` This is an object which defines how other non-product data (Collections, ShippingMethods, Countries etc.) is populated. See [Initial Data Format](/guides/developer-guide/importing-data/#initial-data). You can [copy this example from the Vendure e2e tests](https://github.com/vendurehq/vendure/blob/master/e2e-common/e2e-initial-data.ts)
 * `customerCount` Specifies the number of fake Customers to create. Defaults to 10 if not specified.
 * `customerCount` Specifies the number of fake Customers to create. Defaults to 10 if not specified.
 
 
 ### Write your tests
 ### Write your tests

+ 3 - 3
docs/docs/guides/developer-guide/updating/index.md

@@ -9,7 +9,7 @@ This guide provides guidance for updating the Vendure core framework to a newer
 
 
 ## How to update
 ## How to update
 
 
-First, check the [changelog](https://github.com/vendure-ecommerce/vendure/blob/master/CHANGELOG.md) for an overview of the changes and any breaking changes in the next version.
+First, check the [changelog](https://github.com/vendurehq/vendure/blob/master/CHANGELOG.md) for an overview of the changes and any breaking changes in the next version.
 
 
 In your project's `package.json` file, find all the `@vendure/...` packages and change the version
 In your project's `package.json` file, find all the `@vendure/...` packages and change the version
 to the latest. All the Vendure packages have the same version, and are all released together.
 to the latest. All the Vendure packages have the same version, and are all released together.
@@ -38,7 +38,7 @@ However, there are some exceptions to this rule:
 - In minor versions, (e.g. v2.0 to v2.1) we may update underlying dependencies to new major versions, which may in turn introduce breaking changes. These will be clearly noted in the changelog.
 - In minor versions, (e.g. v2.0 to v2.1) we may update underlying dependencies to new major versions, which may in turn introduce breaking changes. These will be clearly noted in the changelog.
 - In minor versions we may also occasionally introduce non-destructive changes to the database schema. For instance, we may add a new column which would then require a database migration. We will _not_ introduce database schema changes that could potentially result in data loss in a minor version.
 - In minor versions we may also occasionally introduce non-destructive changes to the database schema. For instance, we may add a new column which would then require a database migration. We will _not_ introduce database schema changes that could potentially result in data loss in a minor version.
 
 
-Any instances of these exceptions will be clearly indicated in the [Changelog](https://github.com/vendure-ecommerce/vendure/blob/master/CHANGELOG.md). The reasoning for these exceptions is discussed in the [Versioning policy RFC](https://github.com/vendure-ecommerce/vendure/issues/1846).
+Any instances of these exceptions will be clearly indicated in the [Changelog](https://github.com/vendurehq/vendure/blob/master/CHANGELOG.md). The reasoning for these exceptions is discussed in the [Versioning policy RFC](https://github.com/vendurehq/vendure/issues/1846).
 
 
 ### What kinds of breaking changes can be expected?
 ### What kinds of breaking changes can be expected?
 
 
@@ -48,7 +48,7 @@ Major version upgrades (e.g. v1.x to v2.x) can include:
 * Changes to the GraphQL schema
 * Changes to the GraphQL schema
 * Updates of major underlying libraries, such as upgrading NestJS to a new major version
 * Updates of major underlying libraries, such as upgrading NestJS to a new major version
 
 
-Every release will be accompanied by an entry in the [changelog](https://github.com/vendure-ecommerce/vendure/blob/master/CHANGELOG.md), listing the changes in that release. And breaking changes are clearly listed under a **BREAKING CHANGE** heading.
+Every release will be accompanied by an entry in the [changelog](https://github.com/vendurehq/vendure/blob/master/CHANGELOG.md), listing the changes in that release. And breaking changes are clearly listed under a **BREAKING CHANGE** heading.
 
 
 ### Database migrations
 ### Database migrations
 
 

+ 1 - 1
docs/docs/guides/developer-guide/worker-job-queue/index.mdx

@@ -170,7 +170,7 @@ which uses an efficient push-based strategy built on Redis.
 If your plugin involves long-running tasks, you can also make use of the job queue.
 If your plugin involves long-running tasks, you can also make use of the job queue.
 
 
 :::info
 :::info
-A real example of this can be seen in the [EmailPlugin source](https://github.com/vendure-ecommerce/vendure/blob/master/packages/email-plugin/src/plugin.ts)
+A real example of this can be seen in the [EmailPlugin source](https://github.com/vendurehq/vendure/blob/master/packages/email-plugin/src/plugin.ts)
 :::
 :::
 
 
 Let's say you are building a plugin which allows a video URL to be specified, and then that video gets transcoded into a format suitable for streaming on the storefront. This is a long-running task which should not block the main thread, so we will use the job queue to run the task on the worker.
 Let's say you are building a plugin which allows a video URL to be specified, and then that video gets transcoded into a format suitable for streaming on the storefront. This is a long-running task which should not block the main thread, so we will use the job queue to run the task on the worker.

+ 1 - 1
docs/docs/guides/extending-the-admin-ui/adding-ui-translations/index.md

@@ -44,7 +44,7 @@ The Admin UI ships with built-in support for many languages, but allows you to a
 
 
 1. **Create your translation file**
 1. **Create your translation file**
 
 
-     Start by copying the contents of the [English language file](https://github.com/vendure-ecommerce/vendure/blob/master/packages/admin-ui/src/lib/static/i18n-messages/en.json) into a new file, `<languageCode>.json`, where `languageCode` is the 2-character [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the language. Replace the strings with the translation for the new language.
+     Start by copying the contents of the [English language file](https://github.com/vendurehq/vendure/blob/master/packages/admin-ui/src/lib/static/i18n-messages/en.json) into a new file, `<languageCode>.json`, where `languageCode` is the 2-character [ISO 639-1 code](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) for the language. Replace the strings with the translation for the new language.
 2. **Install `@vendure/ui-devkit`**
 2. **Install `@vendure/ui-devkit`**
 
 
     If not already installed, install the `@vendure/ui-devkit` package, which allows you to create custom builds of the Admin UI.
     If not already installed, install the `@vendure/ui-devkit` package, which allows you to create custom builds of the Admin UI.

+ 1 - 1
docs/docs/guides/extending-the-admin-ui/admin-ui-theming-branding/index.md

@@ -78,7 +78,7 @@ Much of the visual styling of the Admin UI can be customized by providing your o
       --clr-link-visited-color: hsl(110, 55%, 75%);
       --clr-link-visited-color: hsl(110, 55%, 75%);
     }
     }
     ```
     ```
-   To get an idea of which custom properties are available for theming, take a look at the source of the [Default theme](https://github.com/vendure-ecommerce/vendure/tree/master/packages/admin-ui/src/lib/static/styles/theme/default.scss) and the [Dark theme](https://github.com/vendure-ecommerce/vendure/tree/master/packages/admin-ui/src/lib/static/styles/theme/dark.scss)
+   To get an idea of which custom properties are available for theming, take a look at the source of the [Default theme](https://github.com/vendurehq/vendure/tree/master/packages/admin-ui/src/lib/static/styles/theme/default.scss) and the [Dark theme](https://github.com/vendurehq/vendure/tree/master/packages/admin-ui/src/lib/static/styles/theme/dark.scss)
 3. Set this as a globalStyles extension:   
 3. Set this as a globalStyles extension:   
     ```ts title="src/vendure-config.ts"
     ```ts title="src/vendure-config.ts"
     import path from 'path';
     import path from 'path';

+ 1 - 1
docs/docs/guides/extending-the-admin-ui/dashboard-widgets/index.md

@@ -127,7 +127,7 @@ This defines the order of widgets with their default widths. The actual layout i
 
 
 ## Overriding default widgets
 ## Overriding default widgets
 
 
-The Admin UI comes with a set of default widgets, such as the order summary and latest orders widgets (they can be found in [the default-widgets.ts file](https://github.com/vendure-ecommerce/vendure/blob/master/packages/admin-ui/src/lib/dashboard/src/default-widgets.ts)).
+The Admin UI comes with a set of default widgets, such as the order summary and latest orders widgets (they can be found in [the default-widgets.ts file](https://github.com/vendurehq/vendure/blob/master/packages/admin-ui/src/lib/dashboard/src/default-widgets.ts)).
 
 
 Sometimes you may wish to alter the permissions settings of the default widgets to better control which of your Administrators is able to access it.
 Sometimes you may wish to alter the permissions settings of the default widgets to better control which of your Administrators is able to access it.
 
 

+ 1 - 1
docs/docs/guides/extending-the-admin-ui/using-other-frameworks/index.md

@@ -8,7 +8,7 @@ From version 2.1.0, Admin UI extensions can be written in either Angular or Reac
 It is, however, possible to extend the Admin UI using other frameworks such as Vue, Svelte, Solid etc. Note that the extension experience is much more limited than with Angular or React, but depending on your needs it may be sufficient.
 It is, however, possible to extend the Admin UI using other frameworks such as Vue, Svelte, Solid etc. Note that the extension experience is much more limited than with Angular or React, but depending on your needs it may be sufficient.
 
 
 :::info
 :::info
-For working examples of a UI extensions built with **Vue**, see the [real-world-vendure ui extensions](https://github.com/vendure-ecommerce/real-world-vendure/tree/master/src/ui-extensions)
+For working examples of a UI extensions built with **Vue**, see the [real-world-vendure ui extensions](https://github.com/vendurehq/real-world-vendure/tree/master/src/ui-extensions)
 :::
 :::
 
 
 There is still a small amount of Angular "glue code" needed to let the compiler know how to integrate your extension, so let's take a look at how this is done.
 There is still a small amount of Angular "glue code" needed to let the compiler know how to integrate your extension, so let's take a look at how this is done.

+ 3 - 3
docs/docs/guides/getting-started/installation/index.md

@@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem';
 
 
 ## @vendure/create
 ## @vendure/create
 
 
-The recommended way to get started with Vendure is by using the [@vendure/create](https://github.com/vendure-ecommerce/vendure/tree/master/packages/create) tool. This is a command-line tool which will scaffold and configure your new Vendure project and install all dependencies.
+The recommended way to get started with Vendure is by using the [@vendure/create](https://github.com/vendurehq/vendure/tree/master/packages/create) tool. This is a command-line tool which will scaffold and configure your new Vendure project and install all dependencies.
 
 
 ### Quick Start
 ### Quick Start
 
 
@@ -175,7 +175,7 @@ Once complete, you'll see a message like this:
 │  ➡️ Docs: https://docs.vendure.io                     │
 │  ➡️ Docs: https://docs.vendure.io                     │
 │  ➡️ Discord community: https://vendure.io/community   │
 │  ➡️ Discord community: https://vendure.io/community   │
 │  ➡️ Star us on GitHub:                                │
 │  ➡️ Star us on GitHub:                                │
-│     https://github.com/vendure-ecommerce/vendure      │
+│     https://github.com/vendurehq/vendure      │
 │                                                       │
 │                                                       │
 ├───────────────────────────────────────────────────────╯
 ├───────────────────────────────────────────────────────╯
@@ -230,5 +230,5 @@ Use `npx vendure add` to start adding plugins & custom functionality to your Ven
     npx @vendure/create my-shop --log-level verbose
     npx @vendure/create my-shop --log-level verbose
     ```
     ```
 
 
-- The [supported TypeScript version](https://github.com/vendure-ecommerce/vendure/blob/master/packages/create/src/constants.ts#L7) is set upon installation. Upgrading to a newer version of TypeScript might result in compilation errors because TypeScript sometimes introduces stricter checks in newer versions.
+- The [supported TypeScript version](https://github.com/vendurehq/vendure/blob/master/packages/create/src/constants.ts#L7) is set upon installation. Upgrading to a newer version of TypeScript might result in compilation errors because TypeScript sometimes introduces stricter checks in newer versions.
 - If you want to use **Yarn**, from Vendure v2.2.0+, you'll need to use **Yarn 2** (Berry) or above.
 - If you want to use **Yarn**, from Vendure v2.2.0+, you'll need to use **Yarn 2** (Berry) or above.

+ 15 - 15
docs/docs/guides/how-to/cms-integration-plugin/index.mdx

@@ -22,7 +22,7 @@ Platfroms covered in the [guide](/guides/how-to/cms-integration-plugin/#platform
 ## Working Example Repository
 ## Working Example Repository
 
 
 :::info
 :::info
-This guide provides a high-level overview of building a CMS integration plugin. For complete implementations, refer to [working examples repository](https://github.com/vendure-ecommerce/examples/tree/master/examples/cms-integration-plugin)
+This guide provides a high-level overview of building a CMS integration plugin. For complete implementations, refer to [working examples repository](https://github.com/vendurehq/examples/tree/master/examples/cms-integration-plugin)
 
 
 The code examples in this guide are simplified for educational purposes. The actual implementations contain additional features like error handling, retry logic, and performance optimizations.
 The code examples in this guide are simplified for educational purposes. The actual implementations contain additional features like error handling, retry logic, and performance optimizations.
 :::
 :::
@@ -403,7 +403,7 @@ The service can also includes `syncVariantToCms()` and `syncCollectionToCms()` m
 
 
 These implementations are omitted from this guide for brevity, but they handle their respective entity types with similar data fetching, relationship resolution, and error handling patterns.
 These implementations are omitted from this guide for brevity, but they handle their respective entity types with similar data fetching, relationship resolution, and error handling patterns.
 
 
-The complete implementations can be found in the working [example repositories](https://github.com/vendure-ecommerce/examples/tree/master/examples/cms-integration-plugin).
+The complete implementations can be found in the working [example repositories](https://github.com/vendurehq/examples/tree/master/examples/cms-integration-plugin).
 :::
 :::
 
 
 This sync service provides the foundation for handling all Vendure-specific complexity while delegating CMS API communication to specialized services.
 This sync service provides the foundation for handling all Vendure-specific complexity while delegating CMS API communication to specialized services.
@@ -414,7 +414,7 @@ This sync service provides the foundation for handling all Vendure-specific comp
 <TabItem value="storyblok" label="Storyblok">
 <TabItem value="storyblok" label="Storyblok">
 
 
 :::tip Working Example
 :::tip Working Example
-The complete, production-ready Storyblok implementation can be found in the [Storyblok integration example](https://github.com/vendure-ecommerce/examples/tree/master/examples/storyblok-cms-integration). Refer to it for a minimal working implementation.
+The complete, production-ready Storyblok implementation can be found in the [Storyblok integration example](https://github.com/vendurehq/examples/tree/master/examples/storyblok-cms-integration). Refer to it for a minimal working implementation.
 :::
 :::
 
 
 **Setting up Storyblok Space**
 **Setting up Storyblok Space**
@@ -726,13 +726,13 @@ CmsPlugin.init({
 
 
 This setup provides a complete Storyblok CMS integration that automatically creates the necessary content types and syncs your Vendure catalog with structured content in Storyblok.
 This setup provides a complete Storyblok CMS integration that automatically creates the necessary content types and syncs your Vendure catalog with structured content in Storyblok.
 
 
-The complete implementations can be found in the working [example repositories](https://github.com/vendure-ecommerce/examples/tree/master/examples/storyblok-cms-integration).
+The complete implementations can be found in the working [example repositories](https://github.com/vendurehq/examples/tree/master/examples/storyblok-cms-integration).
 
 
 </TabItem>
 </TabItem>
 <TabItem value="contentful" label="Contentful">
 <TabItem value="contentful" label="Contentful">
 
 
 :::tip Working Example
 :::tip Working Example
-The complete, production-ready Contentful implementation can be found in the [Contentful integration example](https://github.com/vendure-ecommerce/examples/tree/master/examples/contentful-cms-integration). It includes advanced features like locale mapping, bulk operations, and a robust setup process.
+The complete, production-ready Contentful implementation can be found in the [Contentful integration example](https://github.com/vendurehq/examples/tree/master/examples/contentful-cms-integration). It includes advanced features like locale mapping, bulk operations, and a robust setup process.
 :::
 :::
 
 
 **Setting up Contentful Space**
 **Setting up Contentful Space**
@@ -1056,7 +1056,7 @@ This configuration provides a complete Contentful CMS integration that automatic
 <TabItem value="strapi" label="Strapi">
 <TabItem value="strapi" label="Strapi">
 
 
 :::tip Working Example
 :::tip Working Example
-The complete, production-ready Strapi implementation can be found in the [Strapi integration example](https://github.com/vendure-ecommerce/examples/tree/master/examples/strapi-cms-integration). It includes advanced features like plugin-based content types, batch operations, and relationship management.
+The complete, production-ready Strapi implementation can be found in the [Strapi integration example](https://github.com/vendurehq/examples/tree/master/examples/strapi-cms-integration). It includes advanced features like plugin-based content types, batch operations, and relationship management.
 :::
 :::
 
 
 This guide provides a complete integration for Vendure with Strapi CMS, including setting up a Strapi application with a custom plugin and implementing the synchronization service.
 This guide provides a complete integration for Vendure with Strapi CMS, including setting up a Strapi application with a custom plugin and implementing the synchronization service.
@@ -1380,13 +1380,13 @@ CmsPlugin.init({
 
 
 This setup provides a complete Strapi CMS integration that automatically creates the necessary content types and syncs your Vendure catalog with structured content in Strapi.
 This setup provides a complete Strapi CMS integration that automatically creates the necessary content types and syncs your Vendure catalog with structured content in Strapi.
 
 
-The complete implementations can be found in the working [example repositories](https://github.com/vendure-ecommerce/examples/tree/master/examples/strapi-cms-integration).
+The complete implementations can be found in the working [example repositories](https://github.com/vendurehq/examples/tree/master/examples/strapi-cms-integration).
 
 
 </TabItem>
 </TabItem>
 <TabItem value="Sanity" label="Sanity">
 <TabItem value="Sanity" label="Sanity">
 
 
 :::tip Working Example
 :::tip Working Example
-The complete, production-ready Sanity implementation can be found in the [Sanity integration example](https://github.com/vendure-ecommerce/examples/tree/master/examples/sanity-cms-integration). It includes advanced features like content type management and bulk operations.
+The complete, production-ready Sanity implementation can be found in the [Sanity integration example](https://github.com/vendurehq/examples/tree/master/examples/sanity-cms-integration). It includes advanced features like content type management and bulk operations.
 :::
 :::
 
 
 This section provides an overview of integrating Vendure with Sanity. Refer to the working example for production patterns.
 This section provides an overview of integrating Vendure with Sanity. Refer to the working example for production patterns.
@@ -1645,13 +1645,13 @@ SANITY_DATASET=production
 
 
 For the complete implementation (including variants and collections, advanced error handling, and bulk operations), see:
 For the complete implementation (including variants and collections, advanced error handling, and bulk operations), see:
 
 
-https://github.com/vendure-ecommerce/examples/tree/master/examples/sanity-cms-integration
+https://github.com/vendurehq/examples/tree/master/examples/sanity-cms-integration
 
 
 </TabItem>
 </TabItem>
 <TabItem value="payload" label="Payload">
 <TabItem value="payload" label="Payload">
 
 
 :::tip Working Example
 :::tip Working Example
-The complete, production-ready Payload implementation can be found in the [Payload integration example](https://github.com/vendure-ecommerce/examples/tree/master/examples/payload-cms-integration). It includes advanced features like local API communication, collection management, and relationship handling.
+The complete, production-ready Payload implementation can be found in the [Payload integration example](https://github.com/vendurehq/examples/tree/master/examples/payload-cms-integration). It includes advanced features like local API communication, collection management, and relationship handling.
 :::
 :::
 
 
 This guide provides a complete integration for Vendure with Payload CMS, including setting up a Payload application and implementing the synchronization service.
 This guide provides a complete integration for Vendure with Payload CMS, including setting up a Payload application and implementing the synchronization service.
@@ -1992,7 +1992,7 @@ CmsPlugin.init({
 ```
 ```
 
 
 This section provides a high-level overview. For a complete, production-ready implementation, see the Payload integration example:
 This section provides a high-level overview. For a complete, production-ready implementation, see the Payload integration example:
-https://github.com/vendure-ecommerce/examples/tree/master/examples/payload-cms-integration
+https://github.com/vendurehq/examples/tree/master/examples/payload-cms-integration
 
 
 </TabItem>
 </TabItem>
 </Tabs>
 </Tabs>
@@ -2077,7 +2077,7 @@ Refer to the platform-specific configuration examples in the tabs above for the
 
 
 For complete, production-ready implementations, see the working examples:
 For complete, production-ready implementations, see the working examples:
 
 
-- [Storyblok CMS Integration](https://github.com/vendure-ecommerce/examples/tree/master/examples/storyblok-cms-integration)
-- [Strapi CMS Integration](https://github.com/vendure-ecommerce/examples/tree/master/examples/strapi-cms-integration)
-- [Sanity CMS Integration](https://github.com/vendure-ecommerce/examples/tree/master/examples/sanity-cms-integration)
-- [Payload CMS Integration](https://github.com/vendure-ecommerce/examples/tree/master/examples/payload-cms-integration)
+- [Storyblok CMS Integration](https://github.com/vendurehq/examples/tree/master/examples/storyblok-cms-integration)
+- [Strapi CMS Integration](https://github.com/vendurehq/examples/tree/master/examples/strapi-cms-integration)
+- [Sanity CMS Integration](https://github.com/vendurehq/examples/tree/master/examples/sanity-cms-integration)
+- [Payload CMS Integration](https://github.com/vendurehq/examples/tree/master/examples/payload-cms-integration)

+ 2 - 2
docs/docs/guides/how-to/digital-products/index.mdx

@@ -14,7 +14,7 @@ This guide will show you how you can add support for digital products to Vendure
 ## Creating the plugin
 ## Creating the plugin
 
 
 :::info
 :::info
-The complete source of the following example plugin can be found here: [example-plugins/digital-products](https://github.com/vendure-ecommerce/vendure/tree/master/packages/dev-server/example-plugins/digital-products)
+The complete source of the following example plugin can be found here: [example-plugins/digital-products](https://github.com/vendurehq/vendure/tree/master/packages/dev-server/example-plugins/digital-products)
 :::
 :::
 
 
 ### Define custom fields
 ### Define custom fields
@@ -283,7 +283,7 @@ export const digitalOrderProcess: OrderProcess<string> = {
 
 
 ### Complete plugin & add to config
 ### Complete plugin & add to config
 
 
-The complete plugin can be found here: [example-plugins/digital-products](https://github.com/vendure-ecommerce/vendure/tree/master/packages/dev-server/example-plugins/digital-products)
+The complete plugin can be found here: [example-plugins/digital-products](https://github.com/vendurehq/vendure/tree/master/packages/dev-server/example-plugins/digital-products)
 
 
 We can now add the plugin to the VendureConfig:
 We can now add the plugin to the VendureConfig:
 
 

+ 1 - 1
docs/docs/guides/how-to/github-oauth-authentication/index.mdx

@@ -7,7 +7,7 @@ import Tabs from '@theme/Tabs';
 import TabItem from '@theme/TabItem';
 import TabItem from '@theme/TabItem';
 
 
 :::info
 :::info
-The complete source of the following example plugin can be found here: [example-plugins/github-auth-plugin](https://github.com/vendure-ecommerce/examples/tree/publish/examples/shop-github-auth)
+The complete source of the following example plugin can be found here: [example-plugins/github-auth-plugin](https://github.com/vendurehq/examples/tree/publish/examples/shop-github-auth)
 :::
 :::
 
 
 GitHub OAuth authentication allows customers to sign in using their GitHub accounts, eliminating the need for password-based registration.
 GitHub OAuth authentication allows customers to sign in using their GitHub accounts, eliminating the need for password-based registration.

+ 1 - 1
docs/docs/guides/how-to/google-oauth-authentication/index.mdx

@@ -7,7 +7,7 @@ import Tabs from '@theme/Tabs';
 import TabItem from '@theme/TabItem';
 import TabItem from '@theme/TabItem';
 
 
 :::info
 :::info
-The complete source of the following example plugin can be found here: [example-plugins/google-auth-plugin](https://github.com/vendure-ecommerce/examples/tree/publish/examples/shop-google-auth)
+The complete source of the following example plugin can be found here: [example-plugins/google-auth-plugin](https://github.com/vendurehq/examples/tree/publish/examples/shop-google-auth)
 :::
 :::
 
 
 **Google OAuth authentication** allows customers to sign in using their Google accounts, providing a seamless experience that eliminates the need for password-based registration.
 **Google OAuth authentication** allows customers to sign in using their Google accounts, providing a seamless experience that eliminates the need for password-based registration.

+ 2 - 2
docs/docs/guides/how-to/multi-vendor-marketplaces/index.md

@@ -12,10 +12,10 @@ This guide introduces the major concepts & APIs you will need to understand in o
 
 
 ## Multi-vendor plugin
 ## Multi-vendor plugin
 
 
-All the concepts presented here have been implemented in our [example multi-vendor plugin](https://github.com/vendure-ecommerce/vendure/tree/master/packages/dev-server/example-plugins/multivendor-plugin). The guides here will refer to specific parts of this plugin which you should consult to get a full understanding of how an implementation would look.
+All the concepts presented here have been implemented in our [example multi-vendor plugin](https://github.com/vendurehq/vendure/tree/master/packages/dev-server/example-plugins/multivendor-plugin). The guides here will refer to specific parts of this plugin which you should consult to get a full understanding of how an implementation would look.
 
 
 :::caution
 :::caution
-**Note:** the [example multi-vendor plugin](https://github.com/vendure-ecommerce/vendure/tree/master/packages/dev-server/example-plugins/multivendor-plugin) is for educational purposes only, and for the sake of clarity leaves out several parts that would be required in a production-ready solution, such as email verification and setup of a real payment solution.
+**Note:** the [example multi-vendor plugin](https://github.com/vendurehq/vendure/tree/master/packages/dev-server/example-plugins/multivendor-plugin) is for educational purposes only, and for the sake of clarity leaves out several parts that would be required in a production-ready solution, such as email verification and setup of a real payment solution.
 :::
 :::
 
 
 ![The Dashboard Aggregate Order screen](./aggregate-order.webp)
 ![The Dashboard Aggregate Order screen](./aggregate-order.webp)

+ 2 - 2
docs/docs/guides/how-to/publish-plugin/index.mdx

@@ -24,7 +24,7 @@ and to share common code such as utility functions & dev tooling.
 
 
 Even if you only have a single plugin at the moment, it's a good idea to set up your project in this way from the start.
 Even if you only have a single plugin at the moment, it's a good idea to set up your project in this way from the start.
 
 
-To that end, we provide a [monorepo plugin starter template](https://github.com/vendure-ecommerce/plugin-template)
+To that end, we provide a [monorepo plugin starter template](https://github.com/vendurehq/plugin-template)
 which you can use as a starting point for your plugin development.
 which you can use as a starting point for your plugin development.
 
 
 This starter template includes support for:
 This starter template includes support for:
@@ -54,7 +54,7 @@ is using a compatible version of Vendure.
 
 
 You are free to license your plugin as you wish. Although Vendure itself is licensed under the GPLv3, there is
 You are free to license your plugin as you wish. Although Vendure itself is licensed under the GPLv3, there is
 a special exception for plugins which allows you to distribute them under a different license. See the
 a special exception for plugins which allows you to distribute them under a different license. See the
-[plugin exception](https://github.com/vendure-ecommerce/vendure/blob/master/license/plugin-exception.txt) for more details.
+[plugin exception](https://github.com/vendurehq/vendure/blob/master/license/plugin-exception.txt) for more details.
 
 
 ## Publishing to npm
 ## Publishing to npm
 
 

+ 2 - 2
docs/docs/guides/how-to/s3-asset-storage/index.mdx

@@ -11,7 +11,7 @@ This guide demonstrates how to integrate S3-compatible asset storage into your V
 ## Working Example Repository
 ## Working Example Repository
 
 
 :::info
 :::info
-This guide is based on the [s3-file-storage](https://github.com/vendure-ecommerce/examples/tree/publish/examples/s3-file-storage) example.
+This guide is based on the [s3-file-storage](https://github.com/vendurehq/examples/tree/publish/examples/s3-file-storage) example.
 Refer to the complete working code for full implementation details.
 Refer to the complete working code for full implementation details.
 :::
 :::
 
 
@@ -455,7 +455,7 @@ S3_FORCE_PATH_STYLE=true-or-false
 ```
 ```
 
 
 :::cli
 :::cli
-Preconfigured environment examples for each storage provider are available in the [s3-file-storage example repository](https://github.com/vendure-ecommerce/examples/tree/publish/examples/s3-file-storage).
+Preconfigured environment examples for each storage provider are available in the [s3-file-storage example repository](https://github.com/vendurehq/examples/tree/publish/examples/s3-file-storage).
 :::
 :::
 
 
 ## Testing Your Configuration
 ## Testing Your Configuration

+ 4 - 4
docs/docs/guides/storefront/storefront-starters/index.mdx

@@ -23,7 +23,7 @@ This starter includes all basic functionality out of the box, including:
 - Styling with Tailwind
 - Styling with Tailwind
 
 
 - 🔗 [next.vendure.io](https://next.vendure.io/)
 - 🔗 [next.vendure.io](https://next.vendure.io/)
-- 💻 [github.com/vendure-ecommerce/storefront-nextjs-starter](https://github.com/vendure-ecommerce/nextjs-starter-vendure)
+- 💻 [github.com/vendurehq/storefront-nextjs-starter](https://github.com/vendurehq/nextjs-starter-vendure)
 
 
 :::note
 :::note
 Prefer to build your own solution? Follow the rest of the guides in this section to learn how to build a Storefront from scratch.
 Prefer to build your own solution? Follow the rest of the guides in this section to learn how to build a Storefront from scratch.
@@ -37,7 +37,7 @@ as demos by the Vendure team, and are now community-maintained.
 ### Remix Storefront
 ### Remix Storefront
 
 
 - 🔗 [remix-storefront.vendure.io](https://remix-storefront.vendure.io/)
 - 🔗 [remix-storefront.vendure.io](https://remix-storefront.vendure.io/)
-- 💻 [github.com/vendure-ecommerce/storefront-remix-starter](https://github.com/vendure-ecommerce/storefront-remix-starter)
+- 💻 [github.com/vendurehq/storefront-remix-starter](https://github.com/vendurehq/storefront-remix-starter)
 
 
 [Remix](https://remix.run/) is a React-based full-stack JavaScript framework which focuses on web standards, modern web app UX, and which helps you build better websites.
 [Remix](https://remix.run/) is a React-based full-stack JavaScript framework which focuses on web standards, modern web app UX, and which helps you build better websites.
 
 
@@ -48,7 +48,7 @@ Our official Remix Storefront starter provides you with a lightning-fast, modern
 ### Qwik Storefront
 ### Qwik Storefront
 
 
 - 🔗 [qwik-storefront.vendure.io](https://qwik-storefront.vendure.io/)
 - 🔗 [qwik-storefront.vendure.io](https://qwik-storefront.vendure.io/)
-- 💻 [github.com/vendure-ecommerce/storefront-qwik-starter](https://github.com/vendure-ecommerce/storefront-qwik-starter)
+- 💻 [github.com/vendurehq/storefront-qwik-starter](https://github.com/vendurehq/storefront-qwik-starter)
 
 
 [Qwik](https://qwik.builder.io/) is a cutting-edge web framework that offers unmatched performance.
 [Qwik](https://qwik.builder.io/) is a cutting-edge web framework that offers unmatched performance.
 
 
@@ -59,7 +59,7 @@ Our official Qwik Storefront starter provides you with a lightning-fast, modern
 ### Angular Storefront
 ### Angular Storefront
 
 
 - 🔗 [angular-storefront.vendure.io](https://angular-storefront.vendure.io/)
 - 🔗 [angular-storefront.vendure.io](https://angular-storefront.vendure.io/)
-- 💻 [github.com/vendure-ecommerce/storefront-angular-starter](https://github.com/vendure-ecommerce/storefront-angular-starter)
+- 💻 [github.com/vendurehq/storefront-angular-starter](https://github.com/vendurehq/storefront-angular-starter)
 
 
 [Angular](https://angular.io/) is a popular, stable, enterprise-grade framework made by Google.
 [Angular](https://angular.io/) is a popular, stable, enterprise-grade framework made by Google.
 
 

+ 1 - 1
docs/docs/reference/core-plugins/elasticsearch-plugin/elasticsearch-options.md

@@ -115,7 +115,7 @@ indexSettings: {
 },
 },
 ```
 ```
 A more complete example can be found in the discussion thread
 A more complete example can be found in the discussion thread
-[How to make elastic plugin to search by substring with stemming](https://github.com/vendure-ecommerce/vendure/discussions/1066).
+[How to make elastic plugin to search by substring with stemming](https://github.com/vendurehq/vendure/discussions/1066).
 ### indexMappingProperties
 ### indexMappingProperties
 
 
 <MemberInfo kind="property" type={`{         [indexName: string]: object;     }`} default={`{}`}  since="1.2.0"  />
 <MemberInfo kind="property" type={`{         [indexName: string]: object;     }`} default={`{}`}  since="1.2.0"  />

+ 1 - 1
docs/docs/reference/core-plugins/email-plugin/index.md

@@ -150,7 +150,7 @@ etc. These defaults can be extended by adding custom templates for languages oth
 which respond to any of the available [VendureEvents](/reference/typescript-api/events/).
 which respond to any of the available [VendureEvents](/reference/typescript-api/events/).
 
 
 A good way to learn how to create your own email handler is to take a look at the
 A good way to learn how to create your own email handler is to take a look at the
-[source code of the default handler](https://github.com/vendure-ecommerce/vendure/blob/master/packages/email-plugin/src/handler/default-email-handlers.ts).
+[source code of the default handler](https://github.com/vendurehq/vendure/blob/master/packages/email-plugin/src/handler/default-email-handlers.ts).
 New handler are defined in exactly the same way.
 New handler are defined in exactly the same way.
 
 
 It is also possible to modify the default handler:
 It is also possible to modify the default handler:

+ 1 - 1
docs/docs/reference/core-plugins/payments-plugin/stripe-plugin.md

@@ -142,7 +142,7 @@ in the storefront. As in the code above, the customer will be redirected to `/ch
 
 
 :::info
 :::info
 A full working storefront example of the Stripe integration can be found in the
 A full working storefront example of the Stripe integration can be found in the
-[Remix Starter repo](https://github.com/vendure-ecommerce/storefront-remix-starter/tree/master/app/components/checkout/stripe)
+[Remix Starter repo](https://github.com/vendurehq/storefront-remix-starter/tree/master/app/components/checkout/stripe)
 :::
 :::
 
 
 ## Local development
 ## Local development

+ 1 - 1
docs/docs/reference/core-plugins/sentry-plugin/index.md

@@ -21,7 +21,7 @@ enriching your Sentry events with additional context about the request.
 :::info
 :::info
 This documentation applies from v3.5.0 of the plugin, which works differently to previous
 This documentation applies from v3.5.0 of the plugin, which works differently to previous
 versions. Documentation for prior versions can
 versions. Documentation for prior versions can
-be found [here](https://github.com/vendure-ecommerce/vendure/blob/1bb9cf8ca1584bce026ccc82f33f866b766ef47d/packages/sentry-plugin/src/sentry-plugin.ts).
+be found [here](https://github.com/vendurehq/vendure/blob/1bb9cf8ca1584bce026ccc82f33f866b766ef47d/packages/sentry-plugin/src/sentry-plugin.ts).
 :::
 :::
 
 
 ## Pre-requisites
 ## Pre-requisites

+ 1 - 1
docs/docs/reference/typescript-api/configuration/collection-filter.md

@@ -18,7 +18,7 @@ The filtering is done by defining the `apply()` function, which receives a TypeO
 [`QueryBuilder`](https://typeorm.io/#/select-query-builder) object to which clauses may be added.
 [`QueryBuilder`](https://typeorm.io/#/select-query-builder) object to which clauses may be added.
 
 
 Creating a CollectionFilter is considered an advanced Vendure topic. For more insight into how
 Creating a CollectionFilter is considered an advanced Vendure topic. For more insight into how
-they work, study the [default collection filters](https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/src/config/catalog/default-collection-filters.ts)
+they work, study the [default collection filters](https://github.com/vendurehq/vendure/blob/master/packages/core/src/config/catalog/default-collection-filters.ts)
 
 
 Here's a simple example of a custom CollectionFilter:
 Here's a simple example of a custom CollectionFilter:
 
 

+ 1 - 1
docs/docs/reference/typescript-api/configuration/vendure-config.md

@@ -14,7 +14,7 @@ import MemberDescription from '@site/src/components/MemberDescription';
 <GenerationInfo sourceFile="packages/core/src/config/vendure-config.ts" sourceLine="1172" packageName="@vendure/core" />
 <GenerationInfo sourceFile="packages/core/src/config/vendure-config.ts" sourceLine="1172" packageName="@vendure/core" />
 
 
 All possible configuration options are defined by the
 All possible configuration options are defined by the
-[`VendureConfig`](https://github.com/vendure-ecommerce/vendure/blob/master/packages/core/src/config/vendure-config.ts) interface.
+[`VendureConfig`](https://github.com/vendurehq/vendure/blob/master/packages/core/src/config/vendure-config.ts) interface.
 
 
 ```ts title="Signature"
 ```ts title="Signature"
 interface VendureConfig {
 interface VendureConfig {

+ 1 - 1
docs/docs/reference/typescript-api/service-helpers/order-modifier.md

@@ -54,7 +54,7 @@ already exists then we will be adding the new quantity to the existing quantity.
 - `quantityInOtherOrderLines` is used when we have more than 1 OrderLine containing the same
 - `quantityInOtherOrderLines` is used when we have more than 1 OrderLine containing the same
 ProductVariant. This occurs when there are custom fields defined on the OrderLine and the lines
 ProductVariant. This occurs when there are custom fields defined on the OrderLine and the lines
 have differing values for one or more custom fields. In this case, we need to take _all_ of these
 have differing values for one or more custom fields. In this case, we need to take _all_ of these
-OrderLines into account when constraining the quantity. See https://github.com/vendure-ecommerce/vendure/issues/2702
+OrderLines into account when constraining the quantity. See https://github.com/vendurehq/vendure/issues/2702
 for more on this.
 for more on this.
 ### getExistingOrderLine
 ### getExistingOrderLine
 
 

+ 3 - 3
docs/docusaurus.config.js

@@ -40,7 +40,7 @@ const config = {
                 docs: {
                 docs: {
                     routeBasePath: '/',
                     routeBasePath: '/',
                     sidebarPath: require.resolve('./sidebars.js'),
                     sidebarPath: require.resolve('./sidebars.js'),
-                    editUrl: 'https://github.com/vendure-ecommerce/vendure/blob/master/docs/',
+                    editUrl: 'https://github.com/vendurehq/vendure/blob/master/docs/',
                     showLastUpdateTime: true,
                     showLastUpdateTime: true,
                     admonitions: {
                     admonitions: {
                         keywords: ['cli'],
                         keywords: ['cli'],
@@ -104,7 +104,7 @@ const config = {
                         position: 'right',
                         position: 'right',
                     },
                     },
                     {
                     {
-                        href: 'https://github.com/vendure-ecommerce/vendure',
+                        href: 'https://github.com/vendurehq/vendure',
                         label: 'GitHub',
                         label: 'GitHub',
                         position: 'right',
                         position: 'right',
                     },
                     },
@@ -126,7 +126,7 @@ const config = {
                             },
                             },
                             {
                             {
                                 label: 'GitHub',
                                 label: 'GitHub',
-                                href: 'https://github.com/vendure-ecommerce/vendure',
+                                href: 'https://github.com/vendurehq/vendure',
                             },
                             },
                         ],
                         ],
                     },
                     },

+ 1 - 1
docs/src/components/GenerationInfo/index.tsx

@@ -25,7 +25,7 @@ export default function MemberInfo(props: {
                 <span>{props.packageName}</span>
                 <span>{props.packageName}</span>
             </a>
             </a>
             <a
             <a
-                href={`https://github.com/vendure-ecommerce/vendure/blob/master/${props.sourceFile}#L${props.sourceLine}`}
+                href={`https://github.com/vendurehq/vendure/blob/master/${props.sourceFile}#L${props.sourceLine}`}
                 target="_blank"
                 target="_blank"
                 className={styles.label}
                 className={styles.label}
             >
             >

+ 1 - 1
e2e-common/vitest.config.bench.ts

@@ -27,7 +27,7 @@ export default defineConfig({
         swc.vite({
         swc.vite({
             jsc: {
             jsc: {
                 transform: {
                 transform: {
-                    // See https://github.com/vendure-ecommerce/vendure/issues/2099
+                    // See https://github.com/vendurehq/vendure/issues/2099
                     useDefineForClassFields: false,
                     useDefineForClassFields: false,
                 },
                 },
             },
             },

+ 1 - 1
e2e-common/vitest.config.mts

@@ -27,7 +27,7 @@ export default defineConfig({
         swc.vite({
         swc.vite({
             jsc: {
             jsc: {
                 transform: {
                 transform: {
-                    // See https://github.com/vendure-ecommerce/vendure/issues/2099
+                    // See https://github.com/vendurehq/vendure/issues/2099
                     useDefineForClassFields: false,
                     useDefineForClassFields: false,
                 },
                 },
             },
             },

+ 114 - 114
package.json

@@ -1,118 +1,118 @@
 {
 {
-  "name": "vendure",
-  "version": "0.0.0",
-  "private": true,
-  "engines": {
-    "node": ">= 18"
-  },
-  "homepage": "https://www.vendure.io",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/vendure-ecommerce/vendure"
-  },
-  "scripts": {
-    "watch": "lerna run watch --parallel",
-    "watch:core-common": "lerna run --scope @vendure/common --scope @vendure/core watch --parallel",
-    "build:core-common": "lerna run --scope @vendure/common --scope @vendure/core build",
-    "lint": "eslint --fix",
-    "format": "prettier --write --html-whitespace-sensitivity ignore",
-    "docs:generate-typescript-docs": "ts-node scripts/docs/generate-typescript-docs.ts",
-    "docs:generate-graphql-docs": "ts-node scripts/docs/generate-graphql-docs.ts --api=shop && ts-node scripts/docs/generate-graphql-docs.ts --api=admin",
-    "docs:build": "npm run docs:generate-typescript-docs && npm run docs:generate-graphql-docs",
-    "codegen": "tsc -p scripts/codegen/plugins && ts-node scripts/codegen/generate-graphql-types.ts",
-    "version": "npm i && npm run check-imports && npm run check-angular-versions && npm run build && npm run check-core-type-defs && npm run generate-changelog && git add CHANGELOG* && git add */version.ts",
-    "test": "lerna run test --stream --no-bail",
-    "e2e": "lerna run e2e --stream --no-bail",
-    "build": "lerna run build",
-    "check-imports": "ts-node scripts/check-imports.ts",
-    "check-core-type-defs": "ts-node scripts/check-core-type-defs.ts",
-    "check-angular-versions": "ts-node scripts/check-angular-versions.ts",
-    "generate-changelog": "ts-node scripts/changelogs/generate-changelog.ts",
-    "publish-release": "lerna version -m \"chore: Publish %s\" --no-push --force-publish --exact",
-    "publish-prerelease": "lerna version -m \"chore: Pre-release %s\" prerelease --exact --no-push --force-publish --preid next --dist-tag next",
-    "publish-local": "lerna version --force-publish --no-git-tag-version && cd scripts && ./publish-to-verdaccio.sh"
-  },
-  "devDependencies": {
-    "@commitlint/cli": "^19.1.0",
-    "@commitlint/config-conventional": "^19.1.0",
-    "@graphql-codegen/add": "6.0.0",
-    "@graphql-codegen/cli": "6.0.0",
-    "@graphql-codegen/fragment-matcher": "6.0.0",
-    "@graphql-codegen/typed-document-node": "^6.0.1",
-    "@graphql-codegen/typescript": "5.0.1",
-    "@graphql-codegen/typescript-operations": "5.0.1",
-    "@graphql-tools/schema": "^10.0.25",
-    "@swc/core": "^1.4.6",
-    "@types/klaw-sync": "^6.0.5",
-    "@types/node": "^20.11.19",
-    "concurrently": "^9.2.0",
-    "conventional-changelog-core": "^7.0.0",
-    "cross-env": "^7.0.3",
-    "find": "^0.3.0",
-    "graphql": "~16.11.0",
-    "husky": "^4.3.0",
-    "klaw-sync": "^6.0.0",
-    "lerna": "^9.0.3",
-    "lint-staged": "^10.5.4",
-    "prettier": "^3.2.5",
-    "prettier-plugin-organize-imports": "^4.1.0",
-    "rollup": "^4.18.0",
-    "tinybench": "^2.6.0",
-    "ts-node": "^10.9.2",
-    "typescript": "5.8.2",
-    "unplugin-swc": "^1.4.4",
-    "vitest": "^3.2.4"
-  },
-  "//": "Fix for https://github.com/npm/cli/issues/4828",
-  "optionalDependencies": {
-    "@nx/nx-darwin-arm64": "17.2.8",
-    "@nx/nx-darwin-x64": "17.2.8",
-    "@nx/nx-linux-x64-gnu": "17.2.8",
-    "@nx/nx-win32-x64-msvc": "17.2.8",
-    "@rollup/rollup-linux-x64-gnu": "^4.13.0",
-    "@swc/core-darwin-arm64": "1.7.19",
-    "@swc/core-linux-x64-gnu": "1.4.7"
-  },
-  "resolutions": {
-    "@apollo/server": "^5.0.0"
-  },
-  "workspaces": {
-    "packages": [
-      "packages/*"
-    ],
-    "nohoist": [
-      "**/@types/jasmine",
-      "**/@types/jasminewd2"
-    ]
-  },
-  "commitlint": {
-    "extends": [
-      "@commitlint/config-conventional"
-    ],
-    "rules": {
-      "subject-case": [
-        2,
-        "always",
-        [
-          "sentence-case"
+    "name": "vendure",
+    "version": "0.0.0",
+    "private": true,
+    "engines": {
+        "node": ">= 18"
+    },
+    "homepage": "https://www.vendure.io",
+    "repository": {
+        "type": "git",
+        "url": "https://github.com/vendurehq/vendure"
+    },
+    "scripts": {
+        "watch": "lerna run watch --parallel",
+        "watch:core-common": "lerna run --scope @vendure/common --scope @vendure/core watch --parallel",
+        "build:core-common": "lerna run --scope @vendure/common --scope @vendure/core build",
+        "lint": "eslint --fix",
+        "format": "prettier --write --html-whitespace-sensitivity ignore",
+        "docs:generate-typescript-docs": "ts-node scripts/docs/generate-typescript-docs.ts",
+        "docs:generate-graphql-docs": "ts-node scripts/docs/generate-graphql-docs.ts --api=shop && ts-node scripts/docs/generate-graphql-docs.ts --api=admin",
+        "docs:build": "npm run docs:generate-typescript-docs && npm run docs:generate-graphql-docs",
+        "codegen": "tsc -p scripts/codegen/plugins && ts-node scripts/codegen/generate-graphql-types.ts",
+        "version": "npm i && npm run check-imports && npm run check-angular-versions && npm run build && npm run check-core-type-defs && npm run generate-changelog && git add CHANGELOG* && git add */version.ts",
+        "test": "lerna run test --stream --no-bail",
+        "e2e": "lerna run e2e --stream --no-bail",
+        "build": "lerna run build",
+        "check-imports": "ts-node scripts/check-imports.ts",
+        "check-core-type-defs": "ts-node scripts/check-core-type-defs.ts",
+        "check-angular-versions": "ts-node scripts/check-angular-versions.ts",
+        "generate-changelog": "ts-node scripts/changelogs/generate-changelog.ts",
+        "publish-release": "lerna version -m \"chore: Publish %s\" --no-push --force-publish --exact",
+        "publish-prerelease": "lerna version -m \"chore: Pre-release %s\" prerelease --exact --no-push --force-publish --preid next --dist-tag next",
+        "publish-local": "lerna version --force-publish --no-git-tag-version && cd scripts && ./publish-to-verdaccio.sh"
+    },
+    "devDependencies": {
+        "@commitlint/cli": "^19.1.0",
+        "@commitlint/config-conventional": "^19.1.0",
+        "@graphql-codegen/add": "6.0.0",
+        "@graphql-codegen/cli": "6.0.0",
+        "@graphql-codegen/fragment-matcher": "6.0.0",
+        "@graphql-codegen/typed-document-node": "^6.0.1",
+        "@graphql-codegen/typescript": "5.0.1",
+        "@graphql-codegen/typescript-operations": "5.0.1",
+        "@graphql-tools/schema": "^10.0.25",
+        "@swc/core": "^1.4.6",
+        "@types/klaw-sync": "^6.0.5",
+        "@types/node": "^20.11.19",
+        "concurrently": "^9.2.0",
+        "conventional-changelog-core": "^7.0.0",
+        "cross-env": "^7.0.3",
+        "find": "^0.3.0",
+        "graphql": "~16.11.0",
+        "husky": "^4.3.0",
+        "klaw-sync": "^6.0.0",
+        "lerna": "^9.0.3",
+        "lint-staged": "^10.5.4",
+        "prettier": "^3.2.5",
+        "prettier-plugin-organize-imports": "^4.1.0",
+        "rollup": "^4.18.0",
+        "tinybench": "^2.6.0",
+        "ts-node": "^10.9.2",
+        "typescript": "5.8.2",
+        "unplugin-swc": "^1.4.4",
+        "vitest": "^3.2.4"
+    },
+    "//": "Fix for https://github.com/npm/cli/issues/4828",
+    "optionalDependencies": {
+        "@nx/nx-darwin-arm64": "17.2.8",
+        "@nx/nx-darwin-x64": "17.2.8",
+        "@nx/nx-linux-x64-gnu": "17.2.8",
+        "@nx/nx-win32-x64-msvc": "17.2.8",
+        "@rollup/rollup-linux-x64-gnu": "^4.13.0",
+        "@swc/core-darwin-arm64": "1.7.19",
+        "@swc/core-linux-x64-gnu": "1.4.7"
+    },
+    "resolutions": {
+        "@apollo/server": "^5.0.0"
+    },
+    "workspaces": {
+        "packages": [
+            "packages/*"
+        ],
+        "nohoist": [
+            "**/@types/jasmine",
+            "**/@types/jasminewd2"
         ]
         ]
-      ]
+    },
+    "commitlint": {
+        "extends": [
+            "@commitlint/config-conventional"
+        ],
+        "rules": {
+            "subject-case": [
+                2,
+                "always",
+                [
+                    "sentence-case"
+                ]
+            ]
+        }
+    },
+    "husky": {
+        "hooks": {
+            "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS",
+            "post-commit": "git update-index --again",
+            "pre-commit": "NODE_OPTIONS=\"--max-old-space-size=8096\" lint-staged"
+        }
+    },
+    "dependencies": {
+        "@typescript-eslint/eslint-plugin": "^5.54.1",
+        "@typescript-eslint/parser": "^5.54.1",
+        "eslint": "^8.41.0",
+        "eslint-config-prettier": "^8.8.0",
+        "eslint-plugin-import": "^2.27.5",
+        "eslint-plugin-jsdoc": "^45.0.0",
+        "eslint-plugin-prefer-arrow": "^1.2.3"
     }
     }
-  },
-  "husky": {
-    "hooks": {
-      "commit-msg": "commitlint -e $HUSKY_GIT_PARAMS",
-      "post-commit": "git update-index --again",
-      "pre-commit": "NODE_OPTIONS=\"--max-old-space-size=8096\" lint-staged"
-    }
-  },
-  "dependencies": {
-    "@typescript-eslint/eslint-plugin": "^5.54.1",
-    "@typescript-eslint/parser": "^5.54.1",
-    "eslint": "^8.41.0",
-    "eslint-config-prettier": "^8.8.0",
-    "eslint-plugin-import": "^2.27.5",
-    "eslint-plugin-jsdoc": "^45.0.0",
-    "eslint-plugin-prefer-arrow": "^1.2.3"
-  }
 }
 }

+ 1 - 1
packages/admin-ui-plugin/package.json

@@ -8,7 +8,7 @@
     ],
     ],
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "license": "GPL-3.0-or-later",
     "license": "GPL-3.0-or-later",
     "scripts": {
     "scripts": {

+ 1 - 1
packages/admin-ui/package.json

@@ -4,7 +4,7 @@
     "license": "GPL-3.0-or-later",
     "license": "GPL-3.0-or-later",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "scripts": {
     "scripts": {
         "ng": "ng",
         "ng": "ng",

+ 2 - 2
packages/admin-ui/src/lib/core/src/shared/components/asset-file-input/asset-file-input.component.ts

@@ -52,7 +52,7 @@ export class AssetFileInputComponent implements OnInit {
         this.fitDropZoneToTarget();
         this.fitDropZoneToTarget();
     }
     }
 
 
-    // DragEvent is not supported in Safari, see https://github.com/vendure-ecommerce/vendure/pull/284
+    // DragEvent is not supported in Safari, see https://github.com/vendurehq/vendure/pull/284
     @HostListener('document:dragleave', ['$event'])
     @HostListener('document:dragleave', ['$event'])
     onDragLeave(event: any) {
     onDragLeave(event: any) {
         if (!event.clientX && !event.clientY) {
         if (!event.clientX && !event.clientY) {
@@ -68,7 +68,7 @@ export class AssetFileInputComponent implements OnInit {
         event.preventDefault();
         event.preventDefault();
     }
     }
 
 
-    // DragEvent is not supported in Safari, see https://github.com/vendure-ecommerce/vendure/pull/284
+    // DragEvent is not supported in Safari, see https://github.com/vendurehq/vendure/pull/284
     onDrop(event: any) {
     onDrop(event: any) {
         event.preventDefault();
         event.preventDefault();
         this.dragging = false;
         this.dragging = false;

+ 1 - 1
packages/admin-ui/src/lib/core/src/shared/components/split-view/split-view.component.scss

@@ -20,7 +20,7 @@
             background-color: var(--clr-global-selection-color);
             background-color: var(--clr-global-selection-color);
         }
         }
         &.expanded {
         &.expanded {
-            // Fix for Firefox layout https://github.com/vendure-ecommerce/vendure/issues/531
+            // Fix for Firefox layout https://github.com/vendurehq/vendure/issues/531
             width: calc(100% - 40vw);
             width: calc(100% - 40vw);
         }
         }
     }
     }

+ 1 - 2
packages/admin-ui/src/lib/core/src/shared/pipes/locale-currency.pipe.spec.ts

@@ -1,4 +1,3 @@
-import { Injectable } from '@angular/core';
 import { CurrencyService } from '@vendure/admin-ui/core';
 import { CurrencyService } from '@vendure/admin-ui/core';
 import { CurrencyCode, LanguageCode } from '../../common/generated-types';
 import { CurrencyCode, LanguageCode } from '../../common/generated-types';
 
 
@@ -29,7 +28,7 @@ describe('LocaleCurrencyPipe', () => {
         expect(pipe.transform(4200000, CurrencyCode.EUR, LanguageCode.de)).toBe('42.000,00 €');
         expect(pipe.transform(4200000, CurrencyCode.EUR, LanguageCode.de)).toBe('42.000,00 €');
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1768
+    // https://github.com/vendurehq/vendure/issues/1768
     it('Custom currency code in English', () => {
     it('Custom currency code in English', () => {
         const pipe = new LocaleCurrencyPipe(new MockCurrencyService());
         const pipe = new LocaleCurrencyPipe(new MockCurrencyService());
         const customCurrencyCode = 'FLTH';
         const customCurrencyCode = 'FLTH';

+ 3 - 3
packages/asset-server-plugin/e2e/asset-server-plugin.e2e-spec.ts

@@ -10,7 +10,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import {
 import {
     GetImageTransformParametersArgs,
     GetImageTransformParametersArgs,
     ImageTransformParameters,
     ImageTransformParameters,
@@ -210,7 +210,7 @@ describe('AssetServerPlugin', () => {
             return fetch(`${asset.preview}?h=10.5`);
             return fetch(`${asset.preview}?h=10.5`);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/security/advisories/GHSA-r9mq-3c9r-fmjq
+        // https://github.com/vendurehq/vendure/security/advisories/GHSA-r9mq-3c9r-fmjq
         describe('path traversal', () => {
         describe('path traversal', () => {
             function curlWithPathAsIs(url: string) {
             function curlWithPathAsIs(url: string) {
                 return new Promise<string>((resolve, reject) => {
                 return new Promise<string>((resolve, reject) => {
@@ -318,7 +318,7 @@ describe('AssetServerPlugin', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1563
+    // https://github.com/vendurehq/vendure/issues/1563
     it('falls back to binary preview if image file cannot be processed', async () => {
     it('falls back to binary preview if image file cannot be processed', async () => {
         const filesToUpload = [path.join(__dirname, 'fixtures/assets/bad-image.jpg')];
         const filesToUpload = [path.join(__dirname, 'fixtures/assets/bad-image.jpg')];
         const { createAssets }: CreateAssetsMutation = await adminClient.fileUploadMutation({
         const { createAssets }: CreateAssetsMutation = await adminClient.fileUploadMutation({

+ 1 - 1
packages/asset-server-plugin/package.json

@@ -8,7 +8,7 @@
     ],
     ],
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "license": "GPL-3.0-or-later",
     "license": "GPL-3.0-or-later",
     "scripts": {
     "scripts": {

+ 1 - 1
packages/cli/package.json

@@ -4,7 +4,7 @@
     "description": "A modern, headless ecommerce framework",
     "description": "A modern, headless ecommerce framework",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "keywords": [
     "keywords": [
         "vendure",
         "vendure",

+ 1 - 1
packages/common/package.json

@@ -5,7 +5,7 @@
     "license": "GPL-3.0-or-later",
     "license": "GPL-3.0-or-later",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "scripts": {
     "scripts": {
         "watch": "tsc -p ./tsconfig.build.json -w",
         "watch": "tsc -p ./tsconfig.build.json -w",

+ 1 - 1
packages/common/src/normalize-string.spec.ts

@@ -32,7 +32,7 @@ describe('normalizeString()', () => {
         expect(normalizeString('-_.')).toBe('-_.');
         expect(normalizeString('-_.')).toBe('-_.');
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/679
+    // https://github.com/vendurehq/vendure/issues/679
     it('replaces single quotation marks', () => {
     it('replaces single quotation marks', () => {
         expect(normalizeString('Capture d’écran')).toBe('capture decran');
         expect(normalizeString('Capture d’écran')).toBe('capture decran');
         expect(normalizeString('Capture d‘écran')).toBe('capture decran');
         expect(normalizeString('Capture d‘écran')).toBe('capture decran');

+ 5 - 6
packages/core/e2e/asset.e2e-spec.ts

@@ -8,10 +8,10 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
+import * as Codegen from './graphql/generated-e2e-admin-types';
 import {
 import {
-    AssetFragment,
     AssetWithTagsAndFocalPointFragment,
     AssetWithTagsAndFocalPointFragment,
     CreateAssetsMutation,
     CreateAssetsMutation,
     DeletionResult,
     DeletionResult,
@@ -19,7 +19,6 @@ import {
     LogicalOperator,
     LogicalOperator,
     SortOrder,
     SortOrder,
 } from './graphql/generated-e2e-admin-types';
 } from './graphql/generated-e2e-admin-types';
-import * as Codegen from './graphql/generated-e2e-admin-types';
 import {
 import {
     CREATE_ASSETS,
     CREATE_ASSETS,
     DELETE_ASSET,
     DELETE_ASSET,
@@ -128,7 +127,7 @@ describe('Asset resolver', () => {
     });
     });
 
 
     /**
     /**
-     * https://github.com/vendure-ecommerce/vendure/issues/459
+     * https://github.com/vendurehq/vendure/issues/459
      */
      */
     it('transforms URL when fragment defined before query (GH issue #459)', async () => {
     it('transforms URL when fragment defined before query (GH issue #459)', async () => {
         const { asset } = await adminClient.query<
         const { asset } = await adminClient.query<
@@ -215,7 +214,7 @@ describe('Asset resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/727
+        // https://github.com/vendurehq/vendure/issues/727
         it('file extension with shared type', async () => {
         it('file extension with shared type', async () => {
             const filesToUpload = [path.join(__dirname, 'fixtures/assets/dummy.zip')];
             const filesToUpload = [path.join(__dirname, 'fixtures/assets/dummy.zip')];
             const { createAssets }: Codegen.CreateAssetsMutation = await adminClient.fileUploadMutation({
             const { createAssets }: Codegen.CreateAssetsMutation = await adminClient.fileUploadMutation({
@@ -331,7 +330,7 @@ describe('Asset resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/990
+        // https://github.com/vendurehq/vendure/issues/990
         it('errors if the filesize is too large', async () => {
         it('errors if the filesize is too large', async () => {
             /**
             /**
              * Based on https://stackoverflow.com/a/49433633/772859
              * Based on https://stackoverflow.com/a/49433633/772859

+ 2 - 2
packages/core/e2e/auth.e2e-spec.ts

@@ -324,7 +324,7 @@ describe('Authorization & permissions', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/730
+        // https://github.com/vendurehq/vendure/issues/730
         it('protects against deep query data leakage', async () => {
         it('protects against deep query data leakage', async () => {
             await adminClient.asSuperAdmin();
             await adminClient.asSuperAdmin();
             const { createCustomerGroup } = await adminClient.query<
             const { createCustomerGroup } = await adminClient.query<
@@ -389,7 +389,7 @@ describe('Authorization & permissions', () => {
             }
             }
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2097
+        // https://github.com/vendurehq/vendure/issues/2097
         it('does not overwrite ctx.authorizedAsOwnerOnly with multiple parallel top-level queries', async () => {
         it('does not overwrite ctx.authorizedAsOwnerOnly with multiple parallel top-level queries', async () => {
             // We run this multiple times since the error is based on a race condition that does not
             // We run this multiple times since the error is based on a race condition that does not
             // show up consistently.
             // show up consistently.

+ 12 - 15
packages/core/e2e/authentication-strategy.e2e-spec.ts

@@ -8,7 +8,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import {
 import {
     TestAuthenticationStrategy,
     TestAuthenticationStrategy,
@@ -18,13 +18,13 @@ import {
     VALID_AUTH_TOKEN,
     VALID_AUTH_TOKEN,
 } from './fixtures/test-authentication-strategies';
 } from './fixtures/test-authentication-strategies';
 import { CURRENT_USER_FRAGMENT } from './graphql/fragments';
 import { CURRENT_USER_FRAGMENT } from './graphql/fragments';
+import * as Codegen from './graphql/generated-e2e-admin-types';
 import {
 import {
     AttemptLoginDocument,
     AttemptLoginDocument,
     CurrentUserFragment,
     CurrentUserFragment,
     CustomerFragment,
     CustomerFragment,
     HistoryEntryType,
     HistoryEntryType,
 } from './graphql/generated-e2e-admin-types';
 } from './graphql/generated-e2e-admin-types';
-import * as Codegen from './graphql/generated-e2e-admin-types';
 import { RegisterMutation, RegisterMutationVariables } from './graphql/generated-e2e-shop-types';
 import { RegisterMutation, RegisterMutationVariables } from './graphql/generated-e2e-shop-types';
 import { CREATE_CUSTOMER, DELETE_CUSTOMER, GET_CUSTOMER_HISTORY, ME } from './graphql/shared-definitions';
 import { CREATE_CUSTOMER, DELETE_CUSTOMER, GET_CUSTOMER_HISTORY, ME } from './graphql/shared-definitions';
 import { REGISTER_ACCOUNT } from './graphql/shop-definitions';
 import { REGISTER_ACCOUNT } from './graphql/shop-definitions';
@@ -193,7 +193,7 @@ describe('AuthenticationStrategy', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/695
+        // https://github.com/vendurehq/vendure/issues/695
         it('multiple external auth strategies to not interfere with one another', async () => {
         it('multiple external auth strategies to not interfere with one another', async () => {
             const EXPECTED_CUSTOMERS = [
             const EXPECTED_CUSTOMERS = [
                 {
                 {
@@ -206,9 +206,8 @@ describe('AuthenticationStrategy', () => {
                 },
                 },
             ];
             ];
 
 
-            const { customers: customers1 } = await adminClient.query<Codegen.GetCustomersQuery>(
-                GET_CUSTOMERS,
-            );
+            const { customers: customers1 } =
+                await adminClient.query<Codegen.GetCustomersQuery>(GET_CUSTOMERS);
             expect(customers1.items).toEqual(EXPECTED_CUSTOMERS);
             expect(customers1.items).toEqual(EXPECTED_CUSTOMERS);
             const { authenticate: auth1 } = await shopClient.query<Codegen.AuthenticateMutation>(
             const { authenticate: auth1 } = await shopClient.query<Codegen.AuthenticateMutation>(
                 AUTHENTICATE,
                 AUTHENTICATE,
@@ -225,9 +224,8 @@ describe('AuthenticationStrategy', () => {
             currentUserGuard.assertSuccess(auth1);
             currentUserGuard.assertSuccess(auth1);
             expect(auth1.identifier).toBe(userData.email);
             expect(auth1.identifier).toBe(userData.email);
 
 
-            const { customers: customers2 } = await adminClient.query<Codegen.GetCustomersQuery>(
-                GET_CUSTOMERS,
-            );
+            const { customers: customers2 } =
+                await adminClient.query<Codegen.GetCustomersQuery>(GET_CUSTOMERS);
             expect(customers2.items).toEqual(EXPECTED_CUSTOMERS);
             expect(customers2.items).toEqual(EXPECTED_CUSTOMERS);
 
 
             await shopClient.asAnonymousUser();
             await shopClient.asAnonymousUser();
@@ -247,9 +245,8 @@ describe('AuthenticationStrategy', () => {
             currentUserGuard.assertSuccess(auth2);
             currentUserGuard.assertSuccess(auth2);
             expect(auth2.identifier).toBe(userData.email);
             expect(auth2.identifier).toBe(userData.email);
 
 
-            const { customers: customers3 } = await adminClient.query<Codegen.GetCustomersQuery>(
-                GET_CUSTOMERS,
-            );
+            const { customers: customers3 } =
+                await adminClient.query<Codegen.GetCustomersQuery>(GET_CUSTOMERS);
             expect(customers3.items).toEqual(EXPECTED_CUSTOMERS);
             expect(customers3.items).toEqual(EXPECTED_CUSTOMERS);
         });
         });
 
 
@@ -303,7 +300,7 @@ describe('AuthenticationStrategy', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/926
+        // https://github.com/vendurehq/vendure/issues/926
         it('Customer and Admin external auth does not reuse same User for different strategies', async () => {
         it('Customer and Admin external auth does not reuse same User for different strategies', async () => {
             const emailAddress = 'hello@test-domain.com';
             const emailAddress = 'hello@test-domain.com';
             await adminClient.asAnonymousUser();
             await adminClient.asAnonymousUser();
@@ -338,7 +335,7 @@ describe('AuthenticationStrategy', () => {
     describe('native auth', () => {
     describe('native auth', () => {
         const testEmailAddress = 'test-person@testdomain.com';
         const testEmailAddress = 'test-person@testdomain.com';
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/486#issuecomment-704991768
+        // https://github.com/vendurehq/vendure/issues/486#issuecomment-704991768
         it('allows login for an email address which is shared by a previously-deleted Customer', async () => {
         it('allows login for an email address which is shared by a previously-deleted Customer', async () => {
             const { createCustomer: result1 } = await adminClient.query<
             const { createCustomer: result1 } = await adminClient.query<
                 Codegen.CreateCustomerMutation,
                 Codegen.CreateCustomerMutation,
@@ -413,7 +410,7 @@ describe('No NativeAuthStrategy on Shop API', () => {
         await server.destroy();
         await server.destroy();
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2282
+    // https://github.com/vendurehq/vendure/issues/2282
     it('can log in to Admin API', async () => {
     it('can log in to Admin API', async () => {
         const { login } = await adminClient.query(AttemptLoginDocument, {
         const { login } = await adminClient.query(AttemptLoginDocument, {
             username: 'superadmin',
             username: 'superadmin',

+ 9 - 9
packages/core/e2e/collection.e2e-spec.ts

@@ -107,7 +107,7 @@ describe('Collection resolver', () => {
     });
     });
 
 
     /**
     /**
-     * Test case for https://github.com/vendure-ecommerce/vendure/issues/97
+     * Test case for https://github.com/vendurehq/vendure/issues/97
      */
      */
     it('collection breadcrumbs works after bootstrap', async () => {
     it('collection breadcrumbs works after bootstrap', async () => {
         const result = await adminClient.query<Codegen.GetCollectionBreadcrumbsQuery>(
         const result = await adminClient.query<Codegen.GetCollectionBreadcrumbsQuery>(
@@ -517,7 +517,7 @@ describe('Collection resolver', () => {
             expect(result.collection.id).toBe(computersCollection.id);
             expect(result.collection.id).toBe(computersCollection.id);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/538
+        // https://github.com/vendurehq/vendure/issues/538
         it('falls back to default language slug', async () => {
         it('falls back to default language slug', async () => {
             const result = await adminClient.query<
             const result = await adminClient.query<
                 Codegen.GetCollectionQuery,
                 Codegen.GetCollectionQuery,
@@ -573,7 +573,7 @@ describe('Collection resolver', () => {
             expect(result.collection.parent!.name).toBe('Electronics');
             expect(result.collection.parent!.name).toBe('Electronics');
         });
         });
 
 
-        // Tests fix for https://github.com/vendure-ecommerce/vendure/issues/361
+        // Tests fix for https://github.com/vendurehq/vendure/issues/361
         it('parent field resolved by CollectionEntityResolver', async () => {
         it('parent field resolved by CollectionEntityResolver', async () => {
             const { product } = await adminClient.query<
             const { product } = await adminClient.query<
                 Codegen.GetProductCollectionsWithParentQuery,
                 Codegen.GetProductCollectionsWithParentQuery,
@@ -635,7 +635,7 @@ describe('Collection resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/981
+        // https://github.com/vendurehq/vendure/issues/981
         it('nested parent field in shop API', async () => {
         it('nested parent field in shop API', async () => {
             const { collections } = await shopClient.query<Codegen.GetCollectionNestedParentsQuery>(
             const { collections } = await shopClient.query<Codegen.GetCollectionNestedParentsQuery>(
                 GET_COLLECTION_NESTED_PARENTS,
                 GET_COLLECTION_NESTED_PARENTS,
@@ -718,7 +718,7 @@ describe('Collection resolver', () => {
             expect(collections.items[0].assets).toBeDefined();
             expect(collections.items[0].assets).toBeDefined();
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/642
+        // https://github.com/vendurehq/vendure/issues/642
         it('sorting on Collection.productVariants.price', async () => {
         it('sorting on Collection.productVariants.price', async () => {
             const { collection } = await adminClient.query<
             const { collection } = await adminClient.query<
                 Codegen.GetCollectionQuery,
                 Codegen.GetCollectionQuery,
@@ -737,7 +737,7 @@ describe('Collection resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/3107
+        // https://github.com/vendurehq/vendure/issues/3107
         it('collection list with translations, filtered by name', async () => {
         it('collection list with translations, filtered by name', async () => {
             const { collections } = await adminClient.query(GET_COLLECTION_LIST_WITH_TRANSLATIONS, {
             const { collections } = await adminClient.query(GET_COLLECTION_LIST_WITH_TRANSLATIONS, {
                 options: {
                 options: {
@@ -937,7 +937,7 @@ describe('Collection resolver', () => {
             ),
             ),
         );
         );
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1595
+        // https://github.com/vendurehq/vendure/issues/1595
         it('children correctly ordered', async () => {
         it('children correctly ordered', async () => {
             await adminClient.query<Codegen.MoveCollectionMutation, Codegen.MoveCollectionMutationVariables>(
             await adminClient.query<Codegen.MoveCollectionMutation, Codegen.MoveCollectionMutationVariables>(
                 MOVE_COLLECTION,
                 MOVE_COLLECTION,
@@ -1505,7 +1505,7 @@ describe('Collection resolver', () => {
                 ]);
                 ]);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/927
+            // https://github.com/vendurehq/vendure/issues/927
             it('nested variantName filter', async () => {
             it('nested variantName filter', async () => {
                 const parent = await createVariantNameFilteredCollection('contains', 'lap');
                 const parent = await createVariantNameFilteredCollection('contains', 'lap');
 
 
@@ -2147,7 +2147,7 @@ describe('Collection resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1213
+        // https://github.com/vendurehq/vendure/issues/1213
         it('does not list deleted variants', async () => {
         it('does not list deleted variants', async () => {
             await adminClient.query<
             await adminClient.query<
                 Codegen.DeleteProductVariantMutation,
                 Codegen.DeleteProductVariantMutation,

+ 1 - 1
packages/core/e2e/custom-field-default-values.e2e-spec.ts

@@ -8,7 +8,7 @@ import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-conf
 
 
 /**
 /**
  * Tests for GitHub issue #3266: Custom field default values not applied when explicitly set to null
  * Tests for GitHub issue #3266: Custom field default values not applied when explicitly set to null
- * https://github.com/vendure-ecommerce/vendure/issues/3266
+ * https://github.com/vendurehq/vendure/issues/3266
  */
  */
 
 
 const customConfig = {
 const customConfig = {

+ 15 - 15
packages/core/e2e/custom-field-relations.e2e-spec.ts

@@ -272,7 +272,7 @@ describe('Custom field relations', () => {
             assertTranslatableCustomFieldValues(product);
             assertTranslatableCustomFieldValues(product);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2453
+        // https://github.com/vendurehq/vendure/issues/2453
         it('translatable eager-loaded relation works (issue 2453)', async () => {
         it('translatable eager-loaded relation works (issue 2453)', async () => {
             const { collections } = await adminClient.query(gql`
             const { collections } = await adminClient.query(gql`
                 query {
                 query {
@@ -495,7 +495,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateCollection.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateCollection.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on Collection does not delete primitive values', async () => {
             it('updating custom field relation on Collection does not delete primitive values', async () => {
                 const { updateCollection } = await adminClient.query(gql`
                 const { updateCollection } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -612,7 +612,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateFacet.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateFacet.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on Facet does not delete primitive values', async () => {
             it('updating custom field relation on Facet does not delete primitive values', async () => {
                 const { updateFacet } = await adminClient.query(gql`
                 const { updateFacet } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -672,7 +672,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateFacetValues[0].customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateFacetValues[0].customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on FacetValue does not delete primitive values', async () => {
             it('updating custom field relation on FacetValue does not delete primitive values', async () => {
                 const { updateFacetValues } = await adminClient.query(gql`
                 const { updateFacetValues } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -766,7 +766,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(setOrderCustomFields.customFields, 'T_1', ['T_1', 'T_2']);
                 assertCustomFieldIds(setOrderCustomFields.customFields, 'T_1', ['T_1', 'T_2']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1664#issuecomment-1320872627
+            // https://github.com/vendurehq/vendure/issues/1664#issuecomment-1320872627
             it('admin order query with eager-loaded custom field relation', async () => {
             it('admin order query with eager-loaded custom field relation', async () => {
                 const { order } = await adminClient.query(gql`
                 const { order } = await adminClient.query(gql`
                     query {
                     query {
@@ -846,7 +846,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateProduct.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateProduct.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on Product does not delete primitive values', async () => {
             it('updating custom field relation on Product does not delete primitive values', async () => {
                 const { updateProduct } = await adminClient.query(gql`
                 const { updateProduct } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -904,7 +904,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateProductVariants[0].customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateProductVariants[0].customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on ProductVariant does not delete primitive values', async () => {
             it('updating custom field relation on ProductVariant does not delete primitive values', async () => {
                 const { updateProductVariants } = await adminClient.query(gql`
                 const { updateProductVariants } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -924,7 +924,7 @@ describe('Custom field relations', () => {
             });
             });
 
 
             describe('issue 1664', () => {
             describe('issue 1664', () => {
-                // https://github.com/vendure-ecommerce/vendure/issues/1664
+                // https://github.com/vendurehq/vendure/issues/1664
                 it('successfully gets product by id with eager-loading custom field relation', async () => {
                 it('successfully gets product by id with eager-loading custom field relation', async () => {
                     const { product } = await shopClient.query(gql`
                     const { product } = await shopClient.query(gql`
                         query {
                         query {
@@ -944,7 +944,7 @@ describe('Custom field relations', () => {
                     expect(product).toBeDefined();
                     expect(product).toBeDefined();
                 });
                 });
 
 
-                // https://github.com/vendure-ecommerce/vendure/issues/1664
+                // https://github.com/vendurehq/vendure/issues/1664
                 it('successfully gets product by id with nested eager-loading custom field relation', async () => {
                 it('successfully gets product by id with nested eager-loading custom field relation', async () => {
                     const { customer } = await adminClient.query(gql`
                     const { customer } = await adminClient.query(gql`
                         query {
                         query {
@@ -968,7 +968,7 @@ describe('Custom field relations', () => {
                     expect(customer).toBeDefined();
                     expect(customer).toBeDefined();
                 });
                 });
 
 
-                // https://github.com/vendure-ecommerce/vendure/issues/1664
+                // https://github.com/vendurehq/vendure/issues/1664
                 it('successfully gets product.variants with nested custom field relation', async () => {
                 it('successfully gets product.variants with nested custom field relation', async () => {
                     await adminClient.query(gql`
                     await adminClient.query(gql`
                         mutation {
                         mutation {
@@ -1090,7 +1090,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateProductOptionGroup.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateProductOptionGroup.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on ProductOptionGroup does not delete primitive values', async () => {
             it('updating custom field relation on ProductOptionGroup does not delete primitive values', async () => {
                 const { updateProductOptionGroup } = await adminClient.query(gql`
                 const { updateProductOptionGroup } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -1148,7 +1148,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateProductOption.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateProductOption.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on ProductOption does not delete primitive values', async () => {
             it('updating custom field relation on ProductOption does not delete primitive values', async () => {
                 const { updateProductOption } = await adminClient.query(gql`
                 const { updateProductOption } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -1223,7 +1223,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updateShippingMethod.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updateShippingMethod.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on ShippingMethod does not delete primitive values', async () => {
             it('updating custom field relation on ShippingMethod does not delete primitive values', async () => {
                 const { updateShippingMethod } = await adminClient.query(gql`
                 const { updateShippingMethod } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -1306,7 +1306,7 @@ describe('Custom field relations', () => {
                 assertCustomFieldIds(updatePaymentMethod.customFields, 'T_2', ['T_3', 'T_4']);
                 assertCustomFieldIds(updatePaymentMethod.customFields, 'T_2', ['T_3', 'T_4']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/2840
+            // https://github.com/vendurehq/vendure/issues/2840
             it('updating custom field relation on PaymentMethod does not delete primitive values', async () => {
             it('updating custom field relation on PaymentMethod does not delete primitive values', async () => {
                 const { updatePaymentMethod } = await adminClient.query(gql`
                 const { updatePaymentMethod } = await adminClient.query(gql`
                     mutation {
                     mutation {
@@ -1372,7 +1372,7 @@ describe('Custom field relations', () => {
                 expect(asset.customFields.multi.length).toEqual(2);
                 expect(asset.customFields.multi.length).toEqual(2);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1636
+            // https://github.com/vendurehq/vendure/issues/1636
             it('calling TransactionalConnection.findOneInChannel() returns custom field relations', async () => {
             it('calling TransactionalConnection.findOneInChannel() returns custom field relations', async () => {
                 TestPlugin1636_1664.testResolverSpy.mockReset();
                 TestPlugin1636_1664.testResolverSpy.mockReset();
                 await shopClient.query(gql`
                 await shopClient.query(gql`

+ 2 - 2
packages/core/e2e/custom-field-struct.e2e-spec.ts

@@ -2,7 +2,7 @@ import { mergeConfig } from '@vendure/core';
 import { createTestEnvironment } from '@vendure/testing';
 import { createTestEnvironment } from '@vendure/testing';
 import gql from 'graphql-tag';
 import gql from 'graphql-tag';
 import path from 'path';
 import path from 'path';
-import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
+import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
@@ -85,7 +85,7 @@ const customConfig = mergeConfig(testConfig(), {
                 ],
                 ],
             },
             },
         ],
         ],
-        // https://github.com/vendure-ecommerce/vendure/issues/3381
+        // https://github.com/vendurehq/vendure/issues/3381
         GlobalSettings: [
         GlobalSettings: [
             {
             {
                 name: 'tipsPercentage',
                 name: 'tipsPercentage',

+ 6 - 6
packages/core/e2e/custom-fields.e2e-spec.ts

@@ -203,7 +203,7 @@ const customConfig = mergeConfig(testConfig(), {
             },
             },
         ],
         ],
         // Single readonly Address custom field to test
         // Single readonly Address custom field to test
-        // https://github.com/vendure-ecommerce/vendure/issues/3326
+        // https://github.com/vendurehq/vendure/issues/3326
         Address: [
         Address: [
             {
             {
                 name: 'hereId',
                 name: 'hereId',
@@ -788,7 +788,7 @@ describe('Custom fields', () => {
             }, 'async error'),
             }, 'async error'),
         );
         );
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1000
+        // https://github.com/vendurehq/vendure/issues/1000
         it(
         it(
             'supports validation of relation types',
             'supports validation of relation types',
             assertThrowsWithMessage(async () => {
             assertThrowsWithMessage(async () => {
@@ -805,7 +805,7 @@ describe('Custom fields', () => {
             }, 'relation error'),
             }, 'relation error'),
         );
         );
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1091
+        // https://github.com/vendurehq/vendure/issues/1091
         it('handles well graphql internal fields', async () => {
         it('handles well graphql internal fields', async () => {
             // throws "Cannot read property 'args' of undefined" if broken
             // throws "Cannot read property 'args' of undefined" if broken
             await adminClient.query(gql`
             await adminClient.query(gql`
@@ -823,7 +823,7 @@ describe('Custom fields', () => {
             `);
             `);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1953
+        // https://github.com/vendurehq/vendure/issues/1953
         describe('validation of OrderLine custom fields', () => {
         describe('validation of OrderLine custom fields', () => {
             it('addItemToOrder', async () => {
             it('addItemToOrder', async () => {
                 try {
                 try {
@@ -971,7 +971,7 @@ describe('Custom fields', () => {
             }, 'Cannot query field "internalString" on type "ProductCustomFields"'),
             }, 'Cannot query field "internalString" on type "ProductCustomFields"'),
         );
         );
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/3049
+        // https://github.com/vendurehq/vendure/issues/3049
         it('does not leak private fields via JSON type', async () => {
         it('does not leak private fields via JSON type', async () => {
             const { collection } = await shopClient.query(gql`
             const { collection } = await shopClient.query(gql`
                 query {
                 query {
@@ -999,7 +999,7 @@ describe('Custom fields', () => {
             expect(products.totalItems).toBe(1);
             expect(products.totalItems).toBe(1);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1581
+        // https://github.com/vendurehq/vendure/issues/1581
         it('can sort by localeString custom fields', async () => {
         it('can sort by localeString custom fields', async () => {
             const { products } = await adminClient.query(gql`
             const { products } = await adminClient.query(gql`
                 query {
                 query {

+ 2 - 2
packages/core/e2e/customer-channel.e2e-spec.ts

@@ -4,7 +4,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import { CurrencyCode, LanguageCode } from './graphql/generated-e2e-admin-types';
 import { CurrencyCode, LanguageCode } from './graphql/generated-e2e-admin-types';
@@ -300,7 +300,7 @@ describe('ChannelAware Customers', () => {
             expect(customers.items.map(customer => customer.emailAddress)).toContain('john.doe.2@test.com');
             expect(customers.items.map(customer => customer.emailAddress)).toContain('john.doe.2@test.com');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/834
+        // https://github.com/vendurehq/vendure/issues/834
         it('handles concurrent assignments to a new channel', async () => {
         it('handles concurrent assignments to a new channel', async () => {
             const THIRD_CHANNEL_TOKEN = 'third_channel_token';
             const THIRD_CHANNEL_TOKEN = 'third_channel_token';
             await adminClient.query<Codegen.CreateChannelMutation, Codegen.CreateChannelMutationVariables>(
             await adminClient.query<Codegen.CreateChannelMutation, Codegen.CreateChannelMutationVariables>(

+ 4 - 5
packages/core/e2e/customer-group.e2e-spec.ts

@@ -4,7 +4,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import { HistoryEntryType } from './graphql/generated-e2e-admin-types';
 import { HistoryEntryType } from './graphql/generated-e2e-admin-types';
@@ -273,13 +273,12 @@ describe('CustomerGroup resolver', () => {
         expect(deleteCustomerGroup.message).toBeNull();
         expect(deleteCustomerGroup.message).toBeNull();
         expect(deleteCustomerGroup.result).toBe(DeletionResult.DELETED);
         expect(deleteCustomerGroup.result).toBe(DeletionResult.DELETED);
 
 
-        const { customerGroups } = await adminClient.query<Codegen.GetCustomerGroupsQuery>(
-            GET_CUSTOMER_GROUPS,
-        );
+        const { customerGroups } =
+            await adminClient.query<Codegen.GetCustomerGroupsQuery>(GET_CUSTOMER_GROUPS);
         expect(customerGroups.totalItems).toBe(0);
         expect(customerGroups.totalItems).toBe(0);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1785
+    // https://github.com/vendurehq/vendure/issues/1785
     it('removes customer from group when customer is deleted', async () => {
     it('removes customer from group when customer is deleted', async () => {
         const customer5Id = customers[4].id;
         const customer5Id = customers[4].id;
         const { createCustomerGroup } = await adminClient.query<
         const { createCustomerGroup } = await adminClient.query<

+ 3 - 3
packages/core/e2e/customer.e2e-spec.ts

@@ -582,7 +582,7 @@ describe('Customer resolver', () => {
             expect(updateCustomer.emailAddress).toBe('unique-email@test.com');
             expect(updateCustomer.emailAddress).toBe('unique-email@test.com');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1071
+        // https://github.com/vendurehq/vendure/issues/1071
         it('updates the associated User email address', async () => {
         it('updates the associated User email address', async () => {
             await shopClient.asUserWithCredentials('unique-email@test.com', 'test');
             await shopClient.asUserWithCredentials('unique-email@test.com', 'test');
             const { me } = await shopClient.query<Codegen.MeQuery>(ME);
             const { me } = await shopClient.query<Codegen.MeQuery>(ME);
@@ -590,7 +590,7 @@ describe('Customer resolver', () => {
             expect(me?.identifier).toBe('unique-email@test.com');
             expect(me?.identifier).toBe('unique-email@test.com');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2449
+        // https://github.com/vendurehq/vendure/issues/2449
         it('normalizes email address on update', async () => {
         it('normalizes email address on update', async () => {
             const { updateCustomer } = await adminClient.query<
             const { updateCustomer } = await adminClient.query<
                 Codegen.UpdateCustomerMutation,
                 Codegen.UpdateCustomerMutation,
@@ -695,7 +695,7 @@ describe('Customer resolver', () => {
             expect(createCustomer.user?.identifier).toBe(thirdCustomer.emailAddress);
             expect(createCustomer.user?.identifier).toBe(thirdCustomer.emailAddress);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1960
+        // https://github.com/vendurehq/vendure/issues/1960
         it('delete a guest Customer', async () => {
         it('delete a guest Customer', async () => {
             const orderErrorGuard: ErrorResultGuard<ActiveOrderCustomerFragment> = createErrorResultGuard(
             const orderErrorGuard: ErrorResultGuard<ActiveOrderCustomerFragment> = createErrorResultGuard(
                 input => !!input.lines,
                 input => !!input.lines,

+ 2 - 2
packages/core/e2e/database-transactions.e2e-spec.ts

@@ -239,7 +239,7 @@ describe('Transaction infrastructure', () => {
         expect(TransactionTestPlugin.errorHandler).not.toHaveBeenCalled();
         expect(TransactionTestPlugin.errorHandler).not.toHaveBeenCalled();
     });
     });
 
 
-    // Testing https://github.com/vendure-ecommerce/vendure/issues/520
+    // Testing https://github.com/vendurehq/vendure/issues/520
     it('passing transaction via EventBus', async () => {
     it('passing transaction via EventBus', async () => {
         TransactionTestPlugin.reset();
         TransactionTestPlugin.reset();
         const { createTestAdministrator } = await adminClient.query(CREATE_ADMIN, {
         const { createTestAdministrator } = await adminClient.query(CREATE_ADMIN, {
@@ -251,7 +251,7 @@ describe('Transaction infrastructure', () => {
         expect(TransactionTestPlugin.errorHandler).not.toHaveBeenCalled();
         expect(TransactionTestPlugin.errorHandler).not.toHaveBeenCalled();
     });
     });
 
 
-    // Testing https://github.com/vendure-ecommerce/vendure/issues/1107
+    // Testing https://github.com/vendurehq/vendure/issues/1107
     it('passing transaction via EventBus with delay in committing transaction', async () => {
     it('passing transaction via EventBus with delay in committing transaction', async () => {
         TransactionTestPlugin.reset();
         TransactionTestPlugin.reset();
         const { createTestAdministrator4 } = await adminClient.query(CREATE_ADMIN4, {
         const { createTestAdministrator4 } = await adminClient.query(CREATE_ADMIN4, {

+ 9 - 9
packages/core/e2e/default-search-plugin.e2e-spec.ts

@@ -521,7 +521,7 @@ describe('Default search plugin', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1236
+        // https://github.com/vendurehq/vendure/issues/1236
         it('returns correct facetValues when not grouped by product, with search term', async () => {
         it('returns correct facetValues when not grouped by product, with search term', async () => {
             const result = await shopClient.query<SearchFacetValuesQuery, SearchFacetValuesQueryVariables>(
             const result = await shopClient.query<SearchFacetValuesQuery, SearchFacetValuesQueryVariables>(
                 SEARCH_GET_FACET_VALUES,
                 SEARCH_GET_FACET_VALUES,
@@ -1188,7 +1188,7 @@ describe('Default search plugin', () => {
                 ]);
                 ]);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/295
+            // https://github.com/vendurehq/vendure/issues/295
             it('enabled status survives reindex', async () => {
             it('enabled status survives reindex', async () => {
                 await adminClient.query<ReindexMutation>(REINDEX);
                 await adminClient.query<ReindexMutation>(REINDEX);
 
 
@@ -1201,7 +1201,7 @@ describe('Default search plugin', () => {
                 ]);
                 ]);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1482
+            // https://github.com/vendurehq/vendure/issues/1482
             it('price range omits disabled variant', async () => {
             it('price range omits disabled variant', async () => {
                 const result1 = await shopClient.query<SearchGetPricesQuery, SearchGetPricesQueryVariables>(
                 const result1 = await shopClient.query<SearchGetPricesQuery, SearchGetPricesQueryVariables>(
                     SEARCH_GET_PRICES,
                     SEARCH_GET_PRICES,
@@ -1245,7 +1245,7 @@ describe('Default search plugin', () => {
                 ]);
                 ]);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/745
+            // https://github.com/vendurehq/vendure/issues/745
             it('very long Product descriptions no not cause indexing to fail', async () => {
             it('very long Product descriptions no not cause indexing to fail', async () => {
                 // We generate this long string out of random chars because Postgres uses compression
                 // We generate this long string out of random chars because Postgres uses compression
                 // when storing the string value, so e.g. a long series of a single character will not
                 // when storing the string value, so e.g. a long series of a single character will not
@@ -1298,7 +1298,7 @@ describe('Default search plugin', () => {
             });
             });
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/609
+        // https://github.com/vendurehq/vendure/issues/609
         describe('Synthetic index items', () => {
         describe('Synthetic index items', () => {
             let createdProductId: string;
             let createdProductId: string;
 
 
@@ -1508,7 +1508,7 @@ describe('Default search plugin', () => {
                 expect(searchGrouped.items.map(i => i.productName)).toEqual(['xyz']);
                 expect(searchGrouped.items.map(i => i.productName)).toEqual(['xyz']);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/896
+            // https://github.com/vendurehq/vendure/issues/896
             it('removing from channel with multiple languages', async () => {
             it('removing from channel with multiple languages', async () => {
                 adminClient.setChannelToken(E2E_DEFAULT_CHANNEL_TOKEN);
                 adminClient.setChannelToken(E2E_DEFAULT_CHANNEL_TOKEN);
 
 
@@ -1814,8 +1814,8 @@ describe('Default search plugin', () => {
                     );
                     );
                 }
                 }
 
 
-                // https://github.com/vendure-ecommerce/vendure/issues/1752
-                // https://github.com/vendure-ecommerce/vendure/issues/1746
+                // https://github.com/vendurehq/vendure/issues/1752
+                // https://github.com/vendurehq/vendure/issues/1746
                 it('fallbacks to default language en', async () => {
                 it('fallbacks to default language en', async () => {
                     const { search } = await searchInLanguage(LanguageCode.af);
                     const { search } = await searchInLanguage(LanguageCode.af);
 
 
@@ -1905,7 +1905,7 @@ describe('Default search plugin', () => {
             });
             });
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1789
+        // https://github.com/vendurehq/vendure/issues/1789
         describe('input escaping', () => {
         describe('input escaping', () => {
             function search(term: string) {
             function search(term: string) {
                 return adminClient.query<SearchProductsAdminQuery, SearchProductsAdminQueryVariables>(
                 return adminClient.query<SearchProductsAdminQuery, SearchProductsAdminQueryVariables>(

+ 1 - 1
packages/core/e2e/draft-order.e2e-spec.ts

@@ -410,7 +410,7 @@ describe('Draft Orders resolver', () => {
         expect(setDraftOrderShippingMethod.shippingLines[0].shippingMethod.id).toBe('T_2');
         expect(setDraftOrderShippingMethod.shippingLines[0].shippingMethod.id).toBe('T_2');
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2105
+    // https://github.com/vendurehq/vendure/issues/2105
     it('sets order as placed when payment is settled', async () => {
     it('sets order as placed when payment is settled', async () => {
         TestOrderPlacedStrategy.spy.mockClear();
         TestOrderPlacedStrategy.spy.mockClear();
         expect(TestOrderPlacedStrategy.spy.mock.calls.length).toBe(0);
         expect(TestOrderPlacedStrategy.spy.mock.calls.length).toBe(0);

+ 15 - 15
packages/core/e2e/entity-hydrator.e2e-spec.ts

@@ -1,18 +1,18 @@
 /* eslint-disable @typescript-eslint/no-non-null-assertion */
 /* eslint-disable @typescript-eslint/no-non-null-assertion */
 import {
 import {
+    ActiveOrderService,
     Asset,
     Asset,
     ChannelService,
     ChannelService,
     EntityHydrator,
     EntityHydrator,
     mergeConfig,
     mergeConfig,
     Order,
     Order,
+    OrderLine,
+    OrderService,
     Product,
     Product,
     ProductVariant,
     ProductVariant,
     RequestContext,
     RequestContext,
-    ActiveOrderService,
-    OrderService,
-    TransactionalConnection,
-    OrderLine,
     RequestContextService,
     RequestContextService,
+    TransactionalConnection,
 } from '@vendure/core';
 } from '@vendure/core';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import gql from 'graphql-tag';
 import gql from 'graphql-tag';
@@ -20,7 +20,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import {
 import {
     AdditionalConfig,
     AdditionalConfig,
@@ -165,7 +165,7 @@ describe('Entity hydration', () => {
         expect(getVariantWithName(hydrateProduct, 'Laptop 15 inch 16GB').priceWithTax).toBe(275880);
         expect(getVariantWithName(hydrateProduct, 'Laptop 15 inch 16GB').priceWithTax).toBe(275880);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1153
+    // https://github.com/vendurehq/vendure/issues/1153
     it('correctly handles empty array relations', async () => {
     it('correctly handles empty array relations', async () => {
         // Product T_5 has no asset defined
         // Product T_5 has no asset defined
         const { hydrateProductAsset } = await adminClient.query<{ hydrateProductAsset: Product }>(
         const { hydrateProductAsset } = await adminClient.query<{ hydrateProductAsset: Product }>(
@@ -178,7 +178,7 @@ describe('Entity hydration', () => {
         expect(hydrateProductAsset.assets).toEqual([]);
         expect(hydrateProductAsset.assets).toEqual([]);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1324
+    // https://github.com/vendurehq/vendure/issues/1324
     it('correctly handles empty nested array relations', async () => {
     it('correctly handles empty nested array relations', async () => {
         const { hydrateProductWithNoFacets } = await adminClient.query<{
         const { hydrateProductWithNoFacets } = await adminClient.query<{
             hydrateProductWithNoFacets: Product;
             hydrateProductWithNoFacets: Product;
@@ -187,7 +187,7 @@ describe('Entity hydration', () => {
         expect(hydrateProductWithNoFacets.facetValues).toEqual([]);
         expect(hydrateProductWithNoFacets.facetValues).toEqual([]);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1161
+    // https://github.com/vendurehq/vendure/issues/1161
     it('correctly expands missing relations', async () => {
     it('correctly expands missing relations', async () => {
         const { hydrateProductVariant } = await adminClient.query<{ hydrateProductVariant: ProductVariant }>(
         const { hydrateProductVariant } = await adminClient.query<{ hydrateProductVariant: ProductVariant }>(
             GET_HYDRATED_VARIANT,
             GET_HYDRATED_VARIANT,
@@ -198,7 +198,7 @@ describe('Entity hydration', () => {
         expect(hydrateProductVariant.product.facetValues.map(fv => fv.id).sort()).toEqual(['T_1', 'T_2']);
         expect(hydrateProductVariant.product.facetValues.map(fv => fv.id).sort()).toEqual(['T_1', 'T_2']);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1172
+    // https://github.com/vendurehq/vendure/issues/1172
     it('can hydrate entity with getters (Order)', async () => {
     it('can hydrate entity with getters (Order)', async () => {
         const { addItemToOrder } = await shopClient.query<
         const { addItemToOrder } = await shopClient.query<
             AddItemToOrderMutation,
             AddItemToOrderMutation,
@@ -217,7 +217,7 @@ describe('Entity hydration', () => {
         expect(hydrateOrder.payments).toEqual([]);
         expect(hydrateOrder.payments).toEqual([]);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1229
+    // https://github.com/vendurehq/vendure/issues/1229
     it('deep merges existing properties', async () => {
     it('deep merges existing properties', async () => {
         await shopClient.asAnonymousUser();
         await shopClient.asAnonymousUser();
         const { addItemToOrder } = await shopClient.query<
         const { addItemToOrder } = await shopClient.query<
@@ -238,7 +238,7 @@ describe('Entity hydration', () => {
         expect(hydrateOrderReturnQuantities).toEqual([2]);
         expect(hydrateOrderReturnQuantities).toEqual([2]);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1284
+    // https://github.com/vendurehq/vendure/issues/1284
     it('hydrates custom field relations', async () => {
     it('hydrates custom field relations', async () => {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
             input: {
             input: {
@@ -278,7 +278,7 @@ describe('Entity hydration', () => {
         expect(hydrateChannelWithNestedRelation.customFields.additionalConfig).toBeDefined();
         expect(hydrateChannelWithNestedRelation.customFields.additionalConfig).toBeDefined();
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2682
+    // https://github.com/vendurehq/vendure/issues/2682
     it('hydrates a nested custom field where the first level is null', async () => {
     it('hydrates a nested custom field where the first level is null', async () => {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
             input: {
             input: {
@@ -298,7 +298,7 @@ describe('Entity hydration', () => {
         expect(hydrateChannelWithNestedRelation.customFields.additionalConfig).toBeNull();
         expect(hydrateChannelWithNestedRelation.customFields.additionalConfig).toBeNull();
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2013
+    // https://github.com/vendurehq/vendure/issues/2013
     describe('hydration of OrderLine ProductVariantPrices', () => {
     describe('hydration of OrderLine ProductVariantPrices', () => {
         let order: Order | undefined;
         let order: Order | undefined;
 
 
@@ -353,7 +353,7 @@ describe('Entity hydration', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2546
+    // https://github.com/vendurehq/vendure/issues/2546
     it('Preserves ordering when merging arrays of relations', async () => {
     it('Preserves ordering when merging arrays of relations', async () => {
         await shopClient.asUserWithCredentials('trevor_donnelly96@hotmail.com', 'test');
         await shopClient.asUserWithCredentials('trevor_donnelly96@hotmail.com', 'test');
         await shopClient.query(AddItemToOrderDocument, {
         await shopClient.query(AddItemToOrderDocument, {
@@ -396,7 +396,7 @@ describe('Entity hydration', () => {
     /*
     /*
      * Postgres has a character limit for alias names which can cause issues when joining
      * Postgres has a character limit for alias names which can cause issues when joining
      * multiple aliases with the same prefix
      * multiple aliases with the same prefix
-     * https://github.com/vendure-ecommerce/vendure/issues/2899
+     * https://github.com/vendurehq/vendure/issues/2899
      */
      */
     it('Hydrates properties with very long names', async () => {
     it('Hydrates properties with very long names', async () => {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {

+ 2 - 2
packages/core/e2e/entity-prefix.e2e-spec.ts

@@ -4,7 +4,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import { ListQueryPlugin } from './fixtures/test-plugins/list-query-plugin';
 import { ListQueryPlugin } from './fixtures/test-plugins/list-query-plugin';
 import { GetCustomerListQuery, GetCustomerListQueryVariables } from './graphql/generated-e2e-admin-types';
 import { GetCustomerListQuery, GetCustomerListQueryVariables } from './graphql/generated-e2e-admin-types';
@@ -37,7 +37,7 @@ describe('Entity prefix edge-cases', () => {
         await server.destroy();
         await server.destroy();
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1569
+    // https://github.com/vendurehq/vendure/issues/1569
     it('customers list filter by postalCode', async () => {
     it('customers list filter by postalCode', async () => {
         const result = await adminClient.query<GetCustomerListQuery, GetCustomerListQueryVariables>(
         const result = await adminClient.query<GetCustomerListQuery, GetCustomerListQueryVariables>(
             GET_CUSTOMER_LIST,
             GET_CUSTOMER_LIST,

+ 1 - 1
packages/core/e2e/entity-serialization.e2e-spec.ts

@@ -41,7 +41,7 @@ import {
  * entities that contain methods and/or properties which potentially reference
  * entities that contain methods and/or properties which potentially reference
  * non-serializable objects.
  * non-serializable objects.
  *
  *
- * See https://github.com/vendure-ecommerce/vendure/issues/3277
+ * See https://github.com/vendurehq/vendure/issues/3277
  */
  */
 describe('Entity serialization', () => {
 describe('Entity serialization', () => {
     type OrderSuccessResult =
     type OrderSuccessResult =

+ 2 - 2
packages/core/e2e/facet.e2e-spec.ts

@@ -881,7 +881,7 @@ describe('Facet resolver', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/715
+    // https://github.com/vendurehq/vendure/issues/715
     describe('code conflicts', () => {
     describe('code conflicts', () => {
         function createFacetWithCode(code: string) {
         function createFacetWithCode(code: string) {
             return adminClient.query<Codegen.CreateFacetMutation, Codegen.CreateFacetMutationVariables>(
             return adminClient.query<Codegen.CreateFacetMutation, Codegen.CreateFacetMutationVariables>(
@@ -897,7 +897,7 @@ describe('Facet resolver', () => {
             );
             );
         }
         }
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/831
+        // https://github.com/vendurehq/vendure/issues/831
         it('updateFacet with unchanged code', async () => {
         it('updateFacet with unchanged code', async () => {
             const { createFacet } = await createFacetWithCode('some-new-facet');
             const { createFacet } = await createFacetWithCode('some-new-facet');
             const result = await adminClient.query<
             const result = await adminClient.query<

+ 6 - 6
packages/core/e2e/fixtures/test-plugins/hydration-test-plugin.ts

@@ -53,7 +53,7 @@ export class TestAdminPluginResolver {
         return product;
         return product;
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1153
+    // Test case for https://github.com/vendurehq/vendure/issues/1153
     @Query()
     @Query()
     async hydrateProductAsset(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
     async hydrateProductAsset(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const product = await this.connection.getRepository(ctx, Product).findOne({ where: { id: args.id } });
         const product = await this.connection.getRepository(ctx, Product).findOne({ where: { id: args.id } });
@@ -64,7 +64,7 @@ export class TestAdminPluginResolver {
         return product;
         return product;
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1161
+    // Test case for https://github.com/vendurehq/vendure/issues/1161
     @Query()
     @Query()
     async hydrateProductVariant(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
     async hydrateProductVariant(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const [variant] = await this.productVariantService.findByIds(ctx, [args.id]);
         const [variant] = await this.productVariantService.findByIds(ctx, [args.id]);
@@ -74,7 +74,7 @@ export class TestAdminPluginResolver {
         return variant;
         return variant;
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1324
+    // Test case for https://github.com/vendurehq/vendure/issues/1324
     @Query()
     @Query()
     async hydrateProductWithNoFacets(@Ctx() ctx: RequestContext) {
     async hydrateProductWithNoFacets(@Ctx() ctx: RequestContext) {
         const product = await this.productService.create(ctx, {
         const product = await this.productService.create(ctx, {
@@ -94,7 +94,7 @@ export class TestAdminPluginResolver {
         return product;
         return product;
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1172
+    // Test case for https://github.com/vendurehq/vendure/issues/1172
     @Query()
     @Query()
     async hydrateOrder(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
     async hydrateOrder(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const order = await this.orderService.findOne(ctx, args.id);
         const order = await this.orderService.findOne(ctx, args.id);
@@ -104,7 +104,7 @@ export class TestAdminPluginResolver {
         return order;
         return order;
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1229
+    // Test case for https://github.com/vendurehq/vendure/issues/1229
     @Query()
     @Query()
     async hydrateOrderReturnQuantities(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
     async hydrateOrderReturnQuantities(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const order = await this.orderService.findOne(ctx, args.id);
         const order = await this.orderService.findOne(ctx, args.id);
@@ -119,7 +119,7 @@ export class TestAdminPluginResolver {
         return order?.lines.map(line => line.quantity);
         return order?.lines.map(line => line.quantity);
     }
     }
 
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1284
+    // Test case for https://github.com/vendurehq/vendure/issues/1284
     @Query()
     @Query()
     async hydrateChannel(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
     async hydrateChannel(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const channel = await this.channelService.findOne(ctx, args.id);
         const channel = await this.channelService.findOne(ctx, args.id);

+ 3 - 4
packages/core/e2e/fixtures/test-plugins/issue-1636-1664/issue-1636-1664-plugin.ts

@@ -5,7 +5,6 @@ import {
     Asset,
     Asset,
     Channel,
     Channel,
     Ctx,
     Ctx,
-    Customer,
     PluginCommonModule,
     PluginCommonModule,
     Product,
     Product,
     RequestContext,
     RequestContext,
@@ -57,11 +56,11 @@ const profileType = gql`
 `;
 `;
 
 
 /**
 /**
- * Testing https://github.com/vendure-ecommerce/vendure/issues/1636
+ * Testing https://github.com/vendurehq/vendure/issues/1636
  *
  *
  * and
  * and
  *
  *
- * https://github.com/vendure-ecommerce/vendure/issues/1664
+ * https://github.com/vendurehq/vendure/issues/1664
  */
  */
 @VendurePlugin({
 @VendurePlugin({
     imports: [PluginCommonModule],
     imports: [PluginCommonModule],
@@ -110,7 +109,7 @@ const profileType = gql`
                 nullable: true,
                 nullable: true,
                 type: 'relation',
                 type: 'relation',
                 // Using the Channel entity rather than User as in the example comment at
                 // Using the Channel entity rather than User as in the example comment at
-                // https://github.com/vendure-ecommerce/vendure/issues/1664#issuecomment-1293916504
+                // https://github.com/vendurehq/vendure/issues/1664#issuecomment-1293916504
                 // because using a User causes a recursive infinite loop in TypeORM between
                 // because using a User causes a recursive infinite loop in TypeORM between
                 // Product > User > Vendor > Product etc.
                 // Product > User > Vendor > Product etc.
                 entity: Channel,
                 entity: Channel,

+ 1 - 1
packages/core/e2e/fixtures/test-plugins/with-global-providers.ts

@@ -54,7 +54,7 @@ export class HttpExceptionFilter implements ExceptionFilter {
 
 
 /**
 /**
  * This plugin doesn't do anything other than attempt to register the global Nest providers
  * This plugin doesn't do anything other than attempt to register the global Nest providers
- * in order to test https://github.com/vendure-ecommerce/vendure/issues/837
+ * in order to test https://github.com/vendurehq/vendure/issues/837
  */
  */
 @VendurePlugin({
 @VendurePlugin({
     providers: [
     providers: [

+ 1 - 2
packages/core/e2e/fixtures/test-plugins/with-new-config-object-reference.ts

@@ -1,8 +1,7 @@
-import { Query, Resolver } from '@nestjs/graphql';
 import { VendurePlugin } from '@vendure/core';
 import { VendurePlugin } from '@vendure/core';
 
 
 /**
 /**
- * https://github.com/vendure-ecommerce/vendure/issues/2906
+ * https://github.com/vendurehq/vendure/issues/2906
  */
  */
 @VendurePlugin({
 @VendurePlugin({
     configuration: config => {
     configuration: config => {

+ 1 - 1
packages/core/e2e/fixtures/test-shipping-eligibility-checkers.ts

@@ -24,7 +24,7 @@ let entityHydrator: EntityHydrator;
  * because the removal had not yet been persisted by the time the `applyPriceAdjustments()`
  * because the removal had not yet been persisted by the time the `applyPriceAdjustments()`
  * step was run (during which this checker will run).
  * step was run (during which this checker will run).
  *
  *
- * See https://github.com/vendure-ecommerce/vendure/issues/2548
+ * See https://github.com/vendurehq/vendure/issues/2548
  */
  */
 export const hydratingShippingEligibilityChecker = new ShippingEligibilityChecker({
 export const hydratingShippingEligibilityChecker = new ShippingEligibilityChecker({
     code: 'hydrating-shipping-eligibility-checker',
     code: 'hydrating-shipping-eligibility-checker',

+ 3 - 3
packages/core/e2e/list-query-builder.e2e-spec.ts

@@ -1257,7 +1257,7 @@ describe('ListQueryBuilder', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1586
+    // https://github.com/vendurehq/vendure/issues/1586
     it('using the getMany() of the resulting QueryBuilder', async () => {
     it('using the getMany() of the resulting QueryBuilder', async () => {
         const { testEntitiesGetMany } = await adminClient.query(GET_ARRAY_LIST, {});
         const { testEntitiesGetMany } = await adminClient.query(GET_ARRAY_LIST, {});
         const actualPrices = testEntitiesGetMany
         const actualPrices = testEntitiesGetMany
@@ -1268,7 +1268,7 @@ describe('ListQueryBuilder', () => {
         expect(actualPrices).toEqual(expectedPrices);
         expect(actualPrices).toEqual(expectedPrices);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1611
+    // https://github.com/vendurehq/vendure/issues/1611
     describe('translations handling', () => {
     describe('translations handling', () => {
         const allTranslations = [
         const allTranslations = [
             [
             [
@@ -1437,7 +1437,7 @@ describe('ListQueryBuilder', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/3267
+    // https://github.com/vendurehq/vendure/issues/3267
     describe('filtering with duplicate custom property fields in _and blocks', () => {
     describe('filtering with duplicate custom property fields in _and blocks', () => {
         it('filters by single tagId', async () => {
         it('filters by single tagId', async () => {
             const { testEntities } = await shopClient.query(GET_LIST_WITH_TAGS, {
             const { testEntities } = await shopClient.query(GET_LIST_WITH_TAGS, {

+ 4 - 4
packages/core/e2e/money-strategy.e2e-spec.ts

@@ -1,11 +1,11 @@
-import { DefaultMoneyStrategy, Logger, mergeConfig, MoneyStrategy, VendurePlugin } from '@vendure/core';
+import { Logger, mergeConfig, MoneyStrategy, VendurePlugin } from '@vendure/core';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import path from 'path';
 import path from 'path';
 import { ColumnOptions } from 'typeorm';
 import { ColumnOptions } from 'typeorm';
 import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import { SortOrder } from './graphql/generated-e2e-admin-types';
 import { SortOrder } from './graphql/generated-e2e-admin-types';
@@ -105,7 +105,7 @@ describe('Custom MoneyStrategy', () => {
         expect(CustomMoneyStrategy.transformerFromSpy).toHaveBeenCalledTimes(2);
         expect(CustomMoneyStrategy.transformerFromSpy).toHaveBeenCalledTimes(2);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/838
+    // https://github.com/vendurehq/vendure/issues/838
     it('can handle totals over 21 million', async () => {
     it('can handle totals over 21 million', async () => {
         await shopClient.asAnonymousUser();
         await shopClient.asAnonymousUser();
         const { addItemToOrder } = await shopClient.query<
         const { addItemToOrder } = await shopClient.query<
@@ -121,7 +121,7 @@ describe('Custom MoneyStrategy', () => {
         expect(addItemToOrder.lines[0].linePriceWithTax).toBe(2_399_999_760);
         expect(addItemToOrder.lines[0].linePriceWithTax).toBe(2_399_999_760);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1835
+    // https://github.com/vendurehq/vendure/issues/1835
     // 31 * 1.2 = 37.2
     // 31 * 1.2 = 37.2
     // Math.round(37.2 * 10) =372
     // Math.round(37.2 * 10) =372
     it('tax calculation rounds at the unit level', async () => {
     it('tax calculation rounds at the unit level', async () => {

+ 4 - 12
packages/core/e2e/order-merge.e2e-spec.ts

@@ -16,27 +16,19 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
-import {
-    AttemptLogin,
-    AttemptLoginMutation,
-    AttemptLoginMutationVariables,
-    GetCustomerList,
-} from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
+import { AttemptLoginMutation, AttemptLoginMutationVariables } from './graphql/generated-e2e-admin-types';
 import {
 import {
-    AddItemToOrder,
-    AddItemToOrderMutation,
     AddItemToOrderMutation,
     AddItemToOrderMutation,
     AddItemToOrderMutationVariables,
     AddItemToOrderMutationVariables,
-    GetActiveOrderPaymentsQuery,
     GetNextOrderStatesQuery,
     GetNextOrderStatesQuery,
     TestOrderFragmentFragment,
     TestOrderFragmentFragment,
     UpdatedOrderFragment,
     UpdatedOrderFragment,
 } from './graphql/generated-e2e-shop-types';
 } from './graphql/generated-e2e-shop-types';
 import { ATTEMPT_LOGIN, GET_CUSTOMER_LIST } from './graphql/shared-definitions';
 import { ATTEMPT_LOGIN, GET_CUSTOMER_LIST } from './graphql/shared-definitions';
-import { GET_ACTIVE_ORDER_PAYMENTS, GET_NEXT_STATES, TEST_ORDER_FRAGMENT } from './graphql/shop-definitions';
+import { GET_NEXT_STATES, TEST_ORDER_FRAGMENT } from './graphql/shop-definitions';
 import { sortById } from './utils/test-order-utils';
 import { sortById } from './utils/test-order-utils';
 
 
 /**
 /**
@@ -260,7 +252,7 @@ describe('Order merging', () => {
         ).toEqual([{ productVariantId: 'T_8', quantity: 1 }]);
         ).toEqual([{ productVariantId: 'T_8', quantity: 1 }]);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1454
+    // https://github.com/vendurehq/vendure/issues/1454
     it('does not throw FK error when merging with a cart with an existing session', async () => {
     it('does not throw FK error when merging with a cart with an existing session', async () => {
         await shopClient.asUserWithCredentials(customers[7].emailAddress, 'test');
         await shopClient.asUserWithCredentials(customers[7].emailAddress, 'test');
         // Create an Order linked with the current session
         // Create an Order linked with the current session

+ 7 - 7
packages/core/e2e/order-modification.e2e-spec.ts

@@ -1428,7 +1428,7 @@ describe('Order modification', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1753
+    // https://github.com/vendurehq/vendure/issues/1753
     describe('refunds for multiple payments', () => {
     describe('refunds for multiple payments', () => {
         let orderId2: string;
         let orderId2: string;
         let orderLineId: string;
         let orderLineId: string;
@@ -1583,7 +1583,7 @@ describe('Order modification', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/688 - 4th point
+    // https://github.com/vendurehq/vendure/issues/688 - 4th point
     it('correct additional payment when discounts applied', async () => {
     it('correct additional payment when discounts applied', async () => {
         await adminClient.query<Codegen.CreatePromotionMutation, Codegen.CreatePromotionMutationVariables>(
         await adminClient.query<Codegen.CreatePromotionMutation, Codegen.CreatePromotionMutationVariables>(
             CREATE_PROMOTION,
             CREATE_PROMOTION,
@@ -1650,7 +1650,7 @@ describe('Order modification', () => {
         expect(modifyOrder.totalWithTax).toBe(originalTotalWithTax + surcharge);
         expect(modifyOrder.totalWithTax).toBe(originalTotalWithTax + surcharge);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/872
+    // https://github.com/vendurehq/vendure/issues/872
     describe('correct price calculations when prices include tax', () => {
     describe('correct price calculations when prices include tax', () => {
         async function modifyOrderLineQuantity(order: TestOrderWithPaymentsFragment) {
         async function modifyOrderLineQuantity(order: TestOrderWithPaymentsFragment) {
             const transitionOrderToState = await adminTransitionOrderToState(order.id, 'Modifying');
             const transitionOrderToState = await adminTransitionOrderToState(order.id, 'Modifying');
@@ -1744,7 +1744,7 @@ describe('Order modification', () => {
     });
     });
 
 
     describe('refund handling when promotions are active on order', () => {
     describe('refund handling when promotions are active on order', () => {
-        // https://github.com/vendure-ecommerce/vendure/issues/890
+        // https://github.com/vendurehq/vendure/issues/890
         it('refunds correct amount when order-level promotion applied', async () => {
         it('refunds correct amount when order-level promotion applied', async () => {
             await adminClient.query<
             await adminClient.query<
                 Codegen.CreatePromotionMutation,
                 Codegen.CreatePromotionMutation,
@@ -1808,7 +1808,7 @@ describe('Order modification', () => {
             expect(modifyOrder.totalWithTax).toBe(getOrderPaymentsTotalWithRefunds(modifyOrder));
             expect(modifyOrder.totalWithTax).toBe(getOrderPaymentsTotalWithRefunds(modifyOrder));
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1865
+        // https://github.com/vendurehq/vendure/issues/1865
         describe('issue 1865', () => {
         describe('issue 1865', () => {
             const promoDiscount = 5000;
             const promoDiscount = 5000;
             let promoId: string;
             let promoId: string;
@@ -1933,7 +1933,7 @@ describe('Order modification', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1197
+    // https://github.com/vendurehq/vendure/issues/1197
     describe('refund on shipping when change made to shippingAddress', () => {
     describe('refund on shipping when change made to shippingAddress', () => {
         let order: OrderWithModificationsFragment;
         let order: OrderWithModificationsFragment;
         beforeAll(async () => {
         beforeAll(async () => {
@@ -1976,7 +1976,7 @@ describe('Order modification', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1210
+    // https://github.com/vendurehq/vendure/issues/1210
     describe('updating stock levels', () => {
     describe('updating stock levels', () => {
         async function getVariant(id: 'T_1' | 'T_2' | 'T_3') {
         async function getVariant(id: 'T_1' | 'T_2' | 'T_3') {
             const { product } = await adminClient.query<
             const { product } = await adminClient.query<

+ 8 - 11
packages/core/e2e/order-process.e2e-spec.ts

@@ -8,15 +8,15 @@ import {
 } from '@vendure/core';
 } from '@vendure/core';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import path from 'path';
 import path from 'path';
-import { vi } from 'vitest';
-import { afterAll, beforeAll, describe, expect, it } from 'vitest';
+import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import { testSuccessfulPaymentMethod } from './fixtures/test-payment-methods';
 import { testSuccessfulPaymentMethod } from './fixtures/test-payment-methods';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import { OrderFragment } from './graphql/generated-e2e-admin-types';
 import { OrderFragment } from './graphql/generated-e2e-admin-types';
+import * as CodegenShop from './graphql/generated-e2e-shop-types';
 import {
 import {
     AddPaymentToOrderMutation,
     AddPaymentToOrderMutation,
     AddPaymentToOrderMutationVariables,
     AddPaymentToOrderMutationVariables,
@@ -25,7 +25,6 @@ import {
     TransitionToStateMutation,
     TransitionToStateMutation,
     TransitionToStateMutationVariables,
     TransitionToStateMutationVariables,
 } from './graphql/generated-e2e-shop-types';
 } from './graphql/generated-e2e-shop-types';
-import * as CodegenShop from './graphql/generated-e2e-shop-types';
 import { ADMIN_TRANSITION_TO_STATE, GET_ORDER } from './graphql/shared-definitions';
 import { ADMIN_TRANSITION_TO_STATE, GET_ORDER } from './graphql/shared-definitions';
 import {
 import {
     ADD_ITEM_TO_ORDER,
     ADD_ITEM_TO_ORDER,
@@ -165,9 +164,8 @@ describe('Order process', () => {
                 quantity: 1,
                 quantity: 1,
             });
             });
 
 
-            const { nextOrderStates } = await shopClient.query<CodegenShop.GetNextOrderStatesQuery>(
-                GET_NEXT_STATES,
-            );
+            const { nextOrderStates } =
+                await shopClient.query<CodegenShop.GetNextOrderStatesQuery>(GET_NEXT_STATES);
 
 
             expect(nextOrderStates).toEqual(['ValidatingCustomer']);
             expect(nextOrderStates).toEqual(['ValidatingCustomer']);
         });
         });
@@ -265,9 +263,8 @@ describe('Order process', () => {
             transitionEndSpy.mockClear();
             transitionEndSpy.mockClear();
             transitionEndSpy2.mockClear();
             transitionEndSpy2.mockClear();
 
 
-            const { nextOrderStates } = await shopClient.query<CodegenShop.GetNextOrderStatesQuery>(
-                GET_NEXT_STATES,
-            );
+            const { nextOrderStates } =
+                await shopClient.query<CodegenShop.GetNextOrderStatesQuery>(GET_NEXT_STATES);
 
 
             expect(nextOrderStates).toEqual(['ArrangingPayment', 'AddingItems', 'Cancelled']);
             expect(nextOrderStates).toEqual(['ArrangingPayment', 'AddingItems', 'Cancelled']);
 
 
@@ -285,7 +282,7 @@ describe('Order process', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/963
+        // https://github.com/vendurehq/vendure/issues/963
         it('allows addPaymentToOrder from a custom state', async () => {
         it('allows addPaymentToOrder from a custom state', async () => {
             await shopClient.query<
             await shopClient.query<
                 CodegenShop.SetShippingMethodMutation,
                 CodegenShop.SetShippingMethodMutation,

+ 13 - 13
packages/core/e2e/order-promotion.e2e-spec.ts

@@ -25,17 +25,17 @@ import path from 'path';
 import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import { freeShipping } from '../src/config/promotion/actions/free-shipping-action';
 import { freeShipping } from '../src/config/promotion/actions/free-shipping-action';
 import { orderFixedDiscount } from '../src/config/promotion/actions/order-fixed-discount-action';
 import { orderFixedDiscount } from '../src/config/promotion/actions/order-fixed-discount-action';
 import { orderLineFixedDiscount } from '../src/config/promotion/actions/order-line-fixed-discount-action';
 import { orderLineFixedDiscount } from '../src/config/promotion/actions/order-line-fixed-discount-action';
 
 
 import { TestMoneyStrategy } from './fixtures/test-money-strategy';
 import { TestMoneyStrategy } from './fixtures/test-money-strategy';
 import { testSuccessfulPaymentMethod } from './fixtures/test-payment-methods';
 import { testSuccessfulPaymentMethod } from './fixtures/test-payment-methods';
-import { CurrencyCode, HistoryEntryType, LanguageCode } from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
-import { AdjustmentType, ErrorCode } from './graphql/generated-e2e-shop-types';
+import { CurrencyCode, HistoryEntryType, LanguageCode } from './graphql/generated-e2e-admin-types';
 import * as CodegenShop from './graphql/generated-e2e-shop-types';
 import * as CodegenShop from './graphql/generated-e2e-shop-types';
+import { AdjustmentType, ErrorCode } from './graphql/generated-e2e-shop-types';
 import {
 import {
     ASSIGN_PRODUCT_TO_CHANNEL,
     ASSIGN_PRODUCT_TO_CHANNEL,
     ASSIGN_PROMOTIONS_TO_CHANNEL,
     ASSIGN_PROMOTIONS_TO_CHANNEL,
@@ -251,7 +251,7 @@ describe('Promotions applied to Orders', () => {
             expect(removeCouponCode!.totalWithTax).toBe(6000);
             expect(removeCouponCode!.totalWithTax).toBe(6000);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/649
+        // https://github.com/vendurehq/vendure/issues/649
         it('discounts array cleared after coupon code removed', async () => {
         it('discounts array cleared after coupon code removed', async () => {
             const { activeOrder } = await shopClient.query<CodegenShop.GetActiveOrderQuery>(GET_ACTIVE_ORDER);
             const { activeOrder } = await shopClient.query<CodegenShop.GetActiveOrderQuery>(GET_ACTIVE_ORDER);
 
 
@@ -350,7 +350,7 @@ describe('Promotions applied to Orders', () => {
                 shopClient.setChannelToken(E2E_DEFAULT_CHANNEL_TOKEN);
                 shopClient.setChannelToken(E2E_DEFAULT_CHANNEL_TOKEN);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1692
+            // https://github.com/vendurehq/vendure/issues/1692
             it('does not allow a couponCode from another channel', async () => {
             it('does not allow a couponCode from another channel', async () => {
                 shopClient.setChannelToken(OTHER_CHANNEL_TOKEN);
                 shopClient.setChannelToken(OTHER_CHANNEL_TOKEN);
                 const { applyCouponCode } = await shopClient.query<
                 const { applyCouponCode } = await shopClient.query<
@@ -686,7 +686,7 @@ describe('Promotions applied to Orders', () => {
                 expect(applyCouponCode.totalWithTax).toBe(4800);
                 expect(applyCouponCode.totalWithTax).toBe(4800);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1773
+            // https://github.com/vendurehq/vendure/issues/1773
             it('decimal percentage', async () => {
             it('decimal percentage', async () => {
                 const decimalPercentageCouponCode = 'DPCC';
                 const decimalPercentageCouponCode = 'DPCC';
                 await createPromotion({
                 await createPromotion({
@@ -1276,7 +1276,7 @@ describe('Promotions applied to Orders', () => {
                 expect(applyCouponCode.totalWithTax).toBe(6000);
                 expect(applyCouponCode.totalWithTax).toBe(6000);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/pull/1150
+            // https://github.com/vendurehq/vendure/pull/1150
             it('shipping discounts get correctly removed', async () => {
             it('shipping discounts get correctly removed', async () => {
                 shopClient.setChannelToken(TAX_INCLUDED_CHANNEL_TOKEN);
                 shopClient.setChannelToken(TAX_INCLUDED_CHANNEL_TOKEN);
                 const { addItemToOrder } = await shopClient.query<
                 const { addItemToOrder } = await shopClient.query<
@@ -1687,7 +1687,7 @@ describe('Promotions applied to Orders', () => {
                 expect(activeOrder!.couponCodes).toEqual([]);
                 expect(activeOrder!.couponCodes).toEqual([]);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1466
+            // https://github.com/vendurehq/vendure/issues/1466
             it('cancelled orders do not count against usage limit', async () => {
             it('cancelled orders do not count against usage limit', async () => {
                 const { cancelOrder } = await adminClient.query<
                 const { cancelOrder } = await adminClient.query<
                     Codegen.CancelOrderMutation,
                     Codegen.CancelOrderMutation,
@@ -1874,7 +1874,7 @@ describe('Promotions applied to Orders', () => {
                 expect(applyCouponCode.errorCode).toBe(ErrorCode.COUPON_CODE_LIMIT_ERROR);
                 expect(applyCouponCode.errorCode).toBe(ErrorCode.COUPON_CODE_LIMIT_ERROR);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1466
+            // https://github.com/vendurehq/vendure/issues/1466
             it('cancelled orders do not count against usage limit', async () => {
             it('cancelled orders do not count against usage limit', async () => {
                 const { cancelOrder } = await adminClient.query<
                 const { cancelOrder } = await adminClient.query<
                     Codegen.CancelOrderMutation,
                     Codegen.CancelOrderMutation,
@@ -1903,7 +1903,7 @@ describe('Promotions applied to Orders', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/710
+    // https://github.com/vendurehq/vendure/issues/710
     it('removes order-level discount made invalid by removing OrderLine', async () => {
     it('removes order-level discount made invalid by removing OrderLine', async () => {
         const promotion = await createPromotion({
         const promotion = await createPromotion({
             enabled: true,
             enabled: true,
@@ -1956,7 +1956,7 @@ describe('Promotions applied to Orders', () => {
         expect(check2!.discounts.length).toBe(0);
         expect(check2!.discounts.length).toBe(0);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1492
+    // https://github.com/vendurehq/vendure/issues/1492
     it('correctly handles pro-ration of variants with 0 price', async () => {
     it('correctly handles pro-ration of variants with 0 price', async () => {
         const couponCode = '20%_off_order';
         const couponCode = '20%_off_order';
         const promotion = await createPromotion({
         const promotion = await createPromotion({
@@ -1994,7 +1994,7 @@ describe('Promotions applied to Orders', () => {
         expect(applyCouponCode.totalWithTax).toBe(96);
         expect(applyCouponCode.totalWithTax).toBe(96);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2385
+    // https://github.com/vendurehq/vendure/issues/2385
     describe('prevents negative line price', () => {
     describe('prevents negative line price', () => {
         const TAX_INCLUDED_CHANNEL_TOKEN_2 = 'tax_included_channel_2';
         const TAX_INCLUDED_CHANNEL_TOKEN_2 = 'tax_included_channel_2';
         const couponCode1 = '100%_off';
         const couponCode1 = '100%_off';
@@ -2147,7 +2147,7 @@ describe('Promotions applied to Orders', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2052
+    // https://github.com/vendurehq/vendure/issues/2052
     describe('multi-channel usage', () => {
     describe('multi-channel usage', () => {
         const SECOND_CHANNEL_TOKEN = 'second_channel_token';
         const SECOND_CHANNEL_TOKEN = 'second_channel_token';
         const THIRD_CHANNEL_TOKEN = 'third_channel_token';
         const THIRD_CHANNEL_TOKEN = 'third_channel_token';

+ 2 - 2
packages/core/e2e/order-taxes.e2e-spec.ts

@@ -203,7 +203,7 @@ describe('Order taxes', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1216
+        // https://github.com/vendurehq/vendure/issues/1216
         it('re-calculates OrderLine prices when shippingAddress causes activeTaxZone change', async () => {
         it('re-calculates OrderLine prices when shippingAddress causes activeTaxZone change', async () => {
             const { taxRates } = await adminClient.query<Codegen.GetTaxRateListQuery>(GET_TAX_RATE_LIST);
             const { taxRates } = await adminClient.query<Codegen.GetTaxRateListQuery>(GET_TAX_RATE_LIST);
             // Set the TaxRates to Asia to 0%
             // Set the TaxRates to Asia to 0%
@@ -252,7 +252,7 @@ describe('Order taxes', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1216
+        // https://github.com/vendurehq/vendure/issues/1216
         it('re-calculates OrderLine prices when billingAddress causes activeTaxZone change', async () => {
         it('re-calculates OrderLine prices when billingAddress causes activeTaxZone change', async () => {
             await shopClient.query<
             await shopClient.query<
                 CodegenShop.SetBillingAddressMutation,
                 CodegenShop.SetBillingAddressMutation,

+ 12 - 12
packages/core/e2e/order.e2e-spec.ts

@@ -1872,7 +1872,7 @@ describe('Orders resolver', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/873
+        // https://github.com/vendurehq/vendure/issues/873
         it('can add another refund if the first one fails', async () => {
         it('can add another refund if the first one fails', async () => {
             const orderResult = await createTestOrder(
             const orderResult = await createTestOrder(
                 adminClient,
                 adminClient,
@@ -1919,7 +1919,7 @@ describe('Orders resolver', () => {
             expect(refund2.total).toBe(order.totalWithTax);
             expect(refund2.total).toBe(order.totalWithTax);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2302
+        // https://github.com/vendurehq/vendure/issues/2302
         it('passes correct amount to createRefund function after cancellation', async () => {
         it('passes correct amount to createRefund function after cancellation', async () => {
             const orderResult = await createTestOrder(
             const orderResult = await createTestOrder(
                 adminClient,
                 adminClient,
@@ -2388,7 +2388,7 @@ describe('Orders resolver', () => {
             );
             );
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/847
+        // https://github.com/vendurehq/vendure/issues/847
         it('manual call to settlePayment works with multiple payments', async () => {
         it('manual call to settlePayment works with multiple payments', async () => {
             const result = await createTestOrder(
             const result = await createTestOrder(
                 adminClient,
                 adminClient,
@@ -2444,7 +2444,7 @@ describe('Orders resolver', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2505
+    // https://github.com/vendurehq/vendure/issues/2505
     describe('updating order customer', () => {
     describe('updating order customer', () => {
         let orderId: string;
         let orderId: string;
         let customerId: string;
         let customerId: string;
@@ -2539,7 +2539,7 @@ describe('Orders resolver', () => {
     });
     });
 
 
     describe('issues', () => {
     describe('issues', () => {
-        // https://github.com/vendure-ecommerce/vendure/issues/639
+        // https://github.com/vendurehq/vendure/issues/639
         it('returns fulfillments for Order with no lines', async () => {
         it('returns fulfillments for Order with no lines', async () => {
             await shopClient.asAnonymousUser();
             await shopClient.asAnonymousUser();
             // Apply a coupon code just to create an active order with no OrderLines
             // Apply a coupon code just to create an active order with no OrderLines
@@ -2560,7 +2560,7 @@ describe('Orders resolver', () => {
             expect(order?.fulfillments).toEqual([]);
             expect(order?.fulfillments).toEqual([]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/603
+        // https://github.com/vendurehq/vendure/issues/603
         it('orders correctly resolves quantities and OrderItems', async () => {
         it('orders correctly resolves quantities and OrderItems', async () => {
             await shopClient.asAnonymousUser();
             await shopClient.asAnonymousUser();
             const { addItemToOrder } = await shopClient.query<
             const { addItemToOrder } = await shopClient.query<
@@ -2587,7 +2587,7 @@ describe('Orders resolver', () => {
             expect(orders.items[0].lines[0].quantity).toBe(2);
             expect(orders.items[0].lines[0].quantity).toBe(2);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/716
+        // https://github.com/vendurehq/vendure/issues/716
         it('get an Order with a deleted ShippingMethod', async () => {
         it('get an Order with a deleted ShippingMethod', async () => {
             const { createShippingMethod: shippingMethod } = await adminClient.query<
             const { createShippingMethod: shippingMethod } = await adminClient.query<
                 Codegen.CreateShippingMethodMutation,
                 Codegen.CreateShippingMethodMutation,
@@ -2657,7 +2657,7 @@ describe('Orders resolver', () => {
             });
             });
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/868
+        // https://github.com/vendurehq/vendure/issues/868
         it('allows multiple refunds of same OrderLine', async () => {
         it('allows multiple refunds of same OrderLine', async () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
             const { addItemToOrder } = await shopClient.query<
@@ -2700,7 +2700,7 @@ describe('Orders resolver', () => {
             refundGuard.assertSuccess(refund2);
             refundGuard.assertSuccess(refund2);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1125
+        // https://github.com/vendurehq/vendure/issues/1125
         it('resolves deleted Product of OrderLine ProductVariants', async () => {
         it('resolves deleted Product of OrderLine ProductVariants', async () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
             const { addItemToOrder } = await shopClient.query<
@@ -2738,7 +2738,7 @@ describe('Orders resolver', () => {
             ).toBe('gaming-pc');
             ).toBe('gaming-pc');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1508
+        // https://github.com/vendurehq/vendure/issues/1508
         it('resolves price of deleted ProductVariant of OrderLine', async () => {
         it('resolves price of deleted ProductVariant of OrderLine', async () => {
             const { activeCustomer } = await shopClient.query<
             const { activeCustomer } = await shopClient.query<
                 CodegenShop.GetActiveCustomerWithOrdersProductPriceQuery,
                 CodegenShop.GetActiveCustomerWithOrdersProductPriceQuery,
@@ -2756,7 +2756,7 @@ describe('Orders resolver', () => {
             ).toBe(108720);
             ).toBe(108720);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2204
+        // https://github.com/vendurehq/vendure/issues/2204
         it('creates correct history entries and results in correct state when manually adding payment to order', async () => {
         it('creates correct history entries and results in correct state when manually adding payment to order', async () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
             const { addItemToOrder } = await shopClient.query<
@@ -2801,7 +2801,7 @@ describe('Orders resolver', () => {
             expect(order!.state).toBe('PaymentSettled');
             expect(order!.state).toBe('PaymentSettled');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2191
+        // https://github.com/vendurehq/vendure/issues/2191
         it('correctly transitions order & fulfillment on partial fulfillment being shipped', async () => {
         it('correctly transitions order & fulfillment on partial fulfillment being shipped', async () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
             const { addItemToOrder } = await shopClient.query<

+ 2 - 2
packages/core/e2e/parallel-transactions.e2e-spec.ts

@@ -3,7 +3,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import { createTestEnvironment } from '../../testing/lib/create-test-environment';
 import { createTestEnvironment } from '../../testing/lib/create-test-environment';
 
 
 import { SlowMutationPlugin } from './fixtures/test-plugins/slow-mutation-plugin';
 import { SlowMutationPlugin } from './fixtures/test-plugins/slow-mutation-plugin';
@@ -59,7 +59,7 @@ describe('Parallel transactions', () => {
         );
         );
     }, 100000);
     }, 100000);
 
 
-    // A real-world error-case originally reported in https://github.com/vendure-ecommerce/vendure/issues/527
+    // A real-world error-case originally reported in https://github.com/vendurehq/vendure/issues/527
     it('does not deadlock on concurrent creating ProductVariants', async () => {
     it('does not deadlock on concurrent creating ProductVariants', async () => {
         const CONCURRENCY_LIMIT = 4;
         const CONCURRENCY_LIMIT = 4;
 
 

+ 3 - 4
packages/core/e2e/plugin.e2e-spec.ts

@@ -3,11 +3,10 @@ import { ConfigService } from '@vendure/core';
 import { createTestEnvironment } from '@vendure/testing';
 import { createTestEnvironment } from '@vendure/testing';
 import gql from 'graphql-tag';
 import gql from 'graphql-tag';
 import path from 'path';
 import path from 'path';
-import { afterAll, beforeAll, describe, expect, it } from 'vitest';
-import { vi } from 'vitest';
+import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 
 
 import { TestPluginWithAllLifecycleHooks } from './fixtures/test-plugins/with-all-lifecycle-hooks';
 import { TestPluginWithAllLifecycleHooks } from './fixtures/test-plugins/with-all-lifecycle-hooks';
 import { TestAPIExtensionPlugin } from './fixtures/test-plugins/with-api-extensions';
 import { TestAPIExtensionPlugin } from './fixtures/test-plugins/with-api-extensions';
@@ -54,7 +53,7 @@ describe('Plugins', () => {
         expect(configService.defaultLanguageCode).toBe(LanguageCode.zh);
         expect(configService.defaultLanguageCode).toBe(LanguageCode.zh);
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/2906
+    // https://github.com/vendurehq/vendure/issues/2906
     it('handles plugins that return new config object references', async () => {
     it('handles plugins that return new config object references', async () => {
         const configService = server.app.get(ConfigService);
         const configService = server.app.get(ConfigService);
         expect(configService.customFields.Customer).toEqual([
         expect(configService.customFields.Customer).toEqual([

+ 3 - 3
packages/core/e2e/populate.e2e-spec.ts

@@ -1,12 +1,12 @@
 import { INestApplication } from '@nestjs/common';
 import { INestApplication } from '@nestjs/common';
-import { DefaultLogger, User } from '@vendure/core';
+import { User } from '@vendure/core';
 import { populate } from '@vendure/core/cli';
 import { populate } from '@vendure/core/cli';
 import { createTestEnvironment, E2E_DEFAULT_CHANNEL_TOKEN } from '@vendure/testing';
 import { createTestEnvironment, E2E_DEFAULT_CHANNEL_TOKEN } from '@vendure/testing';
 import path from 'path';
 import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import { InitialData } from '../src/index';
 import { InitialData } from '../src/index';
 
 
 import {
 import {
@@ -200,7 +200,7 @@ describe('populate() function', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1445
+    // https://github.com/vendurehq/vendure/issues/1445
     describe('clashing option names', () => {
     describe('clashing option names', () => {
         let app: INestApplication;
         let app: INestApplication;
 
 

+ 3 - 3
packages/core/e2e/product-channel.e2e-spec.ts

@@ -224,7 +224,7 @@ describe('ChannelAware Products and ProductVariants', () => {
             expect(removeProductsFromChannel[0].channels.map(c => c.id)).toEqual(['T_1']);
             expect(removeProductsFromChannel[0].channels.map(c => c.id)).toEqual(['T_1']);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2716
+        // https://github.com/vendurehq/vendure/issues/2716
         it('querying an Order with a variant that was since removed from the channel', async () => {
         it('querying an Order with a variant that was since removed from the channel', async () => {
             await adminClient.query(AssignProductsToChannelDocument, {
             await adminClient.query(AssignProductsToChannelDocument, {
                 input: {
                 input: {
@@ -607,7 +607,7 @@ describe('ChannelAware Products and ProductVariants', () => {
             ]);
             ]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2391
+        // https://github.com/vendurehq/vendure/issues/2391
         it('does not duplicate an existing price', async () => {
         it('does not duplicate an existing price', async () => {
             await adminClient.query(UpdateChannelDocument, {
             await adminClient.query(UpdateChannelDocument, {
                 input: {
                 input: {
@@ -628,7 +628,7 @@ describe('ChannelAware Products and ProductVariants', () => {
     });
     });
 
 
     describe('querying products', () => {
     describe('querying products', () => {
-        // https://github.com/vendure-ecommerce/vendure/issues/2924
+        // https://github.com/vendurehq/vendure/issues/2924
         it('find by slug with multiple channels', async () => {
         it('find by slug with multiple channels', async () => {
             adminClient.setChannelToken(SECOND_CHANNEL_TOKEN);
             adminClient.setChannelToken(SECOND_CHANNEL_TOKEN);
 
 

+ 10 - 10
packages/core/e2e/product.e2e-spec.ts

@@ -264,7 +264,7 @@ describe('Product resolver', () => {
             expect(product.slug).toBe('curvy-monitor');
             expect(product.slug).toBe('curvy-monitor');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/820
+        // https://github.com/vendurehq/vendure/issues/820
         it('by slug with multiple assets', async () => {
         it('by slug with multiple assets', async () => {
             const { product: product1 } = await adminClient.query<
             const { product: product1 } = await adminClient.query<
                 Codegen.GetProductSimpleQuery,
                 Codegen.GetProductSimpleQuery,
@@ -291,7 +291,7 @@ describe('Product resolver', () => {
             expect(product.assets.map(a => a.id)).toEqual(['T_1', 'T_2', 'T_3']);
             expect(product.assets.map(a => a.id)).toEqual(['T_1', 'T_2', 'T_3']);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/538
+        // https://github.com/vendurehq/vendure/issues/538
         it('falls back to default language slug', async () => {
         it('falls back to default language slug', async () => {
             const { product } = await adminClient.query<
             const { product } = await adminClient.query<
                 Codegen.GetProductSimpleQuery,
                 Codegen.GetProductSimpleQuery,
@@ -1562,7 +1562,7 @@ describe('Product resolver', () => {
                 expect(updatedVariant.price).toBe(432);
                 expect(updatedVariant.price).toBe(432);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1101
+            // https://github.com/vendurehq/vendure/issues/1101
             it('after update, the updatedAt should be modified', async () => {
             it('after update, the updatedAt should be modified', async () => {
                 // Pause for a second to ensure the updatedAt date is more than 1s
                 // Pause for a second to ensure the updatedAt date is more than 1s
                 // later than the createdAt date, since sqlite does not seem to store
                 // later than the createdAt date, since sqlite does not seem to store
@@ -1877,7 +1877,7 @@ describe('Product resolver', () => {
                 deletedVariant = result1.product!.variants.find(v => v.id === 'T_35')!;
                 deletedVariant = result1.product!.variants.find(v => v.id === 'T_35')!;
             });
             });
 
 
-            /** Testing https://github.com/vendure-ecommerce/vendure/issues/412 **/
+            /** Testing https://github.com/vendurehq/vendure/issues/412 **/
             it('createProductVariants ignores deleted variants when checking for existing combinations', async () => {
             it('createProductVariants ignores deleted variants when checking for existing combinations', async () => {
                 const { createProductVariants } = await adminClient.query<
                 const { createProductVariants } = await adminClient.query<
                     Codegen.CreateProductVariantsMutation,
                     Codegen.CreateProductVariantsMutation,
@@ -1899,7 +1899,7 @@ describe('Product resolver', () => {
                 );
                 );
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/980
+            // https://github.com/vendurehq/vendure/issues/980
             it('creating variants in a non-default language', async () => {
             it('creating variants in a non-default language', async () => {
                 const { createProduct } = await adminClient.query<
                 const { createProduct } = await adminClient.query<
                     Codegen.CreateProductMutation,
                     Codegen.CreateProductMutation,
@@ -1948,7 +1948,7 @@ describe('Product resolver', () => {
                 expect(product?.variants.length).toBe(1);
                 expect(product?.variants.length).toBe(1);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1631
+            // https://github.com/vendurehq/vendure/issues/1631
             describe('changing the Channel default language', () => {
             describe('changing the Channel default language', () => {
                 let productId: string;
                 let productId: string;
 
 
@@ -2119,7 +2119,7 @@ describe('Product resolver', () => {
             expect(product).toBe(null);
             expect(product).toBe(null);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1096
+        // https://github.com/vendurehq/vendure/issues/1096
         it('variants of deleted product are also deleted', async () => {
         it('variants of deleted product are also deleted', async () => {
             for (const variant of productToDelete.variants) {
             for (const variant of productToDelete.variants) {
                 const { productVariant } = await adminClient.query<
                 const { productVariant } = await adminClient.query<
@@ -2187,7 +2187,7 @@ describe('Product resolver', () => {
             ),
             ),
         );
         );
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/558
+        // https://github.com/vendurehq/vendure/issues/558
         it('slug of a deleted product can be re-used', async () => {
         it('slug of a deleted product can be re-used', async () => {
             const result = await adminClient.query<
             const result = await adminClient.query<
                 Codegen.CreateProductMutation,
                 Codegen.CreateProductMutation,
@@ -2207,7 +2207,7 @@ describe('Product resolver', () => {
             expect(result.createProduct.slug).toBe(productToDelete.slug);
             expect(result.createProduct.slug).toBe(productToDelete.slug);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1505
+        // https://github.com/vendurehq/vendure/issues/1505
         it('attempting to re-use deleted slug twice is not allowed', async () => {
         it('attempting to re-use deleted slug twice is not allowed', async () => {
             const result = await adminClient.query<
             const result = await adminClient.query<
                 Codegen.CreateProductMutation,
                 Codegen.CreateProductMutation,
@@ -2229,7 +2229,7 @@ describe('Product resolver', () => {
             expect(result.createProduct.slug).toBe('laptop-2');
             expect(result.createProduct.slug).toBe('laptop-2');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/800
+        // https://github.com/vendurehq/vendure/issues/800
         it('product can be fetched by slug of a deleted product', async () => {
         it('product can be fetched by slug of a deleted product', async () => {
             const { product } = await adminClient.query<
             const { product } = await adminClient.query<
                 Codegen.GetProductSimpleQuery,
                 Codegen.GetProductSimpleQuery,

+ 1 - 1
packages/core/e2e/role.e2e-spec.ts

@@ -446,7 +446,7 @@ describe('Role resolver', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1874
+    // https://github.com/vendurehq/vendure/issues/1874
     describe('role escalation', () => {
     describe('role escalation', () => {
         let defaultChannel: Codegen.GetChannelsQuery['channels']['items'][number];
         let defaultChannel: Codegen.GetChannelsQuery['channels']['items'][number];
         let secondChannel: Codegen.GetChannelsQuery['channels']['items'][number];
         let secondChannel: Codegen.GetChannelsQuery['channels']['items'][number];

+ 25 - 35
packages/core/e2e/shop-auth.e2e-spec.ts

@@ -18,11 +18,10 @@ import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from
 import { DocumentNode } from 'graphql';
 import { DocumentNode } from 'graphql';
 import gql from 'graphql-tag';
 import gql from 'graphql-tag';
 import path from 'path';
 import path from 'path';
-import { Mock, vi } from 'vitest';
-import { afterAll, beforeAll, beforeEach, describe, expect, it } from 'vitest';
+import { afterAll, beforeAll, beforeEach, describe, expect, it, Mock, vi } from 'vitest';
 
 
 import { initialData } from '../../../e2e-common/e2e-initial-data';
 import { initialData } from '../../../e2e-common/e2e-initial-data';
-import { testConfig, TEST_SETUP_TIMEOUT_MS } from '../../../e2e-common/test-config';
+import { TEST_SETUP_TIMEOUT_MS, testConfig } from '../../../e2e-common/test-config';
 import { PasswordValidationError } from '../src/common/error/generated-graphql-shop-errors';
 import { PasswordValidationError } from '../src/common/error/generated-graphql-shop-errors';
 
 
 import * as Codegen from './graphql/generated-e2e-admin-types';
 import * as Codegen from './graphql/generated-e2e-admin-types';
@@ -312,9 +311,8 @@ describe('Shop auth & accounts', () => {
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
 
 
             expect(verifyCustomerAccount.identifier).toBe('test1@test.com');
             expect(verifyCustomerAccount.identifier).toBe('test1@test.com');
-            const { activeCustomer } = await shopClient.query<CodegenShop.GetActiveCustomerQuery>(
-                GET_ACTIVE_CUSTOMER,
-            );
+            const { activeCustomer } =
+                await shopClient.query<CodegenShop.GetActiveCustomerQuery>(GET_ACTIVE_CUSTOMER);
             newCustomerId = activeCustomer!.id;
             newCustomerId = activeCustomer!.id;
         });
         });
 
 
@@ -481,9 +479,8 @@ describe('Shop auth & accounts', () => {
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
 
 
             expect(verifyCustomerAccount.identifier).toBe('test2@test.com');
             expect(verifyCustomerAccount.identifier).toBe('test2@test.com');
-            const { activeCustomer } = await shopClient.query<CodegenShop.GetActiveCustomerQuery>(
-                GET_ACTIVE_CUSTOMER,
-            );
+            const { activeCustomer } =
+                await shopClient.query<CodegenShop.GetActiveCustomerQuery>(GET_ACTIVE_CUSTOMER);
         });
         });
     });
     });
 
 
@@ -609,7 +606,7 @@ describe('Shop auth & accounts', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1659
+    // https://github.com/vendurehq/vendure/issues/1659
     describe('password reset before verification', () => {
     describe('password reset before verification', () => {
         const password = 'password';
         const password = 'password';
         const emailAddress = 'test3@test.com';
         const emailAddress = 'test3@test.com';
@@ -826,9 +823,8 @@ describe('Shop auth & accounts', () => {
 
 
         it('can login with new email address after verification', async () => {
         it('can login with new email address after verification', async () => {
             await shopClient.asUserWithCredentials(NEW_EMAIL_ADDRESS, PASSWORD);
             await shopClient.asUserWithCredentials(NEW_EMAIL_ADDRESS, PASSWORD);
-            const { activeCustomer } = await shopClient.query<CodegenShop.GetActiveCustomerQuery>(
-                GET_ACTIVE_CUSTOMER,
-            );
+            const { activeCustomer } =
+                await shopClient.query<CodegenShop.GetActiveCustomerQuery>(GET_ACTIVE_CUSTOMER);
             expect(activeCustomer!.id).toBe(customer!.id);
             expect(activeCustomer!.id).toBe(customer!.id);
             expect(activeCustomer!.emailAddress).toBe(NEW_EMAIL_ADDRESS);
             expect(activeCustomer!.emailAddress).toBe(NEW_EMAIL_ADDRESS);
         });
         });
@@ -1117,30 +1113,26 @@ describe('Registration without email verification', () => {
     it('can login after registering', async () => {
     it('can login after registering', async () => {
         await shopClient.asUserWithCredentials(userEmailAddress, 'test');
         await shopClient.asUserWithCredentials(userEmailAddress, 'test');
 
 
-        const result = await shopClient.query(
-            gql`
-                query GetMe {
-                    me {
-                        identifier
-                    }
+        const result = await shopClient.query(gql`
+            query GetMe {
+                me {
+                    identifier
                 }
                 }
-            `,
-        );
+            }
+        `);
         expect(result.me.identifier).toBe(userEmailAddress);
         expect(result.me.identifier).toBe(userEmailAddress);
     });
     });
 
 
     it('can login case insensitive', async () => {
     it('can login case insensitive', async () => {
         await shopClient.asUserWithCredentials(userEmailAddress.toUpperCase(), 'test');
         await shopClient.asUserWithCredentials(userEmailAddress.toUpperCase(), 'test');
 
 
-        const result = await shopClient.query(
-            gql`
-                query GetMe {
-                    me {
-                        identifier
-                    }
+        const result = await shopClient.query(gql`
+            query GetMe {
+                me {
+                    identifier
                 }
                 }
-            `,
-        );
+            }
+        `);
         expect(result.me.identifier).toBe(userEmailAddress);
         expect(result.me.identifier).toBe(userEmailAddress);
     });
     });
 
 
@@ -1258,9 +1250,8 @@ describe('Updating email address without email verification', () => {
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true);
         expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true);
 
 
-        const { activeCustomer } = await shopClient.query<CodegenShop.GetActiveCustomerQuery>(
-            GET_ACTIVE_CUSTOMER,
-        );
+        const { activeCustomer } =
+            await shopClient.query<CodegenShop.GetActiveCustomerQuery>(GET_ACTIVE_CUSTOMER);
         expect(activeCustomer!.emailAddress).toBe(NEW_EMAIL_ADDRESS);
         expect(activeCustomer!.emailAddress).toBe(NEW_EMAIL_ADDRESS);
     });
     });
 
 
@@ -1281,9 +1272,8 @@ describe('Updating email address without email verification', () => {
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true);
         expect(sendEmailFn.mock.calls[0][0] instanceof IdentifierChangeEvent).toBe(true);
 
 
-        const { activeCustomer } = await shopClient.query<CodegenShop.GetActiveCustomerQuery>(
-            GET_ACTIVE_CUSTOMER,
-        );
+        const { activeCustomer } =
+            await shopClient.query<CodegenShop.GetActiveCustomerQuery>(GET_ACTIVE_CUSTOMER);
         expect(activeCustomer!.emailAddress).toBe('not.normal@test.com');
         expect(activeCustomer!.emailAddress).toBe('not.normal@test.com');
     });
     });
 });
 });

+ 14 - 20
packages/core/e2e/shop-order.e2e-spec.ts

@@ -368,7 +368,7 @@ describe('Shop orders', () => {
                 });
                 });
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1670
+            // https://github.com/vendurehq/vendure/issues/1670
             it('adding a second item after adjusting custom field adds new OrderLine', async () => {
             it('adding a second item after adjusting custom field adds new OrderLine', async () => {
                 const { addItemToOrder: add1 } = await shopClient.query<AddItemToOrder.Mutation>(
                 const { addItemToOrder: add1 } = await shopClient.query<AddItemToOrder.Mutation>(
                     ADD_ITEM_TO_ORDER_WITH_CUSTOM_FIELDS,
                     ADD_ITEM_TO_ORDER_WITH_CUSTOM_FIELDS,
@@ -610,7 +610,6 @@ describe('Shop orders', () => {
                 orderResultGuard.assertSuccess(removeOrderLine);
                 orderResultGuard.assertSuccess(removeOrderLine);
                 expect(removeOrderLine.lines.length).toBe(1);
                 expect(removeOrderLine.lines.length).toBe(1);
             });
             });
-
         });
         });
 
 
         it('addItemToOrder errors when going beyond orderItemsLimit', async () => {
         it('addItemToOrder errors when going beyond orderItemsLimit', async () => {
@@ -710,7 +709,7 @@ describe('Shop orders', () => {
             expect(adjustLine2.lines.map(i => i.productVariant.id)).toEqual(['T_1']);
             expect(adjustLine2.lines.map(i => i.productVariant.id)).toEqual(['T_1']);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2702
+        // https://github.com/vendurehq/vendure/issues/2702
         it('stockOnHand check works with multiple order lines with different custom fields', async () => {
         it('stockOnHand check works with multiple order lines with different custom fields', async () => {
             const variantId = 'T_27';
             const variantId = 'T_27';
             const { updateProductVariants } = await adminClient.query<
             const { updateProductVariants } = await adminClient.query<
@@ -1408,7 +1407,6 @@ describe('Shop orders', () => {
             expect(addItemToOrder.lines[1].featuredAsset?.id).toBe(product?.featuredAsset?.id);
             expect(addItemToOrder.lines[1].featuredAsset?.id).toBe(product?.featuredAsset?.id);
         });
         });
 
 
-
         it('adds multiple items to order with different custom fields', async () => {
         it('adds multiple items to order with different custom fields', async () => {
             await shopClient.asAnonymousUser(); // New order
             await shopClient.asAnonymousUser(); // New order
             const { addItemsToOrder } = await shopClient.query<CodegenShop.AddItemsToOrderMutation>(
             const { addItemsToOrder } = await shopClient.query<CodegenShop.AddItemsToOrderMutation>(
@@ -1419,14 +1417,14 @@ describe('Shop orders', () => {
                             productVariantId: 'T_1',
                             productVariantId: 'T_1',
                             quantity: 1,
                             quantity: 1,
                             customFields: {
                             customFields: {
-                                    notes: 'Variant 1 note',
+                                notes: 'Variant 1 note',
                             },
                             },
                         },
                         },
                         {
                         {
                             productVariantId: 'T_2',
                             productVariantId: 'T_2',
                             quantity: 2,
                             quantity: 2,
                             customFields: {
                             customFields: {
-                                    notes: 'Variant 2 note',
+                                notes: 'Variant 2 note',
                             },
                             },
                         },
                         },
                         {
                         {
@@ -2065,7 +2063,7 @@ describe('Shop orders', () => {
         });
         });
 
 
         /**
         /**
-         * See https://github.com/vendure-ecommerce/vendure/issues/263
+         * See https://github.com/vendurehq/vendure/issues/263
          */
          */
         it('does not merge when logging in to a different account (issue #263)', async () => {
         it('does not merge when logging in to a different account (issue #263)', async () => {
             await shopClient.query<Codegen.AttemptLoginMutation, Codegen.AttemptLoginMutationVariables>(
             await shopClient.query<Codegen.AttemptLoginMutation, Codegen.AttemptLoginMutationVariables>(
@@ -2103,7 +2101,7 @@ describe('Shop orders', () => {
             expect(activeOrder!.lines[1].productVariant.id).toBe('T_2');
             expect(activeOrder!.lines[1].productVariant.id).toBe('T_2');
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/754
+        // https://github.com/vendurehq/vendure/issues/754
         it('handles merging when an existing order has OrderLines', async () => {
         it('handles merging when an existing order has OrderLines', async () => {
             async function setShippingOnActiveOrder() {
             async function setShippingOnActiveOrder() {
                 await shopClient.query<
                 await shopClient.query<
@@ -2469,7 +2467,7 @@ describe('Shop orders', () => {
             expect(transitionOrderToState!.errorCode).toBe(ErrorCode.ORDER_STATE_TRANSITION_ERROR);
             expect(transitionOrderToState!.errorCode).toBe(ErrorCode.ORDER_STATE_TRANSITION_ERROR);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1567
+        // https://github.com/vendurehq/vendure/issues/1567
         it('allows transitioning to Cancelled with deleted variant', async () => {
         it('allows transitioning to Cancelled with deleted variant', async () => {
             const { cancelOrder } = await adminClient.query<
             const { cancelOrder } = await adminClient.query<
                 Codegen.CancelOrderMutation,
                 Codegen.CancelOrderMutation,
@@ -2486,7 +2484,7 @@ describe('Shop orders', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1195
+    // https://github.com/vendurehq/vendure/issues/1195
     describe('shipping method invalidation', () => {
     describe('shipping method invalidation', () => {
         let GBShippingMethodId: string;
         let GBShippingMethodId: string;
         let ATShippingMethodId: string;
         let ATShippingMethodId: string;
@@ -2610,7 +2608,7 @@ describe('Shop orders', () => {
             expect(result.activeOrder?.shippingLines).toEqual([]);
             expect(result.activeOrder?.shippingLines).toEqual([]);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1441
+        // https://github.com/vendurehq/vendure/issues/1441
         it('shipping methods are re-evaluated when all OrderLines are removed', async () => {
         it('shipping methods are re-evaluated when all OrderLines are removed', async () => {
             const { createShippingMethod } = await adminClient.query<
             const { createShippingMethod } = await adminClient.query<
                 CreateShippingMethod.Mutation,
                 CreateShippingMethod.Mutation,
@@ -2725,7 +2723,7 @@ describe('Shop orders', () => {
             expect(activeOrder.billingAddress).toEqual(billingAddress);
             expect(activeOrder.billingAddress).toEqual(billingAddress);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/2548
+        // https://github.com/vendurehq/vendure/issues/2548
         it('hydrating Order in the ShippingEligibilityChecker does not break order modification', async () => {
         it('hydrating Order in the ShippingEligibilityChecker does not break order modification', async () => {
             // First we'll create a ShippingMethod that uses the hydrating checker
             // First we'll create a ShippingMethod that uses the hydrating checker
             await adminClient.query(CreateShippingMethodDocument, {
             await adminClient.query(CreateShippingMethodDocument, {
@@ -2862,12 +2860,8 @@ export const ADD_ITEM_TO_ORDER_WITH_CUSTOM_FIELDS = gql`
 `;
 `;
 
 
 export const ADD_MULTIPLE_ITEMS_TO_ORDER_WITH_CUSTOM_FIELDS = gql`
 export const ADD_MULTIPLE_ITEMS_TO_ORDER_WITH_CUSTOM_FIELDS = gql`
-    mutation AddMultipleItemsToOrderWithCustomFields(
-        $inputs: [AddItemInput!]!
-    ) {
-        addItemsToOrder(
-            inputs: $inputs
-        ) {
+    mutation AddMultipleItemsToOrderWithCustomFields($inputs: [AddItemInput!]!) {
+        addItemsToOrder(inputs: $inputs) {
             order {
             order {
                 ...UpdatedOrder
                 ...UpdatedOrder
                 lines {
                 lines {
@@ -2879,10 +2873,10 @@ export const ADD_MULTIPLE_ITEMS_TO_ORDER_WITH_CUSTOM_FIELDS = gql`
                     customFields {
                     customFields {
                         notes
                         notes
                     }
                     }
-                }   
+                }
             }
             }
             errorResults {
             errorResults {
-                ...on ErrorResult {
+                ... on ErrorResult {
                     errorCode
                     errorCode
                     message
                     message
                 }
                 }

+ 7 - 7
packages/core/e2e/stock-control.e2e-spec.ts

@@ -62,7 +62,7 @@ class TestOrderPlacedStrategy extends DefaultOrderPlacedStrategy {
         order: Order,
         order: Order,
     ): boolean {
     ): boolean {
         if ((order.customFields as any).test1557) {
         if ((order.customFields as any).test1557) {
-            // This branch is used in testing https://github.com/vendure-ecommerce/vendure/issues/1557
+            // This branch is used in testing https://github.com/vendurehq/vendure/issues/1557
             // i.e. it will cause the Order to be set to `active: false` but without creating any
             // i.e. it will cause the Order to be set to `active: false` but without creating any
             // Allocations for the OrderLines.
             // Allocations for the OrderLines.
             if (fromState === 'AddingItems' && toState === 'ArrangingPayment') {
             if (fromState === 'AddingItems' && toState === 'ArrangingPayment') {
@@ -502,7 +502,7 @@ describe('Stock control', () => {
             expect(variant3.stockMovements.items[3].quantity).toBe(4);
             expect(variant3.stockMovements.items[3].quantity).toBe(4);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1198
+        // https://github.com/vendurehq/vendure/issues/1198
         it('creates Cancellations & adjusts stock when cancelling a Fulfillment', async () => {
         it('creates Cancellations & adjusts stock when cancelling a Fulfillment', async () => {
             async function getTrackedVariant() {
             async function getTrackedVariant() {
                 const result = await getProductWithStockMovement('T_2');
                 const result = await getProductWithStockMovement('T_2');
@@ -1164,7 +1164,7 @@ describe('Stock control', () => {
                 );
                 );
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/691
+            // https://github.com/vendurehq/vendure/issues/691
             it('returns InsufficientStockError when tracking inventory & adding too many individually', async () => {
             it('returns InsufficientStockError when tracking inventory & adding too many individually', async () => {
                 await shopClient.asAnonymousUser();
                 await shopClient.asAnonymousUser();
                 const { addItemToOrder: add1 } = await shopClient.query<
                 const { addItemToOrder: add1 } = await shopClient.query<
@@ -1195,7 +1195,7 @@ describe('Stock control', () => {
                 expect((add2 as any).order.lines[0].quantity).toBe(3);
                 expect((add2 as any).order.lines[0].quantity).toBe(3);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1273
+            // https://github.com/vendurehq/vendure/issues/1273
             it('adjustOrderLine when saleable stock changes to zero', async () => {
             it('adjustOrderLine when saleable stock changes to zero', async () => {
                 await adminClient.query<
                 await adminClient.query<
                     Codegen.UpdateProductVariantsMutation,
                     Codegen.UpdateProductVariantsMutation,
@@ -1248,7 +1248,7 @@ describe('Stock control', () => {
                 expect(activeOrder!.lines.length).toBe(0);
                 expect(activeOrder!.lines.length).toBe(0);
             });
             });
 
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1557
+            // https://github.com/vendurehq/vendure/issues/1557
             it('cancelling an Order only creates Releases for OrderItems that have actually been allocated', async () => {
             it('cancelling an Order only creates Releases for OrderItems that have actually been allocated', async () => {
                 const product = await getProductWithStockMovement('T_2');
                 const product = await getProductWithStockMovement('T_2');
                 const variant6 = product!.variants.find(v => v.id === variant6Id)!;
                 const variant6 = product!.variants.find(v => v.id === variant6Id)!;
@@ -1317,7 +1317,7 @@ describe('Stock control', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1028
+    // https://github.com/vendurehq/vendure/issues/1028
     describe('OrderLines with same variant but different custom fields', () => {
     describe('OrderLines with same variant but different custom fields', () => {
         let orderId: string;
         let orderId: string;
 
 
@@ -1448,7 +1448,7 @@ describe('Stock control', () => {
         });
         });
     });
     });
 
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1738
+    // https://github.com/vendurehq/vendure/issues/1738
     describe('going out of stock after being added to order', () => {
     describe('going out of stock after being added to order', () => {
         const variantId = 'T_1';
         const variantId = 'T_1';
 
 

+ 1 - 1
packages/core/package.json

@@ -4,7 +4,7 @@
     "description": "A modern, headless ecommerce framework",
     "description": "A modern, headless ecommerce framework",
     "repository": {
     "repository": {
         "type": "git",
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     },
     "keywords": [
     "keywords": [
         "vendure",
         "vendure",

+ 1 - 1
packages/core/src/api/common/id-codec.spec.ts

@@ -430,7 +430,7 @@ describe('IdCodecService', () => {
             });
             });
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1596
+        // https://github.com/vendurehq/vendure/issues/1596
         it('works with heterogeneous array', () => {
         it('works with heterogeneous array', () => {
             const input1 = { value: [null, 'foo'] };
             const input1 = { value: [null, 'foo'] };
             const input2 = { value: [false, 'foo'] };
             const input2 = { value: [false, 'foo'] };

+ 1 - 1
packages/core/src/api/common/request-context.spec.ts

@@ -58,7 +58,7 @@ describe('RequestContext', () => {
             expect(result.session).toEqual(original.session);
             expect(result.session).toEqual(original.session);
         });
         });
 
 
-        // https://github.com/vendure-ecommerce/vendure/issues/864
+        // https://github.com/vendurehq/vendure/issues/864
         it('serialize request context with circular refs', () => {
         it('serialize request context with circular refs', () => {
             const cyclic: any = {};
             const cyclic: any = {};
             const cyclic1: any = {
             const cyclic1: any = {

+ 1 - 1
packages/core/src/api/config/configure-graphql-module.ts

@@ -105,7 +105,7 @@ async function createGraphQLOptions(
         fieldResolverEnhancers: ['guards'],
         fieldResolverEnhancers: ['guards'],
         resolvers,
         resolvers,
         // We no longer rely on the upload facility bundled with Apollo Server, and instead
         // We no longer rely on the upload facility bundled with Apollo Server, and instead
-        // manually configure the graphql-upload package. See https://github.com/vendure-ecommerce/vendure/issues/396
+        // manually configure the graphql-upload package. See https://github.com/vendurehq/vendure/issues/396
         uploads: false,
         uploads: false,
         playground: options.playground,
         playground: options.playground,
         csrfPrevention: false,
         csrfPrevention: false,

+ 1 - 1
packages/core/src/api/config/generate-resolvers.ts

@@ -334,7 +334,7 @@ function generateCustomFieldResolvers(
             // customFields field is `JSON`. This type will simply return the full object, which
             // customFields field is `JSON`. This type will simply return the full object, which
             // will cause a leak of private data unless we force a `null` return value in the case
             // will cause a leak of private data unless we force a `null` return value in the case
             // that there are no public fields.
             // that there are no public fields.
-            // See https://github.com/vendure-ecommerce/vendure/issues/3049
+            // See https://github.com/vendurehq/vendure/issues/3049
             shopResolvers[entityName] = { customFields: () => null };
             shopResolvers[entityName] = { customFields: () => null };
         }
         }
     }
     }

+ 1 - 1
packages/core/src/api/config/graphql-custom-fields.spec.ts

@@ -25,7 +25,7 @@ describe('addGraphQLCustomFields()', () => {
     });
     });
 
 
     // regression test for
     // regression test for
-    // https://github.com/vendure-ecommerce/vendure/issues/3158
+    // https://github.com/vendurehq/vendure/issues/3158
     it('uses JSON scalar in UpdateActiveAdministratorInput if only internal custom fields defined on Administrator', () => {
     it('uses JSON scalar in UpdateActiveAdministratorInput if only internal custom fields defined on Administrator', () => {
         // custom field that is internal but not readonly - should not cause
         // custom field that is internal but not readonly - should not cause
         // `addActiveAdministratorCustomFields` to assume that
         // `addActiveAdministratorCustomFields` to assume that

+ 1 - 1
packages/core/src/api/middleware/auth-guard.ts

@@ -121,7 +121,7 @@ export class AuthGuard implements CanActivate {
                             // For a duplicate error, this means that concurrent requests have resulted in attempting to
                             // For a duplicate error, this means that concurrent requests have resulted in attempting to
                             // assign the Customer to the channel more than once. In this case we can safely ignore the
                             // assign the Customer to the channel more than once. In this case we can safely ignore the
                             // error as the Customer was successfully assigned in the earlier call.
                             // error as the Customer was successfully assigned in the earlier call.
-                            // See https://github.com/vendure-ecommerce/vendure/issues/834
+                            // See https://github.com/vendurehq/vendure/issues/834
                         } else {
                         } else {
                             throw e;
                             throw e;
                         }
                         }

Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików