Sha256: 8360b72fff78a1c64f13178873ea911499ed399f4f0d751b4f127f07df86ff5e

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

"use strict";

const babel = require("@babel/core");

module.exports = function injectCaller(opts) {
  if (!supportsCallerOption()) return opts;
  return Object.assign({}, opts, {
    caller: Object.assign({
      name: "babel-loader",
      // Webpack >= 2 supports ESM and dynamic import.
      supportsStaticESM: true,
      supportsDynamicImport: 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;
}

Version data entries

10 entries across 10 versions & 4 rubygems

Version Path
disco_app-0.18.0 test/dummy/node_modules/babel-loader/lib/injectCaller.js
disco_app-0.18.2 test/dummy/node_modules/babel-loader/lib/injectCaller.js
enju_library-0.3.8 spec/dummy/node_modules/babel-loader/lib/injectCaller.js
jester-data-8.0.0 node_modules/babel-loader/lib/injectCaller.js
ezii-os-5.2.1 node_modules/babel-loader/lib/injectCaller.js
ezii-os-2.0.1 node_modules/babel-loader/lib/injectCaller.js
ezii-os-1.1.0 node_modules/babel-loader/lib/injectCaller.js
ezii-os-1.0.0 node_modules/babel-loader/lib/injectCaller.js
ezii-os-0.0.0.1.0 node_modules/babel-loader/lib/injectCaller.js
ezii-os-0.0.0.0.1 node_modules/babel-loader/lib/injectCaller.js