"use strict";Object.defineProperty(exports, "__esModule", { value: true });exports.taskRnvPluginUpdate = exports["default"] = void 0;var _inquirer = _interopRequireDefault(require("inquirer"));
var _fileutils = require("../../core/systemManager/fileutils");


var _logger = require("../../core/systemManager/logger");



var _pluginManager = require("../../core/pluginManager");
var _taskManager = require("../../core/taskManager");
var _constants = require("../../core/constants");function _interopRequireDefault(obj) {return obj && obj.__esModule ? obj : { "default": obj };}function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {try {var info = gen[key](arg);var value = info.value;} catch (error) {reject(error);return;}if (info.done) {resolve(value);} else {Promise.resolve(value).then(_next, _throw);}}function _asyncToGenerator(fn) {return function () {var self = this,args = arguments;return new Promise(function (resolve, reject) {var gen = fn.apply(self, args);function _next(value) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value);}function _throw(err) {asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err);}_next(undefined);});};}


var taskRnvPluginUpdate = /*#__PURE__*/function () {var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(c, parentTask, originTask) {var o, _yield$inquirer$promp, confirm, plugins;return regeneratorRuntime.wrap(function _callee$(_context) {while (1) {switch (_context.prev = _context.next) {case 0:
            (0, _logger.logTask)('taskRnvPluginUpdate');_context.next = 3;return (

              (0, _taskManager.executeTask)(c, _constants.TASK_PROJECT_CONFIGURE, _constants.TASK_PLUGIN_UPDATE, originTask));case 3:

            o = (0, _pluginManager.getPluginList)(c, true);

            // console.log(o.asString);
            _context.next = 6;return (
              _inquirer["default"].prompt({
                name: 'confirm',
                type: 'confirm',
                message: 'Above installed plugins will be updated with RNV' }));case 6:_yield$inquirer$promp = _context.sent;confirm = _yield$inquirer$promp.confirm;


            if (confirm) {
              plugins = c.buildConfig.plugins;
              Object.keys(plugins).forEach(function (key) {
                // c.buildConfig.plugins[key] = o.json[key];
                c.files.project.config.plugins[key] = o.json[key];
              });

              (0, _fileutils.writeFileSync)(c.paths.project.config, c.files.project.config);

              (0, _logger.logSuccess)('Plugins updated successfully!');
            }case 9:case "end":return _context.stop();}}}, _callee);}));return function taskRnvPluginUpdate(_x, _x2, _x3) {return _ref.apply(this, arguments);};}();exports.taskRnvPluginUpdate = taskRnvPluginUpdate;var _default =


{
  description: 'Update specific plugin to latest supported version (rnv)',
  fn: taskRnvPluginUpdate,
  task: 'plugin update',
  params: _constants.PARAMS.withBase(),
  platforms: [] };exports["default"] = _default;
//# sourceMappingURL=task.rnv.plugin.update.js.map