Ver código fonte

chore: Update github org name in links

We renamed the org from "vendure-ecommerce" to "vendurehq"
Michael Bromley 1 semana atrás
pai
commit
3af21d5486
100 arquivos alterados com 450 adições e 486 exclusões
  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 }}
         with:
           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'
           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
 
-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
 
@@ -41,10 +41,10 @@ git clone https://github.com/YOUR-USERNAME/vendure.git
 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
-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.
@@ -299,7 +299,7 @@ If you have the [GitHub CLI](https://cli.github.com/) installed, run:
 ```bash
 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**
 
@@ -478,7 +478,7 @@ docs/docs
 
 ### 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
 

+ 4 - 4
README.md

@@ -16,7 +16,7 @@
 </h4>
 
 <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." />
   </a>
   <a href="https://twitter.com/intent/follow?screen_name=vendure_io">
@@ -25,7 +25,7 @@
   <a href="https://vendure.io/community">
     <img src="https://img.shields.io/badge/join-our%20discord-7289DA.svg" alt="Join our Discord" />
   </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!" />
   </a>
 </p>
@@ -50,7 +50,7 @@ Visit our [Getting Started guide](https://docs.vendure.io/guides/getting-started
 
 ## 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).
 
@@ -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.
 
-**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
 

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

@@ -121,5 +121,5 @@ export const config: VendureConfig = {
 
 :::info
 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)
 
 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.
 
 ### 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.
 
 :::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

+ 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
 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

+ 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.
 
-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
 
@@ -208,7 +208,7 @@ If you want to use the free plan, use the "Lite Template".
               "deploymentPlan": "nf-compute-20"
             },
             "vcsData": {
-              "projectUrl": "https://github.com/vendure-ecommerce/one-click-deploy",
+              "projectUrl": "https://github.com/vendurehq/one-click-deploy",
               "projectType": "github"
             },
             "buildSettings": {
@@ -455,7 +455,7 @@ This setup is suitable for testing purposes, but is not recommended for producti
               "deploymentPlan": "nf-compute-10"
             },
             "vcsData": {
-              "projectUrl": "https://github.com/vendure-ecommerce/one-click-deploy",
+              "projectUrl": "https://github.com/vendurehq/one-click-deploy",
               "projectType": "github"
             },
             "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
 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
@@ -199,4 +199,4 @@ want to consider the following:
 server and worker instances.
   - [Railway Redis docs](https://docs.railway.app/guides/redis)
   - [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
 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.
 :::
 
@@ -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:
 
 ```
-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.
   - [Render Redis docs](https://docs.render.com/redis#creating-a-redis-instance)
   - [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
-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

+ 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]`. 
 
 :::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

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

@@ -10,7 +10,7 @@ sidebar_position: 3
 ### 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).
 - 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
 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
 
-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`
 - `ChangedPriceHandlingStrategy`
@@ -125,7 +125,7 @@ const order = await this.connection
 
 ### 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.
 

+ 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.
-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.
 3. Add the `MigrationV2Plugin` to your plugins array:
    ```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.
 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: 
-    - [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`.
 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
-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.
 :::
@@ -309,7 +309,7 @@ import './types';
 ```
 
 :::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

+ 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.
 
 :::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
@@ -53,7 +53,7 @@ export default defineConfig({
         swc.vite({
             jsc: {
                 transform: {
-                    // See https://github.com/vendure-ecommerce/vendure/issues/2099
+                    // See https://github.com/vendurehq/vendure/issues/2099
                     useDefineForClassFields: false,
                 },
             },
@@ -157,8 +157,8 @@ afterAll(async () => {
 
 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.
 
 ### 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
 
-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
 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 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?
 
@@ -48,7 +48,7 @@ Major version upgrades (e.g. v1.x to v2.x) can include:
 * Changes to the GraphQL schema
 * 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
 

+ 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.
 
 :::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.

+ 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**
 
-     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`**
 
     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%);
     }
     ```
-   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:   
     ```ts title="src/vendure-config.ts"
     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
 
-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.
 

+ 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.
 
 :::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.

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

@@ -17,7 +17,7 @@ import TabItem from '@theme/TabItem';
 
 ## @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
 
@@ -175,7 +175,7 @@ Once complete, you'll see a message like this:
 │  ➡️ Docs: https://docs.vendure.io                     │
 │  ➡️ Discord community: https://vendure.io/community   │
 │  ➡️ 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
     ```
 
-- 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.

+ 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
 
 :::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.
 :::
@@ -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.
 
-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.
@@ -414,7 +414,7 @@ This sync service provides the foundation for handling all Vendure-specific comp
 <TabItem value="storyblok" label="Storyblok">
 
 :::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**
@@ -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.
 
-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 value="contentful" label="Contentful">
 
 :::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**
@@ -1056,7 +1056,7 @@ This configuration provides a complete Contentful CMS integration that automatic
 <TabItem value="strapi" label="Strapi">
 
 :::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.
@@ -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.
 
-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 value="Sanity" label="Sanity">
 
 :::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.
@@ -1645,13 +1645,13 @@ SANITY_DATASET=production
 
 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 value="payload" label="Payload">
 
 :::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.
@@ -1992,7 +1992,7 @@ CmsPlugin.init({
 ```
 
 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>
 </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:
 
