
Security News
AGENTS.md Gains Traction as an Open Format for AI Coding Agents
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
@bem-react/classname
Advanced tools
Tiny helper for building CSS classes with BEM methodology.
npm i -S @bem-react/classname
import { cn } from '@bem-react/classname'
const cat = cn('Cat')
cat() // Cat
cat({ size: 'm' }) // Cat Cat_size_m
cat('Tail') // Cat-Tail
cat('Tail', { length: 'small' }) // Cat-Tail Cat-Tail_length_small
const dogPaw = cn('Dog', 'Paw')
dogPaw() // Dog-Paw
dogPaw({ color: 'black', exists: true }) // Dog-Paw Dog-Paw_color_black Dog-Paw_exists
// mixes
cat(null, ['Dog']) // Cat Dog
cat({ size: 'm' }, ['Dog', 'Horse']) // Cat Cat_size_m Dog Horse
cat('Tail', [dogPaw()]) // Cat-Tail Dog-Paw
cat('Tail', { length: 'small' }, [dogPaw({ color: 'black' })]) // Cat-Tail Cat-Tail_length_small Dog-Paw Dog-Paw_color_black
By default classname
uses React naming preset. But it's possible to use any.
import { withNaming } from '@bem-react/classname'
const cn = withNaming({ n: 'ns-', e: '__', m: '_', v: '_' })
cn('block', 'elem')({ theme: 'default' }) // ns-block__elem_theme_default
FAQs
BEM React ClassName
The npm package @bem-react/classname receives a total of 15,054 weekly downloads. As such, @bem-react/classname popularity was classified as popular.
We found that @bem-react/classname demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 7 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.
Security News
AGENTS.md is a fast-growing open format giving AI coding agents a shared, predictable way to understand project setup, style, and workflows.
Security News
/Research
Malicious npm package impersonates Nodemailer and drains wallets by hijacking crypto transactions across multiple blockchains.
Security News
This episode explores the hard problem of reachability analysis, from static analysis limits to handling dynamic languages and massive dependency trees.