{"record":{"id":"db08ce4023aebd9f","repo":"denoland/deno","slug":"invalid-output-dylib-path-has-no-file-stem","errorCode":null,"errorMessage":"invalid --output: dylib path has no file stem: {}","messagePattern":"invalid --output: dylib path has no file stem: (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cli/tools/desktop.rs","lineNumber":2993,"sourceCode":"}\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,\n  })\n}\n\n/// The runtime dylib filename each macOS LAUFEY backend resolves when the\n/// backend binary is the bundle's CFBundleExecutable (i.e. no `--runtime`\n/// argument is passed). The two macOS backends use different conventions:\n/// - `webview` searches a hardcoded `libruntime.dylib` via [NSBundle mainBundle]\n///   (laufey `webview/src/main_mac.mm`).","sourceCodeStart":2975,"sourceCodeEnd":3011,"githubUrl":"https://github.com/denoland/deno/blob/89f33cbef296a2b287f323d42de54c871fa69c77/cli/tools/desktop.rs#L2975-L3011","documentation":"Error \"invalid --output: dylib path has no file stem: {}\" thrown in denoland/deno.","triggerScenarios":"Thrown at cli/tools/desktop.rs:2993 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"}