devextreme-internal-tools 16.0.0-beta.8 → 16.0.0

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.
Files changed (95) hide show
  1. package/bin/DevExtreme.Declarations.Discoverer.dll +0 -0
  2. package/bin/DevExtreme.Declarations.Discoverer.exe +0 -0
  3. package/bin/DevExtreme.Declarations.IntegrityValidator.dll +0 -0
  4. package/bin/DevExtreme.Declarations.IntegrityValidator.exe +0 -0
  5. package/bin/DevExtreme.Declarations.dll +0 -0
  6. package/bin/DevExtreme.Descriptions.Injector.dll +0 -0
  7. package/bin/DevExtreme.Descriptions.Injector.exe +0 -0
  8. package/bin/DevExtreme.Infrastructure.dll +0 -0
  9. package/bin/DevExtreme.IntegrationDataGenerator.dll +0 -0
  10. package/bin/DevExtreme.IntegrationDataGenerator.exe +0 -0
  11. package/bin/DevExtreme.NgSmdGenerator.dll +0 -0
  12. package/bin/DevExtreme.NgSmdGenerator.exe +0 -0
  13. package/bin/DevExtreme.SmdCommon.dll +0 -0
  14. package/bin/DevExtreme.StrongMetaDataGenerator.dll +0 -0
  15. package/bin/DevExtreme.StrongMetaDataGenerator.exe +0 -0
  16. package/bin/DevExtreme.Topics.ExtraFilesGenerator.dll +0 -0
  17. package/bin/DevExtreme.Topics.ExtraFilesGenerator.exe +0 -0
  18. package/bin/DevExtreme.Topics.Generator.dll +0 -0
  19. package/bin/DevExtreme.Topics.Generator.exe +0 -0
  20. package/bin/DevExtreme.Topics.ModulesGuideValidator.dll +0 -0
  21. package/bin/DevExtreme.Topics.ModulesGuideValidator.exe +0 -0
  22. package/bin/DevExtreme.Topics.Validation.dll +0 -0
  23. package/bin/DevExtreme.Topics.Validation.exe +0 -0
  24. package/bin/DevExtreme.Topics.dll +0 -0
  25. package/bin/DevExtreme.WebSite.CompactDocsCreator.dll +0 -0
  26. package/bin/DevExtreme.WebSite.CompactDocsCreator.exe +0 -0
  27. package/bin/DevExtreme.WebSite.ContentMapCreator.dll +0 -0
  28. package/bin/DevExtreme.WebSite.ContentMapCreator.exe +0 -0
  29. package/bin/DevExtreme.WebSite.ContentMaps.dll +0 -0
  30. package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
  31. package/bin/DevExtreme.WebSite.LinksConverter.exe +0 -0
  32. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
  33. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.exe +0 -0
  34. package/integration-data-model.d.ts +1 -0
  35. package/package.json +1 -1
  36. package/ts/angular-components-generator/common-reexports-generator.d.ts +10 -2
  37. package/ts/angular-components-generator/common-reexports-generator.js +26 -26
  38. package/ts/angular-components-generator/common-reexports-generator.js.map +1 -1
  39. package/ts/angular-components-generator/facade-generator.d.ts +8 -1
  40. package/ts/angular-components-generator/facade-generator.js +12 -5
  41. package/ts/angular-components-generator/facade-generator.js.map +1 -1
  42. package/ts/angular-components-generator/metadata-generator.d.ts +4 -4
  43. package/ts/angular-components-generator/metadata-generator.js +213 -73
  44. package/ts/angular-components-generator/metadata-generator.js.map +1 -1
  45. package/ts/angular-components-generator/templates/base-nested-component.tst +2 -1
  46. package/ts/angular-components-generator/templates/component.tst +3 -3
  47. package/ts/angular-components-generator/templates/nested-component.tst +2 -2
  48. package/ts/common/ts-type-resolving.js +14 -3
  49. package/ts/common/ts-type-resolving.js.map +1 -1
  50. package/ts/components-generation/aggregated-reexports-generator.d.ts +9 -0
  51. package/ts/components-generation/aggregated-reexports-generator.js +43 -0
  52. package/ts/components-generation/aggregated-reexports-generator.js.map +1 -0
  53. package/ts/components-generation/common-reexports-generator.d.ts +9 -3
  54. package/ts/components-generation/common-reexports-generator.js +52 -19
  55. package/ts/components-generation/common-reexports-generator.js.map +1 -1
  56. package/ts/components-generation/file-helpers.d.ts +9 -0
  57. package/ts/components-generation/file-helpers.js +27 -0
  58. package/ts/components-generation/file-helpers.js.map +1 -0
  59. package/ts/{react-components-generator → components-generation}/helpers.d.ts +2 -0
  60. package/ts/{react-components-generator → components-generation}/helpers.js +17 -1
  61. package/ts/components-generation/helpers.js.map +1 -0
  62. package/ts/{react-components-generator → components-generation}/import-overrides.json +11 -3
  63. package/ts/components-generation/index-generator.d.ts +4 -0
  64. package/ts/components-generation/index-generator.js +9 -0
  65. package/ts/components-generation/index-generator.js.map +1 -0
  66. package/ts/components-generation/reexports-generator.d.ts +5 -3
  67. package/ts/components-generation/reexports-generator.js +1 -1
  68. package/ts/components-generation/reexports-generator.js.map +1 -1
  69. package/ts/components-generation/template.d.ts +4 -0
  70. package/ts/components-generation/template.js.map +1 -1
  71. package/ts/components-generation/type-resolving.d.ts +39 -0
  72. package/ts/components-generation/type-resolving.js +192 -0
  73. package/ts/components-generation/type-resolving.js.map +1 -0
  74. package/ts/discoverer/parsing.js +1 -12
  75. package/ts/discoverer/parsing.js.map +1 -1
  76. package/ts/react-components-generator/component-generator.js +1 -1
  77. package/ts/react-components-generator/component-generator.js.map +1 -1
  78. package/ts/react-components-generator/converter.js +1 -1
  79. package/ts/react-components-generator/converter.js.map +1 -1
  80. package/ts/react-components-generator/generator.d.ts +3 -20
  81. package/ts/react-components-generator/generator.js +24 -160
  82. package/ts/react-components-generator/generator.js.map +1 -1
  83. package/ts/vue-components-generator/component-generator.d.ts +6 -1
  84. package/ts/vue-components-generator/component-generator.js +60 -12
  85. package/ts/vue-components-generator/component-generator.js.map +1 -1
  86. package/ts/vue-components-generator/converter.d.ts +19 -1
  87. package/ts/vue-components-generator/converter.js +74 -17
  88. package/ts/vue-components-generator/converter.js.map +1 -1
  89. package/ts/vue-components-generator/generator.d.ts +2 -1
  90. package/ts/vue-components-generator/generator.js +56 -22
  91. package/ts/vue-components-generator/generator.js.map +1 -1
  92. package/ts/react-components-generator/helpers.js.map +0 -1
  93. package/ts/react-components-generator/index-generator.d.ts +0 -3
  94. package/ts/react-components-generator/index-generator.js +0 -22
  95. package/ts/react-components-generator/index-generator.js.map +0 -1
