swc-project/swc · error

Expected 'url' or 'src' name of a function token

Error message

Expected 'url' or 'src' name of a function token

What it means

Fired while parsing a Url in function form: a Function token was consumed, but its name was neither `url` nor `src` (case-insensitive), so it cannot represent a URL value. Input at fault is a function-form URL with a wrong name, e.g. `image(./a.png)` used where `url(./a.png)` or `src(...)` is required.

Source

Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:2626

                let value = Some(Box::new(UrlValue::Raw(UrlValueRaw {
                    span: Span::new(span.lo + BytePos(name_length + 1), span.hi - BytePos(1)),
                    value,
                    raw: Some(raw.1),
                })));

                Ok(Url {
                    span: span!(self, span.lo),
                    name,
                    value,
                    modifiers: None,
                })
            }
            Token::Function {
                value: function_name,
                raw: raw_function_name,
            } => {
                if !matches_eq_ignore_ascii_case!(function_name, "url", "src") {
                    return Err(Error::new(
                        span,
                        ErrorKind::Expected("'url' or 'src' name of a function token"),
                    ));
                }

                let name = Ident {
                    span: Span::new(span.lo, span.hi - BytePos(1)),
                    value: function_name,
                    raw: Some(raw_function_name),
                };

                self.input.skip_ws();

                let value = match cur!(self) {
                    tok!("string") => Some(Box::new(UrlValue::Str(self.parse()?))),
                    _ => None,
                };

View on GitHub (pinned to 5176682b65)

Solutions

  1. Rename the function to 'url' or 'src'
  2. Use plain url(...) token syntax instead of a custom function name
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/swc_css_parser/src/parser/values_and_units/mod.rs:2626 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/44382409959eedf8. Report an issue: GitHub.