Skip to content

Tried to get a URL of a router target which did not receive a URL #3052

@ShadSterling

Description

@ShadSterling

Search terms

Looks related to #2982 and #3007

Expected Behavior

Expected upgrading from typedoc@0.23.25 to typedoc@0.28.15 to continue producing documentation

Actual Behavior

After upgrading, typedoc@0.28.15 fails with [error] Tried to get a URL of a router target lib/Helpers.Helpers.catchIfCatchable.catchIfCatchable.__type.__type which did not receive a URL

Steps to reproduce the bug

Seems to have something to do with Promise types

export class TypeDocBugPromise<T> implements Promise<T> {
	public readonly [Symbol.toStringTag] = "Promise";
	public then():    any {}
	public catch():   any {}
	public finally(): any {}
}

export class TypeDocBugClass {
	public static catchIfCatchable( p: any ): typeof Promise.prototype.catch | undefined {
		throw "Minimizing for bug reproduction";
	}
}

I didn't try to minimize the tsconfig in place, here's just the typedocOptions:

	"typedocOptions": {
		"entryPointStrategy": "expand",
		"entryPoints": ["src"],
		"out": "doc",
		"includeVersion": true,
		"validation": {
			"notDocumented": true,
		},
	},

... and the whole thing collapsable

Details
{
	"compileOnSave": true,
	"compilerOptions": {
		"lib": ["es2022"],
		"target": "es2022",
		"module": "commonjs",
		"outDir": "./build/",

		"allowJs": false,
		"allowSyntheticDefaultImports": false,
		"allowUnreachableCode": false,
		"allowUnusedLabels": false,
		"alwaysStrict": true,
		"declaration": true,
		"diagnostics": false,
		"disableSizeLimit": false,
		"forceConsistentCasingInFileNames": true,
		"importHelpers": false,
		"inlineSourceMap": true,
		"inlineSources": false,
		"isolatedModules": false,
		"jsx": "react",
		"listEmittedFiles": false,
		"listFiles": false,
		"moduleResolution": "node",
		"newLine": "lf",
		"noErrorTruncation": true,
		"noFallthroughCasesInSwitch": false,
		"noImplicitAny": true,
		"noImplicitReturns": true,
		"noImplicitThis": true,
		"noImplicitUseStrict": false,
		"noLib": false,
		"noStrictGenericChecks": false,
		"noUnusedLocals": false, // TODO: Enable when TS allows per-line lint disabling
		"noUnusedParameters": false, // TODO: Enable when TS allows per-line lint disabling
		"preserveConstEnums": true,
		"preserveSymlinks": false,
		"pretty": true,
		"removeComments": false,
		"skipLibCheck": false,
		"sourceMap": false,
		"strict": true,
		"strictFunctionTypes": true,
		"strictNullChecks": true,
		"strictPropertyInitialization": true,
		"suppressExcessPropertyErrors": false,
		"suppressImplicitAnyIndexErrors": false,
		"useUnknownInCatchVariables": true,
	},
	"include": [
		"src/**/*"
	],
	"typedocOptions": {
		"entryPointStrategy": "expand",
		"entryPoints": ["src"],
		"out": "doc",
		"includeVersion": true,
		"validation": {
			"notDocumented": true,
		},
	},
}

Environment

  • TypeDoc version: 0.28.15
  • TypeScript version: 5.9.3
  • Node.js version: 24.11.0
  • OS: macOS 15.7.2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions