rustcodegraph 1.2.10

Local-first code intelligence graph and CLI for AI agents
Documentation
mod tree_sitter_rust_setup {
    use super::*;

    fn package_json() -> Value {
        let pkg_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("package.json");
        let content = fs::read_to_string(&pkg_path)
            .unwrap_or_else(|err| panic!("failed to read {}: {err}", pkg_path.display()));
        serde_json::from_str(&content).expect("package.json should parse")
    }

    fn cargo_toml() -> String {
        let cargo_path = PathBuf::from(env!("CARGO_MANIFEST_DIR")).join("Cargo.toml");
        fs::read_to_string(&cargo_path)
            .unwrap_or_else(|err| panic!("failed to read {}: {err}", cargo_path.display()))
    }

    #[test]
    fn production_npm_package_no_longer_depends_on_wasm_tree_sitter() {
        let pkg = package_json();
        let dependencies = pkg["dependencies"]
            .as_object()
            .expect("dependencies should be an object");

        assert!(dependencies.get("web-tree-sitter").is_none());
        assert!(dependencies.get("tree-sitter-wasms").is_none());
    }

    #[test]
    fn should_use_native_tree_sitter_crates_in_cargo_dependencies() {
        let cargo = cargo_toml();

        assert!(cargo.contains("tree-sitter ="));
        assert!(cargo.contains("tree-sitter-typescript"));
        assert!(cargo.contains("tree-sitter-javascript"));
    }
}