Sha256: 28cae122164c00d2448c7142dfb917e38c1d78b3cc9b14a657dffaf845f55c38

Contents?: true

Size: 1.96 KB

Versions: 19

Compression:

Stored size: 1.96 KB

Contents

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports.default = _default;

var _corejs2BuiltIns = _interopRequireDefault(require("../../../data/corejs2-built-ins.json"));

var _getPlatformSpecificDefault = _interopRequireDefault(require("./get-platform-specific-default"));

var _filterItems = _interopRequireDefault(require("../../filter-items"));

var _utils = require("../../utils");

var _debug = require("../../debug");

function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }

function _default(_, {
  include,
  exclude,
  polyfillTargets,
  regenerator,
  debug
}) {
  const polyfills = (0, _filterItems.default)(_corejs2BuiltIns.default, include, exclude, polyfillTargets, (0, _getPlatformSpecificDefault.default)(polyfillTargets));
  const isPolyfillImport = {
    ImportDeclaration(path) {
      if ((0, _utils.isPolyfillSource)((0, _utils.getImportSource)(path))) {
        this.replaceBySeparateModulesImport(path);
      }
    },

    Program(path) {
      path.get("body").forEach(bodyPath => {
        if ((0, _utils.isPolyfillSource)((0, _utils.getRequireSource)(bodyPath))) {
          this.replaceBySeparateModulesImport(bodyPath);
        }
      });
    }

  };
  return {
    name: "corejs2-entry",
    visitor: isPolyfillImport,

    pre() {
      this.importPolyfillIncluded = false;

      this.replaceBySeparateModulesImport = function (path) {
        this.importPolyfillIncluded = true;

        if (regenerator) {
          (0, _utils.createImport)(path, "regenerator-runtime");
        }

        const modules = Array.from(polyfills).reverse();

        for (const module of modules) {
          (0, _utils.createImport)(path, module);
        }

        path.remove();
      };
    },

    post() {
      if (debug) {
        (0, _debug.logEntryPolyfills)("@babel/polyfill", this.importPolyfillIncluded, polyfills, this.file.opts.filename, polyfillTargets, _corejs2BuiltIns.default);
      }
    }

  };
}

Version data entries

19 entries across 19 versions & 5 rubygems

Version Path
disco_app-0.18.0 test/dummy/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
disco_app-0.18.2 test/dummy/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.2 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.1 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.12 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.11 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.10 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.9 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.8 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
learn_create-0.0.22 lib/templates/javascript_lab_template/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
jester-data-8.0.0 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-5.2.1 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-2.0.1 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-1.1.0 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-1.0.0 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.7 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-0.0.0.1.0 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
ezii-os-0.0.0.0.1 node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js
condenser-0.0.5 lib/condenser/processors/node_modules/@babel/preset-env/lib/polyfills/corejs2/entry-plugin.js