swc-project/swc · error

failed to run query

Error message

failed to run query

What it means

In targets_to_versions, executing the browserslist query stored in Targets::Query failed while converting the query into concrete version data. This fires at preset_env setup when the query string cannot be resolved against the browserslist database — e.g. unrecognized query syntax or interfering browserslist config files — aborting targets computation for callers such as prefixer and From<Config>.

Source

Thrown at crates/preset_env_base/src/query.rs:170

            versions: Default::default(),
            unknown_version: false,
        }),
        Some(Targets::Versions(v)) => Ok(TargetInfo {
            versions: Arc::new(v),
            unknown_version: false,
        }),
        Some(Targets::Query(q)) => {
            let (versions, unknown_version) = q
                .exec()
                .context("failed to convert target query to version data")?;
            Ok(TargetInfo {
                versions,
                unknown_version,
            })
        }
        Some(Targets::HashMap(mut map)) => {
            let q = map.remove("browsers").map(|q| match q {
                QueryOrVersion::Query(q) => q.exec().expect("failed to run query"),
                _ => unreachable!(),
            });

            let node = map.remove("node").map(|q| match q {
                QueryOrVersion::Version(v) => v,
                QueryOrVersion::Query(..) => unreachable!(),
            });

            // Track if any query returned empty (unknown version)
            let mut unknown_version = false;

            if map.is_empty() {
                if let Some((versions, is_unknown)) = q {
                    let mut versions = *versions;
                    versions.node = node;
                    unknown_version = is_unknown;
                    return Ok(TargetInfo {
                        versions: Arc::new(versions),

View on GitHub (pinned to 5176682b65)

Solutions

  1. Validate the query with the browserslist CLI (`npx browserslist '<query>'`)
  2. Replace unsupported query operators with simple forms like `chrome >= 80`
  3. Check for interfering .browserslistrc / package.json browserslist config in the project
  4. Pass explicit version targets instead of a query to bypass resolution
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at crates/preset_env_base/src/query.rs:170 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/a25f10ce86a27603. Report an issue: GitHub.