Browse Source

Merge branch 'master' into minor

Michael Bromley 2 years ago
parent
commit
ccba5900fe

+ 29 - 0
CHANGELOG.md

@@ -1,3 +1,32 @@
+## <small>2.0.5 (2023-07-27)</small>
+
+
+#### Fixes
+
+* **admin-ui** Add channelTokenKey to AdminUiConfig (#2307) ([5162d0c](https://github.com/vendure-ecommerce/vendure/commit/5162d0c)), closes [#2307](https://github.com/vendure-ecommerce/vendure/issues/2307)
+* **admin-ui** Add custom detail component locationId and action bar items to draft order detail (#2286) ([27c9ae7](https://github.com/vendure-ecommerce/vendure/commit/27c9ae7)), closes [#2286](https://github.com/vendure-ecommerce/vendure/issues/2286)
+* **admin-ui** Add missing Russian translation strings (#2309) ([9524add](https://github.com/vendure-ecommerce/vendure/commit/9524add)), closes [#2309](https://github.com/vendure-ecommerce/vendure/issues/2309)
+* **admin-ui** Add product variant name filter in product variant list (#2271) ([b17494d](https://github.com/vendure-ecommerce/vendure/commit/b17494d)), closes [#2271](https://github.com/vendure-ecommerce/vendure/issues/2271)
+* **admin-ui** Allow period in slug ([7c9d110](https://github.com/vendure-ecommerce/vendure/commit/7c9d110)), closes [#2304](https://github.com/vendure-ecommerce/vendure/issues/2304)
+* **admin-ui** Fix creation of zero tax rates ([5f898b4](https://github.com/vendure-ecommerce/vendure/commit/5f898b4)), closes [#2312](https://github.com/vendure-ecommerce/vendure/issues/2312)
+* **core** Do not publish CollectionModificationEvent if no changes ([75f6dec](https://github.com/vendure-ecommerce/vendure/commit/75f6dec))
+* **core** Export missing search plugin types ([23af791](https://github.com/vendure-ecommerce/vendure/commit/23af791))
+* **core** Fix createRefund amount on cancelled OrderLines ([2b49edf](https://github.com/vendure-ecommerce/vendure/commit/2b49edf)), closes [#2302](https://github.com/vendure-ecommerce/vendure/issues/2302)
+* **core** Fix incorrect allocation logic in default fulfillment process ([f6881bf](https://github.com/vendure-ecommerce/vendure/commit/f6881bf)), closes [#2306](https://github.com/vendure-ecommerce/vendure/issues/2306)
+* **core** Fix startup error with readonly Administrator custom fields ([cae55a6](https://github.com/vendure-ecommerce/vendure/commit/cae55a6))
+* **core** Fix typo in option searchStrategy (#2305) ([8cd15e1](https://github.com/vendure-ecommerce/vendure/commit/8cd15e1)), closes [#2305](https://github.com/vendure-ecommerce/vendure/issues/2305)
+* **core** Improved CockroachDB compatibility for DefaultSearchPlugin ([b8d8dec](https://github.com/vendure-ecommerce/vendure/commit/b8d8dec))
+* **core** Publish AccountRegistrationEvent when creating Customer via admin ([e0bd036](https://github.com/vendure-ecommerce/vendure/commit/e0bd036))
+* **core** Use MoneyStrategy in Surcharges (#2294) ([efee8ec](https://github.com/vendure-ecommerce/vendure/commit/efee8ec)), closes [#2294](https://github.com/vendure-ecommerce/vendure/issues/2294)
+
+#### Features
+
+Note: although we now have complete translations for Arabic & Hebrew, the right-to-left layout support is still in progress,
+so if you use these languages you will encounter layout issues.
+
+* **admin-ui** all Arabic tokens translated (100%) (#2287) ([83ecec9](https://github.com/vendure-ecommerce/vendure/commit/83ecec9)), closes [#2287](https://github.com/vendure-ecommerce/vendure/issues/2287)
+* **admin-ui** Hebrew support (#2313) ([2814142](https://github.com/vendure-ecommerce/vendure/commit/2814142)), closes [#2313](https://github.com/vendure-ecommerce/vendure/issues/2313)
+
 ## <small>2.0.4 (2023-07-13)</small>
 
 

+ 1 - 1
lerna.json

@@ -1,6 +1,6 @@
 {
     "packages": ["packages/*"],
-    "version": "2.0.4",
+    "version": "2.0.5",
     "npmClient": "yarn",
     "useWorkspaces": true,
     "command": {

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

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/admin-ui-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "main": "lib/index.js",
     "types": "lib/index.d.ts",
     "files": [
@@ -21,8 +21,8 @@
     "devDependencies": {
         "@types/express": "^4.17.8",
         "@types/fs-extra": "^9.0.1",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
         "express": "^4.17.1",
         "rimraf": "^3.0.2",
         "typescript": "4.9.5"

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

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/admin-ui",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "lockfileVersion": 1,
     "requires": true,
     "dependencies": {

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

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/admin-ui",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "scripts": {
         "ng": "ng",
@@ -49,7 +49,7 @@
         "@ng-select/ng-select": "^11.0.0",
         "@ngx-translate/core": "^14.0.0",
         "@ngx-translate/http-loader": "^7.0.0",
-        "@vendure/common": "^2.0.4",
+        "@vendure/common": "^2.0.5",
         "@webcomponents/custom-elements": "^1.5.1",
         "apollo-angular": "^5.0.0",
         "apollo-upload-client": "^17.0.0",

+ 1 - 1
packages/admin-ui/src/lib/core/src/common/version.ts

@@ -1,2 +1,2 @@
 // Auto-generated by the set-version.js script.
-export const ADMIN_UI_VERSION = '2.0.4';
+export const ADMIN_UI_VERSION = '2.0.5';

+ 1 - 1
packages/admin-ui/src/lib/core/src/data/data.module.ts

@@ -66,7 +66,7 @@ export function createApollo(
                 const headers: Record<string, string> = {};
                 const channelToken = localStorageService.get('activeChannelToken');
                 if (channelToken) {
-                    headers[channelTokenKey] = channelToken;
+                    headers[channelTokenKey ?? 'vendure-token'] = channelToken;
                 }
                 if (tokenMethod === 'bearer') {
                     const authToken = localStorageService.get('authToken');

+ 1 - 0
packages/admin-ui/src/lib/static/vendure-ui-config.json

@@ -4,6 +4,7 @@
     "adminApiPath": "admin-api",
     "tokenMethod": "bearer",
     "authTokenHeaderKey": "vendure-auth-token",
+    "channelTokenKey": "vendure-token",
     "defaultLanguage": "en",
     "availableLanguages": [
         "he",

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

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/asset-server-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "main": "lib/index.js",
     "types": "lib/index.d.ts",
     "files": [
@@ -27,8 +27,8 @@
         "@types/fs-extra": "^9.0.8",
         "@types/node-fetch": "^2.5.8",
         "@types/sharp": "^0.30.4",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
         "express": "^4.17.1",
         "node-fetch": "^2.6.7",
         "rimraf": "^3.0.2",

+ 1 - 1
packages/common/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/common",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "main": "index.js",
     "license": "MIT",
     "scripts": {

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

@@ -2237,11 +2237,13 @@ describe('Orders resolver', () => {
                 id: orderId,
             });
 
-            expect(orderWithPayments?.payments![0].refunds.length).toBe(1);
-            expect(orderWithPayments?.payments![0].refunds[0].total).toBe(PARTIAL_PAYMENT_AMOUNT);
+            expect(orderWithPayments?.payments!.sort(sortById)[0].refunds.length).toBe(1);
+            expect(orderWithPayments?.payments!.sort(sortById)[0].refunds[0].total).toBe(
+                PARTIAL_PAYMENT_AMOUNT,
+            );
 
-            expect(orderWithPayments?.payments![1].refunds.length).toBe(1);
-            expect(orderWithPayments?.payments![1].refunds[0].total).toBe(
+            expect(orderWithPayments?.payments!.sort(sortById)[1].refunds.length).toBe(1);
+            expect(orderWithPayments?.payments!.sort(sortById)[1].refunds[0].total).toBe(
                 productInOrder!.variants[0].priceWithTax - PARTIAL_PAYMENT_AMOUNT,
             );
         });
@@ -2275,14 +2277,16 @@ describe('Orders resolver', () => {
                 id: orderId,
             });
 
-            expect(orderWithPayments?.payments![0].refunds.length).toBe(1);
-            expect(orderWithPayments?.payments![0].refunds[0].total).toBe(PARTIAL_PAYMENT_AMOUNT);
+            expect(orderWithPayments?.payments!.sort(sortById)[0].refunds.length).toBe(1);
+            expect(orderWithPayments?.payments!.sort(sortById)[0].refunds[0].total).toBe(
+                PARTIAL_PAYMENT_AMOUNT,
+            );
 
-            expect(orderWithPayments?.payments![1].refunds.length).toBe(2);
-            expect(orderWithPayments?.payments![1].refunds[0].total).toBe(
+            expect(orderWithPayments?.payments!.sort(sortById)[1].refunds.length).toBe(2);
+            expect(orderWithPayments?.payments!.sort(sortById)[1].refunds[0].total).toBe(
                 productInOrder!.variants[0].priceWithTax - PARTIAL_PAYMENT_AMOUNT,
             );
-            expect(orderWithPayments?.payments![1].refunds[1].total).toBe(
+            expect(orderWithPayments?.payments!.sort(sortById)[1].refunds[1].total).toBe(
                 productInOrder!.variants[0].priceWithTax + order!.shippingWithTax,
             );
         });

+ 2 - 2
packages/core/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/core",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "description": "A modern, headless ecommerce framework",
     "repository": {
         "type": "git",
@@ -52,7 +52,7 @@
         "@nestjs/testing": "9.3.9",
         "@nestjs/typeorm": "9.0.1",
         "@types/fs-extra": "^9.0.1",
-        "@vendure/common": "^2.0.4",
+        "@vendure/common": "^2.0.5",
         "apollo-server-express": "3.6.3",
         "bcrypt": "^5.1.0",
         "body-parser": "^1.19.0",

+ 4 - 1
packages/core/src/config/fulfillment/default-fulfillment-process.ts

@@ -89,7 +89,10 @@ export const defaultFulfillmentProcess: FulfillmentProcess<FulfillmentState> = {
     },
     async onTransitionEnd(fromState, toState, { ctx, fulfillment, orders }) {
         if (toState === 'Cancelled') {
-            const orderLineInput = fulfillment.lines.map(l => ({ orderLineId: l.id, quantity: l.quantity }));
+            const orderLineInput = fulfillment.lines.map(l => ({
+                orderLineId: l.orderLineId,
+                quantity: l.quantity,
+            }));
             await stockMovementService.createCancellationsForOrderLines(ctx, orderLineInput);
             // const lines = await groupOrderItemsIntoLines(ctx, orderLineInput);
             await stockMovementService.createAllocationsForOrderLines(ctx, orderLineInput);

+ 6 - 0
packages/core/src/plugin/default-search-plugin/index.ts

@@ -3,3 +3,9 @@ export * from './default-search-plugin';
 export * from './search-job-buffer/collection-job-buffer';
 export * from './search-job-buffer/search-index-job-buffer';
 export * from './search-job-buffer/search-job-buffer.service';
+export * from './search-strategy/search-strategy-utils';
+export * from './search-strategy/mysql-search-strategy';
+export * from './search-strategy/postgres-search-strategy';
+export * from './search-strategy/sqlite-search-strategy';
+export * from './search-strategy/search-strategy';
+export * from './search-strategy/search-strategy-common';

+ 7 - 5
packages/core/src/plugin/default-search-plugin/search-strategy/postgres-search-strategy.ts

@@ -196,7 +196,7 @@ export class PostgresSearchStrategy implements SearchStrategy {
                 new Brackets(qb1 => {
                     for (const id of facetValueIds) {
                         const placeholder = createPlaceholderFromId(id);
-                        const clause = `:${placeholder} = ANY (string_to_array(si.facetValueIds, ','))`;
+                        const clause = `:${placeholder}::varchar = ANY (string_to_array(si.facetValueIds, ','))`;
                         const params = { [placeholder]: id };
                         if (facetValueOperator === LogicalOperator.AND) {
                             qb1.andWhere(clause, params);
@@ -218,14 +218,14 @@ export class PostgresSearchStrategy implements SearchStrategy {
                                 }
                                 if (facetValueFilter.and) {
                                     const placeholder = createPlaceholderFromId(facetValueFilter.and);
-                                    const clause = `:${placeholder} = ANY (string_to_array(si.facetValueIds, ','))`;
+                                    const clause = `:${placeholder}::varchar = ANY (string_to_array(si.facetValueIds, ','))`;
                                     const params = { [placeholder]: facetValueFilter.and };
                                     qb2.where(clause, params);
                                 }
                                 if (facetValueFilter.or?.length) {
                                     for (const id of facetValueFilter.or) {
                                         const placeholder = createPlaceholderFromId(id);
-                                        const clause = `:${placeholder} = ANY (string_to_array(si.facetValueIds, ','))`;
+                                        const clause = `:${placeholder}::varchar = ANY (string_to_array(si.facetValueIds, ','))`;
                                         const params = { [placeholder]: id };
                                         qb2.orWhere(clause, params);
                                     }
@@ -237,10 +237,12 @@ export class PostgresSearchStrategy implements SearchStrategy {
             );
         }
         if (collectionId) {
-            qb.andWhere(":collectionId = ANY (string_to_array(si.collectionIds, ','))", { collectionId });
+            qb.andWhere(":collectionId::varchar = ANY (string_to_array(si.collectionIds, ','))", {
+                collectionId,
+            });
         }
         if (collectionSlug) {
-            qb.andWhere(":collectionSlug = ANY (string_to_array(si.collectionSlugs, ','))", {
+            qb.andWhere(":collectionSlug::varchar = ANY (string_to_array(si.collectionSlugs, ','))", {
                 collectionSlug,
             });
         }

+ 3 - 3
packages/create/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/create",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "bin": {
         "create": "./index.js"
@@ -28,14 +28,14 @@
         "@types/fs-extra": "^9.0.1",
         "@types/handlebars": "^4.1.0",
         "@types/semver": "^6.2.2",
-        "@vendure/core": "^2.0.4",
+        "@vendure/core": "^2.0.5",
         "rimraf": "^3.0.2",
         "ts-node": "^10.9.1",
         "typescript": "4.9.5"
     },
     "dependencies": {
         "@clack/prompts": "^0.6.3",
-        "@vendure/common": "^2.0.4",
+        "@vendure/common": "^2.0.5",
         "commander": "^10.0.0",
         "cross-spawn": "^7.0.3",
         "detect-port": "^1.5.1",

+ 9 - 9
packages/dev-server/package.json

@@ -1,6 +1,6 @@
 {
     "name": "dev-server",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "main": "index.js",
     "license": "MIT",
     "private": true,
@@ -14,18 +14,18 @@
         "load-test:100k": "node -r ts-node/register load-testing/run-load-test.ts 100000"
     },
     "dependencies": {
-        "@vendure/admin-ui-plugin": "^2.0.4",
-        "@vendure/asset-server-plugin": "^2.0.4",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
-        "@vendure/elasticsearch-plugin": "^2.0.4",
-        "@vendure/email-plugin": "^2.0.4",
+        "@vendure/admin-ui-plugin": "^2.0.5",
+        "@vendure/asset-server-plugin": "^2.0.5",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
+        "@vendure/elasticsearch-plugin": "^2.0.5",
+        "@vendure/email-plugin": "^2.0.5",
         "typescript": "4.9.5"
     },
     "devDependencies": {
         "@types/csv-stringify": "^3.1.0",
-        "@vendure/testing": "^2.0.4",
-        "@vendure/ui-devkit": "^2.0.4",
+        "@vendure/testing": "^2.0.5",
+        "@vendure/ui-devkit": "^2.0.5",
         "commander": "^7.1.0",
         "concurrently": "^5.0.0",
         "csv-stringify": "^5.3.3",

+ 3 - 3
packages/elasticsearch-plugin/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/elasticsearch-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "main": "lib/index.js",
     "types": "lib/index.d.ts",
@@ -26,8 +26,8 @@
         "fast-deep-equal": "^3.1.3"
     },
     "devDependencies": {
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
         "rimraf": "^3.0.2",
         "typescript": "4.9.5"
     }

+ 3 - 3
packages/email-plugin/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/email-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "main": "lib/index.js",
     "types": "lib/index.d.ts",
@@ -35,8 +35,8 @@
         "@types/fs-extra": "^9.0.1",
         "@types/handlebars": "^4.1.0",
         "@types/mjml": "^4.0.4",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
         "rimraf": "^3.0.2",
         "typescript": "4.9.5"
     }

+ 3 - 3
packages/harden-plugin/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/harden-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "main": "lib/index.js",
     "types": "lib/index.d.ts",
@@ -21,7 +21,7 @@
         "graphql-query-complexity": "^0.12.0"
     },
     "devDependencies": {
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4"
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5"
     }
 }

+ 3 - 3
packages/job-queue-plugin/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/job-queue-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "main": "package/index.js",
     "types": "package/index.d.ts",
@@ -23,8 +23,8 @@
     },
     "devDependencies": {
         "@google-cloud/pubsub": "^2.8.0",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
         "bullmq": "^3.15.5",
         "ioredis": "^5.3.0",
         "rimraf": "^3.0.2",

+ 4 - 4
packages/payments-plugin/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/payments-plugin",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "license": "MIT",
     "main": "package/index.js",
     "types": "package/index.d.ts",
@@ -46,9 +46,9 @@
         "@mollie/api-client": "^3.6.0",
         "@types/braintree": "^2.22.15",
         "@types/localtunnel": "2.0.1",
-        "@vendure/common": "^2.0.4",
-        "@vendure/core": "^2.0.4",
-        "@vendure/testing": "^2.0.4",
+        "@vendure/common": "^2.0.5",
+        "@vendure/core": "^2.0.5",
+        "@vendure/testing": "^2.0.5",
         "braintree": "^3.0.0",
         "localtunnel": "2.0.1",
         "nock": "^13.1.4",

+ 3 - 3
packages/testing/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/testing",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "description": "End-to-end testing tools for Vendure projects",
     "keywords": [
         "vendure",
@@ -38,7 +38,7 @@
     "dependencies": {
         "@graphql-typed-document-node/core": "^3.2.0",
         "@types/node-fetch": "^2.5.4",
-        "@vendure/common": "^2.0.4",
+        "@vendure/common": "^2.0.5",
         "faker": "^4.1.0",
         "form-data": "^3.0.0",
         "graphql": "16.6.0",
@@ -49,7 +49,7 @@
     "devDependencies": {
         "@types/mysql": "^2.15.15",
         "@types/pg": "^7.14.5",
-        "@vendure/core": "^2.0.4",
+        "@vendure/core": "^2.0.5",
         "mysql": "^2.18.1",
         "pg": "^8.4.0",
         "rimraf": "^3.0.0",

+ 4 - 4
packages/ui-devkit/package.json

@@ -1,6 +1,6 @@
 {
     "name": "@vendure/ui-devkit",
-    "version": "2.0.4",
+    "version": "2.0.5",
     "description": "A library for authoring Vendure Admin UI extensions",
     "keywords": [
         "vendure",
@@ -40,8 +40,8 @@
         "@angular/cli": "^16.0.3",
         "@angular/compiler": "^16.0.3",
         "@angular/compiler-cli": "^16.0.3",
-        "@vendure/admin-ui": "^2.0.4",
-        "@vendure/common": "^2.0.4",
+        "@vendure/admin-ui": "^2.0.5",
+        "@vendure/common": "^2.0.5",
         "chalk": "^4.1.0",
         "chokidar": "^3.5.1",
         "fs-extra": "^10.0.0",
@@ -51,7 +51,7 @@
     "devDependencies": {
         "@rollup/plugin-node-resolve": "^15.0.1",
         "@types/fs-extra": "^11.0.1",
-        "@vendure/core": "^2.0.4",
+        "@vendure/core": "^2.0.5",
         "rimraf": "^3.0.2",
         "rollup": "^3.18.0",
         "rollup-plugin-terser": "^7.0.2",