diff --git a/babel.config.js b/babel.config.js index 87772455a3f..656064a1994 100644 --- a/babel.config.js +++ b/babel.config.js @@ -1 +1 @@ -module.exports = require('kolibri-build/babel.config'); +module.exports = require('kolibri-jest-config/jest.conf/babel.config'); diff --git a/kolibri/core/buildConfig.js b/kolibri/core/buildConfig.js index 4e7355f9833..0ba7b7fec6c 100644 --- a/kolibri/core/buildConfig.js +++ b/kolibri/core/buildConfig.js @@ -1,4 +1,5 @@ // This is only used during build time, so OK to reference files outside of Kolibri src. +const path = require('node:path'); const { kolibriName } = require('kolibri-build'); module.exports = [ @@ -11,6 +12,30 @@ module.exports = [ libraryExport: 'default', libraryTarget: 'window', }, + module: { + rules: [ + { + // Use babel-loader only for the entry file that imports core-js, + // so that @babel/preset-env can expand `import 'core-js'` into + // granular polyfill imports based on the browserslist targets. + test: /\.(js|mjs)$/, + include: [path.resolve(__dirname, 'frontend/index.js')], + loader: 'babel-loader', + options: { + presets: [ + [ + '@babel/preset-env', + { + useBuiltIns: 'entry', + corejs: '3.31', + }, + ], + ], + sourceType: 'unambiguous', + }, + }, + ], + }, }, }, ]; diff --git a/kolibri/core/package.json b/kolibri/core/package.json index acfb9302e76..bf821ef35d2 100644 --- a/kolibri/core/package.json +++ b/kolibri/core/package.json @@ -4,7 +4,10 @@ "private": true, "version": "0.0.1", "dependencies": { + "@babel/core": "^7.29.0", + "@babel/preset-env": "^7.29.2", "@vueuse/core": "catalog:", + "babel-loader": "^10.1.1", "browserslist-config-kolibri": "workspace:*", "core-js": "catalog:", "kolibri": "workspace:*", diff --git a/package.json b/package.json index 6054709d730..f2771a2a1b0 100644 --- a/package.json +++ b/package.json @@ -91,6 +91,7 @@ "vue-demi" ], "onlyBuiltDependencies": [ + "@swc/core", "core-js", "deasync", "es5-ext", diff --git a/packages/kolibri-build/babel.config.js b/packages/kolibri-build/babel.config.js deleted file mode 100644 index 0b86417072d..00000000000 --- a/packages/kolibri-build/babel.config.js +++ /dev/null @@ -1,13 +0,0 @@ -module.exports = { - presets: [ - [ - '@babel/preset-env', - { - useBuiltIns: 'entry', - corejs: '3.31', - }, - ], - ], - plugins: ['@babel/plugin-syntax-import-assertions'], - sourceType: 'unambiguous', -}; diff --git a/packages/kolibri-build/package.json b/packages/kolibri-build/package.json index c9f9b51bd90..b4b525b509a 100644 --- a/packages/kolibri-build/package.json +++ b/packages/kolibri-build/package.json @@ -1,6 +1,6 @@ { "name": "kolibri-build", - "version": "1.0.0", + "version": "1.1.0", "description": "Build tools and webpack configuration for Kolibri", "repository": { "type": "git", @@ -15,15 +15,11 @@ "kolibri-build": "./src/cli.js" }, "dependencies": { - "@babel/core": "^7.29.0", - "@babel/plugin-syntax-import-assertions": "^7.27.1", - "@babel/plugin-transform-runtime": "^7.29.0", - "@babel/preset-env": "^7.29.2", + "@swc/core": "^1.11.29", + "swc-loader": "^0.2.6", "autoprefixer": "10.4.23", - "babel-loader": "^10.1.1", "browserslist-config-kolibri": "0.18.0", "commander": "^14.0.3", - "core-js": "^3", "css-loader": "7.1.2", "css-minimizer-webpack-plugin": "7.0.4", "enhanced-resolve": "^5.20.1", diff --git a/packages/kolibri-build/src/webpack.config.base.js b/packages/kolibri-build/src/webpack.config.base.js index 491083515aa..97afbe6c2c6 100644 --- a/packages/kolibri-build/src/webpack.config.base.js +++ b/packages/kolibri-build/src/webpack.config.base.js @@ -75,7 +75,7 @@ module.exports = ({ mode = 'development', hot = false, cache = false, transpile if (transpile) { rules.push({ test: /\.(js|mjs)$/, - loader: require.resolve('babel-loader'), + loader: require.resolve('swc-loader'), exclude: [ // From: https://webpack.js.org/loaders/babel-loader/#exclude-libraries-that-should-not-be-transpiled // \\ for Windows, / for macOS and Linux @@ -83,8 +83,15 @@ module.exports = ({ mode = 'development', hot = false, cache = false, transpile /node_modules[\\/]webpack[\\/]buildin/, ], options: { - cacheDirectory: cache, - cacheCompression: false, + env: { + targets: require('browserslist-config-kolibri'), + }, + jsc: { + parser: { + syntax: 'ecmascript', + importAssertions: true, + }, + }, }, }); } @@ -108,9 +115,10 @@ module.exports = ({ mode = 'development', hot = false, cache = false, transpile optimization: { minimizer: [ new TerserPlugin({ - parallel: true, + minify: TerserPlugin.swcMinify, terserOptions: { - // Don't specify mangle, as it is true by default. + compress: true, + mangle: true, output: { comments: false, }, diff --git a/packages/kolibri-jest-config/jest.conf/babel.config.js b/packages/kolibri-jest-config/jest.conf/babel.config.js index 87d7e99ccc3..da5409b48d0 100644 --- a/packages/kolibri-jest-config/jest.conf/babel.config.js +++ b/packages/kolibri-jest-config/jest.conf/babel.config.js @@ -1,5 +1,13 @@ -const babelConfig = require('kolibri-build/babel.config'); - -babelConfig.plugins.push('@babel/plugin-transform-runtime'); - -module.exports = babelConfig; +module.exports = { + presets: [ + [ + '@babel/preset-env', + { + useBuiltIns: 'entry', + corejs: '3.31', + }, + ], + ], + plugins: ['@babel/plugin-syntax-import-assertions', '@babel/plugin-transform-runtime'], + sourceType: 'unambiguous', +}; diff --git a/packages/kolibri-jest-config/package.json b/packages/kolibri-jest-config/package.json index 814f6677235..dbd52634e4c 100644 --- a/packages/kolibri-jest-config/package.json +++ b/packages/kolibri-jest-config/package.json @@ -12,11 +12,14 @@ "private": false, "main": "jest.conf/index.js", "dependencies": { + "@babel/core": "^7.29.0", + "@babel/plugin-syntax-import-assertions": "^7.27.1", "@babel/plugin-transform-runtime": "^7.29.0", + "@babel/preset-env": "^7.29.2", "aphrodite": "^2.4.0", + "core-js": "^3", "intl": "^1.2.4", "kolibri": "workspace:*", - "kolibri-build": "workspace:*", "kolibri-design-system": "catalog:", "kolibri-logging": "workspace:*", "regenerator-runtime": "^0.14.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 33b20bc18e3..b0691d2124e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -136,9 +136,18 @@ importers: kolibri/core: dependencies: + '@babel/core': + specifier: ^7.29.0 + version: 7.29.0 + '@babel/preset-env': + specifier: ^7.29.2 + version: 7.29.2(@babel/core@7.29.0) '@vueuse/core': specifier: 'catalog:' version: 11.3.0(vue@2.7.16) + babel-loader: + specifier: ^10.1.1 + version: 10.1.1(@babel/core@7.29.0)(webpack@5.105.4) browserslist-config-kolibri: specifier: workspace:* version: link:../../packages/browserslist-config-kolibri @@ -1165,33 +1174,18 @@ importers: packages/kolibri-build: dependencies: - '@babel/core': - specifier: ^7.29.0 - version: 7.29.0 - '@babel/plugin-syntax-import-assertions': - specifier: ^7.27.1 - version: 7.28.6(@babel/core@7.29.0) - '@babel/plugin-transform-runtime': - specifier: ^7.29.0 - version: 7.29.0(@babel/core@7.29.0) - '@babel/preset-env': - specifier: ^7.29.2 - version: 7.29.2(@babel/core@7.29.0) + '@swc/core': + specifier: ^1.11.29 + version: 1.15.24 autoprefixer: specifier: 10.4.23 version: 10.4.23(postcss@8.5.6) - babel-loader: - specifier: ^10.1.1 - version: 10.1.1(@babel/core@7.29.0)(webpack@5.104.1) browserslist-config-kolibri: specifier: 0.18.0 version: 0.18.0 commander: specifier: ^14.0.3 version: 14.0.3 - core-js: - specifier: ^3 - version: 3.47.0 css-loader: specifier: 7.1.2 version: 7.1.2(webpack@5.104.1) @@ -1237,12 +1231,15 @@ importers: style-loader: specifier: ^4.0.0 version: 4.0.0(webpack@5.104.1) + swc-loader: + specifier: ^0.2.6 + version: 0.2.7(@swc/core@1.15.24)(webpack@5.104.1) temp: specifier: ^0.8.3 version: 0.8.4 terser-webpack-plugin: specifier: ^5.3.16 - version: 5.3.16(webpack@5.104.1) + version: 5.3.16(@swc/core@1.15.24)(webpack@5.104.1) url-loader: specifier: ^4.1.1 version: 4.1.1(webpack@5.104.1) @@ -1257,7 +1254,7 @@ importers: version: 2.7.16 webpack: specifier: ^5.102.0 - version: 5.104.1(webpack-cli@7.0.2) + version: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) webpack-cli: specifier: ^7.0.2 version: 7.0.2(webpack-dev-server@5.2.3)(webpack@5.104.1) @@ -1366,7 +1363,7 @@ importers: version: 1.0.0-beta.5(eslint-plugin-import@2.32.0(eslint@9.39.4(jiti@2.6.1)))(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-import-x: specifier: ^4.0.0 - version: 4.16.1(@typescript-eslint/utils@8.58.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) + version: 4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)) eslint-plugin-jest: specifier: ^29.15.1 version: 29.15.1(eslint@9.39.4(jiti@2.6.1))(jest@30.2.0(@types/node@25.0.9))(typescript@5.9.3) @@ -1512,9 +1509,18 @@ importers: packages/kolibri-jest-config: dependencies: + '@babel/core': + specifier: ^7.29.0 + version: 7.29.0 + '@babel/plugin-syntax-import-assertions': + specifier: ^7.27.1 + version: 7.28.6(@babel/core@7.29.0) '@babel/plugin-transform-runtime': specifier: ^7.29.0 version: 7.29.0(@babel/core@7.29.0) + '@babel/preset-env': + specifier: ^7.29.2 + version: 7.29.2(@babel/core@7.29.0) '@testing-library/jest-dom': specifier: ^6.6.4 version: 6.9.1 @@ -1533,6 +1539,9 @@ importers: babel-jest: specifier: ^30.2.0 version: 30.2.0(@babel/core@7.29.0) + core-js: + specifier: ^3 + version: 3.47.0 intl: specifier: ^1.2.4 version: 1.2.5 @@ -1548,9 +1557,6 @@ importers: kolibri: specifier: workspace:* version: link:../kolibri - kolibri-build: - specifier: workspace:* - version: link:../kolibri-build kolibri-design-system: specifier: 'catalog:' version: 5.6.1 @@ -3359,6 +3365,99 @@ packages: '@sinonjs/fake-timers@13.0.5': resolution: {integrity: sha512-36/hTbH2uaWuGVERyC6da9YwGWnzUZXuPro/F2LfsdOsLnCojz/iSH8MxUt/FD2S5XBSVPhmArFUXcpCQ2Hkiw==} + '@swc/core-darwin-arm64@1.15.24': + resolution: {integrity: sha512-uM5ZGfFXjtvtJ+fe448PVBEbn/CSxS3UAyLj3O9xOqKIWy3S6hPTXSPbszxkSsGDYKi+YFhzAsR4r/eXLxEQ0g==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.15.24': + resolution: {integrity: sha512-fMIb/Zfn929pw25VMBhV7Ji2Dl+lCWtUPNdYJQYOke+00E5fcQ9ynxtP8+qhUo/HZc+mYQb1gJxwHM9vty+lXg==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.15.24': + resolution: {integrity: sha512-vOkjsyjjxnoYx3hMEWcGxQrMgnNrRm6WAegBXrN8foHtDAR+zpdhpGF5a4lj1bNPgXAvmysjui8cM1ov/Clkaw==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.15.24': + resolution: {integrity: sha512-h/oNu+upkXJ6Cicnq7YGVj9PkdfarLCdQa8l/FlHYvfv8CEiMaeeTnpLU7gSBH/rGxosM6Qkfa/J9mThGF9CLA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-arm64-musl@1.15.24': + resolution: {integrity: sha512-ZpF/pRe1guk6sKzQI9D1jAORtjTdNlyeXn9GDz8ophof/w2WhojRblvSDJaGe7rJjcPN8AaOkhwdRUh7q8oYIg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + libc: [musl] + + '@swc/core-linux-ppc64-gnu@1.15.24': + resolution: {integrity: sha512-QZEsZfisHTSJlmyChgDFNmKPb3W6Lhbfo/O76HhIngfEdnQNmukS38/VSe1feho+xkV5A5hETyCbx3sALBZKAQ==} + engines: {node: '>=10'} + cpu: [ppc64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-s390x-gnu@1.15.24': + resolution: {integrity: sha512-DLdJKVsJgglqQrJBuoUYNmzm3leI7kUZhLbZGHv42onfKsGf6JDS3+bzCUQfte/XOqDjh/tmmn1DR/CF/tCJFw==} + engines: {node: '>=10'} + cpu: [s390x] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-gnu@1.15.24': + resolution: {integrity: sha512-IpLYfposPA/XLxYOKpRfeccl1p5dDa3+okZDHHTchBkXEaVCnq5MADPmIWwIYj1tudt7hORsEHccG5no6IUQRw==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [glibc] + + '@swc/core-linux-x64-musl@1.15.24': + resolution: {integrity: sha512-JHy3fMSc0t/EPWgo74+OK5TGr51aElnzqfUPaiRf2qJ/BfX5CUCfMiWVBuhI7qmVMBnk1jTRnL/xZnOSHDPLYg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + libc: [musl] + + '@swc/core-win32-arm64-msvc@1.15.24': + resolution: {integrity: sha512-Txj+qUH1z2bUd1P3JvwByfjKFti3cptlAxhWgmunBUUxy/IW3CXLZ6l6Gk4liANadKkU71nIU1X30Z5vpMT3BA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.15.24': + resolution: {integrity: sha512-15D/nl3XwrhFpMv+MADFOiVwv3FvH9j8c6Rf8EXBT3Q5LoMh8YnDnSgPYqw1JzPnksvsBX6QPXLiPqmcR/Z4qQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.15.24': + resolution: {integrity: sha512-PR0PlTlPra2JbaDphrOAzm6s0v9rA0F17YzB+XbWD95B4g2cWcZY9LAeTa4xll70VLw9Jr7xBrlohqlQmelMFQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.15.24': + resolution: {integrity: sha512-5Hj8aNasue7yusUt8LGCUe/AjM7RMAce8ZoyDyiFwx7Al+GbYKL+yE7g4sJk8vEr1dKIkTRARkNIJENc4CjkBQ==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '>=0.5.17' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.26': + resolution: {integrity: sha512-lyMwd7WGgG79RS7EERZV3T8wMdmPq3xwyg+1nmAM64kIhx5yl+juO2PYIHb7vTiPgPCj8LYjsNV2T5wiQHUEaw==} + '@testing-library/dom@9.3.4': resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -3540,52 +3639,26 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.58.0': - resolution: {integrity: sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/scope-manager@8.53.1': resolution: {integrity: sha512-Lu23yw1uJMFY8cUeq7JlrizAgeQvWugNQzJp8C3x8Eo5Jw5Q2ykMdiiTB9vBVOOUBysMzmRRmUfwFrZuI2C4SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.58.0': - resolution: {integrity: sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.53.1': resolution: {integrity: sha512-qfvLXS6F6b1y43pnf0pPbXJ+YoXIC7HKg0UGZ27uMIemKMKA6XH2DTxsEDdpdN29D+vHV07x/pnlPNVLhdhWiA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.58.0': - resolution: {integrity: sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/types@8.53.1': resolution: {integrity: sha512-jr/swrr2aRmUAUjW5/zQHbMaui//vQlsZcJKijZf3M26bnmLj8LyZUpj8/Rd6uzaek06OWsqdofN/Thenm5O8A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.58.0': - resolution: {integrity: sha512-O9CjxypDT89fbHxRfETNoAnHj/i6IpRK0CvbVN3qibxlLdo5p5hcLmUuCCrHMpxiWSwKyI8mCP7qRNYuOJ0Uww==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.53.1': resolution: {integrity: sha512-RGlVipGhQAG4GxV1s34O91cxQ/vWiHJTDHbXRr0li2q/BGg3RR/7NM8QDWgkEgrwQYCvmJV9ichIwyoKCQ+DTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.58.0': - resolution: {integrity: sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.53.1': resolution: {integrity: sha512-c4bMvGVWW4hv6JmDUEG7fSYlWOl3II2I4ylt0NM+seinYQlZMQIaKaXIIVJWt9Ofh6whrpM+EdDQXKXjNovvrg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3593,21 +3666,10 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.58.0': - resolution: {integrity: sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/visitor-keys@8.53.1': resolution: {integrity: sha512-oy+wV7xDKFPRyNggmXuZQSBzvoLnpmJs+GhzRhPjrxl2b/jIlyjVokzm47CZCDUdXKr2zd7ZLodPfOBpOPyPlg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.58.0': - resolution: {integrity: sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@ungap/structured-clone@1.3.0': resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} @@ -4198,10 +4260,6 @@ packages: balanced-match@2.0.0: resolution: {integrity: sha512-1ugUSr8BHXRnK23KfuYS+gVMC3LB8QGH9W1iGtDPsNWoQbgtXSExkBu2aDR4epiGWZOjZsj6lDl/N/AqqTC3UA==} - balanced-match@4.0.4: - resolution: {integrity: sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==} - engines: {node: 18 || 20 || >=22} - baseline-browser-mapping@2.9.15: resolution: {integrity: sha512-kX8h7K2srmDyYnXRIppo4AH/wYgzWVCs+eKr3RusRSQ5PvRYoEFmR/I0PbdTjKFAoKqp5+kbxnNTFO9jOfSVJg==} hasBin: true @@ -4241,10 +4299,6 @@ packages: brace-expansion@2.0.2: resolution: {integrity: sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==} - brace-expansion@5.0.5: - resolution: {integrity: sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==} - engines: {node: 18 || 20 || >=22} - braces@3.0.3: resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} engines: {node: '>=8'} @@ -5420,10 +5474,6 @@ packages: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@5.0.1: - resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} - engines: {node: ^20.19.0 || ^22.13.0 || >=24} - eslint@7.32.0: resolution: {integrity: sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==} engines: {node: ^10.12.0 || >=12.0.0} @@ -6979,10 +7029,6 @@ packages: minimalistic-assert@1.0.1: resolution: {integrity: sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==} - minimatch@10.2.5: - resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} - engines: {node: 18 || 20 || >=22} - minimatch@3.0.8: resolution: {integrity: sha512-6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==} @@ -8547,6 +8593,12 @@ packages: engines: {node: '>=16'} hasBin: true + swc-loader@0.2.7: + resolution: {integrity: sha512-nwYWw3Fh9ame3Rtm7StS9SBLpHRRnYcK7bnpF3UKZmesAK0gw2/ADvlURFAINmPvKtDLzp+GBiP9yLoEjg6S9w==} + peerDependencies: + '@swc/core': ^1.2.147 + webpack: '>=2' + symbol-tree@3.2.4: resolution: {integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==} @@ -8733,12 +8785,6 @@ packages: peerDependencies: typescript: '>=4.8.4' - ts-api-utils@2.5.0: - resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-declaration-location@1.0.7: resolution: {integrity: sha512-EDyGAwH1gO0Ausm9gV6T2nUvBgXT5kGoCMJPllOaooZ+4VvJiKBdZE7wK18N1deEowhcUptS+5GXZK8U/fvpwA==} peerDependencies: @@ -9385,7 +9431,7 @@ snapshots: '@babel/generator@7.28.6': dependencies: - '@babel/parser': 7.28.6 + '@babel/parser': 7.29.2 '@babel/types': 7.29.0 '@jridgewell/gen-mapping': 0.3.13 '@jridgewell/trace-mapping': 0.3.31 @@ -9405,7 +9451,7 @@ snapshots: '@babel/helper-compilation-targets@7.28.6': dependencies: - '@babel/compat-data': 7.28.6 + '@babel/compat-data': 7.29.0 '@babel/helper-validator-option': 7.27.1 browserslist: 4.28.1 lru-cache: 5.1.1 @@ -9419,7 +9465,7 @@ snapshots: '@babel/helper-optimise-call-expression': 7.27.1 '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) '@babel/helper-skip-transparent-expression-wrappers': 7.27.1 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -9457,7 +9503,7 @@ snapshots: '@babel/helper-member-expression-to-functions@7.28.5': dependencies: - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -9498,13 +9544,13 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-member-expression-to-functions': 7.28.5 '@babel/helper-optimise-call-expression': 7.27.1 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color '@babel/helper-skip-transparent-expression-wrappers@7.27.1': dependencies: - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 '@babel/types': 7.29.0 transitivePeerDependencies: - supports-color @@ -9547,7 +9593,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9574,7 +9620,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9764,7 +9810,7 @@ snapshots: '@babel/helper-globals': 7.28.0 '@babel/helper-plugin-utils': 7.28.6 '@babel/helper-replace-supers': 7.28.6(@babel/core@7.29.0) - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9778,7 +9824,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9841,7 +9887,7 @@ snapshots: '@babel/core': 7.29.0 '@babel/helper-compilation-targets': 7.28.6 '@babel/helper-plugin-utils': 7.28.6 - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -9927,7 +9973,7 @@ snapshots: '@babel/helper-plugin-utils': 7.28.6 '@babel/plugin-transform-destructuring': 7.28.5(@babel/core@7.29.0) '@babel/plugin-transform-parameters': 7.27.7(@babel/core@7.29.0) - '@babel/traverse': 7.28.6 + '@babel/traverse': 7.29.0 transitivePeerDependencies: - supports-color @@ -10156,7 +10202,7 @@ snapshots: dependencies: '@babel/core': 7.29.0 '@babel/helper-plugin-utils': 7.28.6 - '@babel/types': 7.28.6 + '@babel/types': 7.29.0 esutils: 2.0.3 '@babel/preset-typescript@7.28.5(@babel/core@7.29.0)': @@ -10318,7 +10364,7 @@ snapshots: ignore: 4.0.6 import-fresh: 3.3.1 js-yaml: 3.14.2 - minimatch: 3.1.5 + minimatch: 3.1.2 strip-json-comments: 3.1.1 transitivePeerDependencies: - supports-color @@ -10359,7 +10405,7 @@ snapshots: dependencies: '@humanwhocodes/object-schema': 1.2.1 debug: 4.4.3 - minimatch: 3.1.5 + minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -11470,9 +11516,69 @@ snapshots: dependencies: '@sinonjs/commons': 3.0.1 + '@swc/core-darwin-arm64@1.15.24': + optional: true + + '@swc/core-darwin-x64@1.15.24': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.15.24': + optional: true + + '@swc/core-linux-arm64-gnu@1.15.24': + optional: true + + '@swc/core-linux-arm64-musl@1.15.24': + optional: true + + '@swc/core-linux-ppc64-gnu@1.15.24': + optional: true + + '@swc/core-linux-s390x-gnu@1.15.24': + optional: true + + '@swc/core-linux-x64-gnu@1.15.24': + optional: true + + '@swc/core-linux-x64-musl@1.15.24': + optional: true + + '@swc/core-win32-arm64-msvc@1.15.24': + optional: true + + '@swc/core-win32-ia32-msvc@1.15.24': + optional: true + + '@swc/core-win32-x64-msvc@1.15.24': + optional: true + + '@swc/core@1.15.24': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.26 + optionalDependencies: + '@swc/core-darwin-arm64': 1.15.24 + '@swc/core-darwin-x64': 1.15.24 + '@swc/core-linux-arm-gnueabihf': 1.15.24 + '@swc/core-linux-arm64-gnu': 1.15.24 + '@swc/core-linux-arm64-musl': 1.15.24 + '@swc/core-linux-ppc64-gnu': 1.15.24 + '@swc/core-linux-s390x-gnu': 1.15.24 + '@swc/core-linux-x64-gnu': 1.15.24 + '@swc/core-linux-x64-musl': 1.15.24 + '@swc/core-win32-arm64-msvc': 1.15.24 + '@swc/core-win32-ia32-msvc': 1.15.24 + '@swc/core-win32-x64-msvc': 1.15.24 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.26': + dependencies: + '@swc/counter': 0.1.3 + '@testing-library/dom@9.3.4': dependencies: - '@babel/code-frame': 7.28.6 + '@babel/code-frame': 7.29.0 '@babel/runtime': 7.29.2 '@types/aria-query': 5.0.4 aria-query: 5.1.3 @@ -11690,41 +11796,17 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.58.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - optional: true - '@typescript-eslint/scope-manager@8.53.1': dependencies: '@typescript-eslint/types': 8.53.1 '@typescript-eslint/visitor-keys': 8.53.1 - '@typescript-eslint/scope-manager@8.58.0': - dependencies: - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 - optional: true - '@typescript-eslint/tsconfig-utils@8.53.1(typescript@5.9.3)': dependencies: typescript: 5.9.3 - '@typescript-eslint/tsconfig-utils@8.58.0(typescript@5.9.3)': - dependencies: - typescript: 5.9.3 - optional: true - '@typescript-eslint/types@8.53.1': {} - '@typescript-eslint/types@8.58.0': - optional: true - '@typescript-eslint/typescript-estree@8.53.1(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.53.1(typescript@5.9.3) @@ -11740,22 +11822,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.58.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.58.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 - debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.7.3 - tinyglobby: 0.2.15 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - optional: true - '@typescript-eslint/utils@8.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) @@ -11767,29 +11833,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3)': - dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@9.39.4(jiti@2.6.1)) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - eslint: 9.39.4(jiti@2.6.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - optional: true - '@typescript-eslint/visitor-keys@8.53.1': dependencies: '@typescript-eslint/types': 8.53.1 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.58.0': - dependencies: - '@typescript-eslint/types': 8.58.0 - eslint-visitor-keys: 5.0.1 - optional: true - '@ungap/structured-clone@1.3.0': {} '@unrs/resolver-binding-android-arm-eabi@1.11.1': @@ -12374,6 +12422,13 @@ snapshots: optionalDependencies: webpack: 5.104.1(webpack-cli@7.0.2) + babel-loader@10.1.1(@babel/core@7.29.0)(webpack@5.105.4): + dependencies: + '@babel/core': 7.29.0 + find-up: 5.0.0 + optionalDependencies: + webpack: 5.105.4 + babel-messages@6.23.0: dependencies: babel-runtime: 6.26.0 @@ -12537,9 +12592,6 @@ snapshots: balanced-match@2.0.0: {} - balanced-match@4.0.4: - optional: true - baseline-browser-mapping@2.9.15: {} batch@0.6.1: {} @@ -12589,11 +12641,6 @@ snapshots: dependencies: balanced-match: 1.0.2 - brace-expansion@5.0.5: - dependencies: - balanced-match: 4.0.4 - optional: true - braces@3.0.3: dependencies: fill-range: 7.1.1 @@ -12995,7 +13042,7 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.7.3 optionalDependencies: - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) css-loader@7.1.2(webpack@5.105.4): dependencies: @@ -13028,7 +13075,7 @@ snapshots: postcss: 8.5.6 schema-utils: 4.3.3 serialize-javascript: 6.0.2 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) css-select@4.3.0: dependencies: @@ -13619,7 +13666,7 @@ snapshots: eslint: 9.39.4(jiti@2.6.1) eslint-compat-utils: 0.5.1(eslint@9.39.4(jiti@2.6.1)) - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.58.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@9.39.4(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.53.1 comment-parser: 1.4.5 @@ -13632,7 +13679,7 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.58.0(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.53.1(eslint@9.39.4(jiti@2.6.1))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color @@ -13742,9 +13789,6 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint-visitor-keys@5.0.1: - optional: true - eslint@7.32.0: dependencies: '@babel/code-frame': 7.12.11 @@ -14214,7 +14258,7 @@ snapshots: fs.realpath: 1.0.0 inflight: 1.0.6 inherits: 2.0.4 - minimatch: 3.1.5 + minimatch: 3.0.8 once: 1.4.0 path-is-absolute: 1.0.1 @@ -15682,7 +15726,7 @@ snapshots: dependencies: schema-utils: 4.3.3 tapable: 2.3.0 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) mini-css-extract-plugin@2.10.0(webpack@5.105.4): dependencies: @@ -15692,11 +15736,6 @@ snapshots: minimalistic-assert@1.0.1: {} - minimatch@10.2.5: - dependencies: - brace-expansion: 5.0.5 - optional: true - minimatch@3.0.8: dependencies: brace-expansion: 1.1.12 @@ -16194,7 +16233,7 @@ snapshots: postcss: 8.5.6 semver: 7.7.3 optionalDependencies: - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) transitivePeerDependencies: - typescript @@ -16821,7 +16860,7 @@ snapshots: neo-async: 2.6.2 optionalDependencies: node-sass: 9.0.0 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) sass-loader@16.0.7(node-sass@9.0.0)(webpack@5.105.4): dependencies: @@ -17228,7 +17267,7 @@ snapshots: style-loader@4.0.0(webpack@5.104.1): dependencies: - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) style-loader@4.0.0(webpack@5.105.4): dependencies: @@ -17396,6 +17435,12 @@ snapshots: picocolors: 1.1.1 sax: 1.4.4 + swc-loader@0.2.7(@swc/core@1.15.24)(webpack@5.104.1): + dependencies: + '@swc/core': 1.15.24 + '@swc/counter': 0.1.3 + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) + symbol-tree@3.2.4: {} synckit@0.11.12: @@ -17435,6 +17480,17 @@ snapshots: dependencies: rimraf: 2.6.3 + terser-webpack-plugin@5.3.16(@swc/core@1.15.24)(webpack@5.104.1): + dependencies: + '@jridgewell/trace-mapping': 0.3.31 + jest-worker: 27.5.1 + schema-utils: 4.3.3 + serialize-javascript: 6.0.2 + terser: 5.46.0 + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) + optionalDependencies: + '@swc/core': 1.15.24 + terser-webpack-plugin@5.3.16(webpack@5.104.1): dependencies: '@jridgewell/trace-mapping': 0.3.31 @@ -17442,7 +17498,7 @@ snapshots: schema-utils: 4.3.3 serialize-javascript: 6.0.2 terser: 5.46.0 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1 terser-webpack-plugin@5.3.16(webpack@5.105.4): dependencies: @@ -17479,7 +17535,7 @@ snapshots: dependencies: '@istanbuljs/schema': 0.1.3 glob: 7.2.3 - minimatch: 3.1.5 + minimatch: 3.1.2 text-table@0.2.0: {} @@ -17562,11 +17618,6 @@ snapshots: dependencies: typescript: 5.9.3 - ts-api-utils@2.5.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - optional: true - ts-declaration-location@1.0.7(typescript@5.9.3): dependencies: picomatch: 4.0.3 @@ -17739,7 +17790,7 @@ snapshots: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) url-loader@4.1.1(webpack@5.105.4): dependencies: @@ -17875,7 +17926,7 @@ snapshots: loader-utils: 1.4.2 vue-hot-reload-api: 2.3.4 vue-style-loader: 4.1.3 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) optionalDependencies: vue-template-compiler: 2.7.16 transitivePeerDependencies: @@ -18106,7 +18157,7 @@ snapshots: import-local: 3.2.0 interpret: 3.1.1 rechoir: 0.8.0 - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) webpack-merge: 6.0.1 optionalDependencies: webpack-dev-server: 5.2.3(tslib@2.8.1)(webpack-cli@7.0.2)(webpack@5.104.1) @@ -18120,7 +18171,7 @@ snapshots: range-parser: 1.2.1 schema-utils: 4.3.3 optionalDependencies: - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) transitivePeerDependencies: - tslib @@ -18155,7 +18206,7 @@ snapshots: webpack-dev-middleware: 7.4.5(tslib@2.8.1)(webpack@5.104.1) ws: 8.19.0 optionalDependencies: - webpack: 5.104.1(webpack-cli@7.0.2) + webpack: 5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2) webpack-cli: 7.0.2(webpack-dev-server@5.2.3)(webpack@5.104.1) transitivePeerDependencies: - bufferutil @@ -18174,6 +18225,72 @@ snapshots: webpack-sources@3.3.4: {} + webpack@5.104.1: + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.20.1 + es-module-lexer: 2.0.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.16(webpack@5.104.1) + watchpack: 2.5.1 + webpack-sources: 3.3.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + + webpack@5.104.1(@swc/core@1.15.24)(webpack-cli@7.0.2): + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.8 + '@types/json-schema': 7.0.15 + '@webassemblyjs/ast': 1.14.1 + '@webassemblyjs/wasm-edit': 1.14.1 + '@webassemblyjs/wasm-parser': 1.14.1 + acorn: 8.15.0 + acorn-import-phases: 1.0.4(acorn@8.15.0) + browserslist: 4.28.1 + chrome-trace-event: 1.0.4 + enhanced-resolve: 5.20.1 + es-module-lexer: 2.0.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.1 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 4.3.3 + tapable: 2.3.0 + terser-webpack-plugin: 5.3.16(@swc/core@1.15.24)(webpack@5.104.1) + watchpack: 2.5.1 + webpack-sources: 3.3.3 + optionalDependencies: + webpack-cli: 7.0.2(webpack-dev-server@5.2.3)(webpack@5.104.1) + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + webpack@5.104.1(webpack-cli@7.0.2): dependencies: '@types/eslint-scope': 3.7.7