~ Fixed webpack builds fails when private_gears folders are not

available
pull/15126/head
Luis Arce 5 years ago
parent 855da0a43a
commit bf34c77e99

@ -112,47 +112,49 @@ var gearEntryPoints = {};
path.join(__dirname, '../../../gears'), path.join(__dirname, '../../../gears'),
path.join(__dirname, '../../../private_gears') path.join(__dirname, '../../../private_gears')
].forEach((gearsDir) => { ].forEach((gearsDir) => {
fs.readdirSync(gearsDir).forEach((gearName) => { if (fs.existsSync(gearsDir)) {
// Find HtmlWebpackPlugin extensions and overrides fs.readdirSync(gearsDir).forEach((gearName) => {
let gearWebpackFilesPath = path.join(gearsDir, gearName, 'webpack/static-pages/webpack_files.js'); // Find HtmlWebpackPlugin extensions and overrides
if (fs.existsSync(gearWebpackFilesPath)) { let gearWebpackFilesPath = path.join(gearsDir, gearName, 'webpack/static-pages/webpack_files.js');
let gearWebpackFiles = require(gearWebpackFilesPath); if (fs.existsSync(gearWebpackFilesPath)) {
let gearWebpackFiles = require(gearWebpackFilesPath);
if (gearWebpackFiles.htmlFiles) { if (gearWebpackFiles.htmlFiles) {
console.info(`> Found HtmlWebpackPlugin extension for gear ${gearName} in ${gearWebpackFilesPath}`); console.info(`> Found HtmlWebpackPlugin extension for gear ${gearName} in ${gearWebpackFilesPath}`);
Object.entries(gearWebpackFiles.htmlFiles).forEach(([entryName, config]) => { Object.entries(gearWebpackFiles.htmlFiles).forEach(([entryName, config]) => {
if (!files[entryName]) { if (!files[entryName]) {
console.info(`> ┕╸ Added entryName "${entryName}"`); console.info(`> ┕╸ Added entryName "${entryName}"`);
files[entryName] = {}; files[entryName] = {};
} else {
console.info(`> ┕╸ Extended entryName "${entryName}"`);
}
Object.entries(config).forEach(([confName, val]) => {
if (files[entryName][confName] instanceof Array && val instanceof Array) {
files[entryName][confName].push(...val);
} else { } else {
files[entryName][confName] = val; console.info(`> ┕╸ Extended entryName "${entryName}"`);
} }
});
}); Object.entries(config).forEach(([confName, val]) => {
} if (files[entryName][confName] instanceof Array && val instanceof Array) {
// Find entry point overrides files[entryName][confName].push(...val);
} else {
files[entryName][confName] = val;
}
});
if (gearWebpackFiles.entryPoints) { });
console.info(`> Found entry points for gear ${gearName} in ${gearWebpackFilesPath}`); }
// Find entry point overrides
Object.entries(gearWebpackFiles.entryPoints).forEach(([entryName, entryPath]) => { if (gearWebpackFiles.entryPoints) {
entryPath = path.resolve(gearsDir, gearName, 'lib/build/files/', entryPath); console.info(`> Found entry points for gear ${gearName} in ${gearWebpackFilesPath}`);
gearEntryPoints[entryName] = entryPath;
console.info(`> ┕╸ Added entry "${entryName}" at ${entryPath}`); Object.entries(gearWebpackFiles.entryPoints).forEach(([entryName, entryPath]) => {
}); entryPath = path.resolve(gearsDir, gearName, 'lib/build/files/', entryPath);
gearEntryPoints[entryName] = entryPath;
console.info(`> ┕╸ Added entry "${entryName}" at ${entryPath}`);
});
}
} }
} });
}); }
}); });
module.exports = { module.exports = {

@ -192,20 +192,22 @@ const entries = {
path.join(__dirname, '../../gears'), path.join(__dirname, '../../gears'),
path.join(__dirname, '../../private_gears') path.join(__dirname, '../../private_gears')
].forEach((gearsDir) => { ].forEach((gearsDir) => {
fs.readdirSync(gearsDir).forEach((gearName) => { if (fs.existsSync(gearsDir)) {
// Find HtmlWebpackPlugin extensions and overrides fs.readdirSync(gearsDir).forEach((gearName) => {
let gearWebpackFilesPath = path.join(gearsDir, gearName, 'webpack/v4/entryPoints.js'); // Find HtmlWebpackPlugin extensions and overrides
if (fs.existsSync(gearWebpackFilesPath)) { let gearWebpackFilesPath = path.join(gearsDir, gearName, 'webpack/v4/entryPoints.js');
let gearWebpackFiles = require(gearWebpackFilesPath); if (fs.existsSync(gearWebpackFilesPath)) {
Object.entries(gearWebpackFiles).forEach(([entryName, entry]) => { let gearWebpackFiles = require(gearWebpackFilesPath);
if (entries[entryName] !== undefined){ Object.entries(gearWebpackFiles).forEach(([entryName, entry]) => {
entries[entryName].concat(entry); if (entries[entryName] !== undefined) {
} else { entries[entryName].concat(entry);
entries[entryName] = entry; } else {
} entries[entryName] = entry;
}); }
} });
}); }
});
}
}); });
module.exports = entries; module.exports = entries;

Loading…
Cancel
Save