diff --git a/.oxlintrc.json b/.oxlintrc.json index 2c20d82c..86928e4b 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -185,8 +185,96 @@ "typescript/unbound-method": "error", "typescript/unified-signatures": "error", "typescript/use-unknown-in-catch-callback-variable": "error", - "react/rules-of-hooks": "error", - "react/exhaustive-deps": "warn", + "no-empty-function": "off", + "typescript/adjacent-overload-signatures": "error", + "typescript/array-type": "error", + "typescript/ban-tslint-comment": "error", + "typescript/class-literal-property-style": "error", + "typescript/consistent-generic-constructors": "error", + "typescript/consistent-indexed-object-style": "error", + "typescript/consistent-type-assertions": "error", + "typescript/consistent-type-definitions": "error", + "typescript/dot-notation": "error", + "typescript/no-confusing-non-null-assertion": "error", + "typescript/no-inferrable-types": "error", + "typescript/non-nullable-type-assertion-style": "error", + "typescript/prefer-find": "error", + "typescript/prefer-for-of": "error", + "typescript/prefer-function-type": "error", + "typescript/prefer-includes": "error", + "typescript/prefer-nullish-coalescing": "error", + "typescript/prefer-optional-chain": "error", + "typescript/prefer-regexp-exec": "error", + "typescript/prefer-string-starts-ends-with": "error", + "react-x/error-boundaries": "error", + "react-x/exhaustive-deps": "warn", + "react-x/no-access-state-in-setstate": "error", + "react-x/no-array-index-key": "warn", + "react-x/no-children-count": "warn", + "react-x/no-children-for-each": "warn", + "react-x/no-children-map": "warn", + "react-x/no-children-only": "warn", + "react-x/no-children-to-array": "warn", + "react-x/no-clone-element": "warn", + "react-x/no-component-will-mount": "error", + "react-x/no-component-will-receive-props": "error", + "react-x/no-component-will-update": "error", + "react-x/no-context-provider": "warn", + "react-x/no-create-ref": "error", + "react-x/no-direct-mutation-state": "error", + "react-x/no-forward-ref": "warn", + "react-x/no-missing-key": "error", + "react-x/no-nested-component-definitions": "error", + "react-x/no-nested-lazy-component-declarations": "error", + "react-x/no-set-state-in-component-did-mount": "warn", + "react-x/no-set-state-in-component-did-update": "warn", + "react-x/no-set-state-in-component-will-update": "warn", + "react-x/no-unnecessary-use-prefix": "warn", + "react-x/no-unsafe-component-will-mount": "warn", + "react-x/no-unsafe-component-will-receive-props": "warn", + "react-x/no-unsafe-component-will-update": "warn", + "react-x/no-unused-class-component-members": "warn", + "react-x/no-use-context": "warn", + "react-x/purity": "warn", + "react-x/rules-of-hooks": "error", + "react-x/set-state-in-effect": "warn", + "react-x/set-state-in-render": "error", + "react-x/static-components": "error", + "react-x/unsupported-syntax": "error", + "react-x/use-memo": "error", + "react-x/use-state": "warn", + "react-x/no-class-component": "error", + "react-x/no-misused-capture-owner-stack": "error", + "react-x/no-unstable-context-value": "warn", + "react-x/no-unstable-default-props": "warn", + "react-dom/no-dangerously-set-innerhtml": "warn", + "react-dom/no-dangerously-set-innerhtml-with-children": "error", + "react-dom/no-find-dom-node": "error", + "react-dom/no-flush-sync": "error", + "react-dom/no-hydrate": "error", + "react-dom/no-render": "error", + "react-dom/no-render-return-value": "error", + "react-dom/no-script-url": "warn", + "react-dom/no-unsafe-iframe-sandbox": "warn", + "react-dom/no-use-form-state": "error", + "react-dom/no-void-elements-with-children": "error", + "react-dom/no-missing-button-type": "warn", + "react-dom/no-missing-iframe-sandbox": "warn", + "react-dom/no-unsafe-target-blank": "warn", + "react-jsx/no-children-prop": "error", + "react-jsx/no-children-prop-with-children": "error", + "react-jsx/no-comment-textnodes": "warn", + "react-jsx/no-key-after-spread": "error", + "react-jsx/no-leaked-dollar": "warn", + "react-jsx/no-leaked-semicolon": "warn", + "react-jsx/no-namespace": "error", + "react-jsx/no-useless-fragment": "warn", + "react-naming-convention/context-name": "warn", + "react-naming-convention/id-name": "warn", + "react-naming-convention/ref-name": "warn", + "react-perf/jsx-no-new-object-as-prop": "error", + "react-perf/jsx-no-new-array-as-prop": "error", + "react-perf/jsx-no-new-function-as-prop": "error", "import/named": "off", "import/namespace": "error", "import/default": "error", @@ -248,9 +336,7 @@ "jsx-a11y/role-supports-aria-props": "error", "jsx-a11y/scope": "error", "jsx-a11y/tabindex-no-positive": "error", - "react-perf/jsx-no-new-object-as-prop": "error", - "react-perf/jsx-no-new-array-as-prop": "error", - "react-perf/jsx-no-new-function-as-prop": "error", + "logical-assignment-operators": "off", "no-negated-condition": "off", "no-nested-ternary": "off", "unicorn/catch-error-name": "error", @@ -265,6 +351,7 @@ "unicorn/error-message": "error", "unicorn/escape-case": "error", "unicorn/explicit-length-check": "error", + "unicorn/explicit-timer-delay": "error", "unicorn/filename-case": [ "error", { @@ -272,6 +359,7 @@ } ], "unicorn/import-style": "error", + "unicorn/max-nested-calls": "error", "unicorn/new-for-builtins": "error", "unicorn/no-abusive-eslint-disable": "error", "unicorn/no-accessor-recursion": "error", @@ -284,6 +372,7 @@ "unicorn/no-array-sort": "error", "unicorn/no-await-expression-member": "error", "unicorn/no-await-in-promise-methods": "error", + "unicorn/no-confusing-array-with": "error", "unicorn/no-console-spaces": "error", "unicorn/no-document-cookie": "error", "unicorn/no-empty-file": "error", @@ -356,6 +445,7 @@ "unicorn/prefer-native-coercion-functions": "error", "unicorn/prefer-negative-index": "error", "unicorn/prefer-node-protocol": "error", + "unicorn/prefer-number-coercion": "error", "unicorn/prefer-number-properties": "error", "unicorn/prefer-object-from-entries": "error", "unicorn/prefer-optional-catch-binding": "error", @@ -387,65 +477,276 @@ "unicorn/switch-case-break-position": "error", "unicorn/text-encoding-identifier-case": "error", "unicorn/throw-new-error": "error", - "react-x/error-boundaries": "error", - "react-x/exhaustive-deps": "warn", - "react-x/no-access-state-in-setstate": "error", - "react-x/no-array-index-key": "warn", - "react-x/no-children-count": "warn", - "react-x/no-children-for-each": "warn", - "react-x/no-children-map": "warn", - "react-x/no-children-only": "warn", - "react-x/no-children-to-array": "warn", - "react-x/no-clone-element": "warn", - "react-x/no-component-will-mount": "error", - "react-x/no-component-will-receive-props": "error", - "react-x/no-component-will-update": "error", - "react-x/no-context-provider": "warn", - "react-x/no-create-ref": "error", - "react-x/no-direct-mutation-state": "error", - "react-x/no-forward-ref": "warn", - "react-x/no-missing-key": "error", - "react-x/no-nested-component-definitions": "error", - "react-x/no-nested-lazy-component-declarations": "error", - "react-x/no-set-state-in-component-did-mount": "warn", - "react-x/no-set-state-in-component-did-update": "warn", - "react-x/no-set-state-in-component-will-update": "warn", - "react-x/no-unnecessary-use-prefix": "warn", - "react-x/no-unsafe-component-will-mount": "warn", - "react-x/no-unsafe-component-will-receive-props": "warn", - "react-x/no-unsafe-component-will-update": "warn", - "react-x/no-unused-class-component-members": "warn", - "react-x/no-use-context": "warn", - "react-x/purity": "warn", - "react-x/rules-of-hooks": "error", - "react-x/set-state-in-effect": "warn", - "react-x/set-state-in-render": "error", - "react-x/static-components": "error", - "react-x/unsupported-syntax": "error", - "react-x/use-memo": "error", - "react-x/use-state": "warn", - "react-dom/no-dangerously-set-innerhtml": "warn", - "react-dom/no-dangerously-set-innerhtml-with-children": "error", - "react-dom/no-find-dom-node": "error", - "react-dom/no-flush-sync": "error", - "react-dom/no-hydrate": "error", - "react-dom/no-render": "error", - "react-dom/no-render-return-value": "error", - "react-dom/no-script-url": "warn", - "react-dom/no-unsafe-iframe-sandbox": "warn", - "react-dom/no-use-form-state": "error", - "react-dom/no-void-elements-with-children": "error", - "react-naming-convention/context-name": "warn", - "react-naming-convention/id-name": "warn", - "react-naming-convention/ref-name": "warn", - "react-jsx/no-children-prop": "warn", - "react-jsx/no-children-prop-with-children": "error", - "react-jsx/no-comment-textnodes": "warn", - "react-jsx/no-key-after-spread": "error", - "react-jsx/no-leaked-dollar": "warn", - "react-jsx/no-leaked-semicolon": "warn", - "react-jsx/no-namespace": "error", - "react/only-export-components": "off", + "react/rules-of-hooks": "error", + "react/exhaustive-deps": "warn", + "sonarjs/function-name": "off", + "sonarjs/class-name": "error", + "sonarjs/max-lines": "off", + "sonarjs/no-tab": "off", + "sonarjs/variable-name": "off", + "sonarjs/comment-regex": "off", + "sonarjs/no-commented-code": "off", + "sonarjs/elseif-without-else": "off", + "sonarjs/no-fallthrough": "error", + "sonarjs/nested-control-flow": "off", + "sonarjs/too-many-break-or-continue-in-loop": "off", + "sonarjs/max-lines-per-function": "off", + "sonarjs/no-nested-incdec": "off", + "sonarjs/no-equals-in-for-termination": "error", + "sonarjs/no-extra-arguments": "error", + "sonarjs/no-collapsible-if": "off", + "sonarjs/expression-complexity": "off", + "sonarjs/no-redundant-parentheses": "off", + "sonarjs/no-labels": "error", + "sonarjs/no-nested-assignment": "error", + "sonarjs/no-redundant-boolean": "error", + "sonarjs/prefer-single-boolean-return": "error", + "sonarjs/unused-import": "error", + "sonarjs/fixme-tag": "error", + "sonarjs/todo-tag": "error", + "sonarjs/useless-string-operation": "off", + "sonarjs/no-unused-function-argument": "off", + "sonarjs/no-duplicate-string": "off", + "sonarjs/no-case-label-in-switch": "error", + "sonarjs/no-parameter-reassignment": "error", + "sonarjs/no-floating-point-equality": "error", + "sonarjs/prefer-while": "error", + "sonarjs/no-sonar-comments": "off", + "sonarjs/no-small-switch": "error", + "sonarjs/no-hardcoded-ip": "error", + "sonarjs/label-position": "error", + "sonarjs/public-static-readonly": "error", + "sonarjs/file-header": "off", + "sonarjs/call-argument-line": "error", + "sonarjs/max-switch-cases": "error", + "sonarjs/no-unused-vars": "error", + "sonarjs/prefer-immediate-return": "off", + "sonarjs/function-inside-loop": "error", + "sonarjs/code-eval": "error", + "sonarjs/no-variable-usage-before-declaration": "off", + "sonarjs/future-reserved-words": "error", + "sonarjs/array-constructor": "off", + "sonarjs/bitwise-operators": "error", + "sonarjs/no-function-declaration-in-block": "off", + "sonarjs/no-primitive-wrappers": "error", + "sonarjs/for-in": "off", + "sonarjs/cyclomatic-complexity": "off", + "sonarjs/no-skipped-tests": "error", + "sonarjs/no-identical-expressions": "error", + "sonarjs/no-nested-switch": "off", + "sonarjs/constructor-for-side-effects": "error", + "sonarjs/no-dead-store": "error", + "sonarjs/no-identical-conditions": "error", + "sonarjs/no-duplicated-branches": "error", + "sonarjs/deprecation": "error", + "sonarjs/no-inverted-boolean-check": "error", + "sonarjs/misplaced-loop-counter": "error", + "sonarjs/no-nested-functions": "error", + "sonarjs/no-hardcoded-passwords": "error", + "sonarjs/sql-queries": "error", + "sonarjs/insecure-cookie": "error", + "sonarjs/no-useless-increment": "error", + "sonarjs/no-globals-shadowing": "error", + "sonarjs/no-undefined-assignment": "off", + "sonarjs/no-empty-test-file": "error", + "sonarjs/no-ignored-return": "error", + "sonarjs/no-wildcard-import": "off", + "sonarjs/arguments-order": "error", + "sonarjs/pseudo-random": "error", + "sonarjs/for-loop-increment-sign": "error", + "sonarjs/null-dereference": "error", + "sonarjs/no-selector-parameter": "error", + "sonarjs/updated-loop-counter": "error", + "sonarjs/block-scoped-var": "error", + "sonarjs/no-built-in-override": "off", + "sonarjs/prefer-object-literal": "off", + "sonarjs/no-ignored-exceptions": "error", + "sonarjs/no-gratuitous-expressions": "error", + "sonarjs/file-uploads": "error", + "sonarjs/file-permissions": "error", + "sonarjs/no-empty-character-class": "error", + "sonarjs/no-unenclosed-multiline-block": "error", + "sonarjs/index-of-compare-to-positive-number": "error", + "sonarjs/assertions-in-tests": "error", + "sonarjs/no-implicit-global": "error", + "sonarjs/no-useless-catch": "error", + "sonarjs/xml-parser-xxe": "error", + "sonarjs/non-existent-operator": "error", + "sonarjs/web-sql-database": "off", + "sonarjs/post-message": "error", + "sonarjs/no-array-delete": "error", + "sonarjs/no-alphabetical-sort": "error", + "sonarjs/no-incomplete-assertions": "error", + "sonarjs/no-global-this": "error", + "sonarjs/new-operator-misuse": "error", + "sonarjs/no-delete-var": "error", + "sonarjs/strings-comparison": "off", + "sonarjs/file-name-differ-from-class": "off", + "sonarjs/cookie-no-httponly": "error", + "sonarjs/no-nested-conditional": "error", + "sonarjs/no-incorrect-string-concat": "off", + "sonarjs/different-types-comparison": "error", + "sonarjs/inverted-assertion-arguments": "error", + "sonarjs/shorthand-property-grouping": "off", + "sonarjs/updated-const-var": "error", + "sonarjs/arguments-usage": "off", + "sonarjs/destructuring-assignment-syntax": "off", + "sonarjs/no-invariant-returns": "error", + "sonarjs/arrow-function-convention": "off", + "sonarjs/class-prototype": "off", + "sonarjs/generator-without-yield": "error", + "sonarjs/no-require-or-define": "off", + "sonarjs/no-associative-arrays": "error", + "sonarjs/comma-or-logical-or-case": "error", + "sonarjs/no-redundant-jump": "error", + "sonarjs/inconsistent-function-call": "error", + "sonarjs/no-use-of-empty-return-value": "error", + "sonarjs/void-use": "off", + "sonarjs/operation-returning-nan": "off", + "sonarjs/values-not-convertible-to-numbers": "off", + "sonarjs/non-number-in-arithmetic-expression": "off", + "sonarjs/cognitive-complexity": "off", + "sonarjs/argument-type": "error", + "sonarjs/in-operator-type-error": "error", + "sonarjs/array-callback-without-return": "error", + "sonarjs/declarations-in-global-scope": "off", + "sonarjs/function-return-type": "error", + "sonarjs/no-inconsistent-returns": "off", + "sonarjs/no-reference-error": "off", + "sonarjs/no-all-duplicated-branches": "error", + "sonarjs/no-same-line-conditional": "error", + "sonarjs/conditional-indentation": "off", + "sonarjs/no-collection-size-mischeck": "error", + "sonarjs/no-unthrown-error": "error", + "sonarjs/no-unused-collection": "error", + "sonarjs/no-os-command-from-path": "error", + "sonarjs/no-misleading-array-reverse": "error", + "sonarjs/no-for-in-iterable": "off", + "sonarjs/no-element-overwrite": "error", + "sonarjs/no-identical-functions": "error", + "sonarjs/no-empty-collection": "error", + "sonarjs/no-redundant-assignments": "error", + "sonarjs/prefer-type-guard": "error", + "sonarjs/use-type-alias": "error", + "sonarjs/no-return-type-any": "off", + "sonarjs/no-implicit-dependencies": "off", + "sonarjs/no-useless-intersection": "error", + "sonarjs/weak-ssl": "error", + "sonarjs/no-weak-keys": "error", + "sonarjs/csrf": "error", + "sonarjs/production-debug": "error", + "sonarjs/prefer-default-last": "error", + "sonarjs/no-in-misuse": "error", + "sonarjs/no-duplicate-in-composite": "error", + "sonarjs/max-union-size": "off", + "sonarjs/no-undefined-argument": "error", + "sonarjs/no-nested-template-literals": "error", + "sonarjs/prefer-promise-shorthand": "error", + "sonarjs/os-command": "off", + "sonarjs/no-redundant-optional": "error", + "sonarjs/hashing": "error", + "sonarjs/bool-param-default": "off", + "sonarjs/no-try-promise": "error", + "sonarjs/unverified-certificate": "error", + "sonarjs/no-unsafe-unzip": "off", + "sonarjs/cors": "error", + "sonarjs/link-with-target-blank": "error", + "sonarjs/disabled-auto-escaping": "error", + "sonarjs/table-header": "error", + "sonarjs/no-table-as-layout": "error", + "sonarjs/table-header-reference": "error", + "sonarjs/object-alt-content": "error", + "sonarjs/no-clear-text-protocols": "error", + "sonarjs/publicly-writable-directories": "error", + "sonarjs/unverified-hostname": "error", + "sonarjs/encryption-secure-mode": "error", + "sonarjs/no-weak-cipher": "error", + "sonarjs/no-intrusive-permissions": "off", + "sonarjs/insecure-jwt-token": "error", + "sonarjs/x-powered-by": "error", + "sonarjs/hidden-files": "off", + "sonarjs/content-length": "error", + "sonarjs/disabled-resource-integrity": "error", + "sonarjs/content-security-policy": "error", + "sonarjs/no-mixed-content": "off", + "sonarjs/frame-ancestors": "off", + "sonarjs/no-mime-sniff": "error", + "sonarjs/no-referrer-policy": "error", + "sonarjs/strict-transport-security": "error", + "sonarjs/confidential-information-logging": "off", + "sonarjs/no-ip-forward": "off", + "sonarjs/empty-string-repetition": "error", + "sonarjs/regex-complexity": "error", + "sonarjs/no-incompatible-assertion-types": "error", + "sonarjs/anchor-precedence": "error", + "sonarjs/slow-regex": "error", + "sonarjs/no-invalid-regexp": "error", + "sonarjs/unused-named-groups": "error", + "sonarjs/no-same-argument-assert": "error", + "sonarjs/unicode-aware-regex": "off", + "sonarjs/no-misleading-character-class": "error", + "sonarjs/duplicates-in-character-class": "error", + "sonarjs/session-regeneration": "error", + "sonarjs/prefer-specific-assertions": "error", + "sonarjs/no-trivial-assertions": "error", + "sonarjs/test-check-exception": "error", + "sonarjs/stable-tests": "error", + "sonarjs/no-empty-after-reluctant": "error", + "sonarjs/single-character-alternation": "error", + "sonarjs/no-code-after-done": "error", + "sonarjs/disabled-timeout": "error", + "sonarjs/chai-determinate-assertion": "error", + "sonarjs/aws-s3-bucket-insecure-http": "error", + "sonarjs/aws-s3-bucket-versioning": "error", + "sonarjs/aws-s3-bucket-granted-access": "error", + "sonarjs/no-angular-bypass-sanitization": "error", + "sonarjs/aws-iam-public-access": "error", + "sonarjs/aws-ec2-unencrypted-ebs-volume": "error", + "sonarjs/aws-s3-bucket-public-access": "error", + "sonarjs/aws-iam-all-privileges": "error", + "sonarjs/aws-rds-unencrypted-databases": "error", + "sonarjs/aws-iam-all-resources-accessible": "off", + "sonarjs/aws-opensearchservice-domain": "error", + "sonarjs/aws-iam-privilege-escalation": "error", + "sonarjs/aws-sagemaker-unencrypted-notebook": "error", + "sonarjs/aws-restricted-ip-admin-access": "error", + "sonarjs/no-empty-alternatives": "error", + "sonarjs/no-control-regex": "error", + "sonarjs/no-regex-spaces": "error", + "sonarjs/aws-sns-unencrypted-topics": "error", + "sonarjs/existing-groups": "error", + "sonarjs/aws-ec2-rds-dms-public": "error", + "sonarjs/aws-sqs-unencrypted-queue": "error", + "sonarjs/no-empty-group": "error", + "sonarjs/aws-efs-unencrypted": "error", + "sonarjs/aws-apigateway-public-api": "error", + "sonarjs/stateful-regex": "error", + "sonarjs/concise-regex": "error", + "sonarjs/single-char-in-character-classes": "error", + "sonarjs/no-hardcoded-secrets": "error", + "sonarjs/no-exclusive-tests": "error", + "sonarjs/hardcoded-secret-signatures": "error", + "sonarjs/jsx-no-leaked-render": "error", + "sonarjs/no-hook-setter-in-body": "error", + "sonarjs/no-useless-react-setstate": "error", + "sonarjs/no-uniq-key": "error", + "sonarjs/redundant-type-aliases": "error", + "sonarjs/prefer-regexp-exec": "error", + "sonarjs/no-internal-api-use": "error", + "sonarjs/prefer-read-only-props": "error", + "sonarjs/no-literal-call": "error", + "sonarjs/reduce-initial-value": "error", + "sonarjs/no-async-constructor": "error", + "sonarjs/review-blockchain-mnemonic": "error", + "sonarjs/dynamically-constructed-templates": "error", + "sonarjs/no-session-cookies-on-static-assets": "error", + "sonarjs/dompurify-unsafe-config": "error", + "sonarjs/no-duplicate-test-title": "error", + "sonarjs/async-test-assertions": "error", + "sonarjs/no-empty-test-title": "error", + "sonarjs/hooks-before-test-cases": "error", + "sonarjs/no-forced-browser-interaction": "error", + "sonarjs/super-linear-regex": "error", "perfectionist/sort-variable-declarations": [ "error", { @@ -556,21 +857,22 @@ "@tanstack/router/create-route-property-order": "warn", "@tanstack/router/route-param-names": "error" }, - "plugins": ["typescript", "react", "import", "jsx-a11y", "react-perf", "unicorn"], - "env": { - "es2026": true, - "es2020": true, - "browser": true - }, + "plugins": ["typescript", "react-perf", "import", "jsx-a11y", "unicorn", "react"], "jsPlugins": [ "eslint-plugin-react-x", "eslint-plugin-react-dom", - "eslint-plugin-react-naming-convention", "eslint-plugin-react-jsx", + "eslint-plugin-react-naming-convention", + "eslint-plugin-sonarjs", "eslint-plugin-perfectionist", "@tanstack/eslint-plugin-query", "@tanstack/eslint-plugin-router" - ] + ], + "env": { + "es2026": true, + "es2020": true, + "browser": true + } } ] } diff --git a/eslint.config.js b/eslint.config.js index 1f5ad199..a1577662 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -18,7 +18,7 @@ export default defineConfig([ "src/components/ui", "!src/components/ui/theme-provider.tsx", "!src/components/ui/carousel.tsx", - "!src/components/ui/data-table.tsx" + "!src/components/ui/data-table.tsx", ]), { @@ -47,6 +47,7 @@ export default defineConfig([ ecmaVersion: 2020, globals: globals.browser, parserOptions: { + parser: tseslint.parser, project: ["./tsconfig.node.json", "./tsconfig.app.json"], tsconfigRootDir: import.meta.dirname, }, diff --git a/package.json b/package.json index 7e4763cc..52b89b74 100644 --- a/package.json +++ b/package.json @@ -60,6 +60,7 @@ "eslint-plugin-react-jsx": "^5.12.0", "eslint-plugin-react-naming-convention": "^5.12.0", "eslint-plugin-react-x": "^5.12.0", + "eslint-plugin-sonarjs": "^4.1.0", "globals": "^17.7.0", "oxfmt": "^0.58.0", "oxlint": "^1.73.0", @@ -68,8 +69,7 @@ "shadcn": "^4.13.0", "tailwindcss": "^4.3.2", "tw-animate-css": "^1.4.0", - "@typescript/native": "npm:typescript@^7.0.2", - "typescript": "npm:@typescript/typescript6@^6.0.2", + "typescript": "^6.0.3", "typescript-eslint": "^8.62.1", "vite": "^8.1.3" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 7452bc25..5f8e3a19 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -104,10 +104,10 @@ importers: version: 4.3.2(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)) '@tanstack/eslint-plugin-query': specifier: ^5.101.2 - version: 5.101.2(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.101.2(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@tanstack/eslint-plugin-router': specifier: ^1.162.0 - version: 1.162.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 1.162.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@tanstack/router-plugin': specifier: ^1.168.19 version: 1.168.19(@tanstack/react-router@1.170.17(react-dom@19.2.7(react@19.2.7))(react@19.2.7))(rolldown@1.1.5)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)) @@ -123,9 +123,6 @@ importers: '@types/react-dom': specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.17) - '@typescript/native': - specifier: npm:typescript@^7.0.2 - version: typescript@7.0.2 '@vitejs/plugin-react': specifier: ^6.0.3 version: 6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.1.5)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)) @@ -137,28 +134,31 @@ importers: version: 10.7.0(jiti@2.7.0) eslint-plugin-better-tailwindcss: specifier: ^4.6.1 - version: 4.6.1(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))(oxlint@1.73.0(oxlint-tsgolint@0.24.0))(tailwindcss@4.3.2) + version: 4.6.1(eslint@10.7.0(jiti@2.7.0))(oxlint@1.73.0(oxlint-tsgolint@0.24.0))(tailwindcss@4.3.2)(typescript@6.0.3) eslint-plugin-oxlint: specifier: ^1.73.0 version: 1.73.0(oxlint@1.73.0(oxlint-tsgolint@0.24.0)) eslint-plugin-perfectionist: specifier: ^5.10.0 - version: 5.10.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.10.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-react-dom: specifier: ^5.12.0 - version: 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-react-hooks: specifier: ^7.1.1 version: 7.1.1(eslint@10.7.0(jiti@2.7.0)) eslint-plugin-react-jsx: specifier: ^5.12.0 - version: 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-react-naming-convention: specifier: ^5.12.0 - version: 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint-plugin-react-x: specifier: ^5.12.0 - version: 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + eslint-plugin-sonarjs: + specifier: ^4.1.0 + version: 4.1.0(eslint@10.7.0(jiti@2.7.0)) globals: specifier: ^17.7.0 version: 17.7.0 @@ -176,7 +176,7 @@ importers: version: 0.5.7(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1))(eslint@10.7.0(jiti@2.7.0))(oxlint-tsgolint@0.24.0)(react-dom@19.2.7(react@19.2.7))(react@19.2.7)(rolldown@1.1.5)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)) shadcn: specifier: ^4.13.0 - version: 4.13.0(@typescript/typescript6@6.0.2) + version: 4.13.0(typescript@6.0.3) tailwindcss: specifier: ^4.3.2 version: 4.3.2 @@ -184,11 +184,11 @@ importers: specifier: ^1.4.0 version: 1.4.0 typescript: - specifier: npm:@typescript/typescript6@^6.0.2 - version: '@typescript/typescript6@6.0.2' + specifier: ^6.0.3 + version: 6.0.3 typescript-eslint: specifier: ^8.62.1 - version: 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + version: 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) vite: specifier: ^8.1.3 version: 8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0) @@ -397,21 +397,12 @@ packages: '@dotenvx/primitives@0.8.0': resolution: {integrity: sha512-VYJy0uhFm9zTJ1TxBaW/pA8bjbOM/OttaNMwZ1RHG4JKyRG7DhSdiqD1ipQoAyoD22olUtxbP78W9xY3Wd11bg==} - '@emnapi/core@1.10.0': - resolution: {integrity: sha512-yq6OkJ4p82CAfPl0u9mQebQHKPJkY7WrIuk205cTYnYe+k2Z8YBh11FrbRG/H6ihirqcacOgl2BIO8oyMQLeXw==} - '@emnapi/core@1.11.1': resolution: {integrity: sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ==} - '@emnapi/runtime@1.10.0': - resolution: {integrity: sha512-ewvYlk86xUoGI0zQRNq/mC+16R1QeDlKQy21Ki3oSYXNgLb45GV1P6A0M+/s6nyCuNDqe5VpaY84BzXGwVbwFA==} - '@emnapi/runtime@1.11.1': resolution: {integrity: sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw==} - '@emnapi/wasi-threads@1.2.1': - resolution: {integrity: sha512-uTII7OYF+/Mes/MrcIOYp5yOtSMLBWSIoLPpcgwipoiKbli6k322tcoFsxoIIxPDqW01SQGAgko4EzZi2BNv2w==} - '@emnapi/wasi-threads@1.2.2': resolution: {integrity: sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA==} @@ -630,265 +621,135 @@ packages: resolution: {integrity: sha512-eSYWTm620tTk45EKSedaUL8MFYI8hW164hIXsgIHyxu3VobUB3fFCu5t0hQby6OoWRPsG1KkKUG2M5UadiLiVg==} engines: {node: '>=14'} - '@oxc-parser/binding-android-arm-eabi@0.132.0': - resolution: {integrity: sha512-KrLaPWa5c9Y7LkW+rKkaUE3y7DBDrQtaf7rlsSDfv6KAHUjgzAIRA761Lrrp6//Yd/Rlie/yEOt9YENCoJnOcw==} + '@oxc-parser/binding-android-arm-eabi@0.138.0': + resolution: {integrity: sha512-hSYAD+F9W2Qh8SETMqBsQRx6YHvB4z+i/i36shlC7tfdZQauMs4vf3G/EQwKOkNlN7rkTiKINvsNmQb9q2MWcQ==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [android] - '@oxc-parser/binding-android-arm-eabi@0.135.0': - resolution: {integrity: sha512-sHeZItACNcA5WRAWqF6ixriR4GkZDyY10gVgnZU7pXku1DjHFATSqnwZM809jl0gXPHxb6fKzYQCK7bNK5cACQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [android] - - '@oxc-parser/binding-android-arm64@0.132.0': - resolution: {integrity: sha512-SThDrSeamB/kG2+NxcJ5/wSLcV6dUqDknrPLqFYQ0ST/55mtBP4M7Q/f3QbubH6aAd11wpzZn/nwbVRSdobOpg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [android] - - '@oxc-parser/binding-android-arm64@0.135.0': - resolution: {integrity: sha512-wPte+SzgzWWFgMSF8YZDNM+tBXtJg0AXBi7+tU3yS2z1f2Af9kRLZLKuJojADmuD/cZexmnMHHC3SDItTW77Iw==} + '@oxc-parser/binding-android-arm64@0.138.0': + resolution: {integrity: sha512-Ns5LLTp8cVyP8DsYqD482h0HE84xiGYRgtm7g4LtTinq209NAiMF768e/8r2NHaa0UMirS5mrT1m1VwiVmBi4Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [android] - '@oxc-parser/binding-darwin-arm64@0.132.0': - resolution: {integrity: sha512-Lc0f/TYoKBghE5/2Gsv7bLXk+TJZunx2Tf61X8hG4ARXdc8UYI26dCGccFSd1AyFbK3jfaNXtMnupggDbjPXdQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [darwin] - - '@oxc-parser/binding-darwin-arm64@0.135.0': - resolution: {integrity: sha512-BmKz3lHIsqVos+9aPcdYCT9MG3APoUyM43KlEFhJMWNVDOGG8FKyiFz81Bc+mGz2o0hpuQ3PfXLfVWJrKXjo2g==} + '@oxc-parser/binding-darwin-arm64@0.138.0': + resolution: {integrity: sha512-Yka0m4YhKUHBIZufafSLAeO+DUrfHPtNXBlZSj7DxshquIl41x/a+i/MbRnbOy8heuLiYU1STa6h0FAAzT7Pbw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.132.0': - resolution: {integrity: sha512-RG2eJIpf7C21z9HSSXFw1bTArdpKe7Y4fwcJTwRq1yCSe1vSavaN9GA1sm9KqzemTLAGVktQ+7qBTGp0vQeUZg==} + '@oxc-parser/binding-darwin-x64@0.138.0': + resolution: {integrity: sha512-MWLUZZzmNRUqTWueZF27ncreaZ1wZ0gboWL2QMPxRQA2xgOmBPlGg2H9pAKJSPBlwEHcWa9TdWRiehAS+yls8w==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [darwin] - '@oxc-parser/binding-darwin-x64@0.135.0': - resolution: {integrity: sha512-dM8BS+8+Br1fNvmh2QZbGiHaYttwLebRa6J4Uz9vuFzMNmvsdRYwf7993ptOaV0JTrR63AaoVLjX7nhWbijxjQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [darwin] - - '@oxc-parser/binding-freebsd-x64@0.132.0': - resolution: {integrity: sha512-wQIPntPLtJ8NcBpvKPbEv3NqzV6k8eP8tP/jE9Rg8HTg/j7urZGFSsTCPCW5k77Qfw2DM4vRvc9p3I4yq/Shvw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [freebsd] - - '@oxc-parser/binding-freebsd-x64@0.135.0': - resolution: {integrity: sha512-xlZnvvJdR9bGu2pOhvR5hMuKPHCE6Sa9owK5A484mzjHdm75VRV5nCs5w/jkmGODMMTFc+KN7EnZqEieM813kw==} + '@oxc-parser/binding-freebsd-x64@0.138.0': + resolution: {integrity: sha512-Vae5tzsrzZ/lCDVCZUMi/vzSiiHEgcOEfsyIfWOHmjZ2ji+gT+n96T757yX5/f7/7JIJuiannAHJKV5ARaF6ng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [freebsd] - '@oxc-parser/binding-linux-arm-gnueabihf@0.132.0': - resolution: {integrity: sha512-PixKEpeSe3yxQWqNyOCBALRYc72+Tj7ILDofUl3iXo25cVOzLA6jHUhmOINRtWIPh7dbUie3QNeabwaQpZTw6w==} + '@oxc-parser/binding-linux-arm-gnueabihf@0.138.0': + resolution: {integrity: sha512-qkU8wv5mYexrCw0X4DHFgxGbRScwGLIIKUkHXU7xXEiLoMnQzELak2gujxfa9GFrlEgPjbyLUDFHWm67Zs38ng==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-gnueabihf@0.135.0': - resolution: {integrity: sha512-PSR8LmBK/H/PQRiN8g7RebQgZX/ntVCrdT/JBfNxE5ezdHG1s2i4rbazsRJYD83TTI1MmgTpC0MGL42PLtskQQ==} + '@oxc-parser/binding-linux-arm-musleabihf@0.138.0': + resolution: {integrity: sha512-3HgULIvoDV7h2ZfVYzxQwOSOJnAjMwYmyUBzndNuLRGgBNI549ED0P6AGmN9y2TnSvrwJ+Q8zqdxqssMnGXitA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm] os: [linux] - '@oxc-parser/binding-linux-arm-musleabihf@0.132.0': - resolution: {integrity: sha512-sCR+DzGHlyHKnbA2z9zWjTUhIo8Sy0enJl4RDsBwPmkxYynPatpwOAWe8W5127SlW0boqUWHGtr1NWn5UwIhXQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-parser/binding-linux-arm-musleabihf@0.135.0': - resolution: {integrity: sha512-I85GJXzfUsigkkk7Ngdz95C217M4FdUi1Z2HrX5UyPmURobwQZ7m2bbUvwFkz4VGZd+lymFGKHvDZ3RQC9qOzA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm] - os: [linux] - - '@oxc-parser/binding-linux-arm64-gnu@0.132.0': - resolution: {integrity: sha512-sQBix5P2cW+IpzTcCwYxnh9yALrKSIkKJThspBvMGcygSMnbzkSvhN7SfuX1hvBk8y1XEChsdkU3ET0V5DmzUw==} + '@oxc-parser/binding-linux-arm64-gnu@0.138.0': + resolution: {integrity: sha512-pIonbH2p0KLCwz4CNPCi0xGqci4numpMQDCLJwLfsrEky7NUuByKDFhCjzE0E7vR3aj/lBjyMoTskHBo/qSg8g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-arm64-gnu@0.135.0': - resolution: {integrity: sha512-zqEY0npz0g0aGZj/8a5BclunjVDytsBQHYtIC10Gd26HcrLwbVF6YDbqRQjunMGYdSo97u6xOBl05aTDI2diDQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-arm64-musl@0.132.0': - resolution: {integrity: sha512-WozHg3Kc//8Sk756HXXgMbEAvqtG+Lzb9JOojwQzIGDtN78Az2dLttkb71akWYUF/8IgYfDSlfKh4Uot8is5Vw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-linux-arm64-musl@0.135.0': - resolution: {integrity: sha512-mWAfprP819gQ2qYst1RxgTI8b/z0b29OpoKfRflIXLHde2dZLihQD4g47Onuvtpo5GPIkMYPRlX9QoeZfs/GnQ==} + '@oxc-parser/binding-linux-arm64-musl@0.138.0': + resolution: {integrity: sha512-cT5L1Xz/5m6Ga1hD3922gLc+fePOauJZJdApPTI/2Vu0EmYo62uHG9V5Dq65hhgU9TW10oDi2840y9cGdd7BIg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-ppc64-gnu@0.132.0': - resolution: {integrity: sha512-CmX/ulNBOEwWTyVRmcpYKAcAizW6+OjtLJgo7fXoL9OqQvjF4VER8tPomv44vwzfSCy1BHbsB0ZlZYzYJNj4cA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ppc64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-ppc64-gnu@0.135.0': - resolution: {integrity: sha512-gri8c2AOmJKJwOux2KTHFBfUaXoJURuVMKhmKEi/2hTF55cQteTDV2XNfTiE5oCC+Tnem1Y4/MWzcyDadtsSag==} + '@oxc-parser/binding-linux-ppc64-gnu@0.138.0': + resolution: {integrity: sha512-hKy/vvejKk3LNE/FsRbekWejLa046//TnLWtSo7ur29NIsNbSIvnOVYIirSVC7fsd6NO8UFzwDdcoZfCyBvSBA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ppc64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-gnu@0.132.0': - resolution: {integrity: sha512-j9oQS+hM90SdhviNGWbPgT4+Rlq+ac++q/zjgwPD1mVHgxHzATvoRGtDx0sXGmFOQ9J9YkwAhYGb5MAHL6TAsA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-riscv64-gnu@0.135.0': - resolution: {integrity: sha512-Y2tkupCG5wo0SxH2rMLG4d4Kmv6DaM3sBp+GuM5lox0S8Za6VxKgQrY2Mut088QQxKkEE89n/4CCCgmw2o0e3Q==} + '@oxc-parser/binding-linux-riscv64-gnu@0.138.0': + resolution: {integrity: sha512-bh6tjNGq0v0b9GAMu0pTv/YpTqepCFy0TIOtQHm8+41fZwLXTaB6xiEWVUSarNCXqc5kyzYcH6EOfwW1sJxJOw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-riscv64-musl@0.132.0': - resolution: {integrity: sha512-bLz+Xi+Agnfmd7kWPEsSVwCn2k4EyIalZkNBcQ0OGIv9rqn8VgCPLNd03tM9mKX/5TdlvDXalz0q71BIrOPNqg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [riscv64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-linux-riscv64-musl@0.135.0': - resolution: {integrity: sha512-xDRJq6i6WTynjeP+ISbDpyH4p9BaJ0wuQcL0lCSDkt9qOXC9dmwpOu1VG/TlwmPI3KpYntmO9nJCuc3TMTsNBA==} + '@oxc-parser/binding-linux-riscv64-musl@0.138.0': + resolution: {integrity: sha512-HhOkddcClSTtTxY10f/mACblKcQdxWy4lYYwX12G23j+S5eiJ5y1kpo1r7kKng+2bdnCBO+lCDWOVVc9kVl9+g==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [riscv64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-s390x-gnu@0.132.0': - resolution: {integrity: sha512-U6t2qbJU0ypTfyj9QV3W1Y6mITDTL8ai/OR6NUn85vyHthOvobKWgXzU4tu0EskSzlpuVFz1g0jFGulDIUKHxQ==} + '@oxc-parser/binding-linux-s390x-gnu@0.138.0': + resolution: {integrity: sha512-5mi+wtbeJiEa4waGG88EcEGgJBBNJdDeIcayPPcrLNMXbCrgdtbb80q0Nrat7A8NglLUVzhuTAAp7K6PjmUO8Q==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [s390x] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-s390x-gnu@0.135.0': - resolution: {integrity: sha512-V4MoUuiCRNvihxhIufRxvK+ka013V4joTSK0FAGA1KEjLuNprfH6N/Qw2uxQEVIFuNYMhD/hV6xJ/ptbzlKdHg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [s390x] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-x64-gnu@0.132.0': - resolution: {integrity: sha512-WcEaSNHFk8yz5YFlQQAlhq6jOFmZBB/RKE7uzhyCIf+pF1Lmv9gUH4221mle2Gd9iHyWT3ySNph8yZgb1xYdWg==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [glibc] - - '@oxc-parser/binding-linux-x64-gnu@0.135.0': - resolution: {integrity: sha512-JCFZ7zM7KXOKoPAbK/ZB4wY0M1jxRECiem2UQuiXLjzGqS9+hno7mtX+qyK2F7HWK2xPhyJb+frpcOtk5DKOtg==} + '@oxc-parser/binding-linux-x64-gnu@0.138.0': + resolution: {integrity: sha512-ckbq3AMI7lI8AhQtE8KdqYRmzmzwKfCU12QN/PBKXO72PfWdvvZQN0hFShDX/XRNsPqjddLmvXaQMT3zfYtNlw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [glibc] - '@oxc-parser/binding-linux-x64-musl@0.132.0': - resolution: {integrity: sha512-iQrV4iJzQgRwK3BWRmQl1C3C6g3wYpXN2WLdQdyR+efoUnncdShZAVp9OgcojtlD3MDRbuOMGG3SjxF4fL4nlQ==} + '@oxc-parser/binding-linux-x64-musl@0.138.0': + resolution: {integrity: sha512-JrCOzHO9BYEs5Xz5JHYBxSc/hYKxfXUj5QQb64sERSbkQot6+KEgMTOR2C9hLrhaqOui65OYcFyTTS+YxXDtnA==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [linux] libc: [musl] - '@oxc-parser/binding-linux-x64-musl@0.135.0': - resolution: {integrity: sha512-9jSVS1b3hOV7sdKH4aA2DFfnTz0RgQd0v2BefR+LYbH8yIlmSM22JJZbAAjVeVXmFgUAk3zJQ1tpE/Nd+Vi2YQ==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [linux] - libc: [musl] - - '@oxc-parser/binding-openharmony-arm64@0.132.0': - resolution: {integrity: sha512-FWzmUGrZ6GUby4U7WIwcCtab6tdmlTO3xTRRKyb5kjIJVEiaUAT8animUG/nK8ZCA8gkRkPOTId4rl6uTqUmJQ==} + '@oxc-parser/binding-openharmony-arm64@0.138.0': + resolution: {integrity: sha512-eASMMfOOIfLHkWJRPSu8llByvVRM+c1M/lh18KjsjELM3y10+7B5iBbbrht9LdtsJXQ+mRuP/lJ7UWe3Ok3ehw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [openharmony] - '@oxc-parser/binding-openharmony-arm64@0.135.0': - resolution: {integrity: sha512-M857ZLBSdn1Uy/SJJz5zh0qGu67B4P9omCgXGBU2LLqTzraX6ZjVNaKq5yW1PDw/LgJXDXR/dbZfgmB310f11Q==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [openharmony] - - '@oxc-parser/binding-wasm32-wasi@0.132.0': - resolution: {integrity: sha512-TlbMppxJI5CjWDes0QaP6G3aneVg1yikBu5QYI+DUShF9WDL66ccgKFNNGmi/Wybtszw6hxwAvv76T4DaPKnHw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [wasm32] - - '@oxc-parser/binding-wasm32-wasi@0.135.0': - resolution: {integrity: sha512-2w6DVcntQZX9U5RhXtgiWb3FLWFB5EcwI1U8yr3htOCJUJjagN4BFUHz/Y/d9ZsumndZ6ByxxWEtbUZNE1bfFw==} + '@oxc-parser/binding-wasm32-wasi@0.138.0': + resolution: {integrity: sha512-BnTCO87Iwc57NufXS7vcrkrmpN+daeCeYr1+/xgPT6HjwNs0lBmJYeFrcOs4WkNN8yscdd6Rc4FxWh3+59hAFw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [wasm32] - '@oxc-parser/binding-win32-arm64-msvc@0.132.0': - resolution: {integrity: sha512-RH/NbFjGKqdUAUi7Oh3LQPxUk2hsWFEEQ38HSnbRQT8QjBZFKqL1fMbmsB3N4jy/KPh9iX94+9dmkEMBBbambw==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [arm64] - os: [win32] - - '@oxc-parser/binding-win32-arm64-msvc@0.135.0': - resolution: {integrity: sha512-rX1U8+IH2Z37EJjDXKa1iifvUQAdba+vZ4Ewj1iaG5eA/QaSybzclCOwtWa0/5BuUQnnK/T2JHUEFrwhL6Ck2Q==} + '@oxc-parser/binding-win32-arm64-msvc@0.138.0': + resolution: {integrity: sha512-+Zi47boD2wKNL0hOA47Vkwk6njMZ8sOsr4Geu/56EUtlooDh9crNOU41U6bXGS0UjC4Y72HtRA1iuB6qx1ARUw==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [arm64] os: [win32] - '@oxc-parser/binding-win32-ia32-msvc@0.132.0': - resolution: {integrity: sha512-JUr4jQY9jxoIB/YTLXr6XofSi5xikj6p5/Ns1h0VOBDT0j1jKU+kMsv2xxv51RwnETcXpA1Yw/9oUAfcqfaqEA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [ia32] - os: [win32] - - '@oxc-parser/binding-win32-ia32-msvc@0.135.0': - resolution: {integrity: sha512-9FAisBbH1QICGAjlJobiuKGd/jOuVmyqniWdQMwTa5SkCl6hhuotBCJf1n46B0flYbSOR5TzfV9HZCWSyb3c/Q==} + '@oxc-parser/binding-win32-ia32-msvc@0.138.0': + resolution: {integrity: sha512-SYcV674Wi2WuoBefUFgf0PBMNlZe5IF0YZ0TnP7DK+EusMVpEWq6iz+7r64svjAb7vjthzlas0FUCSlz8YkqYg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [ia32] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.132.0': - resolution: {integrity: sha512-2dapgHpA5X8DSXF4AU36hJWYf6zP0tKjMXFRAZFBD62pkevW/uhFDXoFH9Y/3Fd2EtDrw5ByNnR1wVE9X9y0SQ==} + '@oxc-parser/binding-win32-x64-msvc@0.138.0': + resolution: {integrity: sha512-QZplnCxS4vPe4StAVBtvD2bW3pELlidf0Ek6iQ/HHiCjbEtrs5pFZZfLAoPhKLJyDzyxoGAdic9bSIYrJYTZcg==} engines: {node: ^20.19.0 || >=22.12.0} cpu: [x64] os: [win32] - '@oxc-parser/binding-win32-x64-msvc@0.135.0': - resolution: {integrity: sha512-wYF+A2AzJ2n7ul6q+Z2G/ia0S2+8cUp0AgWZzoFvF4WmUcl1P7p+o6se1Gdr5wGnWuF0iAMIkGddrjCarNr2yA==} - engines: {node: ^20.19.0 || >=22.12.0} - cpu: [x64] - os: [win32] - - '@oxc-project/types@0.132.0': - resolution: {integrity: sha512-FESMOxil5Se014ui/Eq8fT5uHJo6nIRwH0PfJrZJXs6Gek3ZVFOrpUv3YIZT20m+extU98Hg1Ym72U58rlsxUQ==} - - '@oxc-project/types@0.135.0': - resolution: {integrity: sha512-wR+xRdFkUBMvcAjBJ2q2kcZM6d+DKu2NgoOyxZgYwZdLhmiv6+rnO8PZ/P68kMiZtIKm+pW7zyEJ4kSOs0vo+Q==} + '@oxc-project/types@0.138.0': + resolution: {integrity: sha512-1a7ZKmrRTCoN1XMZ4L0PyyqrMnrNlLyPuOkdSX2MZg7IiIGRUyurNhAm73ptDOraoBcIordsIGKNPKUzy3ZmfA==} '@oxc-project/types@0.139.0': resolution: {integrity: sha512-r9gHphtCs+1M7J0pw6Sn/hh/Wpa/iQrOOkrNAlVLF/gHq+/CJmHIWKKUUhdWjcD6CIa8idarspCsASiXCXvFUw==} @@ -1923,130 +1784,6 @@ packages: resolution: {integrity: sha512-UexrHGnGTpbuQHct2ExOc2ZcFbGUS9FOesCxxqdBGcpI1BxYu/LZ6U8Aq6/72XtF/qRBk9nhuGHFJIXXMhPMdw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript/typescript-aix-ppc64@7.0.2': - resolution: {integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==} - engines: {node: '>=16.20.0'} - cpu: [ppc64] - os: [aix] - - '@typescript/typescript-darwin-arm64@7.0.2': - resolution: {integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [darwin] - - '@typescript/typescript-darwin-x64@7.0.2': - resolution: {integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [darwin] - - '@typescript/typescript-freebsd-arm64@7.0.2': - resolution: {integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [freebsd] - - '@typescript/typescript-freebsd-x64@7.0.2': - resolution: {integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [freebsd] - - '@typescript/typescript-linux-arm64@7.0.2': - resolution: {integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [linux] - - '@typescript/typescript-linux-arm@7.0.2': - resolution: {integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==} - engines: {node: '>=16.20.0'} - cpu: [arm] - os: [linux] - - '@typescript/typescript-linux-loong64@7.0.2': - resolution: {integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==} - engines: {node: '>=16.20.0'} - cpu: [loong64] - os: [linux] - - '@typescript/typescript-linux-mips64el@7.0.2': - resolution: {integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==} - engines: {node: '>=16.20.0'} - cpu: [mips64el] - os: [linux] - - '@typescript/typescript-linux-ppc64@7.0.2': - resolution: {integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==} - engines: {node: '>=16.20.0'} - cpu: [ppc64] - os: [linux] - - '@typescript/typescript-linux-riscv64@7.0.2': - resolution: {integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==} - engines: {node: '>=16.20.0'} - cpu: [riscv64] - os: [linux] - - '@typescript/typescript-linux-s390x@7.0.2': - resolution: {integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==} - engines: {node: '>=16.20.0'} - cpu: [s390x] - os: [linux] - - '@typescript/typescript-linux-x64@7.0.2': - resolution: {integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [linux] - - '@typescript/typescript-netbsd-arm64@7.0.2': - resolution: {integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [netbsd] - - '@typescript/typescript-netbsd-x64@7.0.2': - resolution: {integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [netbsd] - - '@typescript/typescript-openbsd-arm64@7.0.2': - resolution: {integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [openbsd] - - '@typescript/typescript-openbsd-x64@7.0.2': - resolution: {integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [openbsd] - - '@typescript/typescript-sunos-x64@7.0.2': - resolution: {integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [sunos] - - '@typescript/typescript-win32-arm64@7.0.2': - resolution: {integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==} - engines: {node: '>=16.20.0'} - cpu: [arm64] - os: [win32] - - '@typescript/typescript-win32-x64@7.0.2': - resolution: {integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==} - engines: {node: '>=16.20.0'} - cpu: [x64] - os: [win32] - - '@typescript/typescript6@6.0.2': - resolution: {integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==} - hasBin: true - '@valibot/to-json-schema@1.7.1': resolution: {integrity: sha512-3qkmU6KXWh8GIThEAW3kuRHPQBMjWkKy+Ppz3WkUucx53DTpOa6siMn4xDGSOhlVyMrDaJTCTMLYPZVAIk1P0A==} peerDependencies: @@ -2198,6 +1935,10 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + builtin-modules@3.3.0: + resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} + engines: {node: '>=6'} + bundle-name@4.1.0: resolution: {integrity: sha512-tjwM5exMg6BGRI+kNmTntNsvdZS1X8BFYS6tnJ2hdH0kVxM6/eVZ2xy+FqStSWvYmtfFMDLIxurorHwDKfDz5Q==} engines: {node: '>=18'} @@ -2398,8 +2139,8 @@ packages: resolution: {integrity: sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==} engines: {node: '>= 0.8'} - deslop-js@0.7.5: - resolution: {integrity: sha512-usrpkbZYOk4cEY8lbWXXT2Ywn44WzLWN9pCaiOK9fDEhgLhp1c9SGlSz30ksGmwRi+uhaKwvFpCictvQO+lCHw==} + deslop-js@0.7.6: + resolution: {integrity: sha512-3RwCevYF5Nux7rdixzyauk4EANTJmkkJbIqkAwVmzkR3HJ4HnMQxvuLNgRX33j5gF7ftcdv7Iqc2JdJCn8Abvw==} detect-libc@2.1.2: resolution: {integrity: sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==} @@ -2562,6 +2303,11 @@ packages: eslint: '*' typescript: '*' + eslint-plugin-sonarjs@4.1.0: + resolution: {integrity: sha512-rh+FlVz0yfd2RNIb6WqSkuGh0addX/Qi5scwQ5FphXDFrM6fZKcxP1+attJ78yUKcyYfiu6MTaISPpAFPzqRJw==} + peerDependencies: + eslint: ^8.0.0 || ^9.0.0 || ^10.0.0 + eslint-scope@9.1.2: resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} engines: {node: ^20.19.0 || ^22.13.0 || >=24} @@ -2738,6 +2484,9 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + functional-red-black-tree@1.0.1: + resolution: {integrity: sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==} + fuzzysort@3.1.0: resolution: {integrity: sha512-sR9BNCjBg6LNgwvxlBd0sBABvQitkLzoVY9MYYROQVX/FvfJ4Mai9LsGhDgd8qYdds0bY77VzYd5iuB+v5rwQQ==} @@ -3011,6 +2760,10 @@ packages: jsonfile@6.2.1: resolution: {integrity: sha512-zwOTdL3rFQ/lRdBnntKVOX6k5cKJwEc1HdilT71BWEu7J41gXIB2MRp+vxduPSwZJPWBxEzv4yH1wYLJGUHX4Q==} + jsx-ast-utils-x@0.1.0: + resolution: {integrity: sha512-eQQBjBnsVtGacsG9uJNB8qOr3yA8rga4wAaGG1qRcBzSIvfhERLrWxMAM1hp5fcS6Abo8M4+bUBTekYR0qTPQw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} @@ -3111,6 +2864,9 @@ packages: resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} engines: {node: '>=10'} + lodash.merge@4.6.2: + resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} + log-symbols@6.0.0: resolution: {integrity: sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==} engines: {node: '>=18'} @@ -3289,12 +3045,8 @@ packages: resolution: {integrity: sha512-6VlU9MLXbjVQD04AZCMX28hVtA5bUoadvUqO76MUCVA0ilwJbMiHsITRPfyVm6p/BC0Av/BXMujx39WCe1LEqw==} engines: {node: '>=20'} - oxc-parser@0.132.0: - resolution: {integrity: sha512-+0LAPHaqtfQlvWdpaAa09SmOaZZgP8C552xosEkGJ4+ruEwP1Vgx+sqBgcBCNfR6KDCmagGOZTde8wmAvcI/Hg==} - engines: {node: ^20.19.0 || >=22.12.0} - - oxc-parser@0.135.0: - resolution: {integrity: sha512-/DaPStu0s2zzNSRRniKyTPM6Z/o+DapOp2JYNKDL8AsgaBGPK2IdZyB87SQjVH+xeQPz+Qr9mrjglfkYgtbVRA==} + oxc-parser@0.138.0: + resolution: {integrity: sha512-c25lvfpZ2+WY1yk6NkP0X0RTQg0ZxgSVaZHDa7lt6fEe1jwZjPWkRWvTyZ1xyaM7roVJMdtRCfbhUj/d4ims3Q==} engines: {node: ^20.19.0 || >=22.12.0} oxc-resolver@11.23.0: @@ -3313,8 +3065,8 @@ packages: vite-plus: optional: true - oxlint-plugin-react-doctor@0.7.5: - resolution: {integrity: sha512-DSa7qIT6TO8ea74GHNivABdZrozNBz4NWGJSsuU2xXfi5VNGpF3mkRJJfCRbnw40nkgEoJEhPFWzh3Yyzz0PUw==} + oxlint-plugin-react-doctor@0.7.6: + resolution: {integrity: sha512-oE01pROKCbxZ7mfHWXEZ27lw12ZWbWUe1p6OtgtRBtHWyNCqXi5MGYVsG7u3zlqG0i6k1UEYVvHrQvle2fJ1HQ==} engines: {node: ^20.19.0 || >=22.13.0} oxlint-tsgolint@0.24.0: @@ -3494,8 +3246,8 @@ packages: resolution: {integrity: sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==} engines: {node: '>= 0.10'} - react-doctor@0.7.5: - resolution: {integrity: sha512-u537BgvTYOlwFIMp9OyzQNyDPN1yoqEErPKU9yKCOSrVoNN0Qm9YDf+lkXOFiFWHr6Hmj0OzdWrq9Ih4fHBqdw==} + react-doctor@0.7.6: + resolution: {integrity: sha512-dVLFNw4/0EhAoLORK+t0LAkn7DHXQ1vxMPzNyJlmfpk4X8YIAfN6wJn3keCJzRwEsuJDsNjXZjlXn+yR5nwRlA==} engines: {node: ^20.19.0 || >=22.13.0} hasBin: true @@ -3545,6 +3297,14 @@ packages: resolution: {integrity: sha512-dEWRjcINDu/F4l2dYx57ugBtD7HV9KXESyxhzw/MqWLeglJrsjJKqACPyUPg+6AF8mIgm+Zi0dZ3ACoIg+QtpA==} engines: {node: '>= 4'} + refa@0.12.1: + resolution: {integrity: sha512-J8rn6v4DBb2nnFqkqwy6/NnTYMcgLA+sLr0iIO41qpv0n+ngb7ksag2tMRl0inb1bbO/esUwzW1vbJi7K0sI0g==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + + regexp-ast-analysis@0.7.1: + resolution: {integrity: sha512-sZuz1dYW/ZsfG17WSAG7eS85r5a0dDsvg+7BiiYR5o6lKCAtUrEwdmRmaGF6rwVj3LcmAeYkOWKEPlbPzN3Y3A==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + require-from-string@2.0.2: resolution: {integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==} engines: {node: '>=0.10.0'} @@ -3590,6 +3350,10 @@ packages: scheduler@0.27.0: resolution: {integrity: sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==} + scslre@0.3.0: + resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} + engines: {node: ^14.0.0 || >=16.0.0} + semifies@1.0.0: resolution: {integrity: sha512-xXR3KGeoxTNWPD4aBvL5NUpMTT7WMANr3EWnaS190QVkY52lqqcVRD7Q05UVbBhiWDGWMlJEUam9m7uFFGVScw==} @@ -3853,11 +3617,6 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@7.0.2: - resolution: {integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==} - engines: {node: '>=16.20.0'} - hasBin: true - uint8array-extras@1.5.0: resolution: {integrity: sha512-rvKSBiC5zqCCiDZ9kAOszZcDvdAHwwIKJG33Ykj43OKcWsnmcBRL09YTU4nOeHZ8Y2a7l1MgTd08SBe9A8Qj6A==} engines: {node: '>=18'} @@ -4376,33 +4135,17 @@ snapshots: '@dotenvx/primitives@0.8.0': {} - '@emnapi/core@1.10.0': - dependencies: - '@emnapi/wasi-threads': 1.2.1 - tslib: 2.8.1 - optional: true - '@emnapi/core@1.11.1': dependencies: '@emnapi/wasi-threads': 1.2.2 tslib: 2.8.1 optional: true - '@emnapi/runtime@1.10.0': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/runtime@1.11.1': dependencies: tslib: 2.8.1 optional: true - '@emnapi/wasi-threads@1.2.1': - dependencies: - tslib: 2.8.1 - optional: true - '@emnapi/wasi-threads@1.2.2': dependencies: tslib: 2.8.1 @@ -4415,76 +4158,76 @@ snapshots: '@eslint-community/regexpp@4.12.2': {} - '@eslint-react/ast@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/ast@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) string-ts: 2.3.1 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@eslint-react/core@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/core@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/jsx': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/shared': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/var': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.63.0 '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@eslint-react/eslint@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/eslint@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@eslint-react/jsx@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/jsx@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/shared': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/var': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@eslint-react/shared@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/shared@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 zod: 4.4.3 transitivePeerDependencies: - supports-color - '@eslint-react/var@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@eslint-react/var@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.63.0 '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -4602,13 +4345,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@tybys/wasm-util': 0.10.3 - optional: true - '@napi-rs/wasm-runtime@1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1)': dependencies: '@emnapi/core': 1.11.1 @@ -4671,137 +4407,71 @@ snapshots: '@opentelemetry/semantic-conventions@1.43.0': {} - '@oxc-parser/binding-android-arm-eabi@0.132.0': - optional: true - - '@oxc-parser/binding-android-arm-eabi@0.135.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.132.0': - optional: true - - '@oxc-parser/binding-android-arm64@0.135.0': - optional: true - - '@oxc-parser/binding-darwin-arm64@0.132.0': - optional: true - - '@oxc-parser/binding-darwin-arm64@0.135.0': - optional: true - - '@oxc-parser/binding-darwin-x64@0.132.0': - optional: true - - '@oxc-parser/binding-darwin-x64@0.135.0': - optional: true - - '@oxc-parser/binding-freebsd-x64@0.132.0': - optional: true - - '@oxc-parser/binding-freebsd-x64@0.135.0': - optional: true - - '@oxc-parser/binding-linux-arm-gnueabihf@0.132.0': - optional: true - - '@oxc-parser/binding-linux-arm-gnueabihf@0.135.0': - optional: true - - '@oxc-parser/binding-linux-arm-musleabihf@0.132.0': - optional: true - - '@oxc-parser/binding-linux-arm-musleabihf@0.135.0': - optional: true - - '@oxc-parser/binding-linux-arm64-gnu@0.132.0': - optional: true - - '@oxc-parser/binding-linux-arm64-gnu@0.135.0': - optional: true - - '@oxc-parser/binding-linux-arm64-musl@0.132.0': - optional: true - - '@oxc-parser/binding-linux-arm64-musl@0.135.0': + '@oxc-parser/binding-android-arm-eabi@0.138.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.132.0': + '@oxc-parser/binding-android-arm64@0.138.0': optional: true - '@oxc-parser/binding-linux-ppc64-gnu@0.135.0': + '@oxc-parser/binding-darwin-arm64@0.138.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.132.0': + '@oxc-parser/binding-darwin-x64@0.138.0': optional: true - '@oxc-parser/binding-linux-riscv64-gnu@0.135.0': + '@oxc-parser/binding-freebsd-x64@0.138.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.132.0': + '@oxc-parser/binding-linux-arm-gnueabihf@0.138.0': optional: true - '@oxc-parser/binding-linux-riscv64-musl@0.135.0': + '@oxc-parser/binding-linux-arm-musleabihf@0.138.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.132.0': + '@oxc-parser/binding-linux-arm64-gnu@0.138.0': optional: true - '@oxc-parser/binding-linux-s390x-gnu@0.135.0': + '@oxc-parser/binding-linux-arm64-musl@0.138.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.132.0': + '@oxc-parser/binding-linux-ppc64-gnu@0.138.0': optional: true - '@oxc-parser/binding-linux-x64-gnu@0.135.0': + '@oxc-parser/binding-linux-riscv64-gnu@0.138.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.132.0': + '@oxc-parser/binding-linux-riscv64-musl@0.138.0': optional: true - '@oxc-parser/binding-linux-x64-musl@0.135.0': + '@oxc-parser/binding-linux-s390x-gnu@0.138.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.132.0': + '@oxc-parser/binding-linux-x64-gnu@0.138.0': optional: true - '@oxc-parser/binding-openharmony-arm64@0.135.0': + '@oxc-parser/binding-linux-x64-musl@0.138.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.132.0': - dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) + '@oxc-parser/binding-openharmony-arm64@0.138.0': optional: true - '@oxc-parser/binding-wasm32-wasi@0.135.0': + '@oxc-parser/binding-wasm32-wasi@0.138.0': dependencies: - '@emnapi/core': 1.10.0 - '@emnapi/runtime': 1.10.0 - '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0) - optional: true - - '@oxc-parser/binding-win32-arm64-msvc@0.132.0': - optional: true - - '@oxc-parser/binding-win32-arm64-msvc@0.135.0': - optional: true - - '@oxc-parser/binding-win32-ia32-msvc@0.132.0': + '@emnapi/core': 1.11.1 + '@emnapi/runtime': 1.11.1 + '@napi-rs/wasm-runtime': 1.1.6(@emnapi/core@1.11.1)(@emnapi/runtime@1.11.1) optional: true - '@oxc-parser/binding-win32-ia32-msvc@0.135.0': + '@oxc-parser/binding-win32-arm64-msvc@0.138.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.132.0': + '@oxc-parser/binding-win32-ia32-msvc@0.138.0': optional: true - '@oxc-parser/binding-win32-x64-msvc@0.135.0': + '@oxc-parser/binding-win32-x64-msvc@0.138.0': optional: true - '@oxc-project/types@0.132.0': {} - - '@oxc-project/types@0.135.0': {} + '@oxc-project/types@0.138.0': {} '@oxc-project/types@0.139.0': {} @@ -5288,18 +4958,18 @@ snapshots: '@tanstack/devtools-event-client@0.4.4': {} - '@tanstack/eslint-plugin-query@5.101.2(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@tanstack/eslint-plugin-query@5.101.2(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) optionalDependencies: - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@tanstack/eslint-plugin-router@1.162.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@tanstack/eslint-plugin-router@1.162.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) transitivePeerDependencies: - supports-color @@ -5476,40 +5146,40 @@ snapshots: '@types/validate-npm-package-name@4.0.2': {} - '@typescript-eslint/eslint-plugin@8.63.0(@typescript-eslint/parser@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@typescript-eslint/eslint-plugin@8.63.0(@typescript-eslint/parser@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/parser': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.63.0 - '@typescript-eslint/type-utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/type-utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.63.0 eslint: 10.7.0(jiti@2.7.0) ignore: 7.0.6 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) - typescript: '@typescript/typescript6@6.0.2' + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@typescript-eslint/parser@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@typescript-eslint/scope-manager': 8.63.0 '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) '@typescript-eslint/visitor-keys': 8.63.0 debug: 4.4.3 eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.63.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/project-service@8.63.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.63.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 debug: 4.4.3 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -5518,47 +5188,47 @@ snapshots: '@typescript-eslint/types': 8.63.0 '@typescript-eslint/visitor-keys': 8.63.0 - '@typescript-eslint/tsconfig-utils@8.63.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/tsconfig-utils@8.63.0(typescript@6.0.3)': dependencies: - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 - '@typescript-eslint/type-utils@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@typescript-eslint/type-utils@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) debug: 4.4.3 eslint: 10.7.0(jiti@2.7.0) - ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) - typescript: '@typescript/typescript6@6.0.2' + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color '@typescript-eslint/types@8.63.0': {} - '@typescript-eslint/typescript-estree@8.63.0(@typescript/typescript6@6.0.2)': + '@typescript-eslint/typescript-estree@8.63.0(typescript@6.0.3)': dependencies: - '@typescript-eslint/project-service': 8.63.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/tsconfig-utils': 8.63.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/project-service': 8.63.0(typescript@6.0.3) + '@typescript-eslint/tsconfig-utils': 8.63.0(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 '@typescript-eslint/visitor-keys': 8.63.0 debug: 4.4.3 minimatch: 10.2.5 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) - typescript: '@typescript/typescript6@6.0.2' + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))': + '@typescript-eslint/utils@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3)': dependencies: '@eslint-community/eslint-utils': 4.9.1(eslint@10.7.0(jiti@2.7.0)) '@typescript-eslint/scope-manager': 8.63.0 '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -5567,73 +5237,9 @@ snapshots: '@typescript-eslint/types': 8.63.0 eslint-visitor-keys: 5.0.1 - '@typescript/typescript-aix-ppc64@7.0.2': - optional: true - - '@typescript/typescript-darwin-arm64@7.0.2': - optional: true - - '@typescript/typescript-darwin-x64@7.0.2': - optional: true - - '@typescript/typescript-freebsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-freebsd-x64@7.0.2': - optional: true - - '@typescript/typescript-linux-arm64@7.0.2': - optional: true - - '@typescript/typescript-linux-arm@7.0.2': - optional: true - - '@typescript/typescript-linux-loong64@7.0.2': - optional: true - - '@typescript/typescript-linux-mips64el@7.0.2': - optional: true - - '@typescript/typescript-linux-ppc64@7.0.2': - optional: true - - '@typescript/typescript-linux-riscv64@7.0.2': - optional: true - - '@typescript/typescript-linux-s390x@7.0.2': - optional: true - - '@typescript/typescript-linux-x64@7.0.2': - optional: true - - '@typescript/typescript-netbsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-netbsd-x64@7.0.2': - optional: true - - '@typescript/typescript-openbsd-arm64@7.0.2': - optional: true - - '@typescript/typescript-openbsd-x64@7.0.2': - optional: true - - '@typescript/typescript-sunos-x64@7.0.2': - optional: true - - '@typescript/typescript-win32-arm64@7.0.2': - optional: true - - '@typescript/typescript-win32-x64@7.0.2': - optional: true - - '@typescript/typescript6@6.0.2': - dependencies: - '@typescript/old': typescript@6.0.3 - - '@valibot/to-json-schema@1.7.1(valibot@1.4.2(@typescript/typescript6@6.0.2))': + '@valibot/to-json-schema@1.7.1(valibot@1.4.2(typescript@6.0.3))': dependencies: - valibot: 1.4.2(@typescript/typescript6@6.0.2) + valibot: 1.4.2(typescript@6.0.3) '@vitejs/plugin-react@6.0.3(@rolldown/plugin-babel@0.2.3(@babel/core@7.29.7)(@babel/runtime@7.29.7)(rolldown@1.1.5)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0)))(babel-plugin-react-compiler@1.0.0)(vite@8.1.4(@types/node@26.1.1)(jiti@2.7.0)(yaml@2.9.0))': dependencies: @@ -5792,6 +5398,8 @@ snapshots: node-releases: 2.0.51 update-browserslist-db: 1.2.3(browserslist@4.28.6) + builtin-modules@3.3.0: {} + bundle-name@4.1.0: dependencies: run-applescript: 7.1.0 @@ -5903,14 +5511,14 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig@9.0.2(@typescript/typescript6@6.0.2): + cosmiconfig@9.0.2(typescript@6.0.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.3.0 parse-json: 5.2.0 optionalDependencies: - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 cross-spawn@7.0.6: dependencies: @@ -5955,12 +5563,12 @@ snapshots: depd@2.0.0: {} - deslop-js@0.7.5: + deslop-js@0.7.6: dependencies: - '@oxc-project/types': 0.132.0 + '@oxc-project/types': 0.138.0 fast-glob: 3.3.3 minimatch: 10.2.5 - oxc-parser: 0.132.0 + oxc-parser: 0.138.0 oxc-resolver: 11.23.0 typescript: 5.9.3 @@ -6050,17 +5658,17 @@ snapshots: escape-string-regexp@4.0.0: {} - eslint-plugin-better-tailwindcss@4.6.1(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0))(oxlint@1.73.0(oxlint-tsgolint@0.24.0))(tailwindcss@4.3.2): + eslint-plugin-better-tailwindcss@4.6.1(eslint@10.7.0(jiti@2.7.0))(oxlint@1.73.0(oxlint-tsgolint@0.24.0))(tailwindcss@4.3.2)(typescript@6.0.3): dependencies: '@eslint/css-tree': 4.0.4 - '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(@typescript/typescript6@6.0.2)) + '@valibot/to-json-schema': 1.7.1(valibot@1.4.2(typescript@6.0.3)) enhanced-resolve: 5.24.2 jiti: 2.7.0 synckit: 0.11.13 tailwind-csstree: 0.3.3 tailwindcss: 4.3.2 tsconfig-paths-webpack-plugin: 4.2.0 - valibot: 1.4.2(@typescript/typescript6@6.0.2) + valibot: 1.4.2(typescript@6.0.3) optionalDependencies: eslint: 10.7.0(jiti@2.7.0) oxlint: 1.73.0(oxlint-tsgolint@0.24.0) @@ -6073,26 +5681,26 @@ snapshots: jsonc-parser: 3.3.1 oxlint: 1.73.0(oxlint-tsgolint@0.24.0) - eslint-plugin-perfectionist@5.10.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + eslint-plugin-perfectionist@5.10.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-react-dom@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + eslint-plugin-react-dom@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/jsx': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/shared': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) compare-versions: 6.1.1 eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -6107,56 +5715,73 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-react-jsx@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + eslint-plugin-react-jsx@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/core': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/jsx': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/shared': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-naming-convention@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + eslint-plugin-react-naming-convention@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/core': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/var': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color - eslint-plugin-react-x@5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + eslint-plugin-react-x@5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@eslint-react/ast': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/core': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/eslint': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/jsx': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/shared': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@eslint-react/var': 5.14.5(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@eslint-react/ast': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/core': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/eslint': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/jsx': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/shared': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@eslint-react/var': 5.14.5(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/scope-manager': 8.63.0 - '@typescript-eslint/type-utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/type-utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) '@typescript-eslint/types': 8.63.0 - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) compare-versions: 6.1.1 eslint: 10.7.0(jiti@2.7.0) string-ts: 2.3.1 - ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + ts-api-utils: 2.5.0(typescript@6.0.3) ts-pattern: 5.9.0 - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color + eslint-plugin-sonarjs@4.1.0(eslint@10.7.0(jiti@2.7.0)): + dependencies: + '@eslint-community/regexpp': 4.12.2 + builtin-modules: 3.3.0 + bytes: 3.1.2 + eslint: 10.7.0(jiti@2.7.0) + functional-red-black-tree: 1.0.1 + globals: 17.7.0 + jsx-ast-utils-x: 0.1.0 + lodash.merge: 4.6.2 + minimatch: 10.2.5 + scslre: 0.3.0 + semver: 7.8.5 + ts-api-utils: 2.5.0(typescript@6.0.3) + typescript: 6.0.3 + yaml: 2.9.0 + eslint-scope@9.1.2: dependencies: '@types/esrecurse': 4.3.1 @@ -6392,6 +6017,8 @@ snapshots: function-bind@1.1.2: {} + functional-red-black-tree@1.0.1: {} + fuzzysort@3.1.0: {} gensync@1.0.0-beta.2: {} @@ -6597,6 +6224,8 @@ snapshots: optionalDependencies: graceful-fs: 4.2.11 + jsx-ast-utils-x@0.1.0: {} + keyv@4.5.4: dependencies: json-buffer: 3.0.1 @@ -6670,6 +6299,8 @@ snapshots: dependencies: p-locate: 5.0.0 + lodash.merge@4.6.2: {} + log-symbols@6.0.0: dependencies: chalk: 5.6.2 @@ -6842,55 +6473,30 @@ snapshots: stdin-discarder: 0.3.2 string-width: 8.2.1 - oxc-parser@0.132.0: + oxc-parser@0.138.0: dependencies: - '@oxc-project/types': 0.132.0 - optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.132.0 - '@oxc-parser/binding-android-arm64': 0.132.0 - '@oxc-parser/binding-darwin-arm64': 0.132.0 - '@oxc-parser/binding-darwin-x64': 0.132.0 - '@oxc-parser/binding-freebsd-x64': 0.132.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.132.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.132.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.132.0 - '@oxc-parser/binding-linux-arm64-musl': 0.132.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.132.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.132.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.132.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.132.0 - '@oxc-parser/binding-linux-x64-gnu': 0.132.0 - '@oxc-parser/binding-linux-x64-musl': 0.132.0 - '@oxc-parser/binding-openharmony-arm64': 0.132.0 - '@oxc-parser/binding-wasm32-wasi': 0.132.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.132.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.132.0 - '@oxc-parser/binding-win32-x64-msvc': 0.132.0 - - oxc-parser@0.135.0: - dependencies: - '@oxc-project/types': 0.135.0 + '@oxc-project/types': 0.138.0 optionalDependencies: - '@oxc-parser/binding-android-arm-eabi': 0.135.0 - '@oxc-parser/binding-android-arm64': 0.135.0 - '@oxc-parser/binding-darwin-arm64': 0.135.0 - '@oxc-parser/binding-darwin-x64': 0.135.0 - '@oxc-parser/binding-freebsd-x64': 0.135.0 - '@oxc-parser/binding-linux-arm-gnueabihf': 0.135.0 - '@oxc-parser/binding-linux-arm-musleabihf': 0.135.0 - '@oxc-parser/binding-linux-arm64-gnu': 0.135.0 - '@oxc-parser/binding-linux-arm64-musl': 0.135.0 - '@oxc-parser/binding-linux-ppc64-gnu': 0.135.0 - '@oxc-parser/binding-linux-riscv64-gnu': 0.135.0 - '@oxc-parser/binding-linux-riscv64-musl': 0.135.0 - '@oxc-parser/binding-linux-s390x-gnu': 0.135.0 - '@oxc-parser/binding-linux-x64-gnu': 0.135.0 - '@oxc-parser/binding-linux-x64-musl': 0.135.0 - '@oxc-parser/binding-openharmony-arm64': 0.135.0 - '@oxc-parser/binding-wasm32-wasi': 0.135.0 - '@oxc-parser/binding-win32-arm64-msvc': 0.135.0 - '@oxc-parser/binding-win32-ia32-msvc': 0.135.0 - '@oxc-parser/binding-win32-x64-msvc': 0.135.0 + '@oxc-parser/binding-android-arm-eabi': 0.138.0 + '@oxc-parser/binding-android-arm64': 0.138.0 + '@oxc-parser/binding-darwin-arm64': 0.138.0 + '@oxc-parser/binding-darwin-x64': 0.138.0 + '@oxc-parser/binding-freebsd-x64': 0.138.0 + '@oxc-parser/binding-linux-arm-gnueabihf': 0.138.0 + '@oxc-parser/binding-linux-arm-musleabihf': 0.138.0 + '@oxc-parser/binding-linux-arm64-gnu': 0.138.0 + '@oxc-parser/binding-linux-arm64-musl': 0.138.0 + '@oxc-parser/binding-linux-ppc64-gnu': 0.138.0 + '@oxc-parser/binding-linux-riscv64-gnu': 0.138.0 + '@oxc-parser/binding-linux-riscv64-musl': 0.138.0 + '@oxc-parser/binding-linux-s390x-gnu': 0.138.0 + '@oxc-parser/binding-linux-x64-gnu': 0.138.0 + '@oxc-parser/binding-linux-x64-musl': 0.138.0 + '@oxc-parser/binding-openharmony-arm64': 0.138.0 + '@oxc-parser/binding-wasm32-wasi': 0.138.0 + '@oxc-parser/binding-win32-arm64-msvc': 0.138.0 + '@oxc-parser/binding-win32-ia32-msvc': 0.138.0 + '@oxc-parser/binding-win32-x64-msvc': 0.138.0 oxc-resolver@11.23.0: optionalDependencies: @@ -6938,12 +6544,12 @@ snapshots: '@oxfmt/binding-win32-ia32-msvc': 0.58.0 '@oxfmt/binding-win32-x64-msvc': 0.58.0 - oxlint-plugin-react-doctor@0.7.5: + oxlint-plugin-react-doctor@0.7.6: dependencies: '@typescript-eslint/types': 8.63.0 eslint-scope: 9.1.2 eslint-visitor-keys: 5.0.1 - oxc-parser: 0.135.0 + oxc-parser: 0.138.0 oxlint-tsgolint@0.24.0: optionalDependencies: @@ -7120,19 +6726,19 @@ snapshots: iconv-lite: 0.7.3 unpipe: 1.0.0 - react-doctor@0.7.5(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1))(eslint@10.7.0(jiti@2.7.0))(oxlint-tsgolint@0.24.0): + react-doctor@0.7.6(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1))(eslint@10.7.0(jiti@2.7.0))(oxlint-tsgolint@0.24.0): dependencies: '@babel/code-frame': 7.29.7 '@sentry/node': 10.65.0(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1)) agent-install: 0.0.5 conf: 15.1.0 confbox: 0.2.4 - deslop-js: 0.7.5 + deslop-js: 0.7.6 eslint-plugin-react-hooks: 7.1.1(eslint@10.7.0(jiti@2.7.0)) jiti: 2.7.0 magicast: 0.5.3 oxlint: 1.66.0(oxlint-tsgolint@0.24.0) - oxlint-plugin-react-doctor: 0.7.5 + oxlint-plugin-react-doctor: 0.7.6 prompts: 2.4.2 typescript: 5.9.3 vscode-languageserver: 9.0.1 @@ -7179,7 +6785,7 @@ snapshots: preact: 10.29.7 prompts: 2.4.2 react: 19.2.7 - react-doctor: 0.7.5(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1))(eslint@10.7.0(jiti@2.7.0))(oxlint-tsgolint@0.24.0) + react-doctor: 0.7.6(@opentelemetry/core@2.9.0(@opentelemetry/api@1.9.1))(eslint@10.7.0(jiti@2.7.0))(oxlint-tsgolint@0.24.0) react-dom: 19.2.7(react@19.2.7) react-grab: 0.1.48(react@19.2.7) optionalDependencies: @@ -7212,6 +6818,15 @@ snapshots: tiny-invariant: 1.3.3 tslib: 2.8.1 + refa@0.12.1: + dependencies: + '@eslint-community/regexpp': 4.12.2 + + regexp-ast-analysis@0.7.1: + dependencies: + '@eslint-community/regexpp': 4.12.2 + refa: 0.12.1 + require-from-string@2.0.2: {} require-in-the-middle@8.0.1: @@ -7273,6 +6888,12 @@ snapshots: scheduler@0.27.0: {} + scslre@0.3.0: + dependencies: + '@eslint-community/regexpp': 4.12.2 + refa: 0.12.1 + regexp-ast-analysis: 0.7.1 + semifies@1.0.0: {} semver@6.3.1: {} @@ -7312,7 +6933,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn@4.13.0(@typescript/typescript6@6.0.2): + shadcn@4.13.0(typescript@6.0.3): dependencies: '@babel/core': 7.29.7 '@babel/parser': 7.29.7 @@ -7323,7 +6944,7 @@ snapshots: '@types/validate-npm-package-name': 4.0.2 browserslist: 4.28.6 commander: 14.0.3 - cosmiconfig: 9.0.2(@typescript/typescript6@6.0.2) + cosmiconfig: 9.0.2(typescript@6.0.3) dedent: 1.7.2 deepmerge: 4.3.1 diff: 8.0.4 @@ -7492,9 +7113,9 @@ snapshots: toidentifier@1.0.1: {} - ts-api-utils@2.5.0(@typescript/typescript6@6.0.2): + ts-api-utils@2.5.0(typescript@6.0.3): dependencies: - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 ts-morph@26.0.0: dependencies: @@ -7534,14 +7155,14 @@ snapshots: media-typer: 1.1.0 mime-types: 3.0.2 - typescript-eslint@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)): + typescript-eslint@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.63.0(@typescript-eslint/parser@8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)))(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@typescript-eslint/parser': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) - '@typescript-eslint/typescript-estree': 8.63.0(@typescript/typescript6@6.0.2) - '@typescript-eslint/utils': 8.63.0(@typescript/typescript6@6.0.2)(eslint@10.7.0(jiti@2.7.0)) + '@typescript-eslint/eslint-plugin': 8.63.0(@typescript-eslint/parser@8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3))(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/parser': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) + '@typescript-eslint/typescript-estree': 8.63.0(typescript@6.0.3) + '@typescript-eslint/utils': 8.63.0(eslint@10.7.0(jiti@2.7.0))(typescript@6.0.3) eslint: 10.7.0(jiti@2.7.0) - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -7549,29 +7170,6 @@ snapshots: typescript@6.0.3: {} - typescript@7.0.2: - optionalDependencies: - '@typescript/typescript-aix-ppc64': 7.0.2 - '@typescript/typescript-darwin-arm64': 7.0.2 - '@typescript/typescript-darwin-x64': 7.0.2 - '@typescript/typescript-freebsd-arm64': 7.0.2 - '@typescript/typescript-freebsd-x64': 7.0.2 - '@typescript/typescript-linux-arm': 7.0.2 - '@typescript/typescript-linux-arm64': 7.0.2 - '@typescript/typescript-linux-loong64': 7.0.2 - '@typescript/typescript-linux-mips64el': 7.0.2 - '@typescript/typescript-linux-ppc64': 7.0.2 - '@typescript/typescript-linux-riscv64': 7.0.2 - '@typescript/typescript-linux-s390x': 7.0.2 - '@typescript/typescript-linux-x64': 7.0.2 - '@typescript/typescript-netbsd-arm64': 7.0.2 - '@typescript/typescript-netbsd-x64': 7.0.2 - '@typescript/typescript-openbsd-arm64': 7.0.2 - '@typescript/typescript-openbsd-x64': 7.0.2 - '@typescript/typescript-sunos-x64': 7.0.2 - '@typescript/typescript-win32-arm64': 7.0.2 - '@typescript/typescript-win32-x64': 7.0.2 - uint8array-extras@1.5.0: {} undici-types@8.3.0: {} @@ -7609,9 +7207,9 @@ snapshots: util-deprecate@1.0.2: {} - valibot@1.4.2(@typescript/typescript6@6.0.2): + valibot@1.4.2(typescript@6.0.3): optionalDependencies: - typescript: '@typescript/typescript6@6.0.2' + typescript: 6.0.3 validate-npm-package-name@7.0.2: {} diff --git a/src/components/app/check-in-dialog.tsx b/src/components/app/check-in-dialog.tsx index dd6fa13a..406cbda5 100644 --- a/src/components/app/check-in-dialog.tsx +++ b/src/components/app/check-in-dialog.tsx @@ -24,7 +24,7 @@ import { cn } from "@/lib/utils"; /// Constants const API_BASE_URL = - (import.meta.env.VITE_API_URL as string | undefined) || "http://localhost:8000"; + (import.meta.env.VITE_API_URL as string | undefined) ?? "http://localhost:8000"; const STATUS_GREEN = "text-[#15a66e] bg-[#15a66e]/15 dark:text-[#3fd68c] dark:bg-[#3fd68c]/15"; const STATUS_MUTED = "text-muted-foreground bg-muted"; diff --git a/src/components/ui/carousel.tsx b/src/components/ui/carousel.tsx index 6eeca44d..cde86e0f 100644 --- a/src/components/ui/carousel.tsx +++ b/src/components/ui/carousel.tsx @@ -12,7 +12,7 @@ type UseCarouselParameters = Parameters type CarouselOptions = UseCarouselParameters[0] type CarouselPlugin = UseCarouselParameters[1] -type CarouselProps = { +interface CarouselProps { opts?: CarouselOptions orientation?: "horizontal" | "vertical" plugins?: CarouselPlugin diff --git a/src/components/ui/theme-provider.tsx b/src/components/ui/theme-provider.tsx index 84471064..00f73f46 100644 --- a/src/components/ui/theme-provider.tsx +++ b/src/components/ui/theme-provider.tsx @@ -2,20 +2,20 @@ import { createContext, use, useCallback, useEffect, useMemo, useState } from "r type Theme = "dark" | "light" | "system"; -type ThemeProviderProps = { +interface ThemeProviderProps { children: React.ReactNode; defaultTheme?: Theme; storageKey?: string; -}; +} -type ThemeProviderState = { +interface ThemeProviderState { setTheme: (theme: Theme) => void; theme: Theme; -}; +} const initialState: ThemeProviderState = { theme: "system", - setTheme: () => { /* noop */ }, + setTheme: () => {}, }; const ThemeProviderContext = createContext(initialState); diff --git a/src/routes/dashboard/events.tsx b/src/routes/dashboard/events.tsx index 7e581e4a..ea48887a 100644 --- a/src/routes/dashboard/events.tsx +++ b/src/routes/dashboard/events.tsx @@ -146,7 +146,7 @@ const ROSTER_STATUS = { } satisfies Record; const API_BASE_URL = - (import.meta.env.VITE_API_URL as string | undefined) || "http://localhost:8000"; + (import.meta.env.VITE_API_URL as string | undefined) ?? "http://localhost:8000"; const PACIFIC_TZ = "America/Los_Angeles"; const EVENTS_VIEWS: EventView[] = ["calendar", "grid", "list"]; @@ -452,11 +452,17 @@ function DashboardEvents() { const code = (codeQuery.data?.code ?? "").slice(0, 8); const copyCode = useCallback(() => { - void navigator.clipboard.writeText(code); - setCopied(true); - setTimeout(() => { - setCopied(false); - }, 1800); + navigator.clipboard + .writeText(code) + .then(() => { + setCopied(true); + setTimeout(() => { + setCopied(false); + }, 1800); + }) + .catch(() => { + toast.error("Couldn't copy the code."); + }); }, [code]); const dashboardEvents = useMemo( diff --git a/src/routes/dashboard/events_.past.tsx b/src/routes/dashboard/events_.past.tsx index 17a57935..49ea5746 100644 --- a/src/routes/dashboard/events_.past.tsx +++ b/src/routes/dashboard/events_.past.tsx @@ -41,7 +41,7 @@ export const Route = createFileRoute("/dashboard/events_/past")({ /// Constants const API_BASE_URL = - (import.meta.env.VITE_API_URL as string | undefined) || "http://localhost:8000"; + (import.meta.env.VITE_API_URL as string | undefined) ?? "http://localhost:8000"; const PAST_VIEWS: EventView[] = ["list", "grid"]; const SHARED_QUERY_OPTIONS = { diff --git a/src/routes/dashboard/manage/projects.tsx b/src/routes/dashboard/manage/projects.tsx index 3d98b2ea..244c767e 100644 --- a/src/routes/dashboard/manage/projects.tsx +++ b/src/routes/dashboard/manage/projects.tsx @@ -106,10 +106,6 @@ export const Route = createFileRoute("/dashboard/manage/projects")({ type ManageStatus = "all" | "active" | "archived"; type DetailTab = "details" | "team"; type InviteAction = "accept" | "decline" | "revoke"; -type RespondVars = { action: InviteAction; invite: ProjectInvite }; -type InviteVars = { member: ProjectMember; projectId: string }; -type SaveVars = { creating: boolean; project: FullProject }; -type Editor = { creating: boolean; founded_at: string; id: string }; type RowHandler = (event: MouseEvent) => void; interface ProjectPageParams { @@ -127,6 +123,24 @@ interface ManageProjectsMeta { onGallery: RowHandler; } +interface RespondVars { + action: InviteAction; + invite: ProjectInvite; +} +interface InviteVars { + member: ProjectMember; + projectId: string; +} +interface SaveVars { + creating: boolean; + project: FullProject; +} +interface Editor { + creating: boolean; + founded_at: string; + id: string; +} + declare module "@tanstack/react-table" { interface TableMeta { manage?: ManageProjectsMeta; @@ -790,7 +804,7 @@ function ManageProjectsPage() { /// Editor field handlers const handleSubmit = useCallback(() => { - form.handleSubmit().catch(() => {}); + void form.handleSubmit(); }, [form]); const handleText = useCallback( (event: ChangeEvent) => { diff --git a/src/routes/dashboard/route.tsx b/src/routes/dashboard/route.tsx index 33eca1ff..a2bdbb85 100644 --- a/src/routes/dashboard/route.tsx +++ b/src/routes/dashboard/route.tsx @@ -125,7 +125,7 @@ const MANAGE_ROLES: Role[] = ["root", "admin", "manager"]; export const ROLES_BY_RANK: Role[] = ["root", "admin", "manager", "leads"]; const API_BASE_URL = - (import.meta.env.VITE_API_URL as string | undefined) || "http://localhost:8000"; + (import.meta.env.VITE_API_URL as string | undefined) ?? "http://localhost:8000"; const SIDEBAR_STYLE = { "--sidebar-width": "16.5rem", diff --git a/src/routes/events.tsx b/src/routes/events.tsx index 1eb48e40..586236cf 100644 --- a/src/routes/events.tsx +++ b/src/routes/events.tsx @@ -121,7 +121,7 @@ const EVENT_CALENDARS: Record = Object.fromEntries( ); const API_BASE_URL = - (import.meta.env.VITE_API_URL as string | undefined) || "http://localhost:8000"; + (import.meta.env.VITE_API_URL as string | undefined) ?? "http://localhost:8000"; const EVENTS_PAGE_SIZE = 50; const PACIFIC_TZ = "America/Los_Angeles"; diff --git a/src/routes/login.tsx b/src/routes/login.tsx index 1a10f58c..d52c9324 100644 --- a/src/routes/login.tsx +++ b/src/routes/login.tsx @@ -145,7 +145,6 @@ function Login() {
- {/* TODO: wire to the Ory recovery flow (/recovery route, not built yet). */}
- {/* TODO: Wire up Google Oauth2 and SSO (if needed)*/}
- {/* TODO: Wire up Google Oauth2 and SSO (if needed)*/}