
Research
SAP CAP npm Packages Hit by Mini Shai-Hulud Supply Chain Attack
Compromised SAP CAP npm packages download and execute unverified binaries, creating urgent supply chain risk for affected developers and CI/CD environments.
@csstools/selector-specificity
Advanced tools
Determine selector specificity with postcss-selector-parser
Add Selector Specificity to your project:
npm install @csstools/selector-specificity --save-dev
import parser from 'postcss-selector-parser';
import { selectorSpecificity } from '@csstools/selector-specificity';
const selectorAST = parser().astSync('#foo:has(> .foo)');
const specificity = selectorSpecificity(selectorAST);
console.log(specificity.a); // 1
console.log(specificity.b); // 1
console.log(specificity.c); // 0
selectorSpecificity takes a single selector, not a list of selectors (not : a, b, c).
To compare or otherwise manipulate lists of selectors you need to call selectorSpecificity on each part.
The package exports a utility function to compare two specificities.
import { selectorSpecificity, compare } from '@csstools/selector-specificity';
const s1 = selectorSpecificity(ast1);
const s2 = selectorSpecificity(ast2);
compare(s1, s2); // -1 | 0 | 1
s1 < s2 then compare(s1, s2) returns a negative number (< 0)s1 > s2 then compare(s1, s2) returns a positive number (> 0)s1 === s2 then compare(s1, s2) returns zero (=== 0)For CSSTools we always use postcss-selector-parser and want to calculate specificity from this AST.
The 'specificity' package is another tool for calculating CSS selector specificity. It provides similar functionality to @csstools/selector-specificity, allowing developers to parse and compare the specificity of CSS selectors. However, it may have a different API and additional features.
The 'css-specificity-calculator' package offers functionality to calculate the specificity of CSS selectors. It is similar to @csstools/selector-specificity but may have a different approach to handling specificity calculations and comparisons.
FAQs
Determine selector specificity with postcss-selector-parser
The npm package @csstools/selector-specificity receives a total of 12,075,794 weekly downloads. As such, @csstools/selector-specificity popularity was classified as popular.
We found that @csstools/selector-specificity demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Research
Compromised SAP CAP npm packages download and execute unverified binaries, creating urgent supply chain risk for affected developers and CI/CD environments.

Company News
Socket has acquired Secure Annex to expand extension security across browsers, IDEs, and AI tools.

Research
/Security News
Socket is tracking cloned Open VSX extensions tied to GlassWorm, with several updated from benign-looking sleepers into malware delivery vehicles.