babel-preset-jsfuck
Version:
Transforms your code into JSFuck
37 lines (28 loc) • 801 B
JavaScript
;
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();
}
}
}
};
}