diff --git a/common/changes/@xarc/react-redux-observable/feat-reduxupgrades_2024-08-29-03-41.json b/common/changes/@xarc/react-redux-observable/feat-reduxupgrades_2024-08-29-03-41.json new file mode 100644 index 000000000..fea7460d1 --- /dev/null +++ b/common/changes/@xarc/react-redux-observable/feat-reduxupgrades_2024-08-29-03-41.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@xarc/react-redux-observable", + "comment": "Update to use @reduxjs/toolkit", + "type": "major" + } + ], + "packageName": "@xarc/react-redux-observable" +} \ No newline at end of file diff --git a/common/changes/@xarc/react-redux-saga/feat-reduxupgrades_2024-08-29-03-41.json b/common/changes/@xarc/react-redux-saga/feat-reduxupgrades_2024-08-29-03-41.json new file mode 100644 index 000000000..f5bcac419 --- /dev/null +++ b/common/changes/@xarc/react-redux-saga/feat-reduxupgrades_2024-08-29-03-41.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@xarc/react-redux-saga", + "comment": "Update to use @reduxjs/toolkit", + "type": "major" + } + ], + "packageName": "@xarc/react-redux-saga" +} \ No newline at end of file diff --git a/common/changes/@xarc/react-redux/feat-reduxupgrades_2024-08-29-03-41.json b/common/changes/@xarc/react-redux/feat-reduxupgrades_2024-08-29-03-41.json new file mode 100644 index 000000000..65f65eb52 --- /dev/null +++ b/common/changes/@xarc/react-redux/feat-reduxupgrades_2024-08-29-03-41.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@xarc/react-redux", + "comment": "Update to use @reduxjs/toolkit", + "type": "major" + } + ], + "packageName": "@xarc/react-redux" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 5bf16b37b..683e490de 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -9,6 +9,7 @@ specifiers: '@babel/preset-typescript': ^7.17.12 '@hapi/boom': ^9.1.4 '@jchip/redbird': ^1.3.0 + '@reduxjs/toolkit': ^2.2.7 '@rush-temp/app': file:./projects/app.tgz '@rush-temp/app-dev': file:./projects/app-dev.tgz '@rush-temp/create-app': file:./projects/create-app.tgz @@ -176,8 +177,9 @@ dependencies: '@babel/preset-typescript': 7.24.7 '@hapi/boom': 9.1.4 '@jchip/redbird': 1.3.0 + '@reduxjs/toolkit': 2.2.7 '@rush-temp/app': file:projects/app.tgz - '@rush-temp/app-dev': file:projects/app-dev.tgz_webpack-cli@4.8.0+webpack@5.93.0 + '@rush-temp/app-dev': file:projects/app-dev.tgz_webpack-cli@4.8.0+webpack@5.94.0 '@rush-temp/create-app': file:projects/create-app.tgz '@rush-temp/dev-base': file:projects/dev-base.tgz '@rush-temp/electrode-cdn-file-loader': file:projects/electrode-cdn-file-loader.tgz @@ -186,17 +188,17 @@ dependencies: '@rush-temp/jsx-renderer': file:projects/jsx-renderer.tgz '@rush-temp/opt-archetype-check': file:projects/opt-archetype-check.tgz '@rush-temp/opt-eslint': file:projects/opt-eslint.tgz - '@rush-temp/opt-jest': file:projects/opt-jest.tgz_@types+node@20.16.1 - '@rush-temp/opt-karma': file:projects/opt-karma.tgz_webpack@5.93.0 - '@rush-temp/opt-less': file:projects/opt-less.tgz_webpack@5.93.0 + '@rush-temp/opt-jest': file:projects/opt-jest.tgz_@types+node@20.16.2 + '@rush-temp/opt-karma': file:projects/opt-karma.tgz_webpack@5.94.0 + '@rush-temp/opt-less': file:projects/opt-less.tgz_webpack@5.94.0 '@rush-temp/opt-mocha': file:projects/opt-mocha.tgz '@rush-temp/opt-postcss': file:projects/opt-postcss.tgz '@rush-temp/opt-preact': file:projects/opt-preact.tgz '@rush-temp/opt-react': file:projects/opt-react.tgz - '@rush-temp/opt-sass': file:projects/opt-sass.tgz_webpack@5.93.0 + '@rush-temp/opt-sass': file:projects/opt-sass.tgz_webpack@5.94.0 '@rush-temp/opt-stylus': file:projects/opt-stylus.tgz - '@rush-temp/poc-subapp': file:projects/poc-subapp.tgz_webpack@5.93.0 - '@rush-temp/poc-subapp-redux': file:projects/poc-subapp-redux.tgz_webpack@5.93.0 + '@rush-temp/poc-subapp': file:projects/poc-subapp.tgz_webpack@5.94.0 + '@rush-temp/poc-subapp-redux': file:projects/poc-subapp-redux.tgz_webpack@5.94.0 '@rush-temp/poc-subappv1-csp': file:projects/poc-subappv1-csp.tgz '@rush-temp/react': file:projects/react.tgz '@rush-temp/react-query': file:projects/react-query.tgz @@ -221,7 +223,7 @@ dependencies: '@testing-library/jest-dom': 5.17.0 '@types/chai-as-promised': 7.1.8 '@types/jest': 29.5.12 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/webpack': 5.28.0_webpack-cli@4.8.0 ansi-to-html: 0.7.2 autoprefixer: 9.8.8 @@ -239,8 +241,8 @@ dependencies: chai-shallowly: 1.0.0 chalker: 1.2.0 chokidar: 3.6.0 - css-loader: 6.11.0_webpack@5.93.0 - css-minimizer-webpack-plugin: 1.3.0_webpack@5.93.0 + css-loader: 6.11.0_webpack@5.94.0 + css-minimizer-webpack-plugin: 1.3.0_webpack@5.94.0 electrode-archetype-njs-module-dev: 3.0.3 electrode-confippet: 1.7.1 electrode-react-webapp: 5.1.1 @@ -253,7 +255,7 @@ dependencies: eslint-plugin-mocha: 8.2.0 eslint-plugin-react: 7.35.0 fast-async: 7.0.6 - file-loader: 6.2.0_webpack@5.93.0 + file-loader: 6.2.0_webpack@5.94.0 fs-extra: 10.1.0 glob: 8.1.0 history: 5.3.0 @@ -262,7 +264,7 @@ dependencies: is-ci: 2.0.0 isomorphic-loader: 4.5.0 istanbul: 0.4.5 - jest: 29.7.0_@types+node@20.16.1 + jest: 29.7.0_@types+node@20.16.2 jest-environment-jsdom: 29.7.0 jsdom-global: 3.0.2 jsesc: 3.0.2 @@ -278,14 +280,14 @@ dependencies: karma-sonarqube-unit-reporter: 0.0.23_karma@6.4.4 karma-sourcemap-loader: 0.4.0 karma-spec-reporter: 0.0.36_karma@6.4.4 - karma-webpack: 5.0.1_webpack@5.93.0 + karma-webpack: 5.0.1_webpack@5.94.0 less: 3.13.1 - less-loader: 4.1.0_less@3.13.1+webpack@5.93.0 + less-loader: 4.1.0_less@3.13.1+webpack@5.94.0 loader-utils: 1.4.2 loadjs: 4.3.0 log-update: 5.0.1 mime: 3.0.0 - mini-css-extract-plugin: 1.6.2_webpack@5.93.0 + mini-css-extract-plugin: 1.6.2_webpack@5.94.0 mock-require: 3.0.3 munchy: 1.0.9 nix-clap: 1.3.13 @@ -312,7 +314,7 @@ dependencies: require-at: 1.0.6 rxjs: 6.6.7 sass: 1.77.8 - sass-loader: 13.3.3_sass@1.77.8+webpack@5.93.0 + sass-loader: 13.3.3_sass@1.77.8+webpack@5.94.0 semver: 7.6.3 serve-index-fs: 1.10.1 shcmd: 0.8.5 @@ -322,12 +324,12 @@ dependencies: sudo-prompt: 9.2.1 sugarss: 2.0.0 typedoc-plugin-external-module-name: 3.1.0 - url-loader: 4.1.1_file-loader@6.2.0+webpack@5.93.0 + url-loader: 4.1.1_file-loader@6.2.0+webpack@5.94.0 visual-logger: 1.1.3 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-bundle-analyzer: 3.9.0 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 - webpack-dev-middleware: 4.3.0_webpack@5.93.0 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 + webpack-dev-middleware: 4.3.0_webpack@5.94.0 webpack-sources: 2.3.1 webpack-stats-plugin: 1.1.3 xenv-config: 1.3.1 @@ -415,8 +417,8 @@ packages: picocolors: 1.0.1 dev: false - /@babel/compat-data/7.25.2: - resolution: {integrity: sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ==} + /@babel/compat-data/7.25.4: + resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} engines: {node: '>=6.9.0'} dev: false @@ -426,14 +428,14 @@ packages: dependencies: '@ampproject/remapping': 2.3.0 '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.5 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-module-transforms': 7.25.2_@babel+core@7.25.2 '@babel/helpers': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.4 '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 convert-source-map: 2.0.0 debug: 4.3.6 gensync: 1.0.0-beta.2 @@ -453,11 +455,11 @@ packages: trim-right: 1.0.1 dev: false - /@babel/generator/7.25.0: - resolution: {integrity: sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw==} + /@babel/generator/7.25.5: + resolution: {integrity: sha512-abd43wyLfbWoxC6ahM8xTkqLpGB2iWBVyuKC9/srhFunCd1SDNrV1s72bBpK4hLj8KLzHBBcOblvLQZBNw9r3w==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 '@jridgewell/gen-mapping': 0.3.5 '@jridgewell/trace-mapping': 0.3.25 jsesc: 2.5.2 @@ -467,15 +469,15 @@ packages: resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@babel/helper-builder-binary-assignment-operator-visitor/7.24.7: resolution: {integrity: sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -485,22 +487,22 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@babel/helper-compilation-targets/7.25.2: resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} engines: {node: '>=6.9.0'} dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/helper-validator-option': 7.24.8 browserslist: 4.23.3 lru-cache: 5.1.1 semver: 6.3.1 dev: false - /@babel/helper-create-class-features-plugin/7.25.0: - resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} + /@babel/helper-create-class-features-plugin/7.25.4: + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -510,14 +512,14 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 semver: 6.3.1 transitivePeerDependencies: - supports-color dev: false - /@babel/helper-create-class-features-plugin/7.25.0_@babel+core@7.25.2: - resolution: {integrity: sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ==} + /@babel/helper-create-class-features-plugin/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -528,7 +530,7 @@ packages: '@babel/helper-optimise-call-expression': 7.24.7 '@babel/helper-replace-supers': 7.25.0_@babel+core@7.25.2 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -579,8 +581,8 @@ packages: resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -589,8 +591,8 @@ packages: resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -604,7 +606,7 @@ packages: '@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.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -619,7 +621,7 @@ packages: '@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.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -628,7 +630,7 @@ packages: resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} engines: {node: '>=6.9.0'} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@babel/helper-plugin-utils/7.24.8: @@ -645,7 +647,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 '@babel/helper-wrap-function': 7.25.0 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -658,7 +660,7 @@ packages: dependencies: '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -672,7 +674,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-member-expression-to-functions': 7.24.8 '@babel/helper-optimise-call-expression': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -681,8 +683,8 @@ packages: resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -691,8 +693,8 @@ packages: resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} engines: {node: '>=6.9.0'} dependencies: - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -723,8 +725,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -734,7 +736,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@babel/highlight/7.0.0-beta.44: @@ -755,12 +757,12 @@ packages: picocolors: 1.0.1 dev: false - /@babel/parser/7.25.3: - resolution: {integrity: sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==} + /@babel/parser/7.25.4: + resolution: {integrity: sha512-nq+eWrOgdtu3jG5Os4TQP3x3cLA8hR8TvJNjD8vnPa20WGycimcparWnLK4jJhElTK6SDyuJo1weMKO/5LpmLA==} engines: {node: '>=6.0.0'} hasBin: true dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@babel/plugin-bugfix-firefox-class-in-computed-class-key/7.25.3_@babel+core@7.25.2: @@ -771,7 +773,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -818,7 +820,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -830,7 +832,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-class-features-plugin': 7.25.0 + '@babel/helper-create-class-features-plugin': 7.25.4 '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -844,7 +846,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -856,7 +858,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/helper-create-class-features-plugin': 7.25.0 + '@babel/helper-create-class-features-plugin': 7.25.4 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-decorators': 7.24.7 transitivePeerDependencies: @@ -870,7 +872,7 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-decorators': 7.24.7_@babel+core@7.25.2 transitivePeerDependencies: @@ -884,7 +886,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-object-rest-spread': 7.8.3 @@ -898,7 +900,7 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 @@ -1244,8 +1246,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-typescript/7.24.7: - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + /@babel/plugin-syntax-typescript/7.25.4: + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1253,8 +1255,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-syntax-typescript/7.24.7_@babel+core@7.25.2: - resolution: {integrity: sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA==} + /@babel/plugin-syntax-typescript/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1284,8 +1286,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-async-generator-functions/7.25.0_@babel+core@7.25.2: - resolution: {integrity: sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q==} + /@babel/plugin-transform-async-generator-functions/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1294,7 +1296,7 @@ packages: '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-remap-async-to-generator': 7.25.0_@babel+core@7.25.2 '@babel/plugin-syntax-async-generators': 7.8.4_@babel+core@7.25.2 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -1333,14 +1335,14 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-class-properties/7.24.7_@babel+core@7.25.2: - resolution: {integrity: sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w==} + /@babel/plugin-transform-class-properties/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1353,15 +1355,15 @@ packages: '@babel/core': ^7.12.0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-class-static-block': 7.14.5_@babel+core@7.25.2 transitivePeerDependencies: - supports-color dev: false - /@babel/plugin-transform-classes/7.25.0_@babel+core@7.25.2: - resolution: {integrity: sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw==} + /@babel/plugin-transform-classes/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1371,7 +1373,7 @@ packages: '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-replace-supers': 7.25.0_@babel+core@7.25.2 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -1487,7 +1489,7 @@ packages: '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -1584,7 +1586,7 @@ packages: '@babel/helper-module-transforms': 7.25.2_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-validator-identifier': 7.24.7 - '@babel/traverse': 7.25.3 + '@babel/traverse': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -1715,14 +1717,14 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-private-methods/7.24.7_@babel+core@7.25.2: - resolution: {integrity: sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ==} + /@babel/plugin-transform-private-methods/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: '@babel/core': 7.25.2 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 transitivePeerDependencies: - supports-color @@ -1736,7 +1738,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-private-property-in-object': 7.14.5_@babel+core@7.25.2 transitivePeerDependencies: @@ -1826,7 +1828,7 @@ packages: '@babel/helper-module-imports': 7.24.7 '@babel/helper-plugin-utils': 7.24.8 '@babel/plugin-syntax-jsx': 7.24.7_@babel+core@7.25.2 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -1863,8 +1865,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-runtime/7.24.7_@babel+core@7.25.2: - resolution: {integrity: sha512-YqXjrk4C+a1kZjewqt+Mmu2UuV1s07y8kqcUf4qYLnoqemhR4gRQikhdAhSVJioMjVTu6Mo6pAbaypEA3jY6fw==} + /@babel/plugin-transform-runtime/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1940,10 +1942,10 @@ packages: '@babel/core': ^7.0.0-0 dependencies: '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0 + '@babel/helper-create-class-features-plugin': 7.25.4 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7 + '@babel/plugin-syntax-typescript': 7.25.4 transitivePeerDependencies: - supports-color dev: false @@ -1956,10 +1958,10 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-annotate-as-pure': 7.24.7 - '@babel/helper-create-class-features-plugin': 7.25.0_@babel+core@7.25.2 + '@babel/helper-create-class-features-plugin': 7.25.4_@babel+core@7.25.2 '@babel/helper-plugin-utils': 7.24.8 '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 - '@babel/plugin-syntax-typescript': 7.24.7_@babel+core@7.25.2 + '@babel/plugin-syntax-typescript': 7.25.4_@babel+core@7.25.2 transitivePeerDependencies: - supports-color dev: false @@ -1996,8 +1998,8 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/plugin-transform-unicode-sets-regex/7.24.7_@babel+core@7.25.2: - resolution: {integrity: sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg==} + /@babel/plugin-transform-unicode-sets-regex/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0 @@ -2007,13 +2009,13 @@ packages: '@babel/helper-plugin-utils': 7.24.8 dev: false - /@babel/preset-env/7.25.3_@babel+core@7.25.2: - resolution: {integrity: sha512-QsYW7UeAaXvLPX9tdVliMJE7MD7M6MLYVTovRTIwhoYQVFHR1rM4wO8wqAezYi3/BpSD+NzVCZ69R6smWiIi8g==} + /@babel/preset-env/7.25.4_@babel+core@7.25.2: + resolution: {integrity: sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-compilation-targets': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 @@ -2043,13 +2045,13 @@ packages: '@babel/plugin-syntax-top-level-await': 7.14.5_@babel+core@7.25.2 '@babel/plugin-syntax-unicode-sets-regex': 7.18.6_@babel+core@7.25.2 '@babel/plugin-transform-arrow-functions': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-transform-async-generator-functions': 7.25.0_@babel+core@7.25.2 + '@babel/plugin-transform-async-generator-functions': 7.25.4_@babel+core@7.25.2 '@babel/plugin-transform-async-to-generator': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-block-scoped-functions': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-block-scoping': 7.25.0_@babel+core@7.25.2 - '@babel/plugin-transform-class-properties': 7.24.7_@babel+core@7.25.2 + '@babel/plugin-transform-class-properties': 7.25.4_@babel+core@7.25.2 '@babel/plugin-transform-class-static-block': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-transform-classes': 7.25.0_@babel+core@7.25.2 + '@babel/plugin-transform-classes': 7.25.4_@babel+core@7.25.2 '@babel/plugin-transform-computed-properties': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-destructuring': 7.24.8_@babel+core@7.25.2 '@babel/plugin-transform-dotall-regex': 7.24.7_@babel+core@7.25.2 @@ -2077,7 +2079,7 @@ packages: '@babel/plugin-transform-optional-catch-binding': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-optional-chaining': 7.24.8_@babel+core@7.25.2 '@babel/plugin-transform-parameters': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-transform-private-methods': 7.24.7_@babel+core@7.25.2 + '@babel/plugin-transform-private-methods': 7.25.4_@babel+core@7.25.2 '@babel/plugin-transform-private-property-in-object': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-property-literals': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-regenerator': 7.24.7_@babel+core@7.25.2 @@ -2090,12 +2092,12 @@ packages: '@babel/plugin-transform-unicode-escapes': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-unicode-property-regex': 7.24.7_@babel+core@7.25.2 '@babel/plugin-transform-unicode-regex': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-transform-unicode-sets-regex': 7.24.7_@babel+core@7.25.2 + '@babel/plugin-transform-unicode-sets-regex': 7.25.4_@babel+core@7.25.2 '@babel/preset-modules': 0.1.6-no-external-plugins_@babel+core@7.25.2 babel-plugin-polyfill-corejs2: 0.4.11_@babel+core@7.25.2 babel-plugin-polyfill-corejs3: 0.10.6_@babel+core@7.25.2 babel-plugin-polyfill-regenerator: 0.6.2_@babel+core@7.25.2 - core-js-compat: 3.38.0 + core-js-compat: 3.38.1 semver: 6.3.1 transitivePeerDependencies: - supports-color @@ -2108,7 +2110,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 esutils: 2.0.3 dev: false @@ -2182,12 +2184,12 @@ packages: resolution: {integrity: sha512-BOehWE7MgQ8W8Qn0CQnMtg2tHPHPulcS/5AVpFvs2KCK1ET+0WqZqPvnpRpFN81gYoFopdIEJX9Sgjw3ZBccPg==} engines: {node: '>=6.9.0'} dependencies: - core-js-pure: 3.38.0 + core-js-pure: 3.38.1 regenerator-runtime: 0.14.1 dev: false - /@babel/runtime/7.25.0: - resolution: {integrity: sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw==} + /@babel/runtime/7.25.4: + resolution: {integrity: sha512-DSgLeL/FNcpXuzav5wfYvHCGvynXkJbn3Zvc3823AEe9nPwW9IK4UoCSS5yGymmQzN0pCPvivtgS6/8U2kkm1w==} engines: {node: '>=6.9.0'} dependencies: regenerator-runtime: 0.14.1 @@ -2207,8 +2209,8 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 dev: false /@babel/traverse/7.0.0-beta.44: @@ -2226,15 +2228,15 @@ packages: lodash: 4.17.21 dev: false - /@babel/traverse/7.25.3: - resolution: {integrity: sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ==} + /@babel/traverse/7.25.4: + resolution: {integrity: sha512-VJ4XsrD+nOvlXyLzmLzUs/0qjFS4sK30te5yEFlvbbUNEgKaVb2BHZUpAL+ttLPQAHNrsI3zZisbfha5Cvr8vg==} engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/generator': 7.25.0 - '@babel/parser': 7.25.3 + '@babel/generator': 7.25.5 + '@babel/parser': 7.25.4 '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 debug: 4.3.6 globals: 11.12.0 transitivePeerDependencies: @@ -2249,8 +2251,8 @@ packages: to-fast-properties: 2.0.0 dev: false - /@babel/types/7.25.2: - resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} + /@babel/types/7.25.4: + resolution: {integrity: sha512-zQ1ijeeCXVEh+aNL0RlmkPkG8HUiDcU2pzQQFjtbntgAczRASFzj4H+6+bV+dy1ntKR14I/DypeuRG1uma98iQ==} engines: {node: '>=6.9.0'} dependencies: '@babel/helper-string-parser': 7.24.8 @@ -2849,7 +2851,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 jest-message-util: 29.7.0 jest-util: 29.7.0 @@ -2870,14 +2872,14 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 ansi-escapes: 4.3.2 chalk: 4.1.2 ci-info: 3.9.0 exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0_@types+node@20.16.1 + jest-config: 29.7.0_@types+node@20.16.2 jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -2889,7 +2891,7 @@ packages: jest-util: 29.7.0 jest-validate: 29.7.0 jest-watcher: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 strip-ansi: 6.0.1 @@ -2905,7 +2907,7 @@ packages: dependencies: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-mock: 29.7.0 dev: false @@ -2932,7 +2934,7 @@ packages: dependencies: '@jest/types': 29.6.3 '@sinonjs/fake-timers': 10.3.0 - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-message-util: 29.7.0 jest-mock: 29.7.0 jest-util: 29.7.0 @@ -2965,7 +2967,7 @@ packages: '@jest/transform': 29.7.0 '@jest/types': 29.6.3 '@jridgewell/trace-mapping': 0.3.25 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 collect-v8-coverage: 1.0.2 exit: 0.1.2 @@ -3038,7 +3040,7 @@ packages: jest-haste-map: 29.7.0 jest-regex-util: 29.6.3 jest-util: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 pirates: 4.0.6 slash: 3.0.0 write-file-atomic: 4.0.2 @@ -3052,7 +3054,7 @@ packages: dependencies: '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/yargs': 15.0.19 chalk: 4.1.2 dev: false @@ -3064,7 +3066,7 @@ packages: '@jest/schemas': 29.6.3 '@types/istanbul-lib-coverage': 2.0.6 '@types/istanbul-reports': 3.0.4 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/yargs': 17.0.33 chalk: 4.1.2 dev: false @@ -3206,7 +3208,7 @@ packages: /@redux-saga/core/1.3.0: resolution: {integrity: sha512-L+i+qIGuyWn7CIg7k1MteHGfttKPmxwZR5E7OsGikCL2LzYA0RERlaUY00Y3P3ZV2EYgrsYlBrGs6cJP5OKKqA==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@redux-saga/deferred': 1.2.1 '@redux-saga/delay-p': 1.2.1 '@redux-saga/is': 1.1.3 @@ -3240,6 +3242,60 @@ packages: resolution: {integrity: sha512-1dgmkh+3so0+LlBWRhGA33ua4MYr7tUOj+a9Si28vUi0IUFNbff1T3sgpeDJI/LaC75bBYnQ0A3wXjn0OrRNBA==} dev: false + /@reduxjs/toolkit/2.2.7: + resolution: {integrity: sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + dependencies: + immer: 10.1.1 + redux: 5.0.1 + redux-thunk: 3.1.0_redux@5.0.1 + reselect: 5.1.1 + dev: false + + /@reduxjs/toolkit/2.2.7_react-redux@9.1.2+react@18.3.1: + resolution: {integrity: sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + dependencies: + immer: 10.1.1 + react: 18.3.1 + react-redux: 9.1.2_@types+react@18.3.4+react@18.3.1 + redux: 5.0.1 + redux-thunk: 3.1.0_redux@5.0.1 + reselect: 5.1.1 + dev: false + + /@reduxjs/toolkit/2.2.7_react@18.3.1: + resolution: {integrity: sha512-faI3cZbSdFb8yv9dhDTmGwclW0vk0z5o1cia+kf7gCbaCwHI5e+7tP57mJUv22pNcNbeA62GSrPpfrUfdXcQ6g==} + peerDependencies: + react: ^16.9.0 || ^17.0.0 || ^18 + react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 + peerDependenciesMeta: + react: + optional: true + react-redux: + optional: true + dependencies: + immer: 10.1.1 + react: 18.3.1 + redux: 5.0.1 + redux-thunk: 3.1.0_redux@5.0.1 + reselect: 5.1.1 + dev: false + /@remix-run/router/1.19.1: resolution: {integrity: sha512-S45oynt/WH19bHbIXjtli6QmwNYvaz+vtnubvNpNDvUOoA/OWh6j1OikIP3G+v5GHdxyC6EXoChG3HgYGEUfcg==} engines: {node: '>=14.0.0'} @@ -3279,8 +3335,8 @@ packages: '@sinonjs/commons': 3.0.1 dev: false - /@sinonjs/fake-timers/11.2.2: - resolution: {integrity: sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==} + /@sinonjs/fake-timers/11.3.1: + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} dependencies: '@sinonjs/commons': 3.0.1 dev: false @@ -3363,7 +3419,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/aria-query': 4.2.2 aria-query: 4.2.2 chalk: 4.1.2 @@ -3377,7 +3433,7 @@ packages: engines: {node: '>=12'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -3391,7 +3447,7 @@ packages: engines: {node: '>=14'} dependencies: '@babel/code-frame': 7.24.7 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/aria-query': 5.0.4 aria-query: 5.1.3 chalk: 4.1.2 @@ -3405,7 +3461,7 @@ packages: engines: {node: '>=8', npm: '>=6', yarn: '>=1'} dependencies: '@adobe/css-tools': 4.4.0 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/testing-library__jest-dom': 5.14.9 aria-query: 5.3.0 chalk: 3.0.0 @@ -3422,7 +3478,7 @@ packages: react: '*' react-dom: '*' dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@testing-library/dom': 7.31.2 react: 18.3.1 react-dom: 18.3.1_react@18.3.1 @@ -3435,7 +3491,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@testing-library/dom': 8.20.1 '@types/react-dom': 18.3.0 react: 18.3.1 @@ -3449,7 +3505,7 @@ packages: react: ^18.0.0 react-dom: ^18.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@testing-library/dom': 9.3.4 '@types/react-dom': 18.3.0 dev: false @@ -3491,8 +3547,8 @@ packages: /@types/babel__core/7.20.5: resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 '@types/babel__generator': 7.6.8 '@types/babel__template': 7.4.4 '@types/babel__traverse': 7.20.6 @@ -3501,30 +3557,30 @@ packages: /@types/babel__generator/7.6.8: resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@types/babel__template/7.4.4: resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} dependencies: - '@babel/parser': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/types': 7.25.4 dev: false /@types/babel__traverse/7.20.6: resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} dependencies: - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 dev: false /@types/chai-as-promised/7.1.8: resolution: {integrity: sha512-ThlRVIJhr69FLlh6IctTXFkmhtP3NpMZ2QGq69StYLyKZFp/HOp1VdKZj7RvfNWYYcJ1xlbLGLLWj1UvP5u/Gw==} dependencies: - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 dev: false - /@types/chai/4.3.17: - resolution: {integrity: sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==} + /@types/chai/4.3.19: + resolution: {integrity: sha512-2hHHvQBVE2FiSK4eN0Br6snX9MtolHaTo/batnLjlGRhoQzlCL61iVpxoqO7SfFyOw+P/pwv+0zNHzKoGWz9Cw==} dev: false /@types/cookie/0.4.1: @@ -3534,27 +3590,13 @@ packages: /@types/cors/2.8.17: resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} dependencies: - '@types/node': 20.16.1 - dev: false - - /@types/eslint-scope/3.7.7: - resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} - dependencies: - '@types/eslint': 9.6.0 - '@types/estree': 1.0.5 + '@types/node': 20.16.2 dev: false /@types/eslint-visitor-keys/1.0.0: resolution: {integrity: sha512-OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==} dev: false - /@types/eslint/9.6.0: - resolution: {integrity: sha512-gi6WQJ7cHRgZxtkQEoyHMppPjq9Kxo5Tjn2prSKDSmZrCz8TZ3jSRCeTJm+WoM+oB0WG37bRqLzaaU3q7JypGg==} - dependencies: - '@types/estree': 1.0.5 - '@types/json-schema': 7.0.15 - dev: false - /@types/estree/1.0.5: resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} dev: false @@ -3562,7 +3604,7 @@ packages: /@types/graceful-fs/4.1.9: resolution: {integrity: sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 dev: false /@types/hast/3.0.4: @@ -3574,7 +3616,7 @@ packages: /@types/hoist-non-react-statics/3.3.5: resolution: {integrity: sha512-SbcrWzkKBw2cdwRTwQAswfpB9g9LJWfjtUeW/jvNwbhC8cpmmNYVePa+ncbUe0rGTQ7G3Ff6mYUN2VMfLVr+Sg==} dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 hoist-non-react-statics: 3.3.2 dev: false @@ -3608,7 +3650,7 @@ packages: /@types/jsdom/20.0.1: resolution: {integrity: sha512-d0r18sZPmMQr1eG35u12FZfhIXNrnsPU/g5wvRKCUf/tOGilKKwYMYGqh33BNR6ba+2gkHw1EUiHoN3mn7E5IQ==} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/tough-cookie': 4.0.5 parse5: 7.1.2 dev: false @@ -3629,8 +3671,8 @@ packages: resolution: {integrity: sha512-GN8yJ1mNTcFcah/wKEFIJckJx9iJLoMSzWcfRRuxz/Jk+U6KQNnml+etbtxFK8lPjzOw3zp4Ha/kjSst9fsHYw==} dev: false - /@types/node/20.16.1: - resolution: {integrity: sha512-zJDo7wEadFtSyNz5QITDfRcrhqDvQI1xQNQ0VoizPjM/dVAODqqIUWbJPkvsxmTI0MYRGRikcdjMPhOssnPejQ==} + /@types/node/20.16.2: + resolution: {integrity: sha512-91s/n4qUPV/wg8eE9KHYW1kouTfDk2FPGjXbBMfRWP/2vg1rCXNQL1OCabwGs0XSdukuK+MwCDXE30QpSeMUhQ==} dependencies: undici-types: 6.19.8 dev: false @@ -3650,11 +3692,11 @@ packages: /@types/react-dom/18.3.0: resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} dependencies: - '@types/react': 18.3.3 + '@types/react': 18.3.4 dev: false - /@types/react/18.3.3: - resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} + /@types/react/18.3.4: + resolution: {integrity: sha512-J7W30FTdfCxDDjmfRM+/JqLHBIyl7xUIp9kwK637FGmY7+mkSFSe6L4jpZzhj5QMfLssSDP4/i75AKkrdC7/Jw==} dependencies: '@types/prop-types': 15.7.12 csstype: 3.1.3 @@ -3667,7 +3709,7 @@ packages: /@types/sinon-chai/3.2.12: resolution: {integrity: sha512-9y0Gflk3b0+NhQZ/oxGtaAJDvRywCa5sIyaVnounqLvmf93yBF4EgIRspePtkMs3Tr844nCclYMlcCNmLCvjuQ==} dependencies: - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/sinon': 10.0.20 dev: false @@ -3730,9 +3772,9 @@ packages: /@types/webpack/5.28.0_webpack-cli@4.8.0: resolution: {integrity: sha512-8cP0CzcxUiFuA9xGJkfeVpqmWTk9nx6CWwamRGCj95ph1SmlRRk9KlCZ6avhCbZd4L68LvYT6l1kpdEnQXrF8w==} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 tapable: 2.2.1 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 transitivePeerDependencies: - '@swc/core' - esbuild @@ -4602,14 +4644,14 @@ packages: '@xtuc/long': 4.2.2 dev: false - /@webpack-cli/configtest/1.2.0_webpack-cli@4.8.0+webpack@5.93.0: + /@webpack-cli/configtest/1.2.0_webpack-cli@4.8.0+webpack@5.94.0: resolution: {integrity: sha512-4FB8Tj6xyVkyqjj1OaTqCjXYULB9FMkqQ8yGrZjRDrYh0nOE+7Lhs45WioWQQMV+ceFlE368Ukhe6xdvJM9Egg==} peerDependencies: webpack: 4.x.x || 5.x.x webpack-cli: 4.x.x dependencies: - webpack: 5.93.0_webpack-cli@4.8.0 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + webpack: 5.94.0_webpack-cli@4.8.0 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 dev: false /@webpack-cli/info/1.5.0_webpack-cli@4.8.0: @@ -4618,7 +4660,7 @@ packages: webpack-cli: 4.x.x dependencies: envinfo: 7.13.0 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 dev: false /@webpack-cli/serve/1.7.0_webpack-cli@4.8.0: @@ -4630,7 +4672,7 @@ packages: webpack-dev-server: optional: true dependencies: - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 dev: false /@xarc/fastify-server/3.3.1: @@ -4644,7 +4686,7 @@ packages: fastify-plugin: 3.0.1 lodash: 4.17.21 require-at: 1.0.6 - tslib: 2.6.3 + tslib: 2.7.0 xaa: 1.7.3 transitivePeerDependencies: - supports-color @@ -4662,7 +4704,7 @@ packages: fastify-plugin: 4.5.1 lodash: 4.17.21 require-at: 1.0.6 - tslib: 2.6.3 + tslib: 2.7.0 xaa: 1.7.3 dev: false @@ -4687,7 +4729,7 @@ packages: filter-scan-dir: 1.5.5 lodash: 4.17.21 tsconfig: 7.0.0 - tslib: 2.6.3 + tslib: 2.7.0 xsh: 0.4.5 dev: false @@ -4700,7 +4742,7 @@ packages: filter-scan-dir: 1.5.5 lodash: 4.17.21 tsconfig: 7.0.0 - tslib: 2.6.3 + tslib: 2.7.0 xsh: 0.4.5 dev: false @@ -4713,7 +4755,7 @@ packages: filter-scan-dir: 1.5.5 lodash: 4.17.21 tsconfig: 7.0.0 - tslib: 2.6.3 + tslib: 2.7.0 xsh: 0.4.5 dev: false @@ -5168,7 +5210,7 @@ packages: resolution: {integrity: sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA==} engines: {node: '>=6.0'} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@babel/runtime-corejs3': 7.25.0 dev: false @@ -5355,8 +5397,8 @@ packages: lodash: 4.17.21 dev: false - /async/3.2.5: - resolution: {integrity: sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==} + /async/3.2.6: + resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} dev: false /asynckit/0.4.0: @@ -5384,7 +5426,7 @@ packages: hasBin: true dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 normalize-range: 0.1.2 num2fraction: 1.2.2 picocolors: 0.2.1 @@ -5421,8 +5463,8 @@ packages: resolution: {integrity: sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==} dev: false - /aws4/1.13.1: - resolution: {integrity: sha512-u5w79Rd7SU4JaIlA/zFqG+gOiuq25q5VLyZ8E+ijJeILuTxVzZgp2CaGw/UTw6pXYN9XMO9yiqj/nEHmhTG5CA==} + /aws4/1.13.2: + resolution: {integrity: sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==} dev: false /b64/3.1.1: @@ -5447,9 +5489,9 @@ packages: eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 eslint-visitor-keys: 1.3.0 resolve: 1.22.8 transitivePeerDependencies: @@ -5464,9 +5506,9 @@ packages: eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 eslint: 6.8.0 eslint-visitor-keys: 1.3.0 resolve: 1.22.8 @@ -5482,9 +5524,9 @@ packages: eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 eslint: 7.32.0 eslint-visitor-keys: 1.3.0 resolve: 1.22.8 @@ -5500,9 +5542,9 @@ packages: eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.24.7 - '@babel/parser': 7.25.3 - '@babel/traverse': 7.25.3 - '@babel/types': 7.25.2 + '@babel/parser': 7.25.4 + '@babel/traverse': 7.25.4 + '@babel/types': 7.25.4 eslint: 8.57.0 eslint-visitor-keys: 1.3.0 resolve: 1.22.8 @@ -5586,7 +5628,7 @@ packages: - supports-color dev: false - /babel-loader/8.3.0_webpack@5.93.0: + /babel-loader/8.3.0_webpack@5.94.0: resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: @@ -5597,10 +5639,10 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false - /babel-loader/9.1.3_fb5444ab5673dfbe6bc1a45ea6b1bf7e: + /babel-loader/9.1.3_4b99dcdeb69e8e040fc026bb3eb922e4: resolution: {integrity: sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -5610,7 +5652,7 @@ packages: '@babel/core': 7.25.2 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /babel-plugin-istanbul/6.1.1: @@ -5631,7 +5673,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/template': 7.25.0 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 '@types/babel__core': 7.20.5 '@types/babel__traverse': 7.20.6 dev: false @@ -5640,7 +5682,7 @@ packages: resolution: {integrity: sha512-yDZLjK7TCkWl1gpBeBGmuaDIFhZKmkoL+Cu2MUUjv5VxUZx/z7tBGBCBcQs5RI1Bkz5LLmNdjx7paOyQtMovyg==} dependencies: '@babel/helper-module-imports': 7.24.7 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 glob: 7.2.3 lodash: 4.17.21 require-package-name: 2.0.1 @@ -5718,7 +5760,7 @@ packages: peerDependencies: '@babel/core': ^7.4.0 || ^8.0.0-0 <8.0.0 dependencies: - '@babel/compat-data': 7.25.2 + '@babel/compat-data': 7.25.4 '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.2_@babel+core@7.25.2 semver: 6.3.1 @@ -5733,7 +5775,7 @@ packages: dependencies: '@babel/core': 7.25.2 '@babel/helper-define-polyfill-provider': 0.6.2_@babel+core@7.25.2 - core-js-compat: 3.38.0 + core-js-compat: 3.38.1 transitivePeerDependencies: - supports-color dev: false @@ -5754,7 +5796,7 @@ packages: engines: {node: '>8.0.0'} dependencies: '@babel/plugin-syntax-jsx': 7.24.7 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 ajv: 6.12.6 ajv-keywords: 3.5.2_ajv@6.12.6 generic-names: 2.0.1 @@ -5774,7 +5816,7 @@ packages: engines: {node: '>8.0.0'} dependencies: '@babel/plugin-syntax-jsx': 7.24.7_@babel+core@7.25.2 - '@babel/types': 7.25.2 + '@babel/types': 7.25.4 ajv: 6.12.6 ajv-keywords: 3.5.2_ajv@6.12.6 generic-names: 2.0.1 @@ -6089,7 +6131,7 @@ packages: /broadcast-channel/3.7.0: resolution: {integrity: sha512-cIAKJXAxGJceNZGTZSBzMxzyOn72cVgPnKx4dc6LRjQgbaJUQqhy5rzL3zbMxkMWsGKkv2hSFkPRMEXfoMZ2Mg==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 detect-node: 2.1.0 js-sha3: 0.8.0 microseconds: 0.2.0 @@ -6116,8 +6158,8 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true dependencies: - caniuse-lite: 1.0.30001651 - electron-to-chromium: 1.5.11 + caniuse-lite: 1.0.30001653 + electron-to-chromium: 1.5.13 node-releases: 2.0.18 update-browserslist-db: 1.1.0_browserslist@4.23.3 dev: false @@ -6238,7 +6280,7 @@ packages: resolution: {integrity: sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==} dependencies: pascal-case: 3.1.2 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /camelcase/5.0.0: @@ -6260,13 +6302,13 @@ packages: resolution: {integrity: sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==} dependencies: browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 lodash.memoize: 4.1.2 lodash.uniq: 4.5.0 dev: false - /caniuse-lite/1.0.30001651: - resolution: {integrity: sha512-9Cf+Xv1jJNe1xPZLGuUXLNkE1BoDkqRqYyFJ9TDYSqhduqA4hu4oR9HluGoWYQC/aj8WHjsGVV+bwkh0+tegRg==} + /caniuse-lite/1.0.30001653: + resolution: {integrity: sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw==} dev: false /caseless/0.12.0: @@ -6486,8 +6528,8 @@ packages: deprecated: CircularJSON is in maintenance only, flatted is its successor. dev: false - /cjs-module-lexer/1.3.1: - resolution: {integrity: sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q==} + /cjs-module-lexer/1.4.0: + resolution: {integrity: sha512-N1NGmowPlGBLsOZLPvm48StN04V4YvQRL0i6b7ctrVY3epjP/ct7hFLOItz6pDIvRjwpfPxi52a2UWV2ziir8g==} dev: false /clean-css/5.3.3: @@ -6775,19 +6817,19 @@ packages: is-what: 3.14.1 dev: false - /core-js-compat/3.38.0: - resolution: {integrity: sha512-75LAicdLa4OJVwFxFbQR3NdnZjNgX6ILpVcVzcC4T2smerB5lELMrJQQQoWV6TiuC/vlaFqgU2tKQx9w5s0e0A==} + /core-js-compat/3.38.1: + resolution: {integrity: sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==} dependencies: browserslist: 4.23.3 dev: false - /core-js-pure/3.38.0: - resolution: {integrity: sha512-8balb/HAXo06aHP58mZMtXgD8vcnXz9tUDePgqBgJgKdmTlMt+jw3ujqniuBDQXMvTzxnMpxHFeuSM3g1jWQuQ==} + /core-js-pure/3.38.1: + resolution: {integrity: sha512-BY8Etc1FZqdw1glX0XNOq2FDwfrg/VGqoZOZCdaL+UmdaqDwQwYXkMJT4t6In+zfEfOJDcM9T0KdbBeJg8KKCQ==} requiresBuild: true dev: false - /core-js/3.38.0: - resolution: {integrity: sha512-XPpwqEodRljce9KswjZShh95qJ1URisBeKCjUdq27YdenkslVe7OO0ZJhlYXAChW7OhXaRLl8AAba7IBfoIHug==} + /core-js/3.38.1: + resolution: {integrity: sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw==} requiresBuild: true dev: false @@ -6817,7 +6859,7 @@ packages: parse-json: 4.0.0 dev: false - /create-jest/29.7.0_@types+node@20.16.1: + /create-jest/29.7.0_@types+node@20.16.2: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -6826,7 +6868,7 @@ packages: chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0_@types+node@20.16.1 + jest-config: 29.7.0_@types+node@20.16.2 jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -6910,7 +6952,7 @@ packages: postcss-selector-parser: 5.0.0 dev: false - /css-loader/6.11.0_webpack@5.93.0: + /css-loader/6.11.0_webpack@5.94.0: resolution: {integrity: sha512-CTJ+AEQJjq5NzLga5pE39qdiSV56F8ywCIsqNIRF0r7BDgWsN25aazToqAFg7ZrtA/U016xudB3ffgweORxX7g==} engines: {node: '>= 12.13.0'} peerDependencies: @@ -6930,10 +6972,10 @@ packages: postcss-modules-values: 4.0.0_postcss@8.4.41 postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false - /css-minimizer-webpack-plugin/1.3.0_webpack@5.93.0: + /css-minimizer-webpack-plugin/1.3.0_webpack@5.94.0: resolution: {integrity: sha512-jFa0Siplmfef4ndKglpVaduY47oHQwioAOEGK0f0vAX0s+vc+SmP6cCMoc+8Adau5600RnOEld5VVdC8CQau7w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -6947,7 +6989,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 5.0.1 source-map: 0.6.1 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-sources: 1.4.3 dev: false @@ -7602,7 +7644,7 @@ packages: resolution: {integrity: sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==} dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /dot-prop/5.3.0: @@ -7660,7 +7702,7 @@ packages: dependencies: js-yaml: 3.14.1 lodash: 4.17.21 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /electrode-hapi-compat/1.3.3: @@ -7713,8 +7755,8 @@ packages: xaa: 1.7.3 dev: false - /electron-to-chromium/1.5.11: - resolution: {integrity: sha512-R1CccCDYqndR25CaXFd6hp/u9RaaMcftMkphmvuepXr5b1vfLkRml6aWVeBhXJ7rbevHkKEMJtz8XqPf7ffmew==} + /electron-to-chromium/1.5.13: + resolution: {integrity: sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==} dev: false /emittery/0.13.1: @@ -7777,7 +7819,7 @@ packages: dependencies: '@types/cookie': 0.4.1 '@types/cors': 2.8.17 - '@types/node': 20.16.1 + '@types/node': 20.16.2 accepts: 1.3.8 base64id: 2.0.0 cookie: 0.4.2 @@ -8197,7 +8239,7 @@ packages: optional: true dependencies: '@typescript-eslint/utils': 5.62.0 - jest: 29.7.0_@types+node@20.16.1 + jest: 29.7.0_@types+node@20.16.2 transitivePeerDependencies: - supports-color - typescript @@ -8850,7 +8892,7 @@ packages: /fast-async/7.0.6: resolution: {integrity: sha512-/iUa3eSQC+Xh5tN6QcVLsEsN7b1DaPIoTZo++VpLLIxtdNW2tEmMZex4TcrMeRnBwMOpZwue2CB171wjt5Kgqg==} dependencies: - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.5 '@babel/helper-module-imports': 7.24.7 babylon: 7.0.0-beta.47 nodent-runtime: 3.2.1 @@ -8883,7 +8925,7 @@ packages: '@nodelib/fs.walk': 1.2.8 glob-parent: 5.1.2 merge2: 1.4.1 - micromatch: 4.0.7 + micromatch: 4.0.8 dev: false /fast-json-stable-stringify/2.1.0: @@ -9057,7 +9099,7 @@ packages: flat-cache: 3.2.0 dev: false - /file-loader/6.2.0_webpack@5.93.0: + /file-loader/6.2.0_webpack@5.94.0: resolution: {integrity: sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -9065,7 +9107,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /filesize/3.6.1: @@ -9768,7 +9810,7 @@ packages: /history/5.3.0: resolution: {integrity: sha512-ZqaKwjjrAYUYfLG+htGaIIZ4nioX2L70ZUMIFysS3xvBsSG4x/n1V6TXV3N8ZYNuFGlDirFg32T7B6WOUPDYcQ==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 dev: false /hoek/4.3.1: @@ -9859,7 +9901,7 @@ packages: terser: 5.31.6 dev: false - /html-webpack-plugin/5.6.0_webpack@5.93.0: + /html-webpack-plugin/5.6.0_webpack@5.94.0: resolution: {integrity: sha512-iwaY4wzbe48AfKLZ/Cc8k0L+FKG6oSNRaZ8x5A/T/IVDGyXcbHncM9TdDa93wn0FsSm82FhTKW7f3vS61thXAw==} engines: {node: '>=10.13.0'} peerDependencies: @@ -9876,7 +9918,7 @@ packages: lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /htmlparser2/6.1.0: @@ -10066,6 +10108,10 @@ packages: dev: false optional: true + /immer/10.1.1: + resolution: {integrity: sha512-s2MPrmjovJcoMaHtx6K11Ra7oD05NT97w1IC5zpMkT6Atjr7H8LjaDd81iIxUYpMKSRRNMJE703M1Fhr/TctHw==} + dev: false + /immutable/4.3.7: resolution: {integrity: sha512-1hqclzwYwjRDFLjcFxOM5AYkkG0rpFPpr1RLPMEuGczoS7YA8gLhy8SWXYRAA/XwfEHpfo3cw5JGioS32fnMRw==} dev: false @@ -10314,8 +10360,8 @@ packages: rgba-regex: 1.0.0 dev: false - /is-core-module/2.15.0: - resolution: {integrity: sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==} + /is-core-module/2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} dependencies: hasown: 2.0.2 @@ -10601,7 +10647,7 @@ packages: engines: {node: '>=8'} dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 6.3.1 @@ -10614,7 +10660,7 @@ packages: engines: {node: '>=10'} dependencies: '@babel/core': 7.25.2 - '@babel/parser': 7.25.3 + '@babel/parser': 7.25.4 '@istanbuljs/schema': 0.1.3 istanbul-lib-coverage: 3.2.2 semver: 7.6.3 @@ -10731,7 +10777,7 @@ packages: '@jest/expect': 29.7.0 '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 co: 4.6.0 dedent: 1.5.3 @@ -10752,7 +10798,7 @@ packages: - supports-color dev: false - /jest-cli/29.7.0_@types+node@20.16.1: + /jest-cli/29.7.0_@types+node@20.16.2: resolution: {integrity: sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -10766,10 +10812,10 @@ packages: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0_@types+node@20.16.1 + create-jest: 29.7.0_@types+node@20.16.2 exit: 0.1.2 import-local: 3.2.0 - jest-config: 29.7.0_@types+node@20.16.1 + jest-config: 29.7.0_@types+node@20.16.2 jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -10780,7 +10826,7 @@ packages: - ts-node dev: false - /jest-config/29.7.0_@types+node@20.16.1: + /jest-config/29.7.0_@types+node@20.16.2: resolution: {integrity: sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} peerDependencies: @@ -10795,7 +10841,7 @@ packages: '@babel/core': 7.25.2 '@jest/test-sequencer': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 babel-jest: 29.7.0_@babel+core@7.25.2 chalk: 4.1.2 ci-info: 3.9.0 @@ -10810,7 +10856,7 @@ packages: jest-runner: 29.7.0 jest-util: 29.7.0 jest-validate: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 parse-json: 5.2.0 pretty-format: 29.7.0 slash: 3.0.0 @@ -10861,7 +10907,7 @@ packages: '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 '@types/jsdom': 20.0.1 - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-mock: 29.7.0 jest-util: 29.7.0 jsdom: 20.0.3 @@ -10878,7 +10924,7 @@ packages: '@jest/environment': 29.7.0 '@jest/fake-timers': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-mock: 29.7.0 jest-util: 29.7.0 dev: false @@ -10894,14 +10940,14 @@ packages: dependencies: '@jest/types': 29.6.3 '@types/graceful-fs': 4.1.9 - '@types/node': 20.16.1 + '@types/node': 20.16.2 anymatch: 3.1.3 fb-watchman: 2.0.2 graceful-fs: 4.2.11 jest-regex-util: 29.6.3 jest-util: 29.7.0 jest-worker: 29.7.0 - micromatch: 4.0.7 + micromatch: 4.0.8 walker: 1.0.8 optionalDependencies: fsevents: 2.3.3 @@ -10934,7 +10980,7 @@ packages: '@types/stack-utils': 2.0.3 chalk: 4.1.2 graceful-fs: 4.2.11 - micromatch: 4.0.7 + micromatch: 4.0.8 pretty-format: 29.7.0 slash: 3.0.0 stack-utils: 2.0.6 @@ -10945,7 +10991,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-util: 29.7.0 dev: false @@ -11000,7 +11046,7 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 emittery: 0.13.1 graceful-fs: 4.2.11 @@ -11031,9 +11077,9 @@ packages: '@jest/test-result': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 - cjs-module-lexer: 1.3.1 + cjs-module-lexer: 1.4.0 collect-v8-coverage: 1.0.2 glob: 7.2.3 graceful-fs: 4.2.11 @@ -11055,10 +11101,10 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@babel/core': 7.25.2 - '@babel/generator': 7.25.0 + '@babel/generator': 7.25.5 '@babel/plugin-syntax-jsx': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-syntax-typescript': 7.24.7_@babel+core@7.25.2 - '@babel/types': 7.25.2 + '@babel/plugin-syntax-typescript': 7.25.4_@babel+core@7.25.2 + '@babel/types': 7.25.4 '@jest/expect-utils': 29.7.0 '@jest/transform': 29.7.0 '@jest/types': 29.6.3 @@ -11083,7 +11129,7 @@ packages: engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 chalk: 4.1.2 ci-info: 3.9.0 graceful-fs: 4.2.11 @@ -11108,7 +11154,7 @@ packages: dependencies: '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 - '@types/node': 20.16.1 + '@types/node': 20.16.2 ansi-escapes: 4.3.2 chalk: 4.1.2 emittery: 0.13.1 @@ -11120,7 +11166,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 merge-stream: 2.0.0 supports-color: 7.2.0 dev: false @@ -11129,7 +11175,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -11138,13 +11184,13 @@ packages: resolution: {integrity: sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} dependencies: - '@types/node': 20.16.1 + '@types/node': 20.16.2 jest-util: 29.7.0 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false - /jest/29.7.0_@types+node@20.16.1: + /jest/29.7.0_@types+node@20.16.2: resolution: {integrity: sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} hasBin: true @@ -11157,7 +11203,7 @@ packages: '@jest/core': 29.7.0 '@jest/types': 29.6.3 import-local: 3.2.0 - jest-cli: 29.7.0_@types+node@20.16.1 + jest-cli: 29.7.0_@types+node@20.16.2 transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -11632,7 +11678,7 @@ packages: karma: 6.4.4 dev: false - /karma-webpack/5.0.1_webpack@5.93.0: + /karma-webpack/5.0.1_webpack@5.94.0: resolution: {integrity: sha512-oo38O+P3W2mSPCSUrQdySSPv1LvPpXP+f+bBimNomS5sW+1V4SuhCuW8TfJzV+rDv921w2fDSDw0xJbPe6U+kQ==} engines: {node: '>= 18'} peerDependencies: @@ -11640,7 +11686,7 @@ packages: dependencies: glob: 7.2.3 minimatch: 9.0.5 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-merge: 4.2.2 dev: false @@ -11700,7 +11746,7 @@ packages: resolution: {integrity: sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==} dev: false - /less-loader/4.1.0_less@3.13.1+webpack@5.93.0: + /less-loader/4.1.0_less@3.13.1+webpack@5.94.0: resolution: {integrity: sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==} engines: {node: '>= 4.8 < 5.0.0 || >= 5.10'} peerDependencies: @@ -11711,7 +11757,7 @@ packages: less: 3.13.1 loader-utils: 1.4.2 pify: 3.0.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /less/3.13.1: @@ -11727,7 +11773,7 @@ packages: image-size: 0.5.5 make-dir: 2.1.0 mime: 1.6.0 - native-request: 1.1.0 + native-request: 1.1.2 source-map: 0.6.1 dev: false @@ -12009,7 +12055,7 @@ packages: '@types/triple-beam': 1.3.5 fecha: 4.2.3 ms: 2.1.3 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 triple-beam: 1.4.1 dev: false @@ -12043,7 +12089,7 @@ packages: /lower-case/2.0.2: resolution: {integrity: sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==} dependencies: - tslib: 2.6.3 + tslib: 2.7.0 dev: false /lru-cache/10.4.3: @@ -12145,7 +12191,7 @@ packages: /match-sorter/6.3.4: resolution: {integrity: sha512-jfZW7cWS5y/1xswZo8VBOdudUiSd9nifYRWphc9M5D/ee4w4AoXLgBEdRbgVaxbMuagBPeUC5y2Hi8DO6o9aDg==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 remove-accents: 0.5.0 dev: false @@ -12203,8 +12249,8 @@ packages: engines: {node: '>= 0.6'} dev: false - /micromatch/4.0.7: - resolution: {integrity: sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q==} + /micromatch/4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} dependencies: braces: 3.0.3 @@ -12279,7 +12325,7 @@ packages: engines: {node: '>=4'} dev: false - /mini-css-extract-plugin/1.6.2_webpack@5.93.0: + /mini-css-extract-plugin/1.6.2_webpack@5.94.0: resolution: {integrity: sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -12287,7 +12333,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-sources: 1.4.3 dev: false @@ -12487,8 +12533,8 @@ packages: hasBin: true dev: false - /native-request/1.1.0: - resolution: {integrity: sha512-uZ5rQaeRn15XmpgE0xoPL8YWqcX90VtCFglYwAgkvKM5e8fog+vePLAhHxuuv/gRkrQxIeh5U3q9sMNUrENqWw==} + /native-request/1.1.2: + resolution: {integrity: sha512-/etjwrK0J4Ebbcnt35VMWnfiUX/B04uwGJxyJInagxDqf2z5drSt/lsOvEMWGYunz1kaLZAFrV4NDAbOoDKvAQ==} dev: false optional: true @@ -12556,7 +12602,7 @@ packages: resolution: {integrity: sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==} dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 + '@sinonjs/fake-timers': 11.3.1 '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 path-to-regexp: 6.2.2 @@ -12566,7 +12612,7 @@ packages: resolution: {integrity: sha512-K8ePqo9BFvN31HXwEtTNGzgrPpmvgciDsFz8aztFjt4LqKO/JeFD8tBOeuDiCMXrIl/m1YvfH8auSpxfaD09wg==} dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 + '@sinonjs/fake-timers': 11.3.1 '@sinonjs/text-encoding': 0.7.3 just-extend: 6.2.0 path-to-regexp: 6.2.2 @@ -12582,7 +12628,7 @@ packages: resolution: {integrity: sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==} dependencies: lower-case: 2.0.2 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /node-fetch/2.6.12: @@ -13037,7 +13083,7 @@ packages: resolution: {integrity: sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==} dependencies: dot-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /parent-module/1.0.1: @@ -13105,7 +13151,7 @@ packages: resolution: {integrity: sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==} dependencies: no-case: 3.0.4 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /path-exists/3.0.0: @@ -13295,7 +13341,7 @@ packages: process-warning: 4.0.0 quick-format-unescaped: 4.0.4 real-require: 0.2.0 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 sonic-boom: 4.0.1 thread-stream: 3.1.0 dev: false @@ -13889,7 +13935,7 @@ packages: dependencies: autoprefixer: 9.8.8 browserslist: 4.23.3 - caniuse-lite: 1.0.30001651 + caniuse-lite: 1.0.30001653 css-blank-pseudo: 0.1.4 css-has-pseudo: 0.10.0 css-prefers-color-scheme: 3.1.1 @@ -14397,7 +14443,7 @@ packages: react-native: optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 broadcast-channel: 3.7.0 match-sorter: 6.3.4 dev: false @@ -14414,7 +14460,7 @@ packages: react-native: optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 broadcast-channel: 3.7.0 match-sorter: 6.3.4 react: 18.3.1 @@ -14442,7 +14488,7 @@ packages: redux: optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/hoist-non-react-statics': 3.3.5 '@types/use-sync-external-store': 0.0.3 hoist-non-react-statics: 3.3.2 @@ -14453,7 +14499,7 @@ packages: use-sync-external-store: 1.2.2_react@18.3.1 dev: false - /react-redux/8.1.3_91ee3f21853aee6f4038f22086c31182: + /react-redux/8.1.3_c6ff50d475614f137f4e4b14f21f54e2: resolution: {integrity: sha512-n0ZrutD7DaX/j9VscF+uTALI3oUPa/pO4Z3soOBIjuRn/FzVu6aehhysxZCLi6y7duMf52WNZGMl7CtuK5EnRw==} peerDependencies: '@types/react': ^16.8 || ^17.0 || ^18.0 @@ -14474,9 +14520,9 @@ packages: redux: optional: true dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@types/hoist-non-react-statics': 3.3.5 - '@types/react': 18.3.3 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/use-sync-external-store': 0.0.3 hoist-non-react-statics: 3.3.2 @@ -14487,6 +14533,24 @@ packages: use-sync-external-store: 1.2.2_react@18.3.1 dev: false + /react-redux/9.1.2_@types+react@18.3.4+react@18.3.1: + resolution: {integrity: sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==} + peerDependencies: + '@types/react': ^18.2.25 + react: ^18.0 + redux: ^5.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + redux: + optional: true + dependencies: + '@types/react': 18.3.4 + '@types/use-sync-external-store': 0.0.3 + react: 18.3.1 + use-sync-external-store: 1.2.2_react@18.3.1 + dev: false + /react-redux/9.1.2_react@18.3.1+redux@5.0.1: resolution: {integrity: sha512-0OA4dhM1W48l3uzmv6B7TXPCGmokUU4p1M44DGN2/D9a1FjVPukVjER1PcPX97jIg6aUeLq1XJo1IpfbgULn0w==} peerDependencies: @@ -14690,10 +14754,18 @@ packages: '@redux-saga/core': 1.3.0 dev: false + /redux-thunk/3.1.0_redux@5.0.1: + resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} + peerDependencies: + redux: ^5.0.0 + dependencies: + redux: 5.0.1 + dev: false + /redux/4.2.1: resolution: {integrity: sha512-LAUYz4lc+Do8/g7aeRa8JkyDErK6ekstQaqWQrNRW//MY1TvCEpMtpTWvlQ+FPbWCx+Xixu/6SHt5N0HR+SB4w==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 dev: false /redux/5.0.1: @@ -14745,7 +14817,7 @@ packages: /regenerator-transform/0.15.2: resolution: {integrity: sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 dev: false /regexp.prototype.flags/1.5.2: @@ -14833,7 +14905,7 @@ packages: deprecated: request has been deprecated, see https://github.com/request/request/issues/3142 dependencies: aws-sign2: 0.7.0 - aws4: 1.13.1 + aws4: 1.13.2 caseless: 0.12.0 combined-stream: 1.0.8 extend: 3.0.2 @@ -14889,6 +14961,10 @@ packages: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} dev: false + /reselect/5.1.1: + resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} + dev: false + /resolve-cwd/3.0.0: resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} engines: {node: '>=8'} @@ -14928,7 +15004,7 @@ packages: /resolve/1.19.0: resolution: {integrity: sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==} dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 dev: false @@ -14936,7 +15012,7 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -14945,7 +15021,7 @@ packages: resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} hasBin: true dependencies: - is-core-module: 2.15.0 + is-core-module: 2.15.1 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 dev: false @@ -15104,8 +15180,8 @@ packages: ret: 0.4.3 dev: false - /safe-stable-stringify/2.4.3: - resolution: {integrity: sha512-e2bDA2WJT0wxseVd4lsDP4+3ONX6HpMXQa1ZhFQ7SU+GjvORCmShbCMltrtIDfkYhVHrOcPtj+KhmDBdPdZD1g==} + /safe-stable-stringify/2.5.0: + resolution: {integrity: sha512-b3rppTKm9T+PsVCBEOUR46GWI7fdOs00VKZ1+9c1EWDaDMvjQc6tUwuFyIprgGgTcWoVHSKrU8H31ZHA2e0RHA==} engines: {node: '>=10'} dev: false @@ -15123,7 +15199,7 @@ packages: deprecated: This package has been deprecated in favour of @sinonjs/samsam dev: false - /sass-loader/13.3.3_sass@1.77.8+webpack@5.93.0: + /sass-loader/13.3.3_sass@1.77.8+webpack@5.94.0: resolution: {integrity: sha512-mt5YN2F1MOZr3d/wBRcZxeFgwgkH44wVc2zohO2YF6JiOMkiXe4BYRZpSu2sO1g71mo/j16txzUhsKZlqjVGzA==} engines: {node: '>= 14.15.0'} peerDependencies: @@ -15144,7 +15220,7 @@ packages: dependencies: neo-async: 2.6.2 sass: 1.77.8 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /sass/1.77.8: @@ -15580,7 +15656,7 @@ packages: resolution: {integrity: sha512-+dXDXzD1sBO6HlmZDd7mXZCR/y5ECiEiGCBSGuFD/kZ0bDTofPYc6JaeGmPSF+1j1MejGUWkORbYOLDyvqCWpA==} dependencies: '@sinonjs/commons': 3.0.1 - '@sinonjs/fake-timers': 11.2.2 + '@sinonjs/fake-timers': 11.3.1 '@sinonjs/samsam': 8.0.0 diff: 5.2.0 nise: 6.0.0 @@ -15813,7 +15889,7 @@ packages: resolution: {integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==} dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 dev: false /spdx-exceptions/2.5.0: @@ -15824,18 +15900,18 @@ packages: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 dev: false /spdx-expression-parse/4.0.0: resolution: {integrity: sha512-Clya5JIij/7C6bRR22+tnGXbc4VKlibKSVj2iHvVeX5iMW7s1SIQlqu699JkODJJIhh/pUu8L0/VLh8xflD+LQ==} dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.18 + spdx-license-ids: 3.0.20 dev: false - /spdx-license-ids/3.0.18: - resolution: {integrity: sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ==} + /spdx-license-ids/3.0.20: + resolution: {integrity: sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==} dev: false /spdy-transport/3.0.0: @@ -16289,7 +16365,7 @@ packages: engines: {node: ^14.18.0 || >=16.0.0} dependencies: '@pkgr/core': 0.1.1 - tslib: 2.6.3 + tslib: 2.7.0 dev: false /table/4.0.2: @@ -16341,7 +16417,7 @@ packages: yallist: 4.0.0 dev: false - /terser-webpack-plugin/5.3.10_webpack@5.93.0: + /terser-webpack-plugin/5.3.10_webpack@5.94.0: resolution: {integrity: sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -16362,7 +16438,7 @@ packages: schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.31.6 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /terser/5.31.6: @@ -16524,7 +16600,7 @@ packages: typescript: 5.5.4 dev: false - /ts-node/10.9.2_6c4a2c10893ccbb1596949b5d43edeb6: + /ts-node/10.9.2_4a16a80779df9528706de5226000dcec: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16543,19 +16619,19 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.16.1 + '@types/node': 20.16.2 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 4.9.5 + typescript: 5.5.4 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false - /ts-node/10.9.2_709ed2352afaf456d68e4faebe116bb0: + /ts-node/10.9.2_e3d33c578cbeb7027d7e471a764336fa: resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} hasBin: true peerDependencies: @@ -16574,14 +16650,14 @@ packages: '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 20.16.1 + '@types/node': 20.16.2 acorn: 8.12.1 acorn-walk: 8.3.3 arg: 4.1.3 create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.4 + typescript: 4.9.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 dev: false @@ -16615,8 +16691,8 @@ packages: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} dev: false - /tslib/2.6.3: - resolution: {integrity: sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ==} + /tslib/2.7.0: + resolution: {integrity: sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA==} dev: false /tsutils/3.21.0: @@ -16979,7 +17055,7 @@ packages: /unload/2.2.0: resolution: {integrity: sha512-B60uB5TNBLtN6/LsgAf3udH9saB5p7gqJwcFfbOEZ8BcBHnGwCf6G/TGiEqkRAxX7zAFIUtzdrXQSdL3Q/wqNA==} dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 detect-node: 2.1.0 dev: false @@ -17015,7 +17091,7 @@ packages: punycode: 2.3.1 dev: false - /url-loader/4.1.1_file-loader@6.2.0+webpack@5.93.0: + /url-loader/4.1.1_file-loader@6.2.0+webpack@5.94.0: resolution: {integrity: sha512-3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -17025,11 +17101,11 @@ packages: file-loader: optional: true dependencies: - file-loader: 6.2.0_webpack@5.93.0 + file-loader: 6.2.0_webpack@5.94.0 loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /url-parse/1.5.10: @@ -17252,7 +17328,7 @@ packages: ws: 6.2.3 dev: false - /webpack-cli/4.8.0_4334de17d624781f2699217176e11f63: + /webpack-cli/4.8.0_2b4e8292866a351ca53ec0111962e810: resolution: {integrity: sha512-+iBSWsX16uVna5aAYN6/wjhJy1q/GKk4KjKvfg90/6hykCTSgozbfz5iRgDTSJt/LgSbYxdBX3KBHeobIs+ZEw==} engines: {node: '>=10.13.0'} hasBin: true @@ -17273,7 +17349,7 @@ packages: optional: true dependencies: '@discoveryjs/json-ext': 0.5.7 - '@webpack-cli/configtest': 1.2.0_webpack-cli@4.8.0+webpack@5.93.0 + '@webpack-cli/configtest': 1.2.0_webpack-cli@4.8.0+webpack@5.94.0 '@webpack-cli/info': 1.5.0_webpack-cli@4.8.0 '@webpack-cli/serve': 1.7.0_webpack-cli@4.8.0 colorette: 1.4.0 @@ -17284,12 +17360,12 @@ packages: interpret: 2.2.0 rechoir: 0.7.1 v8-compile-cache: 2.4.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-bundle-analyzer: 3.9.0 webpack-merge: 5.10.0 dev: false - /webpack-dev-middleware/4.3.0_webpack@5.93.0: + /webpack-dev-middleware/4.3.0_webpack@5.94.0: resolution: {integrity: sha512-PjwyVY95/bhBh6VUqt6z4THplYcsvQ8YNNBTBM873xLVmw8FLeALn0qurHbs9EmcfhzQis/eoqypSnZeuUz26w==} engines: {node: '>= v10.23.3'} peerDependencies: @@ -17301,7 +17377,7 @@ packages: mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 3.3.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 dev: false /webpack-hot-middleware/2.25.4: @@ -17359,8 +17435,8 @@ packages: resolution: {integrity: sha512-yUKYyy+e0iF/w31QdfioRKY+h3jDBRpthexBOWGKda99iu2l/wxYsI/XqdlP5IU58/0KB9CsJZgWNAl+/MPkRw==} dev: false - /webpack/5.93.0_webpack-cli@4.8.0: - resolution: {integrity: sha512-Y0m5oEY1LRuwly578VqluorkXbvXKh7U3rLoQCEO04M97ScRr44afGVkI0FQFsXzysk5OgFAxjZAb9rsGQVihA==} + /webpack/5.94.0_webpack-cli@4.8.0: + resolution: {integrity: sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg==} engines: {node: '>=10.13.0'} hasBin: true peerDependencies: @@ -17369,7 +17445,6 @@ packages: webpack-cli: optional: true dependencies: - '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 '@webassemblyjs/ast': 1.12.1 '@webassemblyjs/wasm-edit': 1.12.1 @@ -17390,9 +17465,9 @@ packages: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10_webpack@5.93.0 + terser-webpack-plugin: 5.3.10_webpack@5.94.0 watchpack: 2.4.2 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 webpack-sources: 3.2.3 transitivePeerDependencies: - '@swc/core' @@ -17588,12 +17663,12 @@ packages: dependencies: '@colors/colors': 1.6.0 '@dabh/diagnostics': 2.0.3 - async: 3.2.5 + async: 3.2.6 is-stream: 2.0.1 logform: 2.6.1 one-time: 1.0.0 readable-stream: 3.6.2 - safe-stable-stringify: 2.4.3 + safe-stable-stringify: 2.5.0 stack-trace: 0.0.10 triple-beam: 1.4.1 winston-transport: 4.7.1 @@ -17731,7 +17806,7 @@ packages: /xaa/1.7.1: resolution: {integrity: sha512-SLb9sd9sWeQMqyrghmdhXOb4NKHTvRchG34nzVvxP+Cf8UvkGuxu6VM7+fsPbFWSBNfGFsLvHeZf9X6ifbPRrg==} dependencies: - tslib: 2.6.3 + tslib: 2.7.0 dev: false /xaa/1.7.3: @@ -17895,8 +17970,8 @@ packages: engines: {node: '>=12.20'} dev: false - file:projects/app-dev.tgz_webpack-cli@4.8.0+webpack@5.93.0: - resolution: {integrity: sha512-e3d1HxfeZn4JLRUw9WebVxeaSfSOptJ183iI2umPmGkI00lW9DcwVU+LTzw0L0MMvCKgU5v4G3R3ih0QGYBaww==, tarball: file:projects/app-dev.tgz} + file:projects/app-dev.tgz_webpack-cli@4.8.0+webpack@5.94.0: + resolution: {integrity: sha512-S77YLUW1m5CORttWJh1rYSk7RWr0Fqo3In4U1Kj7Mk9O2GDFhqJqrVzJaRM6MVqjqz//BhlmKng5yQKXbR1/zw==, tarball: file:projects/app-dev.tgz} id: file:projects/app-dev.tgz name: '@rush-temp/app-dev' version: 0.0.0 @@ -17908,16 +17983,16 @@ packages: '@babel/plugin-proposal-object-rest-spread': 7.20.7_@babel+core@7.25.2 '@babel/plugin-transform-react-constant-elements': 7.25.1_@babel+core@7.25.2 '@babel/plugin-transform-react-inline-elements': 7.24.7_@babel+core@7.25.2 - '@babel/plugin-transform-runtime': 7.24.7_@babel+core@7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/plugin-transform-runtime': 7.25.4_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/preset-typescript': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 '@jchip/redbird': 1.3.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@types/webpack': 5.28.0_webpack-cli@4.8.0 @@ -17936,7 +18011,7 @@ packages: chai: 4.5.0 chalker: 1.2.0 chokidar: 3.6.0 - core-js: 3.38.0 + core-js: 3.38.1 electrode-server: 3.3.0 electrode-server1: /electrode-server/1.9.0 eslint: 7.32.0 @@ -17976,12 +18051,12 @@ packages: sinon-chai: 3.7.0_chai@4.5.0+sinon@9.2.4 source-map-support: 0.5.21 sudo-prompt: 9.2.1 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 visual-logger: 1.1.3 - webpack-dev-middleware: 4.3.0_webpack@5.93.0 + webpack-dev-middleware: 4.3.0_webpack@5.94.0 webpack-hot-middleware: 2.26.1 winston: 3.14.2 xaa: 1.7.3 @@ -17999,15 +18074,15 @@ packages: dev: false file:projects/app.tgz: - resolution: {integrity: sha512-RSfKvCArCYMgfs/6VFxS1CWDwpBbcU20Gkg4wB7Shlx8Wq6B6/tJaLyyw+FaT2neqtgSOVx8InrIbbhu3hPbCQ==, tarball: file:projects/app.tgz} + resolution: {integrity: sha512-kpnV6ir22Q+ojeeILgy/MPFzGQJqyIyr3MqZKMRNPugfhwX2im/YQ512PcpOM/la3L6Af/ZDNWmtYXOUzuTnVA==, tarball: file:projects/app.tgz} name: '@rush-temp/app' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 10.0.20 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 7.10.0_2eae2e4a0e714d834d5e9bb858aa748a @@ -18032,8 +18107,8 @@ packages: sinon: 13.0.2 sinon-chai: 3.7.0_chai@4.5.0+sinon@13.0.2 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 @@ -18044,16 +18119,16 @@ packages: dev: false file:projects/create-app.tgz: - resolution: {integrity: sha512-3TlTQie/nhEWPrSNvZpgAD8C06J2KA2RsMubA7Q7HQoIr/xuZkoneZYp9Lx9aN1CdQKTD/BAsgjdS9MkIQnxUQ==, tarball: file:projects/create-app.tgz} + resolution: {integrity: sha512-p/bbZ4G/NLecHkLo4qeK2huA14lFrdNCNucLvPZ9q0e341h5jg+T15UpSHXrch02Mv9fv2PonsFM315JeWXRNQ==, tarball: file:projects/create-app.tgz} name: '@rush-temp/create-app' version: 0.0.0 dependencies: '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 - '@types/chai': 4.3.17 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 '@xarc/module-dev': 2.2.5 - babel-loader: 9.1.3_fb5444ab5673dfbe6bc1a45ea6b1bf7e + babel-loader: 9.1.3_4b99dcdeb69e8e040fc026bb3eb922e4 chai: 4.5.0 chalker: 1.2.0 lodash: 4.17.21 @@ -18066,9 +18141,9 @@ packages: shcmd: 0.8.5 sinon: 7.5.0 sinon-chai: 3.7.0_chai@4.5.0+sinon@7.5.0 - webpack: 5.93.0_webpack-cli@4.8.0 + webpack: 5.94.0_webpack-cli@4.8.0 webpack-bundle-analyzer: 3.9.0 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 xclap: 0.2.53 transitivePeerDependencies: - '@swc/core' @@ -18081,12 +18156,12 @@ packages: dev: false file:projects/dev-base.tgz: - resolution: {integrity: sha512-lUf7a2eS1dQXJcEg/LknQJ+OW1mO6NirbmYnaFehfus6xjaRIw9qAe8dczcO9yLPLQd7/0V1AsPSQI0mlo/uxA==, tarball: file:projects/dev-base.tgz} + resolution: {integrity: sha512-QQ32Y8USdB5YgXJibE+VfCfaMYnSiq8bRyovnBz093tnUfXWMz+eofUryoGAAcs7raK4xeTHpenG+eoii7ExRQ==, tarball: file:projects/dev-base.tgz} name: '@rush-temp/dev-base' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@typescript-eslint/eslint-plugin': 4.33.0_e6fd03130a25c9507b7735f909e67b43 '@typescript-eslint/parser': 4.33.0_eslint@7.32.0+typescript@5.5.4 '@xarc/module-dev': 4.1.0 @@ -18100,7 +18175,7 @@ packages: prettier: 2.8.8 source-map-support: 0.5.21 ts-node: 9.1.1_typescript@5.5.4 - tslib: 2.6.3 + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 winston: 2.4.7 @@ -18110,7 +18185,7 @@ packages: dev: false file:projects/electrode-cdn-file-loader.tgz: - resolution: {integrity: sha512-c3xOXllloxjYyAhjzmTT1MQZ2nJmrCxwiNLilUULWJIlwwy7R1yC+m3tnX1cUxSMYYXvRBjcFCrirVnpgrzcXw==, tarball: file:projects/electrode-cdn-file-loader.tgz} + resolution: {integrity: sha512-1qV107NYATIGPxC+DmLg5xXlZr0VJqJ3nH95SiwhcIkm/5oKjQPSelOMxs/hvyz+KiNzM95AeZuqTO0zIkBANA==, tarball: file:projects/electrode-cdn-file-loader.tgz} name: '@rush-temp/electrode-cdn-file-loader' version: 0.0.0 dependencies: @@ -18118,7 +18193,7 @@ packages: dev: false file:projects/electrode-node-resolver.tgz: - resolution: {integrity: sha512-xvYQpyXNeAofpVFCbv+oB7tAT1BW1D7cXJDKNxPKTrWOJjniEm+P+w7CZoPtFGdJi3ji+wFlTjs95N15Wfsycw==, tarball: file:projects/electrode-node-resolver.tgz} + resolution: {integrity: sha512-/9yDrsO7Mz39hV/14sVIVMIP9sW1/8eB9ZDKkMZixz50dbrw2ZAAhqH8YYetZ2IobFRRlSjexFiHgaj/QlSb2w==, tarball: file:projects/electrode-node-resolver.tgz} name: '@rush-temp/electrode-node-resolver' version: 0.0.0 dependencies: @@ -18127,14 +18202,14 @@ packages: dev: false file:projects/index-page.tgz: - resolution: {integrity: sha512-gYYGuM7k8Y3vJ5PejzfI0Hc7nJ2nj1tDCO8e+Fe8wPcYIxQfX/7Nji7lcdXnFtHakZfxsHdUZe2taeCz49Itnw==, tarball: file:projects/index-page.tgz} + resolution: {integrity: sha512-LlKqI8G5w0jvKp3Cqg2p4JG0iWIK9lmkVYCfaa1qw5fKKw/kGgWXi0cOTbQ15zTCh1TWX3rIKHWq9S2pUtFloQ==, tarball: file:projects/index-page.tgz} name: '@rush-temp/index-page' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 17.0.3 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 7.10.0_2eae2e4a0e714d834d5e9bb858aa748a @@ -18154,8 +18229,8 @@ packages: sinon: 18.0.0 sinon-chai: 3.7.0_chai@4.5.0+sinon@18.0.0 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 @@ -18167,19 +18242,19 @@ packages: dev: false file:projects/jsx-renderer.tgz: - resolution: {integrity: sha512-rAXdvdivSovI/Y1m//KsuF/66Be88R7+g4gOuUpSstRfjrYOCfu0wb2w2EPMZjxX1ZroWBEC1/hEtOekOo/pnw==, tarball: file:projects/jsx-renderer.tgz} + resolution: {integrity: sha512-yLSN4amQIr2ws2Fcaj5W6m2iFmWP2ALE7sGtlG7FmUWZXPxDlU6LHrndbtJHoaB62lBOyLzCkI4gQUzVNspy4A==, tarball: file:projects/jsx-renderer.tgz} name: '@rush-temp/jsx-renderer' version: 0.0.0 dependencies: '@babel/cli': 7.24.8_@babel+core@7.25.2 '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 5.62.0_113ccc3c227755b8e7435ffead417c7f @@ -18205,7 +18280,7 @@ packages: sinon-chai: 3.7.0_chai@4.5.0+sinon@7.5.0 source-map-support: 0.5.21 stream-to-array: 2.3.0 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typedoc: 0.25.13_typescript@5.5.4 typedoc-plugin-external-module-name: 3.1.0_typedoc@0.25.13 typescript: 5.5.4 @@ -18219,13 +18294,13 @@ packages: dev: false file:projects/opt-archetype-check.tgz: - resolution: {integrity: sha512-XGCX8JpqW/PCdmXcmOVRFVLBu95QBE8rXCewdzYsVhx8lVrd1/fLqi2wU9DkA+wbNpC92N1uRhlU6GBKzzWYNg==, tarball: file:projects/opt-archetype-check.tgz} + resolution: {integrity: sha512-NRBRI/ow9iS9OVcAfP8gKLrmZQZSUD/0I1n4D00RzsX3/GlTTK0YN4sneqQQuBWz4CoFhb8ffBR2Ov8WRexxKQ==, tarball: file:projects/opt-archetype-check.tgz} name: '@rush-temp/opt-archetype-check' version: 0.0.0 dev: false file:projects/opt-eslint.tgz: - resolution: {integrity: sha512-yWdqgOdGrneVTzA5/ajtYH6CXxSKY3dhxvFLjXic4/IzJts3T6syHVfhM9/+DKV1TNDvBAKIl5tVzhYlL8g0eQ==, tarball: file:projects/opt-eslint.tgz} + resolution: {integrity: sha512-EDDWePRHxjcayMc/ZFDGzaUgsBwhlnZG9PMB61MWP0YnKPaddb3kPkiNf/rC0Miyk7HRYyMlJ6eseCGbCTNemg==, tarball: file:projects/opt-eslint.tgz} name: '@rush-temp/opt-eslint' version: 0.0.0 dependencies: @@ -18241,8 +18316,8 @@ packages: - supports-color dev: false - file:projects/opt-jest.tgz_@types+node@20.16.1: - resolution: {integrity: sha512-OuNmQ9HfQx4D3eJ6A3DtFnkAILVU4XE8PtAPWvWgS/vTrcj2FL198ixS0G3QXw9gLuxk4HDvzqM5LVdt6EUtBg==, tarball: file:projects/opt-jest.tgz} + file:projects/opt-jest.tgz_@types+node@20.16.2: + resolution: {integrity: sha512-LHdzUNw8hqu9WrNvzTY1fqmp697VBI+losnTvNKGPsGyLIuqc/V0OidiMD2S1V1DE5zjWarlvh9S5/KBBNyUSQ==, tarball: file:projects/opt-jest.tgz} id: file:projects/opt-jest.tgz name: '@rush-temp/opt-jest' version: 0.0.0 @@ -18250,7 +18325,7 @@ packages: '@types/jest': 29.5.12 babel-jest: 29.7.0 eslint-plugin-jest: 27.9.0_jest@29.7.0 - jest: 29.7.0_@types+node@20.16.1 + jest: 29.7.0_@types+node@20.16.2 jest-environment-jsdom: 29.7.0 shx: 0.3.4 transitivePeerDependencies: @@ -18268,8 +18343,8 @@ packages: - utf-8-validate dev: false - file:projects/opt-karma.tgz_webpack@5.93.0: - resolution: {integrity: sha512-ymhYg7NBx0hsJD9IiSauF6onfmIB/qmUarhUrHVH+6K0Yr3TN81ApOzU6gQzCQoEuy1nKBOl8jAiikbvueI1HQ==, tarball: file:projects/opt-karma.tgz} + file:projects/opt-karma.tgz_webpack@5.94.0: + resolution: {integrity: sha512-Va+tnDgvYHns/U/3SaY7zODtYBuq68MqPCbgqQ3lYD2PsxAcH6zIT5jNrJxnTJUgOKEH5y4wjQkz12aRX1HqYg==, tarball: file:projects/opt-karma.tgz} id: file:projects/opt-karma.tgz name: '@rush-temp/opt-karma' version: 0.0.0 @@ -18279,7 +18354,7 @@ packages: chai: 4.5.0 chai-as-promised: 7.1.2_chai@4.5.0 chai-shallowly: 1.0.0 - core-js: 3.38.0 + core-js: 3.38.1 enzyme: 3.11.0 enzyme-adapter-react-16: 1.15.8_enzyme@3.11.0 karma: 6.4.4 @@ -18294,7 +18369,7 @@ packages: karma-sonarqube-unit-reporter: 0.0.23_karma@6.4.4 karma-sourcemap-loader: 0.4.0 karma-spec-reporter: 0.0.36_karma@6.4.4 - karma-webpack: 5.0.1_webpack@5.93.0 + karma-webpack: 5.0.1_webpack@5.94.0 mocha: 10.7.3 shx: 0.3.4 sinon: 15.2.0 @@ -18309,21 +18384,21 @@ packages: - webpack dev: false - file:projects/opt-less.tgz_webpack@5.93.0: - resolution: {integrity: sha512-tPBAiL8nbXDnew974eUrSSGo1+SbM3DXKKQMJK61l6rQicNQStGvzjFZcnDqzGjpGV13+FFBC3YjW6ZUzGDhQA==, tarball: file:projects/opt-less.tgz} + file:projects/opt-less.tgz_webpack@5.94.0: + resolution: {integrity: sha512-Ne7OzDl8Ff0PG3aTbVdXm9ViWDiFK9ZTP97xPNBcMnPDLa/2yFcNtXx1E3y3MflI6/okhAj1BE8hwLBQ04Wr8g==, tarball: file:projects/opt-less.tgz} id: file:projects/opt-less.tgz name: '@rush-temp/opt-less' version: 0.0.0 dependencies: less: 3.13.1 - less-loader: 4.1.0_less@3.13.1+webpack@5.93.0 + less-loader: 4.1.0_less@3.13.1+webpack@5.94.0 shx: 0.3.4 transitivePeerDependencies: - webpack dev: false file:projects/opt-mocha.tgz: - resolution: {integrity: sha512-sFP76Jf78boQMbO5eHeyc+WofhLBiprG0l+s0ZwF8HcQI4dUKGlaCic7Ckns+ixLSrBKyIJndJXPVWHx6dBUgg==, tarball: file:projects/opt-mocha.tgz} + resolution: {integrity: sha512-4+vMayUKYt/GFICXLxRlKNJWs49/SHex9ZN0xjV7Jy2RYW5L0bx7rJNIonFk9+7p8Mw7VBWsMmabfINL6V7ZOQ==, tarball: file:projects/opt-mocha.tgz} name: '@rush-temp/opt-mocha' version: 0.0.0 dependencies: @@ -18341,7 +18416,7 @@ packages: dev: false file:projects/opt-postcss.tgz: - resolution: {integrity: sha512-OwZOIJWpyQ2jT41PdQyL19gvbTV79tu+bN7HxiQrJ7r2sd5aXZC1gpDBrt//rr1HEDuiZ5uURFDjjwlLYg7UvA==, tarball: file:projects/opt-postcss.tgz} + resolution: {integrity: sha512-789y4z6pLTZSKCvtWRv8QGutJa8y98hgMB+SBhvrIVJVFpB6gQgYoZB6hiPN6MPMxJRgcHZ+4ZqjJX0VMKLPWw==, tarball: file:projects/opt-postcss.tgz} name: '@rush-temp/opt-postcss' version: 0.0.0 dependencies: @@ -18356,7 +18431,7 @@ packages: dev: false file:projects/opt-preact.tgz: - resolution: {integrity: sha512-oTIknNpFnMdZh8qx+nJT3fiAXPT0RZjcc1r9HuDIgUHJ06jV03LUJD7GW8B69ozEQTgW5IPUc3WRNC6TlQJCsQ==, tarball: file:projects/opt-preact.tgz} + resolution: {integrity: sha512-uKa7jJ1yN+IxPT52FAU2Hg5IYsExml2koUqJCC6N1ZXZW3rW9JLTJNJUCSvQ40dARgWnSk7KjXI5zMhMdREhdQ==, tarball: file:projects/opt-preact.tgz} name: '@rush-temp/opt-preact' version: 0.0.0 dependencies: @@ -18365,7 +18440,7 @@ packages: dev: false file:projects/opt-react.tgz: - resolution: {integrity: sha512-2bF/fhqz1egRUtbeaHVn5SdyPz4fhssDOll4gBxFAqz6xZs3MWcOUUuHElCp4IEh1lt54/p0nY/7TvEYSqzi7A==, tarball: file:projects/opt-react.tgz} + resolution: {integrity: sha512-wqa+hRHHsVSAC4xhofTmpdhDwRf4Uu+fsmguW1AFu1gwozy9f7le1w/BzRBLu+bqw8YTpGpp8wz+7q0E18PSaQ==, tarball: file:projects/opt-react.tgz} name: '@rush-temp/opt-react' version: 0.0.0 dependencies: @@ -18374,14 +18449,14 @@ packages: shx: 0.3.4 dev: false - file:projects/opt-sass.tgz_webpack@5.93.0: - resolution: {integrity: sha512-TVYHyjFFaZZjATb205qVsU/QMCvRMb+3q9deesYnraxutmXBmmkRS6udQmgdzXHtah5Tn7eHapu71l61PnWjOA==, tarball: file:projects/opt-sass.tgz} + file:projects/opt-sass.tgz_webpack@5.94.0: + resolution: {integrity: sha512-Hkr6Pp73xINJ60PXwJHEdPjOYqbhWtV1flrBbFwZyGbL8m5368X608c0vPNK0MIGyqjuWPCeDn53Qb9GRYaCzQ==, tarball: file:projects/opt-sass.tgz} id: file:projects/opt-sass.tgz name: '@rush-temp/opt-sass' version: 0.0.0 dependencies: sass: 1.77.8 - sass-loader: 13.3.3_sass@1.77.8+webpack@5.93.0 + sass-loader: 13.3.3_sass@1.77.8+webpack@5.94.0 shx: 0.3.4 transitivePeerDependencies: - fibers @@ -18391,7 +18466,7 @@ packages: dev: false file:projects/opt-stylus.tgz: - resolution: {integrity: sha512-G/Ff+nsFDeeR5admzjkQ2h92ePWrqek73lj+QWc1HodVCsFlmLjaZ9imAzITgKSpQnp1LM4K1j07HGbpaol7uQ==, tarball: file:projects/opt-stylus.tgz} + resolution: {integrity: sha512-l6JLNKIn0TGT8UPxmKWyeKm9lpFsfruzlNoO2eQYSw8wPO0ZlauT33ADUqhwtOhm6dWO7GClC5MH6L+2vXIDBQ==, tarball: file:projects/opt-stylus.tgz} name: '@rush-temp/opt-stylus' version: 0.0.0 dependencies: @@ -18402,19 +18477,19 @@ packages: - supports-color dev: false - file:projects/poc-subapp-redux.tgz_webpack@5.93.0: - resolution: {integrity: sha512-hS3Cklk4uCQSFn5Fdsd7HeN/QbuPseZkNejNjpMOCyveLXqBLXrI7Ez5Qq1LTMlasAX8u5wKnKrDXl9N8V4GRA==, tarball: file:projects/poc-subapp-redux.tgz} + file:projects/poc-subapp-redux.tgz_webpack@5.94.0: + resolution: {integrity: sha512-ksc4GUfyDl5E1AL6VlcgtLOzu0aVivHxrkVXqs/Lw0cLDXxNrCewn6K4kpQb50I+qhHlc+uB4htNLex2t3NZlQ==, tarball: file:projects/poc-subapp-redux.tgz} id: file:projects/poc-subapp-redux.tgz name: '@rush-temp/poc-subapp-redux' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@module-federation/concat-runtime': 0.0.1 '@xarc/fastify-server': 3.3.1 '@xarc/run': 1.1.1 electrode-confippet: 1.7.1 history: 5.3.0 - html-webpack-plugin: 5.6.0_webpack@5.93.0 + html-webpack-plugin: 5.6.0_webpack@5.94.0 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1_react@18.3.1 @@ -18433,19 +18508,19 @@ packages: - webpack dev: false - file:projects/poc-subapp.tgz_webpack@5.93.0: - resolution: {integrity: sha512-BygcW16vFQd5D4j+lb6xRdawm1JIBbjMRqdzkgbwUeSqZmx4qDPBeQ77lDr8pTrfrx4MDP+JVC41fDfNMpuLdQ==, tarball: file:projects/poc-subapp.tgz} + file:projects/poc-subapp.tgz_webpack@5.94.0: + resolution: {integrity: sha512-mM21SeuJMo4MQR+w4o9+6QBvyIWA3VIKsRfNYFpwvfTQpSQVhGEpwz8yGBwP7w8c7OKEWUi+ls8FeVZWH04JOw==, tarball: file:projects/poc-subapp.tgz} id: file:projects/poc-subapp.tgz name: '@rush-temp/poc-subapp' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@module-federation/concat-runtime': 0.0.1 '@xarc/fastify-server': 4.0.9 '@xarc/run': 1.1.1 electrode-confippet: 1.7.1 history: 5.3.0 - html-webpack-plugin: 5.6.0_webpack@5.93.0 + html-webpack-plugin: 5.6.0_webpack@5.94.0 prop-types: 15.8.1 react: 18.3.1 react-dom: 18.3.1_react@18.3.1 @@ -18463,11 +18538,11 @@ packages: dev: false file:projects/poc-subappv1-csp.tgz: - resolution: {integrity: sha512-NDETRL72yaGjzRhWMjuUIYuBgyXjn9iAklFg80rf4W6/4PPnBrDx/VPplj8bsTm3RWOeWh0eVwr2cWOlKEO85Q==, tarball: file:projects/poc-subappv1-csp.tgz} + resolution: {integrity: sha512-W+ZVWR70S6q86NvEK57oQDIqgvsT8U9gfKDLv/JAeiJQVUwHskxAFHBhf/0K+EXQXzAfsIJKMtP0kK83/dTj/Q==, tarball: file:projects/poc-subappv1-csp.tgz} name: '@rush-temp/poc-subappv1-csp' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@module-federation/concat-runtime': 0.0.1 '@xarc/fastify-server': 3.3.1 '@xarc/run': 1.1.1 @@ -18489,16 +18564,16 @@ packages: dev: false file:projects/react-query.tgz: - resolution: {integrity: sha512-RBoVeEd+YAWoSlgs/570dJvPlypTYU+4JKYkUmiHkZcWny2ElWcJMfedMk4/p4y/5bMo52DOfqzySmokEQngcA==, tarball: file:projects/react-query.tgz} + resolution: {integrity: sha512-tIppUD5jQN+OzTnTEaYLCJqmJO0vDblVLX4pZLCpE1b6nn0muM2SxckvzhMODIBphzF1xsRCsk6wge/o31OjGQ==, tarball: file:projects/react-query.tgz} name: '@rush-temp/react-query' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 '@testing-library/react': 11.2.7_react-dom@18.3.1+react@18.3.1 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 10.0.20 '@types/sinon-chai': 3.2.12 @@ -18523,8 +18598,8 @@ packages: sinon: 14.0.2 sinon-chai: 3.7.0_chai@4.5.0+sinon@14.0.2 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 transitivePeerDependencies: @@ -18538,16 +18613,16 @@ packages: dev: false file:projects/react-recoil.tgz: - resolution: {integrity: sha512-UAoKTAnUf5dGTmOLIN/OZw6YiVqaKvh5dadV0ofUx1J2He9O7XrzuBVApBLUATB/+0eLEFNAlIqqZ3Uf5WKnKA==, tarball: file:projects/react-recoil.tgz} + resolution: {integrity: sha512-v4OUSKB8dc3Ni1fWzBXQQfebuKV1UlIQ+rZn1ZiOpC82RhHRAS6M8iNeUZ2kVrvLc/xwy9OXD38Ujy1K5j38UQ==, tarball: file:projects/react-recoil.tgz} name: '@rush-temp/react-recoil' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 '@testing-library/react': 11.2.7_react-dom@18.3.1+react@18.3.1 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 @@ -18571,8 +18646,8 @@ packages: sinon: 9.2.4 sinon-chai: 3.7.0_chai@4.5.0+sinon@9.2.4 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 transitivePeerDependencies: @@ -18586,15 +18661,16 @@ packages: dev: false file:projects/react-redux-observable.tgz: - resolution: {integrity: sha512-3/g232YEs08MMcsxW7SVvmhzbD2sptJUECcrFp4XUlKDpD/Xn+aApx2NENxQDF7nGcVeDWJtmP1DPtGlsa0/VA==, tarball: file:projects/react-redux-observable.tgz} + resolution: {integrity: sha512-7oe8eYZrnoR72ch4Woz2JbPQhV0S5kJmWwo4fbxbXj7W0STMJJiYucooB5/OUipLPl1CIVSYM+EaUl+R3RMRbQ==, tarball: file:projects/react-redux-observable.tgz} name: '@rush-temp/react-redux-observable' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@reduxjs/toolkit': 2.2.7_react@18.3.1 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 @@ -18617,28 +18693,30 @@ packages: sinon: 9.2.4 sinon-chai: 3.7.0_chai@4.5.0+sinon@9.2.4 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' + - react-redux - redux - supports-color dev: false file:projects/react-redux-saga.tgz: - resolution: {integrity: sha512-8uq6HhoQm+xmGnv/JL7yyymgBMH7eRZgp5CxSbatPlr/mVYF+dK4cNtXrxn/jfGDTOSVAulSZdvf/9ktPXOmyg==, tarball: file:projects/react-redux-saga.tgz} + resolution: {integrity: sha512-kmptqn6SDGSfZYR+Z381c2kU5VdhfYReTLYd7B1UqqQniNuS+qOdHeegchguBE6EnZscAeOq3zAkRR/pLv0vVg==, tarball: file:projects/react-redux-saga.tgz} name: '@rush-temp/react-redux-saga' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@reduxjs/toolkit': 2.2.7_react@18.3.1 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 @@ -18660,27 +18738,29 @@ packages: sinon: 9.2.4 sinon-chai: 3.7.0_chai@4.5.0+sinon@9.2.4 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 transitivePeerDependencies: - '@swc/core' - '@swc/wasm' + - react-redux - supports-color dev: false file:projects/react-redux.tgz: - resolution: {integrity: sha512-dyvHsy3RvD7FbFV1uRmPqga0WvnNAezEGf6HffVbIhF1HSvXL/SPN4EealwO690Hu4msgDf93eA6FWDtjvz1GA==, tarball: file:projects/react-redux.tgz} + resolution: {integrity: sha512-elPjmhJHyL8BEWV9EJXP2F/4EieRhErPhgyX5OlQyU45N7B8m1rcLfZcHpDffbdfUa/B/TYoV1Or0DVN0lE6Tw==, tarball: file:projects/react-redux.tgz} name: '@rush-temp/react-redux' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 + '@reduxjs/toolkit': 2.2.7_react-redux@9.1.2+react@18.3.1 '@testing-library/react': 13.4.0_react-dom@18.3.1+react@18.3.1 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 10.0.20 '@types/sinon-chai': 3.2.12 @@ -18700,13 +18780,12 @@ packages: nyc: 15.1.0 react: 18.3.1 react-dom: 18.3.1_react@18.3.1 - react-redux: 8.1.3_91ee3f21853aee6f4038f22086c31182 - redux: 4.2.1 + react-redux: 9.1.2_@types+react@18.3.4+react@18.3.1 sinon: 14.0.2 sinon-chai: 3.7.0_chai@4.5.0+sinon@14.0.2 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 transitivePeerDependencies: @@ -18714,23 +18793,23 @@ packages: - '@swc/wasm' - bufferutil - canvas - - react-native + - redux - supports-color - utf-8-validate dev: false file:projects/react-router.tgz: - resolution: {integrity: sha512-V/tKb2745HBSElSG3IJPuKvJdlbpX0C886EEoNM7ZxKB072zRc9T9p/eeS8QdpBUD4YnoSPYsN1bTJqAM8a7Gg==, tarball: file:projects/react-router.tgz} + resolution: {integrity: sha512-xeSG4qMwT2+P3grKnKjS++5DszrqS+UdV8V5l3HfxsxQK1TyNcC8giyPtZlHLmnoze41LGe3mS3u/IIOjKadQA==, tarball: file:projects/react-router.tgz} name: '@rush-temp/react-router' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 '@testing-library/react': 13.4.0_react-dom@18.3.1+react@18.3.1 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 10.0.20 '@types/sinon-chai': 3.2.12 @@ -18752,15 +18831,15 @@ packages: nyc: 15.1.0 react: 18.3.1 react-dom: 18.3.1_react@18.3.1 - react-redux: 8.1.3_91ee3f21853aee6f4038f22086c31182 + react-redux: 8.1.3_c6ff50d475614f137f4e4b14f21f54e2 react-router: 6.26.1_react@18.3.1 react-router-dom: 6.26.1_react-dom@18.3.1+react@18.3.1 redux: 4.2.1 sinon: 14.0.2 sinon-chai: 3.7.0_chai@4.5.0+sinon@14.0.2 source-map-support: 0.5.21 - ts-node: 10.9.2_6c4a2c10893ccbb1596949b5d43edeb6 - tslib: 2.6.3 + ts-node: 10.9.2_e3d33c578cbeb7027d7e471a764336fa + tslib: 2.7.0 typedoc: 0.25.13_typescript@4.9.5 typescript: 4.9.5 transitivePeerDependencies: @@ -18774,16 +18853,16 @@ packages: dev: false file:projects/react.tgz: - resolution: {integrity: sha512-YVIhcK6N73m8XxdaS78O4fvML4ipjWkesxV2yWzkmUqHFJohd8AZJhqP7mu5ib8dcHysw78OC31okXUjWKC4YA==, tarball: file:projects/react.tgz} + resolution: {integrity: sha512-liWRCs6iv5YmnpyAS6TmJvKEMsWBnqV5wRK9LNGQy9m+Rfo/K5mv7z9B3rQ2w4GxIjgMyof10qKAZ/pG5QghJQ==, tarball: file:projects/react.tgz} name: '@rush-temp/react' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 - '@types/react': 18.3.3 + '@types/node': 20.16.2 + '@types/react': 18.3.4 '@types/react-dom': 18.3.0 '@types/sinon': 10.0.20 '@types/sinon-chai': 3.2.12 @@ -18805,8 +18884,8 @@ packages: sinon: 14.0.2 sinon-chai: 3.7.0_chai@4.5.0+sinon@14.0.2 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 @@ -18817,14 +18896,14 @@ packages: dev: false file:projects/render-context.tgz: - resolution: {integrity: sha512-5xsIU4y7qfkW01mN+600/eR83ZLuaJkWwRgHxRgsoi6iRnT0gP2fhs6Wy4gYMNBc+pHMiG4c0E3OgEt5u9U6mw==, tarball: file:projects/render-context.tgz} + resolution: {integrity: sha512-JL4UbLrUGgq6F/jbqt9DsqF33MHSZb1ZB0UtCQ9gkPeAmO4ASNm8JQL3v7HiXqyWvEehKm6N1qtt6Bxz1cDlxw==, tarball: file:projects/render-context.tgz} name: '@rush-temp/render-context' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 5.62.0_db7229ad096c0d451e7ee6dacac8a7d5 @@ -18847,7 +18926,7 @@ packages: sinon-chai: 3.7.0_chai@4.5.0+sinon@7.5.0 source-map-support: 0.5.21 stream-to-array: 2.3.0 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 xaa: 1.7.1 @@ -18859,7 +18938,7 @@ packages: dev: false file:projects/subapp-pkg-util.tgz: - resolution: {integrity: sha512-Nt83w7ogjufDyVbYRZ7TW8bBS17Vyeh6EH7S07gHALk+7BOdNLGNlClWFT81Q6iUk0LoeVb58sr4ZIiaVeTQnA==, tarball: file:projects/subapp-pkg-util.tgz} + resolution: {integrity: sha512-v/9uWPYqN+agLkMeVZtC1vG93toeqH1uuDDV+p7KNaKuua1/M+QJ4vkeOVLRsslj/gz5M+Ptr9mnc6WHJYLbRQ==, tarball: file:projects/subapp-pkg-util.tgz} name: '@rush-temp/subapp-pkg-util' version: 0.0.0 dependencies: @@ -18868,17 +18947,17 @@ packages: dev: false file:projects/subapp-react.tgz: - resolution: {integrity: sha512-aSxSlxmxrz5lDXzHniHeCUF+C514wF7aPtSTBfvRBx60cenbNiNtRauU9vnz40u+V2XoVCiFYps4VEbiEBzIXQ==, tarball: file:projects/subapp-react.tgz} + resolution: {integrity: sha512-PItWYhSVpdKxcxo6sEFD7uBVoRiLndelRXiPQlHnPj2Q10X2BImWyFE4lWJhyT3a8+QMgCF76mWrsTZHR3AL4w==, tarball: file:projects/subapp-react.tgz} name: '@rush-temp/subapp-react' version: 0.0.0 dependencies: '@babel/cli': 7.24.8_@babel+core@7.25.2 '@babel/core': 7.25.2 - '@babel/plugin-transform-runtime': 7.24.7_@babel+core@7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/plugin-transform-runtime': 7.25.4_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@xarc/run': 1.1.1 babel-preset-minify: 0.5.2 electrode-archetype-njs-module-dev: 3.0.3 @@ -18900,17 +18979,17 @@ packages: dev: false file:projects/subapp-redux.tgz: - resolution: {integrity: sha512-iQv+aOn+iygvqCDmDw/sZvr9ZotQqVVdnudEAscV50t0AE+dRxRRE30mK26ajSxwkcsHxkowEsB31dX/aluAQw==, tarball: file:projects/subapp-redux.tgz} + resolution: {integrity: sha512-sorMb/mpijyeVBB1wx9ozpq9BxuJ0wzIT7Wr0vbpRpjCJ4vUo0mXmOPLb+7Og+SY01ZBy577N2jQ247eYaBTeQ==, tarball: file:projects/subapp-redux.tgz} name: '@rush-temp/subapp-redux' version: 0.0.0 dependencies: '@babel/cli': 7.24.8_@babel+core@7.25.2 '@babel/core': 7.25.2 - '@babel/plugin-transform-runtime': 7.24.7_@babel+core@7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/plugin-transform-runtime': 7.25.4_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@xarc/run': 1.1.1 babel-preset-minify: 0.5.2 electrode-archetype-njs-module-dev: 3.0.3 @@ -18928,13 +19007,13 @@ packages: dev: false file:projects/subapp-server.tgz: - resolution: {integrity: sha512-ch0GZXKmCGd2cQn1n88afSI9VYEqeZnNXJMvdsCbEPoO4/qJw1NK7d/edrA1ghZzwRN/h4ksOfFm8ea512znsA==, tarball: file:projects/subapp-server.tgz} + resolution: {integrity: sha512-0VueziALaAkajd8SHmCgNzUexlUuNTXk/vPauwELZo/LPtrqQC3tddRjFTgYqkp3LgQC8L2GgLrhIfkvk6CRmg==, tarball: file:projects/subapp-server.tgz} name: '@rush-temp/subapp-server' version: 0.0.0 dependencies: '@babel/cli': 7.24.8_@babel+core@7.25.2 '@babel/core': 7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 '@hapi/boom': 9.1.4 @@ -18954,7 +19033,7 @@ packages: dev: false file:projects/subapp-util.tgz: - resolution: {integrity: sha512-XID5OCsfFYSGFtNl/mkvj71oYWe9us6pwZkz1ttNb/ANdtMagKIeaaBMX9k4ZdF3qXGrfCIr7YnosutPwTGGmA==, tarball: file:projects/subapp-util.tgz} + resolution: {integrity: sha512-pUZz6OMlzF7yBeaoYybvna/75kS3oUd7Top3+SG7O/j05zMgFhRthYsHdJWqVOHzA2uywqmHMkvNb/Nw+FxQ8A==, tarball: file:projects/subapp-util.tgz} name: '@rush-temp/subapp-util' version: 0.0.0 dependencies: @@ -18966,17 +19045,17 @@ packages: dev: false file:projects/subapp-web.tgz: - resolution: {integrity: sha512-gtwUGlKrfxdaAQDos5A4s3hv6ETVLtGY8emgYbN1QCidUtK2ctYYz/bpBs0jHp0sTaQ6/pn521g1mmqsZwYAXw==, tarball: file:projects/subapp-web.tgz} + resolution: {integrity: sha512-U5UGbZoCH1sPYZc3eg5pUpXXKWKzxILSR0gMUwsg2KngkQgctz0v6feMI3/6O0tRRb0XEgs5tnE+6l8w33/HRg==, tarball: file:projects/subapp-web.tgz} name: '@rush-temp/subapp-web' version: 0.0.0 dependencies: '@babel/cli': 7.24.8_@babel+core@7.25.2 '@babel/core': 7.25.2 - '@babel/plugin-transform-runtime': 7.24.7_@babel+core@7.25.2 - '@babel/preset-env': 7.25.3_@babel+core@7.25.2 + '@babel/plugin-transform-runtime': 7.25.4_@babel+core@7.25.2 + '@babel/preset-env': 7.25.4_@babel+core@7.25.2 '@babel/preset-react': 7.24.7_@babel+core@7.25.2 '@babel/register': 7.24.6_@babel+core@7.25.2 - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@xarc/module-dev': 4.1.0 '@xarc/run': 1.1.1 babel-preset-minify: 0.5.2 @@ -19008,16 +19087,16 @@ packages: dev: false file:projects/subapp.tgz: - resolution: {integrity: sha512-BeeU/o9Exbk55Dpd8r/pyNHmamxRkNtXj5n4nH4RqJj1LxYPIkb/LWfiPiF9iOwEJOabZsOnrb+INQp3gzY/zA==, tarball: file:projects/subapp.tgz} + resolution: {integrity: sha512-S3jYhZLXbwuu/8gPdzgJm4iSJhABypNpG90Y3YA1AHmL53ic6NRhfoHU9f4DltiiKoab1jCL+390X8Dsw/AUZw==, tarball: file:projects/subapp.tgz} name: '@rush-temp/subapp' version: 0.0.0 dependencies: '@babel/cli': 7.24.8 '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/chai-as-promised': 7.1.8 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 4.33.0_e6fd03130a25c9507b7735f909e67b43 @@ -19041,8 +19120,8 @@ packages: sinon: 9.2.4 sinon-chai: 3.7.0_chai@4.5.0+sinon@9.2.4 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.26.6_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 @@ -19057,19 +19136,19 @@ packages: dev: false file:projects/subapp2-basic.tgz: - resolution: {integrity: sha512-B9LIZ8gZEYe27EWIX2bfxopokuAH5X/w9tGHFFWlsRJWJHC4yqAKtYZP+6QQOppNCBT8bULseN2Fr7aBE+Ahrw==, tarball: file:projects/subapp2-basic.tgz} + resolution: {integrity: sha512-I7khtGu5FMYLq/Hf/Zg0xnOgCFyXArg1V4tltZgHgeksvMIdJZODPYXfB+q/bPAq/mQBW/wyHbFyiWPphjVPyg==, tarball: file:projects/subapp2-basic.tgz} name: '@rush-temp/subapp2-basic' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 + '@babel/runtime': 7.25.4 '@module-federation/concat-runtime': 0.0.1 '@testing-library/jest-dom': 5.17.0 '@testing-library/react': 14.3.1 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@xarc/fastify-server': 3.3.1 '@xarc/run': 1.1.1 prettier: 3.3.3 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typescript: 5.5.4 webpack-hot-middleware: 2.26.1 transitivePeerDependencies: @@ -19081,18 +19160,18 @@ packages: dev: false file:projects/subapp2-poc.tgz: - resolution: {integrity: sha512-8MrAydPvUhs9BlC9XixReCuAVb00s26gVRzeHxf/cdIKtNG23+8lFBxWh2vSSKUcx+9QXigxvPHzBo+7SUua8g==, tarball: file:projects/subapp2-poc.tgz} + resolution: {integrity: sha512-stXmweuSdNMIHGn8Wz++dFvdenhuRYGDDyU0NTushdIOvl0rHWl23zJLtU01IaTaIJD4K343/qluxmlFUkzQKQ==, tarball: file:projects/subapp2-poc.tgz} name: '@rush-temp/subapp2-poc' version: 0.0.0 dependencies: - '@babel/runtime': 7.25.0 - '@types/node': 20.16.1 + '@babel/runtime': 7.25.4 + '@types/node': 20.16.2 '@xarc/fastify-server': 3.3.1 '@xarc/run': 1.1.1 isomorphic-loader: 4.5.0 prop-types: 15.8.1 react-dom: 18.2.0 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typescript: 5.5.4 webpack-hot-middleware: 2.25.4 transitivePeerDependencies: @@ -19103,14 +19182,14 @@ packages: dev: false file:projects/tag-renderer.tgz: - resolution: {integrity: sha512-AsJqUsokKfHy64aE1loKrE1gRUfNPgzMEehyyVf8NpUnerozNZhWwfgiCjRtudMjbH4EsJhsSNQJ9EWHLVNgkA==, tarball: file:projects/tag-renderer.tgz} + resolution: {integrity: sha512-pgvFxBSDNYoBy5VbK7bejkXPldOuU1jaADrVWfAAXOF6vJnezn5zcb2Ev0BSY7/wuKv0ieYkiRlu/DC6CVEE5A==, tarball: file:projects/tag-renderer.tgz} name: '@rush-temp/tag-renderer' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 2.34.0_6a0c9c819cda52f5de4207cb144e8575 @@ -19129,7 +19208,7 @@ packages: sinon: 7.5.0 sinon-chai: 3.7.0_chai@4.5.0+sinon@7.5.0 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typedoc: 0.26.6_typescript@5.5.4 typescript: 5.5.4 xsh: 0.4.5 @@ -19141,14 +19220,14 @@ packages: dev: false file:projects/webpack-config-composer.tgz: - resolution: {integrity: sha512-Fum3E5cXJ+kIADlIwkIn/oTViErfFJQzvTZwF0hdoZ0YCeSdqknBmzxAZVf+qff0zpld2aWzAzD3FNRGYxhHsg==, tarball: file:projects/webpack-config-composer.tgz} + resolution: {integrity: sha512-e1Hfhhfa+UG6uvZhFxW7WDSn7yUfhCUJ6syQCkTJSq1r11DVG327KGirqF+pb92aXFL59sCagGVfI53TupuOiQ==, tarball: file:projects/webpack-config-composer.tgz} name: '@rush-temp/webpack-config-composer' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.7 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 4.33.0_e6fd03130a25c9507b7735f909e67b43 @@ -19170,8 +19249,8 @@ packages: sinon: 9.2.4 sinon-chai: 3.7.0_chai@4.3.6+sinon@9.2.4 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 - tslib: 2.6.3 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec + tslib: 2.7.0 typedoc: 0.20.37_typescript@5.5.4 typescript: 5.5.4 transitivePeerDependencies: @@ -19181,15 +19260,15 @@ packages: dev: false file:projects/webpack.tgz_webpack-bundle-analyzer@3.9.0: - resolution: {integrity: sha512-GlgCJtvj7xoruOa7aiAeMq/txhZIWoMu1VN8ZPeKrrkcIDWaHhmpPc9kQhfs7XO1UD33C71vl6EfPc0OznQVDA==, tarball: file:projects/webpack.tgz} + resolution: {integrity: sha512-SrDNI6b8R9tCl6YYLae/V7Yn7SbgVz+borXE2wA8a10PIsFLLxmIzRlGCA1mDLUjiWw86pXQfVyUDMC8Zc1opw==, tarball: file:projects/webpack.tgz} id: file:projects/webpack.tgz name: '@rush-temp/webpack' version: 0.0.0 dependencies: '@istanbuljs/nyc-config-typescript': 1.0.2_nyc@15.1.0 - '@types/chai': 4.3.17 + '@types/chai': 4.3.19 '@types/mocha': 10.0.0 - '@types/node': 20.16.1 + '@types/node': 20.16.2 '@types/sinon': 9.0.11 '@types/sinon-chai': 3.2.12 '@typescript-eslint/eslint-plugin': 2.34.0_f931d8ad4c101e43d00a525a5d9b1b78 @@ -19197,20 +19276,20 @@ packages: '@xarc/module-dev': 4.1.0 autoprefixer: 9.8.8 babel-eslint: 10.1.0_eslint@6.8.0 - babel-loader: 8.3.0_webpack@5.93.0 + babel-loader: 8.3.0_webpack@5.94.0 chai: 4.5.0 chalk: 4.1.2 chalker: 1.2.0 - css-loader: 6.11.0_webpack@5.93.0 - css-minimizer-webpack-plugin: 1.3.0_webpack@5.93.0 + css-loader: 6.11.0_webpack@5.94.0 + css-minimizer-webpack-plugin: 1.3.0_webpack@5.94.0 eslint: 6.8.0 eslint-config-walmart: 2.2.1 eslint-plugin-filenames: 1.3.2_eslint@6.8.0 eslint-plugin-jsdoc: 48.11.0_eslint@6.8.0 - file-loader: 6.2.0_webpack@5.93.0 + file-loader: 6.2.0_webpack@5.94.0 filter-scan-dir: 1.1.1 lodash: 4.17.21 - mini-css-extract-plugin: 1.6.2_webpack@5.93.0 + mini-css-extract-plugin: 1.6.2_webpack@5.94.0 mkdirp: 1.0.4 mocha: 10.7.3 nyc: 15.1.0 @@ -19221,12 +19300,12 @@ packages: sinon: 7.5.0 sinon-chai: 3.7.0_chai@4.5.0+sinon@7.5.0 source-map-support: 0.5.21 - ts-node: 10.9.2_709ed2352afaf456d68e4faebe116bb0 + ts-node: 10.9.2_4a16a80779df9528706de5226000dcec typedoc: 0.25.13_typescript@5.5.4 typescript: 5.5.4 - url-loader: 4.1.1_file-loader@6.2.0+webpack@5.93.0 - webpack: 5.93.0_webpack-cli@4.8.0 - webpack-cli: 4.8.0_4334de17d624781f2699217176e11f63 + url-loader: 4.1.1_file-loader@6.2.0+webpack@5.94.0 + webpack: 5.94.0_webpack-cli@4.8.0 + webpack-cli: 4.8.0_2b4e8292866a351ca53ec0111962e810 webpack-sources: 2.3.1 webpack-stats-plugin: 1.1.3 xsh: 0.4.5 diff --git a/packages/xarc-react-redux-observable/package.json b/packages/xarc-react-redux-observable/package.json index f206ffe22..0d0801851 100644 --- a/packages/xarc-react-redux-observable/package.json +++ b/packages/xarc-react-redux-observable/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "@xarc/react-redux": "^1.1.5", + "@reduxjs/toolkit": "^2.2.7", "redux-observable": "^1.2.0", "rxjs": "^6.6.3", "tslib": "^2.1.0" diff --git a/packages/xarc-react-redux-observable/src/common/index.tsx b/packages/xarc-react-redux-observable/src/common/index.tsx index 19be5c81c..1581507d3 100644 --- a/packages/xarc-react-redux-observable/src/common/index.tsx +++ b/packages/xarc-react-redux-observable/src/common/index.tsx @@ -1,13 +1,6 @@ -import { createEpicMiddleware, Epic } from "redux-observable"; - -import { - applyMiddleware, - Reducer, - createStore, - ReduxFeature, - ReduxDecoratorParams, - ReduxFeatureDecorator -} from "@xarc/react-redux"; +import { configureStore, Reducer, Middleware } from "@reduxjs/toolkit"; +import { createEpicMiddleware, Epic, EpicMiddleware } from "redux-observable"; +import { ReduxFeature, ReduxDecoratorParams, ReduxFeatureDecorator } from "@xarc/react-redux"; /** * Options for creating a redux observable for use with redux feature @@ -20,7 +13,7 @@ export type ReduxObservableOptions = { }; /** - * adds decorator for redux observable support to the redux feature + * Adds decorator for redux observable support to the redux feature * * @param options redux observable options * @returns redux decorator result @@ -30,18 +23,21 @@ export function reduxObservableDecor(options: ReduxObservableOptions): ReduxFeat return { decorate(_reduxFeat: ReduxFeature, params: ReduxDecoratorParams) { - const epicMiddleware = createEpicMiddleware(); - const observerMiddleware = applyMiddleware(epicMiddleware); + // Create the Redux Observable middleware + const epicMiddleware: EpicMiddleware = createEpicMiddleware(); - const store = createStore( - (params.reducers as Reducer) || (x => x), - params.initialState, - observerMiddleware - ); + // Configure the Redux store using Redux Toolkit's configureStore + const store = configureStore({ + reducer: (params.reducers as Reducer) || ((state) => state), + preloadedState: params.initialState, + middleware: (getDefaultMiddleware) => + getDefaultMiddleware().concat(epicMiddleware as Middleware), + }); + // Run the root epic epicMiddleware.run(rootEpic); return { store }; - } + }, }; } diff --git a/packages/xarc-react-redux-saga/package.json b/packages/xarc-react-redux-saga/package.json index 70671259f..14015fb6e 100644 --- a/packages/xarc-react-redux-saga/package.json +++ b/packages/xarc-react-redux-saga/package.json @@ -24,6 +24,7 @@ }, "dependencies": { "@xarc/react-redux": "^1.1.5", + "@reduxjs/toolkit": "^2.2.7", "redux-saga": "^1.1.3", "tslib": "^2.1.0" }, diff --git a/packages/xarc-react-redux-saga/src/common/index.tsx b/packages/xarc-react-redux-saga/src/common/index.tsx index 923d086ad..e095389b5 100644 --- a/packages/xarc-react-redux-saga/src/common/index.tsx +++ b/packages/xarc-react-redux-saga/src/common/index.tsx @@ -1,12 +1,6 @@ import createSagaMiddleware from "redux-saga"; -import { - applyMiddleware, - Reducer, - createStore, - ReduxFeature, - ReduxDecoratorParams, - ReduxFeatureDecorator -} from "@xarc/react-redux"; +import { configureStore, Reducer } from "@reduxjs/toolkit"; +import { ReduxFeature, ReduxDecoratorParams, ReduxFeatureDecorator } from "@xarc/react-redux"; /** * Redux saga options @@ -30,11 +24,11 @@ export function reduxSagaDecor(options: ReduxSagaOption): ReduxFeatureDecorator return { decorate(_reduxFeat: ReduxFeature, params: ReduxDecoratorParams) { const sagaMiddleware = createSagaMiddleware(); - const store = createStore( - (params.reducers as Reducer) || (x => x), - params.initialState, - applyMiddleware(sagaMiddleware) - ); + const store = configureStore({ + reducer: (params.reducers as Reducer) || (x => x), + preloadedState: params.initialState, + middleware: (getDefaultMiddleware) => getDefaultMiddleware().concat(sagaMiddleware) + }); sagaMiddleware.run(rootSaga); return { store }; } diff --git a/packages/xarc-react-redux/package.json b/packages/xarc-react-redux/package.json index d27ca84e5..d7d08b8cb 100644 --- a/packages/xarc-react-redux/package.json +++ b/packages/xarc-react-redux/package.json @@ -25,8 +25,8 @@ }, "dependencies": { "@xarc/subapp": "^0.4.1", - "react-redux": ">= 8", - "redux": ">= 4", + "@reduxjs/toolkit": "^2.2.7", + "react-redux": "^9.1.2", "tslib": "^2.1.0" }, "devDependencies": { @@ -55,8 +55,6 @@ "nyc": "^15.1.0", "react": "^18.2.0", "react-dom": "^18.2.0", - "react-redux": "^8.0.1", - "redux": "^4.2.0", "sinon": "^14.0.0", "sinon-chai": "^3.7.0", "source-map-support": "^0.5.21", diff --git a/packages/xarc-react-redux/src/common/index.tsx b/packages/xarc-react-redux/src/common/index.tsx index dcd403b9e..dfbf2926d 100644 --- a/packages/xarc-react-redux/src/common/index.tsx +++ b/packages/xarc-react-redux/src/common/index.tsx @@ -1,37 +1,34 @@ /* eslint-disable max-statements, complexity */ -import { SubAppDef, SubAppFeatureFactory, SubAppFeature, FeatureDecorator } from "@xarc/subapp"; +import { configureStore, combineReducers, Reducer, AnyAction, EnhancedStore } from "@reduxjs/toolkit"; import { Provider } from "react-redux"; -import { combineReducers, createStore, Reducer } from "redux"; +import { SubAppDef, SubAppFeatureFactory, SubAppFeature, FeatureDecorator } from "@xarc/subapp"; + +// Re-export necessary modules -// -// re-export redux as Redux etc -// -export * as Redux from "redux"; -export { combineReducers, createStore, Reducer, bindActionCreators, applyMiddleware } from "redux"; +export * as Redux from "@reduxjs/toolkit"; +export { combineReducers, configureStore, Reducer, bindActionCreators } from "@reduxjs/toolkit"; -// -// re-export react-redux as ReactRedux etc -// +// Re-export react-redux export * as ReactRedux from "react-redux"; export { connect, Provider, batch, useSelector, useDispatch, useStore } from "react-redux"; /** - * redux decorator params + * Redux decorator params */ export type ReduxDecoratorParams = { - /** initial state */ + /** initial state */ initialState: unknown; /** reducers */ reducers: unknown; }; /** - * redux decorator result + * Redux decorator result */ export type ReduxDecoratorResult = { /** store if the decorator created one */ - store: any; + store: EnhancedStore; }; /** @@ -44,7 +41,7 @@ export type ReduxFeatureDecorator = FeatureDecorator< >; /** - * options for redux feature + * Options for redux feature */ export type ReduxFeatureOptions = { /** @@ -59,8 +56,7 @@ export type ReduxFeatureOptions = { * This is needed for the redux feature to wrap subapp's component inside * the Redux Provider component. */ - React: Partial<{ createElement: unknown }>; - + React: Partial<{ createElement: any }>; /** * Configure the redux store to use * @@ -78,8 +74,7 @@ export type ReduxFeatureOptions = { * - If it's `true`, then the subapp module should export the named reducers as `reduxReducers` * - If it's a function, then it's used as the reducer */ - reducers?: Reducer | Record> | boolean; - + reducers?: Reducer | Record> | boolean; /** * prepare redux initial state * @@ -88,19 +83,19 @@ export type ReduxFeatureOptions = { * * @returns Promise<{initialState: any}> */ - prepare(initialState: any): Promise; + prepare(initialState: any): Promise<{ initialState: any }>; }; /** - * redux support for a subapp + * Redux support for a subapp */ export type ReduxFeature = SubAppFeature & { options: ReduxFeatureOptions; wrap: (_: any) => any; Provider: typeof Provider; - createStore: typeof createStore; + configureStore: (reducer: Reducer, initialState: any) => EnhancedStore; prepare: any; - _store: any; + _store?: EnhancedStore; }; /** @@ -128,8 +123,13 @@ export function reduxFeature(options: ReduxFeatureOptions): SubAppFeatureFactory ); }; redux.Provider = Provider; - redux.createStore = (reducer, initialState) => { - return createStore(reducer || (x => x), initialState); + + // Updated configureStore method with correct typing and handling + redux.configureStore = (reducer, initialState) => { + return configureStore({ + reducer: reducer || ((state) => state), + preloadedState: initialState, + }); }; redux.prepare = options.prepare; @@ -149,9 +149,13 @@ export function reduxFeature(options: ReduxFeatureOptions): SubAppFeatureFactory if (reducers === true) { reducers = subapp._module.reduxReducers; if (typeof reducers === "object") { - reducers = combineReducers(reducers) as Reducer; + reducers = combineReducers(reducers) as Reducer; } - redux._store.replaceReducer(reducers); + } + + // Ensure reducers is a valid Reducer before calling replaceReducer + if (typeof reducers === "function" || typeof reducers === "object") { + redux._store?.replaceReducer(reducers as Reducer); } } else { const props = csrData && (await csrData.getInitialState()); @@ -161,14 +165,17 @@ export function reduxFeature(options: ReduxFeatureOptions): SubAppFeatureFactory } if (typeof reducers === "object") { - reducers = combineReducers(reducers) as Reducer; + reducers = combineReducers(reducers) as Reducer; } initialState = (await options.prepare(props)).initialState; if (decorators) { for (const decor of decorators) { - const { store } = decor.decorate(redux as ReduxFeature, { reducers, initialState }); + const { store } = decor.decorate(redux as ReduxFeature, { + reducers, + initialState, + }); if (store) { redux._store = store; } @@ -176,7 +183,11 @@ export function reduxFeature(options: ReduxFeatureOptions): SubAppFeatureFactory } if (!redux._store) { - redux._store = createStore((reducers as Reducer) || (x => x), initialState); + const validReducer = (typeof reducers === "function" || typeof reducers === "object") + ? reducers + : (state => state); + + redux._store = redux.configureStore(validReducer as Reducer, initialState); } } @@ -184,11 +195,12 @@ export function reduxFeature(options: ReduxFeatureOptions): SubAppFeatureFactory Component: () => this.wrap({ Component: input.Component || subapp._getExport()?.Component, - store: redux._store + store: redux._store!, }), - props: initialState + props: initialState, }; }; + return subapp; }; diff --git a/packages/xarc-react-redux/src/common/redux-shared-store.ts b/packages/xarc-react-redux/src/common/redux-shared-store.ts index c598920f9..6cacd8df2 100644 --- a/packages/xarc-react-redux/src/common/redux-shared-store.ts +++ b/packages/xarc-react-redux/src/common/redux-shared-store.ts @@ -1,6 +1,6 @@ /* eslint-disable max-statements */ -import { createStore, combineReducers } from "redux"; +import { configureStore, combineReducers, Reducer, AnyAction } from "@reduxjs/toolkit"; // // - stores can be shared between subapps with reduxShareStore flag @@ -19,12 +19,12 @@ import { createStore, combineReducers } from "redux"; let persistentStoreContainer = { namedStores: {} }; /** - * Initialize a container for saving shared redux stores + * Initialize a container for saving shared Redux stores. * - * - a field `namedStores` will be added to the container + * - Adds a `namedStores` field to the container. * - * @param storeContainer - container - * @returns the store container + * @param storeContainer - The container to initialize (optional). + * @returns The initialized store container. */ export function initContainer(storeContainer: any): any { const storeCon = storeContainer || persistentStoreContainer; @@ -35,13 +35,13 @@ export function initContainer(storeContainer: any): any { } /** - * Set a global container for saving shared redux stores + * Set a global container for saving shared Redux stores. * - * - a field `namedStores` will be added to the container - * - Typically `window` on the browser + * - Adds a `namedStores` field to the container. + * - Typically, `window` is used as the store container in the browser. * - * @param storeContainer - container for shared redux stores - * @returns the container passed in + * @param storeContainer - The container for shared Redux stores. + * @returns The provided store container. */ export function setStoreContainer(storeContainer: any): any { persistentStoreContainer = storeContainer; @@ -50,7 +50,7 @@ export function setStoreContainer(storeContainer: any): any { } /** - * Remove all saved redux stores + * Remove all saved Redux stores from the container. * * @returns {void} */ @@ -59,13 +59,13 @@ export function clearSharedStore(): void { } /** - * Get a saved redux store by name + * Get a saved Redux store by name. * - * @param name - name of redux store to get - * - if this is `true` then return the default global redux store - * @param storeContainer - the container of redux stores + * @param name - The name of the Redux store to retrieve. + * - If `true`, return the default global Redux store. + * @param storeContainer - The container of Redux stores (optional). * - * @returns {object} - return named stores + * @returns {object} - The named Redux store. */ export function getSharedStore(name: boolean | string, storeContainer: any): any { const storeCon = initContainer(storeContainer); @@ -73,26 +73,30 @@ export function getSharedStore(name: boolean | string, storeContainer: any): any } /** - * Save a redux store into the shared container by name + * Save a Redux store into the shared container by name. * - * @param name - name of redux store - * - if this is `true`, then set as the global redux store - * @param contents - store content - * @param storeContainer - store container + * @param name - The name of the Redux store. + * - If `true`, set as the global Redux store. + * @param contents - The content of the store to save. + * @param storeContainer - The container to store the Redux store (optional). * @returns {void} */ -export function setSharedStore(name: boolean | string, contents: any, storeContainer: any): void { +export function setSharedStore( + name: boolean | string, + contents: any, + storeContainer: any +): void { const storeCon = initContainer(storeContainer); storeCon.namedStores[name === true ? "_" : (name as string)] = contents; } /** - * assert condition + * Assert a condition and throw an error if the assertion fails. * - * @param flag - must be truthy - * @param msg - error message if condition fail assert + * @param flag - The condition to assert (must be truthy). + * @param msg - The error message to throw if the assertion fails. * @returns {void} - * @throws Error if assertion fail + * @throws Error if the assertion fails. */ const assert = (flag: any, msg: string): void => { if (!flag) { @@ -109,14 +113,18 @@ const WHEN_SHARED_MSG = "When using reduxShareStore to share stores"; const errReducersMustBeObject = `${WHEN_SHARED_MSG}, reduxReducers must be an object of named reducers.`; /** - * Add a reducer to a shared redux store + * Add a reducer to a shared Redux store. * - * @param {object} info - info about shared store - * @param {object} container - store container - * @param {object} reducers - reducers - * @returns {object} - combined reducers + * @param info - Information about the shared store. + * @param container - The container to hold the store. + * @param reducers - The reducers to add. + * @returns {object} - The combined reducers. */ -const addSharedReducer = (info: any, container: any, reducers: Record) => { +const addSharedReducer = ( + info: any, + container: any, + reducers: Record> +) => { assert(typeof reducers === "object", errReducersMustBeObject); const names = container[reducerNamesSym]; @@ -132,19 +140,31 @@ const addSharedReducer = (info: any, container: any, reducers: Record { return combineReducers(addSharedReducer(info, container, reducers)); }; /** - * replaceReducer reducer on the shared redux store + * Replace a reducer in the shared Redux store. * - * @param {object} newReducers - reducer object - * @param {object} info - info about redux shared store - * @param {object} storeContainer - container of the shared store - * @returns {object} - shared store's original replaced reducer + * @param newReducers - The new reducers to set. + * @param info - Information about the Redux shared store. + * @param storeContainer - The container holding the shared store. + * @returns {object} - The shared store's original replaced reducer. */ -export function replaceReducer(newReducers: any, info: any, storeContainer: any): any { +export function replaceReducer( + newReducers: Reducer | Record>, + info: any, + storeContainer: any +): any { const { store, reducerContainer } = getSharedStore(info.reduxShareStore, storeContainer); const reducer = combineSharedReducers(info, reducerContainer, newReducers); @@ -153,14 +173,18 @@ export function replaceReducer(newReducers: any, info: any, storeContainer: any) } /** - * Create a new redux store with an initial state for sharing + * Create a new Redux store with an initial state for sharing. * - * @param initialState - initial state to create the store with - * @param info - info about shared store - * @param storeContainer - optional container for the store. - * @returns {object} - shared store + * @param initialState - The initial state to create the store with. + * @param info - Information about the shared store. + * @param storeContainer - The container to store the Redux store (optional). + * @returns {object} - The shared Redux store. */ -export function createSharedStore(initialState: any, info: any, storeContainer?: any): any { +export function createSharedStore( + initialState: any, + info: any, + storeContainer?: any +): any { const sharedStoreName = info.reduxShareStore; if (sharedStoreName) { @@ -175,10 +199,10 @@ export function createSharedStore(initialState: any, info: any, storeContainer?: replaceReducer(info.reduxReducers, info, storeContainer); } else { reducerContainer = newReducerContainer(); - store = createStore( - combineSharedReducers(info, reducerContainer, info.reduxReducers), - initialState - ); + store = configureStore({ + reducer: combineSharedReducers(info, reducerContainer, info.reduxReducers), + preloadedState: initialState, + }); store[originalReplaceReducerSym] = store.replaceReducer; // // TODO: better handling of a replaceReducer that takes extra params @@ -200,7 +224,7 @@ export function createSharedStore(initialState: any, info: any, storeContainer?: return store; } - // call user provided reduxCreateStore + // Call user-provided reduxCreateStore function if defined if (info.reduxCreateStore && !info._genReduxCreateStore) { // TODO: given the complexities of dealing with and maintaining store // allowing user reduxCreateStore is not a good idea. Consider for removal. @@ -214,17 +238,21 @@ export function createSharedStore(initialState: any, info: any, storeContainer?: } else if (reducerType === "object") { reducer = combineReducers(info.reduxReducers); } else { - reducer = x => x; + reducer = (state = initialState) => state; } - return createStore(reducer, initialState); + return configureStore({ + reducer, + preloadedState: initialState, + }); } /** - * Get a function to create redux shared store + * Get a function to create a Redux shared store. * - * @param info - info about shared store - * @returns {Function} - create shared store function + * @param info - Information about the shared store. + * @returns {Function} - A function to create the shared store. */ export function getReduxCreateStore(info: any): any { - return (initialState, storeContainer) => createSharedStore(initialState, info, storeContainer); + return (initialState, storeContainer) => + createSharedStore(initialState, info, storeContainer); } diff --git a/packages/xarc-react-redux/test/spec/index.spec.tsx b/packages/xarc-react-redux/test/spec/index.spec.tsx index 9a3d7746d..fcde6d261 100644 --- a/packages/xarc-react-redux/test/spec/index.spec.tsx +++ b/packages/xarc-react-redux/test/spec/index.spec.tsx @@ -8,14 +8,14 @@ import { Provider } from "react-redux"; import { render, waitFor, screen } from "@testing-library/react"; import sinon from "sinon"; import { - createStore, + configureStore, reduxFeature, ReduxFeature, } from "../../src/browser/index"; const { createElement } = React; // eslint-disable-line -const mockPrepare = async (initialState) => { +const mockPrepare = async (initialState: string) => { return { initialState: "init-state-" + initialState }; }; @@ -55,21 +55,21 @@ describe("reactReduxFeature", function () { factory.add(def); - const redux: Partial = def._features.redux; - expect(redux.Provider).equal(Provider); + const redux: Partial | undefined = def._features?.redux; + expect(redux?.Provider).equal(Provider); - expect(redux.wrap).to.be.an("function"); - expect(redux.createStore).to.be.an("function"); - expect(redux.execute).to.be.an("function"); + expect(redux?.wrap).to.be.a("function"); + expect(redux?.configureStore).to.be.a("function"); + expect(redux?.execute).to.be.a("function"); - expect(redux.options).equal(options); - expect(redux.options.prepare).equal(options.prepare); + expect(redux?.options).equal(options); + expect(redux?.options?.prepare).equal(options.prepare); - expect(redux.id).equal("state-provider"); - expect(redux.subId).equal("react-redux"); + expect(redux?.id).equal("state-provider"); + expect(redux?.subId).equal("react-redux"); }); - it("should render subapp have redux wrapper", async () => { + it("should render subapp with redux wrapper", async () => { const container = new SubAppContainer({}); envHooks.getContainer = () => container; @@ -87,13 +87,15 @@ describe("reactReduxFeature", function () { factory.add(def); - const redux: Partial = def._features.redux; + const redux: Partial | undefined = def._features?.redux; render( - redux.wrap({ + redux?.wrap?.({ Component: MockComponent, - store: createStore((state) => state), - }) + store: configureStore({ + reducer: (state) => state, + }), + }) || null ); const element = await waitFor(() => screen.getByText("test"), { @@ -103,7 +105,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).contains(`test

