{"record":{"id":"c09f6961b5ef81cf","repo":"biomejs/biome","slug":"file-path-should-have-a-parent","errorCode":null,"errorMessage":"file path should have a parent","messagePattern":"file path should have a parent","errorType":"panic","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/biome_service/src/configuration.rs","lineNumber":619,"sourceCode":"    ///\n    /// If a configuration can't be resolved from the file system, the operation\n    /// will fail.\n    ///\n    /// `file_path` is the path to the configuration file and is used for\n    /// resolving relative paths in the `extends` field.\n    ///\n    /// `external_resolution_base_path` is used for resolving non-relative\n    /// `extends` entries.\n    fn apply_extends(\n        &mut self,\n        fs: &dyn FsWithResolverProxy,\n        file_path: &Utf8Path,\n        external_resolution_base_path: &Utf8Path,\n        diagnostics: &mut Vec<Error>,\n    ) -> Result<Vec<(Utf8PathBuf, Configuration)>, WorkspaceError> {\n        let deserialized = self.deserialize_extends(\n            fs,\n            file_path.parent().expect(\"file path should have a parent\"),\n            external_resolution_base_path,\n        )?;\n        let (configurations, errors): (Vec<_>, Vec<_>) =\n            deserialized.into_iter().map(Deserialized::consume).unzip();\n\n        let configuration_list = configurations\n            .iter()\n            .flatten()\n            .cloned()\n            .map(|c| (file_path.to_path_buf(), c))\n            .collect::<Vec<_>>();\n\n        let extended_configuration = configurations.into_iter().flatten().reduce(\n            |mut previous_configuration, current_configuration| {\n                previous_configuration.merge_with(current_configuration);\n                previous_configuration\n            },\n        );","sourceCodeStart":601,"sourceCodeEnd":637,"githubUrl":"https://github.com/biomejs/biome/blob/0fca643d22845c28e0e0b7375013155e3f80717f/crates/biome_service/src/configuration.rs#L601-L637","documentation":"Error \"file path should have a parent\" thrown in biomejs/biome.","triggerScenarios":"Thrown at crates/biome_service/src/configuration.rs:618 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Pass a file path that has a parent directory (not a bare root) when resolving configuration.","Join relative paths onto a base directory before loading configuration."],"exampleFix":"let parent = path.parent().ok_or_else(|| /* missing parent error */)?;","handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0fca643d22845c28e0e0b7375013155e3f80717f","analyzedAt":"2026-08-20T00:25:09.682Z","contentChangedAt":"2026-08-20T00:25:09.682Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}