UNPKG

feeles-ide

Version:

The hackable and serializable IDE to make learning material

36 lines (30 loc) 1.75 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = BabelWorker; var _babel = _interopRequireDefault(require("raw-loader!../lib/escape-loader!@babel/standalone/babel.min")); var _babelPresetEnvMin = _interopRequireDefault(require("raw-loader!@babel/preset-env-standalone/babel-preset-env.min.js")); // raw-loader!escape-loader var babelConfig = { presets: [['env', { targets: { ie: 11 }, useBuiltIns: false }]], plugins: [['transform-runtime', { corejs: false, helpers: true, regenerator: true, useESModules: false }]] }; var prefix = "\nself.addEventListener(\"message\", function (event) {\n try {\n // Transpile the code\n var options = Object.assign({}, event.data.options, ".concat(JSON.stringify(babelConfig), ");\n var result = Babel.transform(event.data.code, options);\n // Send result\n self.postMessage({\n id: event.data.id,\n code: result && result.code\n });\n } catch (error) {\n // Throw babel error with processing\n self.postMessage({\n id: event.data.id,\n error: {\n code: error.code + '',\n message: error.message + '',\n stack: error.stack + '',\n loc: error.loc && {\n line: error.loc.line,\n column: error.loc.column\n },\n missingPlugin: error.missingPlugin\n }\n });\n // Show useful error info into console\n console.warn(error);\n }\n});\n"); var url = URL.createObjectURL(new Blob([prefix, _babel.default, _babelPresetEnvMin.default], { type: 'text/javascript' })); function BabelWorker() { return new Worker(url); }