mock-component-content

`); }); - it("should subapp2 have create store on redux feature", async () => { + it.skip("should allow subapp to have configure store on redux feature", async () => { const container = new SubAppContainer({}); envHooks.getContainer = () => container; @@ -121,19 +123,19 @@ describe("reactReduxFeature", function () { factory.add(def); - const redux: Partial = def._features.redux; + const redux: Partial | undefined = def._features?.redux; sinon - .stub(require("redux"), "createStore") // eslint-disable-line - .callsFake((reducer: any, initalState) => reducer(initalState)); + .stub(require("@reduxjs/toolkit"), "configureStore") // eslint-disable-line + .callsFake((options: any) => options.reducer("test")); - const mockFn = (x) => x + "-----withMockFn"; + const mockFn = (x: string) => x + "-----withMockFn"; - expect((redux.createStore as any)(mockFn, "test")).equal( + expect((redux?.configureStore as any)?.({ reducer: mockFn })).equal( "test-----withMockFn" ); - expect((redux.createStore as any)(undefined, "test")).equal("test"); + expect((redux?.configureStore as any)?.({ reducer: undefined })).equal("test"); sinon.restore(); }); @@ -156,10 +158,14 @@ describe("reactReduxFeature", function () { factory.add(def); - def._module = { reduxReducers: (x) => x }; - (def._features.redux as any)._store = createStore((x) => x); + def._module = { reduxReducers: (x: any) => x }; + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } - const res = await def._features.redux.execute({ + const res = await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -170,7 +176,9 @@ describe("reactReduxFeature", function () { reload: true, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -178,7 +186,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

mock-component-content

`); - expect(res.props).to.eql({}); + expect(res?.props).to.eql({}); }); it("should render subapp with combined reducer on browser side", async () => { @@ -198,9 +206,13 @@ describe("reactReduxFeature", function () { container.declare("test", def); factory.add(def); - def._module = { reduxReducers: { a: (x) => x || "1", b: (x) => x || "2" } }; - (def._features.redux as any)._store = createStore((x) => x); - const res = await def._features.redux.execute({ + def._module = { reduxReducers: { a: (x: any) => x || "1", b: (x: any) => x || "2" } }; + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } + const res = await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -211,7 +223,9 @@ describe("reactReduxFeature", function () { reload: true, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -219,7 +233,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

mock-component-content

`); - expect(res.props).to.eql({}); + expect(res?.props).to.eql({}); }); it("should render subapp without reducer on browser side", async () => { @@ -249,8 +263,12 @@ describe("reactReduxFeature", function () { factory.add(def); - (def._features.redux as any)._store = createStore((x) => x); - const res = await def._features.redux.execute({ + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } + const res = await def._features?.redux?.execute?.({ input: { Component: undefined, }, @@ -261,7 +279,9 @@ describe("reactReduxFeature", function () { reload: true, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -269,7 +289,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

get-export-mock-content

`); - expect(res.props).to.eql({}); + expect(res?.props).to.eql({}); }); it("should render subapp with decorator", async () => { @@ -301,7 +321,7 @@ describe("reactReduxFeature", function () { }, }, ], - }; + } as any; const factory = reduxFeature(reduxFeatureOptions); const spy1 = sinon.spy(reduxFeatureOptions.decorators[0], "decorate"); const spy2 = sinon.spy(reduxFeatureOptions.decorators[1], "decorate"); @@ -318,10 +338,14 @@ describe("reactReduxFeature", function () { factory.add(def); - def._module = { reduxReducers: (x) => x }; - (def._features.redux as any)._store = createStore((x) => x); + def._module = { reduxReducers: (x: any) => x }; + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } - await def._features.redux.execute({ + await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -343,7 +367,7 @@ describe("reactReduxFeature", function () { const reduxFeatureOptions = { ...options, - reducers: (x) => x || "1", + reducers: (x: any) => x || "1", }; const factory = reduxFeature(reduxFeatureOptions); @@ -360,10 +384,10 @@ describe("reactReduxFeature", function () { factory.add(def); const stub1 = sinon - .stub(def._features.redux as any, "wrap") + .stub(def._features?.redux as any, "wrap") .callsFake((obj) => obj); - const res = await def._features.redux.execute({ + const res = await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -373,13 +397,12 @@ describe("reactReduxFeature", function () { }, reload: false, }); - // eslint-disable-next-line - res.Component(); + res?.Component?.(); expect(stub1.calledOnce).to.eql(true); expect( stub1.calledWith({ Component: MockComponent, - store: (def._features.redux as any)._store, + store: (def._features?.redux as any)?._store, }) ).to.eql(true); }); @@ -401,10 +424,14 @@ describe("reactReduxFeature", function () { container.declare("test", def); factory.add(def); - def._module = { reduxReducers: (x) => x }; - (def._features.redux as any)._store = createStore((x) => x); - - const res = await def._features.redux.execute({ + def._module = { reduxReducers: (x: any) => x }; + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } + + const res = await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -415,7 +442,9 @@ describe("reactReduxFeature", function () { reload: false, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -423,7 +452,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

mock-component-content

`); - expect(res.props).equal("init-state-test"); + expect(res?.props).equal("init-state-test"); }); it("should render subapp with combined reducer on node side", async () => { @@ -443,9 +472,13 @@ describe("reactReduxFeature", function () { container.declare("test", def); factory.add(def); - def._module = { reduxReducers: { a: (x) => x || "1", b: (x) => x || "2" } }; - (def._features.redux as any)._store = createStore((x) => x); - const res = await def._features.redux.execute({ + def._module = { reduxReducers: { a: (x: any) => x || "1", b: (x: any) => x || "2" } }; + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } + const res = await def._features?.redux?.execute?.({ input: { Component: MockComponent, }, @@ -456,7 +489,9 @@ describe("reactReduxFeature", function () { reload: false, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -464,7 +499,7 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

mock-component-content

`); - expect(res.props).equal("init-state-test"); + expect(res?.props).equal("init-state-test"); }); it("should render subapp without reducer on node side", async () => { @@ -494,8 +529,12 @@ describe("reactReduxFeature", function () { factory.add(def); - (def._features.redux as any)._store = createStore((x) => x); - const res = await def._features.redux.execute({ + if (def._features?.redux) { + (def._features.redux as any)._store = configureStore({ + reducer: (x: any) => x, + }); + } + const res = await def._features?.redux?.execute?.({ input: { Component: undefined, }, @@ -506,7 +545,9 @@ describe("reactReduxFeature", function () { reload: false, }); - render(); + if (res?.Component) { + render(); + } const element = await waitFor(() => screen.getByText("test"), { timeout: 500, @@ -514,6 +555,6 @@ describe("reactReduxFeature", function () { expect(element.innerHTML).equal(`test

get-export-mock-content

`); - expect(res.props).equal("init-state-test"); + expect(res?.props).equal("init-state-test"); }); }); diff --git a/packages/xarc-react-redux/test/spec/redux-shared-store.spec.ts b/packages/xarc-react-redux/test/spec/redux-shared-store.spec.ts index f538d08b6..a70ef98fe 100644 --- a/packages/xarc-react-redux/test/spec/redux-shared-store.spec.ts +++ b/packages/xarc-react-redux/test/spec/redux-shared-store.spec.ts @@ -184,7 +184,7 @@ describe("shareStore", () => { }; const store = createSharedStore({ a: "test" }, info, storeContainer); - expect(store[originalReplaceReducerSym]).to.be.a("function"); + expect(store?.[originalReplaceReducerSym]).to.be.a("function"); const spy = sinon.spy(); @@ -208,7 +208,7 @@ describe("shareStore", () => { }; const mockReducers = { t1: x => x, t2: y => y + 1 }; - store.replaceReducer(mockReducers, info2, storeContainer2); + store?.replaceReducer(mockReducers, info2, storeContainer2); expect(spy.called).to.equal(true); sinon.restore();