diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index f9dae17ab..51f5046fb 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -633,6 +633,19 @@ importers:
specifier: ^1.2.0
version: 1.2.0(@rsbuild/core@1.1.0)
+ tests/integration/polyfill:
+ dependencies:
+ core-js-pure:
+ specifier: ^3.39.0
+ version: 3.39.0
+ devDependencies:
+ '@rsbuild/plugin-babel':
+ specifier: ^1.0.3
+ version: 1.0.3(@rsbuild/core@1.1.0)
+ babel-plugin-polyfill-corejs3:
+ specifier: ^0.11.0
+ version: 0.11.0(@babel/core@7.26.0)
+
tests/integration/require/import-dynamic: {}
tests/integration/require/require-as-expression: {}
@@ -807,79 +820,160 @@ packages:
react: '>=16'
react-dom: '>=16'
- '@babel/code-frame@7.24.7':
- resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==}
+ '@babel/code-frame@7.26.2':
+ resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/compat-data@7.26.2':
+ resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/core@7.26.0':
+ resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/generator@7.26.2':
+ resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==}
engines: {node: '>=6.9.0'}
- '@babel/compat-data@7.25.4':
- resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==}
+ '@babel/helper-annotate-as-pure@7.25.9':
+ resolution: {integrity: sha512-gv7320KBUFJz1RnylIg5WWYPRXKZ884AGkYpgpWW02TH66Dl+HaC1t1CKd0z3R4b6hdYEcmrNZHUmfCP+1u3/g==}
engines: {node: '>=6.9.0'}
- '@babel/core@7.25.2':
- resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==}
+ '@babel/helper-compilation-targets@7.25.9':
+ resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==}
engines: {node: '>=6.9.0'}
- '@babel/generator@7.25.6':
- resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==}
+ '@babel/helper-create-class-features-plugin@7.25.9':
+ resolution: {integrity: sha512-UTZQMvt0d/rSz6KI+qdu7GQze5TIajwTS++GUozlw8VBJDEOAqSXwm1WvmYEZwqdqSGQshRocPDqrt4HBZB3fQ==}
engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-define-polyfill-provider@0.6.3':
+ resolution: {integrity: sha512-HK7Bi+Hj6H+VTHA3ZvBis7V/6hu9QuTrnMXNybfUf2iiuU/N97I8VjB+KbhFF8Rld/Lx5MzoCwPCpPjfK+n8Cg==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
- '@babel/helper-compilation-targets@7.25.2':
- resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==}
+ '@babel/helper-member-expression-to-functions@7.25.9':
+ resolution: {integrity: sha512-wbfdZ9w5vk0C0oyHqAJbc62+vet5prjj01jjJ8sKn3j9h3MQQlflEdXYvuqRWjHnM12coDEqiC1IRCi0U/EKwQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-imports@7.24.7':
- resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==}
+ '@babel/helper-module-imports@7.25.9':
+ resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-module-transforms@7.25.2':
- resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==}
+ '@babel/helper-module-transforms@7.26.0':
+ resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==}
engines: {node: '>=6.9.0'}
peerDependencies:
'@babel/core': ^7.0.0
- '@babel/helper-simple-access@7.24.7':
- resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==}
+ '@babel/helper-optimise-call-expression@7.25.9':
+ resolution: {integrity: sha512-FIpuNaz5ow8VyrYcnXQTDRGvV6tTjkNtCK/RYNDXGSLlUD6cBuQTSw43CShGxjvfBTfcUA/r6UhUCbtYqkhcuQ==}
engines: {node: '>=6.9.0'}
- '@babel/helper-string-parser@7.24.8':
- resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==}
+ '@babel/helper-plugin-utils@7.25.9':
+ resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-identifier@7.24.7':
- resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==}
+ '@babel/helper-replace-supers@7.25.9':
+ resolution: {integrity: sha512-IiDqTOTBQy0sWyeXyGSC5TBJpGFXBkRynjBeXsvbhQFKj2viwJC76Epz35YLU1fpe/Am6Vppb7W7zM4fPQzLsQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0
+
+ '@babel/helper-simple-access@7.25.9':
+ resolution: {integrity: sha512-c6WHXuiaRsJTyHYLJV75t9IqsmTbItYfdj99PnzYGQZkYKvan5/2jKJ7gu31J3/BJ/A18grImSPModuyG/Eo0Q==}
engines: {node: '>=6.9.0'}
- '@babel/helper-validator-option@7.24.8':
- resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==}
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ resolution: {integrity: sha512-K4Du3BFa3gvyhzgPcntrkDgZzQaq6uozzcpGbOO1OEJaI+EJdqWIMTLgFgQf6lrfiDFo5FU+BxKepI9RmZqahA==}
engines: {node: '>=6.9.0'}
- '@babel/helpers@7.25.6':
- resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==}
+ '@babel/helper-string-parser@7.25.9':
+ resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==}
engines: {node: '>=6.9.0'}
- '@babel/highlight@7.24.7':
- resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==}
+ '@babel/helper-validator-identifier@7.25.9':
+ resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==}
engines: {node: '>=6.9.0'}
- '@babel/parser@7.25.6':
- resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==}
+ '@babel/helper-validator-option@7.25.9':
+ resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/helpers@7.26.0':
+ resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==}
+ engines: {node: '>=6.9.0'}
+
+ '@babel/parser@7.26.2':
+ resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==}
engines: {node: '>=6.0.0'}
hasBin: true
+ '@babel/plugin-proposal-decorators@7.25.9':
+ resolution: {integrity: sha512-smkNLL/O1ezy9Nhy4CNosc4Va+1wo5w4gzSZeLe6y6dM4mmHfYOCPolXQPHQxonZCF+ZyebxN9vqOolkYrSn5g==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-decorators@7.25.9':
+ resolution: {integrity: sha512-ryzI0McXUPJnRCvMo4lumIKZUzhYUO/ScI+Mz4YVaTLt04DHNSjEUjKVvbzQjZFLuod/cYEc07mJWhzl6v4DPg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-jsx@7.25.9':
+ resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-syntax-typescript@7.25.9':
+ resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-class-properties@7.25.9':
+ resolution: {integrity: sha512-bbMAII8GRSkcd0h0b4X+36GksxuheLFjP65ul9w6C3KgAamI3JqErNgSrosX6ZPj+Mpim5VvEbawXxJCyEUV3Q==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9':
+ resolution: {integrity: sha512-dwh2Ol1jWwL2MgkCzUSOvfmKElqQcuswAZypBSUsScMXvgdT8Ekq5YA6TtqpTVWH+4903NmboMuH1o9i8Rxlyg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/plugin-transform-typescript@7.25.9':
+ resolution: {integrity: sha512-7PbZQZP50tzv2KGGnhh82GSyMB01yKY9scIjf1a+GfZCtInOWqUH5+1EBU4t9fyR5Oykkkc9vFTs4OHrhHXljQ==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
+ '@babel/preset-typescript@7.26.0':
+ resolution: {integrity: sha512-NMk1IGZ5I/oHhoXEElcm+xUnL/szL6xflkFZmoEU9xj1qSJXpiS7rsspYo92B4DRCDvZn2erT5LdsCeXAKNCkg==}
+ engines: {node: '>=6.9.0'}
+ peerDependencies:
+ '@babel/core': ^7.0.0-0
+
'@babel/runtime@7.24.8':
resolution: {integrity: sha512-5F7SDGs1T72ZczbRwbGO9lQi0NLjQxzl6i4lJxLxfW9U5UluCSyEJeniWvnhl3/euNiqQVbo8zruhsDfid0esA==}
engines: {node: '>=6.9.0'}
- '@babel/template@7.25.0':
- resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==}
+ '@babel/template@7.25.9':
+ resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==}
engines: {node: '>=6.9.0'}
- '@babel/traverse@7.25.6':
- resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==}
+ '@babel/traverse@7.25.9':
+ resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==}
engines: {node: '>=6.9.0'}
- '@babel/types@7.25.6':
- resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==}
+ '@babel/types@7.26.0':
+ resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==}
engines: {node: '>=6.9.0'}
'@biomejs/biome@1.9.4':
@@ -1681,6 +1775,11 @@ packages:
engines: {node: '>=16.7.0'}
hasBin: true
+ '@rsbuild/plugin-babel@1.0.3':
+ resolution: {integrity: sha512-3S/ykXv7KRo0FxVpkjoHFUwB04nKINIET1kuv4xiRaDmeww1Tp0wl9h4u8a7d7gU/4FllyoUflY8TVhci/o05g==}
+ peerDependencies:
+ '@rsbuild/core': 1.x
+
'@rsbuild/plugin-less@1.0.3':
resolution: {integrity: sha512-lz/u0C7Cj/sUO0WuwxJR976BLUxFy/mzT9fZOK/G6ceTuhUd1rEQw4FAPuOefhgkDxfqpJ4ZjliVfpm+n4CjyQ==}
peerDependencies:
@@ -2557,6 +2656,11 @@ packages:
b-validate@1.5.3:
resolution: {integrity: sha512-iCvCkGFskbaYtfQ0a3GmcQCHl/Sv1GufXFGuUQ+FE+WJa7A/espLOuFIn09B944V8/ImPj71T4+rTASxO2PAuA==}
+ babel-plugin-polyfill-corejs3@0.11.0:
+ resolution: {integrity: sha512-5Kp2G1M3qTECkShvOgvDwBNm+5eh8XaDswzkncgrWPmbhFmsS1FO7LKhnAXSBMDc3Zw3iBHsF5xeHV3rNM3SuQ==}
+ peerDependencies:
+ '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0
+
bail@2.0.2:
resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==}
@@ -2640,8 +2744,8 @@ packages:
browserify-zlib@0.2.0:
resolution: {integrity: sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==}
- browserslist@4.24.0:
- resolution: {integrity: sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A==}
+ browserslist@4.24.2:
+ resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==}
engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7}
hasBin: true
@@ -2699,8 +2803,8 @@ packages:
resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==}
engines: {node: '>=10'}
- caniuse-lite@1.0.30001663:
- resolution: {integrity: sha512-o9C3X27GLKbLeTYZ6HBOLU1tsAcBZsLis28wrVzddShCS16RujjHp9GDHKZqrB3meE0YjhawvMFsGb/igqiPzA==}
+ caniuse-lite@1.0.30001680:
+ resolution: {integrity: sha512-rPQy70G6AGUMnbwS1z6Xg+RkHYPAi18ihs47GH0jcxIG7wArmPgY3XbS2sRdBbxJljp3thdT8BIqv9ccCypiPA==}
case-sensitive-paths-webpack-plugin@2.4.0:
resolution: {integrity: sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==}
@@ -2910,6 +3014,12 @@ packages:
copy-to-clipboard@3.3.3:
resolution: {integrity: sha512-2KV8NhB5JqC3ky0r9PMCAZKbUHSwtEo4CwCs0KXgruG43gX5PMqDEBbVU4OUzw2MuAWUfsuFmWvEKG5QRfSnJA==}
+ core-js-compat@3.39.0:
+ resolution: {integrity: sha512-VgEUx3VwlExr5no0tXlBt+silBvhTryPwCXRI2Id1PN8WTKu7MreethvddqOubrYxkFdv/RnYrqlv1sFNAUelw==}
+
+ core-js-pure@3.39.0:
+ resolution: {integrity: sha512-7fEcWwKI4rJinnK+wLTezeg2smbFFdSBP6E2kQZNbnzM2s1rpKQ6aaRteZSSg7FLU3P0HGGVo/gbpfanU36urg==}
+
core-js@3.38.1:
resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==}
@@ -3180,8 +3290,8 @@ packages:
ee-first@1.1.1:
resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==}
- electron-to-chromium@1.5.40:
- resolution: {integrity: sha512-LYm78o6if4zTasnYclgQzxEcgMoIcybWOhkATWepN95uwVVWV0/IW10v+2sIeHE+bIYWipLneTftVyQm45UY7g==}
+ electron-to-chromium@1.5.60:
+ resolution: {integrity: sha512-HcraRUkTKJ+8yA3b10i9qvhUlPBRDlKjn1XGek1zDGVfAKcvi8TsUnImGqLiEm9j6ZulxXIWWIo9BmbkbCTGgA==}
elliptic@6.5.7:
resolution: {integrity: sha512-ESVCtTwiA+XhY3wyh24QqRGBoP3rEdDUl3EDUUo9tft074fi19IrdpH7hLCMMP3CIj7jb3W96rn8lt/BqIlt5Q==}
@@ -3264,8 +3374,8 @@ packages:
engines: {node: '>=18'}
hasBin: true
- escalade@3.1.2:
- resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==}
+ escalade@3.2.0:
+ resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==}
engines: {node: '>=6'}
escape-html@1.0.3:
@@ -4077,9 +4187,9 @@ packages:
resolution: {integrity: sha512-Hicd6JK5Njt2QB6XYFS7ok9e37O8AYk3jTcppG4YVQnYjOemymvTcmc7OWsmq/Qqj5TdRFO5/x/tIPmBeRtGHg==}
engines: {node: '>=12.0.0'}
- jsesc@2.5.2:
- resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==}
- engines: {node: '>=4'}
+ jsesc@3.0.2:
+ resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==}
+ engines: {node: '>=6'}
hasBin: true
json-buffer@3.0.1:
@@ -4178,6 +4288,9 @@ packages:
lodash.clonedeepwith@4.5.0:
resolution: {integrity: sha512-QRBRSxhbtsX1nc0baxSkkK5WlVTTm/s48DSukcGcWZwIyI8Zz+lB+kFiELJXtzfH4Aj6kMWQ1VWW4U5uUDgZMA==}
+ lodash.debounce@4.0.8:
+ resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==}
+
lodash.startcase@4.4.0:
resolution: {integrity: sha512-+WKqsK294HMSc2jEbNgpHpd0JfIBhp7rEV4aqXWqFr6AlXov+SlcgB1Fv01y2kGe3Gc8nMW7VA0SrGuSkRfIEg==}
@@ -5820,10 +5933,6 @@ packages:
resolution: {integrity: sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==}
engines: {node: '>=14.14'}
- to-fast-properties@2.0.0:
- resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==}
- engines: {node: '>=4'}
-
to-regex-range@5.0.1:
resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==}
engines: {node: '>=8.0'}
@@ -5977,8 +6086,8 @@ packages:
resolution: {integrity: sha512-1uEe95xksV1O0CYKXo8vQvN1JEbtJp7lb7C5U9HMsIp6IVwntkH/oNUzyVNQSd4S1sYk2FpSSW44FqMc8qee5w==}
engines: {node: '>=4'}
- update-browserslist-db@1.1.0:
- resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==}
+ update-browserslist-db@1.1.1:
+ resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==}
hasBin: true
peerDependencies:
browserslist: '>= 4.21.0'
@@ -6281,25 +6390,26 @@ snapshots:
transitivePeerDependencies:
- '@types/react'
- '@babel/code-frame@7.24.7':
+ '@babel/code-frame@7.26.2':
dependencies:
- '@babel/highlight': 7.24.7
+ '@babel/helper-validator-identifier': 7.25.9
+ js-tokens: 4.0.0
picocolors: 1.1.1
- '@babel/compat-data@7.25.4': {}
+ '@babel/compat-data@7.26.2': {}
- '@babel/core@7.25.2':
+ '@babel/core@7.26.0':
dependencies:
'@ampproject/remapping': 2.3.0
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.6
- '@babel/helper-compilation-targets': 7.25.2
- '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2)
- '@babel/helpers': 7.25.6
- '@babel/parser': 7.25.6
- '@babel/template': 7.25.0
- '@babel/traverse': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helpers': 7.26.0
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
convert-source-map: 2.0.0
debug: 4.3.7
gensync: 1.0.0-beta.2
@@ -6308,94 +6418,206 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@babel/generator@7.25.6':
+ '@babel/generator@7.26.2':
dependencies:
- '@babel/types': 7.25.6
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@jridgewell/gen-mapping': 0.3.5
'@jridgewell/trace-mapping': 0.3.25
- jsesc: 2.5.2
+ jsesc: 3.0.2
+
+ '@babel/helper-annotate-as-pure@7.25.9':
+ dependencies:
+ '@babel/types': 7.26.0
- '@babel/helper-compilation-targets@7.25.2':
+ '@babel/helper-compilation-targets@7.25.9':
dependencies:
- '@babel/compat-data': 7.25.4
- '@babel/helper-validator-option': 7.24.8
- browserslist: 4.24.0
+ '@babel/compat-data': 7.26.2
+ '@babel/helper-validator-option': 7.25.9
+ browserslist: 4.24.2
lru-cache: 5.1.1
semver: 6.3.1
- '@babel/helper-module-imports@7.24.7':
+ '@babel/helper-create-class-features-plugin@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/helper-replace-supers': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/traverse': 7.25.9
+ semver: 6.3.1
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-define-polyfill-provider@0.6.3(@babel/core@7.26.0)':
dependencies:
- '@babel/traverse': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/core': 7.26.0
+ '@babel/helper-compilation-targets': 7.25.9
+ '@babel/helper-plugin-utils': 7.25.9
+ debug: 4.3.7
+ lodash.debounce: 4.0.8
+ resolve: 1.22.8
transitivePeerDependencies:
- supports-color
- '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)':
+ '@babel/helper-member-expression-to-functions@7.25.9':
dependencies:
- '@babel/core': 7.25.2
- '@babel/helper-module-imports': 7.24.7
- '@babel/helper-simple-access': 7.24.7
- '@babel/helper-validator-identifier': 7.24.7
- '@babel/traverse': 7.25.6
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-simple-access@7.24.7':
+ '@babel/helper-module-imports@7.25.9':
dependencies:
- '@babel/traverse': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
transitivePeerDependencies:
- supports-color
- '@babel/helper-string-parser@7.24.8': {}
+ '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-imports': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
- '@babel/helper-validator-identifier@7.24.7': {}
+ '@babel/helper-optimise-call-expression@7.25.9':
+ dependencies:
+ '@babel/types': 7.26.0
- '@babel/helper-validator-option@7.24.8': {}
+ '@babel/helper-plugin-utils@7.25.9': {}
- '@babel/helpers@7.25.6':
+ '@babel/helper-replace-supers@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/template': 7.25.0
- '@babel/types': 7.25.6
+ '@babel/core': 7.26.0
+ '@babel/helper-member-expression-to-functions': 7.25.9
+ '@babel/helper-optimise-call-expression': 7.25.9
+ '@babel/traverse': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
- '@babel/highlight@7.24.7':
+ '@babel/helper-simple-access@7.25.9':
dependencies:
- '@babel/helper-validator-identifier': 7.24.7
- chalk: 2.4.2
- js-tokens: 4.0.0
- picocolors: 1.1.1
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-skip-transparent-expression-wrappers@7.25.9':
+ dependencies:
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/helper-string-parser@7.25.9': {}
+
+ '@babel/helper-validator-identifier@7.25.9': {}
+
+ '@babel/helper-validator-option@7.25.9': {}
+
+ '@babel/helpers@7.26.0':
+ dependencies:
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
+
+ '@babel/parser@7.26.2':
+ dependencies:
+ '@babel/types': 7.26.0
+
+ '@babel/plugin-proposal-decorators@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/plugin-syntax-decorators': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-syntax-decorators@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+
+ '@babel/plugin-transform-class-properties@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/plugin-transform-modules-commonjs@7.25.9(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-simple-access': 7.25.9
+ transitivePeerDependencies:
+ - supports-color
- '@babel/parser@7.25.6':
+ '@babel/plugin-transform-typescript@7.25.9(@babel/core@7.26.0)':
dependencies:
- '@babel/types': 7.25.6
+ '@babel/core': 7.26.0
+ '@babel/helper-annotate-as-pure': 7.25.9
+ '@babel/helper-create-class-features-plugin': 7.25.9(@babel/core@7.26.0)
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-skip-transparent-expression-wrappers': 7.25.9
+ '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
+
+ '@babel/preset-typescript@7.26.0(@babel/core@7.26.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-plugin-utils': 7.25.9
+ '@babel/helper-validator-option': 7.25.9
+ '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-modules-commonjs': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-typescript': 7.25.9(@babel/core@7.26.0)
+ transitivePeerDependencies:
+ - supports-color
'@babel/runtime@7.24.8':
dependencies:
regenerator-runtime: 0.14.1
- '@babel/template@7.25.0':
+ '@babel/template@7.25.9':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/parser': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/code-frame': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
- '@babel/traverse@7.25.6':
+ '@babel/traverse@7.25.9':
dependencies:
- '@babel/code-frame': 7.24.7
- '@babel/generator': 7.25.6
- '@babel/parser': 7.25.6
- '@babel/template': 7.25.0
- '@babel/types': 7.25.6
+ '@babel/code-frame': 7.26.2
+ '@babel/generator': 7.26.2
+ '@babel/parser': 7.26.2
+ '@babel/template': 7.25.9
+ '@babel/types': 7.26.0
debug: 4.3.7
globals: 11.12.0
transitivePeerDependencies:
- supports-color
- '@babel/types@7.25.6':
+ '@babel/types@7.26.0':
dependencies:
- '@babel/helper-string-parser': 7.24.8
- '@babel/helper-validator-identifier': 7.24.7
- to-fast-properties: 2.0.0
+ '@babel/helper-string-parser': 7.25.9
+ '@babel/helper-validator-identifier': 7.25.9
'@biomejs/biome@1.9.4':
optionalDependencies:
@@ -6901,7 +7123,7 @@ snapshots:
'@modern-js/utils@2.61.0':
dependencies:
'@swc/helpers': 0.5.13
- caniuse-lite: 1.0.30001663
+ caniuse-lite: 1.0.30001680
lodash: 4.17.21
rslog: 1.2.3
@@ -7208,6 +7430,20 @@ snapshots:
optionalDependencies:
fsevents: 2.3.3
+ '@rsbuild/plugin-babel@1.0.3(@rsbuild/core@1.1.0)':
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.0)
+ '@babel/plugin-transform-class-properties': 7.25.9(@babel/core@7.26.0)
+ '@babel/preset-typescript': 7.26.0(@babel/core@7.26.0)
+ '@rsbuild/core': 1.1.0
+ '@types/babel__core': 7.20.5
+ deepmerge: 4.3.1
+ reduce-configs: 1.0.0
+ upath: 2.0.1
+ transitivePeerDependencies:
+ - supports-color
+
'@rsbuild/plugin-less@1.0.3(@rsbuild/core@1.0.19)':
dependencies:
'@rsbuild/core': 1.0.19
@@ -7405,7 +7641,7 @@ snapshots:
'@module-federation/runtime-tools': 0.5.1
'@rspack/binding': 1.0.14
'@rspack/lite-tapable': 1.0.1
- caniuse-lite: 1.0.30001663
+ caniuse-lite: 1.0.30001680
optionalDependencies:
'@swc/helpers': 0.5.15
@@ -7414,7 +7650,7 @@ snapshots:
'@module-federation/runtime-tools': 0.5.1
'@rspack/binding': 1.1.0
'@rspack/lite-tapable': 1.0.1
- caniuse-lite: 1.0.30001663
+ caniuse-lite: 1.0.30001680
optionalDependencies:
'@swc/helpers': 0.5.15
@@ -7740,54 +7976,54 @@ snapshots:
dependencies:
storybook: 8.4.2(prettier@3.3.3)
- '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-add-jsx-attribute@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-remove-jsx-attribute@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-remove-jsx-empty-expression@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-replace-jsx-attribute-value@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-svg-dynamic-title@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-svg-em-dimensions@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-transform-react-native-svg@8.1.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.25.2)':
+ '@svgr/babel-plugin-transform-svg-component@8.0.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
+ '@babel/core': 7.26.0
- '@svgr/babel-preset@8.1.0(@babel/core@7.25.2)':
+ '@svgr/babel-preset@8.1.0(@babel/core@7.26.0)':
dependencies:
- '@babel/core': 7.25.2
- '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.25.2)
- '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.25.2)
+ '@babel/core': 7.26.0
+ '@svgr/babel-plugin-add-jsx-attribute': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-remove-jsx-attribute': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-remove-jsx-empty-expression': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-replace-jsx-attribute-value': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-svg-dynamic-title': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-svg-em-dimensions': 8.0.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.26.0)
+ '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.26.0)
'@svgr/core@8.1.0(typescript@5.6.3)':
dependencies:
- '@babel/core': 7.25.2
- '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2)
+ '@babel/core': 7.26.0
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0)
camelcase: 6.3.0
cosmiconfig: 8.3.6(typescript@5.6.3)
snake-case: 3.0.4
@@ -7797,13 +8033,13 @@ snapshots:
'@svgr/hast-util-to-babel-ast@8.0.0':
dependencies:
- '@babel/types': 7.25.6
+ '@babel/types': 7.26.0
entities: 4.5.0
'@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.6.3))':
dependencies:
- '@babel/core': 7.25.2
- '@svgr/babel-preset': 8.1.0(@babel/core@7.25.2)
+ '@babel/core': 7.26.0
+ '@svgr/babel-preset': 8.1.0(@babel/core@7.26.0)
'@svgr/core': 8.1.0(typescript@5.6.3)
'@svgr/hast-util-to-babel-ast': 8.0.0
svg-parser: 2.0.4
@@ -7841,24 +8077,24 @@ snapshots:
'@types/babel__core@7.20.5':
dependencies:
- '@babel/parser': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@types/babel__generator': 7.6.8
'@types/babel__template': 7.4.4
'@types/babel__traverse': 7.20.6
'@types/babel__generator@7.6.8':
dependencies:
- '@babel/types': 7.25.6
+ '@babel/types': 7.26.0
'@types/babel__template@7.4.4':
dependencies:
- '@babel/parser': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/parser': 7.26.2
+ '@babel/types': 7.26.0
'@types/babel__traverse@7.20.6':
dependencies:
- '@babel/types': 7.25.6
+ '@babel/types': 7.26.0
'@types/body-parser@1.19.5':
dependencies:
@@ -8274,6 +8510,14 @@ snapshots:
b-validate@1.5.3: {}
+ babel-plugin-polyfill-corejs3@0.11.0(@babel/core@7.26.0):
+ dependencies:
+ '@babel/core': 7.26.0
+ '@babel/helper-define-polyfill-provider': 0.6.3(@babel/core@7.26.0)
+ core-js-compat: 3.39.0
+ transitivePeerDependencies:
+ - supports-color
+
bail@2.0.2: {}
balanced-match@1.0.2: {}
@@ -8389,12 +8633,12 @@ snapshots:
dependencies:
pako: 1.0.11
- browserslist@4.24.0:
+ browserslist@4.24.2:
dependencies:
- caniuse-lite: 1.0.30001663
- electron-to-chromium: 1.5.40
+ caniuse-lite: 1.0.30001680
+ electron-to-chromium: 1.5.60
node-releases: 2.0.18
- update-browserslist-db: 1.1.0(browserslist@4.24.0)
+ update-browserslist-db: 1.1.1(browserslist@4.24.2)
btoa@1.2.1: {}
@@ -8444,7 +8688,7 @@ snapshots:
camelcase@6.3.0: {}
- caniuse-lite@1.0.30001663: {}
+ caniuse-lite@1.0.30001680: {}
case-sensitive-paths-webpack-plugin@2.4.0: {}
@@ -8632,6 +8876,12 @@ snapshots:
dependencies:
toggle-selection: 1.0.6
+ core-js-compat@3.39.0:
+ dependencies:
+ browserslist: 4.24.2
+
+ core-js-pure@3.39.0: {}
+
core-js@3.38.1: {}
core-js@3.39.0: {}
@@ -8900,7 +9150,7 @@ snapshots:
ee-first@1.1.1: {}
- electron-to-chromium@1.5.40: {}
+ electron-to-chromium@1.5.60: {}
elliptic@6.5.7:
dependencies:
@@ -9028,7 +9278,7 @@ snapshots:
'@esbuild/win32-ia32': 0.23.1
'@esbuild/win32-x64': 0.23.1
- escalade@3.1.2: {}
+ escalade@3.2.0: {}
escape-html@1.0.3: {}
@@ -9274,7 +9524,7 @@ snapshots:
fork-ts-checker-webpack-plugin@9.0.2(typescript@5.6.3)(webpack@5.94.0):
dependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
chalk: 4.1.2
chokidar: 3.6.0
cosmiconfig: 8.3.6(typescript@5.6.3)
@@ -9964,7 +10214,7 @@ snapshots:
jsdoc-type-pratt-parser@4.1.0: {}
- jsesc@2.5.2: {}
+ jsesc@3.0.2: {}
json-buffer@3.0.1: {}
@@ -10069,6 +10319,8 @@ snapshots:
lodash.clonedeepwith@4.5.0: {}
+ lodash.debounce@4.0.8: {}
+
lodash.startcase@4.4.0: {}
lodash.truncate@4.4.2: {}
@@ -10912,7 +11164,7 @@ snapshots:
parse-json@5.2.0:
dependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
error-ex: 1.3.2
json-parse-even-better-errors: 2.3.1
lines-and-columns: 1.2.4
@@ -11173,9 +11425,9 @@ snapshots:
react-docgen@7.1.0:
dependencies:
- '@babel/core': 7.25.2
- '@babel/traverse': 7.25.6
- '@babel/types': 7.25.6
+ '@babel/core': 7.26.0
+ '@babel/traverse': 7.25.9
+ '@babel/types': 7.26.0
'@types/babel__core': 7.20.5
'@types/babel__traverse': 7.20.6
'@types/doctrine': 0.0.9
@@ -11312,7 +11564,7 @@ snapshots:
reduce-configs@1.0.0:
dependencies:
- browserslist: 4.24.0
+ browserslist: 4.24.2
refractor@3.6.0:
dependencies:
@@ -11448,7 +11700,7 @@ snapshots:
rollup: 4.18.1
typescript: 5.6.3
optionalDependencies:
- '@babel/code-frame': 7.24.7
+ '@babel/code-frame': 7.26.2
rollup@4.18.1:
dependencies:
@@ -12112,8 +12364,6 @@ snapshots:
tmp@0.2.3: {}
- to-fast-properties@2.0.0: {}
-
to-regex-range@5.0.1:
dependencies:
is-number: 7.0.0
@@ -12247,10 +12497,10 @@ snapshots:
upath@2.0.1: {}
- update-browserslist-db@1.1.0(browserslist@4.24.0):
+ update-browserslist-db@1.1.1(browserslist@4.24.2):
dependencies:
- browserslist: 4.24.0
- escalade: 3.1.2
+ browserslist: 4.24.2
+ escalade: 3.2.0
picocolors: 1.1.1
uri-js@4.4.1:
@@ -12423,7 +12673,7 @@ snapshots:
'@webassemblyjs/wasm-parser': 1.12.1
acorn: 8.14.0
acorn-import-attributes: 1.9.5(acorn@8.14.0)
- browserslist: 4.24.0
+ browserslist: 4.24.2
chrome-trace-event: 1.0.4
enhanced-resolve: 5.17.1
es-module-lexer: 1.5.4
@@ -12508,7 +12758,7 @@ snapshots:
yargs@17.7.2:
dependencies:
cliui: 8.0.1
- escalade: 3.1.2
+ escalade: 3.2.0
get-caller-file: 2.0.5
require-directory: 2.1.1
string-width: 4.2.3
diff --git a/tests/integration/polyfill/index.test.ts b/tests/integration/polyfill/index.test.ts
new file mode 100644
index 000000000..791c64b5d
--- /dev/null
+++ b/tests/integration/polyfill/index.test.ts
@@ -0,0 +1,40 @@
+import { join } from 'node:path';
+import { buildAndGetResults } from 'test-helper';
+import { describe, expect, test } from 'vitest';
+
+const globalPolyfillResult = `const value = [
+ '1'
+].splice(0, 1)`;
+
+describe('polyfill', async () => {
+ const fixturePath = join(__dirname);
+ const { entries, entryFiles } = await buildAndGetResults({ fixturePath });
+
+ test('should polyfill in ESM', async () => {
+ expect(entries.esm0).not.toContain(globalPolyfillResult);
+ expect(entries.esm0).toMatch(
+ /import \* as .* from "core-js-pure\/stable\/instance\/splice\.js"/,
+ );
+ const result = (await import(entryFiles.esm0!)).value;
+ expect(result).toEqual(['1']);
+ });
+
+ test('should polyfill in CJS', async () => {
+ expect(entries.cjs).not.toContain(globalPolyfillResult);
+ expect(entries.cjs).toMatch(
+ /const splice_js_namespaceObject = require\("core-js-pure\/stable\/instance\/splice\.js"\)/,
+ );
+ const result = (await import(entryFiles.cjs!)).value;
+ expect(result).toEqual(['1']);
+ });
+
+ test('should not polyfill when targets is modern enough', async () => {
+ expect(entries.esm1).toMatchInlineSnapshot(`
+ "const value = [
+ '1'
+ ].splice(0, 1);
+ export { value };
+ "
+ `);
+ });
+});
diff --git a/tests/integration/polyfill/package.json b/tests/integration/polyfill/package.json
new file mode 100644
index 000000000..5db59f023
--- /dev/null
+++ b/tests/integration/polyfill/package.json
@@ -0,0 +1,13 @@
+{
+ "name": "polyfill-test",
+ "version": "1.0.0",
+ "private": true,
+ "type": "module",
+ "dependencies": {
+ "core-js-pure": "^3.39.0"
+ },
+ "devDependencies": {
+ "@rsbuild/plugin-babel": "^1.0.3",
+ "babel-plugin-polyfill-corejs3": "^0.11.0"
+ }
+}
diff --git a/tests/integration/polyfill/rslib.config.ts b/tests/integration/polyfill/rslib.config.ts
new file mode 100644
index 000000000..662b41b44
--- /dev/null
+++ b/tests/integration/polyfill/rslib.config.ts
@@ -0,0 +1,60 @@
+import { type BabelTransformOptions, pluginBabel } from '@rsbuild/plugin-babel';
+import { defineConfig } from '@rslib/core';
+import { generateBundleCjsConfig, generateBundleEsmConfig } from 'test-helper';
+
+const polyfillPlugin = (targets: BabelTransformOptions['targets']) =>
+ pluginBabel({
+ babelLoaderOptions: {
+ plugins: [
+ [
+ require('babel-plugin-polyfill-corejs3'),
+ {
+ method: 'usage-pure',
+ targets: targets,
+ version: '3.29',
+ },
+ ],
+ ],
+ },
+ });
+
+export default defineConfig({
+ lib: [
+ generateBundleEsmConfig({
+ output: {
+ distPath: {
+ root: 'dist/esm0',
+ },
+ },
+ plugins: [
+ polyfillPlugin({
+ ie: '10',
+ }),
+ ],
+ }),
+ generateBundleCjsConfig({
+ output: {
+ distPath: {
+ root: 'dist/cjs0',
+ },
+ },
+ plugins: [
+ polyfillPlugin({
+ ie: '10',
+ }),
+ ],
+ }),
+ generateBundleEsmConfig({
+ output: {
+ distPath: {
+ root: 'dist/esm1',
+ },
+ },
+ plugins: [
+ polyfillPlugin({
+ chrome: '123',
+ }),
+ ],
+ }),
+ ],
+});
diff --git a/tests/integration/polyfill/src/index.ts b/tests/integration/polyfill/src/index.ts
new file mode 100644
index 000000000..722989f73
--- /dev/null
+++ b/tests/integration/polyfill/src/index.ts
@@ -0,0 +1 @@
+export const value = ['1'].splice(0, 1);
diff --git a/website/docs/en/guide/advanced/output-compatibility.mdx b/website/docs/en/guide/advanced/output-compatibility.mdx
index 973e7317c..425ff6210 100644
--- a/website/docs/en/guide/advanced/output-compatibility.mdx
+++ b/website/docs/en/guide/advanced/output-compatibility.mdx
@@ -19,8 +19,54 @@ Before dealing with compatibility issues, it is recommended that you understand
### Browser
-{/* TODO */}
-{/* Implement a Rsbuild polyfill plugin by using core-js-pure */}
+Normally, we don't need to inject polyfill for npm packages, this step should be done on the web application framework side, but in some scenarios we need to inject polyfill in order to make our library run directly in low version browsers.
+
+Note that this plugin does not transform your code syntax, it only injects polyfill for unsupported functions used in your code, importing them as normal functions instead of polluting the global. You need to install the [core-js-pure](https://www.npmjs.com/package/core-js-pure) dependency.
+
+#### Set up
+
+The polyfill relies on Babel to inject the polyfill code, so you need to install the [Rsbuild Babel plugin](https://rsbuild.dev/plugins/list/plugin-babel) and [babel-plugin-polyfill-corejs3](https://www.npmjs.com/package/babel-plugin-polyfill-corejs3) to inject the polyfill code.
+
+
+
+And install [core-js-pure](https://www.npmjs.com/package/core-js-pure) as the runtime relied code.
+
+
+
+Configure the Babel plugin with polyfill options, set the [target](https://babeljs.io/docs/options#targets) field to specify the target browser version.
+
+```ts title="rslib.config.ts" {1,11-24}
+import { pluginBabel } from '@rsbuild/plugin-babel';
+import { defineConfig } from '@rslib/core';
+
+export default defineConfig({
+ lib: [
+ {
+ format: 'esm',
+ },
+ ],
+ plugins: [
+ pluginBabel({
+ babelLoaderOptions: {
+ plugins: [
+ [
+ require('babel-plugin-polyfill-corejs3'),
+ {
+ method: 'usage-pure',
+ targets: { ie: '10' },
+ version: '3.29',
+ },
+ ],
+ ],
+ },
+ }),
+ ],
+});
+```
+
+#### Configurations
+
+Check out [babel-plugin-polyfill-corejs3](https://www.npmjs.com/package/babel-plugin-polyfill-corejs3) documentation for more details.
### Node.js