devextreme-internal-tools 14.0.0 → 16.0.0-beta.2

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 (69) 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/package.json +1 -1
  35. package/ts/angular-components-generator/dot-generator.d.ts +3 -1
  36. package/ts/angular-components-generator/dot-generator.js +48 -12
  37. package/ts/angular-components-generator/dot-generator.js.map +1 -1
  38. package/ts/angular-components-generator/facade-generator.js +5 -5
  39. package/ts/angular-components-generator/facade-generator.js.map +1 -1
  40. package/ts/angular-components-generator/metadata-generator.d.ts +18 -2
  41. package/ts/angular-components-generator/metadata-generator.js +114 -70
  42. package/ts/angular-components-generator/metadata-generator.js.map +1 -1
  43. package/ts/angular-components-generator/templates/component.tst +24 -6
  44. package/ts/bundler/bundler.js +2 -2
  45. package/ts/bundler/bundler.js.map +1 -1
  46. package/ts/common/id.d.ts +1 -0
  47. package/ts/common/id.js +9 -1
  48. package/ts/common/id.js.map +1 -1
  49. package/ts/common/utils/array-utils.d.ts +6 -0
  50. package/ts/common/utils/array-utils.js +54 -0
  51. package/ts/common/utils/array-utils.js.map +1 -0
  52. package/ts/common/utils/basic-utils.d.ts +4 -0
  53. package/ts/common/utils/basic-utils.js +13 -0
  54. package/ts/common/utils/basic-utils.js.map +1 -0
  55. package/ts/common/utils/fs-utils.d.ts +2 -0
  56. package/ts/common/utils/fs-utils.js +31 -0
  57. package/ts/common/utils/fs-utils.js.map +1 -0
  58. package/ts/common/utils/index.d.ts +5 -0
  59. package/ts/common/utils/index.js +22 -0
  60. package/ts/common/utils/index.js.map +1 -0
  61. package/ts/common/utils/narrowing-utils.d.ts +6 -0
  62. package/ts/common/utils/narrowing-utils.js +15 -0
  63. package/ts/common/utils/narrowing-utils.js.map +1 -0
  64. package/ts/common/utils/path-utils.d.ts +6 -0
  65. package/ts/common/utils/path-utils.js +28 -0
  66. package/ts/common/utils/path-utils.js.map +1 -0
  67. package/ts/common/utils.d.ts +0 -22
  68. package/ts/common/utils.js +0 -128
  69. package/ts/common/utils.js.map +0 -1
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "devextreme-internal-tools",
3
3
  "description": "DevExtreme internal tools",
4
4
  "author": "Developer Express Inc.",
5
- "version": "14.0.0",
5
+ "version": "16.0.0-beta.2",
6
6
  "license": "MIT",
7
7
  "main": "./index.js",
