diff --git a/.github/workflows/release-deprecate.yaml b/.github/workflows/release-deprecate.yaml index 1a6a3584143..d8957d4a26a 100644 --- a/.github/workflows/release-deprecate.yaml +++ b/.github/workflows/release-deprecate.yaml @@ -11,14 +11,6 @@ on: type: string description: Filter by package name default: "" - filter_by_package_version: - type: string - description: Filter by package version - default: "" - chunk_size: - type: number - description: Chunk size - default: 1000 concurrency: group: ${{ github.workflow }}-${{ github.ref }} @@ -41,10 +33,18 @@ jobs: with: npm-token: ${{ secrets.NPM_DEPLOY_TOKEN }} + - name: Ensure NPM access + run: npm whoami + env: + HOME: ${{ github.workspace }} + NPM_TOKEN: ${{ secrets.NPM_DEPLOY_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_DEPLOY_TOKEN }} + - name: Deprecate run: pnpm release:deprecate env: + HOME: ${{ github.workspace }} + NPM_TOKEN: ${{ secrets.NPM_DEPLOY_TOKEN }} + NODE_AUTH_TOKEN: ${{ secrets.NPM_DEPLOY_TOKEN }} DEPRECATE_VERSIONS: ${{ github.event.inputs.deprecate_versions }} FILTER_BY_PACKAGE_NAME: ${{ github.event.inputs.filter_by_package_name }} - FILTER_BY_VERSION: ${{ github.event.inputs.filter_by_package_version }} - CHUNK_SIZE: ${{ github.event.inputs.chunk_size }} diff --git a/package.json b/package.json index fc72e1793b6..397dc1d0899 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "changeset:update-changelog": "tsx ./scripts/changeset/update-changelog.mts", "changeset:get-latest-release": "tsx ./scripts/changeset/get-latest-release.mts", "changeset:dependabot": "./scripts/changeset/dependabot-changeset.sh", - "release:deprecate": "tsx ./scripts/release-deprecate.ts", + "release:deprecate": "tsx ./scripts/release-deprecate.mts", "forc:update": "tsx ./scripts/forc-update", "forc:check": "./scripts/forc-check.sh", "forc:format": "./scripts/forc-format.sh", @@ -87,7 +87,6 @@ "@typescript-eslint/parser": "6.21.0", "@vitest/browser": "2.0.5", "@vitest/coverage-istanbul": "2.0.5", - "compare-versions": "6.1.1", "coverage-diff": "3.2.0", "eslint": "8.57.0", "eslint-config-airbnb-base": "15.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 071b9db83d9..5dbbaf8df0e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,10 +68,7 @@ importers: version: 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@6.0.4)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) '@vitest/coverage-istanbul': specifier: 2.0.5 - version: 2.0.5(vitest@2.0.5) - compare-versions: - specifier: 6.1.1 - version: 6.1.1 + version: 2.0.5(vitest@2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0)) coverage-diff: specifier: 3.2.0 version: 3.2.0 @@ -149,7 +146,7 @@ importers: version: 0.1.1 tsup: specifier: 6.7.0 - version: 6.7.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(typescript@5.6.3) + version: 6.7.0(@swc/core@1.7.14)(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(typescript@5.6.3) tsx: specifier: 4.19.1 version: 4.19.1 @@ -243,7 +240,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.14 - version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) + version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -328,7 +325,7 @@ importers: version: 18.3.0 eslint-config-react-app: specifier: 7.0.1 - version: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + version: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) fuels: specifier: workspace:* version: link:../../packages/fuels @@ -340,7 +337,7 @@ importers: version: 18.3.1(react@18.3.1) react-scripts: specifier: 5.0.1 - version: 5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10) + version: 5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10) typescript: specifier: 5.6.3 version: 5.6.3 @@ -455,7 +452,7 @@ importers: version: 6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0) tailwindcss: specifier: 3.4.14 - version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) + version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1114,7 +1111,7 @@ importers: version: 0.8.2 vitest: specifier: 2.0.5 - version: 2.0.5(@types/node@22.7.7)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10))(terser@5.36.0) + version: 2.0.5(@types/node@22.7.7)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0) packages/versions: dependencies: @@ -1188,7 +1185,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.14 - version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) + version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -1261,7 +1258,7 @@ importers: version: 8.4.49 tailwindcss: specifier: 3.4.14 - version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3)) + version: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3)) typescript: specifier: 5.6.3 version: 5.6.3 @@ -7081,9 +7078,6 @@ packages: commondir@1.0.1: resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} - compare-versions@6.1.1: - resolution: {integrity: sha512-4hm4VPpIecmlg59CHXnRDnqGplJFrbLG4aFEl5vl6cK1u76ws3LLvX7ikFnTDl5vo39sjWD6AaDPYodJp/NNHg==} - compress-commons@6.0.2: resolution: {integrity: sha512-6FqVXeETqWPoGcfzrXb37E50NP0LXT8kAMu5ooZayhWWdgEY4lBEEcbQNXtkuKQsGduxiIcI4gOTsxTmuq/bSg==} engines: {node: '>= 14'} @@ -16973,7 +16967,7 @@ snapshots: jest-util: 28.1.3 slash: 3.0.0 - '@jest/core@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)': + '@jest/core@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)': dependencies: '@jest/console': 27.5.1 '@jest/reporters': 27.5.1 @@ -16987,7 +16981,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 27.5.1 - jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) jest-haste-map: 27.5.1 jest-message-util: 27.5.1 jest-regex-util: 27.5.1 @@ -17790,7 +17784,7 @@ snapshots: dependencies: playwright: 1.49.1 - '@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19))': + '@pmmmwh/react-refresh-webpack-plugin@0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)))(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19))': dependencies: ansi-html-community: 0.0.8 common-path-prefix: 3.0.0 @@ -17802,10 +17796,10 @@ snapshots: react-refresh: 0.11.0 schema-utils: 3.3.0 source-map: 0.7.4 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) optionalDependencies: type-fest: 3.1.0 - webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) '@polka/url@1.0.0-next.24': {} @@ -18759,7 +18753,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.7.14': optional: true - '@swc/core@1.7.14(@swc/helpers@0.5.12)': + '@swc/core@1.7.14': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.12 @@ -18774,7 +18768,6 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.7.14 '@swc/core-win32-ia32-msvc': 1.7.14 '@swc/core-win32-x64-msvc': 1.7.14 - '@swc/helpers': 0.5.12 optional: true '@swc/counter@0.1.3': {} @@ -19538,7 +19531,7 @@ snapshots: vite: 5.4.9(@types/node@22.7.7)(terser@5.36.0) vue: 3.5.12(typescript@5.6.3) - '@vitest/browser@2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10))': + '@vitest/browser@2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4))': dependencies: '@testing-library/dom': 10.4.0 '@testing-library/user-event': 14.5.2(@testing-library/dom@10.4.0) @@ -19550,7 +19543,7 @@ snapshots: ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: playwright: 1.49.1 - webdriverio: 9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10) + webdriverio: 9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4) transitivePeerDependencies: - bufferutil - typescript @@ -19565,7 +19558,7 @@ snapshots: magic-string: 0.30.11 msw: 2.4.7(typescript@5.6.3) sirv: 2.0.4 - vitest: 2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0) + vitest: 2.0.5(@types/node@22.7.7)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) optionalDependencies: playwright: 1.49.1 @@ -19575,7 +19568,7 @@ snapshots: - typescript - utf-8-validate - '@vitest/coverage-istanbul@2.0.5(vitest@2.0.5)': + '@vitest/coverage-istanbul@2.0.5(vitest@2.0.5(@types/node@22.5.5)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0))': dependencies: '@istanbuljs/schema': 0.1.3 debug: 4.3.7(supports-color@5.5.0) @@ -21442,14 +21435,14 @@ snapshots: transitivePeerDependencies: - supports-color - babel-loader@8.3.0(@babel/core@7.22.5)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + babel-loader@8.3.0(@babel/core@7.22.5)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@babel/core': 7.22.5 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) babel-plugin-istanbul@6.1.1: dependencies: @@ -22237,8 +22230,6 @@ snapshots: commondir@1.0.1: {} - compare-versions@6.1.1: {} - compress-commons@6.0.2: dependencies: crc-32: 1.2.2 @@ -22475,7 +22466,7 @@ snapshots: postcss: 8.4.49 postcss-selector-parser: 6.0.13 - css-loader@6.8.1(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + css-loader@6.8.1(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: icss-utils: 5.1.0(postcss@8.4.49) postcss: 8.4.49 @@ -22485,9 +22476,9 @@ snapshots: postcss-modules-values: 4.0.0(postcss@8.4.49) postcss-value-parser: 4.2.0 semver: 7.6.3 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) - css-minimizer-webpack-plugin@3.4.1(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + css-minimizer-webpack-plugin@3.4.1(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: cssnano: 5.1.15(postcss@8.4.49) jest-worker: 27.5.1 @@ -22495,7 +22486,7 @@ snapshots: schema-utils: 4.2.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) optionalDependencies: esbuild: 0.17.19 @@ -23323,7 +23314,7 @@ snapshots: dependencies: eslint: 8.57.0 - eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): + eslint-config-react-app@7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): dependencies: '@babel/core': 7.25.8 '@babel/eslint-parser': 7.22.5(@babel/core@7.25.8)(eslint@9.9.1(jiti@2.4.2)) @@ -23335,7 +23326,7 @@ snapshots: eslint: 9.9.1(jiti@2.4.2) eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2)) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2)) - eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + eslint-plugin-jest: 25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) eslint-plugin-jsx-a11y: 6.9.0(eslint@9.9.1(jiti@2.4.2)) eslint-plugin-react: 7.37.1(eslint@9.9.1(jiti@2.4.2)) eslint-plugin-react-hooks: 4.6.2(eslint@9.9.1(jiti@2.4.2)) @@ -23375,6 +23366,24 @@ snapshots: - eslint-import-resolver-webpack - supports-color + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0): + dependencies: + debug: 4.3.7(supports-color@5.5.0) + enhanced-resolve: 5.17.1 + eslint: 8.57.0 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + fast-glob: 3.3.2 + get-tsconfig: 4.7.6 + is-core-module: 2.15.1 + is-glob: 4.0.3 + transitivePeerDependencies: + - '@typescript-eslint/parser' + - eslint-import-resolver-node + - eslint-import-resolver-webpack + - supports-color + optional: true + eslint-module-utils@2.11.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1(jiti@2.4.2)): dependencies: debug: 3.2.7 @@ -23396,6 +23405,17 @@ snapshots: transitivePeerDependencies: - supports-color + eslint-module-utils@2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0): + dependencies: + debug: 3.2.7 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3) + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0) + transitivePeerDependencies: + - supports-color + eslint-plugin-eslint-comments@3.2.0(eslint@8.57.0): dependencies: escape-string-regexp: 1.0.5 @@ -23447,7 +23467,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint@8.57.0))(eslint@8.57.0))(eslint@8.57.0) + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.15.1 is-glob: 4.0.3 @@ -23492,13 +23512,42 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): + eslint-plugin-import@2.30.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0): + dependencies: + '@rtsao/scc': 1.1.0 + array-includes: 3.1.8 + array.prototype.findlastindex: 1.2.5 + array.prototype.flat: 1.3.2 + array.prototype.flatmap: 1.3.2 + debug: 3.2.7 + doctrine: 2.1.0 + eslint: 8.57.0 + eslint-import-resolver-node: 0.3.9 + eslint-module-utils: 2.11.0(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@6.21.0(eslint@8.57.0)(typescript@5.6.3))(eslint-import-resolver-node@0.3.9)(eslint-plugin-import@2.30.0)(eslint@8.57.0))(eslint@8.57.0) + hasown: 2.0.2 + is-core-module: 2.15.1 + is-glob: 4.0.3 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + object.groupby: 1.0.3 + object.values: 1.2.0 + semver: 6.3.1 + tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 6.21.0(eslint@8.57.0)(typescript@5.6.3) + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + optional: true + + eslint-plugin-jest@25.7.0(@typescript-eslint/eslint-plugin@5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3): dependencies: '@typescript-eslint/experimental-utils': 5.60.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) eslint: 9.9.1(jiti@2.4.2) optionalDependencies: '@typescript-eslint/eslint-plugin': 5.59.0(@typescript-eslint/parser@5.59.0(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3))(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3) - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) transitivePeerDependencies: - supports-color - typescript @@ -23680,7 +23729,7 @@ snapshots: eslint-visitor-keys@4.1.0: {} - eslint-webpack-plugin@3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + eslint-webpack-plugin@3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@types/eslint': 8.40.2 eslint: 9.9.1(jiti@2.4.2) @@ -23688,7 +23737,7 @@ snapshots: micromatch: 4.0.8 normalize-path: 3.0.0 schema-utils: 4.2.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) eslint@8.57.0: dependencies: @@ -24073,11 +24122,11 @@ snapshots: dependencies: flat-cache: 4.0.1 - file-loader@6.2.0(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + file-loader@6.2.0(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) file-uri-to-path@1.0.0: {} @@ -24181,7 +24230,7 @@ snapshots: cross-spawn: 7.0.3 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + fork-ts-checker-webpack-plugin@6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@babel/code-frame': 7.25.7 '@types/json-schema': 7.0.12 @@ -24197,7 +24246,7 @@ snapshots: semver: 7.6.3 tapable: 1.1.3 typescript: 5.6.3 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) optionalDependencies: eslint: 9.9.1(jiti@2.4.2) @@ -24643,14 +24692,14 @@ snapshots: relateurl: 0.2.7 terser: 5.18.2 - html-webpack-plugin@5.5.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + html-webpack-plugin@5.5.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 lodash: 4.17.21 pretty-error: 4.0.0 tapable: 2.2.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) htmlfy@0.2.1: optional: true @@ -25257,16 +25306,16 @@ snapshots: transitivePeerDependencies: - supports-color - jest-cli@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): + jest-cli@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) '@jest/test-result': 27.5.1 '@jest/types': 27.5.1 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 import-local: 3.1.0 - jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest-config: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) jest-util: 27.5.1 jest-validate: 27.5.1 prompts: 2.4.2 @@ -25278,7 +25327,7 @@ snapshots: - ts-node - utf-8-validate - jest-config@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): + jest-config@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.25.8 '@jest/test-sequencer': 27.5.1 @@ -25305,7 +25354,7 @@ snapshots: slash: 3.0.0 strip-json-comments: 3.1.1 optionalDependencies: - ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3) + ts-node: 10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3) transitivePeerDependencies: - bufferutil - canvas @@ -25642,11 +25691,11 @@ snapshots: leven: 3.1.0 pretty-format: 29.7.0 - jest-watch-typeahead@1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)): + jest-watch-typeahead@1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) jest-regex-util: 28.0.2 jest-watcher: 28.1.3 slash: 4.0.0 @@ -25699,11 +25748,11 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 - jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): + jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10): dependencies: - '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + '@jest/core': 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) import-local: 3.1.0 - jest-cli: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest-cli: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) transitivePeerDependencies: - bufferutil - canvas @@ -26541,10 +26590,10 @@ snapshots: mimic-fn@4.0.0: {} - mini-css-extract-plugin@2.7.6(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + mini-css-extract-plugin@2.7.6(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: schema-utils: 4.2.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) minimalistic-assert@1.0.1: {} @@ -27478,29 +27527,29 @@ snapshots: postcss: 8.4.49 postcss-value-parser: 4.2.0 - postcss-load-config@3.1.4(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)): + postcss-load-config@3.1.4(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)): dependencies: lilconfig: 2.1.0 yaml: 1.10.2 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3) + ts-node: 10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3) - postcss-load-config@4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)): + postcss-load-config@4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)): dependencies: lilconfig: 2.1.0 yaml: 2.6.0 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3) + ts-node: 10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3) - postcss-load-config@4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3)): + postcss-load-config@4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3)): dependencies: lilconfig: 2.1.0 yaml: 2.6.0 optionalDependencies: postcss: 8.4.49 - ts-node: 10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3) + ts-node: 10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3) postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.4.49)(tsx@4.19.1)(yaml@2.6.0): dependencies: @@ -27511,13 +27560,13 @@ snapshots: tsx: 4.19.1 yaml: 2.6.0 - postcss-loader@6.2.1(postcss@8.4.49)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + postcss-loader@6.2.1(postcss@8.4.49)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: cosmiconfig: 7.1.0 klona: 2.0.6 postcss: 8.4.49 semver: 7.6.3 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) postcss-logical@5.0.4(postcss@8.4.49): dependencies: @@ -28021,7 +28070,7 @@ snapshots: regenerator-runtime: 0.13.11 whatwg-fetch: 3.6.2 - react-dev-utils@12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + react-dev-utils@12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@babel/code-frame': 7.22.5 address: 1.2.2 @@ -28032,7 +28081,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -28047,7 +28096,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: @@ -28157,56 +28206,56 @@ snapshots: optionalDependencies: '@types/react': 18.3.11 - react-scripts@5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10): + react-scripts@5.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(@swc/core@1.7.14)(@types/babel__core@7.20.5)(bufferutil@4.0.8)(esbuild@0.17.19)(eslint@9.9.1(jiti@2.4.2))(react@18.3.1)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(type-fest@3.1.0)(typescript@5.6.3)(utf-8-validate@5.0.10): dependencies: '@babel/core': 7.22.5 - '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + '@pmmmwh/react-refresh-webpack-plugin': 0.5.10(react-refresh@0.11.0)(type-fest@3.1.0)(webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)))(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) '@svgr/webpack': 5.5.0 babel-jest: 27.5.1(@babel/core@7.22.5) - babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + babel-loader: 8.3.0(@babel/core@7.22.5)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) babel-plugin-named-asset-import: 0.3.8(@babel/core@7.22.5) babel-preset-react-app: 10.0.1 bfj: 7.0.2 browserslist: 4.21.9 camelcase: 6.3.0 case-sensitive-paths-webpack-plugin: 2.4.0 - css-loader: 6.8.1(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - css-minimizer-webpack-plugin: 3.4.1(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + css-loader: 6.8.1(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + css-minimizer-webpack-plugin: 3.4.1(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) dotenv: 10.0.0 dotenv-expand: 5.1.0 eslint: 9.9.1(jiti@2.4.2) - eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) - eslint-webpack-plugin: 3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - file-loader: 6.2.0(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + eslint-config-react-app: 7.0.1(@babel/plugin-syntax-flow@7.25.7(@babel/core@7.22.5))(@babel/plugin-transform-react-jsx@7.25.7(@babel/core@7.22.5))(eslint@9.9.1(jiti@2.4.2))(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10))(typescript@5.6.3) + eslint-webpack-plugin: 3.2.0(eslint@9.9.1(jiti@2.4.2))(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + file-loader: 6.2.0(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) fs-extra: 10.1.0 - html-webpack-plugin: 5.5.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + html-webpack-plugin: 5.5.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) identity-obj-proxy: 3.0.0 - jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) + jest: 27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10) jest-resolve: 27.5.1 - jest-watch-typeahead: 1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)) - mini-css-extract-plugin: 2.7.6(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + jest-watch-typeahead: 1.1.0(jest@27.5.1(bufferutil@4.0.8)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(utf-8-validate@5.0.10)) + mini-css-extract-plugin: 2.7.6(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) postcss: 8.4.49 postcss-flexbugs-fixes: 5.0.2(postcss@8.4.49) - postcss-loader: 6.2.1(postcss@8.4.49)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + postcss-loader: 6.2.1(postcss@8.4.49)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) postcss-normalize: 10.0.1(browserslist@4.21.9)(postcss@8.4.49) postcss-preset-env: 7.8.3(postcss@8.4.49) prompts: 2.4.2 react: 18.3.1 react-app-polyfill: 3.0.0 - react-dev-utils: 12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + react-dev-utils: 12.0.1(eslint@9.9.1(jiti@2.4.2))(typescript@5.6.3)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) react-refresh: 0.11.0 resolve: 1.22.2 resolve-url-loader: 4.0.0 - sass-loader: 12.6.0(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + sass-loader: 12.6.0(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) semver: 7.3.8 - source-map-loader: 3.0.2(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - style-loader: 3.3.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - tailwindcss: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) - terser-webpack-plugin: 5.3.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) - webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - webpack-manifest-plugin: 4.1.1(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) - workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.5)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + source-map-loader: 3.0.2(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + style-loader: 3.3.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + tailwindcss: 3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) + terser-webpack-plugin: 5.3.9(@swc/core@1.7.14)(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) + webpack-dev-server: 4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + webpack-manifest-plugin: 4.1.1(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) + workbox-webpack-plugin: 6.6.0(@types/babel__core@7.20.5)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) optionalDependencies: fsevents: 2.3.3 typescript: 5.6.3 @@ -28629,11 +28678,11 @@ snapshots: sanitize.css@13.0.0: {} - sass-loader@12.6.0(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + sass-loader@12.6.0(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: klona: 2.0.6 neo-async: 2.6.2 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) sax@1.2.4: {} @@ -28960,12 +29009,12 @@ snapshots: source-map-js@1.2.1: {} - source-map-loader@3.0.2(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + source-map-loader@3.0.2(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: abab: 2.0.6 iconv-lite: 0.6.3 source-map-js: 1.2.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) source-map-support@0.5.21: dependencies: @@ -29235,9 +29284,9 @@ snapshots: strnum@1.0.5: {} - style-loader@3.3.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + style-loader@3.3.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) styled-jsx@5.1.1(@babel/core@7.25.8)(react@18.3.1): dependencies: @@ -29358,7 +29407,7 @@ snapshots: tabbable@6.2.0: {} - tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)): + tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -29377,7 +29426,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) + postcss-load-config: 4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) postcss-nested: 6.0.1(postcss@8.4.49) postcss-selector-parser: 6.0.13 resolve: 1.22.8 @@ -29385,7 +29434,7 @@ snapshots: transitivePeerDependencies: - ts-node - tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3)): + tailwindcss@3.4.14(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3)): dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -29404,7 +29453,7 @@ snapshots: postcss: 8.4.49 postcss-import: 15.1.0(postcss@8.4.49) postcss-js: 4.0.1(postcss@8.4.49) - postcss-load-config: 4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3)) + postcss-load-config: 4.0.1(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3)) postcss-nested: 6.0.1(postcss@8.4.49) postcss-selector-parser: 6.0.13 resolve: 1.22.8 @@ -29452,16 +29501,16 @@ snapshots: ansi-escapes: 4.3.2 supports-hyperlinks: 2.3.0 - terser-webpack-plugin@5.3.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + terser-webpack-plugin@5.3.9(@swc/core@1.7.14)(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.1 terser: 5.34.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) optionalDependencies: - '@swc/core': 1.7.14(@swc/helpers@0.5.12) + '@swc/core': 1.7.14 esbuild: 0.17.19 terser@5.18.2: @@ -29622,7 +29671,7 @@ snapshots: ts-log@2.2.5: {} - ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3): + ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -29640,10 +29689,10 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.7.14(@swc/helpers@0.5.12) + '@swc/core': 1.7.14 optional: true - ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.7.7)(typescript@5.6.3): + ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.7.7)(typescript@5.6.3): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -29661,7 +29710,7 @@ snapshots: v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: - '@swc/core': 1.7.14(@swc/helpers@0.5.12) + '@swc/core': 1.7.14 optional: true ts-toolbelt@9.6.0: {} @@ -29683,7 +29732,7 @@ snapshots: tslib@2.8.0: {} - tsup@6.7.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3))(typescript@5.6.3): + tsup@6.7.0(@swc/core@1.7.14)(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3))(typescript@5.6.3): dependencies: bundle-require: 4.0.1(esbuild@0.17.19) cac: 6.7.14 @@ -29693,14 +29742,14 @@ snapshots: execa: 5.1.1 globby: 11.1.0 joycon: 3.1.1 - postcss-load-config: 3.1.4(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14(@swc/helpers@0.5.12))(@types/node@22.5.5)(typescript@5.6.3)) + postcss-load-config: 3.1.4(postcss@8.4.49)(ts-node@10.9.1(@swc/core@1.7.14)(@types/node@22.5.5)(typescript@5.6.3)) resolve-from: 5.0.0 rollup: 3.25.3 source-map: 0.8.0-beta.0 sucrase: 3.32.0 tree-kill: 1.2.2 optionalDependencies: - '@swc/core': 1.7.14(@swc/helpers@0.5.12) + '@swc/core': 1.7.14 postcss: 8.4.49 typescript: 5.6.3 transitivePeerDependencies: @@ -30257,7 +30306,7 @@ snapshots: why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.5.5 - '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - less @@ -30327,7 +30376,7 @@ snapshots: why-is-node-running: 2.3.0 optionalDependencies: '@types/node': 22.7.7 - '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10)) + '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@5.0.10)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) transitivePeerDependencies: - less @@ -30339,6 +30388,41 @@ snapshots: - supports-color - terser + vitest@2.0.5(@types/node@22.7.7)(@vitest/browser@2.0.5)(jsdom@16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4))(terser@5.36.0): + dependencies: + '@ampproject/remapping': 2.3.0 + '@vitest/expect': 2.0.5 + '@vitest/pretty-format': 2.1.1 + '@vitest/runner': 2.0.5 + '@vitest/snapshot': 2.0.5 + '@vitest/spy': 2.0.5 + '@vitest/utils': 2.0.5 + chai: 5.1.1 + debug: 4.3.7(supports-color@5.5.0) + execa: 8.0.1 + magic-string: 0.30.11 + pathe: 1.1.2 + std-env: 3.7.0 + tinybench: 2.9.0 + tinypool: 1.0.1 + tinyrainbow: 1.2.0 + vite: 5.4.9(@types/node@22.7.7)(terser@5.36.0) + vite-node: 2.0.5(@types/node@22.7.7)(terser@5.36.0) + why-is-node-running: 2.3.0 + optionalDependencies: + '@types/node': 22.7.7 + '@vitest/browser': 2.0.5(bufferutil@4.0.8)(playwright@1.49.1)(typescript@5.6.3)(utf-8-validate@6.0.4)(vitest@2.0.5)(webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4)) + jsdom: 16.7.0(bufferutil@4.0.8)(utf-8-validate@6.0.4) + transitivePeerDependencies: + - less + - lightningcss + - sass + - sass-embedded + - stylus + - sugarss + - supports-color + - terser + vlq@1.0.1: {} vm-browserify@1.1.2: {} @@ -30400,23 +30484,6 @@ snapshots: '@noble/curves': 1.6.0 '@noble/hashes': 1.5.0 - webdriver@9.0.8(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@types/node': 20.14.15 - '@types/ws': 8.5.12 - '@wdio/config': 9.0.8 - '@wdio/logger': 9.0.8 - '@wdio/protocols': 9.0.8 - '@wdio/types': 9.0.8 - '@wdio/utils': 9.0.8 - deepmerge-ts: 7.1.0 - ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - webdriver@9.0.8(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: '@types/node': 20.14.15 @@ -30434,41 +30501,6 @@ snapshots: - utf-8-validate optional: true - webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@5.0.10): - dependencies: - '@types/node': 20.14.15 - '@types/sinonjs__fake-timers': 8.1.5 - '@wdio/config': 9.0.8 - '@wdio/logger': 9.0.8 - '@wdio/protocols': 9.0.8 - '@wdio/repl': 9.0.8 - '@wdio/types': 9.0.8 - '@wdio/utils': 9.0.8 - archiver: 7.0.1 - aria-query: 5.3.0 - cheerio: 1.0.0 - css-shorthand-properties: 1.1.1 - css-value: 0.0.1 - grapheme-splitter: 1.0.4 - htmlfy: 0.2.1 - import-meta-resolve: 4.1.0 - is-plain-obj: 4.1.0 - jszip: 3.10.1 - lodash.clonedeep: 4.5.0 - lodash.zip: 4.2.0 - minimatch: 9.0.5 - query-selector-shadow-dom: 1.0.1 - resq: 1.11.0 - rgb2hex: 0.2.5 - serialize-error: 11.0.3 - urlpattern-polyfill: 10.0.0 - webdriver: 9.0.8(bufferutil@4.0.8)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate - optional: true - webdriverio@9.0.9(bufferutil@4.0.8)(utf-8-validate@6.0.4): dependencies: '@types/node': 20.14.15 @@ -30512,16 +30544,16 @@ snapshots: webidl-conversions@7.0.0: {} - webpack-dev-middleware@5.3.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + webpack-dev-middleware@5.3.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) - webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + webpack-dev-server@4.15.1(bufferutil@4.0.8)(utf-8-validate@5.0.10)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: '@types/bonjour': 3.5.10 '@types/connect-history-api-fallback': 1.5.0 @@ -30551,20 +30583,20 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.3(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + webpack-dev-middleware: 5.3.3(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) ws: 8.18.0(bufferutil@4.0.8)(utf-8-validate@5.0.10) optionalDependencies: - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) transitivePeerDependencies: - bufferutil - debug - supports-color - utf-8-validate - webpack-manifest-plugin@4.1.1(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + webpack-manifest-plugin@4.1.1(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: tapable: 2.2.1 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) webpack-sources: 2.3.1 webpack-sources@1.4.3: @@ -30579,7 +30611,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19): + webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19): dependencies: '@types/eslint-scope': 3.7.4 '@types/estree': 1.0.5 @@ -30602,7 +30634,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.9(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)) + terser-webpack-plugin: 5.3.9(@swc/core@1.7.14)(esbuild@0.17.19)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)) watchpack: 2.4.0 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -30809,12 +30841,12 @@ snapshots: workbox-sw@6.6.0: {} - workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.5)(webpack@5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19)): + workbox-webpack-plugin@6.6.0(@types/babel__core@7.20.5)(webpack@5.88.0(@swc/core@1.7.14)(esbuild@0.17.19)): dependencies: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.88.0(@swc/core@1.7.14(@swc/helpers@0.5.12))(esbuild@0.17.19) + webpack: 5.88.0(@swc/core@1.7.14)(esbuild@0.17.19) webpack-sources: 1.4.3 workbox-build: 6.6.0(@types/babel__core@7.20.5) transitivePeerDependencies: diff --git a/scripts/release-deprecate.mts b/scripts/release-deprecate.mts new file mode 100644 index 00000000000..31fc8b61658 --- /dev/null +++ b/scripts/release-deprecate.mts @@ -0,0 +1,182 @@ +import { globSync } from "glob"; +import { execSync } from "node:child_process"; +import { readFileSync, writeFileSync } from "node:fs"; + +const { log, error } = console; + +/** + * Parse ENVS + */ +const SHOULD_DEPRECATE_VERSIONS: boolean = + process.env.DEPRECATE_VERSIONS === "true"; +const FILTER_BY_PACKAGE_NAME: string = process.env.FILTER_BY_PACKAGE_NAME ?? ""; + +/** + * Restricted tags that can be deprecated + */ +const DEPRECIABLE_TAGS: string[] = [ + ">=0.0.0-pr <0.0.1 || >=0.0.0-next <0.0.1 || >=0.0.0-master <0.0.1", +]; +const IGNORE_DIST_TAGS = ["latest", "next"]; + +/** + * Packages that are no longer published to npm + */ +const NO_LONGER_MAINTAINED_PACKAGES: string[] = [ + "@fuel-ts/merkle-shared", + "@fuel-ts/merklesum", + "@fuel-ts/sparsemerkle", + "@fuel-ts/providers", + "@fuel-ts/example-contract", + "@fuel-ts/wallet", + "@fuel-ts/typechain-target-fuels", + "@fuel-ts/testcases", + "@fuel-ts/wordlists", + "@fuel-ts/mnemonic", + "@fuel-ts/signer", + "@fuel-ts/hdwallet", + "@fuel-ts/constants", + "@fuel-ts/interfaces", + "@fuel-ts/keystore", + "@fuel-ts/wallet-manager", + "@fuel-ts/predicate", + "@fuel-ts/asm", + "@fuel-ts/fuel-core", + "@fuel-ts/forc", +]; + +const MAINTAINED_PACKAGES: string[] = globSync("**/package.json") + // Read in the package.json file + .map((fileName) => { + const packageJson = JSON.parse(readFileSync(fileName, "utf-8")); + return { + path: fileName, + contents: packageJson, + }; + }) + // Filter out private packages + .filter((pkg) => !pkg.contents.private) + .map((pkg) => pkg.contents.name); + +let allPackages: string[] = [ + ...MAINTAINED_PACKAGES, + ...NO_LONGER_MAINTAINED_PACKAGES, +]; + +// Only by using filter by package name, are we allowed to deprecate the no longer maintained packages +if (FILTER_BY_PACKAGE_NAME !== "") { + allPackages = allPackages.filter((pkg) => pkg === FILTER_BY_PACKAGE_NAME); + + // Ensure that we have found a package + if (allPackages.length === 0) { + error(`❌ No package found with name: ${FILTER_BY_PACKAGE_NAME}`); + process.exit(1); + } +} + +/** + * Construct the depreciable package and versions + */ +const deprecatePackageVersions = async (packages: string[]) => { + // Gather the depreciable package and versions + const depreciablePackageAndVersions = packages.flatMap((pkgName) => + DEPRECIABLE_TAGS.map((tag) => `${pkgName}@"${tag}"`), + ); + log( + "The following packages and versions will be deprecated\n", + depreciablePackageAndVersions.join("\n"), + "----------------------------------\n", + ); + + // Perform the deprecations of the packages and versions + for await (const packageAndVersion of depreciablePackageAndVersions) { + log(`Deprecating ${packageAndVersion}`); + + const dryRun = SHOULD_DEPRECATE_VERSIONS ? "" : "--dry-run "; + const deprecateCommand = `npm deprecate ${packageAndVersion} ${dryRun}"Version no longer supported."`; + + try { + const result = execSync(deprecateCommand); + log(`✅ Deprecated ${packageAndVersion}`); + log(result.toString()); + } catch (err) { + error(`❌ Error - unable to deprecate ${packageAndVersion}`); + error(err); + } + + // Wait for 1 second to avoid rate limiting + await new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, 1000); + }); + } +}; + +const deprecateDistTags = async (packages: string[]) => { + const packageDistTags = await Promise.all( + packages.map(async (packageName) => { + const resp = await fetch(`https://registry.npmjs.org/${packageName}`); + const data = await resp.json(); + return { packageName, distTags: Object.keys(data["dist-tags"] ?? {}) }; + }), + ); + + const packageDistTagsForRemoval = packageDistTags + .map((pkg) => ({ + ...pkg, + distTags: pkg.distTags.filter( + (distTag) => !IGNORE_DIST_TAGS.includes(distTag), + ), + })) + .filter((pkg) => pkg.distTags.length > 0) + .flatMap((pkg) => + // Format into the following format + // npm dist-tag rm + pkg.distTags.flatMap((distTag) => `${pkg.packageName} ${distTag}`), + ); + + // Log out all the dist tags for removal + log( + "The following dist tags will be removed\n", + packageDistTagsForRemoval.join("\n"), + "\n----------------------------------\n", + ); + + // Write out the dist tags for removal to a file + writeFileSync( + "package-dist-tags-for-removal.json", + JSON.stringify(packageDistTagsForRemoval, null, 2), + ); + + // If we are not deprecating the versions, then we can skip this step + if (!SHOULD_DEPRECATE_VERSIONS) { + return; + } + + for await (const packageAndDistTag of packageDistTagsForRemoval) { + log(`Removing dist tag ${packageAndDistTag}`); + + const removeDistTagCommand = `npm dist-tag rm ${packageAndDistTag}`; + log(removeDistTagCommand); + + try { + const result = execSync(removeDistTagCommand); + log(`✅ Removed dist tag ${packageAndDistTag}`); + log(result.toString()); + } catch (err) { + error(`❌ Error - unable to remove dist tag ${packageAndDistTag}`); + error(err); + } + + // Wait for 1 second to avoid rate limiting + await new Promise((resolve) => { + setTimeout(() => { + resolve(true); + }, 1000); + }); + } +}; + +await deprecatePackageVersions(allPackages); +await deprecateDistTags(allPackages); diff --git a/scripts/release-deprecate.ts b/scripts/release-deprecate.ts deleted file mode 100644 index 297fa01b620..00000000000 --- a/scripts/release-deprecate.ts +++ /dev/null @@ -1,102 +0,0 @@ -import { compare } from 'compare-versions'; -import { exec } from 'node:child_process'; -import { readFileSync, readdirSync } from 'node:fs'; -import { join } from 'node:path'; - -const { log, error } = console; - -const deprecateTags = /next|pr|rc/; -const { version: currentVersion } = JSON.parse( - readFileSync(join(process.cwd(), '/packages/fuels/package.json')).toString() -); -const SHOULD_DEPRECATE_VERSIONS: boolean = process.env.DEPRECATE_VERSIONS === 'true'; -const CHUNK_SIZE: number = process.env.CHUNK_SIZE ? parseInt(process.env.CHUNK_SIZE, 10) : 1000; -const FILTER_BY_PACKAGE_NAME: string = process.env.FILTER_BY_PACKAGE_NAME ?? ''; -const FILTER_BY_VERSION: string = process.env.FILTER_BY_VERSION ?? ''; - -const getPublicPackages = (): string[] => { - const packagesDir = join(__dirname, '../packages'); - const packages = readdirSync(packagesDir, { withFileTypes: true }); - const packagesNames = packages.map((p) => { - try { - const packageContent = readFileSync(join(packagesDir, p.name, 'package.json'), 'utf8'); - const packageJson = JSON.parse(packageContent.toString()); - return packageJson.private ? null : packageJson.name; - } catch (err) { - return null; - } - }); - return packagesNames.filter((p) => !!p); -}; - -const getVersionsToDeprecate = async (packageName: string): Promise => { - const { versions } = await fetch(`https://registry.npmjs.org/${packageName}`).then((resp) => - resp.json() - ); - - // Only deprecate certain tags - const validVersions = Object.keys(versions).filter( - (version) => version.search(deprecateTags) > -1 && !compare(version, currentVersion, '>=') - ); - - // Remove the latest next tag from the deprecation list - const latestNextVersion = validVersions.filter((version) => version.search('next') > -1).pop(); - return validVersions.filter((version) => version !== latestNextVersion); -}; - -const main = async () => { - let packages = getPublicPackages(); - if (FILTER_BY_PACKAGE_NAME !== '') { - packages = packages.filter((packageName) => packageName === FILTER_BY_PACKAGE_NAME); - } - - await Promise.allSettled( - packages.map(async (packageName) => { - const allVersions = await getVersionsToDeprecate(packageName); - - let versionsToDeprecate = allVersions.splice(0, CHUNK_SIZE); - if (FILTER_BY_VERSION !== '') { - versionsToDeprecate = versionsToDeprecate.filter( - (version) => version === FILTER_BY_VERSION - ); - } - - log('The following versions will be deprecated:'); - log(versionsToDeprecate.map((v) => ` - ${v}`).join('\n')); - - if (SHOULD_DEPRECATE_VERSIONS) { - await Promise.allSettled( - versionsToDeprecate.map( - async (versionToDelete) => - new Promise((resolve, reject) => { - exec( - `npm deprecate ${packageName}@${versionToDelete} "Version no longer supported."`, - (err, _stdout, stderr) => { - if (err) { - log(`❌ Error ${packageName}@${versionToDelete} not deprecated!\n`); - error(err); - reject(err); - return; - } - if (stderr) { - log(`❌ Error ${packageName}@${versionToDelete} not deprecated!\n`); - error(stderr); - reject(new Error(stderr)); - return; - } - log(`✅ Package ${packageName}@${versionToDelete} deprecated!\n`); - resolve(true); - } - ); - }) - ) - ); - } - }) - ); -}; - -main().catch((err) => { - error(err); - process.exit(1); -});