diff --git a/src/utils/ensureArray.ts b/src/utils/ensureArray.ts index 080d73ae226..0f88c70b20a 100644 --- a/src/utils/ensureArray.ts +++ b/src/utils/ensureArray.ts @@ -1,8 +1,6 @@ -export function ensureArray( - items: (T | false | null | undefined)[] | T | false | null | undefined -): T[] { +export function ensureArray(items: T | T[]): T[] { if (Array.isArray(items)) { - return items.filter(Boolean) as T[]; + return items.filter(Boolean); } if (items) { return [items]; diff --git a/src/utils/options/mergeOptions.ts b/src/utils/options/mergeOptions.ts index 9b92961d4b4..bc73f3df399 100644 --- a/src/utils/options/mergeOptions.ts +++ b/src/utils/options/mergeOptions.ts @@ -156,7 +156,7 @@ const getExternal = ( return typeof configExternal === 'function' ? (source: string, importer: string | undefined, isResolved: boolean) => configExternal(source, importer, isResolved) || overrides.external.indexOf(source) !== -1 - : ensureArray(configExternal).concat(overrides.external); + : (ensureArray(configExternal).concat(overrides.external) as ExternalOption); }; const getOnWarn = ( diff --git a/src/utils/options/normalizeInputOptions.ts b/src/utils/options/normalizeInputOptions.ts index de12b6dd33e..a086d680705 100644 --- a/src/utils/options/normalizeInputOptions.ts +++ b/src/utils/options/normalizeInputOptions.ts @@ -4,6 +4,7 @@ import { InputOptions, ModuleSideEffectsOption, NormalizedInputOptions, + Plugin, PreserveEntrySignaturesOption, PureModulesOption, RollupBuild, @@ -53,7 +54,7 @@ export function normalizeInputOptions(config: InputOptions): { moduleContext: getModuleContext(config, context), onwarn, perf: config.perf || false, - plugins: ensureArray(config.plugins), + plugins: ensureArray(config.plugins) as Plugin[], preserveEntrySignatures: getPreserveEntrySignatures(config, unsetOptions), preserveModules: getPreserveModules(config, onwarn, strictDeprecations), preserveSymlinks: config.preserveSymlinks || false, @@ -101,7 +102,8 @@ const getAcorn = (config: InputOptions): acorn.Options => ({ const getAcornInjectPlugins = ( config: InputOptions -): NormalizedInputOptions['acornInjectPlugins'] => ensureArray(config.acornInjectPlugins); +): NormalizedInputOptions['acornInjectPlugins'] => + ensureArray(config.acornInjectPlugins) as (() => unknown)[]; const getCache = (config: InputOptions): NormalizedInputOptions['cache'] => (config.cache as unknown as RollupBuild)?.cache || config.cache;