From 53549b7422b9e61ed9685f95d36d33031fcf6910 Mon Sep 17 00:00:00 2001 From: Chad Weider Date: Tue, 17 Jan 2012 02:16:25 -0800 Subject: [PATCH] Use constants and CWD-independent paths for resource directories. --- node/utils/Minify.js | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/node/utils/Minify.js b/node/utils/Minify.js index da047bb20..1a214fb92 100644 --- a/node/utils/Minify.js +++ b/node/utils/Minify.js @@ -32,6 +32,10 @@ var gzip = require('gzip'); var server = require('../server'); var os = require('os'); +var ROOT_DIR = path.normalize(__dirname + "/../" ); +var JS_DIR = ROOT_DIR + '../static/js/'; +var CSS_DIR = ROOT_DIR + '../static/css/'; +var CACHE_DIR = ROOT_DIR + '../var/'; var TAR_PATH = path.join(__dirname, 'tar.json'); var tar = JSON.parse(fs.readFileSync(TAR_PATH, 'utf8')); @@ -52,8 +56,6 @@ exports.minifyJS = function(req, res, next) return next(); } - var rootPath = path.normalize(__dirname + "/../../" ); - res.header("Content-Type","text/javascript"); //minifying is enabled @@ -67,7 +69,7 @@ exports.minifyJS = function(req, res, next) //find out the highest modification date function(callback) { - var folders2check = [rootPath + "static/css", rootPath + "static/js"]; + var folders2check = [CSS_DIR, JS_DIR]; //go trough this two folders async.forEach(folders2check, function(path, callback) @@ -106,7 +108,7 @@ exports.minifyJS = function(req, res, next) function(callback) { //check the modification time of the minified js - fs.stat(rootPath + "var/minified_" + jsFilename, function(err, stats) + fs.stat(CACHE_DIR + "/minified_" + jsFilename, function(err, stats) { if(err && err.code != "ENOENT") { @@ -131,7 +133,7 @@ exports.minifyJS = function(req, res, next) { async.forEach(jsFiles, function (item, callback) { - fs.readFile(rootPath + "static/js/" + item, "utf-8", function(err, data) + fs.readFile(JS_DIR + item, "utf-8", function(err, data) { if(ERR(err, callback)) return; fileValues[item] = data; @@ -160,7 +162,7 @@ exports.minifyJS = function(req, res, next) var type = item.match(/INCLUDE_[A-Z]+/g)[0].substr("INCLUDE_".length); //read the included file - fs.readFile(filename, "utf-8", function(err, data) + fs.readFile(ROOT_DIR + filename, "utf-8", function(err, data) { if(ERR(err, callback)) return; @@ -209,7 +211,7 @@ exports.minifyJS = function(req, res, next) //write the results plain in a file function(callback) { - fs.writeFile(rootPath + "var/minified_" + jsFilename, result, "utf8", callback); + fs.writeFile(CACHE_DIR + "minified_" + jsFilename, result, "utf8", callback); }, //write the results compressed in a file function(callback) @@ -223,7 +225,7 @@ exports.minifyJS = function(req, res, next) if(ERR(err, callback)) return; - fs.writeFile(rootPath + "var/minified_" + jsFilename + ".gz", compressedResult, callback); + fs.writeFile(CACHE_DIR + "minified_" + jsFilename + ".gz", compressedResult, callback); }); } //skip this step on windows @@ -247,12 +249,12 @@ exports.minifyJS = function(req, res, next) var pathStr; if(gzipSupport && os.type().indexOf("Windows") == -1) { - pathStr = path.normalize(rootPath + "var/minified_" + jsFilename + ".gz"); + pathStr = path.normalize(CACHE_DIR + "minified_" + jsFilename + ".gz"); res.header('Content-Encoding', 'gzip'); } else { - pathStr = path.normalize(rootPath + "var/minified_" + jsFilename ); + pathStr = path.normalize(CACHE_DIR + "minified_" + jsFilename ); } res.sendfile(pathStr, { maxAge: server.maxAge }); @@ -266,7 +268,7 @@ exports.minifyJS = function(req, res, next) //read all js files async.forEach(jsFiles, function (item, callback) { - fs.readFile(rootPath + "static/js/" + item, "utf-8", function(err, data) + fs.readFile(JS_DIR + item, "utf-8", function(err, data) { if(ERR(err, callback)) return; fileValues[item] = data;