@repobuddy/rolldown-inline-type-exports
v1.0.0
Published
Rolldown plugin that inlines trailing type exports in DTS files to fix TS2742
Maintainers
Readme
@repobuddy/rolldown-inline-type-exports
Rolldown plugin that rewrites trailing type exports in .d.ts / .d.mts / .d.cts files back to inline export type form.
Problem
rolldown/tsdown#958: tsdown may emit:
type TersifyOptions = ...
type Tersible<T = unknown> = ...
export { Tersible, TersifyOptions }Downstream consumers can hit TS2742 ("The inferred type of 'foo' cannot be named without a reference to '.../types.mjs'") when re-exporting inferred return types. Inline exports avoid this:
export type TersifyOptions = ...
export type Tersible<T = unknown> = ...Usage
import { defineConfig } from 'tsdown'
import { inlineTypeExports } from '@repobuddy/rolldown-inline-type-exports'
export default defineConfig({
dts: true,
plugins: [inlineTypeExports()],
})Upstream
This plugin is a workaround until rolldown-plugin-dts#202 is fixed. It may be deprecated once upstream emits inline exports by default.
License
MIT
