'use strict';
Object.defineProperty(exports, '__esModule', {
value: true
});
// istanbul ignore next
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var _fs = require('fs');
var _fs2 = _interopRequireDefault(_fs);
var _path = require('path');
var _path2 = _interopRequireDefault(_path);
var _stripJsonComments = require('strip-json-comments');
var _stripJsonComments2 = _interopRequireDefault(_stripJsonComments);
var _configLoader = require('../configLoader');
exports['default'] = getContent;
/**
* Get content of the configuration file
* @param {String} config - partial path to configuration file
* @param {String} directory - directory path which will be joined with config argument
* @return {Object}
*/
function getContent(config, directory) {
Iif (!config) {
return;
}
var configPath = _path2['default'].resolve(directory, config);
var ext;
var content;
config = _path2['default'].basename(config);
if (_fs2['default'].existsSync(configPath)) {
ext = _path2['default'].extname(configPath);
Eif (ext === '.js' || ext === '.json') {
content = JSON.parse(_fs2['default'].readFileSync(configPath, 'utf8'));
} else {
content = JSON.parse((0, _stripJsonComments2['default'])(_fs2['default'].readFileSync(configPath, 'utf8')));
}
// Adding property via Object.defineProperty makes it
// non-enumerable and avoids warning for unsupported rules
Object.defineProperty(content, 'configPath', {
value: configPath
});
}
return (0, _configLoader.getNormalizedConfig)(config, content);
};
module.exports = exports['default'];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9ob21lL3RyYXZpcy9idWlsZC9jb21taXRpemVuL2N6LWNsaS9zcmMvY29uZmlnTG9hZGVyL2dldENvbnRlbnQuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O2tCQUFlLElBQUk7Ozs7b0JBQ0YsTUFBTTs7OztpQ0FDTyxxQkFBcUI7Ozs7NEJBRWpCLGlCQUFpQjs7cUJBRXBDLFVBQVU7Ozs7Ozs7O0FBUXpCLFNBQVMsVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUU7QUFDbkMsUUFBSSxDQUFDLE1BQU0sRUFBRTtBQUNULGVBQU87S0FDVjs7QUFFRCxRQUFJLFVBQVUsR0FBRyxrQkFBSyxPQUFPLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBQ2pELFFBQUksR0FBRyxDQUFDO0FBQ1IsUUFBSSxPQUFPLENBQUM7O0FBRVosVUFBTSxHQUFHLGtCQUFLLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQzs7QUFFL0IsUUFBSSxnQkFBRyxVQUFVLENBQUMsVUFBVSxDQUFDLEVBQUU7QUFDM0IsV0FBRyxHQUFHLGtCQUFLLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQzs7QUFFL0IsWUFBSSxHQUFHLEtBQUssS0FBSyxJQUFJLEdBQUcsS0FBSyxPQUFPLEVBQUU7QUFDbEMsbUJBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFHLFlBQVksQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUM3RCxNQUFNO0FBQ0gsbUJBQU8sR0FBRyxJQUFJLENBQUMsS0FBSyxDQUNoQixvQ0FDSSxnQkFBRyxZQUFZLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUN0QyxDQUNKLENBQUM7U0FDTDs7OztBQUlELGNBQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLFlBQVksRUFBRTtBQUN6QyxpQkFBSyxFQUFFLFVBQVU7U0FDcEIsQ0FBQyxDQUFDO0tBQ047QUFDRCxXQUFPLHVDQUFvQixNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7Q0FFL0MsQ0FBQyIsImZpbGUiOiIvaG9tZS90cmF2aXMvYnVpbGQvY29tbWl0aXplbi9jei1jbGkvc3JjL2NvbmZpZ0xvYWRlci9nZXRDb250ZW50LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGZzIGZyb20gJ2ZzJztcbmltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuaW1wb3J0IHN0cmlwSlNPTkNvbW1lbnRzIGZyb20gJ3N0cmlwLWpzb24tY29tbWVudHMnO1xuXG5pbXBvcnQge2dldE5vcm1hbGl6ZWRDb25maWd9IGZyb20gJy4uL2NvbmZpZ0xvYWRlcic7XG5cbmV4cG9ydCBkZWZhdWx0IGdldENvbnRlbnQ7XG5cbi8qKlxuICogR2V0IGNvbnRlbnQgb2YgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZVxuICogQHBhcmFtIHtTdHJpbmd9IGNvbmZpZyAtIHBhcnRpYWwgcGF0aCB0byBjb25maWd1cmF0aW9uIGZpbGVcbiAqIEBwYXJhbSB7U3RyaW5nfSBkaXJlY3RvcnkgLSBkaXJlY3RvcnkgcGF0aCB3aGljaCB3aWxsIGJlIGpvaW5lZCB3aXRoIGNvbmZpZyBhcmd1bWVudFxuICogQHJldHVybiB7T2JqZWN0fVxuICovXG5mdW5jdGlvbiBnZXRDb250ZW50KGNvbmZpZywgZGlyZWN0b3J5KSB7XG4gICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHZhciBjb25maWdQYXRoID0gcGF0aC5yZXNvbHZlKGRpcmVjdG9yeSwgY29uZmlnKTtcbiAgICB2YXIgZXh0O1xuICAgIHZhciBjb250ZW50O1xuXG4gICAgY29uZmlnID0gcGF0aC5iYXNlbmFtZShjb25maWcpO1xuXG4gICAgaWYgKGZzLmV4aXN0c1N5bmMoY29uZmlnUGF0aCkpIHtcbiAgICAgICAgZXh0ID0gcGF0aC5leHRuYW1lKGNvbmZpZ1BhdGgpO1xuXG4gICAgICAgIGlmIChleHQgPT09ICcuanMnIHx8IGV4dCA9PT0gJy5qc29uJykge1xuICAgICAgICAgICAgY29udGVudCA9IEpTT04ucGFyc2UoZnMucmVhZEZpbGVTeW5jKGNvbmZpZ1BhdGgsICd1dGY4JykpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29udGVudCA9IEpTT04ucGFyc2UoXG4gICAgICAgICAgICAgICAgc3RyaXBKU09OQ29tbWVudHMoXG4gICAgICAgICAgICAgICAgICAgIGZzLnJlYWRGaWxlU3luYyhjb25maWdQYXRoLCAndXRmOCcpXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZGluZyBwcm9wZXJ0eSB2aWEgT2JqZWN0LmRlZmluZVByb3BlcnR5IG1ha2VzIGl0XG4gICAgICAgIC8vIG5vbi1lbnVtZXJhYmxlIGFuZCBhdm9pZHMgd2FybmluZyBmb3IgdW5zdXBwb3J0ZWQgcnVsZXNcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGNvbnRlbnQsICdjb25maWdQYXRoJywge1xuICAgICAgICAgICAgdmFsdWU6IGNvbmZpZ1BhdGhcbiAgICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBnZXROb3JtYWxpemVkQ29uZmlnKGNvbmZpZywgY29udGVudCk7XG4gICAgXG59OyJdfQ== |