devexpress-richedit 25.1.5 → 25.1.6
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/gulpfile.js +37 -34
- package/bin/index-custom.js +8 -8
- package/bin/localization-builder.js +95 -95
- package/bin/nspell-index.js +19 -19
- package/bin/nspell.webpack.config.js +35 -35
- package/bin/webpack-externals.js +116 -116
- package/bin/webpack.config.js +33 -33
- package/dist/dx.richedit.css +9 -3
- package/dist/dx.richedit.d.ts +2656 -2649
- package/dist/dx.richedit.js +5553 -5346
- package/dist/dx.richedit.min.js +22 -8
- package/dist/pdfkit.js +20000 -19277
- package/dist/pdfkit.js.LICENSE.txt +8 -0
- package/dist/pdfkit.min.js +1 -1
- package/dist/pdfkit.min.js.LICENSE.txt +8 -0
- package/index.d.ts +6 -6
- package/index.js +11 -11
- package/lib/client/client-rich-edit.d.ts +3 -0
- package/lib/client/client-rich-edit.js +9 -3
- package/lib/client/commands/download-document-command.js +3 -1
- package/lib/client/commands/export-document-command.js +3 -1
- package/lib/client/commands/mail-merge-command.js +2 -1
- package/lib/client/commands/open-document-command.d.ts +2 -0
- package/lib/client/commands/open-document-command.js +23 -13
- package/lib/client/document-processor/processor.d.ts +2 -0
- package/lib/client/document-processor/processor.js +15 -5
- package/lib/client/formats/docx/export/data.js +1 -1
- package/lib/client/formats/docx/utils/string-value-parser.js +4 -3
- package/lib/client/public/client-events.d.ts +2 -1
- package/lib/client/public/client-events.js +3 -1
- package/lib/client/public/events.d.ts +6 -0
- package/lib/client/public/events.js +8 -0
- package/lib/client/public/options.d.ts +2 -1
- package/lib/client/public/rich-edit.js +3 -2
- package/lib/client/settings.d.ts +1 -0
- package/lib/client/settings.js +2 -0
- package/lib/common/client-side-events.d.ts +1 -0
- package/lib/common/client-side-events.js +3 -0
- package/lib/common/commands/document/print-document-on-client-command.js +3 -2
- package/lib/common/commands/selection/go-to-next-page-command.js +27 -19
- package/lib/common/commands/selection/go-to-next-word-command.js +2 -0
- package/lib/common/commands/selection/go-to-prev-page-command.js +25 -21
- package/lib/common/formats/document-importer-errors.d.ts +2 -1
- package/lib/common/formats/document-importer-errors.js +1 -0
- package/lib/common/formats/html/import/importers/table.js +8 -1
- package/lib/common/formats/html/import/importers/td.js +1 -1
- package/lib/common/formats/i-document-exporter.d.ts +1 -1
- package/lib/common/formats/rtf/export/exporters/rtf-content-exporter.js +1 -1
- package/lib/common/formats/rtf/export/exporters/rtf-numbering-list-exporter.js +1 -1
- package/lib/common/formats/rtf/export/exporters/table/states/rtf-table-exporter-state-base.js +1 -1
- package/lib/common/formats/rtf/import/table/states/manager-state.js +5 -1
- package/lib/common/interfaces/i-control-owner.d.ts +3 -0
- package/lib/common/interfaces/i-rich-edit-core.d.ts +1 -0
- package/lib/common/model/caches/images.d.ts +1 -1
- package/lib/common/model/caches/images.js +3 -3
- package/lib/common/rich-edit-core.d.ts +1 -0
- package/lib/common/rich-edit-core.js +11 -1
- package/lib/common/rich-utils/html-converter.d.ts +1 -0
- package/lib/common/rich-utils/html-converter.js +32 -3
- package/lib/common/utils/information-creator.d.ts +17 -0
- package/lib/common/utils/information-creator.js +89 -0
- package/package.json +11 -14
package/bin/gulpfile.js
CHANGED
|
@@ -1,35 +1,38 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (gulpfile.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
const path = require('path');
|
|
8
|
-
const gulp = require('gulp');
|
|
9
|
-
const
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
gulp.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (gulpfile.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
const path = require('path');
|
|
8
|
+
const gulp = require('gulp');
|
|
9
|
+
const postcss = require('gulp-postcss');
|
|
10
|
+
const atImport = require('postcss-import');
|
|
11
|
+
const clean = require('postcss-clean');
|
|
12
|
+
|
|
13
|
+
const richEditDist = path.resolve(__dirname, '..', 'dist');
|
|
14
|
+
const devextremeDist = path.resolve(__dirname, '..', '..', 'devextreme-dist');
|
|
15
|
+
|
|
16
|
+
const customDist = path.resolve(richEditDist, 'custom');
|
|
17
|
+
|
|
18
|
+
gulp.task('build-css', function () {
|
|
19
|
+
return gulp.src([
|
|
20
|
+
path.resolve(devextremeDist, 'css', 'dx.common.css'),
|
|
21
|
+
path.resolve(devextremeDist, 'css', 'dx.light.css'),
|
|
22
|
+
path.resolve(richEditDist, 'dx.richedit.css'),
|
|
23
|
+
])
|
|
24
|
+
.pipe(postcss([
|
|
25
|
+
atImport(),
|
|
26
|
+
clean()
|
|
27
|
+
]))
|
|
28
|
+
.pipe(gulp.dest(customDist));
|
|
29
|
+
});
|
|
30
|
+
|
|
31
|
+
gulp.task('copy-icons', () => {
|
|
32
|
+
return gulp.src([
|
|
33
|
+
path.join(richEditDist, 'icons/**/*'),
|
|
34
|
+
path.join(devextremeDist, 'css', 'icons/**/*')])
|
|
35
|
+
.pipe(gulp.dest(path.join(customDist, 'icons')));
|
|
36
|
+
});
|
|
37
|
+
|
|
35
38
|
gulp.task('concatenate-css', gulp.series('build-css', 'copy-icons'));
|
package/bin/index-custom.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (index-custom.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
export * as RichEdit from '../index';
|
|
8
|
-
export * as localization from 'devextreme/localization';
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (index-custom.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
export * as RichEdit from '../index';
|
|
8
|
+
export * as localization from 'devextreme/localization';
|
|
@@ -1,96 +1,96 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (localization-builder.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
const jsHeader =
|
|
8
|
-
`(function(root, factory) {
|
|
9
|
-
if(typeof define === 'function' && define.amd) {
|
|
10
|
-
define(function(require) {
|
|
11
|
-
factory(require("devextreme/localization"));
|
|
12
|
-
});
|
|
13
|
-
} else if(typeof module === "object" && module.exports) {
|
|
14
|
-
factory(require("devextreme/localization"));
|
|
15
|
-
} else {
|
|
16
|
-
factory(DevExpress.localization);
|
|
17
|
-
}
|
|
18
|
-
}(this, function(localization) {
|
|
19
|
-
localization.loadMessages(`;
|
|
20
|
-
|
|
21
|
-
const jsFooter =
|
|
22
|
-
`);
|
|
23
|
-
}));`
|
|
24
|
-
|
|
25
|
-
const fs = require('fs');
|
|
26
|
-
const path = require('path');
|
|
27
|
-
|
|
28
|
-
function getLocale(fileName) {
|
|
29
|
-
const parts = fileName.split('.');
|
|
30
|
-
return parts[parts.length - 2];
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
function writeFile(filePath, content) {
|
|
34
|
-
const dirPath = path.dirname(filePath);
|
|
35
|
-
if (!fs.existsSync(dirPath))
|
|
36
|
-
fs.mkdirSync(dirPath, { recursive: true });
|
|
37
|
-
fs.writeFileSync(filePath, content, 'utf8');
|
|
38
|
-
console.log(`${filePath} created`);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
function getFullPath(p) {
|
|
42
|
-
return path.normalize(path.isAbsolute(p) ? p : path.join(process.cwd(), p));
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
// Possible calls:
|
|
46
|
-
// * generate(souceDir, targetDir)
|
|
47
|
-
// * generate(sourceFile, targetFile)
|
|
48
|
-
function generate(sourcePath, targetPath) {
|
|
49
|
-
sourcePath = getFullPath(sourcePath);
|
|
50
|
-
targetPath = getFullPath(targetPath);
|
|
51
|
-
if (!fs.existsSync(sourcePath))
|
|
52
|
-
throw Error('Source path is incorrect');
|
|
53
|
-
if (fs.lstatSync(sourcePath).isFile()) {
|
|
54
|
-
const extension = path.extname(targetPath);
|
|
55
|
-
generateFromFile(sourcePath, targetPath.slice(0, -extension.length),
|
|
56
|
-
getLocale(path.basename(sourcePath)), extension == '.js', extension == '.json');
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
let numFiles = 0;
|
|
60
|
-
fs.readdirSync(sourcePath).forEach(fileName => {
|
|
61
|
-
const locale = getLocale(fileName);
|
|
62
|
-
if (locale) {
|
|
63
|
-
numFiles++;
|
|
64
|
-
generateFromFile(path.join(sourcePath, fileName),
|
|
65
|
-
path.join(targetPath, fileName.slice(0, -path.extname(fileName).length)),
|
|
66
|
-
locale, true, true);
|
|
67
|
-
}
|
|
68
|
-
});
|
|
69
|
-
if (numFiles == 0)
|
|
70
|
-
console.log(`No source files found`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
// targetPath without extension
|
|
75
|
-
function generateFromFile(sourceFilePath, targetPath, locale, generateJsContent, generateJsonContent) {
|
|
76
|
-
if (!locale) {
|
|
77
|
-
console.log(`Incorrect locale ${locale}`);
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
const correctJsonContent = {
|
|
81
|
-
[locale]: JSON.parse(fs.readFileSync(sourceFilePath, 'utf8'))
|
|
82
|
-
};
|
|
83
|
-
const jsonContentAsString = JSON.stringify(correctJsonContent, null, ' ');
|
|
84
|
-
if (generateJsContent)
|
|
85
|
-
writeFile(targetPath +'.js', jsHeader + jsonContentAsString + jsFooter);
|
|
86
|
-
if (generateJsonContent)
|
|
87
|
-
writeFile(targetPath + '.json', jsonContentAsString);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
if (require.main === module) {
|
|
91
|
-
if (process.argv.length != 4)
|
|
92
|
-
throw Error('Incorrect arguments count. localization-builder.js sourcePath targetPath');
|
|
93
|
-
generate(process.argv[2], process.argv[3]);
|
|
94
|
-
}
|
|
95
|
-
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (localization-builder.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
const jsHeader =
|
|
8
|
+
`(function(root, factory) {
|
|
9
|
+
if(typeof define === 'function' && define.amd) {
|
|
10
|
+
define(function(require) {
|
|
11
|
+
factory(require("devextreme/localization"));
|
|
12
|
+
});
|
|
13
|
+
} else if(typeof module === "object" && module.exports) {
|
|
14
|
+
factory(require("devextreme/localization"));
|
|
15
|
+
} else {
|
|
16
|
+
factory(DevExpress.localization);
|
|
17
|
+
}
|
|
18
|
+
}(this, function(localization) {
|
|
19
|
+
localization.loadMessages(`;
|
|
20
|
+
|
|
21
|
+
const jsFooter =
|
|
22
|
+
`);
|
|
23
|
+
}));`
|
|
24
|
+
|
|
25
|
+
const fs = require('fs');
|
|
26
|
+
const path = require('path');
|
|
27
|
+
|
|
28
|
+
function getLocale(fileName) {
|
|
29
|
+
const parts = fileName.split('.');
|
|
30
|
+
return parts[parts.length - 2];
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
function writeFile(filePath, content) {
|
|
34
|
+
const dirPath = path.dirname(filePath);
|
|
35
|
+
if (!fs.existsSync(dirPath))
|
|
36
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
37
|
+
fs.writeFileSync(filePath, content, 'utf8');
|
|
38
|
+
console.log(`${filePath} created`);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
function getFullPath(p) {
|
|
42
|
+
return path.normalize(path.isAbsolute(p) ? p : path.join(process.cwd(), p));
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
// Possible calls:
|
|
46
|
+
// * generate(souceDir, targetDir)
|
|
47
|
+
// * generate(sourceFile, targetFile)
|
|
48
|
+
function generate(sourcePath, targetPath) {
|
|
49
|
+
sourcePath = getFullPath(sourcePath);
|
|
50
|
+
targetPath = getFullPath(targetPath);
|
|
51
|
+
if (!fs.existsSync(sourcePath))
|
|
52
|
+
throw Error('Source path is incorrect');
|
|
53
|
+
if (fs.lstatSync(sourcePath).isFile()) {
|
|
54
|
+
const extension = path.extname(targetPath);
|
|
55
|
+
generateFromFile(sourcePath, targetPath.slice(0, -extension.length),
|
|
56
|
+
getLocale(path.basename(sourcePath)), extension == '.js', extension == '.json');
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
let numFiles = 0;
|
|
60
|
+
fs.readdirSync(sourcePath).forEach(fileName => {
|
|
61
|
+
const locale = getLocale(fileName);
|
|
62
|
+
if (locale) {
|
|
63
|
+
numFiles++;
|
|
64
|
+
generateFromFile(path.join(sourcePath, fileName),
|
|
65
|
+
path.join(targetPath, fileName.slice(0, -path.extname(fileName).length)),
|
|
66
|
+
locale, true, true);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
if (numFiles == 0)
|
|
70
|
+
console.log(`No source files found`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
// targetPath without extension
|
|
75
|
+
function generateFromFile(sourceFilePath, targetPath, locale, generateJsContent, generateJsonContent) {
|
|
76
|
+
if (!locale) {
|
|
77
|
+
console.log(`Incorrect locale ${locale}`);
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
const correctJsonContent = {
|
|
81
|
+
[locale]: JSON.parse(fs.readFileSync(sourceFilePath, 'utf8'))
|
|
82
|
+
};
|
|
83
|
+
const jsonContentAsString = JSON.stringify(correctJsonContent, null, ' ');
|
|
84
|
+
if (generateJsContent)
|
|
85
|
+
writeFile(targetPath +'.js', jsHeader + jsonContentAsString + jsFooter);
|
|
86
|
+
if (generateJsonContent)
|
|
87
|
+
writeFile(targetPath + '.json', jsonContentAsString);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
if (require.main === module) {
|
|
91
|
+
if (process.argv.length != 4)
|
|
92
|
+
throw Error('Incorrect arguments count. localization-builder.js sourcePath targetPath');
|
|
93
|
+
generate(process.argv[2], process.argv[3]);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
96
|
module.exports = generate;
|
package/bin/nspell-index.js
CHANGED
|
@@ -1,19 +1,19 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (nspell-index.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
import * as nspellImport from 'nspell';
|
|
8
|
-
|
|
9
|
-
import enAff from 'dictionary-en/index.aff';
|
|
10
|
-
import enDic from 'dictionary-en/index.dic';
|
|
11
|
-
|
|
12
|
-
// import frAff from 'dictionary-fr/index.aff';
|
|
13
|
-
// import frDic from 'dictionary-fr/index.dic';
|
|
14
|
-
|
|
15
|
-
export const nspell = nspellImport;
|
|
16
|
-
export const dictionaries = [
|
|
17
|
-
{ aff: enAff, dic: enDic },
|
|
18
|
-
//{ aff: frAff, dic: frDic }
|
|
19
|
-
];
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (nspell-index.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
import * as nspellImport from 'nspell';
|
|
8
|
+
|
|
9
|
+
import enAff from 'dictionary-en/index.aff';
|
|
10
|
+
import enDic from 'dictionary-en/index.dic';
|
|
11
|
+
|
|
12
|
+
// import frAff from 'dictionary-fr/index.aff';
|
|
13
|
+
// import frDic from 'dictionary-fr/index.dic';
|
|
14
|
+
|
|
15
|
+
export const nspell = nspellImport;
|
|
16
|
+
export const dictionaries = [
|
|
17
|
+
{ aff: enAff, dic: enDic },
|
|
18
|
+
//{ aff: frAff, dic: frDic }
|
|
19
|
+
];
|
|
@@ -1,36 +1,36 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (nspell.webpack.config.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
const path = require('path');
|
|
8
|
-
const TerserPlugin = require('terser-webpack-plugin');
|
|
9
|
-
const source = path.resolve(__dirname, 'nspell-index.js');
|
|
10
|
-
const scriptFileName = 'nspell';
|
|
11
|
-
const libraryName = ['NSpell']; // this creates window.NSpell namespace for bundle
|
|
12
|
-
|
|
13
|
-
module.exports = {
|
|
14
|
-
entry: {
|
|
15
|
-
[scriptFileName]: source,
|
|
16
|
-
[scriptFileName + '.min']: source,
|
|
17
|
-
},
|
|
18
|
-
output: {
|
|
19
|
-
path: path.resolve(__dirname, '..', 'dist', 'custom'),
|
|
20
|
-
filename: '[name].js',
|
|
21
|
-
library: libraryName,
|
|
22
|
-
libraryTarget: "self",
|
|
23
|
-
},
|
|
24
|
-
module: {
|
|
25
|
-
rules: [
|
|
26
|
-
{
|
|
27
|
-
test: /\.(aff|dic)$/i,
|
|
28
|
-
type: 'asset/source'
|
|
29
|
-
}
|
|
30
|
-
]
|
|
31
|
-
},
|
|
32
|
-
optimization: {
|
|
33
|
-
minimize: true,
|
|
34
|
-
minimizer: [new TerserPlugin({test: /\.min\.js$/})],
|
|
35
|
-
},
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (nspell.webpack.config.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
const path = require('path');
|
|
8
|
+
const TerserPlugin = require('terser-webpack-plugin');
|
|
9
|
+
const source = path.resolve(__dirname, 'nspell-index.js');
|
|
10
|
+
const scriptFileName = 'nspell';
|
|
11
|
+
const libraryName = ['NSpell']; // this creates window.NSpell namespace for bundle
|
|
12
|
+
|
|
13
|
+
module.exports = {
|
|
14
|
+
entry: {
|
|
15
|
+
[scriptFileName]: source,
|
|
16
|
+
[scriptFileName + '.min']: source,
|
|
17
|
+
},
|
|
18
|
+
output: {
|
|
19
|
+
path: path.resolve(__dirname, '..', 'dist', 'custom'),
|
|
20
|
+
filename: '[name].js',
|
|
21
|
+
library: libraryName,
|
|
22
|
+
libraryTarget: "self",
|
|
23
|
+
},
|
|
24
|
+
module: {
|
|
25
|
+
rules: [
|
|
26
|
+
{
|
|
27
|
+
test: /\.(aff|dic)$/i,
|
|
28
|
+
type: 'asset/source'
|
|
29
|
+
}
|
|
30
|
+
]
|
|
31
|
+
},
|
|
32
|
+
optimization: {
|
|
33
|
+
minimize: true,
|
|
34
|
+
minimizer: [new TerserPlugin({test: /\.min\.js$/})],
|
|
35
|
+
},
|
|
36
36
|
};
|
package/bin/webpack-externals.js
CHANGED
|
@@ -1,116 +1,116 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* DevExpress WebRichEdit (webpack-externals.js)
|
|
3
|
-
* Version: 25.1.
|
|
4
|
-
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
-
* License: https://www.devexpress.com/Support/EULAs
|
|
6
|
-
*/
|
|
7
|
-
const jsZipExternals = {
|
|
8
|
-
'jszip': 'JSZip',
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
const devextremeExternals = {
|
|
12
|
-
"devextreme/integration/jquery": "DevExpress",
|
|
13
|
-
"devextreme/integration/knockout": "DevExpress",
|
|
14
|
-
|
|
15
|
-
"devextreme/localization/globalize/message": "DevExpress",
|
|
16
|
-
"devextreme/localization/globalize/number": "DevExpress",
|
|
17
|
-
"devextreme/localization/globalize/currency": "DevExpress",
|
|
18
|
-
"devextreme/localization/globalize/date": "DevExpress",
|
|
19
|
-
|
|
20
|
-
"devextreme/core/utils/string": "DevExpress.utils.string",
|
|
21
|
-
"devextreme/viz/themes": "DevExpress.viz",
|
|
22
|
-
"devextreme/core/utils/console": "DevExpress.utils.console",
|
|
23
|
-
"devextreme/ui/themes": "DevExpress.ui.themes",
|
|
24
|
-
"devextreme/core/utils/browser": "DevExpress.utils.browser",
|
|
25
|
-
"devextreme/core/devices": "DevExpress.devices",
|
|
26
|
-
|
|
27
|
-
"devextreme/ui/dialog": "DevExpress.ui.dialog",
|
|
28
|
-
"devextreme/ui/collection/ui.collection_widget.base": "DevExpress.ui.CollectionWidget",
|
|
29
|
-
"devextreme/core/component_registrator": "DevExpress.registerComponent",
|
|
30
|
-
"devextreme/ui/validation_engine": "DevExpress.validationEngine",
|
|
31
|
-
"devextreme/format_helper": "DevExpress.formatHelper",
|
|
32
|
-
"devextreme/data/query": "DevExpress.data.query",
|
|
33
|
-
"devextreme/data/array_store": "DevExpress.data.ArrayStore",
|
|
34
|
-
"devextreme/data/data_source": "DevExpress.data.DataSource",
|
|
35
|
-
"devextreme/data/custom_store": "DevExpress.data.CustomStore",
|
|
36
|
-
"devextreme/data/abstract_store": "DevExpress.data.Store",
|
|
37
|
-
|
|
38
|
-
"devextreme/color": "DevExpress.Color",
|
|
39
|
-
"devextreme/events": "DevExpress.events",
|
|
40
|
-
"devextreme/events/utils": 'DevExpress.events.utils',
|
|
41
|
-
"devextreme/core/utils/support": "DevExpress.utils.support",
|
|
42
|
-
"devextreme/core/utils/date": "DevExpress.utils.date",
|
|
43
|
-
"devextreme/core/element": "DevExpress",
|
|
44
|
-
"devextreme/core/utils/size": "DevExpress",
|
|
45
|
-
"devextreme/localization/date": "DevExpress.localization.date",
|
|
46
|
-
"devextreme/localization/number": "DevExpress.localization.number",
|
|
47
|
-
"devextreme/localization": "DevExpress.localization",
|
|
48
|
-
"devextreme/core/utils/data": "DevExpress.data.utils",
|
|
49
|
-
|
|
50
|
-
"devextreme/viz/core/renderers/renderer": "DevExpress.viz._dashboard",
|
|
51
|
-
"devextreme/viz/core/utils": "DevExpress.viz._dashboard",
|
|
52
|
-
"devextreme/viz/vector_map/projection": "DevExpress.viz.map",
|
|
53
|
-
"devextreme/core/dom_component": "DevExpress.DOMComponent",
|
|
54
|
-
"devextreme/core/utils/resize_callbacks": "DevExpress.utils.resizeCallbacks",
|
|
55
|
-
"devextreme/ui/widget/ui.widget": "DevExpress.ui.Widget",
|
|
56
|
-
"devextreme/core/config": "DevExpress.config",
|
|
57
|
-
"devextreme/core/class": "DevExpress.Class",
|
|
58
|
-
"devextreme/ui/popup": "DevExpress.ui.dxPopup",
|
|
59
|
-
"devextreme/ui/popover": "DevExpress.ui.dxPopover",
|
|
60
|
-
"devextreme/ui/list": "DevExpress.ui.dxList",
|
|
61
|
-
"devextreme/viz/chart": "DevExpress.viz.dxChart",
|
|
62
|
-
"devextreme/viz/pie_chart": "DevExpress.viz.dxPieChart",
|
|
63
|
-
"devextreme/viz/vector_map": "DevExpress.viz.dxVectorMap",
|
|
64
|
-
"devextreme/ui/text_box": "DevExpress.ui.dxTextBox",
|
|
65
|
-
"devextreme/ui/tree_view": "DevExpress.ui.dxTreeView",
|
|
66
|
-
"devextreme/ui/scroll_view": "DevExpress.ui.dxScrollView",
|
|
67
|
-
"devextreme/ui/pivot_grid": "DevExpress.ui.dxPivotGrid",
|
|
68
|
-
"devextreme/viz/tree_map": "DevExpress.viz.dxTreeMap",
|
|
69
|
-
"devextreme/ui/data_grid": "DevExpress.ui.dxDataGrid",
|
|
70
|
-
"devextreme/viz/bullet": "DevExpress.viz.dxBullet",
|
|
71
|
-
"devextreme/viz/sparkline": "DevExpress.viz.dxSparkline",
|
|
72
|
-
"devextreme/ui/toast": "DevExpress.ui.dxToast",
|
|
73
|
-
"devextreme/ui/toolbar": "DevExpress.ui.dxToolbar",
|
|
74
|
-
"devextreme/ui/tooltip": "DevExpress.ui.dxTooltip",
|
|
75
|
-
"devextreme/ui/overlay": "DevExpress.ui.dxOverlay",
|
|
76
|
-
"devextreme/ui/tag_box": "DevExpress.ui.dxTagBox",
|
|
77
|
-
"devextreme/ui/select_box": "DevExpress.ui.dxSelectBox",
|
|
78
|
-
"devextreme/ui/number_box": "DevExpress.ui.dxNumberBox",
|
|
79
|
-
"devextreme/ui/radio_group": "DevExpress.ui.dxRadioGroup",
|
|
80
|
-
"devextreme/ui/tree_list": "DevExpress.ui.dxTreeList",
|
|
81
|
-
"devextreme/ui/date_box": "DevExpress.ui.dxDateBox",
|
|
82
|
-
"devextreme/ui/calendar": "DevExpress.ui.dxCalendar",
|
|
83
|
-
"devextreme/ui/button": "DevExpress.ui.dxButton",
|
|
84
|
-
"devextreme/ui/button_group": "DevExpress.ui.dxButtonGroup",
|
|
85
|
-
"devextreme/ui/check_box": "DevExpress.ui.dxCheckBox",
|
|
86
|
-
"devextreme/ui/tile_view": "DevExpress.ui.dxTileView",
|
|
87
|
-
"devextreme/viz/circular_gauge": "DevExpress.viz.dxCircularGauge",
|
|
88
|
-
"devextreme/viz/linear_gauge": "DevExpress.viz.dxLinearGauge",
|
|
89
|
-
"devextreme/viz/range_selector": "DevExpress.viz.dxRangeSelector",
|
|
90
|
-
"devextreme/animation/fx": "DevExpress.fx",
|
|
91
|
-
|
|
92
|
-
"devextreme/ui/form": "DevExpress.ui.dxForm",
|
|
93
|
-
"devextreme/ui/context_menu": "DevExpress.ui.dxContextMenu",
|
|
94
|
-
"devextreme/ui/tab_panel": "DevExpress.ui.dxTabPanel",
|
|
95
|
-
"devextreme/ui/color_box": "DevExpress.ui.dxColorBox",
|
|
96
|
-
"devextreme/ui/menu": "DevExpress.ui.dxMenu",
|
|
97
|
-
|
|
98
|
-
"devextreme/core/trial_panel": "DevExpress.trial",
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
function handleExternals(externalModules = [/*jsZipExternals, devextremeExternals*/]) {
|
|
102
|
-
const externals = {};
|
|
103
|
-
for (const ext of externalModules)
|
|
104
|
-
Object.assign(externals, ext);
|
|
105
|
-
return (data, callback) => {
|
|
106
|
-
if (externals[data.request])
|
|
107
|
-
return callback(null, externals[data.request]);
|
|
108
|
-
callback();
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
module.exports = {
|
|
113
|
-
jsZipExternals,
|
|
114
|
-
devextremeExternals,
|
|
115
|
-
handleExternals
|
|
116
|
-
}
|
|
1
|
+
/**
|
|
2
|
+
* DevExpress WebRichEdit (webpack-externals.js)
|
|
3
|
+
* Version: 25.1.6
|
|
4
|
+
* Copyright (c) 2012 - 2025 Developer Express Inc. ALL RIGHTS RESERVED
|
|
5
|
+
* License: https://www.devexpress.com/Support/EULAs",
|
|
6
|
+
*/
|
|
7
|
+
const jsZipExternals = {
|
|
8
|
+
'jszip': 'JSZip',
|
|
9
|
+
};
|
|
10
|
+
|
|
11
|
+
const devextremeExternals = {
|
|
12
|
+
"devextreme/integration/jquery": "DevExpress",
|
|
13
|
+
"devextreme/integration/knockout": "DevExpress",
|
|
14
|
+
|
|
15
|
+
"devextreme/localization/globalize/message": "DevExpress",
|
|
16
|
+
"devextreme/localization/globalize/number": "DevExpress",
|
|
17
|
+
"devextreme/localization/globalize/currency": "DevExpress",
|
|
18
|
+
"devextreme/localization/globalize/date": "DevExpress",
|
|
19
|
+
|
|
20
|
+
"devextreme/core/utils/string": "DevExpress.utils.string",
|
|
21
|
+
"devextreme/viz/themes": "DevExpress.viz",
|
|
22
|
+
"devextreme/core/utils/console": "DevExpress.utils.console",
|
|
23
|
+
"devextreme/ui/themes": "DevExpress.ui.themes",
|
|
24
|
+
"devextreme/core/utils/browser": "DevExpress.utils.browser",
|
|
25
|
+
"devextreme/core/devices": "DevExpress.devices",
|
|
26
|
+
|
|
27
|
+
"devextreme/ui/dialog": "DevExpress.ui.dialog",
|
|
28
|
+
"devextreme/ui/collection/ui.collection_widget.base": "DevExpress.ui.CollectionWidget",
|
|
29
|
+
"devextreme/core/component_registrator": "DevExpress.registerComponent",
|
|
30
|
+
"devextreme/ui/validation_engine": "DevExpress.validationEngine",
|
|
31
|
+
"devextreme/format_helper": "DevExpress.formatHelper",
|
|
32
|
+
"devextreme/data/query": "DevExpress.data.query",
|
|
33
|
+
"devextreme/data/array_store": "DevExpress.data.ArrayStore",
|
|
34
|
+
"devextreme/data/data_source": "DevExpress.data.DataSource",
|
|
35
|
+
"devextreme/data/custom_store": "DevExpress.data.CustomStore",
|
|
36
|
+
"devextreme/data/abstract_store": "DevExpress.data.Store",
|
|
37
|
+
|
|
38
|
+
"devextreme/color": "DevExpress.Color",
|
|
39
|
+
"devextreme/events": "DevExpress.events",
|
|
40
|
+
"devextreme/events/utils": 'DevExpress.events.utils',
|
|
41
|
+
"devextreme/core/utils/support": "DevExpress.utils.support",
|
|
42
|
+
"devextreme/core/utils/date": "DevExpress.utils.date",
|
|
43
|
+
"devextreme/core/element": "DevExpress",
|
|
44
|
+
"devextreme/core/utils/size": "DevExpress",
|
|
45
|
+
"devextreme/localization/date": "DevExpress.localization.date",
|
|
46
|
+
"devextreme/localization/number": "DevExpress.localization.number",
|
|
47
|
+
"devextreme/localization": "DevExpress.localization",
|
|
48
|
+
"devextreme/core/utils/data": "DevExpress.data.utils",
|
|
49
|
+
|
|
50
|
+
"devextreme/viz/core/renderers/renderer": "DevExpress.viz._dashboard",
|
|
51
|
+
"devextreme/viz/core/utils": "DevExpress.viz._dashboard",
|
|
52
|
+
"devextreme/viz/vector_map/projection": "DevExpress.viz.map",
|
|
53
|
+
"devextreme/core/dom_component": "DevExpress.DOMComponent",
|
|
54
|
+
"devextreme/core/utils/resize_callbacks": "DevExpress.utils.resizeCallbacks",
|
|
55
|
+
"devextreme/ui/widget/ui.widget": "DevExpress.ui.Widget",
|
|
56
|
+
"devextreme/core/config": "DevExpress.config",
|
|
57
|
+
"devextreme/core/class": "DevExpress.Class",
|
|
58
|
+
"devextreme/ui/popup": "DevExpress.ui.dxPopup",
|
|
59
|
+
"devextreme/ui/popover": "DevExpress.ui.dxPopover",
|
|
60
|
+
"devextreme/ui/list": "DevExpress.ui.dxList",
|
|
61
|
+
"devextreme/viz/chart": "DevExpress.viz.dxChart",
|
|
62
|
+
"devextreme/viz/pie_chart": "DevExpress.viz.dxPieChart",
|
|
63
|
+
"devextreme/viz/vector_map": "DevExpress.viz.dxVectorMap",
|
|
64
|
+
"devextreme/ui/text_box": "DevExpress.ui.dxTextBox",
|
|
65
|
+
"devextreme/ui/tree_view": "DevExpress.ui.dxTreeView",
|
|
66
|
+
"devextreme/ui/scroll_view": "DevExpress.ui.dxScrollView",
|
|
67
|
+
"devextreme/ui/pivot_grid": "DevExpress.ui.dxPivotGrid",
|
|
68
|
+
"devextreme/viz/tree_map": "DevExpress.viz.dxTreeMap",
|
|
69
|
+
"devextreme/ui/data_grid": "DevExpress.ui.dxDataGrid",
|
|
70
|
+
"devextreme/viz/bullet": "DevExpress.viz.dxBullet",
|
|
71
|
+
"devextreme/viz/sparkline": "DevExpress.viz.dxSparkline",
|
|
72
|
+
"devextreme/ui/toast": "DevExpress.ui.dxToast",
|
|
73
|
+
"devextreme/ui/toolbar": "DevExpress.ui.dxToolbar",
|
|
74
|
+
"devextreme/ui/tooltip": "DevExpress.ui.dxTooltip",
|
|
75
|
+
"devextreme/ui/overlay": "DevExpress.ui.dxOverlay",
|
|
76
|
+
"devextreme/ui/tag_box": "DevExpress.ui.dxTagBox",
|
|
77
|
+
"devextreme/ui/select_box": "DevExpress.ui.dxSelectBox",
|
|
78
|
+
"devextreme/ui/number_box": "DevExpress.ui.dxNumberBox",
|
|
79
|
+
"devextreme/ui/radio_group": "DevExpress.ui.dxRadioGroup",
|
|
80
|
+
"devextreme/ui/tree_list": "DevExpress.ui.dxTreeList",
|
|
81
|
+
"devextreme/ui/date_box": "DevExpress.ui.dxDateBox",
|
|
82
|
+
"devextreme/ui/calendar": "DevExpress.ui.dxCalendar",
|
|
83
|
+
"devextreme/ui/button": "DevExpress.ui.dxButton",
|
|
84
|
+
"devextreme/ui/button_group": "DevExpress.ui.dxButtonGroup",
|
|
85
|
+
"devextreme/ui/check_box": "DevExpress.ui.dxCheckBox",
|
|
86
|
+
"devextreme/ui/tile_view": "DevExpress.ui.dxTileView",
|
|
87
|
+
"devextreme/viz/circular_gauge": "DevExpress.viz.dxCircularGauge",
|
|
88
|
+
"devextreme/viz/linear_gauge": "DevExpress.viz.dxLinearGauge",
|
|
89
|
+
"devextreme/viz/range_selector": "DevExpress.viz.dxRangeSelector",
|
|
90
|
+
"devextreme/animation/fx": "DevExpress.fx",
|
|
91
|
+
|
|
92
|
+
"devextreme/ui/form": "DevExpress.ui.dxForm",
|
|
93
|
+
"devextreme/ui/context_menu": "DevExpress.ui.dxContextMenu",
|
|
94
|
+
"devextreme/ui/tab_panel": "DevExpress.ui.dxTabPanel",
|
|
95
|
+
"devextreme/ui/color_box": "DevExpress.ui.dxColorBox",
|
|
96
|
+
"devextreme/ui/menu": "DevExpress.ui.dxMenu",
|
|
97
|
+
|
|
98
|
+
"devextreme/core/trial_panel": "DevExpress.trial",
|
|
99
|
+
};
|
|
100
|
+
|
|
101
|
+
function handleExternals(externalModules = [/*jsZipExternals, devextremeExternals*/]) {
|
|
102
|
+
const externals = {};
|
|
103
|
+
for (const ext of externalModules)
|
|
104
|
+
Object.assign(externals, ext);
|
|
105
|
+
return (data, callback) => {
|
|
106
|
+
if (externals[data.request])
|
|
107
|
+
return callback(null, externals[data.request]);
|
|
108
|
+
callback();
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
module.exports = {
|
|
113
|
+
jsZipExternals,
|
|
114
|
+
devextremeExternals,
|
|
115
|
+
handleExternals
|
|
116
|
+
}
|