armo-breadboard-babel
Version:
Babel transform for breadboard.
52 lines (39 loc) • 1.26 kB
JavaScript
import { transform } from 'babel-standalone'
export default function breadboardBabelTransform(source, filename) {
let transformed
try {
const output = transform(source, {
presets: ['react', 'es2015', 'es2016', 'es2017'],
sourceMaps: true,
sourceType: 'script',
sourceFileName: filename.slice(1),
})
//console.log(output)
transformed = output.code
// transformed += '\n//# sourceURL=breadboard://'+filename
transformed += '\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,'+btoa(JSON.stringify(output.map))
}
catch (e) {
return e
}
return transformed
}
// import { transform } from 'buble'
// export default function breadboardBabelTransform(source, filename) {
// let transformed
// try {
// const output = transform(source, {
// // Set the input filename for the source map
// source: 'breadboard://'+filename,
// })
// output.map.sources[0] = 'breadboard://'+filename
// console.log(output.map)
// transformed = output.code
// // transformed += '\n//# sourceURL=breadboard://'+filename
// transformed += '\n//# sourceMappingURL='+output.map.toUrl()
// }
// catch (e) {
// return e
// }
// return transformed
// }