diff --git a/lib/config/defaults.js b/lib/config/defaults.js index d45303d81e5..451626f6884 100644 --- a/lib/config/defaults.js +++ b/lib/config/defaults.js @@ -95,7 +95,7 @@ const A = (obj, prop, factory) => { const item = value[i]; if (item === "...") { if (newArray === undefined) { - newArray = i > 0 ? value.slice(0, i - 1) : []; + newArray = value.slice(0, i); obj[prop] = /** @type {T[P]} */ (/** @type {unknown} */ (newArray)); } const items = /** @type {any[]} */ (/** @type {unknown} */ (factory())); diff --git a/test/Defaults.unittest.js b/test/Defaults.unittest.js index 166dedd11b0..ba1c3f6b033 100644 --- a/test/Defaults.unittest.js +++ b/test/Defaults.unittest.js @@ -1703,4 +1703,24 @@ describe("Defaults", () => { process.chdir(cwd); } ); + + test( + "array defaults", + { + output: { + enabledChunkLoadingTypes: ["require", "..."], + enabledWasmLoadingTypes: ["...", "async-node"] + } + }, + e => + e.toMatchInlineSnapshot(` + - Expected + + Received + + @@ ... @@ + + "require", + @@ ... @@ + + "async-node", + `) + ); });