v7
This commit is contained in:
		
							
								
								
									
										199
									
								
								node_modules/@babel/core/lib/config/caching.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										199
									
								
								node_modules/@babel/core/lib/config/caching.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,199 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.makeStrongCache = makeStrongCache;
 | 
			
		||||
exports.makeWeakCache = makeWeakCache;
 | 
			
		||||
exports.assertSimpleType = assertSimpleType;
 | 
			
		||||
 | 
			
		||||
function makeStrongCache(handler) {
 | 
			
		||||
  return makeCachedFunction(new Map(), handler);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeWeakCache(handler) {
 | 
			
		||||
  return makeCachedFunction(new WeakMap(), handler);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeCachedFunction(callCache, handler) {
 | 
			
		||||
  return function cachedFunction(arg, data) {
 | 
			
		||||
    let cachedValue = callCache.get(arg);
 | 
			
		||||
 | 
			
		||||
    if (cachedValue) {
 | 
			
		||||
      for (const _ref of cachedValue) {
 | 
			
		||||
        const {
 | 
			
		||||
          value,
 | 
			
		||||
          valid
 | 
			
		||||
        } = _ref;
 | 
			
		||||
        if (valid(data)) return value;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const cache = new CacheConfigurator(data);
 | 
			
		||||
    const value = handler(arg, cache);
 | 
			
		||||
    if (!cache.configured()) cache.forever();
 | 
			
		||||
    cache.deactivate();
 | 
			
		||||
 | 
			
		||||
    switch (cache.mode()) {
 | 
			
		||||
      case "forever":
 | 
			
		||||
        cachedValue = [{
 | 
			
		||||
          value,
 | 
			
		||||
          valid: () => true
 | 
			
		||||
        }];
 | 
			
		||||
        callCache.set(arg, cachedValue);
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
      case "invalidate":
 | 
			
		||||
        cachedValue = [{
 | 
			
		||||
          value,
 | 
			
		||||
          valid: cache.validator()
 | 
			
		||||
        }];
 | 
			
		||||
        callCache.set(arg, cachedValue);
 | 
			
		||||
        break;
 | 
			
		||||
 | 
			
		||||
      case "valid":
 | 
			
		||||
        if (cachedValue) {
 | 
			
		||||
          cachedValue.push({
 | 
			
		||||
            value,
 | 
			
		||||
            valid: cache.validator()
 | 
			
		||||
          });
 | 
			
		||||
        } else {
 | 
			
		||||
          cachedValue = [{
 | 
			
		||||
            value,
 | 
			
		||||
            valid: cache.validator()
 | 
			
		||||
          }];
 | 
			
		||||
          callCache.set(arg, cachedValue);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return value;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class CacheConfigurator {
 | 
			
		||||
  constructor(data) {
 | 
			
		||||
    this._active = true;
 | 
			
		||||
    this._never = false;
 | 
			
		||||
    this._forever = false;
 | 
			
		||||
    this._invalidate = false;
 | 
			
		||||
    this._configured = false;
 | 
			
		||||
    this._pairs = [];
 | 
			
		||||
    this._data = data;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  simple() {
 | 
			
		||||
    return makeSimpleConfigurator(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  mode() {
 | 
			
		||||
    if (this._never) return "never";
 | 
			
		||||
    if (this._forever) return "forever";
 | 
			
		||||
    if (this._invalidate) return "invalidate";
 | 
			
		||||
    return "valid";
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  forever() {
 | 
			
		||||
    if (!this._active) {
 | 
			
		||||
      throw new Error("Cannot change caching after evaluation has completed.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (this._never) {
 | 
			
		||||
      throw new Error("Caching has already been configured with .never()");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this._forever = true;
 | 
			
		||||
    this._configured = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  never() {
 | 
			
		||||
    if (!this._active) {
 | 
			
		||||
      throw new Error("Cannot change caching after evaluation has completed.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (this._forever) {
 | 
			
		||||
      throw new Error("Caching has already been configured with .forever()");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this._never = true;
 | 
			
		||||
    this._configured = true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  using(handler) {
 | 
			
		||||
    if (!this._active) {
 | 
			
		||||
      throw new Error("Cannot change caching after evaluation has completed.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (this._never || this._forever) {
 | 
			
		||||
      throw new Error("Caching has already been configured with .never or .forever()");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this._configured = true;
 | 
			
		||||
    const key = handler(this._data);
 | 
			
		||||
 | 
			
		||||
    this._pairs.push([key, handler]);
 | 
			
		||||
 | 
			
		||||
    return key;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  invalidate(handler) {
 | 
			
		||||
    if (!this._active) {
 | 
			
		||||
      throw new Error("Cannot change caching after evaluation has completed.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (this._never || this._forever) {
 | 
			
		||||
      throw new Error("Caching has already been configured with .never or .forever()");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    this._invalidate = true;
 | 
			
		||||
    this._configured = true;
 | 
			
		||||
    const key = handler(this._data);
 | 
			
		||||
 | 
			
		||||
    this._pairs.push([key, handler]);
 | 
			
		||||
 | 
			
		||||
    return key;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  validator() {
 | 
			
		||||
    const pairs = this._pairs;
 | 
			
		||||
    return data => pairs.every(([key, fn]) => key === fn(data));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  deactivate() {
 | 
			
		||||
    this._active = false;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  configured() {
 | 
			
		||||
    return this._configured;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeSimpleConfigurator(cache) {
 | 
			
		||||
  function cacheFn(val) {
 | 
			
		||||
    if (typeof val === "boolean") {
 | 
			
		||||
      if (val) cache.forever();else cache.never();
 | 
			
		||||
      return;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return cache.using(() => assertSimpleType(val()));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  cacheFn.forever = () => cache.forever();
 | 
			
		||||
 | 
			
		||||
  cacheFn.never = () => cache.never();
 | 
			
		||||
 | 
			
		||||
  cacheFn.using = cb => cache.using(() => assertSimpleType(cb()));
 | 
			
		||||
 | 
			
		||||
  cacheFn.invalidate = cb => cache.invalidate(() => assertSimpleType(cb()));
 | 
			
		||||
 | 
			
		||||
  return cacheFn;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertSimpleType(value) {
 | 
			
		||||
  if (value != null && typeof value !== "string" && typeof value !== "boolean" && typeof value !== "number") {
 | 
			
		||||
    throw new Error("Cache keys must be either string, boolean, number, null, or undefined.");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										439
									
								
								node_modules/@babel/core/lib/config/config-chain.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										439
									
								
								node_modules/@babel/core/lib/config/config-chain.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,439 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.buildPresetChain = buildPresetChain;
 | 
			
		||||
exports.buildRootChain = buildRootChain;
 | 
			
		||||
exports.buildPresetChainWalker = void 0;
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _debug() {
 | 
			
		||||
  const data = _interopRequireDefault(require("debug"));
 | 
			
		||||
 | 
			
		||||
  _debug = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _options = require("./validation/options");
 | 
			
		||||
 | 
			
		||||
var _patternToRegex = _interopRequireDefault(require("./pattern-to-regex"));
 | 
			
		||||
 | 
			
		||||
var _files = require("./files");
 | 
			
		||||
 | 
			
		||||
var _caching = require("./caching");
 | 
			
		||||
 | 
			
		||||
var _configDescriptors = require("./config-descriptors");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const debug = (0, _debug().default)("babel:config:config-chain");
 | 
			
		||||
 | 
			
		||||
function buildPresetChain(arg, context) {
 | 
			
		||||
  const chain = buildPresetChainWalker(arg, context);
 | 
			
		||||
  if (!chain) return null;
 | 
			
		||||
  return {
 | 
			
		||||
    plugins: dedupDescriptors(chain.plugins),
 | 
			
		||||
    presets: dedupDescriptors(chain.presets),
 | 
			
		||||
    options: chain.options.map(o => normalizeOptions(o))
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const buildPresetChainWalker = makeChainWalker({
 | 
			
		||||
  init: arg => arg,
 | 
			
		||||
  root: preset => loadPresetDescriptors(preset),
 | 
			
		||||
  env: (preset, envName) => loadPresetEnvDescriptors(preset)(envName),
 | 
			
		||||
  overrides: (preset, index) => loadPresetOverridesDescriptors(preset)(index),
 | 
			
		||||
  overridesEnv: (preset, index, envName) => loadPresetOverridesEnvDescriptors(preset)(index)(envName)
 | 
			
		||||
});
 | 
			
		||||
exports.buildPresetChainWalker = buildPresetChainWalker;
 | 
			
		||||
const loadPresetDescriptors = (0, _caching.makeWeakCache)(preset => buildRootDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors));
 | 
			
		||||
const loadPresetEnvDescriptors = (0, _caching.makeWeakCache)(preset => (0, _caching.makeStrongCache)(envName => buildEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, envName)));
 | 
			
		||||
const loadPresetOverridesDescriptors = (0, _caching.makeWeakCache)(preset => (0, _caching.makeStrongCache)(index => buildOverrideDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index)));
 | 
			
		||||
const loadPresetOverridesEnvDescriptors = (0, _caching.makeWeakCache)(preset => (0, _caching.makeStrongCache)(index => (0, _caching.makeStrongCache)(envName => buildOverrideEnvDescriptors(preset, preset.alias, _configDescriptors.createUncachedDescriptors, index, envName))));
 | 
			
		||||
 | 
			
		||||
function buildRootChain(opts, context) {
 | 
			
		||||
  const programmaticChain = loadProgrammaticChain({
 | 
			
		||||
    options: opts,
 | 
			
		||||
    dirname: context.cwd
 | 
			
		||||
  }, context);
 | 
			
		||||
  if (!programmaticChain) return null;
 | 
			
		||||
  let configFile;
 | 
			
		||||
 | 
			
		||||
  if (typeof opts.configFile === "string") {
 | 
			
		||||
    configFile = (0, _files.loadConfig)(opts.configFile, context.cwd, context.envName, context.caller);
 | 
			
		||||
  } else if (opts.configFile !== false) {
 | 
			
		||||
    configFile = (0, _files.findRootConfig)(context.root, context.envName, context.caller);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let {
 | 
			
		||||
    babelrc,
 | 
			
		||||
    babelrcRoots
 | 
			
		||||
  } = opts;
 | 
			
		||||
  let babelrcRootsDirectory = context.cwd;
 | 
			
		||||
  const configFileChain = emptyChain();
 | 
			
		||||
 | 
			
		||||
  if (configFile) {
 | 
			
		||||
    const validatedFile = validateConfigFile(configFile);
 | 
			
		||||
    const result = loadFileChain(validatedFile, context);
 | 
			
		||||
    if (!result) return null;
 | 
			
		||||
 | 
			
		||||
    if (babelrc === undefined) {
 | 
			
		||||
      babelrc = validatedFile.options.babelrc;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (babelrcRoots === undefined) {
 | 
			
		||||
      babelrcRootsDirectory = validatedFile.dirname;
 | 
			
		||||
      babelrcRoots = validatedFile.options.babelrcRoots;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    mergeChain(configFileChain, result);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const pkgData = typeof context.filename === "string" ? (0, _files.findPackageData)(context.filename) : null;
 | 
			
		||||
  let ignoreFile, babelrcFile;
 | 
			
		||||
  const fileChain = emptyChain();
 | 
			
		||||
 | 
			
		||||
  if ((babelrc === true || babelrc === undefined) && pkgData && babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory)) {
 | 
			
		||||
    ({
 | 
			
		||||
      ignore: ignoreFile,
 | 
			
		||||
      config: babelrcFile
 | 
			
		||||
    } = (0, _files.findRelativeConfig)(pkgData, context.envName, context.caller));
 | 
			
		||||
 | 
			
		||||
    if (ignoreFile && shouldIgnore(context, ignoreFile.ignore, null, ignoreFile.dirname)) {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (babelrcFile) {
 | 
			
		||||
      const result = loadFileChain(validateBabelrcFile(babelrcFile), context);
 | 
			
		||||
      if (!result) return null;
 | 
			
		||||
      mergeChain(fileChain, result);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const chain = mergeChain(mergeChain(mergeChain(emptyChain(), configFileChain), fileChain), programmaticChain);
 | 
			
		||||
  return {
 | 
			
		||||
    plugins: dedupDescriptors(chain.plugins),
 | 
			
		||||
    presets: dedupDescriptors(chain.presets),
 | 
			
		||||
    options: chain.options.map(o => normalizeOptions(o)),
 | 
			
		||||
    ignore: ignoreFile || undefined,
 | 
			
		||||
    babelrc: babelrcFile || undefined,
 | 
			
		||||
    config: configFile || undefined
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function babelrcLoadEnabled(context, pkgData, babelrcRoots, babelrcRootsDirectory) {
 | 
			
		||||
  if (typeof babelrcRoots === "boolean") return babelrcRoots;
 | 
			
		||||
  const absoluteRoot = context.root;
 | 
			
		||||
 | 
			
		||||
  if (babelrcRoots === undefined) {
 | 
			
		||||
    return pkgData.directories.indexOf(absoluteRoot) !== -1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let babelrcPatterns = babelrcRoots;
 | 
			
		||||
  if (!Array.isArray(babelrcPatterns)) babelrcPatterns = [babelrcPatterns];
 | 
			
		||||
  babelrcPatterns = babelrcPatterns.map(pat => {
 | 
			
		||||
    return typeof pat === "string" ? _path().default.resolve(babelrcRootsDirectory, pat) : pat;
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  if (babelrcPatterns.length === 1 && babelrcPatterns[0] === absoluteRoot) {
 | 
			
		||||
    return pkgData.directories.indexOf(absoluteRoot) !== -1;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return babelrcPatterns.some(pat => {
 | 
			
		||||
    if (typeof pat === "string") {
 | 
			
		||||
      pat = (0, _patternToRegex.default)(pat, babelrcRootsDirectory);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return pkgData.directories.some(directory => {
 | 
			
		||||
      return matchPattern(pat, babelrcRootsDirectory, directory, context);
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const validateConfigFile = (0, _caching.makeWeakCache)(file => ({
 | 
			
		||||
  filepath: file.filepath,
 | 
			
		||||
  dirname: file.dirname,
 | 
			
		||||
  options: (0, _options.validate)("configfile", file.options)
 | 
			
		||||
}));
 | 
			
		||||
const validateBabelrcFile = (0, _caching.makeWeakCache)(file => ({
 | 
			
		||||
  filepath: file.filepath,
 | 
			
		||||
  dirname: file.dirname,
 | 
			
		||||
  options: (0, _options.validate)("babelrcfile", file.options)
 | 
			
		||||
}));
 | 
			
		||||
const validateExtendFile = (0, _caching.makeWeakCache)(file => ({
 | 
			
		||||
  filepath: file.filepath,
 | 
			
		||||
  dirname: file.dirname,
 | 
			
		||||
  options: (0, _options.validate)("extendsfile", file.options)
 | 
			
		||||
}));
 | 
			
		||||
const loadProgrammaticChain = makeChainWalker({
 | 
			
		||||
  root: input => buildRootDescriptors(input, "base", _configDescriptors.createCachedDescriptors),
 | 
			
		||||
  env: (input, envName) => buildEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, envName),
 | 
			
		||||
  overrides: (input, index) => buildOverrideDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index),
 | 
			
		||||
  overridesEnv: (input, index, envName) => buildOverrideEnvDescriptors(input, "base", _configDescriptors.createCachedDescriptors, index, envName)
 | 
			
		||||
});
 | 
			
		||||
const loadFileChain = makeChainWalker({
 | 
			
		||||
  root: file => loadFileDescriptors(file),
 | 
			
		||||
  env: (file, envName) => loadFileEnvDescriptors(file)(envName),
 | 
			
		||||
  overrides: (file, index) => loadFileOverridesDescriptors(file)(index),
 | 
			
		||||
  overridesEnv: (file, index, envName) => loadFileOverridesEnvDescriptors(file)(index)(envName)
 | 
			
		||||
});
 | 
			
		||||
const loadFileDescriptors = (0, _caching.makeWeakCache)(file => buildRootDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors));
 | 
			
		||||
const loadFileEnvDescriptors = (0, _caching.makeWeakCache)(file => (0, _caching.makeStrongCache)(envName => buildEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, envName)));
 | 
			
		||||
const loadFileOverridesDescriptors = (0, _caching.makeWeakCache)(file => (0, _caching.makeStrongCache)(index => buildOverrideDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index)));
 | 
			
		||||
const loadFileOverridesEnvDescriptors = (0, _caching.makeWeakCache)(file => (0, _caching.makeStrongCache)(index => (0, _caching.makeStrongCache)(envName => buildOverrideEnvDescriptors(file, file.filepath, _configDescriptors.createUncachedDescriptors, index, envName))));
 | 
			
		||||
 | 
			
		||||
function buildRootDescriptors({
 | 
			
		||||
  dirname,
 | 
			
		||||
  options
 | 
			
		||||
}, alias, descriptors) {
 | 
			
		||||
  return descriptors(dirname, options, alias);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildEnvDescriptors({
 | 
			
		||||
  dirname,
 | 
			
		||||
  options
 | 
			
		||||
}, alias, descriptors, envName) {
 | 
			
		||||
  const opts = options.env && options.env[envName];
 | 
			
		||||
  return opts ? descriptors(dirname, opts, `${alias}.env["${envName}"]`) : null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildOverrideDescriptors({
 | 
			
		||||
  dirname,
 | 
			
		||||
  options
 | 
			
		||||
}, alias, descriptors, index) {
 | 
			
		||||
  const opts = options.overrides && options.overrides[index];
 | 
			
		||||
  if (!opts) throw new Error("Assertion failure - missing override");
 | 
			
		||||
  return descriptors(dirname, opts, `${alias}.overrides[${index}]`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function buildOverrideEnvDescriptors({
 | 
			
		||||
  dirname,
 | 
			
		||||
  options
 | 
			
		||||
}, alias, descriptors, index, envName) {
 | 
			
		||||
  const override = options.overrides && options.overrides[index];
 | 
			
		||||
  if (!override) throw new Error("Assertion failure - missing override");
 | 
			
		||||
  const opts = override.env && override.env[envName];
 | 
			
		||||
  return opts ? descriptors(dirname, opts, `${alias}.overrides[${index}].env["${envName}"]`) : null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function makeChainWalker({
 | 
			
		||||
  root,
 | 
			
		||||
  env,
 | 
			
		||||
  overrides,
 | 
			
		||||
  overridesEnv
 | 
			
		||||
}) {
 | 
			
		||||
  return (input, context, files = new Set()) => {
 | 
			
		||||
    const {
 | 
			
		||||
      dirname
 | 
			
		||||
    } = input;
 | 
			
		||||
    const flattenedConfigs = [];
 | 
			
		||||
    const rootOpts = root(input);
 | 
			
		||||
 | 
			
		||||
    if (configIsApplicable(rootOpts, dirname, context)) {
 | 
			
		||||
      flattenedConfigs.push(rootOpts);
 | 
			
		||||
      const envOpts = env(input, context.envName);
 | 
			
		||||
 | 
			
		||||
      if (envOpts && configIsApplicable(envOpts, dirname, context)) {
 | 
			
		||||
        flattenedConfigs.push(envOpts);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      (rootOpts.options.overrides || []).forEach((_, index) => {
 | 
			
		||||
        const overrideOps = overrides(input, index);
 | 
			
		||||
 | 
			
		||||
        if (configIsApplicable(overrideOps, dirname, context)) {
 | 
			
		||||
          flattenedConfigs.push(overrideOps);
 | 
			
		||||
          const overrideEnvOpts = overridesEnv(input, index, context.envName);
 | 
			
		||||
 | 
			
		||||
          if (overrideEnvOpts && configIsApplicable(overrideEnvOpts, dirname, context)) {
 | 
			
		||||
            flattenedConfigs.push(overrideEnvOpts);
 | 
			
		||||
          }
 | 
			
		||||
        }
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (flattenedConfigs.some(({
 | 
			
		||||
      options: {
 | 
			
		||||
        ignore,
 | 
			
		||||
        only
 | 
			
		||||
      }
 | 
			
		||||
    }) => shouldIgnore(context, ignore, only, dirname))) {
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const chain = emptyChain();
 | 
			
		||||
 | 
			
		||||
    for (const op of flattenedConfigs) {
 | 
			
		||||
      if (!mergeExtendsChain(chain, op.options, dirname, context, files)) {
 | 
			
		||||
        return null;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      mergeChainOpts(chain, op);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return chain;
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mergeExtendsChain(chain, opts, dirname, context, files) {
 | 
			
		||||
  if (opts.extends === undefined) return true;
 | 
			
		||||
  const file = (0, _files.loadConfig)(opts.extends, dirname, context.envName, context.caller);
 | 
			
		||||
 | 
			
		||||
  if (files.has(file)) {
 | 
			
		||||
    throw new Error(`Configuration cycle detected loading ${file.filepath}.\n` + `File already loaded following the config chain:\n` + Array.from(files, file => ` - ${file.filepath}`).join("\n"));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  files.add(file);
 | 
			
		||||
  const fileChain = loadFileChain(validateExtendFile(file), context, files);
 | 
			
		||||
  files.delete(file);
 | 
			
		||||
  if (!fileChain) return false;
 | 
			
		||||
  mergeChain(chain, fileChain);
 | 
			
		||||
  return true;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mergeChain(target, source) {
 | 
			
		||||
  target.options.push(...source.options);
 | 
			
		||||
  target.plugins.push(...source.plugins);
 | 
			
		||||
  target.presets.push(...source.presets);
 | 
			
		||||
  return target;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mergeChainOpts(target, {
 | 
			
		||||
  options,
 | 
			
		||||
  plugins,
 | 
			
		||||
  presets
 | 
			
		||||
}) {
 | 
			
		||||
  target.options.push(options);
 | 
			
		||||
  target.plugins.push(...plugins());
 | 
			
		||||
  target.presets.push(...presets());
 | 
			
		||||
  return target;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function emptyChain() {
 | 
			
		||||
  return {
 | 
			
		||||
    options: [],
 | 
			
		||||
    presets: [],
 | 
			
		||||
    plugins: []
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function normalizeOptions(opts) {
 | 
			
		||||
  const options = Object.assign({}, opts);
 | 
			
		||||
  delete options.extends;
 | 
			
		||||
  delete options.env;
 | 
			
		||||
  delete options.overrides;
 | 
			
		||||
  delete options.plugins;
 | 
			
		||||
  delete options.presets;
 | 
			
		||||
  delete options.passPerPreset;
 | 
			
		||||
  delete options.ignore;
 | 
			
		||||
  delete options.only;
 | 
			
		||||
  delete options.test;
 | 
			
		||||
  delete options.include;
 | 
			
		||||
  delete options.exclude;
 | 
			
		||||
 | 
			
		||||
  if (Object.prototype.hasOwnProperty.call(options, "sourceMap")) {
 | 
			
		||||
    options.sourceMaps = options.sourceMap;
 | 
			
		||||
    delete options.sourceMap;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return options;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function dedupDescriptors(items) {
 | 
			
		||||
  const map = new Map();
 | 
			
		||||
  const descriptors = [];
 | 
			
		||||
 | 
			
		||||
  for (const item of items) {
 | 
			
		||||
    if (typeof item.value === "function") {
 | 
			
		||||
      const fnKey = item.value;
 | 
			
		||||
      let nameMap = map.get(fnKey);
 | 
			
		||||
 | 
			
		||||
      if (!nameMap) {
 | 
			
		||||
        nameMap = new Map();
 | 
			
		||||
        map.set(fnKey, nameMap);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      let desc = nameMap.get(item.name);
 | 
			
		||||
 | 
			
		||||
      if (!desc) {
 | 
			
		||||
        desc = {
 | 
			
		||||
          value: item
 | 
			
		||||
        };
 | 
			
		||||
        descriptors.push(desc);
 | 
			
		||||
        if (!item.ownPass) nameMap.set(item.name, desc);
 | 
			
		||||
      } else {
 | 
			
		||||
        desc.value = item;
 | 
			
		||||
      }
 | 
			
		||||
    } else {
 | 
			
		||||
      descriptors.push({
 | 
			
		||||
        value: item
 | 
			
		||||
      });
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return descriptors.reduce((acc, desc) => {
 | 
			
		||||
    acc.push(desc.value);
 | 
			
		||||
    return acc;
 | 
			
		||||
  }, []);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function configIsApplicable({
 | 
			
		||||
  options
 | 
			
		||||
}, dirname, context) {
 | 
			
		||||
  return (options.test === undefined || configFieldIsApplicable(context, options.test, dirname)) && (options.include === undefined || configFieldIsApplicable(context, options.include, dirname)) && (options.exclude === undefined || !configFieldIsApplicable(context, options.exclude, dirname));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function configFieldIsApplicable(context, test, dirname) {
 | 
			
		||||
  const patterns = Array.isArray(test) ? test : [test];
 | 
			
		||||
  return matchesPatterns(context, patterns, dirname);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function shouldIgnore(context, ignore, only, dirname) {
 | 
			
		||||
  if (ignore && matchesPatterns(context, ignore, dirname)) {
 | 
			
		||||
    debug("Ignored %o because it matched one of %O from %o", context.filename, ignore, dirname);
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (only && !matchesPatterns(context, only, dirname)) {
 | 
			
		||||
    debug("Ignored %o because it failed to match one of %O from %o", context.filename, only, dirname);
 | 
			
		||||
    return true;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return false;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function matchesPatterns(context, patterns, dirname) {
 | 
			
		||||
  return patterns.some(pattern => matchPattern(pattern, dirname, context.filename, context));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function matchPattern(pattern, dirname, pathToTest, context) {
 | 
			
		||||
  if (typeof pattern === "function") {
 | 
			
		||||
    return !!pattern(pathToTest, {
 | 
			
		||||
      dirname,
 | 
			
		||||
      envName: context.envName,
 | 
			
		||||
      caller: context.caller
 | 
			
		||||
    });
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof pathToTest !== "string") {
 | 
			
		||||
    throw new Error(`Configuration contains string/RegExp pattern, but no filename was passed to Babel`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof pattern === "string") {
 | 
			
		||||
    pattern = (0, _patternToRegex.default)(pattern, dirname);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return pattern.test(pathToTest);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										210
									
								
								node_modules/@babel/core/lib/config/config-descriptors.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										210
									
								
								node_modules/@babel/core/lib/config/config-descriptors.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,210 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.createCachedDescriptors = createCachedDescriptors;
 | 
			
		||||
exports.createUncachedDescriptors = createUncachedDescriptors;
 | 
			
		||||
exports.createDescriptor = createDescriptor;
 | 
			
		||||
 | 
			
		||||
var _files = require("./files");
 | 
			
		||||
 | 
			
		||||
var _item = require("./item");
 | 
			
		||||
 | 
			
		||||
var _caching = require("./caching");
 | 
			
		||||
 | 
			
		||||
function isEqualDescriptor(a, b) {
 | 
			
		||||
  return a.name === b.name && a.value === b.value && a.options === b.options && a.dirname === b.dirname && a.alias === b.alias && a.ownPass === b.ownPass && (a.file && a.file.request) === (b.file && b.file.request) && (a.file && a.file.resolved) === (b.file && b.file.resolved);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createCachedDescriptors(dirname, options, alias) {
 | 
			
		||||
  const {
 | 
			
		||||
    plugins,
 | 
			
		||||
    presets,
 | 
			
		||||
    passPerPreset
 | 
			
		||||
  } = options;
 | 
			
		||||
  return {
 | 
			
		||||
    options,
 | 
			
		||||
    plugins: plugins ? () => createCachedPluginDescriptors(plugins, dirname)(alias) : () => [],
 | 
			
		||||
    presets: presets ? () => createCachedPresetDescriptors(presets, dirname)(alias)(!!passPerPreset) : () => []
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createUncachedDescriptors(dirname, options, alias) {
 | 
			
		||||
  let plugins;
 | 
			
		||||
  let presets;
 | 
			
		||||
  return {
 | 
			
		||||
    options,
 | 
			
		||||
    plugins: () => {
 | 
			
		||||
      if (!plugins) {
 | 
			
		||||
        plugins = createPluginDescriptors(options.plugins || [], dirname, alias);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      return plugins;
 | 
			
		||||
    },
 | 
			
		||||
    presets: () => {
 | 
			
		||||
      if (!presets) {
 | 
			
		||||
        presets = createPresetDescriptors(options.presets || [], dirname, alias, !!options.passPerPreset);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      return presets;
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const PRESET_DESCRIPTOR_CACHE = new WeakMap();
 | 
			
		||||
const createCachedPresetDescriptors = (0, _caching.makeWeakCache)((items, cache) => {
 | 
			
		||||
  const dirname = cache.using(dir => dir);
 | 
			
		||||
  return (0, _caching.makeStrongCache)(alias => (0, _caching.makeStrongCache)(passPerPreset => createPresetDescriptors(items, dirname, alias, passPerPreset).map(desc => loadCachedDescriptor(PRESET_DESCRIPTOR_CACHE, desc))));
 | 
			
		||||
});
 | 
			
		||||
const PLUGIN_DESCRIPTOR_CACHE = new WeakMap();
 | 
			
		||||
const createCachedPluginDescriptors = (0, _caching.makeWeakCache)((items, cache) => {
 | 
			
		||||
  const dirname = cache.using(dir => dir);
 | 
			
		||||
  return (0, _caching.makeStrongCache)(alias => createPluginDescriptors(items, dirname, alias).map(desc => loadCachedDescriptor(PLUGIN_DESCRIPTOR_CACHE, desc)));
 | 
			
		||||
});
 | 
			
		||||
const DEFAULT_OPTIONS = {};
 | 
			
		||||
 | 
			
		||||
function loadCachedDescriptor(cache, desc) {
 | 
			
		||||
  const {
 | 
			
		||||
    value,
 | 
			
		||||
    options = DEFAULT_OPTIONS
 | 
			
		||||
  } = desc;
 | 
			
		||||
  if (options === false) return desc;
 | 
			
		||||
  let cacheByOptions = cache.get(value);
 | 
			
		||||
 | 
			
		||||
  if (!cacheByOptions) {
 | 
			
		||||
    cacheByOptions = new WeakMap();
 | 
			
		||||
    cache.set(value, cacheByOptions);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let possibilities = cacheByOptions.get(options);
 | 
			
		||||
 | 
			
		||||
  if (!possibilities) {
 | 
			
		||||
    possibilities = [];
 | 
			
		||||
    cacheByOptions.set(options, possibilities);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (possibilities.indexOf(desc) === -1) {
 | 
			
		||||
    const matches = possibilities.filter(possibility => isEqualDescriptor(possibility, desc));
 | 
			
		||||
 | 
			
		||||
    if (matches.length > 0) {
 | 
			
		||||
      return matches[0];
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    possibilities.push(desc);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return desc;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createPresetDescriptors(items, dirname, alias, passPerPreset) {
 | 
			
		||||
  return createDescriptors("preset", items, dirname, alias, passPerPreset);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createPluginDescriptors(items, dirname, alias) {
 | 
			
		||||
  return createDescriptors("plugin", items, dirname, alias);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createDescriptors(type, items, dirname, alias, ownPass) {
 | 
			
		||||
  const descriptors = items.map((item, index) => createDescriptor(item, dirname, {
 | 
			
		||||
    type,
 | 
			
		||||
    alias: `${alias}$${index}`,
 | 
			
		||||
    ownPass: !!ownPass
 | 
			
		||||
  }));
 | 
			
		||||
  assertNoDuplicates(descriptors);
 | 
			
		||||
  return descriptors;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createDescriptor(pair, dirname, {
 | 
			
		||||
  type,
 | 
			
		||||
  alias,
 | 
			
		||||
  ownPass
 | 
			
		||||
}) {
 | 
			
		||||
  const desc = (0, _item.getItemDescriptor)(pair);
 | 
			
		||||
 | 
			
		||||
  if (desc) {
 | 
			
		||||
    return desc;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let name;
 | 
			
		||||
  let options;
 | 
			
		||||
  let value = pair;
 | 
			
		||||
 | 
			
		||||
  if (Array.isArray(value)) {
 | 
			
		||||
    if (value.length === 3) {
 | 
			
		||||
      [value, options, name] = value;
 | 
			
		||||
    } else {
 | 
			
		||||
      [value, options] = value;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let file = undefined;
 | 
			
		||||
  let filepath = null;
 | 
			
		||||
 | 
			
		||||
  if (typeof value === "string") {
 | 
			
		||||
    if (typeof type !== "string") {
 | 
			
		||||
      throw new Error("To resolve a string-based item, the type of item must be given");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const resolver = type === "plugin" ? _files.loadPlugin : _files.loadPreset;
 | 
			
		||||
    const request = value;
 | 
			
		||||
    ({
 | 
			
		||||
      filepath,
 | 
			
		||||
      value
 | 
			
		||||
    } = resolver(value, dirname));
 | 
			
		||||
    file = {
 | 
			
		||||
      request,
 | 
			
		||||
      resolved: filepath
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!value) {
 | 
			
		||||
    throw new Error(`Unexpected falsy value: ${String(value)}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof value === "object" && value.__esModule) {
 | 
			
		||||
    if (value.default) {
 | 
			
		||||
      value = value.default;
 | 
			
		||||
    } else {
 | 
			
		||||
      throw new Error("Must export a default export when using ES6 modules.");
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof value !== "object" && typeof value !== "function") {
 | 
			
		||||
    throw new Error(`Unsupported format: ${typeof value}. Expected an object or a function.`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (filepath !== null && typeof value === "object" && value) {
 | 
			
		||||
    throw new Error(`Plugin/Preset files are not allowed to export objects, only functions. In ${filepath}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    name,
 | 
			
		||||
    alias: filepath || alias,
 | 
			
		||||
    value,
 | 
			
		||||
    options,
 | 
			
		||||
    dirname,
 | 
			
		||||
    ownPass,
 | 
			
		||||
    file
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertNoDuplicates(items) {
 | 
			
		||||
  const map = new Map();
 | 
			
		||||
 | 
			
		||||
  for (const item of items) {
 | 
			
		||||
    if (typeof item.value !== "function") continue;
 | 
			
		||||
    let nameMap = map.get(item.value);
 | 
			
		||||
 | 
			
		||||
    if (!nameMap) {
 | 
			
		||||
      nameMap = new Set();
 | 
			
		||||
      map.set(item.value, nameMap);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (nameMap.has(item.name)) {
 | 
			
		||||
      throw new Error([`Duplicate plugin/preset detected.`, `If you'd like to use two separate instances of a plugin,`, `they need separate names, e.g.`, ``, `  plugins: [`, `    ['some-plugin', {}],`, `    ['some-plugin', {}, 'some unique name'],`, `  ]`].join("\n"));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    nameMap.add(item.name);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										323
									
								
								node_modules/@babel/core/lib/config/files/configuration.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										323
									
								
								node_modules/@babel/core/lib/config/files/configuration.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,323 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.findConfigUpwards = findConfigUpwards;
 | 
			
		||||
exports.findRelativeConfig = findRelativeConfig;
 | 
			
		||||
exports.findRootConfig = findRootConfig;
 | 
			
		||||
exports.loadConfig = loadConfig;
 | 
			
		||||
 | 
			
		||||
function _debug() {
 | 
			
		||||
  const data = _interopRequireDefault(require("debug"));
 | 
			
		||||
 | 
			
		||||
  _debug = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _fs() {
 | 
			
		||||
  const data = _interopRequireDefault(require("fs"));
 | 
			
		||||
 | 
			
		||||
  _fs = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _json() {
 | 
			
		||||
  const data = _interopRequireDefault(require("json5"));
 | 
			
		||||
 | 
			
		||||
  _json = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _resolve() {
 | 
			
		||||
  const data = _interopRequireDefault(require("resolve"));
 | 
			
		||||
 | 
			
		||||
  _resolve = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _caching = require("../caching");
 | 
			
		||||
 | 
			
		||||
var _configApi = _interopRequireDefault(require("../helpers/config-api"));
 | 
			
		||||
 | 
			
		||||
var _utils = require("./utils");
 | 
			
		||||
 | 
			
		||||
var _patternToRegex = _interopRequireDefault(require("../pattern-to-regex"));
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const debug = (0, _debug().default)("babel:config:loading:files:configuration");
 | 
			
		||||
const BABEL_CONFIG_JS_FILENAME = "babel.config.js";
 | 
			
		||||
const BABELRC_FILENAME = ".babelrc";
 | 
			
		||||
const BABELRC_JS_FILENAME = ".babelrc.js";
 | 
			
		||||
const BABELIGNORE_FILENAME = ".babelignore";
 | 
			
		||||
 | 
			
		||||
function findConfigUpwards(rootDir) {
 | 
			
		||||
  let dirname = rootDir;
 | 
			
		||||
 | 
			
		||||
  while (true) {
 | 
			
		||||
    if (_fs().default.existsSync(_path().default.join(dirname, BABEL_CONFIG_JS_FILENAME))) {
 | 
			
		||||
      return dirname;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const nextDir = _path().default.dirname(dirname);
 | 
			
		||||
 | 
			
		||||
    if (dirname === nextDir) break;
 | 
			
		||||
    dirname = nextDir;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function findRelativeConfig(packageData, envName, caller) {
 | 
			
		||||
  let config = null;
 | 
			
		||||
  let ignore = null;
 | 
			
		||||
 | 
			
		||||
  const dirname = _path().default.dirname(packageData.filepath);
 | 
			
		||||
 | 
			
		||||
  for (const loc of packageData.directories) {
 | 
			
		||||
    if (!config) {
 | 
			
		||||
      config = [BABELRC_FILENAME, BABELRC_JS_FILENAME].reduce((previousConfig, name) => {
 | 
			
		||||
        const filepath = _path().default.join(loc, name);
 | 
			
		||||
 | 
			
		||||
        const config = readConfig(filepath, envName, caller);
 | 
			
		||||
 | 
			
		||||
        if (config && previousConfig) {
 | 
			
		||||
          throw new Error(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().default.basename(previousConfig.filepath)}\n` + ` - ${name}\n` + `from ${loc}`);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return config || previousConfig;
 | 
			
		||||
      }, null);
 | 
			
		||||
      const pkgConfig = packageData.pkg && packageData.pkg.dirname === loc ? packageToBabelConfig(packageData.pkg) : null;
 | 
			
		||||
 | 
			
		||||
      if (pkgConfig) {
 | 
			
		||||
        if (config) {
 | 
			
		||||
          throw new Error(`Multiple configuration files found. Please remove one:\n` + ` - ${_path().default.basename(pkgConfig.filepath)}#babel\n` + ` - ${_path().default.basename(config.filepath)}\n` + `from ${loc}`);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        config = pkgConfig;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (config) {
 | 
			
		||||
        debug("Found configuration %o from %o.", config.filepath, dirname);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!ignore) {
 | 
			
		||||
      const ignoreLoc = _path().default.join(loc, BABELIGNORE_FILENAME);
 | 
			
		||||
 | 
			
		||||
      ignore = readIgnoreConfig(ignoreLoc);
 | 
			
		||||
 | 
			
		||||
      if (ignore) {
 | 
			
		||||
        debug("Found ignore %o from %o.", ignore.filepath, dirname);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    config,
 | 
			
		||||
    ignore
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function findRootConfig(dirname, envName, caller) {
 | 
			
		||||
  const filepath = _path().default.resolve(dirname, BABEL_CONFIG_JS_FILENAME);
 | 
			
		||||
 | 
			
		||||
  const conf = readConfig(filepath, envName, caller);
 | 
			
		||||
 | 
			
		||||
  if (conf) {
 | 
			
		||||
    debug("Found root config %o in %o.", BABEL_CONFIG_JS_FILENAME, dirname);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return conf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadConfig(name, dirname, envName, caller) {
 | 
			
		||||
  const filepath = _resolve().default.sync(name, {
 | 
			
		||||
    basedir: dirname
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  const conf = readConfig(filepath, envName, caller);
 | 
			
		||||
 | 
			
		||||
  if (!conf) {
 | 
			
		||||
    throw new Error(`Config file ${filepath} contains no configuration data`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  debug("Loaded config %o from %o.", name, dirname);
 | 
			
		||||
  return conf;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function readConfig(filepath, envName, caller) {
 | 
			
		||||
  return _path().default.extname(filepath) === ".js" ? readConfigJS(filepath, {
 | 
			
		||||
    envName,
 | 
			
		||||
    caller
 | 
			
		||||
  }) : readConfigJSON5(filepath);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const LOADING_CONFIGS = new Set();
 | 
			
		||||
const readConfigJS = (0, _caching.makeStrongCache)((filepath, cache) => {
 | 
			
		||||
  if (!_fs().default.existsSync(filepath)) {
 | 
			
		||||
    cache.forever();
 | 
			
		||||
    return null;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (LOADING_CONFIGS.has(filepath)) {
 | 
			
		||||
    cache.never();
 | 
			
		||||
    debug("Auto-ignoring usage of config %o.", filepath);
 | 
			
		||||
    return {
 | 
			
		||||
      filepath,
 | 
			
		||||
      dirname: _path().default.dirname(filepath),
 | 
			
		||||
      options: {}
 | 
			
		||||
    };
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  let options;
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    LOADING_CONFIGS.add(filepath);
 | 
			
		||||
 | 
			
		||||
    const configModule = require(filepath);
 | 
			
		||||
 | 
			
		||||
    options = configModule && configModule.__esModule ? configModule.default || undefined : configModule;
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    err.message = `${filepath}: Error while loading config - ${err.message}`;
 | 
			
		||||
    throw err;
 | 
			
		||||
  } finally {
 | 
			
		||||
    LOADING_CONFIGS.delete(filepath);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof options === "function") {
 | 
			
		||||
    options = options((0, _configApi.default)(cache));
 | 
			
		||||
    if (!cache.configured()) throwConfigError();
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!options || typeof options !== "object" || Array.isArray(options)) {
 | 
			
		||||
    throw new Error(`${filepath}: Configuration should be an exported JavaScript object.`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof options.then === "function") {
 | 
			
		||||
    throw new Error(`You appear to be using an async configuration, ` + `which your current version of Babel does not support. ` + `We may add support for this in the future, ` + `but if you're on the most recent version of @babel/core and still ` + `seeing this error, then you'll need to synchronously return your config.`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    dirname: _path().default.dirname(filepath),
 | 
			
		||||
    options
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
const packageToBabelConfig = (0, _caching.makeWeakCache)(file => {
 | 
			
		||||
  const babel = file.options["babel"];
 | 
			
		||||
  if (typeof babel === "undefined") return null;
 | 
			
		||||
 | 
			
		||||
  if (typeof babel !== "object" || Array.isArray(babel) || babel === null) {
 | 
			
		||||
    throw new Error(`${file.filepath}: .babel property must be an object`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath: file.filepath,
 | 
			
		||||
    dirname: file.dirname,
 | 
			
		||||
    options: babel
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
const readConfigJSON5 = (0, _utils.makeStaticFileCache)((filepath, content) => {
 | 
			
		||||
  let options;
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    options = _json().default.parse(content);
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    err.message = `${filepath}: Error while parsing config - ${err.message}`;
 | 
			
		||||
    throw err;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!options) throw new Error(`${filepath}: No config detected`);
 | 
			
		||||
 | 
			
		||||
  if (typeof options !== "object") {
 | 
			
		||||
    throw new Error(`${filepath}: Config returned typeof ${typeof options}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (Array.isArray(options)) {
 | 
			
		||||
    throw new Error(`${filepath}: Expected config object but found array`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    dirname: _path().default.dirname(filepath),
 | 
			
		||||
    options
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
const readIgnoreConfig = (0, _utils.makeStaticFileCache)((filepath, content) => {
 | 
			
		||||
  const ignoreDir = _path().default.dirname(filepath);
 | 
			
		||||
 | 
			
		||||
  const ignorePatterns = content.split("\n").map(line => line.replace(/#(.*?)$/, "").trim()).filter(line => !!line);
 | 
			
		||||
 | 
			
		||||
  for (const pattern of ignorePatterns) {
 | 
			
		||||
    if (pattern[0] === "!") {
 | 
			
		||||
      throw new Error(`Negation of file paths is not supported.`);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    dirname: _path().default.dirname(filepath),
 | 
			
		||||
    ignore: ignorePatterns.map(pattern => (0, _patternToRegex.default)(pattern, ignoreDir))
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function throwConfigError() {
 | 
			
		||||
  throw new Error(`\
 | 
			
		||||
Caching was left unconfigured. Babel's plugins, presets, and .babelrc.js files can be configured
 | 
			
		||||
for various types of caching, using the first param of their handler functions:
 | 
			
		||||
 | 
			
		||||
module.exports = function(api) {
 | 
			
		||||
  // The API exposes the following:
 | 
			
		||||
 | 
			
		||||
  // Cache the returned value forever and don't call this function again.
 | 
			
		||||
  api.cache(true);
 | 
			
		||||
 | 
			
		||||
  // Don't cache at all. Not recommended because it will be very slow.
 | 
			
		||||
  api.cache(false);
 | 
			
		||||
 | 
			
		||||
  // Cached based on the value of some function. If this function returns a value different from
 | 
			
		||||
  // a previously-encountered value, the plugins will re-evaluate.
 | 
			
		||||
  var env = api.cache(() => process.env.NODE_ENV);
 | 
			
		||||
 | 
			
		||||
  // If testing for a specific env, we recommend specifics to avoid instantiating a plugin for
 | 
			
		||||
  // any possible NODE_ENV value that might come up during plugin execution.
 | 
			
		||||
  var isProd = api.cache(() => process.env.NODE_ENV === "production");
 | 
			
		||||
 | 
			
		||||
  // .cache(fn) will perform a linear search though instances to find the matching plugin based
 | 
			
		||||
  // based on previous instantiated plugins. If you want to recreate the plugin and discard the
 | 
			
		||||
  // previous instance whenever something changes, you may use:
 | 
			
		||||
  var isProd = api.cache.invalidate(() => process.env.NODE_ENV === "production");
 | 
			
		||||
 | 
			
		||||
  // Note, we also expose the following more-verbose versions of the above examples:
 | 
			
		||||
  api.cache.forever(); // api.cache(true)
 | 
			
		||||
  api.cache.never();   // api.cache(false)
 | 
			
		||||
  api.cache.using(fn); // api.cache(fn)
 | 
			
		||||
 | 
			
		||||
  // Return the value that will be cached.
 | 
			
		||||
  return { };
 | 
			
		||||
};`);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										59
									
								
								node_modules/@babel/core/lib/config/files/index-browser.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								node_modules/@babel/core/lib/config/files/index-browser.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,59 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.findConfigUpwards = findConfigUpwards;
 | 
			
		||||
exports.findPackageData = findPackageData;
 | 
			
		||||
exports.findRelativeConfig = findRelativeConfig;
 | 
			
		||||
exports.findRootConfig = findRootConfig;
 | 
			
		||||
exports.loadConfig = loadConfig;
 | 
			
		||||
exports.resolvePlugin = resolvePlugin;
 | 
			
		||||
exports.resolvePreset = resolvePreset;
 | 
			
		||||
exports.loadPlugin = loadPlugin;
 | 
			
		||||
exports.loadPreset = loadPreset;
 | 
			
		||||
 | 
			
		||||
function findConfigUpwards(rootDir) {
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function findPackageData(filepath) {
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    directories: [],
 | 
			
		||||
    pkg: null,
 | 
			
		||||
    isPackage: false
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function findRelativeConfig(pkgData, envName, caller) {
 | 
			
		||||
  return {
 | 
			
		||||
    pkg: null,
 | 
			
		||||
    config: null,
 | 
			
		||||
    ignore: null
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function findRootConfig(dirname, envName, caller) {
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadConfig(name, dirname, envName, caller) {
 | 
			
		||||
  throw new Error(`Cannot load ${name} relative to ${dirname} in a browser`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function resolvePlugin(name, dirname) {
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function resolvePreset(name, dirname) {
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPlugin(name, dirname) {
 | 
			
		||||
  throw new Error(`Cannot load plugin ${name} relative to ${dirname} in a browser`);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPreset(name, dirname) {
 | 
			
		||||
  throw new Error(`Cannot load preset ${name} relative to ${dirname} in a browser`);
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										67
									
								
								node_modules/@babel/core/lib/config/files/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										67
									
								
								node_modules/@babel/core/lib/config/files/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,67 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "findPackageData", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _package.findPackageData;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "findConfigUpwards", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _configuration.findConfigUpwards;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "findRelativeConfig", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _configuration.findRelativeConfig;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "findRootConfig", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _configuration.findRootConfig;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "loadConfig", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _configuration.loadConfig;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "resolvePlugin", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _plugins.resolvePlugin;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "resolvePreset", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _plugins.resolvePreset;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "loadPlugin", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _plugins.loadPlugin;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "loadPreset", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _plugins.loadPreset;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var _package = require("./package");
 | 
			
		||||
 | 
			
		||||
var _configuration = require("./configuration");
 | 
			
		||||
 | 
			
		||||
var _plugins = require("./plugins");
 | 
			
		||||
 | 
			
		||||
({});
 | 
			
		||||
							
								
								
									
										76
									
								
								node_modules/@babel/core/lib/config/files/package.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										76
									
								
								node_modules/@babel/core/lib/config/files/package.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,76 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.findPackageData = findPackageData;
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _utils = require("./utils");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const PACKAGE_FILENAME = "package.json";
 | 
			
		||||
 | 
			
		||||
function findPackageData(filepath) {
 | 
			
		||||
  let pkg = null;
 | 
			
		||||
  const directories = [];
 | 
			
		||||
  let isPackage = true;
 | 
			
		||||
 | 
			
		||||
  let dirname = _path().default.dirname(filepath);
 | 
			
		||||
 | 
			
		||||
  while (!pkg && _path().default.basename(dirname) !== "node_modules") {
 | 
			
		||||
    directories.push(dirname);
 | 
			
		||||
    pkg = readConfigPackage(_path().default.join(dirname, PACKAGE_FILENAME));
 | 
			
		||||
 | 
			
		||||
    const nextLoc = _path().default.dirname(dirname);
 | 
			
		||||
 | 
			
		||||
    if (dirname === nextLoc) {
 | 
			
		||||
      isPackage = false;
 | 
			
		||||
      break;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    dirname = nextLoc;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    directories,
 | 
			
		||||
    pkg,
 | 
			
		||||
    isPackage
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const readConfigPackage = (0, _utils.makeStaticFileCache)((filepath, content) => {
 | 
			
		||||
  let options;
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    options = JSON.parse(content);
 | 
			
		||||
  } catch (err) {
 | 
			
		||||
    err.message = `${filepath}: Error while parsing JSON - ${err.message}`;
 | 
			
		||||
    throw err;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof options !== "object") {
 | 
			
		||||
    throw new Error(`${filepath}: Config returned typeof ${typeof options}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (Array.isArray(options)) {
 | 
			
		||||
    throw new Error(`${filepath}: Expected config object but found array`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    dirname: _path().default.dirname(filepath),
 | 
			
		||||
    options
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
							
								
								
									
										169
									
								
								node_modules/@babel/core/lib/config/files/plugins.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										169
									
								
								node_modules/@babel/core/lib/config/files/plugins.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,169 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.resolvePlugin = resolvePlugin;
 | 
			
		||||
exports.resolvePreset = resolvePreset;
 | 
			
		||||
exports.loadPlugin = loadPlugin;
 | 
			
		||||
exports.loadPreset = loadPreset;
 | 
			
		||||
 | 
			
		||||
function _debug() {
 | 
			
		||||
  const data = _interopRequireDefault(require("debug"));
 | 
			
		||||
 | 
			
		||||
  _debug = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _resolve() {
 | 
			
		||||
  const data = _interopRequireDefault(require("resolve"));
 | 
			
		||||
 | 
			
		||||
  _resolve = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const debug = (0, _debug().default)("babel:config:loading:files:plugins");
 | 
			
		||||
const EXACT_RE = /^module:/;
 | 
			
		||||
const BABEL_PLUGIN_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-plugin-)/;
 | 
			
		||||
const BABEL_PRESET_PREFIX_RE = /^(?!@|module:|[^/]+\/|babel-preset-)/;
 | 
			
		||||
const BABEL_PLUGIN_ORG_RE = /^(@babel\/)(?!plugin-|[^/]+\/)/;
 | 
			
		||||
const BABEL_PRESET_ORG_RE = /^(@babel\/)(?!preset-|[^/]+\/)/;
 | 
			
		||||
const OTHER_PLUGIN_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-plugin(?:-|\/|$)|[^/]+\/)/;
 | 
			
		||||
const OTHER_PRESET_ORG_RE = /^(@(?!babel\/)[^/]+\/)(?![^/]*babel-preset(?:-|\/|$)|[^/]+\/)/;
 | 
			
		||||
const OTHER_ORG_DEFAULT_RE = /^(@(?!babel$)[^/]+)$/;
 | 
			
		||||
 | 
			
		||||
function resolvePlugin(name, dirname) {
 | 
			
		||||
  return resolveStandardizedName("plugin", name, dirname);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function resolvePreset(name, dirname) {
 | 
			
		||||
  return resolveStandardizedName("preset", name, dirname);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPlugin(name, dirname) {
 | 
			
		||||
  const filepath = resolvePlugin(name, dirname);
 | 
			
		||||
 | 
			
		||||
  if (!filepath) {
 | 
			
		||||
    throw new Error(`Plugin ${name} not found relative to ${dirname}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const value = requireModule("plugin", filepath);
 | 
			
		||||
  debug("Loaded plugin %o from %o.", name, dirname);
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    value
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPreset(name, dirname) {
 | 
			
		||||
  const filepath = resolvePreset(name, dirname);
 | 
			
		||||
 | 
			
		||||
  if (!filepath) {
 | 
			
		||||
    throw new Error(`Preset ${name} not found relative to ${dirname}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const value = requireModule("preset", filepath);
 | 
			
		||||
  debug("Loaded preset %o from %o.", name, dirname);
 | 
			
		||||
  return {
 | 
			
		||||
    filepath,
 | 
			
		||||
    value
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function standardizeName(type, name) {
 | 
			
		||||
  if (_path().default.isAbsolute(name)) return name;
 | 
			
		||||
  const isPreset = type === "preset";
 | 
			
		||||
  return name.replace(isPreset ? BABEL_PRESET_PREFIX_RE : BABEL_PLUGIN_PREFIX_RE, `babel-${type}-`).replace(isPreset ? BABEL_PRESET_ORG_RE : BABEL_PLUGIN_ORG_RE, `$1${type}-`).replace(isPreset ? OTHER_PRESET_ORG_RE : OTHER_PLUGIN_ORG_RE, `$1babel-${type}-`).replace(OTHER_ORG_DEFAULT_RE, `$1/babel-${type}`).replace(EXACT_RE, "");
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function resolveStandardizedName(type, name, dirname = process.cwd()) {
 | 
			
		||||
  const standardizedName = standardizeName(type, name);
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    return _resolve().default.sync(standardizedName, {
 | 
			
		||||
      basedir: dirname
 | 
			
		||||
    });
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    if (e.code !== "MODULE_NOT_FOUND") throw e;
 | 
			
		||||
 | 
			
		||||
    if (standardizedName !== name) {
 | 
			
		||||
      let resolvedOriginal = false;
 | 
			
		||||
 | 
			
		||||
      try {
 | 
			
		||||
        _resolve().default.sync(name, {
 | 
			
		||||
          basedir: dirname
 | 
			
		||||
        });
 | 
			
		||||
 | 
			
		||||
        resolvedOriginal = true;
 | 
			
		||||
      } catch (e2) {}
 | 
			
		||||
 | 
			
		||||
      if (resolvedOriginal) {
 | 
			
		||||
        e.message += `\n- If you want to resolve "${name}", use "module:${name}"`;
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let resolvedBabel = false;
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      _resolve().default.sync(standardizeName(type, "@babel/" + name), {
 | 
			
		||||
        basedir: dirname
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      resolvedBabel = true;
 | 
			
		||||
    } catch (e2) {}
 | 
			
		||||
 | 
			
		||||
    if (resolvedBabel) {
 | 
			
		||||
      e.message += `\n- Did you mean "@babel/${name}"?`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    let resolvedOppositeType = false;
 | 
			
		||||
    const oppositeType = type === "preset" ? "plugin" : "preset";
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      _resolve().default.sync(standardizeName(oppositeType, name), {
 | 
			
		||||
        basedir: dirname
 | 
			
		||||
      });
 | 
			
		||||
 | 
			
		||||
      resolvedOppositeType = true;
 | 
			
		||||
    } catch (e2) {}
 | 
			
		||||
 | 
			
		||||
    if (resolvedOppositeType) {
 | 
			
		||||
      e.message += `\n- Did you accidentally pass a ${oppositeType} as a ${type}?`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    throw e;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const LOADING_MODULES = new Set();
 | 
			
		||||
 | 
			
		||||
function requireModule(type, name) {
 | 
			
		||||
  if (LOADING_MODULES.has(name)) {
 | 
			
		||||
    throw new Error(`Reentrant ${type} detected trying to load "${name}". This module is not ignored ` + "and is trying to load itself while compiling itself, leading to a dependency cycle. " + 'We recommend adding it to your "ignore" list in your babelrc, or to a .babelignore.');
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    LOADING_MODULES.add(name);
 | 
			
		||||
    return require(name);
 | 
			
		||||
  } finally {
 | 
			
		||||
    LOADING_MODULES.delete(name);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										0
									
								
								node_modules/@babel/core/lib/config/files/types.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										0
									
								
								node_modules/@babel/core/lib/config/files/types.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
								
								
									
										41
									
								
								node_modules/@babel/core/lib/config/files/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										41
									
								
								node_modules/@babel/core/lib/config/files/utils.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,41 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.makeStaticFileCache = makeStaticFileCache;
 | 
			
		||||
 | 
			
		||||
function _fs() {
 | 
			
		||||
  const data = _interopRequireDefault(require("fs"));
 | 
			
		||||
 | 
			
		||||
  _fs = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _caching = require("../caching");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function makeStaticFileCache(fn) {
 | 
			
		||||
  return (0, _caching.makeStrongCache)((filepath, cache) => {
 | 
			
		||||
    if (cache.invalidate(() => fileMtime(filepath)) === null) {
 | 
			
		||||
      cache.forever();
 | 
			
		||||
      return null;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return fn(filepath, _fs().default.readFileSync(filepath, "utf8"));
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function fileMtime(filepath) {
 | 
			
		||||
  try {
 | 
			
		||||
    return +_fs().default.statSync(filepath).mtime;
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    if (e.code !== "ENOENT" && e.code !== "ENOTDIR") throw e;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return null;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										282
									
								
								node_modules/@babel/core/lib/config/full.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										282
									
								
								node_modules/@babel/core/lib/config/full.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,282 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = loadFullConfig;
 | 
			
		||||
 | 
			
		||||
var _util = require("./util");
 | 
			
		||||
 | 
			
		||||
var context = _interopRequireWildcard(require("../index"));
 | 
			
		||||
 | 
			
		||||
var _plugin = _interopRequireDefault(require("./plugin"));
 | 
			
		||||
 | 
			
		||||
var _item = require("./item");
 | 
			
		||||
 | 
			
		||||
var _configChain = require("./config-chain");
 | 
			
		||||
 | 
			
		||||
function _traverse() {
 | 
			
		||||
  const data = _interopRequireDefault(require("@babel/traverse"));
 | 
			
		||||
 | 
			
		||||
  _traverse = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _caching = require("./caching");
 | 
			
		||||
 | 
			
		||||
var _options = require("./validation/options");
 | 
			
		||||
 | 
			
		||||
var _plugins = require("./validation/plugins");
 | 
			
		||||
 | 
			
		||||
var _configApi = _interopRequireDefault(require("./helpers/config-api"));
 | 
			
		||||
 | 
			
		||||
var _partial = _interopRequireDefault(require("./partial"));
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function _getRequireWildcardCache() { if (typeof WeakMap !== "function") return null; var cache = new WeakMap(); _getRequireWildcardCache = function () { return cache; }; return cache; }
 | 
			
		||||
 | 
			
		||||
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } var cache = _getRequireWildcardCache(); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; if (obj != null) { var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
 | 
			
		||||
 | 
			
		||||
function loadFullConfig(inputOpts) {
 | 
			
		||||
  const result = (0, _partial.default)(inputOpts);
 | 
			
		||||
 | 
			
		||||
  if (!result) {
 | 
			
		||||
    return null;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const {
 | 
			
		||||
    options,
 | 
			
		||||
    context
 | 
			
		||||
  } = result;
 | 
			
		||||
  const optionDefaults = {};
 | 
			
		||||
  const passes = [[]];
 | 
			
		||||
 | 
			
		||||
  try {
 | 
			
		||||
    const {
 | 
			
		||||
      plugins,
 | 
			
		||||
      presets
 | 
			
		||||
    } = options;
 | 
			
		||||
 | 
			
		||||
    if (!plugins || !presets) {
 | 
			
		||||
      throw new Error("Assertion failure - plugins and presets exist");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const ignored = function recurseDescriptors(config, pass) {
 | 
			
		||||
      const plugins = config.plugins.reduce((acc, descriptor) => {
 | 
			
		||||
        if (descriptor.options !== false) {
 | 
			
		||||
          acc.push(loadPluginDescriptor(descriptor, context));
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return acc;
 | 
			
		||||
      }, []);
 | 
			
		||||
      const presets = config.presets.reduce((acc, descriptor) => {
 | 
			
		||||
        if (descriptor.options !== false) {
 | 
			
		||||
          acc.push({
 | 
			
		||||
            preset: loadPresetDescriptor(descriptor, context),
 | 
			
		||||
            pass: descriptor.ownPass ? [] : pass
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return acc;
 | 
			
		||||
      }, []);
 | 
			
		||||
 | 
			
		||||
      if (presets.length > 0) {
 | 
			
		||||
        passes.splice(1, 0, ...presets.map(o => o.pass).filter(p => p !== pass));
 | 
			
		||||
 | 
			
		||||
        for (const _ref of presets) {
 | 
			
		||||
          const {
 | 
			
		||||
            preset,
 | 
			
		||||
            pass
 | 
			
		||||
          } = _ref;
 | 
			
		||||
          if (!preset) return true;
 | 
			
		||||
          const ignored = recurseDescriptors({
 | 
			
		||||
            plugins: preset.plugins,
 | 
			
		||||
            presets: preset.presets
 | 
			
		||||
          }, pass);
 | 
			
		||||
          if (ignored) return true;
 | 
			
		||||
          preset.options.forEach(opts => {
 | 
			
		||||
            (0, _util.mergeOptions)(optionDefaults, opts);
 | 
			
		||||
          });
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      if (plugins.length > 0) {
 | 
			
		||||
        pass.unshift(...plugins);
 | 
			
		||||
      }
 | 
			
		||||
    }({
 | 
			
		||||
      plugins: plugins.map(item => {
 | 
			
		||||
        const desc = (0, _item.getItemDescriptor)(item);
 | 
			
		||||
 | 
			
		||||
        if (!desc) {
 | 
			
		||||
          throw new Error("Assertion failure - must be config item");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return desc;
 | 
			
		||||
      }),
 | 
			
		||||
      presets: presets.map(item => {
 | 
			
		||||
        const desc = (0, _item.getItemDescriptor)(item);
 | 
			
		||||
 | 
			
		||||
        if (!desc) {
 | 
			
		||||
          throw new Error("Assertion failure - must be config item");
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return desc;
 | 
			
		||||
      })
 | 
			
		||||
    }, passes[0]);
 | 
			
		||||
 | 
			
		||||
    if (ignored) return null;
 | 
			
		||||
  } catch (e) {
 | 
			
		||||
    if (!/^\[BABEL\]/.test(e.message)) {
 | 
			
		||||
      e.message = `[BABEL] ${context.filename || "unknown"}: ${e.message}`;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    throw e;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const opts = optionDefaults;
 | 
			
		||||
  (0, _util.mergeOptions)(opts, options);
 | 
			
		||||
  opts.plugins = passes[0];
 | 
			
		||||
  opts.presets = passes.slice(1).filter(plugins => plugins.length > 0).map(plugins => ({
 | 
			
		||||
    plugins
 | 
			
		||||
  }));
 | 
			
		||||
  opts.passPerPreset = opts.presets.length > 0;
 | 
			
		||||
  return {
 | 
			
		||||
    options: opts,
 | 
			
		||||
    passes: passes
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const loadDescriptor = (0, _caching.makeWeakCache)(({
 | 
			
		||||
  value,
 | 
			
		||||
  options,
 | 
			
		||||
  dirname,
 | 
			
		||||
  alias
 | 
			
		||||
}, cache) => {
 | 
			
		||||
  if (options === false) throw new Error("Assertion failure");
 | 
			
		||||
  options = options || {};
 | 
			
		||||
  let item = value;
 | 
			
		||||
 | 
			
		||||
  if (typeof value === "function") {
 | 
			
		||||
    const api = Object.assign({}, context, {}, (0, _configApi.default)(cache));
 | 
			
		||||
 | 
			
		||||
    try {
 | 
			
		||||
      item = value(api, options, dirname);
 | 
			
		||||
    } catch (e) {
 | 
			
		||||
      if (alias) {
 | 
			
		||||
        e.message += ` (While processing: ${JSON.stringify(alias)})`;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      throw e;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (!item || typeof item !== "object") {
 | 
			
		||||
    throw new Error("Plugin/Preset did not return an object.");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof item.then === "function") {
 | 
			
		||||
    throw new Error(`You appear to be using an async plugin, ` + `which your current version of Babel does not support. ` + `If you're using a published plugin, ` + `you may need to upgrade your @babel/core version.`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    value: item,
 | 
			
		||||
    options,
 | 
			
		||||
    dirname,
 | 
			
		||||
    alias
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function loadPluginDescriptor(descriptor, context) {
 | 
			
		||||
  if (descriptor.value instanceof _plugin.default) {
 | 
			
		||||
    if (descriptor.options) {
 | 
			
		||||
      throw new Error("Passed options to an existing Plugin instance will not work.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return descriptor.value;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return instantiatePlugin(loadDescriptor(descriptor, context), context);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
const instantiatePlugin = (0, _caching.makeWeakCache)(({
 | 
			
		||||
  value,
 | 
			
		||||
  options,
 | 
			
		||||
  dirname,
 | 
			
		||||
  alias
 | 
			
		||||
}, cache) => {
 | 
			
		||||
  const pluginObj = (0, _plugins.validatePluginObject)(value);
 | 
			
		||||
  const plugin = Object.assign({}, pluginObj);
 | 
			
		||||
 | 
			
		||||
  if (plugin.visitor) {
 | 
			
		||||
    plugin.visitor = _traverse().default.explode(Object.assign({}, plugin.visitor));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (plugin.inherits) {
 | 
			
		||||
    const inheritsDescriptor = {
 | 
			
		||||
      name: undefined,
 | 
			
		||||
      alias: `${alias}$inherits`,
 | 
			
		||||
      value: plugin.inherits,
 | 
			
		||||
      options,
 | 
			
		||||
      dirname
 | 
			
		||||
    };
 | 
			
		||||
    const inherits = cache.invalidate(data => loadPluginDescriptor(inheritsDescriptor, data));
 | 
			
		||||
    plugin.pre = chain(inherits.pre, plugin.pre);
 | 
			
		||||
    plugin.post = chain(inherits.post, plugin.post);
 | 
			
		||||
    plugin.manipulateOptions = chain(inherits.manipulateOptions, plugin.manipulateOptions);
 | 
			
		||||
    plugin.visitor = _traverse().default.visitors.merge([inherits.visitor || {}, plugin.visitor || {}]);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return new _plugin.default(plugin, options, alias);
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
const validateIfOptionNeedsFilename = (options, descriptor) => {
 | 
			
		||||
  if (options.test || options.include || options.exclude) {
 | 
			
		||||
    const formattedPresetName = descriptor.name ? `"${descriptor.name}"` : "/* your preset */";
 | 
			
		||||
    throw new Error([`Preset ${formattedPresetName} requires a filename to be set when babel is called directly,`, `\`\`\``, `babel.transform(code, { filename: 'file.ts', presets: [${formattedPresetName}] });`, `\`\`\``, `See https://babeljs.io/docs/en/options#filename for more information.`].join("\n"));
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const validatePreset = (preset, context, descriptor) => {
 | 
			
		||||
  if (!context.filename) {
 | 
			
		||||
    const {
 | 
			
		||||
      options
 | 
			
		||||
    } = preset;
 | 
			
		||||
    validateIfOptionNeedsFilename(options, descriptor);
 | 
			
		||||
 | 
			
		||||
    if (options.overrides) {
 | 
			
		||||
      options.overrides.forEach(overrideOptions => validateIfOptionNeedsFilename(overrideOptions, descriptor));
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const loadPresetDescriptor = (descriptor, context) => {
 | 
			
		||||
  const preset = instantiatePreset(loadDescriptor(descriptor, context));
 | 
			
		||||
  validatePreset(preset, context, descriptor);
 | 
			
		||||
  return (0, _configChain.buildPresetChain)(preset, context);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
const instantiatePreset = (0, _caching.makeWeakCache)(({
 | 
			
		||||
  value,
 | 
			
		||||
  dirname,
 | 
			
		||||
  alias
 | 
			
		||||
}) => {
 | 
			
		||||
  return {
 | 
			
		||||
    options: (0, _options.validate)("preset", value),
 | 
			
		||||
    alias,
 | 
			
		||||
    dirname
 | 
			
		||||
  };
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
function chain(a, b) {
 | 
			
		||||
  const fns = [a, b].filter(Boolean);
 | 
			
		||||
  if (fns.length <= 1) return fns[0];
 | 
			
		||||
  return function (...args) {
 | 
			
		||||
    for (const fn of fns) {
 | 
			
		||||
      fn.apply(this, args);
 | 
			
		||||
    }
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										86
									
								
								node_modules/@babel/core/lib/config/helpers/config-api.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										86
									
								
								node_modules/@babel/core/lib/config/helpers/config-api.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,86 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = makeAPI;
 | 
			
		||||
 | 
			
		||||
function _semver() {
 | 
			
		||||
  const data = _interopRequireDefault(require("semver"));
 | 
			
		||||
 | 
			
		||||
  _semver = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _ = require("../../");
 | 
			
		||||
 | 
			
		||||
var _caching = require("../caching");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function makeAPI(cache) {
 | 
			
		||||
  const env = value => cache.using(data => {
 | 
			
		||||
    if (typeof value === "undefined") return data.envName;
 | 
			
		||||
 | 
			
		||||
    if (typeof value === "function") {
 | 
			
		||||
      return (0, _caching.assertSimpleType)(value(data.envName));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (!Array.isArray(value)) value = [value];
 | 
			
		||||
    return value.some(entry => {
 | 
			
		||||
      if (typeof entry !== "string") {
 | 
			
		||||
        throw new Error("Unexpected non-string value");
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      return entry === data.envName;
 | 
			
		||||
    });
 | 
			
		||||
  });
 | 
			
		||||
 | 
			
		||||
  const caller = cb => cache.using(data => (0, _caching.assertSimpleType)(cb(data.caller)));
 | 
			
		||||
 | 
			
		||||
  return {
 | 
			
		||||
    version: _.version,
 | 
			
		||||
    cache: cache.simple(),
 | 
			
		||||
    env,
 | 
			
		||||
    async: () => false,
 | 
			
		||||
    caller,
 | 
			
		||||
    assertVersion,
 | 
			
		||||
    tokTypes: undefined
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertVersion(range) {
 | 
			
		||||
  if (typeof range === "number") {
 | 
			
		||||
    if (!Number.isInteger(range)) {
 | 
			
		||||
      throw new Error("Expected string or integer value.");
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    range = `^${range}.0.0-0`;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (typeof range !== "string") {
 | 
			
		||||
    throw new Error("Expected string or integer value.");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (_semver().default.satisfies(_.version, range)) return;
 | 
			
		||||
  const limit = Error.stackTraceLimit;
 | 
			
		||||
 | 
			
		||||
  if (typeof limit === "number" && limit < 25) {
 | 
			
		||||
    Error.stackTraceLimit = 25;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const err = new Error(`Requires Babel "${range}", but was loaded with "${_.version}". ` + `If you are sure you have a compatible version of @babel/core, ` + `it is likely that something in your build process is loading the ` + `wrong version. Inspect the stack trace of this error to look for ` + `the first entry that doesn't mention "@babel/core" or "babel-core" ` + `to see what is calling Babel.`);
 | 
			
		||||
 | 
			
		||||
  if (typeof limit === "number") {
 | 
			
		||||
    Error.stackTraceLimit = limit;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  throw Object.assign(err, {
 | 
			
		||||
    code: "BABEL_VERSION_UNSUPPORTED",
 | 
			
		||||
    version: _.version,
 | 
			
		||||
    range
 | 
			
		||||
  });
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										10
									
								
								node_modules/@babel/core/lib/config/helpers/environment.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								node_modules/@babel/core/lib/config/helpers/environment.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,10 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.getEnv = getEnv;
 | 
			
		||||
 | 
			
		||||
function getEnv(defaultValue = "development") {
 | 
			
		||||
  return process.env.BABEL_ENV || process.env.NODE_ENV || defaultValue;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										29
									
								
								node_modules/@babel/core/lib/config/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								node_modules/@babel/core/lib/config/index.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,29 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.loadOptions = loadOptions;
 | 
			
		||||
Object.defineProperty(exports, "default", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _full.default;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
Object.defineProperty(exports, "loadPartialConfig", {
 | 
			
		||||
  enumerable: true,
 | 
			
		||||
  get: function () {
 | 
			
		||||
    return _partial.loadPartialConfig;
 | 
			
		||||
  }
 | 
			
		||||
});
 | 
			
		||||
 | 
			
		||||
var _full = _interopRequireDefault(require("./full"));
 | 
			
		||||
 | 
			
		||||
var _partial = require("./partial");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function loadOptions(opts) {
 | 
			
		||||
  const config = (0, _full.default)(opts);
 | 
			
		||||
  return config ? config.options : null;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										66
									
								
								node_modules/@babel/core/lib/config/item.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								node_modules/@babel/core/lib/config/item.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.createItemFromDescriptor = createItemFromDescriptor;
 | 
			
		||||
exports.createConfigItem = createConfigItem;
 | 
			
		||||
exports.getItemDescriptor = getItemDescriptor;
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _configDescriptors = require("./config-descriptors");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function createItemFromDescriptor(desc) {
 | 
			
		||||
  return new ConfigItem(desc);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function createConfigItem(value, {
 | 
			
		||||
  dirname = ".",
 | 
			
		||||
  type
 | 
			
		||||
} = {}) {
 | 
			
		||||
  const descriptor = (0, _configDescriptors.createDescriptor)(value, _path().default.resolve(dirname), {
 | 
			
		||||
    type,
 | 
			
		||||
    alias: "programmatic item"
 | 
			
		||||
  });
 | 
			
		||||
  return createItemFromDescriptor(descriptor);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function getItemDescriptor(item) {
 | 
			
		||||
  if (item instanceof ConfigItem) {
 | 
			
		||||
    return item._descriptor;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return undefined;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class ConfigItem {
 | 
			
		||||
  constructor(descriptor) {
 | 
			
		||||
    this._descriptor = descriptor;
 | 
			
		||||
    Object.defineProperty(this, "_descriptor", {
 | 
			
		||||
      enumerable: false
 | 
			
		||||
    });
 | 
			
		||||
    this.value = this._descriptor.value;
 | 
			
		||||
    this.options = this._descriptor.options;
 | 
			
		||||
    this.dirname = this._descriptor.dirname;
 | 
			
		||||
    this.name = this._descriptor.name;
 | 
			
		||||
    this.file = this._descriptor.file ? {
 | 
			
		||||
      request: this._descriptor.file.request,
 | 
			
		||||
      resolved: this._descriptor.file.resolved
 | 
			
		||||
    } : undefined;
 | 
			
		||||
    Object.freeze(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Object.freeze(ConfigItem.prototype);
 | 
			
		||||
							
								
								
									
										141
									
								
								node_modules/@babel/core/lib/config/partial.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										141
									
								
								node_modules/@babel/core/lib/config/partial.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,141 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = loadPrivatePartialConfig;
 | 
			
		||||
exports.loadPartialConfig = loadPartialConfig;
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
var _plugin = _interopRequireDefault(require("./plugin"));
 | 
			
		||||
 | 
			
		||||
var _util = require("./util");
 | 
			
		||||
 | 
			
		||||
var _item = require("./item");
 | 
			
		||||
 | 
			
		||||
var _configChain = require("./config-chain");
 | 
			
		||||
 | 
			
		||||
var _environment = require("./helpers/environment");
 | 
			
		||||
 | 
			
		||||
var _options = require("./validation/options");
 | 
			
		||||
 | 
			
		||||
var _files = require("./files");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
function resolveRootMode(rootDir, rootMode) {
 | 
			
		||||
  switch (rootMode) {
 | 
			
		||||
    case "root":
 | 
			
		||||
      return rootDir;
 | 
			
		||||
 | 
			
		||||
    case "upward-optional":
 | 
			
		||||
      {
 | 
			
		||||
        const upwardRootDir = (0, _files.findConfigUpwards)(rootDir);
 | 
			
		||||
        return upwardRootDir === null ? rootDir : upwardRootDir;
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    case "upward":
 | 
			
		||||
      {
 | 
			
		||||
        const upwardRootDir = (0, _files.findConfigUpwards)(rootDir);
 | 
			
		||||
        if (upwardRootDir !== null) return upwardRootDir;
 | 
			
		||||
        throw Object.assign(new Error(`Babel was run with rootMode:"upward" but a root could not ` + `be found when searching upward from "${rootDir}"`), {
 | 
			
		||||
          code: "BABEL_ROOT_NOT_FOUND",
 | 
			
		||||
          dirname: rootDir
 | 
			
		||||
        });
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      throw new Error(`Assertion failure - unknown rootMode value`);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPrivatePartialConfig(inputOpts) {
 | 
			
		||||
  if (inputOpts != null && (typeof inputOpts !== "object" || Array.isArray(inputOpts))) {
 | 
			
		||||
    throw new Error("Babel options must be an object, null, or undefined");
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const args = inputOpts ? (0, _options.validate)("arguments", inputOpts) : {};
 | 
			
		||||
  const {
 | 
			
		||||
    envName = (0, _environment.getEnv)(),
 | 
			
		||||
    cwd = ".",
 | 
			
		||||
    root: rootDir = ".",
 | 
			
		||||
    rootMode = "root",
 | 
			
		||||
    caller
 | 
			
		||||
  } = args;
 | 
			
		||||
 | 
			
		||||
  const absoluteCwd = _path().default.resolve(cwd);
 | 
			
		||||
 | 
			
		||||
  const absoluteRootDir = resolveRootMode(_path().default.resolve(absoluteCwd, rootDir), rootMode);
 | 
			
		||||
  const context = {
 | 
			
		||||
    filename: typeof args.filename === "string" ? _path().default.resolve(cwd, args.filename) : undefined,
 | 
			
		||||
    cwd: absoluteCwd,
 | 
			
		||||
    root: absoluteRootDir,
 | 
			
		||||
    envName,
 | 
			
		||||
    caller
 | 
			
		||||
  };
 | 
			
		||||
  const configChain = (0, _configChain.buildRootChain)(args, context);
 | 
			
		||||
  if (!configChain) return null;
 | 
			
		||||
  const options = {};
 | 
			
		||||
  configChain.options.forEach(opts => {
 | 
			
		||||
    (0, _util.mergeOptions)(options, opts);
 | 
			
		||||
  });
 | 
			
		||||
  options.babelrc = false;
 | 
			
		||||
  options.configFile = false;
 | 
			
		||||
  options.passPerPreset = false;
 | 
			
		||||
  options.envName = context.envName;
 | 
			
		||||
  options.cwd = context.cwd;
 | 
			
		||||
  options.root = context.root;
 | 
			
		||||
  options.filename = typeof context.filename === "string" ? context.filename : undefined;
 | 
			
		||||
  options.plugins = configChain.plugins.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor));
 | 
			
		||||
  options.presets = configChain.presets.map(descriptor => (0, _item.createItemFromDescriptor)(descriptor));
 | 
			
		||||
  return {
 | 
			
		||||
    options,
 | 
			
		||||
    context,
 | 
			
		||||
    ignore: configChain.ignore,
 | 
			
		||||
    babelrc: configChain.babelrc,
 | 
			
		||||
    config: configChain.config
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function loadPartialConfig(inputOpts) {
 | 
			
		||||
  const result = loadPrivatePartialConfig(inputOpts);
 | 
			
		||||
  if (!result) return null;
 | 
			
		||||
  const {
 | 
			
		||||
    options,
 | 
			
		||||
    babelrc,
 | 
			
		||||
    ignore,
 | 
			
		||||
    config
 | 
			
		||||
  } = result;
 | 
			
		||||
  (options.plugins || []).forEach(item => {
 | 
			
		||||
    if (item.value instanceof _plugin.default) {
 | 
			
		||||
      throw new Error("Passing cached plugin instances is not supported in " + "babel.loadPartialConfig()");
 | 
			
		||||
    }
 | 
			
		||||
  });
 | 
			
		||||
  return new PartialConfig(options, babelrc ? babelrc.filepath : undefined, ignore ? ignore.filepath : undefined, config ? config.filepath : undefined);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
class PartialConfig {
 | 
			
		||||
  constructor(options, babelrc, ignore, config) {
 | 
			
		||||
    this.options = options;
 | 
			
		||||
    this.babelignore = ignore;
 | 
			
		||||
    this.babelrc = babelrc;
 | 
			
		||||
    this.config = config;
 | 
			
		||||
    Object.freeze(this);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  hasFilesystemConfig() {
 | 
			
		||||
    return this.babelrc !== undefined || this.config !== undefined;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
Object.freeze(PartialConfig.prototype);
 | 
			
		||||
							
								
								
									
										52
									
								
								node_modules/@babel/core/lib/config/pattern-to-regex.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								node_modules/@babel/core/lib/config/pattern-to-regex.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,52 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = pathToPattern;
 | 
			
		||||
 | 
			
		||||
function _path() {
 | 
			
		||||
  const data = _interopRequireDefault(require("path"));
 | 
			
		||||
 | 
			
		||||
  _path = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _escapeRegExp() {
 | 
			
		||||
  const data = _interopRequireDefault(require("lodash/escapeRegExp"));
 | 
			
		||||
 | 
			
		||||
  _escapeRegExp = function () {
 | 
			
		||||
    return data;
 | 
			
		||||
  };
 | 
			
		||||
 | 
			
		||||
  return data;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const sep = `\\${_path().default.sep}`;
 | 
			
		||||
const endSep = `(?:${sep}|$)`;
 | 
			
		||||
const substitution = `[^${sep}]+`;
 | 
			
		||||
const starPat = `(?:${substitution}${sep})`;
 | 
			
		||||
const starPatLast = `(?:${substitution}${endSep})`;
 | 
			
		||||
const starStarPat = `${starPat}*?`;
 | 
			
		||||
const starStarPatLast = `${starPat}*?${starPatLast}?`;
 | 
			
		||||
 | 
			
		||||
function pathToPattern(pattern, dirname) {
 | 
			
		||||
  const parts = _path().default.resolve(dirname, pattern).split(_path().default.sep);
 | 
			
		||||
 | 
			
		||||
  return new RegExp(["^", ...parts.map((part, i) => {
 | 
			
		||||
    const last = i === parts.length - 1;
 | 
			
		||||
    if (part === "**") return last ? starStarPatLast : starStarPat;
 | 
			
		||||
    if (part === "*") return last ? starPatLast : starPat;
 | 
			
		||||
 | 
			
		||||
    if (part.indexOf("*.") === 0) {
 | 
			
		||||
      return substitution + (0, _escapeRegExp().default)(part.slice(1)) + (last ? endSep : sep);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return (0, _escapeRegExp().default)(part) + (last ? endSep : sep);
 | 
			
		||||
  })].join(""));
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										22
									
								
								node_modules/@babel/core/lib/config/plugin.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								node_modules/@babel/core/lib/config/plugin.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = void 0;
 | 
			
		||||
 | 
			
		||||
class Plugin {
 | 
			
		||||
  constructor(plugin, options, key) {
 | 
			
		||||
    this.key = plugin.name || key;
 | 
			
		||||
    this.manipulateOptions = plugin.manipulateOptions;
 | 
			
		||||
    this.post = plugin.post;
 | 
			
		||||
    this.pre = plugin.pre;
 | 
			
		||||
    this.visitor = plugin.visitor || {};
 | 
			
		||||
    this.parserOverride = plugin.parserOverride;
 | 
			
		||||
    this.generatorOverride = plugin.generatorOverride;
 | 
			
		||||
    this.options = options;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
exports.default = Plugin;
 | 
			
		||||
							
								
								
									
										30
									
								
								node_modules/@babel/core/lib/config/util.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								node_modules/@babel/core/lib/config/util.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.mergeOptions = mergeOptions;
 | 
			
		||||
 | 
			
		||||
function mergeOptions(target, source) {
 | 
			
		||||
  for (const k of Object.keys(source)) {
 | 
			
		||||
    if (k === "parserOpts" && source.parserOpts) {
 | 
			
		||||
      const parserOpts = source.parserOpts;
 | 
			
		||||
      const targetObj = target.parserOpts = target.parserOpts || {};
 | 
			
		||||
      mergeDefaultFields(targetObj, parserOpts);
 | 
			
		||||
    } else if (k === "generatorOpts" && source.generatorOpts) {
 | 
			
		||||
      const generatorOpts = source.generatorOpts;
 | 
			
		||||
      const targetObj = target.generatorOpts = target.generatorOpts || {};
 | 
			
		||||
      mergeDefaultFields(targetObj, generatorOpts);
 | 
			
		||||
    } else {
 | 
			
		||||
      const val = source[k];
 | 
			
		||||
      if (val !== undefined) target[k] = val;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function mergeDefaultFields(target, source) {
 | 
			
		||||
  for (const k of Object.keys(source)) {
 | 
			
		||||
    const val = source[k];
 | 
			
		||||
    if (val !== undefined) target[k] = val;
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										268
									
								
								node_modules/@babel/core/lib/config/validation/option-assertions.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										268
									
								
								node_modules/@babel/core/lib/config/validation/option-assertions.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,268 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.msg = msg;
 | 
			
		||||
exports.access = access;
 | 
			
		||||
exports.assertRootMode = assertRootMode;
 | 
			
		||||
exports.assertSourceMaps = assertSourceMaps;
 | 
			
		||||
exports.assertCompact = assertCompact;
 | 
			
		||||
exports.assertSourceType = assertSourceType;
 | 
			
		||||
exports.assertCallerMetadata = assertCallerMetadata;
 | 
			
		||||
exports.assertInputSourceMap = assertInputSourceMap;
 | 
			
		||||
exports.assertString = assertString;
 | 
			
		||||
exports.assertFunction = assertFunction;
 | 
			
		||||
exports.assertBoolean = assertBoolean;
 | 
			
		||||
exports.assertObject = assertObject;
 | 
			
		||||
exports.assertArray = assertArray;
 | 
			
		||||
exports.assertIgnoreList = assertIgnoreList;
 | 
			
		||||
exports.assertConfigApplicableTest = assertConfigApplicableTest;
 | 
			
		||||
exports.assertConfigFileSearch = assertConfigFileSearch;
 | 
			
		||||
exports.assertBabelrcSearch = assertBabelrcSearch;
 | 
			
		||||
exports.assertPluginList = assertPluginList;
 | 
			
		||||
 | 
			
		||||
function msg(loc) {
 | 
			
		||||
  switch (loc.type) {
 | 
			
		||||
    case "root":
 | 
			
		||||
      return ``;
 | 
			
		||||
 | 
			
		||||
    case "env":
 | 
			
		||||
      return `${msg(loc.parent)}.env["${loc.name}"]`;
 | 
			
		||||
 | 
			
		||||
    case "overrides":
 | 
			
		||||
      return `${msg(loc.parent)}.overrides[${loc.index}]`;
 | 
			
		||||
 | 
			
		||||
    case "option":
 | 
			
		||||
      return `${msg(loc.parent)}.${loc.name}`;
 | 
			
		||||
 | 
			
		||||
    case "access":
 | 
			
		||||
      return `${msg(loc.parent)}[${JSON.stringify(loc.name)}]`;
 | 
			
		||||
 | 
			
		||||
    default:
 | 
			
		||||
      throw new Error(`Assertion failure: Unknown type ${loc.type}`);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function access(loc, name) {
 | 
			
		||||
  return {
 | 
			
		||||
    type: "access",
 | 
			
		||||
    name,
 | 
			
		||||
    parent: loc
 | 
			
		||||
  };
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertRootMode(loc, value) {
 | 
			
		||||
  if (value !== undefined && value !== "root" && value !== "upward" && value !== "upward-optional") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a "root", "upward", "upward-optional" or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertSourceMaps(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "boolean" && value !== "inline" && value !== "both") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a boolean, "inline", "both", or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertCompact(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "boolean" && value !== "auto") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a boolean, "auto", or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertSourceType(loc, value) {
 | 
			
		||||
  if (value !== undefined && value !== "module" && value !== "script" && value !== "unambiguous") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be "module", "script", "unambiguous", or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertCallerMetadata(loc, value) {
 | 
			
		||||
  const obj = assertObject(loc, value);
 | 
			
		||||
 | 
			
		||||
  if (obj) {
 | 
			
		||||
    if (typeof obj["name"] !== "string") {
 | 
			
		||||
      throw new Error(`${msg(loc)} set but does not contain "name" property string`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    for (const prop of Object.keys(obj)) {
 | 
			
		||||
      const propLoc = access(loc, prop);
 | 
			
		||||
      const value = obj[prop];
 | 
			
		||||
 | 
			
		||||
      if (value != null && typeof value !== "boolean" && typeof value !== "string" && typeof value !== "number") {
 | 
			
		||||
        throw new Error(`${msg(propLoc)} must be null, undefined, a boolean, a string, or a number.`);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertInputSourceMap(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "boolean" && (typeof value !== "object" || !value)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a boolean, object, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertString(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "string") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a string, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertFunction(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "function") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a function, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertBoolean(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "boolean") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a boolean, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertObject(loc, value) {
 | 
			
		||||
  if (value !== undefined && (typeof value !== "object" || Array.isArray(value) || !value)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be an object, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertArray(loc, value) {
 | 
			
		||||
  if (value != null && !Array.isArray(value)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be an array, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertIgnoreList(loc, value) {
 | 
			
		||||
  const arr = assertArray(loc, value);
 | 
			
		||||
 | 
			
		||||
  if (arr) {
 | 
			
		||||
    arr.forEach((item, i) => assertIgnoreItem(access(loc, i), item));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return arr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertIgnoreItem(loc, value) {
 | 
			
		||||
  if (typeof value !== "string" && typeof value !== "function" && !(value instanceof RegExp)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be an array of string/Function/RegExp values, or undefined`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertConfigApplicableTest(loc, value) {
 | 
			
		||||
  if (value === undefined) return value;
 | 
			
		||||
 | 
			
		||||
  if (Array.isArray(value)) {
 | 
			
		||||
    value.forEach((item, i) => {
 | 
			
		||||
      if (!checkValidTest(item)) {
 | 
			
		||||
        throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  } else if (!checkValidTest(value)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a string/Function/RegExp, or an array of those`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function checkValidTest(value) {
 | 
			
		||||
  return typeof value === "string" || typeof value === "function" || value instanceof RegExp;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertConfigFileSearch(loc, value) {
 | 
			
		||||
  if (value !== undefined && typeof value !== "boolean" && typeof value !== "string") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a undefined, a boolean, a string, ` + `got ${JSON.stringify(value)}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertBabelrcSearch(loc, value) {
 | 
			
		||||
  if (value === undefined || typeof value === "boolean") return value;
 | 
			
		||||
 | 
			
		||||
  if (Array.isArray(value)) {
 | 
			
		||||
    value.forEach((item, i) => {
 | 
			
		||||
      if (!checkValidTest(item)) {
 | 
			
		||||
        throw new Error(`${msg(access(loc, i))} must be a string/Function/RegExp.`);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  } else if (!checkValidTest(value)) {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a undefined, a boolean, a string/Function/RegExp ` + `or an array of those, got ${JSON.stringify(value)}`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertPluginList(loc, value) {
 | 
			
		||||
  const arr = assertArray(loc, value);
 | 
			
		||||
 | 
			
		||||
  if (arr) {
 | 
			
		||||
    arr.forEach((item, i) => assertPluginItem(access(loc, i), item));
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return arr;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertPluginItem(loc, value) {
 | 
			
		||||
  if (Array.isArray(value)) {
 | 
			
		||||
    if (value.length === 0) {
 | 
			
		||||
      throw new Error(`${msg(loc)} must include an object`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (value.length > 3) {
 | 
			
		||||
      throw new Error(`${msg(loc)} may only be a two-tuple or three-tuple`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    assertPluginTarget(access(loc, 0), value[0]);
 | 
			
		||||
 | 
			
		||||
    if (value.length > 1) {
 | 
			
		||||
      const opts = value[1];
 | 
			
		||||
 | 
			
		||||
      if (opts !== undefined && opts !== false && (typeof opts !== "object" || Array.isArray(opts) || opts === null)) {
 | 
			
		||||
        throw new Error(`${msg(access(loc, 1))} must be an object, false, or undefined`);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (value.length === 3) {
 | 
			
		||||
      const name = value[2];
 | 
			
		||||
 | 
			
		||||
      if (name !== undefined && typeof name !== "string") {
 | 
			
		||||
        throw new Error(`${msg(access(loc, 2))} must be a string, or undefined`);
 | 
			
		||||
      }
 | 
			
		||||
    }
 | 
			
		||||
  } else {
 | 
			
		||||
    assertPluginTarget(loc, value);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertPluginTarget(loc, value) {
 | 
			
		||||
  if ((typeof value !== "object" || !value) && typeof value !== "string" && typeof value !== "function") {
 | 
			
		||||
    throw new Error(`${msg(loc)} must be a string, object, function`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										188
									
								
								node_modules/@babel/core/lib/config/validation/options.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										188
									
								
								node_modules/@babel/core/lib/config/validation/options.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,188 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.validate = validate;
 | 
			
		||||
 | 
			
		||||
var _plugin = _interopRequireDefault(require("../plugin"));
 | 
			
		||||
 | 
			
		||||
var _removed = _interopRequireDefault(require("./removed"));
 | 
			
		||||
 | 
			
		||||
var _optionAssertions = require("./option-assertions");
 | 
			
		||||
 | 
			
		||||
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
 | 
			
		||||
 | 
			
		||||
const ROOT_VALIDATORS = {
 | 
			
		||||
  cwd: _optionAssertions.assertString,
 | 
			
		||||
  root: _optionAssertions.assertString,
 | 
			
		||||
  rootMode: _optionAssertions.assertRootMode,
 | 
			
		||||
  configFile: _optionAssertions.assertConfigFileSearch,
 | 
			
		||||
  caller: _optionAssertions.assertCallerMetadata,
 | 
			
		||||
  filename: _optionAssertions.assertString,
 | 
			
		||||
  filenameRelative: _optionAssertions.assertString,
 | 
			
		||||
  code: _optionAssertions.assertBoolean,
 | 
			
		||||
  ast: _optionAssertions.assertBoolean,
 | 
			
		||||
  envName: _optionAssertions.assertString
 | 
			
		||||
};
 | 
			
		||||
const BABELRC_VALIDATORS = {
 | 
			
		||||
  babelrc: _optionAssertions.assertBoolean,
 | 
			
		||||
  babelrcRoots: _optionAssertions.assertBabelrcSearch
 | 
			
		||||
};
 | 
			
		||||
const NONPRESET_VALIDATORS = {
 | 
			
		||||
  extends: _optionAssertions.assertString,
 | 
			
		||||
  ignore: _optionAssertions.assertIgnoreList,
 | 
			
		||||
  only: _optionAssertions.assertIgnoreList
 | 
			
		||||
};
 | 
			
		||||
const COMMON_VALIDATORS = {
 | 
			
		||||
  inputSourceMap: _optionAssertions.assertInputSourceMap,
 | 
			
		||||
  presets: _optionAssertions.assertPluginList,
 | 
			
		||||
  plugins: _optionAssertions.assertPluginList,
 | 
			
		||||
  passPerPreset: _optionAssertions.assertBoolean,
 | 
			
		||||
  env: assertEnvSet,
 | 
			
		||||
  overrides: assertOverridesList,
 | 
			
		||||
  test: _optionAssertions.assertConfigApplicableTest,
 | 
			
		||||
  include: _optionAssertions.assertConfigApplicableTest,
 | 
			
		||||
  exclude: _optionAssertions.assertConfigApplicableTest,
 | 
			
		||||
  retainLines: _optionAssertions.assertBoolean,
 | 
			
		||||
  comments: _optionAssertions.assertBoolean,
 | 
			
		||||
  shouldPrintComment: _optionAssertions.assertFunction,
 | 
			
		||||
  compact: _optionAssertions.assertCompact,
 | 
			
		||||
  minified: _optionAssertions.assertBoolean,
 | 
			
		||||
  auxiliaryCommentBefore: _optionAssertions.assertString,
 | 
			
		||||
  auxiliaryCommentAfter: _optionAssertions.assertString,
 | 
			
		||||
  sourceType: _optionAssertions.assertSourceType,
 | 
			
		||||
  wrapPluginVisitorMethod: _optionAssertions.assertFunction,
 | 
			
		||||
  highlightCode: _optionAssertions.assertBoolean,
 | 
			
		||||
  sourceMaps: _optionAssertions.assertSourceMaps,
 | 
			
		||||
  sourceMap: _optionAssertions.assertSourceMaps,
 | 
			
		||||
  sourceFileName: _optionAssertions.assertString,
 | 
			
		||||
  sourceRoot: _optionAssertions.assertString,
 | 
			
		||||
  getModuleId: _optionAssertions.assertFunction,
 | 
			
		||||
  moduleRoot: _optionAssertions.assertString,
 | 
			
		||||
  moduleIds: _optionAssertions.assertBoolean,
 | 
			
		||||
  moduleId: _optionAssertions.assertString,
 | 
			
		||||
  parserOpts: _optionAssertions.assertObject,
 | 
			
		||||
  generatorOpts: _optionAssertions.assertObject
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function getSource(loc) {
 | 
			
		||||
  return loc.type === "root" ? loc.source : getSource(loc.parent);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function validate(type, opts) {
 | 
			
		||||
  return validateNested({
 | 
			
		||||
    type: "root",
 | 
			
		||||
    source: type
 | 
			
		||||
  }, opts);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function validateNested(loc, opts) {
 | 
			
		||||
  const type = getSource(loc);
 | 
			
		||||
  assertNoDuplicateSourcemap(opts);
 | 
			
		||||
  Object.keys(opts).forEach(key => {
 | 
			
		||||
    const optLoc = {
 | 
			
		||||
      type: "option",
 | 
			
		||||
      name: key,
 | 
			
		||||
      parent: loc
 | 
			
		||||
    };
 | 
			
		||||
 | 
			
		||||
    if (type === "preset" && NONPRESET_VALIDATORS[key]) {
 | 
			
		||||
      throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in preset options`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (type !== "arguments" && ROOT_VALIDATORS[key]) {
 | 
			
		||||
      throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    if (type !== "arguments" && type !== "configfile" && BABELRC_VALIDATORS[key]) {
 | 
			
		||||
      if (type === "babelrcfile" || type === "extendsfile") {
 | 
			
		||||
        throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is not allowed in .babelrc or "extends"ed files, only in root programmatic options, ` + `or babel.config.js/config file options`);
 | 
			
		||||
      }
 | 
			
		||||
 | 
			
		||||
      throw new Error(`${(0, _optionAssertions.msg)(optLoc)} is only allowed in root programmatic options, or babel.config.js/config file options`);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    const validator = COMMON_VALIDATORS[key] || NONPRESET_VALIDATORS[key] || BABELRC_VALIDATORS[key] || ROOT_VALIDATORS[key] || throwUnknownError;
 | 
			
		||||
    validator(optLoc, opts[key]);
 | 
			
		||||
  });
 | 
			
		||||
  return opts;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function throwUnknownError(loc) {
 | 
			
		||||
  const key = loc.name;
 | 
			
		||||
 | 
			
		||||
  if (_removed.default[key]) {
 | 
			
		||||
    const {
 | 
			
		||||
      message,
 | 
			
		||||
      version = 5
 | 
			
		||||
    } = _removed.default[key];
 | 
			
		||||
    throw new ReferenceError(`Using removed Babel ${version} option: ${(0, _optionAssertions.msg)(loc)} - ${message}`);
 | 
			
		||||
  } else {
 | 
			
		||||
    const unknownOptErr = `Unknown option: ${(0, _optionAssertions.msg)(loc)}. Check out https://babeljs.io/docs/en/babel-core/#options for more information about options.`;
 | 
			
		||||
    throw new ReferenceError(unknownOptErr);
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function has(obj, key) {
 | 
			
		||||
  return Object.prototype.hasOwnProperty.call(obj, key);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertNoDuplicateSourcemap(opts) {
 | 
			
		||||
  if (has(opts, "sourceMap") && has(opts, "sourceMaps")) {
 | 
			
		||||
    throw new Error(".sourceMap is an alias for .sourceMaps, cannot use both");
 | 
			
		||||
  }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertEnvSet(loc, value) {
 | 
			
		||||
  if (loc.parent.type === "env") {
 | 
			
		||||
    throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside of another .env block`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const parent = loc.parent;
 | 
			
		||||
  const obj = (0, _optionAssertions.assertObject)(loc, value);
 | 
			
		||||
 | 
			
		||||
  if (obj) {
 | 
			
		||||
    for (const envName of Object.keys(obj)) {
 | 
			
		||||
      const env = (0, _optionAssertions.assertObject)((0, _optionAssertions.access)(loc, envName), obj[envName]);
 | 
			
		||||
      if (!env) continue;
 | 
			
		||||
      const envLoc = {
 | 
			
		||||
        type: "env",
 | 
			
		||||
        name: envName,
 | 
			
		||||
        parent
 | 
			
		||||
      };
 | 
			
		||||
      validateNested(envLoc, env);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return obj;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertOverridesList(loc, value) {
 | 
			
		||||
  if (loc.parent.type === "env") {
 | 
			
		||||
    throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .env block`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  if (loc.parent.type === "overrides") {
 | 
			
		||||
    throw new Error(`${(0, _optionAssertions.msg)(loc)} is not allowed inside an .overrides block`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  const parent = loc.parent;
 | 
			
		||||
  const arr = (0, _optionAssertions.assertArray)(loc, value);
 | 
			
		||||
 | 
			
		||||
  if (arr) {
 | 
			
		||||
    for (const [index, item] of arr.entries()) {
 | 
			
		||||
      const objLoc = (0, _optionAssertions.access)(loc, index);
 | 
			
		||||
      const env = (0, _optionAssertions.assertObject)(objLoc, item);
 | 
			
		||||
      if (!env) throw new Error(`${(0, _optionAssertions.msg)(objLoc)} must be an object`);
 | 
			
		||||
      const overridesLoc = {
 | 
			
		||||
        type: "overrides",
 | 
			
		||||
        index,
 | 
			
		||||
        parent
 | 
			
		||||
      };
 | 
			
		||||
      validateNested(overridesLoc, env);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return arr;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										64
									
								
								node_modules/@babel/core/lib/config/validation/plugins.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										64
									
								
								node_modules/@babel/core/lib/config/validation/plugins.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,64 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.validatePluginObject = validatePluginObject;
 | 
			
		||||
 | 
			
		||||
var _optionAssertions = require("./option-assertions");
 | 
			
		||||
 | 
			
		||||
const VALIDATORS = {
 | 
			
		||||
  name: _optionAssertions.assertString,
 | 
			
		||||
  manipulateOptions: _optionAssertions.assertFunction,
 | 
			
		||||
  pre: _optionAssertions.assertFunction,
 | 
			
		||||
  post: _optionAssertions.assertFunction,
 | 
			
		||||
  inherits: _optionAssertions.assertFunction,
 | 
			
		||||
  visitor: assertVisitorMap,
 | 
			
		||||
  parserOverride: _optionAssertions.assertFunction,
 | 
			
		||||
  generatorOverride: _optionAssertions.assertFunction
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
function assertVisitorMap(key, value) {
 | 
			
		||||
  const obj = (0, _optionAssertions.assertObject)(key, value);
 | 
			
		||||
 | 
			
		||||
  if (obj) {
 | 
			
		||||
    Object.keys(obj).forEach(prop => assertVisitorHandler(prop, obj[prop]));
 | 
			
		||||
 | 
			
		||||
    if (obj.enter || obj.exit) {
 | 
			
		||||
      throw new Error(`.${key} cannot contain catch-all "enter" or "exit" handlers. Please target individual nodes.`);
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return obj;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function assertVisitorHandler(key, value) {
 | 
			
		||||
  if (value && typeof value === "object") {
 | 
			
		||||
    Object.keys(value).forEach(handler => {
 | 
			
		||||
      if (handler !== "enter" && handler !== "exit") {
 | 
			
		||||
        throw new Error(`.visitor["${key}"] may only have .enter and/or .exit handlers.`);
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
  } else if (typeof value !== "function") {
 | 
			
		||||
    throw new Error(`.visitor["${key}"] must be a function`);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  return value;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function validatePluginObject(obj) {
 | 
			
		||||
  const rootPath = {
 | 
			
		||||
    type: "root",
 | 
			
		||||
    source: "plugin"
 | 
			
		||||
  };
 | 
			
		||||
  Object.keys(obj).forEach(key => {
 | 
			
		||||
    const validator = VALIDATORS[key];
 | 
			
		||||
    const optLoc = {
 | 
			
		||||
      type: "option",
 | 
			
		||||
      name: key,
 | 
			
		||||
      parent: rootPath
 | 
			
		||||
    };
 | 
			
		||||
    if (validator) validator(optLoc, obj[key]);else throw new Error(`.${key} is not a valid Plugin property`);
 | 
			
		||||
  });
 | 
			
		||||
  return obj;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										66
									
								
								node_modules/@babel/core/lib/config/validation/removed.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								node_modules/@babel/core/lib/config/validation/removed.js
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							@@ -0,0 +1,66 @@
 | 
			
		||||
"use strict";
 | 
			
		||||
 | 
			
		||||
Object.defineProperty(exports, "__esModule", {
 | 
			
		||||
  value: true
 | 
			
		||||
});
 | 
			
		||||
exports.default = void 0;
 | 
			
		||||
var _default = {
 | 
			
		||||
  auxiliaryComment: {
 | 
			
		||||
    message: "Use `auxiliaryCommentBefore` or `auxiliaryCommentAfter`"
 | 
			
		||||
  },
 | 
			
		||||
  blacklist: {
 | 
			
		||||
    message: "Put the specific transforms you want in the `plugins` option"
 | 
			
		||||
  },
 | 
			
		||||
  breakConfig: {
 | 
			
		||||
    message: "This is not a necessary option in Babel 6"
 | 
			
		||||
  },
 | 
			
		||||
  experimental: {
 | 
			
		||||
    message: "Put the specific transforms you want in the `plugins` option"
 | 
			
		||||
  },
 | 
			
		||||
  externalHelpers: {
 | 
			
		||||
    message: "Use the `external-helpers` plugin instead. " + "Check out http://babeljs.io/docs/plugins/external-helpers/"
 | 
			
		||||
  },
 | 
			
		||||
  extra: {
 | 
			
		||||
    message: ""
 | 
			
		||||
  },
 | 
			
		||||
  jsxPragma: {
 | 
			
		||||
    message: "use the `pragma` option in the `react-jsx` plugin. " + "Check out http://babeljs.io/docs/plugins/transform-react-jsx/"
 | 
			
		||||
  },
 | 
			
		||||
  loose: {
 | 
			
		||||
    message: "Specify the `loose` option for the relevant plugin you are using " + "or use a preset that sets the option."
 | 
			
		||||
  },
 | 
			
		||||
  metadataUsedHelpers: {
 | 
			
		||||
    message: "Not required anymore as this is enabled by default"
 | 
			
		||||
  },
 | 
			
		||||
  modules: {
 | 
			
		||||
    message: "Use the corresponding module transform plugin in the `plugins` option. " + "Check out http://babeljs.io/docs/plugins/#modules"
 | 
			
		||||
  },
 | 
			
		||||
  nonStandard: {
 | 
			
		||||
    message: "Use the `react-jsx` and `flow-strip-types` plugins to support JSX and Flow. " + "Also check out the react preset http://babeljs.io/docs/plugins/preset-react/"
 | 
			
		||||
  },
 | 
			
		||||
  optional: {
 | 
			
		||||
    message: "Put the specific transforms you want in the `plugins` option"
 | 
			
		||||
  },
 | 
			
		||||
  sourceMapName: {
 | 
			
		||||
    message: "The `sourceMapName` option has been removed because it makes more sense for the " + "tooling that calls Babel to assign `map.file` themselves."
 | 
			
		||||
  },
 | 
			
		||||
  stage: {
 | 
			
		||||
    message: "Check out the corresponding stage-x presets http://babeljs.io/docs/plugins/#presets"
 | 
			
		||||
  },
 | 
			
		||||
  whitelist: {
 | 
			
		||||
    message: "Put the specific transforms you want in the `plugins` option"
 | 
			
		||||
  },
 | 
			
		||||
  resolveModuleSource: {
 | 
			
		||||
    version: 6,
 | 
			
		||||
    message: "Use `babel-plugin-module-resolver@3`'s 'resolvePath' options"
 | 
			
		||||
  },
 | 
			
		||||
  metadata: {
 | 
			
		||||
    version: 6,
 | 
			
		||||
    message: "Generated plugin metadata is always included in the output result"
 | 
			
		||||
  },
 | 
			
		||||
  sourceMapTarget: {
 | 
			
		||||
    version: 6,
 | 
			
		||||
    message: "The `sourceMapTarget` option has been removed because it makes more sense for the tooling " + "that calls Babel to assign `map.file` themselves."
 | 
			
		||||
  }
 | 
			
		||||
};
 | 
			
		||||
exports.default = _default;
 | 
			
		||||
		Reference in New Issue
	
	Block a user