| 12345678910111213141516171819202122232425262728293031323334353637383940414243 | "use strict";const babel = require("@babel/core");module.exports = function injectCaller(opts, target) {  if (!supportsCallerOption()) return opts;  return Object.assign({}, opts, {    caller: Object.assign({      name: "babel-loader",      // Provide plugins with insight into webpack target.      // https://github.com/babel/babel-loader/issues/787      target,      // Webpack >= 2 supports ESM and dynamic import.      supportsStaticESM: true,      supportsDynamicImport: true,      // Webpack 5 supports TLA behind a flag. We enable it by default      // for Babel, and then webpack will throw an error if the experimental      // flag isn't enabled.      supportsTopLevelAwait: true    }, opts.caller)  });};// TODO: We can remove this eventually, I'm just adding it so that people have// a little time to migrate to the newer RCs of @babel/core without getting// hard-to-diagnose errors about unknown 'caller' options.let supportsCallerOptionFlag = undefined;function supportsCallerOption() {  if (supportsCallerOptionFlag === undefined) {    try {      // Rather than try to match the Babel version, we just see if it throws      // when passed a 'caller' flag, and use that to decide if it is supported.      babel.loadPartialConfig({        caller: undefined,        babelrc: false,        configFile: false      });      supportsCallerOptionFlag = true;    } catch (err) {      supportsCallerOptionFlag = false;    }  }  return supportsCallerOptionFlag;}
 |