@@ -21,15 +21,6 @@ var __rest = (this && this.__rest) || function (s, e) {
21
21
  }
22
22
  return t;
23
23
  };
24
- var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
25
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
26
- if (ar || !(i in from)) {
27
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
28
- ar[i] = from[i];
29
- }
30
- }
31
- return to.concat(ar || Array.prototype.slice.call(from));
32
- };
33
24
  Object.defineProperty(exports, "__esModule", { value: true });
34
25
  exports.ComponentMetadataGenerator = exports.FSObjectStore = void 0;
35
26
  var fs = require("fs");
@@ -41,6 +32,9 @@ var logger_1 = require("./logger");
41
32
  var import_helper_1 = require("./import-helper");
42
33
  var helpers_1 = require("./helpers");
43
34
  var utils_1 = require("../common/utils");
35
+ var defaultImportOverridesMetadata = require("../components-generation/import-overrides.json");
36
+ var type_resolving_1 = require("../components-generation/type-resolving");
37
+ var helpers_2 = require("../components-generation/helpers");
44
38
  var OPTION_COMPONENT_PREFIX = 'Dxo';
45
39
  var ITEM_COMPONENT_PREFIX = 'Dxi';
46
40
  var TYPES_SEPARATOR = ' | ';
@@ -56,6 +50,10 @@ function trimPrefix(prefix, value) {
56
50
  }
57
51
  return value;
58
52
  }
