devextreme-internal-tools 20.2.0 → 20.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/bin/DevExtreme.BaseGenerator.dll +0 -0
  2. package/bin/DevExtreme.Declarations.Analyzers.dll +0 -0
  3. package/bin/DevExtreme.Declarations.Discoverer.dll +0 -0
  4. package/bin/DevExtreme.Declarations.IntegrityValidator.dll +0 -0
  5. package/bin/DevExtreme.Declarations.dll +0 -0
  6. package/bin/DevExtreme.Descriptions.Injector.dll +0 -0
  7. package/bin/DevExtreme.Infrastructure.dll +0 -0
  8. package/bin/DevExtreme.IntegrationDataGenerator.dll +0 -0
  9. package/bin/DevExtreme.NgSmdGenerator.dll +0 -0
  10. package/bin/DevExtreme.SmdCommon.dll +0 -0
  11. package/bin/DevExtreme.StrongMetaDataGenerator.dll +0 -0
  12. package/bin/DevExtreme.Topics.ExtraFilesGenerator.dll +0 -0
  13. package/bin/DevExtreme.Topics.Generator.dll +0 -0
  14. package/bin/DevExtreme.Topics.ModulesGuideValidator.dll +0 -0
  15. package/bin/DevExtreme.Topics.Validation.dll +0 -0
  16. package/bin/DevExtreme.Topics.dll +0 -0
  17. package/bin/DevExtreme.WebSite.CompactDocsCreator.dll +0 -0
  18. package/bin/DevExtreme.WebSite.ContentMapCreator.dll +0 -0
  19. package/bin/DevExtreme.WebSite.ContentMaps.dll +0 -0
  20. package/bin/DevExtreme.WebSite.LinksConverter.dll +0 -0
  21. package/bin/DevExtreme.WebSite.SyntaxDataGenerator.dll +0 -0
  22. package/package.json +1 -1
  23. package/ts/angular-components-generator/facade-generator.d.ts +3 -1
  24. package/ts/angular-components-generator/facade-generator.js +12 -6
  25. package/ts/angular-components-generator/facade-generator.js.map +1 -1
  26. package/ts/components-generation/common-reexports-generator.d.ts +6 -1
  27. package/ts/components-generation/common-reexports-generator.js +362 -21
  28. package/ts/components-generation/common-reexports-generator.js.map +1 -1
  29. package/ts/components-generation/index-generator.js +8 -1
  30. package/ts/components-generation/index-generator.js.map +1 -1
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": "20.2.0",
5
+ "version": "20.3.0",
6
6
  "license": "MIT",
7
7
  "main": "./index.js",
