| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- "use strict";
- function asyncGeneratorStep(n, t, e, r, o, a, c) { try { var i = n[a](c), u = i.value; } catch (n) { return void e(n); } i.done ? t(u) : Promise.resolve(u).then(r, o); }
- function _asyncToGenerator(n) { return function () { var t = this, e = arguments; return new Promise(function (r, o) { var a = n.apply(t, e); function _next(n) { asyncGeneratorStep(a, r, o, _next, _throw, "next", n); } function _throw(n) { asyncGeneratorStep(a, r, o, _next, _throw, "throw", n); } _next(void 0); }); }; }
- const cloneDeep = require("clone-deep");
- const path = require("path");
- const fs = require("fs");
- const babel = require("./babel-core.cjs");
- const registerCache = require("./cache.cjs");
- const nmRE = escapeRegExp(path.sep + "node_modules" + path.sep);
- function escapeRegExp(string) {
- return string.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&");
- }
- let cache;
- let transformOpts;
- function setOptions(opts) {
- if (opts.cache === false && cache) {
- registerCache.clear();
- cache = null;
- } else if (opts.cache !== false && !cache) {
- registerCache.load();
- cache = registerCache.get();
- }
- delete opts.cache;
- delete opts.extensions;
- transformOpts = Object.assign({}, opts, {
- caller: Object.assign({
- name: "@babel/register"
- }, opts.caller || {})
- });
- let {
- cwd = "."
- } = transformOpts;
- cwd = transformOpts.cwd = path.resolve(cwd);
- if (transformOpts.ignore === undefined && transformOpts.only === undefined) {
- const cwdRE = escapeRegExp(cwd);
- transformOpts.only = [new RegExp("^" + cwdRE, "i")];
- transformOpts.ignore = [new RegExp(`^${cwdRE}(?:${path.sep}.*)?${nmRE}`, "i")];
- }
- }
- function transform(_x, _x2) {
- return _transform.apply(this, arguments);
- }
- function _transform() {
- _transform = _asyncToGenerator(function* (input, filename) {
- const opts = yield babel.loadOptionsAsync(Object.assign({
- sourceRoot: path.dirname(filename) + path.sep
- }, cloneDeep(transformOpts), {
- filename
- }));
- if (opts === null) return null;
- const {
- cached,
- store
- } = cacheLookup(opts, filename);
- if (cached) return cached;
- const {
- code,
- map
- } = yield babel.transformAsync(input, Object.assign({}, opts, {
- sourceMaps: opts.sourceMaps === undefined ? "both" : opts.sourceMaps,
- ast: false
- }));
- return store({
- code,
- map
- });
- });
- return _transform.apply(this, arguments);
- }
- module.exports = {
- setOptions,
- transform
- };
- {
- module.exports.transformSync = function (input, filename) {
- const opts = new babel.OptionManager().init(Object.assign({
- sourceRoot: path.dirname(filename) + path.sep
- }, cloneDeep(transformOpts), {
- filename
- }));
- if (opts === null) return null;
- const {
- cached,
- store
- } = cacheLookup(opts, filename);
- if (cached) return cached;
- const {
- code,
- map
- } = babel.transformSync(input, Object.assign({}, opts, {
- sourceMaps: opts.sourceMaps === undefined ? "both" : opts.sourceMaps,
- ast: false
- }));
- return store({
- code,
- map
- });
- };
- }
- const id = value => value;
- function cacheLookup(opts, filename) {
- if (!cache) return {
- cached: null,
- store: id
- };
- let cacheKey = `${JSON.stringify(opts)}:${babel.version}`;
- const env = babel.getEnv();
- if (env) cacheKey += `:${env}`;
- const cached = cache[cacheKey];
- const fileMtime = +fs.statSync(filename).mtime;
- if (cached && cached.mtime === fileMtime) {
- return {
- cached: cached.value,
- store: id
- };
- }
- return {
- cached: null,
- store(value) {
- cache[cacheKey] = {
- value,
- mtime: fileMtime
- };
- registerCache.setDirty();
- return value;
- }
- };
- }
- //# sourceMappingURL=transform.cjs.map
|