67 lines
1.7 KiB
JavaScript
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;
|