cli-info.js 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. "use strict";
  2. var config = require("../config");
  3. var logger = require("../logger").logger;
  4. var fs = require("fs");
  5. var _ = require("../lodash.custom");
  6. var path = require("path");
  7. var info = {
  8. /**
  9. * Version info
  10. * @param {Object} pjson
  11. * @returns {String}
  12. */
  13. getVersion: function (pjson) {
  14. console.log(pjson.version);
  15. return pjson.version;
  16. },
  17. /**
  18. * Retrieve the config file
  19. * @returns {*}
  20. * @private
  21. * @param filePath
  22. */
  23. getConfigFile: function (filePath) {
  24. return require(path.resolve(filePath));
  25. },
  26. /**
  27. * Generate an example Config file.
  28. */
  29. makeConfig: function (cwd, cb) {
  30. var opts = require(path.join(__dirname, "..", config.configFile));
  31. var userOpts = {};
  32. var ignore = ["excludedFileTypes", "injectFileTypes", "snippetOptions"];
  33. Object.keys(opts).forEach(function (key) {
  34. if (!_.includes(ignore, key)) {
  35. userOpts[key] = opts[key];
  36. }
  37. });
  38. var file = fs.readFileSync(config.template, "utf8");
  39. file = file.replace("//OPTS", JSON.stringify(userOpts, null, 4));
  40. fs.writeFile(path.resolve(cwd, config.userFile), file, function () {
  41. logger.info("Config file created {magenta:%s}", config.userFile);
  42. logger.info("To use it, in the same directory run: " +
  43. "{cyan:browser-sync start --config bs-config.js}");
  44. cb();
  45. });
  46. }
  47. };
  48. module.exports = info;
  49. //# sourceMappingURL=cli-info.js.map