TypeScript/tests/cases/conformance/jsdoc/typedefCrossModule3.ts
Nathan Shively-Sanders 7cda045d52
Always export typedefs (#23723)
* Always export typedefs

This actually just required deleting a check in declareModuleMembers
and checking for external AND commonjs modules in a couple of places.

However, while experimenting with this feature, I discovered that even
previously-exported typedefs would only be exported if they came after a
commonjs export node. So I added a commonjs check to the pass in the
parser. It will not catch nested module.exports, but it will catch
top-level assignments.

The new test tests both changes.

* Post-bind typedef instead of pre-checking for commonjs

* Duplicate identifier errors

* Fix class type reference resolution+update baselines

* Move to a type-based check for duplicate identifiers
2018-04-30 14:55:26 -07:00

11 lines
160 B
TypeScript

// @noEmit: true
// @allowJs: true
// @checkJs: true
// @Filename: mod2.js
/** @typedef {number} Foo */
const ns = {};
ns.Foo = class {}
module.exports = ns;