From 44326c0500f9aebdbc3d5aac6cbc4c18b7054b24 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 10:43:26 -0400 Subject: [PATCH 1/4] meta: bump turbo from 2.9.6 to 2.9.14 (#8912) Bumps [turbo](https://github.com/vercel/turborepo) from 2.9.6 to 2.9.14. - [Release notes](https://github.com/vercel/turborepo/releases) - [Changelog](https://github.com/vercel/turborepo/blob/main/RELEASE.md) - [Commits](https://github.com/vercel/turborepo/compare/v2.9.6...v2.9.14) --- updated-dependencies: - dependency-name: turbo dependency-version: 2.9.14 dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package.json | 2 +- pnpm-lock.yaml | 58 +++++++++++++++++++++++++------------------------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/package.json b/package.json index 4635ed307b670..50d1519e92c78 100644 --- a/package.json +++ b/package.json @@ -37,7 +37,7 @@ "dependencies": { "husky": "9.1.7", "lint-staged": "16.4.0", - "turbo": "2.9.6" + "turbo": "2.9.14" }, "devDependencies": { "@eslint/js": "~10.0.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 287d663b67409..fe3319cb8e5a7 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -39,8 +39,8 @@ importers: specifier: 16.4.0 version: 16.4.0 turbo: - specifier: 2.9.6 - version: 2.9.6 + specifier: 2.9.14 + version: 2.9.14 devDependencies: '@eslint/js': specifier: ~10.0.1 @@ -3757,33 +3757,33 @@ packages: '@tsconfig/node18@1.0.3': resolution: {integrity: sha512-RbwvSJQsuN9TB04AQbGULYfOGE/RnSFk/FLQ5b0NmDf5Kx2q/lABZbHQPKCO1vZ6Fiwkplu+yb9pGdLy1iGseQ==} - '@turbo/darwin-64@2.9.6': - resolution: {integrity: sha512-X/56SnVXIQZBLKwniGTwEQTGmtE5brSACnKMBWpY3YafuxVYefrC2acamfjgxP7BG5w3I+6jf0UrLoSzgPcSJg==} + '@turbo/darwin-64@2.9.14': + resolution: {integrity: sha512-t7QiPflaEyBE4oayeZtSmu4mEfjgIrcNlNNl1z1dmIVPqEdtA7+CfTf8d7KXsOGPh6aNgWjKxyvQg9uGfDQF+A==} cpu: [x64] os: [darwin] - '@turbo/darwin-arm64@2.9.6': - resolution: {integrity: sha512-aalBeSl4agT/QtYGDyf/XLajedWzUC9Vg/pm/YO6QQ93vkQ91Vz5uK1ta5RbVRDozQSz4njxUNqRNmOXDzW+qw==} + '@turbo/darwin-arm64@2.9.14': + resolution: {integrity: sha512-d23147mC9BsCPA9mJ0h/ubcpbRgcJBXbcG3+Vq7YLhjz3IXuvQsJ1UXH8f4MD76ZjJ4m/E4aRdJV+MW88CDfbw==} cpu: [arm64] os: [darwin] - '@turbo/linux-64@2.9.6': - resolution: {integrity: sha512-YKi05jnNHaD7vevgYwahpzGwbsNNTwzU2c7VZdmdFm7+cGDP4oREUWSsainiMfRqjRuolQxBwRn8wf1jmu+YZA==} + '@turbo/linux-64@2.9.14': + resolution: {integrity: sha512-P3ZKB5tuUDdDQWuAsACGUR1qv9W7BNWxdxqVJ0kZNuNNPRaVYTPPikLcp79+GiEcW3npsR+KyP38lnQiBc5aSA==} cpu: [x64] os: [linux] - '@turbo/linux-arm64@2.9.6': - resolution: {integrity: sha512-02o/ZS69cOYEDczXvOB2xmyrtzjQ2hVFtWZK1iqxXUfzMmTjZK4UumrfNnjckSg+gqeBfnPRHa0NstA173Ik3g==} + '@turbo/linux-arm64@2.9.14': + resolution: {integrity: sha512-ZRTlzcUMrrPv9ZuDzRF9n60Ym13bKeG9jDB8WjxyLhWNzV+AJQN+zdpIk3NJYf2zQsGUm1mNar2P0elRzLw25g==} cpu: [arm64] os: [linux] - '@turbo/windows-64@2.9.6': - resolution: {integrity: sha512-wVdQjvnBI15wB6JrA+43CtUtagjIMmX6XYO758oZHAsCNSxqRlJtdyujih0D8OCnwCRWiGWGI63zAxR0hO6s9g==} + '@turbo/windows-64@2.9.14': + resolution: {integrity: sha512-exanwN6sIduZwykYeiTQj8kCmOhazP5WOz3bvXMcYtjhL6Z3iRWLewKrXCBq0bqwSP3iBMb/AerRCnHI4lx46A==} cpu: [x64] os: [win32] - '@turbo/windows-arm64@2.9.6': - resolution: {integrity: sha512-1XUUyWW0W6FTSqGEhU8RHVqb2wP1SPkr7hIvBlMEwH9jr+sJQK5kqeosLJ/QaUv4ecSAd1ZhIrLoW7qslAzT4A==} + '@turbo/windows-arm64@2.9.14': + resolution: {integrity: sha512-fVdCsnmYoKICsycbWuuGp6Jvi51/3G/UluFWuAUCvR8PIW5IJkAk5BM9UF8PSm0Q2IphWHFZjYEgjHsh3B9y/g==} cpu: [arm64] os: [win32] @@ -8186,8 +8186,8 @@ packages: resolution: {integrity: sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==} engines: {node: '>=0.6.11 <=0.7.0 || >=0.7.3'} - turbo@2.9.6: - resolution: {integrity: sha512-+v2QJey7ZUeUiuigkU+uFfklvNUyPI2VO2vBpMYJA+a1hKFLFiKtUYlRHdb3P9CrAvMzi0upbjI4WT+zKtqkBg==} + turbo@2.9.14: + resolution: {integrity: sha512-BQqXRr4UoWI3UPFrtznCLykYHxwxWh53iCB57x092jPMjIlW1wnm3N895g5irpiXmnxUhREBB0n6+y8BHhs4nw==} hasBin: true twoslash-protocol@0.3.8: @@ -12563,22 +12563,22 @@ snapshots: '@tsconfig/node18@1.0.3': {} - '@turbo/darwin-64@2.9.6': + '@turbo/darwin-64@2.9.14': optional: true - '@turbo/darwin-arm64@2.9.6': + '@turbo/darwin-arm64@2.9.14': optional: true - '@turbo/linux-64@2.9.6': + '@turbo/linux-64@2.9.14': optional: true - '@turbo/linux-arm64@2.9.6': + '@turbo/linux-arm64@2.9.14': optional: true - '@turbo/windows-64@2.9.6': + '@turbo/windows-64@2.9.14': optional: true - '@turbo/windows-arm64@2.9.6': + '@turbo/windows-arm64@2.9.14': optional: true '@tybys/wasm-util@0.10.1': @@ -18207,14 +18207,14 @@ snapshots: tunnel@0.0.6: {} - turbo@2.9.6: + turbo@2.9.14: optionalDependencies: - '@turbo/darwin-64': 2.9.6 - '@turbo/darwin-arm64': 2.9.6 - '@turbo/linux-64': 2.9.6 - '@turbo/linux-arm64': 2.9.6 - '@turbo/windows-64': 2.9.6 - '@turbo/windows-arm64': 2.9.6 + '@turbo/darwin-64': 2.9.14 + '@turbo/darwin-arm64': 2.9.14 + '@turbo/linux-64': 2.9.14 + '@turbo/linux-arm64': 2.9.14 + '@turbo/windows-64': 2.9.14 + '@turbo/windows-arm64': 2.9.14 twoslash-protocol@0.3.8: {} From 5bf21e86ca79fd9fb80deecd60b110e5ec19f8b9 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 27 May 2026 14:50:27 +0000 Subject: [PATCH 2/4] meta: bump @eslint-react/eslint-plugin from 3.0.0 to 5.7.5 (#8873) meta: bump @eslint-react/eslint-plugin from 3.0.0 to 5.8.6 Co-authored-by: avivkeller --- apps/site/components/Common/FormattedTime.tsx | 2 +- .../Downloads/Release/ReleaseCodeBox.tsx | 2 +- apps/site/components/withMetaBar.tsx | 2 +- apps/site/package.json | 2 +- packages/ui-components/package.json | 2 +- pnpm-lock.yaml | 480 +++++++++--------- 6 files changed, 248 insertions(+), 242 deletions(-) diff --git a/apps/site/components/Common/FormattedTime.tsx b/apps/site/components/Common/FormattedTime.tsx index 3b8aea40770d0..775fed96e4824 100644 --- a/apps/site/components/Common/FormattedTime.tsx +++ b/apps/site/components/Common/FormattedTime.tsx @@ -14,7 +14,7 @@ const FormattedTime: FC = ({ date, format }) => { const formatter = useFormatter(); // "date" is deterministic - // eslint-disable-next-line @eslint-react/purity + const dateObject = new Date(date); return ( diff --git a/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx b/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx index 11694415fd116..829131d7ceed5 100644 --- a/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx +++ b/apps/site/components/Downloads/Release/ReleaseCodeBox.tsx @@ -164,7 +164,7 @@ const ReleaseCodeBox: FC = () => { {/* Code display with skeleton loading */} - {/* eslint-disable-next-line @eslint-react/dom/no-dangerously-set-innerhtml */} + {/* eslint-disable-next-line @eslint-react/dom-no-dangerously-set-innerhtml */} diff --git a/apps/site/components/withMetaBar.tsx b/apps/site/components/withMetaBar.tsx index 4c1eb322cdb97..64b796734972a 100644 --- a/apps/site/components/withMetaBar.tsx +++ b/apps/site/components/withMetaBar.tsx @@ -20,7 +20,7 @@ const WithMetaBar: FC = () => { const formatter = useFormatter(); const lastUpdated = frontmatter.date ? // "frontmatter.date" is deterministic - // eslint-disable-next-line @eslint-react/purity + formatter.dateTime(new Date(frontmatter.date), DEFAULT_DATE_FORMAT) : undefined; const readingTimeText = formatter.number(readingTime.minutes, { diff --git a/apps/site/package.json b/apps/site/package.json index e0b7e262917b2..cdef3ecf213fa 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -79,7 +79,7 @@ }, "devDependencies": { "@cloudflare/workers-types": "^4.20260418.1", - "@eslint-react/eslint-plugin": "~3.0.0", + "@eslint-react/eslint-plugin": "~5.8.6", "@flarelabs-net/wrangler-build-time-fs-assets-polyfilling": "^0.0.1", "@next/eslint-plugin-next": "16.2.4", "@node-core/remark-lint": "workspace:*", diff --git a/packages/ui-components/package.json b/packages/ui-components/package.json index c5c5df1666c42..7ab577c845941 100644 --- a/packages/ui-components/package.json +++ b/packages/ui-components/package.json @@ -65,7 +65,7 @@ "typescript": "catalog:" }, "devDependencies": { - "@eslint-react/eslint-plugin": "~3.0.0", + "@eslint-react/eslint-plugin": "~5.8.6", "@orama/core": "^1.2.19", "@storybook/addon-styling-webpack": "~3.0.2", "@storybook/addon-themes": "~10.3.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fe3319cb8e5a7..48eb0ea616a9f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -59,10 +59,10 @@ importers: version: 10.2.1(jiti@2.7.0) eslint-import-resolver-typescript: specifier: ~4.4.4 - version: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)) + version: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)) eslint-plugin-import-x: specifier: ~4.16.2 - version: 4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)) + version: 4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)) globals: specifier: ^17.5.0 version: 17.5.0 @@ -221,8 +221,8 @@ importers: specifier: ^4.20260418.1 version: 4.20260422.1 '@eslint-react/eslint-plugin': - specifier: ~3.0.0 - version: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + specifier: ~5.8.6 + version: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) '@flarelabs-net/wrangler-build-time-fs-assets-polyfilling': specifier: ^0.0.1 version: 0.0.1 @@ -530,8 +530,8 @@ importers: version: 5.9.3 devDependencies: '@eslint-react/eslint-plugin': - specifier: ~3.0.0 - version: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + specifier: ~5.8.6 + version: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) '@orama/core': specifier: ^1.2.19 version: 1.2.19 @@ -1610,39 +1610,53 @@ packages: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint-react/ast@3.0.0': - resolution: {integrity: sha512-qBasEJqMhcof/pbxhKSgp52rW9TMUMVIYqv3SOgSzvDG3bed+saWFXOQ+YFMj/o5gr/e6Dsi3mAHqErPzJHelA==} + '@eslint-react/ast@5.8.6': + resolution: {integrity: sha512-ljmeY400BMd1kVJ91xO1ZuzYrRDKLYQVdVVGEYhIsO4R7Yv9c6Vv0RPTUmFP+/PhGGEHVviLTwPLWd98gosVCg==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - '@eslint-react/core@3.0.0': - resolution: {integrity: sha512-PKa13GrqUAilcvcONJMN8BukuVg3dHuaTxjNBdKOHGxkMexCxDF9hjNHBILErJhFs1kGaJPBK9QUYQci8PV/TA==} + '@eslint-react/core@5.8.6': + resolution: {integrity: sha512-pjOFxNJ2VlIJxARS9Xd5l+E6IT2gMzWsaJSAfuASaMZNIicwT+tBWrbfg6BpJnaZbtREvcApRIzJ8fwhx5NdQw==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - '@eslint-react/eslint-plugin@3.0.0': - resolution: {integrity: sha512-OK8rBrsM/bUr0L918hQ1tWAufz22+m0L6gpSrW3Z/7NSg/imy17IiZHO8UVT99sgcx9euKYAT+QIx45sZUYf1g==} + '@eslint-react/eslint-plugin@5.8.6': + resolution: {integrity: sha512-Y8Z3J/fuBW3Xtc+6GyCfV+Nv6aeLJM+Rq1UjzVlotY5DQVv4cYHOFk4O7tEwJeaSOhrxOFhH6ZbguR6xtYz59g==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - '@eslint-react/shared@3.0.0': - resolution: {integrity: sha512-oHELwh3FghrMc5UX+4qVEdY7ZLZsO4bgKDVv5i6yk8+/997xe6LAY2wailbeljbIJxppcJSl6eXcRl2yv6ffig==} + '@eslint-react/eslint@5.8.6': + resolution: {integrity: sha512-Q/G3X7gPWUKSVbXp8Y1YjQv/p3IVs9IqnYU1vtV95xEF+03NYTDdsLp7959tVB4EoFVEsDrQKE8vVSWFIpioYg==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - '@eslint-react/var@3.0.0': - resolution: {integrity: sha512-Af/7GEZfXtc9jV1i/Uqfko40Gr256YXDZR9CG6mxROOUOMRYIaBPf3K7oLCnwiKVZXiFJ5qYGLEs6HoG8Ifrjw==} + '@eslint-react/jsx@5.8.6': + resolution: {integrity: sha512-AedR5MbCCJtCgkhTFg9/ZjVbqQI/TUOwNRl2QhUetqIhn2dWBdg8lHXDFDaG67EK8DX3eO9X9Zdgkj5ufvG8KQ==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 + typescript: '*' + + '@eslint-react/shared@5.8.6': + resolution: {integrity: sha512-57fz6wA234iV7tGNKVfcDzsClu/r+Il/gAzwMCqqsWSCBzyaYGfXMp1c9HEGGPtymkPTCMDTDEZVPQhSEmSlgA==} + engines: {node: '>=22.0.0'} + peerDependencies: + eslint: ^10.3.0 + typescript: '*' + + '@eslint-react/var@5.8.6': + resolution: {integrity: sha512-Ygxh4W8Fj4rIKQ1lxhmpI97qQSVTjaystQFawiRGIvfsAkumwXOEzGv90zGFcrE7osTD9feCZD0pCcLoeiMLAg==} + engines: {node: '>=22.0.0'} + peerDependencies: + eslint: ^10.3.0 typescript: '*' '@eslint/config-array@0.23.5': @@ -3916,20 +3930,14 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.58.0': - resolution: {integrity: sha512-8Q/wBPWLQP1j16NxoPNIKpDZFMaxl7yWIoqXWYeWO+Bbd2mjgvoF0dxP2jKZg5+x49rgKdf7Ck473M8PC3V9lg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.1': resolution: {integrity: sha512-+MuHQlHiEr00Of/IQbE/MmEoi44znZHbR/Pz7Opq4HryUOlRi+/44dro9Ycy8Fyo+/024IWtw8m4JUMCGTYxDg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/project-service@8.59.2': - resolution: {integrity: sha512-+2hqvEkeyf/0FBor67duF0Ll7Ot8jyKzDQOSrxazF/danillRq2DwR9dLptsXpoZQqxE1UisSmoZewrlPas9Vw==} + '@typescript-eslint/project-service@8.60.0': + resolution: {integrity: sha512-aZu74NNKJeUWqCjDddzdiKaS82dgYgV/vmf+Ui3ZdZejmgfXR/q+pRumgobnQ2cCJTgGTWp4ypiwsuofFubavg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -3938,26 +3946,20 @@ packages: resolution: {integrity: sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.58.0': - resolution: {integrity: sha512-W1Lur1oF50FxSnNdGp3Vs6P+yBRSmZiw4IIjEeYxd8UQJwhUF0gDgDD/W/Tgmh73mxgEU3qX0Bzdl/NGuSPEpQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.59.1': resolution: {integrity: sha512-LwuHQI4pDOYVKvmH2dkaJo6YZCSgouVgnS/z7yBPKBMvgtBvyLqiLy9Z6b7+m/TRcX1NFYUqZetI5Y+aT4GEfg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.60.0': + resolution: {integrity: sha512-pFzqhllJMs+jghLQWzV00ds39xLzuyqPSev5pd8f4Ir0rtKR3ZLUB4/4dhjOFighWb9larvtfJvqL+4yKDI3Xw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/tsconfig-utils@8.54.0': resolution: {integrity: sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.58.0': - resolution: {integrity: sha512-doNSZEVJsWEu4htiVC+PR6NpM+pa+a4ClH9INRWOWCUzMst/VA9c4gXq92F8GUD1rwhNvRLkgjfYtFXegXQF7A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/tsconfig-utils@8.59.1': resolution: {integrity: sha512-/0nEyPbX7gRsk0Uwfe4ALwwgxuA66d/l2mhRDNlAvaj4U3juhUtJNq0DsY8M2AYwwb9rEq2hrC3IcIcEt++iJA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -3970,11 +3972,10 @@ packages: peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/type-utils@8.58.0': - resolution: {integrity: sha512-aGsCQImkDIqMyx1u4PrVlbi/krmDsQUs4zAcCV6M7yPcPev+RqVlndsJy9kJ8TLihW9TZ0kbDAzctpLn5o+lOg==} + '@typescript-eslint/tsconfig-utils@8.60.0': + resolution: {integrity: sha512-BZPR3RGYlAXnly6ymAxfkVn5rCbZzQNou0rxv3GfWZ8cTQp+hhVd73khbGLAd8k1TlAPLISH337M+tAgAnaJDQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' '@typescript-eslint/type-utils@8.59.1': @@ -3984,6 +3985,13 @@ packages: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/type-utils@8.60.0': + resolution: {integrity: sha512-SX46wEUtitCpq7AN38HkUU/+zvUpdKf7ephtWAFgckH8O7PQIyL5gvrhQgBLuEYgLfuKWOVvWVskMbuFHAz5xg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/types@8.54.0': resolution: {integrity: sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -4000,26 +4008,24 @@ packages: resolution: {integrity: sha512-e82GVOE8Ps3E++Egvb6Y3Dw0S10u8NkQ9KXmtRhCWJJ8kDhOJTvtMAWnFL16kB1583goCWXsr0NieKCZMs2/0Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.60.0': + resolution: {integrity: sha512-AsE7x2XaAK+CVbeih0Fvbn+r1qHxtpLDJ3XUuFcIinT318T90yHMJC+Zgv+jUuDjQQd06HKwxnDu6sz1IcTilA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@8.54.0': resolution: {integrity: sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.58.0': - resolution: {integrity: sha512-7vv5UWbHqew/dvs+D3e1RvLv1v2eeZ9txRHPnEEBUgSNLx5ghdzjHa0sgLWYVKssH+lYmV0JaWdoubo0ncGYLA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@8.59.1': resolution: {integrity: sha512-OUd+vJS05sSkOip+BkZ/2NS8RMxrAAJemsC6vU3kmfLyeaJT0TftHkV9mcx2107MmsBVXXexhVu4F0TZXyMl4g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/typescript-estree@8.59.2': - resolution: {integrity: sha512-o0XPGNwcWw+FIwStOWn+BwBuEmL6QXP0rsvAFg7ET1dey1Nr6Wb1ac8p5HEsK0ygO/6mUxlk+YWQD9xcb/nnXg==} + '@typescript-eslint/typescript-estree@8.60.0': + resolution: {integrity: sha512-3AcZNBGMClm6CXDyo8kYvVGT/sx29sS0oBsIb9oZI2gunA4Vm2M3YHzRLPvsUBBsl+yB5FPtltq7gGH0iTlp9g==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.1.0' @@ -4031,15 +4037,15 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.58.0': - resolution: {integrity: sha512-RfeSqcFeHMHlAWzt4TBjWOAtoW9lnsAGiP3GbaX9uVgTYYrMbVnGONEfUCiSss+xMHFl+eHZiipmA8WkQ7FuNA==} + '@typescript-eslint/utils@8.59.1': + resolution: {integrity: sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: '>=4.8.4 <6.1.0' - '@typescript-eslint/utils@8.59.1': - resolution: {integrity: sha512-3pIeoXhCeYH9FSCBI8P3iNwJlGuzPlYKkTlen2O9T1DSeeg8UG8jstq6BLk+Mda0qup7mgk4z4XL4OzRaxZ8LA==} + '@typescript-eslint/utils@8.60.0': + resolution: {integrity: sha512-HtXuPfrHTyBDkameWpl+vJb1Uevu2tznAyahM1Oc4AENidCLTPiZDWIo4GfcxNdC/RcfGcadzzkqbRG87dUrQA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 @@ -4049,16 +4055,12 @@ packages: resolution: {integrity: sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.58.0': - resolution: {integrity: sha512-XJ9UD9+bbDo4a4epraTwG3TsNPeiB9aShrUneAVXy8q4LuwowN+qu89/6ByLMINqvIMeI9H9hOHQtg/ijrYXzQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.59.1': resolution: {integrity: sha512-LdDNl6C5iJExcM0Yh0PwAIBb9PrSiCsWamF/JyEZawm3kFDnRoaq3LGE4bpyRao/fWeGKKyw7icx0YxrLFC5Cg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.59.2': - resolution: {integrity: sha512-NwjLUnGy8/Zfx23fl50tRC8rYaYnM52xNRYFAXvmiil9yh1+K6aRVQMnzW6gQB/1DLgWt977lYQn7C+wtgXZiA==} + '@typescript-eslint/visitor-keys@8.60.0': + resolution: {integrity: sha512-9WI52t8ZGLVGrPMBet25yAftqY/n95+zmoUUtJBBQTKDSKUu7OsPTroT2op7U9JatkoRccL0YkWDNMFfC4Sjxg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript/vfs@1.6.4': @@ -5218,11 +5220,11 @@ packages: peerDependencies: eslint: '>=8.0.0' - eslint-plugin-react-dom@3.0.0: - resolution: {integrity: sha512-NhxPJSGZzR/bW02wop2whWXYKE8ZLZ9JupC5MWRq1AdM+Z84jnUU8c+eobiRzIhy2OupEjKcB8TaqHuQ+3sVoQ==} + eslint-plugin-react-dom@5.8.6: + resolution: {integrity: sha512-kIvoBlh7hWibB//nTUxzKfix9hEiQFaJBrJyPocFD6mIrLSPWNPo8uiP6LILh3ZFoiOBnIBIaZT3+RIJf87Y0Q==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' eslint-plugin-react-hooks@7.1.1: @@ -5231,32 +5233,39 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0 || ^10.0.0 - eslint-plugin-react-naming-convention@3.0.0: - resolution: {integrity: sha512-pAtOZST5/NhWIa/I5yz7H1HEZTtCY7LHMhzmN9zvaOdTWyZYtz2g9pxPRDBnkR9uSmHsNt44gj+2JSAD4xwgew==} + eslint-plugin-react-jsx@5.8.6: + resolution: {integrity: sha512-/CRASg/W468dcdYNamLUWWRWkeklUJEKcwQwCaED7OJzKbcdIoyAa5KKhTQk4v+x1SG++kFcDv1DyjciKKRiVA==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - eslint-plugin-react-rsc@3.0.0: - resolution: {integrity: sha512-HNP1hVO63WsV4wcXxPJJIcnYrvrN5UZyrXIbDOoCNA0axSXjJ6vA63tI2JHgyGcMTdbKxDJwaVd/dJlMudSZBQ==} - engines: {node: '>=20.19.0'} + eslint-plugin-react-naming-convention@5.8.6: + resolution: {integrity: sha512-KIfyEJpzkVuIU5hiHsTmwLAhwUr15sxJLVmkaL3lc0BoC//bVPP47HN6YqtIp4gXOcfMlKBGMqhGT9sJtYqdkQ==} + engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - eslint-plugin-react-web-api@3.0.0: - resolution: {integrity: sha512-DZZh9DkZp/BE5ibaDOXaV4p8rEuMNnoPkCvAlyifB/Gz6ZhHonFRTpg+PEK6et8sx6uroUfhy5QGducmZU8Oug==} + eslint-plugin-react-rsc@5.8.6: + resolution: {integrity: sha512-vnjzqA2CNEInyuOuv3h7UpMeW2X1t4l/DteBeMYMz2Oi6TdP0XJVcJIKawlT8fv9dsZqqnbqh8xl7gGrraSQYA==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 typescript: '*' - eslint-plugin-react-x@3.0.0: - resolution: {integrity: sha512-W8QGWk03iqj6EiOhQk2SrrnaiTb2RZFREg1YXgYAh2/zyFztHHnNz4LTeSN+6gFwWDypMFzuFF6uoHO/1KY0Yw==} + eslint-plugin-react-web-api@5.8.6: + resolution: {integrity: sha512-CLsnMoV4i98Y7531jbmH1/wJelxcJNb1yQnZVQMyJKXJZiboG7FulvtktWW1jDlnqbzm2LdU6EgB0g8Jzu0o1w==} engines: {node: '>=22.0.0'} peerDependencies: - eslint: ^10.0.0 + eslint: ^10.3.0 + typescript: '*' + + eslint-plugin-react-x@5.8.6: + resolution: {integrity: sha512-DU2ocHio2TvYS4zI1q2XECiDlK9tD4bP7fOtMXelyuijP5Ao5O8dh3fPVW0DoNR2dntlX47mh8DEPXlCJVcM6A==} + engines: {node: '>=22.0.0'} + peerDependencies: + eslint: ^10.3.0 typescript: '*' eslint-plugin-react@7.37.5: @@ -8145,12 +8154,6 @@ packages: trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} - ts-api-utils@2.4.0: - resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - ts-api-utils@2.5.0: resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} engines: {node: '>=18.12'} @@ -9928,52 +9931,73 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint-react/ast@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@eslint-react/ast@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.59.2 - '@typescript-eslint/typescript-estree': 8.59.2(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) string-ts: 2.3.1 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@eslint-react/core@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@eslint-react/core@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.59.1 - '@typescript-eslint/types': 8.59.2 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/jsx': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) ts-pattern: 5.9.0 typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@eslint-react/eslint-plugin@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@eslint-react/eslint-plugin@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/type-utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) - eslint-plugin-react-dom: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-react-naming-convention: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-react-rsc: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-react-web-api: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - eslint-plugin-react-x: 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - ts-api-utils: 2.4.0(typescript@5.9.3) + eslint-plugin-react-dom: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-jsx: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-naming-convention: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-rsc: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-web-api: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-x: 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@eslint-react/shared@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@eslint-react/eslint@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint: 10.2.1(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@eslint-react/jsx@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint: 10.2.1(jiti@2.7.0) + ts-pattern: 5.9.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@eslint-react/shared@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) ts-pattern: 5.9.0 typescript: 5.9.3 @@ -9981,13 +10005,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint-react/var@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@eslint-react/var@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.59.1 - '@typescript-eslint/types': 8.59.2 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) ts-pattern: 5.9.0 typescript: 5.9.3 @@ -12739,15 +12763,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.58.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3) - '@typescript-eslint/types': 8.59.2 - debug: 4.4.3 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/project-service@8.59.1(typescript@5.9.3)': dependencies: '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3) @@ -12757,10 +12772,10 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.59.2(typescript@5.9.3)': + '@typescript-eslint/project-service@8.60.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3) - '@typescript-eslint/types': 8.59.2 + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 debug: 4.4.3 typescript: 5.9.3 transitivePeerDependencies: @@ -12771,21 +12786,17 @@ snapshots: '@typescript-eslint/types': 8.54.0 '@typescript-eslint/visitor-keys': 8.54.0 - '@typescript-eslint/scope-manager@8.58.0': - dependencies: - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 - '@typescript-eslint/scope-manager@8.59.1': dependencies: '@typescript-eslint/types': 8.59.1 '@typescript-eslint/visitor-keys': 8.59.1 - '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.9.3)': + '@typescript-eslint/scope-manager@8.60.0': dependencies: - typescript: 5.9.3 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 - '@typescript-eslint/tsconfig-utils@8.58.0(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.54.0(typescript@5.9.3)': dependencies: typescript: 5.9.3 @@ -12797,11 +12808,15 @@ snapshots: dependencies: typescript: 5.9.3 - '@typescript-eslint/type-utils@8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/tsconfig-utils@8.60.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) - '@typescript-eslint/utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + typescript: 5.9.3 + + '@typescript-eslint/type-utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/typescript-estree': 8.59.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) debug: 4.4.3 eslint: 10.2.1(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@5.9.3) @@ -12809,11 +12824,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/type-utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/type-utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: - '@typescript-eslint/types': 8.59.1 - '@typescript-eslint/typescript-estree': 8.59.1(typescript@5.9.3) - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) debug: 4.4.3 eslint: 10.2.1(jiti@2.7.0) ts-api-utils: 2.5.0(typescript@5.9.3) @@ -12829,6 +12844,8 @@ snapshots: '@typescript-eslint/types@8.59.2': {} + '@typescript-eslint/types@8.60.0': {} + '@typescript-eslint/typescript-estree@8.54.0(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.54.0(typescript@5.9.3) @@ -12844,21 +12861,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.58.0(typescript@5.9.3)': - dependencies: - '@typescript-eslint/project-service': 8.58.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.58.0(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/visitor-keys': 8.58.0 - debug: 4.4.3 - minimatch: 10.2.5 - semver: 7.7.4 - tinyglobby: 0.2.16 - ts-api-utils: 2.5.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - '@typescript-eslint/typescript-estree@8.59.1(typescript@5.9.3)': dependencies: '@typescript-eslint/project-service': 8.59.1(typescript@5.9.3) @@ -12874,12 +12876,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@8.59.2(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.60.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.59.2(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.59.2(typescript@5.9.3) - '@typescript-eslint/types': 8.59.2 - '@typescript-eslint/visitor-keys': 8.59.2 + '@typescript-eslint/project-service': 8.60.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.60.0(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/visitor-keys': 8.60.0 debug: 4.4.3 minimatch: 10.2.5 semver: 7.7.4 @@ -12900,23 +12902,23 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/typescript-estree': 8.58.0(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.59.1 + '@typescript-eslint/types': 8.59.1 + '@typescript-eslint/typescript-estree': 8.59.1(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': + '@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.2.1(jiti@2.7.0)) - '@typescript-eslint/scope-manager': 8.59.1 - '@typescript-eslint/types': 8.59.1 - '@typescript-eslint/typescript-estree': 8.59.1(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) typescript: 5.9.3 transitivePeerDependencies: @@ -12927,19 +12929,14 @@ snapshots: '@typescript-eslint/types': 8.54.0 eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.58.0': - dependencies: - '@typescript-eslint/types': 8.58.0 - eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.59.1': dependencies: '@typescript-eslint/types': 8.59.1 eslint-visitor-keys: 5.0.1 - '@typescript-eslint/visitor-keys@8.59.2': + '@typescript-eslint/visitor-keys@8.60.0': dependencies: - '@typescript-eslint/types': 8.59.2 + '@typescript-eslint/types': 8.60.0 eslint-visitor-keys: 5.0.1 '@typescript/vfs@1.6.4(typescript@5.9.3)': @@ -14155,7 +14152,7 @@ snapshots: - supports-color optional: true - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)): dependencies: debug: 4.4.3 eslint: 10.2.1(jiti@2.7.0) @@ -14166,8 +14163,8 @@ snapshots: tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: 2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)) - eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)) + eslint-plugin-import: 2.32.0(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)) + eslint-plugin-import-x: 4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)) transitivePeerDependencies: - supports-color @@ -14192,18 +14189,19 @@ snapshots: - bluebird - supports-color - eslint-module-utils@2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)): dependencies: debug: 3.2.7 optionalDependencies: + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)))(eslint-plugin-import@2.32.0)(eslint@10.2.1(jiti@2.7.0)) transitivePeerDependencies: - supports-color optional: true - eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)): + eslint-plugin-import-x@4.16.2(@typescript-eslint/utils@8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint@10.2.1(jiti@2.7.0)): dependencies: '@package-json/types': 0.0.12 '@typescript-eslint/types': 8.58.0 @@ -14217,12 +14215,12 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint-import-resolver-node: 0.3.9 transitivePeerDependencies: - supports-color - eslint-plugin-import@2.32.0(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)): + eslint-plugin-import@2.32.0(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.9 @@ -14233,7 +14231,7 @@ snapshots: doctrine: 2.1.0 eslint: 10.2.1(jiti@2.7.0) eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.1(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@4.4.4)(eslint@10.2.1(jiti@2.7.0)) hasown: 2.0.3 is-core-module: 2.16.2 is-glob: 4.0.3 @@ -14244,6 +14242,8 @@ snapshots: semver: 6.3.1 string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 + optionalDependencies: + '@typescript-eslint/parser': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -14268,18 +14268,16 @@ snapshots: - remark-lint-file-extension - supports-color - eslint-plugin-react-dom@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-react-dom@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/core': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/jsx': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) compare-versions: 6.1.1 eslint: 10.2.1(jiti@2.7.0) - ts-pattern: 5.9.0 typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -14295,48 +14293,57 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-naming-convention@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-react-jsx@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/core': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/type-utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - compare-versions: 6.1.1 + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/core': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/jsx': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) - string-ts: 2.3.1 - ts-pattern: 5.9.0 typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-rsc@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-react-naming-convention@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/type-utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/core': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) eslint: 10.2.1(jiti@2.7.0) ts-pattern: 5.9.0 typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-web-api@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + eslint-plugin-react-rsc@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/core': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/core': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint: 10.2.1(jiti@2.7.0) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + eslint-plugin-react-web-api@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/core': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) birecord: 0.1.1 eslint: 10.2.1(jiti@2.7.0) ts-pattern: 5.9.0 @@ -14344,20 +14351,23 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-x@3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): - dependencies: - '@eslint-react/ast': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/core': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/shared': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@eslint-react/var': 3.0.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/scope-manager': 8.58.0 - '@typescript-eslint/type-utils': 8.58.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) - '@typescript-eslint/types': 8.58.0 - '@typescript-eslint/utils': 8.59.1(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + eslint-plugin-react-x@5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3): + dependencies: + '@eslint-react/ast': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/core': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/eslint': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/jsx': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/shared': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@eslint-react/var': 5.8.6(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.60.0 + '@typescript-eslint/type-utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) + '@typescript-eslint/types': 8.60.0 + '@typescript-eslint/typescript-estree': 8.60.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.60.0(eslint@10.2.1(jiti@2.7.0))(typescript@5.9.3) compare-versions: 6.1.1 eslint: 10.2.1(jiti@2.7.0) string-ts: 2.3.1 - ts-api-utils: 2.4.0(typescript@5.9.3) + ts-api-utils: 2.5.0(typescript@5.9.3) ts-pattern: 5.9.0 typescript: 5.9.3 transitivePeerDependencies: @@ -18168,10 +18178,6 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.4.0(typescript@5.9.3): - dependencies: - typescript: 5.9.3 - ts-api-utils@2.5.0(typescript@5.9.3): dependencies: typescript: 5.9.3 From 4f469fb6e39aca6f6e7098507493c3da2ec4e1ef Mon Sep 17 00:00:00 2001 From: Dario Piotrowicz Date: Wed, 27 May 2026 15:59:14 +0100 Subject: [PATCH 3/4] feat: enable Twoslash on Cloudflare (#8837) * feat: enable Twoslash on Cloudflare * move `createTwoslasher` to its own file * Simplify imports -- remove Promise.all and .then() * Simplify generate.mjs using @typescript/vfs --- .gitignore | 3 + apps/site/mdx/create-vfs-twoslasher.mjs | 30 ++++++ apps/site/mdx/plugins.mjs | 12 ++- apps/site/package.json | 4 +- apps/site/scripts/twoslash-fsmap/generate.mjs | 66 +++++++++++++ apps/site/scripts/twoslash-fsmap/index.mjs | 15 +++ apps/site/turbo.json | 8 +- .../src/transformers/twoslash/index.mjs | 95 ++++++++++++------- pnpm-lock.yaml | 3 + 9 files changed, 196 insertions(+), 40 deletions(-) create mode 100644 apps/site/mdx/create-vfs-twoslasher.mjs create mode 100644 apps/site/scripts/twoslash-fsmap/generate.mjs create mode 100644 apps/site/scripts/twoslash-fsmap/index.mjs diff --git a/.gitignore b/.gitignore index f461599c85893..d5f3106348e6b 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,9 @@ apps/site/build apps/site/public/blog-data.json apps/site/next-env.d.ts +# Generated Build Artifacts +apps/site/generated + # Test Runner junit.xml lcov.info diff --git a/apps/site/mdx/create-vfs-twoslasher.mjs b/apps/site/mdx/create-vfs-twoslasher.mjs new file mode 100644 index 0000000000000..d4c34d1655a0c --- /dev/null +++ b/apps/site/mdx/create-vfs-twoslasher.mjs @@ -0,0 +1,30 @@ +'use strict'; + +/** + * Creates a Twoslash instance backed by a virtual filesystem for environments + * without real filesystem access (e.g. Cloudflare Workers). + * + * Uses a pre-built JSON map of TypeScript lib declarations and @types/node + * generated at build time by `scripts/twoslash-fsmap/index.mjs`. + */ +export async function createVfsTwoslasher() { + const { createTwoslasher } = await import('twoslash/core'); + const ts = (await import('typescript')).default; + const fsMapJson = ( + await import('../generated/twoslash-fsmap.json', { with: { type: 'json' } }) + ).default; + + const fsMap = new Map(Object.entries(fsMapJson)); + + return createTwoslasher({ + fsMap, + tsModule: ts, + vfsRoot: '/', + compilerOptions: { + moduleResolution: ts.ModuleResolutionKind.Bundler, + // Explicitly include @types/node so that the VFS resolves Node.js + // globals and `node:*` module imports from the bundled declarations. + types: ['node'], + }, + }); +} diff --git a/apps/site/mdx/plugins.mjs b/apps/site/mdx/plugins.mjs index 02166643aaf26..15efe01c45c4a 100644 --- a/apps/site/mdx/plugins.mjs +++ b/apps/site/mdx/plugins.mjs @@ -7,6 +7,7 @@ import rehypeSlug from 'rehype-slug'; import remarkGfm from 'remark-gfm'; import readingTime from 'remark-reading-time'; +import { createVfsTwoslasher } from './create-vfs-twoslasher.mjs'; import remarkTableTitles from '../util/table'; // TODO(@avivkeller): When available, use `OPEN_NEXT_CLOUDFLARE` environment @@ -25,8 +26,15 @@ const singletonShiki = await rehypeShikiji({ // for security reasons. wasm: !OPEN_NEXT_CLOUDFLARE, - // TODO(@avivkeller): Find a way to enable Twoslash w/ a VFS on Cloudflare - twoslash: !OPEN_NEXT_CLOUDFLARE, + twoslash: true, + + // On Cloudflare Workers, the default filesystem-backed Twoslash cannot work + // because there is no real filesystem. Instead, we provide a custom twoslasher + // backed by an in-memory VFS pre-populated at build time with TypeScript + // lib declarations and @types/node. + twoslashOptions: OPEN_NEXT_CLOUDFLARE + ? { twoslasher: await createVfsTwoslasher() } + : undefined, }); /** diff --git a/apps/site/package.json b/apps/site/package.json index cdef3ecf213fa..5e6d66f383672 100644 --- a/apps/site/package.json +++ b/apps/site/package.json @@ -2,10 +2,11 @@ "name": "@node-core/website", "type": "module", "scripts": { - "prebuild": "node --run build:blog-data", + "prebuild": "node --run build:blog-data && node --run build:twoslash-fsmap", "build": "cross-env NODE_NO_WARNINGS=1 next build", "build:blog-data": "cross-env NODE_NO_WARNINGS=1 node ./scripts/blog-data/index.mjs", "build:blog-data:watch": "node --watch --watch-path=pages/en/blog ./scripts/blog-data/index.mjs", + "build:twoslash-fsmap": "node ./scripts/twoslash-fsmap/index.mjs", "cloudflare:build:worker": "OPEN_NEXT_CLOUDFLARE=true opennextjs-cloudflare build", "cloudflare:deploy": "opennextjs-cloudflare deploy", "cloudflare:preview": "wrangler dev", @@ -47,6 +48,7 @@ "@tailwindcss/postcss": "~4.3.0", "@types/node": "catalog:", "@types/react": "catalog:", + "@typescript/vfs": "^1.6.4", "@vcarl/remark-headings": "~0.1.0", "@vercel/analytics": "~2.0.1", "@vercel/otel": "~2.1.2", diff --git a/apps/site/scripts/twoslash-fsmap/generate.mjs b/apps/site/scripts/twoslash-fsmap/generate.mjs new file mode 100644 index 0000000000000..d1fdf784d740d --- /dev/null +++ b/apps/site/scripts/twoslash-fsmap/generate.mjs @@ -0,0 +1,66 @@ +'use strict'; + +import { readdirSync, readFileSync } from 'node:fs'; +import { createRequire } from 'node:module'; +import { join, resolve } from 'node:path'; + +import { createDefaultMapFromNodeModules } from '@typescript/vfs'; +import ts from 'typescript'; + +const require = createRequire(import.meta.url); + +/** + * Recursively collects all `.d.ts` files from a directory into the fsMap. + * + * @param {Map} fsMap The map to populate + * @param {string} dir The directory to walk + * @param {string} virtualPrefix The virtual path prefix (e.g., "/node_modules/@types/node") + * @param {string} baseDir The base directory for computing relative paths + */ +function collectDtsFiles(fsMap, dir, virtualPrefix, baseDir) { + const entries = readdirSync(dir, { withFileTypes: true }).sort((a, b) => + a.name.localeCompare(b.name) + ); + + for (const entry of entries) { + const fullPath = join(dir, entry.name); + + if (entry.isDirectory()) { + collectDtsFiles(fsMap, fullPath, virtualPrefix, baseDir); + } else if (entry.isFile() && /\.d\.([^.]+\.)?[cm]?ts$/i.test(entry.name)) { + const relativePath = fullPath.slice(baseDir.length).replace(/\\/g, '/'); + const virtualPath = `${virtualPrefix}${relativePath}`; + + fsMap.set(virtualPath, readFileSync(fullPath, 'utf8')); + } + } +} + +/** + * Generates a virtual filesystem map containing all TypeScript library + * declaration files and `@types/node` declarations needed for Twoslash + * to run without real filesystem access (e.g., on Cloudflare Workers). + * + * @returns {Map} A map of virtual paths to file contents + */ +export default function generateTwoslashFsMap() { + // 1. Collect TypeScript lib .d.ts files using @typescript/vfs + // This returns a Map keyed as "/lib.es5.d.ts", "/lib.dom.d.ts", etc. + const fsMap = createDefaultMapFromNodeModules({}, ts); + + // 2. Collect @types/node .d.ts files + // These are keyed as "/node_modules/@types/node/index.d.ts", etc. + const typesNodeDir = resolve( + require.resolve('@types/node/package.json'), + '..' + ); + + collectDtsFiles( + fsMap, + typesNodeDir, + '/node_modules/@types/node', + typesNodeDir + ); + + return fsMap; +} diff --git a/apps/site/scripts/twoslash-fsmap/index.mjs b/apps/site/scripts/twoslash-fsmap/index.mjs new file mode 100644 index 0000000000000..bfc812024f278 --- /dev/null +++ b/apps/site/scripts/twoslash-fsmap/index.mjs @@ -0,0 +1,15 @@ +'use strict'; + +import { mkdirSync, writeFileSync } from 'node:fs'; + +import generateTwoslashFsMap from './generate.mjs'; + +const fsMap = generateTwoslashFsMap(); + +const outputPath = new URL( + '../../generated/twoslash-fsmap.json', + import.meta.url +); + +mkdirSync(new URL('.', outputPath), { recursive: true }); +writeFileSync(outputPath, JSON.stringify(Object.fromEntries(fsMap)), 'utf8'); diff --git a/apps/site/turbo.json b/apps/site/turbo.json index 47a5049c2b701..3bbae309e2e92 100644 --- a/apps/site/turbo.json +++ b/apps/site/turbo.json @@ -22,7 +22,7 @@ ] }, "build": { - "dependsOn": ["build:blog-data", "^build"], + "dependsOn": ["build:blog-data", "build:twoslash-fsmap", "^build"], "inputs": [ "{app,components,hooks,i18n,layouts,middlewares,pages,providers,types,util}/**/*.{ts,tsx}", "{app,components,layouts,pages,styles}/**/*.css", @@ -137,8 +137,12 @@ "ENABLE_EXPERIMENTAL_COREPACK" ] }, + "build:twoslash-fsmap": { + "inputs": ["scripts/twoslash-fsmap/**", "../../pnpm-lock.yaml"], + "outputs": ["generated/twoslash-fsmap.json"] + }, "cloudflare:build:worker": { - "dependsOn": ["build:blog-data"], + "dependsOn": ["build:blog-data", "build:twoslash-fsmap"], "inputs": [ "{app,components,hooks,i18n,layouts,middlewares,pages,providers,types,util}/**/*.{ts,tsx}", "{app,components,layouts,pages,styles}/**/*.css", diff --git a/packages/rehype-shiki/src/transformers/twoslash/index.mjs b/packages/rehype-shiki/src/transformers/twoslash/index.mjs index 2a6f347a04d0e..0d3be5b76a1c1 100644 --- a/packages/rehype-shiki/src/transformers/twoslash/index.mjs +++ b/packages/rehype-shiki/src/transformers/twoslash/index.mjs @@ -1,4 +1,8 @@ -import { transformerTwoslash } from '@shikijs/twoslash'; +import { + createTransformerFactory, + rendererRich, + transformerTwoslash, +} from '@shikijs/twoslash'; const compose = ({ token, cursor, popup }) => [ { @@ -10,39 +14,60 @@ const compose = ({ token, cursor, popup }) => [ popup, ]; -export const twoslash = (options = {}) => - transformerTwoslash({ - langs: ['ts', 'js', 'cjs', 'mjs'], - rendererRich: { - jsdoc: false, - hast: { - hoverToken: { tagName: 'MDXTooltip' }, - hoverPopup: { tagName: 'MDXTooltipContent' }, - hoverCompose: compose, - - queryToken: { tagName: 'MDXTooltip' }, - queryPopup: { tagName: 'MDXTooltipContent' }, - queryCompose: compose, - - errorToken: { tagName: 'MDXTooltip' }, - errorPopup: { tagName: 'MDXTooltipContent' }, - errorCompose: compose, - - completionToken: { - tagName: 'MDXTooltip', - properties: { - open: true, - }, - }, - completionPopup: { - tagName: 'MDXTooltipContent', - properties: { - align: 'start', - }, - }, - completionCompose: compose, +const rendererOptions = { + jsdoc: false, + hast: { + hoverToken: { tagName: 'MDXTooltip' }, + hoverPopup: { tagName: 'MDXTooltipContent' }, + hoverCompose: compose, + + queryToken: { tagName: 'MDXTooltip' }, + queryPopup: { tagName: 'MDXTooltipContent' }, + queryCompose: compose, + + errorToken: { tagName: 'MDXTooltip' }, + errorPopup: { tagName: 'MDXTooltipContent' }, + errorCompose: compose, + + completionToken: { + tagName: 'MDXTooltip', + properties: { + open: true, + }, + }, + completionPopup: { + tagName: 'MDXTooltipContent', + properties: { + align: 'start', }, }, - throws: false, - ...options, - }); + completionCompose: compose, + }, +}; + +const transformerOptions = { + langs: ['ts', 'js', 'cjs', 'mjs'], + rendererRich: rendererOptions, + throws: false, +}; + +/** + * Creates the Twoslash Shiki transformer. + * + * When `options.twoslasher` is provided, uses `createTransformerFactory` + * directly to avoid importing the default Node.js-dependent twoslasher from + * `twoslash`. This is needed for environments like Cloudflare Workers where + * the filesystem-backed default twoslasher cannot be used. + * + * @param {import('@shikijs/twoslash').TransformerTwoslashIndexOptions} [options] + */ +export const twoslash = (options = {}) => { + if (options.twoslasher) { + return createTransformerFactory( + options.twoslasher, + rendererRich(rendererOptions) + )({ ...transformerOptions, ...options }); + } + + return transformerTwoslash({ ...transformerOptions, ...options }); +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 48eb0ea616a9f..268aa4e66da3f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -129,6 +129,9 @@ importers: '@types/react': specifier: 'catalog:' version: 19.2.14 + '@typescript/vfs': + specifier: ^1.6.4 + version: 1.6.4(typescript@5.9.3) '@vcarl/remark-headings': specifier: ~0.1.0 version: 0.1.0 From ee114b2463c8d8b2bae9e873cb740a89bb43431a Mon Sep 17 00:00:00 2001 From: Aviv Keller Date: Wed, 27 May 2026 11:33:40 -0400 Subject: [PATCH 4/4] chore(css): use "brand" over "green" (#8915) * chore(css): use "brand" over "green" * fixup! --- .../Blog/BlogPostCard/index.module.css | 8 ++--- .../Common/LinkWithArrow/index.module.css | 8 ++--- .../__design__/colors.stories.tsx | 16 +++++----- .../src/Common/AlertBox/index.module.css | 4 +-- .../src/Common/Badge/index.module.css | 2 +- .../src/Common/BadgeGroup/index.module.css | 14 ++++----- .../src/Common/Banner/index.module.css | 2 +- .../src/Common/BaseButton/index.module.css | 30 +++++++++---------- .../src/Common/BaseLinkTabs/index.module.css | 8 ++--- .../PaginationListItem/index.module.css | 4 +-- .../src/Common/Blockquote/index.module.css | 6 ++-- .../BreadcrumbLink/index.module.css | 6 ++-- .../src/Common/ChangeHistory/index.module.css | 2 +- .../src/Common/CodeTabs/index.module.css | 4 +-- .../src/Common/DataTag/index.module.css | 2 +- .../Common/GlowingBackdrop/index.module.css | 8 ++--- .../Common/LanguageDropDown/index.module.css | 6 ++-- .../src/Common/Preview/index.module.css | 2 +- .../Search/Results/Hit/index.module.css | 4 +-- .../Search/Results/Tabs/index.module.css | 6 ++-- .../src/Common/Select/index.module.css | 12 ++++---- .../SignatureHeader/index.module.css | 4 +-- .../Signature/SignatureItem/index.module.css | 4 +-- .../SkipToContentButton/index.module.css | 10 +++---- .../src/Common/Switch/index.module.css | 8 ++--- .../src/Common/Tabs/index.module.css | 16 +++++----- .../src/Common/ThemeToggle/index.module.css | 6 ++-- .../src/Containers/Footer/index.module.css | 10 +++---- .../NavBar/NavItem/index.module.css | 2 +- .../Sidebar/SidebarGroup/index.module.css | 4 +-- .../Sidebar/SidebarItem/index.module.css | 10 +++---- .../ui-components/src/styles/markdown.css | 8 ++--- packages/ui-components/src/styles/theme.css | 20 ++++++------- 33 files changed, 128 insertions(+), 128 deletions(-) diff --git a/apps/site/components/Blog/BlogPostCard/index.module.css b/apps/site/components/Blog/BlogPostCard/index.module.css index 53ec2686369f0..e9e8f6a26c377 100644 --- a/apps/site/components/Blog/BlogPostCard/index.module.css +++ b/apps/site/components/Blog/BlogPostCard/index.module.css @@ -6,13 +6,13 @@ } .subtitle { - @apply mt-6 + @apply text-brand-600 + dark:text-brand-400 + mt-6 mb-2 inline-block text-xs - font-semibold - text-green-600 - dark:text-green-400; + font-semibold; } .title { diff --git a/apps/site/components/Common/LinkWithArrow/index.module.css b/apps/site/components/Common/LinkWithArrow/index.module.css index 8f1566281e65a..b523bdb4b0e6b 100644 --- a/apps/site/components/Common/LinkWithArrow/index.module.css +++ b/apps/site/components/Common/LinkWithArrow/index.module.css @@ -9,8 +9,8 @@ } .button { - @apply text-green-600 - hover:text-green-900 - dark:text-green-400 - dark:hover:text-green-200; + @apply text-brand-600 + hover:text-brand-900 + dark:text-brand-400 + dark:hover:text-brand-200; } diff --git a/packages/ui-components/__design__/colors.stories.tsx b/packages/ui-components/__design__/colors.stories.tsx index ab07ebb262ade..fc5ca0a7e2cf3 100644 --- a/packages/ui-components/__design__/colors.stories.tsx +++ b/packages/ui-components/__design__/colors.stories.tsx @@ -5,14 +5,14 @@ export const Colors: StoryObj = {
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
diff --git a/packages/ui-components/src/Common/AlertBox/index.module.css b/packages/ui-components/src/Common/AlertBox/index.module.css index 685f20a75e64a..0c5e6e097f4ae 100644 --- a/packages/ui-components/src/Common/AlertBox/index.module.css +++ b/packages/ui-components/src/Common/AlertBox/index.module.css @@ -63,10 +63,10 @@ } &.success { - @apply bg-green-600; + @apply bg-brand-600; .title { - @apply bg-green-700; + @apply bg-brand-700; } } diff --git a/packages/ui-components/src/Common/Badge/index.module.css b/packages/ui-components/src/Common/Badge/index.module.css index 008f025cf3d95..5c757e89e2acd 100644 --- a/packages/ui-components/src/Common/Badge/index.module.css +++ b/packages/ui-components/src/Common/Badge/index.module.css @@ -19,7 +19,7 @@ } &.default { - @apply bg-green-600; + @apply bg-brand-600; } &.error { diff --git a/packages/ui-components/src/Common/BadgeGroup/index.module.css b/packages/ui-components/src/Common/BadgeGroup/index.module.css index 2304c408078a0..f91628a893b88 100644 --- a/packages/ui-components/src/Common/BadgeGroup/index.module.css +++ b/packages/ui-components/src/Common/BadgeGroup/index.module.css @@ -25,20 +25,20 @@ } &.default { - @apply border-green-200 - bg-green-100 - dark:border-green-700 + @apply border-brand-200 + bg-brand-100 + dark:border-brand-700 dark:bg-neutral-900; .icon { - @apply text-green-500 - dark:text-green-300; + @apply text-brand-500 + dark:text-brand-300; } .message, .message a:not(:hover) { - @apply text-green-700 - dark:text-green-300; + @apply text-brand-700 + dark:text-brand-300; } } diff --git a/packages/ui-components/src/Common/Banner/index.module.css b/packages/ui-components/src/Common/Banner/index.module.css index 282a93668d2ad..d55d5359cf8c8 100644 --- a/packages/ui-components/src/Common/Banner/index.module.css +++ b/packages/ui-components/src/Common/Banner/index.module.css @@ -30,7 +30,7 @@ } .default { - @apply bg-green-600; + @apply bg-brand-600; } .error { diff --git a/packages/ui-components/src/Common/BaseButton/index.module.css b/packages/ui-components/src/Common/BaseButton/index.module.css index 4eb0e97fd2500..bb4c5ce10619e 100644 --- a/packages/ui-components/src/Common/BaseButton/index.module.css +++ b/packages/ui-components/src/Common/BaseButton/index.module.css @@ -46,26 +46,26 @@ } &.primary { - @apply rounded-sm + @apply border-brand-600 + bg-brand-600 + rounded-sm border - border-green-600 - bg-green-600 text-white shadow-xs; &:hover:not([aria-disabled='true']) { - @apply border-green-700 - bg-green-700 + @apply border-brand-700 + bg-brand-700 text-white; } &:focus { - @apply border-green-700 - bg-green-700; + @apply border-brand-700 + bg-brand-700; } &[aria-disabled='true'] { - @apply bg-green-600 + @apply bg-brand-600 opacity-50; } } @@ -100,10 +100,13 @@ &.special { @apply before:bg-gradient-glow-backdrop + border-brand-600/30 + bg-brand-600/10 + after:from-brand-600/0 + after:via-brand-600 + after:to-brand-600/0 rounded-lg border - border-green-600/30 - bg-green-600/10 text-white shadow-xs before:absolute @@ -124,9 +127,6 @@ after:h-px after:w-2/5 after:bg-linear-to-r - after:from-green-600/0 - after:via-green-600 - after:to-green-600/0 after:content-['']; &[aria-disabled='true'] { @@ -134,11 +134,11 @@ } &:hover:not([aria-disabled='true']) { - @apply bg-green-600/20; + @apply bg-brand-600/20; } &:focus { - @apply bg-green-600/20; + @apply bg-brand-600/20; } } diff --git a/packages/ui-components/src/Common/BaseLinkTabs/index.module.css b/packages/ui-components/src/Common/BaseLinkTabs/index.module.css index ca9292fdb8bf4..947473ce50133 100644 --- a/packages/ui-components/src/Common/BaseLinkTabs/index.module.css +++ b/packages/ui-components/src/Common/BaseLinkTabs/index.module.css @@ -29,10 +29,10 @@ } &[data-state='active'] { - @apply border-b-green-600 - text-green-600 - dark:border-b-green-400 - dark:text-green-400; + @apply border-b-brand-600 + text-brand-600 + dark:border-b-brand-400 + dark:text-brand-400; } } } diff --git a/packages/ui-components/src/Common/BasePagination/PaginationListItem/index.module.css b/packages/ui-components/src/Common/BasePagination/PaginationListItem/index.module.css index 44fe08cd5fb70..d512397c2edb2 100644 --- a/packages/ui-components/src/Common/BasePagination/PaginationListItem/index.module.css +++ b/packages/ui-components/src/Common/BasePagination/PaginationListItem/index.module.css @@ -7,7 +7,8 @@ .listItem, .listItem:link, .listItem:active { - @apply flex + @apply aria-current:bg-brand-600 + flex size-10 cursor-pointer items-center @@ -17,7 +18,6 @@ py-2.5 text-neutral-800 aria-current:cursor-default - aria-current:bg-green-600 aria-current:text-white motion-safe:transition-colors dark:text-neutral-200; diff --git a/packages/ui-components/src/Common/Blockquote/index.module.css b/packages/ui-components/src/Common/Blockquote/index.module.css index cdb4642e9f40e..53d8d3e6e8ecc 100644 --- a/packages/ui-components/src/Common/Blockquote/index.module.css +++ b/packages/ui-components/src/Common/Blockquote/index.module.css @@ -1,20 +1,20 @@ @reference "../../styles/index.css"; .wrapper { - @apply flex + @apply border-brand-600 + dark:border-brand-400 + flex max-w-2xl flex-col items-start gap-4 self-stretch border-l-2 - border-green-600 py-2 pl-5 text-lg font-semibold text-neutral-900 - dark:border-green-400 dark:text-white; & cite { diff --git a/packages/ui-components/src/Common/Breadcrumbs/BreadcrumbLink/index.module.css b/packages/ui-components/src/Common/Breadcrumbs/BreadcrumbLink/index.module.css index e708032a4bfbb..9f1e5572631c1 100644 --- a/packages/ui-components/src/Common/Breadcrumbs/BreadcrumbLink/index.module.css +++ b/packages/ui-components/src/Common/Breadcrumbs/BreadcrumbLink/index.module.css @@ -5,8 +5,8 @@ truncate; &.active { - @apply rounded - bg-green-800 + @apply bg-brand-800 + rounded px-2 py-1 font-semibold @@ -15,7 +15,7 @@ dark:text-white; &:hover { - @apply bg-green-700 + @apply bg-brand-700 text-white; } } diff --git a/packages/ui-components/src/Common/ChangeHistory/index.module.css b/packages/ui-components/src/Common/ChangeHistory/index.module.css index 3f6225b555c48..91241657f5d18 100644 --- a/packages/ui-components/src/Common/ChangeHistory/index.module.css +++ b/packages/ui-components/src/Common/ChangeHistory/index.module.css @@ -63,7 +63,7 @@ &:hover, &:focus-visible { - @apply bg-green-600 + @apply bg-brand-600 text-white; } } diff --git a/packages/ui-components/src/Common/CodeTabs/index.module.css b/packages/ui-components/src/Common/CodeTabs/index.module.css index 879ae26ace6b5..5f738303ceff0 100644 --- a/packages/ui-components/src/Common/CodeTabs/index.module.css +++ b/packages/ui-components/src/Common/CodeTabs/index.module.css @@ -23,8 +23,8 @@ text-neutral-200; &[data-state='active'] { - @apply border-b-green-400 - text-green-400; + @apply border-b-brand-400 + text-brand-400; } } diff --git a/packages/ui-components/src/Common/DataTag/index.module.css b/packages/ui-components/src/Common/DataTag/index.module.css index ef244b3765153..77d2db5c398fe 100644 --- a/packages/ui-components/src/Common/DataTag/index.module.css +++ b/packages/ui-components/src/Common/DataTag/index.module.css @@ -32,7 +32,7 @@ } &.property { - @apply bg-green-600; + @apply bg-brand-600; } &.class { diff --git a/packages/ui-components/src/Common/GlowingBackdrop/index.module.css b/packages/ui-components/src/Common/GlowingBackdrop/index.module.css index 75f47615984c0..427232f2210a7 100644 --- a/packages/ui-components/src/Common/GlowingBackdrop/index.module.css +++ b/packages/ui-components/src/Common/GlowingBackdrop/index.module.css @@ -1,7 +1,9 @@ @reference "../../styles/index.css"; .glowingBackdrop { - @apply absolute + @apply after:bg-brand-300 + dark:after:bg-brand-700 + absolute top-0 left-0 -z-10 @@ -13,11 +15,9 @@ after:aspect-square after:w-[300px] after:rounded-full - after:bg-green-300 after:blur-[120px] after:content-[''] - md:opacity-100 - dark:after:bg-green-700; + md:opacity-100; svg { @apply absolute diff --git a/packages/ui-components/src/Common/LanguageDropDown/index.module.css b/packages/ui-components/src/Common/LanguageDropDown/index.module.css index 8cbcf1b574796..c482a2963e0a3 100644 --- a/packages/ui-components/src/Common/LanguageDropDown/index.module.css +++ b/packages/ui-components/src/Common/LanguageDropDown/index.module.css @@ -35,19 +35,19 @@ } .dropDownItem { - @apply cursor-pointer + @apply data-[highlighted]:bg-brand-600 + cursor-pointer px-2.5 py-1.5 text-sm font-medium text-neutral-800 outline-hidden - data-[highlighted]:bg-green-600 data-[highlighted]:text-white dark:text-white; } .currentDropDown { - @apply bg-green-600 + @apply bg-brand-600 text-white; } diff --git a/packages/ui-components/src/Common/Preview/index.module.css b/packages/ui-components/src/Common/Preview/index.module.css index e70cfb4ca3bb5..808df784a6485 100644 --- a/packages/ui-components/src/Common/Preview/index.module.css +++ b/packages/ui-components/src/Common/Preview/index.module.css @@ -21,7 +21,7 @@ after:content-['']; &.announcements { - @apply after:from-green-700/90; + @apply after:from-brand-700/90; } &.release { diff --git a/packages/ui-components/src/Common/Search/Results/Hit/index.module.css b/packages/ui-components/src/Common/Search/Results/Hit/index.module.css index edb4bf24de14e..d1bc33ab69e02 100644 --- a/packages/ui-components/src/Common/Search/Results/Hit/index.module.css +++ b/packages/ui-components/src/Common/Search/Results/Hit/index.module.css @@ -1,7 +1,8 @@ @reference "../../../../styles/index.css"; .link { - @apply flex + @apply focus-visible:border-brand-600 + flex items-center gap-4 rounded-xl @@ -15,7 +16,6 @@ outline-none hover:bg-neutral-200 focus:bg-neutral-200 - focus-visible:border-green-600 focus-visible:bg-transparent motion-safe:transition-colors dark:bg-zinc-950 diff --git a/packages/ui-components/src/Common/Search/Results/Tabs/index.module.css b/packages/ui-components/src/Common/Search/Results/Tabs/index.module.css index 223374299130b..2cdf6ae0fcfda 100644 --- a/packages/ui-components/src/Common/Search/Results/Tabs/index.module.css +++ b/packages/ui-components/src/Common/Search/Results/Tabs/index.module.css @@ -29,9 +29,9 @@ } .facetTabItemSelected { - @apply border-2 - border-green-600 - dark:border-green-400; + @apply border-brand-600 + dark:border-brand-400 + border-2; } .facetTabsList { diff --git a/packages/ui-components/src/Common/Select/index.module.css b/packages/ui-components/src/Common/Select/index.module.css index 98f528ae283c9..fcb1e0bc68c50 100644 --- a/packages/ui-components/src/Common/Select/index.module.css +++ b/packages/ui-components/src/Common/Select/index.module.css @@ -84,12 +84,12 @@ } .text { - @apply text-neutral-800 - data-highlighted:bg-green-500 + @apply data-highlighted:bg-brand-500 + dark:data-highlighted:bg-brand-600 + text-neutral-800 data-highlighted:text-white data-highlighted:outline-hidden dark:text-neutral-200 - dark:data-highlighted:bg-green-600 dark:data-highlighted:text-white; } @@ -191,15 +191,15 @@ } .text { - @apply block + @apply hover:bg-brand-500 + dark:hover:bg-brand-600 + block pl-4 whitespace-normal text-neutral-800 - hover:bg-green-500 hover:text-white hover:outline-hidden dark:text-neutral-200 - dark:hover:bg-green-600 dark:hover:text-white; span { diff --git a/packages/ui-components/src/Common/Signature/SignatureHeader/index.module.css b/packages/ui-components/src/Common/Signature/SignatureHeader/index.module.css index da2da6867d349..67c9aec43272f 100644 --- a/packages/ui-components/src/Common/Signature/SignatureHeader/index.module.css +++ b/packages/ui-components/src/Common/Signature/SignatureHeader/index.module.css @@ -39,7 +39,7 @@ break-all; a { - @apply text-green-700 - dark:text-green-400; + @apply text-brand-700 + dark:text-brand-400; } } diff --git a/packages/ui-components/src/Common/Signature/SignatureItem/index.module.css b/packages/ui-components/src/Common/Signature/SignatureItem/index.module.css index d1554950a9370..09d723796b7ae 100644 --- a/packages/ui-components/src/Common/Signature/SignatureItem/index.module.css +++ b/packages/ui-components/src/Common/Signature/SignatureItem/index.module.css @@ -7,8 +7,8 @@ } .return { - @apply rounded-sm - bg-green-100 + @apply bg-brand-100 + rounded-sm px-4 py-3 dark:bg-neutral-900/40; diff --git a/packages/ui-components/src/Common/SkipToContentButton/index.module.css b/packages/ui-components/src/Common/SkipToContentButton/index.module.css index cd8457908d2d3..b0359f43d7912 100644 --- a/packages/ui-components/src/Common/SkipToContentButton/index.module.css +++ b/packages/ui-components/src/Common/SkipToContentButton/index.module.css @@ -1,19 +1,19 @@ @reference "../../styles/index.css"; .skipToContent { - @apply sr-only + @apply focus:bg-brand-600 + focus:ring-brand-500 + dark:focus:ring-brand-400 + sr-only focus:not-sr-only focus:absolute focus:top-4 focus:left-4 focus:z-50 focus:rounded - focus:bg-green-600 focus:px-4 focus:py-2 focus:text-white focus:ring-2 - focus:ring-green-500 - focus:outline-none - dark:focus:ring-green-400; + focus:outline-none; } diff --git a/packages/ui-components/src/Common/Switch/index.module.css b/packages/ui-components/src/Common/Switch/index.module.css index 7d700b862b0d1..8dd9ee20085aa 100644 --- a/packages/ui-components/src/Common/Switch/index.module.css +++ b/packages/ui-components/src/Common/Switch/index.module.css @@ -34,16 +34,16 @@ } .input:focus-visible + .root { - @apply ring-2 - ring-green-500 + @apply ring-brand-500 + dark:ring-brand-400 + ring-2 ring-offset-2 ring-offset-neutral-100 - dark:ring-green-400 dark:ring-offset-neutral-900; } .input:checked + .root { - @apply bg-green-600; + @apply bg-brand-600; } .thumb { diff --git a/packages/ui-components/src/Common/Tabs/index.module.css b/packages/ui-components/src/Common/Tabs/index.module.css index f700b7b1321aa..c7f3d6d32a3e3 100644 --- a/packages/ui-components/src/Common/Tabs/index.module.css +++ b/packages/ui-components/src/Common/Tabs/index.module.css @@ -42,19 +42,19 @@ } &[data-state='active'] { - @apply border-b-green-600 - text-green-600 - dark:border-b-green-400 - dark:text-green-400; + @apply border-b-brand-600 + text-brand-600 + dark:border-b-brand-400 + dark:text-brand-400; .tabExtension { - @apply border-green-400 - text-green-400; + @apply border-brand-400 + text-brand-400; } .tabSecondaryLabel { - @apply text-green-800 - dark:text-green-600; + @apply text-brand-800 + dark:text-brand-600; } } } diff --git a/packages/ui-components/src/Common/ThemeToggle/index.module.css b/packages/ui-components/src/Common/ThemeToggle/index.module.css index d1480cf221026..a9e28f2325466 100644 --- a/packages/ui-components/src/Common/ThemeToggle/index.module.css +++ b/packages/ui-components/src/Common/ThemeToggle/index.module.css @@ -28,7 +28,8 @@ } .dropDownItem { - @apply flex + @apply data-highlighted:bg-brand-600 + flex cursor-pointer items-center gap-2 @@ -38,12 +39,11 @@ font-medium text-neutral-800 outline-hidden - data-highlighted:bg-green-600 data-highlighted:text-white dark:text-white; } .activeItem { - @apply bg-green-600 + @apply bg-brand-600 text-white; } diff --git a/packages/ui-components/src/Containers/Footer/index.module.css b/packages/ui-components/src/Containers/Footer/index.module.css index b4f6a0f44f9b9..77b36eb06e26c 100644 --- a/packages/ui-components/src/Containers/Footer/index.module.css +++ b/packages/ui-components/src/Containers/Footer/index.module.css @@ -76,13 +76,13 @@ a { @apply max-ml:font-semibold - text-green-600 - dark:text-green-400; + text-brand-600 + dark:text-brand-400; &:hover { - @apply cursor-pointer - text-green-900 - dark:text-green-200; + @apply text-brand-900 + dark:text-brand-200 + cursor-pointer; } } } diff --git a/packages/ui-components/src/Containers/NavBar/NavItem/index.module.css b/packages/ui-components/src/Containers/NavBar/NavItem/index.module.css index be3520a41e57f..7b49c39378c02 100644 --- a/packages/ui-components/src/Containers/NavBar/NavItem/index.module.css +++ b/packages/ui-components/src/Containers/NavBar/NavItem/index.module.css @@ -32,7 +32,7 @@ } &.active { - @apply bg-green-600; + @apply bg-brand-600; .label { @apply text-white; diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css index f7469c0995b5a..17d4cf1bc4b75 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css +++ b/packages/ui-components/src/Containers/Sidebar/SidebarGroup/index.module.css @@ -53,8 +53,8 @@ } .subGroup[open] > .summary { - @apply text-green-600 - dark:text-green-400; + @apply text-brand-600 + dark:text-brand-400; } .subItemList { diff --git a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css index 1b291235c344c..a7e66a9170e9e 100644 --- a/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css +++ b/packages/ui-components/src/Containers/Sidebar/SidebarItem/index.module.css @@ -41,15 +41,15 @@ } .icon { - @apply scale-110 - text-green-600 - dark:text-green-400; + @apply text-brand-600 + dark:text-brand-400 + scale-110; } } &.active { /* Full-width active background and readable text */ - @apply bg-green-600 + @apply bg-brand-600 text-white; /* Remove pill background on the label; keep full-width bg on the item */ @@ -61,7 +61,7 @@ /* Preserve active background on hover */ &:hover { - @apply bg-green-600; + @apply bg-brand-600; } } } diff --git a/packages/ui-components/src/styles/markdown.css b/packages/ui-components/src/styles/markdown.css index c0a56a345dd12..dfc918c61fc15 100644 --- a/packages/ui-components/src/styles/markdown.css +++ b/packages/ui-components/src/styles/markdown.css @@ -100,12 +100,12 @@ main { /* link that isn't inside a heading */ a:not(h1 > a):not(h2 > a):not(h3 > a):not(h4 > a):not(h5 > a):not(h6 > a) { @apply max-ml:font-semibold - text-green-600 - dark:text-green-400; + text-brand-600 + dark:text-brand-400; &:hover { - @apply text-green-900 - dark:text-green-200; + @apply text-brand-900 + dark:text-brand-200; } &[role='button'] { diff --git a/packages/ui-components/src/styles/theme.css b/packages/ui-components/src/styles/theme.css index 0d70b7bcdd0d2..1337537775226 100644 --- a/packages/ui-components/src/styles/theme.css +++ b/packages/ui-components/src/styles/theme.css @@ -12,15 +12,15 @@ --container-12xl: 120rem; --breakpoint-ml: 896px; --breakpoint-3xl: 120rem; - --color-green-100: #edf2eb; - --color-green-200: #c5e5b4; - --color-green-300: #99cc7d; - --color-green-400: #84ba64; - --color-green-500: #5fa04e; - --color-green-600: #417e38; - --color-green-700: #2c682c; - --color-green-800: #2c682c; - --color-green-900: #1a3f1d; + --color-brand-100: #edf2eb; + --color-brand-200: #c5e5b4; + --color-brand-300: #99cc7d; + --color-brand-400: #84ba64; + --color-brand-500: #5fa04e; + --color-brand-600: #417e38; + --color-brand-700: #2c682c; + --color-brand-800: #2c682c; + --color-brand-900: #1a3f1d; --color-neutral-100: #f6f7f9; --color-neutral-200: #e9edf0; --color-neutral-300: #d9e1e4; @@ -160,7 +160,7 @@ @utility bg-gradient-glow-backdrop { background-image: radial-gradient( 8em circle at calc(50%) 10px, - var(--color-green-400), + var(--color-brand-400), transparent 30% ); }