vkbeautify-cli
Version:
cli to prettier xml, json, css and sql based on vkbeautify
62 lines (45 loc) • 8.91 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
require("core-js/modules/es.array.concat");
require("core-js/modules/es.array.filter");
require("core-js/modules/es.array.iterator");
require("core-js/modules/es.object.entries");
require("core-js/modules/es.object.get-own-property-descriptors");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = createConfig;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _cosmiconfig = _interopRequireDefault(require("cosmiconfig"));
var _mergeConfiguration = _interopRequireDefault(require("merge-configuration"));
var _pkgDir = _interopRequireDefault(require("pkg-dir"));
var _runtime = require("babel-plugin-ts-optchain/lib/runtime");
var _defaultConfig = _interopRequireDefault(require("./defaultConfig"));
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { if (i % 2) { var source = arguments[i] != null ? arguments[i] : {}; var ownKeys = Object.keys(source); if (typeof Object.getOwnPropertySymbols === 'function') { ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) { return Object.getOwnPropertyDescriptor(source, sym).enumerable; })); } ownKeys.forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else { Object.defineProperties(target, Object.getOwnPropertyDescriptors(arguments[i])); } } return target; }
function createConfig(options = {}, customConfig = {}) {
const rootPath = _pkgDir.default.sync(process.cwd()) || process.cwd();
options = sanitizeOptions(options);
const userConfig = (0, _runtime.oc)((0, _cosmiconfig.default)('vkbeautify').searchSync(rootPath), ["config"], {});
let config = (0, _mergeConfiguration.default)(_defaultConfig.default, userConfig);
config = (0, _mergeConfiguration.default)(config, customConfig);
const indentPattern = options.indentPattern && options.indentPattern.length && options.indentPattern[0] === ' ' || Number.isNaN(Number(options.indentPattern)) ? options.indentPattern : Number(options.indentPattern);
config = _objectSpread({}, config, {
cssFiles: options.cssFiles || config.cssFiles,
jsonFiles: options.jsonFiles || config.jsonFiles,
sqlFiles: options.sqlFiles || config.sqlFiles,
xmlFiles: options.xmlFiles || config.xmlFiles,
indentPattern: indentPattern || typeof indentPattern === 'number' ? indentPattern : config.indentPattern,
minify: typeof options.minify === 'boolean' ? options.minify : config.minify,
preserveComments: typeof options.preserveComments === 'boolean' ? options.preserveComments : config.preserveComments
});
return config;
}
function sanitizeOptions(options) {
return Object.entries(options).reduce((options, [key, option]) => {
if (key.length && key[0] !== '_' && key !== 'Command' && key !== 'Option' && key !== 'args' && key !== 'commands' && key !== 'options' && key !== 'rawArgs') {
options[key] = option;
}
return options;
}, {});
}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb25maWcvY3JlYXRlQ29uZmlnLnRzIl0sIm5hbWVzIjpbImNyZWF0ZUNvbmZpZyIsIm9wdGlvbnMiLCJjdXN0b21Db25maWciLCJyb290UGF0aCIsInBrZ0RpciIsInN5bmMiLCJwcm9jZXNzIiwiY3dkIiwic2FuaXRpemVPcHRpb25zIiwidXNlckNvbmZpZyIsIm9jIiwic2VhcmNoU3luYyIsImNvbmZpZyIsImRlZmF1bHRDb25maWciLCJpbmRlbnRQYXR0ZXJuIiwibGVuZ3RoIiwiTnVtYmVyIiwiaXNOYU4iLCJjc3NGaWxlcyIsImpzb25GaWxlcyIsInNxbEZpbGVzIiwieG1sRmlsZXMiLCJtaW5pZnkiLCJwcmVzZXJ2ZUNvbW1lbnRzIiwiT2JqZWN0IiwiZW50cmllcyIsInJlZHVjZSIsImtleSIsIm9wdGlvbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7Ozs7QUFHZSxTQUFTQSxZQUFULENBQ2JDLE9BQWdCLEdBQUcsRUFETixFQUViQyxZQUE2QixHQUFHLEVBRm5CLEVBR0w7QUFDUixRQUFNQyxRQUFRLEdBQUdDLGdCQUFPQyxJQUFQLENBQVlDLE9BQU8sQ0FBQ0MsR0FBUixFQUFaLEtBQThCRCxPQUFPLENBQUNDLEdBQVIsRUFBL0M7QUFDQU4sRUFBQUEsT0FBTyxHQUFHTyxlQUFlLENBQUNQLE9BQUQsQ0FBekI7QUFDQSxRQUFNUSxVQUEyQixPQUFHQyxXQUFILEVBQy9CLDBCQUFZLFlBQVosRUFBMEJDLFVBQTFCLENBQXFDUixRQUFyQyxDQUQrQixjQUV4QixFQUZ3QixDQUFqQztBQUdBLE1BQUlTLE1BQU0sR0FBRyxpQ0FBbUJDLHNCQUFuQixFQUFrQ0osVUFBbEMsQ0FBYjtBQUNBRyxFQUFBQSxNQUFNLEdBQUcsaUNBQW1CQSxNQUFuQixFQUEyQlYsWUFBM0IsQ0FBVDtBQUNBLFFBQU1ZLGFBQWEsR0FDaEJiLE9BQU8sQ0FBQ2EsYUFBUixJQUNDYixPQUFPLENBQUNhLGFBQVIsQ0FBc0JDLE1BRHZCLElBRUNkLE9BQU8sQ0FBQ2EsYUFBUixDQUFzQixDQUF0QixNQUE2QixHQUYvQixJQUdBRSxNQUFNLENBQUNDLEtBQVAsQ0FBYUQsTUFBTSxDQUFDZixPQUFPLENBQUNhLGFBQVQsQ0FBbkIsQ0FIQSxHQUlJYixPQUFPLENBQUNhLGFBSlosR0FLSUUsTUFBTSxDQUFDZixPQUFPLENBQUNhLGFBQVQsQ0FOWjtBQU9BRixFQUFBQSxNQUFNLHFCQUNEQSxNQURDO0FBRUpNLElBQUFBLFFBQVEsRUFBRWpCLE9BQU8sQ0FBQ2lCLFFBQVIsSUFBb0JOLE1BQU0sQ0FBQ00sUUFGakM7QUFHSkMsSUFBQUEsU0FBUyxFQUFFbEIsT0FBTyxDQUFDa0IsU0FBUixJQUFxQlAsTUFBTSxDQUFDTyxTQUhuQztBQUlKQyxJQUFBQSxRQUFRLEVBQUVuQixPQUFPLENBQUNtQixRQUFSLElBQW9CUixNQUFNLENBQUNRLFFBSmpDO0FBS0pDLElBQUFBLFFBQVEsRUFBRXBCLE9BQU8sQ0FBQ29CLFFBQVIsSUFBb0JULE1BQU0sQ0FBQ1MsUUFMakM7QUFNSlAsSUFBQUEsYUFBYSxFQUNYQSxhQUFhLElBQUksT0FBT0EsYUFBUCxLQUF5QixRQUExQyxHQUNJQSxhQURKLEdBRUlGLE1BQU0sQ0FBQ0UsYUFUVDtBQVVKUSxJQUFBQSxNQUFNLEVBQ0osT0FBT3JCLE9BQU8sQ0FBQ3FCLE1BQWYsS0FBMEIsU0FBMUIsR0FBc0NyQixPQUFPLENBQUNxQixNQUE5QyxHQUF1RFYsTUFBTSxDQUFDVSxNQVg1RDtBQVlKQyxJQUFBQSxnQkFBZ0IsRUFDZCxPQUFPdEIsT0FBTyxDQUFDc0IsZ0JBQWYsS0FBb0MsU0FBcEMsR0FDSXRCLE9BQU8sQ0FBQ3NCLGdCQURaLEdBRUlYLE1BQU0sQ0FBQ1c7QUFmVCxJQUFOO0FBaUJBLFNBQU9YLE1BQVA7QUFDRDs7QUFFRCxTQUFTSixlQUFULENBQXlCUCxPQUF6QixFQUFvRDtBQUNsRCxTQUFPdUIsTUFBTSxDQUFDQyxPQUFQLENBQWV4QixPQUFmLEVBQXdCeUIsTUFBeEIsQ0FDTCxDQUFDekIsT0FBRCxFQUFxQyxDQUFDMEIsR0FBRCxFQUFNQyxNQUFOLENBQXJDLEtBQXlFO0FBQ3ZFLFFBQ0VELEdBQUcsQ0FBQ1osTUFBSixJQUNBWSxHQUFHLENBQUMsQ0FBRCxDQUFILEtBQVcsR0FEWCxJQUVBQSxHQUFHLEtBQUssU0FGUixJQUdBQSxHQUFHLEtBQUssUUFIUixJQUlBQSxHQUFHLEtBQUssTUFKUixJQUtBQSxHQUFHLEtBQUssVUFMUixJQU1BQSxHQUFHLEtBQUssU0FOUixJQU9BQSxHQUFHLEtBQUssU0FSVixFQVNFO0FBQ0ExQixNQUFBQSxPQUFPLENBQUMwQixHQUFELENBQVAsR0FBZUMsTUFBZjtBQUNEOztBQUNELFdBQU8zQixPQUFQO0FBQ0QsR0FmSSxFQWdCTCxFQWhCSyxDQUFQO0FBa0JEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvc21pY29uZmlnIGZyb20gJ2Nvc21pY29uZmlnJztcbmltcG9ydCBtZXJnZUNvbmZpZ3VyYXRpb24gZnJvbSAnbWVyZ2UtY29uZmlndXJhdGlvbic7XG5pbXBvcnQgcGtnRGlyIGZyb20gJ3BrZy1kaXInO1xuaW1wb3J0IHsgb2MgfSBmcm9tICd0cy1vcHRjaGFpbi5tYWNybyc7XG5pbXBvcnQgZGVmYXVsdENvbmZpZyBmcm9tICcuL2RlZmF1bHRDb25maWcnO1xuaW1wb3J0IHsgQ29uZmlnLCBPcHRpb24sIE9wdGlvbnMgfSBmcm9tICcuLi90eXBlcyc7XG5cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIGNyZWF0ZUNvbmZpZyhcbiAgb3B0aW9uczogT3B0aW9ucyA9IHt9LFxuICBjdXN0b21Db25maWc6IFBhcnRpYWw8Q29uZmlnPiA9IHt9XG4pOiBDb25maWcge1xuICBjb25zdCByb290UGF0aCA9IHBrZ0Rpci5zeW5jKHByb2Nlc3MuY3dkKCkpIHx8IHByb2Nlc3MuY3dkKCk7XG4gIG9wdGlvbnMgPSBzYW5pdGl6ZU9wdGlvbnMob3B0aW9ucyk7XG4gIGNvbnN0IHVzZXJDb25maWc6IFBhcnRpYWw8Q29uZmlnPiA9IG9jKFxuICAgIGNvc21pY29uZmlnKCd2a2JlYXV0aWZ5Jykuc2VhcmNoU3luYyhyb290UGF0aClcbiAgKS5jb25maWcoe30pO1xuICBsZXQgY29uZmlnID0gbWVyZ2VDb25maWd1cmF0aW9uKGRlZmF1bHRDb25maWcsIHVzZXJDb25maWcpO1xuICBjb25maWcgPSBtZXJnZUNvbmZpZ3VyYXRpb24oY29uZmlnLCBjdXN0b21Db25maWcpO1xuICBjb25zdCBpbmRlbnRQYXR0ZXJuID1cbiAgICAob3B0aW9ucy5pbmRlbnRQYXR0ZXJuICYmXG4gICAgICBvcHRpb25zLmluZGVudFBhdHRlcm4ubGVuZ3RoICYmXG4gICAgICBvcHRpb25zLmluZGVudFBhdHRlcm5bMF0gPT09ICcgJykgfHxcbiAgICBOdW1iZXIuaXNOYU4oTnVtYmVyKG9wdGlvbnMuaW5kZW50UGF0dGVybikpXG4gICAgICA/IG9wdGlvbnMuaW5kZW50UGF0dGVyblxuICAgICAgOiBOdW1iZXIob3B0aW9ucy5pbmRlbnRQYXR0ZXJuKTtcbiAgY29uZmlnID0ge1xuICAgIC4uLmNvbmZpZyxcbiAgICBjc3NGaWxlczogb3B0aW9ucy5jc3NGaWxlcyB8fCBjb25maWcuY3NzRmlsZXMsXG4gICAganNvbkZpbGVzOiBvcHRpb25zLmpzb25GaWxlcyB8fCBjb25maWcuanNvbkZpbGVzLFxuICAgIHNxbEZpbGVzOiBvcHRpb25zLnNxbEZpbGVzIHx8IGNvbmZpZy5zcWxGaWxlcyxcbiAgICB4bWxGaWxlczogb3B0aW9ucy54bWxGaWxlcyB8fCBjb25maWcueG1sRmlsZXMsXG4gICAgaW5kZW50UGF0dGVybjpcbiAgICAgIGluZGVudFBhdHRlcm4gfHwgdHlwZW9mIGluZGVudFBhdHRlcm4gPT09ICdudW1iZXInXG4gICAgICAgID8gaW5kZW50UGF0dGVyblxuICAgICAgICA6IGNvbmZpZy5pbmRlbnRQYXR0ZXJuLFxuICAgIG1pbmlmeTpcbiAgICAgIHR5cGVvZiBvcHRpb25zLm1pbmlmeSA9PT0gJ2Jvb2xlYW4nID8gb3B0aW9ucy5taW5pZnkgOiBjb25maWcubWluaWZ5LFxuICAgIHByZXNlcnZlQ29tbWVudHM6XG4gICAgICB0eXBlb2Ygb3B0aW9ucy5wcmVzZXJ2ZUNvbW1lbnRzID09PSAnYm9vbGVhbidcbiAgICAgICAgPyBvcHRpb25zLnByZXNlcnZlQ29tbWVudHNcbiAgICAgICAgOiBjb25maWcucHJlc2VydmVDb21tZW50c1xuICB9O1xuICByZXR1cm4gY29uZmlnO1xufVxuXG5mdW5jdGlvbiBzYW5pdGl6ZU9wdGlvbnMob3B0aW9uczogT3B0aW9ucyk6IE9wdGlvbnMge1xuICByZXR1cm4gT2JqZWN0LmVudHJpZXMob3B0aW9ucykucmVkdWNlKFxuICAgIChvcHRpb25zOiB7IFtrZXk6IHN0cmluZ106IE9wdGlvbiB9LCBba2V5LCBvcHRpb25dOiBbc3RyaW5nLCBPcHRpb25dKSA9PiB7XG4gICAgICBpZiAoXG4gICAgICAgIGtleS5sZW5ndGggJiZcbiAgICAgICAga2V5WzBdICE9PSAnXycgJiZcbiAgICAgICAga2V5ICE9PSAnQ29tbWFuZCcgJiZcbiAgICAgICAga2V5ICE9PSAnT3B0aW9uJyAmJlxuICAgICAgICBrZXkgIT09ICdhcmdzJyAmJlxuICAgICAgICBrZXkgIT09ICdjb21tYW5kcycgJiZcbiAgICAgICAga2V5ICE9PSAnb3B0aW9ucycgJiZcbiAgICAgICAga2V5ICE9PSAncmF3QXJncydcbiAgICAgICkge1xuICAgICAgICBvcHRpb25zW2tleV0gPSBvcHRpb247XG4gICAgICB9XG4gICAgICByZXR1cm4gb3B0aW9ucztcbiAgICB9LFxuICAgIHt9XG4gICk7XG59XG4iXX0=