Sha256: b5c33d009c57ee904f25eafb3e685c0c7066f491626c19c643595b0f05639eb3

Contents?: true

Size: 917 Bytes

Versions: 3

Compression:

Stored size: 917 Bytes

Contents

"use strict";

exports.__esModule = true;
exports.CallExpression = CallExpression;

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

var _traversal = require("../../../traversal");

var _traversal2 = _interopRequireDefault(_traversal);

var _helpersParse = require("../../../helpers/parse");

var _helpersParse2 = _interopRequireDefault(_helpersParse);

var metadata = {
  group: "builtin-pre",
  optional: true
};

exports.metadata = metadata;

function CallExpression(node) {
  if (this.get("callee").isIdentifier({ name: "eval" }) && node.arguments.length === 1) {
    var evaluate = this.get("arguments")[0].evaluate();
    if (!evaluate.confident) return;

    var code = evaluate.value;
    if (typeof code !== "string") return;

    var ast = (0, _helpersParse2["default"])(code);
    _traversal2["default"].removeProperties(ast);
    return ast.program;
  }
}

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
gulp_assets-1.0.0.pre.5 template/node_modules/babel-core/lib/babel/transformation/transformers/other/eval.js
gulp_assets-1.0.0.pre.4 template/node_modules/babel-core/lib/babel/transformation/transformers/other/eval.js
gulp_assets-1.0.0.pre.3 template/node_modules/babel-core/lib/babel/transformation/transformers/other/eval.js