digger-stack
Version:
A service map for a digger network
48 lines (40 loc) • 1.25 kB
JavaScript
module.exports = function(program){
var tools = require('./tools');
var fs = require('fs');
var path = require('path');
var application_root = tools.application_root(program);
var quarry_root = application_root + '/.quarry';
var config_path = quarry_root + '/digger.json';
var env_path = quarry_root + '/env';
if(!fs.existsSync(quarry_root)){
console.error('you need to run digger build first');
process.exit(1);
}
var stack_config = require(config_path);
// populate the env
// this will come from outside now
if(fs.existsSync(env_path)){
var files = fs.readdirSync(env_path);
(files || []).forEach(function(file){
var envtext = fs.readFileSync(env_path + '/' + file, 'utf8');
process.env[file] = envtext;
})
}
return {
http_port:process.env.DIGGER_HTTP_PORT || 80,
stack_config:stack_config,
application_root:application_root,
filepath:function(filepath){
if(!filepath){
return filepath;
}
if(filepath.charAt(0)==='/'){
return path.normalize(filepath);
}
if(filepath.indexOf(application_root)==0){
return filepath;
}
return path.normalize(application_root + '/' + filepath);
}
}
}