From be3096d83c6465ebb3789e0c1d7b23bf94a8a45f Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Wed, 30 Sep 2026 15:40:06 -0400 Subject: [PATCH 1/8] debabel --- package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/package.json b/package.json index ad84ab2..6a69857 100644 --- a/package.json +++ b/package.json @@ -22,8 +22,7 @@ "docs": "node ./lib/doc/generator" }, "dependencies": { - "@folio/stripes-testing": "^3.0.0", - "@folio/stripes-webpack": "^7.0.0", + "@folio/stripes-webpack": "folio-org/stripes-webpack#debabel", "@formatjs/cli": "^6.1.3", "@formatjs/cli-lib": "^6.1.3", "@octokit/rest": "^22.0.1", From b48bc592633682a9b5543e9f232ca9b396202d5d Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Wed, 30 Sep 2026 22:12:54 -0400 Subject: [PATCH 2/8] yarn.lock --- yarn.lock | 351 +++++++++++++++++++++++++++++++++--------------------- 1 file changed, 212 insertions(+), 139 deletions(-) diff --git a/yarn.lock b/yarn.lock index 695de38..983265f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -948,7 +948,7 @@ dependencies: core-js-pure "^3.48.0" -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9", "@babel/runtime@^7.21.0": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.16.3", "@babel/runtime@^7.18.9": version "7.29.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.29.2.tgz#9a6e2d05f4b6692e1801cd4fb176ad823930ed5e" integrity sha512-JiDShH45zKHWyGe4ZNVRrCjBz8Nh9TMmZG1kh4QTK8hCBTWBi8Da+i7s1fJw7/lYpM4ccepSNfqzZ/QvABBi5g== @@ -983,35 +983,6 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" -"@bigtest/globals@^0.7.5": - version "0.7.6" - resolved "https://registry.yarnpkg.com/@bigtest/globals/-/globals-0.7.6.tgz#e435d370059cfde66b20d31ba1d91cf0db63ba53" - integrity sha512-VEMqUGmCPskM6/YKtBEOyS0sgrIfH0zcNTd1AXTJXCSMtiI5eIe46Nq6nEebjdLeI4gJiVDflvQmgidTNHvC9w== - dependencies: - "@bigtest/suite" "^0.11.2" - effection "^1.0.0" - -"@bigtest/interactor@^0.28.1": - version "0.28.2" - resolved "https://registry.yarnpkg.com/@bigtest/interactor/-/interactor-0.28.2.tgz#52fcfc15a95f798cff4494eeb81755c833058c37" - integrity sha512-fUlFI6c5uAhK29lBMCj0UQXxnjK+f/aeodHF0FhYbkA/2vPzSdvGvmtDt33mqoaCp8Lo/jhtaftbrd3pTK53oA== - dependencies: - "@bigtest/globals" "^0.7.5" - "@bigtest/performance" "^0.5.0" - change-case "^4.1.1" - element-is-visible "^1.0.0" - lodash.isequal "^4.5.0" - -"@bigtest/performance@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@bigtest/performance/-/performance-0.5.0.tgz#195f2c445cbe2ebe4357e08f7b39449240bf62d7" - integrity sha512-5lmaul6UIdyEApxapYumCShEdKca7PjwYlcIHiu/5iI032DUQsq4dygYMX07cgevfCZSR2fss57uMGfdB22GbQ== - -"@bigtest/suite@^0.11.2": - version "0.11.3" - resolved "https://registry.yarnpkg.com/@bigtest/suite/-/suite-0.11.3.tgz#f6c915ad91c69567d8585f8f4efe479b1e1b1ba0" - integrity sha512-50M5zC0xjEE9maNayWNNUKatR6NSEPrwNOVjEZKVRL3n3DdNwBV5OIE2xuwVIaWz1Wgbdg/lsojLefRNzOIapA== - "@cerner/duplicate-package-checker-webpack-plugin@~2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@cerner/duplicate-package-checker-webpack-plugin/-/duplicate-package-checker-webpack-plugin-2.1.0.tgz#ae2f777319d98815df851490ca6dbeef7a42ae16" @@ -1289,17 +1260,6 @@ eslint-plugin-testing-library "^5.6.0" webpack "^5.80.0" -"@folio/stripes-testing@^3.0.0": - version "3.1.10000011260" - resolved "https://repository.folio.org/repository/npm-folioci/@folio/stripes-testing/-/stripes-testing-3.1.10000011260.tgz#05573c689efdc574652ae774a6ec4867edd9480b" - integrity sha512-yJm+yIAZm2wSpJDgtVYKQPWN5WMY2RO8dSTs6F1lNETF/97PxlL9afEmaBmEN13vUlowlL9TbQ95MPidDo5Z4g== - dependencies: - "@bigtest/interactor" "^0.28.1" - date-fns "^2.16.1" - debug "^4.0.1" - element-is-visible "^1.0.0" - minimist "^1.2.0" - "@folio/stripes-webpack@^7.0.0": version "7.0.1099000000000309" resolved "https://repository.folio.org/repository/npm-folioci/@folio/stripes-webpack/-/stripes-webpack-7.0.1099000000000309.tgz#ccc619786196395c9e0e1011f146b45bddb3df1b" @@ -1369,6 +1329,58 @@ webpack-remove-empty-scripts "^1.0.1" webpack-virtual-modules "^0.4.3" +"@folio/stripes-webpack@folio-org/stripes-webpack#debabel": + version "7.0.0" + resolved "https://codeload.github.com/folio-org/stripes-webpack/tar.gz/e4177150372c1661d14d3d7dbf1c8c490797547b" + dependencies: + "@cerner/duplicate-package-checker-webpack-plugin" "~2.1.0" + "@csstools/postcss-global-data" "^3.0.0" + "@csstools/postcss-relative-color-syntax" "^3.0.7" + "@module-federation/enhanced" "^2.8.1" + "@pmmmwh/react-refresh-webpack-plugin" "^0.5.4" + "@svgr/webpack" "^8.1.0" + add-asset-html-webpack-plugin "^6.0.0" + autoprefixer "^10.4.13" + buffer "^6.0.3" + connect-history-api-fallback "^1.3.0" + copy-webpack-plugin "^14.0.0" + core-js "^3.6.1" + cors "^2.8.5" + css-loader "^6.4.0" + csv-loader "^3.0.3" + debug "^4.0.1" + esbuild-loader "^4.3.0" + express "^4.14.0" + handlebars "^4.7.7" + handlebars-loader "^1.7.1" + html-webpack-plugin "^5.3.2" + lodash "^4.17.21" + mini-css-extract-plugin "^2.7.6" + node-object-hash "^1.2.0" + portfinder "^1.0.32" + postcss "^8.4.2" + postcss-custom-media "^9.0.1" + postcss-import "^15.0.1" + postcss-loader "^7.2.4" + process "^0.11.10" + react-refresh "^0.11.0" + regenerator-runtime "^0.13.3" + semver "^7.1.3" + serialize-javascript "^7.0.5" + source-map-loader "^4.0.0" + stream-browserify "^3.0.0" + style-loader "^3.3.0" + tapable "^1.0.0" + ts-loader "^9.4.1" + typescript "^5.3.3" + util-ex "^0.3.15" + validate-npm-package-name "^6.0.2" + webpack-dev-middleware "^5.2.1" + webpack-dev-server "^5.2.3" + webpack-hot-middleware "^2.25.1" + webpack-remove-empty-scripts "^1.0.1" + webpack-virtual-modules "^0.4.3" + "@formatjs/cli-lib@^6.1.3": version "6.6.6" resolved "https://registry.yarnpkg.com/@formatjs/cli-lib/-/cli-lib-6.6.6.tgz#1259057f98d42762a81456ba0d387b06c99b5f54" @@ -1714,6 +1726,13 @@ "@types/semver" "7.5.8" semver "7.6.3" +"@module-federation/bridge-react-webpack-plugin@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/bridge-react-webpack-plugin/-/bridge-react-webpack-plugin-2.9.2.tgz#dff182d058e6914a6218beaee516564b28169618" + integrity sha512-6ikuvP1639g8jzSxveDLz/BOk0VTIkO7aSuvrZgq0waB0h553zFtkTJAXQETezzO+s1taHGhEvFoCtl6DJWu6A== + dependencies: + "@module-federation/sdk" "2.9.2" + "@module-federation/cli@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/cli/-/cli-2.3.1.tgz#f9d0e33fb5faa1cbe92c9dae784bc1230fb4ab61" @@ -1725,6 +1744,16 @@ commander "11.1.0" jiti "2.4.2" +"@module-federation/cli@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/cli/-/cli-2.9.2.tgz#bcaf4cee8b10c16b4fb258ab21098126805855c3" + integrity sha512-1+rNHFGC07lQq7CtgcF9ibtgMcAau4TzdOcLfCv13+o5XWWdM8X1yhPbqQWvj3MO/C/Js7Xwon1sTKjF69Do9g== + dependencies: + "@module-federation/dts-plugin" "2.9.2" + "@module-federation/sdk" "2.9.2" + commander "11.1.0" + jiti "2.4.2" + "@module-federation/data-prefetch@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/data-prefetch/-/data-prefetch-2.3.1.tgz#7337e56aae8fd2b43e4b21b5c979b462870d69cf" @@ -1751,6 +1780,20 @@ node-schedule "2.1.1" ws "8.18.0" +"@module-federation/dts-plugin@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/dts-plugin/-/dts-plugin-2.9.2.tgz#bdc8366645f44ee94450bc11aab988721c19dd39" + integrity sha512-J84cRrewtUFnFdMeD/91mHtW+Toh3mAWvGnhsFAc9oEbGwqfzJEfgPJri65xdtzWcNhs1d6FImPMTvnjzOnYvA== + dependencies: + "@module-federation/error-codes" "2.9.2" + "@module-federation/managers" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/third-party-dts-extractor" "2.9.2" + adm-zip "^0.6.1" + isomorphic-ws "5.0.0" + undici "7.29.1" + ws "8.21.3" + "@module-federation/enhanced@^2.0.0": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/enhanced/-/enhanced-2.3.1.tgz#2757b7eeb43284c31d1f1801f9a0351a21a0a45f" @@ -1772,16 +1815,45 @@ tapable "2.3.0" upath "2.0.1" +"@module-federation/enhanced@^2.8.1": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/enhanced/-/enhanced-2.9.2.tgz#463272271316ba5d2ab31d4bcd842a9f12b8083f" + integrity sha512-m1/kzb97Eu1v7FUenvwMpJiF6Vc8RNDjFxHS+YNgxy3WjI8s/mQrLJBrGK66qpK3wuP9kx0qB65kRiurB9IjUA== + dependencies: + "@module-federation/bridge-react-webpack-plugin" "2.9.2" + "@module-federation/cli" "2.9.2" + "@module-federation/dts-plugin" "2.9.2" + "@module-federation/error-codes" "2.9.2" + "@module-federation/inject-external-runtime-core-plugin" "2.9.2" + "@module-federation/managers" "2.9.2" + "@module-federation/manifest" "2.9.2" + "@module-federation/rspack" "2.9.2" + "@module-federation/runtime-tools" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/webpack-bundler-runtime" "2.9.2" + schema-utils "4.3.0" + tapable "2.3.0" + "@module-federation/error-codes@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/error-codes/-/error-codes-2.3.1.tgz#6fa2243b97bb06762aed0effafc4d12f5dc58877" integrity sha512-s3IjT2OYrSBNNmxdTmmrWBpsFfeNszdL6BSqjXLHb1CgXWUYLNXpb05IopnzMhRLcur6MTGuKR0ZSjJbmvQBbg== +"@module-federation/error-codes@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/error-codes/-/error-codes-2.9.2.tgz#40be8078a43a223acb7895b60d98dea8a480642e" + integrity sha512-MTpKubqsJSBgnuw+2Pli1kHL4INeHD5cGnHL84oRANwQAWK7b6lN3ZZTmL3FL6lYn65ImineqZNqGWBv5GQVLQ== + "@module-federation/inject-external-runtime-core-plugin@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-2.3.1.tgz#7837ea979ae41b99c3e90fb1f0f2553616c904df" integrity sha512-Q/zd3dImx4vyXLQ/UEQ0udL95yPlfbSyKcoW86tIralxA5NgnR3rEp3ccGt9MHSBbCywFrbzX5OwfKW/Jgfexw== +"@module-federation/inject-external-runtime-core-plugin@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/inject-external-runtime-core-plugin/-/inject-external-runtime-core-plugin-2.9.2.tgz#a8a0a1e5a64e989523fe3dea949eaf42f757dcfd" + integrity sha512-e8F/+fNwVgwhJVhLURAa7orYe1WFojamf4myf/G4jszGZ6Yx5DoIUjFBMrkLQgY2nuM/cw2/itIY4ZMGL1CJbA== + "@module-federation/managers@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/managers/-/managers-2.3.1.tgz#a4300b92b7cc7ee97ce2cee0e17a3b17bd516440" @@ -1791,6 +1863,13 @@ find-pkg "2.0.0" fs-extra "9.1.0" +"@module-federation/managers@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/managers/-/managers-2.9.2.tgz#1c4d7b5d4e494b3c7b09426a04b59459980b62cd" + integrity sha512-VtSKLkT2EA1wqCMFXNiklC+XF+5bZPYY3sUQ9LCFHqKS7v7NOJDrwMV6Qtw3fxH4Y6Pe6P28MiU8D9dlzknCKQ== + dependencies: + "@module-federation/sdk" "2.9.2" + "@module-federation/manifest@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/manifest/-/manifest-2.3.1.tgz#33a6738500f72b00cb5263a58f0440da6f6d1fb4" @@ -1802,6 +1881,15 @@ chalk "3.0.0" find-pkg "2.0.0" +"@module-federation/manifest@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/manifest/-/manifest-2.9.2.tgz#dc9eaba62dd5696cdc69bcf7efd16c97ab003fb5" + integrity sha512-l9X1g2nHqjdumz9U9jawKo8rKoWXVbSlzLOqs+GYiHfzqSB2/ZQ+4AX0CaJ7orLz2varpGK4qdnQ0saptGuEVw== + dependencies: + "@module-federation/dts-plugin" "2.9.2" + "@module-federation/managers" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/rspack@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/rspack/-/rspack-2.3.1.tgz#9be0234c9add9b5073e532cd0fa1a821f22f283b" @@ -1815,6 +1903,19 @@ "@module-federation/runtime-tools" "2.3.1" "@module-federation/sdk" "2.3.1" +"@module-federation/rspack@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/rspack/-/rspack-2.9.2.tgz#8cc38c79f0b55f38933da58195c6da1485941955" + integrity sha512-RobMJ/msRzJ94L9k1CAsPuhed2N2rvHBRBJhtk7t3pK/UoQM95Ks6KAcmVKBrxTVHWMhsKTCatxC7u7X19LYdA== + dependencies: + "@module-federation/bridge-react-webpack-plugin" "2.9.2" + "@module-federation/dts-plugin" "2.9.2" + "@module-federation/inject-external-runtime-core-plugin" "2.9.2" + "@module-federation/managers" "2.9.2" + "@module-federation/manifest" "2.9.2" + "@module-federation/runtime-tools" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/runtime-core@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/runtime-core/-/runtime-core-2.3.1.tgz#29f87a51b730d62ccd1614d5aa33216762a4a954" @@ -1823,6 +1924,14 @@ "@module-federation/error-codes" "2.3.1" "@module-federation/sdk" "2.3.1" +"@module-federation/runtime-core@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/runtime-core/-/runtime-core-2.9.2.tgz#e047c2a37e078510a3d1916ec64f0a488ae1f093" + integrity sha512-S9roTDqLtAWaaDBuug69ZnXXGEx0pUq/yG06J759bjRgfAg2P9+dWEv1q7rB2eMIp7HH4L6s3ColDRYdL6tJ9w== + dependencies: + "@module-federation/error-codes" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/runtime-tools@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/runtime-tools/-/runtime-tools-2.3.1.tgz#5321ca09ad9f8fa20acd9d4a86a58b2abe5dd087" @@ -1831,6 +1940,14 @@ "@module-federation/runtime" "2.3.1" "@module-federation/webpack-bundler-runtime" "2.3.1" +"@module-federation/runtime-tools@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/runtime-tools/-/runtime-tools-2.9.2.tgz#4dc57c8d4c2a504125ba3f1e5fd375a3493979a8" + integrity sha512-rhOvimSLLnnocfOVUfAzH2xDq1pHMw4f/nSC+JQhSztEgP/1UslPPvcBcenx3B8/6CoYmBbGa2OIBTJ225ZHAg== + dependencies: + "@module-federation/runtime" "2.9.2" + "@module-federation/webpack-bundler-runtime" "2.9.2" + "@module-federation/runtime@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/runtime/-/runtime-2.3.1.tgz#e67db18b7e720e9f3042e598a42c66f7b7890727" @@ -1840,11 +1957,25 @@ "@module-federation/runtime-core" "2.3.1" "@module-federation/sdk" "2.3.1" +"@module-federation/runtime@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/runtime/-/runtime-2.9.2.tgz#7697f7043a88abc7ebfda2edde35feab52610822" + integrity sha512-1lPZVy7TkMTTBMkkjgQt7jA+9FAx226yQqEz+X0lFAIbpxIWfpzNQLD+7IydEe83ZhDJpK3cv/9bn3jjQBZeqQ== + dependencies: + "@module-federation/error-codes" "2.9.2" + "@module-federation/runtime-core" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@module-federation/sdk@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/sdk/-/sdk-2.3.1.tgz#3cdc007e5cc6deff5421c22cf0788926b7cbc14c" integrity sha512-lgWxFZyLRKDXWRGlV6ROjFJ6MRaJTxs0bBnS6hS9ONfr/0TkeW4JzDbsfzrB8g4p6IgSKB+wQ9XfibJCGBI5OQ== +"@module-federation/sdk@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/sdk/-/sdk-2.9.2.tgz#ad4d260a8a9a87c8ae4a1837f9458aa010142708" + integrity sha512-ILtBFPuYpVcRA/Qay1lJ2hMtZI8fDE/v1n7xiN17e5qx5rSBR3FaamTsmRpN1hIt+gVnoa76CzOP/Y73d8hHNg== + "@module-federation/third-party-dts-extractor@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-2.3.1.tgz#62e8edc60575beb980c493cbf4a832f88d27d0bb" @@ -1854,6 +1985,11 @@ fs-extra "9.1.0" resolve "1.22.8" +"@module-federation/third-party-dts-extractor@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/third-party-dts-extractor/-/third-party-dts-extractor-2.9.2.tgz#d7c3e071a4fa1e12f07d1a34348ce407fcc92bd2" + integrity sha512-FKJVGx+/jIe16RfmwoyIDVMPAttIFJv6AJCLkKf05IRNvI3RJFqQ1tLP1YjcfGuumCbYuWGa4QKnMla7YjVpqg== + "@module-federation/webpack-bundler-runtime@2.3.1": version "2.3.1" resolved "https://registry.yarnpkg.com/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-2.3.1.tgz#8fce2278628d694de55db25c9eaf950afbd98280" @@ -1863,6 +1999,15 @@ "@module-federation/runtime" "2.3.1" "@module-federation/sdk" "2.3.1" +"@module-federation/webpack-bundler-runtime@2.9.2": + version "2.9.2" + resolved "https://registry.yarnpkg.com/@module-federation/webpack-bundler-runtime/-/webpack-bundler-runtime-2.9.2.tgz#52cdf1d422a09fef922886233de140220302380f" + integrity sha512-dDtWiYcCWWgm/mCS7L4KfDHsyr7HwDRnHHS2bgl1H7RQfH4WAi706gT2hhzmV272PI33V7qJHN7Go1d/BamN0Q== + dependencies: + "@module-federation/error-codes" "2.9.2" + "@module-federation/runtime" "2.9.2" + "@module-federation/sdk" "2.9.2" + "@nicolo-ribaudo/eslint-scope-5-internals@5.1.1-v1": version "5.1.1-v1" resolved "https://registry.yarnpkg.com/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz#dbf733a965ca47b1973177dc0bb6c889edcfb129" @@ -2852,6 +2997,11 @@ adm-zip@^0.5.10: resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.5.16.tgz#0b5e4c779f07dedea5805cdccb1147071d94a909" integrity sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ== +adm-zip@^0.6.1: + version "0.6.1" + resolved "https://registry.yarnpkg.com/adm-zip/-/adm-zip-0.6.1.tgz#5b95da4a6e7af0663b71457c06e1517fa6ac8d5f" + integrity sha512-Xwrja8nx9e5o2N1my4DsKCeKpdrnACyr1wtbPxBDgGzKzKyE9kRtBFA8mWldI+RVlD7CBZNWY/wQ2+ydwOR6kQ== + agent-base@6, agent-base@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77" @@ -3449,15 +3599,6 @@ caniuse-lite@^1.0.30001774, caniuse-lite@^1.0.30001782: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001784.tgz#bdf9733a0813ccfb5ab4d02f2127e62ee4c6b718" integrity sha512-WU346nBTklUV9YfUl60fqRbU5ZqyXlqvo1SgigE1OAXK5bFL8LL9q1K7aap3N739l4BvNqnkm3YrGHiY9sfUQw== -capital-case@^1.0.4: - version "1.0.4" - resolved "https://registry.yarnpkg.com/capital-case/-/capital-case-1.0.4.tgz#9d130292353c9249f6b00fa5852bee38a717e669" - integrity sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - chai@^4.1.2: version "4.5.0" resolved "https://registry.yarnpkg.com/chai/-/chai-4.5.0.tgz#707e49923afdd9b13a8b0b47d33d732d13812fd8" @@ -3496,24 +3637,6 @@ chalk@^2.0.1, chalk@^2.1.0, chalk@^2.4.2: escape-string-regexp "^1.0.5" supports-color "^5.3.0" -change-case@^4.1.1: - version "4.1.2" - resolved "https://registry.yarnpkg.com/change-case/-/change-case-4.1.2.tgz#fedfc5f136045e2398c0410ee441f95704641e12" - integrity sha512-bSxY2ws9OtviILG1EiY5K7NNxkqg/JnRnFxLtKQ96JaviiIxi7djMrSd0ECT9AC+lttClmYwKw53BWpOMblo7A== - dependencies: - camel-case "^4.1.2" - capital-case "^1.0.4" - constant-case "^3.0.4" - dot-case "^3.0.4" - header-case "^2.0.4" - no-case "^3.0.4" - param-case "^3.0.4" - pascal-case "^3.1.2" - path-case "^3.0.4" - sentence-case "^3.0.4" - snake-case "^3.0.4" - tslib "^2.0.3" - chardet@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/chardet/-/chardet-2.1.1.tgz#5c75593704a642f71ee53717df234031e65373c8" @@ -3754,15 +3877,6 @@ connect@^3.7.0: parseurl "~1.3.3" utils-merge "1.0.1" -constant-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/constant-case/-/constant-case-3.0.4.tgz#3b84a9aeaf4cf31ec45e6bf5de91bdfb0589faf1" - integrity sha512-I2hSBi7Vvs7BEuJDr5dDHfzb/Ruj3FyvFyh7KLilAjNQw3Be+xgqUBA2W6scVEcL0hL1dwPRtIqEPVUCKkSsyQ== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case "^2.0.2" - content-disposition@~0.5.4: version "0.5.4" resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe" @@ -3988,13 +4102,6 @@ data-view-byte-offset@^1.0.1: es-errors "^1.3.0" is-data-view "^1.0.1" -date-fns@^2.16.1: - version "2.30.0" - resolved "https://registry.yarnpkg.com/date-fns/-/date-fns-2.30.0.tgz#f367e644839ff57894ec6ac480de40cae4b0f4d0" - integrity sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw== - dependencies: - "@babel/runtime" "^7.21.0" - date-format@^4.0.14: version "4.0.14" resolved "https://registry.yarnpkg.com/date-format/-/date-format-4.0.14.tgz#7a8e584434fb169a521c8b7aa481f355810d9400" @@ -4306,21 +4413,11 @@ ee-first@1.1.1: resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -effection@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/effection/-/effection-1.0.0.tgz#7c20ee4ea6e63fddb5a51461dda8009b649b4195" - integrity sha512-ITAAnuI7sJqKhjvYlnm66NHaW7zrXzqgsGsjVaaqFHYDWPN8WylVj46xASfkrtwq5wmklbzy6tvRYaj2C4rDHw== - electron-to-chromium@^1.5.328: version "1.5.330" resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.330.tgz#0efe031938fc8fc82126162a7bd466ba7e24cd38" integrity sha512-jFNydB5kFtYUobh4IkWUnXeyDbjf/r9gcUEXe1xcrcUxIGfTdzPXA+ld6zBRbwvgIGVzDll/LTIiDztEtckSnA== -element-is-visible@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/element-is-visible/-/element-is-visible-1.0.0.tgz#c58f3e7e747615c5528a9594ab3b948067bd5a42" - integrity sha512-OegdS3Zoz+LOcLlZhPEnE8K0DKhxfcbN2JHTDSiH5jTZQgaUk/Dl+nkQ8d8eJzs/qZ21apeS3ezEIHfu6SzyDQ== - emoji-regex@^8.0.0: version "8.0.0" resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" @@ -4979,7 +5076,7 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== -fast-glob@3, fast-glob@^3.2.9, fast-glob@^3.3.1: +fast-glob@3, fast-glob@^3.2.9: version "3.3.3" resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.3.3.tgz#d06d585ce8dba90a16b0505c543c3ccfb3aeb818" integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg== @@ -5613,14 +5710,6 @@ he@^1.2.0: resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== -header-case@^2.0.4: - version "2.0.4" - resolved "https://registry.yarnpkg.com/header-case/-/header-case-2.0.4.tgz#5a42e63b55177349cf405beb8d775acabb92c063" - integrity sha512-H/vuk5TEEVZwrR0lp2zed9OCo1uAILMlx0JEMgC26rzyJJ3N1v6XkwHHXJQdR2doSjcGPM6OKPYoJgf0plJ11Q== - dependencies: - capital-case "^1.0.4" - tslib "^2.0.3" - homedir-polyfill@^1.0.1: version "1.0.3" resolved "https://registry.yarnpkg.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8" @@ -6708,11 +6797,6 @@ lodash.groupby@^4.6.0: resolved "https://registry.yarnpkg.com/lodash.groupby/-/lodash.groupby-4.6.0.tgz#0b08a1dcf68397c397855c3239783832df7403d1" integrity sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== -lodash.isequal@^4.5.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" - integrity sha512-pDo3lu8Jhfjqls6GkMgpahsF9kCyayhgykjyLMNFTKWrpVdAQtYyB4muAMWozBB4ig/dtWAmsMxLEI8wuz+DYQ== - lodash.merge@^4.6.2: version "4.6.2" resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" @@ -7558,14 +7642,6 @@ pascal-case@^3.1.2: no-case "^3.0.4" tslib "^2.0.3" -path-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/path-case/-/path-case-3.0.4.tgz#9168645334eb942658375c56f80b4c0cb5f82c6f" - integrity sha512-qO4qCFjXqVTrcbPt/hQfhTQ+VhFsqNKOPtytgNKkKxSoEp3XPUQ8ObFuePylOIok5gjn69ry8XiULxCwot3Wfg== - dependencies: - dot-case "^3.0.4" - tslib "^2.0.3" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -8279,6 +8355,16 @@ sax@^1.5.0: resolved "https://registry.yarnpkg.com/sax/-/sax-1.6.0.tgz#da59637629307b97e7c4cb28e080a7bc38560d5b" integrity sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA== +schema-utils@4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.0.tgz#3b669f04f71ff2dfb5aba7ce2d5a9d79b35622c0" + integrity sha512-Gf9qqc58SpCA/xdziiHz35F4GNIWYWZrEshUc/G/r5BnLph6xpKuLeoJoQuj5WfBIx/eQLf+hmVPYHaxJu7V2g== + dependencies: + "@types/json-schema" "^7.0.9" + ajv "^8.9.0" + ajv-formats "^2.1.1" + ajv-keywords "^5.1.0" + schema-utils@^4.0.0, schema-utils@^4.2.0, schema-utils@^4.3.0, schema-utils@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-4.3.3.tgz#5b1850912fa31df90716963d45d9121fdfc09f46" @@ -8341,15 +8427,6 @@ send@~0.19.0, send@~0.19.1: range-parser "~1.2.1" statuses "~2.0.2" -sentence-case@^3.0.4: - version "3.0.4" - resolved "https://registry.yarnpkg.com/sentence-case/-/sentence-case-3.0.4.tgz#3645a7b8c117c787fde8702056225bb62a45131f" - integrity sha512-8LS0JInaQMCRoQ7YUytAo/xUu5W2XnQxV2HI/6uM6U7CITS1RqPElr30V6uIqyMKM9lJGRVFy5/4CuzcixNYSg== - dependencies: - no-case "^3.0.4" - tslib "^2.0.3" - upper-case-first "^2.0.2" - serialize-javascript@^6.0.2: version "6.0.2" resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-6.0.2.tgz#defa1e055c83bf6d59ea805d8da862254eb6a6c2" @@ -9182,6 +9259,11 @@ undici-types@~7.18.0: resolved "https://registry.yarnpkg.com/undici-types/-/undici-types-7.18.2.tgz#29357a89e7b7ca4aef3bf0fd3fd0cd73884229e9" integrity sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w== +undici@7.29.1: + version "7.29.1" + resolved "https://registry.yarnpkg.com/undici/-/undici-7.29.1.tgz#7741c6fc8b3e1a48e30323833642bfbe841443ad" + integrity sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q== + unicode-canonical-property-names-ecmascript@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" @@ -9250,20 +9332,6 @@ update-browserslist-db@^1.2.3: escalade "^3.2.0" picocolors "^1.1.1" -upper-case-first@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case-first/-/upper-case-first-2.0.2.tgz#992c3273f882abd19d1e02894cc147117f844324" - integrity sha512-514ppYHBaKwfJRK/pNC6c/OxfGa0obSnAl106u97Ed0I625Nin96KAjttZF6ZL3e1XLtphxnqrOi9iWgm+u+bg== - dependencies: - tslib "^2.0.3" - -upper-case@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-2.0.2.tgz#d89810823faab1df1549b7d97a76f8662bae6f7a" - integrity sha512-KgdgDGJt2TpuwBUIjgG6lzw2GWFRCW9Qkfkiv0DxqHHLYJHmtmdUIKcZd8rHgFSjopVTlw6ggzCm1b8MFQwikg== - dependencies: - tslib "^2.0.3" - uri-js@^4.2.2: version "4.4.1" resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e" @@ -9651,6 +9719,11 @@ ws@8.18.0: resolved "https://registry.yarnpkg.com/ws/-/ws-8.18.0.tgz#0d7505a6eafe2b0e712d232b42279f53bc289bbc" integrity sha512-8VbfWfHLbbwu3+N6OKsOMpBdT4kXPDDB9cJk2bJ6mh9ucxdlnNvH1e+roYkKmN9Nxw2yjz7VzeO9oOz2zJ04Pw== +ws@8.21.3: + version "8.21.3" + resolved "https://registry.yarnpkg.com/ws/-/ws-8.21.3.tgz#660b4faddb6a3e575c86e078126919961f4de4fc" + integrity sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw== + ws@^7.3.1: version "7.5.10" resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.10.tgz#58b5c20dc281633f6c19113f39b349bd8bd558d9" From 4899c9bef7b0f488fe29de2b40f5a560ee3c102e Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Wed, 7 Oct 2026 06:46:48 -0400 Subject: [PATCH 3/8] @folio/stripes-webpack actual dependency version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6a69857..4758acd 100644 --- a/package.json +++ b/package.json @@ -22,7 +22,7 @@ "docs": "node ./lib/doc/generator" }, "dependencies": { - "@folio/stripes-webpack": "folio-org/stripes-webpack#debabel", + "@folio/stripes-webpack": "^8.0.0", "@formatjs/cli": "^6.1.3", "@formatjs/cli-lib": "^6.1.3", "@octokit/rest": "^22.0.1", From 0b24544803077f0a7c6076ce26257bfd18f03aab Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Thu, 8 Oct 2026 13:19:36 -0400 Subject: [PATCH 4/8] updated yarn --- yarn.lock | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 983265f..918b1c7 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1329,9 +1329,10 @@ webpack-remove-empty-scripts "^1.0.1" webpack-virtual-modules "^0.4.3" -"@folio/stripes-webpack@folio-org/stripes-webpack#debabel": - version "7.0.0" - resolved "https://codeload.github.com/folio-org/stripes-webpack/tar.gz/e4177150372c1661d14d3d7dbf1c8c490797547b" +"@folio/stripes-webpack@^8.0.0": + version "8.0.1099000000000378" + resolved "https://repository.folio.org/repository/npm-folioci/@folio/stripes-webpack/-/stripes-webpack-8.0.1099000000000378.tgz#4fad519bcefe5929f92bcc9ce8eb35469539658d" + integrity sha512-scLkCsHn/rskyotjpWqozeGap/hq6tumtsmQdxRMwrNbAGsycptpRARxPKYf3g8+tAk0XQcQj3K/YN+jbmnuBQ== dependencies: "@cerner/duplicate-package-checker-webpack-plugin" "~2.1.0" "@csstools/postcss-global-data" "^3.0.0" From 363bc7dd5a14e66f3f7dc49c387b26cdf1878cd6 Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Thu, 8 Oct 2026 14:26:45 -0400 Subject: [PATCH 5/8] replace babel-plugin-istanbul with istanbul-lib-instrument; actually remove the public export --- index.js | 6 -- lib/istanbul-loader.js | 22 +++++ lib/test/webpack-config.js | 2 +- lib/webpack-common.js | 41 +++------ package.json | 3 +- yarn.lock | 175 ++++++++++++++++++++++++++++++++----- 6 files changed, 189 insertions(+), 60 deletions(-) delete mode 100644 index.js create mode 100644 lib/istanbul-loader.js diff --git a/index.js b/index.js deleted file mode 100644 index 9af0473..0000000 --- a/index.js +++ /dev/null @@ -1,6 +0,0 @@ -const { babelOptions } = require('@folio/stripes-webpack'); - -module.exports = { - babelOptions, -}; - diff --git a/lib/istanbul-loader.js b/lib/istanbul-loader.js new file mode 100644 index 0000000..2ada292 --- /dev/null +++ b/lib/istanbul-loader.js @@ -0,0 +1,22 @@ +// webpack loader that adds istanbul coverage instrumentation to already-transpiled code. +// it is meant to run as a post-loader, i.e. after esbuild-loader, which has no coverage +// support of its own: https://github.com/evanw/esbuild/issues/184 +const { createInstrumenter } = require('istanbul-lib-instrument'); + +const instrumenter = createInstrumenter({ + esModules: true, + compact: false, + produceSourceMap: true, + autoWrap: true, +}); + +module.exports = function istanbulLoader(source, inputSourceMap) { + const callback = this.async(); + instrumenter.instrument(source, this.resourcePath, (err, code) => { + if (err) { + callback(err); + } else { + callback(null, code, instrumenter.lastSourceMap() || inputSourceMap); + } + }, inputSourceMap || undefined); +}; diff --git a/lib/test/webpack-config.js b/lib/test/webpack-config.js index c3aade1..d3f6b60 100644 --- a/lib/test/webpack-config.js +++ b/lib/test/webpack-config.js @@ -30,7 +30,7 @@ module.exports = function getStripesWebpackConfig(stripeCore, stripesConfig, opt config.resolve.modules = ['node_modules', platformModulePath, coreModulePath]; config.resolveLoader = { modules: ['node_modules', platformModulePath, coreModulePath] }; - // Inject babel-plugin-istanbul when coverage is enabled + // Add the istanbul loader when coverage is enabled if (options.coverage) { enableCoverage(config); } diff --git a/lib/webpack-common.js b/lib/webpack-common.js index a71710d..4d25478 100644 --- a/lib/webpack-common.js +++ b/lib/webpack-common.js @@ -1,6 +1,5 @@ const fs = require('fs'); const path = require('path'); -const { set } = require('lodash'); const webpack = require('webpack'); const logger = require('./cli/logger')('webpack'); @@ -104,39 +103,21 @@ function shouldModuleBeIncluded(modulePath) { return !nodeModulesRegex.test(modulePath); } -// test coverage is activated by including the instrumentation plugin to the babel plugin stack. -// the test stack currently includes es-build for dev and production, but unfortunately, the tool includes +// test coverage is activated by adding an istanbul instrumentation loader after the transpiler. +// the test stack includes es-build for dev and production, but unfortunately, the tool includes // no test coverage instrumentation :o( https://github.com/evanw/esbuild/issues/184 function enableCoverage(config) { - const babelLoaderConfigIndex = config.module.rules.findIndex((rule) => { - return rule?.oneOf?.[1]?.use?.[0].loader === 'babel-loader'; - }); - - if (!config.module.rules[babelLoaderConfigIndex]?.oneOf?.[1].use[0].options?.plugins) { - set(config.module.rules[babelLoaderConfigIndex], 'oneOf[1].use[0].options.plugins', []); - } + // exclude test and story files from coverage reports here. + const excludeRegex = /(\.test\.js|[\\/]tests[\\/][^\\/]+\.js|[\\/]stories[\\/][^\\/]+\.js)$/; - // only use babel configuration for test coverage.. - const babelConfigurationItem = config.module.rules[babelLoaderConfigIndex].oneOf[1]; - - // exclude files from coverage reports here. - config.module.rules[babelLoaderConfigIndex].oneOf[1].use[0].options.plugins.push( - [require.resolve('babel-plugin-istanbul'), { - exclude: [ - '**/*.test.js', - '**/tests/*.js', - '**/stories/*.js', - '/node_modules/*' - ] - }] - ); - - babelConfigurationItem.test = /\.js$/; - babelConfigurationItem.include = shouldModuleBeIncluded; - - // replace the esbuild tooling with babel-loader - set(config.module, `rules[${babelLoaderConfigIndex}]`, babelConfigurationItem); + config.module.rules.push({ + test: /\.js$/, + enforce: 'post', + include: shouldModuleBeIncluded, + exclude: excludeRegex, + loader: require.resolve('./istanbul-loader'), + }); return config; } diff --git a/package.json b/package.json index f9a2272..36a3e20 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,6 @@ "engines": { "node": ">=22.12.0" }, - "main": "index.js", "bin": { "stripes": "./lib/stripes-cli.js" }, @@ -26,7 +25,6 @@ "@formatjs/cli": "^6.1.3", "@formatjs/cli-lib": "^6.1.3", "@octokit/rest": "^22.0.1", - "babel-plugin-istanbul": "^6.0.0", "configstore": "^3.1.1", "debug": "^4.0.1", "express": "^4.17.1", @@ -40,6 +38,7 @@ "inquirer": "^8.2.0", "is-installed-globally": "^0.4.0", "is-path-inside": "^1.0.1", + "istanbul-lib-instrument": "^6.0.3", "istanbul-reports": "^3.1.4", "just-kebab-case": "^4.2.0", "just-pascal-case": "^1.0.0", diff --git a/yarn.lock b/yarn.lock index 918b1c7..39fee2d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -18,12 +18,26 @@ js-tokens "^4.0.0" picocolors "^1.1.1" +"@babel/code-frame@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.29.7.tgz#f2fbbfea87c44a21590ec515b778b2c26d8866e7" + integrity sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== + dependencies: + "@babel/helper-validator-identifier" "^7.29.7" + js-tokens "^4.0.0" + picocolors "^1.1.1" + "@babel/compat-data@^7.28.6", "@babel/compat-data@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.0.tgz#00d03e8c0ac24dd9be942c5370990cbe1f17d88d" integrity sha512-T1NCJqT/j9+cn8fvkt7jtwbLBfLC/1y1c7NtCeXFRgzGTsafi68MRv8yzkYSapBnFA6L3U2VSc02ciDzoAJhJg== -"@babel/core@^7.12.3", "@babel/core@^7.18.13", "@babel/core@^7.21.3", "@babel/core@^7.7.5", "@babel/core@^7.9.0": +"@babel/compat-data@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.29.7.tgz#6f0237f0f36d2e51c0570a636faed9d2d0efe629" + integrity sha512-locTkQyKvwIEgBzVrn8693ebc97F2U8ZHjbXwDXJ5Fn2TCpNwTlKcaKLkdHop5c/icOFE7qt7Q9JC5hnKNa6Gg== + +"@babel/core@^7.18.13", "@babel/core@^7.21.3", "@babel/core@^7.7.5", "@babel/core@^7.9.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.0.tgz#5286ad785df7f79d656e88ce86e650d16ca5f322" integrity sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA== @@ -44,6 +58,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.23.9": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.29.7.tgz#80c10b17248082968b57a857b91640971f2070f7" + integrity sha512-RgHBCvtjbOK2gXSNBNIkNoEc9qoVEtau3hj8gEqKQuL3HZAibKarWFEI3Lfm6EYKkLalOh8eSrj9b+ch9H/VBA== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.7" + "@babel/helper-compilation-targets" "^7.29.7" + "@babel/helper-module-transforms" "^7.29.7" + "@babel/helpers" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/template" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + "@jridgewell/remapping" "^2.3.5" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/eslint-parser@^7.15.0": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/eslint-parser/-/eslint-parser-7.28.6.tgz#6a294a4add732ebe7ded8a8d2792dd03dd81dc3f" @@ -64,6 +99,17 @@ "@jridgewell/trace-mapping" "^0.3.28" jsesc "^3.0.2" +"@babel/generator@^7.29.7", "@babel/generator@^7.29.8": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.29.8.tgz#4b0b887885422643339e09022148a4c4ebaa4979" + integrity sha512-gZbepsdh3WDtgZKWL+vTPh71LSBrm/Y4/QDZBVCcYfmeTEEuoOYwlSy+G1StfJg+/Zy550u/3TATbm7qDbbMtg== + dependencies: + "@babel/parser" "^7.29.8" + "@babel/types" "^7.29.8" + "@jridgewell/gen-mapping" "^0.3.12" + "@jridgewell/trace-mapping" "^0.3.28" + jsesc "^3.0.2" + "@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3": version "7.27.3" resolved "https://registry.yarnpkg.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5" @@ -82,6 +128,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.29.7.tgz#7a1def704302401c47f64fa85589e974ae217042" + integrity sha512-wem6WaBj4NaVYVdNhLPPVacES6ZJ+KBBfSkTMD3YZxbP3rm3Di85tJU5ljaUNhaOynt+Aj0xruhYuzQBt8n71g== + dependencies: + "@babel/compat-data" "^7.29.7" + "@babel/helper-validator-option" "^7.29.7" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.28.6.tgz#611ff5482da9ef0db6291bcd24303400bca170fb" @@ -120,6 +177,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.28.0.tgz#b9430df2aa4e17bc28665eadeae8aa1d985e6674" integrity sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw== +"@babel/helper-globals@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-globals/-/helper-globals-7.29.7.tgz#f04a96fbd8473241b1079243f5b3f03a3010ab7b" + integrity sha512-3nQVUAtvkKH9zahfWgw96Jc/uFOmjACE1kQz82E2lqWmHBgjzbNlsC22nuQTfahmWeQtTq5nQ/4Nnd2A1wj4zA== + "@babel/helper-member-expression-to-functions@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.28.5.tgz#f3e07a10be37ed7a63461c63e6929575945a6150" @@ -136,6 +198,14 @@ "@babel/traverse" "^7.28.6" "@babel/types" "^7.28.6" +"@babel/helper-module-imports@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.29.7.tgz#ef25048a518e828d7393fac5882ddd73921d7396" + integrity sha512-ejHwrQQYcm9xnTivShn2IDOlIzInN34AXskvq9QicvCtEzq1Vzclu/tKF8Jq1Cg8JG2GL6/EmjgsCT7lXepE3g== + dependencies: + "@babel/traverse" "^7.29.7" + "@babel/types" "^7.29.7" + "@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.28.6": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz#9312d9d9e56edc35aeb6e95c25d4106b50b9eb1e" @@ -145,6 +215,15 @@ "@babel/helper-validator-identifier" "^7.28.5" "@babel/traverse" "^7.28.6" +"@babel/helper-module-transforms@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.29.7.tgz#b062747a5997ba138637201328bbff77960574ae" + integrity sha512-UPUVSyXbOh627KiCIGQSgwWzGeBKLkaJ9PJEdrngIwMSzxLR4jS4+f1f1jb7VzBbg8nFLaYotvVPFCTqdrmTAg== + dependencies: + "@babel/helper-module-imports" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@babel/traverse" "^7.29.7" + "@babel/helper-optimise-call-expression@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200" @@ -188,16 +267,31 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687" integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA== +"@babel/helper-string-parser@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz#7f0871d99824d23137d60f86fcf6130fd5a1b51f" + integrity sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw== + "@babel/helper-validator-identifier@^7.25.9", "@babel/helper-validator-identifier@^7.28.5": version "7.28.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz#010b6938fab7cb7df74aa2bbc06aa503b8fe5fb4" integrity sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q== +"@babel/helper-validator-identifier@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz#bd87084ced0c796ec46bda492de6e83d29e89fc2" + integrity sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== + "@babel/helper-validator-option@^7.27.1": version "7.27.1" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f" integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg== +"@babel/helper-validator-option@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.29.7.tgz#cf315be940213b354eb4abcc0bd01ebe3f73bc2a" + integrity sha512-N9ZErrD+yW5geCDtBqnOoxmR8+tNKiGuxKlDpuJxfsqpa2dFcexaziGAE/qoHLiDDreVNMupxGmSoNlyvsA3gw== + "@babel/helper-wrap-function@^7.27.1": version "7.28.6" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.28.6.tgz#4e349ff9222dab69a93a019cc296cdd8442e279a" @@ -215,6 +309,14 @@ "@babel/template" "^7.28.6" "@babel/types" "^7.29.0" +"@babel/helpers@^7.29.7": + version "7.29.10" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.29.10.tgz#d662b4a2d66cc6cf02bc50e8aced023fbc8649e9" + integrity sha512-EMCx3AGZ3WfAl6ht7AyQoPm2Lh+BGYEMdc4Q6Hf7uSCDOZFuLq44qNwL+iaim8VlyYhRAo4X43+weadK8ZB4Yg== + dependencies: + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.8" + "@babel/highlight@^7.10.4": version "7.25.9" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.25.9.tgz#8141ce68fc73757946f983b343f1231f4691acc6" @@ -225,7 +327,14 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.14.7", "@babel/parser@^7.28.6", "@babel/parser@^7.29.0": +"@babel/parser@^7.23.9", "@babel/parser@^7.29.7", "@babel/parser@^7.29.8", "@babel/parser@^7.29.9": + version "7.29.9" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.9.tgz#e7ee0a24f752c5296c6455855ccb72662e67ea96" + integrity sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA== + dependencies: + "@babel/types" "^7.29.8" + +"@babel/parser@^7.28.6", "@babel/parser@^7.29.0": version "7.29.2" resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.29.2.tgz#58bd50b9a7951d134988a1ae177a35ef9a703ba1" integrity sha512-4GgRzy/+fsBa72/RZVJmGKPmZu9Byn8o4MoLpmNe1m8ZfYnz5emHLQz3U4gLud6Zwl0RZIcgiLD7Uq7ySFuDLA== @@ -962,6 +1071,15 @@ "@babel/parser" "^7.28.6" "@babel/types" "^7.28.6" +"@babel/template@^7.29.7": + version "7.29.7" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.29.7.tgz#4d9d4004f645cdd304de958c725162784ecac700" + integrity sha512-puq+Gf35oI24FeN11LkoUQFqv9uwNeWpxXZi/Ji3rRIoKAzKnxRaZ+Gkj0vKS9ZCiTESfng1N9LyOyXvo+m+Gg== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/parser" "^7.29.7" + "@babel/types" "^7.29.7" + "@babel/traverse@^7.27.1", "@babel/traverse@^7.28.5", "@babel/traverse@^7.28.6", "@babel/traverse@^7.29.0": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.0.tgz#f323d05001440253eead3c9c858adbe00b90310a" @@ -975,6 +1093,19 @@ "@babel/types" "^7.29.0" debug "^4.3.1" +"@babel/traverse@^7.29.7": + version "7.29.10" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.29.10.tgz#08ab387639b4a67304511259c7da6cf23a82e91c" + integrity sha512-B3lYAs2nkKskbgQ1nfy8Ma9ao9Q1rntTAQHrzzyDuj+TSO+X3le6PfWwqDvodsb+OumE10eMFfuMCTQSQ5iuIQ== + dependencies: + "@babel/code-frame" "^7.29.7" + "@babel/generator" "^7.29.8" + "@babel/helper-globals" "^7.29.7" + "@babel/parser" "^7.29.9" + "@babel/template" "^7.29.7" + "@babel/types" "^7.29.8" + debug "^4.3.1" + "@babel/types@^7.21.3", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.28.5", "@babel/types@^7.28.6", "@babel/types@^7.29.0", "@babel/types@^7.4.4": version "7.29.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.0.tgz#9f5b1e838c446e72cf3cd4b918152b8c605e37c7" @@ -983,6 +1114,14 @@ "@babel/helper-string-parser" "^7.27.1" "@babel/helper-validator-identifier" "^7.28.5" +"@babel/types@^7.29.7", "@babel/types@^7.29.8": + version "7.29.8" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.29.8.tgz#1229eef31d85156d70fa3f4cd859376d0eaf6863" + integrity sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== + dependencies: + "@babel/helper-string-parser" "^7.29.7" + "@babel/helper-validator-identifier" "^7.29.7" + "@cerner/duplicate-package-checker-webpack-plugin@~2.1.0": version "2.1.0" resolved "https://registry.yarnpkg.com/@cerner/duplicate-package-checker-webpack-plugin/-/duplicate-package-checker-webpack-plugin-2.1.0.tgz#ae2f777319d98815df851490ca6dbeef7a42ae16" @@ -1499,6 +1638,11 @@ resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.3.tgz#e45e384e4b8ec16bce2fd903af78450f6bf7ec98" integrity sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA== +"@istanbuljs/schema@^0.1.3": + version "0.1.6" + resolved "https://registry.yarnpkg.com/@istanbuljs/schema/-/schema-0.1.6.tgz#8dc9afa2ac1506cb1a58f89940f1c124446c8df3" + integrity sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw== + "@jridgewell/gen-mapping@^0.3.12", "@jridgewell/gen-mapping@^0.3.5": version "0.3.13" resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz#6342a19f44347518c93e43b1ac69deb3c4656a1f" @@ -3321,17 +3465,6 @@ babel-loader@^9.1.3: find-cache-dir "^4.0.0" schema-utils "^4.0.0" -babel-plugin-istanbul@^6.0.0: - version "6.1.1" - resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" - integrity sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA== - dependencies: - "@babel/helper-plugin-utils" "^7.0.0" - "@istanbuljs/load-nyc-config" "^1.0.0" - "@istanbuljs/schema" "^0.1.2" - istanbul-lib-instrument "^5.0.4" - test-exclude "^6.0.0" - babel-plugin-polyfill-corejs2@^0.4.15: version "0.4.17" resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.17.tgz#198f970f1c99a856b466d1187e88ce30bd199d91" @@ -6372,16 +6505,16 @@ istanbul-lib-instrument@^4.0.0: istanbul-lib-coverage "^3.0.0" semver "^6.3.0" -istanbul-lib-instrument@^5.0.4: - version "5.2.1" - resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz#d10c8885c2125574e1c231cacadf955675e1ce3d" - integrity sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg== +istanbul-lib-instrument@^6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz#fa15401df6c15874bcb2105f773325d78c666765" + integrity sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q== dependencies: - "@babel/core" "^7.12.3" - "@babel/parser" "^7.14.7" - "@istanbuljs/schema" "^0.1.2" + "@babel/core" "^7.23.9" + "@babel/parser" "^7.23.9" + "@istanbuljs/schema" "^0.1.3" istanbul-lib-coverage "^3.2.0" - semver "^6.3.0" + semver "^7.5.4" istanbul-lib-processinfo@^2.0.2: version "2.0.3" From 9c658f65cc5ab46893bd5b28d987b457623a6134 Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Thu, 8 Oct 2026 14:32:16 -0400 Subject: [PATCH 6/8] CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29fda55..6521bf7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,7 @@ * Resolve workspace command failure after package-manager support refactor. Fill out additional package-manager language gaps. STCLI-287 * Remove `update-notifier` dependency. Re-implement locally. Refs STCLI-288. * Use node-native glob functionality in `translate compile`. Refs STCLI-273. +* *BREAKING* bump `@folio/stripes-webpack` to v8;, remove `babelOptions` public export and orphaned `@folio/stripes-testing` dependency. Refs STCLI-292. ## [5.0.0](https://github.com/folio-org/stripes-cli/tree/v5.0.0) (2026-04-15) [Full Changelog](https://github.com/folio-org/stripes-cli/compare/v4.0.0...v5.0.0) From 1a4d06637d27cc0bd5bd31cd18a2c27af1039ece Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Thu, 8 Oct 2026 15:30:18 -0400 Subject: [PATCH 7/8] new tests for new loader --- test/lib/istanbul-loader.spec.js | 39 ++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 test/lib/istanbul-loader.spec.js diff --git a/test/lib/istanbul-loader.spec.js b/test/lib/istanbul-loader.spec.js new file mode 100644 index 0000000..2c7c88e --- /dev/null +++ b/test/lib/istanbul-loader.spec.js @@ -0,0 +1,39 @@ +const expect = require('chai').expect; + +const istanbulLoader = require('../../lib/istanbul-loader'); + +// run the loader the way webpack would, resolving with its (err, code, map) callback args +function runLoader(source, inputSourceMap) { + return new Promise((resolve) => { + const context = { + resourcePath: '/project/src/example.js', + async: () => (err, code, map) => resolve({ err, code, map }), + }; + istanbulLoader.call(context, source, inputSourceMap); + }); +} + +describe('The istanbul loader', function () { + it('adds coverage counters to ES module source', async function () { + const { err, code } = await runLoader('export const add = (a, b) => a + b;'); + + expect(err).to.equal(null); + expect(code).to.include('__coverage__'); + expect(code).to.include('/project/src/example.js'); + expect(code).to.include('export const add'); + }); + + it('emits a source map', async function () { + const { map } = await runLoader('export const add = (a, b) => a + b;'); + + expect(map).to.be.an('object'); + expect(map).to.have.property('mappings'); + }); + + it('passes syntax errors to the callback', async function () { + const { err, code } = await runLoader('export const = ;'); + + expect(err).to.be.an('error'); + expect(code).to.equal(undefined); + }); +}); From 540276197b92c5a8230304a46e1e3284badf0bb8 Mon Sep 17 00:00:00 2001 From: Zak Burke Date: Mon, 12 Oct 2026 14:51:34 -0400 Subject: [PATCH 8/8] correct exclude reg; array of regex is simpler to parse --- lib/webpack-common.js | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/lib/webpack-common.js b/lib/webpack-common.js index 4d25478..cb3c227 100644 --- a/lib/webpack-common.js +++ b/lib/webpack-common.js @@ -108,8 +108,14 @@ function shouldModuleBeIncluded(modulePath) { // no test coverage instrumentation :o( https://github.com/evanw/esbuild/issues/184 function enableCoverage(config) { - // exclude test and story files from coverage reports here. - const excludeRegex = /(\.test\.js|[\\/]tests[\\/][^\\/]+\.js|[\\/]stories[\\/][^\\/]+\.js)$/; + // exclude node_modules (shouldModuleBeIncluded lets @folio modules through so they get transpiled, + // but they should not be in coverage reports) and test and story files from coverage reports here. + const excludeRegex = [ + /[\\/]node_modules[\\/]/, + /\.test\.js$/, + /[\\/]tests[\\/][^\\/]+\.js$/, + /[\\/]stories[\\/][^\\/]+\.js$/, + ]; config.module.rules.push({ test: /\.js$/,