first commit
This commit is contained in:
50
resources/frontend/compiler/index.js
Normal file
50
resources/frontend/compiler/index.js
Normal file
@@ -0,0 +1,50 @@
|
||||
const fs = require('fs'),
|
||||
path = require('path'),
|
||||
isObject = require('lodash/isObject'),
|
||||
merge = require('lodash/merge');
|
||||
|
||||
module.exports = () => {
|
||||
console.log('Reading modules config file...');
|
||||
const p = path.join(__dirname, '..', 'etc', 'modules.config.json');
|
||||
|
||||
if (!fs.existsSync(path.join(__dirname, '..', 'generated'))) {
|
||||
fs.mkdirSync(path.join(__dirname, '..', 'generated'));
|
||||
}
|
||||
if (!fs.existsSync(p)) {
|
||||
console.error('modules.config.json was not found in [etc] folder');
|
||||
return undefined;
|
||||
}
|
||||
let moduleList = require(p);
|
||||
|
||||
let fdArray = ['export default ['];
|
||||
|
||||
if (fs.existsSync(path.join(__dirname, '..', 'etc', `modules.${process.env.NODE_ENV}.json`))) {
|
||||
moduleList = merge(
|
||||
moduleList,
|
||||
require(path.join(__dirname, '..', 'etc', `modules.${process.env.NODE_ENV}.json`)),
|
||||
);
|
||||
}
|
||||
|
||||
if (fs.existsSync(path.join(__dirname, '..', 'etc', 'modules.local.json'))) {
|
||||
moduleList = merge(moduleList, require(path.join(__dirname, '..', 'etc', 'modules.local.json')));
|
||||
}
|
||||
|
||||
Object.keys(moduleList).forEach(moduleName => {
|
||||
if (isObject(moduleList[moduleName])) {
|
||||
const moduleConfig = moduleList[moduleName];
|
||||
|
||||
if (
|
||||
moduleConfig.type === 'package' &&
|
||||
(Object.prototype.hasOwnProperty.call(moduleConfig, 'enabled') ? moduleConfig.enabled : true)
|
||||
) {
|
||||
fdArray.push(` () => require('${moduleConfig.ref}'),`);
|
||||
console.log(`${moduleName} => added package as static require dependency`);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
fdArray.push('];');
|
||||
|
||||
fs.writeFileSync(path.join(__dirname, '..', 'generated', 'module.require.js'), fdArray.join('\n'));
|
||||
console.log('Finished...');
|
||||
};
|
||||
Reference in New Issue
Block a user