log.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. exports.logSuccess = exports.logPrompt = exports.logger = exports.output = void 0;
  4. const tslib_1 = require("tslib");
  5. const cli_framework_output_1 = require("@ionic/cli-framework-output");
  6. const colors_1 = tslib_1.__importDefault(require("./colors"));
  7. const term_1 = require("./util/term");
  8. const options = {
  9. colors: colors_1.default,
  10. stream: process.argv.includes('--json') ? process.stderr : process.stdout,
  11. };
  12. exports.output = (0, term_1.isInteractive)()
  13. ? new cli_framework_output_1.TTYOutputStrategy(options)
  14. : new cli_framework_output_1.StreamOutputStrategy(options);
  15. exports.logger = (0, cli_framework_output_1.createDefaultLogger)({
  16. output: exports.output,
  17. formatterOptions: {
  18. titleize: false,
  19. tags: new Map([
  20. [cli_framework_output_1.LOGGER_LEVELS.DEBUG, colors_1.default.log.DEBUG('[debug]')],
  21. [cli_framework_output_1.LOGGER_LEVELS.INFO, colors_1.default.log.INFO('[info]')],
  22. [cli_framework_output_1.LOGGER_LEVELS.WARN, colors_1.default.log.WARN('[warn]')],
  23. [cli_framework_output_1.LOGGER_LEVELS.ERROR, colors_1.default.log.ERROR('[error]')],
  24. ]),
  25. },
  26. });
  27. async function logPrompt(msg, promptObject) {
  28. const { wordWrap } = await Promise.resolve().then(() => tslib_1.__importStar(require('@ionic/cli-framework-output')));
  29. const { prompt } = await Promise.resolve().then(() => tslib_1.__importStar(require('prompts')));
  30. exports.logger.log({
  31. msg: `${colors_1.default.input('[?]')} ${wordWrap(msg, { indentation: 4 })}`,
  32. logger: exports.logger,
  33. format: false,
  34. });
  35. return prompt(promptObject, { onCancel: () => process.exit(1) });
  36. }
  37. exports.logPrompt = logPrompt;
  38. function logSuccess(msg) {
  39. exports.logger.msg(`${colors_1.default.success('[success]')} ${msg}`);
  40. }
  41. exports.logSuccess = logSuccess;