Files
enviPy-bayer/static/js/ketcher2/node_modules/browserify-babel-istanbul/index.js
2025-06-23 20:13:54 +02:00

43 lines
1.1 KiB
JavaScript

var istanbul = require('babel-istanbul');
var through = require('through');
var minimatch = require('minimatch');
var defaultIgnore = ['**/node_modules/**', '**/bower_components/**', '**/test/**', '**/tests/**', '**/*.json'];
module.exports = function(options, extraOptions) {
options = options || {};
function transform(file) {
var ignore = options.defaultIgnore === false ? [] : defaultIgnore;
ignore = ignore.concat(options.ignore || []);
if (ignore.some(minimatch.bind(null, file)))
return through();
var instrumenter = new (options.instrumenter || istanbul).Instrumenter(options.instrumenterConfig || {});
var data = '';
return through(function(buf) {
data += buf;
}, function() {
var self = this;
instrumenter.instrument(data, file, function(err, code) {
if (!err) {
self.queue(code);
} else {
self.emit('error', err);
}
self.queue(null);
});
});
}
if (typeof options === 'string') {
var file = options;
options = extraOptions || {};
return transform(file);
}
return transform;
};