Skip to content

Upgrading tsdown 0.14 to 0.15

Breaking0.14.2 → 0.15.12Breaking1New11Changed2Fixed17

BreakingUpgrade verdict

1 breaking change.

  • Upgrade dts plugin, rework tsc build mode  -  (f7860).
1 item needs code or config changes

Installs 60 packages in all (was 56).

Breaking1
Upgrade dts plugin, rework tsc build mode  -  (f7860).

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

  • added: call ImportGlobFunction<M>(glob: string | string[], options: ImportGlobOptions<true>): Record<string, M>
  • added: call ImportGlobFunction<M>(glob: string | string[], options?: ImportGlobOptions<false>): Record<string, () => Promise<M>>
  • added: interface ImportGlobFunction
  • added: interface ImportGlobOptions<Eager extends boolean>
  • added: interface ImportMeta
  • added: interface KnownAsTypeMap
  • added: property ImportGlobOptions.base?: string
  • added: property ImportGlobOptions.eager?: Eager
  • added: property ImportGlobOptions.exhaustive?: boolean
  • added: property ImportGlobOptions.import?: string
  • added: property ImportGlobOptions.query?: string | Record<string, string | number | boolean>
  • added: property ImportMeta.glob: ImportGlobFunction
  • added: property KnownAsTypeMap.raw: string
  • added: property KnownAsTypeMap.url: string
  • added: type GeneralImportGlobOptions = ImportGlobOptions<boolean>
  • removed: function defineConfig(options: UserConfig): UserConfig
  • removed: function defineConfig(options: UserConfigFn): UserConfigFn
  • added: function t(options: UserConfig): UserConfig
  • added: function t(options: UserConfigFn): UserConfigFn
  • removed: export { ModuleTypes }
  • added: export { NoExternalFn }
  • added: export { TreeshakingOptions }
  • changed: function ExternalPlugin(options: ResolvedOptions): Plugin → function ExternalPlugin({ pkg, noExternal, inlineOnly, skipNodeModulesBundle }: ResolvedOptions): Plugin
  • removed: const globalLogger: Logger
  • removed: export { DtsOptions }
  • removed: export { PublintOptions }
  • removed: export { UnusedOptions }
  • removed: function ReportPlugin(options: ReportOptions, logger: Logger, cwd: string, cjsDts?: boolean, name?: string, isMultiFormat?: boolean): Plugin
  • removed: interface AttwOptions extends CheckPackageOptions
  • removed: interface BuildContext
  • removed: interface ChunkAddonObject
  • removed: interface CopyEntry
  • removed: interface ExportsOptions
  • removed: interface Logger
  • removed: interface Options
  • removed: interface OutExtensionContext
  • removed: interface OutExtensionObject
  • removed: interface ReportOptions
  • removed: interface RolldownContext
  • removed: interface TsdownHooks
  • removed: interface Workspace
  • removed: property AttwOptions.level?: 'error' | 'warn'
  • removed: property AttwOptions.profile?: 'strict' | 'node16' | 'esmOnly'
  • removed: property BuildContext.hooks: Hookable<TsdownHooks>
  • removed: property BuildContext.options: ResolvedOptions
  • removed: property ChunkAddonObject.css?: string
  • removed: property ChunkAddonObject.dts?: string
  • removed: property ChunkAddonObject.js?: string
  • removed: property CopyEntry.from: string
  • removed: property CopyEntry.to: string
  • removed: property ExportsOptions.all?: boolean
  • removed: property ExportsOptions.customExports?: (exports: Record<string, any>, context: { pkg: PackageJson; chunks: TsdownChunks; outDir: string; isPublish: boolean }) => Awaitable<Record<string, any>>
  • removed: property ExportsOptions.devExports?: boolean | string
  • removed: property Logger.error: (...args: any[]) => void
  • removed: property Logger.info: (...args: any[]) => void
  • removed: property Logger.level: LogLevel
  • removed: property Logger.success: (...args: any[]) => void
  • removed: property Logger.warn: (...args: any[]) => void
  • removed: property Logger.warnOnce: (...args: any[]) => void
  • removed: property Options.alias?: Record<string, string>
  • removed: property Options.attw?: boolean | AttwOptions
  • removed: property Options.banner?: ChunkAddon
  • removed: property Options.bundle?: boolean
  • removed: property Options.cjsDefault?: boolean
  • removed: property Options.clean?: boolean | string[]
  • removed: property Options.config?: boolean | string
  • removed: property Options.copy?: CopyOptions | CopyOptionsFn
  • removed: property Options.customLogger?: Logger
  • removed: property Options.cwd?: string
  • removed: property Options.define?: Record<string, string>
  • removed: property Options.dts?: boolean | DtsOptions
  • removed: property Options.entry?: InputOption
  • removed: property Options.env?: Record<string, any>
  • removed: property Options.exports?: boolean | ExportsOptions
  • removed: property Options.external?: ExternalOption
  • removed: property Options.failOnWarn?: boolean
  • removed: property Options.filter?: RegExp | string | string[]
  • removed: property Options.fixedExtension?: boolean
  • removed: property Options.footer?: ChunkAddon
  • removed: property Options.format?: Format | Format[]
  • removed: property Options.fromVite?: boolean | 'vitest'
  • removed: property Options.globalName?: string
  • removed: property Options.hash?: boolean
  • removed: property Options.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>)
  • removed: property Options.ignoreWatch?: Arrayable<string | RegExp>
  • removed: property Options.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>)
  • removed: property Options.loader?: ModuleTypes
  • removed: property Options.logLevel?: LogLevel
  • removed: property Options.minify?: boolean | 'dce-only' | MinifyOptions
  • removed: property Options.name?: string
  • removed: property Options.noExternal?: Arrayable<string | RegExp> | ((id: string, importer: string | undefined) => boolean | null | undefined | void)
  • removed: property Options.nodeProtocol?: 'strip' | boolean
  • removed: property Options.onSuccess?: string | ((config: ResolvedOptions, signal: AbortSignal) => void | Promise<void>)
  • removed: property Options.outDir?: string
  • removed: property Options.outExtensions?: OutExtensionFactory
  • removed: property Options.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>)
  • removed: property Options.platform?: 'node' | 'neutral' | 'browser'
  • removed: property Options.plugins?: InputOptions['plugins']
  • removed: property Options.publicDir?: CopyOptions | CopyOptionsFn
  • removed: property Options.publint?: boolean | PublintOptions
  • removed: property Options.removeNodeProtocol?: boolean
  • 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[] | false
  • removed: property Options.treeshake?: boolean
  • removed: property Options.tsconfig?: string | boolean
  • removed: property Options.unbundle?: boolean
  • removed: property Options.unused?: boolean | UnusedOptions
  • removed: property Options.watch?: boolean | Arrayable<string>
  • removed: property Options.workspace?: Workspace | Arrayable<string> | true
  • removed: property OutExtensionContext.format: NormalizedFormat
  • removed: property OutExtensionContext.options: InputOptions
  • removed: property OutExtensionContext.pkgType?: PackageType
  • removed: property OutExtensionObject.dts?: string
  • removed: property OutExtensionObject.js?: string
  • removed: property ReportOptions.brotli?: boolean
  • removed: property ReportOptions.maxCompressSize?: number
  • removed: property RolldownContext.buildOptions: BuildOptions
  • 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: property Workspace.config?: boolean | string
  • removed: property Workspace.exclude?: Arrayable<string>
  • removed: property Workspace.include?: Arrayable<string> | 'auto'
  • removed: type ChunkAddon = ChunkAddonObject | ChunkAddonFunction
  • removed: type ChunkAddonFunction = (ctx: { format: Format }) => ChunkAddonObject | undefined
  • removed: type CopyOptions = Arrayable<string | CopyEntry>
  • removed: type CopyOptionsFn = (options: ResolvedOptions) => Awaitable<CopyOptions>
  • removed: type Format = ModuleFormat
  • removed: type ModuleTypes = Record<string, 'js' | 'jsx' | 'ts' | 'tsx' | 'json' | 'text' | 'base64' | 'dataurl' | 'binary' | 'empty' | 'css' | 'asset'>
  • removed: type NormalizedFormat = InternalModuleFormat
  • removed: type NormalizedUserConfig = Exclude<UserConfig, any[]>
  • removed: type OutExtensionFactory = (context: OutExtensionContext) => OutExtensionObject | undefined
  • removed: type PackageType = 'module' | 'commonjs' | undefined
  • removed: type ResolvedOptions = Omit<Overwrite<MarkPartial<Omit<Options, 'publicDir' | 'workspace' | 'filter' | 'silent' | 'logLevel' | 'failOnWarn' | 'customLogger'>, 'globalName' | 'inputOp…
  • removed: type Sourcemap = boolean | 'inline' | 'hidden'
  • removed: type TsdownChunks = Partial<Record<NormalizedFormat, Array<OutputChunk | OutputAsset>>>
  • removed: type UserConfig = Arrayable<Omit<Options, 'config' | 'filter'>>
  • removed: type UserConfigFn = (cliOptions: Options) => Awaitable<UserConfig>
  • added: const v: Logger
  • added: export { DtsOptions as t }
  • added: export { PublintOptions as s }
  • added: export { TreeshakingOptions as u }
  • added: export { UnusedOptions as d }
  • added: function g(userOptions: ReportOptions, logger: Logger, cwd: string, cjsDts?: boolean, name?: string, isMultiFormat?: boolean): Plugin
  • added: interface D
  • added: interface E
  • added: interface O
  • added: interface P extends CheckPackageOptions
  • added: interface S
  • added: interface _
  • added: interface h
  • added: interface j
  • added: interface k
  • added: interface m
  • added: interface o
  • added: interface w
  • added: interface x
  • added: property D.buildOptions: BuildOptions
  • added: property E.hooks: Hookable<TsdownHooks>
  • added: property E.options: ResolvedOptions
  • added: property O.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void>
  • added: property O.'build:done': (ctx: BuildContext) => void | Promise<void>
  • added: property O.'build:prepare': (ctx: BuildContext) => void | Promise<void>
  • added: property P.level?: 'error' | 'warn'
  • added: property P.profile?: 'strict' | 'node16' | 'esmOnly'
  • added: property S.format: NormalizedFormat
  • added: property S.options: InputOptions
  • added: property S.pkgType?: PackageType
  • added: property _.error: (...args: any[]) => void
  • added: property _.info: (...args: any[]) => void
  • added: property _.level: LogLevel
  • added: property _.success: (...args: any[]) => void
  • added: property _.warn: (...args: any[]) => void
  • added: property _.warnOnce: (...args: any[]) => void
  • added: property h.brotli?: boolean
  • added: property h.gzip?: boolean
  • added: property h.maxCompressSize?: number
  • added: property j.from: string
  • added: property j.to: string
  • added: property k.all?: boolean
  • added: property k.customExports?: (exports: Record<string, any>, context: { pkg: PackageJson; chunks: TsdownChunks; outDir: string; isPublish: boolean }) => Awaitable<Record<string, any>>
  • added: property k.devExports?: boolean | string
  • added: property m.config?: boolean | string
  • added: property m.exclude?: Arrayable<string>
  • added: property m.include?: Arrayable<string> | 'auto'
  • added: property o.alias?: Record<string, string>
  • added: property o.attw?: boolean | AttwOptions
  • added: property o.banner?: ChunkAddon
  • added: property o.bundle?: boolean
  • added: property o.cjsDefault?: boolean
  • added: property o.clean?: boolean | string[]
  • added: property o.config?: boolean | string
  • added: property o.configLoader?: 'auto' | 'native' | 'unconfig' | 'unrun'
  • added: property o.copy?: CopyOptions | CopyOptionsFn
  • added: property o.customLogger?: Logger
  • added: property o.cwd?: string
  • added: property o.define?: Record<string, string>
  • added: property o.dts?: boolean | DtsOptions
  • added: property o.entry?: InputOption
  • added: property o.env?: Record<string, any>
  • added: property o.exports?: boolean | ExportsOptions
  • added: property o.external?: ExternalOption
  • added: property o.failOnWarn?: boolean
  • added: property o.filter?: RegExp | string | string[]
  • added: property o.fixedExtension?: boolean
  • added: property o.footer?: ChunkAddon
  • added: property o.format?: Format | Format[]
  • added: property o.fromVite?: boolean | 'vitest'
  • added: property o.globImport?: boolean
  • added: property o.globalName?: string
  • added: property o.hash?: boolean
  • added: property o.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>)
  • added: property o.ignoreWatch?: Arrayable<string | RegExp>
  • added: property o.inlineOnly?: Arrayable<string | RegExp>
  • added: property o.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>)
  • added: property o.loader?: ModuleTypes
  • added: property o.logLevel?: LogLevel
  • added: property o.minify?: boolean | 'dce-only' | MinifyOptions
  • added: property o.name?: string
  • added: property o.noExternal?: Arrayable<string | RegExp> | NoExternalFn
  • added: property o.nodeProtocol?: 'strip' | boolean
  • added: property o.onSuccess?: string | ((config: ResolvedOptions, signal: AbortSignal) => void | Promise<void>)
  • added: property o.outDir?: string
  • added: property o.outExtensions?: OutExtensionFactory
  • added: property o.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>)
  • added: property o.platform?: 'node' | 'neutral' | 'browser'
  • added: property o.plugins?: InputOptions['plugins']
  • added: property o.publicDir?: CopyOptions | CopyOptionsFn
  • added: property o.publint?: boolean | PublintOptions
  • added: property o.removeNodeProtocol?: boolean
  • added: property o.report?: boolean | ReportOptions
  • added: property o.shims?: boolean
  • added: property o.silent?: boolean
  • added: property o.skipNodeModulesBundle?: boolean
  • added: property o.sourcemap?: Sourcemap
  • added: property o.target?: string | string[] | false
  • added: property o.treeshake?: boolean | TreeshakingOptions
  • added: property o.tsconfig?: string | boolean
  • added: property o.unbundle?: boolean
  • added: property o.unused?: boolean | UnusedOptions
  • added: property o.watch?: boolean | Arrayable<string>
  • added: property o.workspace?: Workspace | Arrayable<string> | true
  • added: property w.dts?: string
  • added: property w.js?: string
  • added: property x.css?: string
  • added: property x.dts?: string
  • added: property x.js?: string
  • added: type A = Partial<Record<NormalizedFormat, Array<OutputChunk | OutputAsset>>>
  • added: type C = (context: OutExtensionContext) => OutExtensionObject | undefined
  • added: type M = Arrayable<string | CopyEntry>
  • added: type N = (options: ResolvedOptions) => Awaitable<CopyOptions>
  • added: type T = 'module' | 'commonjs' | undefined
  • added: type a = Exclude<UserConfig, any[]>
  • added: type b = (ctx: { format: Format; fileName: string }) => ChunkAddonObject | string | undefined
  • added: type c = Omit<Overwrite<MarkPartial<Omit<Options, 'publicDir' | 'workspace' | 'filter' | 'silent' | 'logLevel' | 'failOnWarn' | 'customLogger' | 'configLoader'>, 'globa…
  • added: type f = Arrayable<Omit<Options, 'config' | 'filter' | 'configLoader'>>
  • added: type i = InternalModuleFormat
  • added: type l = boolean | 'inline' | 'hidden'
  • added: type n = ModuleFormat
  • added: type p = (cliOptions: Options) => Awaitable<UserConfig>
  • added: type r = (id: string, importer: string | undefined) => boolean | null | undefined | void
  • added: type y = ChunkAddonObject | ChunkAddonFunction | string