Skip to content

Upgrading tsdown 0.10 to 0.11

Breaking0.10.2 → 0.11.13Breaking3Platform1New15Changed9Fixed16Other1

BreakingUpgrade verdict

3 breaking changes and a platform requirement change.

  • The type declaration build now supports the eager and parallel options, and no longer uses a virtual file system when running the TypeScript compiler for declarations.
  • You may now need to install `unplugin-lightningcss` yourself instead of getting it automatically.
  • Declaration file generation uses a newer plugin and a rewritten resolver, which may change how types are resolved.
  • You need Node.js version 20.11.0 or newer to use this package; Node 18 no longer works.
4 items need code or config changes

Adds semver ^7.7.2.

Drops consola, lightningcss, unplugin-lightningcss.

Installs 58 packages in all (was 102).

Breaking3
Upgrades the dts plugin to support the eager and parallel options and drops vfs for dts tsc.
eagerparallel
Makes unplugin-lightningcss a peer dependency.
unplugin-lightningcss
Upgrades the dts plugin and reworks the dts resolver.
Platform1
Requires Node.js >= v20.11.0 and drops support for Node 18.

Generated by DepDelta from published .d.ts files. Not mixed with prose notes.

  • added: function defineConfig$1(options: UserConfig | UserConfigFn): UserConfig | UserConfigFn
  • removed: function defineConfig$1(options: UserConfig): UserConfig
  • removed: function defineConfig$1(options: UserConfigFn): UserConfigFn
  • changed: const logger: ConsolaInstance → const logger: Logger
  • added: export { UserConfigFn }
  • removed: function ReportPlugin$1(options: ReportOptions, cwd: string, cjsDts?: boolean): Plugin
  • removed: interface BuildContext
  • removed: interface Options
  • removed: interface TsdownHooks
  • removed: property BuildContext.hooks: Hookable<TsdownHooks>
  • removed: property BuildContext.options: ResolvedOptions
  • removed: property BuildContext.pkg?: PackageJson
  • removed: property Options.alias?: Record<string, string>
  • removed: property Options.clean?: boolean | string[]
  • removed: property Options.config?: boolean | string
  • removed: property Options.define?: Record<string, string>
  • removed: property Options.dts?: boolean | Options$1
  • removed: property Options.entry?: InputOption
  • removed: property Options.env?: Record<string, any>
  • removed: property Options.external?: ExternalOption
  • removed: property Options.fixedExtension?: boolean
  • removed: property Options.format?: Format | Format[]
  • removed: property Options.fromVite?: boolean | 'vitest'
  • removed: property Options.globalName?: string
  • removed: property Options.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>)
  • removed: property Options.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat) => Awaitable<InputOptions | void | null>)
  • removed: property Options.minify?: boolean | 'dce-only' | MinifyOptions
  • removed: property Options.noExternal?: Arrayable<string | RegExp> | ((id: string, importer: string | undefined) => boolean | null | undefined | void)
  • removed: property Options.onSuccess?: string | ((config: ResolvedOptions) => void | Promise<void>)
  • removed: property Options.outDir?: string
  • removed: property Options.outExtensions?: OutExtensionFactory
  • removed: property Options.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat) => Awaitable<OutputOptions | void | null>)
  • removed: property Options.platform?: 'node' | 'neutral' | 'browser'
  • removed: property Options.plugins?: InputOptions['plugins']
  • removed: property Options.publint?: boolean | Options
  • removed: property Options.report?: boolean | ReportOptions
  • removed: property Options.shims?: boolean
  • removed: property Options.silent?: boolean
  • removed: property Options.skipNodeModulesBundle?: boolean
  • removed: property Options.sourcemap?: Sourcemap
  • removed: property Options.target?: string | string[]
  • removed: property Options.treeshake?: boolean
  • removed: property Options.tsconfig?: string | boolean
  • removed: property Options.unused?: boolean | Options$2
  • removed: property Options.watch?: boolean | string | string[]
  • removed: property TsdownHooks.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void>
  • removed: property TsdownHooks.'build:done': (ctx: BuildContext) => void | Promise<void>
  • removed: property TsdownHooks.'build:prepare': (ctx: BuildContext) => void | Promise<void>
  • removed: type ResolvedOptions = Omit<Overwrite<MarkPartial<Options$3, 'globalName' | 'inputOptions' | 'outputOptions' | 'minify' | 'define' | 'alias' | 'external' | 'noExternal' | 'onSuccess'…
  • removed: type UserConfig = Arrayable<Omit<Options$3, 'config'>>
  • removed: type UserConfigFn = (cliOptions: Options$3) => Awaitable<UserConfig>
  • changed: function ShebangPlugin(cwd: string): Plugin → function ShebangPlugin(cwd: string, name?: string, isMultiFormat?: boolean): Plugin
  • added: function NodeProtocolPlugin(): Plugin
  • added: function ReportPlugin$1(options: ReportOptions, cwd: string, cjsDts?: boolean, name?: string, isMultiFormat?: boolean): Plugin
  • added: interface BuildContext
  • added: interface Options
  • added: interface TsdownHooks
  • added: property BuildContext.hooks: Hookable<TsdownHooks>
  • added: property BuildContext.options: ResolvedOptions
  • added: property BuildContext.pkg?: PackageJson
  • added: property Options.alias?: Record<string, string>
  • added: property Options.clean?: boolean | string[]
  • added: property Options.config?: boolean | string
  • added: property Options.copy?: CopyOptions | CopyOptionsFn
  • added: property Options.cwd?: string
  • added: property Options.define?: Record<string, string>
  • added: property Options.dts?: boolean | Options$1
  • added: property Options.entry?: InputOption
  • added: property Options.env?: Record<string, any>
  • added: property Options.external?: ExternalOption
  • added: property Options.filter?: RegExp | string | string[]
  • added: property Options.fixedExtension?: boolean
  • added: property Options.format?: Format | Format[]
  • added: property Options.fromVite?: boolean | 'vitest'
  • added: property Options.globalName?: string
  • added: property Options.hash?: boolean
  • added: property Options.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>)
  • added: property Options.ignoreWatch?: string | string[]
  • added: property Options.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat) => Awaitable<InputOptions | void | null>)
  • added: property Options.loader?: ModuleTypes
  • added: property Options.minify?: boolean | 'dce-only' | MinifyOptions
  • added: property Options.name?: string
  • added: property Options.noExternal?: Arrayable<string | RegExp> | ((id: string, importer: string | undefined) => boolean | null | undefined | void)
  • added: property Options.onSuccess?: string | ((config: ResolvedOptions) => void | Promise<void>)
  • added: property Options.outDir?: string
  • added: property Options.outExtensions?: OutExtensionFactory
  • added: property Options.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat) => Awaitable<OutputOptions | void | null>)
  • added: property Options.platform?: 'node' | 'neutral' | 'browser'
  • added: property Options.plugins?: InputOptions['plugins']
  • added: property Options.publicDir?: CopyOptions | CopyOptionsFn
  • added: property Options.publint?: boolean | Options
  • added: property Options.removeNodeProtocol?: boolean
  • added: property Options.report?: boolean | ReportOptions
  • added: property Options.shims?: boolean
  • added: property Options.silent?: boolean
  • added: property Options.skipNodeModulesBundle?: boolean
  • added: property Options.sourcemap?: Sourcemap
  • added: property Options.target?: string | string[] | false
  • added: property Options.treeshake?: boolean
  • added: property Options.tsconfig?: string | boolean
  • added: property Options.unused?: boolean | Options$2
  • added: property Options.watch?: boolean | string | string[]
  • added: property Options.workspace?: Workspace | Arrayable<string> | true
  • added: property TsdownHooks.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void>
  • added: property TsdownHooks.'build:done': (ctx: BuildContext) => void | Promise<void>
  • added: property TsdownHooks.'build:prepare': (ctx: BuildContext) => void | Promise<void>
  • added: type ResolvedOptions = Omit<Overwrite<MarkPartial<Omit<Options$3, 'publicDir' | 'workspace' | 'filter'>, 'globalName' | 'inputOptions' | 'outputOptions' | 'minify' | 'define' | 'alia…
  • added: type UserConfig = Arrayable<Omit<Options$3, 'config' | 'filter'>>
  • added: type UserConfigFn = (cliOptions: Options$3) => Awaitable<UserConfig>