53
+ function trimComponentPrefix(className) {
54
+ var pattern = new RegExp("^(".concat(OPTION_COMPONENT_PREFIX, "|").concat(ITEM_COMPONENT_PREFIX, ")"));
55
+ return className.replace(pattern, '');
56
+ }
59
57
  var FSObjectStore = (function () {
60
58
  function FSObjectStore() {
61
59
  this.encoding = 'utf8';
@@ -75,6 +73,120 @@ var FSObjectStore = (function () {
75
73
  return FSObjectStore;
76
74
  }());
77
75
  exports.FSObjectStore = FSObjectStore;
76
+ var importOverridesPart = {
77
+ genericTypes: {
78
+ CoreComponent: {},
79
+ },
80
+ };
81
+ var importOverridesMetadata = merge(defaultImportOverridesMetadata, importOverridesPart);
82
+ var TYPE_ALIASES = {
83
+ Component: 'CoreComponent',
84
+ };
85
+ var IGNORED_OPTIONS = ['bindingOptions'];
86
+ function createImports(customTypeModules, aliases) {
87
+ var customTypeImports = {};
88
+ var defaultTypeImports = {};
89
+ var wildcardTypeImports = {};
90
+ Object.keys(customTypeModules).forEach(function (t) {
91
+ var _a;
92
+ if ((_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.defaultImports) === null || _a === void 0 ? void 0 : _a[t]) {
93
+ defaultTypeImports[importOverridesMetadata.defaultImports[t]] = t;
94
+ return;
95
+ }
96
+ var modules = customTypeModules[t].map(function (m) { var _a, _b; return ((_b = (_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.importOverrides) === null || _a === void 0 ? void 0 : _a[t]) !== null && _b !== void 0 ? _b : m); });
97
+ if (modules.length) {
98
+ modules
99
+ .forEach(function (module) {
100
+ var _a;
101
+ var importNamespace = (_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.nameConflictsResolutionNamespaces) === null || _a === void 0 ? void 0 : _a[t];
102
+ if (importNamespace) {
103
+ wildcardTypeImports[module] = "* as ".concat(importNamespace);
104
+ }
105
+ else {
106
+ var moduleImports = new Set(customTypeImports[module]);
107
+ var hasAlias = aliases && aliases[t];
108
+ moduleImports.add(hasAlias ? aliases[t] : t);
109
+ customTypeImports[module] = Array.from(moduleImports);
110
+ }
111
+ });
112
+ }
113
+ });
114
+ return [].concat(Object.keys(defaultTypeImports).map(function (key) { return ({ path: key, importString: defaultTypeImports[key] }); }), Object.keys(wildcardTypeImports).map(function (key) { return ({ path: key, importString: wildcardTypeImports[key] }); }), Object.keys(customTypeImports).map(function (key) { return ({ path: key, importString: "{ ".concat(customTypeImports[key].join(', '), " }") }); }));
115
+ }
116
+ function replaceEmptyFunction(optionType) {
117
+ var emptyFunction = /\(\(\) => (void|any)\)/;
118
+ var typeFunction = 'Function';
119
+ if (optionType.match(emptyFunction)) {
120
+ return optionType
121
+ .split(TYPES_SEPARATOR)
122
+ .map(function (typeName) { return typeName.replace(emptyFunction, typeFunction); })
123
+ .join(TYPES_SEPARATOR);
124
+ }
125
+ return optionType;
126
+ }
127
+ function mapProp(option, typeResolver) {
128
+ if (option.name.toLowerCase().includes('template')) {
129
+ return {
130
+ name: option.name,
131
+ type: type_resolving_1.BaseTypes.Any,
132
+ isSubscribable: option.isSubscribable,
133
+ };
134
+ }
135
+ var optionType = (0, type_resolving_1.getComplexOptionType)(option.types, typeResolver, { trimTypeParams: true });
136
+ if (option.props && option.props.length) {
137
+ var nested = option.props.map(function (o) { return mapProp(o, typeResolver); });
138
+ var nestedTypes = nested.map(function (n) { return "".concat(n.name, "?: ").concat(n.type); });
139
+ optionType = optionType
140
+ .split(TYPES_SEPARATOR)
141
+ .filter(function (typeName) { return typeName !== type_resolving_1.BaseTypes.Object && typeName !== "Array<".concat(type_resolving_1.BaseTypes.Object, ">"); })
142
+ .concat("{ ".concat(nestedTypes.join(', '), " }").concat((0, type_resolving_1.isNestedOptionArray)(option) ? '[]' : ''))
143
+ .join(TYPES_SEPARATOR);
144
+ }
145
+ optionType = replaceEmptyFunction(optionType);
146
+ return {
147
+ name: option.name,
148
+ type: optionType,
149
+ isSubscribable: option.isSubscribable,
150
+ };
151
+ }
152
+ function getRawSelector(componentName, parentName, prefix) {
153
+ return [prefix, parentName.replace(/-/g, '_'), inflector.underscore(componentName)].join('_');
154
+ }
155
+ function getCollectionNestedComponents(nesteds, parentName) {
156
+ if (nesteds && nesteds.length) {
157
+ return nesteds
158
+ .filter(function (n) { return n.isCollectionItem; })
159
+ .map(function (n) { return ({
160
+ className: inflector.camelize(getRawSelector(n.componentName, parentName, ITEM_COMPONENT_PREFIX)),
161
+ path: "".concat(inflector.dasherize(inflector.underscore(n.componentName)), "-").concat(ITEM_COMPONENT_PREFIX.toLocaleLowerCase()),
162
+ propertyName: n.optionName,
163
+ methodName: inflector.pluralize(inflector.camelize(inflector.dasherize(n.componentName), true)),
164
+ }); });
165
+ }
166
+ return [];
167
+ }
168
+ function getMissingCollectionItems(nestedComponents) {
169
+ var nestedComponentsHash = {};
170
+ var nestedCollectionOptions = [];
171
+ nestedComponents.forEach(function (c) {
172
+ var _a;
173
+ nestedComponentsHash[c.optionName] = c;
174
+ var collectionNesteds = (_a = c.nesteds) === null || _a === void 0 ? void 0 : _a.filter(function (n) { return n.isCollectionItem; }).reduce(function (acc, nestedOption) {
175
+ acc[nestedOption.optionName] = nestedOption.componentName;
176
+ return acc;
177
+ }, {});
178
+ if (collectionNesteds) {
179
+ nestedCollectionOptions = nestedCollectionOptions.concat(c.props.filter(function (prop) { return collectionNesteds[prop.name]; }).map(function (prop) { return (__assign(__assign({}, prop), { name: collectionNesteds[prop.name], optionName: prop.name, isCollectionItem: true, nesteds: [], owners: [], predefinedProps: null, templates: null })); }));
180
+ }
181
+ });
182
+ var result = [];
183
+ nestedCollectionOptions.forEach(function (option) {
184
+ if (!nestedComponentsHash[option.optionName]) {
185
+ result.push(option);
186
+ }
187
+ });
188
+ return result;
189
+ }
78
190
  var ComponentMetadataGenerator = (function () {
79
191
  function ComponentMetadataGenerator(store) {
80
192
  this.store = store;
@@ -83,80 +195,99 @@ var ComponentMetadataGenerator = (function () {
83
195
  }
84
196
  }
85
197
  ComponentMetadataGenerator.prototype.generate = function (config) {
86
- var _a, _b;
87
- var sourceMetadata = this.store.read(config.sourceMetadataFilePath);
88
- var deprecatedMetadata = this.store.read(config.deprecatedMetadataFilePath);
89
- var metadata = merge(sourceMetadata, deprecatedMetadata);
90
- var widgetsMetadata = metadata.Widgets;
198
+ var _a;
199
+ var ngMetadata = this.store.read(config.sourceMetadataFilePath);
200
+ var imdMetadata = this.store.read(config.imdMetadataFilePath);
201
+ var customTypeHash = (0, type_resolving_1.createCustomTypeHash)(imdMetadata.customTypes);
202
+ var widgetsMetadata = ngMetadata.Widgets;
91
203
  var allNestedComponents = [];
92
204
  mkdirp.sync(config.outputFolderPath);
93
205
  mkdirp.sync(path.join(config.outputFolderPath, config.nestedPathPart));
94
206
  mkdirp.sync(path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart));
95
- for (var widgetName in widgetsMetadata) {
96
- var widget = widgetsMetadata[widgetName];
207
+ for (var _i = 0, _b = imdMetadata.widgets; _i < _b.length; _i++) {
208
+ var widget = _b[_i];
209
+ var widgetName = (0, helpers_2.lowercaseFirst)(widget.name);
210
+ var legacyWidget = widgetsMetadata[widgetName];
97
211
  var nestedComponents = [];
98
- if (!widget.Module) {
212
+ if (!widget.exportPath) {
99
213
  (0, logger_1.default)("Skipping metadata for ".concat(widgetName));
100
214
  continue;
101
215
  }
102
216
  (0, logger_1.default)("Generate metadata for ".concat(widgetName));
103
- var isTranscludedContent = widget.IsTranscludedContent;
104
- var isViz = widget.Module.indexOf('viz') === 0;
105
- var isExtension = widget.IsExtensionComponent || false;
106
- var className = inflector.camelize(widgetName);
217
+ var isTranscludedContent = widget.hasTranscludedContent;
218
+ var isViz = widget.exportPath.indexOf('viz') === 0;
219
+ var isExtension = widget.isExtension || false;
107
220
  var dasherizedWidgetName = inflector.dasherize(inflector.underscore(widgetName));
108
221
  var outputFilePath = path.join(config.outputFolderPath, trimDx(dasherizedWidgetName), "".concat(trimDx(dasherizedWidgetName), ".json"));
109
222
  var events = [];
110
223
  var changeEvents = [];
111
224
  var properties = [];
112
- var isEditor = Object.keys(widget.Options).indexOf('onValueChanged') !== -1;
113
- for (var optionName in widget.Options) {
114
- var option = widget.Options[optionName];
115
- if (option.IsEvent) {
116
- var eventName = inflector.camelize(optionName.substr('on'.length), true);
117
- var eventType = ((_a = option.TypeImports) === null || _a === void 0 ? void 0 : _a.length) ? option.TypeImports[0].Name : 'any';
225
+ var _c = (0, type_resolving_1.createCustomTypeResolver)(customTypeHash, importOverridesMetadata), typeResolver = _c[0], customTypeModules = _c[1];
226
+ for (var _d = 0, _e = widget.options; _d < _e.length; _d++) {
227
+ var option = _e[_d];
228
+ var legacyOption = legacyWidget.Options[option.name];
229
+ var isEvent = option.types.filter(function (type) { return type.type === 'Function'; }).length === 1
230
+ && (!option.firedEvents || option.firedEvents.length === 0)
231
+ && option.name.slice(0, 2) === 'on';
232
+ if (isEvent) {
233
+ var eventName = inflector.camelize(option.name.slice('on'.length), true);
234
+ var eventTypeDescr = option.types[0].params[0].types[0];
235
+ var eventType = eventTypeDescr.type;
236
+ var importPath = eventTypeDescr.importPath;
237
+ if (importPath) {
238
+ customTypeModules[eventType] = ["".concat(config.widgetPackageName, "/").concat(importPath)];
239
+ }
240
+ else if (customTypeHash[eventType]) {
241
+ customTypeModules[eventType] = ["".concat(config.widgetPackageName, "/").concat(customTypeHash[eventType].module)];
242
+ }
243
+ if (importOverridesMetadata.genericTypes[eventType]) {
244
+ eventType += "<".concat(type_resolving_1.BaseTypes.Any, ">");
245
+ }
118
246
  events.push({
119
- docID: option.DocID,
120
- isDeprecated: option.IsDeprecated,
121
- emit: optionName,
247
+ docID: legacyOption.DocID,
248
+ isDeprecated: option.isDeprecated,
249
+ emit: option.name,
122
250
  subscribe: eventName,
123
251
  type: "EventEmitter<".concat(eventType, ">"),
124
252
  });
125
253
  }
126
254
  else {
127
- var typesDescription = this.getTypesDescription(option);
128
- var finalizedType = this.getType(typesDescription);
255
+ var finalizedType = mapProp(option, typeResolver).type;
129
256
  var property = {
130
- docID: option.DocID,
131
- isDeprecated: option.IsDeprecated,
132
- name: optionName,
257
+ docID: legacyOption.DocID,
258
+ isDeprecated: option.isDeprecated,
259
+ name: option.name,
133
260
  type: finalizedType,
134
- typesDescription: typesDescription,
135
- option: option,
136
261
  };
137
- if (!!option.IsCollection || !!option.IsDataSource) {
262
+ if (!!legacyOption.IsCollection || !!legacyOption.IsDataSource) {
138
263
  property.isCollection = true;
139
264
  }
140
265
  properties.push(property);
141
- changeEvents.push(this.createEvent(optionName, finalizedType, option));
142
- var components = this.generateComplexOptionByType(metadata, option, optionName, [], config);
143
- nestedComponents = nestedComponents.concat.apply(nestedComponents, components);
266
+ changeEvents.push(this.createEvent(option.name, finalizedType, legacyOption));
144
267
  }
145
268
  }
146
269
  var allEvents = events.concat(changeEvents);
270
+ var isEditor = widget.options.some(function (o) { return o.name === 'onValueChanged'; });
147
271
  if (isEditor) {
148
272
  allEvents.push({ emit: 'onBlur', type: 'EventEmitter<any>' });
149
273
  }
150
274
  var parentName = trimDx(dasherizedWidgetName);
151
- var componentNestedOptions = this.prepareComponentNestedOptionsMetadata(config, nestedComponents, parentName);
275
+ var componentNestedOptions = this.generateIMDComponentNestedOptions(widget.complexOptions, trimDx(dasherizedWidgetName), customTypeHash);
152
276
  var widgetNestedComponents = this.filterWidgetNestedComponents(componentNestedOptions, properties);
277
+ for (var optionName in legacyWidget.Options) {
278
+ var option = legacyWidget.Options[optionName];
279
+ if (!option.IsEvent) {
280
+ var components = this.generateComplexOptionByType(ngMetadata, option, optionName, [], config);
281
+ nestedComponents = nestedComponents.concat.apply(nestedComponents, components);
282
+ }
283
+ }
153
284
  var widgetLegacyNestedComponents = this.filterWidgetNestedComponents(nestedComponents, properties)
154
285
  .filter(function (component) { return !NON_EXPORTED_NESTED_COMPONENTS.includes(component.className); });
155
- var containsReexports = !!((_b = widget.Reexports) === null || _b === void 0 ? void 0 : _b.filter(function (r) { return r !== 'default'; }).length);
286
+ var containsReexports = (_a = widget.reexports) === null || _a === void 0 ? void 0 : _a.some(function (r) { return r !== 'default'; });
156
287
  var widgetMetadata = {
157
- docID: widget.DocID,
158
- isDeprecated: widget.IsDeprecated,
159
- className: className,
288
+ docID: legacyWidget.DocID,
289
+ isDeprecated: legacyWidget.IsDeprecated,
290
+ className: widget.name,
160
291
  widgetName: widgetName,
161
292
  isTranscludedContent: isTranscludedContent,
162
293
  isViz: isViz,
@@ -166,12 +297,13 @@ var ComponentMetadataGenerator = (function () {
166
297
  events: allEvents,
167
298
  properties: properties,
168
299
  isEditor: isEditor,
169
- module: "".concat(config.widgetPackageName, "/").concat(widget.Module),
300
+ module: "".concat(config.widgetPackageName, "/").concat(widget.exportPath),
170
301
  packageName: config.wrapperPackageName,
171
- imports: (0, import_helper_1.buildImports)((0, helpers_1.getValues)(widget.Options), config.widgetPackageName),
302
+ imports: createImports(customTypeModules),
303
+ collectionNestedComponents: getCollectionNestedComponents(widget.nesteds, parentName),
172
304
  nestedComponents: widgetNestedComponents,
173
305
  legacyNestedComponents: widgetLegacyNestedComponents,
174
- optionsTypeParams: widget.OptionsTypeParams,
306
+ optionsTypeParams: widget.optionsTypeParams,
175
307
  renderReexports: config.generateReexports && containsReexports,
176
308
  };
177
309
  (0, logger_1.default)("Write metadata to file ".concat(outputFilePath));
@@ -387,10 +519,6 @@ var ComponentMetadataGenerator = (function () {
387
519
  ComponentMetadataGenerator.prototype.getBaseComponentPath = function (component) {
388
520
  return component.basePath + (component.isCollection ? '-dxi' : '');
389
521
  };
390
- ComponentMetadataGenerator.prototype.getNewNestedClassname = function (className, parentName) {
391
- var _a = inflector.underscore(className).split('_'), prefix = _a[0], rest = _a.slice(1);
392
- return inflector.camelize(__spreadArray([prefix, inflector.camelize(parentName.replaceAll('-', '_'))], rest, true).join('_'));
393
- };
394
522
  ComponentMetadataGenerator.prototype.mergeNestedComponents = function (components) {
395
523
  var _this = this;
396
524
  var mergedNestedComponents = {};
@@ -436,26 +564,31 @@ var ComponentMetadataGenerator = (function () {
436
564
  });
437
565
  return Object.values(mergedNestedComponents);
438
566
  };
439
- ComponentMetadataGenerator.prototype.prepareComponentNestedOptionsMetadata = function (config, nestedComponents, parentName) {
567
+ ComponentMetadataGenerator.prototype.generateIMDComponentNestedOptions = function (nestedComponents, parentName, customTypeHash) {
440
568
  var _this = this;
441
- var componentNestedOptions = this.mergeNestedComponents(structuredClone(nestedComponents));
442
- componentNestedOptions.forEach(function (component) {
443
- component.collectionNestedComponents = (0, utils_1.distinctByProperty)(component.collectionNestedComponents, 'className')
444
- .map(function (c) { return (__assign(__assign({}, c), { className: _this.getNewNestedClassname(c.className, parentName) })); });
445
- });
446
- return componentNestedOptions
569
+ if (nestedComponents === void 0) { nestedComponents = []; }
570
+ nestedComponents = nestedComponents.concat(getMissingCollectionItems(nestedComponents));
571
+ var componentNestedOptions = nestedComponents
447
572
  .map(function (component) {
448
- if (component.events && !component.events.length) {
449
- delete component.events;
450
- }
451
- var _a = component.selector.split('-'), prefix = _a[0], rest = _a.slice(1);
452
- component.selector = __spreadArray([prefix, parentName], rest, true).join('-');
453
- component.className = _this.getNewNestedClassname(component.className, parentName);
454
- component.baseClass = component.isCollection ? 'CollectionNestedOption' : 'NestedOption';
455
- component.basePath = 'devextreme-angular/core';
456
- component.imports = (0, import_helper_1.buildImports)(component.options, config.widgetPackageName);
457
- return component;
573
+ var prefix = "".concat((component.isCollectionItem ? ITEM_COMPONENT_PREFIX : OPTION_COMPONENT_PREFIX).toLocaleLowerCase());
574
+ var componentName = inflector.dasherize(inflector.underscore(component.name));
575
+ var rawSelector = getRawSelector(component.name, parentName, prefix);
576
+ var aliases = {};
577
+ var resolveCustomTypeConflicts = function (typeName) {
578
+ if (TYPE_ALIASES[typeName]) {
579
+ aliases[typeName] = "".concat(typeName, " as ").concat(TYPE_ALIASES[typeName]);
580
+ return TYPE_ALIASES[typeName];
581
+ }
582
+ return typeName;
583
+ };
584
+ var _a = (0, type_resolving_1.createCustomTypeResolver)(customTypeHash, importOverridesMetadata, resolveCustomTypeConflicts), typeResolver = _a[0], customTypeModules = _a[1];
585
+ var properties = component.props
586
+ .filter(function (prop) { return !IGNORED_OPTIONS.includes(prop.name); })
587
+ .map(function (prop) { return mapProp(prop, typeResolver); });
588
+ var events = properties.filter(function (p) { return p.isSubscribable; }).map(function (p) { return _this.createEvent(p.name, p.type, null); });
589
+ return __assign(__assign({}, component), { path: "".concat(componentName).concat(component.isCollectionItem ? "-".concat(prefix) : ''), propertyName: component.optionName, selector: inflector.dasherize(rawSelector), className: inflector.camelize(rawSelector), baseClass: component.isCollectionItem ? 'CollectionNestedOption' : 'NestedOption', basePath: 'devextreme-angular/core', isCollection: component.isCollectionItem, hasTemplate: component.templates && component.templates.includes('template'), properties: properties, events: events.length ? events : undefined, imports: createImports(customTypeModules, aliases), collectionNestedComponents: getCollectionNestedComponents(component.nesteds, parentName) });
458
590
  });
591
+ return componentNestedOptions;
459
592
  };
460
593
  ComponentMetadataGenerator.prototype.prepareCommonNestedOptionsMetadata = function (config, metadata) {
461
594
  var _this = this;
@@ -463,7 +596,7 @@ var ComponentMetadataGenerator = (function () {
463
596
  commonNestedOptions.forEach(function (component) {
464
597
  component.collectionNestedComponents = (0, utils_1.distinctByProperty)(component.collectionNestedComponents, 'className');
465
598
  });
466
- commonNestedOptions
599
+ var baseComponents = commonNestedOptions
467
600
  .reduce(function (result, component) {
468
601
  var existingComponent = result.find(function (c) { return c.className === component.baseClass; });
469
602
  if (!existingComponent && component.baseClass) {
@@ -479,8 +612,15 @@ var ComponentMetadataGenerator = (function () {
479
612
  result.push(nestedComponent);
480
613
  }
481
614
  return result;
482
- }, [])
483
- .forEach(function (component) {
615
+ }, []);
616
+ Object.values((0, helpers_2.groupBy)(baseComponents, function (c) { return trimComponentPrefix(c.className); }))
617
+ .filter(function (g) { return g.length > 1; })
618
+ .forEach(function (g) { return g.forEach(function (c) {
619
+ if (c.className.startsWith(ITEM_COMPONENT_PREFIX)) {
620
+ c.selector = "base-".concat((0, helpers_2.toKebabCase)(c.className));
621
+ }
622
+ }); });
623
+ baseComponents.forEach(function (component) {
484
624
  var outputFilePath = path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart, "".concat(component.path, ".json"));
485
625
  _this.store.write(outputFilePath, normalizeMeta(component));
486
626
  });
@@ -1 +1 @@
1
- {"version":3,"file":"metadata-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/metadata-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metadata-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/metadata-generator.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,8 @@ import {
8
8
  <#? it.imports #><#~ it.imports :file #>import <#= file.importString #> from '<#= file.path #>';
9
9
  <#~#><#?#>
10
10
  @Component({
11
- template: ''
11
+ <#? it.selector #>selector: '<#= it.selector #>',
12
+ <#?#>template: ''
12
13
  })
13
14
  export abstract class <#= it.className #> extends <#= it.baseClass #> {<#~ it.properties :prop:i #>
14
15
  get <#= prop.name #>(): <#= prop.type #> {
@@ -2,7 +2,7 @@
2
2
  <#
3
3
  var collectionProperties = it.properties.filter(item => item.isCollection).map(item => item.name);
4
4
  var collectionLegacyNestedComponents = it.legacyNestedComponents.filter(item => item.isCollection && item.root);
5
- var collectionNestedComponents = it.nestedComponents.filter(item => item.isCollection && item.root);
5
+ var collectionNestedComponents = it.collectionNestedComponents;
6
6
  var baseClass = it.isExtension ? 'DxComponentExtension' : 'DxComponent';
7
7
  var optionsHaveTypeParams = it.optionsTypeParams && it.optionsTypeParams.length;
8
8
  var componentTypeParams = optionsHaveTypeParams ? '<' + it.optionsTypeParams.map(item => item + ' = any').join(', ') + '>' : '';
@@ -131,10 +131,10 @@ export class <#= it.className #>Component<#= componentTypeParams #> extends <#=
131
131
 
132
132
  <#~ collectionNestedComponents :component:i #>
133
133
  @ContentChildren(<#= component.className #>Component)
134
- get <#= component.propertyName #>Children(): QueryList<<#= component.className #>Component> {
134
+ get <#= component.methodName || component.propertyName #>Children(): QueryList<<#= component.className #>Component> {
135
135
  return this._getOption('<#= component.propertyName #>');
136
136
  }
137
- set <#= component.propertyName #>Children(value) {
137
+ set <#= component.methodName || component.propertyName #>Children(value) {
138
138
  this.setContentChildren('<#= component.propertyName #>', value, '<#= component.className #>Component');
139
139
  this.setChildren('<#= component.propertyName #>', value);
140
140
  }
@@ -75,10 +75,10 @@ export class <#= it.className #>Component extends <#= it.baseClass #><#? it.hasT
75
75
 
76
76
  <#~ it.collectionNestedComponents :component:i #>
77
77
  @ContentChildren(forwardRef(() => <#= component.className #>Component))
78
- get <#= component.propertyName #>Children(): QueryList<<#= component.className #>Component> {
78
+ get <#= component.methodName || component.propertyName #>Children(): QueryList<<#= component.className #>Component> {
79
79
  return this._getOption('<#= component.propertyName #>');
80
80
  }
81
- set <#= component.propertyName #>Children(value) {
81
+ set <#= component.methodName || component.propertyName #>Children(value) {
82
82
  this.setChildren('<#= component.propertyName #>', value);
83
83
  }
84
84
  <#~#>
@@ -82,7 +82,7 @@ function getTsTypes(checker, symbol, baseDir, tsTypes, visitedMembers) {
82
82
  var aliasId = (0, id_1.getNodeId)(symbol.declarations[0], checker, baseDir);
83
83
  add(aliasId, descr, utilityTypes.has(typeId));
84
84
  }
85
- var baseTypes = getBaseTypes(type);
85
+ var baseTypes = getBaseTypes(type, checker);
86
86
  if (!baseTypes) {
87
87
  return result;
88
88
  }
@@ -137,10 +137,21 @@ function getTypeParams(typeDeclaration, checker, baseDir) {
137
137
  });
138
138
  return result;
139
139
  }
140
- function getBaseTypes(typeObject) {
140
+ function getBaseTypes(typeObject, checker) {
141
141
  return typeObject.isIntersection()
142
- ? typeObject.types.filter(function (t) { var _a; return !(0, typescript_1.isTypeLiteralNode)((_a = (0, ts_utils_1.getTypeSymbol)(t)) === null || _a === void 0 ? void 0 : _a.declarations[0]); })
142
+ ? typeObject.types.map(mapBaseType).filter(function (t) { return t; })
143
143
  : typeObject.getBaseTypes();
144
+ function mapBaseType(type) {
145
+ var symbol = (0, ts_utils_1.getTypeSymbol)(type);
146
+ var declaration = symbol === null || symbol === void 0 ? void 0 : symbol.declarations[0];
147
+ if ((0, typescript_1.isTypeLiteralNode)(declaration)) {
148
+ return undefined;
149
+ }
150
+ if ((0, typescript_1.isTypeParameterDeclaration)(declaration)) {
151
+ return checker.getTypeAtLocation(declaration.default);
152
+ }
153
+ return type;
154
+ }
144
155
  }
145
156
  function isPublicType(symbol) {
146
157
  return (0, common_resolving_1.hasTag)(symbol, 'public')