"use strict"; module.exports = function ({ types: t }) { const TRUE = t.unaryExpression("!", t.numericLiteral(0), true); const FALSE = t.unaryExpression("!", t.numericLiteral(1), true); return { name: "transform-minify-booleans", visitor: { // shorten booleans to a negation // true -> !0 // false -> !1 BooleanLiteral(path) { path.replaceWith(path.node.value ? TRUE : FALSE); } } }; };