Commit 5f3dc15f authored by Daniel Caillibaud's avatar Daniel Caillibaud

retag 2.12.12 | CLI gère un settings.externalTasks s'il existe

parent d35fed9f
{
"name": "sesalab",
"version": "2.12.11",
"version": "2.12.12",
"scripts": {
"build": "webpack",
"build:watch": "webpack --watch",
......
......@@ -111,6 +111,32 @@ fs.readdirSync(path.join(__dirname, 'tasks'))
})
})
// on ajoute d'éventuelles tasks ajoutées en config
if (settings.externalTasks) {
Object.entries(settings.externalTasks).forEach(([taskName, path]) => {
const commandsList = {}
const module = require(path)
if (typeof module === 'function') {
// en général c'est une fonction, ça donne une commande du nom du fichier
commandsList[taskName] = module
} else if (typeof module === 'object') {
// mais si ça exporte une liste, la commande est le nom de la propriété exportée
Object.keys(module).forEach(name => {
commandsList[name] = module[name]
})
}
if (Object.keys(commandsList).length) {
app.service(`$${taskName}-cli`, function () {
return {
commands: () => commandsList
}
})
} else {
console.error(Error(`Aucune commande trouvée pour ${taskName} (${path})`))
}
})
}
// Gestion du composant principal custom
let mainComponent = app
if (settings.mainComponent) {
......
......@@ -11,6 +11,8 @@
// et pas l'envoyer également sur /dev/null)
// 42 1 * * * leUser /path/to/sesalab/root/source/cli.js cronDaily -q 2>&1 1>/dev/null
// cf logSetup pour la gestion des logs
const fs = require('fs')
const path = require('path')
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment