From 5b9c2516a4cd39a584972c9886e489e9aa4bf450 Mon Sep 17 00:00:00 2001 From: Jeevankumar S Date: Wed, 11 Mar 2026 17:14:13 +0530 Subject: [PATCH] fix(package): exclude transform-spread from babel preset-env to preserve native spread behavior (#66363) --- .../workshop-shopping-list-app/67ff8eacd3d965670c9121f9.md | 2 +- packages/challenge-builder/src/transformers.js | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/curriculum/challenges/english/blocks/workshop-shopping-list-app/67ff8eacd3d965670c9121f9.md b/curriculum/challenges/english/blocks/workshop-shopping-list-app/67ff8eacd3d965670c9121f9.md index 6d1daca3f34..36135792d45 100644 --- a/curriculum/challenges/english/blocks/workshop-shopping-list-app/67ff8eacd3d965670c9121f9.md +++ b/curriculum/challenges/english/blocks/workshop-shopping-list-app/67ff8eacd3d965670c9121f9.md @@ -54,7 +54,7 @@ const exports = {}; const a = eval(script); const shoppingListString = exports.ShoppingList.toString(); -assert.match(shoppingListString, /var\s*toggleItem\s*=\s*useCallback\s*\(\s*function\s*\(\s*item\s*\)\s*{\s*(return)?\s+setSelectedItems\s*\(\s*function\s*\(prev\)\s*{\s*return\s+prev\.includes\(item\)\s*\?\s*prev\.filter\(function\s*\(i\)\s*\{\s*return\s+i\s!==\sitem;\s*\}\s*\)\s*:\s*\[\].concat\(_toConsumableArray\(prev\),\s+\[item\]\);\s*}\);?/); +assert.match(shoppingListString, /var\s*toggleItem\s*=\s*useCallback\s*\(\s*function\s*\(\s*item\s*\)\s*{\s*(return)?\s+setSelectedItems\s*\(\s*function\s*\(prev\)\s*{\s*return\s+prev\.includes\(item\)\s*\?\s*prev\.filter\(function\s*\(i\)\s*\{\s*return\s+i\s!==\sitem;\s*\}\s*\)\s*:\s*\[\.\.\.prev,\s*item\];\s*}\);?/); ``` You should add `setSelectedItems` as the only dependency in the dependencies array. diff --git a/packages/challenge-builder/src/transformers.js b/packages/challenge-builder/src/transformers.js index 034bff8db90..23b3c33b383 100644 --- a/packages/challenge-builder/src/transformers.js +++ b/packages/challenge-builder/src/transformers.js @@ -69,7 +69,7 @@ async function loadPresetEnv() { ); presetsJS = { - presets: [presetEnv] + presets: [[presetEnv, { exclude: ['transform-spread'] }]] }; } @@ -84,7 +84,7 @@ async function loadPresetReact() { ); presetsJSX = { - presets: [presetEnv, presetReact] + presets: [[presetEnv, { exclude: ['transform-spread'] }], presetReact] }; }