ld31-space-diggers/node_modules/browser-sync/lib/cli/cli-info.js
Ruben Müller 760c1838ed Add game
2014-12-07 20:57:49 +01:00

67 lines
1.7 KiB
JavaScript

"use strict";
var config = require("./../config");
var utils = require("./../utils");
var logger = require("./../logger").logger;
var fs = require("fs");
var _ = require("lodash");
var path = require("path");
var info = {
/**
* Version info
* @param {Object} pjson
* @returns {String}
*/
getVersion: function (pjson) {
console.log(pjson.version);
return pjson.version;
},
/**
* Retrieve the config file
* @returns {*}
* @private
* @param filePath
*/
_getConfigFile: function (filePath) {
var relPath = path.resolve(process.cwd() + "/" + filePath);
if (fs.existsSync(relPath)) {
return require(relPath);
}
return false;
},
/**
* Generate an example Config file.
*/
makeConfig: function (cwd) {
var opts = require(__dirname + "/../" + config.configFile);
var userOpts = {};
var ignore = ["excludedFileTypes", "injectFileTypes"];
Object.keys(opts).forEach(function (key) {
if (!_.contains(ignore, key)) {
userOpts[key] = opts[key];
}
});
var file = fs.readFileSync(__dirname + config.template);
file = file.toString().replace("//OPTS", JSON.stringify(userOpts, null, 4));
var path = cwd + config.userFile;
fs.writeFile(path, file, function () {
logger.info("Config file created {magenta:%s}", utils.resolveRelativeFilePath(path, cwd));
logger.info(
"To use it, in the same directory run: " +
"{cyan:browser-sync start --config bs-config.js}"
);
});
}
};
module.exports = info;