From 87de72ca950798149e050c50e546b22598867334 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Wed, 27 Nov 2024 17:45:14 +0000 Subject: [PATCH 01/27] Upgrade to Eslint 9 --- .eslintrc.js | 5 - eslint.config.mjs | 28 + package.json | 15 +- packages/node-types/.eslintrc.cjs | 6 - packages/nodes/.eslintrc.cjs | 6 - pnpm-lock.yaml | 2596 +++++++++++++++++++++++++---- 6 files changed, 2303 insertions(+), 353 deletions(-) delete mode 100755 .eslintrc.js create mode 100644 eslint.config.mjs delete mode 100755 packages/node-types/.eslintrc.cjs delete mode 100755 packages/nodes/.eslintrc.cjs diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100755 index 9d5915b4..00000000 --- a/.eslintrc.js +++ /dev/null @@ -1,5 +0,0 @@ -module.exports = { - extends: ['turbo', '@solana/eslint-config-solana'], - root: true, - ignorePatterns: ['.eslintrc.js', '.eslintrc.cjs', 'dist/', '*.json', '*.njk'], -}; diff --git a/eslint.config.mjs b/eslint.config.mjs new file mode 100644 index 00000000..85880159 --- /dev/null +++ b/eslint.config.mjs @@ -0,0 +1,28 @@ +import solanaConfig from '@solana/eslint-config-solana'; + +export default [ + ...solanaConfig, + { + ignores: ['**/*.njk'], + rules: { + '@typescript-eslint/no-base-to-string': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-enum-comparison': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/only-throw-error': 'off', + '@typescript-eslint/prefer-promise-reject-errors': 'off', + '@typescript-eslint/restrict-plus-operands': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', + '@typescript-eslint/unbound-method': 'off', + }, + }, + { + files: ['packages/nodes/**', 'packages/node-types/**'], + rules: { + 'sort-keys-fix/sort-keys-fix': 'off', + }, + }, +]; diff --git a/package.json b/package.json index 9b4e54a8..74171e0c 100644 --- a/package.json +++ b/package.json @@ -15,15 +15,16 @@ "@changesets/changelog-github": "^0.5.0", "@changesets/cli": "^2.27.10", "@codama/internals": "workspace:*", - "@solana/eslint-config-solana": "^3.0.3", + "@eslint/js": "^9.13.0", + "@eslint/json": "^0.8.0", + "@solana/eslint-config-solana": "^4.0.0", "@solana/prettier-config-solana": "0.0.5", - "@types/node": "^20", - "@typescript-eslint/eslint-plugin": "^6.21.0", - "@typescript-eslint/parser": "^6.0.0", + "@types/node": "^22", + "@typescript-eslint/eslint-plugin": "^8.16.0", + "@typescript-eslint/parser": "^8.16.0", "agadoo": "^3.0.0", - "eslint": "^8.57.1", - "eslint-config-turbo": "^2.3.3", - "eslint-plugin-simple-import-sort": "^10.0.0", + "eslint": "^9.15.0", + "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-sort-keys-fix": "^1.1.2", "eslint-plugin-typescript-sort-keys": "^3.3.0", "happy-dom": "^15.11.6", diff --git a/packages/node-types/.eslintrc.cjs b/packages/node-types/.eslintrc.cjs deleted file mode 100755 index 7853b8cd..00000000 --- a/packages/node-types/.eslintrc.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: ['../../.eslintrc.js'], - rules: { - 'typescript-sort-keys/interface': 'off', - }, -}; diff --git a/packages/nodes/.eslintrc.cjs b/packages/nodes/.eslintrc.cjs deleted file mode 100755 index cbe215e3..00000000 --- a/packages/nodes/.eslintrc.cjs +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - extends: ['../../.eslintrc.js'], - rules: { - 'sort-keys-fix/sort-keys-fix': 'off', - }, -}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index c3034a1c..81dd6d64 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,39 +17,42 @@ importers: '@codama/internals': specifier: workspace:* version: link:packages/internals + '@eslint/js': + specifier: ^9.13.0 + version: 9.15.0 + '@eslint/json': + specifier: ^0.8.0 + version: 0.8.0 '@solana/eslint-config-solana': - specifier: ^3.0.3 - version: 3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-react-hooks@4.6.0(eslint@8.57.1))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.1))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + specifier: ^4.0.0 + version: 4.0.0(@eslint/js@9.15.0)(@types/eslint__js@8.42.3)(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript@5.7.2))(eslint-plugin-react-hooks@4.6.0(eslint@9.15.0))(eslint-plugin-simple-import-sort@12.1.1(eslint@9.15.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(globals@14.0.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript-eslint@8.16.0(eslint@9.15.0)(typescript@5.7.2))(typescript@5.7.2) '@solana/prettier-config-solana': specifier: 0.0.5 version: 0.0.5(prettier@3.4.1) '@types/node': - specifier: ^20 - version: 20.17.8 + specifier: ^22 + version: 22.10.0 '@typescript-eslint/eslint-plugin': - specifier: ^6.21.0 - version: 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + specifier: ^8.16.0 + version: 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2) '@typescript-eslint/parser': - specifier: ^6.0.0 - version: 6.21.0(eslint@8.57.1)(typescript@5.7.2) + specifier: ^8.16.0 + version: 8.16.0(eslint@9.15.0)(typescript@5.7.2) agadoo: specifier: ^3.0.0 version: 3.0.0 eslint: - specifier: ^8.57.1 - version: 8.57.1 - eslint-config-turbo: - specifier: ^2.3.3 - version: 2.3.3(eslint@8.57.1) + specifier: ^9.15.0 + version: 9.15.0 eslint-plugin-simple-import-sort: - specifier: ^10.0.0 - version: 10.0.0(eslint@8.57.1) + specifier: ^12.1.1 + version: 12.1.1(eslint@9.15.0) eslint-plugin-sort-keys-fix: specifier: ^1.1.2 version: 1.1.2 eslint-plugin-typescript-sort-keys: specifier: ^3.3.0 - version: 3.3.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + version: 3.3.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2) happy-dom: specifier: ^15.11.6 version: 15.11.6 @@ -70,7 +73,7 @@ importers: version: 5.7.2 vitest: specifier: ^2.1.6 - version: 2.1.6(@types/node@20.17.8)(happy-dom@15.11.6) + version: 2.1.6(@types/node@22.10.0)(happy-dom@15.11.6) zx: specifier: ^8.2.2 version: 8.2.2 @@ -328,10 +331,175 @@ packages: resolution: {integrity: sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==} engines: {node: '>=0.10.0'} + '@ampproject/remapping@2.3.0': + resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} + engines: {node: '>=6.0.0'} + + '@babel/code-frame@7.26.2': + resolution: {integrity: sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==} + engines: {node: '>=6.9.0'} + + '@babel/compat-data@7.26.2': + resolution: {integrity: sha512-Z0WgzSEa+aUcdiJuCIqgujCshpMWgUpgOxXotrYPSA53hA3qopNaqcJpyr0hVb1FeWdnqFA35/fUtXgBK8srQg==} + engines: {node: '>=6.9.0'} + + '@babel/core@7.26.0': + resolution: {integrity: sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg==} + engines: {node: '>=6.9.0'} + + '@babel/generator@7.26.2': + resolution: {integrity: sha512-zevQbhbau95nkoxSq3f/DC/SC+EEOUZd3DYqfSkMhY2/wfSeaHV1Ew4vk8e+x8lja31IbyuUa2uQ3JONqKbysw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-compilation-targets@7.25.9': + resolution: {integrity: sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-imports@7.25.9': + resolution: {integrity: sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-module-transforms@7.26.0': + resolution: {integrity: sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + + '@babel/helper-plugin-utils@7.25.9': + resolution: {integrity: sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw==} + engines: {node: '>=6.9.0'} + + '@babel/helper-string-parser@7.25.9': + resolution: {integrity: sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-identifier@7.25.9': + resolution: {integrity: sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==} + engines: {node: '>=6.9.0'} + + '@babel/helper-validator-option@7.25.9': + resolution: {integrity: sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==} + engines: {node: '>=6.9.0'} + + '@babel/helpers@7.26.0': + resolution: {integrity: sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw==} + engines: {node: '>=6.9.0'} + + '@babel/parser@7.26.2': + resolution: {integrity: sha512-DWMCZH9WA4Maitz2q21SRKHo9QXZxkDsbNZoVD62gusNtNBBqDg9i7uOhASfTfIGNzW+O+r7+jAlM8dwphcJKQ==} + engines: {node: '>=6.0.0'} + hasBin: true + + '@babel/plugin-syntax-async-generators@7.8.4': + resolution: {integrity: sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-bigint@7.8.3': + resolution: {integrity: sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-properties@7.12.13': + resolution: {integrity: sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-class-static-block@7.14.5': + resolution: {integrity: sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-attributes@7.26.0': + resolution: {integrity: sha512-e2dttdsJ1ZTpi3B9UYGLw41hifAubg19AtCu/2I/F1QNVclOBr1dYpTdmdyZ84Xiz43BS/tCUkMAZNLv12Pi+A==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-import-meta@7.10.4': + resolution: {integrity: sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-json-strings@7.8.3': + resolution: {integrity: sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-jsx@7.25.9': + resolution: {integrity: sha512-ld6oezHQMZsZfp6pWtbjaNDF2tiiCYYDqQszHt5VV437lewP9aSi2Of99CK0D0XB21k7FLgnLcmQKyKzynfeAA==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4': + resolution: {integrity: sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3': + resolution: {integrity: sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-numeric-separator@7.10.4': + resolution: {integrity: sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-object-rest-spread@7.8.3': + resolution: {integrity: sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3': + resolution: {integrity: sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-optional-chaining@7.8.3': + resolution: {integrity: sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-private-property-in-object@7.14.5': + resolution: {integrity: sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-top-level-await@7.14.5': + resolution: {integrity: sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + + '@babel/plugin-syntax-typescript@7.25.9': + resolution: {integrity: sha512-hjMgRy5hb8uJJjUcdWunWVcoi9bGpJp8p5Ol1229PoN6aytsLwNMgmdftO23wnCLMfVmTwZDWMPNq/D1SY60JQ==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0-0 + '@babel/runtime@7.24.4': resolution: {integrity: sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA==} engines: {node: '>=6.9.0'} + '@babel/template@7.25.9': + resolution: {integrity: sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg==} + engines: {node: '>=6.9.0'} + + '@babel/traverse@7.25.9': + resolution: {integrity: sha512-ZCuvfwOwlz/bawvAuvcj8rrithP2/N55Tzz342AkTvq4qaWbGfmCk/tKhNaV2cthijKrPAA8SRJV5WWe7IBMJw==} + engines: {node: '>=6.9.0'} + + '@babel/types@7.26.0': + resolution: {integrity: sha512-Z/yiTPj+lDVnF7lWeKCIJzaIkI0vYO87dMpZ4bg4TDrFe4XXLFWL1TbXU27gBP3QccxV9mZICCrnjnYlJjXHOA==} + engines: {node: '>=6.9.0'} + + '@bcoe/v8-coverage@0.2.3': + resolution: {integrity: sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==} + '@changesets/apply-release-plan@7.0.6': resolution: {integrity: sha512-TKhVLtiwtQOgMAC0fCJfmv93faiViKSDqr8oMEqrnNs99gtSC1sZh/aEMS9a+dseU1ESZRCK+ofLgGY7o0fw/Q==} @@ -685,31 +853,148 @@ packages: resolution: {integrity: sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint-community/regexpp@4.12.1': + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.19.0': + resolution: {integrity: sha512-zdHg2FPIFNKPdcHWtiNT+jEFCHYVplAXRDlQDyqy0zGx/q2parwh7brGJSiTxRk/TSMkbM//zt/f5CHgyTyaSQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/core@0.9.0': + resolution: {integrity: sha512-7ATR9F0e4W85D/0w7cU0SNj7qkAexMG+bAHEZOjo9akvGuhHE2m7umzWzfnpa0XAg5Kxc1BWmtPMV67jJ+9VUg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/eslintrc@3.2.0': + resolution: {integrity: sha512-grOjVNN8P3hjJn/eIETF1wwd12DdnwFDoyceUJLYYdkpbwq3nLi+4fqrTAONx7XDALqlL220wC/RHSC/QTI/0w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/js@9.15.0': + resolution: {integrity: sha512-tMTqrY+EzbXmKJR5ToI8lxu7jaN5EdmrBFJpQk5JmSlyLsx6o4t27r883K5xsLuCYCpfKBCGswMSWXsM+jB7lg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/json@0.8.0': + resolution: {integrity: sha512-DdWL9kT3h0XNRK1EVo4ZvxcdQus30msg1Yligb3VR7dnP+1CPM+qBH+SqVV53++XSEhiUJB702bHOttlaa5vhg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/object-schema@2.1.4': + resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@eslint/plugin-kit@0.2.3': + resolution: {integrity: sha512-2b/g5hRmpbb1o4GnTZax9N9m0FXzz9OV42ZzI4rDDMDuHUqigAiQCEWChBWCY4ztAGVRjoWT19v0yMmc5/L5kA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@humanfs/core@0.19.1': + resolution: {integrity: sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==} + engines: {node: '>=18.18.0'} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/node@0.16.6': + resolution: {integrity: sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/momoa@3.3.3': + resolution: {integrity: sha512-5EKzSg1FH5wpg0HXBsglgC5u9U4qFgvZX7u8oVDP6XH6Mh9kmz4iQZV9/88xMdQ/UGQNxckf5njK65gU9jjS0w==} + engines: {node: '>=18'} + + '@humanwhocodes/retry@0.3.1': + resolution: {integrity: sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==} + engines: {node: '>=18.18'} + + '@humanwhocodes/retry@0.4.1': + resolution: {integrity: sha512-c7hNEllBlenFTHBky65mhq8WD2kbN9Q6gk0bTk8lSBvc554jpXSkST1iePudpt7+A/AQvuHs9EMqjHDXMY1lrA==} + engines: {node: '>=18.18'} '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} + '@istanbuljs/load-nyc-config@1.1.0': + resolution: {integrity: sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==} + engines: {node: '>=8'} + + '@istanbuljs/schema@0.1.3': + resolution: {integrity: sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==} + engines: {node: '>=8'} + + '@jest/console@30.0.0-alpha.6': + resolution: {integrity: sha512-08BeAnuabmauj5B+Xa4GNPAotQUGm3PLKSE3rnpnmxniZzR4tXhx8+AA2+HGTri4bbVRY/r3Jl0vJnkhvHTkeQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/core@30.0.0-alpha.6': + resolution: {integrity: sha512-Qsvu9/I0hUOpeelp3jlTmg6cg3C+w18v4hxWVGchCRJAChvuxmsomB1Cm+DKB6NiMy2EvUvpwdT8X31lERtemw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/environment@30.0.0-alpha.6': + resolution: {integrity: sha512-pjNYNkzq761hh8D2grrG77L6nhe2VBCFFM+G1hyqhaJ2MAzhp2Gh+G94uF3px7luSzLh8GYvGJQGYy197EUOGQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/expect-utils@30.0.0-alpha.6': + resolution: {integrity: sha512-QMySMhaCUl0ZQd7Tx5X3fVWY5jtQxZNrTll0OyavdQ70ZTLgk0kU9K+XovcMWO26MK9R5EX7bBgD/j7w9hUM4w==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/expect@30.0.0-alpha.6': + resolution: {integrity: sha512-3O74pygTwUBzUjO958IgNwmp0WrjASbiWdMEfUMePVqtiGoyS4Nxj9hsx4uKsNVivNJSZiiayYoP6dLhWerJXQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/fake-timers@30.0.0-alpha.6': + resolution: {integrity: sha512-deka0RmhJgEKPJM6cXPd4TJQ6fLczErdMN7Oxzr16UTDFHxtFd79tduJ8uP92dQyO4zy63N/dlFK6d+FHyWUDw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/globals@30.0.0-alpha.6': + resolution: {integrity: sha512-+uJMoPUos9RH6+52iNgKJBbx1Hd2QsCZjExi5XpVvTjJ/gE4eJ1X7irUMt+14sH0QkeZ3GnjeTJFopyjOCsu+Q==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/pattern@30.0.0-alpha.6': + resolution: {integrity: sha512-eoV3sjS1M5k3YdrFWezqdndfgepwB86gwyXC0BzV2saZdJ42ySUoEDBGKuwta8A6Zh3w8tVHNFxz1BqiFraHCQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/reporters@30.0.0-alpha.6': + resolution: {integrity: sha512-jzW0t2OtEzBYwlG4EMJKG4q5RPaVvLPDm/nBS08hd+XPoLJJ9b5thyo/MoThIqJfdi0lHqFlDQUmlL205CMoSw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + '@jest/schemas@30.0.0-alpha.6': + resolution: {integrity: sha512-Ukr3kR/VsBq8+JHU92xArhSJeFQHVHs5T1laPO00GrrNzv3DvoHn3/EVVagGn9CHbLeAyJHXFRHYxq3+520kiA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/snapshot-utils@30.0.0-alpha.6': + resolution: {integrity: sha512-iDtIFCyRT8ZyLmz6kYbS8GR/MBXKA6uZPBfdTcnd2y0T987DV3GVlvwkAC+iFTc1w3HgwQe8LTf+y3i+O2ISCw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/source-map@30.0.0-alpha.6': + resolution: {integrity: sha512-7rSrxehVyzqw5O+F2ds7wLAm9f6QxqYsJU42LNyUpaFlJqtWz3PeQ2Wu3DVoPzGu0C66EhDHKYmeN0mXnRDZmQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/test-result@30.0.0-alpha.6': + resolution: {integrity: sha512-Jlg8lCm7VQ6YvQ0eZx2nQEtej/ng+ulV8cXH7Nj5i33hNZq8EZvWM4gQDWDzRe1X7cVE3Bd42On5f6s2rqqIjw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/test-sequencer@30.0.0-alpha.6': + resolution: {integrity: sha512-5M89jbSQWkBjGlFrRk2wXjRJVxR+uN553sFN0q2TglH0/a4OMSVxRBcCmnIqqDMDizGAlYTxW6BaXxHGHpvrRQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/transform@30.0.0-alpha.6': + resolution: {integrity: sha512-4L8BZm38BJASswsqruc4c3F0AExYLvp0xq8067e7fIyg4hfwa4zUA+N2idf+eTTjDWevVVdIBfELzJ8b7nvO4Q==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + '@jest/types@30.0.0-alpha.6': + resolution: {integrity: sha512-qUjAm8uvIR7oExn/Fp7/bvn58HSZng5itQDM9x0vaxXWxxGH/8MDmqX/h7OUBz9ka+KfYRaTxe4Y6wiM8+nphw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + '@jridgewell/gen-mapping@0.3.5': resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} engines: {node: '>=6.0.0'} @@ -754,6 +1039,10 @@ packages: resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} + '@pkgr/core@0.1.1': + resolution: {integrity: sha512-cq8o4cWH0ibXh9VGi5P20Tu9XF/0fFXl9EUinr9QfTM7a7p0oTA4iJRCQWppXR1Pg8dSM0UCItCkPwsk9qWWYA==} + engines: {node: ^12.20.0 || ^14.18.0 || >=16.0.0} + '@rollup/plugin-virtual@3.0.2': resolution: {integrity: sha512-10monEYsBp3scM4/ND4LNH5Rxvh3e/cVeL3jWTgZ2SrQ+BmUoQcopVQvnaMcOnykb1VkxUFuDAN+0FnpTFRy2A==} engines: {node: '>=14.0.0'} @@ -853,6 +1142,15 @@ packages: cpu: [x64] os: [win32] + '@sinclair/typebox@0.33.22': + resolution: {integrity: sha512-auUj4k+f4pyrIVf4GW5UKquSZFHJWri06QgARy9C0t9ZTjJLIuNIrr1yl9bWcJWJ1Gz1vOvYN1D+QPaIlNMVkQ==} + + '@sinonjs/commons@3.0.1': + resolution: {integrity: sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==} + + '@sinonjs/fake-timers@11.3.1': + resolution: {integrity: sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==} + '@solana/codecs-core@2.0.0': resolution: {integrity: sha512-qCG+3hDU5Pm8V6joJjR4j4Zv9md1z0RaecniNDIkEglnxmOUODnmPLWbtOjnDylfItyuZeDihK8hkewdj8cUtw==} engines: {node: '>=20.18.0'} @@ -917,18 +1215,21 @@ packages: peerDependencies: typescript: '>=5' - '@solana/eslint-config-solana@3.0.3': - resolution: {integrity: sha512-yTaeCbOBwjmK4oUkknixOpwOzzAK8+4YWvJEJFNHuueESetieDnAeEHV7rzJllFgHEWa9nXps9Q3aD4/XJp71A==} + '@solana/eslint-config-solana@4.0.0': + resolution: {integrity: sha512-kDhd7uOsby+7Gffenn0EBeE692s2cwPe0/Lv1BsdfeniDM4NxBcfIXLQFB8iCCvdFWrO9b+0SMuGrhRHdgTDQQ==} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.0.0 - '@typescript-eslint/parser': ^6.0.0 - eslint: ^8.45.0 - eslint-plugin-jest: ^27.2.3 - eslint-plugin-react-hooks: ^4.6.0 - eslint-plugin-simple-import-sort: ^10.0.0 + '@eslint/js': ^9.13.0 + '@types/eslint__js': ^8.42.3 + eslint: ^9.13.0 + eslint-plugin-jest: ^28.8.3 + eslint-plugin-react-hooks: ^5.0.0 + eslint-plugin-simple-import-sort: ^12.1.1 eslint-plugin-sort-keys-fix: ^1.1.2 - eslint-plugin-typescript-sort-keys: ^3.2.0 - typescript: ^5.1.6 + eslint-plugin-typescript-sort-keys: ^3.3.0 + globals: ^15.11.0 + jest: ^30.0.0-alpha.6 + typescript: ^5.6 + typescript-eslint: ^8.11.0 '@solana/instructions@2.0.0': resolution: {integrity: sha512-MiTEiNF7Pzp+Y+x4yadl2VUcNHboaW5WP52psBuhHns3GpbbruRv5efMpM9OEQNe1OsN+Eg39vjEidX55+P+DQ==} @@ -947,12 +1248,39 @@ packages: peerDependencies: prettier: ^3.2.0 + '@types/babel__core@7.20.5': + resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} + + '@types/babel__generator@7.6.8': + resolution: {integrity: sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==} + + '@types/babel__template@7.4.4': + resolution: {integrity: sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==} + + '@types/babel__traverse@7.20.6': + resolution: {integrity: sha512-r1bzfrm0tomOI8g1SzvCaQHo6Lcv6zu0EA+W2kHrt8dyrHQxGzBBL4kdkzIS+jBMV+EYcMAEAqXqYaLJq5rOZg==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + + '@types/eslint__js@8.42.3': + resolution: {integrity: sha512-alfG737uhmPdnvkrLdZLcEKJ/B8s9Y4hrZ+YAdzUeoArBlSUERA2E87ROfOaS4jd/C45fzOoZzidLc1IPwLqOw==} + '@types/estree@1.0.6': resolution: {integrity: sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw==} '@types/fs-extra@11.0.4': resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} + '@types/istanbul-lib-coverage@2.0.6': + resolution: {integrity: sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==} + + '@types/istanbul-lib-report@3.0.3': + resolution: {integrity: sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==} + + '@types/istanbul-reports@3.0.4': + resolution: {integrity: sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==} + '@types/json-schema@7.0.15': resolution: {integrity: sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==} @@ -965,8 +1293,8 @@ packages: '@types/node@12.20.55': resolution: {integrity: sha512-J8xLz7q2OFulZ2cyGTLE1TbbZcjpno7FaN6zdJNrgAdrJ+DZzh/uFR6YrTb4C+nXakvud8Q4+rbhoIWlYQbUFQ==} - '@types/node@20.17.8': - resolution: {integrity: sha512-ahz2g6/oqbKalW9sPv6L2iRbhLnojxjYWspAqhjvqSWBgGebEJT5GvRmk0QXPj3sbC6rU0GTQjPLQkmR8CObvA==} + '@types/node@22.10.0': + resolution: {integrity: sha512-XC70cRZVElFHfIUB40FgZOBbgJYFKKMa5nb9lxcwYstFG/Mi+/Y0bGS+rs6Dmhmkpq4pnNiLiuZAbc02YCOnmA==} '@types/nunjucks@3.2.6': resolution: {integrity: sha512-pHiGtf83na1nCzliuAdq8GowYiXvH5l931xZ0YEHaLMNFgynpEqx+IPStlu7UaDkehfvl01e4x/9Tpwhy7Ue3w==} @@ -974,12 +1302,21 @@ packages: '@types/semver@7.5.8': resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} - '@typescript-eslint/eslint-plugin@6.21.0': - resolution: {integrity: sha512-oy9+hTPCUFpngkEZUSzbf9MxI65wbKFoQYsgPdILTfbUldp5ovUuphZVe4i30emU9M/kP+T64Di0mxl7dSw3MA==} - engines: {node: ^16.0.0 || >=18.0.0} + '@types/stack-utils@2.0.3': + resolution: {integrity: sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==} + + '@types/yargs-parser@21.0.3': + resolution: {integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==} + + '@types/yargs@17.0.33': + resolution: {integrity: sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA==} + + '@typescript-eslint/eslint-plugin@8.16.0': + resolution: {integrity: sha512-5YTHKV8MYlyMI6BaEG7crQ9BhSc8RxzshOReKwZwRWN0+XvvTOm+L/UYLCYxFpfwYuAAqhxiq4yae0CMFwbL7Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha - eslint: ^7.0.0 || ^8.0.0 + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -991,11 +1328,11 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/parser@6.21.0': - resolution: {integrity: sha512-tbsV1jPne5CkFQCgPBcDOt30ItF7aJoZL997JSF7MhGQqOeT3svWRYxiqlfA5RUdlHN6Fi+EI9bxqbdyAUZjYQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/parser@8.16.0': + resolution: {integrity: sha512-D7DbgGFtsqIPIFMPJwCad9Gfi/hC0PWErRRHFnaCWoEDYi5tQUDiJCTmGUbBiLzjqAck4KcXt9Ayj0CNlIrF+w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1005,15 +1342,15 @@ packages: resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/scope-manager@6.21.0': - resolution: {integrity: sha512-OwLUIWZJry80O99zvqXVEioyniJMa+d2GrqpUTqi5/v5D5rOrppJVBPa0yKCblcigC0/aYAzxxqQ1B+DS2RYsg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/scope-manager@8.16.0': + resolution: {integrity: sha512-mwsZWubQvBki2t5565uxF0EYvG+FwdFb8bMtDuGQLdCCnGPrDEDvm1gtfynuKlnpzeBRqdFCkMf9jg1fnAK8sg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@6.21.0': - resolution: {integrity: sha512-rZQI7wHfao8qMX3Rd3xqeYSMCL3SoiSQLBATSiVKARdFGCYSRvmViieZjqc58jKgs8Y8i9YvVVhRbHSTA4VBag==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/type-utils@8.16.0': + resolution: {integrity: sha512-IqZHGG+g1XCWX9NyqnI/0CX5LL8/18awQqmkZSl2ynn8F76j579dByc0jhfVSnSnhf7zv76mKBQv9HQFKvDCgg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -1023,9 +1360,9 @@ packages: resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/types@6.21.0': - resolution: {integrity: sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/types@8.16.0': + resolution: {integrity: sha512-NzrHj6thBAOSE4d9bsuRNMvk+BvaQvmY4dDglgkgGC0EW/tB3Kelnp3tAKH87GEwzoxgeQn9fNGRyFJM/xd+GQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} @@ -1036,9 +1373,9 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@6.21.0': - resolution: {integrity: sha512-6npJTkZcO+y2/kr+z0hc4HwNfrrP4kNYh57ek7yCNlrBjWQ1Y0OS7jiZTkgumrvkX5HkEKXFZkkdFNkaW2wmUQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/typescript-estree@8.16.0': + resolution: {integrity: sha512-E2+9IzzXMc1iaBy9zmo+UYvluE3TW7bCGWSF41hVWUE01o8nzr1rvOQYSxelxr6StUvRcTMe633eY8mXASMaNw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '*' peerDependenciesMeta: @@ -1051,19 +1388,23 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 - '@typescript-eslint/utils@6.21.0': - resolution: {integrity: sha512-NfWVaC8HP9T8cbKQxHcsJBY5YE1O33+jpMwN45qzWWaPDZgLIbo12toGMWnmhvCpd3sIxkpDw3Wv1B3dYrbDQQ==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/utils@8.16.0': + resolution: {integrity: sha512-C1zRy/mOL8Pj157GiX4kaw7iyRLKfJXBR3L82hk5kS/GyHcOFmy4YUq/zfZti72I9wnuQtA/+xzft4wCC8PJdA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - eslint: ^7.0.0 || ^8.0.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - '@typescript-eslint/visitor-keys@6.21.0': - resolution: {integrity: sha512-JJtkDduxLi9bivAB+cYOVMtbkqdPOhZ+ZI5LC47MIRrDV4Yn2o+ZnW10Nkmr28xRpSpdJ6Sm42Hjf2+REYXm0A==} - engines: {node: ^16.0.0 || >=18.0.0} + '@typescript-eslint/visitor-keys@8.16.0': + resolution: {integrity: sha512-pq19gbaMOmFE3CbL0ZB8J8BFCo2ckfHBfaIsaOZgBIF4EoISJIdLX5xRhd0FGB0LlHReNRuzoJoMGpTjq8F2CQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -1115,6 +1456,11 @@ packages: engines: {node: '>=0.4.0'} hasBin: true + acorn@8.14.0: + resolution: {integrity: sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==} + engines: {node: '>=0.4.0'} + hasBin: true + agadoo@3.0.0: resolution: {integrity: sha512-gq+fjT3Ilrhb88Jf+vYMjdO/+3znYfa7vJ4IMLPFsBPUxglnr40Ed3yCLrW6IABdJAedB94b2BkqR6I04lh3dg==} hasBin: true @@ -1126,6 +1472,10 @@ packages: resolution: {integrity: sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==} engines: {node: '>=6'} + ansi-escapes@4.3.2: + resolution: {integrity: sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==} + engines: {node: '>=8'} + ansi-regex@5.0.1: resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} engines: {node: '>=8'} @@ -1138,6 +1488,10 @@ packages: resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} engines: {node: '>=8'} + ansi-styles@5.2.0: + resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} + engines: {node: '>=10'} + ansi-styles@6.2.1: resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} engines: {node: '>=12'} @@ -1166,6 +1520,31 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + babel-jest@30.0.0-alpha.6: + resolution: {integrity: sha512-WOQkqpBz2q8d/AT6D6rZXW5xnKHDmk3kIukaXlzUyoBBIvLh1SEvi2RGS4fboEtS0kNkyL+zf1rSfkt5OCIgmw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + + babel-plugin-istanbul@7.0.0: + resolution: {integrity: sha512-C5OzENSx/A+gt7t4VH1I2XsflxyPUmXRFPKBxt33xncdOmq7oROVM3bZv9Ysjjkv8OJYDMa+tKuKMvqU/H3xdw==} + engines: {node: '>=12'} + + babel-plugin-jest-hoist@30.0.0-alpha.6: + resolution: {integrity: sha512-e/aPv0pmnvJqXM5SfCBpyMwZFEZrKW1Mb4unwTkxewk6/0TjwBk6l3B3F9H9OKZ3ErhkH4b+Epd3IIM5E53I2g==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + babel-preset-current-node-syntax@1.1.0: + resolution: {integrity: sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw==} + peerDependencies: + '@babel/core': ^7.0.0 + + babel-preset-jest@30.0.0-alpha.6: + resolution: {integrity: sha512-Xsis7RI2oT2zlyCIEzMtjDiES0wKoQxTUo5BGzx1q3ZemnDE1/7xTC4/lI4eBLmAtwk/hpZLRYwltvbQEvyRWw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + '@babel/core': ^7.11.0 + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1203,6 +1582,17 @@ packages: engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} hasBin: true + browserslist@4.24.2: + resolution: {integrity: sha512-ZIc+Q62revdMcqC6aChtW4jz3My3klmCO1fEmINZY/8J3EpBg5/A/D0AKmBveUh6pgoeycoMkVMko84tuYS+Gg==} + engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} + hasBin: true + + bser@2.1.1: + resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + + buffer-from@1.1.2: + resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} + bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -1221,9 +1611,20 @@ packages: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} + camelcase@5.3.1: + resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} + engines: {node: '>=6'} + + camelcase@6.3.0: + resolution: {integrity: sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==} + engines: {node: '>=10'} + caniuse-lite@1.0.30001610: resolution: {integrity: sha512-QFutAY4NgaelojVMjY63o6XlZyORPaLfyMnsl3HgnWdJUcX6K0oaJymHjH8PT5Gk7sTm8rvC/c5COUQKXqmOMA==} + caniuse-lite@1.0.30001684: + resolution: {integrity: sha512-G1LRwLIQjBQoyq0ZJGqGIJUXzJ8irpbjHLpVRXDvBEScFJ9b17sgK6vlx0GAJFE21okD7zXl08rRRUfq6HdoEQ==} + chai@5.1.2: resolution: {integrity: sha512-aGtmf24DW6MLHHG5gCx4zaI3uBq3KRtxeVs0DjFH6Z0rDNbsvTxFASFvdj79pxjxZ8/5u3PIiN3IwEIQkiiuPw==} engines: {node: '>=12'} @@ -1236,6 +1637,10 @@ packages: resolution: {integrity: sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==} engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} + char-regex@1.0.2: + resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} + engines: {node: '>=10'} + chardet@0.7.0: resolution: {integrity: sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==} @@ -1255,6 +1660,24 @@ packages: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} engines: {node: '>=8'} + ci-info@4.1.0: + resolution: {integrity: sha512-HutrvTNsF48wnxkzERIXOe5/mlcfFcbfCmwcg6CJnizbSue78AbDt+1cgl26zwn61WFxhcPykPfZrbqjGmBb4A==} + engines: {node: '>=8'} + + cjs-module-lexer@1.4.1: + resolution: {integrity: sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA==} + + cliui@8.0.1: + resolution: {integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==} + engines: {node: '>=12'} + + co@4.6.0: + resolution: {integrity: sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==} + engines: {iojs: '>= 1.0.0', node: '>= 0.12.0'} + + collect-v8-coverage@1.0.2: + resolution: {integrity: sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==} + color-convert@2.0.1: resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} engines: {node: '>=7.0.0'} @@ -1281,6 +1704,9 @@ packages: resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} engines: {node: ^14.18.0 || >=16.10.0} + convert-source-map@2.0.0: + resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} + cross-spawn@7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -1292,8 +1718,8 @@ packages: dataloader@1.4.0: resolution: {integrity: sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw==} - debug@4.3.4: - resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + debug@4.3.7: + resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} engines: {node: '>=6.0'} peerDependencies: supports-color: '*' @@ -1301,13 +1727,12 @@ packages: supports-color: optional: true - debug@4.3.7: - resolution: {integrity: sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==} - engines: {node: '>=6.0'} + dedent@1.5.3: + resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: - supports-color: '*' + babel-plugin-macros: ^3.1.0 peerDependenciesMeta: - supports-color: + babel-plugin-macros: optional: true deep-eql@5.0.2: @@ -1317,6 +1742,10 @@ packages: deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} + deepmerge@4.3.1: + resolution: {integrity: sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==} + engines: {node: '>=0.10.0'} + define-data-property@1.1.4: resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} engines: {node: '>= 0.4'} @@ -1325,17 +1754,17 @@ packages: resolution: {integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==} engines: {node: '>=8'} - dir-glob@3.0.1: - resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + detect-newline@3.1.0: + resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==} engines: {node: '>=8'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} + diff-sequences@30.0.0-alpha.6: + resolution: {integrity: sha512-DVGt3/yzbneMUTuupsMqyfSXMnU2fE0lVsC9uFsJmRpluvSi7ZhrS0GX5tnMna6Ta788FGfOUx+irI/+cAZ4EA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} - dotenv@16.0.3: - resolution: {integrity: sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==} - engines: {node: '>=12'} + dir-glob@3.0.1: + resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} + engines: {node: '>=8'} dotenv@8.6.0: resolution: {integrity: sha512-IrPdXQsk2BbzvCBGBOTmmSH5SodmqZNt4ERAZDmW4CT+tL8VtvinqywuANaFu4bOMWki16nqf0e4oC0QIaDr/g==} @@ -1347,6 +1776,13 @@ packages: electron-to-chromium@1.4.738: resolution: {integrity: sha512-lwKft2CLFztD+vEIpesrOtCrko/TFnEJlHFdRhazU7Y/jx5qc4cqsocfVrBg4So4gGe9lvxnbLIoev47WMpg+A==} + electron-to-chromium@1.5.65: + resolution: {integrity: sha512-PWVzBjghx7/wop6n22vS2MLU8tKGd4Q91aCEGhG/TYmW6PP5OcSXcdnxTe1NNt0T66N8D6jxh4kC8UsdzOGaIw==} + + emittery@0.13.1: + resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==} + engines: {node: '>=12'} + emoji-regex@8.0.0: resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} @@ -1361,6 +1797,9 @@ packages: resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} engines: {node: '>=0.12'} + error-ex@1.3.2: + resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} + es-define-property@1.0.0: resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} engines: {node: '>= 0.4'} @@ -1386,15 +1825,18 @@ packages: resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} engines: {node: '>=6'} + escalade@3.2.0: + resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} + engines: {node: '>=6'} + + escape-string-regexp@2.0.0: + resolution: {integrity: sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==} + engines: {node: '>=8'} + escape-string-regexp@4.0.0: resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} engines: {node: '>=10'} - eslint-config-turbo@2.3.3: - resolution: {integrity: sha512-cM9wSBYowQIrjx2MPCzFE6jTnG4vpTPJKZ/O+Ps3CqrmGK/wtNOsY6WHGMwLtKY/nNbgRahAJH6jGVF6k2coOg==} - peerDependencies: - eslint: '>6.6.0' - eslint-plugin-jest@27.9.0: resolution: {integrity: sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1414,8 +1856,8 @@ packages: peerDependencies: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 - eslint-plugin-simple-import-sort@10.0.0: - resolution: {integrity: sha512-AeTvO9UCMSNzIHRkg8S6c3RPy5YEwKWSQPx3DYghLedo2ZQxowPFLGDN1AZ2evfg6r6mjBSZSLxLFsWSu3acsw==} + eslint-plugin-simple-import-sort@12.1.1: + resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: eslint: '>=5.0.0' @@ -1423,11 +1865,6 @@ packages: resolution: {integrity: sha512-DNPHFGCA0/hZIsfODbeLZqaGY/+q3vgtshF85r+YWDNCQ2apd9PNs/zL6ttKm0nD1IFwvxyg3YOTI7FHl4unrw==} engines: {node: '>=0.10.0'} - eslint-plugin-turbo@2.3.3: - resolution: {integrity: sha512-j8UEA0Z+NNCsjZep9G5u5soDQHcXq/x4amrwulk6eHF1U91H2qAjp5I4jQcvJewmccCJbVp734PkHHTRnosjpg==} - peerDependencies: - eslint: '>6.6.0' - eslint-plugin-typescript-sort-keys@3.3.0: resolution: {integrity: sha512-bRW3Rc/VNdrSP9OoY5wgjjaXCOOkZKpzvl/Mk6l8Sg8CMehVIcg9K4y33l+ZcZiknpl0aR6rKusxuCJNGZWmVw==} engines: {node: '>= 16'} @@ -1440,9 +1877,9 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@8.2.0: + resolution: {integrity: sha512-PHlWUfG6lvPc3yvP5A4PNyBL1W8fkDUccmI21JUu/+GKZBoH/W5u6usENXUrWFRsyoW5ACUjFGgAFQp5gUlb/A==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} @@ -1452,20 +1889,28 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@4.2.0: + resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + eslint@9.15.0: + resolution: {integrity: sha512-7CrWySmIibCgT1Os28lUU6upBshZ+GxybLOrmRzi08kS8MBuO8QA7pXEgYgY5W8vK3e74xv0lpjo9DbaGU9Rkw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true + + espree@10.3.0: + resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} espree@6.2.1: resolution: {integrity: sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==} engines: {node: '>=6.0.0'} - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} @@ -1494,10 +1939,22 @@ packages: resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} engines: {node: '>=0.10.0'} + execa@5.1.1: + resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} + engines: {node: '>=10'} + + exit@0.1.2: + resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==} + engines: {node: '>= 0.8.0'} + expect-type@1.1.0: resolution: {integrity: sha512-bFi65yM+xZgk+u/KRIpekdSYkTB5W1pEf0Lt8Q8Msh7b+eQ7LXVtIB1Bkm4fvclDEL1b2CZkMhv2mOeF8tMdkA==} engines: {node: '>=12.0.0'} + expect@30.0.0-alpha.6: + resolution: {integrity: sha512-WVi2V4iHKw/vHEyye00Q9CSZz7KHDbJkJyteUI8kTih9jiyMl3bIk7wLYFcY9D1Blnadlyb5w5NBuNjQBow99g==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + extendable-error@0.1.7: resolution: {integrity: sha512-UOiS2in6/Q0FK0R0q6UY9vYpQ21mr/Qn1KOnte7vsACuNJf514WvCCUHSRCPcgjPT2bAhNIJdlE6bVap1GKmeg==} @@ -1524,6 +1981,9 @@ packages: fastq@1.17.1: resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} + fb-watchman@2.0.2: + resolution: {integrity: sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==} + fdir@6.4.2: resolution: {integrity: sha512-KnhMXsKSPZlAhp7+IjUkRZKPb4fUyccpDrdFXbi4QL1qkmFh9kVY09Yox+n4MaOb3lHZ1Tv829C3oaaXoMYPDQ==} peerDependencies: @@ -1532,9 +1992,9 @@ packages: picomatch: optional: true - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} fill-range@7.0.1: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} @@ -1552,9 +2012,9 @@ packages: resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} engines: {node: '>=10'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flatted@3.3.1: resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} @@ -1582,10 +2042,26 @@ packages: function-bind@1.1.2: resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} + gensync@1.0.0-beta.2: + resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} + engines: {node: '>=6.9.0'} + + get-caller-file@2.0.5: + resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} + engines: {node: 6.* || 8.* || >= 10.*} + get-intrinsic@1.2.4: resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} engines: {node: '>= 0.4'} + get-package-type@0.1.0: + resolution: {integrity: sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==} + engines: {node: '>=8.0.0'} + + get-stream@6.0.1: + resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} + engines: {node: '>=10'} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -1608,9 +2084,13 @@ packages: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} deprecated: Glob versions prior to v9 are no longer supported - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@11.12.0: + resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} + engines: {node: '>=4'} + + globals@14.0.0: + resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} + engines: {node: '>=18'} globby@11.1.0: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} @@ -1648,9 +2128,16 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + html-escaper@2.0.2: + resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + human-id@1.0.2: resolution: {integrity: sha512-UNopramDEhHJD+VR+ehk8rOslwSfByxPIZyJRfV739NDhN5LF1fa1MqnzKm2lGTQRjNrjK19Q5fhkgIfjlVUKw==} + human-signals@2.1.0: + resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} + engines: {node: '>=10.17.0'} + iconv-lite@0.4.24: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} @@ -1663,6 +2150,11 @@ packages: resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} engines: {node: '>=6'} + import-local@3.2.0: + resolution: {integrity: sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==} + engines: {node: '>=8'} + hasBin: true + imurmurhash@0.1.4: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} @@ -1674,10 +2166,17 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} + is-arrayish@0.2.1: + resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-binary-path@2.1.0: resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} engines: {node: '>=8'} + is-core-module@2.15.1: + resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} + engines: {node: '>= 0.4'} + is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -1686,6 +2185,10 @@ packages: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} + is-generator-fn@2.1.0: + resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} + engines: {node: '>=6'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1694,8 +2197,8 @@ packages: resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} engines: {node: '>=0.12.0'} - is-path-inside@3.0.3: - resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} is-subdir@1.2.0: @@ -1712,6 +2215,26 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + istanbul-lib-coverage@3.2.2: + resolution: {integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==} + engines: {node: '>=8'} + + istanbul-lib-instrument@6.0.3: + resolution: {integrity: sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==} + engines: {node: '>=10'} + + istanbul-lib-report@3.0.1: + resolution: {integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==} + engines: {node: '>=10'} + + istanbul-lib-source-maps@5.0.6: + resolution: {integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==} + engines: {node: '>=10'} + + istanbul-reports@3.1.7: + resolution: {integrity: sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==} + engines: {node: '>=8'} + jackspeak@2.3.6: resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} engines: {node: '>=14'} @@ -1720,9 +2243,144 @@ packages: resolution: {integrity: sha512-cub8rahkh0Q/bw1+GxP7aeSe29hHHn2V4m29nnDlvCdlgU+3UGxkZp7Z53jLUdpX3jdTO0nJZUDl3xvbWc2Xog==} engines: {node: 20 || >=22} - joycon@3.1.1: - resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} - engines: {node: '>=10'} + jest-changed-files@30.0.0-alpha.6: + resolution: {integrity: sha512-Fmyt6W27L4fRBl/gReFC4WU+3XIqB7ySHu+a9QxrERapfCb43o7y81TCvTwJHSw5dxGzXLOObVB0tRMDWMafnw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-circus@30.0.0-alpha.6: + resolution: {integrity: sha512-1C62WeTyWinn6zR61syYKe5yqVbV+ftf21vOgj8AtTxGfMUAlGCpeZ5zh4Kc9Qk7r/PiPiHWZtgZmeT4oe9Dug==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-cli@30.0.0-alpha.6: + resolution: {integrity: sha512-3VYzI2KgpMNAsf+LdRAQtAbhH3IDyFnT36U6URXot+2JWwoCGQQ6w4HIfqyOSlH4aejKgTPSfxki2shRPDFtlQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + jest-config@30.0.0-alpha.6: + resolution: {integrity: sha512-Tq9rH1mg9+nlIhh3efGwMSogFVKZ9z7c6P33ZlK74iJlnqqIAKYERZL2nNmNC5+5p8uxlTPSFZfBz9O8NGKotw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + peerDependencies: + '@types/node': '*' + esbuild-register: '>=3.4.0' + ts-node: '>=9.0.0' + peerDependenciesMeta: + '@types/node': + optional: true + esbuild-register: + optional: true + ts-node: + optional: true + + jest-diff@30.0.0-alpha.6: + resolution: {integrity: sha512-43j1DoYwVKrkbB67a2gC0ijjIY9biF0JSPXv7H6zlOkzNlqYg8hSDzrurLNo6zGKatW4JSBLE79LmXPJPj1m6A==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-docblock@30.0.0-alpha.6: + resolution: {integrity: sha512-KXRLgRo7/rF1wqxQupsFCZa6wOp1qrDg4GdSXKfIHODYQb0dpi4rYaYA8xV5l2g9KwYc9/zV7l1tPe9TOr27ew==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-each@30.0.0-alpha.6: + resolution: {integrity: sha512-snLI2JNYkoBMlZRrNk67XiauUy+uEzRCszKdj+cqHyZ4/MU8fz7gCxbn3g0zmiGUxr0RX0534UxMjc82Sk++tg==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-environment-node@30.0.0-alpha.6: + resolution: {integrity: sha512-UN9W3dFzO150Bqj1x+1pq7dMUqw/QhpqhdtmC3B1P6GD9eKEMFGuRw3EButx5SGzrZOqRNlF+tUNC8CoWGW2Og==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-get-type@30.0.0-alpha.6: + resolution: {integrity: sha512-lJEoQdCY4ICN6+T0lJ9BODKuqPOEpCv2NnJsEO1nmsK0fbWZmN/pgOPHVqLfK8i3jZpUmgupJ1w8r36mc8iiBQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-haste-map@30.0.0-alpha.6: + resolution: {integrity: sha512-NR/Kw8HyOkuWIdT8ynsp9KnsTDvWnlz8WSOmtQxySTIzOWbZaeJ2FJi9LoDL6+vhKpdlLfUvhgZVtnFJSLCzew==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-leak-detector@30.0.0-alpha.6: + resolution: {integrity: sha512-a6fh/6h6dCDyj+aplGqkajVqzmi+qYHs5X8orMZv+u56++gUezJZJf8GCiQqw2vtxcsWVPUuQXa3kF33tAYzNQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-matcher-utils@30.0.0-alpha.6: + resolution: {integrity: sha512-jaq7+HznsK54G0qzu96ZwfMEKHmlPiDqg6qG2p/hVQzr6Y/qVMRh8abI9Y1lX6SSXkr+S9mPAkmOsuJNLTLYmQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-message-util@30.0.0-alpha.6: + resolution: {integrity: sha512-XAGJqkrBo7m3bFxWqiNqL0PyAWGf1XHR6bTve90MjBKJuIzhJsounGTzBNUw8JoU7Uzcj5Z6ZmEhaE3CDnwjfw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-mock@30.0.0-alpha.6: + resolution: {integrity: sha512-ezW02IXiKyFYAgDuxfAlONWULitSaB66t411fq2BJxQtgyMGtv59CsnhgbKb0gQp+9vig5MO5ytDCUPalTbarg==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-pnp-resolver@1.2.3: + resolution: {integrity: sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==} + engines: {node: '>=6'} + peerDependencies: + jest-resolve: '*' + peerDependenciesMeta: + jest-resolve: + optional: true + + jest-regex-util@30.0.0-alpha.6: + resolution: {integrity: sha512-XcsAVaqc69QyMz1/FChyhWSoAMaKcDPhFOuWJz/H51LppsyZRAJPXkPnMopsS+qfut8cggExr9QLcsYaX6hqqA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-resolve-dependencies@30.0.0-alpha.6: + resolution: {integrity: sha512-G+st0nBR4FNIvVCHq8YNJBiG6t7u0+cxM099lbtOoJNJU+ZTdIxSyzPnnmp/C+YHd1QOlDNlplvL+xe1KHhPUA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-resolve@30.0.0-alpha.6: + resolution: {integrity: sha512-0EyeId+RFng52qHvuxOzKjZd2uDF/2Hdzpzt54+biGgY/VVAvf8mYE9UV7g6154Ozpq6KLztSqqMCfPgVs4CbA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-runner@30.0.0-alpha.6: + resolution: {integrity: sha512-SoADy4YnspMpXLNnRCXNIoinm1N5SMci+iF6Y29Duv3wnWhcL14XjEOcyUKBB+AIL52YwouLeUHkCyCspbBk1Q==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-runtime@30.0.0-alpha.6: + resolution: {integrity: sha512-p7w7DSFFzwHyR4HsNXca/p32VpL9MLT1c71+VplFJIEgeRHvyqxrARentlul6uJniwtlqvZrVVf5baCQ5a5GUw==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-snapshot@30.0.0-alpha.6: + resolution: {integrity: sha512-YCBUxSNJ9YGch3tyQdxQkOUitbmXahHL6UhSQeSMERFfX1UMrHyEDHggglocCUg4G3jdU8YzshxOJ/oaR6Ph8w==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-util@30.0.0-alpha.6: + resolution: {integrity: sha512-JlimakOVDyoMC8TEG+knoufxUqLG+Btihf1G8o5sHxz54C6oL54Wetfepp+Nhuj/1hSL0sQtkovvjlEycf9i0w==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-validate@30.0.0-alpha.6: + resolution: {integrity: sha512-sINLwCenOUeJVzS5p+o1NhwKsY0de5Es0J7bsaSuZJQGRY67W20idceflr+aZ2akrKgvvqU8Tsg6lkFQyq+a6Q==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-watcher@30.0.0-alpha.6: + resolution: {integrity: sha512-+zL1y3GSJG8EOxVSc2p0dndis0rNDcwKTs4b1bpNTI0XneeTiZlCpRBNYI+sqBl/eZtJBrQdiBRSYz7kJqg7NQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest-worker@30.0.0-alpha.6: + resolution: {integrity: sha512-qlzX7zFT/QdUV/LWsJwZBlaIBaJ+E2VH3d1gArGVP+9hUHGpJkEzCSBK7yuZrkt+M/U0Jre5+maPRmkinEF4DA==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + + jest@30.0.0-alpha.6: + resolution: {integrity: sha512-9T3nAcIAcEpCX2MdxcjG2IDfG/0tjumnCkVNGh+AKkRXcWF4Er5jLROKvXsgXUJCmr/nMqLF6LG0GrDJ0kjFag==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + hasBin: true + peerDependencies: + node-notifier: ^8.0.1 || ^9.0.0 || ^10.0.0 + peerDependenciesMeta: + node-notifier: + optional: true + + joycon@3.1.1: + resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} + engines: {node: '>=10'} + + js-tokens@4.0.0: + resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} js-yaml@3.14.1: resolution: {integrity: sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==} @@ -1732,9 +2390,17 @@ packages: resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} hasBin: true + jsesc@3.0.2: + resolution: {integrity: sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==} + engines: {node: '>=6'} + hasBin: true + json-buffer@3.0.1: resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} + json-parse-even-better-errors@2.3.1: + resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + json-schema-traverse@0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} @@ -1748,6 +2414,11 @@ packages: resolution: {integrity: sha512-SU/971Kt5qVQfJpyDveVhQ/vya+5hvrjClFOcr8c0Fq5aODJjMwutrOfCU+eCnVD5gpx1Q3fEqkyom77zH1iIg==} engines: {node: '>= 0.4'} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + jsonfile@4.0.0: resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} @@ -1757,6 +2428,10 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} + leven@3.1.0: + resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==} + engines: {node: '>=6'} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -1800,6 +2475,9 @@ packages: resolution: {integrity: sha512-Qv32eSV1RSCfhY3fpPE2GNZ8jgM9X7rdAfemLWqTUxwiyIC4jJ6Sy0fZ8H+oLWevO6i4/bizg7c8d8i6bxrzbA==} engines: {node: 20 || >=22} + lru-cache@5.1.1: + resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} + lru-cache@6.0.0: resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} engines: {node: '>=10'} @@ -1807,10 +2485,20 @@ packages: magic-string@0.30.12: resolution: {integrity: sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw==} + make-dir@4.0.0: + resolution: {integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==} + engines: {node: '>=10'} + + makeerror@1.0.12: + resolution: {integrity: sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==} + meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} + merge-stream@2.0.0: + resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} + merge2@1.4.1: resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} engines: {node: '>= 8'} @@ -1823,6 +2511,10 @@ packages: resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} engines: {node: '>=8.6'} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + minimatch@10.0.1: resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} engines: {node: 20 || >=22} @@ -1830,10 +2522,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.3: - resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.4: resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} engines: {node: '>=16 || 14 >=14.17'} @@ -1846,9 +2534,6 @@ packages: resolution: {integrity: sha512-tzzskb3bG8LvYGFF/mDTpq3jpI6Q9wc3LEmBaghu+DdCssd1FakN7Bc0hVNmEyGq1bq3RgfkCb3cmQLpNPOroA==} engines: {node: '>=4'} - ms@2.1.2: - resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} - ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -1875,13 +2560,23 @@ packages: encoding: optional: true + node-int64@0.4.0: + resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==} + node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} + node-releases@2.0.18: + resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} + normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} + npm-run-path@4.0.1: + resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} + engines: {node: '>=8'} + nunjucks@3.2.4: resolution: {integrity: sha512-26XRV6BhkgK0VOxfbU5cQI+ICFUtMLixv1noZn1tGU38kQH5A5nmmbk/O45xdyBhD1esk47nKrY0mvQpZIhRjQ==} engines: {node: '>= 6.9.0'} @@ -1903,6 +2598,10 @@ packages: once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + optionator@0.9.3: resolution: {integrity: sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==} engines: {node: '>= 0.8.0'} @@ -1952,6 +2651,10 @@ packages: resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} engines: {node: '>=6'} + parse-json@5.2.0: + resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} + engines: {node: '>=8'} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} @@ -1964,6 +2667,9 @@ packages: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} + path-parse@1.0.7: + resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} + path-scurry@1.10.2: resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} engines: {node: '>=16 || 14 >=14.17'} @@ -2002,6 +2708,10 @@ packages: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} + pkg-dir@4.2.0: + resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} + engines: {node: '>=8'} + postcss-load-config@6.0.1: resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} @@ -2038,13 +2748,23 @@ packages: engines: {node: '>=14'} hasBin: true + pretty-format@30.0.0-alpha.6: + resolution: {integrity: sha512-xkeffkZoqQmRrcNewpOsUCKNOl+CkPqjt3Ld749uz1S7/O7GuPNPv2fZk3v/1U/FE8/B4Zz0llVL80MKON1tOQ==} + engines: {node: ^16.10.0 || ^18.12.0 || >=20.0.0} + punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} engines: {node: '>=6'} + pure-rand@6.1.0: + resolution: {integrity: sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==} + queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + react-is@18.3.1: + resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -2060,10 +2780,18 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + require-directory@2.1.1: + resolution: {integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==} + engines: {node: '>=0.10.0'} + requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} + resolve-cwd@3.0.0: + resolution: {integrity: sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==} + engines: {node: '>=8'} + resolve-from@4.0.0: resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} engines: {node: '>=4'} @@ -2072,15 +2800,18 @@ packages: resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} engines: {node: '>=8'} + resolve.exports@2.0.2: + resolution: {integrity: sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==} + engines: {node: '>=10'} + + resolve@1.22.8: + resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} + hasBin: true + reusify@1.0.4: resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} engines: {iojs: '>=1.0.0', node: '>=0.10.0'} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@6.0.1: resolution: {integrity: sha512-9dkvaxAsk/xNXSJzMgFqqMCuFgt2+KsOFek3TMLfo8NCPfWpBmqwyNn5Y+NX56QUYfCtsyhF3ayiboEoUmJk/A==} engines: {node: 20 || >=22} @@ -2102,6 +2833,10 @@ packages: safer-buffer@2.1.2: resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} + semver@6.3.1: + resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} + hasBin: true + semver@7.6.0: resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} engines: {node: '>=10'} @@ -2122,6 +2857,9 @@ packages: siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} @@ -2134,6 +2872,13 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map-support@0.5.13: + resolution: {integrity: sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==} + + source-map@0.6.1: + resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} + engines: {node: '>=0.10.0'} + source-map@0.8.0-beta.0: resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} engines: {node: '>= 8'} @@ -2144,12 +2889,20 @@ packages: sprintf-js@1.0.3: resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==} + stack-utils@2.0.6: + resolution: {integrity: sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==} + engines: {node: '>=10'} + stackback@0.0.2: resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} std-env@3.8.0: resolution: {integrity: sha512-Bc3YwwCB+OzldMxOXJIIvC6cPRWr/LxOp48CdQTOkPyk/t4JWWJbrilwBd7RJzKV8QW7tJkcgAmeuLLJugl5/w==} + string-length@4.0.2: + resolution: {integrity: sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==} + engines: {node: '>=10'} + string-width@4.2.3: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} @@ -2170,6 +2923,14 @@ packages: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} + strip-bom@4.0.0: + resolution: {integrity: sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==} + engines: {node: '>=8'} + + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -2183,12 +2944,25 @@ packages: resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} engines: {node: '>=8'} + supports-color@8.1.1: + resolution: {integrity: sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==} + engines: {node: '>=10'} + + supports-preserve-symlinks-flag@1.0.0: + resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} + engines: {node: '>= 0.4'} + + synckit@0.9.2: + resolution: {integrity: sha512-vrozgXDQwYO72vHjUb/HnFbQx1exDjoKzqx23aXEg2a9VIg2TSFZ8FmeZpTjUCFMYw7mpX4BE2SFu8wI7asYsw==} + engines: {node: ^14.18.0 || >=16.0.0} + term-size@2.2.1: resolution: {integrity: sha512-wK0Ri4fOGjv/XPy8SBHZChl8CM7uMc5VML7SqiQ0zG7+J5Vr+RMQDoHa2CNT6KHUnTGIXH34UDMkPzAUyapBZg==} engines: {node: '>=8'} - text-table@0.2.0: - resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} + test-exclude@6.0.0: + resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} + engines: {node: '>=8'} thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} @@ -2223,6 +2997,9 @@ packages: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} + tmpl@1.0.5: + resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-regex-range@5.0.1: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} @@ -2249,6 +3026,9 @@ packages: tslib@1.14.1: resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsup@8.3.5: resolution: {integrity: sha512-Tunf6r6m6tnZsG9GYWndg0z8dEV7fD733VBFzFJ5Vcm1FtlXB8xBD/rtrBi2a3YKEV7hHtxiZtW5EAVADoe1pA==} engines: {node: '>=18'} @@ -2312,17 +3092,31 @@ packages: resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} engines: {node: '>= 0.8.0'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} + type-detect@4.0.8: + resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} + engines: {node: '>=4'} + + type-fest@0.21.3: + resolution: {integrity: sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==} engines: {node: '>=10'} + typescript-eslint@8.16.0: + resolution: {integrity: sha512-wDkVmlY6O2do4V+lZd0GtRfbtXbeD0q9WygwXXSJnC1xorE8eqyC2L1tJimqpSeFrOzRlYtWnUp/uzgHQOgfBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@5.7.2: resolution: {integrity: sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==} engines: {node: '>=14.17'} hasBin: true - undici-types@6.19.6: - resolution: {integrity: sha512-e/vggGopEfTKSvj4ihnOLTsqhrKRN3LeO6qSN/GxohhuRv8qH9bNQ4B8W7e/vFL+0XTnmHPB4/kegunZGA4Org==} + undici-types@6.20.0: + resolution: {integrity: sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==} universalify@0.1.2: resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} @@ -2334,9 +3128,19 @@ packages: peerDependencies: browserslist: '>= 4.21.0' + update-browserslist-db@1.1.1: + resolution: {integrity: sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A==} + hasBin: true + peerDependencies: + browserslist: '>= 4.21.0' + uri-js@4.4.1: resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} + v8-to-istanbul@9.3.0: + resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} + engines: {node: '>=10.12.0'} + vite-node@2.1.6: resolution: {integrity: sha512-DBfJY0n9JUwnyLxPSSUmEePT21j8JZp/sR9n+/gBwQU6DcQOioPdb8/pibWfXForbirSagZCilseYIwaL3f95A==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} @@ -2395,6 +3199,9 @@ packages: jsdom: optional: true + walker@1.0.8: + resolution: {integrity: sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==} + webidl-conversions@3.0.1: resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} @@ -2436,9 +3243,28 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + write-file-atomic@5.0.1: + resolution: {integrity: sha512-+QU2zd6OTD8XWIJCbffaiQeH9U73qIqafo1x6V1snCWYGJf6cVE0cDR4D8xRzcEnfI21IFrUPzPGtcPf8AC+Rw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + + y18n@5.0.8: + resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} + engines: {node: '>=10'} + + yallist@3.1.1: + resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} + yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} + yargs-parser@21.1.1: + resolution: {integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==} + engines: {node: '>=12'} + + yargs@17.7.2: + resolution: {integrity: sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==} + engines: {node: '>=12'} + yocto-queue@0.1.0: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} @@ -2452,10 +3278,202 @@ snapshots: '@aashutoshrathi/word-wrap@1.2.6': {} + '@ampproject/remapping@2.3.0': + dependencies: + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + + '@babel/code-frame@7.26.2': + dependencies: + '@babel/helper-validator-identifier': 7.25.9 + js-tokens: 4.0.0 + picocolors: 1.1.1 + + '@babel/compat-data@7.26.2': {} + + '@babel/core@7.26.0': + dependencies: + '@ampproject/remapping': 2.3.0 + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/helper-compilation-targets': 7.25.9 + '@babel/helper-module-transforms': 7.26.0(@babel/core@7.26.0) + '@babel/helpers': 7.26.0 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + convert-source-map: 2.0.0 + debug: 4.3.7 + gensync: 1.0.0-beta.2 + json5: 2.2.3 + semver: 6.3.1 + transitivePeerDependencies: + - supports-color + + '@babel/generator@7.26.2': + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@jridgewell/gen-mapping': 0.3.5 + '@jridgewell/trace-mapping': 0.3.25 + jsesc: 3.0.2 + + '@babel/helper-compilation-targets@7.25.9': + dependencies: + '@babel/compat-data': 7.26.2 + '@babel/helper-validator-option': 7.25.9 + browserslist: 4.24.2 + lru-cache: 5.1.1 + semver: 6.3.1 + + '@babel/helper-module-imports@7.25.9': + dependencies: + '@babel/traverse': 7.25.9 + '@babel/types': 7.26.0 + transitivePeerDependencies: + - supports-color + + '@babel/helper-module-transforms@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-module-imports': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + '@babel/traverse': 7.25.9 + transitivePeerDependencies: + - supports-color + + '@babel/helper-plugin-utils@7.25.9': {} + + '@babel/helper-string-parser@7.25.9': {} + + '@babel/helper-validator-identifier@7.25.9': {} + + '@babel/helper-validator-option@7.25.9': {} + + '@babel/helpers@7.26.0': + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + + '@babel/parser@7.26.2': + dependencies: + '@babel/types': 7.26.0 + + '@babel/plugin-syntax-async-generators@7.8.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-bigint@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-class-properties@7.12.13(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-class-static-block@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-attributes@7.26.0(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-import-meta@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-json-strings@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-jsx@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-logical-assignment-operators@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-nullish-coalescing-operator@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-numeric-separator@7.10.4(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-object-rest-spread@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-catch-binding@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-optional-chaining@7.8.3(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-private-property-in-object@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-top-level-await@7.14.5(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + + '@babel/plugin-syntax-typescript@7.25.9(@babel/core@7.26.0)': + dependencies: + '@babel/core': 7.26.0 + '@babel/helper-plugin-utils': 7.25.9 + '@babel/runtime@7.24.4': dependencies: regenerator-runtime: 0.14.1 + '@babel/template@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + + '@babel/traverse@7.25.9': + dependencies: + '@babel/code-frame': 7.26.2 + '@babel/generator': 7.26.2 + '@babel/parser': 7.26.2 + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + debug: 4.3.7 + globals: 11.12.0 + transitivePeerDependencies: + - supports-color + + '@babel/types@7.26.0': + dependencies: + '@babel/helper-string-parser': 7.25.9 + '@babel/helper-validator-identifier': 7.25.9 + + '@bcoe/v8-coverage@0.2.3': {} + '@changesets/apply-release-plan@7.0.6': dependencies: '@changesets/config': 3.0.4 @@ -2754,19 +3772,31 @@ snapshots: '@esbuild/win32-x64@0.24.0': optional: true - '@eslint-community/eslint-utils@4.4.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.4.0(eslint@9.15.0)': dependencies: - eslint: 8.57.1 + eslint: 9.15.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.10.0': {} - '@eslint/eslintrc@2.1.4': + '@eslint-community/regexpp@4.12.1': {} + + '@eslint/config-array@0.19.0': + dependencies: + '@eslint/object-schema': 2.1.4 + debug: 4.3.7 + minimatch: 3.1.2 + transitivePeerDependencies: + - supports-color + + '@eslint/core@0.9.0': {} + + '@eslint/eslintrc@3.2.0': dependencies: ajv: 6.12.6 debug: 4.3.7 - espree: 9.6.1 - globals: 13.24.0 + espree: 10.3.0 + globals: 14.0.0 ignore: 5.3.1 import-fresh: 3.3.0 js-yaml: 4.1.0 @@ -2775,19 +3805,33 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/js@9.15.0': {} - '@humanwhocodes/config-array@0.13.0': + '@eslint/json@0.8.0': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.3.7 - minimatch: 3.1.2 - transitivePeerDependencies: - - supports-color + '@eslint/plugin-kit': 0.2.3 + '@humanwhocodes/momoa': 3.3.3 + + '@eslint/object-schema@2.1.4': {} + + '@eslint/plugin-kit@0.2.3': + dependencies: + levn: 0.4.1 + + '@humanfs/core@0.19.1': {} + + '@humanfs/node@0.16.6': + dependencies: + '@humanfs/core': 0.19.1 + '@humanwhocodes/retry': 0.3.1 '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/momoa@3.3.3': {} + + '@humanwhocodes/retry@0.3.1': {} + + '@humanwhocodes/retry@0.4.1': {} '@isaacs/cliui@8.0.2': dependencies: @@ -2798,30 +3842,217 @@ snapshots: wrap-ansi: 8.1.0 wrap-ansi-cjs: wrap-ansi@7.0.0 - '@jridgewell/gen-mapping@0.3.5': + '@istanbuljs/load-nyc-config@1.1.0': dependencies: - '@jridgewell/set-array': 1.2.1 - '@jridgewell/sourcemap-codec': 1.5.0 - '@jridgewell/trace-mapping': 0.3.25 - - '@jridgewell/resolve-uri@3.1.2': {} - - '@jridgewell/set-array@1.2.1': {} + camelcase: 5.3.1 + find-up: 4.1.0 + get-package-type: 0.1.0 + js-yaml: 3.14.1 + resolve-from: 5.0.0 - '@jridgewell/sourcemap-codec@1.5.0': {} + '@istanbuljs/schema@0.1.3': {} - '@jridgewell/trace-mapping@0.3.25': + '@jest/console@30.0.0-alpha.6': dependencies: - '@jridgewell/resolve-uri': 3.1.2 - '@jridgewell/sourcemap-codec': 1.5.0 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + chalk: 4.1.2 + jest-message-util: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + slash: 3.0.0 - '@manypkg/find-root@1.1.0': + '@jest/core@30.0.0-alpha.6': dependencies: - '@babel/runtime': 7.24.4 - '@types/node': 12.20.55 - find-up: 4.1.0 - fs-extra: 8.1.0 - + '@jest/console': 30.0.0-alpha.6 + '@jest/pattern': 30.0.0-alpha.6 + '@jest/reporters': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/transform': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + ci-info: 4.1.0 + exit: 0.1.2 + graceful-fs: 4.2.11 + jest-changed-files: 30.0.0-alpha.6 + jest-config: 30.0.0-alpha.6(@types/node@22.10.0) + jest-haste-map: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-regex-util: 30.0.0-alpha.6 + jest-resolve: 30.0.0-alpha.6 + jest-resolve-dependencies: 30.0.0-alpha.6 + jest-runner: 30.0.0-alpha.6 + jest-runtime: 30.0.0-alpha.6 + jest-snapshot: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + jest-validate: 30.0.0-alpha.6 + jest-watcher: 30.0.0-alpha.6 + micromatch: 4.0.8 + pretty-format: 30.0.0-alpha.6 + slash: 3.0.0 + strip-ansi: 6.0.1 + transitivePeerDependencies: + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + + '@jest/environment@30.0.0-alpha.6': + dependencies: + '@jest/fake-timers': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + jest-mock: 30.0.0-alpha.6 + + '@jest/expect-utils@30.0.0-alpha.6': + dependencies: + jest-get-type: 30.0.0-alpha.6 + + '@jest/expect@30.0.0-alpha.6': + dependencies: + expect: 30.0.0-alpha.6 + jest-snapshot: 30.0.0-alpha.6 + transitivePeerDependencies: + - supports-color + + '@jest/fake-timers@30.0.0-alpha.6': + dependencies: + '@jest/types': 30.0.0-alpha.6 + '@sinonjs/fake-timers': 11.3.1 + '@types/node': 22.10.0 + jest-message-util: 30.0.0-alpha.6 + jest-mock: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + + '@jest/globals@30.0.0-alpha.6': + dependencies: + '@jest/environment': 30.0.0-alpha.6 + '@jest/expect': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + jest-mock: 30.0.0-alpha.6 + transitivePeerDependencies: + - supports-color + + '@jest/pattern@30.0.0-alpha.6': + dependencies: + '@types/node': 22.10.0 + jest-regex-util: 30.0.0-alpha.6 + + '@jest/reporters@30.0.0-alpha.6': + dependencies: + '@bcoe/v8-coverage': 0.2.3 + '@jest/console': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/transform': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@jridgewell/trace-mapping': 0.3.25 + '@types/node': 22.10.0 + chalk: 4.1.2 + collect-v8-coverage: 1.0.2 + exit: 0.1.2 + glob: 10.3.12 + graceful-fs: 4.2.11 + istanbul-lib-coverage: 3.2.2 + istanbul-lib-instrument: 6.0.3 + istanbul-lib-report: 3.0.1 + istanbul-lib-source-maps: 5.0.6 + istanbul-reports: 3.1.7 + jest-message-util: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + jest-worker: 30.0.0-alpha.6 + slash: 3.0.0 + string-length: 4.0.2 + strip-ansi: 6.0.1 + v8-to-istanbul: 9.3.0 + transitivePeerDependencies: + - supports-color + + '@jest/schemas@30.0.0-alpha.6': + dependencies: + '@sinclair/typebox': 0.33.22 + + '@jest/snapshot-utils@30.0.0-alpha.6': + dependencies: + '@jest/types': 30.0.0-alpha.6 + chalk: 4.1.2 + graceful-fs: 4.2.11 + natural-compare: 1.4.0 + + '@jest/source-map@30.0.0-alpha.6': + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + callsites: 3.1.0 + graceful-fs: 4.2.11 + + '@jest/test-result@30.0.0-alpha.6': + dependencies: + '@jest/console': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/istanbul-lib-coverage': 2.0.6 + collect-v8-coverage: 1.0.2 + + '@jest/test-sequencer@30.0.0-alpha.6': + dependencies: + '@jest/test-result': 30.0.0-alpha.6 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.0-alpha.6 + slash: 3.0.0 + + '@jest/transform@30.0.0-alpha.6': + dependencies: + '@babel/core': 7.26.0 + '@jest/types': 30.0.0-alpha.6 + '@jridgewell/trace-mapping': 0.3.25 + babel-plugin-istanbul: 7.0.0 + chalk: 4.1.2 + convert-source-map: 2.0.0 + fast-json-stable-stringify: 2.1.0 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.0-alpha.6 + jest-regex-util: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + micromatch: 4.0.8 + pirates: 4.0.6 + slash: 3.0.0 + write-file-atomic: 5.0.1 + transitivePeerDependencies: + - supports-color + + '@jest/types@30.0.0-alpha.6': + dependencies: + '@jest/pattern': 30.0.0-alpha.6 + '@jest/schemas': 30.0.0-alpha.6 + '@types/istanbul-lib-coverage': 2.0.6 + '@types/istanbul-reports': 3.0.4 + '@types/node': 22.10.0 + '@types/yargs': 17.0.33 + chalk: 4.1.2 + + '@jridgewell/gen-mapping@0.3.5': + dependencies: + '@jridgewell/set-array': 1.2.1 + '@jridgewell/sourcemap-codec': 1.5.0 + '@jridgewell/trace-mapping': 0.3.25 + + '@jridgewell/resolve-uri@3.1.2': {} + + '@jridgewell/set-array@1.2.1': {} + + '@jridgewell/sourcemap-codec@1.5.0': {} + + '@jridgewell/trace-mapping@0.3.25': + dependencies: + '@jridgewell/resolve-uri': 3.1.2 + '@jridgewell/sourcemap-codec': 1.5.0 + + '@manypkg/find-root@1.1.0': + dependencies: + '@babel/runtime': 7.24.4 + '@types/node': 12.20.55 + find-up: 4.1.0 + fs-extra: 8.1.0 + '@manypkg/get-packages@1.1.3': dependencies: '@babel/runtime': 7.24.4 @@ -2848,6 +4079,8 @@ snapshots: '@pkgjs/parseargs@0.11.0': optional: true + '@pkgr/core@0.1.1': {} + '@rollup/plugin-virtual@3.0.2(rollup@3.29.4)': optionalDependencies: rollup: 3.29.4 @@ -2906,6 +4139,16 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.24.2': optional: true + '@sinclair/typebox@0.33.22': {} + + '@sinonjs/commons@3.0.1': + dependencies: + type-detect: 4.0.8 + + '@sinonjs/fake-timers@11.3.1': + dependencies: + '@sinonjs/commons': 3.0.1 + '@solana/codecs-core@2.0.0(typescript@5.7.2)': dependencies: '@solana/errors': 2.0.0(typescript@5.7.2) @@ -2974,17 +4217,20 @@ snapshots: commander: 12.1.0 typescript: 5.7.2 - '@solana/eslint-config-solana@3.0.3(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint-plugin-react-hooks@4.6.0(eslint@8.57.1))(eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.1))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': + '@solana/eslint-config-solana@4.0.0(@eslint/js@9.15.0)(@types/eslint__js@8.42.3)(eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript@5.7.2))(eslint-plugin-react-hooks@4.6.0(eslint@9.15.0))(eslint-plugin-simple-import-sort@12.1.1(eslint@9.15.0))(eslint-plugin-sort-keys-fix@1.1.2)(eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(globals@14.0.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript-eslint@8.16.0(eslint@9.15.0)(typescript@5.7.2))(typescript@5.7.2)': dependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 - eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) - eslint-plugin-react-hooks: 4.6.0(eslint@8.57.1) - eslint-plugin-simple-import-sort: 10.0.0(eslint@8.57.1) + '@eslint/js': 9.15.0 + '@types/eslint__js': 8.42.3 + eslint: 9.15.0 + eslint-plugin-jest: 27.9.0(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript@5.7.2) + eslint-plugin-react-hooks: 4.6.0(eslint@9.15.0) + eslint-plugin-simple-import-sort: 12.1.1(eslint@9.15.0) eslint-plugin-sort-keys-fix: 1.1.2 - eslint-plugin-typescript-sort-keys: 3.3.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + eslint-plugin-typescript-sort-keys: 3.3.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2) + globals: 14.0.0 + jest: 30.0.0-alpha.6(@types/node@22.10.0) typescript: 5.7.2 + typescript-eslint: 8.16.0(eslint@9.15.0)(typescript@5.7.2) '@solana/instructions@2.0.0(typescript@5.7.2)': dependencies: @@ -3006,69 +4252,115 @@ snapshots: dependencies: prettier: 3.4.1 + '@types/babel__core@7.20.5': + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + '@types/babel__generator': 7.6.8 + '@types/babel__template': 7.4.4 + '@types/babel__traverse': 7.20.6 + + '@types/babel__generator@7.6.8': + dependencies: + '@babel/types': 7.26.0 + + '@types/babel__template@7.4.4': + dependencies: + '@babel/parser': 7.26.2 + '@babel/types': 7.26.0 + + '@types/babel__traverse@7.20.6': + dependencies: + '@babel/types': 7.26.0 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 + + '@types/eslint__js@8.42.3': + dependencies: + '@types/eslint': 9.6.1 + '@types/estree@1.0.6': {} '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 20.17.8 + '@types/node': 22.10.0 optional: true + '@types/istanbul-lib-coverage@2.0.6': {} + + '@types/istanbul-lib-report@3.0.3': + dependencies: + '@types/istanbul-lib-coverage': 2.0.6 + + '@types/istanbul-reports@3.0.4': + dependencies: + '@types/istanbul-lib-report': 3.0.3 + '@types/json-schema@7.0.15': {} '@types/json-stable-stringify@1.1.0': {} '@types/jsonfile@6.1.4': dependencies: - '@types/node': 20.17.8 + '@types/node': 22.10.0 optional: true '@types/node@12.20.55': {} - '@types/node@20.17.8': + '@types/node@22.10.0': dependencies: - undici-types: 6.19.6 + undici-types: 6.20.0 '@types/nunjucks@3.2.6': {} '@types/semver@7.5.8': {} - '@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2)': + '@types/stack-utils@2.0.3': {} + + '@types/yargs-parser@21.0.3': {} + + '@types/yargs@17.0.33': + dependencies: + '@types/yargs-parser': 21.0.3 + + '@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/type-utils': 6.21.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.1 + '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/scope-manager': 8.16.0 + '@typescript-eslint/type-utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.16.0 + eslint: 9.15.0 graphemer: 1.4.0 ignore: 5.3.1 natural-compare: 1.4.0 - semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: - supports-color - '@typescript-eslint/experimental-utils@5.62.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/experimental-utils@5.62.0(eslint@9.15.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 + '@typescript-eslint/utils': 5.62.0(eslint@9.15.0)(typescript@5.7.2) + eslint: 9.15.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.2) - '@typescript-eslint/visitor-keys': 6.21.0 - debug: 4.3.4 - eslint: 8.57.1 + '@typescript-eslint/scope-manager': 8.16.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + '@typescript-eslint/visitor-keys': 8.16.0 + debug: 4.3.7 + eslint: 9.15.0 optionalDependencies: typescript: 5.7.2 transitivePeerDependencies: @@ -3079,17 +4371,17 @@ snapshots: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/scope-manager@6.21.0': + '@typescript-eslint/scope-manager@8.16.0': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/visitor-keys': 8.16.0 - '@typescript-eslint/type-utils@6.21.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/type-utils@8.16.0(eslint@9.15.0)(typescript@5.7.2)': dependencies: - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.2) - '@typescript-eslint/utils': 6.21.0(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2) debug: 4.3.7 - eslint: 8.57.1 + eslint: 9.15.0 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: typescript: 5.7.2 @@ -3098,7 +4390,7 @@ snapshots: '@typescript-eslint/types@5.62.0': {} - '@typescript-eslint/types@6.21.0': {} + '@typescript-eslint/types@8.16.0': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.7.2)': dependencies: @@ -3114,14 +4406,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@6.21.0(typescript@5.7.2)': + '@typescript-eslint/typescript-estree@8.16.0(typescript@5.7.2)': dependencies: - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/visitor-keys': 6.21.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/visitor-keys': 8.16.0 debug: 4.3.7 - globby: 11.1.0 + fast-glob: 3.3.2 is-glob: 4.0.3 - minimatch: 9.0.3 + minimatch: 9.0.4 semver: 7.6.0 ts-api-utils: 1.3.0(typescript@5.7.2) optionalDependencies: @@ -3129,44 +4421,42 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/utils@5.62.0(eslint@9.15.0)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0) '@types/json-schema': 7.0.15 '@types/semver': 7.5.8 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.7.2) - eslint: 8.57.1 + eslint: 9.15.0 eslint-scope: 5.1.1 semver: 7.6.0 transitivePeerDependencies: - supports-color - typescript - '@typescript-eslint/utils@6.21.0(eslint@8.57.1)(typescript@5.7.2)': + '@typescript-eslint/utils@8.16.0(eslint@9.15.0)(typescript@5.7.2)': dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 6.21.0 - '@typescript-eslint/types': 6.21.0 - '@typescript-eslint/typescript-estree': 6.21.0(typescript@5.7.2) - eslint: 8.57.1 - semver: 7.6.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0) + '@typescript-eslint/scope-manager': 8.16.0 + '@typescript-eslint/types': 8.16.0 + '@typescript-eslint/typescript-estree': 8.16.0(typescript@5.7.2) + eslint: 9.15.0 + optionalDependencies: + typescript: 5.7.2 transitivePeerDependencies: - supports-color - - typescript '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@6.21.0': + '@typescript-eslint/visitor-keys@8.16.0': dependencies: - '@typescript-eslint/types': 6.21.0 - eslint-visitor-keys: 3.4.3 + '@typescript-eslint/types': 8.16.0 + eslint-visitor-keys: 4.2.0 '@ungap/structured-clone@1.2.0': {} @@ -3177,13 +4467,13 @@ snapshots: chai: 5.1.2 tinyrainbow: 1.2.0 - '@vitest/mocker@2.1.6(vite@5.2.11(@types/node@20.17.8))': + '@vitest/mocker@2.1.6(vite@5.2.11(@types/node@22.10.0))': dependencies: '@vitest/spy': 2.1.6 estree-walker: 3.0.3 magic-string: 0.30.12 optionalDependencies: - vite: 5.2.11(@types/node@20.17.8) + vite: 5.2.11(@types/node@22.10.0) '@vitest/pretty-format@2.1.6': dependencies: @@ -3216,14 +4506,16 @@ snapshots: dependencies: acorn: 7.4.1 - acorn-jsx@5.3.2(acorn@8.11.3): + acorn-jsx@5.3.2(acorn@8.14.0): dependencies: - acorn: 8.11.3 + acorn: 8.14.0 acorn@7.4.1: {} acorn@8.11.3: {} + acorn@8.14.0: {} + agadoo@3.0.0: dependencies: '@rollup/plugin-virtual': 3.0.2(rollup@3.29.4) @@ -3239,6 +4531,10 @@ snapshots: ansi-colors@4.1.3: {} + ansi-escapes@4.3.2: + dependencies: + type-fest: 0.21.3 + ansi-regex@5.0.1: {} ansi-regex@6.0.1: {} @@ -3247,6 +4543,8 @@ snapshots: dependencies: color-convert: 2.0.1 + ansi-styles@5.2.0: {} + ansi-styles@6.2.1: {} any-promise@1.3.0: {} @@ -3255,7 +4553,6 @@ snapshots: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - optional: true argparse@1.0.10: dependencies: @@ -3269,6 +4566,60 @@ snapshots: assertion-error@2.0.1: {} + babel-jest@30.0.0-alpha.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/transform': 30.0.0-alpha.6 + '@types/babel__core': 7.20.5 + babel-plugin-istanbul: 7.0.0 + babel-preset-jest: 30.0.0-alpha.6(@babel/core@7.26.0) + chalk: 4.1.2 + graceful-fs: 4.2.11 + slash: 3.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-istanbul@7.0.0: + dependencies: + '@babel/helper-plugin-utils': 7.25.9 + '@istanbuljs/load-nyc-config': 1.1.0 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-instrument: 6.0.3 + test-exclude: 6.0.0 + transitivePeerDependencies: + - supports-color + + babel-plugin-jest-hoist@30.0.0-alpha.6: + dependencies: + '@babel/template': 7.25.9 + '@babel/types': 7.26.0 + '@types/babel__core': 7.20.5 + + babel-preset-current-node-syntax@1.1.0(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + '@babel/plugin-syntax-async-generators': 7.8.4(@babel/core@7.26.0) + '@babel/plugin-syntax-bigint': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-class-properties': 7.12.13(@babel/core@7.26.0) + '@babel/plugin-syntax-class-static-block': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-import-attributes': 7.26.0(@babel/core@7.26.0) + '@babel/plugin-syntax-import-meta': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-json-strings': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-logical-assignment-operators': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-nullish-coalescing-operator': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-numeric-separator': 7.10.4(@babel/core@7.26.0) + '@babel/plugin-syntax-object-rest-spread': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-catch-binding': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-optional-chaining': 7.8.3(@babel/core@7.26.0) + '@babel/plugin-syntax-private-property-in-object': 7.14.5(@babel/core@7.26.0) + '@babel/plugin-syntax-top-level-await': 7.14.5(@babel/core@7.26.0) + + babel-preset-jest@30.0.0-alpha.6(@babel/core@7.26.0): + dependencies: + '@babel/core': 7.26.0 + babel-plugin-jest-hoist: 30.0.0-alpha.6 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + balanced-match@1.0.2: {} better-path-resolve@1.0.0: @@ -3307,6 +4658,19 @@ snapshots: node-releases: 2.0.14 update-browserslist-db: 1.0.13(browserslist@4.23.0) + browserslist@4.24.2: + dependencies: + caniuse-lite: 1.0.30001684 + electron-to-chromium: 1.5.65 + node-releases: 2.0.18 + update-browserslist-db: 1.1.1(browserslist@4.24.2) + + bser@2.1.1: + dependencies: + node-int64: 0.4.0 + + buffer-from@1.1.2: {} + bundle-require@5.0.0(esbuild@0.24.0): dependencies: esbuild: 0.24.0 @@ -3324,8 +4688,14 @@ snapshots: callsites@3.1.0: {} + camelcase@5.3.1: {} + + camelcase@6.3.0: {} + caniuse-lite@1.0.30001610: {} + caniuse-lite@1.0.30001684: {} + chai@5.1.2: dependencies: assertion-error: 2.0.1 @@ -3341,6 +4711,8 @@ snapshots: chalk@5.3.0: {} + char-regex@1.0.2: {} + chardet@0.7.0: {} check-error@2.1.1: {} @@ -3364,6 +4736,20 @@ snapshots: ci-info@3.9.0: {} + ci-info@4.1.0: {} + + cjs-module-lexer@1.4.1: {} + + cliui@8.0.1: + dependencies: + string-width: 4.2.3 + strip-ansi: 6.0.1 + wrap-ansi: 7.0.0 + + co@4.6.0: {} + + collect-v8-coverage@1.0.2: {} + color-convert@2.0.1: dependencies: color-name: 1.1.4 @@ -3380,6 +4766,8 @@ snapshots: consola@3.2.3: {} + convert-source-map@2.0.0: {} + cross-spawn@7.0.3: dependencies: path-key: 3.1.1 @@ -3394,18 +4782,18 @@ snapshots: dataloader@1.4.0: {} - debug@4.3.4: - dependencies: - ms: 2.1.2 - debug@4.3.7: dependencies: ms: 2.1.3 + dedent@1.5.3: {} + deep-eql@5.0.2: {} deep-is@0.1.4: {} + deepmerge@4.3.1: {} + define-data-property@1.1.4: dependencies: es-define-property: 1.0.0 @@ -3414,22 +4802,24 @@ snapshots: detect-indent@6.1.0: {} + detect-newline@3.1.0: {} + + diff-sequences@30.0.0-alpha.6: {} + dir-glob@3.0.1: dependencies: path-type: 4.0.0 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - - dotenv@16.0.3: {} - dotenv@8.6.0: {} eastasianwidth@0.2.0: {} electron-to-chromium@1.4.738: {} + electron-to-chromium@1.5.65: {} + + emittery@0.13.1: {} + emoji-regex@8.0.0: {} emoji-regex@9.2.2: {} @@ -3441,6 +4831,10 @@ snapshots: entities@4.5.0: {} + error-ex@1.3.2: + dependencies: + is-arrayish: 0.2.1 + es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 @@ -3504,30 +4898,30 @@ snapshots: escalade@3.1.2: {} - escape-string-regexp@4.0.0: {} + escalade@3.2.0: {} - eslint-config-turbo@2.3.3(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-plugin-turbo: 2.3.3(eslint@8.57.1) + escape-string-regexp@2.0.0: {} + + escape-string-regexp@4.0.0: {} - eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2): + eslint-plugin-jest@27.9.0(@typescript-eslint/eslint-plugin@8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(jest@30.0.0-alpha.6(@types/node@22.10.0))(typescript@5.7.2): dependencies: - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 + '@typescript-eslint/utils': 5.62.0(eslint@9.15.0)(typescript@5.7.2) + eslint: 9.15.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 6.21.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2) + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2) + jest: 30.0.0-alpha.6(@types/node@22.10.0) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-react-hooks@4.6.0(eslint@8.57.1): + eslint-plugin-react-hooks@4.6.0(eslint@9.15.0): dependencies: - eslint: 8.57.1 + eslint: 9.15.0 - eslint-plugin-simple-import-sort@10.0.0(eslint@8.57.1): + eslint-plugin-simple-import-sort@12.1.1(eslint@9.15.0): dependencies: - eslint: 8.57.1 + eslint: 9.15.0 eslint-plugin-sort-keys-fix@1.1.2: dependencies: @@ -3536,16 +4930,11 @@ snapshots: natural-compare: 1.4.0 requireindex: 1.2.0 - eslint-plugin-turbo@2.3.3(eslint@8.57.1): - dependencies: - dotenv: 16.0.3 - eslint: 8.57.1 - - eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@6.21.0(eslint@8.57.1)(typescript@5.7.2))(eslint@8.57.1)(typescript@5.7.2): + eslint-plugin-typescript-sort-keys@3.3.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2): dependencies: - '@typescript-eslint/experimental-utils': 5.62.0(eslint@8.57.1)(typescript@5.7.2) - '@typescript-eslint/parser': 6.21.0(eslint@8.57.1)(typescript@5.7.2) - eslint: 8.57.1 + '@typescript-eslint/experimental-utils': 5.62.0(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + eslint: 9.15.0 json-schema: 0.4.0 natural-compare-lite: 1.4.0 typescript: 5.7.2 @@ -3557,7 +4946,7 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@8.2.0: dependencies: esrecurse: 4.3.0 estraverse: 5.3.0 @@ -3566,61 +4955,59 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@4.2.0: {} + + eslint@9.15.0: dependencies: - '@eslint-community/eslint-utils': 4.4.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.10.0 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint-community/eslint-utils': 4.4.0(eslint@9.15.0) + '@eslint-community/regexpp': 4.12.1 + '@eslint/config-array': 0.19.0 + '@eslint/core': 0.9.0 + '@eslint/eslintrc': 3.2.0 + '@eslint/js': 9.15.0 + '@eslint/plugin-kit': 0.2.3 + '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.2.0 + '@humanwhocodes/retry': 0.4.1 + '@types/estree': 1.0.6 + '@types/json-schema': 7.0.15 ajv: 6.12.6 chalk: 4.1.2 - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 debug: 4.3.7 - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 + eslint-scope: 8.2.0 + eslint-visitor-keys: 4.2.0 + espree: 10.3.0 esquery: 1.5.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.1 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.0 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 lodash.merge: 4.6.2 minimatch: 3.1.2 natural-compare: 1.4.0 optionator: 0.9.3 - strip-ansi: 6.0.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color + espree@10.3.0: + dependencies: + acorn: 8.14.0 + acorn-jsx: 5.3.2(acorn@8.14.0) + eslint-visitor-keys: 4.2.0 + espree@6.2.1: dependencies: acorn: 7.4.1 acorn-jsx: 5.3.2(acorn@7.4.1) eslint-visitor-keys: 1.3.0 - espree@9.6.1: - dependencies: - acorn: 8.11.3 - acorn-jsx: 5.3.2(acorn@8.11.3) - eslint-visitor-keys: 3.4.3 - esprima@4.0.1: {} esquery@1.5.0: @@ -3641,8 +5028,31 @@ snapshots: esutils@2.0.3: {} + execa@5.1.1: + dependencies: + cross-spawn: 7.0.6 + get-stream: 6.0.1 + human-signals: 2.1.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 4.0.1 + onetime: 5.1.2 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + + exit@0.1.2: {} + expect-type@1.1.0: {} + expect@30.0.0-alpha.6: + dependencies: + '@jest/expect-utils': 30.0.0-alpha.6 + jest-get-type: 30.0.0-alpha.6 + jest-matcher-utils: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-mock: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + extendable-error@0.1.7: {} external-editor@3.1.0: @@ -3671,13 +5081,17 @@ snapshots: dependencies: reusify: 1.0.4 + fb-watchman@2.0.2: + dependencies: + bser: 2.1.1 + fdir@6.4.2(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 fill-range@7.0.1: dependencies: @@ -3697,11 +5111,10 @@ snapshots: locate-path: 6.0.0 path-exists: 4.0.0 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.3.1 keyv: 4.5.4 - rimraf: 3.0.2 flatted@3.3.1: {} @@ -3729,6 +5142,10 @@ snapshots: function-bind@1.1.2: {} + gensync@1.0.0-beta.2: {} + + get-caller-file@2.0.5: {} + get-intrinsic@1.2.4: dependencies: es-errors: 1.3.0 @@ -3737,6 +5154,10 @@ snapshots: has-symbols: 1.0.3 hasown: 2.0.2 + get-package-type@0.1.0: {} + + get-stream@6.0.1: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -3771,9 +5192,9 @@ snapshots: once: 1.4.0 path-is-absolute: 1.0.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@11.12.0: {} + + globals@14.0.0: {} globby@11.1.0: dependencies: @@ -3812,8 +5233,12 @@ snapshots: dependencies: function-bind: 1.1.2 + html-escaper@2.0.2: {} + human-id@1.0.2: {} + human-signals@2.1.0: {} + iconv-lite@0.4.24: dependencies: safer-buffer: 2.1.2 @@ -3825,6 +5250,11 @@ snapshots: parent-module: 1.0.1 resolve-from: 4.0.0 + import-local@3.2.0: + dependencies: + pkg-dir: 4.2.0 + resolve-cwd: 3.0.0 + imurmurhash@0.1.4: {} inflight@1.0.6: @@ -3834,22 +5264,30 @@ snapshots: inherits@2.0.4: {} + is-arrayish@0.2.1: {} + is-binary-path@2.1.0: dependencies: binary-extensions: 2.3.0 optional: true + is-core-module@2.15.1: + dependencies: + hasown: 2.0.2 + is-extglob@2.1.1: {} is-fullwidth-code-point@3.0.0: {} + is-generator-fn@2.1.0: {} + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-number@7.0.0: {} - is-path-inside@3.0.3: {} + is-stream@2.0.1: {} is-subdir@1.2.0: dependencies: @@ -3861,6 +5299,37 @@ snapshots: isexe@2.0.0: {} + istanbul-lib-coverage@3.2.2: {} + + istanbul-lib-instrument@6.0.3: + dependencies: + '@babel/core': 7.26.0 + '@babel/parser': 7.26.2 + '@istanbuljs/schema': 0.1.3 + istanbul-lib-coverage: 3.2.2 + semver: 7.6.0 + transitivePeerDependencies: + - supports-color + + istanbul-lib-report@3.0.1: + dependencies: + istanbul-lib-coverage: 3.2.2 + make-dir: 4.0.0 + supports-color: 7.2.0 + + istanbul-lib-source-maps@5.0.6: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + debug: 4.3.7 + istanbul-lib-coverage: 3.2.2 + transitivePeerDependencies: + - supports-color + + istanbul-reports@3.1.7: + dependencies: + html-escaper: 2.0.2 + istanbul-lib-report: 3.0.1 + jackspeak@2.3.6: dependencies: '@isaacs/cliui': 8.0.2 @@ -3873,8 +5342,322 @@ snapshots: optionalDependencies: '@pkgjs/parseargs': 0.11.0 + jest-changed-files@30.0.0-alpha.6: + dependencies: + execa: 5.1.1 + jest-util: 30.0.0-alpha.6 + p-limit: 3.1.0 + + jest-circus@30.0.0-alpha.6: + dependencies: + '@jest/environment': 30.0.0-alpha.6 + '@jest/expect': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + chalk: 4.1.2 + co: 4.6.0 + dedent: 1.5.3 + is-generator-fn: 2.1.0 + jest-each: 30.0.0-alpha.6 + jest-matcher-utils: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-runtime: 30.0.0-alpha.6 + jest-snapshot: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + p-limit: 3.1.0 + pretty-format: 30.0.0-alpha.6 + pure-rand: 6.1.0 + slash: 3.0.0 + stack-utils: 2.0.6 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-cli@30.0.0-alpha.6(@types/node@22.10.0): + dependencies: + '@jest/core': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + chalk: 4.1.2 + exit: 0.1.2 + import-local: 3.2.0 + jest-config: 30.0.0-alpha.6(@types/node@22.10.0) + jest-util: 30.0.0-alpha.6 + jest-validate: 30.0.0-alpha.6 + yargs: 17.7.2 + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + + jest-config@30.0.0-alpha.6(@types/node@22.10.0): + dependencies: + '@babel/core': 7.26.0 + '@jest/pattern': 30.0.0-alpha.6 + '@jest/test-sequencer': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + babel-jest: 30.0.0-alpha.6(@babel/core@7.26.0) + chalk: 4.1.2 + ci-info: 4.1.0 + deepmerge: 4.3.1 + glob: 10.3.12 + graceful-fs: 4.2.11 + jest-circus: 30.0.0-alpha.6 + jest-docblock: 30.0.0-alpha.6 + jest-environment-node: 30.0.0-alpha.6 + jest-get-type: 30.0.0-alpha.6 + jest-regex-util: 30.0.0-alpha.6 + jest-resolve: 30.0.0-alpha.6 + jest-runner: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + jest-validate: 30.0.0-alpha.6 + micromatch: 4.0.8 + parse-json: 5.2.0 + pretty-format: 30.0.0-alpha.6 + slash: 3.0.0 + strip-json-comments: 3.1.1 + optionalDependencies: + '@types/node': 22.10.0 + transitivePeerDependencies: + - babel-plugin-macros + - supports-color + + jest-diff@30.0.0-alpha.6: + dependencies: + chalk: 4.1.2 + diff-sequences: 30.0.0-alpha.6 + jest-get-type: 30.0.0-alpha.6 + pretty-format: 30.0.0-alpha.6 + + jest-docblock@30.0.0-alpha.6: + dependencies: + detect-newline: 3.1.0 + + jest-each@30.0.0-alpha.6: + dependencies: + '@jest/types': 30.0.0-alpha.6 + chalk: 4.1.2 + jest-get-type: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + pretty-format: 30.0.0-alpha.6 + + jest-environment-node@30.0.0-alpha.6: + dependencies: + '@jest/environment': 30.0.0-alpha.6 + '@jest/fake-timers': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + jest-mock: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + + jest-get-type@30.0.0-alpha.6: {} + + jest-haste-map@30.0.0-alpha.6: + dependencies: + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + anymatch: 3.1.3 + fb-watchman: 2.0.2 + graceful-fs: 4.2.11 + jest-regex-util: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + jest-worker: 30.0.0-alpha.6 + micromatch: 4.0.8 + walker: 1.0.8 + optionalDependencies: + fsevents: 2.3.3 + + jest-leak-detector@30.0.0-alpha.6: + dependencies: + jest-get-type: 30.0.0-alpha.6 + pretty-format: 30.0.0-alpha.6 + + jest-matcher-utils@30.0.0-alpha.6: + dependencies: + chalk: 4.1.2 + jest-diff: 30.0.0-alpha.6 + jest-get-type: 30.0.0-alpha.6 + pretty-format: 30.0.0-alpha.6 + + jest-message-util@30.0.0-alpha.6: + dependencies: + '@babel/code-frame': 7.26.2 + '@jest/types': 30.0.0-alpha.6 + '@types/stack-utils': 2.0.3 + chalk: 4.1.2 + graceful-fs: 4.2.11 + micromatch: 4.0.8 + pretty-format: 30.0.0-alpha.6 + slash: 3.0.0 + stack-utils: 2.0.6 + + jest-mock@30.0.0-alpha.6: + dependencies: + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + jest-util: 30.0.0-alpha.6 + + jest-pnp-resolver@1.2.3(jest-resolve@30.0.0-alpha.6): + optionalDependencies: + jest-resolve: 30.0.0-alpha.6 + + jest-regex-util@30.0.0-alpha.6: {} + + jest-resolve-dependencies@30.0.0-alpha.6: + dependencies: + jest-regex-util: 30.0.0-alpha.6 + jest-snapshot: 30.0.0-alpha.6 + transitivePeerDependencies: + - supports-color + + jest-resolve@30.0.0-alpha.6: + dependencies: + chalk: 4.1.2 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.0-alpha.6 + jest-pnp-resolver: 1.2.3(jest-resolve@30.0.0-alpha.6) + jest-util: 30.0.0-alpha.6 + jest-validate: 30.0.0-alpha.6 + resolve: 1.22.8 + resolve.exports: 2.0.2 + slash: 3.0.0 + + jest-runner@30.0.0-alpha.6: + dependencies: + '@jest/console': 30.0.0-alpha.6 + '@jest/environment': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/transform': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + chalk: 4.1.2 + emittery: 0.13.1 + graceful-fs: 4.2.11 + jest-docblock: 30.0.0-alpha.6 + jest-environment-node: 30.0.0-alpha.6 + jest-haste-map: 30.0.0-alpha.6 + jest-leak-detector: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-resolve: 30.0.0-alpha.6 + jest-runtime: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + jest-watcher: 30.0.0-alpha.6 + jest-worker: 30.0.0-alpha.6 + p-limit: 3.1.0 + source-map-support: 0.5.13 + transitivePeerDependencies: + - supports-color + + jest-runtime@30.0.0-alpha.6: + dependencies: + '@jest/environment': 30.0.0-alpha.6 + '@jest/fake-timers': 30.0.0-alpha.6 + '@jest/globals': 30.0.0-alpha.6 + '@jest/source-map': 30.0.0-alpha.6 + '@jest/test-result': 30.0.0-alpha.6 + '@jest/transform': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + chalk: 4.1.2 + cjs-module-lexer: 1.4.1 + collect-v8-coverage: 1.0.2 + glob: 10.3.12 + graceful-fs: 4.2.11 + jest-haste-map: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-mock: 30.0.0-alpha.6 + jest-regex-util: 30.0.0-alpha.6 + jest-resolve: 30.0.0-alpha.6 + jest-snapshot: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + slash: 3.0.0 + strip-bom: 4.0.0 + transitivePeerDependencies: + - supports-color + + jest-snapshot@30.0.0-alpha.6: + dependencies: + '@babel/core': 7.26.0 + '@babel/generator': 7.26.2 + '@babel/plugin-syntax-jsx': 7.25.9(@babel/core@7.26.0) + '@babel/plugin-syntax-typescript': 7.25.9(@babel/core@7.26.0) + '@babel/types': 7.26.0 + '@jest/expect-utils': 30.0.0-alpha.6 + '@jest/snapshot-utils': 30.0.0-alpha.6 + '@jest/transform': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + babel-preset-current-node-syntax: 1.1.0(@babel/core@7.26.0) + chalk: 4.1.2 + expect: 30.0.0-alpha.6 + graceful-fs: 4.2.11 + jest-diff: 30.0.0-alpha.6 + jest-get-type: 30.0.0-alpha.6 + jest-matcher-utils: 30.0.0-alpha.6 + jest-message-util: 30.0.0-alpha.6 + jest-util: 30.0.0-alpha.6 + pretty-format: 30.0.0-alpha.6 + semver: 7.6.0 + synckit: 0.9.2 + transitivePeerDependencies: + - supports-color + + jest-util@30.0.0-alpha.6: + dependencies: + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + chalk: 4.1.2 + ci-info: 4.1.0 + graceful-fs: 4.2.11 + picomatch: 4.0.2 + + jest-validate@30.0.0-alpha.6: + dependencies: + '@jest/types': 30.0.0-alpha.6 + camelcase: 6.3.0 + chalk: 4.1.2 + jest-get-type: 30.0.0-alpha.6 + leven: 3.1.0 + pretty-format: 30.0.0-alpha.6 + + jest-watcher@30.0.0-alpha.6: + dependencies: + '@jest/test-result': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + '@types/node': 22.10.0 + ansi-escapes: 4.3.2 + chalk: 4.1.2 + emittery: 0.13.1 + jest-util: 30.0.0-alpha.6 + string-length: 4.0.2 + + jest-worker@30.0.0-alpha.6: + dependencies: + '@types/node': 22.10.0 + '@ungap/structured-clone': 1.2.0 + jest-util: 30.0.0-alpha.6 + merge-stream: 2.0.0 + supports-color: 8.1.1 + + jest@30.0.0-alpha.6(@types/node@22.10.0): + dependencies: + '@jest/core': 30.0.0-alpha.6 + '@jest/types': 30.0.0-alpha.6 + import-local: 3.2.0 + jest-cli: 30.0.0-alpha.6(@types/node@22.10.0) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - esbuild-register + - supports-color + - ts-node + joycon@3.1.1: {} + js-tokens@4.0.0: {} + js-yaml@3.14.1: dependencies: argparse: 1.0.10 @@ -3884,8 +5667,12 @@ snapshots: dependencies: argparse: 2.0.1 + jsesc@3.0.2: {} + json-buffer@3.0.1: {} + json-parse-even-better-errors@2.3.1: {} + json-schema-traverse@0.4.1: {} json-schema@0.4.0: {} @@ -3899,6 +5686,8 @@ snapshots: jsonify: 0.0.1 object-keys: 1.1.1 + json5@2.2.3: {} + jsonfile@4.0.0: optionalDependencies: graceful-fs: 4.2.11 @@ -3909,6 +5698,8 @@ snapshots: dependencies: json-buffer: 3.0.1 + leven@3.1.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -3940,6 +5731,10 @@ snapshots: lru-cache@11.0.0: {} + lru-cache@5.1.1: + dependencies: + yallist: 3.1.1 + lru-cache@6.0.0: dependencies: yallist: 4.0.0 @@ -3948,8 +5743,18 @@ snapshots: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 + make-dir@4.0.0: + dependencies: + semver: 7.6.0 + + makeerror@1.0.12: + dependencies: + tmpl: 1.0.5 + meow@13.2.0: {} + merge-stream@2.0.0: {} + merge2@1.4.1: {} micromatch@4.0.5: @@ -3962,6 +5767,8 @@ snapshots: braces: 3.0.3 picomatch: 2.3.1 + mimic-fn@2.1.0: {} + minimatch@10.0.1: dependencies: brace-expansion: 2.0.1 @@ -3970,10 +5777,6 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.3: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.4: dependencies: brace-expansion: 2.0.1 @@ -3982,8 +5785,6 @@ snapshots: mri@1.2.0: {} - ms@2.1.2: {} - ms@2.1.3: {} mz@2.7.0: @@ -4002,10 +5803,17 @@ snapshots: dependencies: whatwg-url: 5.0.0 + node-int64@0.4.0: {} + node-releases@2.0.14: {} - normalize-path@3.0.0: - optional: true + node-releases@2.0.18: {} + + normalize-path@3.0.0: {} + + npm-run-path@4.0.1: + dependencies: + path-key: 3.1.1 nunjucks@3.2.4(chokidar@3.6.0): dependencies: @@ -4023,6 +5831,10 @@ snapshots: dependencies: wrappy: 1.0.2 + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + optionator@0.9.3: dependencies: '@aashutoshrathi/word-wrap': 1.2.6 @@ -4068,12 +5880,21 @@ snapshots: dependencies: callsites: 3.1.0 + parse-json@5.2.0: + dependencies: + '@babel/code-frame': 7.26.2 + error-ex: 1.3.2 + json-parse-even-better-errors: 2.3.1 + lines-and-columns: 1.2.4 + path-exists@4.0.0: {} path-is-absolute@1.0.1: {} path-key@3.1.1: {} + path-parse@1.0.7: {} + path-scurry@1.10.2: dependencies: lru-cache: 10.2.0 @@ -4100,6 +5921,10 @@ snapshots: pirates@4.0.6: {} + pkg-dir@4.2.0: + dependencies: + find-up: 4.1.0 + postcss-load-config@6.0.1(postcss@8.4.38): dependencies: lilconfig: 3.1.1 @@ -4118,10 +5943,20 @@ snapshots: prettier@3.4.1: {} + pretty-format@30.0.0-alpha.6: + dependencies: + '@jest/schemas': 30.0.0-alpha.6 + ansi-styles: 5.2.0 + react-is: 18.3.1 + punycode@2.3.1: {} + pure-rand@6.1.0: {} + queue-microtask@1.2.3: {} + react-is@18.3.1: {} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -4138,17 +5973,27 @@ snapshots: regenerator-runtime@0.14.1: {} + require-directory@2.1.1: {} + requireindex@1.2.0: {} + resolve-cwd@3.0.0: + dependencies: + resolve-from: 5.0.0 + resolve-from@4.0.0: {} resolve-from@5.0.0: {} - reusify@1.0.4: {} + resolve.exports@2.0.2: {} - rimraf@3.0.2: + resolve@1.22.8: dependencies: - glob: 7.2.3 + is-core-module: 2.15.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + + reusify@1.0.4: {} rimraf@6.0.1: dependencies: @@ -4189,6 +6034,8 @@ snapshots: safer-buffer@2.1.2: {} + semver@6.3.1: {} + semver@7.6.0: dependencies: lru-cache: 6.0.0 @@ -4210,12 +6057,21 @@ snapshots: siginfo@2.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} slash@3.0.0: {} source-map-js@1.2.0: {} + source-map-support@0.5.13: + dependencies: + buffer-from: 1.1.2 + source-map: 0.6.1 + + source-map@0.6.1: {} + source-map@0.8.0-beta.0: dependencies: whatwg-url: 7.1.0 @@ -4227,10 +6083,19 @@ snapshots: sprintf-js@1.0.3: {} + stack-utils@2.0.6: + dependencies: + escape-string-regexp: 2.0.0 + stackback@0.0.2: {} std-env@3.8.0: {} + string-length@4.0.2: + dependencies: + char-regex: 1.0.2 + strip-ansi: 6.0.1 + string-width@4.2.3: dependencies: emoji-regex: 8.0.0 @@ -4253,6 +6118,10 @@ snapshots: strip-bom@3.0.0: {} + strip-bom@4.0.0: {} + + strip-final-newline@2.0.0: {} + strip-json-comments@3.1.1: {} sucrase@3.35.0: @@ -4269,9 +6138,24 @@ snapshots: dependencies: has-flag: 4.0.0 + supports-color@8.1.1: + dependencies: + has-flag: 4.0.0 + + supports-preserve-symlinks-flag@1.0.0: {} + + synckit@0.9.2: + dependencies: + '@pkgr/core': 0.1.1 + tslib: 2.8.1 + term-size@2.2.1: {} - text-table@0.2.0: {} + test-exclude@6.0.0: + dependencies: + '@istanbuljs/schema': 0.1.3 + glob: 7.2.3 + minimatch: 3.1.2 thenify-all@1.6.0: dependencies: @@ -4300,6 +6184,8 @@ snapshots: dependencies: os-tmpdir: 1.0.2 + tmpl@1.0.5: {} + to-regex-range@5.0.1: dependencies: is-number: 7.0.0 @@ -4320,6 +6206,8 @@ snapshots: tslib@1.14.1: {} + tslib@2.8.1: {} + tsup@8.3.5(postcss@8.4.38)(typescript@5.7.2): dependencies: bundle-require: 5.0.0(esbuild@0.24.0) @@ -4383,11 +6271,24 @@ snapshots: dependencies: prelude-ls: 1.2.1 - type-fest@0.20.2: {} + type-detect@4.0.8: {} + + type-fest@0.21.3: {} + + typescript-eslint@8.16.0(eslint@9.15.0)(typescript@5.7.2): + dependencies: + '@typescript-eslint/eslint-plugin': 8.16.0(@typescript-eslint/parser@8.16.0(eslint@9.15.0)(typescript@5.7.2))(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/parser': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + '@typescript-eslint/utils': 8.16.0(eslint@9.15.0)(typescript@5.7.2) + eslint: 9.15.0 + optionalDependencies: + typescript: 5.7.2 + transitivePeerDependencies: + - supports-color typescript@5.7.2: {} - undici-types@6.19.6: {} + undici-types@6.20.0: {} universalify@0.1.2: {} @@ -4397,17 +6298,29 @@ snapshots: escalade: 3.1.2 picocolors: 1.1.1 + update-browserslist-db@1.1.1(browserslist@4.24.2): + dependencies: + browserslist: 4.24.2 + escalade: 3.2.0 + picocolors: 1.1.1 + uri-js@4.4.1: dependencies: punycode: 2.3.1 - vite-node@2.1.6(@types/node@20.17.8): + v8-to-istanbul@9.3.0: + dependencies: + '@jridgewell/trace-mapping': 0.3.25 + '@types/istanbul-lib-coverage': 2.0.6 + convert-source-map: 2.0.0 + + vite-node@2.1.6(@types/node@22.10.0): dependencies: cac: 6.7.14 debug: 4.3.7 es-module-lexer: 1.5.4 pathe: 1.1.2 - vite: 5.2.11(@types/node@20.17.8) + vite: 5.2.11(@types/node@22.10.0) transitivePeerDependencies: - '@types/node' - less @@ -4418,19 +6331,19 @@ snapshots: - supports-color - terser - vite@5.2.11(@types/node@20.17.8): + vite@5.2.11(@types/node@22.10.0): dependencies: esbuild: 0.20.2 postcss: 8.4.38 rollup: 4.24.2 optionalDependencies: - '@types/node': 20.17.8 + '@types/node': 22.10.0 fsevents: 2.3.3 - vitest@2.1.6(@types/node@20.17.8)(happy-dom@15.11.6): + vitest@2.1.6(@types/node@22.10.0)(happy-dom@15.11.6): dependencies: '@vitest/expect': 2.1.6 - '@vitest/mocker': 2.1.6(vite@5.2.11(@types/node@20.17.8)) + '@vitest/mocker': 2.1.6(vite@5.2.11(@types/node@22.10.0)) '@vitest/pretty-format': 2.1.6 '@vitest/runner': 2.1.6 '@vitest/snapshot': 2.1.6 @@ -4446,11 +6359,11 @@ snapshots: tinyexec: 0.3.1 tinypool: 1.0.1 tinyrainbow: 1.2.0 - vite: 5.2.11(@types/node@20.17.8) - vite-node: 2.1.6(@types/node@20.17.8) + vite: 5.2.11(@types/node@22.10.0) + vite-node: 2.1.6(@types/node@22.10.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 20.17.8 + '@types/node': 22.10.0 happy-dom: 15.11.6 transitivePeerDependencies: - less @@ -4462,6 +6375,10 @@ snapshots: - supports-color - terser + walker@1.0.8: + dependencies: + makeerror: 1.0.12 + webidl-conversions@3.0.1: {} webidl-conversions@4.0.2: {} @@ -4504,11 +6421,32 @@ snapshots: wrappy@1.0.2: {} + write-file-atomic@5.0.1: + dependencies: + imurmurhash: 0.1.4 + signal-exit: 4.1.0 + + y18n@5.0.8: {} + + yallist@3.1.1: {} + yallist@4.0.0: {} + yargs-parser@21.1.1: {} + + yargs@17.7.2: + dependencies: + cliui: 8.0.1 + escalade: 3.1.2 + get-caller-file: 2.0.5 + require-directory: 2.1.1 + string-width: 4.2.3 + y18n: 5.0.8 + yargs-parser: 21.1.1 + yocto-queue@0.1.0: {} zx@8.2.2: optionalDependencies: '@types/fs-extra': 11.0.4 - '@types/node': 20.17.8 + '@types/node': 22.10.0 From 7065fa845568a3d78c29919d450f69f2e334fc47 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 10:34:21 +0000 Subject: [PATCH 02/27] Fix new linting errors --- packages/dynamic-parsers/src/parsers.ts | 1 - packages/errors/src/cli.ts | 5 +- packages/errors/src/codes.ts | 61 +++++++++---------- packages/errors/test/error.typetest.ts | 2 +- packages/renderers-js-umi/test/_setup.ts | 5 +- packages/renderers-js/test/_setup.ts | 5 +- .../test/instructionsPage.test.ts | 6 +- .../visitors-core/src/consoleLogVisitor.ts | 1 - packages/visitors-core/src/mergeVisitor.ts | 2 +- .../test/topDownTransformerVisitor.test.ts | 4 +- ...tInstructionAccountDefaultValuesVisitor.ts | 5 +- 11 files changed, 53 insertions(+), 44 deletions(-) diff --git a/packages/dynamic-parsers/src/parsers.ts b/packages/dynamic-parsers/src/parsers.ts index d5c6472b..e7585dec 100644 --- a/packages/dynamic-parsers/src/parsers.ts +++ b/packages/dynamic-parsers/src/parsers.ts @@ -53,7 +53,6 @@ export function parseInstruction( ): ParsedInstruction | undefined { const parsedData = parseInstructionData(root, instruction.data); if (!parsedData) return undefined; - instruction.accounts; const instructionNode = getLastNodeFromPath(parsedData.path); const accounts: ParsedInstructionAccounts = instructionNode.accounts.flatMap((account, index) => { const accountMeta = instruction.accounts[index]; diff --git a/packages/errors/src/cli.ts b/packages/errors/src/cli.ts index a8948bc4..cd7cc0d0 100755 --- a/packages/errors/src/cli.ts +++ b/packages/errors/src/cli.ts @@ -32,7 +32,10 @@ program .argument('[encodedContext]', 'encoded context to interpolate into the error message', encodedContext => { try { return decodeEncodedContext(encodedContext); - } catch (e) { + } catch ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + e + ) { throw new InvalidArgumentError('Encoded context malformed'); } }) diff --git a/packages/errors/src/codes.ts b/packages/errors/src/codes.ts index a0c409fe..b5536617 100644 --- a/packages/errors/src/codes.ts +++ b/packages/errors/src/codes.ts @@ -25,46 +25,45 @@ * - `_MISSING`: Some required input is missing. E.g. `TRANSACTION_FEE_PAYER_MISSING`. * - `_UNIMPLEMENTED`: Some required component is not available in the environment. E.g. `SUBTLE_CRYPTO_VERIFY_FUNCTION_UNIMPLEMENTED`. */ -export const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1 as const; -export const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2 as const; -export const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3 as const; -export const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4 as const; -export const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5 as const; -export const CODAMA_ERROR__VERSION_MISMATCH = 6 as const; -export const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7 as const; -export const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8 as const; -export const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9 as const; -export const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10 as const; -export const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11 as const; +export const CODAMA_ERROR__UNRECOGNIZED_NODE_KIND = 1; +export const CODAMA_ERROR__UNEXPECTED_NODE_KIND = 2; +export const CODAMA_ERROR__UNEXPECTED_NESTED_NODE_KIND = 3; +export const CODAMA_ERROR__LINKED_NODE_NOT_FOUND = 4; +export const CODAMA_ERROR__NODE_FILESYSTEM_FUNCTION_UNAVAILABLE = 5; +export const CODAMA_ERROR__VERSION_MISMATCH = 6; +export const CODAMA_ERROR__UNRECOGNIZED_NUMBER_FORMAT = 7; +export const CODAMA_ERROR__UNRECOGNIZED_BYTES_ENCODING = 8; +export const CODAMA_ERROR__ENUM_VARIANT_NOT_FOUND = 9; +export const CODAMA_ERROR__DISCRIMINATOR_FIELD_NOT_FOUND = 10; +export const CODAMA_ERROR__DISCRIMINATOR_FIELD_HAS_NO_DEFAULT_VALUE = 11; // Visitors-related errors. // Reserve error codes in the range [1200000-1200999]. -export const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000 as const; -export const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001 as const; -export const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = - 1200002 as const; -export const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003 as const; -export const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004 as const; -export const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005 as const; -export const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006 as const; -export const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007 as const; -export const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008 as const; -export const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009 as const; -export const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010 as const; -export const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011 as const; -export const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012 as const; +export const CODAMA_ERROR__VISITORS__CANNOT_ADD_DUPLICATED_PDA_NAMES = 1200000; +export const CODAMA_ERROR__VISITORS__INVALID_PDA_SEED_VALUES = 1200001; +export const CODAMA_ERROR__VISITORS__CYCLIC_DEPENDENCY_DETECTED_WHEN_RESOLVING_INSTRUCTION_DEFAULT_VALUES = 1200002; +export const CODAMA_ERROR__VISITORS__CANNOT_USE_OPTIONAL_ACCOUNT_AS_PDA_SEED_VALUE = 1200003; +export const CODAMA_ERROR__VISITORS__INVALID_INSTRUCTION_DEFAULT_VALUE_DEPENDENCY = 1200004; +export const CODAMA_ERROR__VISITORS__ACCOUNT_FIELD_NOT_FOUND = 1200005; +export const CODAMA_ERROR__VISITORS__INVALID_NUMBER_WRAPPER = 1200006; +export const CODAMA_ERROR__VISITORS__CANNOT_EXTEND_MISSING_VISIT_FUNCTION = 1200007; +export const CODAMA_ERROR__VISITORS__FAILED_TO_VALIDATE_NODE = 1200008; +export const CODAMA_ERROR__VISITORS__INSTRUCTION_ENUM_ARGUMENT_NOT_FOUND = 1200009; +export const CODAMA_ERROR__VISITORS__CANNOT_FLATTEN_STRUCT_WITH_CONFLICTING_ATTRIBUTES = 1200010; +export const CODAMA_ERROR__VISITORS__RENDER_MAP_KEY_NOT_FOUND = 1200011; +export const CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK = 1200012; // Anchor-related errors. // Reserve error codes in the range [2100000-2100999]. -export const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000 as const; -export const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001 as const; -export const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002 as const; -export const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003 as const; -export const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004 as const; +export const CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE = 2100000; +export const CODAMA_ERROR__ANCHOR__ACCOUNT_TYPE_MISSING = 2100001; +export const CODAMA_ERROR__ANCHOR__ARGUMENT_TYPE_MISSING = 2100002; +export const CODAMA_ERROR__ANCHOR__TYPE_PATH_MISSING = 2100003; +export const CODAMA_ERROR__ANCHOR__SEED_KIND_UNIMPLEMENTED = 2100004; // Renderers-related errors. // Reserve error codes in the range [2800000-2800999]. -export const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000 as const; +export const CODAMA_ERROR__RENDERERS__UNSUPPORTED_NODE = 2800000; /** * A union of every Codama error code diff --git a/packages/errors/test/error.typetest.ts b/packages/errors/test/error.typetest.ts index 8df14cad..d710f07c 100644 --- a/packages/errors/test/error.typetest.ts +++ b/packages/errors/test/error.typetest.ts @@ -39,7 +39,7 @@ const unexpectedNodeKindError = new CodamaError(CODAMA_ERROR__UNEXPECTED_NODE_KI unexpectedNodeKindError.context satisfies CodamaErrorContext[typeof CODAMA_ERROR__UNEXPECTED_NODE_KIND]; // @ts-expect-error Non existent context property. -unexpectedNodeKindError.context.feePayer; +unexpectedNodeKindError.context.feePayer satisfies never; // @ts-expect-error Missing context. new CodamaError(CODAMA_ERROR__UNRECOGNIZED_NODE_KIND); diff --git a/packages/renderers-js-umi/test/_setup.ts b/packages/renderers-js-umi/test/_setup.ts index 53469905..b727c319 100644 --- a/packages/renderers-js-umi/test/_setup.ts +++ b/packages/renderers-js-umi/test/_setup.ts @@ -76,7 +76,10 @@ export function codeStringAsRegex(code: string) { async function normalizeCode(code: string) { try { code = await format(code, PRETTIER_OPTIONS); - } catch (e) { + } catch ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + e + ) { // Ignore errors. } return code.trim(); diff --git a/packages/renderers-js/test/_setup.ts b/packages/renderers-js/test/_setup.ts index 77e81299..06ad9d3c 100644 --- a/packages/renderers-js/test/_setup.ts +++ b/packages/renderers-js/test/_setup.ts @@ -105,7 +105,10 @@ export function codeStringAsRegex(code: string) { async function normalizeCode(code: string) { try { code = await format(code, PRETTIER_OPTIONS); - } catch (e) { + } catch ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + e + ) { // Ignore errors. } return code.trim(); diff --git a/packages/renderers-js/test/instructionsPage.test.ts b/packages/renderers-js/test/instructionsPage.test.ts index 7348d45c..ff890d1a 100644 --- a/packages/renderers-js/test/instructionsPage.test.ts +++ b/packages/renderers-js/test/instructionsPage.test.ts @@ -199,7 +199,7 @@ test('it renders instruction accounts with linked PDAs as default value', async 'accounts.counter.value = await findCounterPda( { authority: expectAddress ( accounts.authority.value ) } ); ' + '}', ]); - renderMapContainsImports(renderMap, 'instructions/increment.ts', { '../pdas': ['findCounterPda'] }); + await renderMapContainsImports(renderMap, 'instructions/increment.ts', { '../pdas': ['findCounterPda'] }); }); test('it renders instruction accounts with inlined PDAs as default value', async () => { @@ -247,7 +247,7 @@ test('it renders instruction accounts with inlined PDAs as default value', async '} ); ' + '}', ]); - renderMapContainsImports(renderMap, 'instructions/increment.ts', { + await renderMapContainsImports(renderMap, 'instructions/increment.ts', { '@solana/web3.js': ['getProgramDerivedAddress'], }); }); @@ -298,7 +298,7 @@ test('it renders instruction accounts with inlined PDAs from another program as '} ); ' + '}', ]); - renderMapContainsImports(renderMap, 'instructions/increment.ts', { + await renderMapContainsImports(renderMap, 'instructions/increment.ts', { '@solana/web3.js': ['Address', 'getProgramDerivedAddress'], }); }); diff --git a/packages/visitors-core/src/consoleLogVisitor.ts b/packages/visitors-core/src/consoleLogVisitor.ts index d6f2cd4d..c0e6ceef 100644 --- a/packages/visitors-core/src/consoleLogVisitor.ts +++ b/packages/visitors-core/src/consoleLogVisitor.ts @@ -6,6 +6,5 @@ import { Visitor } from './visitor'; export function consoleLogVisitor( visitor: Visitor, ): Visitor { - // eslint-disable-next-line no-console return mapVisitor(visitor, value => console.log(value)); } diff --git a/packages/visitors-core/src/mergeVisitor.ts b/packages/visitors-core/src/mergeVisitor.ts index d4a7888b..58bf7391 100644 --- a/packages/visitors-core/src/mergeVisitor.ts +++ b/packages/visitors-core/src/mergeVisitor.ts @@ -8,7 +8,7 @@ export function mergeVisitor( merge: (node: Node, values: TReturn[]) => TReturn, options: { keys?: TNodeKind[] } = {}, ): Visitor { - const keys: NodeKind[] = options.keys ?? (REGISTERED_NODE_KINDS as NodeKind[]); + const keys: NodeKind[] = options.keys ?? REGISTERED_NODE_KINDS; const visitor = staticVisitor(leafValue, { keys }) as Visitor; const visit = (v: Visitor) => diff --git a/packages/visitors-core/test/topDownTransformerVisitor.test.ts b/packages/visitors-core/test/topDownTransformerVisitor.test.ts index 0a18f534..d169aba9 100644 --- a/packages/visitors-core/test/topDownTransformerVisitor.test.ts +++ b/packages/visitors-core/test/topDownTransformerVisitor.test.ts @@ -43,7 +43,7 @@ test('it can transform nodes using node selectors', () => { const visitor = topDownTransformerVisitor([ { select: '[numberTypeNode]', - transform: node => numberTypeNode('u64') as typeof node, + transform: _node => numberTypeNode('u64') as typeof _node, }, ]); @@ -117,7 +117,7 @@ test('it can transform nodes using multiple node selectors', () => { const visitor = topDownTransformerVisitor([ { select: ['[numberTypeNode]', path => path.length > 2], - transform: node => numberTypeNode('u64') as typeof node, + transform: _node => numberTypeNode('u64') as typeof _node, }, ]); diff --git a/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts b/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts index c22632d2..3b8fff1a 100644 --- a/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts +++ b/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts @@ -184,7 +184,10 @@ export function setInstructionAccountDefaultValuesVisitor(rules: InstructionAcco fillDefaultPdaSeedValuesVisitor(instructionPath, linkables, true), ), }; - } catch (error) { + } catch ( + // eslint-disable-next-line @typescript-eslint/no-unused-vars + error + ) { return account; } }); From 7a83915943ba2dd803a772e8ffaab0724093d118 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 10:50:49 +0000 Subject: [PATCH 03/27] Adjust configs --- eslint.config.mjs | 2 ++ packages/internals/scripts/lint.mjs | 4 ++-- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 85880159..d8ed0cfb 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -17,11 +17,13 @@ export default [ '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', '@typescript-eslint/unbound-method': 'off', + 'sort-keys-fix/sort-keys-fix': 'error', }, }, { files: ['packages/nodes/**', 'packages/node-types/**'], rules: { + 'typescript-sort-keys/interface': 'off', 'sort-keys-fix/sort-keys-fix': 'off', }, }, diff --git a/packages/internals/scripts/lint.mjs b/packages/internals/scripts/lint.mjs index a50f749b..6eaf857c 100644 --- a/packages/internals/scripts/lint.mjs +++ b/packages/internals/scripts/lint.mjs @@ -4,7 +4,7 @@ import { $, argv } from 'zx'; // Lint and format the code. $.stdio = 'inherit'; if (argv.fix) { - await $`pnpm eslint --fix "src/*" "test/*" && pnpm prettier --log-level warn --ignore-unknown --write ./*`; + await $`pnpm eslint --fix "src/**" "test/**" && pnpm prettier --log-level warn --ignore-unknown --write ./*`; } else { - await $`pnpm eslint "src/*" "test/*" && pnpm prettier --check .`; + await $`pnpm eslint "src/**" "test/**" && pnpm prettier --check .`; } From d8b039bdcbf0ab544e6943503533febeecd9c6db Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:17:31 +0000 Subject: [PATCH 04/27] Use tseslint.config helper --- eslint.config.mjs | 11 ++++++----- .../src/v00/typeNodes/EnumTypeNode.ts | 1 - .../src/v00/typeNodes/TypeNode.ts | 16 ++++------------ .../src/v01/typeNodes/TypeNode.ts | 9 +++------ .../test/types/remainderOption.test.ts | 6 +++--- .../test/types/zeroableOption.test.ts | 12 ++++++------ 6 files changed, 22 insertions(+), 33 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index d8ed0cfb..642de7ce 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -1,9 +1,10 @@ import solanaConfig from '@solana/eslint-config-solana'; +import tseslint from 'typescript-eslint'; -export default [ - ...solanaConfig, +export default tseslint.config([ { - ignores: ['**/*.njk'], + files: ['**/*.ts'], + extends: [solanaConfig], rules: { '@typescript-eslint/no-base-to-string': 'off', '@typescript-eslint/no-unsafe-argument': 'off', @@ -23,8 +24,8 @@ export default [ { files: ['packages/nodes/**', 'packages/node-types/**'], rules: { - 'typescript-sort-keys/interface': 'off', 'sort-keys-fix/sort-keys-fix': 'off', + 'typescript-sort-keys/interface': 'off', }, }, -]; +]); diff --git a/packages/nodes-from-anchor/src/v00/typeNodes/EnumTypeNode.ts b/packages/nodes-from-anchor/src/v00/typeNodes/EnumTypeNode.ts index 682d361c..9ebab179 100644 --- a/packages/nodes-from-anchor/src/v00/typeNodes/EnumTypeNode.ts +++ b/packages/nodes-from-anchor/src/v00/typeNodes/EnumTypeNode.ts @@ -22,7 +22,6 @@ export function enumTypeNodeFromAnchorV00( }); } -// eslint-disable-next-line @typescript-eslint/no-explicit-any function isStructVariant(variant: IdlV00EnumVariant): variant is IdlV00EnumVariant & { fields: IdlV00EnumFieldsNamed } { const field = variant.fields![0]; return typeof field === 'object' && 'name' in field && 'type' in field; diff --git a/packages/nodes-from-anchor/src/v00/typeNodes/TypeNode.ts b/packages/nodes-from-anchor/src/v00/typeNodes/TypeNode.ts index 1ffb6ea2..6c50272e 100644 --- a/packages/nodes-from-anchor/src/v00/typeNodes/TypeNode.ts +++ b/packages/nodes-from-anchor/src/v00/typeNodes/TypeNode.ts @@ -10,15 +10,7 @@ import { TypeNode, } from '@codama/nodes'; -import { - IdlV00Type, - IdlV00TypeDefTy, - IdlV00TypeDefTyEnum, - IdlV00TypeDefTyStruct, - IdlV00TypeMap, - IdlV00TypeSet, - IdlV00TypeTuple, -} from '../idl'; +import { IdlV00Type, IdlV00TypeDefTy, IdlV00TypeMap, IdlV00TypeSet } from '../idl'; import { arrayTypeNodeFromAnchorV00 } from './ArrayTypeNode'; import { enumTypeNodeFromAnchorV00 } from './EnumTypeNode'; import { mapTypeNodeFromAnchorV00 } from './MapTypeNode'; @@ -81,7 +73,7 @@ export const typeNodeFromAnchorV00 = (idlType: IdlV00Type | IdlV00TypeDefTy): Ty // Enum. if ('kind' in idlType && idlType.kind === 'enum' && 'variants' in idlType) { - return enumTypeNodeFromAnchorV00(idlType as IdlV00TypeDefTyEnum); + return enumTypeNodeFromAnchorV00(idlType); } // Map. @@ -104,12 +96,12 @@ export const typeNodeFromAnchorV00 = (idlType: IdlV00Type | IdlV00TypeDefTy): Ty // Struct. if ('kind' in idlType && 'fields' in idlType && idlType.kind === 'struct') { - return structTypeNodeFromAnchorV00(idlType as IdlV00TypeDefTyStruct); + return structTypeNodeFromAnchorV00(idlType); } // Tuple. if ('tuple' in idlType && Array.isArray(idlType.tuple)) { - return tupleTypeNodeFromAnchorV00(idlType as IdlV00TypeTuple); + return tupleTypeNodeFromAnchorV00(idlType); } throw new CodamaError(CODAMA_ERROR__ANCHOR__UNRECOGNIZED_IDL_TYPE, { diff --git a/packages/nodes-from-anchor/src/v01/typeNodes/TypeNode.ts b/packages/nodes-from-anchor/src/v01/typeNodes/TypeNode.ts index f8b2fca1..e94294e0 100644 --- a/packages/nodes-from-anchor/src/v01/typeNodes/TypeNode.ts +++ b/packages/nodes-from-anchor/src/v01/typeNodes/TypeNode.ts @@ -16,10 +16,7 @@ import { IdlV01DefinedFieldsTuple, IdlV01Field, IdlV01Type, - IdlV01TypeCOption, IdlV01TypeDefTy, - IdlV01TypeDefTyEnum, - IdlV01TypeOption, } from '../idl'; import { arrayTypeNodeFromAnchorV01 } from './ArrayTypeNode'; import { enumTypeNodeFromAnchorV01 } from './EnumTypeNode'; @@ -82,16 +79,16 @@ export const typeNodeFromAnchorV01 = (idlType: IdlV01Type | IdlV01TypeDefTy): Ty // Enum. if ('kind' in idlType && idlType.kind === 'enum' && 'variants' in idlType) { - return enumTypeNodeFromAnchorV01(idlType as IdlV01TypeDefTyEnum); + return enumTypeNodeFromAnchorV01(idlType); } // Option. if ('option' in idlType) { - return optionTypeNodeFromAnchorV01(idlType as IdlV01TypeOption); + return optionTypeNodeFromAnchorV01(idlType); } if ('coption' in idlType) { - return optionTypeNodeFromAnchorV01(idlType as IdlV01TypeCOption); + return optionTypeNodeFromAnchorV01(idlType); } // Struct and Tuple. diff --git a/packages/renderers-js/test/types/remainderOption.test.ts b/packages/renderers-js/test/types/remainderOption.test.ts index 565948ad..506ca6ef 100644 --- a/packages/renderers-js/test/types/remainderOption.test.ts +++ b/packages/renderers-js/test/types/remainderOption.test.ts @@ -5,7 +5,7 @@ import { test } from 'vitest'; import { getRenderMapVisitor } from '../../src'; import { renderMapContains, renderMapContainsImports } from '../_setup'; -test('it renders remainder option codecs', () => { +test('it renders remainder option codecs', async () => { // Given the following node. const node = definedTypeNode({ name: 'myType', @@ -16,7 +16,7 @@ test('it renders remainder option codecs', () => { const renderMap = visit(node, getRenderMapVisitor()); // Then we expect the following types and codecs to be exported. - renderMapContains(renderMap, 'types/myType.ts', [ + await renderMapContains(renderMap, 'types/myType.ts', [ 'export type MyType = Option
', 'export type MyTypeArgs = OptionOrNullable
', 'getOptionEncoder( getAddressEncoder(), { prefix: null } )', @@ -24,7 +24,7 @@ test('it renders remainder option codecs', () => { ]); // And we expect the following codec imports. - renderMapContainsImports(renderMap, 'types/myType.ts', { + await renderMapContainsImports(renderMap, 'types/myType.ts', { '@solana/web3.js': [ 'getOptionEncoder', 'getOptionDecoder', diff --git a/packages/renderers-js/test/types/zeroableOption.test.ts b/packages/renderers-js/test/types/zeroableOption.test.ts index fe4296e9..0b4519ed 100644 --- a/packages/renderers-js/test/types/zeroableOption.test.ts +++ b/packages/renderers-js/test/types/zeroableOption.test.ts @@ -11,7 +11,7 @@ import { test } from 'vitest'; import { getRenderMapVisitor } from '../../src'; import { renderMapContains, renderMapContainsImports } from '../_setup'; -test('it renders zeroable option codecs', () => { +test('it renders zeroable option codecs', async () => { // Given the following node. const node = definedTypeNode({ name: 'myType', @@ -22,7 +22,7 @@ test('it renders zeroable option codecs', () => { const renderMap = visit(node, getRenderMapVisitor()); // Then we expect the following types and codecs to be exported. - renderMapContains(renderMap, 'types/myType.ts', [ + await renderMapContains(renderMap, 'types/myType.ts', [ 'export type MyType = Option
', 'export type MyTypeArgs = OptionOrNullable
', "getOptionEncoder( getAddressEncoder(), { prefix: null, noneValue: 'zeroes' } )", @@ -30,7 +30,7 @@ test('it renders zeroable option codecs', () => { ]); // And we expect the following codec imports. - renderMapContainsImports(renderMap, 'types/myType.ts', { + await renderMapContainsImports(renderMap, 'types/myType.ts', { '@solana/web3.js': [ 'getOptionEncoder', 'getOptionDecoder', @@ -42,7 +42,7 @@ test('it renders zeroable option codecs', () => { }); }); -test('it renders zeroable option codecs with custom zero values', () => { +test('it renders zeroable option codecs with custom zero values', async () => { // Given the following node. const node = definedTypeNode({ name: 'myType', @@ -53,7 +53,7 @@ test('it renders zeroable option codecs with custom zero values', () => { const renderMap = visit(node, getRenderMapVisitor()); // Then we expect the following types and codecs to be exported. - renderMapContains(renderMap, 'types/myType.ts', [ + await renderMapContains(renderMap, 'types/myType.ts', [ 'export type MyType = Option', 'export type MyTypeArgs = OptionOrNullable', 'getOptionEncoder( getU16Encoder(), { prefix: null, noneValue: new Uint8Array([255, 255]) } )', @@ -61,7 +61,7 @@ test('it renders zeroable option codecs with custom zero values', () => { ]); // And we expect the following codec imports. - renderMapContainsImports(renderMap, 'types/myType.ts', { + await renderMapContainsImports(renderMap, 'types/myType.ts', { '@solana/web3.js': [ 'getOptionEncoder', 'getOptionDecoder', From d130a4c5ba5dbf3a7dc54a94f2be0e9016c9f6ec Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:18:36 +0000 Subject: [PATCH 05/27] Update eslint.config.mjs --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 642de7ce..d53afd60 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -18,7 +18,6 @@ export default tseslint.config([ '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', '@typescript-eslint/unbound-method': 'off', - 'sort-keys-fix/sort-keys-fix': 'error', }, }, { From 546d8d99ff88d22271259d73768760bd04808b90 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:22:17 +0000 Subject: [PATCH 06/27] Update turbo.json --- turbo.json | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/turbo.json b/turbo.json index 0603a537..828270d9 100644 --- a/turbo.json +++ b/turbo.json @@ -24,7 +24,13 @@ "dependsOn": ["build"] }, "test:types": {}, - "lint": {}, - "lint:fix": {} + "lint": { + "inputs": ["$TURBO_DEFAULT$", "../../eslint.config.*"], + "outputs": [] + }, + "lint:fix": { + "inputs": ["$TURBO_DEFAULT$", "../../eslint.config.*"], + "outputs": ["*"] + } } } From 3b2b8aea0052e75b5e36ed075b3b104ee154d021 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:25:32 +0000 Subject: [PATCH 07/27] Enable @typescript-eslint/no-unsafe-return --- eslint.config.mjs | 1 - packages/dynamic-codecs/src/codecs.ts | 2 +- packages/dynamic-codecs/src/values.ts | 2 +- packages/visitors-core/src/pipe.ts | 1 + 4 files changed, 3 insertions(+), 3 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index d53afd60..f31e812f 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -12,7 +12,6 @@ export default tseslint.config([ '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-enum-comparison': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', '@typescript-eslint/only-throw-error': 'off', '@typescript-eslint/prefer-promise-reject-errors': 'off', '@typescript-eslint/restrict-plus-operands': 'off', diff --git a/packages/dynamic-codecs/src/codecs.ts b/packages/dynamic-codecs/src/codecs.ts index 686ef397..07d83ddd 100644 --- a/packages/dynamic-codecs/src/codecs.ts +++ b/packages/dynamic-codecs/src/codecs.ts @@ -249,7 +249,7 @@ export function getNodeCodecVisitor( return transformCodec( getMapCodec(key, value, { size }), (value: object) => new Map(Object.entries(value)), - (map: Map): object => Object.fromEntries(map), + (map: Map) => Object.fromEntries(map) as object, ) as Codec; }, visitNumberType(node) { diff --git a/packages/dynamic-codecs/src/values.ts b/packages/dynamic-codecs/src/values.ts index 48689dbe..e506f49a 100644 --- a/packages/dynamic-codecs/src/values.ts +++ b/packages/dynamic-codecs/src/values.ts @@ -67,7 +67,7 @@ export function getValueNodeVisitor( const value = visit(entry.value, this); return [key, value]; }), - ); + ) as unknown; }, visitNoneValue() { return { __option: 'None' }; diff --git a/packages/visitors-core/src/pipe.ts b/packages/visitors-core/src/pipe.ts index 4c396a11..aa1be1a2 100644 --- a/packages/visitors-core/src/pipe.ts +++ b/packages/visitors-core/src/pipe.ts @@ -109,5 +109,6 @@ export function pipe( r9_r10: (r9: R9) => R10, ): R10; export function pipe(init: TInitial, ...fns: CallableFunction[]) { + // eslint-disable-next-line @typescript-eslint/no-unsafe-return return fns.reduce((acc, fn) => fn(acc), init); } From dae5a19ce4ca3d05d273de3889da0af78cb48766 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:26:11 +0000 Subject: [PATCH 08/27] Enable @typescript-eslint/unbound-method --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index f31e812f..aacfb44c 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -16,7 +16,6 @@ export default tseslint.config([ '@typescript-eslint/prefer-promise-reject-errors': 'off', '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', - '@typescript-eslint/unbound-method': 'off', }, }, { From b1792a8641bd400f0ef293f34db8924638092383 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:42:57 +0000 Subject: [PATCH 09/27] Enable @typescript-eslint/no-base-to-string --- eslint.config.mjs | 1 - packages/renderers-js-umi/src/getTypeManifestVisitor.ts | 6 +++--- packages/visitors-core/src/NodeStack.ts | 6 +++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index aacfb44c..0e9ec62d 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-base-to-string': 'off', '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'off', diff --git a/packages/renderers-js-umi/src/getTypeManifestVisitor.ts b/packages/renderers-js-umi/src/getTypeManifestVisitor.ts index 5e5e2273..3c9d19fe 100644 --- a/packages/renderers-js-umi/src/getTypeManifestVisitor.ts +++ b/packages/renderers-js-umi/src/getTypeManifestVisitor.ts @@ -114,7 +114,7 @@ export function getTypeManifestVisitor(input: { if (!isUnsignedInteger(resolvedNode)) { throw new Error( `Amount wrappers can only be applied to unsigned ` + - `integer types. Got type [${amountType.number.toString()}].`, + `integer types. Got format [${resolvedNode.format}].`, ); } const { unit, decimals } = amountType; @@ -251,7 +251,7 @@ export function getTypeManifestVisitor(input: { if (!isInteger(dateTimeNumber)) { throw new Error( `DateTime wrappers can only be applied to integer ` + - `types. Got type [${dateTimeNumber.toString()}].`, + `types. Got format [${dateTimeNumber.format}].`, ); } numberManifest.strictImports.add('umi', 'DateTime'); @@ -655,7 +655,7 @@ export function getTypeManifestVisitor(input: { if (!isUnsignedInteger(nestedNumber)) { throw new Error( `Amount wrappers can only be applied to unsigned ` + - `integer types. Got type [${nestedNumber.toString()}].`, + `integer types. Got format [${nestedNumber.format}].`, ); } const idAndDecimals = `'SOL', 9`; diff --git a/packages/visitors-core/src/NodeStack.ts b/packages/visitors-core/src/NodeStack.ts index 944f3fa5..2cded9b7 100644 --- a/packages/visitors-core/src/NodeStack.ts +++ b/packages/visitors-core/src/NodeStack.ts @@ -1,7 +1,7 @@ import { CODAMA_ERROR__VISITORS__CANNOT_REMOVE_LAST_PATH_IN_NODE_STACK, CodamaError } from '@codama/errors'; import { GetNodeFromKind, Node, NodeKind } from '@codama/nodes'; -import { assertIsNodePath, NodePath } from './NodePath'; +import { assertIsNodePath, NodePath, nodePathToString } from './NodePath'; type MutableNodePath = Node[]; @@ -71,4 +71,8 @@ export class NodeStack { public clone(): NodeStack { return new NodeStack(...this.stack); } + + public toString(): string { + return nodePathToString(this.getPath()); + } } From 22881ea81242f552c0def69d797f20996c38f88a Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:47:23 +0000 Subject: [PATCH 10/27] Enable @typescript-eslint/no-unsafe-argument --- eslint.config.mjs | 1 - packages/errors/src/cli.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 0e9ec62d..5e8a2239 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-unsafe-argument': 'off', '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-enum-comparison': 'off', diff --git a/packages/errors/src/cli.ts b/packages/errors/src/cli.ts index cd7cc0d0..4895d6aa 100755 --- a/packages/errors/src/cli.ts +++ b/packages/errors/src/cli.ts @@ -39,7 +39,7 @@ program throw new InvalidArgumentError('Encoded context malformed'); } }) - .action((code: number, context) => { + .action((code: number, context: object | undefined) => { const message = getHumanReadableErrorMessage(code as CodamaErrorCode, context); console.log(` ${ From 1206511c77517dc869eda9fff8e1d7f1e6a86657 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:49:36 +0000 Subject: [PATCH 11/27] Enable @typescript-eslint/no-unsafe-assignment --- eslint.config.mjs | 1 - packages/nodes-from-anchor/src/v00/ProgramNode.ts | 4 ++-- packages/nodes-from-anchor/src/v00/idl.ts | 3 +-- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 5e8a2239..3487a42c 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-unsafe-assignment': 'off', '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-enum-comparison': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', diff --git a/packages/nodes-from-anchor/src/v00/ProgramNode.ts b/packages/nodes-from-anchor/src/v00/ProgramNode.ts index c31692b9..875e4b4a 100644 --- a/packages/nodes-from-anchor/src/v00/ProgramNode.ts +++ b/packages/nodes-from-anchor/src/v00/ProgramNode.ts @@ -8,7 +8,7 @@ import { instructionNodeFromAnchorV00 } from './InstructionNode'; import { pdaNodeFromAnchorV00 } from './PdaNode'; export function programNodeFromAnchorV00(idl: IdlV00): ProgramNode { - const origin: 'anchor' | 'shank' = idl.metadata?.origin ?? 'anchor'; + const origin = (idl.metadata as { origin?: 'anchor' | 'shank' }).origin ?? 'anchor'; const pdas = (idl.accounts ?? []).filter(account => (account.seeds ?? []).length > 0).map(pdaNodeFromAnchorV00); const accounts = (idl.accounts ?? []).map(a => accountNodeFromAnchorV00(a, origin)); const instructions = (idl.instructions ?? []).map(i => instructionNodeFromAnchorV00(i, origin)); @@ -20,7 +20,7 @@ export function programNodeFromAnchorV00(idl: IdlV00): ProgramNode { name: idl.name ?? '', origin, pdas, - publicKey: idl.metadata?.address ?? '', + publicKey: (idl.metadata as { address?: string })?.address ?? '', version: idl.version as ProgramVersion, }); } diff --git a/packages/nodes-from-anchor/src/v00/idl.ts b/packages/nodes-from-anchor/src/v00/idl.ts index 8afd83bf..808d31ad 100644 --- a/packages/nodes-from-anchor/src/v00/idl.ts +++ b/packages/nodes-from-anchor/src/v00/idl.ts @@ -11,8 +11,7 @@ export type IdlV00 = { version: string; }; -// eslint-disable-next-line @typescript-eslint/no-explicit-any -export type IdlV00Metadata = any; +export type IdlV00Metadata = object; export type IdlV00Constant = { name: string; From 749f616861c35f23aa8dcbc5d88c32b2c89d248b Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:51:11 +0000 Subject: [PATCH 12/27] Enable @typescript-eslint/no-unsafe-call --- eslint.config.mjs | 1 - packages/visitors-core/src/pipe.ts | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 3487a42c..21e1f58b 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-unsafe-call': 'off', '@typescript-eslint/no-unsafe-enum-comparison': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/only-throw-error': 'off', diff --git a/packages/visitors-core/src/pipe.ts b/packages/visitors-core/src/pipe.ts index aa1be1a2..979e95bf 100644 --- a/packages/visitors-core/src/pipe.ts +++ b/packages/visitors-core/src/pipe.ts @@ -109,6 +109,6 @@ export function pipe( r9_r10: (r9: R9) => R10, ): R10; export function pipe(init: TInitial, ...fns: CallableFunction[]) { - // eslint-disable-next-line @typescript-eslint/no-unsafe-return + // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call return fns.reduce((acc, fn) => fn(acc), init); } From c555a82b0438728196cd35a865cf0dd89fcbec7c Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:51:40 +0000 Subject: [PATCH 13/27] Enable @typescript-eslint/no-unsafe-enum-comparison --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 21e1f58b..56e122df 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-unsafe-enum-comparison': 'off', '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/only-throw-error': 'off', '@typescript-eslint/prefer-promise-reject-errors': 'off', From c0cc32fe6c7c9323923289b2fa316fc35e043c6d Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:52:01 +0000 Subject: [PATCH 14/27] Enable @typescript-eslint/no-unsafe-member-access --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 56e122df..1a6ffc64 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/no-unsafe-member-access': 'off', '@typescript-eslint/only-throw-error': 'off', '@typescript-eslint/prefer-promise-reject-errors': 'off', '@typescript-eslint/restrict-plus-operands': 'off', From b85c6831f5948ac21c1155e3bc39aa2dd15adc19 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:52:26 +0000 Subject: [PATCH 15/27] Enable @typescript-eslint/only-throw-error --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 1a6ffc64..41ad0393 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/only-throw-error': 'off', '@typescript-eslint/prefer-promise-reject-errors': 'off', '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', From f8a15d102e05e383bf0ba82c6dad58ecdb74363f Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:52:52 +0000 Subject: [PATCH 16/27] Enable @typescript-eslint/prefer-promise-reject-errors --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 41ad0393..04fe83c7 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/prefer-promise-reject-errors': 'off', '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', }, From 8a78b7d733845ece7c4079928a809bbeda9f0430 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 11:53:22 +0000 Subject: [PATCH 17/27] Enable @typescript-eslint/restrict-plus-operands --- eslint.config.mjs | 1 - 1 file changed, 1 deletion(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 04fe83c7..abb00e49 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -6,7 +6,6 @@ export default tseslint.config([ files: ['**/*.ts'], extends: [solanaConfig], rules: { - '@typescript-eslint/restrict-plus-operands': 'off', '@typescript-eslint/restrict-template-expressions': 'off', }, }, From 04bc69f3e6cdc588e338d9e66864a5d7911468d0 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 12:59:38 +0000 Subject: [PATCH 18/27] Enable @typescript-eslint/restrict-template-expressions --- eslint.config.mjs | 3 --- packages/errors/src/message-formatter.ts | 2 +- .../src/getValidatorBagVisitor.ts | 2 +- .../src/fragments/instructionInputDefault.ts | 20 +++++++------- .../src/getTypeManifestVisitor.ts | 26 +++++++++---------- packages/renderers-rust/src/renderVisitor.ts | 4 +-- 6 files changed, 26 insertions(+), 31 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index abb00e49..0af810c7 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,9 +5,6 @@ export default tseslint.config([ { files: ['**/*.ts'], extends: [solanaConfig], - rules: { - '@typescript-eslint/restrict-template-expressions': 'off', - }, }, { files: ['packages/nodes/**', 'packages/node-types/**'], diff --git a/packages/errors/src/message-formatter.ts b/packages/errors/src/message-formatter.ts index e6babbb3..d891814d 100644 --- a/packages/errors/src/message-formatter.ts +++ b/packages/errors/src/message-formatter.ts @@ -13,7 +13,7 @@ export function getHumanReadableErrorMessage ): string { const messageFormatString = CodamaErrorMessages[code]; const message = messageFormatString.replace(/(? - variableName in context ? `${context[variableName as keyof typeof context]}` : substring, + variableName in context ? `${context[variableName as keyof typeof context] as string}` : substring, ); return message; } diff --git a/packages/renderers-js-umi/src/getValidatorBagVisitor.ts b/packages/renderers-js-umi/src/getValidatorBagVisitor.ts index 1c41f15b..35c2c67b 100644 --- a/packages/renderers-js-umi/src/getValidatorBagVisitor.ts +++ b/packages/renderers-js-umi/src/getValidatorBagVisitor.ts @@ -44,7 +44,7 @@ export function getValidationItemsVisitor(): Visitor `The ${getNodeTitle(node)} ${exportDetails}` + `conflicts with the ${conflictExportDetails}` + `${getNodeTitle(conflictingNode)}.\n` + - `|> Conflicting stack: ${exportConflict.stack}.`; + `|> Conflicting stack: ${exportConflict.stack.toString()}.`; items.push(validationItem('error', message, node, stack)); }); return items; diff --git a/packages/renderers-js/src/fragments/instructionInputDefault.ts b/packages/renderers-js/src/fragments/instructionInputDefault.ts index 56b12b36..e68efe5c 100644 --- a/packages/renderers-js/src/fragments/instructionInputDefault.ts +++ b/packages/renderers-js/src/fragments/instructionInputDefault.ts @@ -66,7 +66,7 @@ export function getInstructionInputDefaultFragment( const pdaSeeds = defaultValue.pda.seeds.flatMap((seed): Fragment[] => { if (isNode(seed, 'constantPdaSeedNode') && isNode(seed.value, 'programIdValueNode')) { return [ - fragment(`getAddressEncoder().encode(${pdaProgram})`) + fragment(`getAddressEncoder().encode(${pdaProgram.render})`) .mergeImportsWith(pdaProgram) .addImports('solanaAddresses', 'getAddressEncoder'), ]; @@ -75,10 +75,9 @@ export function getInstructionInputDefaultFragment( const typeManifest = visit(seed.type, typeManifestVisitor); const valueManifest = visit(seed.value, typeManifestVisitor); return [ - fragment(`${typeManifest.encoder}.encode(${valueManifest.value})`).mergeImportsWith( - typeManifest.encoder, - valueManifest.value, - ), + fragment( + `${typeManifest.encoder.render}.encode(${valueManifest.value.render})`, + ).mergeImportsWith(typeManifest.encoder, valueManifest.value), ]; } if (isNode(seed, 'variablePdaSeedNode')) { @@ -88,7 +87,7 @@ export function getInstructionInputDefaultFragment( if (isNode(valueSeed, 'accountValueNode')) { return [ fragment( - `${typeManifest.encoder}.encode(expectAddress(accounts.${camelCase(valueSeed.name)}.value))`, + `${typeManifest.encoder.render}.encode(expectAddress(accounts.${camelCase(valueSeed.name)}.value))`, ) .mergeImportsWith(typeManifest.encoder) .addImports('shared', 'expectAddress'), @@ -97,7 +96,7 @@ export function getInstructionInputDefaultFragment( if (isNode(valueSeed, 'argumentValueNode')) { return [ fragment( - `${typeManifest.encoder}.encode(expectSome(args.${camelCase(valueSeed.name)}))`, + `${typeManifest.encoder.render}.encode(expectSome(args.${camelCase(valueSeed.name)}))`, ) .mergeImportsWith(typeManifest.encoder) .addImports('shared', 'expectSome'), @@ -105,10 +104,9 @@ export function getInstructionInputDefaultFragment( } const valueManifest = visit(valueSeed, typeManifestVisitor); return [ - fragment(`${typeManifest.encoder}.encode(${valueManifest.value})`).mergeImportsWith( - typeManifest.encoder, - valueManifest.value, - ), + fragment( + `${typeManifest.encoder.render}.encode(${valueManifest.value.render})`, + ).mergeImportsWith(typeManifest.encoder, valueManifest.value), ]; } return []; diff --git a/packages/renderers-js/src/getTypeManifestVisitor.ts b/packages/renderers-js/src/getTypeManifestVisitor.ts index a91c2bc3..5fc1f7ca 100644 --- a/packages/renderers-js/src/getTypeManifestVisitor.ts +++ b/packages/renderers-js/src/getTypeManifestVisitor.ts @@ -397,18 +397,18 @@ export function getTypeManifestVisitor(input: { visitHiddenPrefixType(node, { self }) { const manifest = visit(node.type, self); const prefixes = node.prefix.map(c => visit(c, self).value); - const prefixEncoders = fragment(prefixes.map(c => `getConstantEncoder(${c})`).join(', ')) + const prefixEncoders = fragment(prefixes.map(c => `getConstantEncoder(${c.render})`).join(', ')) .addImports('solanaCodecsCore', 'getConstantEncoder') .mergeImportsWith(...prefixes); - const prefixDecoders = fragment(prefixes.map(c => `getConstantDecoder(${c})`).join(', ')) + const prefixDecoders = fragment(prefixes.map(c => `getConstantDecoder(${c.render})`).join(', ')) .addImports('solanaCodecsCore', 'getConstantDecoder') .mergeImportsWith(...prefixes); manifest.encoder - .mapRender(r => `getHiddenPrefixEncoder(${r}, [${prefixEncoders}])`) + .mapRender(r => `getHiddenPrefixEncoder(${r}, [${prefixEncoders.render}])`) .mergeImportsWith(prefixEncoders) .addImports('solanaCodecsDataStructures', 'getHiddenPrefixEncoder'); manifest.decoder - .mapRender(r => `getHiddenPrefixDecoder(${r}, [${prefixDecoders}])`) + .mapRender(r => `getHiddenPrefixDecoder(${r}, [${prefixDecoders.render}])`) .mergeImportsWith(prefixDecoders) .addImports('solanaCodecsDataStructures', 'getHiddenPrefixDecoder'); return manifest; @@ -417,18 +417,18 @@ export function getTypeManifestVisitor(input: { visitHiddenSuffixType(node, { self }) { const manifest = visit(node.type, self); const suffixes = node.suffix.map(c => visit(c, self).value); - const suffixEncoders = fragment(suffixes.map(c => `getConstantEncoder(${c})`).join(', ')) + const suffixEncoders = fragment(suffixes.map(c => `getConstantEncoder(${c.render})`).join(', ')) .addImports('solanaCodecsCore', 'getConstantEncoder') .mergeImportsWith(...suffixes); - const suffixDecoders = fragment(suffixes.map(c => `getConstantDecoder(${c})`).join(', ')) + const suffixDecoders = fragment(suffixes.map(c => `getConstantDecoder(${c.render})`).join(', ')) .addImports('solanaCodecsCore', 'getConstantDecoder') .mergeImportsWith(...suffixes); manifest.encoder - .mapRender(r => `getHiddenSuffixEncoder(${r}, [${suffixEncoders}])`) + .mapRender(r => `getHiddenSuffixEncoder(${r}, [${suffixEncoders.render}])`) .mergeImportsWith(suffixEncoders) .addImports('solanaCodecsDataStructures', 'getHiddenSuffixEncoder'); manifest.decoder - .mapRender(r => `getHiddenSuffixDecoder(${r}, [${suffixDecoders}])`) + .mapRender(r => `getHiddenSuffixDecoder(${r}, [${suffixDecoders.render}])`) .mergeImportsWith(suffixDecoders) .addImports('solanaCodecsDataStructures', 'getHiddenSuffixDecoder'); return manifest; @@ -665,11 +665,11 @@ export function getTypeManifestVisitor(input: { const manifest = visit(node.type, self); const sentinel = visit(node.sentinel, self).value; manifest.encoder - .mapRender(r => `addEncoderSentinel(${r}, ${sentinel})`) + .mapRender(r => `addEncoderSentinel(${r}, ${sentinel.render})`) .mergeImportsWith(sentinel) .addImports('solanaCodecsCore', 'addEncoderSentinel'); manifest.decoder - .mapRender(r => `addDecoderSentinel(${r}, ${sentinel})`) + .mapRender(r => `addDecoderSentinel(${r}, ${sentinel.render})`) .mergeImportsWith(sentinel) .addImports('solanaCodecsCore', 'addDecoderSentinel'); return manifest; @@ -706,11 +706,11 @@ export function getTypeManifestVisitor(input: { const manifest = visit(node.type, self); const prefix = visit(node.prefix, self); manifest.encoder - .mapRender(r => `addEncoderSizePrefix(${r}, ${prefix.encoder})`) + .mapRender(r => `addEncoderSizePrefix(${r}, ${prefix.encoder.render})`) .mergeImportsWith(prefix.encoder) .addImports('solanaCodecsCore', 'addEncoderSizePrefix'); manifest.decoder - .mapRender(r => `addDecoderSizePrefix(${r}, ${prefix.decoder})`) + .mapRender(r => `addDecoderSizePrefix(${r}, ${prefix.decoder.render})`) .mergeImportsWith(prefix.decoder) .addImports('solanaCodecsCore', 'addDecoderSizePrefix'); return manifest; @@ -758,7 +758,7 @@ export function getTypeManifestVisitor(input: { case 'utf8': return ['getUtf8Encoder', 'getUtf8Decoder']; default: - throw new Error(`Unsupported string encoding: ${stringType.encoding}`); + throw new Error(`Unsupported string encoding: ${stringType.encoding as string}`); } })(); return { diff --git a/packages/renderers-rust/src/renderVisitor.ts b/packages/renderers-rust/src/renderVisitor.ts index 2260b279..9aacadf7 100644 --- a/packages/renderers-rust/src/renderVisitor.ts +++ b/packages/renderers-rust/src/renderVisitor.ts @@ -41,9 +41,9 @@ function runFormatter(cmd: string, args: string[]) { return; } if (stdout.length > 0) { - logWarn(`(cargo-fmt) ${stdout || error}`); + logWarn(`(cargo-fmt) ${stdout ? stdout?.toString() : error}`); } if (stderr.length > 0) { - logError(`(cargo-fmt) ${stderr || error}`); + logError(`(cargo-fmt) ${stderr ? stderr.toString() : error}`); } } From 74b9d2ddf3ac27a39cd8bfda1f92b165648f6da7 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 13:24:23 +0000 Subject: [PATCH 19/27] Update index.ts --- packages/nodes-from-anchor/src/index.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/nodes-from-anchor/src/index.ts b/packages/nodes-from-anchor/src/index.ts index 4e93957a..091cdaa5 100644 --- a/packages/nodes-from-anchor/src/index.ts +++ b/packages/nodes-from-anchor/src/index.ts @@ -16,7 +16,7 @@ export function rootNodeFromAnchor(idl: AnchorIdl): RootNode { } export function rootNodeFromAnchorWithoutDefaultVisitor(idl: AnchorIdl): RootNode { - if (idl.metadata?.spec === '0.1.0') { + if ((idl.metadata as { spec?: string })?.spec === '0.1.0') { return rootNodeFromAnchorV01(idl as IdlV01); } From 84c8aa790026ce52b41f337e72f2207773811fdb Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 13:26:11 +0000 Subject: [PATCH 20/27] Add changeset --- .changeset/rich-pans-cough.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 .changeset/rich-pans-cough.md diff --git a/.changeset/rich-pans-cough.md b/.changeset/rich-pans-cough.md new file mode 100644 index 00000000..e7ba8380 --- /dev/null +++ b/.changeset/rich-pans-cough.md @@ -0,0 +1,13 @@ +--- +'@codama/nodes-from-anchor': patch +'@codama/renderers-js-umi': patch +'@codama/dynamic-parsers': patch +'@codama/dynamic-codecs': patch +'@codama/renderers-rust': patch +'@codama/visitors-core': patch +'@codama/renderers-js': patch +'@codama/visitors': patch +'@codama/errors': patch +--- + +Bump dependencies From 88bab9e6072c52c5334b76486082277b87cb46ec Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:21:59 +0000 Subject: [PATCH 21/27] Try disabling new rules again for CI Despite it working locally... :sob: --- eslint.config.mjs | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/eslint.config.mjs b/eslint.config.mjs index 0af810c7..d53afd60 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,6 +5,20 @@ export default tseslint.config([ { files: ['**/*.ts'], extends: [solanaConfig], + rules: { + '@typescript-eslint/no-base-to-string': 'off', + '@typescript-eslint/no-unsafe-argument': 'off', + '@typescript-eslint/no-unsafe-assignment': 'off', + '@typescript-eslint/no-unsafe-call': 'off', + '@typescript-eslint/no-unsafe-enum-comparison': 'off', + '@typescript-eslint/no-unsafe-member-access': 'off', + '@typescript-eslint/no-unsafe-return': 'off', + '@typescript-eslint/only-throw-error': 'off', + '@typescript-eslint/prefer-promise-reject-errors': 'off', + '@typescript-eslint/restrict-plus-operands': 'off', + '@typescript-eslint/restrict-template-expressions': 'off', + '@typescript-eslint/unbound-method': 'off', + }, }, { files: ['packages/nodes/**', 'packages/node-types/**'], From b687d5aaaaa44bfed146fdc0ad9aac69a1fda7e5 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:24:03 +0000 Subject: [PATCH 22/27] Revert "Try disabling new rules again for CI" This reverts commit 88bab9e6072c52c5334b76486082277b87cb46ec. --- eslint.config.mjs | 14 -------------- 1 file changed, 14 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index d53afd60..0af810c7 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -5,20 +5,6 @@ export default tseslint.config([ { files: ['**/*.ts'], extends: [solanaConfig], - rules: { - '@typescript-eslint/no-base-to-string': 'off', - '@typescript-eslint/no-unsafe-argument': 'off', - '@typescript-eslint/no-unsafe-assignment': 'off', - '@typescript-eslint/no-unsafe-call': 'off', - '@typescript-eslint/no-unsafe-enum-comparison': 'off', - '@typescript-eslint/no-unsafe-member-access': 'off', - '@typescript-eslint/no-unsafe-return': 'off', - '@typescript-eslint/only-throw-error': 'off', - '@typescript-eslint/prefer-promise-reject-errors': 'off', - '@typescript-eslint/restrict-plus-operands': 'off', - '@typescript-eslint/restrict-template-expressions': 'off', - '@typescript-eslint/unbound-method': 'off', - }, }, { files: ['packages/nodes/**', 'packages/node-types/**'], From d8e7f16734b0e21059f815e45401c209a52fe565 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:26:46 +0000 Subject: [PATCH 23/27] Fix @typescript-eslint/no-unused-vars --- eslint.config.mjs | 2 +- packages/errors/src/cli.ts | 5 +---- packages/renderers-js-umi/test/_setup.ts | 5 +---- packages/renderers-js/test/_setup.ts | 5 +---- .../src/setInstructionAccountDefaultValuesVisitor.ts | 5 +---- 5 files changed, 5 insertions(+), 17 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index 0af810c7..e3ddc8a2 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -3,7 +3,7 @@ import tseslint from 'typescript-eslint'; export default tseslint.config([ { - files: ['**/*.ts'], + files: ['**/*.ts', '**/*.(c|m)?js'], extends: [solanaConfig], }, { diff --git a/packages/errors/src/cli.ts b/packages/errors/src/cli.ts index 4895d6aa..cba29689 100755 --- a/packages/errors/src/cli.ts +++ b/packages/errors/src/cli.ts @@ -32,10 +32,7 @@ program .argument('[encodedContext]', 'encoded context to interpolate into the error message', encodedContext => { try { return decodeEncodedContext(encodedContext); - } catch ( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - e - ) { + } catch { throw new InvalidArgumentError('Encoded context malformed'); } }) diff --git a/packages/renderers-js-umi/test/_setup.ts b/packages/renderers-js-umi/test/_setup.ts index b727c319..a18ee108 100644 --- a/packages/renderers-js-umi/test/_setup.ts +++ b/packages/renderers-js-umi/test/_setup.ts @@ -76,10 +76,7 @@ export function codeStringAsRegex(code: string) { async function normalizeCode(code: string) { try { code = await format(code, PRETTIER_OPTIONS); - } catch ( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - e - ) { + } catch { // Ignore errors. } return code.trim(); diff --git a/packages/renderers-js/test/_setup.ts b/packages/renderers-js/test/_setup.ts index 06ad9d3c..5bb03918 100644 --- a/packages/renderers-js/test/_setup.ts +++ b/packages/renderers-js/test/_setup.ts @@ -105,10 +105,7 @@ export function codeStringAsRegex(code: string) { async function normalizeCode(code: string) { try { code = await format(code, PRETTIER_OPTIONS); - } catch ( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - e - ) { + } catch { // Ignore errors. } return code.trim(); diff --git a/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts b/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts index 3b8fff1a..5d84f965 100644 --- a/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts +++ b/packages/visitors/src/setInstructionAccountDefaultValuesVisitor.ts @@ -184,10 +184,7 @@ export function setInstructionAccountDefaultValuesVisitor(rules: InstructionAcco fillDefaultPdaSeedValuesVisitor(instructionPath, linkables, true), ), }; - } catch ( - // eslint-disable-next-line @typescript-eslint/no-unused-vars - error - ) { + } catch { return account; } }); From d92fe02ce24900cb00b46786721582ca8b915f08 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:30:31 +0000 Subject: [PATCH 24/27] Update tsconfig.json --- tsconfig.json | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tsconfig.json b/tsconfig.json index 0967ef42..0cd69a88 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1 +1,3 @@ -{} +{ + "include": ["eslint.config.mjs"] +} From 4e375d57511a0143889bb95d5da970a9a502940f Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:41:15 +0000 Subject: [PATCH 25/27] Build before lint in CI --- .github/workflows/main.yml | 3 +++ tsconfig.json | 3 ++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index cc3a2c5e..c5819806 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,6 +32,9 @@ jobs: - name: Install dependencies run: pnpm install --frozen-lockfile + - name: Compile JS and types + run: pnpm run build + - name: Check linting run: pnpm run lint diff --git a/tsconfig.json b/tsconfig.json index 0cd69a88..e618bea1 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,3 +1,4 @@ { - "include": ["eslint.config.mjs"] + "include": ["eslint.config.mjs"], + "references": [{ "path": "packages/**" }] } From dd190aa0597500e3e2463fe91cfc9fc9cf67ff45 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:48:14 +0000 Subject: [PATCH 26/27] Update tsconfig.json --- tsconfig.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tsconfig.json b/tsconfig.json index e618bea1..0cd69a88 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,4 +1,3 @@ { - "include": ["eslint.config.mjs"], - "references": [{ "path": "packages/**" }] + "include": ["eslint.config.mjs"] } From e53e821ad339c1dc9c81b7dbc5ed1028aca56548 Mon Sep 17 00:00:00 2001 From: Loris Leiva Date: Thu, 28 Nov 2024 14:53:23 +0000 Subject: [PATCH 27/27] Simplify script --- eslint.config.mjs | 1 + packages/internals/scripts/lint.mjs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/eslint.config.mjs b/eslint.config.mjs index e3ddc8a2..8127a129 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -4,6 +4,7 @@ import tseslint from 'typescript-eslint'; export default tseslint.config([ { files: ['**/*.ts', '**/*.(c|m)?js'], + ignores: ['**/dist/**', '**/e2e/**'], extends: [solanaConfig], }, { diff --git a/packages/internals/scripts/lint.mjs b/packages/internals/scripts/lint.mjs index 6eaf857c..e093b6ba 100644 --- a/packages/internals/scripts/lint.mjs +++ b/packages/internals/scripts/lint.mjs @@ -4,7 +4,7 @@ import { $, argv } from 'zx'; // Lint and format the code. $.stdio = 'inherit'; if (argv.fix) { - await $`pnpm eslint --fix "src/**" "test/**" && pnpm prettier --log-level warn --ignore-unknown --write ./*`; + await $`pnpm eslint --fix . && pnpm prettier --log-level warn --ignore-unknown --write ./*`; } else { - await $`pnpm eslint "src/**" "test/**" && pnpm prettier --check .`; + await $`pnpm eslint . && pnpm prettier --check .`; }