{"record":{"id":"66f016e090cb6133","repo":"oxc-project/oxc","slug":"unknown-property-found","errorCode":null,"errorMessage":"Unknown property found","messagePattern":"Unknown property found","errorType":"validation","errorClass":"OxcDiagnostic","httpStatus":null,"severity":"error","filePath":"crates/oxc_linter/src/rules/react/no_unknown_property.rs","lineNumber":40,"sourceCode":"    utils::get_jsx_attribute_name,\n};\n\nfn invalid_prop_on_tag(span: Span, prop: &str, tag: &str) -> OxcDiagnostic {\n    OxcDiagnostic::warn(\"Invalid property found\")\n        .with_help(format!(\"Property '{prop}' is only allowed on: {tag}\"))\n        .with_label(span)\n}\n\nfn data_lowercase_required(span: Span, suggested_prop: &str) -> OxcDiagnostic {\n    OxcDiagnostic::warn(\n        \"React does not recognize data-* props with uppercase characters on a DOM element\",\n    )\n    .with_help(format!(\"Use '{suggested_prop}' instead\"))\n    .with_label(span)\n}\n\nfn unknown_prop_with_standard_name(span: Span, x1: &str) -> OxcDiagnostic {\n    OxcDiagnostic::warn(\"Unknown property found\")\n        .with_help(format!(\"Use '{x1}' instead\"))\n        .with_label(span)\n}\n\nfn unknown_prop(span: Span) -> OxcDiagnostic {\n    OxcDiagnostic::warn(\"Unknown property found\")\n        .with_help(\"Remove unknown property\")\n        .with_label(span)\n}\n\n#[derive(Debug, Default, Clone, Deserialize)]\npub struct NoUnknownProperty(Box<NoUnknownPropertyConfig>);\n\n#[derive(Default, Debug, Clone, PartialEq, Eq, Deserialize, JsonSchema)]\n#[serde(rename_all = \"camelCase\", default, deny_unknown_fields)]\npub struct NoUnknownPropertyConfig {\n    /// List of properties to ignore.\n    ignore: FxHashSet<Cow<'static, str>>,","sourceCodeStart":22,"sourceCodeEnd":58,"githubUrl":"https://github.com/oxc-project/oxc/blob/e1e7af627c8843ab64044ed466b128fcc21a035b/crates/oxc_linter/src/rules/react/no_unknown_property.rs#L22-L58","documentation":"Raised by react/no_unknown_property when a JSX attribute is not a known React DOM property/attribute and no data-/aria- exemption applies, but it closely matches a standard name (e.g. `class` instead of `className`, `for` instead of `htmlFor`). At the throw site the prop is invalid as written — React ignores unknown DOM props — and the rule's typo detection has identified the standard name the author almost certainly meant. unknown_prop_with_standard_name fires from run() when the attribute name normalizes to a known property.","triggerScenarios":"Thrown at crates/oxc_linter/src/rules/react/no_unknown_property.rs:40 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Replace the unknown property with the suggested standard name.","For custom attributes, use a data-* name or register it in the rule's ignore list."],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e1e7af627c8843ab64044ed466b128fcc21a035b","analyzedAt":"2026-08-20T07:01:07.079Z","contentChangedAt":"2026-08-20T07:01:07.079Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}