Upgrading tsdown 0.15 to 0.16
Breaking0.15.12 → 0.16.8Breaking3Deprecated1New10Changed3Fixed3
BreakingUpgrade verdict
3 breaking changes.
In plain terms
- Rename config exports - (7de20).
- Defaults fixedExtension to true when platform is node - (e1168).
- Rename --debug CLI flag to --debug-logs - (e4ef6).
- Deprecate attw.profile = 'esmOnly', use esm-only instead.
Must act 4 items need code or config changes
Adds obug ^2.1.1, unconfig-core ^7.4.1, unrun ^0.2.13.
Drops debug, unconfig.
Installs 77 packages in all (was 60).
What you must change
Breaking3
Rename config exports - (7de20).
OptionsUserConfigInlineConfigNormalizedUserConfigResolvedOptionsResolvedConfigDefaults fixedExtension to true when platform is node - (e1168).
fixedExtensionnode.js.mjs.cjsplatformRename --debug CLI flag to --debug-logs - (e4ef6).
--debug--debug-logsDeprecations to plan for
Deprecated1
Deprecate attw.profile = 'esmOnly', use esm-only instead.
esm-onlyAPI changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- added:
export { UserConfigExport }
- added:
function t(options: UserConfigExport): UserConfigExport - added:
function t(options: UserConfig[]): UserConfig[]
- removed:
export { NormalizedUserConfig } - removed:
export { Options } - removed:
export { ResolvedOptions } - changed:
function build(userOptions?: Options): Promise<void> → function build(userOptions?: InlineConfig): Promise<void> - changed:
function buildSingle(config: ResolvedOptions, clean: () => Promise<void>): Promise<(() => Promise<void>) | undefined> → function buildSingle(config: ResolvedConfig, clean: () => Promise<void>): Promise<(() => Promise<void>) | undefined> - added:
export { CIOption } - added:
export { DebugOptions } - added:
export { InlineConfig } - added:
export { ResolvedConfig } - added:
export { UserConfigExport } - added:
export { WithEnabled }
- added:
const b: Logger - added:
export { DtsOptions as n } - added:
export { PublintOptions as s } - added:
export { TreeshakingOptions as u } - added:
export { UnusedOptions as d } - added:
function v(userOptions: ReportOptions, logger: Logger, cwd: string, cjsDts?: boolean, name?: string, isMultiFormat?: boolean): Plugin - added:
interface A - added:
interface C - added:
interface E - added:
interface L extends CheckPackageOptions - added:
interface N extends NonNullable<InputOptions['debug']> - added:
interface O - added:
interface P - added:
interface _ - added:
interface f - added:
interface g - added:
interface i extends UserConfig - added:
interface j - added:
interface k - added:
interface w - added:
interface y - added:
property A.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void> - added:
property A.'build:done': (ctx: BuildContext) => void | Promise<void> - added:
property A.'build:prepare': (ctx: BuildContext) => void | Promise<void> - added:
property C.css?: string - added:
property C.dts?: string - added:
property C.js?: string - added:
property E.dts?: string - added:
property E.js?: string - added:
property L.level?: 'error' | 'warn' - added:
property L.profile?: 'strict' | 'node16' | 'esm-only' - added:
property N.clean?: boolean - added:
property N.devtools?: boolean | Partial<StartOptions> - added:
property O.hooks: Hookable<TsdownHooks> - added:
property O.options: ResolvedConfig - added:
property P.from: string - added:
property P.to: string - added:
property _.brotli?: boolean - added:
property _.gzip?: boolean - added:
property _.maxCompressSize?: number - added:
property f.alias?: Record<string, string> - added:
property f.attw?: WithEnabled<AttwOptions> - added:
property f.banner?: ChunkAddon - added:
property f.bundle?: boolean - added:
property f.cjsDefault?: boolean - added:
property f.clean?: boolean | string[] - added:
property f.copy?: CopyOptions | CopyOptionsFn - added:
property f.customLogger?: Logger - added:
property f.cwd?: string - added:
property f.debug?: WithEnabled<DebugOptions> - added:
property f.define?: Record<string, string> - added:
property f.dts?: WithEnabled<DtsOptions> - added:
property f.entry?: InputOption - added:
property f.env?: Record<string, any> - added:
property f.exports?: WithEnabled<ExportsOptions> - added:
property f.external?: ExternalOption - added:
property f.failOnWarn?: boolean | CIOption - added:
property f.fixedExtension?: boolean - added:
property f.footer?: ChunkAddon - added:
property f.format?: Format | Format[] - added:
property f.fromVite?: boolean | 'vitest' - added:
property f.globImport?: boolean - added:
property f.globalName?: string - added:
property f.hash?: boolean - added:
property f.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>) - added:
property f.ignoreWatch?: Arrayable<string | RegExp> - added:
property f.inlineOnly?: Arrayable<string | RegExp> - added:
property f.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>) - added:
property f.loader?: ModuleTypes - added:
property f.logLevel?: LogLevel - added:
property f.minify?: boolean | 'dce-only' | MinifyOptions - added:
property f.name?: string - added:
property f.noExternal?: Arrayable<string | RegExp> | NoExternalFn - added:
property f.nodeProtocol?: 'strip' | boolean - added:
property f.onSuccess?: string | ((config: ResolvedConfig, signal: AbortSignal) => void | Promise<void>) - added:
property f.outDir?: string - added:
property f.outExtensions?: OutExtensionFactory - added:
property f.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>) - added:
property f.platform?: 'node' | 'neutral' | 'browser' - added:
property f.plugins?: InputOptions['plugins'] - added:
property f.publicDir?: CopyOptions | CopyOptionsFn - added:
property f.publint?: WithEnabled<PublintOptions> - added:
property f.removeNodeProtocol?: boolean - added:
property f.report?: WithEnabled<ReportOptions> - added:
property f.shims?: boolean - added:
property f.silent?: boolean - added:
property f.skipNodeModulesBundle?: boolean - added:
property f.sourcemap?: Sourcemap - added:
property f.target?: string | string[] | false - added:
property f.treeshake?: boolean | TreeshakingOptions - added:
property f.tsconfig?: string | boolean - added:
property f.unbundle?: boolean - added:
property f.unused?: WithEnabled<UnusedOptions> - added:
property f.watch?: boolean | Arrayable<string> - added:
property f.workspace?: Workspace | Arrayable<string> | true - added:
property g.config?: boolean | string - added:
property g.exclude?: Arrayable<string> - added:
property g.include?: Arrayable<string> | 'auto' - added:
property i.config?: boolean | string - added:
property i.configLoader?: 'auto' | 'native' | 'unconfig' | 'unrun' - added:
property i.filter?: RegExp | string | string[] - added:
property j.all?: boolean - added:
property j.customExports?: (exports: Record<string, any>, context: { pkg: PackageJson; chunks: TsdownChunks; outDir: string; isPublish: boolean }) => Awaitable<Record<string, any>> - added:
property j.devExports?: boolean | string - added:
property k.buildOptions: BuildOptions - added:
property w.format: NormalizedFormat - added:
property w.options: InputOptions - added:
property w.pkgType?: PackageType - added:
property y.error: (...args: any[]) => void - added:
property y.info: (...args: any[]) => void - added:
property y.level: LogLevel - added:
property y.success: (...args: any[]) => void - added:
property y.warn: (...args: any[]) => void - added:
property y.warnOnce: (...args: any[]) => void - added:
type D = 'module' | 'commonjs' | undefined - added:
type F = Arrayable<string | CopyEntry> - added:
type I = (options: ResolvedConfig) => Awaitable<CopyOptions> - added:
type M = Partial<Record<NormalizedFormat, Array<OutputChunk | OutputAsset>>> - added:
type S = (ctx: { format: Format; fileName: string }) => ChunkAddonObject | string | undefined - added:
type T = (context: OutExtensionContext) => OutExtensionObject | undefined - added:
type a = (id: string, importer: string | undefined) => boolean | null | undefined | void - added:
type c = Overwrite<MarkPartial<Omit<UserConfig, 'workspace' | 'fromVite' | 'publicDir' | 'silent' | 'bundle' | 'removeNodeProtocol' | 'logLevel' | 'failOnWarn' | 'custo… - added:
type h<T> = boolean | undefined | CIOption | (T & { enabled?: boolean | CIOption }) - added:
type l = boolean | 'inline' | 'hidden' - added:
type m = (inlineConfig: InlineConfig, context: { ci: boolean }) => Awaitable<Arrayable<UserConfig>> - added:
type o = InternalModuleFormat - added:
type p = Awaitable<Arrayable<UserConfig> | UserConfigFn> - added:
type r = ModuleFormat - added:
type t = 'ci-only' | 'local-only' - added:
type x = ChunkAddonObject | ChunkAddonFunction | string
- changed:
function ExternalPlugin({ pkg, noExternal, inlineOnly, skipNodeModulesBundle }: ResolvedOptions): Plugin → function ExternalPlugin({ pkg, noExternal, inlineOnly, skipNodeModulesBundle }: ResolvedConfig): Plugin
- removed:
const v: Logger - removed:
export { DtsOptions as t } - removed:
export { PublintOptions as s } - removed:
export { TreeshakingOptions as u } - removed:
export { UnusedOptions as d } - removed:
function g(userOptions: ReportOptions, logger: Logger, cwd: string, cjsDts?: boolean, name?: string, isMultiFormat?: boolean): Plugin - removed:
interface D - removed:
interface E - removed:
interface O - removed:
interface P extends CheckPackageOptions - removed:
interface S - removed:
interface _ - removed:
interface h - removed:
interface j - removed:
interface k - removed:
interface m - removed:
interface o - removed:
interface w - removed:
interface x - removed:
property D.buildOptions: BuildOptions - removed:
property E.hooks: Hookable<TsdownHooks> - removed:
property E.options: ResolvedOptions - removed:
property O.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void> - removed:
property O.'build:done': (ctx: BuildContext) => void | Promise<void> - removed:
property O.'build:prepare': (ctx: BuildContext) => void | Promise<void> - removed:
property P.level?: 'error' | 'warn' - removed:
property P.profile?: 'strict' | 'node16' | 'esmOnly' - removed:
property S.format: NormalizedFormat - removed:
property S.options: InputOptions - removed:
property S.pkgType?: PackageType - removed:
property _.error: (...args: any[]) => void - removed:
property _.info: (...args: any[]) => void - removed:
property _.level: LogLevel - removed:
property _.success: (...args: any[]) => void - removed:
property _.warn: (...args: any[]) => void - removed:
property _.warnOnce: (...args: any[]) => void - removed:
property h.brotli?: boolean - removed:
property h.gzip?: boolean - removed:
property h.maxCompressSize?: number - removed:
property j.from: string - removed:
property j.to: string - removed:
property k.all?: boolean - removed:
property k.customExports?: (exports: Record<string, any>, context: { pkg: PackageJson; chunks: TsdownChunks; outDir: string; isPublish: boolean }) => Awaitable<Record<string, any>> - removed:
property k.devExports?: boolean | string - removed:
property m.config?: boolean | string - removed:
property m.exclude?: Arrayable<string> - removed:
property m.include?: Arrayable<string> | 'auto' - removed:
property o.alias?: Record<string, string> - removed:
property o.attw?: boolean | AttwOptions - removed:
property o.banner?: ChunkAddon - removed:
property o.bundle?: boolean - removed:
property o.cjsDefault?: boolean - removed:
property o.clean?: boolean | string[] - removed:
property o.config?: boolean | string - removed:
property o.configLoader?: 'auto' | 'native' | 'unconfig' | 'unrun' - removed:
property o.copy?: CopyOptions | CopyOptionsFn - removed:
property o.customLogger?: Logger - removed:
property o.cwd?: string - removed:
property o.define?: Record<string, string> - removed:
property o.dts?: boolean | DtsOptions - removed:
property o.entry?: InputOption - removed:
property o.env?: Record<string, any> - removed:
property o.exports?: boolean | ExportsOptions - removed:
property o.external?: ExternalOption - removed:
property o.failOnWarn?: boolean - removed:
property o.filter?: RegExp | string | string[] - removed:
property o.fixedExtension?: boolean - removed:
property o.footer?: ChunkAddon - removed:
property o.format?: Format | Format[] - removed:
property o.fromVite?: boolean | 'vitest' - removed:
property o.globImport?: boolean - removed:
property o.globalName?: string - removed:
property o.hash?: boolean - removed:
property o.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>) - removed:
property o.ignoreWatch?: Arrayable<string | RegExp> - removed:
property o.inlineOnly?: Arrayable<string | RegExp> - removed:
property o.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>) - removed:
property o.loader?: ModuleTypes - removed:
property o.logLevel?: LogLevel - removed:
property o.minify?: boolean | 'dce-only' | MinifyOptions - removed:
property o.name?: string - removed:
property o.noExternal?: Arrayable<string | RegExp> | NoExternalFn - removed:
property o.nodeProtocol?: 'strip' | boolean - removed:
property o.onSuccess?: string | ((config: ResolvedOptions, signal: AbortSignal) => void | Promise<void>) - removed:
property o.outDir?: string - removed:
property o.outExtensions?: OutExtensionFactory - removed:
property o.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>) - removed:
property o.platform?: 'node' | 'neutral' | 'browser' - removed:
property o.plugins?: InputOptions['plugins'] - removed:
property o.publicDir?: CopyOptions | CopyOptionsFn - removed:
property o.publint?: boolean | PublintOptions - removed:
property o.removeNodeProtocol?: boolean - removed:
property o.report?: boolean | ReportOptions - removed:
property o.shims?: boolean - removed:
property o.silent?: boolean - removed:
property o.skipNodeModulesBundle?: boolean - removed:
property o.sourcemap?: Sourcemap - removed:
property o.target?: string | string[] | false - removed:
property o.treeshake?: boolean | TreeshakingOptions - removed:
property o.tsconfig?: string | boolean - removed:
property o.unbundle?: boolean - removed:
property o.unused?: boolean | UnusedOptions - removed:
property o.watch?: boolean | Arrayable<string> - removed:
property o.workspace?: Workspace | Arrayable<string> | true - removed:
property w.dts?: string - removed:
property w.js?: string - removed:
property x.css?: string - removed:
property x.dts?: string - removed:
property x.js?: string - removed:
type A = Partial<Record<NormalizedFormat, Array<OutputChunk | OutputAsset>>> - removed:
type C = (context: OutExtensionContext) => OutExtensionObject | undefined - removed:
type M = Arrayable<string | CopyEntry> - removed:
type N = (options: ResolvedOptions) => Awaitable<CopyOptions> - removed:
type T = 'module' | 'commonjs' | undefined - removed:
type a = Exclude<UserConfig, any[]> - removed:
type b = (ctx: { format: Format; fileName: string }) => ChunkAddonObject | string | undefined - removed:
type c = Omit<Overwrite<MarkPartial<Omit<Options, 'publicDir' | 'workspace' | 'filter' | 'silent' | 'logLevel' | 'failOnWarn' | 'customLogger' | 'configLoader'>, 'globa… - removed:
type f = Arrayable<Omit<Options, 'config' | 'filter' | 'configLoader'>> - removed:
type i = InternalModuleFormat - removed:
type l = boolean | 'inline' | 'hidden' - removed:
type n = ModuleFormat - removed:
type p = (cliOptions: Options) => Awaitable<UserConfig> - removed:
type r = (id: string, importer: string | undefined) => boolean | null | undefined | void - removed:
type y = ChunkAddonObject | ChunkAddonFunction | string