diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 37295ff..983623d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -16,7 +16,7 @@ jobs: - name: Check out code uses: actions/checkout@v4 with: - fetch-depth: 2 + fetch-depth: 0 - name: Setup Node.js environment uses: actions/setup-node@v4 diff --git a/apps/docs/components/DynamicLiveCodeSandpack.tsx b/apps/docs/components/DynamicLiveCodeSandpack.tsx index 58ec003..4f87a4e 100644 --- a/apps/docs/components/DynamicLiveCodeSandpack.tsx +++ b/apps/docs/components/DynamicLiveCodeSandpack.tsx @@ -1,35 +1,34 @@ import dynamic from "next/dynamic"; import { MoveRight } from "lucide-react"; -export const DynamicLiveCodeSandPack = dynamic( - () => import("./LiveCodeSandpack"), - { - loading: () => { - const loadingWindow = ( -
-
-
- {" "} -
-
-
- {" "} -
+const DynamicLiveCodeSandpack = dynamic(() => import("./LiveCodeSandpack"), { + loading: () => { + const loadingWindow = ( +
+
+
+ {" "} +
+
+
+ {" "}
- ); - - return ( -
- {loadingWindow} +
+ ); -
- -
+ return ( +
+ {loadingWindow} - {loadingWindow} +
+
- ); - }, - } -); + + {loadingWindow} +
+ ); + }, +}); + +export { DynamicLiveCodeSandpack }; diff --git a/apps/docs/components/LiveCodeSandpack.tsx b/apps/docs/components/LiveCodeSandpack.tsx index 8b59bfd..4fa946a 100644 --- a/apps/docs/components/LiveCodeSandpack.tsx +++ b/apps/docs/components/LiveCodeSandpack.tsx @@ -1,8 +1,8 @@ import { transform } from "@babel/standalone"; import { SandpackProvider } from "@codesandbox/sandpack-react"; +// @ts-expect-error import reactUnforgetBabelPlugin from "@react-unforget/babel-plugin"; import { MoveRight } from "lucide-react"; -// @ts-expect-error import jsxBabelPlugin from "@babel/plugin-syntax-jsx"; import { useTheme } from "nextra-theme-docs"; import { useCallback, useEffect, useMemo, useState } from "react"; diff --git a/apps/docs/next.config.js b/apps/docs/next.config.js deleted file mode 100644 index 456c83b..0000000 --- a/apps/docs/next.config.js +++ /dev/null @@ -1,10 +0,0 @@ -const withNextra = require("nextra")({ - theme: "nextra-theme-docs", - themeConfig: "./theme.config.jsx", -}); - -/** @type {import('next').NextConfig} */ -module.exports = { - transpilePackages: [], - ...withNextra(), -}; diff --git a/apps/docs/next.config.mjs b/apps/docs/next.config.mjs new file mode 100644 index 0000000..a8cd21e --- /dev/null +++ b/apps/docs/next.config.mjs @@ -0,0 +1,13 @@ +import nextra from "nextra"; + +const withNextra = nextra({ + theme: "nextra-theme-docs", + themeConfig: "./theme.config.jsx", +}); + +export default withNextra({ + reactStrictMode: false, + eslint: { + ignoreDuringBuilds: true, + }, +}); diff --git a/apps/docs/package.json b/apps/docs/package.json index b869a74..d7ce9e2 100644 --- a/apps/docs/package.json +++ b/apps/docs/package.json @@ -9,12 +9,11 @@ "lint": "eslint . --max-warnings 0" }, "dependencies": { - "@babel/core": "^7.23.9", - "@babel/parser": "^7.24.0", "@babel/plugin-syntax-jsx": "^7.23.3", + "@babel/standalone": "^7.24.0", "@codesandbox/sandpack-react": "^2.13.4", - "@react-unforget/babel-plugin": "0.1.0-dev.4", - "@react-unforget/compiler": "0.1.0-dev.5", + "@react-unforget/babel-plugin": "0.1.0-dev.6", + "@react-unforget/compiler": "0.1.0-dev.7", "@react-unforget/runtime": "0.1.0-dev.4", "@vercel/analytics": "^1.2.2", "classnames": "^2.5.1", @@ -29,9 +28,9 @@ "@next/eslint-plugin-next": "^14.0.4", "@react-unforget/eslint-config": "*", "@react-unforget/typescript-config": "*", - "@types/eslint": "^8.56.1", - "@types/node": "^20.10.6", - "@types/react": "^18.2.46", + "@types/eslint": "^8.56.5", + "@types/node": "^20.11.24", + "@types/react": "^18.2.61", "@types/react-dom": "^18.2.18", "autoprefixer": "^10.4.17", "daisyui": "^4.7.2", diff --git a/apps/docs/pages/examples/component-with-early-return.mdx b/apps/docs/pages/examples/component-with-early-return.mdx index b1d786c..aae566c 100644 --- a/apps/docs/pages/examples/component-with-early-return.mdx +++ b/apps/docs/pages/examples/component-with-early-return.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### Component with Early Return diff --git a/apps/docs/pages/examples/component-with-props.mdx b/apps/docs/pages/examples/component-with-props.mdx index 2db7305..be90b5f 100644 --- a/apps/docs/pages/examples/component-with-props.mdx +++ b/apps/docs/pages/examples/component-with-props.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### Component with Props diff --git a/apps/docs/pages/examples/counter-with-mutated-dependency.mdx b/apps/docs/pages/examples/counter-with-mutated-dependency.mdx index fa35bf5..e177bdd 100644 --- a/apps/docs/pages/examples/counter-with-mutated-dependency.mdx +++ b/apps/docs/pages/examples/counter-with-mutated-dependency.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### Counter with Mutation Tracking @@ -10,23 +10,22 @@ React Unforget can trace statements that will mutate a variable. export default function CounterWithMutationTracking() { const [state, setState] = useState(0); - let text = "The number is: "; - - if (state % 2 === 0) { - text += "even"; - } else { - text += "odd"; - } - - return ( -
- -
- Count: {state} {text} -
-
- ); +let text = "The number is: "; + +if (state % 2 === 0) { +text += "even"; +} else { +text += "odd"; } -`} + +return ( + +
+ +
+ Count: {state} {text} +
+
+); } `} diff --git a/apps/docs/pages/examples/simple-counter.mdx b/apps/docs/pages/examples/simple-counter.mdx index 0968c43..0dac01d 100644 --- a/apps/docs/pages/examples/simple-counter.mdx +++ b/apps/docs/pages/examples/simple-counter.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### Simple Counter App diff --git a/apps/docs/pages/examples/simple-jsx.mdx b/apps/docs/pages/examples/simple-jsx.mdx index c694cc9..19ed9fb 100644 --- a/apps/docs/pages/examples/simple-jsx.mdx +++ b/apps/docs/pages/examples/simple-jsx.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### Simple JSX diff --git a/apps/docs/pages/examples/with-data-fetching.mdx b/apps/docs/pages/examples/with-data-fetching.mdx index ba117d6..9d617df 100644 --- a/apps/docs/pages/examples/with-data-fetching.mdx +++ b/apps/docs/pages/examples/with-data-fetching.mdx @@ -1,4 +1,4 @@ -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; ### With Data Fetching @@ -32,7 +32,7 @@ function UserList() { const [followers, setFollowers] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); - const [setFilterUsers, setShouldFilterUsers] = useState(false); + const [shouldFilterUsers, setShouldFilterUsers] = useState(false); useEffect(() => { Promise.all([ @@ -72,7 +72,7 @@ function UserList() { } } - const usersForUI = setFilterUsers ? filteredUsers : memoizedFollowers; + const usersForUI = shouldFilterUsers ? filteredUsers : memoizedFollowers; // Early return for loading state if (loading) return
Loading...
; @@ -89,7 +89,7 @@ function UserList() {

Follwers of {user.name}

User List

    handleUserClick(user.id)}>{userListElement}
