Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.

Commit f6e7cef

Browse files
author
Hendrik van Antwerpen
committed
Fix package tests and properly import dependencies
1 parent c4650b6 commit f6e7cef

File tree

4 files changed

+88
-15
lines changed

4 files changed

+88
-15
lines changed

languages/tree-sitter-stack-graphs-typescript/rust/npm_package.rs

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,27 @@ impl FileAnalyzer for NpmPackageAnalyzer {
8585
let pkg_ref = add_push(graph, file, proj_scope, PKG_M_NS, "npm_package.pkg_ref");
8686
add_edge(graph, pkg_def, pkg_ref, 0);
8787

88+
// dependencies (package references)
89+
for (i, (pkg_name, _)) in npm_pkg.dependencies.iter().enumerate() {
90+
let pkg_def = add_module_pops(
91+
graph,
92+
file,
93+
NON_REL_M_NS,
94+
Path::new(&pkg_name),
95+
proj_scope,
96+
&format!("npm_package.dep[{}]", i),
97+
);
98+
let pkg_ref = add_module_pushes(
99+
graph,
100+
file,
101+
NON_REL_M_NS,
102+
Path::new(&pkg_name),
103+
root,
104+
&format!("npm_package.dep[{}]", i),
105+
);
106+
add_edge(graph, pkg_def, pkg_ref, 0);
107+
}
108+
88109
Ok(())
89110
}
90111
}
@@ -93,4 +114,6 @@ impl FileAnalyzer for NpmPackageAnalyzer {
93114
#[serde(rename_all = "camelCase")]
94115
pub struct NpmPackage {
95116
pub name: String,
117+
#[serde(default)]
118+
pub dependencies: HashMap<String, serde_json::Value>,
96119
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/* --- path: ./my_lib/package.json --- */
2+
/* --- global: PROJECT_NAME=my_lib --- */
3+
{
4+
"name": "@my/lib",
5+
"version": "0.1"
6+
}
7+
8+
/* --- path: ./my_lib/tsconfig.json --- */
9+
/* --- global: PROJECT_NAME=my_lib --- */
10+
{
11+
}
12+
13+
/* --- path: ./my_lib/src/foo.ts --- */
14+
/* --- global: PROJECT_NAME=my_lib --- */
15+
export const bar = 42;
16+
17+
/* --- path: ./my_app/package.json --- */
18+
/* --- global: PROJECT_NAME=my_app --- */
19+
{
20+
"name": "@my/app",
21+
"dependencies": {
22+
"@my/lib": "0.1"
23+
}
24+
}
25+
26+
/* --- path: ./my_app/tsconfig.json --- */
27+
/* --- global: PROJECT_NAME=my_app --- */
28+
{
29+
}
30+
31+
/* --- path: ./my_app/src/index.ts --- */
32+
/* --- global: PROJECT_NAME=my_app --- */
33+
import { bar } from "@my/lib/foo";
34+
// ^ defined: 15
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
/* --- path: ./my_lib/package.json --- */
2+
/* --- global: PROJECT_NAME=my_lib --- */
3+
{
4+
"name": "@my/lib",
5+
"version": "0.1"
6+
}
7+
8+
/* --- path: ./my_lib/tsconfig.json --- */
9+
/* --- global: PROJECT_NAME=my_lib --- */
10+
{
11+
}
12+
13+
/* --- path: ./my_lib/src/foo.ts --- */
14+
/* --- global: PROJECT_NAME=my_lib --- */
15+
export const bar = 42;
16+
17+
/* --- path: ./my_app/package.json --- */
18+
/* --- global: PROJECT_NAME=my_app --- */
19+
{
20+
"name": "@my/app"
21+
}
22+
23+
/* --- path: ./my_app/tsconfig.json --- */
24+
/* --- global: PROJECT_NAME=my_app --- */
25+
{
26+
}
27+
28+
/* --- path: ./my_app/src/index.ts --- */
29+
/* --- global: PROJECT_NAME=my_app --- */
30+
import { bar } from "@my/lib/foo";
31+
// ^ defined:

languages/tree-sitter-stack-graphs-typescript/test/projects/package-with-baseurl.ts

Lines changed: 0 additions & 15 deletions
This file was deleted.

0 commit comments

Comments
 (0)