Skip to content

Commit 64a358e

Browse files
authored
Generate common modules reexports, remove deprecated ui folder rendering (#807)
1 parent 950a349 commit 64a358e

File tree

8 files changed

+39
-38
lines changed

8 files changed

+39
-38
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"@typescript-eslint/parser": "^4.33.0",
1414
"cpy-cli": "^3.1.1",
1515
"del-cli": "^3.0.1",
16-
"devextreme-internal-tools": "^9.3.0",
16+
"devextreme-internal-tools": "^9.4.0",
1717
"eslint": "^7.32.0",
1818
"eslint-config-airbnb-base": "^14.2.1",
1919
"eslint-config-airbnb-typescript": "^12.3.1",

packages/devextreme-react-generator/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"author": "Developer Express Inc.",
33
"name": "devextreme-react-generator",
4-
"version": "1.3.6",
4+
"version": "2.0.0",
55
"description": "DevExtreme React UI and Visualization Components",
66
"repository": {
77
"type": "git",
@@ -27,7 +27,7 @@
2727
"license": "MIT",
2828
"dependencies": {
2929
"dasherize": "^2.0.0",
30-
"devextreme-internal-tools": "^9.3.0",
30+
"devextreme-internal-tools": "^9.4.0",
3131
"dot": "^1.1.3"
3232
},
3333
"devDependencies": {
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import { createTempate } from './template';
2+
3+
const render: (model: { module: string, reexports: string[] }) => string = createTempate(`
4+
export {<#~ it.reexports :reExport #>
5+
<#= reExport #>,<#~#>
6+
} from "devextreme/<#= it.module #>";
7+
`.trimStart());
8+
9+
function generate(module: string, reexports: string[]): string {
10+
const result = render({ module, reexports });
11+
return result;
12+
}
13+
14+
export default generate;

packages/devextreme-react-generator/src/component-generator.ts

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,16 +102,6 @@ function getIndent(indent: number) {
102102
return Array(indent * 2 + 1).join(' ');
103103
}
104104

105-
const renderReExport: (model: { path: string, fileName: string }) => string = createTempate(
106-
'/** @deprecated Use \'devextreme-react/<#= it.fileName #>\' file instead */\n'
107-
+ 'export * from "<#= it.path #>";\n'
108-
+ 'export { default } from "<#= it.path #>";\n',
109-
);
110-
111-
function generateReExport(path: string, fileName: string): string {
112-
return renderReExport({ path, fileName });
113-
}
114-
115105
const renderObjectEntry: (model: {
116106
key: string;
117107
value: string;
@@ -619,5 +609,4 @@ export {
619609
IOption,
620610
ISubscribableOption,
621611
IPropTyping,
622-
generateReExport,
623612
};

packages/devextreme-react-generator/src/generator.ts

Lines changed: 19 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
import { writeFileSync as writeFile } from 'fs';
1+
import { writeFileSync as writeFile, existsSync, mkdirSync } from 'fs';
22

33
import {
44
dirname as getDirName,
55
join as joinPaths,
6-
normalize as normalizePath,
76
relative as getRelativePath,
87
sep as pathSeparator,
98
} from 'path';
@@ -19,9 +18,9 @@ import {
1918

2019
import { convertTypes } from './converter';
2120
import generateIndex, { IReExport } from './index-generator';
21+
import generateCommonReexports from './common-reexports-generator';
2222

2323
import generateComponent, {
24-
generateReExport,
2524
IComponent,
2625
IIndependentEvents,
2726
INestedComponent,
@@ -239,6 +238,7 @@ function generate({
239238
components: { baseComponent, extensionComponent, configComponent },
240239
out,
241240
widgetsPackage,
241+
generateReexports,
242242
}: {
243243
metaData: IModel,
244244
components: {
@@ -248,10 +248,10 @@ function generate({
248248
},
249249
out: {
250250
componentsDir: string,
251-
oldComponentsDir: string,
252251
indexFileName: string
253252
},
254-
widgetsPackage: string
253+
widgetsPackage: string,
254+
generateReexports?: boolean
255255
}): void {
256256
const modulePaths: IReExport[] = [];
257257
rawData.widgets.forEach((data) => {
@@ -271,18 +271,23 @@ function generate({
271271
name: widgetFile.component.name,
272272
path: `./${removeExtension(getRelativePath(indexFileDir, widgetFilePath)).replace(pathSeparator, '/')}`,
273273
});
274-
275-
writeFile(
276-
joinPaths(out.oldComponentsDir, widgetFile.fileName),
277-
generateReExport(
278-
normalizePath(`./${removeExtension(getRelativePath(out.oldComponentsDir, widgetFilePath))}`)
279-
.replace(pathSeparator, '/'),
280-
removeExtension(widgetFile.fileName),
281-
),
282-
);
283274
});
284275

285276
writeFile(out.indexFileName, generateIndex(modulePaths), { encoding: 'utf8' });
277+
278+
if (generateReexports && rawData.commonReexports) {
279+
const commonPath = joinPaths(out.componentsDir, 'common');
280+
if (!existsSync(commonPath)) {
281+
mkdirSync(commonPath);
282+
}
283+
Object.keys(rawData.commonReexports).forEach((key) => {
284+
writeFile(
285+
joinPaths(commonPath, `${key.replace('common/', '')}.ts`),
286+
generateCommonReexports(key, rawData.commonReexports[key]),
287+
{ encoding: 'utf8' },
288+
);
289+
});
290+
}
286291
}
287292

288293
export default generate;

packages/devextreme-react/build.config.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ module.exports = {
1111
metadataPath: './metadata/integration-data.json',
1212
generatedComponentsDir: './src',
1313
coreComponentsDir: './src/core',
14-
oldComponentsDir: './src/ui',
1514
indexFileName: './src/index.ts',
1615
baseComponent: './core/component',
1716
extensionComponent: './core/extension-component',

packages/devextreme-react/gulpfile.js

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,6 @@ const generateSync = require('devextreme-react-generator').default;
1414
const GENERATE = 'generate';
1515
const CLEAN = 'clean';
1616

17-
const OLD_OUTPUTDIR_CREATE = 'output-dir.create';
1817
const GEN_RUN = 'generator.run';
1918

2019
const NPM_CLEAN = 'npm.clean';
@@ -29,10 +28,6 @@ gulp.task(CLEAN, (c) =>
2928
del([`${config.generatedComponentsDir}\\*`, `!${config.coreComponentsDir}`], c)
3029
);
3130

32-
gulp.task(OLD_OUTPUTDIR_CREATE, (done) =>
33-
mkdir(config.oldComponentsDir, {}, done)
34-
);
35-
3631
gulp.task(GEN_RUN, (done) => {
3732
generateSync({
3833
metaData: JSON.parse(fs.readFileSync(config.metadataPath).toString()),
@@ -43,18 +38,17 @@ gulp.task(GEN_RUN, (done) => {
4338
},
4439
out: {
4540
componentsDir: config.generatedComponentsDir,
46-
oldComponentsDir: config.oldComponentsDir,
4741
indexFileName: config.indexFileName
4842
},
49-
widgetsPackage: 'devextreme'
43+
widgetsPackage: 'devextreme',
44+
generateReexports: true,
5045
});
5146

5247
done();
5348
});
5449

5550
gulp.task(GENERATE, gulp.series(
5651
CLEAN,
57-
OLD_OUTPUTDIR_CREATE,
5852
GEN_RUN
5953
));
6054

packages/devextreme-react/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
"@types/react-dom": "^16.9.16",
3636
"del": "^3.0.0",
3737
"devextreme": "23.1-next",
38-
"devextreme-react-generator": "^1.3.0",
38+
"devextreme-react-generator": "^2.0.0",
3939
"gulp": "^4.0.2",
4040
"jest": "^25.0.0",
4141
"react": "~18.0.0",

0 commit comments

Comments
 (0)