UNPKG

babel-preset-jsfuck

Version:
37 lines (28 loc) 801 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = _default; var _babylon = require("babylon"); var _jsfuck = require("jsfuck"); var _generator = _interopRequireDefault(require("@babel/generator")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function toString(n) { return (0, _generator.default)(n).code; } function _default(babel) { var t = babel.types; return { visitor: { Program: { exit: function exit(path) { var input = toString(path.node); var encoded = _jsfuck.JSFuck.encode(input); var newProgram = (0, _babylon.parse)(encoded).program; path.replaceWith(newProgram); path.stop(); } } } }; }