MOON
Server: Apache
System: Linux nserver.cafsindia.com 4.18.0-553.104.1.lve.el8.x86_64 #1 SMP Tue Feb 10 20:07:30 UTC 2026 x86_64
User: cafsindia (1002)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/cafsindia/snap.cafsinfotech.in/resources/frontend/compiler/index.js
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...');
};