pub fn parse_package_json(
content: &str,
uri: &Uri,
) -> Result<NpmParseResult, NpmError>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");