Upgrading tsdown 0.20 to 0.21
Breaking0.20.3 → 0.21.10Breaking3Platform3New34Changed7Fixed31Other12
BreakingUpgrade verdict
3 breaking changes and 3 platform requirement changes.
In plain terms
- exe: Add exe.outDir for separate executable output dir, defaults to build - (d49ef).
- Change failOnWarn default from 'ci-only' to false - (ad8db).
- css: Move all CSS support to @tsdown/css package - (1b1a1).
- Upgrade Node.js: Ensure you're running Node.js >= 22.18.0 to avoid deprecation warnings.
Must act Top 5 of 6 that need code or config changes
Installs 64 packages in all (was 80).
What you must change
Breaking3
exe: Add exe.outDir for separate executable output dir, defaults to build - (d49ef).
exe.outDirbuildChange failOnWarn default from 'ci-only' to false - (ad8db).
failOnWarncss: Move all CSS support to @tsdown/css package - (1b1a1).
@tsdown/cssPlatform3
Upgrade Node.js: Ensure you're running Node.js >= 22.18.0 to avoid deprecation warnings.
exe: Require Node >=25.7 and default format to esm - (0173c).
Deprecate Node.js versions below 22.18.0 - (439f1).
API changes
Generated by DepDelta from published .d.ts files. Not mixed with prose notes.
- added:
declare module '*?inline'
- added:
const src: string - added:
default src
- removed:
function defineConfig(options: UserConfig): UserConfig - removed:
function defineConfig(options: UserConfigExport): UserConfigExport - removed:
function defineConfig(options: UserConfigFn): UserConfigFn - removed:
function defineConfig(options: UserConfig[]): UserConfig[] - added:
export { defineConfig }
- added:
function n(defaults: InlineConfig, ...overrides: InlineConfig[]): InlineConfig - added:
function n(defaults: UserConfig, ...overrides: UserConfig[]): UserConfig - added:
function r(userConfig: UserConfig, inlineConfig: InlineConfig, configDeps: Set<string>): Promise<ResolvedConfig[]> - added:
function t(options: UserConfig): UserConfig - added:
function t(options: UserConfigExport): UserConfigExport - added:
function t(options: UserConfigFn): UserConfigFn - added:
function t(options: UserConfig[]): UserConfig[]
- removed:
export { CssOptions } - changed:
function buildWithConfigs(configs: ResolvedConfig[], configFiles: string[], _restart: () => void): Promise<TsdownBundle[]> → function buildWithConfigs(configs: ResolvedConfig[], configDeps: Set<string>, _restart: () => void): Promise<TsdownBundle[]> - added:
export { DepsConfig } - added:
export { ExeOptions } - added:
export { ResolvedDepsConfig } - added:
export { SeaConfig } - added:
export { TsdownPlugin } - added:
export { TsdownPluginOption }
- added:
const i: Logger - added:
index t[key: string]: any - added:
interface r - added:
interface t - added:
property r.clearScreen: (type: LogType) => void - added:
property r.error: (...args: any[]) => void - added:
property r.info: (...args: any[]) => void - added:
property r.level: LogLevel - added:
property r.options?: LoggerOptions - added:
property r.success: (...args: any[]) => void - added:
property r.warn: (...args: any[]) => void - added:
property r.warnOnce: (...args: any[]) => void - added:
property t.author?: PackageJsonPerson - added:
property t.bin?: string | Record<string, string> - added:
property t.browser?: string | Record<string, string | false> - added:
property t.bugs?: string | { url?: string; email?: string } - added:
property t.contributors?: PackageJsonPerson[] - added:
property t.cpu?: string[] - added:
property t.dependencies?: Record<string, string> - added:
property t.description?: string - added:
property t.devDependencies?: Record<string, string> - added:
property t.exports?: PackageJsonExports - added:
property t.files?: string[] - added:
property t.funding?: PackageJsonFunding | PackageJsonFunding[] - added:
property t.homepage?: string - added:
property t.imports?: Record<string, string | Record<string, string>> - added:
property t.keywords?: string[] - added:
property t.license?: string - added:
property t.main?: string - added:
property t.man?: string | string[] - added:
property t.module?: string - added:
property t.name?: string - added:
property t.optionalDependencies?: Record<string, string> - added:
property t.os?: string[] - added:
property t.packageManager?: string - added:
property t.peerDependencies?: Record<string, string> - added:
property t.private?: boolean - added:
property t.publishConfig?: { registry?: string; tag?: string; access?: 'public' | 'restricted'; executableFiles?: string[]; directory?: string; linkDirectory?: boolean } & Pick<PackageJson, 'bin' | 'main' | 'exports' | 'types' | 'typings' | 'module' | 'browser' | 'unpkg' | 'typesVersions' | 'os' | 'cpu'> - added:
property t.repository?: string | { type: string; url: string; directory?: string } - added:
property t.scripts?: PackageJsonScripts - added:
property t.type?: 'module' | 'commonjs' - added:
property t.types?: string - added:
property t.typesVersions?: Record<string, Record<string, string[]>> - added:
property t.typings?: string - added:
property t.unpkg?: string - added:
property t.version?: string - added:
property t.workspaces?: string[] | { packages?: string[]; nohoist?: string[] } - added:
type a<T> = T | T[] - added:
type c<T, U> = Omit<T, keyof U> & U - added:
type n = LogType | 'silent' - added:
type o<T> = T | Promise<T> - added:
type s<T, K extends keyof T> = Omit<Required<T>, K> & Partial<Pick<T, K>>
- added:
export { Logger } - added:
export { MarkPartial } - added:
export { Overwrite } - added:
function expandBaselineTarget(targets: string[]): string[] - added:
function fsExists(path: string): Promise<boolean> - added:
function fsRemove(path: string): Promise<void> - added:
function importWithError<T>(moduleName: string): Promise<T> - added:
function resolveComma<T extends string>(arr: T[]): T[] - added:
function toArray<T>(val: T | T[] | null | undefined, defaultValue?: T): T[]
- removed:
function n(userConfig: UserConfig, inlineConfig: InlineConfig): Promise<ResolvedConfig[]> - removed:
function t(defaults: InlineConfig, overrides: InlineConfig): InlineConfig - removed:
function t(defaults: UserConfig, overrides: UserConfig): UserConfig
- removed:
function DepPlugin({ pkg, noExternal, inlineOnly, skipNodeModulesBundle, logger, nameLabel }: ResolvedConfig): Plugin - changed:
function WatchPlugin(configFiles: string[], { config, chunks }: TsdownBundle): Plugin → function WatchPlugin(configDeps: Set<string>, { config, chunks }: TsdownBundle): Plugin - added:
export { DepsPlugin }
- removed:
const b: Logger - removed:
export { DtsOptions as n } - removed:
export { TreeshakingOptions as l } - removed:
export { UnusedOptions as d } - removed:
function v(userOptions: ReportOptions, logger: Logger, cwd: string, cjsDts?: boolean, nameLabel?: string, isDualFormat?: boolean): Plugin - removed:
interface F - removed:
interface I - removed:
interface L extends NonNullable<InputOptions['devtools']> - removed:
interface M extends PackageJson - removed:
interface O - removed:
interface P - removed:
interface R - removed:
interface S - removed:
interface T extends CheckPackageOptions - removed:
interface _ - removed:
interface f - removed:
interface g - removed:
interface i extends UserConfig - removed:
interface j - removed:
interface k - removed:
interface w extends AsyncDisposable - removed:
interface x extends Omit<Options, 'pack' | 'pkgDir'> - removed:
interface y - removed:
interface z - removed:
property F.buildOptions: BuildOptions - removed:
property I.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void> - removed:
property I.'build:done': (ctx: BuildContext & { chunks: RolldownChunk[] }) => void | Promise<void> - removed:
property I.'build:prepare': (ctx: BuildContext) => void | Promise<void> - removed:
property L.clean?: boolean - removed:
property L.ui?: boolean | Partial<StartOptions> - removed:
property M.packageJsonPath: string - removed:
property O.css?: string - removed:
property O.dts?: string - removed:
property O.js?: string - removed:
property P.hooks: Hookable<TsdownHooks> - removed:
property P.options: ResolvedConfig - removed:
property R.fileName?: string - removed:
property R.splitting?: boolean - removed:
property S.all?: boolean - removed:
property S.customExports?: (exports: Record<string, any>, context: { pkg: PackageJson; chunks: ChunksByFormat; isPublish: boolean }) => Awaitable<Record<string, any>> - removed:
property S.devExports?: boolean | string - removed:
property S.exclude?: (RegExp | string)[] - removed:
property S.legacy?: boolean - removed:
property S.packageJson?: boolean - removed:
property T.ignoreRules?: string[] - removed:
property T.level?: 'error' | 'warn' - removed:
property T.profile?: 'strict' | 'node16' | 'esm-only' - removed:
property _.brotli?: boolean - removed:
property _.gzip?: boolean - removed:
property _.maxCompressSize?: number - removed:
property f.alias?: Record<string, string> - removed:
property f.attw?: WithEnabled<AttwOptions> - removed:
property f.banner?: ChunkAddon - removed:
property f.bundle?: boolean - removed:
property f.checks?: ChecksOptions & { legacyCjs?: boolean } - removed:
property f.cjsDefault?: boolean - removed:
property f.clean?: boolean | string[] - removed:
property f.copy?: CopyOptions | CopyOptionsFn - removed:
property f.css?: CssOptions - removed:
property f.customLogger?: Logger - removed:
property f.cwd?: string - removed:
property f.define?: Record<string, string> - removed:
property f.devtools?: WithEnabled<DevtoolsOptions> - removed:
property f.dts?: WithEnabled<DtsOptions> - removed:
property f.entry?: TsdownInputOption - removed:
property f.env?: Record<string, any> - removed:
property f.envFile?: string - removed:
property f.envPrefix?: string | string[] - removed:
property f.exports?: WithEnabled<ExportsOptions> - removed:
property f.external?: ExternalOption - removed:
property f.failOnWarn?: boolean | CIOption - removed:
property f.fixedExtension?: boolean - removed:
property f.footer?: ChunkAddon - removed:
property f.format?: Format | Format[] | Partial<Record<Format, Partial<ResolvedConfig>>> - removed:
property f.fromVite?: boolean | 'vitest' - removed:
property f.globImport?: boolean - removed:
property f.globalName?: string - removed:
property f.hash?: boolean - removed:
property f.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>) - removed:
property f.ignoreWatch?: Arrayable<string | RegExp> - removed:
property f.inlineOnly?: Arrayable<string | RegExp> | false - removed:
property f.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>) - removed:
property f.loader?: ModuleTypes - removed:
property f.logLevel?: LogLevel - removed:
property f.minify?: boolean | 'dce-only' | MinifyOptions - removed:
property f.name?: string - removed:
property f.noExternal?: Arrayable<string | RegExp> | NoExternalFn - removed:
property f.nodeProtocol?: 'strip' | boolean - removed:
property f.onSuccess?: string | ((config: ResolvedConfig, signal: AbortSignal) => void | Promise<void>) - removed:
property f.outDir?: string - removed:
property f.outExtensions?: OutExtensionFactory - removed:
property f.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>) - removed:
property f.platform?: 'node' | 'neutral' | 'browser' - removed:
property f.plugins?: InputOptions['plugins'] - removed:
property f.publicDir?: CopyOptions | CopyOptionsFn - removed:
property f.publint?: WithEnabled<PublintOptions> - removed:
property f.removeNodeProtocol?: boolean - removed:
property f.report?: WithEnabled<ReportOptions> - removed:
property f.shims?: boolean - removed:
property f.skipNodeModulesBundle?: boolean - removed:
property f.sourcemap?: Sourcemap - removed:
property f.target?: string | string[] | false - removed:
property f.treeshake?: boolean | TreeshakingOptions - removed:
property f.tsconfig?: string | boolean - removed:
property f.unbundle?: boolean - removed:
property f.unused?: WithEnabled<UnusedOptions> - removed:
property f.watch?: boolean | Arrayable<string> - removed:
property f.workspace?: Workspace | Arrayable<string> | true - removed:
property f.write?: boolean - removed:
property g.config?: boolean | string - removed:
property g.exclude?: Arrayable<string> - removed:
property g.include?: Arrayable<string> | 'auto' - removed:
property i.config?: boolean | string - removed:
property i.configLoader?: 'auto' | 'native' | 'unrun' - removed:
property i.filter?: RegExp | Arrayable<string> - removed:
property j.dts?: string - removed:
property j.js?: string - removed:
property k.format: NormalizedFormat - removed:
property k.options: InputOptions - removed:
property k.pkgType?: PackageType - removed:
property w.chunks: RolldownChunk[] - removed:
property w.config: ResolvedConfig - removed:
property y.clearScreen: (type: LogType) => void - removed:
property y.error: (...args: any[]) => void - removed:
property y.info: (...args: any[]) => void - removed:
property y.level: LogLevel - removed:
property y.success: (...args: any[]) => void - removed:
property y.warn: (...args: any[]) => void - removed:
property y.warnOnce: (...args: any[]) => void - removed:
property z.flatten?: boolean - removed:
property z.from: string | string[] - removed:
property z.rename?: string | ((name: string, extension: string, fullPath: string) => string) - removed:
property z.to?: string - removed:
property z.verbose?: boolean - removed:
type A = (context: OutExtensionContext) => OutExtensionObject | undefined - removed:
type B = Arrayable<string | CopyEntry> - removed:
type C = (OutputChunk | OutputAsset) & { outDir: string } - removed:
type D = (ctx: { format: Format; fileName: string }) => ChunkAddonObject | string | undefined - removed:
type E = ChunkAddonObject | ChunkAddonFunction | string - removed:
type H<T> = T | T[] - removed:
type N = 'module' | 'commonjs' | undefined - removed:
type V = (options: ResolvedConfig) => Awaitable<CopyOptions> - removed:
type a = (id: string, importer: string | undefined) => boolean | null | undefined | void - removed:
type c = boolean | 'inline' | 'hidden' - removed:
type h<T> = boolean | undefined | CIOption | (T & { enabled?: boolean | CIOption }) - removed:
type m = (inlineConfig: InlineConfig, context: { ci: boolean }) => Awaitable<Arrayable<UserConfig>> - removed:
type o = InternalModuleFormat - removed:
type p = Awaitable<Arrayable<UserConfig> | UserConfigFn> - removed:
type r = ModuleFormat - removed:
type s = Overwrite<MarkPartial<Omit<UserConfig, 'workspace' | 'fromVite' | 'publicDir' | 'bundle' | 'removeNodeProtocol' | 'logLevel' | 'failOnWarn' | 'customLogger' |… - removed:
type t = 'ci-only' | 'local-only' - removed:
type u = Arrayable<string | Record<string, Arrayable<string>>>
- added:
export { TreeshakingOptions as c } - added:
export { UnusedOptions as u } - added:
function R({ pkg, deps: { alwaysBundle, onlyBundle, skipNodeModulesBundle }, logger, nameLabel }: ResolvedConfig, tsdownBundle: TsdownBundle): Plugin - added:
function _(config: ResolvedConfig, cjsDts?: boolean, isDualFormat?: boolean): Plugin - added:
interface B - added:
interface E - added:
interface F - added:
interface H extends AsyncDisposable - added:
interface I extends NonNullable<InputOptions['devtools']> - added:
interface L - added:
interface M - added:
interface N - added:
interface O - added:
interface P extends ExeExtensionOptions - added:
interface S extends CheckPackageOptions - added:
interface T - added:
interface U - added:
interface b extends Omit<Options, 'pack' | 'pkgDir'> - added:
interface d - added:
interface g - added:
interface h - added:
interface i extends UserConfig - added:
interface j - added:
interface k extends PackageJson - added:
interface n extends Options$1 - added:
interface v<A = any> extends Plugin<A> - added:
interface x - added:
property B.alwaysBundle?: NoExternalFn - added:
property B.neverBundle?: ExternalOption - added:
property B.onlyBundle?: Array<string | RegExp> | false - added:
property B.skipNodeModulesBundle: boolean - added:
property E.format: NormalizedFormat - added:
property E.options: InputOptions - added:
property E.pkgType?: PackageType - added:
property F.assets?: Record<string, string> - added:
property F.disableExperimentalSEAWarning?: boolean - added:
property F.execArgv?: string[] - added:
property F.execArgvExtension?: 'none' | 'env' | 'cli' - added:
property F.executable?: string - added:
property F.main?: string - added:
property F.mainFormat?: 'commonjs' | 'module' - added:
property F.output?: string - added:
property F.useCodeCache?: boolean - added:
property F.useSnapshot?: boolean - added:
property H.chunks: RolldownChunk[] - added:
property H.config: ResolvedConfig - added:
property H.inlinedDeps: Map<string, Set<string>> - added:
property I.clean?: boolean - added:
property I.ui?: boolean | Partial<StartOptions> - added:
property L.alwaysBundle?: Arrayable<string | RegExp> | NoExternalFn - added:
property L.neverBundle?: ExternalOption - added:
property L.onlyAllowBundle?: Arrayable<string | RegExp> | false - added:
property L.onlyBundle?: Arrayable<string | RegExp> | false - added:
property L.skipNodeModulesBundle?: boolean - added:
property M.buildOptions: BuildOptions - added:
property N.'build:before': (ctx: BuildContext & RolldownContext) => void | Promise<void> - added:
property N.'build:done': (ctx: BuildContext & { chunks: RolldownChunk[] }) => void | Promise<void> - added:
property N.'build:prepare': (ctx: BuildContext) => void | Promise<void> - added:
property O.dts?: string - added:
property O.js?: string - added:
property P.fileName?: string | ((chunk: RolldownChunk) => string) - added:
property P.outDir?: string - added:
property P.seaConfig?: Omit<SeaConfig, 'main' | 'output' | 'mainFormat'> - added:
property S.ignoreRules?: ('no-resolution' | 'untyped-resolution' | 'false-cjs' | 'false-esm' | 'cjs-resolves-to-esm' | 'fallback-condition' | 'cjs-only-exports-default' | 'named-exports' | 'false-export-default' | 'missing-export-equals' | 'unexpected-module-syntax' | 'internal-resolution-error' | (string & {}))[] - added:
property S.level?: 'error' | 'warn' - added:
property S.module?: typeof _$_arethetypeswrong_core0 - added:
property S.profile?: 'strict' | 'node16' | 'esm-only' - added:
property T.css?: string - added:
property T.dts?: string - added:
property T.js?: string - added:
property U.flatten?: boolean - added:
property U.from: string | string[] - added:
property U.rename?: string | ((name: string, extension: string, fullPath: string) => string) - added:
property U.to?: string - added:
property U.verbose?: boolean - added:
property b.module?: [typeof _$publint, typeof _$publint_utils0] - added:
property d.alias?: Record<string, string> - added:
property d.attw?: WithEnabled<AttwOptions> - added:
property d.banner?: ChunkAddon - added:
property d.bundle?: boolean - added:
property d.checks?: ChecksOptions & { legacyCjs?: boolean } - added:
property d.cjsDefault?: boolean - added:
property d.clean?: boolean | string[] - added:
property d.copy?: CopyOptions | CopyOptionsFn - added:
property d.css?: _$_tsdown_css0.CssOptions - added:
property d.customLogger?: Logger - added:
property d.cwd?: string - added:
property d.define?: Record<string, string> - added:
property d.deps?: DepsConfig - added:
property d.devtools?: WithEnabled<DevtoolsOptions> - added:
property d.dts?: WithEnabled<DtsOptions> - added:
property d.entry?: TsdownInputOption - added:
property d.env?: Record<string, any> - added:
property d.envFile?: string - added:
property d.envPrefix?: string | string[] - added:
property d.exe?: WithEnabled<ExeOptions> - added:
property d.exports?: WithEnabled<ExportsOptions> - added:
property d.external?: ExternalOption - added:
property d.failOnWarn?: boolean | CIOption - added:
property d.fixedExtension?: boolean - added:
property d.footer?: ChunkAddon - added:
property d.format?: Format | Format[] | Partial<Record<Format, Partial<ResolvedConfig>>> - added:
property d.fromVite?: boolean | 'vitest' - added:
property d.globImport?: boolean - added:
property d.globalName?: string - added:
property d.hash?: boolean - added:
property d.hooks?: Partial<TsdownHooks> | ((hooks: Hookable<TsdownHooks>) => Awaitable<void>) - added:
property d.ignoreWatch?: Arrayable<string | RegExp> - added:
property d.injectStyle?: boolean - added:
property d.inlineOnly?: Arrayable<string | RegExp> | false - added:
property d.inputOptions?: InputOptions | ((options: InputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<InputOptions | void | null>) - added:
property d.loader?: ModuleTypes - added:
property d.logLevel?: LogLevel - added:
property d.minify?: boolean | 'dce-only' | MinifyOptions - added:
property d.name?: string - added:
property d.noExternal?: Arrayable<string | RegExp> | NoExternalFn - added:
property d.nodeProtocol?: 'strip' | boolean - added:
property d.onSuccess?: string | ((config: ResolvedConfig, signal: AbortSignal) => void | Promise<void>) - added:
property d.outDir?: string - added:
property d.outExtensions?: OutExtensionFactory - added:
property d.outputOptions?: OutputOptions | ((options: OutputOptions, format: NormalizedFormat, context: { cjsDts: boolean }) => Awaitable<OutputOptions | void | null>) - added:
property d.platform?: 'node' | 'neutral' | 'browser' - added:
property d.plugins?: TsdownPluginOption - added:
property d.publicDir?: CopyOptions | CopyOptionsFn - added:
property d.publint?: WithEnabled<PublintOptions> - added:
property d.removeNodeProtocol?: boolean - added:
property d.report?: WithEnabled<ReportOptions> - added:
property d.root?: string - added:
property d.shims?: boolean - added:
property d.skipNodeModulesBundle?: boolean - added:
property d.sourcemap?: Sourcemap - added:
property d.target?: string | string[] | false - added:
property d.treeshake?: boolean | TreeshakingOptions - added:
property d.tsconfig?: string | boolean - added:
property d.unbundle?: boolean - added:
property d.unused?: WithEnabled<UnusedOptions> - added:
property d.watch?: boolean | Arrayable<string> - added:
property d.workspace?: Workspace | Arrayable<string> | true - added:
property d.write?: boolean - added:
property g.brotli?: boolean - added:
property g.gzip?: boolean - added:
property g.maxCompressSize?: number - added:
property h.config?: boolean | string - added:
property h.exclude?: Arrayable<string> - added:
property h.include?: Arrayable<string> | 'auto' - added:
property i.config?: boolean | string - added:
property i.configLoader?: 'auto' | 'native' | 'unrun' - added:
property i.filter?: RegExp | Arrayable<string> - added:
property j.hooks: Hookable<TsdownHooks> - added:
property j.options: ResolvedConfig - added:
property k.packageJsonPath: string - added:
property n.cjsReexport?: boolean - added:
property v.tsdownConfig?: (config: UserConfig, inlineConfig: InlineConfig) => Awaitable<UserConfig | void | null> - added:
property v.tsdownConfigResolved?: (resolvedConfig: ResolvedConfig) => Awaitable<void> - added:
property x.all?: boolean - added:
property x.bin?: boolean | string | Record<string, string> - added:
property x.customExports?: Record<string, any> | ((exports: Record<string, any>, context: { pkg: PackageJson; chunks: ChunksByFormat; isPublish: boolean }) => Awaitable<Record<string, any>>) - added:
property x.devExports?: boolean | string - added:
property x.exclude?: (RegExp | string)[] - added:
property x.extensions?: boolean - added:
property x.inlinedDependencies?: boolean - added:
property x.legacy?: boolean - added:
property x.packageJson?: boolean - added:
type A = 'module' | 'commonjs' | undefined - added:
type C = ChunkAddonObject | ChunkAddonFunction | string - added:
type D = (context: OutExtensionContext) => OutExtensionObject | undefined - added:
type G = (options: ResolvedConfig) => Awaitable<CopyOptions> - added:
type V = (OutputChunk | OutputAsset) & { outDir: string } - added:
type W = Arrayable<string | CopyEntry> - added:
type a = InternalModuleFormat - added:
type f = Awaitable<Arrayable<UserConfig> | UserConfigFn> - added:
type l = Arrayable<string | Record<string, Arrayable<string>>> - added:
type m<T> = boolean | undefined | CIOption | (T & { enabled?: boolean | CIOption }) - added:
type o = Overwrite<MarkPartial<Omit<UserConfig, 'workspace' | 'fromVite' | 'publicDir' | 'bundle' | 'injectStyle' | 'removeNodeProtocol' | 'external' | 'noExternal' | '… - added:
type p = (inlineConfig: InlineConfig, context: { ci: boolean; rootConfig?: UserConfig }) => Awaitable<Arrayable<UserConfig>> - added:
type r = ModuleFormat - added:
type s = boolean | 'inline' | 'hidden' - added:
type t = 'ci-only' | 'local-only' - added:
type w = (ctx: { format: Format; fileName: string }) => ChunkAddonObject | string | undefined - added:
type y<A = any> = Awaitable<TsdownPlugin<A> | RolldownPlugin<A> | { name: string } | undefined | null | void | false | TsdownPluginOption<A>[]> - added:
type z = (id: string, importer: string | undefined) => boolean | null | undefined | void