mirror of
https://github.com/espocrm/espocrm.git
synced 2026-03-03 02:17:01 +00:00
1 chunk
This commit is contained in:
30
Gruntfile.js
30
Gruntfile.js
@@ -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',
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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
|
||||
]
|
||||
}
|
||||
|
||||
@@ -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": [
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
||||
13
js/diff.js
13
js/diff.js
@@ -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');
|
||||
|
||||
|
||||
@@ -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));
|
||||
|
||||
@@ -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"
|
||||
]
|
||||
|
||||
Reference in New Issue
Block a user