@@ -126,40 +126,3 @@ export default UserList; `} - -{/* -{`import {useState} from "react"; - -const numbers1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]; -const numbers2 = numbers1.filter((number) => number % 2 === 0); - -export default function UserList() { - const [numbers, setNumbers] = useState(numbers1); - - const filteredNumbers = []; - for (let i = 0; i < numbers.length; i++) { - const currentN = numbers[i]; - if (i % 2 === 0) { - filteredNumbers.push(currentN); - } - } - - const handleUserClick = () => { - setNumbers((p) => (numbers1 === p ? numbers2 : numbers1)); - }; - - return ( -
- -
    - {filteredNumbers.map((n) => ( -
    {n}
    - ))} -
-
- ); -} - -`} - -
*/} diff --git a/apps/docs/pages/index.mdx b/apps/docs/pages/index.mdx index dae97a9..ae3b0f6 100644 --- a/apps/docs/pages/index.mdx +++ b/apps/docs/pages/index.mdx @@ -2,7 +2,7 @@ title: "Home" --- -import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandPack"; +import { DynamicLiveCodeSandPack } from "@components/DynamicLiveCodeSandpack"; # React Unforget diff --git a/apps/docs/tsconfig.json b/apps/docs/tsconfig.json index 9ebd3e8..541b1e3 100644 --- a/apps/docs/tsconfig.json +++ b/apps/docs/tsconfig.json @@ -1,24 +1,31 @@ { - "extends": "@react-unforget/typescript-config/nextjs.json", "compilerOptions": { - "plugins": [ - { - "name": "next" - } - ], + "baseUrl": ".", + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": false, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "incremental": true, + "esModuleInterop": true, + "isolatedModules": true, + "moduleResolution": "node", + "jsx": "preserve", + "module": "esnext", + "resolveJsonModule": true, "paths": { - "@components/*": ["./components/*"] + "@components/*": ["components/*"] } }, "include": [ "next-env.d.ts", - "next.config.js", - "theme.config.jsx", - "tailwind.config.js", - "postcss.config.js", "**/*.ts", "**/*.tsx", - ".next/types/**/*.ts" - ], + "**/*.js", + "**/*.jsx", + "**/*.mdx" +, "next.config.mjs" ], "exclude": ["node_modules"] } diff --git a/apps/docs/vercel.json b/apps/docs/vercel.json new file mode 100644 index 0000000..2b6de8d --- /dev/null +++ b/apps/docs/vercel.json @@ -0,0 +1,3 @@ +{ + "public": true +} diff --git a/package.json b/package.json index ea4344c..2b1efe7 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "react-unforget", "private": true, "scripts": { - "build": "turbo run --scope=@react-unforget/* --no-deps build", + "build": "turbo build", "dev": "turbo dev", "lint": "turbo lint", "test": "turbo test", diff --git a/packages/babel-plugin/package.json b/packages/babel-plugin/package.json index 2f8bfe8..0b9cff6 100644 --- a/packages/babel-plugin/package.json +++ b/packages/babel-plugin/package.json @@ -26,7 +26,7 @@ "@react-unforget/eslint-config": "*", "@react-unforget/jest-config": "*", "@react-unforget/typescript-config": "*", - "@types/react": "^18.2.58", + "@types/react": "^18.2.61", "react": "^18.2.0", "tsup": "^8.0.2" }, diff --git a/packages/compiler/package.json b/packages/compiler/package.json index e35977e..ab06f80 100644 --- a/packages/compiler/package.json +++ b/packages/compiler/package.json @@ -35,9 +35,8 @@ }, "dependencies": { "@babel/helper-validator-identifier": "^7.22.20", - "@babel/parser": "^7.23.9", - "@babel/standalone": "^7.23.10", - "@babel/traverse": "^7.23.9", + "@babel/parser": "^7.24.0", + "@babel/traverse": "^7.24.0", "@babel/types": "^7.24.0" }, "publishConfig": { diff --git a/packages/eslint-config/package.json b/packages/eslint-config/package.json index b472d8c..a9483cc 100644 --- a/packages/eslint-config/package.json +++ b/packages/eslint-config/package.json @@ -8,12 +8,12 @@ "react-internal.js" ], "devDependencies": { + "@typescript-eslint/eslint-plugin": "^7.1.0", + "@typescript-eslint/parser": "^7.1.0", "@vercel/style-guide": "^5.1.0", - "eslint-config-turbo": "^1.11.3", "eslint-config-prettier": "^9.1.0", + "eslint-config-turbo": "^1.11.3", "eslint-plugin-only-warn": "^1.1.0", - "@typescript-eslint/parser": "^6.17.0", - "@typescript-eslint/eslint-plugin": "^6.17.0", "typescript": "^5.3.3" } } diff --git a/packages/runtime/package.json b/packages/runtime/package.json index b9faa39..395c105 100644 --- a/packages/runtime/package.json +++ b/packages/runtime/package.json @@ -25,7 +25,7 @@ "@react-unforget/eslint-config": "*", "@react-unforget/jest-config": "*", "@react-unforget/typescript-config": "*", - "@types/react": "^18.2.58", + "@types/react": "^18.2.61", "react": "^18.2.0", "tsup": "^8.0.2" }, diff --git a/yarn.lock b/yarn.lock index 477dcaa..cd42a76 100644 --- a/yarn.lock +++ b/yarn.lock @@ -296,7 +296,7 @@ dependencies: regenerator-runtime "^0.14.0" -"@babel/standalone@^7.23.10": +"@babel/standalone@^7.24.0": version "7.24.0" resolved "https://registry.yarnpkg.com/@babel/standalone/-/standalone-7.24.0.tgz#f18fe69246f8329c0b36a8cf6757a6a2f57d9067" integrity sha512-yIZ/X3EAASgX/MW1Bn8iZKxCwixgYJAUaIScoZ9C6Gapw5l3eKIbtVSgO/IGldQed9QXm22yurKVWyWj5/j+SQ== @@ -326,6 +326,22 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.24.0": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.0.tgz#4a408fbf364ff73135c714a2ab46a5eab2831b1e" + integrity sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw== + dependencies: + "@babel/code-frame" "^7.23.5" + "@babel/generator" "^7.23.6" + "@babel/helper-environment-visitor" "^7.22.20" + "@babel/helper-function-name" "^7.23.0" + "@babel/helper-hoist-variables" "^7.22.5" + "@babel/helper-split-export-declaration" "^7.22.6" + "@babel/parser" "^7.24.0" + "@babel/types" "^7.24.0" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.3.3": version "7.23.9" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002" @@ -1436,22 +1452,6 @@ resolved "https://registry.yarnpkg.com/@react-hook/passive-layout-effect/-/passive-layout-effect-1.2.1.tgz#c06dac2d011f36d61259aa1c6df4f0d5e28bc55e" integrity sha512-IwEphTD75liO8g+6taS+4oqz+nnroocNfWVHWz7j+N+ZO2vYrc6PV1q7GQhuahL0IOR7JccFTsFKQ/mb6iZWAg== -"@react-unforget/babel-plugin@0.1.0-dev.4": - version "0.1.0-dev.4" - resolved "https://registry.yarnpkg.com/@react-unforget/babel-plugin/-/babel-plugin-0.1.0-dev.4.tgz#583a4b5f0d43ba861ccd4fa1707b0fe1d8c2abbf" - integrity sha512-fIWTBAYyzLhh2MbgiCQf13AfUog/nIuc7Hc0UIiI1dtng8dWxDj6wWPh+zEgxXAoHWdGicPy81yxtu9o7yOTxA== - dependencies: - "@react-unforget/compiler" "0.1.0-dev.5" - -"@react-unforget/compiler@0.1.0-dev.5": - version "0.1.0-dev.5" - resolved "https://registry.yarnpkg.com/@react-unforget/compiler/-/compiler-0.1.0-dev.5.tgz#490cf25ce5b0ca1d38213b6fde4aa86d0d18ea03" - integrity sha512-F61wRReXZibnJy2hqarDy7WT0d77Ef6TMZ3e08JEacn8VEBJt1jSDIXJjNefugaHkKGINzCWoELNPhaA3no7OA== - dependencies: - "@babel/core" "^7.23.9" - "@babel/parser" "^7.23.9" - "@babel/traverse" "^7.23.9" - "@rollup/rollup-android-arm-eabi@4.12.0": version "4.12.0" resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz#38c3abd1955a3c21d492af6b1a1dca4bb1d894d6" @@ -1677,10 +1677,10 @@ dependencies: "@types/ms" "*" -"@types/eslint@^8.56.1": - version "8.56.3" - resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.3.tgz#d1f6b2303ac5ed53cb2cf59e0ab680cde1698f5f" - integrity sha512-PvSf1wfv2wJpVIFUMSb+i4PvqNYkB9Rkp9ZDO3oaWzq4SKhsQk4mrMBr3ZH06I0hKrVGLBacmgl8JM4WVjb9dg== +"@types/eslint@^8.56.5": + version "8.56.5" + resolved "https://registry.yarnpkg.com/@types/eslint/-/eslint-8.56.5.tgz#94b88cab77588fcecdd0771a6d576fa1c0af9d02" + integrity sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw== dependencies: "@types/estree" "*" "@types/json-schema" "*" @@ -1803,7 +1803,7 @@ resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433" integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g== -"@types/node@*", "@types/node@^20.10.6": +"@types/node@*": version "20.11.20" resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659" integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg== @@ -1815,6 +1815,13 @@ resolved "https://registry.yarnpkg.com/@types/node/-/node-12.20.55.tgz#c329cbd434c42164f846b909bd6f85b5537f6240" integrity sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ== +"@types/node@^20.11.24": + version "20.11.24" + resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.24.tgz#cc207511104694e84e9fb17f9a0c4c42d4517792" + integrity sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long== + dependencies: + undici-types "~5.26.4" + "@types/normalize-package-data@^2.4.0": version "2.4.4" resolved "https://registry.yarnpkg.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz#56e2cc26c397c038fab0e3a917a12d5c5909e901" @@ -1832,7 +1839,7 @@ dependencies: "@types/react" "*" -"@types/react@*", "@types/react@^18.2.46", "@types/react@^18.2.58": +"@types/react@*": version "18.2.58" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.58.tgz#22082d12898d11806f4a1aefb5583116a047493d" integrity sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw== @@ -1841,7 +1848,7 @@ "@types/scheduler" "*" csstype "^3.0.2" -"@types/react@>=16": +"@types/react@>=16", "@types/react@^18.2.61": version "18.2.61" resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.61.tgz#5607308495037436779939ec0348a5816c08799d" integrity sha512-NURTN0qNnJa7O/k4XUkEW2yfygA+NxS0V5h1+kp9jPwhzZy95q3ADoGMP0+JypMhrZBTTgjKAUlTctde1zzeQA== @@ -1892,7 +1899,7 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^6.17.0", "@typescript-eslint/eslint-plugin@^6.5.0": +"@typescript-eslint/eslint-plugin@^6.5.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.21.0.tgz#30830c1ca81fd5f3c2714e524c4303e0194f9cd3" integrity sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA== @@ -1909,7 +1916,24 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/parser@^6.17.0", "@typescript-eslint/parser@^6.5.0": +"@typescript-eslint/eslint-plugin@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.1.0.tgz#22bb999a8d59893c0ea07923e8a21f9d985ad740" + integrity sha512-j6vT/kCulhG5wBmGtstKeiVr1rdXE4nk+DT1k6trYkwlrvW9eOF5ZbgKnd/YR6PcM4uTEXa0h6Fcvf6X7Dxl0w== + dependencies: + "@eslint-community/regexpp" "^4.5.1" + "@typescript-eslint/scope-manager" "7.1.0" + "@typescript-eslint/type-utils" "7.1.0" + "@typescript-eslint/utils" "7.1.0" + "@typescript-eslint/visitor-keys" "7.1.0" + debug "^4.3.4" + graphemer "^1.4.0" + ignore "^5.2.4" + natural-compare "^1.4.0" + semver "^7.5.4" + ts-api-utils "^1.0.1" + +"@typescript-eslint/parser@^6.5.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-6.21.0.tgz#af8fcf66feee2edc86bc5d1cf45e33b0630bf35b" integrity sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ== @@ -1920,6 +1944,17 @@ "@typescript-eslint/visitor-keys" "6.21.0" debug "^4.3.4" +"@typescript-eslint/parser@^7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-7.1.0.tgz#b89dab90840f7d2a926bf4c23b519576e8c31970" + integrity sha512-V1EknKUubZ1gWFjiOZhDSNToOjs63/9O0puCgGS8aDOgpZY326fzFu15QAUjwaXzRZjf/qdsdBrckYdv9YxB8w== + dependencies: + "@typescript-eslint/scope-manager" "7.1.0" + "@typescript-eslint/types" "7.1.0" + "@typescript-eslint/typescript-estree" "7.1.0" + "@typescript-eslint/visitor-keys" "7.1.0" + debug "^4.3.4" + "@typescript-eslint/scope-manager@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz#d9457ccc6a0b8d6b37d0eb252a23022478c5460c" @@ -1936,6 +1971,14 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" +"@typescript-eslint/scope-manager@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-7.1.0.tgz#e4babaa39a3d612eff0e3559f3e99c720a2b4a54" + integrity sha512-6TmN4OJiohHfoOdGZ3huuLhpiUgOGTpgXNUPJgeZOZR3DnIpdSgtt83RS35OYNNXxM4TScVlpVKC9jyQSETR1A== + dependencies: + "@typescript-eslint/types" "7.1.0" + "@typescript-eslint/visitor-keys" "7.1.0" + "@typescript-eslint/type-utils@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-6.21.0.tgz#6473281cfed4dacabe8004e8521cee0bd9d4c01e" @@ -1946,6 +1989,16 @@ debug "^4.3.4" ts-api-utils "^1.0.1" +"@typescript-eslint/type-utils@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-7.1.0.tgz#372dfa470df181bcee0072db464dc778b75ed722" + integrity sha512-UZIhv8G+5b5skkcuhgvxYWHjk7FW7/JP5lPASMEUoliAPwIH/rxoUSQPia2cuOj9AmDZmwUl1usKm85t5VUMew== + dependencies: + "@typescript-eslint/typescript-estree" "7.1.0" + "@typescript-eslint/utils" "7.1.0" + debug "^4.3.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/types@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.62.0.tgz#258607e60effa309f067608931c3df6fed41fd2f" @@ -1956,6 +2009,11 @@ resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== +"@typescript-eslint/types@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-7.1.0.tgz#52a86d6236fda646e7e5fe61154991dc0dc433ef" + integrity sha512-qTWjWieJ1tRJkxgZYXx6WUYtWlBc48YRxgY2JN1aGeVpkhmnopq+SUC8UEVGNXIvWH7XyuTjwALfG6bFEgCkQA== + "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz#7d17794b77fabcac615d6a48fb143330d962eb9b" @@ -1983,6 +2041,20 @@ semver "^7.5.4" ts-api-utils "^1.0.1" +"@typescript-eslint/typescript-estree@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-7.1.0.tgz#419b1310f061feee6df676c5bed460537310c593" + integrity sha512-k7MyrbD6E463CBbSpcOnwa8oXRdHzH1WiVzOipK3L5KSML92ZKgUBrTlehdi7PEIMT8k0bQixHUGXggPAlKnOQ== + dependencies: + "@typescript-eslint/types" "7.1.0" + "@typescript-eslint/visitor-keys" "7.1.0" + debug "^4.3.4" + globby "^11.1.0" + is-glob "^4.0.3" + minimatch "9.0.3" + semver "^7.5.4" + ts-api-utils "^1.0.1" + "@typescript-eslint/utils@6.21.0": version "6.21.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-6.21.0.tgz#4714e7a6b39e773c1c8e97ec587f520840cd8134" @@ -1996,6 +2068,19 @@ "@typescript-eslint/typescript-estree" "6.21.0" semver "^7.5.4" +"@typescript-eslint/utils@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-7.1.0.tgz#710ecda62aff4a3c8140edabf3c5292d31111ddd" + integrity sha512-WUFba6PZC5OCGEmbweGpnNJytJiLG7ZvDBJJoUcX4qZYf1mGZ97mO2Mps6O2efxJcJdRNpqweCistDbZMwIVHw== + dependencies: + "@eslint-community/eslint-utils" "^4.4.0" + "@types/json-schema" "^7.0.12" + "@types/semver" "^7.5.0" + "@typescript-eslint/scope-manager" "7.1.0" + "@typescript-eslint/types" "7.1.0" + "@typescript-eslint/typescript-estree" "7.1.0" + semver "^7.5.4" + "@typescript-eslint/utils@^5.10.0", "@typescript-eslint/utils@^5.58.0": version "5.62.0" resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.62.0.tgz#141e809c71636e4a75daa39faed2fb5f4b10df86" @@ -2026,6 +2111,14 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" +"@typescript-eslint/visitor-keys@7.1.0": + version "7.1.0" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-7.1.0.tgz#576c4ad462ca1378135a55e2857d7aced96ce0a0" + integrity sha512-FhUqNWluiGNzlvnDZiXad4mZRhtghdoKW6e98GoEOYSu5cND+E39rG5KwJMUzeENwm1ztYBRqof8wMLP+wNPIA== + dependencies: + "@typescript-eslint/types" "7.1.0" + eslint-visitor-keys "^3.4.1" + "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@ungap/structured-clone/-/structured-clone-1.2.0.tgz#756641adb587851b5ccb3e095daf27ae581c8406"