MCPcopy
hub / github.com/MagicMirrorOrg/MagicMirror / getModuleData

Function getModuleData

js/loader.js:90–137  ·  view source on GitHub ↗

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

()

Source from the content-addressed store, hash-verified

88 * @returns {object[]} Module information.
89 */
90async function getModuleData () {
91 const modules = getAllModules();
92 const moduleFiles = [];
93 const envVars = await getEnvVars();
94
95 modules.forEach(function (moduleData, index) {
96 const module = moduleData.module;
97
98 const elements = module.split("/");
99 const moduleName = elements[elements.length - 1];
100 let moduleFolder = `${envVars.modulesDir}/${module}`;
101
102 if (defaultModules.indexOf(moduleName) !== -1) {
103 const defaultModuleFolder = `${envVars.defaultModulesDir}/${module}`;
104 if (window.name !== "jsdom") {
105 moduleFolder = defaultModuleFolder;
106 } else {
107 // running in test mode, allow defaultModules placed under moduleDir for testing
108 if (envVars.modulesDir === "modules") {
109 moduleFolder = defaultModuleFolder;
110 }
111 }
112 }
113
114 if (moduleData.disabled === true) {
115 return;
116 }
117
118 moduleFiles.push({
119 index: index,
120 identifier: `module_${index}_${module}`,
121 name: moduleName,
122 path: `${moduleFolder}/`,
123 file: `${moduleName}.js`,
124 position: moduleData.position,
125 animateIn: moduleData.animateIn,
126 animateOut: moduleData.animateOut,
127 hiddenOnStartup: moduleData.hiddenOnStartup,
128 header: moduleData.header,
129 configDeepMerge: typeof moduleData.configDeepMerge === "boolean" ? moduleData.configDeepMerge : false,
130 config: moduleData.config,
131 classes: typeof moduleData.classes !== "undefined" ? `${moduleData.classes} ${module}` : module,
132 order: (typeof moduleData.order === "number" && Number.isInteger(moduleData.order)) ? moduleData.order : 0
133 });
134 });
135
136 return moduleFiles;
137}
138
139/**
140 * Load modules via ajax request and create module objects.

Callers 1

loadModulesFunction · 0.85

Calls 2

getAllModulesFunction · 0.85
getEnvVarsFunction · 0.70

Tested by

no test coverage detected