define([ "./fs", "./buildControlBase", "dojo/has" ], function(fs, bc, has){ var getFilename = function(filename){ if(/\//.test(filename)){ return filename.match(/^.*\/([^\/]+)$/)[1]; } return filename; }, getFilepath = function(filename){ if(/\//.test(filename)){ var result = filename.match(/^(.*)\/[^\/]+$/)[1]; // if result=="", then must have been something like "/someFile" return result.length ? result : "/"; } return ""; }, getFiletype = function(filename, trimDot){ var match = filename.match(/(\.([^\/]*))$/); return (match && (trimDot ? match[2] : match[1])) || ""; }, cleanupPath = function(path){ // change any falsy to "" path = path || ""; // change all backslashes to forward slashes for those with bad habits from windows path = path.replace(/\\/g, "/"); // remove any trailing "/" to be less sensitive to careless user input // but remember "/" is not a trailing slash--it's the root if(path.length>1 && path.charAt(path.length-1)=="/"){ path = path.substring(0, path.length-1); } return path; }, catPath = function(lhs, rhs){ if(arguments.length>2){ for(var args = [], i = 1; i