From 1e2f559c2e3b159deb4208d36be46c62f53fb539 Mon Sep 17 00:00:00 2001 From: AJ ONeal Date: Sat, 19 Dec 2015 11:59:50 -0800 Subject: [PATCH] close #8 template ~ as os.homedir --- lib/common.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/common.js b/lib/common.js index 36cf6f8..6615e83 100644 --- a/lib/common.js +++ b/lib/common.js @@ -1,12 +1,14 @@ 'use strict'; var fs = require('fs'); +var path = require('path'); var PromiseA = require('bluebird'); +var homeRe = new RegExp("^~(\\/|\\\|\\" + path.sep + ")"); var re = /^[a-zA-Z0-9\.\-]+$/; var punycode = require('punycode'); -mudole.exports.isValidDomain = function (domain) { +module.exports.isValidDomain = function (domain) { if (re.test(domain)) { return domain; } @@ -21,9 +23,11 @@ mudole.exports.isValidDomain = function (domain) { }; module.exports.tplConfigDir = function merge(configDir, defaults) { + var homedir = require('homedir')(); Object.keys(defaults).forEach(function (key) { if ('string' === typeof defaults[key]) { defaults[key] = defaults[key].replace(':config', configDir).replace(':conf', configDir); + defaults[key] = defaults[key].replace(homeRe, homedir + path.sep); } }); }; @@ -42,9 +46,11 @@ module.exports.merge = function merge(defaults, args) { }; module.exports.tplHostname = function merge(hostname, copy) { + var homedir = require('homedir')(); Object.keys(copy).forEach(function (key) { if ('string' === typeof copy[key]) { copy[key] = copy[key].replace(':hostname', hostname).replace(':host', hostname); + copy[key] = copy[key].replace(homeRe, homedir + path.sep); } });