bundlewatch
Version:
Keep watch of your bundle size
65 lines (50 loc) • 1.87 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
var _bytes = require('bytes');
var _bytes2 = _interopRequireDefault(_bytes);
var _glob = require('glob');
var _glob2 = _interopRequireDefault(_glob);
var _getSize = require('./getSize');
var _getSize2 = _interopRequireDefault(_getSize);
var _logger = require('../../logger');
var _logger2 = _interopRequireDefault(_logger);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const getLocalFileDetails = ({ files, defaultCompression }) => {
const fileDetails = {};
files.forEach(file => {
const paths = _glob2.default.sync(file.path);
if (!paths.length) {
const errorMessage = `There is no matching file for ${file.path}`;
_logger2.default.error(errorMessage);
fileDetails[file.path] = {
error: errorMessage
};
} else {
paths.forEach(filePath => {
const maxSize = (0, _bytes2.default)(file.maxSize) || Infinity;
const compression = file.compression || defaultCompression;
const size = (0, _getSize2.default)({
filePath,
compression
});
if (size) {
fileDetails[filePath] = {
maxSize,
size,
compression
};
} else {
const errorMessage = `Could not read file ${filePath}}`;
_logger2.default.error(errorMessage);
fileDetails[filePath] = {
error: errorMessage
};
}
});
}
});
return fileDetails;
};
exports.default = getLocalFileDetails;