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.
- package/bin/DevExtreme.Declarations.Discoverer.dll +0 -0
- package/bin/DevExtreme.Declarations.Discoverer.exe +0 -0
- package/bin/DevExtreme.Declarations.IntegrityValidator.dll +0 -0
- package/bin/DevExtreme.Declarations.IntegrityValidator.exe +0 -0
- package/bin/DevExtreme.Declarations.dll +0 -0
- package/bin/DevExtreme.Descriptions.Injector.dll +0 -0
- package/bin/DevExtreme.Descriptions.Injector.exe +0 -0
- package/bin/DevExtreme.Infrastructure.dll +0 -0
- package/bin/DevExtreme.IntegrationDataGenerator.dll +0 -0
- package/bin/DevExtreme.IntegrationDataGenerator.exe +0 -0
- package/bin/DevExtreme.NgSmdGenerator.dll +0 -0
- package/bin/DevExtreme.NgSmdGenerator.exe +0 -0
- package/bin/DevExtreme.SmdCommon.dll +0 -0
- package/bin/DevExtreme.StrongMetaDataGenerator.dll +0 -0
- package/bin/DevExtreme.StrongMetaDataGenerator.exe +0 -0
- package/bin/DevExtreme.Topics.ExtraFilesGenerator.dll +0 -0
- package/bin/DevExtreme.Topics.ExtraFilesGenerator.exe +0 -0
- package/bin/DevExtreme.Topics.Generator.dll +0 -0
- package/bin/DevExtreme.Topics.Generator.exe +0 -0
- package/bin/DevExtreme.Topics.ModulesGuideValidator.dll +0 -0
- package/bin/DevExtreme.Topics.ModulesGuideValidator.exe +0 -0
- package/bin/DevExtreme.Topics.Validation.dll +0 -0
- package/bin/DevExtreme.Topics.Validation.exe +0 -0
- package/bin/DevExtreme.Topics.dll +0 -0
- package/bin/DevExtreme.WebSite.CompactDocsCreator.dll +0 -0
- package/bin/DevExtreme.WebSite.CompactDocsCreator.exe +0 -0
- package/bin/DevExtreme.WebSite.ContentMapCreator.dll +0 -0
- package/bin/DevExtreme.WebSite.ContentMapCreator.exe +0 -0
- package/bin/DevExtreme.WebSite.ContentMaps.dll +0 -0
- package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
- package/bin/DevExtreme.WebSite.LinksConverter.exe +0 -0
- package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
- package/bin/DevExtreme.WebSite.SyntaxDataGenerator.exe +0 -0
- package/package.json +1 -1
- package/ts/angular-components-generator/dot-generator.d.ts +3 -1
- package/ts/angular-components-generator/dot-generator.js +48 -12
- package/ts/angular-components-generator/dot-generator.js.map +1 -1
- package/ts/angular-components-generator/facade-generator.js +5 -5
- package/ts/angular-components-generator/facade-generator.js.map +1 -1
- package/ts/angular-components-generator/metadata-generator.d.ts +18 -2
- package/ts/angular-components-generator/metadata-generator.js +114 -70
- package/ts/angular-components-generator/metadata-generator.js.map +1 -1
- package/ts/angular-components-generator/templates/component.tst +24 -6
- package/ts/bundler/bundler.js +2 -2
- package/ts/bundler/bundler.js.map +1 -1
- package/ts/common/id.d.ts +1 -0
- package/ts/common/id.js +9 -1
- package/ts/common/id.js.map +1 -1
- package/ts/common/utils/array-utils.d.ts +6 -0
- package/ts/common/utils/array-utils.js +54 -0
- package/ts/common/utils/array-utils.js.map +1 -0
- package/ts/common/utils/basic-utils.d.ts +4 -0
- package/ts/common/utils/basic-utils.js +13 -0
- package/ts/common/utils/basic-utils.js.map +1 -0
- package/ts/common/utils/fs-utils.d.ts +2 -0
- package/ts/common/utils/fs-utils.js +31 -0
- package/ts/common/utils/fs-utils.js.map +1 -0
- package/ts/common/utils/index.d.ts +5 -0
- package/ts/common/utils/index.js +22 -0
- package/ts/common/utils/index.js.map +1 -0
- package/ts/common/utils/narrowing-utils.d.ts +6 -0
- package/ts/common/utils/narrowing-utils.js +15 -0
- package/ts/common/utils/narrowing-utils.js.map +1 -0
- package/ts/common/utils/path-utils.d.ts +6 -0
- package/ts/common/utils/path-utils.js +28 -0
- package/ts/common/utils/path-utils.js.map +1 -0
- package/ts/common/utils.d.ts +0 -22
- package/ts/common/utils.js +0 -128
- package/ts/common/utils.js.map +0 -1
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
package/package.json
CHANGED
@@ -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
|
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
|
-
|
37
|
-
|
38
|
-
|
39
|
-
this.
|
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.
|
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
|
-
|
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
|
75
|
-
fs.writeFileSync(path.join(outputFolderPath,
|
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":";;;;;;;;;;;;;;AAEA,uBAAyB;AACzB,2BAA6B;AAC7B,+BAAiC;AACjC,yBAA2B;AAC3B,mCAA8B;AAE9B,8DAA2E;AAE3E,GAAG,CAAC,gBAAgB,cAClB,MAAM,EAAE,IAAI,EACZ,aAAa,EAAE,KAAK,IACjB,iCAAsB,CAC1B,CAAC;AAEF,SAAgB,wBAAwB,CAAC,cAAsB;IAC7D,OAAO,GAAG,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;AACtC,CAAC;AAFD,4DAEC;AAED;IAAA;QACU,cAAS,GAAmB,MAAM,CAAC;
|
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 (
|
26
|
-
.lstatSync(path.join(facadeConfig.sourceDirectories[0],
|
27
|
-
.
|
28
|
-
.map(function (
|
29
|
-
var name = path.parse(path.join(facadeConfig.sourceDirectories[0],
|
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,
|
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:
|
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
|
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
|
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
|
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
|
-
|
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 =
|
114
|
-
var finalizedType =
|
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(
|
128
|
-
var components =
|
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
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
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
|
-
|
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.
|
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(
|
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(
|
255
|
+
primitiveTypes.push("Array<".concat(typesDescription.arrayTypes.join(TYPES_SEPARATOR), ">"));
|
240
256
|
}
|
241
257
|
if (primitiveTypes.length) {
|
242
|
-
result = primitiveTypes.join(
|
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 &&
|
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.
|
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
|
377
|
-
|
396
|
+
var mergedNestedComponents = {};
|
397
|
+
components.forEach(function (component) {
|
378
398
|
var _a, _b, _c, _d;
|
379
|
-
|
380
|
-
|
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
|
-
|
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.
|
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.
|
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
|
-
|
403
|
-
.concat.apply(_b, component.events)
|
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
|
-
|
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
|
-
|
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.
|
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
|
-
|
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
|
-
|
468
|
-
|
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
|
};
|