diff --git a/package.json b/package.json index b1aac2d..8b17913 100644 --- a/package.json +++ b/package.json @@ -19,7 +19,7 @@ "test:u": "NODE_ENV=test vitest run --update", "test:update": "NODE_ENV=test vitest run --update", "test:watch": "NODE_ENV=test vitest", - "ts:watch": "tsc --noEmit --incremental --watch --project ./packages/workshop/tsconfig.json" + "tsc:watch": "tsc --noEmit --incremental --watch --project ./tsconfig.json" }, "workspaces": [ "packages/*" @@ -28,12 +28,12 @@ "devDependencies": { "@babel/eslint-parser": "^7.25.9", "@testing-library/react": "^16.1.0", - "@types/node": "^22.10.2", - "@typescript-eslint/eslint-plugin": "8.18.2", - "@typescript-eslint/parser": "^8.18.2", + "@types/node": "^22.10.5", + "@typescript-eslint/eslint-plugin": "8.19.0", + "@typescript-eslint/parser": "^8.19.0", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^2.1.8", - "concurrently": "^9.1.1", + "concurrently": "^9.1.2", "eslint": "^9.17.0", "eslint-config-next": "^15.1.3", "eslint-config-prettier": "^9.1.0", @@ -44,7 +44,7 @@ "react-dom": "^19.0.0", "prettier": "^3.4.2", "typescript": "^5.7.2", - "vite": "^6.0.6", + "vite": "^6.0.7", "vitest": "^2.1.8" }, "trustedDependencies": [ diff --git a/packages/benchmarks/tsconfig.json b/packages/benchmarks/tsconfig.json new file mode 100644 index 0000000..9eb8224 --- /dev/null +++ b/packages/benchmarks/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "allowJs": false, + "baseUrl": ".", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false + }, + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/components/components/Dot/Dot.tsx b/packages/components/components/Dot/Dot.tsx index 905fe93..4aa547e 100644 --- a/packages/components/components/Dot/Dot.tsx +++ b/packages/components/components/Dot/Dot.tsx @@ -1,4 +1,4 @@ -import { useContext, useId } from "react" +import { useId } from "react" import styles from "./Dot.module.css" import type { DotProps } from "./Dot.types" import type { FC } from "react" diff --git a/packages/components/components/Heading/Heading.tsx b/packages/components/components/Heading/Heading.tsx index 64d113d..7935b6c 100644 --- a/packages/components/components/Heading/Heading.tsx +++ b/packages/components/components/Heading/Heading.tsx @@ -55,4 +55,6 @@ export const Heading: FC = (props) => { default: null } + + return null } diff --git a/packages/components/components/Pie/Pie.types.ts b/packages/components/components/Pie/Pie.types.ts index 3fae960..f9bc0a2 100644 --- a/packages/components/components/Pie/Pie.types.ts +++ b/packages/components/components/Pie/Pie.types.ts @@ -1,4 +1,4 @@ -import type { HeliosColors, HeliosAttributeMeta } from "../.." +import type { HeliosColors } from "../.." export interface PieItem { name?: string diff --git a/packages/components/components/Radio/Radio.types.ts b/packages/components/components/Radio/Radio.types.ts index 9fa1d6d..f30ae85 100644 --- a/packages/components/components/Radio/Radio.types.ts +++ b/packages/components/components/Radio/Radio.types.ts @@ -1,5 +1,5 @@ import type { ChangeEvent } from "react" -import type { HeliosIntentionType, HeliosAttributeMeta } from "../.." +import type { HeliosIntentionType } from "../.." export interface RadioProps { intent: HeliosIntentionType diff --git a/packages/components/components/Setup/Setup.tsx b/packages/components/components/Setup/Setup.tsx index 530df86..3fbe0c1 100644 --- a/packages/components/components/Setup/Setup.tsx +++ b/packages/components/components/Setup/Setup.tsx @@ -15,7 +15,7 @@ declare global { } const code = (): void => { - globalThis.__onThemeChange = function (theme: HeliosThemes): void {} + globalThis.__onThemeChange = function (_theme: HeliosThemes): void {} const setTheme = (newTheme: HeliosThemes): void => { globalThis.__theme = newTheme diff --git a/packages/components/components/Text/Text.utils.spec.ts b/packages/components/components/Text/Text.utils.spec.ts index 13e519c..b4822d7 100644 --- a/packages/components/components/Text/Text.utils.spec.ts +++ b/packages/components/components/Text/Text.utils.spec.ts @@ -1,5 +1,5 @@ import { it, describe, expect } from "vitest" -import { _getFontWeight, getTypographyUtility } from "./Text.utils" +import { _getFontWeight } from "./Text.utils" describe("typography", () => { describe("_getFontWeight", () => { diff --git a/packages/components/components/shared/ResultList/ResultList.tsx b/packages/components/components/shared/ResultList/ResultList.tsx index 8b0b538..391cbce 100644 --- a/packages/components/components/shared/ResultList/ResultList.tsx +++ b/packages/components/components/shared/ResultList/ResultList.tsx @@ -1,7 +1,7 @@ import { getClasses } from "@heliosgraphics/utils/classnames" import { Checkbox, Flex, Icon, Text } from "../../.." import styles from "./ResultList.module.css" -import { forwardRef, type FC } from "react" +import { forwardRef } from "react" import type { ResultListProps } from "./ResultList.types" export const ResultList = forwardRef(({ items, isHidden }, ref) => { diff --git a/packages/components/hooks/useChatScroll.tsx b/packages/components/hooks/useChatScroll.tsx index cc27aa4..fbc46c2 100644 --- a/packages/components/hooks/useChatScroll.tsx +++ b/packages/components/hooks/useChatScroll.tsx @@ -2,7 +2,7 @@ import { useRef, useEffect, type RefObject } from "react" -export const useChatScroll = (dependencies: Array): RefObject => { +export const useChatScroll = (dependencies: Array): RefObject => { const ref = useRef(null) useEffect(() => { diff --git a/packages/components/hooks/useInterval.tsx b/packages/components/hooks/useInterval.tsx index bb54cd7..f03bf65 100644 --- a/packages/components/hooks/useInterval.tsx +++ b/packages/components/hooks/useInterval.tsx @@ -3,7 +3,7 @@ import { useEffect, useRef } from "react" export const useInterval = (callback: () => void, delay: number) => { - const savedCallback = useRef<() => void>() + const savedCallback = useRef<() => void>(null) useEffect(() => { savedCallback.current = callback diff --git a/packages/components/package.json b/packages/components/package.json index 499a954..8663f05 100644 --- a/packages/components/package.json +++ b/packages/components/package.json @@ -1,6 +1,6 @@ { "name": "@heliosgraphics/ui", - "version": "1.8.5", + "version": "1.8.6", "type": "module", "author": "03b8 <03b8@helios.graphics>", "private": false, @@ -41,10 +41,10 @@ }, "devDependencies": { "@testing-library/react": "^16.1.0", - "@types/node": "^22.10.2", + "@types/node": "^22.10.5", "@types/react": "^19.0.2", "@types/react-dom": "^19.0.2", - "@typescript-eslint/eslint-plugin": "^8.18.2", + "@typescript-eslint/eslint-plugin": "^8.19.0", "@vitejs/plugin-react": "^4.3.4", "@vitest/coverage-v8": "^2.1.8", "eslint": "^9.17.0", @@ -54,7 +54,7 @@ "next": "^15.1.3", "prettier": "^3.4.2", "typescript": "^5.7.2", - "vite": "^6.0.6", + "vite": "^6.0.7", "vitest": "^2.1.8" } } diff --git a/packages/components/tsconfig.json b/packages/components/tsconfig.json index bcbe691..9eb8224 100644 --- a/packages/components/tsconfig.json +++ b/packages/components/tsconfig.json @@ -1,24 +1,38 @@ { "compilerOptions": { - "target": "ES6", - "lib": ["dom", "dom.iterable", "esnext"], - "allowJs": true, - "skipLibCheck": true, - "strict": false, - "noEmit": true, - "incremental": true, - "module": "esnext", + "allowJs": false, + "baseUrl": ".", "esModuleInterop": true, - "moduleResolution": "node", - "resolveJsonModule": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, "isolatedModules": true, "jsx": "preserve", - "plugins": [ - { - "name": "next" - } - ] + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false }, - "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx", "globals.d.ts"], + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], "exclude": ["node_modules"] } diff --git a/packages/fractures/src/utils.ts b/packages/fractures/src/utils.ts index 7d5299e..33d4595 100644 --- a/packages/fractures/src/utils.ts +++ b/packages/fractures/src/utils.ts @@ -25,7 +25,7 @@ export const writeFile = (openFolder: string, contents: string): void => { } // gets the file statistics -export const getStats = (folder: string, fileName: string, content: string) => { +export const getStats = (folder: string, fileName: string, _content: string) => { fs.stat(folder, (error: any, stats: any) => { if (error) return console.log(`File doesn't exist.`) diff --git a/packages/fractures/tsconfig.json b/packages/fractures/tsconfig.json new file mode 100644 index 0000000..9eb8224 --- /dev/null +++ b/packages/fractures/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "allowJs": false, + "baseUrl": ".", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false + }, + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/icons/package.json b/packages/icons/package.json index a8ba4de..ef740dd 100644 --- a/packages/icons/package.json +++ b/packages/icons/package.json @@ -21,7 +21,7 @@ "@figma-export/cli": "^6.0.2", "@figma-export/output-components-as-svg": "^6.0.1", "@svgr/cli": "^8.1.0", - "@types/node": "^22.10.2", + "@types/node": "^22.10.5", "prettier": "^3.4.2", "svgo": "^3.3.2", "ts-node": "^10.9.2", diff --git a/packages/icons/tsconfig.json b/packages/icons/tsconfig.json new file mode 100644 index 0000000..9eb8224 --- /dev/null +++ b/packages/icons/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "allowJs": false, + "baseUrl": ".", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false + }, + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/packages/utils/tsconfig.json b/packages/utils/tsconfig.json new file mode 100644 index 0000000..9eb8224 --- /dev/null +++ b/packages/utils/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "allowJs": false, + "baseUrl": ".", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false + }, + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1e55386..deca6d3 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,23 +15,23 @@ importers: specifier: ^16.1.0 version: 16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/node': - specifier: ^22.10.2 - version: 22.10.2 + specifier: ^22.10.5 + version: 22.10.5 '@typescript-eslint/eslint-plugin': - specifier: 8.18.2 - version: 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + specifier: 8.19.0 + version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) '@typescript-eslint/parser': - specifier: ^8.18.2 - version: 8.18.2(eslint@9.17.0)(typescript@5.7.2) + specifier: ^8.19.0 + version: 8.19.0(eslint@9.17.0)(typescript@5.7.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.6(@types/node@22.10.2)) + version: 4.3.4(vite@6.0.7(@types/node@22.10.5)) '@vitest/coverage-v8': specifier: ^2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)) + version: 2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@25.0.1)) concurrently: - specifier: ^9.1.1 - version: 9.1.1 + specifier: ^9.1.2 + version: 9.1.2 eslint: specifier: ^9.17.0 version: 9.17.0 @@ -63,11 +63,11 @@ importers: specifier: ^5.7.2 version: 5.7.2 vite: - specifier: ^6.0.6 - version: 6.0.6(@types/node@22.10.2) + specifier: ^6.0.7 + version: 6.0.7(@types/node@22.10.5) vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1) + version: 2.1.8(@types/node@22.10.5)(jsdom@25.0.1) packages/benchmarks: dependencies: @@ -128,8 +128,8 @@ importers: specifier: ^16.1.0 version: 16.1.0(@testing-library/dom@10.4.0)(@types/react-dom@19.0.2(@types/react@19.0.2))(@types/react@19.0.2)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@types/node': - specifier: ^22.10.2 - version: 22.10.2 + specifier: ^22.10.5 + version: 22.10.5 '@types/react': specifier: ^19.0.2 version: 19.0.2 @@ -137,14 +137,14 @@ importers: specifier: ^19.0.2 version: 19.0.2(@types/react@19.0.2) '@typescript-eslint/eslint-plugin': - specifier: ^8.18.2 - version: 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + specifier: ^8.19.0 + version: 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) '@vitejs/plugin-react': specifier: ^4.3.4 - version: 4.3.4(vite@6.0.6(@types/node@22.10.2)) + version: 4.3.4(vite@6.0.7(@types/node@22.10.5)) '@vitest/coverage-v8': specifier: ^2.1.8 - version: 2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1)) + version: 2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@25.0.1)) eslint: specifier: ^9.17.0 version: 9.17.0 @@ -167,11 +167,11 @@ importers: specifier: ^5.7.2 version: 5.7.2 vite: - specifier: ^6.0.6 - version: 6.0.6(@types/node@22.10.2) + specifier: ^6.0.7 + version: 6.0.7(@types/node@22.10.5) vitest: specifier: ^2.1.8 - version: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1) + version: 2.1.8(@types/node@22.10.5)(jsdom@25.0.1) packages/fractures: devDependencies: @@ -194,8 +194,8 @@ importers: specifier: ^8.1.0 version: 8.1.0(typescript@5.7.2) '@types/node': - specifier: ^22.10.2 - version: 22.10.2 + specifier: ^22.10.5 + version: 22.10.5 prettier: specifier: ^3.4.2 version: 3.4.2 @@ -204,7 +204,7 @@ importers: version: 3.3.2 ts-node: specifier: ^10.9.2 - version: 10.9.2(@types/node@22.10.2)(typescript@5.7.2) + version: 10.9.2(@types/node@22.10.5)(typescript@5.7.2) typescript: specifier: ^5.7.2 version: 5.7.2 @@ -1176,8 +1176,8 @@ packages: '@types/mdurl@2.0.0': resolution: {integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==} - '@types/node@22.10.2': - resolution: {integrity: sha512-Xxr6BBRCAOQixvonOye19wnzyDiUtTeqldOOmj3CkeblonbccA12PFwlufvRdrpjXxqnmUaeiU5EOA+7s5diUQ==} + '@types/node@22.10.5': + resolution: {integrity: sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==} '@types/react-dom@19.0.2': resolution: {integrity: sha512-c1s+7TKFaDRRxr1TxccIX2u7sfCnc3RxkVyBIUA2lCpyqCF+QoAwQ/CBg7bsMdVwP120HEH143VQezKtef5nCg==} @@ -1193,51 +1193,51 @@ packages: '@types/uuid@10.0.0': resolution: {integrity: sha512-7gqG38EyHgyP1S+7+xomFtL+ZNHcKv6DwNaCZmJmo1vgMugyF3TCnXVg4t1uk89mLNwnLtnY3TpOpCOyp1/xHQ==} - '@typescript-eslint/eslint-plugin@8.18.2': - resolution: {integrity: sha512-adig4SzPLjeQ0Tm+jvsozSGiCliI2ajeURDGHjZ2llnA+A67HihCQ+a3amtPhUakd1GlwHxSRvzOZktbEvhPPg==} + '@typescript-eslint/eslint-plugin@8.19.0': + resolution: {integrity: sha512-NggSaEZCdSrFddbctrVjkVZvFC6KGfKfNK0CU7mNK/iKHGKbzT4Wmgm08dKpcZECBu9f5FypndoMyRHkdqfT1Q==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/parser@8.18.2': - resolution: {integrity: sha512-y7tcq4StgxQD4mDr9+Jb26dZ+HTZ/SkfqpXSiqeUXZHxOUyjWDKsmwKhJ0/tApR08DgOhrFAoAhyB80/p3ViuA==} + '@typescript-eslint/parser@8.19.0': + resolution: {integrity: sha512-6M8taKyOETY1TKHp0x8ndycipTVgmp4xtg5QpEZzXxDhNvvHOJi5rLRkLr8SK3jTgD5l4fTlvBiRdfsuWydxBw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/scope-manager@8.18.2': - resolution: {integrity: sha512-YJFSfbd0CJjy14r/EvWapYgV4R5CHzptssoag2M7y3Ra7XNta6GPAJPPP5KGB9j14viYXyrzRO5GkX7CRfo8/g==} + '@typescript-eslint/scope-manager@8.19.0': + resolution: {integrity: sha512-hkoJiKQS3GQ13TSMEiuNmSCvhz7ujyqD1x3ShbaETATHrck+9RaDdUbt+osXaUuns9OFwrDTTrjtwsU8gJyyRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.18.2': - resolution: {integrity: sha512-AB/Wr1Lz31bzHfGm/jgbFR0VB0SML/hd2P1yxzKDM48YmP7vbyJNHRExUE/wZsQj2wUCvbWH8poNHFuxLqCTnA==} + '@typescript-eslint/type-utils@8.19.0': + resolution: {integrity: sha512-TZs0I0OSbd5Aza4qAMpp1cdCYVnER94IziudE3JU328YUHgWu9gwiwhag+fuLeJ2LkWLXI+F/182TbG+JaBdTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/types@8.18.2': - resolution: {integrity: sha512-Z/zblEPp8cIvmEn6+tPDIHUbRu/0z5lqZ+NvolL5SvXWT5rQy7+Nch83M0++XzO0XrWRFWECgOAyE8bsJTl1GQ==} + '@typescript-eslint/types@8.19.0': + resolution: {integrity: sha512-8XQ4Ss7G9WX8oaYvD4OOLCjIQYgRQxO+qCiR2V2s2GxI9AUpo7riNwo6jDhKtTcaJjT8PY54j2Yb33kWtSJsmA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.18.2': - resolution: {integrity: sha512-WXAVt595HjpmlfH4crSdM/1bcsqh+1weFRWIa9XMTx/XHZ9TCKMcr725tLYqWOgzKdeDrqVHxFotrvWcEsk2Tg==} + '@typescript-eslint/typescript-estree@8.19.0': + resolution: {integrity: sha512-WW9PpDaLIFW9LCbucMSdYUuGeFUz1OkWYS/5fwZwTA+l2RwlWFdJvReQqMUMBw4yJWJOfqd7An9uwut2Oj8sLw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/utils@8.18.2': - resolution: {integrity: sha512-Cr4A0H7DtVIPkauj4sTSXVl+VBWewE9/o40KcF3TV9aqDEOWoXF3/+oRXNby3DYzZeCATvbdksYsGZzplwnK/Q==} + '@typescript-eslint/utils@8.19.0': + resolution: {integrity: sha512-PTBG+0oEMPH9jCZlfg07LCB2nYI0I317yyvXGfxnvGvw4SHIOuRnQ3kadyyXY6tGdChusIHIbM5zfIbp4M6tCg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.8.0' - '@typescript-eslint/visitor-keys@8.18.2': - resolution: {integrity: sha512-zORcwn4C3trOWiCqFQP1x6G3xTRyZ1LYydnj51cRnJ6hxBlr/cKPckk+PKPUw/fXmvfKTcw7bwY3w9izgx5jZw==} + '@typescript-eslint/visitor-keys@8.19.0': + resolution: {integrity: sha512-mCFtBbFBJDCNCWUl5y6sZSCHXw1DEFEk3c/M3nRK2a4XUB8StGFtmcEMizdjKuBzB6e/smJAAWYug3VrdLMr1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@use-gesture/core@10.3.1': @@ -1524,8 +1524,8 @@ packages: concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} - concurrently@9.1.1: - resolution: {integrity: sha512-6VX8lrBIycgZKTwBsWS+bLrmkGRkDmvtGsYylRN9b93CygN6CbK46HmnQ3rdSOR8HRjdahDrxb5MqD9cEFOg5Q==} + concurrently@9.1.2: + resolution: {integrity: sha512-H9MWcoPsYddwbOGM6difjVwVZHl63nwMEwDJG/L7VGtuaJhb12h2caPG2tVPWs7emuYix252iGfqOyrz1GczTQ==} engines: {node: '>=18'} hasBin: true @@ -3109,8 +3109,8 @@ packages: terser: optional: true - vite@6.0.6: - resolution: {integrity: sha512-NSjmUuckPmDU18bHz7QZ+bTYhRR0iA72cs2QAxCqDpafJ0S6qetco0LB3WW2OxlMHS0JmAv+yZ/R3uPmMyGTjQ==} + vite@6.0.7: + resolution: {integrity: sha512-RDt8r/7qx9940f8FcOIAH9PTViRrghKaK2K1jY3RaAURrEUbm9Du1mJ72G+jlhtG3WwodnfzY8ORQZbBavZEAQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: @@ -4065,7 +4065,7 @@ snapshots: '@types/mdurl@2.0.0': {} - '@types/node@22.10.2': + '@types/node@22.10.5': dependencies: undici-types: 6.20.0 @@ -4081,14 +4081,14 @@ snapshots: '@types/uuid@10.0.0': {} - '@typescript-eslint/eslint-plugin@8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/eslint-plugin@8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/type-utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/type-utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 eslint: 9.17.0 graphemer: 1.4.0 ignore: 5.3.2 @@ -4098,27 +4098,27 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.18.2': + '@typescript-eslint/scope-manager@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 - '@typescript-eslint/type-utils@8.18.2(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) - '@typescript-eslint/utils': 8.18.2(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.19.0(eslint@9.17.0)(typescript@5.7.2) debug: 4.4.0 eslint: 9.17.0 ts-api-utils: 1.4.3(typescript@5.7.2) @@ -4126,12 +4126,12 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.18.2': {} + '@typescript-eslint/types@8.19.0': {} - '@typescript-eslint/typescript-estree@8.18.2(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.19.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/visitor-keys': 8.18.2 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/visitor-keys': 8.19.0 debug: 4.4.0 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -4142,20 +4142,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.18.2(eslint@9.17.0)(typescript@5.7.2)': + '@typescript-eslint/utils@8.19.0(eslint@9.17.0)(typescript@5.7.2)': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.17.0) - '@typescript-eslint/scope-manager': 8.18.2 - '@typescript-eslint/types': 8.18.2 - '@typescript-eslint/typescript-estree': 8.18.2(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.19.0 + '@typescript-eslint/types': 8.19.0 + '@typescript-eslint/typescript-estree': 8.19.0(typescript@5.7.2) eslint: 9.17.0 typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.18.2': + '@typescript-eslint/visitor-keys@8.19.0': dependencies: - '@typescript-eslint/types': 8.18.2 + '@typescript-eslint/types': 8.19.0 eslint-visitor-keys: 4.2.0 '@use-gesture/core@10.3.1': {} @@ -4165,18 +4165,18 @@ snapshots: '@use-gesture/core': 10.3.1 react: 19.0.0 - '@vitejs/plugin-react@4.3.4(vite@6.0.6(@types/node@22.10.2))': + '@vitejs/plugin-react@4.3.4(vite@6.0.7(@types/node@22.10.5))': dependencies: '@babel/core': 7.26.0 '@babel/plugin-transform-react-jsx-self': 7.25.9(@babel/core@7.26.0) '@babel/plugin-transform-react-jsx-source': 7.25.9(@babel/core@7.26.0) '@types/babel__core': 7.20.5 react-refresh: 0.14.2 - vite: 6.0.6(@types/node@22.10.2) + vite: 6.0.7(@types/node@22.10.5) transitivePeerDependencies: - supports-color - '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1))': + '@vitest/coverage-v8@2.1.8(vitest@2.1.8(@types/node@22.10.5)(jsdom@25.0.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 0.2.3 @@ -4190,7 +4190,7 @@ snapshots: std-env: 3.8.0 test-exclude: 7.0.1 tinyrainbow: 1.2.0 - vitest: 2.1.8(@types/node@22.10.2)(jsdom@25.0.1) + vitest: 2.1.8(@types/node@22.10.5)(jsdom@25.0.1) transitivePeerDependencies: - supports-color @@ -4201,13 +4201,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.2))': + '@vitest/mocker@2.1.8(vite@5.4.11(@types/node@22.10.5))': dependencies: '@vitest/spy': 2.1.8 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 5.4.11(@types/node@22.10.2) + vite: 5.4.11(@types/node@22.10.5) '@vitest/pretty-format@2.1.8': dependencies: @@ -4486,7 +4486,7 @@ snapshots: concat-map@0.0.1: {} - concurrently@9.1.1: + concurrently@9.1.2: dependencies: chalk: 4.1.2 lodash: 4.17.21 @@ -4826,12 +4826,12 @@ snapshots: dependencies: '@next/eslint-plugin-next': 15.1.3 '@rushstack/eslint-patch': 1.10.4 - '@typescript-eslint/eslint-plugin': 8.18.2(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) - '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.19.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0) - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) eslint-plugin-jsx-a11y: 6.10.2(eslint@9.17.0) eslint-plugin-react: 7.37.3(eslint@9.17.0) eslint-plugin-react-hooks: 5.1.0(eslint@9.17.0) @@ -4866,22 +4866,22 @@ snapshots: is-glob: 4.0.3 stable-hash: 0.0.4 optionalDependencies: - eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) + eslint-plugin-import: 2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) transitivePeerDependencies: - supports-color - eslint-module-utils@2.12.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0): + eslint-module-utils@2.12.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 eslint-import-resolver-typescript: 3.7.0(eslint-plugin-import@2.31.0)(eslint@9.17.0) transitivePeerDependencies: - supports-color - eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0): + eslint-plugin-import@2.31.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0): dependencies: '@rtsao/scc': 1.1.0 array-includes: 3.1.8 @@ -4892,7 +4892,7 @@ snapshots: doctrine: 2.1.0 eslint: 9.17.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.18.2(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) + eslint-module-utils: 2.12.0(@typescript-eslint/parser@8.19.0(eslint@9.17.0)(typescript@5.7.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.7.0)(eslint@9.17.0) hasown: 2.0.2 is-core-module: 2.16.1 is-glob: 4.0.3 @@ -4904,7 +4904,7 @@ snapshots: string.prototype.trimend: 1.0.9 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 8.18.2(eslint@9.17.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.19.0(eslint@9.17.0)(typescript@5.7.2) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -6215,14 +6215,14 @@ snapshots: dependencies: typescript: 5.7.2 - ts-node@10.9.2(@types/node@22.10.2)(typescript@5.7.2): + ts-node@10.9.2(@types/node@22.10.5)(typescript@5.7.2): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 '@tsconfig/node12': 1.0.11 '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 - '@types/node': 22.10.2 + '@types/node': 22.10.5 acorn: 8.14.0 acorn-walk: 8.3.4 arg: 4.1.3 @@ -6304,13 +6304,13 @@ snapshots: v8-compile-cache-lib@3.0.1: {} - vite-node@2.1.8(@types/node@22.10.2): + vite-node@2.1.8(@types/node@22.10.5): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 1.1.2 - vite: 5.4.11(@types/node@22.10.2) + vite: 5.4.11(@types/node@22.10.5) transitivePeerDependencies: - '@types/node' - less @@ -6322,28 +6322,28 @@ snapshots: - supports-color - terser - vite@5.4.11(@types/node@22.10.2): + vite@5.4.11(@types/node@22.10.5): dependencies: esbuild: 0.21.5 postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 fsevents: 2.3.3 - vite@6.0.6(@types/node@22.10.2): + vite@6.0.7(@types/node@22.10.5): dependencies: esbuild: 0.24.2 postcss: 8.4.49 rollup: 4.29.1 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 fsevents: 2.3.3 - vitest@2.1.8(@types/node@22.10.2)(jsdom@25.0.1): + vitest@2.1.8(@types/node@22.10.5)(jsdom@25.0.1): dependencies: '@vitest/expect': 2.1.8 - '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.2)) + '@vitest/mocker': 2.1.8(vite@5.4.11(@types/node@22.10.5)) '@vitest/pretty-format': 2.1.8 '@vitest/runner': 2.1.8 '@vitest/snapshot': 2.1.8 @@ -6359,11 +6359,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.2 tinyrainbow: 1.2.0 - vite: 5.4.11(@types/node@22.10.2) - vite-node: 2.1.8(@types/node@22.10.2) + vite: 5.4.11(@types/node@22.10.5) + vite-node: 2.1.8(@types/node@22.10.5) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.10.2 + '@types/node': 22.10.5 jsdom: 25.0.1 transitivePeerDependencies: - less diff --git a/tsconfig.json b/tsconfig.json new file mode 100644 index 0000000..9eb8224 --- /dev/null +++ b/tsconfig.json @@ -0,0 +1,38 @@ +{ + "compilerOptions": { + "allowJs": false, + "baseUrl": ".", + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "incremental": true, + "isolatedModules": true, + "jsx": "preserve", + "lib": ["dom", "dom.iterable", "esnext"], + "module": "esnext", + "moduleResolution": "bundler", + "noEmit": true, + "noFallthroughCasesInSwitch": true, + "noImplicitAny": false, + "noImplicitOverride": true, + "noImplicitReturns": true, + "noImplicitThis": true, + "noPropertyAccessFromIndexSignature": false, + "noUncheckedIndexedAccess": false, + "noUnusedLocals": true, + "noUnusedParameters": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "strictBindCallApply": true, + "strictFunctionTypes": true, + "strictNullChecks": true, + "strictPropertyInitialization": true, + "target": "ES2022", + "useDefineForClassFields": true, + "verbatimModuleSyntax": false + }, + "typeRoots": ["./node_modules/@types", "./types"], + "include": ["next-env.d.ts", ".next/types/**/*.ts", "**/*.ts", "**/*.tsx"], + "exclude": ["node_modules"] +}