Skip to content

Commit e546fed

Browse files
authored
updatenotification: add param to get modules from modules-dir instead… (#3755)
… from config implements #3739
1 parent 2e57d78 commit e546fed

File tree

3 files changed

+21
-2
lines changed

3 files changed

+21
-2
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ planned for 2025-04-01
2222
- [newsfeed] Add specific ignoreOlderThan value (override) per feed (#3360)
2323
- [weather] Added option Humidity to hourly View
2424
- [weather] Added option to hide hourly entries that are Zero, hiding the entire column if empty.
25+
- [updatenotification] Added option to iterate over modules directory instead using modules defined in `config.js` (#3739)
2526

2627
### Changed
2728

modules/default/updatenotification/node_helper.js

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
const fs = require("node:fs");
2+
const path = require("node:path");
13
const NodeHelper = require("node_helper");
24
const defaultModules = require("../defaultmodules");
35
const GitHelper = require("./git_helper");
@@ -14,8 +16,23 @@ module.exports = NodeHelper.create({
1416
gitHelper: new GitHelper(),
1517
updateHelper: null,
1618

19+
getModules (modules) {
20+
if (this.config.useModulesFromConfig) {
21+
return modules;
22+
} else {
23+
// get modules from modules-directory
24+
const moduleDir = path.normalize(`${__dirname}/../../`);
25+
const getDirectories = (source) => {
26+
return fs.readdirSync(source, { withFileTypes: true })
27+
.filter((dirent) => dirent.isDirectory() && dirent.name !== "default")
28+
.map((dirent) => dirent.name);
29+
};
30+
return getDirectories(moduleDir);
31+
}
32+
},
33+
1734
async configureModules (modules) {
18-
for (const moduleName of modules) {
35+
for (const moduleName of this.getModules(modules)) {
1936
if (!this.ignoreUpdateChecking(moduleName)) {
2037
await this.gitHelper.add(moduleName);
2138
}

modules/default/updatenotification/updatenotification.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ Module.register("updatenotification", {
66
sendUpdatesNotifications: false,
77
updates: [],
88
updateTimeout: 2 * 60 * 1000, // max update duration
9-
updateAutorestart: false // autoRestart MM when update done ?
9+
updateAutorestart: false, // autoRestart MM when update done ?
10+
useModulesFromConfig: true // if `false` iterate over modules directory
1011
},
1112

1213
suspended: false,

0 commit comments

Comments
 (0)