@vendure/core 3.5.2-master-202512040233 → 3.5.2-master-202512180239

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5,8 +5,7 @@ const DriverUtils_1 = require("typeorm/driver/DriverUtils");
5
5
  const find_options_object_to_array_1 = require("../../../connection/find-options-object-to-array");
6
6
  /**
7
7
  * @description
8
- * Check if the current entity has one or more self-referencing relations
9
- * to determine if it is a tree type or has tree relations.
8
+ * Check if the current entity uses TypeORM tree decorators (@Tree, @TreeParent, @TreeChildren).
10
9
  * @param metadata
11
10
  * @private
12
11
  */
@@ -18,9 +17,6 @@ function isTreeEntityMetadata(metadata) {
18
17
  if (relation.isTreeParent || relation.isTreeChildren) {
19
18
  return true;
20
19
  }
21
- if (relation.inverseEntityMetadata === metadata) {
22
- return true;
23
- }
24
20
  }
25
21
  return false;
26
22
  }
@@ -63,10 +59,6 @@ function joinTreeRelationsDynamically(qb, entity, requestedRelations = {}, maxEa
63
59
  return;
64
60
  }
65
61
  parentPath = parentPath === null || parentPath === void 0 ? void 0 : parentPath.filter(p => p !== '');
66
- const currentMetadataIsTree = isTreeEntityMetadata(currentMetadata) || sourceMetadataIsTree || parentMetadataIsTree;
67
- if (!currentMetadataIsTree) {
68
- return;
69
- }
70
62
  const parts = currentPath.split('.');
71
63
  let part = parts.shift();
72
64
  if (!part || !currentMetadata)
