pub fn parse_package_json(content: &str, uri: &Uri) -> Result<NpmParseResult>Expand description
Parses a package.json file and extracts all dependencies with positions.
Handles all dependency sections:
dependenciesdevDependenciespeerDependenciesoptionalDependencies
§Errors
Returns an error if:
- JSON parsing fails
- File is not a valid package.json structure
§Examples
use deps_npm::parser::parse_package_json;
use tower_lsp_server::ls_types::Uri;
let json = r#"{
"dependencies": {
"express": "^4.18.2"
}
}"#;
let uri = Uri::from_file_path("/project/package.json").unwrap();
let result = parse_package_json(json, &uri).unwrap();
assert_eq!(result.dependencies.len(), 1);
assert_eq!(result.dependencies[0].name, "express");