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 [email protected] to [email protected] to continue producing documentation

Actual Behavior

After upgrading, [email protected] 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

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions