vkbeautify-cli
Version:
cli to prettier xml, json, css and sql based on vkbeautify
121 lines (95 loc) • 10.4 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.array.map");
require("core-js/modules/es.promise");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = action;
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
var _fsExtra = _interopRequireDefault(require("fs-extra"));
var _glob2 = _interopRequireDefault(require("glob"));
var _vkbeautify = _interopRequireDefault(require("vkbeautify"));
function action(_x, _x2) {
return _action.apply(this, arguments);
}
function _action() {
_action = (0, _asyncToGenerator2.default)(function* (config, dependancies) {
yield format('css', (yield glob(config.cssFiles)), config, dependancies);
yield format('json', (yield glob(config.jsonFiles)), config, dependancies);
yield format('sql', (yield glob(config.sqlFiles)), config, dependancies);
yield format('xml', (yield glob(config.xmlFiles)), config, dependancies);
return config;
});
return _action.apply(this, arguments);
}
function format(_x3, _x4, _x5, _x6) {
return _format.apply(this, arguments);
}
function _format() {
_format = (0, _asyncToGenerator2.default)(function* (fileType, filePaths, config, dependancies) {
return Promise.all(filePaths.map(filePath => {
return formatFile(fileType, filePath, config, dependancies);
}));
});
return _format.apply(this, arguments);
}
function formatFile(_x7, _x8, _x9, _x10) {
return _formatFile.apply(this, arguments);
}
function _formatFile() {
_formatFile = (0, _asyncToGenerator2.default)(function* (fileType, filePath, config, dependancies) {
const spinner = dependancies.spinner;
const file = (yield _fsExtra.default.readFile(filePath)).toString();
let updatedFile = file;
switch (fileType) {
case 'xml':
if (config.minify) {
updatedFile = _vkbeautify.default.xmlmin(file, config.preserveComments);
} else {
updatedFile = _vkbeautify.default.xml(file, config.indentPattern);
}
break;
case 'json':
if (config.minify) {
updatedFile = _vkbeautify.default.jsonmin(file, config.preserveComments);
} else {
updatedFile = _vkbeautify.default.json(file, config.indentPattern);
}
break;
case 'css':
if (config.minify) {
updatedFile = _vkbeautify.default.cssmin(file, config.preserveComments);
} else {
updatedFile = _vkbeautify.default.css(file, config.indentPattern);
}
break;
case 'sql':
if (config.minify) {
updatedFile = _vkbeautify.default.sqlmin(file, config.preserveComments);
} else {
updatedFile = _vkbeautify.default.sql(file, config.indentPattern);
}
break;
}
spinner.info(filePath);
return _fsExtra.default.writeFile(filePath, updatedFile);
});
return _formatFile.apply(this, arguments);
}
function glob(_x11) {
return _glob.apply(this, arguments);
}
function _glob() {
_glob = (0, _asyncToGenerator2.default)(function* (pattern) {
return new Promise((resolve, reject) => {
return (0, _glob2.default)(pattern, (err, matches) => {
if (err) return reject(err);
return resolve(matches);
});
});
});
return _glob.apply(this, arguments);
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9hY3Rpb24udHMiXSwibmFtZXMiOlsiYWN0aW9uIiwiY29uZmlnIiwiZGVwZW5kYW5jaWVzIiwiZm9ybWF0IiwiZ2xvYiIsImNzc0ZpbGVzIiwianNvbkZpbGVzIiwic3FsRmlsZXMiLCJ4bWxGaWxlcyIsImZpbGVUeXBlIiwiZmlsZVBhdGhzIiwiUHJvbWlzZSIsImFsbCIsIm1hcCIsImZpbGVQYXRoIiwiZm9ybWF0RmlsZSIsInNwaW5uZXIiLCJmaWxlIiwiZnMiLCJyZWFkRmlsZSIsInRvU3RyaW5nIiwidXBkYXRlZEZpbGUiLCJtaW5pZnkiLCJ2a2JlYXV0aWZ5IiwieG1sbWluIiwicHJlc2VydmVDb21tZW50cyIsInhtbCIsImluZGVudFBhdHRlcm4iLCJqc29ubWluIiwianNvbiIsImNzc21pbiIsImNzcyIsInNxbG1pbiIsInNxbCIsImluZm8iLCJ3cml0ZUZpbGUiLCJwYXR0ZXJuIiwicmVzb2x2ZSIsInJlamVjdCIsImVyciIsIm1hdGNoZXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O1NBRzhCQSxNOzs7Ozs0Q0FBZixXQUNiQyxNQURhLEVBRWJDLFlBRmEsRUFHYjtBQUNBLFVBQU1DLE1BQU0sQ0FBQyxLQUFELFNBQWNDLElBQUksQ0FBQ0gsTUFBTSxDQUFDSSxRQUFSLENBQWxCLEdBQXFDSixNQUFyQyxFQUE2Q0MsWUFBN0MsQ0FBWjtBQUNBLFVBQU1DLE1BQU0sQ0FBQyxNQUFELFNBQWVDLElBQUksQ0FBQ0gsTUFBTSxDQUFDSyxTQUFSLENBQW5CLEdBQXVDTCxNQUF2QyxFQUErQ0MsWUFBL0MsQ0FBWjtBQUNBLFVBQU1DLE1BQU0sQ0FBQyxLQUFELFNBQWNDLElBQUksQ0FBQ0gsTUFBTSxDQUFDTSxRQUFSLENBQWxCLEdBQXFDTixNQUFyQyxFQUE2Q0MsWUFBN0MsQ0FBWjtBQUNBLFVBQU1DLE1BQU0sQ0FBQyxLQUFELFNBQWNDLElBQUksQ0FBQ0gsTUFBTSxDQUFDTyxRQUFSLENB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QUFELENBQWQ7QUFDRCxPQUhNLENBQVA7QUFJRCxLQUxNLENBQVA7QUFNRCxHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzLWV4dHJhJztcbmltcG9ydCBnbG9iQ2JmIGZyb20gJ2dsb2InO1xuaW1wb3J0IHZrYmVhdXRpZnkgZnJvbSAndmtiZWF1dGlmeSc7XG5pbXBvcnQgeyBDb25maWcsIERlcGVuZGFuY2llcyB9IGZyb20gJy4vdHlwZXMnO1xuXG5leHBvcnQgZGVmYXVsdCBhc3luYyBmdW5jdGlvbiBhY3Rpb24oXG4gIGNvbmZpZzogQ29uZmlnLFxuICBkZXBlbmRhbmNpZXM6IERlcGVuZGFuY2llc1xuKSB7XG4gIGF3YWl0IGZvcm1hdCgnY3NzJywgYXdhaXQgZ2xvYihjb25maWcuY3NzRmlsZXMpLCBjb25maWcsIGRlcGVuZGFuY2llcyk7XG4gIGF3YWl0IGZvcm1hdCgnanNvbicsIGF3YWl0IGdsb2IoY29uZmlnLmpzb25GaWxlcyksIGNvbmZpZywgZGVwZW5kYW5jaWVzKTtcbiAgYXdhaXQgZm9ybWF0KCdzcWwnLCBhd2FpdCBnbG9iKGNvbmZpZy5zcWxGaWxlcyksIGNvbmZpZywgZGVwZW5kYW5jaWVzKTtcbiAgYXdhaXQgZm9ybWF0KCd4bWwnLCBhd2FpdCBnbG9iKGNvbmZpZy54bWxGaWxlcyksIGNvbmZpZywgZGVwZW5kYW5jaWVzKTtcbiAgcmV0dXJuIGNvbmZpZztcbn1cblxuYXN5bmMgZnVuY3Rpb24gZm9ybWF0KFxuICBmaWxlVHlwZTogc3RyaW5nLFxuICBmaWxlUGF0aHM6IHN0cmluZ1tdLFxuICBjb25maWc6IENvbmZpZyxcbiAgZGVwZW5kYW5jaWVzOiBEZXBlbmRhbmNpZXNcbikge1xuICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgZmlsZVBhdGhzLm1hcChmaWxlUGF0aCA9PiB7XG4gICAgICByZXR1cm4gZm9ybWF0RmlsZShmaWxlVHlwZSwgZmlsZVBhdGgsIGNvbmZpZywgZGVwZW5kYW5jaWVzKTtcbiAgICB9KVxuICApO1xufVxuXG5hc3luYyBmdW5jdGlvbiBmb3JtYXRGaWxlKFxuICBmaWxlVHlwZTogc3RyaW5nLFxuICBmaWxlUGF0aDogc3RyaW5nLFxuICBjb25maWc6IENvbmZpZyxcbiAgZGVwZW5kYW5jaWVzOiBEZXBlbmRhbmNpZXNcbikge1xuICBjb25zdCB7IHNwaW5uZXIgfSA9IGRlcGVuZGFuY2llcztcbiAgY29uc3QgZmlsZSA9IChhd2FpdCBmcy5yZWFkRmlsZShmaWxlUGF0aCkpLnRvU3RyaW5nKCk7XG4gIGxldCB1cGRhdGVkRmlsZSA9IGZpbGU7XG4gIHN3aXRjaCAoZmlsZVR5cGUpIHtcbiAgICBjYXNlICd4bWwnOlxuICAgICAgaWYgKGNvbmZpZy5taW5pZnkpIHtcbiAgICAgICAgdXBkYXRlZEZpbGUgPSB2a2JlYXV0aWZ5LnhtbG1pbihmaWxlLCBjb25maWcucHJlc2VydmVDb21tZW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkRmlsZSA9IHZrYmVhdXRpZnkueG1sKGZpbGUsIGNvbmZpZy5pbmRlbnRQYXR0ZXJuKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2pzb24nOlxuICAgICAgaWYgKGNvbmZpZy5taW5pZnkpIHtcbiAgICAgICAgdXBkYXRlZEZpbGUgPSB2a2JlYXV0aWZ5Lmpzb25taW4oZmlsZSwgY29uZmlnLnByZXNlcnZlQ29tbWVudHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXBkYXRlZEZpbGUgPSB2a2JlYXV0aWZ5Lmpzb24oZmlsZSwgY29uZmlnLmluZGVudFBhdHRlcm4pO1xuICAgICAgfVxuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnY3NzJzpcbiAgICAgIGlmIChjb25maWcubWluaWZ5KSB7XG4gICAgICAgIHVwZGF0ZWRGaWxlID0gdmtiZWF1dGlmeS5jc3NtaW4oZmlsZSwgY29uZmlnLnByZXNlcnZlQ29tbWVudHMpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdXBkYXRlZEZpbGUgPSB2a2JlYXV0aWZ5LmNzcyhmaWxlLCBjb25maWcuaW5kZW50UGF0dGVybik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICBjYXNlICdzcWwnOlxuICAgICAgaWYgKGNvbmZpZy5taW5pZnkpIHtcbiAgICAgICAgdXBkYXRlZEZpbGUgPSB2a2JlYXV0aWZ5LnNxbG1pbihmaWxlLCBjb25maWcucHJlc2VydmVDb21tZW50cyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB1cGRhdGVkRmlsZSA9IHZrYmVhdXRpZnkuc3FsKGZpbGUsIGNvbmZpZy5pbmRlbnRQYXR0ZXJuKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICB9XG4gIHNwaW5uZXIuaW5mbyhmaWxlUGF0aCk7XG4gIHJldHVybiBmcy53cml0ZUZpbGUoZmlsZVBhdGgsIHVwZGF0ZWRGaWxlKTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gZ2xvYihwYXR0ZXJuOiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgcmV0dXJuIGdsb2JDYmYocGF0dGVybiwgKGVycjogRXJyb3IgfCBudWxsLCBtYXRjaGVzOiBzdHJpbmdbXSkgPT4ge1xuICAgICAgaWYgKGVycikgcmV0dXJuIHJlamVjdChlcnIpO1xuICAgICAgcmV0dXJuIHJlc29sdmUobWF0Y2hlcyk7XG4gICAgfSk7XG4gIH0pO1xufVxuIl19