feeles-ide
Version:
The hackable and serializable IDE to make learning material
13 lines (9 loc) • 831 B
JavaScript
// raw-loader!escape-loader
import babelStandaloneJs from 'raw-loader!../lib/escape-loader!babel-standalone/babel.min';
var prefix = '\nself.addEventListener("message", function (event) {\n try {\n // Transpile the code\n var code = Babel.transform(event.data.code, event.data.options).code;\n // Send result\n self.postMessage({\n id: event.data.id,\n code: code\n });\n } catch (error) {\n // Throw babel error with processing\n self.postMessage({\n id: event.data.id,\n error: { message: error.message, loc: error.loc }\n });\n // Show useful error info into console\n console.warn(error);\n }\n});\n';
var url = URL.createObjectURL(new Blob([prefix, babelStandaloneJs], {
type: 'text/javascript'
}));
export default function BabelWorker() {
return new Worker(url);
}