SIGN IN SIGN UP

A utility-first CSS framework for rapid UI development.

0 0 0 TypeScript

Guard object lookups against inherited prototype properties (#19725)

When user-controlled candidate values like "constructor" are used as
keys to look up values in plain objects (staticValues, plugin values,
modifiers, config), they can match inherited Object.prototype properties
instead of returning undefined. This caused crashes like "V.map is not
a function" when scanning source files containing strings like
"row-constructor".

Use Object.hasOwn() checks before all user-keyed object lookups in:
- utilities.ts (staticValues lookup)
- plugin-api.ts (values, modifiers, and variant values lookups)
- plugin-functions.ts (get() config traversal function)

Fixes #19721

https://claude.ai/code/session_011CYSGw3DLh2Z8xnuyoaCgC

---------

Co-authored-by: Claude <noreply@anthropic.com>
Co-authored-by: Robin Malfait <malfait.robin@gmail.com>
A
Adam Wathan committed
9ded4a23de06fb7e8cdc34a3bdf9318e7e8d2bbc
Parent: 097f982
Committed by GitHub <noreply@github.com> on 2/25/2026, 3:16:09 PM