pretty-lights
Version:
CSS-in-JS with a reliable API
46 lines (39 loc) • 1.34 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.makeSourceMapGenerator = makeSourceMapGenerator;
exports.addSourceMaps = addSourceMaps;
var _sourceMap = require("source-map");
var _convertSourceMap = _interopRequireDefault(require("convert-source-map"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
// import type { PrettyLightsBabelPluginPass } from './index'
// import type { BabelFile } from 'babel-flow-types'
function getGeneratorOpts(file) {
return file.opts.generatorOpts ? file.opts.generatorOpts : file.opts;
}
function makeSourceMapGenerator(file) {
var generatorOpts = getGeneratorOpts(file);
var filename = generatorOpts.sourceFileName;
var generator = new _sourceMap.SourceMapGenerator({
file: filename,
sourceRoot: generatorOpts.sourceRoot
});
generator.setSourceContent(filename, file.code);
return generator;
}
function addSourceMaps(offset, state) {
var generator = makeSourceMapGenerator(state.file);
var generatorOpts = getGeneratorOpts(state.file);
generator.addMapping({
generated: {
line: 1,
column: 0
},
source: generatorOpts.sourceFileName,
original: offset
});
return _convertSourceMap["default"].fromObject(generator).toComment({
multiline: true
});
}