Skip to content

Commit 47d2200

Browse files
Merge branch '24_2' of https://github.com/DevExpress/DevExtreme into 24_2_ssr_dubling_fix
2 parents ba54cd3 + 74b9d4c commit 47d2200

File tree

10 files changed

+632
-586
lines changed

10 files changed

+632
-586
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
"axe-core": "4.10.2",
4545
"cheerio": "1.0.0-rc.10",
4646
"codelyzer": "6.0.2",
47-
"devextreme-internal-tools": "16.2.0",
47+
"devextreme-internal-tools": "16.3.0",
4848
"http-server": "14.1.1",
4949
"husky": "8.0.3",
5050
"jest": "29.7.0",
Lines changed: 74 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -1,82 +1,81 @@
11
module.exports = {
2-
tools: {
3-
metadataGenerator: {
4-
sourceMetadataFilePath: './metadata/NGMetaData.json',
5-
imdMetadataFilePath: './metadata/integration-data.json',
6-
outputFolderPath: './metadata/generated',
7-
nestedPathPart: 'nested',
8-
basePathPart: 'base',
9-
widgetPackageName: "devextreme",
10-
wrapperPackageName: 'devextreme-angular',
11-
generateReexports: true,
12-
},
13-
componentGenerator: {
14-
metadataFolderPath: './metadata/generated/',
15-
outputFolderPath: './src/ui/',
16-
nestedPathPart: 'nested',
17-
basePathPart: 'base'
18-
},
19-
facadeGenerator: {
20-
facades: {
21-
'./src/index.ts': {
22-
sourceDirectories: [
23-
'./metadata/generated'
24-
]
25-
}
26-
},
27-
commonImports: [
28-
'./common',
29-
'./common/grids',
30-
'./common/charts',
31-
]
32-
},
33-
moduleFacadeGenerator: {
34-
moduleFacades: {
35-
'./src/ui/all.ts': {
36-
sourceComponentDirectories: [
37-
'./src/ui'
38-
],
39-
additionalImports: {
40-
'DxTemplateModule': 'import { DxTemplateModule } from \'devextreme-angular/core\''
41-
}
42-
}
43-
}
44-
},
45-
componentNamesGenerator: {
46-
componentFilesPath: './src/ui/',
47-
excludedFileNames: [
48-
'nested',
49-
'validation-group',
50-
'validation-summary',
51-
'validator',
52-
'button-group',
53-
'drop-down-button',
54-
'file-manager' ],
55-
outputFileName: 'tests/src/server/component-names.ts'
56-
},
57-
commonReexportsGenerator: {
58-
imdMetadataFilePath: './metadata/integration-data.json',
59-
outputPath: './src/'
2+
tools: {
3+
metadataGenerator: {
4+
sourceMetadataFilePath: './metadata/NGMetaData.json',
5+
imdMetadataFilePath: './metadata/integration-data.json',
6+
outputFolderPath: './metadata/generated',
7+
nestedPathPart: 'nested',
8+
basePathPart: 'base',
9+
widgetPackageName: 'devextreme',
10+
wrapperPackageName: 'devextreme-angular',
11+
generateReexports: true,
12+
},
13+
componentGenerator: {
14+
metadataFolderPath: './metadata/generated/',
15+
outputFolderPath: './src/ui/',
16+
entryFileNames: {
17+
popup: 'component.ts',
18+
},
19+
nestedPathPart: 'nested',
20+
basePathPart: 'base',
21+
},
22+
facadeGenerator: {
23+
facades: {
24+
'./src/index.ts': {
25+
sourceDirectories: [
26+
'./metadata/generated',
27+
],
6028
},
29+
},
30+
commonImports: [
31+
'./common',
32+
'./common/grids',
33+
'./common/charts',
34+
],
6135
},
62-
afterGenerate: {
63-
preserveComponentFiles: ['popup/service', 'popup/index.ts'],
64-
renameGeneratedFiles: [{ path: 'popup/index.ts', newName: 'component.ts' }],
65-
temporaryFolderForPreserved: './tmp-preserved/'
36+
moduleFacadeGenerator: {
37+
moduleFacades: {
38+
'./src/ui/all.ts': {
39+
sourceComponentDirectories: [
40+
'./src/ui',
41+
],
42+
additionalImports: {
43+
DxTemplateModule: 'import { DxTemplateModule } from \'devextreme-angular/core\'',
44+
},
45+
},
46+
},
6647
},
67-
components: {
68-
srcFilesPattern: '**/*.ts',
69-
tsTestSrc: ['tests/src/**/*.spec.ts', 'tests/src/**/component-names.ts'],
70-
testsPath: 'tests/dist',
71-
sourcesGlobs: ['src/**/*.*', './package.json', './ng-package.json'],
72-
tsSourcesGlob: 'src/**/*.ts',
73-
outputPath: 'dist'
48+
componentNamesGenerator: {
49+
componentFilesPath: './src/ui/',
50+
excludedFileNames: [
51+
'nested',
52+
'validation-group',
53+
'validation-summary',
54+
'validator',
55+
'button-group',
56+
'drop-down-button',
57+
'file-manager'],
58+
outputFileName: 'tests/src/server/component-names.ts',
7459
},
75-
tests: {
76-
tsConfigPath: "tsconfig.tests.json"
60+
commonReexportsGenerator: {
61+
imdMetadataFilePath: './metadata/integration-data.json',
62+
outputPath: './src/',
7763
},
78-
npm: {
79-
distPath: "npm/dist",
80-
content: [ "./LICENSE", "./README.md" ]
81-
}
64+
},
65+
components: {
66+
srcFilesPattern: '**/*.ts',
67+
tsTestSrc: ['tests/src/**/*.spec.ts', 'tests/src/**/component-names.ts'],
68+
testsPath: 'tests/dist',
69+
sourcesGlobs: ['src/**/*.*', './package.json', './ng-package.json'],
70+
skipFromCleaningFiles: ['popup/service/**', 'popup/index.ts'],
71+
tsSourcesGlob: 'src/**/*.ts',
72+
outputPath: 'dist',
73+
},
74+
tests: {
75+
tsConfigPath: 'tsconfig.tests.json',
76+
},
77+
npm: {
78+
distPath: 'npm/dist',
79+
content: ['./LICENSE', './README.md'],
80+
},
8281
};

packages/devextreme-angular/gulpfile.js

Lines changed: 24 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,30 @@ gulp.task('generate.metadata', gulp.series('clean.metadata', (done) => {
4141

4242
gulp.task('clean.generatedComponents', (done) => {
4343
const { outputFolderPath } = buildConfig.tools.componentGenerator;
44-
del.sync([`${outputFolderPath}/**`]);
44+
const { skipFromCleaningFiles } = buildConfig.components;
45+
46+
del.sync([
47+
`${outputFolderPath}/*/**`,
48+
...skipFromCleaningFiles.flatMap(keepPattern => {
49+
const pathParts = keepPattern.match(/[\*\/]$/) ? keepPattern.split('/') : [keepPattern];
50+
51+
const patternsToKeep = pathParts.reduce((acc, pathPart) => {
52+
53+
if(pathPart) {
54+
acc.path += '/' + pathPart;
55+
acc.patterns.push(`!${acc.path}`);
56+
}
57+
58+
return acc;
59+
}, {
60+
patterns: [],
61+
path: outputFolderPath.replace(/\/$/,'')
62+
}).patterns;
63+
64+
return patternsToKeep;
65+
})
66+
]);
67+
4568
done();
4669
});
4770

@@ -109,51 +132,6 @@ gulp.task('generate.common-reexports', (done) => {
109132
done();
110133
});
111134

112-
gulp.task('after-generate.rename-files', (done) => {
113-
const { outputFolderPath } = buildConfig.tools.componentGenerator;
114-
const { renameGeneratedFiles } = buildConfig.afterGenerate;
115-
const rename = require('gulp-rename');
116-
117-
const actions = (renameGeneratedFiles || []).map(({ path, newName }) =>
118-
() => gulp
119-
.src(outputFolderPath + path)
120-
.pipe(rename(newName))
121-
.pipe(gulp.dest((file) => file.base))
122-
);
123-
124-
gulp.parallel(...actions)(done);
125-
});
126-
127-
gulp.task('after-generate.restore-preserved', (done) => {
128-
const { outputFolderPath } = buildConfig.tools.componentGenerator;
129-
const { preserveComponentFiles, temporaryFolderForPreserved } = buildConfig.afterGenerate;
130-
131-
const actions = preserveComponentFiles.map((folderOrFile) => {
132-
let src = temporaryFolderForPreserved + folderOrFile;
133-
let dest = outputFolderPath + folderOrFile;
134-
const isFile = fs.statSync(src).isFile();
135-
136-
if (isFile) {
137-
dest = path.dirname(dest);
138-
} else {
139-
src += `/**/*`;
140-
}
141-
142-
return () => gulp.src(src).pipe(gulp.dest(dest));
143-
});
144-
145-
gulp.parallel(...actions)(() => fs.rm(
146-
temporaryFolderForPreserved,
147-
{ recursive: true, force: true },
148-
(err) => done(err)
149-
));
150-
});
151-
152-
gulp.task('after-generate', gulp.series(
153-
'after-generate.rename-files',
154-
'after-generate.restore-preserved',
155-
));
156-
157135
gulp.task('build.license-headers', () => {
158136
const config = buildConfig.components;
159137
const pkg = require('./package.json');
@@ -264,10 +242,8 @@ const buildTask = gulp.series('build.components');
264242
gulp.task('build', buildTask);
265243
gulp.task('default', buildTask);
266244
gulp.task('generate', gulp.series(
267-
'before-generate.preserve-component-files',
268245
'generate.facades',
269246
'generate.common-reexports',
270-
'after-generate',
271247
));
272248

273249
// ------------Testing------------

packages/devextreme/js/__internal/core/options/m_index.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -245,7 +245,7 @@ export class Options {
245245
return Object.prototype.hasOwnProperty.call(this._deprecated, name);
246246
}
247247

248-
cache(name, options) {
248+
cache(name, options?: Record<string, unknown>) {
249249
const isGetter = arguments.length < 2;
250250

251251
if (isGetter) {

packages/devextreme/js/__internal/ui/editor.ts

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)