@progress/kendo-angular-grid 23.0.0-develop.11 → 23.0.0-develop.12
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.
- package/codemods/utils.js +285 -39
- package/fesm2022/progress-kendo-angular-grid.mjs +1 -1
- package/package-metadata.mjs +2 -2
- package/package.json +24 -24
- package/schematics/ngAdd/index.js +7 -7
package/codemods/utils.js
CHANGED
|
@@ -775,6 +775,83 @@ const tsPropertyTransformer = (source, root, j, packageName, componentType, prop
|
|
|
775
775
|
localVariables.add(path.node.id.name);
|
|
776
776
|
}
|
|
777
777
|
});
|
|
778
|
+
// Find array variables of type componentType[]
|
|
779
|
+
// This handles cases like: const arr: ChatComponent[] = [...]; arr[0].property = value;
|
|
780
|
+
const arrayVariables = new Set();
|
|
781
|
+
root.find(j.VariableDeclarator).forEach((path) => {
|
|
782
|
+
if (path.node.id.type === 'Identifier' &&
|
|
783
|
+
path.node.id.typeAnnotation &&
|
|
784
|
+
path.node.id.typeAnnotation.typeAnnotation?.type === 'TSArrayType' &&
|
|
785
|
+
path.node.id.typeAnnotation.typeAnnotation.elementType?.type === 'TSTypeReference' &&
|
|
786
|
+
path.node.id.typeAnnotation.typeAnnotation.elementType.typeName?.type === 'Identifier' &&
|
|
787
|
+
path.node.id.typeAnnotation.typeAnnotation.elementType.typeName.name === componentType) {
|
|
788
|
+
arrayVariables.add(path.node.id.name);
|
|
789
|
+
}
|
|
790
|
+
});
|
|
791
|
+
// Find object properties that have componentType (e.g., {chat: ChatComponent})
|
|
792
|
+
// This handles cases like: const config: {chat: ChatComponent} = {...}; config.chat.property = value;
|
|
793
|
+
const objectProperties = new Map(); // Maps variable name to property names
|
|
794
|
+
root.find(j.VariableDeclarator).forEach((path) => {
|
|
795
|
+
if (path.node.id.type === 'Identifier' &&
|
|
796
|
+
path.node.id.typeAnnotation &&
|
|
797
|
+
path.node.id.typeAnnotation.typeAnnotation?.type === 'TSTypeLiteral') {
|
|
798
|
+
const varName = path.node.id.name;
|
|
799
|
+
const members = path.node.id.typeAnnotation.typeAnnotation.members;
|
|
800
|
+
members.forEach((member) => {
|
|
801
|
+
if (member.type === 'TSPropertySignature' &&
|
|
802
|
+
member.key &&
|
|
803
|
+
member.key.type === 'Identifier' &&
|
|
804
|
+
member.typeAnnotation &&
|
|
805
|
+
member.typeAnnotation.typeAnnotation?.type === 'TSTypeReference' &&
|
|
806
|
+
member.typeAnnotation.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
807
|
+
member.typeAnnotation.typeAnnotation.typeName.name === componentType) {
|
|
808
|
+
if (!objectProperties.has(varName)) {
|
|
809
|
+
objectProperties.set(varName, []);
|
|
810
|
+
}
|
|
811
|
+
objectProperties.get(varName).push(member.key.name);
|
|
812
|
+
}
|
|
813
|
+
});
|
|
814
|
+
}
|
|
815
|
+
});
|
|
816
|
+
// Helper function to check if a node is a componentType instance
|
|
817
|
+
const isComponentTypeInstance = (node) => {
|
|
818
|
+
// Direct identifier (parameter or local variable)
|
|
819
|
+
if (node.type === 'Identifier') {
|
|
820
|
+
return parameters.has(node.name) || localVariables.has(node.name);
|
|
821
|
+
}
|
|
822
|
+
// this.property where property is of componentType
|
|
823
|
+
if (node.type === 'MemberExpression' && node.property.type === 'Identifier') {
|
|
824
|
+
if (node.object.type === 'ThisExpression' && properties.has(node.property.name)) {
|
|
825
|
+
return true;
|
|
826
|
+
}
|
|
827
|
+
// Handle nested object properties: objectVar.propertyName where propertyName is of componentType
|
|
828
|
+
if (node.object.type === 'Identifier') {
|
|
829
|
+
const objName = node.object.name;
|
|
830
|
+
const propName = node.property.name;
|
|
831
|
+
if (objectProperties.has(objName)) {
|
|
832
|
+
const props = objectProperties.get(objName);
|
|
833
|
+
return props.includes(propName);
|
|
834
|
+
}
|
|
835
|
+
}
|
|
836
|
+
}
|
|
837
|
+
// Array element access: arrayVar[index]
|
|
838
|
+
if (node.type === 'MemberExpression' &&
|
|
839
|
+
node.object.type === 'Identifier' &&
|
|
840
|
+
arrayVariables.has(node.object.name)) {
|
|
841
|
+
return true;
|
|
842
|
+
}
|
|
843
|
+
// TypeScript type assertions like (this.componentProperty as ComponentType)
|
|
844
|
+
if (node.type === 'TSAsExpression') {
|
|
845
|
+
if (node.typeAnnotation &&
|
|
846
|
+
node.typeAnnotation.type === 'TSTypeReference' &&
|
|
847
|
+
node.typeAnnotation.typeName &&
|
|
848
|
+
node.typeAnnotation.typeName.type === 'Identifier' &&
|
|
849
|
+
node.typeAnnotation.typeName.name === componentType) {
|
|
850
|
+
return true;
|
|
851
|
+
}
|
|
852
|
+
}
|
|
853
|
+
return false;
|
|
854
|
+
};
|
|
778
855
|
// Find all member expressions where propertyName is accessed on any componentType instance
|
|
779
856
|
root.find(j.MemberExpression, {
|
|
780
857
|
property: {
|
|
@@ -783,31 +860,7 @@ const tsPropertyTransformer = (source, root, j, packageName, componentType, prop
|
|
|
783
860
|
},
|
|
784
861
|
})
|
|
785
862
|
.filter((path) => {
|
|
786
|
-
|
|
787
|
-
if (path.node.object.type === 'MemberExpression' && path.node.object.property.type === 'Identifier') {
|
|
788
|
-
// handle properties of this
|
|
789
|
-
if (path.node.object.object.type === 'ThisExpression' &&
|
|
790
|
-
properties.has(path.node.object.property.name)) {
|
|
791
|
-
return true;
|
|
792
|
-
}
|
|
793
|
-
}
|
|
794
|
-
// Handle function parameters and local variables
|
|
795
|
-
if (path.node.object.type === 'Identifier') {
|
|
796
|
-
return parameters.has(path.node.object.name) || localVariables.has(path.node.object.name);
|
|
797
|
-
}
|
|
798
|
-
// Handle TypeScript type assertions like (this.componentProperty as ComponentType).property
|
|
799
|
-
if (path.node.object.type === 'TSAsExpression') {
|
|
800
|
-
const typeAssertion = path.node.object;
|
|
801
|
-
// Check if the type assertion is casting to our componentType
|
|
802
|
-
if (typeAssertion.typeAnnotation &&
|
|
803
|
-
typeAssertion.typeAnnotation.type === 'TSTypeReference' &&
|
|
804
|
-
typeAssertion.typeAnnotation.typeName &&
|
|
805
|
-
typeAssertion.typeAnnotation.typeName.type === 'Identifier' &&
|
|
806
|
-
typeAssertion.typeAnnotation.typeName.name === componentType) {
|
|
807
|
-
return true;
|
|
808
|
-
}
|
|
809
|
-
}
|
|
810
|
-
return false;
|
|
863
|
+
return isComponentTypeInstance(path.node.object);
|
|
811
864
|
})
|
|
812
865
|
.forEach((path) => {
|
|
813
866
|
// Replace old property name with new property name
|
|
@@ -844,6 +897,91 @@ const tsPropertyTransformer = (source, root, j, packageName, componentType, prop
|
|
|
844
897
|
}
|
|
845
898
|
}
|
|
846
899
|
});
|
|
900
|
+
// Transform object literal properties in variable declarations and assignments
|
|
901
|
+
// This handles cases like: const obj: ComponentType = { oldProperty: 'value' }
|
|
902
|
+
root.find(j.VariableDeclarator)
|
|
903
|
+
.filter((path) => {
|
|
904
|
+
// Check if the variable has the componentType type annotation
|
|
905
|
+
return Boolean(path.node.id.type === 'Identifier' &&
|
|
906
|
+
path.node.id.typeAnnotation &&
|
|
907
|
+
path.node.id.typeAnnotation.typeAnnotation?.type === 'TSTypeReference' &&
|
|
908
|
+
path.node.id.typeAnnotation.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
909
|
+
path.node.id.typeAnnotation.typeAnnotation.typeName.name === componentType);
|
|
910
|
+
})
|
|
911
|
+
.forEach((path) => {
|
|
912
|
+
// Check if the initializer is an object expression
|
|
913
|
+
if (path.node.init && path.node.init.type === 'ObjectExpression') {
|
|
914
|
+
path.node.init.properties.forEach((prop) => {
|
|
915
|
+
// Rename the property if it matches
|
|
916
|
+
if (prop.type === 'ObjectProperty' &&
|
|
917
|
+
prop.key &&
|
|
918
|
+
prop.key.type === 'Identifier' &&
|
|
919
|
+
prop.key.name === propertyName) {
|
|
920
|
+
prop.key.name = newPropertyName;
|
|
921
|
+
}
|
|
922
|
+
});
|
|
923
|
+
}
|
|
924
|
+
});
|
|
925
|
+
// Transform object literal properties in class properties
|
|
926
|
+
// This handles cases like: customMessages: ComponentType = { oldProperty: 'value' }
|
|
927
|
+
root.find(j.ClassProperty)
|
|
928
|
+
.filter((path) => {
|
|
929
|
+
// Check if the property has the componentType type annotation
|
|
930
|
+
return Boolean(path.node.typeAnnotation &&
|
|
931
|
+
path.node.typeAnnotation.typeAnnotation?.type === 'TSTypeReference' &&
|
|
932
|
+
path.node.typeAnnotation.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
933
|
+
path.node.typeAnnotation.typeAnnotation.typeName.name === componentType);
|
|
934
|
+
})
|
|
935
|
+
.forEach((path) => {
|
|
936
|
+
// Check if the value is an object expression
|
|
937
|
+
if (path.node.value && path.node.value.type === 'ObjectExpression') {
|
|
938
|
+
path.node.value.properties.forEach((prop) => {
|
|
939
|
+
// Rename the property if it matches
|
|
940
|
+
if (prop.type === 'ObjectProperty' &&
|
|
941
|
+
prop.key &&
|
|
942
|
+
prop.key.type === 'Identifier' &&
|
|
943
|
+
prop.key.name === propertyName) {
|
|
944
|
+
prop.key.name = newPropertyName;
|
|
945
|
+
}
|
|
946
|
+
});
|
|
947
|
+
}
|
|
948
|
+
});
|
|
949
|
+
// Transform object literal properties in assignment expressions
|
|
950
|
+
// This handles cases like: this.obj = { oldProperty: 'value' }
|
|
951
|
+
root.find(j.AssignmentExpression)
|
|
952
|
+
.filter((path) => {
|
|
953
|
+
// Check if we're assigning an object literal
|
|
954
|
+
return path.node.right.type === 'ObjectExpression';
|
|
955
|
+
})
|
|
956
|
+
.forEach((path) => {
|
|
957
|
+
// We need to determine if the left side is of componentType
|
|
958
|
+
// This is more complex as we need to check the type of the assignment target
|
|
959
|
+
const leftSide = path.node.left;
|
|
960
|
+
let isTargetComponentType = false;
|
|
961
|
+
// Check if it's a property that we know is of componentType
|
|
962
|
+
if (leftSide.type === 'MemberExpression' && leftSide.property.type === 'Identifier') {
|
|
963
|
+
if (leftSide.object.type === 'ThisExpression' && properties.has(leftSide.property.name)) {
|
|
964
|
+
isTargetComponentType = true;
|
|
965
|
+
}
|
|
966
|
+
else if (leftSide.object.type === 'Identifier' && localVariables.has(leftSide.object.name)) {
|
|
967
|
+
isTargetComponentType = true;
|
|
968
|
+
}
|
|
969
|
+
}
|
|
970
|
+
else if (leftSide.type === 'Identifier') {
|
|
971
|
+
isTargetComponentType = localVariables.has(leftSide.name) || parameters.has(leftSide.name);
|
|
972
|
+
}
|
|
973
|
+
if (isTargetComponentType && path.node.right.type === 'ObjectExpression') {
|
|
974
|
+
path.node.right.properties.forEach((prop) => {
|
|
975
|
+
// Rename the property if it matches
|
|
976
|
+
if (prop.type === 'ObjectProperty' &&
|
|
977
|
+
prop.key &&
|
|
978
|
+
prop.key.type === 'Identifier' &&
|
|
979
|
+
prop.key.name === propertyName) {
|
|
980
|
+
prop.key.name = newPropertyName;
|
|
981
|
+
}
|
|
982
|
+
});
|
|
983
|
+
}
|
|
984
|
+
});
|
|
847
985
|
}
|
|
848
986
|
};
|
|
849
987
|
exports.tsPropertyTransformer = tsPropertyTransformer;
|
|
@@ -1022,6 +1160,103 @@ const tsInterfaceTransformer = (fileInfo, rootSource, j, packageName, interfaceN
|
|
|
1022
1160
|
path.node.callee.name = newName;
|
|
1023
1161
|
}
|
|
1024
1162
|
});
|
|
1163
|
+
// Helper function to recursively transform type references
|
|
1164
|
+
const transformTypeReference = (typeNode) => {
|
|
1165
|
+
if (!typeNode)
|
|
1166
|
+
return;
|
|
1167
|
+
// Handle TSTypeReference (e.g., FileSelectSettings)
|
|
1168
|
+
if (typeNode.type === 'TSTypeReference' &&
|
|
1169
|
+
typeNode.typeName &&
|
|
1170
|
+
typeNode.typeName.type === 'Identifier' &&
|
|
1171
|
+
typeNode.typeName.name === interfaceName) {
|
|
1172
|
+
typeNode.typeName.name = newName;
|
|
1173
|
+
}
|
|
1174
|
+
// Handle TSArrayType (e.g., FileSelectSettings[])
|
|
1175
|
+
if (typeNode.type === 'TSArrayType' && typeNode.elementType) {
|
|
1176
|
+
transformTypeReference(typeNode.elementType);
|
|
1177
|
+
}
|
|
1178
|
+
// Handle generic Array<T> (e.g., Array<FileSelectSettings>)
|
|
1179
|
+
if (typeNode.type === 'TSTypeReference' &&
|
|
1180
|
+
typeNode.typeParameters &&
|
|
1181
|
+
typeNode.typeParameters.params) {
|
|
1182
|
+
typeNode.typeParameters.params.forEach((param) => {
|
|
1183
|
+
transformTypeReference(param);
|
|
1184
|
+
});
|
|
1185
|
+
}
|
|
1186
|
+
// Handle TSTypeLiteral (e.g., { primary: FileSelectSettings })
|
|
1187
|
+
if (typeNode.type === 'TSTypeLiteral' && typeNode.members) {
|
|
1188
|
+
typeNode.members.forEach((member) => {
|
|
1189
|
+
if (member.typeAnnotation && member.typeAnnotation.typeAnnotation) {
|
|
1190
|
+
transformTypeReference(member.typeAnnotation.typeAnnotation);
|
|
1191
|
+
}
|
|
1192
|
+
});
|
|
1193
|
+
}
|
|
1194
|
+
// Handle TSFunctionType (e.g., (settings: FileSelectSettings) => void)
|
|
1195
|
+
if (typeNode.type === 'TSFunctionType') {
|
|
1196
|
+
if (typeNode.parameters) {
|
|
1197
|
+
typeNode.parameters.forEach((param) => {
|
|
1198
|
+
if (param.typeAnnotation && param.typeAnnotation.typeAnnotation) {
|
|
1199
|
+
transformTypeReference(param.typeAnnotation.typeAnnotation);
|
|
1200
|
+
}
|
|
1201
|
+
});
|
|
1202
|
+
}
|
|
1203
|
+
if (typeNode.typeAnnotation && typeNode.typeAnnotation.typeAnnotation) {
|
|
1204
|
+
transformTypeReference(typeNode.typeAnnotation.typeAnnotation);
|
|
1205
|
+
}
|
|
1206
|
+
}
|
|
1207
|
+
};
|
|
1208
|
+
// Apply recursive transformation to all type annotations
|
|
1209
|
+
rootSource.find(j.VariableDeclarator).forEach((path) => {
|
|
1210
|
+
if (path.node.id.type === 'Identifier' &&
|
|
1211
|
+
path.node.id.typeAnnotation &&
|
|
1212
|
+
path.node.id.typeAnnotation.typeAnnotation) {
|
|
1213
|
+
transformTypeReference(path.node.id.typeAnnotation.typeAnnotation);
|
|
1214
|
+
}
|
|
1215
|
+
});
|
|
1216
|
+
rootSource.find(j.ClassProperty).forEach((path) => {
|
|
1217
|
+
if (path.node.typeAnnotation && path.node.typeAnnotation.typeAnnotation) {
|
|
1218
|
+
transformTypeReference(path.node.typeAnnotation.typeAnnotation);
|
|
1219
|
+
}
|
|
1220
|
+
});
|
|
1221
|
+
rootSource.find(j.ClassMethod).forEach((path) => {
|
|
1222
|
+
if (path.node.returnType && path.node.returnType.typeAnnotation) {
|
|
1223
|
+
transformTypeReference(path.node.returnType.typeAnnotation);
|
|
1224
|
+
}
|
|
1225
|
+
// Transform parameter types recursively
|
|
1226
|
+
if (path.node.params) {
|
|
1227
|
+
path.node.params.forEach((param) => {
|
|
1228
|
+
if (param.typeAnnotation && param.typeAnnotation.typeAnnotation) {
|
|
1229
|
+
transformTypeReference(param.typeAnnotation.typeAnnotation);
|
|
1230
|
+
}
|
|
1231
|
+
});
|
|
1232
|
+
}
|
|
1233
|
+
});
|
|
1234
|
+
rootSource.find(j.FunctionDeclaration).forEach((path) => {
|
|
1235
|
+
if (path.node.returnType && path.node.returnType.typeAnnotation) {
|
|
1236
|
+
transformTypeReference(path.node.returnType.typeAnnotation);
|
|
1237
|
+
}
|
|
1238
|
+
// Transform parameter types recursively
|
|
1239
|
+
if (path.node.params) {
|
|
1240
|
+
path.node.params.forEach((param) => {
|
|
1241
|
+
if (param.typeAnnotation && param.typeAnnotation.typeAnnotation) {
|
|
1242
|
+
transformTypeReference(param.typeAnnotation.typeAnnotation);
|
|
1243
|
+
}
|
|
1244
|
+
});
|
|
1245
|
+
}
|
|
1246
|
+
});
|
|
1247
|
+
rootSource.find(j.ArrowFunctionExpression).forEach((path) => {
|
|
1248
|
+
if (path.node.returnType && path.node.returnType.typeAnnotation) {
|
|
1249
|
+
transformTypeReference(path.node.returnType.typeAnnotation);
|
|
1250
|
+
}
|
|
1251
|
+
// Transform parameter types recursively
|
|
1252
|
+
if (path.node.params) {
|
|
1253
|
+
path.node.params.forEach((param) => {
|
|
1254
|
+
if (param.typeAnnotation && param.typeAnnotation.typeAnnotation) {
|
|
1255
|
+
transformTypeReference(param.typeAnnotation.typeAnnotation);
|
|
1256
|
+
}
|
|
1257
|
+
});
|
|
1258
|
+
}
|
|
1259
|
+
});
|
|
1025
1260
|
}
|
|
1026
1261
|
};
|
|
1027
1262
|
exports.tsInterfaceTransformer = tsInterfaceTransformer;
|
|
@@ -1035,21 +1270,26 @@ function isComponentTypeMatch(root, j, node, componentType) {
|
|
|
1035
1270
|
if (node.type === 'Identifier') {
|
|
1036
1271
|
const paramName = node.name;
|
|
1037
1272
|
// Check function parameters
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1041
|
-
|
|
1042
|
-
|
|
1273
|
+
let isParameter = false;
|
|
1274
|
+
root.find(j.Function).forEach((path) => {
|
|
1275
|
+
if (path.node.params && path.node.params.some((param) => param.type === 'Identifier' &&
|
|
1276
|
+
param.name === paramName &&
|
|
1277
|
+
param.typeAnnotation?.typeAnnotation?.typeName?.name === componentType)) {
|
|
1278
|
+
isParameter = true;
|
|
1279
|
+
}
|
|
1043
1280
|
});
|
|
1044
1281
|
if (isParameter)
|
|
1045
1282
|
return true;
|
|
1046
1283
|
// Check local variable declarations
|
|
1047
|
-
|
|
1048
|
-
|
|
1284
|
+
let isLocalVariable = false;
|
|
1285
|
+
root.find(j.VariableDeclarator).forEach((path) => {
|
|
1286
|
+
if (path.node.id.type === 'Identifier' &&
|
|
1049
1287
|
path.node.id.name === paramName &&
|
|
1050
1288
|
path.node.id.typeAnnotation?.typeAnnotation?.type === 'TSTypeReference' &&
|
|
1051
1289
|
path.node.id.typeAnnotation.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
1052
|
-
path.node.id.typeAnnotation.typeAnnotation.typeName.name === componentType)
|
|
1290
|
+
path.node.id.typeAnnotation.typeAnnotation.typeName.name === componentType) {
|
|
1291
|
+
isLocalVariable = true;
|
|
1292
|
+
}
|
|
1053
1293
|
});
|
|
1054
1294
|
return isLocalVariable;
|
|
1055
1295
|
}
|
|
@@ -1072,13 +1312,14 @@ function isComponentTypeMatch(root, j, node, componentType) {
|
|
|
1072
1312
|
const varName = node.object.name;
|
|
1073
1313
|
const propName = node.property.name;
|
|
1074
1314
|
// Check if this is an object with a property of componentType
|
|
1075
|
-
|
|
1315
|
+
let hasMatchingProperty = false;
|
|
1316
|
+
root.find(j.VariableDeclarator).forEach((path) => {
|
|
1076
1317
|
if (path.node.id.type === 'Identifier' &&
|
|
1077
1318
|
path.node.id.name === varName &&
|
|
1078
1319
|
path.node.id.typeAnnotation &&
|
|
1079
1320
|
path.node.id.typeAnnotation.typeAnnotation?.type === 'TSTypeLiteral') {
|
|
1080
1321
|
const members = path.node.id.typeAnnotation.typeAnnotation.members;
|
|
1081
|
-
|
|
1322
|
+
const found = members.some((member) => {
|
|
1082
1323
|
return (member.type === 'TSPropertySignature' &&
|
|
1083
1324
|
member.key?.type === 'Identifier' &&
|
|
1084
1325
|
member.key.name === propName &&
|
|
@@ -1086,8 +1327,10 @@ function isComponentTypeMatch(root, j, node, componentType) {
|
|
|
1086
1327
|
member.typeAnnotation.typeAnnotation.typeName?.type === 'Identifier' &&
|
|
1087
1328
|
member.typeAnnotation.typeAnnotation.typeName.name === componentType);
|
|
1088
1329
|
});
|
|
1330
|
+
if (found) {
|
|
1331
|
+
hasMatchingProperty = true;
|
|
1332
|
+
}
|
|
1089
1333
|
}
|
|
1090
|
-
return false;
|
|
1091
1334
|
});
|
|
1092
1335
|
return hasMatchingProperty;
|
|
1093
1336
|
}
|
|
@@ -1097,13 +1340,16 @@ function isComponentTypeMatch(root, j, node, componentType) {
|
|
|
1097
1340
|
if (node.type === 'MemberExpression' && node.computed === true && node.object.type === 'Identifier') {
|
|
1098
1341
|
const arrayName = node.object.name;
|
|
1099
1342
|
// Check if this array is of type ChatComponent[]
|
|
1100
|
-
|
|
1101
|
-
|
|
1343
|
+
let isComponentArray = false;
|
|
1344
|
+
root.find(j.VariableDeclarator).forEach((path) => {
|
|
1345
|
+
if (path.node.id.type === 'Identifier' &&
|
|
1102
1346
|
path.node.id.name === arrayName &&
|
|
1103
1347
|
path.node.id.typeAnnotation?.typeAnnotation?.type === 'TSArrayType' &&
|
|
1104
1348
|
path.node.id.typeAnnotation.typeAnnotation.elementType?.type === 'TSTypeReference' &&
|
|
1105
1349
|
path.node.id.typeAnnotation.typeAnnotation.elementType.typeName?.type === 'Identifier' &&
|
|
1106
|
-
path.node.id.typeAnnotation.typeAnnotation.elementType.typeName.name === componentType)
|
|
1350
|
+
path.node.id.typeAnnotation.typeAnnotation.elementType.typeName.name === componentType) {
|
|
1351
|
+
isComponentArray = true;
|
|
1352
|
+
}
|
|
1107
1353
|
});
|
|
1108
1354
|
return isComponentArray;
|
|
1109
1355
|
}
|
|
@@ -24136,7 +24136,7 @@ const packageMetadata = {
|
|
|
24136
24136
|
productCode: 'KENDOUIANGULAR',
|
|
24137
24137
|
productCodes: ['KENDOUIANGULAR'],
|
|
24138
24138
|
publishDate: 0,
|
|
24139
|
-
version: '23.0.0-develop.
|
|
24139
|
+
version: '23.0.0-develop.12',
|
|
24140
24140
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
24141
24141
|
};
|
|
24142
24142
|
|
package/package-metadata.mjs
CHANGED
|
@@ -7,7 +7,7 @@ export const packageMetadata = {
|
|
|
7
7
|
"productCodes": [
|
|
8
8
|
"KENDOUIANGULAR"
|
|
9
9
|
],
|
|
10
|
-
"publishDate":
|
|
11
|
-
"version": "23.0.0-develop.
|
|
10
|
+
"publishDate": 1770731600,
|
|
11
|
+
"version": "23.0.0-develop.12",
|
|
12
12
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
13
13
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@progress/kendo-angular-grid",
|
|
3
|
-
"version": "23.0.0-develop.
|
|
3
|
+
"version": "23.0.0-develop.12",
|
|
4
4
|
"description": "Kendo UI Grid for Angular - high performance data grid with paging, filtering, virtualization, CRUD, and more.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.md",
|
|
6
6
|
"author": "Progress",
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
"package": {
|
|
74
74
|
"productName": "Kendo UI for Angular",
|
|
75
75
|
"productCode": "KENDOUIANGULAR",
|
|
76
|
-
"publishDate":
|
|
76
|
+
"publishDate": 1770731600,
|
|
77
77
|
"licensingDocsUrl": "https://www.telerik.com/kendo-angular-ui/my-license/"
|
|
78
78
|
}
|
|
79
79
|
},
|
|
@@ -86,32 +86,32 @@
|
|
|
86
86
|
"@progress/kendo-data-query": "^1.7.3",
|
|
87
87
|
"@progress/kendo-drawing": "^1.24.0",
|
|
88
88
|
"@progress/kendo-licensing": "^1.10.0",
|
|
89
|
-
"@progress/kendo-angular-buttons": "23.0.0-develop.
|
|
90
|
-
"@progress/kendo-angular-common": "23.0.0-develop.
|
|
91
|
-
"@progress/kendo-angular-dateinputs": "23.0.0-develop.
|
|
92
|
-
"@progress/kendo-angular-layout": "23.0.0-develop.
|
|
93
|
-
"@progress/kendo-angular-navigation": "23.0.0-develop.
|
|
94
|
-
"@progress/kendo-angular-dropdowns": "23.0.0-develop.
|
|
95
|
-
"@progress/kendo-angular-excel-export": "23.0.0-develop.
|
|
96
|
-
"@progress/kendo-angular-icons": "23.0.0-develop.
|
|
97
|
-
"@progress/kendo-angular-indicators": "23.0.0-develop.
|
|
98
|
-
"@progress/kendo-angular-inputs": "23.0.0-develop.
|
|
99
|
-
"@progress/kendo-angular-conversational-ui": "23.0.0-develop.
|
|
100
|
-
"@progress/kendo-angular-intl": "23.0.0-develop.
|
|
101
|
-
"@progress/kendo-angular-l10n": "23.0.0-develop.
|
|
102
|
-
"@progress/kendo-angular-label": "23.0.0-develop.
|
|
103
|
-
"@progress/kendo-angular-menu": "23.0.0-develop.
|
|
104
|
-
"@progress/kendo-angular-pager": "23.0.0-develop.
|
|
105
|
-
"@progress/kendo-angular-pdf-export": "23.0.0-develop.
|
|
106
|
-
"@progress/kendo-angular-popup": "23.0.0-develop.
|
|
107
|
-
"@progress/kendo-angular-toolbar": "23.0.0-develop.
|
|
108
|
-
"@progress/kendo-angular-upload": "23.0.0-develop.
|
|
109
|
-
"@progress/kendo-angular-utils": "23.0.0-develop.
|
|
89
|
+
"@progress/kendo-angular-buttons": "23.0.0-develop.12",
|
|
90
|
+
"@progress/kendo-angular-common": "23.0.0-develop.12",
|
|
91
|
+
"@progress/kendo-angular-dateinputs": "23.0.0-develop.12",
|
|
92
|
+
"@progress/kendo-angular-layout": "23.0.0-develop.12",
|
|
93
|
+
"@progress/kendo-angular-navigation": "23.0.0-develop.12",
|
|
94
|
+
"@progress/kendo-angular-dropdowns": "23.0.0-develop.12",
|
|
95
|
+
"@progress/kendo-angular-excel-export": "23.0.0-develop.12",
|
|
96
|
+
"@progress/kendo-angular-icons": "23.0.0-develop.12",
|
|
97
|
+
"@progress/kendo-angular-indicators": "23.0.0-develop.12",
|
|
98
|
+
"@progress/kendo-angular-inputs": "23.0.0-develop.12",
|
|
99
|
+
"@progress/kendo-angular-conversational-ui": "23.0.0-develop.12",
|
|
100
|
+
"@progress/kendo-angular-intl": "23.0.0-develop.12",
|
|
101
|
+
"@progress/kendo-angular-l10n": "23.0.0-develop.12",
|
|
102
|
+
"@progress/kendo-angular-label": "23.0.0-develop.12",
|
|
103
|
+
"@progress/kendo-angular-menu": "23.0.0-develop.12",
|
|
104
|
+
"@progress/kendo-angular-pager": "23.0.0-develop.12",
|
|
105
|
+
"@progress/kendo-angular-pdf-export": "23.0.0-develop.12",
|
|
106
|
+
"@progress/kendo-angular-popup": "23.0.0-develop.12",
|
|
107
|
+
"@progress/kendo-angular-toolbar": "23.0.0-develop.12",
|
|
108
|
+
"@progress/kendo-angular-upload": "23.0.0-develop.12",
|
|
109
|
+
"@progress/kendo-angular-utils": "23.0.0-develop.12",
|
|
110
110
|
"rxjs": "^6.5.3 || ^7.0.0"
|
|
111
111
|
},
|
|
112
112
|
"dependencies": {
|
|
113
113
|
"tslib": "^2.3.1",
|
|
114
|
-
"@progress/kendo-angular-schematics": "23.0.0-develop.
|
|
114
|
+
"@progress/kendo-angular-schematics": "23.0.0-develop.12",
|
|
115
115
|
"@progress/kendo-common": "^1.0.1",
|
|
116
116
|
"@progress/kendo-file-saver": "^1.0.0",
|
|
117
117
|
"@progress/kendo-csv": "^1.0.0"
|
|
@@ -9,19 +9,19 @@ const schematics_1 = require("@angular-devkit/schematics");
|
|
|
9
9
|
function default_1(options) {
|
|
10
10
|
const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'GridModule', package: 'grid', peerDependencies: {
|
|
11
11
|
// peer deps of the dropdowns
|
|
12
|
-
'@progress/kendo-angular-treeview': '23.0.0-develop.
|
|
13
|
-
'@progress/kendo-angular-navigation': '23.0.0-develop.
|
|
12
|
+
'@progress/kendo-angular-treeview': '23.0.0-develop.12',
|
|
13
|
+
'@progress/kendo-angular-navigation': '23.0.0-develop.12',
|
|
14
14
|
// peer dependency of kendo-angular-inputs
|
|
15
|
-
'@progress/kendo-angular-dialog': '23.0.0-develop.
|
|
15
|
+
'@progress/kendo-angular-dialog': '23.0.0-develop.12',
|
|
16
16
|
// peer dependency of kendo-angular-icons
|
|
17
17
|
'@progress/kendo-svg-icons': '^4.0.0',
|
|
18
18
|
// peer dependency of kendo-angular-layout
|
|
19
|
-
'@progress/kendo-angular-progressbar': '23.0.0-develop.
|
|
19
|
+
'@progress/kendo-angular-progressbar': '23.0.0-develop.12',
|
|
20
20
|
// transitive peer dependencies from toolbar
|
|
21
|
-
'@progress/kendo-angular-indicators': '23.0.0-develop.
|
|
21
|
+
'@progress/kendo-angular-indicators': '23.0.0-develop.12',
|
|
22
22
|
// transitive peer dependencies from conversational-ui
|
|
23
|
-
'@progress/kendo-angular-menu': '23.0.0-develop.
|
|
24
|
-
'@progress/kendo-angular-upload': '23.0.0-develop.
|
|
23
|
+
'@progress/kendo-angular-menu': '23.0.0-develop.12',
|
|
24
|
+
'@progress/kendo-angular-upload': '23.0.0-develop.12'
|
|
25
25
|
} });
|
|
26
26
|
return (0, schematics_1.externalSchematic)('@progress/kendo-angular-schematics', 'ng-add', finalOptions);
|
|
27
27
|
}
|