Skip to content

Commit f160d06

Browse files
authored
fix: make ts reference paths type-only deps (#246)
1 parent 377d2da commit f160d06

File tree

3 files changed

+56
-2
lines changed

3 files changed

+56
-2
lines changed

lib/deno_graph_wasm_bg.wasm

3 Bytes
Binary file not shown.

src/graph.rs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1610,13 +1610,13 @@ pub(crate) fn parse_esm_module_from_module_info(
16101610
.dependencies
16111611
.entry(specifier.text.clone())
16121612
.or_default();
1613-
if dep.maybe_code.is_none() {
1613+
if dep.maybe_type.is_none() {
16141614
let range = Range::from_position_range(
16151615
module.specifier.clone(),
16161616
specifier.text,
16171617
specifier.range,
16181618
);
1619-
dep.maybe_code = resolve(range, maybe_resolver);
1619+
dep.maybe_type = resolve(range, maybe_resolver);
16201620
}
16211621
}
16221622
TypeScriptReference::Types(specifier) => {

test.ts

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -751,3 +751,57 @@ Deno.test({
751751
});
752752
},
753753
});
754+
755+
Deno.test({
756+
name: "parseModule() - triple slash directives in typescript",
757+
async fn() {
758+
await init();
759+
const module = parseModule(
760+
"file:///a/foo.ts",
761+
`
762+
/// <reference path="./a.d.ts" />
763+
/// <reference types="./b.d.ts" />
764+
`,
765+
);
766+
assertEquals(module, {
767+
"dependencies": [
768+
{
769+
"specifier": "./a.d.ts",
770+
"type": {
771+
"specifier": "file:///a/a.d.ts",
772+
"span": {
773+
"start": {
774+
"line": 1,
775+
"character": 28,
776+
},
777+
"end": {
778+
"line": 1,
779+
"character": 38,
780+
},
781+
},
782+
},
783+
},
784+
{
785+
"specifier": "./b.d.ts",
786+
"type": {
787+
"specifier": "file:///a/b.d.ts",
788+
"span": {
789+
"start": {
790+
"line": 2,
791+
"character": 29,
792+
},
793+
"end": {
794+
"line": 2,
795+
"character": 39,
796+
},
797+
},
798+
},
799+
},
800+
],
801+
"kind": "esm",
802+
"mediaType": MediaType.TypeScript,
803+
"size": 92,
804+
"specifier": "file:///a/foo.ts",
805+
});
806+
},
807+
});

0 commit comments

Comments
 (0)