devextreme-internal-tools 12.0.0-beta.1 → 12.0.0-beta.10

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 (195) 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.ContentMapCreator.dll +0 -0
  26. package/bin/DevExtreme.WebSite.ContentMapCreator.exe +0 -0
  27. package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
  28. package/bin/DevExtreme.WebSite.LinksConverter.exe +0 -0
  29. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
  30. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.exe +0 -0
  31. package/bin/Microsoft.Extensions.DependencyInjection.Abstractions.dll +0 -0
  32. package/bin/Microsoft.Extensions.DependencyInjection.dll +0 -0
  33. package/bin/NLog.dll +0 -0
  34. package/bin/Newtonsoft.Json.dll +0 -0
  35. package/bin/System.IO.Abstractions.dll +0 -0
  36. package/cli.d.ts +2 -0
  37. package/cli.js +50 -0
  38. package/cli.js.map +1 -0
  39. package/index.d.ts +9 -0
  40. package/index.js +18 -47
  41. package/index.js.map +1 -1
  42. package/integration-data-model.d.ts +76 -0
  43. package/integration-data-model.js +3 -0
  44. package/integration-data-model.js.map +1 -0
  45. package/package.json +28 -29
  46. package/ts/angular-components-generator/common-reexports-generator.d.ts +4 -0
  47. package/ts/angular-components-generator/common-reexports-generator.js +38 -0
  48. package/ts/angular-components-generator/common-reexports-generator.js.map +1 -0
  49. package/ts/angular-components-generator/component-names-generator.d.ts +8 -0
  50. package/ts/angular-components-generator/component-names-generator.js +31 -0
  51. package/ts/angular-components-generator/component-names-generator.js.map +1 -0
  52. package/ts/angular-components-generator/dot-generator.d.ts +8 -0
  53. package/ts/angular-components-generator/dot-generator.js +84 -0
  54. package/ts/angular-components-generator/dot-generator.js.map +1 -0
  55. package/ts/angular-components-generator/facade-generator.d.ts +4 -0
  56. package/ts/angular-components-generator/facade-generator.js +50 -0
  57. package/ts/angular-components-generator/facade-generator.js.map +1 -0
  58. package/ts/angular-components-generator/helpers.d.ts +2 -0
  59. package/ts/angular-components-generator/helpers.js +12 -0
  60. package/ts/angular-components-generator/helpers.js.map +1 -0
  61. package/ts/angular-components-generator/import-helper.d.ts +6 -0
  62. package/ts/angular-components-generator/import-helper.js +73 -0
  63. package/ts/angular-components-generator/import-helper.js.map +1 -0
  64. package/ts/angular-components-generator/logger.d.ts +1 -0
  65. package/ts/angular-components-generator/logger.js +16 -0
  66. package/ts/angular-components-generator/logger.js.map +1 -0
  67. package/ts/angular-components-generator/metadata-generator.d.ts +27 -0
  68. package/ts/angular-components-generator/metadata-generator.js +490 -0
  69. package/ts/angular-components-generator/metadata-generator.js.map +1 -0
  70. package/ts/angular-components-generator/metadata-model.d.ts +48 -0
  71. package/ts/angular-components-generator/metadata-model.js +3 -0
  72. package/ts/angular-components-generator/metadata-model.js.map +1 -0
  73. package/ts/angular-components-generator/module-facade-generator.d.ts +5 -0
  74. package/ts/angular-components-generator/module-facade-generator.js +50 -0
  75. package/ts/angular-components-generator/module-facade-generator.js.map +1 -0
  76. package/ts/angular-components-generator/templates/base-nested-component.tst +20 -0
  77. package/ts/angular-components-generator/templates/component.tst +253 -0
  78. package/ts/angular-components-generator/templates/nested-component.tst +140 -0
  79. package/ts/bundler/bundler.d.ts +6 -0
  80. package/ts/bundler/bundler.js +43 -45
  81. package/ts/bundler/bundler.js.map +1 -1
  82. package/ts/collapser/collapser.d.ts +4 -0
  83. package/ts/collapser/collapser.js +53 -49
  84. package/ts/collapser/collapser.js.map +1 -1
  85. package/ts/common/common-resolving.d.ts +11 -0
  86. package/ts/common/common-resolving.js +7 -7
  87. package/ts/common/common-resolving.js.map +1 -1
  88. package/ts/common/id.d.ts +12 -0
  89. package/ts/common/id.js +24 -20
  90. package/ts/common/id.js.map +1 -1
  91. package/ts/common/tags/comparing.d.ts +3 -0
  92. package/ts/common/tags/generating.d.ts +4 -0
  93. package/ts/common/tags/generating.js +16 -12
  94. package/ts/common/tags/generating.js.map +1 -1
  95. package/ts/common/tags/merging.d.ts +12 -0
  96. package/ts/common/tags/merging.js +14 -14
  97. package/ts/common/tags/merging.js.map +1 -1
  98. package/ts/common/tags/parameter-field-tag.d.ts +7 -0
  99. package/ts/common/tags/parameter-field-tag.js +2 -2
  100. package/ts/common/tags/parameter-field-tag.js.map +1 -1
  101. package/ts/common/tags.d.ts +12 -0
  102. package/ts/common/tags.js +24 -21
  103. package/ts/common/tags.js.map +1 -1
  104. package/ts/common/ts-type-resolving.d.ts +16 -0
  105. package/ts/common/ts-type-resolving.js +89 -89
  106. package/ts/common/ts-type-resolving.js.map +1 -1
  107. package/ts/common/ts-utils.d.ts +35 -0
  108. package/ts/common/ts-utils.js +59 -31
  109. package/ts/common/ts-utils.js.map +1 -1
  110. package/ts/common/type-resolving.d.ts +42 -0
  111. package/ts/common/type-resolving.js +52 -52
  112. package/ts/common/type-resolving.js.map +1 -1
  113. package/ts/common/utils.d.ts +22 -0
  114. package/ts/common/utils.js +5 -5
  115. package/ts/common/utils.js.map +1 -1
  116. package/ts/component-exports-generator/generator.d.ts +3 -0
  117. package/ts/component-exports-generator/generator.js +14 -14
  118. package/ts/component-exports-generator/generator.js.map +1 -1
  119. package/ts/components-generation/common-reexports-generator.d.ts +6 -0
  120. package/ts/components-generation/common-reexports-generator.js +27 -0
  121. package/ts/components-generation/common-reexports-generator.js.map +1 -0
  122. package/ts/components-generation/reexports-generator.d.ts +10 -0
  123. package/ts/components-generation/reexports-generator.js +18 -0
  124. package/ts/components-generation/reexports-generator.js.map +1 -0
  125. package/ts/components-generation/template.d.ts +22 -0
  126. package/ts/components-generation/template.js +57 -0
  127. package/ts/components-generation/template.js.map +1 -0
  128. package/ts/discoverer/data-model.d.ts +105 -0
  129. package/ts/discoverer/discovering-error.d.ts +4 -0
  130. package/ts/discoverer/discovering-error.js +2 -4
  131. package/ts/discoverer/discovering-error.js.map +1 -1
  132. package/ts/discoverer/discovering.d.ts +4 -0
  133. package/ts/discoverer/discovering.js +7 -7
  134. package/ts/discoverer/discovering.js.map +1 -1
  135. package/ts/discoverer/parsing/enum-collecting.d.ts +6 -0
  136. package/ts/discoverer/parsing/enum-collecting.js +19 -15
  137. package/ts/discoverer/parsing/enum-collecting.js.map +1 -1
  138. package/ts/discoverer/parsing/file-reader.d.ts +2 -0
  139. package/ts/discoverer/parsing/file-reader.js +8 -2
  140. package/ts/discoverer/parsing/file-reader.js.map +1 -1
  141. package/ts/discoverer/parsing/widget-parsing.d.ts +11 -0
  142. package/ts/discoverer/parsing/widget-parsing.js +15 -11
  143. package/ts/discoverer/parsing/widget-parsing.js.map +1 -1
  144. package/ts/discoverer/parsing.d.ts +29 -0
  145. package/ts/discoverer/parsing.js +60 -56
  146. package/ts/discoverer/parsing.js.map +1 -1
  147. package/ts/discoverer/types.d.ts +20 -0
  148. package/ts/logging.d.ts +16 -0
  149. package/ts/logging.js +14 -14
  150. package/ts/logging.js.map +1 -1
  151. package/ts/modules-meta-generator/modules-meta-generator.d.ts +3 -0
  152. package/ts/modules-meta-generator/modules-meta-generator.js +9 -10
  153. package/ts/modules-meta-generator/modules-meta-generator.js.map +1 -1
  154. package/ts/react-components-generator/component-generator.d.ts +62 -0
  155. package/ts/react-components-generator/component-generator.js +412 -0
  156. package/ts/react-components-generator/component-generator.js.map +1 -0
  157. package/ts/react-components-generator/converter.d.ts +3 -0
  158. package/ts/react-components-generator/converter.js +59 -0
  159. package/ts/react-components-generator/converter.js.map +1 -0
  160. package/ts/react-components-generator/generator.d.ts +60 -0
  161. package/ts/react-components-generator/generator.js +382 -0
  162. package/ts/react-components-generator/generator.js.map +1 -0
  163. package/ts/react-components-generator/helpers.d.ts +11 -0
  164. package/ts/react-components-generator/helpers.js +53 -0
  165. package/ts/react-components-generator/helpers.js.map +1 -0
  166. package/ts/react-components-generator/import-overrides.json +108 -0
  167. package/ts/react-components-generator/index-generator.d.ts +3 -0
  168. package/ts/react-components-generator/index-generator.js +22 -0
  169. package/ts/react-components-generator/index-generator.js.map +1 -0
  170. package/ts/scripts/args.d.ts +37 -0
  171. package/ts/scripts/args.js +7 -7
  172. package/ts/scripts/args.js.map +1 -1
  173. package/ts/scripts/helpers.d.ts +10 -0
  174. package/ts/scripts/helpers.js +12 -12
  175. package/ts/scripts/helpers.js.map +1 -1
  176. package/ts/scripts/tools.d.ts +17 -0
  177. package/ts/scripts/tools.js +30 -30
  178. package/ts/scripts/tools.js.map +1 -1
  179. package/ts/vue-components-generator/component-generator.d.ts +40 -0
  180. package/ts/vue-components-generator/component-generator.js +197 -0
  181. package/ts/vue-components-generator/component-generator.js.map +1 -0
  182. package/ts/vue-components-generator/converter.d.ts +3 -0
  183. package/ts/vue-components-generator/converter.js +45 -0
  184. package/ts/vue-components-generator/converter.js.map +1 -0
  185. package/ts/vue-components-generator/generator.d.ts +11 -0
  186. package/ts/vue-components-generator/generator.js +120 -0
  187. package/ts/vue-components-generator/generator.js.map +1 -0
  188. package/ts/vue-components-generator/helpers.d.ts +6 -0
  189. package/ts/vue-components-generator/helpers.js +30 -0
  190. package/ts/vue-components-generator/helpers.js.map +1 -0
  191. package/bin/integration-data-model.ts +0 -86
  192. package/bin/internal-tools-log.txt +0 -21
  193. package/integration-data-model.ts +0 -86
  194. package/ts/discoverer/parsing/file-reader.tests.js +0 -24
  195. package/ts/discoverer/parsing/file-reader.tests.js.map +0 -1
