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

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

Loading…
Cancel
Save