[x] I can reproduce this issue when running this plugin on its own.
Other plugins, such as node-resolve are known to cause issues.
[x] I am running this plugin on .d.ts files generated by TypeScript.
The plugin can consume .ts and even .js files (with allowJs: true), but this is known to cause issues.
[x] This issue is not related to rolling up @types.
The plugin ignores these by default, unless respectExternal is set. @types can contain hand-crafted code which is known to cause issues.
Code Snipped
// index.d.ts
declare namespace a {
var fn: typeof import("./other-file.d.ts").fn;
}
export { a };
// other-file.d.ts
export declare function fn(): void;
The .ts files are
// index.ts
import { fn } from "./other-file";
export function a() {}
a.fn = fn;
// other-file.ts
export function fn() {}
Output
declare function fn(): void;
declare function a(): void;
declare namespace a {
var fn: typeof fn;
}
export { a };
You can see that var fn circularly references itself, rather than referencing the fn function.
Checklist
node-resolve
are known to cause issues..d.ts
files generated by TypeScript. The plugin can consume.ts
and even.js
files (withallowJs: true
), but this is known to cause issues.@types
. The plugin ignores these by default, unlessrespectExternal
is set.@types
can contain hand-crafted code which is known to cause issues.Code Snipped
The
.ts
files areOutput
You can see that
var fn
circularly references itself, rather than referencing thefn
function.