parse_package_json

Function parse_package_json 

Source
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:

  • dependencies
  • devDependencies
  • peerDependencies
  • optionalDependencies

§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");