Search terms
link reference goes to incorrect class / interface
Expected Behavior
Within markdown for a class, I expect that {@link methodName} will generate a link to that method within that class, not a link to a sub-class.
Actual Behavior
Within markdown for a class, {@link methodName} generates a link to a sub-class, not to the current class.
Steps to reproduce the bug
I've created a pull request a0aa658 with a minimal set of files that show the bug.
I didn't understand how to modify run.sh, so that won't work. I don't have yarn on my macOS system.
I installed typedoc with npm install typedoc and then I invoke typedoc with
./node_modules/typedoc/bin/typedoc
(I was also able to compile with typescript, the .js files wind up in a separate build directory)
I have 4 very simple classes (actually 3 would probably be sufficient). The hierarchy is
BugAbstractSubject < BugRigidBodySim < BugImpulseSim < BugContactSim
So BugAbstractSubject is the base class.
The problem is visible in the docs for Class BugRigidBodySim. In the description at the top of the class docs, you will see "Adds method getRigidBodySim". If you hover your pointer over the link you should see that it links to the descendent class BugContactSim. It should link to the method on the same page of BugRigidBodySim.
You will see similar problems in the third subclass BugImpulseSim.
This doesn't happen in the base class. On the docs page for BugAbstractSubject, this problem isn't happening. In the text "Has method getAbstractSubject" the link is to the same page, as expected.
Caveat:
I discovered that changing the entryPoints in typedoc.json makes this bug disappear.
The bug occurs when typedoc.json contains
"entryPoints": ["./src"],
The bug does NOT occur with
"entryPoints": ["./src/BugAbstractSubject.ts",
"./src/BugRigidBodySim.ts",
"./src/BugImpulseSim.ts",
"./src/BugContactSim.ts"
],
I tried to read the docs about entryPoints and entryPointStrategy but I wasn't able to understand why this would affect the linking behavior.
Environment
TypeDoc 0.25.4
Using TypeScript 5.3.3 from ./node_modules/typescript/lib
macOS Ventura 13.6.1
node --version
v18.16.1
Search terms
link reference goes to incorrect class / interface
Expected Behavior
Within markdown for a class, I expect that
{@link methodName}will generate a link to that method within that class, not a link to a sub-class.Actual Behavior
Within markdown for a class,
{@link methodName}generates a link to a sub-class, not to the current class.Steps to reproduce the bug
I've created a pull request a0aa658 with a minimal set of files that show the bug.
I didn't understand how to modify
run.sh, so that won't work. I don't haveyarnon my macOS system.I installed
typedocwithnpm install typedocand then I invoke typedoc with(I was also able to compile with typescript, the
.jsfiles wind up in a separatebuilddirectory)I have 4 very simple classes (actually 3 would probably be sufficient). The hierarchy is
So
BugAbstractSubjectis the base class.The problem is visible in the docs for Class
BugRigidBodySim. In the description at the top of the class docs, you will see "Adds method getRigidBodySim". If you hover your pointer over the link you should see that it links to the descendent classBugContactSim. It should link to the method on the same page ofBugRigidBodySim.You will see similar problems in the third subclass
BugImpulseSim.This doesn't happen in the base class. On the docs page for
BugAbstractSubject, this problem isn't happening. In the text "Has method getAbstractSubject" the link is to the same page, as expected.Caveat:
I discovered that changing the
entryPointsintypedoc.jsonmakes this bug disappear.The bug occurs when
typedoc.jsoncontainsThe bug does NOT occur with
I tried to read the docs about
entryPointsandentryPointStrategybut I wasn't able to understand why this would affect the linking behavior.Environment
TypeDoc 0.25.4
Using TypeScript 5.3.3 from ./node_modules/typescript/lib
macOS Ventura 13.6.1
node --version
v18.16.1