Socket
Socket
Sign inDemoInstall

postcss-calc

Package Overview
Dependencies
8
Maintainers
6
Versions
33
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 7.0.5 to 8.0.0

4

CHANGELOG.md

@@ -0,1 +1,5 @@

# 8.0.0
- Breaking: Updated PostCSS from v7.x to v8.x ([#125](https://github.com/postcss/postcss-calc/pull/125))
# 7.0.5

@@ -2,0 +6,0 @@

45

dist/index.js

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

var _postcss = require("postcss");
var _transform = _interopRequireDefault(require("./lib/transform"));

@@ -15,4 +13,4 @@

var _default = (0, _postcss.plugin)('postcss-calc', function (opts) {
var options = Object.assign({
function pluginCreator(opts) {
const options = Object.assign({
precision: 5,

@@ -24,22 +22,33 @@ preserve: false,

}, opts);
return function (css, result) {
css.walk(function (node) {
var type = node.type;
return {
postcssPlugin: 'postcss-calc',
if (type === 'decl') {
(0, _transform.default)(node, "value", options, result);
}
OnceExit(css, {
result
}) {
css.walk(node => {
const {
type
} = node;
if (type === 'atrule' && options.mediaQueries) {
(0, _transform.default)(node, "params", options, result);
}
if (type === 'decl') {
(0, _transform.default)(node, "value", options, result);
}
if (type === 'rule' && options.selectors) {
(0, _transform.default)(node, "selector", options, result);
}
});
if (type === 'atrule' && options.mediaQueries) {
(0, _transform.default)(node, "params", options, result);
}
if (type === 'rule' && options.selectors) {
(0, _transform.default)(node, "selector", options, result);
}
});
}
};
});
}
pluginCreator.postcss = true;
var _default = pluginCreator;
exports.default = _default;
module.exports = exports.default;

@@ -7,3 +7,3 @@ "use strict";

exports.default = void 0;
var conversions = {
const conversions = {
// Absolute length units

@@ -135,4 +135,4 @@ 'px': {

function convertUnit(value, sourceUnit, targetUnit, precision) {
var sourceUnitNormalized = sourceUnit.toLowerCase();
var targetUnitNormalized = targetUnit.toLowerCase();
const sourceUnitNormalized = sourceUnit.toLowerCase();
const targetUnitNormalized = targetUnit.toLowerCase();

@@ -147,3 +147,3 @@ if (!conversions[targetUnitNormalized]) {

var converted = conversions[targetUnitNormalized][sourceUnitNormalized] * value;
const converted = conversions[targetUnitNormalized][sourceUnitNormalized] * value;

@@ -150,0 +150,0 @@ if (precision !== false) {

@@ -48,8 +48,6 @@ "use strict";

var type = node.type;
const type = node.type;
if (isValueType(type)) {
var itemIndex = collected.findIndex(function (x) {
return x.node.type === type;
});
const itemIndex = collected.findIndex(x => x.node.type === type);

@@ -61,5 +59,6 @@ if (itemIndex >= 0) {

var _covertNodesUnits = covertNodesUnits(collected[itemIndex].node, node, precision),
reducedNode = _covertNodesUnits.left,
current = _covertNodesUnits.right;
const {
left: reducedNode,
right: current
} = covertNodesUnits(collected[itemIndex].node, node, precision);

@@ -108,14 +107,13 @@ if (collected[itemIndex].preOperator === '-') {

collectAddSubItems(preOperator, node.left, collected, precision);
var collectRightOperator = preOperator === '-' ? flip(node.operator) : node.operator;
const collectRightOperator = preOperator === '-' ? flip(node.operator) : node.operator;
collectAddSubItems(collectRightOperator, node.right, collected, precision);
} else {
// * or /
var _reducedNode = reduce(node, precision); // prevent infinite recursive call
const reducedNode = reduce(node, precision); // prevent infinite recursive call
if (_reducedNode.type !== "MathExpression" || isAddSubOperator(_reducedNode.operator)) {
collectAddSubItems(preOperator, _reducedNode, collected, precision);
if (reducedNode.type !== "MathExpression" || isAddSubOperator(reducedNode.operator)) {
collectAddSubItems(preOperator, reducedNode, collected, precision);
} else {
collected.push({
node: _reducedNode,
node: reducedNode,
preOperator

@@ -134,8 +132,6 @@ });

function reduceAddSubExpression(node, precision) {
var collected = [];
const collected = [];
collectAddSubItems('+', node, collected, precision);
var withoutZeroItem = collected.filter(function (item) {
return !(isValueType(item.node.type) && item.node.value === 0);
});
var firstNonZeroItem = withoutZeroItem[0]; // could be undefined
const withoutZeroItem = collected.filter(item => !(isValueType(item.node.type) && item.node.value === 0));
const firstNonZeroItem = withoutZeroItem[0]; // could be undefined
// prevent producing "calc(-var(--a))" or "calc()"

@@ -145,5 +141,3 @@ // which is invalid css

if (!firstNonZeroItem || firstNonZeroItem.preOperator === '-' && !isValueType(firstNonZeroItem.node.type)) {
var firstZeroItem = collected.find(function (item) {
return isValueType(item.node.type) && item.node.value === 0;
});
const firstZeroItem = collected.find(item => isValueType(item.node.type) && item.node.value === 0);
withoutZeroItem.unshift(firstZeroItem);

@@ -158,5 +152,5 @@ } // make sure the preOperator of the first item is +

var root = withoutZeroItem[0].node;
let root = withoutZeroItem[0].node;
for (var i = 1; i < withoutZeroItem.length; i++) {
for (let i = 1; i < withoutZeroItem.length; i++) {
root = {

@@ -279,3 +273,3 @@ type: 'MathExpression',

if (right.type === left.type && right.unit && left.unit) {
var converted = (0, _convertUnit.default)(right.value, right.unit, left.unit, precision);
const converted = (0, _convertUnit.default)(right.value, right.unit, left.unit, precision);
right = {

@@ -282,0 +276,0 @@ type: left.type,

@@ -7,3 +7,3 @@ "use strict";

exports.default = _default;
var order = {
const order = {
"*": 0,

@@ -17,3 +17,3 @@ "/": 0,

if (prec !== false) {
var precision = Math.pow(10, prec);
const precision = Math.pow(10, prec);
return Math.round(value * precision) / precision;

@@ -29,6 +29,8 @@ }

{
var left = node.left,
right = node.right,
op = node.operator;
var str = "";
const {
left,
right,
operator: op
} = node;
let str = "";

@@ -64,4 +66,4 @@ if (left.type === 'MathExpression' && order[op] < order[left.operator]) {

function _default(calc, node, originalValue, options, result, item) {
var str = stringify(node, options.precision);
var shouldPrintCalc = node.type === "MathExpression" || node.type === "Function";
let str = stringify(node, options.precision);
const shouldPrintCalc = node.type === "MathExpression" || node.type === "Function";

@@ -68,0 +70,0 @@ if (shouldPrintCalc) {

@@ -21,6 +21,6 @@ "use strict";

// eslint-disable-next-line import/no-unresolved
var MATCH_CALC = /((?:-(moz|webkit)-)?calc)/i;
const MATCH_CALC = /((?:-(moz|webkit)-)?calc)/i;
function transformValue(value, options, result, item) {
return (0, _postcssValueParser.default)(value).walk(function (node) {
return (0, _postcssValueParser.default)(value).walk(node => {
// skip anything which isn't a calc() function

@@ -32,9 +32,9 @@ if (node.type !== 'function' || !MATCH_CALC.test(node.value)) {

var contents = _postcssValueParser.default.stringify(node.nodes);
const contents = _postcssValueParser.default.stringify(node.nodes);
var ast = _parser.parser.parse(contents); // reduce AST to its simplest form, that is, either to a single value
const ast = _parser.parser.parse(contents); // reduce AST to its simplest form, that is, either to a single value
// or a simplified calc expression
var reducedAst = (0, _reducer.default)(ast, options.precision); // stringify AST and write it back
const reducedAst = (0, _reducer.default)(ast, options.precision); // stringify AST and write it back

@@ -48,4 +48,4 @@ node.type = 'word';

function transformSelector(value, options, result, item) {
return (0, _postcssSelectorParser.default)(function (selectors) {
selectors.walk(function (node) {
return (0, _postcssSelectorParser.default)(selectors => {
selectors.walk(node => {
// attribute value

@@ -68,4 +68,4 @@ // e.g. the "calc(3*3)" part of "div[data-size="calc(3*3)"]"

var _default = function _default(node, property, options, result) {
var value = property === "selector" ? transformSelector(node[property], options, result, node) : transformValue(node[property], options, result, node); // if the preserve option is enabled and the value has changed, write the
var _default = (node, property, options, result) => {
const value = property === "selector" ? transformSelector(node[property], options, result, node) : transformValue(node[property], options, result, node); // if the preserve option is enabled and the value has changed, write the
// transformed value into a cloned node which is inserted before the current

@@ -76,3 +76,3 @@ // node, preserving the original value. Otherwise, overwrite the original

if (options.preserve && node[property] !== value) {
var clone = node.clone();
const clone = node.clone();
clone[property] = value;

@@ -79,0 +79,0 @@ node.parent.insertBefore(node, clone);

{
"name": "postcss-calc",
"version": "7.0.5",
"version": "8.0.0",
"description": "PostCSS plugin to reduce calc()",

@@ -39,7 +39,7 @@ "keywords": [

"@babel/register": "^7.0.0",
"ava": "^1.4.1",
"ava": "^3.15.0",
"babel-eslint": "^10.0.1",
"babel-plugin-add-module-exports": "^1.0.0",
"cross-env": "^5.2.0",
"del-cli": "^1.1.0",
"cross-env": "^7.0.0",
"del-cli": "^3.0.0",
"eslint": "^5.7.0",

@@ -49,9 +49,12 @@ "eslint-config-i-am-meticulous": "^11.0.0",

"eslint-plugin-import": "^2.14.0",
"jison-gho": "^0.6.1-215"
"jison-gho": "^0.6.1-216",
"postcss": "^8.2.2"
},
"dependencies": {
"postcss": "^7.0.27",
"postcss-selector-parser": "^6.0.2",
"postcss-value-parser": "^4.0.2"
},
"peerDependencies": {
"postcss": "^8.2.2"
},
"ava": {

@@ -58,0 +61,0 @@ "require": [

SocketSocket SOC 2 Logo

Product

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

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc