You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
"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; }
|