in createmobilespec/createmobilespec.js [572:605]
function updateJS() {
if (argv.skipjs) {
console.log("### Skipping the js update.");
} else if (!argv.global) {
if (!fs.existsSync(cordova_js_git_dir)) {
couldNotFind("js", "cordova-js");
} else {
console.log("### Updating js for platforms...");
try {
require(path.join(cordova_js_git_dir, "node_modules", "grunt"));
} catch (e) {
console.error("Grunt isn't installed in cordova-js, you need to:\n\trun `npm install` from: "+ cordova_js_git_dir);
}
platforms.forEach(function (platform) {
var version = require(join_paths([top_dir].concat(platform_layout[platform].bin)) + '/package').version;
pushd(cordova_js_git_dir);
var nodeCommand = /^win/.test(process.platform) ? ("\"" + process.argv[0] + "\" ") : "";
var code = executeShellCommand(nodeCommand + path.join(__dirname, "node_modules", "grunt-cli", "bin", "grunt") + ' compile:' + platform + ' --platformVersion=' + version).code;
if (code) {
console.log("Failed to build js.");
process.exit(1);
}
popd();
var src = path.join(cordova_js_git_dir, "pkg", "cordova." + platform + ".js");
var dest = argv.plugman ? join_paths([top_dir, getProjName(platform)].concat(platform_layout[platform].www).concat(["cordova.js"])) :
path.join(cli_project_dir, "platforms", platform, "platform_www", "cordova.js");
shelljs.cp("-f", src, dest);
console.log("JavaScript file updated for " + platform);
});
}
}
}