parcel-bundler
Version:
Blazing fast, zero configuration web application bundler
47 lines (33 loc) • 1.26 kB
JavaScript
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator"));
const path = require('path');
const Packager = require('./Packager');
const SourceMap = require('../SourceMap');
class SourceMapPackager extends Packager {
start() {
var _this = this;
return (0, _asyncToGenerator2.default)(function* () {
_this.sourceMap = new SourceMap();
})();
}
addAsset(asset) {
var _this2 = this;
return (0, _asyncToGenerator2.default)(function* () {
let offsets = _this2.bundle.parentBundle.getOffset(asset);
if (asset.sourceMaps[asset.type]) {
yield _this2.sourceMap.addMap(asset.sourceMaps[asset.type], offsets[0], offsets[1]);
}
})();
}
end() {
var _superprop_getEnd = () => super.end,
_this3 = this;
return (0, _asyncToGenerator2.default)(function* () {
let file = path.basename(_this3.bundle.parentBundle.name);
yield _this3.write(_this3.sourceMap.stringify(file, path.relative(_this3.options.outDir, _this3.options.rootDir)));
yield _superprop_getEnd().call(_this3);
})();
}
}
module.exports = SourceMapPackager;
;