{"record":{"id":"e8724d8ebcd3ea9f","repo":"swc-project/swc","slug":"invalid-json","errorCode":null,"errorMessage":"Invalid JSON","messagePattern":"Invalid JSON","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"bindings/binding_core_node/src/minify.rs","lineNumber":46,"sourceCode":"    input: Option<MinifyTarget>,\n    options: String,\n    extras: JsMinifyExtras,\n}\n\nenum MinifyTarget {\n    /// Code to minify.\n    Single(String),\n    /// `FxHashMap<String, String>`\n    Json(String),\n}\n\nimpl MinifyTarget {\n    fn to_file(&self, cm: Lrc<SourceMap>) -> Lrc<SourceFile> {\n        match self {\n            MinifyTarget::Single(code) => cm.new_source_file(FileName::Anon.into(), code.clone()),\n            MinifyTarget::Json(json) => {\n                let codes: FxHashMap<String, String> =\n                    serde_json::from_str(json).expect(\"Invalid JSON\");\n                assert_eq!(\n                    codes.len(),\n                    1,\n                    \"swc.minify does not support concatting multiple files yet\"\n                );\n\n                let (filename, code) = codes.iter().next().unwrap();\n\n                cm.new_source_file(FileName::Real(filename.clone().into()).into(), code.clone())\n            }\n        }\n    }\n}\n\n#[napi]\nimpl Task for MinifyTask {\n    type JsValue = TransformOutput;\n    type Output = TransformOutput;","sourceCodeStart":28,"sourceCodeEnd":64,"githubUrl":"https://github.com/swc-project/swc/blob/5176682b65416c6b5de6b47379ae1588ea3ecb3f/bindings/binding_core_node/src/minify.rs#L28-L64","documentation":"Node binding panic in MinifyTarget::to_file: the JS side passed MinifyTarget::Json whose payload is not valid JSON for FxHashMap<String,String>, so serde_json::from_str failed and .expect aborted the process instead of returning a napi error.","triggerScenarios":"Thrown at bindings/binding_core_node/src/minify.rs:46 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a JSON object mapping file names to code strings","Replace expect with proper error propagation so malformed JSON returns a catchable napi::Error"],"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"}