Skip to content

JsDoc @type {modue:X} + null default value = syntactically invalid .d.ts emit #36690

Closed
@AjiTae

Description

@AjiTae

TypeScript Version: 3.8.0-dev.20200207

Search Terms:
JsDoc module null alias empty type declaration

Code
Minimal js file:

/**
 * @module A
 */
class A {}


/**
 * Target element
 * @type {module:A}
 */
export let el = null;

export default A;

Minimal tsconfig:

{
  "compilerOptions": {
    "emitDeclarationOnly": true,
    "allowJs": true,
    "declaration": true,
    "outFile": "./x.d.ts"
  }
}

Expected behavior:

declare module "b" {
    /**
     * Target element
     * @type {module:A}
     */
    export let el: A; // or any
    export default A;
    /**
     * @module A
     */
    class A {
    }
}

Actual behavior:

declare module "b" {
    /**
     * Target element
     * @type {module:A}
     */
    export let el: ;
    export default A;
    /**
     * @module A
     */
    class A {
    }
}

Playground Link: Provided

Related Issues:

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScript

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions