Socket
Socket
Sign inDemoInstall

babel-plugin-minify-simplify

Package Overview
Dependencies
Maintainers
5
Versions
87
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

babel-plugin-minify-simplify - npm Package Compare versions

Comparing version 0.5.0-alpha.34c3efe9 to 0.5.0-alpha.367cc048

6

lib/helpers.js
"use strict";
const VOID_0 = t => t.unaryExpression("void", t.numericLiteral(0), true); // Types as Symbols - for comparing types
const VOID_0 = t => t.unaryExpression("void", t.numericLiteral(0), true);
const evaluate = require("babel-helper-evaluate-path"); // Types as Symbols - for comparing types
const types = {}; // This is a test key which is used to avoid Object.keys check

@@ -42,3 +44,3 @@ // Object.keys() check is really expensive

if (isNodeOfType(t, inputPath.node, patternValue)) return true;
const evalResult = inputPath.evaluate();
const evalResult = evaluate(inputPath);
if (!evalResult.confident || !inputPath.isPure()) return false;

@@ -45,0 +47,0 @@ return evalResult.value === patternValue;

@@ -117,2 +117,10 @@ "use strict";

},
BinaryExpression(path) {
if (["!=", "=="].indexOf(path.node.operator) !== -1) {
undefinedToNull(path.get("left"));
undefinedToNull(path.get("right"));
}
},
LogicalExpression: {

@@ -1148,2 +1156,20 @@ exit: logicalExpression.simplifyPatterns

}
function isPureVoid(path) {
return path.isUnaryExpression({
operator: "void"
}) && path.isPure();
}
function isGlobalUndefined(path) {
return path.isIdentifier({
name: "undefined"
}) && !path.scope.getBinding("undefined");
}
function undefinedToNull(path) {
if (isGlobalUndefined(path) || isPureVoid(path)) {
path.replaceWith(t.nullLiteral());
}
}
};

@@ -7,2 +7,4 @@ "use strict";

const evaluate = require("babel-helper-evaluate-path");
module.exports = t => {

@@ -14,3 +16,3 @@ const OP_AND = input => input === "&&";

function simplifyPatterns(path) {
// cache of path.evaluate()
// cache of evaluate(path)
const evaluateMemo = new Map();

@@ -27,3 +29,3 @@

const evalResult = input.evaluate();
const evalResult = evaluate(input);
evaluateMemo.set(input, evalResult);

@@ -42,3 +44,3 @@ return evalResult.confident && input.isPure() && evalResult.value;

const evalResult = input.evaluate();
const evalResult = evaluate(input);
evaluateMemo.set(input, evalResult);

@@ -67,3 +69,3 @@ return evalResult.confident && input.isPure() && !evalResult.value;

} else {
value = left.evaluate().value;
value = evaluate(left).value;
}

@@ -70,0 +72,0 @@

{
"name": "babel-plugin-minify-simplify",
"version": "0.5.0-alpha.34c3efe9",
"version": "0.5.0-alpha.367cc048",
"description": "",

@@ -15,6 +15,6 @@ "keywords": [

"dependencies": {
"babel-helper-flip-expressions": "^0.5.0-alpha.34c3efe9",
"babel-helper-flip-expressions": "^0.5.0-alpha.367cc048",
"babel-helper-is-nodes-equiv": "^0.0.1",
"babel-helper-to-multiple-sequence-expressions": "^0.5.0-alpha.34c3efe9"
"babel-helper-to-multiple-sequence-expressions": "^0.5.0-alpha.367cc048"
}
}

@@ -54,3 +54,3 @@ # babel-plugin-minify-simplify

```sh
npm install babel-plugin-minify-simplify
npm install babel-plugin-minify-simplify --save-dev
```

@@ -57,0 +57,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc