the tswhy logo: a question mark in a box

tswhy‽

A community effort to enrich TypeScript diagnostics.

Editing TS1063:

All diagnostics and fixes are authored in markdown. Propose any changes by editing the markdown. Additional fixes can be added. A preview of the rendered diagnostic will update when changes are made.

Once all proposed changes are made, the Propose button will submit the information and confirm raising the PR.

TS1063

An export assignment cannot be used in a namespace.

Namespaces are defined in TypeScript with an object which may have properties. Using export = indicates the object should be replaced with that value, which doesn't make sense.

namespace NS {
  export = function () {};
}

Fix: Remove the namespace.

Remove the namespace and directly create the export:

function NS() {}

Fix: Export a property.

Export it as a property of the namespace:

namespace NS {
  export function fn() {}
}