This commit is contained in:
Yuri Kuznetsov
2023-06-01 14:10:53 +03:00
parent a1da459343
commit 116a605053
8 changed files with 17 additions and 58 deletions

View File

@@ -48,16 +48,9 @@ module.exports = grunt => {
let bundleFileMap = {
'client/lib/espo-libs.min.js': buildUtils.getPreparedBundleLibList(libs),
'client/lib/espo-templates.min.js': 'client/lib/original/espo-templates.js',
'client/lib/espo-layout-templates.min.js': 'client/lib/original/espo-layout-templates.js',
'client/lib/espo.min.js': originalLibDir + `/espo.js`,
};
for (let i = 0; i < bundleConfig.chunkNumber; i++) {
let bundleFile = originalLibDir + `/espo-${i}.js`;
let minFile = `client/lib/espo-${i}.min.js`;
bundleFileMap[minFile] = [bundleFile];
}
let copyJsFileList = buildUtils.getCopyLibDataList(libs);
let minifyLibFileList = copyJsFileList
@@ -268,27 +261,15 @@ module.exports = grunt => {
files: bundleConfig.files,
patterns: bundleConfig.patterns,
allPatterns: ['client/src/**/*.js'],
chunkNumber: bundleConfig.chunkNumber,
libs: libs,
});
if (!fs.existsSync(originalLibDir)) {
fs.mkdirSync(originalLibDir);
}
let contents = chunks[0] + '\n' +
(new LayoutTypeBundler()).bundle();
chunks.forEach((chunk, i) => {
let file = originalLibDir + `/espo-${i}.js`;
let file = originalLibDir + `/espo.js`;
fs.writeFileSync(file, chunk, 'utf8');
});
});
grunt.registerTask('bundle-layout-templates', () => {
let content = (new LayoutTypeBundler()).bundle();
let file = originalLibDir + `/espo-layout-templates.js`;
fs.writeFileSync(file, content, 'utf8');
fs.writeFileSync(file, contents, 'utf8');
});
grunt.registerTask('template-precompile', () => {
@@ -489,7 +470,6 @@ module.exports = grunt => {
'less',
'cssmin',
'bundle-espo',
'bundle-layout-templates',
'template-precompile',
'prepare-lib-original',
'uglify:bundle',

View File

@@ -1,10 +1,7 @@
{
"scriptList": [
"client/lib/espo-libs.min.js",
"client/lib/espo-0.min.js",
"client/lib/espo-1.min.js",
"client/lib/espo-2.min.js",
"client/lib/espo-layout-templates.min.js",
"client/lib/espo.min.js",
"client/lib/espo-templates.min.js"
],
"developerModeScriptList": [

View File

@@ -55,6 +55,5 @@
"client/res/templates/fields/user-with-avatar/*.tpl",
"client/res/templates/fields/varchar/*.tpl",
"client/res/templates/fields/wysiwyg/*.tpl"
],
"chunkNumber": 3
]
}

View File

@@ -2,10 +2,7 @@
"srcDir": ".",
"srcFiles": [
"client/lib/espo-libs.min.js",
"client/lib/espo-0.min.js",
"client/lib/espo-1.min.js",
"client/lib/espo-2.min.js",
"client/src/collection.js"
"client/lib/espo.min.js"
],
"specDir": "frontend/test/spec",
"specFiles": [

View File

@@ -51,7 +51,7 @@ class Bundler {
* files: string[],
* patterns: string[],
* allPatterns: string[],
* chunkNumber: number,
* chunkNumber?: number,
* libs: {
* src?: string,
* bundle?: boolean,
@@ -61,6 +61,8 @@ class Bundler {
* @return {string[]}
*/
bundle(params) {
let chunkNumber = params.chunkNumber || 1;
let files = []
.concat(params.files)
.concat(this.#obtainFiles(params.patterns, params.files));
@@ -74,10 +76,10 @@ class Bundler {
let sortedFiles = this.#sortFiles(files, allFiles, ignoreLibs);
let portions = [];
let portionSize = Math.floor(sortedFiles.length / params.chunkNumber);
let portionSize = Math.floor(sortedFiles.length / chunkNumber);
for (let i = 0; i < params.chunkNumber; i++) {
let end = i === params.chunkNumber - 1 ?
for (let i = 0; i < chunkNumber; i++) {
let end = i === chunkNumber - 1 ?
sortedFiles.length :
(i + 1) * portionSize;

View File

@@ -34,8 +34,6 @@ const buildUtils = require('./build-utils');
const exec = cp.exec;
const bundleConfig = require('./../frontend/bundle-config.json');
/**
* Builds upgrade packages.
*/
@@ -283,15 +281,8 @@ class Diff
fileList.push('client/lib/espo-libs.min.js');
fileList.push('client/lib/espo-libs.min.js.map');
for (let i = 0; i < bundleConfig.chunkNumber; i++) {
fileList.push(`client/lib/espo-${i}.min.js`);
fileList.push(`client/lib/espo-${i}.min.js.map`);
}
fileList.push('client/lib/espo-layout-templates.min.js');
fileList.push('client/lib/espo-layout-templates.min.js.map');
fileList.push(`client/lib/espo.min.js`);
fileList.push(`client/lib/espo.min.js.map`);
fileList.push('client/lib/espo-templates.min.js');
fileList.push('client/lib/espo-templates.min.js.map');

View File

@@ -30,7 +30,6 @@ const fs = require('fs');
const buildUtils = require('../build-utils');
const libs = require('./../../frontend/libs.json');
const bundleConfig = require('./../../frontend/bundle-config.json');
const libDir = './client/lib';
const originalLibDir = './client/lib/original';
@@ -43,13 +42,9 @@ const originalLibCrmDir = './client/modules/crm/lib/original';
let bundleFiles = [
'espo-templates.js',
'espo-layout-templates.js',
'espo.js',
];
for (let i = 0; i < bundleConfig.chunkNumber; i++) {
bundleFiles.push(`espo-${i}.js`)
}
fs.readdirSync(originalLibDir)
.filter(file => !bundleFiles.includes(file))
.forEach(file => fs.unlinkSync(originalLibDir + '/' + file));

View File

@@ -2,8 +2,6 @@
"manifest": {
"delete": [
"client/lib/original/espo.js",
"client/lib/espo.min.js",
"client/lib/espo.min.js.map",
"client/lib/original/espo.js",
"client/cfg/pre-load.json"
]