Skip to content

[BUG-29] Acronym hook names are unreachable (camelToKebab roundtrip breaks) #40

Description

@shroy

Severity: P2 · Batch: B11 (input validation)

Location

src/utils/strings.js:6-17; src/core/hookRegistry.js:9-14; lookup miss at src/core/scanDirectives.js:73, extraction filter at :39

Root cause

camelToKebab('useURLParser')use-urlparser, kebabToCamel back → useUrlparser ≠ registered name → selector matches but lookup misses → "Unknown hook" warn per scan. Also hookRegistry.js accepts any use… string (useful passes; usefoo produces a [usefoo] selector whose attrs then fail the use- extraction filter).

Proposed fix

Validate hook names as use[A-Z][A-Za-z0-9]* with no consecutive caps (or normalize lookups through kebab keys).

Verification recipe

Spec: register useURLParser; element with use-urlparser; scan; assert hook executed. Expected on unmodified code: "Unknown hook" warning, hook not executed → confirmed. Also assert registerHook(function useful(){}) is accepted (validation gap).

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions