getModuleData = async function () {
		const modules = getAllModules();
		const moduleFiles = [];
		const envVars = await getEnvVars();

		modules.forEach(function (moduleData, index) {
			const module = moduleData.module;

			const elements = module.split("/");
			const moduleName = elements[elements.length - 1];
			let moduleFolder = `${envVars.modulesDir}/${module}`;

			if (defaultModules.indexOf(moduleName) !== -1) {
				const defaultModuleFolder = `modules/default/${module}`;
				if (window.name !== "jsdom") {
					moduleFolder = defaultModuleFolder;
				} else {
					// running in Jest, allow defaultModules placed under moduleDir for testing
					if (envVars.modulesDir === "modules") {
						moduleFolder = defaultModuleFolder;
					}
				}
			}

			if (moduleData.disabled === true) {
				return;
			}

			moduleFiles.push({
				index: index,
				identifier: `module_${index}_${module}`,
				name: moduleName,
				path: `${moduleFolder}/`,
				file: `${moduleName}.js`,
				position: moduleData.position,
				animateIn: moduleData.animateIn,
				animateOut: moduleData.animateOut,
				hiddenOnStartup: moduleData.hiddenOnStartup,
				header: moduleData.header,
				configDeepMerge: typeof moduleData.configDeepMerge === "boolean" ? moduleData.configDeepMerge : false,
				config: moduleData.config,
				classes: typeof moduleData.classes !== "undefined" ? `${moduleData.classes} ${module}` : module
			});
		});

		return moduleFiles;
	}
Generate array with module information including module paths.
@returns {object[]} Module information.