-- [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
 
 :::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
@@ -283,7 +283,7 @@ export const digitalOrderProcess: OrderProcess<string> = {
 
 ### 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:
 

+ 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';
 
 :::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.

+ 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';
 
 :::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.

+ 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
 
-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
-**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)

+ 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.
 
-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.
 
 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
 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
 

+ 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
 
 :::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.
 :::
 
@@ -455,7 +455,7 @@ S3_FORCE_PATH_STYLE=true-or-false
 ```
 
 :::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

+ 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
 
 - 🔗 [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
 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.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.
 
@@ -48,7 +48,7 @@ Our official Remix Storefront starter provides you with a lightning-fast, modern
 ### Qwik Storefront
 
 - 🔗 [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.
 
@@ -59,7 +59,7 @@ Our official Qwik Storefront starter provides you with a lightning-fast, modern
 ### Angular Storefront
 
 - 🔗 [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.
 

+ 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
-[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
 
 <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/).
 
 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.
 
 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
 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

+ 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
 This documentation applies from v3.5.0 of the plugin, which works differently to previous
 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

+ 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.
 
 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:
 

+ 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" />
 
 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"
 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
 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
-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.
 ### getExistingOrderLine
 

+ 3 - 3
docs/docusaurus.config.js

@@ -40,7 +40,7 @@ const config = {
                 docs: {
                     routeBasePath: '/',
                     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,
                     admonitions: {
                         keywords: ['cli'],
@@ -104,7 +104,7 @@ const config = {
                         position: 'right',
                     },
                     {
-                        href: 'https://github.com/vendure-ecommerce/vendure',
+                        href: 'https://github.com/vendurehq/vendure',
                         label: 'GitHub',
                         position: 'right',
                     },
@@ -126,7 +126,7 @@ const config = {
                             },
                             {
                                 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>
             </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"
                 className={styles.label}
             >

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

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

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

@@ -27,7 +27,7 @@ export default defineConfig({
         swc.vite({
             jsc: {
                 transform: {
-                    // See https://github.com/vendure-ecommerce/vendure/issues/2099
+                    // See https://github.com/vendurehq/vendure/issues/2099
                     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": {
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     "license": "GPL-3.0-or-later",
     "scripts": {

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

@@ -4,7 +4,7 @@
     "license": "GPL-3.0-or-later",
     "repository": {
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     "scripts": {
         "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();
     }
 
-    // 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'])
     onDragLeave(event: any) {
         if (!event.clientX && !event.clientY) {
@@ -68,7 +68,7 @@ export class AssetFileInputComponent implements OnInit {
         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) {
         event.preventDefault();
         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);
         }
         &.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);
         }
     }

+ 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 { CurrencyCode, LanguageCode } from '../../common/generated-types';
 
@@ -29,7 +28,7 @@ describe('LocaleCurrencyPipe', () => {
         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', () => {
         const pipe = new LocaleCurrencyPipe(new MockCurrencyService());
         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 { 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 {
     GetImageTransformParametersArgs,
     ImageTransformParameters,
@@ -210,7 +210,7 @@ describe('AssetServerPlugin', () => {
             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', () => {
             function curlWithPathAsIs(url: string) {
                 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 () => {
         const filesToUpload = [path.join(__dirname, 'fixtures/assets/bad-image.jpg')];
         const { createAssets }: CreateAssetsMutation = await adminClient.fileUploadMutation({

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

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

+ 1 - 1
packages/cli/package.json

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

+ 1 - 1
packages/common/package.json

@@ -5,7 +5,7 @@
     "license": "GPL-3.0-or-later",
     "repository": {
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     "scripts": {
         "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('-_.');
     });
 
-    // https://github.com/vendure-ecommerce/vendure/issues/679
+    // https://github.com/vendurehq/vendure/issues/679
     it('replaces single quotation marks', () => {
         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 { 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 {
-    AssetFragment,
     AssetWithTagsAndFocalPointFragment,
     CreateAssetsMutation,
     DeletionResult,
@@ -19,7 +19,6 @@ import {
     LogicalOperator,
     SortOrder,
 } from './graphql/generated-e2e-admin-types';
-import * as Codegen from './graphql/generated-e2e-admin-types';
 import {
     CREATE_ASSETS,
     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 () => {
         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 () => {
             const filesToUpload = [path.join(__dirname, 'fixtures/assets/dummy.zip')];
             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 () => {
             /**
              * 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 () => {
             await adminClient.asSuperAdmin();
             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 () => {
             // We run this multiple times since the error is based on a race condition that does not
             // 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 { 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 {
     TestAuthenticationStrategy,
@@ -18,13 +18,13 @@ import {
     VALID_AUTH_TOKEN,
 } from './fixtures/test-authentication-strategies';
 import { CURRENT_USER_FRAGMENT } from './graphql/fragments';
+import * as Codegen from './graphql/generated-e2e-admin-types';
 import {
     AttemptLoginDocument,
     CurrentUserFragment,
     CustomerFragment,
     HistoryEntryType,
 } 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 { CREATE_CUSTOMER, DELETE_CUSTOMER, GET_CUSTOMER_HISTORY, ME } from './graphql/shared-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 () => {
             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);
             const { authenticate: auth1 } = await shopClient.query<Codegen.AuthenticateMutation>(
                 AUTHENTICATE,
@@ -225,9 +224,8 @@ describe('AuthenticationStrategy', () => {
             currentUserGuard.assertSuccess(auth1);
             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);
 
             await shopClient.asAnonymousUser();
@@ -247,9 +245,8 @@ describe('AuthenticationStrategy', () => {
             currentUserGuard.assertSuccess(auth2);
             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);
         });
 
@@ -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 () => {
             const emailAddress = 'hello@test-domain.com';
             await adminClient.asAnonymousUser();
@@ -338,7 +335,7 @@ describe('AuthenticationStrategy', () => {
     describe('native auth', () => {
         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 () => {
             const { createCustomer: result1 } = await adminClient.query<
                 Codegen.CreateCustomerMutation,
@@ -413,7 +410,7 @@ describe('No NativeAuthStrategy on Shop API', () => {
         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 () => {
         const { login } = await adminClient.query(AttemptLoginDocument, {
             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 () => {
         const result = await adminClient.query<Codegen.GetCollectionBreadcrumbsQuery>(
@@ -517,7 +517,7 @@ describe('Collection resolver', () => {
             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 () => {
             const result = await adminClient.query<
                 Codegen.GetCollectionQuery,
@@ -573,7 +573,7 @@ describe('Collection resolver', () => {
             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 () => {
             const { product } = await adminClient.query<
                 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 () => {
             const { collections } = await shopClient.query<Codegen.GetCollectionNestedParentsQuery>(
                 GET_COLLECTION_NESTED_PARENTS,
@@ -718,7 +718,7 @@ describe('Collection resolver', () => {
             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 () => {
             const { collection } = await adminClient.query<
                 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 () => {
             const { collections } = await adminClient.query(GET_COLLECTION_LIST_WITH_TRANSLATIONS, {
                 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 () => {
             await adminClient.query<Codegen.MoveCollectionMutation, Codegen.MoveCollectionMutationVariables>(
                 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 () => {
                 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 () => {
             await adminClient.query<
                 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
- * https://github.com/vendure-ecommerce/vendure/issues/3266
+ * https://github.com/vendurehq/vendure/issues/3266
  */
 
 const customConfig = {

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

@@ -272,7 +272,7 @@ describe('Custom field relations', () => {
             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 () => {
             const { collections } = await adminClient.query(gql`
                 query {
@@ -495,7 +495,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateCollection } = await adminClient.query(gql`
                     mutation {
@@ -612,7 +612,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateFacet } = await adminClient.query(gql`
                     mutation {
@@ -672,7 +672,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateFacetValues } = await adminClient.query(gql`
                     mutation {
@@ -766,7 +766,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { order } = await adminClient.query(gql`
                     query {
@@ -846,7 +846,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateProduct } = await adminClient.query(gql`
                     mutation {
@@ -904,7 +904,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateProductVariants } = await adminClient.query(gql`
                     mutation {
@@ -924,7 +924,7 @@ describe('Custom field relations', () => {
             });
 
             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 () => {
                     const { product } = await shopClient.query(gql`
                         query {
@@ -944,7 +944,7 @@ describe('Custom field relations', () => {
                     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 () => {
                     const { customer } = await adminClient.query(gql`
                         query {
@@ -968,7 +968,7 @@ describe('Custom field relations', () => {
                     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 () => {
                     await adminClient.query(gql`
                         mutation {
@@ -1090,7 +1090,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateProductOptionGroup } = await adminClient.query(gql`
                     mutation {
@@ -1148,7 +1148,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateProductOption } = await adminClient.query(gql`
                     mutation {
@@ -1223,7 +1223,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updateShippingMethod } = await adminClient.query(gql`
                     mutation {
@@ -1306,7 +1306,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 const { updatePaymentMethod } = await adminClient.query(gql`
                     mutation {
@@ -1372,7 +1372,7 @@ describe('Custom field relations', () => {
                 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 () => {
                 TestPlugin1636_1664.testResolverSpy.mockReset();
                 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 gql from 'graphql-tag';
 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 { 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: [
             {
                 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
-        // https://github.com/vendure-ecommerce/vendure/issues/3326
+        // https://github.com/vendurehq/vendure/issues/3326
         Address: [
             {
                 name: 'hereId',
@@ -788,7 +788,7 @@ describe('Custom fields', () => {
             }, 'async error'),
         );
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1000
+        // https://github.com/vendurehq/vendure/issues/1000
         it(
             'supports validation of relation types',
             assertThrowsWithMessage(async () => {
@@ -805,7 +805,7 @@ describe('Custom fields', () => {
             }, 'relation error'),
         );
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1091
+        // https://github.com/vendurehq/vendure/issues/1091
         it('handles well graphql internal fields', async () => {
             // throws "Cannot read property 'args' of undefined" if broken
             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', () => {
             it('addItemToOrder', async () => {
                 try {
@@ -971,7 +971,7 @@ describe('Custom fields', () => {
             }, '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 () => {
             const { collection } = await shopClient.query(gql`
                 query {
@@ -999,7 +999,7 @@ describe('Custom fields', () => {
             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 () => {
             const { products } = await adminClient.query(gql`
                 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 { 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 { 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');
         });
 
-        // https://github.com/vendure-ecommerce/vendure/issues/834
+        // https://github.com/vendurehq/vendure/issues/834
         it('handles concurrent assignments to a new channel', async () => {
             const THIRD_CHANNEL_TOKEN = 'third_channel_token';
             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 { 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 { HistoryEntryType } from './graphql/generated-e2e-admin-types';
@@ -273,13 +273,12 @@ describe('CustomerGroup resolver', () => {
         expect(deleteCustomerGroup.message).toBeNull();
         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);
     });
 
-    // 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 () => {
         const customer5Id = customers[4].id;
         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');
         });
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1071
+        // https://github.com/vendurehq/vendure/issues/1071
         it('updates the associated User email address', async () => {
             await shopClient.asUserWithCredentials('unique-email@test.com', 'test');
             const { me } = await shopClient.query<Codegen.MeQuery>(ME);
@@ -590,7 +590,7 @@ describe('Customer resolver', () => {
             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 () => {
             const { updateCustomer } = await adminClient.query<
                 Codegen.UpdateCustomerMutation,
@@ -695,7 +695,7 @@ describe('Customer resolver', () => {
             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 () => {
             const orderErrorGuard: ErrorResultGuard<ActiveOrderCustomerFragment> = createErrorResultGuard(
                 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();
     });
 
-    // Testing https://github.com/vendure-ecommerce/vendure/issues/520
+    // Testing https://github.com/vendurehq/vendure/issues/520
     it('passing transaction via EventBus', async () => {
         TransactionTestPlugin.reset();
         const { createTestAdministrator } = await adminClient.query(CREATE_ADMIN, {
@@ -251,7 +251,7 @@ describe('Transaction infrastructure', () => {
         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 () => {
         TransactionTestPlugin.reset();
         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 () => {
             const result = await shopClient.query<SearchFacetValuesQuery, SearchFacetValuesQueryVariables>(
                 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 () => {
                 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 () => {
                 const result1 = await shopClient.query<SearchGetPricesQuery, SearchGetPricesQueryVariables>(
                     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 () => {
                 // 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
@@ -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', () => {
             let createdProductId: string;
 
@@ -1508,7 +1508,7 @@ describe('Default search plugin', () => {
                 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 () => {
                 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 () => {
                     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', () => {
             function search(term: string) {
                 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');
     });
 
-    // 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 () => {
         TestOrderPlacedStrategy.spy.mockClear();
         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 */
 import {
+    ActiveOrderService,
     Asset,
     ChannelService,
     EntityHydrator,
     mergeConfig,
     Order,
+    OrderLine,
+    OrderService,
     Product,
     ProductVariant,
     RequestContext,
-    ActiveOrderService,
-    OrderService,
-    TransactionalConnection,
-    OrderLine,
     RequestContextService,
+    TransactionalConnection,
 } from '@vendure/core';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 import gql from 'graphql-tag';
@@ -20,7 +20,7 @@ import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 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 {
     AdditionalConfig,
@@ -165,7 +165,7 @@ describe('Entity hydration', () => {
         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 () => {
         // Product T_5 has no asset defined
         const { hydrateProductAsset } = await adminClient.query<{ hydrateProductAsset: Product }>(
@@ -178,7 +178,7 @@ describe('Entity hydration', () => {
         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 () => {
         const { hydrateProductWithNoFacets } = await adminClient.query<{
             hydrateProductWithNoFacets: Product;
@@ -187,7 +187,7 @@ describe('Entity hydration', () => {
         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 () => {
         const { hydrateProductVariant } = await adminClient.query<{ hydrateProductVariant: ProductVariant }>(
             GET_HYDRATED_VARIANT,
@@ -198,7 +198,7 @@ describe('Entity hydration', () => {
         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 () => {
         const { addItemToOrder } = await shopClient.query<
             AddItemToOrderMutation,
@@ -217,7 +217,7 @@ describe('Entity hydration', () => {
         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 () => {
         await shopClient.asAnonymousUser();
         const { addItemToOrder } = await shopClient.query<
@@ -238,7 +238,7 @@ describe('Entity hydration', () => {
         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 () => {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
             input: {
@@ -278,7 +278,7 @@ describe('Entity hydration', () => {
         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 () => {
         await adminClient.query<UpdateChannelMutation, UpdateChannelMutationVariables>(UPDATE_CHANNEL, {
             input: {
@@ -298,7 +298,7 @@ describe('Entity hydration', () => {
         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', () => {
         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 () => {
         await shopClient.asUserWithCredentials('trevor_donnelly96@hotmail.com', 'test');
         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
      * 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 () => {
         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 { 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 { GetCustomerListQuery, GetCustomerListQueryVariables } from './graphql/generated-e2e-admin-types';
@@ -37,7 +37,7 @@ describe('Entity prefix edge-cases', () => {
         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 () => {
         const result = await adminClient.query<GetCustomerListQuery, GetCustomerListQueryVariables>(
             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
  * non-serializable objects.
  *
- * See https://github.com/vendure-ecommerce/vendure/issues/3277
+ * See https://github.com/vendurehq/vendure/issues/3277
  */
 describe('Entity serialization', () => {
     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', () => {
         function createFacetWithCode(code: string) {
             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 () => {
             const { createFacet } = await createFacetWithCode('some-new-facet');
             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;
     }
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1153
+    // Test case for https://github.com/vendurehq/vendure/issues/1153
     @Query()
     async hydrateProductAsset(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const product = await this.connection.getRepository(ctx, Product).findOne({ where: { id: args.id } });
@@ -64,7 +64,7 @@ export class TestAdminPluginResolver {
         return product;
     }
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1161
+    // Test case for https://github.com/vendurehq/vendure/issues/1161
     @Query()
     async hydrateProductVariant(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const [variant] = await this.productVariantService.findByIds(ctx, [args.id]);
@@ -74,7 +74,7 @@ export class TestAdminPluginResolver {
         return variant;
     }
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1324
+    // Test case for https://github.com/vendurehq/vendure/issues/1324
     @Query()
     async hydrateProductWithNoFacets(@Ctx() ctx: RequestContext) {
         const product = await this.productService.create(ctx, {
@@ -94,7 +94,7 @@ export class TestAdminPluginResolver {
         return product;
     }
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1172
+    // Test case for https://github.com/vendurehq/vendure/issues/1172
     @Query()
     async hydrateOrder(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const order = await this.orderService.findOne(ctx, args.id);
@@ -104,7 +104,7 @@ export class TestAdminPluginResolver {
         return order;
     }
 
-    // Test case for https://github.com/vendure-ecommerce/vendure/issues/1229
+    // Test case for https://github.com/vendurehq/vendure/issues/1229
     @Query()
     async hydrateOrderReturnQuantities(@Ctx() ctx: RequestContext, @Args() args: { id: ID }) {
         const order = await this.orderService.findOne(ctx, args.id);
@@ -119,7 +119,7 @@ export class TestAdminPluginResolver {
         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()
     async hydrateChannel(@Ctx() ctx: RequestContext, @Args() args: { id: 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,
     Channel,
     Ctx,
-    Customer,
     PluginCommonModule,
     Product,
     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
  *
- * https://github.com/vendure-ecommerce/vendure/issues/1664
+ * https://github.com/vendurehq/vendure/issues/1664
  */
 @VendurePlugin({
     imports: [PluginCommonModule],
@@ -110,7 +109,7 @@ const profileType = gql`
                 nullable: true,
                 type: 'relation',
                 // 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
                 // Product > User > Vendor > Product etc.
                 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
- * in order to test https://github.com/vendure-ecommerce/vendure/issues/837
+ * in order to test https://github.com/vendurehq/vendure/issues/837
  */
 @VendurePlugin({
     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';
 
 /**
- * https://github.com/vendure-ecommerce/vendure/issues/2906
+ * https://github.com/vendurehq/vendure/issues/2906
  */
 @VendurePlugin({
     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()`
  * 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({
     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 () => {
         const { testEntitiesGetMany } = await adminClient.query(GET_ARRAY_LIST, {});
         const actualPrices = testEntitiesGetMany
@@ -1268,7 +1268,7 @@ describe('ListQueryBuilder', () => {
         expect(actualPrices).toEqual(expectedPrices);
     });
 
-    // https://github.com/vendure-ecommerce/vendure/issues/1611
+    // https://github.com/vendurehq/vendure/issues/1611
     describe('translations handling', () => {
         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', () => {
         it('filters by single tagId', async () => {
             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 path from 'path';
 import { ColumnOptions } from 'typeorm';
 import { afterAll, beforeAll, describe, expect, it, vi } from 'vitest';
 
 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 { SortOrder } from './graphql/generated-e2e-admin-types';
@@ -105,7 +105,7 @@ describe('Custom MoneyStrategy', () => {
         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 () => {
         await shopClient.asAnonymousUser();
         const { addItemToOrder } = await shopClient.query<
@@ -121,7 +121,7 @@ describe('Custom MoneyStrategy', () => {
         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
     // Math.round(37.2 * 10) =372
     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 { 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 { AttemptLoginMutation, AttemptLoginMutationVariables } from './graphql/generated-e2e-admin-types';
 import {
-    AddItemToOrder,
-    AddItemToOrderMutation,
     AddItemToOrderMutation,
     AddItemToOrderMutationVariables,
-    GetActiveOrderPaymentsQuery,
     GetNextOrderStatesQuery,
     TestOrderFragmentFragment,
     UpdatedOrderFragment,
 } from './graphql/generated-e2e-shop-types';
 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';
 
 /**
@@ -260,7 +252,7 @@ describe('Order merging', () => {
         ).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 () => {
         await shopClient.asUserWithCredentials(customers[7].emailAddress, 'test');
         // 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', () => {
         let orderId2: 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 () => {
         await adminClient.query<Codegen.CreatePromotionMutation, Codegen.CreatePromotionMutationVariables>(
             CREATE_PROMOTION,
@@ -1650,7 +1650,7 @@ describe('Order modification', () => {
         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', () => {
         async function modifyOrderLineQuantity(order: TestOrderWithPaymentsFragment) {
             const transitionOrderToState = await adminTransitionOrderToState(order.id, 'Modifying');
@@ -1744,7 +1744,7 @@ describe('Order modification', () => {
     });
 
     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 () => {
             await adminClient.query<
                 Codegen.CreatePromotionMutation,
@@ -1808,7 +1808,7 @@ describe('Order modification', () => {
             expect(modifyOrder.totalWithTax).toBe(getOrderPaymentsTotalWithRefunds(modifyOrder));
         });
 
-        // https://github.com/vendure-ecommerce/vendure/issues/1865
+        // https://github.com/vendurehq/vendure/issues/1865
         describe('issue 1865', () => {
             const promoDiscount = 5000;
             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', () => {
         let order: OrderWithModificationsFragment;
         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', () => {
         async function getVariant(id: 'T_1' | 'T_2' | 'T_3') {
             const { product } = await adminClient.query<

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

@@ -8,15 +8,15 @@ import {
 } from '@vendure/core';
 import { createErrorResultGuard, createTestEnvironment, ErrorResultGuard } from '@vendure/testing';
 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 { 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 * as Codegen from './graphql/generated-e2e-admin-types';
 import { OrderFragment } from './graphql/generated-e2e-admin-types';
+import * as CodegenShop from './graphql/generated-e2e-shop-types';
 import {
     AddPaymentToOrderMutation,
     AddPaymentToOrderMutationVariables,
@@ -25,7 +25,6 @@ import {
     TransitionToStateMutation,
     TransitionToStateMutationVariables,
 } 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 {
     ADD_ITEM_TO_ORDER,
@@ -165,9 +164,8 @@ describe('Order process', () => {
                 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']);
         });
@@ -265,9 +263,8 @@ describe('Order process', () => {
             transitionEndSpy.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']);
 
@@ -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 () => {
             await shopClient.query<
                 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 { 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 { orderFixedDiscount } from '../src/config/promotion/actions/order-fixed-discount-action';
 import { orderLineFixedDiscount } from '../src/config/promotion/actions/order-line-fixed-discount-action';
 
 import { TestMoneyStrategy } from './fixtures/test-money-strategy';
 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 { 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 { AdjustmentType, ErrorCode } from './graphql/generated-e2e-shop-types';
 import {
     ASSIGN_PRODUCT_TO_CHANNEL,
     ASSIGN_PROMOTIONS_TO_CHANNEL,
@@ -251,7 +251,7 @@ describe('Promotions applied to Orders', () => {
             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 () => {
             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);
             });
 
-            // 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 () => {
                 shopClient.setChannelToken(OTHER_CHANNEL_TOKEN);
                 const { applyCouponCode } = await shopClient.query<
@@ -686,7 +686,7 @@ describe('Promotions applied to Orders', () => {
                 expect(applyCouponCode.totalWithTax).toBe(4800);
             });
 
-            // https://github.com/vendure-ecommerce/vendure/issues/1773
+            // https://github.com/vendurehq/vendure/issues/1773
             it('decimal percentage', async () => {
                 const decimalPercentageCouponCode = 'DPCC';
                 await createPromotion({
@@ -1276,7 +1276,7 @@ describe('Promotions applied to Orders', () => {
                 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 () => {
                 shopClient.setChannelToken(TAX_INCLUDED_CHANNEL_TOKEN);
                 const { addItemToOrder } = await shopClient.query<
@@ -1687,7 +1687,7 @@ describe('Promotions applied to Orders', () => {
                 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 () => {
                 const { cancelOrder } = await adminClient.query<
                     Codegen.CancelOrderMutation,
@@ -1874,7 +1874,7 @@ describe('Promotions applied to Orders', () => {
                 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 () => {
                 const { cancelOrder } = await adminClient.query<
                     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 () => {
         const promotion = await createPromotion({
             enabled: true,
@@ -1956,7 +1956,7 @@ describe('Promotions applied to Orders', () => {
         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 () => {
         const couponCode = '20%_off_order';
         const promotion = await createPromotion({
@@ -1994,7 +1994,7 @@ describe('Promotions applied to Orders', () => {
         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', () => {
         const TAX_INCLUDED_CHANNEL_TOKEN_2 = 'tax_included_channel_2';
         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', () => {
         const SECOND_CHANNEL_TOKEN = 'second_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 () => {
             const { taxRates } = await adminClient.query<Codegen.GetTaxRateListQuery>(GET_TAX_RATE_LIST);
             // 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 () => {
             await shopClient.query<
                 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 () => {
             const orderResult = await createTestOrder(
                 adminClient,
@@ -1919,7 +1919,7 @@ describe('Orders resolver', () => {
             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 () => {
             const orderResult = await createTestOrder(
                 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 () => {
             const result = await createTestOrder(
                 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', () => {
         let orderId: string;
         let customerId: string;
@@ -2539,7 +2539,7 @@ describe('Orders resolver', () => {
     });
 
     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 () => {
             await shopClient.asAnonymousUser();
             // Apply a coupon code just to create an active order with no OrderLines
@@ -2560,7 +2560,7 @@ describe('Orders resolver', () => {
             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 () => {
             await shopClient.asAnonymousUser();
             const { addItemToOrder } = await shopClient.query<
@@ -2587,7 +2587,7 @@ describe('Orders resolver', () => {
             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 () => {
             const { createShippingMethod: shippingMethod } = await adminClient.query<
                 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 () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
@@ -2700,7 +2700,7 @@ describe('Orders resolver', () => {
             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 () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
@@ -2738,7 +2738,7 @@ describe('Orders resolver', () => {
             ).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 () => {
             const { activeCustomer } = await shopClient.query<
                 CodegenShop.GetActiveCustomerWithOrdersProductPriceQuery,
@@ -2756,7 +2756,7 @@ describe('Orders resolver', () => {
             ).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 () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             const { addItemToOrder } = await shopClient.query<
@@ -2801,7 +2801,7 @@ describe('Orders resolver', () => {
             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 () => {
             await shopClient.asUserWithCredentials(customers[0].emailAddress, password);
             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 { 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 { SlowMutationPlugin } from './fixtures/test-plugins/slow-mutation-plugin';
@@ -59,7 +59,7 @@ describe('Parallel transactions', () => {
         );
     }, 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 () => {
         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 gql from 'graphql-tag';
 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 { 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 { TestAPIExtensionPlugin } from './fixtures/test-plugins/with-api-extensions';
@@ -54,7 +53,7 @@ describe('Plugins', () => {
         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 () => {
         const configService = server.app.get(ConfigService);
         expect(configService.customFields.Customer).toEqual([

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

@@ -1,12 +1,12 @@
 import { INestApplication } from '@nestjs/common';
-import { DefaultLogger, User } from '@vendure/core';
+import { User } from '@vendure/core';
 import { populate } from '@vendure/core/cli';
 import { createTestEnvironment, E2E_DEFAULT_CHANNEL_TOKEN } from '@vendure/testing';
 import path from 'path';
 import { afterAll, beforeAll, describe, expect, it } from 'vitest';
 
 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 {
@@ -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', () => {
         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']);
         });
 
-        // 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 () => {
             await adminClient.query(AssignProductsToChannelDocument, {
                 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 () => {
             await adminClient.query(UpdateChannelDocument, {
                 input: {
@@ -628,7 +628,7 @@ describe('ChannelAware Products and ProductVariants', () => {
     });
 
     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 () => {
             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');
         });
 
-        // https://github.com/vendure-ecommerce/vendure/issues/820
+        // https://github.com/vendurehq/vendure/issues/820
         it('by slug with multiple assets', async () => {
             const { product: product1 } = await adminClient.query<
                 Codegen.GetProductSimpleQuery,
@@ -291,7 +291,7 @@ describe('Product resolver', () => {
             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 () => {
             const { product } = await adminClient.query<
                 Codegen.GetProductSimpleQuery,
@@ -1562,7 +1562,7 @@ describe('Product resolver', () => {
                 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 () => {
                 // 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
@@ -1877,7 +1877,7 @@ describe('Product resolver', () => {
                 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 () => {
                 const { createProductVariants } = await adminClient.query<
                     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 () => {
                 const { createProduct } = await adminClient.query<
                     Codegen.CreateProductMutation,
@@ -1948,7 +1948,7 @@ describe('Product resolver', () => {
                 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', () => {
                 let productId: string;
 
@@ -2119,7 +2119,7 @@ describe('Product resolver', () => {
             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 () => {
             for (const variant of productToDelete.variants) {
                 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 () => {
             const result = await adminClient.query<
                 Codegen.CreateProductMutation,
@@ -2207,7 +2207,7 @@ describe('Product resolver', () => {
             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 () => {
             const result = await adminClient.query<
                 Codegen.CreateProductMutation,
@@ -2229,7 +2229,7 @@ describe('Product resolver', () => {
             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 () => {
             const { product } = await adminClient.query<
                 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', () => {
         let defaultChannel: 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 gql from 'graphql-tag';
 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 { 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 * as Codegen from './graphql/generated-e2e-admin-types';
@@ -312,9 +311,8 @@ describe('Shop auth & accounts', () => {
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
 
             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;
         });
 
@@ -481,9 +479,8 @@ describe('Shop auth & accounts', () => {
             currentUserErrorGuard.assertSuccess(verifyCustomerAccount);
 
             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', () => {
         const password = 'password';
         const emailAddress = 'test3@test.com';
@@ -826,9 +823,8 @@ describe('Shop auth & accounts', () => {
 
         it('can login with new email address after verification', async () => {
             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!.emailAddress).toBe(NEW_EMAIL_ADDRESS);
         });
@@ -1117,30 +1113,26 @@ describe('Registration without email verification', () => {
     it('can login after registering', async () => {
         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);
     });
 
     it('can login case insensitive', async () => {
         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);
     });
 
@@ -1258,9 +1250,8 @@ describe('Updating email address without email verification', () => {
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         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);
     });
 
@@ -1281,9 +1272,8 @@ describe('Updating email address without email verification', () => {
         expect(sendEmailFn).toHaveBeenCalledTimes(1);
         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');
     });
 });

+ 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 () => {
                 const { addItemToOrder: add1 } = await shopClient.query<AddItemToOrder.Mutation>(
                     ADD_ITEM_TO_ORDER_WITH_CUSTOM_FIELDS,
@@ -610,7 +610,6 @@ describe('Shop orders', () => {
                 orderResultGuard.assertSuccess(removeOrderLine);
                 expect(removeOrderLine.lines.length).toBe(1);
             });
-
         });
 
         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']);
         });
 
-        // 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 () => {
             const variantId = 'T_27';
             const { updateProductVariants } = await adminClient.query<
@@ -1408,7 +1407,6 @@ describe('Shop orders', () => {
             expect(addItemToOrder.lines[1].featuredAsset?.id).toBe(product?.featuredAsset?.id);
         });
 
-
         it('adds multiple items to order with different custom fields', async () => {
             await shopClient.asAnonymousUser(); // New order
             const { addItemsToOrder } = await shopClient.query<CodegenShop.AddItemsToOrderMutation>(
@@ -1419,14 +1417,14 @@ describe('Shop orders', () => {
                             productVariantId: 'T_1',
                             quantity: 1,
                             customFields: {
-                                    notes: 'Variant 1 note',
+                                notes: 'Variant 1 note',
                             },
                         },
                         {
                             productVariantId: 'T_2',
                             quantity: 2,
                             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 () => {
             await shopClient.query<Codegen.AttemptLoginMutation, Codegen.AttemptLoginMutationVariables>(
@@ -2103,7 +2101,7 @@ describe('Shop orders', () => {
             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 () => {
             async function setShippingOnActiveOrder() {
                 await shopClient.query<
@@ -2469,7 +2467,7 @@ describe('Shop orders', () => {
             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 () => {
             const { cancelOrder } = await adminClient.query<
                 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', () => {
         let GBShippingMethodId: string;
         let ATShippingMethodId: string;
@@ -2610,7 +2608,7 @@ describe('Shop orders', () => {
             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 () => {
             const { createShippingMethod } = await adminClient.query<
                 CreateShippingMethod.Mutation,
@@ -2725,7 +2723,7 @@ describe('Shop orders', () => {
             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 () => {
             // First we'll create a ShippingMethod that uses the hydrating checker
             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`
-    mutation AddMultipleItemsToOrderWithCustomFields(
-        $inputs: [AddItemInput!]!
-    ) {
-        addItemsToOrder(
-            inputs: $inputs
-        ) {
+    mutation AddMultipleItemsToOrderWithCustomFields($inputs: [AddItemInput!]!) {
+        addItemsToOrder(inputs: $inputs) {
             order {
                 ...UpdatedOrder
                 lines {
@@ -2879,10 +2873,10 @@ export const ADD_MULTIPLE_ITEMS_TO_ORDER_WITH_CUSTOM_FIELDS = gql`
                     customFields {
                         notes
                     }
-                }   
+                }
             }
             errorResults {
-                ...on ErrorResult {
+                ... on ErrorResult {
                     errorCode
                     message
                 }

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

@@ -62,7 +62,7 @@ class TestOrderPlacedStrategy extends DefaultOrderPlacedStrategy {
         order: Order,
     ): boolean {
         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
             // Allocations for the OrderLines.
             if (fromState === 'AddingItems' && toState === 'ArrangingPayment') {
@@ -502,7 +502,7 @@ describe('Stock control', () => {
             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 () => {
             async function getTrackedVariant() {
                 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 () => {
                 await shopClient.asAnonymousUser();
                 const { addItemToOrder: add1 } = await shopClient.query<
@@ -1195,7 +1195,7 @@ describe('Stock control', () => {
                 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 () => {
                 await adminClient.query<
                     Codegen.UpdateProductVariantsMutation,
@@ -1248,7 +1248,7 @@ describe('Stock control', () => {
                 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 () => {
                 const product = await getProductWithStockMovement('T_2');
                 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', () => {
         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', () => {
         const variantId = 'T_1';
 

+ 1 - 1
packages/core/package.json

@@ -4,7 +4,7 @@
     "description": "A modern, headless ecommerce framework",
     "repository": {
         "type": "git",
-        "url": "https://github.com/vendure-ecommerce/vendure"
+        "url": "https://github.com/vendurehq/vendure"
     },
     "keywords": [
         "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', () => {
             const input1 = { value: [null, '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);
         });
 
-        // https://github.com/vendure-ecommerce/vendure/issues/864
+        // https://github.com/vendurehq/vendure/issues/864
         it('serialize request context with circular refs', () => {
             const cyclic: any = {};
             const cyclic1: any = {

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

@@ -105,7 +105,7 @@ async function createGraphQLOptions(
         fieldResolverEnhancers: ['guards'],
         resolvers,
         // 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,
         playground: options.playground,
         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
             // will cause a leak of private data unless we force a `null` return value in the case
             // 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 };
         }
     }

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

@@ -25,7 +25,7 @@ describe('addGraphQLCustomFields()', () => {
     });
 
     // 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', () => {
         // custom field that is internal but not readonly - should not cause
         // `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
                             // 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.
-                            // See https://github.com/vendure-ecommerce/vendure/issues/834
+                            // See https://github.com/vendurehq/vendure/issues/834
                         } else {
                             throw e;
                         }

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff