🎩 You're Invited:Meet the Socket team at Black Hat in Las Vegas, August 3-6.RSVP
Sign In

autoprefixer

Package Overview
Dependencies
Maintainers
1
Versions
256
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

autoprefixer - npm Package Compare versions

Comparing version
10.5.0
to
10.5.1
+61
-4
lib/hacks/grid-utils.js

@@ -361,2 +361,26 @@ let parser = require('postcss-value-parser')

function selectorStartsWith(base, selector) {
if (!selector.startsWith(base)) {
return false
}
let next = selector[base.length]
return !next || /[\s.#[:>+~]/.test(next)
}
function selectorMayOverlap(previous, current) {
let base = previous.replace(/\s*\*\s*/g, ' ').replace(/\s+/g, ' ').trim()
let selector = current.replace(/\s+/g, ' ').trim()
return !base || selectorStartsWith(base, selector)
}
function selectorsMayOverlap(previous, current) {
return previous.some(previousSelector => {
return current.some(currentSelector => {
return selectorMayOverlap(previousSelector, currentSelector)
})
})
}
/**

@@ -487,2 +511,3 @@ * Parse data from all grid-template(-areas) declarations

let rulesToInsert = {}
let previousGridAreas = []

@@ -520,2 +545,16 @@ css.walkDecls('grid-area', gridArea => {

function shouldResetSpan(rule, area, dimension) {
return previousGridAreas.some(previous => {
if (previous.data !== data) {
return false
}
if (!selectorsMayOverlap(previous.selectors, gridAreaRule.selectors)) {
return false
}
let previousArea = rule.areas[previous.value]
return previousArea && previousArea[dimension].span > area[dimension].span
})
}
// create the empty object with the key as the last area name

@@ -559,4 +598,6 @@ // e.g if we have templates with "a b c" values, "c" will be the last area

// grid-template has no duplicates and not inside media rule
let addRowSpan = shouldResetSpan(rule, area, 'row')
let addColumnSpan = shouldResetSpan(rule, area, 'column')
getMSDecls(area, false, false)
getMSDecls(area, addRowSpan, addColumnSpan)
.reverse()

@@ -579,4 +620,7 @@ .forEach(i =>

cloned.removeAll()
let addRowSpan = area.row.updateSpan || shouldResetSpan(rule, area, 'row')
let addColumnSpan =
area.column.updateSpan || shouldResetSpan(rule, area, 'column')
getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
getMSDecls(area, addRowSpan, addColumnSpan)
.reverse()

@@ -612,3 +656,7 @@ .forEach(i =>

gridAreaRule.walkDecls(/-ms-grid-(row|column)/, d => d.remove())
getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
let addRowSpan = area.row.updateSpan || shouldResetSpan(rule, area, 'row')
let addColumnSpan =
area.column.updateSpan || shouldResetSpan(rule, area, 'column')
getMSDecls(area, addRowSpan, addColumnSpan)
.reverse()

@@ -631,4 +679,7 @@ .forEach(i =>

cloned.removeAll()
let addRowSpan = area.row.updateSpan || shouldResetSpan(rule, area, 'row')
let addColumnSpan =
area.column.updateSpan || shouldResetSpan(rule, area, 'column')
getMSDecls(area, area.row.updateSpan, area.column.updateSpan)
getMSDecls(area, addRowSpan, addColumnSpan)
.reverse()

@@ -671,2 +722,8 @@ .forEach(i =>

previousGridAreas.push({
data,
selectors: gridAreaRule.selectors,
value
})
return undefined

@@ -673,0 +730,0 @@ })

+2
-1

@@ -214,3 +214,4 @@ let featureQueries = require('caniuse-lite/data/features/css-featurequeries.js')

filtered,
this.all.options
this.all.options,
this.all.browsers.browserslistOpts
)

@@ -217,0 +218,0 @@ this.prefixerCache = new this.Prefixes(

{
"name": "autoprefixer",
"version": "10.5.0",
"version": "10.5.1",
"description": "Parse CSS and add vendor prefixes to CSS rules using values from the Can I Use website",

@@ -36,4 +36,4 @@ "keywords": [

"dependencies": {
"browserslist": "^4.28.2",
"caniuse-lite": "^1.0.30001787",
"browserslist": "^4.28.4",
"caniuse-lite": "^1.0.30001799",
"fraction.js": "^5.3.4",

@@ -40,0 +40,0 @@ "picocolors": "^1.1.1",

@@ -54,4 +54,1 @@ # Autoprefixer [![Cult Of Martians][cult-img]][cult]

[cult]: https://cultofmartians.com/tasks/autoprefixer-grid.html
## Docs
Read full docs **[here](https://github.com/postcss/autoprefixer#readme)**.