{"record":{"id":"54d55b2e95e42842","repo":"swc-project/swc","slug":"failed-to-parse-browser-version","errorCode":null,"errorMessage":"failed to parse browser version","messagePattern":"failed to parse browser version","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/preset_env_base/src/query.rs","lineNumber":88,"sourceCode":"                    mobile_to_desktop: true,\n                    ignore_unknown_versions: true,\n                    ..Default::default()\n                },\n            )\n            .with_context(|| {\n                format!(\n                    \"failed to resolve browserslist query: {:?}\",\n                    s.iter().map(|v| v.as_ref()).collect::<Vec<_>>()\n                )\n            })?;\n\n            // Track if the browserslist query returned empty (unknown version).\n            // When this happens, we should treat it as a recent browser version\n            // that supports all features, not apply all transforms.\n            let unknown_version = distribs.is_empty();\n\n            let versions =\n                BrowserData::parse_versions(distribs).expect(\"failed to parse browser version\");\n\n            Ok((Arc::new(versions), unknown_version))\n        }\n\n        static CACHE: Lazy<DashMap<Query, (Arc<Versions>, bool), FxBuildHasher>> =\n            Lazy::new(Default::default);\n\n        if let Some(v) = CACHE.get(self) {\n            return Ok(v.clone());\n        }\n\n        let result = match *self {\n            Query::Single(ref s) => {\n                if s.is_empty() {\n                    query(&[\"defaults\"])\n                } else {\n                    query(&[s])\n                }","sourceCodeStart":70,"sourceCodeEnd":106,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/crates/preset_env_base/src/query.rs#L70-L106","documentation":"During browserslist resolution in preset_env_base, a version string within the query could not be parsed as a browser version. This fires when a browserslist query contains a malformed or non-numeric version token, so version parsing fails while building Targets from the query.","triggerScenarios":"Thrown at crates/preset_env_base/src/query.rs:88 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check every version token in the browserslist query for valid numeric forms (e.g. 88, 88.1)","Remove or correct entries with placeholder or accidental non-numeric versions","Test the same query against the browserslist CLI to confirm which entry is invalid"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"5176682b65416c6b5de6b47379ae1588ea3ecb3f","analyzedAt":"2026-08-17T16:16:52.067Z","contentChangedAt":"2026-08-17T16:16:52.067Z","schemaVersion":2},"datasetVersion":"2026-09-14T00:17:10.932Z"}