Skip to content

Commit

Permalink
fix: ensure array types
Browse files Browse the repository at this point in the history
  • Loading branch information
dnalborczyk committed Nov 6, 2021
1 parent 66b3139 commit ad1daa0
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 7 deletions.
6 changes: 2 additions & 4 deletions src/utils/ensureArray.ts
@@ -1,8 +1,6 @@
export function ensureArray<T>(
items: (T | false | null | undefined)[] | T | false | null | undefined
): T[] {
export function ensureArray<T>(items: T | T[]): T[] {
if (Array.isArray(items)) {
return items.filter(Boolean) as T[];
return items.filter(Boolean);
}
if (items) {
return [items];
Expand Down
2 changes: 1 addition & 1 deletion src/utils/options/mergeOptions.ts
Expand Up @@ -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 = (
Expand Down
6 changes: 4 additions & 2 deletions src/utils/options/normalizeInputOptions.ts
Expand Up @@ -4,6 +4,7 @@ import {
InputOptions,
ModuleSideEffectsOption,
NormalizedInputOptions,
Plugin,
PreserveEntrySignaturesOption,
PureModulesOption,
RollupBuild,
Expand Down Expand Up @@ -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,
Expand Down Expand Up @@ -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;
Expand Down

0 comments on commit ad1daa0

Please sign in to comment.