@@ -81,6 +73,14 @@ function joinTreeRelationsDynamically(qb, entity, requestedRelations = {}, maxEa
81
73
  if (!relationMetadata) {
82
74
  return;
83
75
  }
76
+ const currentMetadataIsTree = isTreeEntityMetadata(currentMetadata) || sourceMetadataIsTree || parentMetadataIsTree;
77
+ const relationIsSelfReferencing = relationMetadata.inverseEntityMetadata === currentMetadata;
78
+ // Only proceed with manual joining if:
79
+ // 1. We're in a tree entity context (using @Tree, @TreeParent, @TreeChildren), OR
80
+ // 2. This specific relation is self-referencing (either the relation is self-referencing or the relation is a custom field relation)
81
+ if (!currentMetadataIsTree && !relationIsSelfReferencing) {
82
+ return;
83
+ }
84
84
  let joinConnector = '_';
85
85
  if (relationMetadata.isEager) {
86
86
  joinConnector = '__';
@@ -93,19 +93,21 @@ function joinTreeRelationsDynamically(qb, entity, requestedRelations = {}, maxEa
93
93
  joinedRelations.set(fullPath, nextAlias);
94
94
  }
95
95
  const inverseEntityMetadataIsTree = isTreeEntityMetadata(relationMetadata.inverseEntityMetadata);
96
- if (!currentMetadataIsTree && !inverseEntityMetadataIsTree) {
96
+ const shouldProcessSubRelations = currentMetadataIsTree || inverseEntityMetadataIsTree || relationIsSelfReferencing;
97
+ if (!shouldProcessSubRelations) {
97
98
  return;
98
99
  }
99
100
  const newEagerDepth = relationMetadata.isEager ? eagerDepth + 1 : eagerDepth;
101
+ const propagatedTreeContext = currentMetadataIsTree || relationIsSelfReferencing;
100
102
  if (newEagerDepth <= maxEagerDepth) {
101
103
  relationMetadata.inverseEntityMetadata.relations.forEach(subRelation => {
102
104
  if (subRelation.isEager) {
103
- processRelation(relationMetadata.inverseEntityMetadata, currentMetadataIsTree, subRelation.propertyPath, nextAlias, [fullPath], newEagerDepth);
105
+ processRelation(relationMetadata.inverseEntityMetadata, propagatedTreeContext, subRelation.propertyPath, nextAlias, [fullPath], newEagerDepth);
104
106
  }
105
107
  });
106
108
  }
107
109
  if (nextPath) {
108
- processRelation(relationMetadata.inverseEntityMetadata, currentMetadataIsTree, nextPath, nextAlias, [fullPath]);
110
+ processRelation(relationMetadata.inverseEntityMetadata, propagatedTreeContext, nextPath, nextAlias, [fullPath]);
109
111
  }
110
112
  };
111
113
  relationsArray.forEach(relationPath => {
@@ -1 +1 @@
1
- {"version":3,"file":"tree-relations-qb-joiner.js","sourceRoot":"","sources":["../../../../src/service/helpers/utils/tree-relations-qb-joiner.ts"],"names":[],"mappings":";;AAwDA,oEA4GC;AAlKD,4DAAyD;AAEzD,mGAA4F;AAG5F;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,QAAwB;IAClD,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;QACxC,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,cAAc,EAAE,CAAC;YACnD,OAAO,IAAI,CAAC;QAChB,CAAC;QACD,IAAI,QAAQ,CAAC,qBAAqB,KAAK,QAAQ,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,SAAgB,4BAA4B,CACxC,EAAyB,EACzB,MAAuB,EACvB,qBAAkD,EAAE,EACpD,gBAAwB,CAAC;IAEzB,MAAM,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAC;IAClD,MAAM,cAAc,GAAG,IAAA,uDAAwB,EAAC,kBAAkB,CAAC,CAAC;IACpE,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC;QACzB,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,MAAM,cAAc,GAAG,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;IACzD,MAAM,oBAAoB,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IAElE,MAAM,eAAe,GAAG,CACpB,eAA+B,EAC/B,oBAA6B,EAC7B,WAAmB,EACnB,YAAoB,EACpB,UAAqB,EACrB,aAAqB,CAAC,EACxB,EAAE;QACA,IAAI,WAAW,KAAK,EAAE,EAAE,CAAC;YACrB,OAAO;QACX,CAAC;QACD,UAAU,GAAG,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAC/C,MAAM,qBAAqB,GACvB,oBAAoB,CAAC,eAAe,CAAC,IAAI,oBAAoB,IAAI,oBAAoB,CAAC;QAC1F,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACzB,OAAO;QACX,CAAC;QAED,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO;QAEtC,IAAI,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ;gBAAE,OAAO;YACtB,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,gBAAgB,GAAG,eAAe,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAC;QAE5E,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACpB,OAAO;QACX,CAAC;QAED,IAAI,aAAa,GAAG,GAAG,CAAC;QACxB,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC3B,aAAa,GAAG,IAAI,CAAC;QACzB,CAAC;QACD,MAAM,SAAS,GAAG,yBAAW,CAAC,UAAU,CACpC,EAAE,CAAC,UAAU,CAAC,MAAM,EACpB,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,EACzC,YAAY,EACZ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAC3B,CAAC;QACF,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACjC,MAAM,QAAQ,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzD,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,EAAE,CAAC;YAC3E,EAAE,CAAC,iBAAiB,CAAC,GAAG,YAAY,IAAI,IAAI,EAAE,EAAE,SAAS,CAAC,CAAC;YAC3D,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAC7C,CAAC;QAED,MAAM,2BAA2B,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,qBAAqB,CAAC,CAAC;QAEjG,IAAI,CAAC,qBAAqB,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACzD,OAAO;QACX,CAAC;QAED,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QAE7E,IAAI,aAAa,IAAI,aAAa,EAAE,CAAC;YACjC,gBAAgB,CAAC,qBAAqB,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;gBACnE,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;oBACtB,eAAe,CACX,gBAAgB,CAAC,qBAAqB,EACtC,qBAAqB,EACrB,WAAW,CAAC,YAAY,EACxB,SAAS,EACT,CAAC,QAAQ,CAAC,EACV,aAAa,CAChB,CAAC;gBACN,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC;QAED,IAAI,QAAQ,EAAE,CAAC;YACX,eAAe,CACX,gBAAgB,CAAC,qBAAqB,EACtC,qBAAqB,EACrB,QAAQ,EACR,SAAS,EACT,CAAC,QAAQ,CAAC,CACb,CAAC;QACN,CAAC;IACL,CAAC,CAAC;IAEF,cAAc,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAClC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;YACrC,eAAe,CAAC,cAAc,EAAE,oBAAoB,EAAE,YAAY,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;QAClF,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"tree-relations-qb-joiner.js","sourceRoot":"","sources":["../../../../src/service/helpers/utils/tree-relations-qb-joiner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "name": "@vendure/core",
3
- "version": "3.5.2-master-202512040233",
3
+ "version": "3.5.2-master-202512180239",
4
4
  "description": "A modern, headless ecommerce framework",
5
5
  "repository": {
6
6
  "type": "git",
7
- "url": "https://github.com/vendure-ecommerce/vendure/"
7
+ "url": "https://github.com/vendure-ecommerce/vendure"
8
8
  },
9
9
  "keywords": [
10
10
  "vendure",
@@ -49,7 +49,7 @@
49
49
  "@nestjs/platform-express": "^11.0.12",
50
50
  "@nestjs/terminus": "^11.0.0",
51
51
  "@nestjs/typeorm": "^11.0.0",
52
- "@vendure/common": "^3.5.2-master-202512040233",
52
+ "@vendure/common": "^3.5.2-master-202512180239",
53
53
  "bcrypt": "^5.1.1",
54
54
  "body-parser": "^1.20.2",
55
55
  "cookie-session": "^2.1.0",
@@ -113,6 +113,5 @@
113
113
  "ioredis": {
114
114
  "optional": true
115
115
  }
116
- },
117
- "gitHead": "f890b1f162b11976653db5ca492427bd9d8af78c"
116
+ }
118
117
  }
package/LICENSE.md DELETED
@@ -1,42 +0,0 @@
1
- # License
2
- Copyright (C) Vendure GmbH
3
-
4
- This software is available under two different licenses:
5
- * GNU General Public License version 3 (GPLv3) as Vendure Community Edition
6
- * Vendure Commercial License (VCL)
7
-
8
- The default Vendure license, without a valid Vendure Commercial License agreement, is the Open-Source GPLv3 license.
9
-
10
- ## GNU General Public License version 3 (GPLv3)
11
-
12
- If you decide to choose the GPLv3 license, you must comply with the following terms:
13
-
14
- This program is free software: you can redistribute it and/or modify
15
- it under the terms of the GNU General Public License as published by
16
- the Free Software Foundation, either version 3 of the License, or
17
- (at your option) any later version.
18
-
19
- This program is distributed in the hope that it will be useful,
20
- but WITHOUT ANY WARRANTY; without even the implied warranty of
21
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
22
- GNU General Public License for more details.
23
-
24
- You should have received a copy of the GNU General Public License
25
- along with this program. If not, see <http://www.gnu.org/licenses/>.
26
-
27
- Additional permission under GNU GPL version 3 section 7:
28
-
29
- An additional exception under section 7 of the GPL is included in the plugin-exception.txt file,
30
- which allows you to distribute Vendure plugins (i.e. extensions) under a different license.
31
-
32
- ## Vendure Commercial License (VCL)
33
-
34
- Alternatively, commercial and supported versions of the program - also known as
35
- Commercial Distributions - must be used in accordance with the terms and conditions
36
- contained in a separate written agreement between you and Vendure GmbH.
37
- For more information about the Vendure Commercial License (VCL) please contact contact@vendure.io.
38
-
39
- Please see also:
40
-
41
- - [Licensing FAQ - license-faq.md](license/license-faq.md)
42
- - [GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 - gpl-3.0.txt](license/gpl-3.0.txt)