swc-project/swc · error · Error
Invalid attribute modifier
Error message
Invalid attribute modifier
What it means
Fired while parsing an attribute selector modifier: the token following the attribute value (in `[attr=value modifier]`) must be an ident `i` or `s` (case-sensitivity flags), but a different token was present. ErrorKind::InvalidAttrSelectorModifier is a validation-style guard; input at fault is e.g. `[title="x" 1]` or any non-ident modifier.
Source
Thrown at crates/swc_css_parser/src/parser/selectors/mod.rs:836
}
impl<I> Parse<AttributeSelectorModifier> for Parser<I>
where
I: ParserInput,
{
fn parse(&mut self) -> PResult<AttributeSelectorModifier> {
let span = self.input.cur_span();
match cur!(self) {
tok!("ident") => {
let value: Ident = self.parse()?;
Ok(AttributeSelectorModifier {
span: span!(self, span.lo),
value,
})
}
_ => return Err(Error::new(span, ErrorKind::InvalidAttrSelectorModifier)),
}
}
}
impl<I> Parse<PseudoClassSelector> for Parser<I>
where
I: ParserInput,
{
fn parse(&mut self) -> PResult<PseudoClassSelector> {
let span = self.input.cur_span();
expect!(self, ":");
if is!(self, Function) {
let fn_span = self.input.cur_span();
let name = bump!(self);
let names: (Atom, _) = match name {
Token::Function { value, raw } => (value.to_ascii_lowercase(), raw),View on GitHub (pinned to 5176682b65)
Solutions
- Use a valid modifier ident (e.g. `i`) after the attribute selector
- Collect and report parser errors
- Remove the invalid modifier
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/swc_css_parser/src/parser/selectors/mod.rs:836 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of swc-project/swc@5176682b65 (2026-08-17).
Data as JSON: /api/errors/8ff8b806187ef0a4.
Report an issue: GitHub.