aboutsummaryrefslogtreecommitdiff
path: root/node_modules/babel-plugin-dynamic-import-node/lib/index.js
blob: 0254cc9d4256314a6f87b350ffb91188ddb1e3c0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Object.defineProperty(exports, "__esModule", {
  value: true
});

exports['default'] = function (_ref) {
  var template = _ref.template,
      t = _ref.types;

  var buildImport = template('\n    Promise.resolve().then(() => require(SOURCE))\n  ');

  return {
    inherits: _babelPluginSyntaxDynamicImport2['default'],

    visitor: {
      Import: function () {
        function Import(path) {
          var importArguments = path.parentPath.node.arguments;
          var isString = t.isStringLiteral(importArguments[0]) || t.isTemplateLiteral(importArguments[0]);
          if (isString) {
            t.removeComments(importArguments[0]);
          }
          var newImport = buildImport({
            SOURCE: isString ? importArguments : t.templateLiteral([t.templateElement({ raw: '', cooked: '' }), t.templateElement({ raw: '', cooked: '' }, true)], importArguments)
          });
          path.parentPath.replaceWith(newImport);
        }

        return Import;
      }()
    }
  };
};

var _babelPluginSyntaxDynamicImport = require('babel-plugin-syntax-dynamic-import');

var _babelPluginSyntaxDynamicImport2 = _interopRequireDefault(_babelPluginSyntaxDynamicImport);

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