index.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. 'use strict';
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = function (source, sourceMap) {
  6. var _this = this;
  7. var options = Object.assign({ produceSourceMap: true }, _loaderUtils2.default.getOptions(this));
  8. (0, _schemaUtils2.default)(schema, options, 'Istanbul Instrumenter Loader');
  9. var srcMap = sourceMap;
  10. // use inline source map, if any
  11. if (!srcMap) {
  12. var inlineSourceMap = _convertSourceMap2.default.fromSource(source);
  13. if (inlineSourceMap) {
  14. srcMap = inlineSourceMap.sourcemap;
  15. }
  16. }
  17. var instrumenter = (0, _istanbulLibInstrument.createInstrumenter)(options);
  18. instrumenter.instrument(source, this.resourcePath, function (error, instrumentedSource) {
  19. _this.callback(error, instrumentedSource, instrumenter.lastSourceMap());
  20. }, srcMap);
  21. };
  22. var _istanbulLibInstrument = require('istanbul-lib-instrument');
  23. var _loaderUtils = require('loader-utils');
  24. var _loaderUtils2 = _interopRequireDefault(_loaderUtils);
  25. var _schemaUtils = require('schema-utils');
  26. var _schemaUtils2 = _interopRequireDefault(_schemaUtils);
  27. var _convertSourceMap = require('convert-source-map');
  28. var _convertSourceMap2 = _interopRequireDefault(_convertSourceMap);
  29. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  30. /* eslint-disable-line */
  31. var schema = require('./options');