8
8
  "bin": {
@@ -3,6 +3,8 @@ export declare class DotGenerator {
3
3
  private _encoding;
4
4
  createTemplate(templateFilePath: string): any;
5
5
  generate(config: any): void;
6
- private generateTemplate;
6
+ private applyTemplate;
7
+ private generateComponent;
8
+ private generateLegacyComponents;
7
9
  private createEntryPoint;
8
10
  }
@@ -33,12 +33,52 @@ var DotGenerator = (function () {
33
33
  return createTemplateFromString(templateString);
34
34
  };
35
35
  DotGenerator.prototype.generate = function (config) {
36
- this.generateTemplate(config.templateFilePath || path.join(__dirname, './templates/component.tst'), config.metadataFolderPath, config.outputFolderPath, true);
37
- this.generateTemplate(config.nestedTemplateFilePath || path.join(__dirname, './templates/nested-component.tst'), path.join(config.metadataFolderPath, config.nestedPathPart), path.join(config.outputFolderPath, config.nestedPathPart));
38
- this.generateTemplate(config.baseNestedTemplateFilePath || path.join(__dirname, './templates/base-nested-component.tst'), path.join(config.metadataFolderPath, config.nestedPathPart, config.basePathPart), path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart));
39
- this.createEntryPoint(config.outputFolderPath, 'nested');
36
+ var _this = this;
37
+ var outputFolderPath = config.outputFolderPath, metadataFolderPath = config.metadataFolderPath, nestedPathPart = config.nestedPathPart;
38
+ mkdirp.sync(outputFolderPath);
39
+ var componentTemplate = this.createTemplate(config.templateFilePath || path.join(__dirname, './templates/component.tst'));
40
+ var nestedComponentTemplate = this.createTemplate(config.nestedTemplateFilePath || path.join(__dirname, './templates/nested-component.tst'));
41
+ (0, logger_1.default)("List directory: ".concat(metadataFolderPath));
42
+ fs.readdirSync(metadataFolderPath)
43
+ .filter(function (d) { return d !== 'nested'; })
44
+ .forEach(function (dirname) {
45
+ var componentName = dirname;
46
+ var componentMetaPath = path.join(metadataFolderPath, componentName, "".concat(componentName, ".json"));
47
+ var componentOutputPath = path.join(outputFolderPath, componentName, 'index.ts');
48
+ _this.generateComponent(componentMetaPath, componentOutputPath, componentTemplate);
49
+ _this.createEntryPoint(path.dirname(componentOutputPath));
50
+ var nestedComponentsFolder = path.join(metadataFolderPath, componentName, nestedPathPart);
51
+ if (fs.existsSync(nestedComponentsFolder)) {
52
+ var names_1 = [];
53
+ fs.readdirSync(nestedComponentsFolder)
54
+ .filter(function (f) { return fs.lstatSync(path.join(nestedComponentsFolder, f)).isFile(); })
55
+ .forEach(function (fileName) {
56
+ var nestedComponentName = path.parse(fileName).name;
57
+ var nestedComponentOutputPath = path.join(outputFolderPath, componentName, nestedPathPart, "".concat(nestedComponentName, ".ts"));
58
+ names_1.push(nestedComponentName);
59
+ _this.generateComponent(path.join(nestedComponentsFolder, fileName), nestedComponentOutputPath, nestedComponentTemplate);
60
+ });
61
+ var indexFilePath = path.join(outputFolderPath, componentName, nestedPathPart, 'index.ts');
62
+ fs.writeFileSync(indexFilePath, "".concat(names_1.map(function (name) { return "export * from './".concat(name, "';\n"); }).join(''), "\n"), { encoding: _this._encoding });
63
+ _this.createEntryPoint(path.dirname(indexFilePath));
64
+ }
65
+ });
66
+ this.generateLegacyComponents(config.nestedTemplateFilePath || path.join(__dirname, './templates/nested-component.tst'), path.join(config.metadataFolderPath, config.nestedPathPart), path.join(config.outputFolderPath, config.nestedPathPart));
67
+ this.generateLegacyComponents(config.baseNestedTemplateFilePath || path.join(__dirname, './templates/base-nested-component.tst'), path.join(config.metadataFolderPath, config.nestedPathPart, config.basePathPart), path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart));
68
+ this.createEntryPoint(path.join(config.outputFolderPath, 'nested'));
69
+ };
70
+ DotGenerator.prototype.applyTemplate = function (metadataFilePath, template) {
71
+ (0, logger_1.default)("Read data from ".concat(metadataFilePath));
72
+ var data = fs.readFileSync(metadataFilePath, { encoding: this._encoding });
73
+ (0, logger_1.default)('Apply template');
74
+ return template(JSON.parse(data));
75
+ };
76
+ DotGenerator.prototype.generateComponent = function (metadataPath, outputPath, template) {
77
+ var result = this.applyTemplate(metadataPath, template);
78
+ fs.mkdirSync(path.dirname(outputPath), { recursive: true });
79
+ fs.writeFileSync(outputPath, result, { encoding: this._encoding });
40
80
  };
