diff --git a/packages/babel-core/src/config/option-manager.js b/packages/babel-core/src/config/option-manager.js index 9fd98346f4..d2232ef98d 100644 --- a/packages/babel-core/src/config/option-manager.js +++ b/packages/babel-core/src/config/option-manager.js @@ -214,7 +214,7 @@ class OptionManager { type BasicDescriptor = { value: {} | Function, - options: ?{}, + options: {} | void, dirname: string, alias: string, loc: string, @@ -222,7 +222,7 @@ type BasicDescriptor = { type LoadedDescriptor = { value: {}, - options: ?{}, + options: {} | void, dirname: string, alias: string, loc: string, @@ -520,7 +520,7 @@ function normalizePair( ): { filepath: string | null, value: {} | Function, - options: ?{}, + options: {} | void, } { let options; let value = pair; @@ -562,6 +562,7 @@ function normalizePair( "Plugin/Preset options must be an object, null, or undefined", ); } + options = options || undefined; return { filepath, value, options }; } diff --git a/packages/babel-core/src/config/plugin.js b/packages/babel-core/src/config/plugin.js index fbf0e1b13e..324e482226 100644 --- a/packages/babel-core/src/config/plugin.js +++ b/packages/babel-core/src/config/plugin.js @@ -9,7 +9,7 @@ export default class Plugin { options: {} | void; - constructor(plugin: {}, options: ?{}, key?: string) { + constructor(plugin: {}, options: {} | void, key?: string) { if (plugin.name != null && typeof plugin.name !== "string") { throw new Error("Plugin .name must be a string, null, or undefined"); } @@ -37,6 +37,6 @@ export default class Plugin { this.post = plugin.post; this.pre = plugin.pre; this.visitor = plugin.visitor; - this.options = options || undefined; + this.options = options; } }