UNPKG

forever-service

Version:

Provision node script as a service via forever, allowing it to automatically start on boot, working across various Linux distros and OS

34 lines (24 loc) 917 B
var path = require('path') var walker = require('walker'); function platform(){ this.p = null; } platform.prototype.get=function(callback){ walker(__dirname+'/../templates').on('dir', function(entry, stat){ if(this.p) return; //If already platform is found dont go further if(entry.match(/templates$/g)) return; //Ignore the templates directory itself var folder = path.basename(entry); var platformInstaller = require(entry+'/installer.js'); var ret = platformInstaller.initialize(); if(ret){ this.p = Object.create(ret); this.p.folder = folder; this.p.installer = platformInstaller; //It is better to have predictable forever root according to sudo user this.p.foreverRoot = process.env.FOREVER_ROOT || path.join(process.env.HOME || process.env.USERPROFILE || '/root', '.forever'); } }).on('end', function(){ callback(null, this.p); }) } module.exports = new platform();