{"record":{"id":"2e34cbfc3afc3e27","repo":"denoland/deno","slug":"invalid-output-dylib-path-has-no-file-name","errorCode":null,"errorMessage":"invalid --output: dylib path has no file name: {}","messagePattern":"invalid --output: dylib path has no file name: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/tools/desktop.rs","lineNumber":2985,"sourceCode":"\n/// The pieces of `dylib_path` we feed into the bundlers, with proper\n/// error messages instead of `unwrap` panics on degenerate inputs like\n/// `--output /` or `--output .`.\nstruct DylibParts<'a> {\n  parent: &'a Path,\n  file_name: &'a std::ffi::OsStr,\n  app_name: String,\n}\n\nfn dylib_parts(dylib_path: &Path) -> Result<DylibParts<'_>, AnyError> {\n  let parent = dylib_path.parent().ok_or_else(|| {\n    deno_core::anyhow::anyhow!(\n      \"invalid --output: dylib path has no parent dir: {}\",\n      dylib_path.display()\n    )\n  })?;\n  let file_name = dylib_path.file_name().ok_or_else(|| {\n    deno_core::anyhow::anyhow!(\n      \"invalid --output: dylib path has no file name: {}\",\n      dylib_path.display()\n    )\n  })?;\n  let app_name = dylib_path\n    .file_stem()\n    .ok_or_else(|| {\n      deno_core::anyhow::anyhow!(\n        \"invalid --output: dylib path has no file stem: {}\",\n        dylib_path.display()\n      )\n    })?\n    .to_string_lossy()\n    .into_owned();\n  Ok(DylibParts {\n    parent,\n    file_name,\n    app_name,","sourceCodeStart":2967,"sourceCodeEnd":3003,"githubUrl":"https://github.com/denoland/deno/blob/89f33cbef296a2b287f323d42de54c871fa69c77/cli/tools/desktop.rs#L2967-L3003","documentation":"Error \"invalid --output: dylib path has no file name: {}\" thrown in denoland/deno.","triggerScenarios":"Thrown at cli/tools/desktop.rs:2985 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"89f33cbef296a2b287f323d42de54c871fa69c77","analyzedAt":"2026-08-16T07:54:21.310Z","schemaVersion":2},"datasetVersion":"2026-08-16T08:17:34.114Z"}