Upgrading tsdown 0.14 to 0.15
Breaking0.14.2 → 0.15.12Breaking1New11Changed2Fixed17
BreakingUpgrade verdict
1 breaking change.
In plain terms
- Upgrade dts plugin, rework tsc build mode - (f7860).
Must act 1 item needs code or config changes
Installs 60 packages in all (was 56).
What you must change
Breaking1
Upgrade dts plugin, rework tsc build mode - (f7860).
API changes
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