UNPKG

@playlyfe/babel-loader

Version:
63 lines (46 loc) 1.73 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = transform; var _objectWithoutPropertiesLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/objectWithoutPropertiesLoose")); var _Error = _interopRequireDefault(require("./utils/Error")); var _log = _interopRequireDefault(require("./utils/_log")); var _chalk = _interopRequireDefault(require("chalk")); var babel = _interopRequireWildcard(require("@babel/core")); function transform(source, options, diffTagsArray) { const { isRelay } = options, tOptions = (0, _objectWithoutPropertiesLoose2.default)(options, ["isRelay"]); const perfKey = genPerfKey(tOptions.sourceFileName, isRelay, diffTagsArray); _log.default.time(perfKey); try { const result = babel.transform(source, tOptions); const { code, map, metadata } = result; if (map && (!map.sourcesContent || !map.sourcesContent.length)) { map.sourcesContent = [source]; } _log.default.clearLine(); _log.default.timeEnd(perfKey); return { code, map, metadata }; } catch (err) { const error = err.message && err.codeFrame ? new _Error.default(err) : err; throw error; } } function genPerfKey(sourceFileName, isRelay, diffTagsArray) { const isRelayTag = _chalk.default.green.dim(isRelay ? '[Relay]' : ''); const diffTags = diffTagsArray ? _chalk.default.yellow.dim(`[changes: ${diffTagsArray.join(',')}]`) : ''; return `'${sourceFileName}'${isRelayTag}${diffTags}`; }