diff --git a/lib/webpack.js b/lib/webpack.js index 8e621aabcac..82f0c754c1f 100644 --- a/lib/webpack.js +++ b/lib/webpack.js @@ -36,7 +36,7 @@ const getValidateSchema = memoize(() => require("./validateSchema")); */ /** - * @param {WebpackOptions[]} childOptions options array + * @param {ReadonlyArray} childOptions options array * @param {MultiCompilerOptions} options options * @returns {MultiCompiler} a multi-compiler */ @@ -92,14 +92,14 @@ const createCompiler = rawOptions => { /** * @callback WebpackFunctionMulti - * @param {WebpackOptions[] & MultiCompilerOptions} options options objects + * @param {ReadonlyArray & MultiCompilerOptions} options options objects * @param {Callback=} callback callback * @returns {MultiCompiler} the multi compiler object */ const webpack = /** @type {WebpackFunctionSingle & WebpackFunctionMulti} */ ( /** - * @param {WebpackOptions | (WebpackOptions[] & MultiCompilerOptions)} options options + * @param {WebpackOptions | (ReadonlyArray & MultiCompilerOptions)} options options * @param {Callback & Callback=} callback callback * @returns {Compiler | MultiCompiler} */ @@ -115,14 +115,18 @@ const webpack = /** @type {WebpackFunctionSingle & WebpackFunctionMulti} */ ( let watchOptions; if (Array.isArray(options)) { /** @type {MultiCompiler} */ - compiler = createMultiCompiler(options, options); + compiler = createMultiCompiler( + options, + /** @type {MultiCompilerOptions} */ (options) + ); watch = options.some(options => options.watch); watchOptions = options.map(options => options.watchOptions || {}); } else { + const webpackOptions = /** @type {WebpackOptions} */ (options); /** @type {Compiler} */ - compiler = createCompiler(options); - watch = options.watch; - watchOptions = options.watchOptions || {}; + compiler = createCompiler(webpackOptions); + watch = webpackOptions.watch; + watchOptions = webpackOptions.watchOptions || {}; } return { compiler, watch, watchOptions }; }; diff --git a/types.d.ts b/types.d.ts index 98f700cdb7a..90a6ca18564 100644 --- a/types.d.ts +++ b/types.d.ts @@ -11925,14 +11925,14 @@ declare function exports( callback?: CallbackWebpack ): Compiler; declare function exports( - options: Configuration[] & MultiCompilerOptions, + options: ReadonlyArray & MultiCompilerOptions, callback?: CallbackWebpack ): MultiCompiler; declare namespace exports { export const webpack: { (options: Configuration, callback?: CallbackWebpack): Compiler; ( - options: Configuration[] & MultiCompilerOptions, + options: ReadonlyArray & MultiCompilerOptions, callback?: CallbackWebpack ): MultiCompiler; };