Skip to content

Commit ec470c0

Browse files
authored
IBX-10331: Fixed memory leak while compiling assets
1 parent eec0460 commit ec470c0

8 files changed

+63
-20
lines changed

ibexa.webpack.all.configs.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
const ibexaConfig = require('@ibexa/frontend-config/webpack-config/ibexa');
2+
const richtextConfig = require('@ibexa/frontend-config/webpack-config/richtext');
3+
const internalsConfig = require('@ibexa/frontend-config/webpack-config/internals');
4+
const libsConfig = require('@ibexa/frontend-config/webpack-config/libs');
5+
6+
module.exports = [
7+
ibexaConfig,
8+
...richtextConfig,
9+
...internalsConfig,
10+
...libsConfig,
11+
];

ibexa.webpack.configs.js

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
const path = require('path');
2+
3+
module.exports = (Encore, configPaths) => configPaths.reduce((configs, configPath) => {
4+
Encore.reset();
5+
6+
let loadedConfig = require(path.resolve(configPath));
7+
8+
if (typeof loadedConfig === 'function') {
9+
loadedConfig = loadedConfig(Encore);
10+
}
11+
12+
if (!Array.isArray(loadedConfig)) {
13+
loadedConfig = [loadedConfig];
14+
}
15+
16+
return [ ...configs, ...loadedConfig ];
17+
}, []);

ibexa.webpack.custom.configs.js

Lines changed: 0 additions & 15 deletions
This file was deleted.
Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,16 @@
1+
const Encore = require('@symfony/webpack-encore');
12
const path = require('path');
3+
const ibexaConfigManager = require('@ibexa/frontend-config/webpack-config/manager');
24

3-
const ibexaConfigManager = require('./ibexa.webpack.config.manager.js');
5+
module.exports = (modifyEncoreConfig) => {
6+
const bundles = require(path.resolve('./var/encore/ibexa.config.js'));
7+
const managers = require(path.resolve('./var/encore/ibexa.config.manager.js'));
8+
const setups = require(path.resolve('./var/encore/ibexa.config.setup.js'));
49

5-
module.exports = (Encore, { bundles, managers, setups }, modifyEncoreConfig) => {
610
process.env.NODE_ENV ??= Encore.isProduction() ? 'production' : 'development';
711

8-
Encore.setOutputPath('public/assets/ibexa/build')
12+
Encore
13+
.setOutputPath('public/assets/ibexa/build')
914
.setPublicPath('/assets/ibexa/build')
1015
.addExternals({
1116
react: 'React',

ibexa.webpack.internals.configs.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const path = require('path');
2+
const Encore = require('@symfony/webpack-encore');
3+
const getWebpackConfigs = require('@ibexa/frontend-config/webpack-config/get-configs');
4+
const internalConfigsPaths = require(path.resolve('./var/encore/ibexa.webpack.internal.config.js'));
5+
6+
module.exports = getWebpackConfigs(Encore, internalConfigsPaths);

ibexa.webpack.libs.configs.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const path = require('path');
2+
const Encore = require('@symfony/webpack-encore');
3+
const getWebpackConfigs = require('@ibexa/frontend-config/webpack-config/get-configs');
4+
const libsConfigsPaths = require(path.resolve('./var/encore/ibexa.webpack.libs.config.js'));
5+
6+
module.exports = getWebpackConfigs(Encore, libsConfigsPaths);

ibexa.webpack.richtext.configs.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
const path = require('path');
2+
const Encore = require('@symfony/webpack-encore');
3+
const getWebpackConfigs = require('@ibexa/frontend-config/webpack-config/get-configs');
4+
const richtextConfigsPaths = require(path.resolve('./var/encore/ibexa.webpack.richtext.config.js'));
5+
6+
module.exports = getWebpackConfigs(Encore, richtextConfigsPaths);

package.json

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,16 @@
33
"packageManager": "yarn@1.22.22",
44
"version": "5.0.0-rc1",
55
"repository": "git@github.com:ibexa/frontend-config.git",
6+
"devDependencies": {
7+
"@symfony/webpack-encore": "^5.1.0"
8+
},
69
"exports": {
7-
"./webpack-config": "./ibexa.webpack.config.js",
10+
"./webpack-config/all": "./ibexa.webpack.all.configs.js",
11+
"./webpack-config/ibexa": "./ibexa.webpack.ibexa.configs.js",
12+
"./webpack-config/internals": "./ibexa.webpack.internals.configs.js",
13+
"./webpack-config/libs": "./ibexa.webpack.libs.configs.js",
14+
"./webpack-config/richtext": "./ibexa.webpack.richtext.configs.js",
815
"./webpack-config/manager": "./ibexa.webpack.config.manager.js",
9-
"./webpack-config/custom": "./ibexa.webpack.custom.configs.js"
16+
"./webpack-config/get-configs": "./ibexa.webpack.configs.js"
1017
}
1118
}

0 commit comments

Comments
 (0)