41
- DotGenerator.prototype.generateTemplate = function (templateFilePath, metadataFolderPath, outputFolderPath, isSecondaryEntryPoint) {
81
+ DotGenerator.prototype.generateLegacyComponents = function (templateFilePath, metadataFolderPath, outputFolderPath, isSecondaryEntryPoint) {
42
82
  var _this = this;
43
83
  if (isSecondaryEntryPoint === void 0) { isSecondaryEntryPoint = false; }
44
84
  var template = this.createTemplate(templateFilePath);
@@ -49,17 +89,13 @@ var DotGenerator = (function () {
49
89
  .filter(function (fileName) { return fs.lstatSync(path.join(metadataFolderPath, fileName)).isFile(); })
50
90
  .forEach(function (fileName) {
51
91
  var filePath = path.join(metadataFolderPath, fileName);
52
- (0, logger_1.default)("Read data from ".concat(filePath));
53
- var data = fs.readFileSync(filePath, { encoding: _this._encoding });
54
- (0, logger_1.default)('Apply template');
55
- var result = template(JSON.parse(data));
92
+ var result = _this.applyTemplate(filePath, template);
56
93
  var widgetName = path.parse(filePath).name;
57
94
  names.push(widgetName);
58
95
  var resultFilePath;
59
96
  if (isSecondaryEntryPoint) {
60
97
  fs.mkdirSync(path.join(outputFolderPath, widgetName));
61
98
  resultFilePath = path.join(outputFolderPath, "".concat(widgetName, "/index.ts"));
62
- _this.createEntryPoint(outputFolderPath, widgetName);
63
99
  }
64
100
  else {
65
101
  resultFilePath = path.join(outputFolderPath, "".concat(widgetName, ".ts"));
@@ -71,8 +107,8 @@ var DotGenerator = (function () {
71
107
  fs.writeFileSync("".concat(outputFolderPath, "/index.ts"), "".concat(names.map(function (name) { return "export * from './".concat(name, "';\n"); }).join(''), "\n"), { encoding: this._encoding });
72
108
  }
73
109
  };
74
- DotGenerator.prototype.createEntryPoint = function (outputFolderPath, entryPoint) {
75
- fs.writeFileSync(path.join(outputFolderPath, "".concat(entryPoint, "/ng-package.json")), JSON.stringify({
110
+ DotGenerator.prototype.createEntryPoint = function (outputFolderPath) {
111
+ fs.writeFileSync(path.join(outputFolderPath, 'ng-package.json'), JSON.stringify({
76
112
  lib: {
77
113
  entryFile: 'index.ts',
78
114
  },
@@ -1 +1 @@
1
- {"version":3,"file":"dot-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/dot-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dot-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/dot-generator.ts"],"names":[],"mappings":"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"}
@@ -22,11 +22,11 @@ var FacadeGenerator = (function () {
22
22
  resultContent += "import '".concat(i, "';\n");
23
23
  });
24
24
  var reexports = fs.readdirSync(facadeConfig.sourceDirectories[0])
25
- .filter(function (fileName) { return fs
26
- .lstatSync(path.join(facadeConfig.sourceDirectories[0], fileName))
27
- .isFile(); })
28
- .map(function (fileName) {
29
- var name = path.parse(path.join(facadeConfig.sourceDirectories[0], fileName)).name;
25
+ .filter(function (dirName) { return (fs
26
+ .lstatSync(path.join(facadeConfig.sourceDirectories[0], dirName))
27
+ .isDirectory() && dirName !== 'nested'); })
28
+ .map(function (dirName) {
29
+ var name = path.parse(path.join(facadeConfig.sourceDirectories[0], dirName)).name;
30
30
  var formattedName = formatName(name);
31
31
  return {
32
32
  names: ["Dx".concat(formattedName, "Component"), "Dx".concat(formattedName, "Module")],
@@ -1 +1 @@
1
- {"version":3,"file":"facade-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/facade-generator.ts"],"names":[],"mappings":";;;AAAA,uBAAyB;AACzB,2BAA6B;AAC7B,wCAA0C;AAC1C,mCAA8B;AAE9B,oFAA6E;AAE7E;IAAA;QACU,aAAQ,GAAmB,MAAM,CAAC;IAmC5C,CAAC;IAjCC,kCAAQ,GAAR,UAAS,MAAM;QAAf,iBAgCC;QA/BC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,cAAc;YACjD,IAAA,gBAAM,EAAC,2BAAoB,cAAc,CAAE,CAAC,CAAC;YAC7C,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,aAAa,IAAI,8CAA8C,CAAC;YAChE,aAAa,IAAI,+BAA+B,CAAC;YAEjD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,CAAC;gBAC7B,aAAa,IAAI,kBAAW,CAAC,SAAM,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAChE,MAAM,CAAC,UAAC,QAAQ,IAAK,OAAA,EAAE;iBACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC;iBACjE,MAAM,EAAE,EAFW,CAEX,CAAC;iBACX,GAAG,CAAC,UAAC,QAAQ;gBACJ,IAAA,IAAI,GAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,KAAvE,CAAwE;gBACpF,IAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEvC,OAAO;oBACL,KAAK,EAAE,CAAC,YAAK,aAAa,cAAW,EAAE,YAAK,aAAa,WAAQ,CAAC;oBAClE,IAAI,EAAE,gCAAyB,IAAI,CAAE;iBACtC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,aAAa,IAAI,IAAA,6BAAiB,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEpE,IAAA,gBAAM,EAAC,0BAAmB,cAAc,CAAE,CAAC,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC;IACH,sBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,0CAAe;AAsC5B,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC"}
1
+ {"version":3,"file":"facade-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/facade-generator.ts"],"names":[],"mappings":";;;AAAA,uBAAyB;AACzB,2BAA6B;AAC7B,wCAA0C;AAC1C,mCAA8B;AAE9B,oFAA6E;AAE7E;IAAA;QACU,aAAQ,GAAmB,MAAM,CAAC;IAmC5C,CAAC;IAjCC,kCAAQ,GAAR,UAAS,MAAM;QAAf,iBAgCC;QA/BC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAC,cAAc;YACjD,IAAA,gBAAM,EAAC,2BAAoB,cAAc,CAAE,CAAC,CAAC;YAC7C,IAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YACpD,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,aAAa,IAAI,8CAA8C,CAAC;YAChE,aAAa,IAAI,+BAA+B,CAAC;YAEjD,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,UAAC,CAAC;gBAC7B,aAAa,IAAI,kBAAW,CAAC,SAAM,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAM,SAAS,GAAG,EAAE,CAAC,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAChE,MAAM,CAAC,UAAC,OAAO,IAAK,OAAA,CAAC,EAAE;iBACrB,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAChE,WAAW,EAAE,IAAI,OAAO,KAAK,QAAQ,CAAC,EAFpB,CAEoB,CAAC;iBACzC,GAAG,CAAC,UAAC,OAAO;gBACH,IAAA,IAAI,GAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,KAAtE,CAAuE;gBACnF,IAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEvC,OAAO;oBACL,KAAK,EAAE,CAAC,YAAK,aAAa,cAAW,EAAE,YAAK,aAAa,WAAQ,CAAC;oBAClE,IAAI,EAAE,gCAAyB,IAAI,CAAE;iBACtC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,aAAa,IAAI,IAAA,6BAAiB,EAAC,SAAS,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YAEpE,IAAA,gBAAM,EAAC,0BAAmB,cAAc,CAAE,CAAC,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,QAAQ,EAAE,KAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC/E,CAAC,CAAC,CAAC;IACL,CAAC;IACH,sBAAC;AAAD,CAAC,AApCD,IAoCC;AApCY,0CAAe;AAsC5B,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;QACvB,OAAO,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;KACjC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAC,CAAC,IAAK,OAAA,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAArB,CAAqB,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACpE,CAAC"}
@@ -1,4 +1,14 @@
1
1
  import { Metadata } from './metadata-model';
2
+ interface Config {
3
+ sourceMetadataFilePath: string;
4
+ deprecatedMetadataFilePath: string;
5
+ outputFolderPath: string;
6
+ nestedPathPart: string;
7
+ basePathPart: string;
8
+ widgetPackageName: string;
9
+ wrapperPackageName: string;
10
+ generateReexports: boolean;
11
+ }
2
12
  export interface IObjectStore {
3
13
  read(name: string): Metadata;
4
14
  write(name: string, data: Record<string, any>): void;
@@ -11,8 +21,9 @@ export declare class FSObjectStore implements IObjectStore {
11
21
  export declare class ComponentMetadataGenerator {
12
22
  private store?;
13
23
  constructor(store?: IObjectStore);
14
- generate(config: any): void;
24
+ generate(config: Config): void;
15
25
  private createEvent;
26
+ private filterWidgetNestedComponents;
16
27
  private getTypesDescription;
17
28
  private getTypeParts;
18
29
  private getObjectType;
@@ -23,5 +34,10 @@ export declare class ComponentMetadataGenerator {
23
34
  private generateComplexOptionByType;
24
35
  private generateComplexOption;
25
36
  private getBaseComponentPath;
26
- private generateNestedOptions;
37
+ private getNewNestedClassname;
38
+ private mergeNestedComponents;
39
+ private prepareComponentNestedOptionsMetadata;
40
+ private prepareCommonNestedOptionsMetadata;
41
+ private writeNestedOptionsMetadata;
27
42
  }
43
+ export {};
@@ -21,6 +21,15 @@ 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
+ };
24
33
  Object.defineProperty(exports, "__esModule", { value: true });
25
34
  exports.ComponentMetadataGenerator = exports.FSObjectStore = void 0;
26
35
  var fs = require("fs");
@@ -31,9 +40,13 @@ var inflector = require("inflector-js");
31
40
  var logger_1 = require("./logger");
32
41
  var import_helper_1 = require("./import-helper");
33
42
  var helpers_1 = require("./helpers");
43
+ var utils_1 = require("../common/utils");
34
44
  var OPTION_COMPONENT_PREFIX = 'Dxo';
35
45
  var ITEM_COMPONENT_PREFIX = 'Dxi';
36
- var TYPES_SEPORATOR = ' | ';
46
+ var TYPES_SEPARATOR = ' | ';
47
+ var NON_EXPORTED_NESTED_COMPONENTS = [
48
+ 'DxiToolbarItem',
49
+ ];
37
50
  function trimDx(value) {
38
51
  return trimPrefix('dx-', value);
39
52
  }
@@ -56,6 +69,7 @@ var FSObjectStore = (function () {
56
69
  FSObjectStore.prototype.write = function (filePath, data) {
57
70
  (0, logger_1.default)("Write data to file ".concat(filePath));
58
71
  var dataString = JSON.stringify(data, null, 4);
72
+ fs.mkdirSync(path.dirname(filePath), { recursive: true });
59
73
  fs.writeFileSync(filePath, dataString, { encoding: this.encoding });
60
74
  };
61
75
  return FSObjectStore;
@@ -78,12 +92,12 @@ var ComponentMetadataGenerator = (function () {
78
92
  mkdirp.sync(config.outputFolderPath);
79
93
  mkdirp.sync(path.join(config.outputFolderPath, config.nestedPathPart));
80
94
  mkdirp.sync(path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart));
81
- var _loop_1 = function (widgetName) {
95
+ for (var widgetName in widgetsMetadata) {
82
96
  var widget = widgetsMetadata[widgetName];
83
97
  var nestedComponents = [];
84
98
  if (!widget.Module) {
85
99
  (0, logger_1.default)("Skipping metadata for ".concat(widgetName));
86
- return "continue";
100
+ continue;
87
101
  }
88
102
  (0, logger_1.default)("Generate metadata for ".concat(widgetName));
89
103
  var isTranscludedContent = widget.IsTranscludedContent;
@@ -91,7 +105,7 @@ var ComponentMetadataGenerator = (function () {
91
105
  var isExtension = widget.IsExtensionComponent || false;
92
106
  var className = inflector.camelize(widgetName);
93
107
  var dasherizedWidgetName = inflector.dasherize(inflector.underscore(widgetName));
94
- var outputFilePath = path.join(config.outputFolderPath, "".concat(trimDx(dasherizedWidgetName), ".json"));
108
+ var outputFilePath = path.join(config.outputFolderPath, trimDx(dasherizedWidgetName), "".concat(trimDx(dasherizedWidgetName), ".json"));
95
109
  var events = [];
96
110
  var changeEvents = [];
97
111
  var properties = [];
@@ -110,8 +124,8 @@ var ComponentMetadataGenerator = (function () {
110
124
  });
111
125
  }
112
126
  else {
113
- var typesDescription = this_1.getTypesDescription(option);
114
- var finalizedType = this_1.getType(typesDescription);
127
+ var typesDescription = this.getTypesDescription(option);
128
+ var finalizedType = this.getType(typesDescription);
115
129
  var property = {
116
130
  docID: option.DocID,
117
131
  isDeprecated: option.IsDeprecated,
@@ -124,8 +138,8 @@ var ComponentMetadataGenerator = (function () {
124
138
  property.isCollection = true;
125
139
  }
126
140
  properties.push(property);
127
- changeEvents.push(this_1.createEvent(optionName, finalizedType, option));
128
- var components = this_1.generateComplexOptionByType(metadata, option, optionName, [], config);
141
+ changeEvents.push(this.createEvent(optionName, finalizedType, option));
142
+ var components = this.generateComplexOptionByType(metadata, option, optionName, [], config);
129
143
  nestedComponents = nestedComponents.concat.apply(nestedComponents, components);
130
144
  }
131
145
  }
@@ -133,21 +147,11 @@ var ComponentMetadataGenerator = (function () {
133
147
  if (isEditor) {
134
148
  allEvents.push({ emit: 'onBlur', type: 'EventEmitter<any>' });
135
149
  }
136
- var widgetNestedComponents = nestedComponents
137
- .reduce(function (result, component) {
138
- if (result.filter(function (c) { return c.className === component.className; }).length === 0) {
139
- result.push({
140
- path: component.path,
141
- propertyName: component.propertyName,
142
- className: component.className,
143
- events: component.events,
144
- isCollection: component.isCollection,
145
- hasTemplate: component.hasTemplate,
146
- root: properties.filter(function (p) { return p.name === component.propertyName; }).length === 1 ? true : undefined,
147
- });
148
- }
149
- return result;
150
- }, []);
150
+ var parentName = trimDx(dasherizedWidgetName);
151
+ var componentNestedOptions = this.prepareComponentNestedOptionsMetadata(config, nestedComponents, parentName);
152
+ var widgetNestedComponents = this.filterWidgetNestedComponents(componentNestedOptions, properties);
153
+ var widgetLegacyNestedComponents = this.filterWidgetNestedComponents(nestedComponents, properties)
154
+ .filter(function (component) { return !NON_EXPORTED_NESTED_COMPONENTS.includes(component.className); });
151
155
  var containsReexports = !!((_b = widget.Reexports) === null || _b === void 0 ? void 0 : _b.filter(function (r) { return r !== 'default'; }).length);
152
156
  var widgetMetadata = {
153
157
  docID: widget.DocID,
@@ -158,6 +162,7 @@ var ComponentMetadataGenerator = (function () {
158
162
  isViz: isViz,
159
163
  isExtension: isExtension,
160
164
  selector: dasherizedWidgetName,
165
+ path: trimDx(dasherizedWidgetName),
161
166
  events: allEvents,
162
167
  properties: properties,
163
168
  isEditor: isEditor,
@@ -165,18 +170,17 @@ var ComponentMetadataGenerator = (function () {
165
170
  packageName: config.wrapperPackageName,
166
171
  imports: (0, import_helper_1.buildImports)((0, helpers_1.getValues)(widget.Options), config.widgetPackageName),
167
172
  nestedComponents: widgetNestedComponents,
173
+ legacyNestedComponents: widgetLegacyNestedComponents,
168
174
  optionsTypeParams: widget.OptionsTypeParams,
169
175
  renderReexports: config.generateReexports && containsReexports,
170
176
  };
171
177
  (0, logger_1.default)("Write metadata to file ".concat(outputFilePath));
172
- this_1.store.write(outputFilePath, normalizeMeta(widgetMetadata));
178
+ this.store.write(outputFilePath, normalizeMeta(widgetMetadata));
179
+ this.writeNestedOptionsMetadata(componentNestedOptions, path.join(config.outputFolderPath, parentName, config.nestedPathPart));
173
180
  allNestedComponents = allNestedComponents.concat.apply(allNestedComponents, nestedComponents);
174
- };
175
- var this_1 = this;
176
- for (var widgetName in widgetsMetadata) {
177
- _loop_1(widgetName);
178
181
  }
179
- this.generateNestedOptions(config, allNestedComponents);
182
+ var commonNestedOptions = this.prepareCommonNestedOptionsMetadata(config, allNestedComponents);
183
+ this.writeNestedOptionsMetadata(commonNestedOptions, path.join(config.outputFolderPath, config.nestedPathPart));
180
184
  };
181
185
  ComponentMetadataGenerator.prototype.createEvent = function (name, type, option) {
182
186
  return {
@@ -186,6 +190,18 @@ var ComponentMetadataGenerator = (function () {
186
190
  option: option,
187
191
  };
188
192
  };
193
+ ComponentMetadataGenerator.prototype.filterWidgetNestedComponents = function (nestedComponents, widgetProperties) {
194
+ return (0, utils_1.distinctByProperty)(nestedComponents, 'className')
195
+ .map(function (component) { return ({
196
+ path: component.path,
197
+ propertyName: component.propertyName,
198
+ className: component.className,
199
+ events: component.events,
200
+ isCollection: component.isCollection,
201
+ hasTemplate: component.hasTemplate,
202
+ root: widgetProperties.filter(function (p) { return p.name === component.propertyName; }).length === 1 ? true : undefined,
203
+ }); });
204
+ };
189
205
  ComponentMetadataGenerator.prototype.getTypesDescription = function (optionMetadata) {
190
206
  var typeParts = this.getTypeParts(optionMetadata);
191
207
  return {
@@ -198,7 +214,7 @@ var ComponentMetadataGenerator = (function () {
198
214
  var arrayTypes = [];
199
215
  if (optionMetadata.ItemPrimitiveTypes) {
200
216
  if (optionMetadata.IsPromise) {
201
- var promiseType = optionMetadata.ItemPrimitiveTypes.join(TYPES_SEPORATOR);
217
+ var promiseType = optionMetadata.ItemPrimitiveTypes.join(TYPES_SEPARATOR);
202
218
  primitiveTypes.push("Promise<".concat(promiseType, "> & JQueryPromise<").concat(promiseType, ">"));
203
219
  }
204
220
  else {
@@ -236,10 +252,10 @@ var ComponentMetadataGenerator = (function () {
236
252
  var primitiveTypes = typesDescription.primitiveTypes.slice(0);
237
253
  var result = 'any';
238
254
  if (typesDescription.arrayTypes.length) {
239
- primitiveTypes.push("Array<".concat(typesDescription.arrayTypes.join(TYPES_SEPORATOR), ">"));
255
+ primitiveTypes.push("Array<".concat(typesDescription.arrayTypes.join(TYPES_SEPARATOR), ">"));
240
256
  }
241
257
  if (primitiveTypes.length) {
242
- result = primitiveTypes.join(TYPES_SEPORATOR);
258
+ result = primitiveTypes.join(TYPES_SEPARATOR);
243
259
  }
244
260
  return result;
245
261
  };
@@ -334,7 +350,7 @@ var ComponentMetadataGenerator = (function () {
334
350
  var nestedOption = nestedOptions[optName];
335
351
  var typesDescription = this.getTypesDescription(nestedOption);
336
352
  var propertyType = this.getType(typesDescription);
337
- if (nestedOption.IsEvent && nestedOption.IsEvent && ((_b = nestedOption.TypeImports) === null || _b === void 0 ? void 0 : _b.length)) {
353
+ if (nestedOption.IsEvent && ((_b = nestedOption.TypeImports) === null || _b === void 0 ? void 0 : _b.length)) {
338
354
  propertyType = "((e: ".concat(nestedOption.TypeImports[0].Name, ") => void)");
339
355
  }
340
356
  var property = {
@@ -371,25 +387,34 @@ var ComponentMetadataGenerator = (function () {
371
387
  ComponentMetadataGenerator.prototype.getBaseComponentPath = function (component) {
372
388
  return component.basePath + (component.isCollection ? '-dxi' : '');
373
389
  };
374
- ComponentMetadataGenerator.prototype.generateNestedOptions = function (config, metadata) {
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
+ ComponentMetadataGenerator.prototype.mergeNestedComponents = function (components) {
375
395
  var _this = this;
376
- var normalizedMetadata = metadata
377
- .reduce(function (result, component) {
396
+ var mergedNestedComponents = {};
397
+ components.forEach(function (component) {
378
398
  var _a, _b, _c, _d;
379
- var existingComponent = result.filter(function (c) { return c.className === component.className; })[0];
380
- if (!existingComponent) {
381
- component.options = component.properties.map(function (p) { return p.option; });
382
- result.push(component);
399
+ if (!mergedNestedComponents[component.className]) {
400
+ mergedNestedComponents[component.className] = __assign(__assign({}, component), { options: component.properties.map(function (p) { return p.option; }) });
383
401
  }
384
402
  else {
385
- existingComponent.properties = (_a = existingComponent.properties)
403
+ var mergedComponent = mergedNestedComponents[component.className];
404
+ mergedComponent.properties = (_a = mergedComponent.properties)
386
405
  .concat.apply(_a, component.properties).reduce(function (properties, property) {
387
406
  var _a;
388
- if (properties.filter(function (p) { return p.name === property.name; }).length === 0) {
407
+ if (!properties.some(function (_a) {
408
+ var name = _a.name;
409
+ return name === property.name;
410
+ })) {
389
411
  properties.push(property);
390
412
  }
391
413
  else {
392
- var existingProperty = properties.filter(function (p) { return p.name === property.name; })[0];
414
+ var existingProperty = properties.find(function (_a) {
415
+ var name = _a.name;
416
+ return name === property.name;
417
+ });
393
418
  var typesDescription = existingProperty.typesDescription;
394
419
  typesDescription.primitiveTypes = _this.mergeArrayTypes(typesDescription.primitiveTypes, property.typesDescription.primitiveTypes);
395
420
  typesDescription.arrayTypes = _this.mergeArrayTypes(typesDescription.arrayTypes, property.typesDescription.arrayTypes);
@@ -399,32 +424,48 @@ var ComponentMetadataGenerator = (function () {
399
424
  }
400
425
  return properties;
401
426
  }, []);
402
- existingComponent.events = (_b = existingComponent.events)
403
- .concat.apply(_b, component.events).reduce(function (events, event) {
404
- if (events.filter(function (e) { return e.emit === event.emit; }).length === 0) {
405
- events.push(event);
406
- }
407
- return events;
408
- }, []);
409
- existingComponent.baseClass = existingComponent.baseClass || component.baseClass;
410
- existingComponent.basePath = existingComponent.basePath || component.basePath;
411
- (_c = existingComponent.collectionNestedComponents).push.apply(_c, component.collectionNestedComponents);
412
- (_d = existingComponent.options).push.apply(_d, component.properties.map(function (p) { return p.option; }));
413
- }
414
- return result;
415
- }, []);
416
- normalizedMetadata.forEach(function (component) {
417
- component.collectionNestedComponents = component.collectionNestedComponents
418
- .reduce(function (result, nestedComponent) {
419
- if (result.filter(function (c) { return nestedComponent.className === c.className; }).length === 0) {
420
- result.push(nestedComponent);
427
+ if (mergedComponent.events != null) {
428
+ mergedComponent.events = (0, utils_1.distinctByProperty)((_b = mergedComponent.events).concat.apply(_b, component.events), 'emit');
421
429
  }
422
- return result;
423
- }, []);
430
+ mergedComponent.baseClass = mergedComponent.baseClass || component.baseClass;
431
+ mergedComponent.basePath = mergedComponent.basePath || component.basePath;
432
+ mergedComponent.hasTemplate = mergedComponent.hasTemplate || component.hasTemplate;
433
+ (_c = mergedComponent.collectionNestedComponents).push.apply(_c, component.collectionNestedComponents);
434
+ (_d = mergedComponent.options).push.apply(_d, component.properties.map(function (p) { return p.option; }));
435
+ }
424
436
  });
425
- normalizedMetadata
437
+ return Object.values(mergedNestedComponents);
438
+ };
439
+ ComponentMetadataGenerator.prototype.prepareComponentNestedOptionsMetadata = function (config, nestedComponents, parentName) {
440
+ 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
447
+ .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;
458
+ });
459
+ };
460
+ ComponentMetadataGenerator.prototype.prepareCommonNestedOptionsMetadata = function (config, metadata) {
461
+ var _this = this;
462
+ var commonNestedOptions = this.mergeNestedComponents(metadata);
463
+ commonNestedOptions.forEach(function (component) {
464
+ component.collectionNestedComponents = (0, utils_1.distinctByProperty)(component.collectionNestedComponents, 'className');
465
+ });
466
+ commonNestedOptions
426
467
  .reduce(function (result, component) {
427
- var existingComponent = result.filter(function (c) { return c.className === component.baseClass; })[0];
468
+ var existingComponent = result.find(function (c) { return c.className === component.baseClass; });
428
469
  if (!existingComponent && component.baseClass) {
429
470
  var nestedComponent = {
430
471
  properties: component.properties,
@@ -443,7 +484,7 @@ var ComponentMetadataGenerator = (function () {
443
484
  var outputFilePath = path.join(config.outputFolderPath, config.nestedPathPart, config.basePathPart, "".concat(component.path, ".json"));
444
485
  _this.store.write(outputFilePath, normalizeMeta(component));
445
486
  });
446
- normalizedMetadata
487
+ return commonNestedOptions
447
488
  .map(function (component) {
448
489
  if (component.events && !component.events.length) {
449
490
  delete component.events;
@@ -463,9 +504,12 @@ var ComponentMetadataGenerator = (function () {
463
504
  component.imports = (0, import_helper_1.buildImports)(component.options, config.widgetPackageName);
464
505
  }
465
506
  return component;
466
- })
467
- .forEach(function (component) {
468
- var outputFilePath = path.join(config.outputFolderPath, config.nestedPathPart, "".concat(component.path, ".json"));
507
+ });
508
+ };
509
+ ComponentMetadataGenerator.prototype.writeNestedOptionsMetadata = function (components, outputDir) {
510
+ var _this = this;
511
+ components.forEach(function (component) {
512
+ var outputFilePath = path.join(outputDir, "".concat(component.path, ".json"));
469
513
  _this.store.write(outputFilePath, normalizeMeta(component));
470
514
  });
471
515
  };