UNPKG

dojo-util

Version:

Dojo utilities including build system for optimizing JavaScript application performance, and DOH testing tool

75 lines (60 loc) 2.12 kB
/** * Takes plain JSON structures and wraps them as to requireJS i18n bundles */ djConfig={baseUrl: "../../../dojo/", paths: {"dojo/_base/xhr": "../util/buildscripts/cldr/xhr"}}; load("../../../dojo/dojo.js"); load("../jslib/logger.js"); load("../jslib/fileUtil.js"); load("cldrUtil.js"); dojo.require("dojo.i18n"); var dir/*String*/ = arguments[0];// ${dojo}/dojo/cldr/nls var logDir = arguments[1]; var logStr = ""; print('wrap.js...'); var wrap = function(contents){ return "\n//begin v1.x content\n" + contents + "\n//end v1.x content\n"; }; // for each .js file in the top-level directory, make a filtered list // of all files matching that name in the directory tree var fileLists = fileUtil.getFilteredFileList(dir, /\.js$/, true, false, true) .map(function(file){ var name = file.substring(file.lastIndexOf("/")); return fileUtil.getFilteredFileList(dir, new RegExp(name+"$"), true); }); fileLists.forEach(function(fileList){ var map = {}, list = [], rootFile; fileList.forEach(function(file /*Java String*/){ logStr += "WRAP processing file: "+file.toString()+"\n"; var path = file.split("/"), locale = path[path.length-2], obj = dojo.fromJson(fileUtil.readFile(file)); if(locale=="nls"){ rootFile = file; map.root = obj; logStr += "rootFile="+file.toString()+"\n"; }else{ logStr += "locale added: "+locale+"\n"; list.push(locale); map[locale] = true; fileUtil.saveUtf8File(file, "define(" + wrap(dojo.toJson(obj, true)) + ");"); } }); logStr += "writing rootFile="+rootFile+"\n"; // var contents = wrap(dojo.toJson(map, true)); // Assemble file contents to include 1.x markers around map.root var contents = "{ root:\n"; contents += wrap(dojo.toJson(map.root, true)); if(list.length){ list.sort(); list.forEach(function(l){ contents += ',\n\t"' + l + '": true'; }); contents += "\n"; } contents += "}"; fileUtil.saveUtf8File(rootFile, "define(" + contents + ");"); }); fileUtil.saveUtf8File(logDir + '/wrap.log',logStr+'\n'); //print('wrap finished, please refer to logs at ' + logDir + ' for more details.');