8
8
  "bin": {
@@ -1,11 +1,13 @@
1
+ import type { Model } from '../components-generation/models/imd';
1
2
  import type { TemplatingOptions } from '../components-generation/template';
2
3
  interface Config {
3
4
  facades: string;
4
5
  commonImports: string[];
6
+ commonReexports?: Model['commonReexports'];
5
7
  templatingOptions?: TemplatingOptions;
6
8
  }
7
9
  export declare class FacadeGenerator {
8
10
  private encoding;
9
- generate({ facades, commonImports, templatingOptions, }: Config): void;
11
+ generate({ facades, commonImports, commonReexports, templatingOptions, }: Config): void;
10
12
  }
11
13
  export {};
@@ -18,16 +18,22 @@ class FacadeGenerator {
18
18
  constructor() {
19
19
  this.encoding = 'utf8';
20
20
  }
21
- generate({ facades, commonImports, templatingOptions = defaultTemplatingOptions, }) {
21
+ generate({ facades, commonImports, commonReexports, templatingOptions = defaultTemplatingOptions, }) {
22
22
  Object.keys(facades).forEach((facadeFilePath) => {
23
23
  (0, logging_1.log)(`Generate facade: ${facadeFilePath}`);
24
24
  const facadeConfig = facades[facadeFilePath];
25
- let resultContent = '';
26
- resultContent += "export * from 'devextreme-angular/core';\n";
27
- resultContent += "export * from './ui/all';\n";
25
+ const commonReexportResult = (0, common_reexports_generator_1.generateRootCommonReexport)(templatingOptions, commonReexports);
26
+ const importLines = [];
28
27
  commonImports.forEach((i) => {
29
- resultContent += `import '${i}';\n`;
28
+ importLines.push(`import '${i}';`);
30
29
  });
30
+ importLines.push(...commonReexportResult.imports);
31
+ let resultContent = '';
32
+ if (importLines.length > 0) {
33
+ resultContent += `${importLines.join('\n')}\n\n`;
34
+ }
35
+ resultContent += "export * from 'devextreme-angular/core';\n";
36
+ resultContent += "export * from './ui/all';\n\n";
31
37
  const reexports = node_fs_1.default
32
38
  .readdirSync(facadeConfig.sourceDirectories[0])
33
39
  .filter((dirName) => node_fs_1.default
@@ -42,7 +48,7 @@ class FacadeGenerator {
42
48
  };
43
49
  });
44
50
  resultContent += (0, reexports_generator_1.default)(reexports, { templatingOptions });
45
- resultContent += (0, common_reexports_generator_1.generateRootCommonReexport)(templatingOptions);
51
+ resultContent += commonReexportResult.body;
46
52
  (0, logging_1.log)(`Write result to ${facadeFilePath}`);
47
53
  node_fs_1.default.writeFileSync(facadeFilePath, resultContent, {
48
54
  encoding: this.encoding,
@@ -1 +1 @@
1
- {"version":3,"file":"facade-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/facade-generator.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyB;AACzB,0DAA6B;AAE7B,oGAAiG;AACjG,8DAA4D;AAC5D,uGAA6E;AAC7E,wCAAiC;AAUjC,MAAM,wBAAwB,GAAsB;IAClD,MAAM,EAAE,QAAQ;IAChB,uBAAuB,EAAE,KAAK;CAC/B,CAAC;AAEF,MAAa,eAAe;IAA5B;QACU,aAAQ,GAAmB,MAAM,CAAC;IAiD5C,CAAC;IA/CC,QAAQ,CAAC,EACP,OAAO,EACP,aAAa,EACb,iBAAiB,GAAG,wBAAwB,GACrC;QACP,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,cAAc,EAAE,EAAE;YAC9C,IAAA,aAAG,EAAC,oBAAoB,cAAc,EAAE,CAAC,CAAC;YAC1C,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;YAC7C,IAAI,aAAa,GAAG,EAAE,CAAC;YAEvB,aAAa,IAAI,4CAA4C,CAAC;YAC9D,aAAa,IAAI,6BAA6B,CAAC;YAE/C,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC1B,aAAa,IAAI,WAAW,CAAC,MAAM,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,iBAAE;iBACjB,WAAW,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC;iBAC9C,MAAM,CACL,CAAC,OAAO,EAAE,EAAE,CACV,iBAAE;iBACC,SAAS,CAAC,mBAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;iBAChE,WAAW,EAAE,IAAI,OAAO,KAAK,QAAQ,CAC3C;iBACA,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE;gBACf,MAAM,EAAE,IAAI,EAAE,GAAG,mBAAI,CAAC,KAAK,CACzB,mBAAI,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CACtD,CAAC;gBACF,MAAM,aAAa,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC;gBAEvC,OAAO;oBACL,KAAK,EAAE,CAAC,KAAK,aAAa,WAAW,EAAE,KAAK,aAAa,QAAQ,CAAC;oBAClE,IAAI,EAAE,yBAAyB,IAAI,EAAE;iBACtC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEL,aAAa,IAAI,IAAA,6BAAiB,EAAC,SAAS,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;YAErE,aAAa,IAAI,IAAA,uDAA0B,EAAC,iBAAiB,CAAC,CAAC;YAE/D,IAAA,aAAG,EAAC,mBAAmB,cAAc,EAAE,CAAC,CAAC;YACzC,iBAAE,CAAC,aAAa,CAAC,cAAc,EAAE,aAAa,EAAE;gBAC9C,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAlDD,0CAkDC;AAED,SAAS,UAAU,CAAC,IAAY;IAC9B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,OAAO,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;IACxB,CAAC;IACD,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,kBAAQ,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"facade-generator.js","sourceRoot":"","sources":["../../../ts/angular-components-generator/facade-generator.ts"],"names":[],"mappings":"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"}
@@ -8,5 +8,10 @@ interface Config {
8
8
  templatingOptions: TemplatingOptions;
9
9
  }
10
10
  export declare function generateCommonReexports({ commonReexports, widgetsPackage, templatingOptions, writeFile, }: Config): void;
11
- export declare function generateRootCommonReexport(templatingOptions: TemplatingOptions): string;
11
+ export interface RootCommonReexportResult {
12
+ imports: string[];
13
+ body: string;
14
+ }
15
+ export declare function generateRootCommonReexport(templatingOptions: TemplatingOptions, commonReexports?: Model['commonReexports'], widgetsPackage?: string): RootCommonReexportResult;
16
+ export declare function formatRootCommonReexportWithImportsFirst(result: RootCommonReexportResult): string;
12
17
  export {};
@@ -32,17 +32,309 @@ var __importStar = (this && this.__importStar) || (function () {
32
32
  return result;
33
33
  };
34
34
  })();
35
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
35
  Object.defineProperty(exports, "__esModule", { value: true });
39
36
  exports.generateCommonReexports = generateCommonReexports;
40
37
  exports.generateRootCommonReexport = generateRootCommonReexport;
38
+ exports.formatRootCommonReexportWithImportsFirst = formatRootCommonReexportWithImportsFirst;
39
+ const node_fs_1 = require("node:fs");
40
+ const node_path_1 = require("node:path");
41
+ const typescript_1 = require("typescript");
41
42
  const aggregated_reexports_generator_1 = __importStar(require("./aggregated-reexports-generator"));
42
- const reexports_generator_1 = __importDefault(require("./reexports-generator"));
43
43
  const logging_1 = require("../logging");
44
44
  const helpers_1 = require("./helpers");
45
45
  const COMMON_DIR = 'common';
46
+ const exportKindsCache = new Map();
47
+ function collectDtsFilesInDir(dirPath) {
48
+ const files = [];
49
+ try {
50
+ const entries = (0, node_fs_1.readdirSync)(dirPath, { withFileTypes: true });
51
+ for (const e of entries) {
52
+ const full = (0, node_path_1.join)(dirPath, e.name);
53
+ if (e.isFile() && e.name.endsWith('.d.ts')) {
54
+ files.push(full);
55
+ }
56
+ else if (e.isDirectory() && !e.name.startsWith('.')) {
57
+ const subEntries = (0, node_fs_1.readdirSync)(full, { withFileTypes: true });
58
+ for (const se of subEntries) {
59
+ if (se.isFile() && se.name.endsWith('.d.ts')) {
60
+ files.push((0, node_path_1.join)(full, se.name));
61
+ }
62
+ }
63
+ }
64
+ }
65
+ }
66
+ catch (_a) {
67
+ }
68
+ return files;
69
+ }
70
+ function hasSymbolFlag(flags, flag) {
71
+ return (flags & flag) !== 0;
72
+ }
73
+ function hasTypeParameters(decl) {
74
+ const tp = decl.typeParameters;
75
+ return !!(tp && tp.length > 0);
76
+ }
77
+ function indentStr(level) {
78
+ return ' '.repeat(level);
79
+ }
80
+ function sortedChildren(node) {
81
+ return Array.from(node.children.values()).sort((a, b) => a.name.localeCompare(b.name));
82
+ }
83
+ function collectModules(root) {
84
+ const modules = [];
85
+ const visit = (node) => {
86
+ var _a;
87
+ if (node.modulePath && node.moduleAlias && ((_a = node.exportNames) === null || _a === void 0 ? void 0 : _a.length) > 0) {
88
+ modules.push({ alias: node.moduleAlias, path: node.modulePath });
89
+ }
90
+ node.children.forEach(visit);
91
+ };
92
+ root.children.forEach(visit);
93
+ return modules.sort((a, b) => a.alias.localeCompare(b.alias));
94
+ }
95
+ function splitIntoValuesAndTypesExports(exportNames, exportKinds) {
96
+ const value = [];
97
+ const type = [];
98
+ exportNames.forEach((name) => {
99
+ const info = exportKinds.get(name);
100
+ if (info === null || info === void 0 ? void 0 : info.isValue) {
101
+ value.push(name);
102
+ }
103
+ if ((info === null || info === void 0 ? void 0 : info.isType) && !(info === null || info === void 0 ? void 0 : info.isValue)) {
104
+ type.push(name);
105
+ }
106
+ if (!info) {
107
+ value.push(name);
108
+ }
109
+ });
110
+ return { value, type };
111
+ }
112
+ function formatMultilineExportBlock(prefix, names, fromPath, quotesChar) {
113
+ if (!names.length)
114
+ return '';
115
+ const from = `${quotesChar}${fromPath}${quotesChar}`;
116
+ const header = `${prefix} {`;
117
+ const body = names.map((name) => ` ${name},`).join('\n');
118
+ return `${header}\n${body}\n} from ${from};`;
119
+ }
120
+ function resolveDeclarationPath(widgetsPackage, modulePath) {
121
+ try {
122
+ const resolved = require.resolve(`${widgetsPackage}/${modulePath}`);
123
+ if (resolved.endsWith('.d.ts')) {
124
+ return resolved;
125
+ }
126
+ const dtsPath = resolved.replace(/\.(cjs|mjs|js|ts|tsx)$/, '.d.ts');
127
+ if ((0, node_fs_1.existsSync)(dtsPath)) {
128
+ return dtsPath;
129
+ }
130
+ }
131
+ catch (_a) {
132
+ }
133
+ try {
134
+ const pkgPath = require.resolve(`${widgetsPackage}/package.json`);
135
+ const pkgRoot = (0, node_path_1.dirname)(pkgPath);
136
+ const candidate = (0, node_path_1.join)(pkgRoot, 'js', `${modulePath}.d.ts`);
137
+ if ((0, node_fs_1.existsSync)(candidate)) {
138
+ return candidate;
139
+ }
140
+ }
141
+ catch (_b) {
142
+ }
143
+ return undefined;
144
+ }
145
+ function getExportKinds(widgetsPackage, modulePath) {
146
+ const cacheKey = `${widgetsPackage}/${modulePath}`;
147
+ const cached = exportKindsCache.get(cacheKey);
148
+ if (cached)
149
+ return cached;
150
+ const result = new Map();
151
+ const dtsPath = resolveDeclarationPath(widgetsPackage, modulePath);
152
+ if (!dtsPath) {
153
+ exportKindsCache.set(cacheKey, result);
154
+ return result;
155
+ }
156
+ const rootDir = (0, node_path_1.dirname)(dtsPath);
157
+ const dtsFiles = collectDtsFilesInDir(rootDir);
158
+ const program = (0, typescript_1.createProgram)(dtsFiles.length > 0 ? dtsFiles : [dtsPath], {});
159
+ const sourceFile = program.getSourceFile(dtsPath);
160
+ if (!sourceFile) {
161
+ exportKindsCache.set(cacheKey, result);
162
+ return result;
163
+ }
164
+ const checker = program.getTypeChecker();
165
+ const fileSymbol = checker.getSymbolAtLocation(sourceFile);
166
+ if (!fileSymbol) {
167
+ exportKindsCache.set(cacheKey, result);
168
+ return result;
169
+ }
170
+ const printer = (0, typescript_1.createPrinter)({ removeComments: true });
171
+ checker.getExportsOfModule(fileSymbol).forEach((symbol) => {
172
+ var _a, _b, _c;
173
+ const flags = symbol.getFlags();
174
+ const resolvedSymbol = hasSymbolFlag(flags, typescript_1.SymbolFlags.Alias)
175
+ ? checker.getAliasedSymbol(symbol)
176
+ : symbol;
177
+ const declarations = (_a = (resolvedSymbol !== null && resolvedSymbol !== void 0 ? resolvedSymbol : symbol).declarations) !== null && _a !== void 0 ? _a : [];
178
+ const hasValueDeclaration = declarations.some((d) => (0, typescript_1.isClassDeclaration)(d) ||
179
+ (0, typescript_1.isFunctionDeclaration)(d) ||
180
+ (0, typescript_1.isVariableStatement)(d) ||
181
+ (0, typescript_1.isEnumDeclaration)(d));
182
+ const decl = declarations.find(hasTypeParameters);
183
+ let typeParams;
184
+ if ((_b = decl === null || decl === void 0 ? void 0 : decl.typeParameters) === null || _b === void 0 ? void 0 : _b.length) {
185
+ typeParams = {
186
+ params: decl.typeParameters.map((tp) => printer.printNode(typescript_1.EmitHint.Unspecified, tp, sourceFile)),
187
+ names: decl.typeParameters.map((tp) => tp.name.getText(sourceFile)),
188
+ };
189
+ }
190
+ const resolvedFlags = (_c = resolvedSymbol === null || resolvedSymbol === void 0 ? void 0 : resolvedSymbol.getFlags()) !== null && _c !== void 0 ? _c : flags;
191
+ const isValue = hasSymbolFlag(flags, typescript_1.SymbolFlags.Value) ||
192
+ hasSymbolFlag(resolvedFlags, typescript_1.SymbolFlags.Value) ||
193
+ hasValueDeclaration;
194
+ const isType = hasSymbolFlag(flags, typescript_1.SymbolFlags.Type) ||
195
+ hasSymbolFlag(resolvedFlags, typescript_1.SymbolFlags.Type);
196
+ result.set(symbol.name, {
197
+ isValue,
198
+ isType,
199
+ typeParams,
200
+ });
201
+ });
202
+ exportKindsCache.set(cacheKey, result);
203
+ return result;
204
+ }
205
+ function buildTypeAliasLine(name, moduleRef, info, indentLevel) {
206
+ var _a;
207
+ const prefix = indentLevel > 0 ? indentStr(indentLevel) : '';
208
+ if ((_a = info === null || info === void 0 ? void 0 : info.typeParams) === null || _a === void 0 ? void 0 : _a.params.length) {
209
+ const decl = `<${info.typeParams.params.join(', ')}>`;
210
+ const use = `<${info.typeParams.names.join(', ')}>`;
211
+ return `${prefix}export type ${name}${decl} = ${moduleRef}.${name}${use};`;
212
+ }
213
+ return `${prefix}export type ${name} = ${moduleRef}.${name};`;
214
+ }
215
+ function writeExports(lines, indent, moduleAlias, exportNames, exportKinds) {
216
+ const ind = indentStr(indent);
217
+ exportNames.forEach((name) => {
218
+ const info = exportKinds.get(name);
219
+ if ((info === null || info === void 0 ? void 0 : info.isValue) || !info) {
220
+ lines.push(`${ind}export const ${name} = ${moduleAlias}.${name};`);
221
+ }
222
+ if (info === null || info === void 0 ? void 0 : info.isType) {
223
+ lines.push(buildTypeAliasLine(name, moduleAlias, info, indent));
224
+ }
225
+ });
226
+ }
227
+ function writeExportsWithImportTypes(lines, indent, moduleAlias, modulePath, widgetsPackage, exportNames, exportKinds) {
228
+ const ind = indentStr(indent);
229
+ const moduleRef = `import('${widgetsPackage}/${modulePath}')`;
230
+ exportNames.forEach((name) => {
231
+ const info = exportKinds.get(name);
232
+ if ((info === null || info === void 0 ? void 0 : info.isValue) || !info) {
233
+ lines.push(`${ind}export const ${name} = (${moduleAlias} as any).${name} as typeof ${moduleRef}.${name};`);
234
+ }
235
+ if (info === null || info === void 0 ? void 0 : info.isType) {
236
+ lines.push(buildTypeAliasLine(name, moduleRef, info, indent));
237
+ }
238
+ });
239
+ }
240
+ function writeNodeExports(lines, indent, node, widgetsPackage) {
241
+ var _a;
242
+ const hasNoExports = !node.modulePath || !node.moduleAlias || !((_a = node.exportNames) === null || _a === void 0 ? void 0 : _a.length);
243
+ if (hasNoExports)
244
+ return;
245
+ writeExports(lines, indent, node.moduleAlias, node.exportNames, getExportKinds(widgetsPackage, node.modulePath));
246
+ }
247
+ function writeNodeExportsWithImportTypes(lines, indent, node, widgetsPackage) {
248
+ var _a;
249
+ const hasNoExports = !node.modulePath || !node.moduleAlias || !((_a = node.exportNames) === null || _a === void 0 ? void 0 : _a.length);
250
+ if (hasNoExports)
251
+ return;
252
+ writeExportsWithImportTypes(lines, indent, node.moduleAlias, node.modulePath, widgetsPackage, node.exportNames, getExportKinds(widgetsPackage, node.modulePath));
253
+ }
254
+ function renderNamespace(lines, indent, node, widgetsPackage, exportWriter) {
255
+ const ind = indentStr(indent);
256
+ lines.push(`${ind}export namespace ${node.name} {`);
257
+ exportWriter(lines, indent + 1, node, widgetsPackage);
258
+ sortedChildren(node).forEach((child) => renderNamespace(lines, indent + 1, child, widgetsPackage, exportWriter));
259
+ lines.push(`${ind}}`);
260
+ }
261
+ function hasAnyValue(node, widgetsPackage) {
262
+ var _a;
263
+ if (node.modulePath && ((_a = node.exportNames) === null || _a === void 0 ? void 0 : _a.length)) {
264
+ const kinds = getExportKinds(widgetsPackage, node.modulePath);
265
+ if (node.exportNames.some((n) => { var _a; return (_a = kinds.get(n)) === null || _a === void 0 ? void 0 : _a.isValue; })) {
266
+ return true;
267
+ }
268
+ }
269
+ return Array.from(node.children.values()).some((child) => hasAnyValue(child, widgetsPackage));
270
+ }
271
+ function collectValueModules(root, widgetsPackage) {
272
+ const modules = [];
273
+ const visit = (node) => {
274
+ var _a;
275
+ if (node.modulePath &&
276
+ node.moduleAlias &&
277
+ ((_a = node.exportNames) === null || _a === void 0 ? void 0 : _a.length) > 0 &&
278
+ hasAnyValue(node, widgetsPackage)) {
279
+ modules.push({ alias: node.moduleAlias, path: node.modulePath });
280
+ }
281
+ node.children.forEach(visit);
282
+ };
283
+ root.children.forEach(visit);
284
+ return modules.sort((a, b) => a.alias.localeCompare(b.alias));
285
+ }
286
+ function buildNamespaceTree(commonReexports) {
287
+ const root = { name: 'Root', children: new Map() };
288
+ Object.keys(commonReexports)
289
+ .filter((path) => path.startsWith(`${COMMON_DIR}/`))
290
+ .forEach((path) => {
291
+ const parts = path.replace(`${COMMON_DIR}/`, '').split('/');
292
+ let current = root;
293
+ parts.forEach((part, idx) => {
294
+ const nsName = (0, helpers_1.toUpperCamelCase)(part);
295
+ let child = current.children.get(nsName);
296
+ if (!child) {
297
+ child = { name: nsName, children: new Map() };
298
+ current.children.set(nsName, child);
299
+ }
300
+ current = child;
301
+ if (idx === parts.length - 1) {
302
+ current.modulePath = path;
303
+ current.moduleAlias = `${(0, helpers_1.toUpperCamelCase)(parts.join('-'))}Module`;
304
+ current.exportNames = commonReexports[path] || [];
305
+ }
306
+ });
307
+ });
308
+ return root;
309
+ }
310
+ function renderCommonIndex(widgetsPackage, quotesChar, commonReexports) {
311
+ const q = quotesChar;
312
+ const base = widgetsPackage;
313
+ const lines = [];
314
+ const tree = buildNamespaceTree(commonReexports);
315
+ collectModules(tree).forEach(({ alias, path }) => {
316
+ lines.push(`import * as ${alias} from ${q}${base}/${path}${q};`);
317
+ });
318
+ lines.push('');
319
+ const commonNames = commonReexports[COMMON_DIR] || [];
320
+ const commonKinds = getExportKinds(widgetsPackage, COMMON_DIR);
321
+ const { value: commonValueNames, type: commonTypeNames } = splitIntoValuesAndTypesExports(commonNames, commonKinds);
322
+ if (commonValueNames.length) {
323
+ lines.push(formatMultilineExportBlock('export', commonValueNames, `${base}/common`, q));
324
+ }
325
+ if (commonTypeNames.length) {
326
+ lines.push(formatMultilineExportBlock('export type', commonTypeNames, `${base}/common`, q));
327
+ }
328
+ lines.push('');
329
+ sortedChildren(tree).forEach((node) => {
330
+ if (!hasAnyValue(node, widgetsPackage)) {
331
+ lines.push(`export function ${node.name}(): void {}`);
332
+ }
333
+ renderNamespace(lines, 0, node, widgetsPackage, writeNodeExports);
334
+ lines.push('');
335
+ });
336
+ return lines.join('\n');
337
+ }
46
338
  function generateCommonReexports({ commonReexports, widgetsPackage, templatingOptions, writeFile, }) {
47
339
  const paths = Object.keys(commonReexports);
48
340
  const barrelFiles = (0, aggregated_reexports_generator_1.gatherBarrelFiles)(paths);
@@ -50,14 +342,24 @@ function generateCommonReexports({ commonReexports, widgetsPackage, templatingOp
50
342
  const isBarrelFile = barrelFiles[path] !== undefined;
51
343
  let content = '';
52
344
  if (commonReexports[path]) {
53
- content += (0, reexports_generator_1.default)([
54
- {
55
- names: commonReexports[path],
56
- path: `${widgetsPackage}/${path}`,
57
- },
58
- ], { multiline: true, templatingOptions });
59
- }
60
- if (isBarrelFile) {
345
+ const quotesChar = (templatingOptions === null || templatingOptions === void 0 ? void 0 : templatingOptions.quotes) === 'double' ? '"' : "'";
346
+ if (path === COMMON_DIR) {
347
+ content = renderCommonIndex(widgetsPackage, quotesChar, commonReexports);
348
+ }
349
+ else {
350
+ const exportKinds = getExportKinds(widgetsPackage, path);
351
+ const { value: valueNames, type: typeNames } = splitIntoValuesAndTypesExports(commonReexports[path], exportKinds);
352
+ const parts = [];
353
+ if (valueNames.length) {
354
+ parts.push(formatMultilineExportBlock('export', valueNames, `${widgetsPackage}/${path}`, quotesChar));
355
+ }
356
+ if (typeNames.length) {
357
+ parts.push(formatMultilineExportBlock('export type', typeNames, `${widgetsPackage}/${path}`, quotesChar));
358
+ }
359
+ content += parts.join('\n');
360
+ }
361
+ }
362
+ if (isBarrelFile && path !== COMMON_DIR) {
61
363
  if (content.length > 0) {
62
364
  content += '\n';
63
365
  }
@@ -68,7 +370,7 @@ function generateCommonReexports({ commonReexports, widgetsPackage, templatingOp
68
370
  })), templatingOptions);
69
371
  }
70
372
  if (content === null || content === void 0 ? void 0 : content.length) {
71
- writeFile(path, content, { isBarrelFile });
373
+ writeFile(path, `${content}\n`, { isBarrelFile });
72
374
  }
73
375
  else {
74
376
  (0, logging_1.log)(`Empty content generated for common re-exports file: ${path}`, {
@@ -77,13 +379,52 @@ function generateCommonReexports({ commonReexports, widgetsPackage, templatingOp
77
379
  }
78
380
  });
79
381
  }
80
- function generateRootCommonReexport(templatingOptions) {
81
- return (0, aggregated_reexports_generator_1.default)([
82
- {
83
- name: (0, helpers_1.toUpperCamelCase)(COMMON_DIR),
84
- path: `./${COMMON_DIR}`,
85
- index: true,
86
- },
87
- ], templatingOptions);
382
+ function generateRootCommonReexport(templatingOptions, commonReexports, widgetsPackage = 'devextreme') {
383
+ var _a;
384
+ const quotesChar = (templatingOptions === null || templatingOptions === void 0 ? void 0 : templatingOptions.quotes) === 'double' ? '"' : "'";
385
+ const explicitIndex = (_a = templatingOptions === null || templatingOptions === void 0 ? void 0 : templatingOptions.excplicitIndexInImports) !== null && _a !== void 0 ? _a : false;
386
+ const commonPath = explicitIndex
387
+ ? `./${COMMON_DIR}/index`
388
+ : `./${COMMON_DIR}`;
389
+ if (!commonReexports) {
390
+ return {
391
+ imports: [],
392
+ body: `export * as Common from ${quotesChar}${commonPath}${quotesChar};\n`,
393
+ };
394
+ }
395
+ if (Object.keys(commonReexports).length === 0) {
396
+ return { imports: [], body: '' };
397
+ }
398
+ const base = '.';
399
+ const importLines = [];
400
+ importLines.push(`import * as CommonModule from ${quotesChar}${commonPath}${quotesChar};`);
401
+ collectValueModules(buildNamespaceTree(commonReexports), widgetsPackage).forEach(({ alias, path }) => {
402
+ importLines.push(`import * as ${alias} from ${quotesChar}${base}/${path}${quotesChar};`);
403
+ });
404
+ const bodyLines = [];
405
+ const tree = buildNamespaceTree(commonReexports);
406
+ const commonNames = commonReexports[COMMON_DIR] || [];
407
+ bodyLines.push('export namespace Common {');
408
+ if (commonNames.length) {
409
+ writeExportsWithImportTypes(bodyLines, 1, 'CommonModule', COMMON_DIR, widgetsPackage, commonNames, getExportKinds(widgetsPackage, COMMON_DIR));
410
+ }
411
+ sortedChildren(tree).forEach((node) => {
412
+ if (!hasAnyValue(node, widgetsPackage)) {
413
+ bodyLines.push(` export function ${node.name}(): void {}`);
414
+ }
415
+ else {
416
+ renderNamespace(bodyLines, 1, node, widgetsPackage, writeNodeExportsWithImportTypes);
417
+ }
418
+ });
419
+ bodyLines.push('}\n');
420
+ return {
421
+ imports: importLines,
422
+ body: bodyLines.join('\n'),
423
+ };
424
+ }
425
+ function formatRootCommonReexportWithImportsFirst(result) {
426
+ if (result.imports.length === 0)
427
+ return result.body;
428
+ return `${result.imports.join('\n')}\n\n${result.body}`;
88
429
  }
89
430
  //# sourceMappingURL=common-reexports-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"common-reexports-generator.js","sourceRoot":"","sources":["../../../ts/components-generation/common-reexports-generator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBA,0DAgDC;AAED,gEAaC;AAnFD,mGAE0C;AAC1C,gFAAsD;AACtD,wCAAiC;AACjC,uCAA6C;AAM7C,MAAM,UAAU,GAAG,QAAQ,CAAC;AAS5B,SAAgB,uBAAuB,CAAC,EACtC,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,SAAS,GACF;IACP,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAC3C,MAAM,WAAW,GAAG,IAAA,kDAAiB,EAAC,KAAK,CAAC,CAAC;IAE7C,IAAI,GAAG,CAAC,CAAC,GAAG,KAAK,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QAChE,MAAM,YAAY,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;QAErD,IAAI,OAAO,GAAG,EAAE,CAAC;QAEjB,IAAI,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,OAAO,IAAI,IAAA,6BAAiB,EAC1B;gBACE;oBACE,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC;oBAC5B,IAAI,EAAE,GAAG,cAAc,IAAI,IAAI,EAAE;iBAClC;aACF,EACD,EAAE,SAAS,EAAE,IAAI,EAAE,iBAAiB,EAAE,CACvC,CAAC;QACJ,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACvB,OAAO,IAAI,IAAI,CAAC;YAClB,CAAC;YACD,OAAO,IAAI,IAAA,wCAA2B,EACpC,WAAW,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBAChC,IAAI,EAAE,IAAA,0BAAgB,EAAC,KAAK,CAAC;gBAC7B,IAAI,EAAE,KAAK,KAAK,EAAE;gBAClB,KAAK,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,IAAI,IAAI,KAAK,EAAE,CAAC;aACzC,CAAC,CAAC,EACH,iBAAiB,CAClB,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,CAAC;YACpB,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC;QAC7C,CAAC;aAAM,CAAC;YACN,IAAA,aAAG,EAAC,uDAAuD,IAAI,EAAE,EAAE;gBACjE,GAAG,EAAE,OAAO;aACb,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,0BAA0B,CACxC,iBAAoC;IAEpC,OAAO,IAAA,wCAA2B,EAChC;QACE;YACE,IAAI,EAAE,IAAA,0BAAgB,EAAC,UAAU,CAAC;YAClC,IAAI,EAAE,KAAK,UAAU,EAAE;YACvB,KAAK,EAAE,IAAI;SACZ;KACF,EACD,iBAAiB,CAClB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"common-reexports-generator.js","sourceRoot":"","sources":["../../../ts/components-generation/common-reexports-generator.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  const common_reexports_generator_1 = require("./common-reexports-generator");
7
7
  const reexports_generator_1 = __importDefault(require("./reexports-generator"));
8
8
  function generate(paths, templatingOptions) {
9
- return `${(0, reexports_generator_1.default)(paths, { templatingOptions })}\n${(0, common_reexports_generator_1.generateRootCommonReexport)(templatingOptions)}`;
9
+ const common = (0, common_reexports_generator_1.generateRootCommonReexport)(templatingOptions);
10
+ const reexports = (0, reexports_generator_1.default)(paths, { templatingOptions });
11
+ const parts = [];
12
+ if (common.imports.length > 0) {
13
+ parts.push(common.imports.join('\n'), '');
14
+ }
15
+ parts.push(reexports, common.body);
16
+ return parts.filter(Boolean).join('\n');
10
17
  }
11
18
  exports.default = generate;
12
19
  //# sourceMappingURL=index-generator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index-generator.js","sourceRoot":"","sources":["../../../ts/components-generation/index-generator.ts"],"names":[],"mappings":";;;;;AAAA,6EAA0E;AAC1E,gFAAsD;AAKtD,SAAS,QAAQ,CACf,KAAkB,EAClB,iBAAoC;IAEpC,OAAO,GAAG,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,KAAK,IAAA,uDAA0B,EAAC,iBAAiB,CAAC,EAAE,CAAC;AAChH,CAAC;AAED,kBAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"index-generator.js","sourceRoot":"","sources":["../../../ts/components-generation/index-generator.ts"],"names":[],"mappings":";;;;;AAAA,6EAA0E;AAC1E,gFAAsD;AAKtD,SAAS,QAAQ,CACf,KAAkB,EAClB,iBAAoC;IAEpC,MAAM,MAAM,GAAG,IAAA,uDAA0B,EAAC,iBAAiB,CAAC,CAAC;IAC7D,MAAM,SAAS,GAAG,IAAA,6BAAiB,EAAC,KAAK,EAAE,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAClE,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC5C,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;IACnC,OAAO,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1C,CAAC;AAED,kBAAe,QAAQ,CAAC"}