@@ -0,0 +1,60 @@
1
+ import { IComplexProp, ICustomType, IModel, IProp, ITypeDescr, IWidget } from '../../integration-data-model';
2
+ import { IComponent, IIndependentEvents, INestedComponent, IOption, IPropTyping, ISubscribableOption } from './component-generator';
3
+ declare enum BaseTypes {
4
+ Any = "any",
5
+ String = "string",
6
+ Number = "number",
7
+ Boolean = "boolean",
8
+ Object = "Record<string, any>",
9
+ Null = "null",
10
+ True = "true",
11
+ False = "false",
12
+ void = "void"
13
+ }
14
+ export type ImportOverridesMetadata = {
15
+ importOverrides?: Record<string, string>;
16
+ genericTypes?: Record<string, unknown>;
17
+ defaultImports?: Record<string, string>;
18
+ nameConflictsResolutionNamespaces?: Record<string, string>;
19
+ typeResolutions?: Record<string, string>;
20
+ };
21
+ export type TypeResolver = (typeDescriptor: ITypeDescr) => string;
22
+ type TypeGenerationOptions = {
23
+ generateReexports?: boolean;
24
+ generateCustomTypes?: boolean;
25
+ importOverridesMetadata?: ImportOverridesMetadata;
26
+ };
27
+ export declare function convertToBaseType(type: string): BaseTypes;
28
+ export declare function createCustomTypeResolver(customTypeHash: Record<string, ICustomType>, importOverridesMetadata: ImportOverridesMetadata, resolveNameConflicts?: (typeName: string, module?: string) => string): [TypeResolver, Record<string, string[]>];
29
+ export declare function getComplexOptionType(types: ITypeDescr[], resolveCustomType?: TypeResolver): string | undefined;
30
+ export declare function mapSubscribableOption(prop: IProp, typeResolver?: TypeResolver): ISubscribableOption;
31
+ export declare function mapIndependentEvents(prop: IProp): IIndependentEvents;
32
+ export declare function isNestedOptionArray(prop: IProp): boolean;
33
+ export declare function mapOption(prop: IProp, typeResolver?: TypeResolver): IOption;
34
+ export declare function extractNestedComponents(props: IComplexProp[], rawWidgetName: string, widgetName: string, typeResolver?: TypeResolver): INestedComponent[];
35
+ export declare function createPropTyping(option: IProp, customTypes: Record<string, ICustomType>): IPropTyping | null;
36
+ export declare function extractPropTypings(options: IProp[], customTypes: Record<string, ICustomType>): (IPropTyping | null)[];
37
+ export declare function collectIndependentEvents(options: IProp[]): IProp[];
38
+ export declare function collectSubscribableRecursively(options: IProp[], prefix?: string): IProp[];
39
+ export declare function mapWidget(raw: IWidget, baseComponent: string, extensionComponent: string, configComponent: string, customTypes: ICustomType[], widgetPackage: string, typeGenerationOptions?: TypeGenerationOptions): {
40
+ fileName: string;
41
+ component: IComponent;
42
+ customTypeImports?: Record<string, Array<string>>;
43
+ defaultTypeImports?: Record<string, string>;
44
+ wildcardTypeImports?: Record<string, string>;
45
+ };
46
+ export declare function generate({ metaData: rawData, components: { baseComponent, extensionComponent, configComponent }, out, widgetsPackage, typeGenerationOptions, }: {
47
+ metaData: IModel;
48
+ components: {
49
+ baseComponent: string;
50
+ extensionComponent: string;
51
+ configComponent: string;
52
+ };
53
+ out: {
54
+ componentsDir: string;
55
+ indexFileName: string;
56
+ };
57
+ widgetsPackage: string;
58
+ typeGenerationOptions?: TypeGenerationOptions;
59
+ }): void;
60
+ export {};
@@ -0,0 +1,382 @@
1
+ "use strict";
2
+ var __assign = (this && this.__assign) || function () {
3
+ __assign = Object.assign || function(t) {
4
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
5
+ s = arguments[i];
6
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
+ t[p] = s[p];
8
+ }
9
+ return t;
10
+ };
11
+ return __assign.apply(this, arguments);
12
+ };
13
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
14
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
15
+ if (ar || !(i in from)) {
16
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
17
+ ar[i] = from[i];
18
+ }
19
+ }
20
+ return to.concat(ar || Array.prototype.slice.call(from));
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.generate = exports.mapWidget = exports.collectSubscribableRecursively = exports.collectIndependentEvents = exports.extractPropTypings = exports.createPropTyping = exports.extractNestedComponents = exports.mapOption = exports.isNestedOptionArray = exports.mapIndependentEvents = exports.mapSubscribableOption = exports.getComplexOptionType = exports.createCustomTypeResolver = exports.convertToBaseType = void 0;
24
+ var fs_1 = require("fs");
25
+ var path_1 = require("path");
26
+ var defaultImportOverridesMetadata = require("./import-overrides.json");
27
+ var converter_1 = require("./converter");
28
+ var index_generator_1 = require("./index-generator");
29
+ var component_generator_1 = require("./component-generator");
30
+ var helpers_1 = require("./helpers");
31
+ var common_reexports_generator_1 = require("../components-generation/common-reexports-generator");
32
+ var BaseTypes;
33
+ (function (BaseTypes) {
34
+ BaseTypes["Any"] = "any";
35
+ BaseTypes["String"] = "string";
36
+ BaseTypes["Number"] = "number";
37
+ BaseTypes["Boolean"] = "boolean";
38
+ BaseTypes["Object"] = "Record<string, any>";
39
+ BaseTypes["Null"] = "null";
40
+ BaseTypes["True"] = "true";
41
+ BaseTypes["False"] = "false";
42
+ BaseTypes["void"] = "void";
43
+ })(BaseTypes || (BaseTypes = {}));
44
+ var UNKNOWN_MODULE = 'UNKNOWN_MODULE';
45
+ var LOCAL_MODULE = 'LOCAL_MODULE';
46
+ function isFunctionDescriptor(typeDescriptor) {
47
+ return typeDescriptor.type === 'Function';
48
+ }
49
+ function isArrayDescriptor(typeDescriptor) {
50
+ return typeDescriptor.type === 'Array';
51
+ }
52
+ function isObjectDescriptor(typeDescriptor) {
53
+ return typeDescriptor.type === 'Object' && typeDescriptor.fields !== undefined;
54
+ }
55
+ function convertToBaseType(type) {
56
+ return BaseTypes[type];
57
+ }
58
+ exports.convertToBaseType = convertToBaseType;
59
+ function createCustomTypeResolver(customTypeHash, importOverridesMetadata, resolveNameConflicts) {
60
+ if (resolveNameConflicts === void 0) { resolveNameConflicts = function (typeName) { return typeName; }; }
61
+ var customTypeModulesCollector = {};
62
+ return [function (typeDescriptor) {
63
+ var _a, _b, _c;
64
+ var resolvedType = ((_a = importOverridesMetadata.typeResolutions) === null || _a === void 0 ? void 0 : _a[typeDescriptor.type])
65
+ || typeDescriptor.type;
66
+ var customType = customTypeHash[resolvedType];
67
+ var moduleImport = typeDescriptor.type === resolvedType && typeDescriptor.isImportedType
68
+ ? typeDescriptor.importPath
69
+ : customType && customType.module;
70
+ var fullModuleImport = moduleImport ? "devextreme/".concat(moduleImport) : UNKNOWN_MODULE;
71
+ customTypeModulesCollector[resolvedType] = __spreadArray(__spreadArray([], (customTypeModulesCollector[resolvedType] || []), true), [
72
+ fullModuleImport,
73
+ ], false);
74
+ var resultingType = ((_b = importOverridesMetadata.nameConflictsResolutionNamespaces) === null || _b === void 0 ? void 0 : _b[resolvedType])
75
+ ? "".concat(importOverridesMetadata.nameConflictsResolutionNamespaces[resolvedType], ".").concat(resolvedType)
76
+ : resolveNameConflicts(resolvedType, fullModuleImport);
77
+ return ((_c = importOverridesMetadata.genericTypes) === null || _c === void 0 ? void 0 : _c[resultingType]) ? "".concat(resultingType, "<any>") : resultingType;
78
+ }, customTypeModulesCollector];
79
+ }
80
+ exports.createCustomTypeResolver = createCustomTypeResolver;
81
+ function getComplexOptionType(types, resolveCustomType) {
82
+ function formatTypeDescriptor(typeDescriptor) {
83
+ function formatArrayDescriptor(arrayDescriptor) {
84
+ var _a;
85
+ var filteredDescriptors = (_a = arrayDescriptor.itemTypes) === null || _a === void 0 ? void 0 : _a.map(function (t) { return formatTypeDescriptor(t); }).filter(function (t) { return t !== undefined; });
86
+ var itemTypes = filteredDescriptors && filteredDescriptors.length
87
+ ? Array.from(new Set(filteredDescriptors)).join(' | ')
88
+ : BaseTypes.Any;
89
+ return "Array<".concat(itemTypes, ">");
90
+ }
91
+ function formatFunctionDescriptor(functionDescriptor) {
92
+ var _a;
93
+ var parameters = ((_a = functionDescriptor.params) === null || _a === void 0 ? void 0 : _a.map(function (p) {
94
+ var parameterType = getComplexOptionType(p.types, resolveCustomType) || BaseTypes.Any;
95
+ return "".concat(p.name, ": ").concat(parameterType === BaseTypes.Object ? BaseTypes.Any : parameterType);
96
+ }).join(', ')) || '';
97
+ var returnType = functionDescriptor.returnValueTypes
98
+ ? functionDescriptor.returnValueTypes.map(function (t) { return formatTypeDescriptor(t); }).join(' | ')
99
+ : BaseTypes.Any;
100
+ return "(".concat(parameters, ") => ").concat(returnType);
101
+ }
102
+ function formatObjectDescriptor(objectDescriptor) {
103
+ var fields = objectDescriptor.fields.map(function (f) { return "".concat(f.name, ": ").concat(getComplexOptionType(f.types, resolveCustomType) || BaseTypes.Any); });
104
+ return fields ? "{ ".concat(fields.join(', '), " }") : BaseTypes.Object;
105
+ }
106
+ if (isArrayDescriptor(typeDescriptor)) {
107
+ return formatArrayDescriptor(typeDescriptor);
108
+ }
109
+ if (isFunctionDescriptor(typeDescriptor)) {
110
+ var result = formatFunctionDescriptor(typeDescriptor);
111
+ return "(".concat(result, ")");
112
+ }
113
+ if (isObjectDescriptor(typeDescriptor)) {
114
+ return formatObjectDescriptor(typeDescriptor);
115
+ }
116
+ if (typeDescriptor.acceptableValues !== undefined
117
+ && typeDescriptor.acceptableValues.length > 0) {
118
+ return Array.from(new Set(typeDescriptor.acceptableValues)).join(' | ');
119
+ }
120
+ if ((typeDescriptor.isCustomType || typeDescriptor.isImportedType) && resolveCustomType) {
121
+ return resolveCustomType(typeDescriptor);
122
+ }
123
+ return convertToBaseType(typeDescriptor.type);
124
+ }
125
+ return types && (0, helpers_1.isNotEmptyArray)(types) ? Array.from(new Set(types))
126
+ .map(function (t) { return formatTypeDescriptor(t); })
127
+ .filter(function (t) { return t !== undefined; })
128
+ .join(' | ') : undefined;
129
+ }
130
+ exports.getComplexOptionType = getComplexOptionType;
131
+ function mapSubscribableOption(prop, typeResolver) {
132
+ return {
133
+ name: prop.name,
134
+ type: getComplexOptionType(prop.types, typeResolver) || BaseTypes.Any,
135
+ isSubscribable: prop.isSubscribable || undefined,
136
+ };
137
+ }
138
+ exports.mapSubscribableOption = mapSubscribableOption;
139
+ function mapIndependentEvents(prop) {
140
+ return {
141
+ name: prop.name,
142
+ };
143
+ }
144
+ exports.mapIndependentEvents = mapIndependentEvents;
145
+ function isNestedOptionArray(prop) {
146
+ return (0, helpers_1.isNotEmptyArray)(prop.types) && (prop.types[0].type === 'Array');
147
+ }
148
+ exports.isNestedOptionArray = isNestedOptionArray;
149
+ function mapOption(prop, typeResolver) {
150
+ return (0, helpers_1.isEmptyArray)(prop.props)
151
+ ? {
152
+ name: prop.name,
153
+ type: getComplexOptionType(prop.types, typeResolver) || BaseTypes.Any,
154
+ isSubscribable: prop.isSubscribable || undefined,
155
+ } : {
156
+ name: prop.name,
157
+ isSubscribable: prop.isSubscribable || undefined,
158
+ type: getComplexOptionType(prop.types, typeResolver),
159
+ nested: prop.props.map(function (p) { return mapOption(p, typeResolver); }),
160
+ isArray: isNestedOptionArray(prop),
161
+ };
162
+ }
163
+ exports.mapOption = mapOption;
164
+ function getWidgetComponentNames(rawWidgetName, widgetName, props) {
165
+ var nameClassMap = {};
166
+ nameClassMap[rawWidgetName] = widgetName;
167
+ props.forEach(function (p) {
168
+ nameClassMap[p.name] = (0, helpers_1.uppercaseFirst)(p.name);
169
+ });
170
+ return nameClassMap;
171
+ }
172
+ function extractNestedComponents(props, rawWidgetName, widgetName, typeResolver) {
173
+ var nameClassMap = getWidgetComponentNames(rawWidgetName, widgetName, props);
174
+ return props.map(function (p) { return ({
175
+ className: nameClassMap[p.name],
176
+ owners: p.owners.map(function (o) { return nameClassMap[o]; }),
177
+ optionName: p.optionName,
178
+ options: p.props.map(function (prop) { return mapOption(prop, typeResolver); }),
179
+ isCollectionItem: p.isCollectionItem,
180
+ templates: p.templates,
181
+ predefinedProps: p.predefinedProps,
182
+ expectedChildren: p.nesteds,
183
+ }); });
184
+ }
185
+ exports.extractNestedComponents = extractNestedComponents;
186
+ function createPropTyping(option, customTypes) {
187
+ var isRestrictedType = function (t) { var _a; return ((_a = t.acceptableValues) === null || _a === void 0 ? void 0 : _a.length) > 0; };
188
+ var rawTypes = option.types.filter(function (t) { return !isRestrictedType(t); });
189
+ var restrictedTypes = option.types.filter(function (t) { return isRestrictedType(t); });
190
+ var types = (0, converter_1.convertTypes)(rawTypes, customTypes);
191
+ if (restrictedTypes.length > 0) {
192
+ return {
193
+ propName: option.name,
194
+ types: types || [],
195
+ acceptableType: restrictedTypes[0].type.toLowerCase(),
196
+ acceptableValues: restrictedTypes[0].acceptableValues,
197
+ };
198
+ }
199
+ if ((!types || types.length === 0)) {
200
+ return null;
201
+ }
202
+ return {
203
+ propName: option.name,
204
+ types: types,
205
+ };
206
+ }
207
+ exports.createPropTyping = createPropTyping;
208
+ function extractPropTypings(options, customTypes) {
209
+ return options
210
+ .map(function (o) { return createPropTyping(o, customTypes); })
211
+ .filter(function (t) { return t != null; });
212
+ }
213
+ exports.extractPropTypings = extractPropTypings;
214
+ function collectIndependentEvents(options) {
215
+ return options.reduce(function (acc, option) {
216
+ if (option.types.filter(function (type) { return type.type === 'Function'; }).length === 1
217
+ && (!option.firedEvents || option.firedEvents.length === 0)
218
+ && option.name.substr(0, 2) === 'on'
219
+ && !option.name.match(/^(?!.*Value).*Changed/)) {
220
+ acc.push(option);
221
+ }
222
+ return acc;
223
+ }, []);
224
+ }
225
+ exports.collectIndependentEvents = collectIndependentEvents;
226
+ function collectSubscribableRecursively(options, prefix) {
227
+ if (prefix === void 0) { prefix = ''; }
228
+ return options.reduce(function (acc, option) {
229
+ var _a;
230
+ if (option.isSubscribable) {
231
+ acc.push(__assign(__assign({}, option), { name: "".concat(prefix).concat(option.name) }));
232
+ }
233
+ if ((_a = option.props) === null || _a === void 0 ? void 0 : _a.length) {
234
+ acc.push.apply(acc, collectSubscribableRecursively(option.props, "".concat(option.name, ".")));
235
+ }
236
+ return acc;
237
+ }, []);
238
+ }
239
+ exports.collectSubscribableRecursively = collectSubscribableRecursively;
240
+ function mapWidget(raw, baseComponent, extensionComponent, configComponent, customTypes, widgetPackage, typeGenerationOptions) {
241
+ var _a;
242
+ var _b, _c;
243
+ var name = (0, helpers_1.removePrefix)(raw.name, 'dx');
244
+ var _d = typeGenerationOptions || {}, importOverridesMetadata = _d.importOverridesMetadata, generateCustomTypes = _d.generateCustomTypes;
245
+ var existingTypes = Object.values(getWidgetComponentNames(raw.name, name, raw.complexOptions || [])).reduce(function (result, current) {
246
+ result[current] = [LOCAL_MODULE];
247
+ return result;
248
+ }, {});
249
+ var typeAliases = {};
250
+ var resolveGeneratedComponentNamesConflict = function (typeName, module) {
251
+ var _a;
252
+ if (module === void 0) { module = UNKNOWN_MODULE; }
253
+ var existingTypeEntry = existingTypes[typeName] || [];
254
+ var isModuleProcessed = existingTypeEntry.includes(module);
255
+ var isConflicted = existingTypeEntry.length && (existingTypeEntry[0] === LOCAL_MODULE || !isModuleProcessed);
256
+ if (!isModuleProcessed) {
257
+ existingTypeEntry.push(module);
258
+ existingTypes[typeName] = existingTypeEntry;
259
+ }
260
+ if (isConflicted) {
261
+ var typePrefix = module === UNKNOWN_MODULE || !module.length
262
+ ? 'Aliased'
263
+ : module
264
+ .substring(module.lastIndexOf('/') + 1)
265
+ .split(/[-_]+/)
266
+ .map(function (s) { return (s.charAt(0).toUpperCase() + s.slice(1)); })
267
+ .join('');
268
+ var aliasedTypeName = "".concat(typePrefix).concat(typeName);
269
+ var moduleKey = module && module.length ? module : UNKNOWN_MODULE;
270
+ typeAliases[typeName] = __assign(__assign({}, (typeAliases[typeName] || {})), (_a = {}, _a[moduleKey] = aliasedTypeName, _a));
271
+ return aliasedTypeName;
272
+ }
273
+ return typeName;
274
+ };
275
+ var getTypeImportStatement = function (typeName, module) {
276
+ var _a;
277
+ if (module === void 0) { module = UNKNOWN_MODULE; }
278
+ return (((_a = typeAliases[typeName]) === null || _a === void 0 ? void 0 : _a[module]) ? "".concat(typeName, " as ").concat(typeAliases[typeName][module]) : typeName);
279
+ };
280
+ var customTypeHash = customTypes.reduce(function (result, type) {
281
+ result[type.name] = type;
282
+ return result;
283
+ }, {});
284
+ var customTypeModules = {};
285
+ var typeResolver;
286
+ if (generateCustomTypes) {
287
+ _a = createCustomTypeResolver(customTypeHash, importOverridesMetadata || {}, resolveGeneratedComponentNamesConflict), typeResolver = _a[0], customTypeModules = _a[1];
288
+ }
289
+ var subscribableOptions = collectSubscribableRecursively(raw.options)
290
+ .map(function (option) { return mapSubscribableOption(option, typeResolver); });
291
+ var eventOptions = collectIndependentEvents(raw.options);
292
+ var hasNarrowedEventArgument = function (option) { return option.types[0].params[0].types[0].isImportedType; };
293
+ var narrowedEvents = eventOptions
294
+ .filter(hasNarrowedEventArgument)
295
+ .map(function (prop) { return mapOption(prop, typeResolver); });
296
+ var independentEvents = eventOptions.map(mapIndependentEvents);
297
+ var nestedOptions = raw.complexOptions
298
+ ? extractNestedComponents(raw.complexOptions, raw.name, name, typeResolver)
299
+ : null;
300
+ var propTypings = extractPropTypings(raw.options, customTypeHash)
301
+ .filter(function (propType) { return propType !== null; });
302
+ var customTypeImports = {};
303
+ var defaultTypeImports = {};
304
+ var wildcardTypeImports = {};
305
+ Object.keys(customTypeModules).forEach(function (t) {
306
+ var _a;
307
+ if ((_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.defaultImports) === null || _a === void 0 ? void 0 : _a[t]) {
308
+ defaultTypeImports[t] = importOverridesMetadata.defaultImports[t];
309
+ return;
310
+ }
311
+ 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); });
312
+ if (modules.length) {
313
+ modules
314
+ .forEach(function (module, index) {
315
+ var _a;
316
+ var importNamespace = (_a = importOverridesMetadata === null || importOverridesMetadata === void 0 ? void 0 : importOverridesMetadata.nameConflictsResolutionNamespaces) === null || _a === void 0 ? void 0 : _a[t];
317
+ if (importNamespace) {
318
+ wildcardTypeImports[module] = importNamespace;
319
+ }
320
+ else {
321
+ var moduleImports = new Set(customTypeImports[module]);
322
+ var initialModule = customTypeModules[t][index];
323
+ moduleImports.add(getTypeImportStatement(t, initialModule));
324
+ customTypeImports[module] = Array.from(moduleImports);
325
+ }
326
+ });
327
+ }
328
+ });
329
+ var dxExportPath = "".concat(widgetPackage, "/").concat(raw.exportPath);
330
+ return {
331
+ fileName: "".concat((0, helpers_1.toKebabCase)(name), ".ts"),
332
+ component: {
333
+ name: name,
334
+ baseComponentPath: baseComponent,
335
+ extensionComponentPath: extensionComponent,
336
+ configComponentPath: configComponent,
337
+ dxExportPath: dxExportPath,
338
+ isExtension: raw.isExtension,
339
+ templates: raw.templates,
340
+ subscribableOptions: subscribableOptions.length > 0 ? subscribableOptions : undefined,
341
+ independentEvents: independentEvents.length > 0 ? independentEvents : undefined,
342
+ nestedComponents: nestedOptions && nestedOptions.length > 0 ? nestedOptions : undefined,
343
+ expectedChildren: raw.nesteds,
344
+ propTypings: propTypings.length > 0 ? propTypings : undefined,
345
+ optionsTypeParams: raw.optionsTypeParams,
346
+ containsReexports: !!((_c = (_b = raw.reexports) === null || _b === void 0 ? void 0 : _b.filter(function (r) { return r !== 'default'; })) === null || _c === void 0 ? void 0 : _c.length),
347
+ narrowedEvents: narrowedEvents,
348
+ },
349
+ customTypeImports: customTypeImports,
350
+ defaultTypeImports: defaultTypeImports,
351
+ wildcardTypeImports: wildcardTypeImports,
352
+ };
353
+ }
354
+ exports.mapWidget = mapWidget;
355
+ function generate(_a) {
356
+ var rawData = _a.metaData, _b = _a.components, baseComponent = _b.baseComponent, extensionComponent = _b.extensionComponent, configComponent = _b.configComponent, out = _a.out, widgetsPackage = _a.widgetsPackage, _c = _a.typeGenerationOptions, typeGenerationOptions = _c === void 0 ? {} : _c;
357
+ var modulePaths = [];
358
+ var generateReexports = typeGenerationOptions.generateReexports, generateCustomTypes = typeGenerationOptions.generateCustomTypes, importOverridesMetadata = typeGenerationOptions.importOverridesMetadata;
359
+ rawData.widgets.forEach(function (data) {
360
+ var widgetFile = mapWidget(data, baseComponent, extensionComponent, configComponent, rawData.customTypes, widgetsPackage, {
361
+ generateCustomTypes: generateCustomTypes,
362
+ importOverridesMetadata: importOverridesMetadata || defaultImportOverridesMetadata,
363
+ });
364
+ var widgetFilePath = (0, path_1.join)(out.componentsDir, widgetFile.fileName);
365
+ var indexFileDir = (0, path_1.dirname)(out.indexFileName);
366
+ (0, fs_1.writeFileSync)(widgetFilePath, (0, component_generator_1.default)(widgetFile.component, generateReexports, widgetFile.customTypeImports, widgetFile.defaultTypeImports, widgetFile.wildcardTypeImports), { encoding: 'utf8' });
367
+ modulePaths.push({
368
+ names: [widgetFile.component.name],
369
+ path: "./".concat((0, helpers_1.removeExtension)((0, path_1.relative)(indexFileDir, widgetFilePath)).replace(path_1.sep, '/')),
370
+ });
371
+ });
372
+ (0, fs_1.writeFileSync)(out.indexFileName, (0, index_generator_1.default)(modulePaths), { encoding: 'utf8' });
373
+ if (generateReexports && rawData.commonReexports) {
374
+ (0, common_reexports_generator_1.generateCommonReexports)({
375
+ componentsDir: out.componentsDir,
376
+ widgetsPackage: widgetsPackage,
377
+ commonReexports: rawData.commonReexports,
378
+ });
379
+ }
380
+ }
381
+ exports.generate = generate;
382
+ //# sourceMappingURL=generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../../../ts/react-components-generator/generator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export declare function removeExtension(path: string): string;
2
+ export declare function removePrefix(value: string, prefix: string): string;
3
+ export declare function toKebabCase(value: string): string;
4
+ export declare function uppercaseFirst(value: string): string;
5
+ export declare function lowercaseFirst(value: string): string;
6
+ export declare function compareStrings(a: string, b: string): number;
7
+ export declare function createKeyComparator<T>(keyGetter: (x: T) => string): (a: T, b: T) => number;
8
+ export declare function removeElement<T>(array: T[], element: T): void;
9
+ export declare function isEmptyArray(array: any[] | undefined | null): boolean;
10
+ export declare function isNotEmptyArray(array: any[] | undefined | null): boolean;
11
+ export declare function isPlainObject(value: Record<string, any>): boolean;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isPlainObject = exports.isNotEmptyArray = exports.isEmptyArray = exports.removeElement = exports.createKeyComparator = exports.compareStrings = exports.lowercaseFirst = exports.uppercaseFirst = exports.toKebabCase = exports.removePrefix = exports.removeExtension = void 0;
4
+ var dasherize = require("dasherize");
5
+ var path_1 = require("path");
6
+ function removeExtension(path) {
7
+ return path.slice(0, -(0, path_1.extname)(path).length);
8
+ }
9
+ exports.removeExtension = removeExtension;
10
+ function removePrefix(value, prefix) {
11
+ return new RegExp("^".concat(prefix), 'i').test(value) ? value.substring(prefix.length) : value;
12
+ }
13
+ exports.removePrefix = removePrefix;
14
+ function toKebabCase(value) {
15
+ return dasherize(value);
16
+ }
17
+ exports.toKebabCase = toKebabCase;
18
+ function uppercaseFirst(value) {
19
+ return value[0].toUpperCase() + value.substr(1);
20
+ }
21
+ exports.uppercaseFirst = uppercaseFirst;
22
+ function lowercaseFirst(value) {
23
+ return value[0].toLowerCase() + value.substr(1);
24
+ }
25
+ exports.lowercaseFirst = lowercaseFirst;
26
+ function compareStrings(a, b) {
27
+ return a.localeCompare(b, undefined, { caseFirst: 'upper' });
28
+ }
29
+ exports.compareStrings = compareStrings;
30
+ function createKeyComparator(keyGetter) {
31
+ return function (a, b) { return compareStrings(keyGetter(a), keyGetter(b)); };
32
+ }
33
+ exports.createKeyComparator = createKeyComparator;
34
+ function removeElement(array, element) {
35
+ var index = array.indexOf(element);
36
+ if (index > -1) {
37
+ array.splice(index, 1);
38
+ }
39
+ }
40
+ exports.removeElement = removeElement;
41
+ function isEmptyArray(array) {
42
+ return array === undefined || array === null || array.length === 0;
43
+ }
44
+ exports.isEmptyArray = isEmptyArray;
45
+ function isNotEmptyArray(array) {
46
+ return !isEmptyArray(array);
47
+ }
48
+ exports.isNotEmptyArray = isNotEmptyArray;
49
+ function isPlainObject(value) {
50
+ return value.constructor === Object;
51
+ }
52
+ exports.isPlainObject = isPlainObject;
53
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../ts/react-components-generator/helpers.ts"],"names":[],"mappings":";;;AAAA,qCAAuC;AACvC,6BAAmD;AAEnD,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAA,cAAgB,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAFD,0CAEC;AAED,SAAgB,YAAY,CAAC,KAAa,EAAE,MAAc;IACxD,OAAO,IAAI,MAAM,CAAC,WAAI,MAAM,CAAE,EAAE,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC5F,CAAC;AAFD,oCAEC;AAED,SAAgB,WAAW,CAAC,KAAa;IACvC,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;AAC1B,CAAC;AAFD,kCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,KAAa;IAC1C,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AAClD,CAAC;AAFD,wCAEC;AAED,SAAgB,cAAc,CAAC,CAAS,EAAE,CAAS;IACjD,OAAO,CAAC,CAAC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAFD,wCAEC;AAED,SAAgB,mBAAmB,CAAI,SAA2B;IAChE,OAAO,UAAC,CAAI,EAAE,CAAI,IAAa,OAAA,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAA1C,CAA0C,CAAC;AAC5E,CAAC;AAFD,kDAEC;AAED,SAAgB,aAAa,CAAI,KAAU,EAAE,OAAU;IACrD,IAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IACrC,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE;QACd,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;KACxB;AACH,CAAC;AALD,sCAKC;AAED,SAAgB,YAAY,CAAC,KAA+B;IAC1D,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;AACrE,CAAC;AAFD,oCAEC;AAED,SAAgB,eAAe,CAAC,KAA+B;IAC7D,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAFD,0CAEC;AAED,SAAgB,aAAa,CAAC,KAA0B;IACtD,OAAO,KAAK,CAAC,WAAW,KAAK,MAAM,CAAC;AACtC,CAAC;AAFD,sCAEC"}
@@ -0,0 +1,108 @@
1
+ {
2
+ "defaultImports": {
3
+ "CollectionWidget": "devextreme/ui/collection/ui.collection_widget.base",
4
+ "DataSource": "devextreme/data/data_source",
5
+ "DOMComponent": "devextreme/core/dom_component",
6
+ "dxButton": "devextreme/ui/button",
7
+ "dxDataGrid": "devextreme/ui/data_grid",
8
+ "dxDraggable": "devextreme/ui/draggable",
9
+ "dxDropDownButton": "devextreme/ui/drop_down_button",
10
+ "dxFileUploader": "devextreme/ui/file_uploader",
11
+ "dxFilterBuilder": "devextreme/ui/filter_builder",
12
+ "dxForm": "devextreme/ui/form",
13
+ "dxOverlay": "devextreme/ui/overlay",
14
+ "dxPopover": "devextreme/ui/popover",
15
+ "dxPopup": "devextreme/ui/popup",
16
+ "dxScheduler": "devextreme/ui/scheduler",
17
+ "dxSortable": "devextreme/ui/sortable",
18
+ "dxTabPanel": "devextreme/ui/tab_panel",
19
+ "dxTreeList": "devextreme/ui/tree_list",
20
+ "Editor": "devextreme/ui/editor/editor",
21
+ "UploadInfo": "devextreme/file_management/upload_info",
22
+ "Widget": "devextreme/ui/widget/ui.widget"
23
+ },
24
+ "genericTypes": {
25
+ "CollectionWidget": {},
26
+ "Component": {},
27
+ "dxOverlay": {},
28
+ "dxPopupOptions": {},
29
+ "EventInfo": {},
30
+ "NativeEventInfo": {},
31
+ "Widget": {}
32
+ },
33
+ "importOverrides": {
34
+ "ButtonItem": "devextreme/ui/button",
35
+ "commonSeriesSettings": "devextreme/ui/chart",
36
+ "Component": "devextreme/core/component",
37
+ "ComponentOptions": "devextreme/core/component",
38
+ "CustomStoreOptions": "devextreme/common/data",
39
+ "DataSourceOptions": "devextreme/data/data_source",
40
+ "dxAccordionItem": "devextreme/ui/accordion",
41
+ "dxActionSheetItem": "devextreme/ui/action_sheet",
42
+ "dxBoxItem": "devextreme/ui/box",
43
+ "dxBoxOptions": "devextreme/ui/box",
44
+ "dxButtonGroupItem": "devextreme/ui/button",
45
+ "dxButtonOptions": "devextreme/ui/button",
46
+ "dxCalendarOptions": "devextreme/ui/button",
47
+ "dxChartCommonSeriesSettings": "devextreme/viz/chart",
48
+ "dxContextMenuItem": "devextreme/ui/context_menu",
49
+ "dxDataGridColumn": "devextreme/ui/data_grid",
50
+ "dxDataGridColumnButton": "devextreme/ui/data_grid",
51
+ "dxDropDownButtonItem": "devextreme/ui/drop_down_button",
52
+ "dxFileManagerContextMenuItem": "devextreme/ui/file_manager",
53
+ "dxFileManagerToolbarItem": "devextreme/ui/file_manager",
54
+ "dxFileUploaderOptions": "devextreme/ui/file_uploader",
55
+ "dxFilterBuilderCustomOperation": "devextreme/ui/filter_builder",
56
+ "dxFilterBuilderOptions": "devextreme/ui/filter_builder",
57
+ "dxFormButtonItem": "devextreme/ui/form",
58
+ "dxFormEmptyItem": "devextreme/ui/form",
59
+ "dxFormGroupItem": "devextreme/ui/form",
60
+ "dxFormOptions": "devextreme/ui/form",
61
+ "dxFormSimpleItem": "devextreme/ui/form",
62
+ "dxFormTabbedItem": "devextreme/ui/form",
63
+ "dxFunnelItem": "devextreme/viz/funnel",
64
+ "dxGalleryItem": "devextreme/ui/gallery",
65
+ "dxGanttContextMenuItem": "devextreme/ui/gantt",
66
+ "dxGanttToolbarItem": "devextreme/ui/gantt",
67
+ "dxHtmlEditorImageUploadTabItem": "devextreme/ui/html_editor",
68
+ "dxHtmlEditorTableContextMenuItem": "devextreme/ui/html_editor",
69
+ "dxHtmlEditorToolbarItem": "devextreme/ui/html_editor",
70
+ "dxListItem": "devextreme/ui/list",
71
+ "dxMenuItem": "devextreme/ui/menu",
72
+ "dxMultiViewItem": "devextreme/ui/multi_view",
73
+ "dxPivotGridPivotGridCell": "devextreme/ui/pivot_grid",
74
+ "dxPopoverOptions": "devextreme/ui/popover",
75
+ "dxPopupOptions": "devextreme/ui/popup",
76
+ "dxResponsiveBoxItem": "devextreme/ui/responsive_box",
77
+ "dxSortableOptions": "devextreme/ui/sortable",
78
+ "dxTabPanelItem": "devextreme/ui/tab_panel",
79
+ "dxTabPanelOptions": "devextreme/ui/tab_panel",
80
+ "dxTabsItem": "devextreme/ui/tabs",
81
+ "dxTextBoxOptions": "devextreme/ui/text_box",
82
+ "dxTileViewItem": "devextreme/ui/tile_view",
83
+ "dxToolbarItem": "devextreme/ui/toolbar",
84
+ "dxToolbarOptions": "devextreme/ui/toolbar",
85
+ "dxTreeListColumn": "devextreme/ui/tree_list",
86
+ "dxTreeListColumnButton": "devextreme/ui/tree_list",
87
+ "dxTreeViewItem": "devextreme/ui/tree_view",
88
+ "GridBase": "devextreme/common/grids",
89
+ "ValidationRule": "devextreme/common"
90
+ },
91
+ "nameConflictsResolutionNamespaces": {
92
+ "Format": "LocalizationTypes",
93
+ "ValidationRule": "CommonTypes",
94
+ "VisualRange": "CommonChartTypes"
95
+ },
96
+ "typeResolutions": {
97
+ "AsyncRule": "ValidationRule",
98
+ "CompareRule": "ValidationRule",
99
+ "CustomRule": "ValidationRule",
100
+ "dxChartOptions.commonSeriesSettings": "dxChartCommonSeriesSettings",
101
+ "EmailRule": "ValidationRule",
102
+ "NumericRule": "ValidationRule",
103
+ "PatternRule": "ValidationRule",
104
+ "RangeRule": "ValidationRule",
105
+ "RequiredRule": "ValidationRule",
106
+ "StringLengthRule": "ValidationRule"
107
+ }
108
+ }