diff --git a/common/changes/@kadena/client/ag-fix-react-ui-build-cache_2023-08-08-11-42.json b/common/changes/@kadena/client/ag-fix-react-ui-build-cache_2023-08-08-11-42.json deleted file mode 100644 index 17825fa394..0000000000 --- a/common/changes/@kadena/client/ag-fix-react-ui-build-cache_2023-08-08-11-42.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@kadena/client", - "comment": "", - "type": "none" - } - ], - "packageName": "@kadena/client" -} \ No newline at end of file diff --git a/common/changes/@kadena/client/fix-client-addData-and-namespace-warnings_2023-08-16-11-34.json b/common/changes/@kadena/client/fix-client-addData-and-namespace-warnings_2023-08-16-11-34.json deleted file mode 100644 index c2754a9cb1..0000000000 --- a/common/changes/@kadena/client/fix-client-addData-and-namespace-warnings_2023-08-16-11-34.json +++ /dev/null @@ -1,10 +0,0 @@ -{ - "changes": [ - { - "packageName": "@kadena/client", - "comment": "throw error for duplicated keys while using addData", - "type": "none" - } - ], - "packageName": "@kadena/client" -} \ No newline at end of file diff --git a/common/changes/@kadena/pactjs-generator/fix-literal_2023-08-16-09-24.json b/common/changes/@kadena/pactjs-generator/fix-literal_2023-08-16-09-24.json new file mode 100644 index 0000000000..856252fa01 --- /dev/null +++ b/common/changes/@kadena/pactjs-generator/fix-literal_2023-08-16-09-24.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@kadena/pactjs-generator", + "comment": "Update the generator to use Literal type", + "type": "none" + } + ], + "packageName": "@kadena/pactjs-generator" +} \ No newline at end of file diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 4cb23d61a0..a81135d27d 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -76,6 +76,9 @@ importers: react-markdown: specifier: ~8.0.7 version: 8.0.7(@types/react@18.2.17)(react@18.2.0) + react-tweet: + specifier: ~3.1.1 + version: 3.1.1(react-dom@18.2.0)(react@18.2.0) redoc: specifier: ~2.0.0 version: 2.0.0(core-js@3.32.0)(mobx@6.9.1)(react-dom@18.2.0)(react@18.2.0)(styled-components@5.3.11)(webpack@5.88.2) @@ -234,17 +237,17 @@ importers: ../../packages/apps/graph: dependencies: '@pothos/core': - specifier: ~3.24.0 - version: 3.24.1(graphql@16.6.0) + specifier: ~3.33.0 + version: 3.33.0(graphql@16.8.0) '@pothos/plugin-prisma': - specifier: ~3.39.0 - version: 3.39.0(@pothos/core@3.24.1)(@prisma/client@4.16.2)(graphql@16.6.0)(typescript@5.1.6) + specifier: ~3.57.0 + version: 3.57.0(@pothos/core@3.33.0)(@prisma/client@5.1.1)(graphql@16.8.0)(typescript@5.1.6) '@pothos/plugin-relay': - specifier: ~3.32.0 - version: 3.32.0(@pothos/core@3.24.1)(graphql@16.6.0) + specifier: ~3.43.1 + version: 3.43.1(@pothos/core@3.33.0)(graphql@16.8.0) '@prisma/client': - specifier: ^4.7.1 - version: 4.16.2(prisma@4.16.2) + specifier: ^5.1.1 + version: 5.1.1(prisma@5.1.1) debug: specifier: ~4.3.4 version: 4.3.4(supports-color@5.5.0) @@ -255,20 +258,20 @@ importers: specifier: ^8.45.0 version: 8.45.0 graphql: - specifier: ~16.6.0 - version: 16.6.0 + specifier: ~16.8.0 + version: 16.8.0 graphql-scalars: - specifier: ~1.20.1 - version: 1.20.4(graphql@16.6.0) + specifier: ~1.22.2 + version: 1.22.2(graphql@16.8.0) graphql-yoga: - specifier: ~3.1.1 - version: 3.1.2(@types/node@16.18.39)(graphql@16.6.0) + specifier: ~4.0.4 + version: 4.0.4(graphql@16.8.0) json-bigint-patch: specifier: ~0.0.8 version: 0.0.8 prisma: - specifier: ^4.7.1 - version: 4.16.2 + specifier: ^5.1.1 + version: 5.1.1 devDependencies: '@kadena-dev/eslint-config': specifier: workspace:* @@ -294,6 +297,9 @@ importers: '@types/node': specifier: ^16.0.0 version: 16.18.39 + '@types/pg': + specifier: ~8.10.2 + version: 8.10.2 embedded-postgres: specifier: ~15.1.0-beta.6 version: 15.1.0-beta.6 @@ -305,10 +311,10 @@ importers: dependencies: '@apollo/client': specifier: ~3.7.2 - version: 3.7.17(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) + version: 3.7.17(graphql@16.8.0)(react-dom@18.2.0)(react@18.2.0) '@graphql-yoga/apollo-link': specifier: ~1.0.1 - version: 1.0.1(@apollo/client@3.7.17)(@types/node@16.18.39)(graphql@16.6.0) + version: 1.0.1(@apollo/client@3.7.17)(@types/node@16.18.39)(graphql@16.8.0) '@radix-ui/colors': specifier: ~0.1.8 version: 0.1.9 @@ -328,8 +334,8 @@ importers: specifier: ^8.45.0 version: 8.45.0 graphql: - specifier: ~16.6.0 - version: 16.6.0 + specifier: ~16.8.0 + version: 16.8.0 lodash.isequal: specifier: ~4.5.0 version: 4.5.0 @@ -348,13 +354,13 @@ importers: devDependencies: '@graphql-codegen/cli': specifier: 2.16.1 - version: 2.16.1(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.6.0)(ts-node@10.8.2)(typescript@5.1.6) + version: 2.16.1(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.8.0)(ts-node@10.8.2)(typescript@5.1.6) '@graphql-codegen/typescript-operations': specifier: ~2.5.10 - version: 2.5.13(graphql@16.6.0) + version: 2.5.13(graphql@16.8.0) '@graphql-codegen/typescript-react-apollo': specifier: ~3.3.7 - version: 3.3.7(graphql-tag@2.12.6)(graphql@16.6.0) + version: 3.3.7(graphql-tag@2.12.6)(graphql@16.8.0) '@kadena-dev/eslint-config': specifier: workspace:* version: link:../../tools/eslint-config @@ -2002,7 +2008,7 @@ packages: leven: 3.1.0 dev: false - /@apollo/client@3.7.17(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0): + /@apollo/client@3.7.17(graphql@16.8.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-0EErSHEtKPNl5wgWikHJbKFAzJ/k11O0WO2QyqZSHpdxdAnw7UWHY4YiLbHCFG7lhrD+NTQ3Z/H9Jn4rcikoJA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 @@ -2020,12 +2026,12 @@ packages: subscriptions-transport-ws: optional: true dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) '@wry/context': 0.7.3 '@wry/equality': 0.5.6 '@wry/trie': 0.4.3 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.0 + graphql-tag: 2.12.6(graphql@16.8.0) hoist-non-react-statics: 3.3.2 optimism: 0.16.2 prop-types: 15.8.1 @@ -2038,7 +2044,7 @@ packages: zen-observable-ts: 1.2.5 dev: false - /@ardatan/relay-compiler@12.0.0(graphql@16.6.0): + /@ardatan/relay-compiler@12.0.0(graphql@16.8.0): resolution: {integrity: sha512-9anThAaj1dQr6IGmzBMcfzOQKTa5artjuPmw8NYK/fiGEMjADbSguBY2FMDykt+QhilR3wc9VA/3yVju7JHg7Q==} hasBin: true peerDependencies: @@ -2055,7 +2061,7 @@ packages: fb-watchman: 2.0.2 fbjs: 3.0.5 glob: 7.2.3 - graphql: 16.6.0 + graphql: 16.8.0 immutable: 3.7.6 invariant: 2.2.4 nullthrows: 1.1.1 @@ -3738,44 +3744,21 @@ packages: react: 18.2.0 dev: true - /@envelop/core@3.0.4: - resolution: {integrity: sha512-AybIZxQsDlFQTWHy6YtX/MSQPVuw+eOFtTW90JsHn6EbmcQnD6N3edQfSiTGjggPRHLoC0+0cuYXp2Ly2r3vrQ==} - dependencies: - '@envelop/types': 3.0.1 - tslib: 2.4.0 - dev: false - - /@envelop/parser-cache@5.0.6(@envelop/core@3.0.4)(graphql@16.6.0): - resolution: {integrity: sha512-H+A4QdtEt3l9K71/Mko59ws6iGAMS9Qiqbuh5fYa3vcRiAxHlri/ldA//Bvr+OYFBY7DWbR3r/vMaTxehNDx8w==} - peerDependencies: - '@envelop/core': ^3.0.6 - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + /@envelop/core@4.0.0: + resolution: {integrity: sha512-6usEZO86hWT0ZajAbhOX0QXlV++lrlEmu8br6KQVvyXOxttiHADIibgfzb3GtSI7RnnJDnrcRb7Jynv6Lca3iQ==} + engines: {node: '>=16.0.0'} dependencies: - '@envelop/core': 3.0.4 - graphql: 16.6.0 - lru-cache: 6.0.0 + '@envelop/types': 4.0.0 tslib: 2.6.1 dev: false - /@envelop/types@3.0.1: - resolution: {integrity: sha512-Ok62K1K+rlS+wQw77k8Pis8+1/h7+/9Wk5Fgcc2U6M5haEWsLFAHcHsk8rYlnJdEUl2Y3yJcCSOYbt1dyTaU5w==} + /@envelop/types@4.0.0: + resolution: {integrity: sha512-dmBK16VVfKCkqYYemvE+gt1cPBP0d9CbYO4yjNhSSYy9K+w6+Lw48wOLK238mSR339PNAvwj/JW/qzNy2llggA==} + engines: {node: '>=16.0.0'} dependencies: tslib: 2.6.1 dev: false - /@envelop/validation-cache@5.1.3(@envelop/core@3.0.4)(graphql@16.6.0): - resolution: {integrity: sha512-MkzcScQHJJQ/9YCAPdWShEi3xZv4F4neTs+NszzSrZOdlU8z/THuRt7gZ0sO0y2be+sx+SKjHQP8Gq3VXXcTTg==} - peerDependencies: - '@envelop/core': ^3.0.6 - graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - '@envelop/core': 3.0.4 - graphql: 16.6.0 - hash-it: 6.0.0 - lru-cache: 6.0.0 - tslib: 2.6.1 - dev: false - /@esbuild/android-arm64@0.17.6: resolution: {integrity: sha512-YnYSCceN/dUzUr5kdtUzB+wZprCafuD89Hs0Aqv9QSdwhYQybhXTaSTcrl6X/aWThn1a/j0eEpUBGOE7269REg==} engines: {node: '>=12'} @@ -4218,7 +4201,7 @@ packages: - supports-color dev: false - /@graphql-codegen/cli@2.16.1(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.6.0)(ts-node@10.8.2)(typescript@5.1.6): + /@graphql-codegen/cli@2.16.1(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.8.0)(ts-node@10.8.2)(typescript@5.1.6): resolution: {integrity: sha512-11z3iSlsNCXcNNkoRKG3wCmT9XpLf7/GZG9bWGXkCoveWVRwnRmo37YakHdNV3hbcJ4iiGbR3Z+MX9gUTEPDVA==} hasBin: true peerDependencies: @@ -4227,18 +4210,18 @@ packages: '@babel/generator': 7.22.9 '@babel/template': 7.22.5 '@babel/types': 7.22.5 - '@graphql-codegen/core': 2.6.8(graphql@16.6.0) - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-tools/apollo-engine-loader': 7.3.26(graphql@16.6.0) - '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.22.9)(graphql@16.6.0) - '@graphql-tools/git-loader': 7.3.0(@babel/core@7.22.9)(graphql@16.6.0) - '@graphql-tools/github-loader': 7.3.28(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.6.0) - '@graphql-tools/json-file-loader': 7.4.18(graphql@16.6.0) - '@graphql-tools/load': 7.8.0(graphql@16.6.0) - '@graphql-tools/prisma-loader': 7.2.72(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-codegen/core': 2.6.8(graphql@16.8.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-tools/apollo-engine-loader': 7.3.26(graphql@16.8.0) + '@graphql-tools/code-file-loader': 7.3.23(@babel/core@7.22.9)(graphql@16.8.0) + '@graphql-tools/git-loader': 7.3.0(@babel/core@7.22.9)(graphql@16.8.0) + '@graphql-tools/github-loader': 7.3.28(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.8.0) + '@graphql-tools/json-file-loader': 7.4.18(graphql@16.8.0) + '@graphql-tools/load': 7.8.0(graphql@16.8.0) + '@graphql-tools/prisma-loader': 7.2.72(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/utils': 8.13.1(graphql@16.8.0) '@whatwg-node/fetch': 0.5.4 chalk: 4.1.2 chokidar: 3.5.3 @@ -4246,8 +4229,8 @@ packages: cosmiconfig-typescript-loader: 4.1.1(@types/node@16.18.39)(cosmiconfig@7.1.0)(ts-node@10.8.2)(typescript@5.1.6) debounce: 1.2.1 detect-indent: 6.1.0 - graphql: 16.6.0 - graphql-config: 4.3.6(@types/node@16.18.39)(graphql@16.6.0)(typescript@5.1.6) + graphql: 16.8.0 + graphql-config: 4.3.6(@types/node@16.18.39)(graphql@16.8.0)(typescript@5.1.6) inquirer: 8.2.5 is-glob: 4.0.3 json-to-pretty-yaml: 1.2.2 @@ -4273,121 +4256,121 @@ packages: - utf-8-validate dev: true - /@graphql-codegen/core@2.6.8(graphql@16.6.0): + /@graphql-codegen/core@2.6.8(graphql@16.8.0): resolution: {integrity: sha512-JKllNIipPrheRgl+/Hm/xuWMw9++xNQ12XJR/OHHgFopOg4zmN3TdlRSyYcv/K90hCFkkIwhlHFUQTfKrm8rxQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-tools/schema': 9.0.19(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.4.1 dev: true - /@graphql-codegen/plugin-helpers@2.7.2(graphql@16.6.0): + /@graphql-codegen/plugin-helpers@2.7.2(graphql@16.8.0): resolution: {integrity: sha512-kln2AZ12uii6U59OQXdjLk5nOlh1pHis1R98cDZGFnfaiAbX9V3fxcZ1MMJkB7qFUymTALzyjZoXXdyVmPMfRg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-tools/utils': 8.13.1(graphql@16.8.0) change-case-all: 1.0.14 common-tags: 1.8.2 - graphql: 16.6.0 + graphql: 16.8.0 import-from: 4.0.0 lodash: 4.17.21 tslib: 2.4.1 dev: true - /@graphql-codegen/plugin-helpers@3.1.2(graphql@16.6.0): + /@graphql-codegen/plugin-helpers@3.1.2(graphql@16.8.0): resolution: {integrity: sha512-emOQiHyIliVOIjKVKdsI5MXj312zmRDwmHpyUTZMjfpvxq/UVAHUJIVdVf+lnjjrI+LXBTgMlTWTgHQfmICxjg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) change-case-all: 1.0.15 common-tags: 1.8.2 - graphql: 16.6.0 + graphql: 16.8.0 import-from: 4.0.0 lodash: 4.17.21 tslib: 2.4.1 dev: true - /@graphql-codegen/schema-ast@2.6.1(graphql@16.6.0): + /@graphql-codegen/schema-ast@2.6.1(graphql@16.8.0): resolution: {integrity: sha512-5TNW3b1IHJjCh07D2yQNGDQzUpUl2AD+GVe1Dzjqyx/d2Fn0TPMxLsHsKPS4Plg4saO8FK/QO70wLsP7fdbQ1w==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.4.1 dev: true - /@graphql-codegen/typescript-operations@2.5.13(graphql@16.6.0): + /@graphql-codegen/typescript-operations@2.5.13(graphql@16.8.0): resolution: {integrity: sha512-3vfR6Rx6iZU0JRt29GBkFlrSNTM6t+MSLF86ChvL4d/Jfo/JYAGuB3zNzPhirHYzJPCvLOAx2gy9ID1ltrpYiw==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-codegen/typescript': 2.8.8(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-codegen/typescript': 2.8.8(graphql@16.8.0) + '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.8.0) auto-bind: 4.0.0 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/typescript-react-apollo@3.3.7(graphql-tag@2.12.6)(graphql@16.6.0): + /@graphql-codegen/typescript-react-apollo@3.3.7(graphql-tag@2.12.6)(graphql@16.8.0): resolution: {integrity: sha512-9DUiGE8rcwwEkf/S1kpBT/Py/UUs9Qak14bOnTT1JHWs1MWhiDA7vml+A8opU7YFI1EVbSSaE5jjRv11WHoikQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 graphql-tag: ^2.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.0) + '@graphql-codegen/visitor-plugin-common': 2.13.1(graphql@16.8.0) auto-bind: 4.0.0 change-case-all: 1.0.14 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.0 + graphql-tag: 2.12.6(graphql@16.8.0) tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/typescript@2.8.8(graphql@16.6.0): + /@graphql-codegen/typescript@2.8.8(graphql@16.8.0): resolution: {integrity: sha512-A0oUi3Oy6+DormOlrTC4orxT9OBZkIglhbJBcDmk34jAKKUgesukXRd4yOhmTrnbchpXz2T8IAOFB3FWIaK4Rw==} peerDependencies: graphql: ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-codegen/schema-ast': 2.6.1(graphql@16.6.0) - '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-codegen/schema-ast': 2.6.1(graphql@16.8.0) + '@graphql-codegen/visitor-plugin-common': 2.13.8(graphql@16.8.0) auto-bind: 4.0.0 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.4.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-codegen/visitor-plugin-common@2.13.1(graphql@16.6.0): + /@graphql-codegen/visitor-plugin-common@2.13.1(graphql@16.8.0): resolution: {integrity: sha512-mD9ufZhDGhyrSaWQGrU1Q1c5f01TeWtSWy/cDwXYjJcHIj1Y/DG2x0tOflEfCvh5WcnmHNIw4lzDsg1W7iFJEg==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.6.0) - '@graphql-tools/optimize': 1.4.0(graphql@16.6.0) - '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 2.7.2(graphql@16.8.0) + '@graphql-tools/optimize': 1.4.0(graphql@16.8.0) + '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.8.0) + '@graphql-tools/utils': 8.13.1(graphql@16.8.0) auto-bind: 4.0.0 change-case-all: 1.0.14 dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.0 + graphql-tag: 2.12.6(graphql@16.8.0) parse-filepath: 1.0.2 tslib: 2.4.1 transitivePeerDependencies: @@ -4395,20 +4378,20 @@ packages: - supports-color dev: true - /@graphql-codegen/visitor-plugin-common@2.13.8(graphql@16.6.0): + /@graphql-codegen/visitor-plugin-common@2.13.8(graphql@16.8.0): resolution: {integrity: sha512-IQWu99YV4wt8hGxIbBQPtqRuaWZhkQRG2IZKbMoSvh0vGeWb3dB0n0hSgKaOOxDY+tljtOf9MTcUYvJslQucMQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.6.0) - '@graphql-tools/optimize': 1.4.0(graphql@16.6.0) - '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-codegen/plugin-helpers': 3.1.2(graphql@16.8.0) + '@graphql-tools/optimize': 1.4.0(graphql@16.8.0) + '@graphql-tools/relay-operation-optimizer': 6.5.18(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) auto-bind: 4.0.0 change-case-all: 1.0.15 dependency-graph: 0.11.0 - graphql: 16.6.0 - graphql-tag: 2.12.6(graphql@16.6.0) + graphql: 16.8.0 + graphql-tag: 2.12.6(graphql@16.8.0) parse-filepath: 1.0.2 tslib: 2.4.1 transitivePeerDependencies: @@ -4416,41 +4399,41 @@ packages: - supports-color dev: true - /@graphql-tools/apollo-engine-loader@7.3.26(graphql@16.6.0): + /@graphql-tools/apollo-engine-loader@7.3.26(graphql@16.8.0): resolution: {integrity: sha512-h1vfhdJFjnCYn9b5EY1Z91JTF0KB3hHVJNQIsiUV2mpQXZdeOXQoaWeYEKaiI5R6kwBw5PP9B0fv3jfUIG8LyQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 transitivePeerDependencies: - encoding dev: true - /@graphql-tools/batch-execute@8.5.22(graphql@16.6.0): + /@graphql-tools/batch-execute@8.5.22(graphql@16.8.0): resolution: {integrity: sha512-hcV1JaY6NJQFQEwCKrYhpfLK8frSXDbtNMoTur98u10Cmecy1zrqNKSqhEyGetpgHxaJRqszGzKeI3RuroDN6A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) dataloader: 2.2.2 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 dev: true - /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.22.9)(graphql@16.6.0): + /@graphql-tools/code-file-loader@7.3.23(@babel/core@7.22.9)(graphql@16.8.0): resolution: {integrity: sha512-8Wt1rTtyTEs0p47uzsPJ1vAtfAx0jmxPifiNdmo9EOCuUPyQGEbMaik/YkqZ7QUFIEYEQu+Vgfo8tElwOPtx5Q==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) globby: 11.1.0 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 unixify: 1.0.0 transitivePeerDependencies: @@ -4458,43 +4441,43 @@ packages: - supports-color dev: true - /@graphql-tools/delegate@9.0.35(graphql@16.6.0): + /@graphql-tools/delegate@9.0.35(graphql@16.8.0): resolution: {integrity: sha512-jwPu8NJbzRRMqi4Vp/5QX1vIUeUPpWmlQpOkXQD2r1X45YsVceyUUBnktCrlJlDB4jPRVy7JQGwmYo3KFiOBMA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/batch-execute': 8.5.22(graphql@16.6.0) - '@graphql-tools/executor': 0.0.20(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/batch-execute': 8.5.22(graphql@16.8.0) + '@graphql-tools/executor': 0.0.20(graphql@16.8.0) + '@graphql-tools/schema': 9.0.19(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) dataloader: 2.2.2 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 dev: true - /@graphql-tools/executor-apollo-link@0.0.3(@apollo/client@3.7.17)(graphql@16.6.0): + /@graphql-tools/executor-apollo-link@0.0.3(@apollo/client@3.7.17)(graphql@16.8.0): resolution: {integrity: sha512-r0qttQs721k/H3Ev+oG6qI0bJBHxah0KS5qcl6p3F8xZw0tPmTtLdArs14CTynzADNXR9vNedmdFdcFQmNohIg==} peerDependencies: '@apollo/client': ^3.5.9 graphql: ^15.2.0 || ^16.0.0 dependencies: - '@apollo/client': 3.7.17(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) - '@graphql-tools/utils': 9.1.1(graphql@16.6.0) - graphql: 16.6.0 + '@apollo/client': 3.7.17(graphql@16.8.0)(react-dom@18.2.0)(react@18.2.0) + '@graphql-tools/utils': 9.1.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 dev: false - /@graphql-tools/executor-graphql-ws@0.0.14(graphql@16.6.0): + /@graphql-tools/executor-graphql-ws@0.0.14(graphql@16.8.0): resolution: {integrity: sha512-P2nlkAsPZKLIXImFhj0YTtny5NQVGSsKnhi7PzXiaHSXc6KkzqbWZHKvikD4PObanqg+7IO58rKFpGXP7eeO+w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@repeaterjs/repeater': 3.0.4 '@types/ws': 8.5.5 - graphql: 16.6.0 - graphql-ws: 5.12.1(graphql@16.6.0) + graphql: 16.8.0 + graphql-ws: 5.12.1(graphql@16.8.0) isomorphic-ws: 5.0.0(ws@8.13.0) tslib: 2.6.1 ws: 8.13.0 @@ -4503,17 +4486,17 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor-http@0.0.4(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-tools/executor-http@0.0.4(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-m7UwOhzIXLXXisxOD8x+niN3ae38A8bte47eBBfzr8eTrjsSEEQRbwsc6ciUmoys/5iQabnbtJN10rNIaZaU8w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.1.1(graphql@16.6.0) + '@graphql-tools/utils': 9.1.1(graphql@16.8.0) '@repeaterjs/repeater': 3.0.4 '@whatwg-node/fetch': 0.5.3 dset: 3.1.2 extract-files: 11.0.0 - graphql: 16.6.0 + graphql: 16.8.0 meros: 1.2.1(@types/node@16.18.39) tslib: 2.6.1 value-or-promise: 1.0.11 @@ -4522,17 +4505,17 @@ packages: - encoding dev: false - /@graphql-tools/executor-http@0.1.10(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-tools/executor-http@0.1.10(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-hnAfbKv0/lb9s31LhWzawQ5hghBfHS+gYWtqxME6Rl0Aufq9GltiiLBcl7OVVOnkLF0KhwgbYP1mB5VKmgTGpg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@repeaterjs/repeater': 3.0.4 '@whatwg-node/fetch': 0.8.8 dset: 3.1.2 extract-files: 11.0.0 - graphql: 16.6.0 + graphql: 16.8.0 meros: 1.3.0(@types/node@16.18.39) tslib: 2.6.1 value-or-promise: 1.0.12 @@ -4540,14 +4523,14 @@ packages: - '@types/node' dev: true - /@graphql-tools/executor-legacy-ws@0.0.11(graphql@16.6.0): + /@graphql-tools/executor-legacy-ws@0.0.11(graphql@16.8.0): resolution: {integrity: sha512-4ai+NnxlNfvIQ4c70hWFvOZlSUN8lt7yc+ZsrwtNFbFPH/EroIzFMapAxM9zwyv9bH38AdO3TQxZ5zNxgBdvUw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@types/ws': 8.5.5 - graphql: 16.6.0 + graphql: 16.8.0 isomorphic-ws: 5.0.0(ws@8.13.0) tslib: 2.6.1 ws: 8.13.0 @@ -4556,40 +4539,41 @@ packages: - utf-8-validate dev: true - /@graphql-tools/executor@0.0.20(graphql@16.6.0): + /@graphql-tools/executor@0.0.20(graphql@16.8.0): resolution: {integrity: sha512-GdvNc4vszmfeGvUqlcaH1FjBoguvMYzxAfT6tDd4/LgwymepHhinqLNA5otqwVLW+JETcDaK7xGENzFomuE6TA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) '@repeaterjs/repeater': 3.0.4 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 dev: true - /@graphql-tools/executor@0.0.9(graphql@16.6.0): - resolution: {integrity: sha512-qLhQWXTxTS6gbL9INAQa4FJIqTd2tccnbs4HswOx35KnyLaLtREuQ8uTfU+5qMrRIBhuzpGdkP2ssqxLyOJ5rA==} + /@graphql-tools/executor@1.2.0(graphql@16.8.0): + resolution: {integrity: sha512-SKlIcMA71Dha5JnEWlw4XxcaJ+YupuXg0QCZgl2TOLFz4SkGCwU/geAsJvUJFwK2RbVLpQv/UMq67lOaBuwDtg==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.1.1(graphql@16.6.0) - '@graphql-typed-document-node/core': 3.1.1(graphql@16.6.0) + '@graphql-tools/utils': 10.0.5(graphql@16.8.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) '@repeaterjs/repeater': 3.0.4 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 - value-or-promise: 1.0.11 + value-or-promise: 1.0.12 dev: false - /@graphql-tools/git-loader@7.3.0(@babel/core@7.22.9)(graphql@16.6.0): + /@graphql-tools/git-loader@7.3.0(@babel/core@7.22.9)(graphql@16.8.0): resolution: {integrity: sha512-gcGAK+u16eHkwsMYqqghZbmDquh8QaO24Scsxq+cVR+vx1ekRlsEiXvu+yXVDbZdcJ6PBIbeLcQbEu+xhDLmvQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 is-glob: 4.0.3 micromatch: 4.0.5 tslib: 2.6.1 @@ -4599,17 +4583,17 @@ packages: - supports-color dev: true - /@graphql-tools/github-loader@7.3.28(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-tools/github-loader@7.3.28(@babel/core@7.22.9)(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-OK92Lf9pmxPQvjUNv05b3tnVhw0JRfPqOf15jZjyQ8BfdEUrJoP32b4dRQQem/wyRL24KY4wOfArJNqzpsbwCA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/executor-http': 0.1.10(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/executor-http': 0.1.10(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/graphql-tag-pluck': 7.5.2(@babel/core@7.22.9)(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 transitivePeerDependencies: @@ -4619,20 +4603,20 @@ packages: - supports-color dev: true - /@graphql-tools/graphql-file-loader@7.5.17(graphql@16.6.0): + /@graphql-tools/graphql-file-loader@7.5.17(graphql@16.8.0): resolution: {integrity: sha512-hVwwxPf41zOYgm4gdaZILCYnKB9Zap7Ys9OhY1hbwuAuC4MMNY9GpUjoTU3CQc3zUiPoYStyRtUGkHSJZ3HxBw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/import': 6.7.18(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/import': 6.7.18(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) globby: 11.1.0 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 unixify: 1.0.0 dev: true - /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.22.9)(graphql@16.6.0): + /@graphql-tools/graphql-tag-pluck@7.5.2(@babel/core@7.22.9)(graphql@16.8.0): resolution: {integrity: sha512-RW+H8FqOOLQw0BPXaahYepVSRjuOHw+7IL8Opaa5G5uYGOBxoXR7DceyQ7BcpMgktAOOmpDNQ2WtcboChOJSRA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 @@ -4641,92 +4625,104 @@ packages: '@babel/plugin-syntax-import-assertions': 7.22.5(@babel/core@7.22.9) '@babel/traverse': 7.22.8(supports-color@5.5.0) '@babel/types': 7.22.5 - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 transitivePeerDependencies: - '@babel/core' - supports-color dev: true - /@graphql-tools/import@6.7.18(graphql@16.6.0): + /@graphql-tools/import@6.7.18(graphql@16.8.0): resolution: {integrity: sha512-XQDdyZTp+FYmT7as3xRWH/x8dx0QZA2WZqfMF5EWb36a0PiH7WwlRQYIdyYXj8YCLpiWkeBXgBRHmMnwEYR8iQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 resolve-from: 5.0.0 tslib: 2.6.1 dev: true - /@graphql-tools/json-file-loader@7.4.18(graphql@16.6.0): + /@graphql-tools/json-file-loader@7.4.18(graphql@16.8.0): resolution: {integrity: sha512-AJ1b6Y1wiVgkwsxT5dELXhIVUPs/u3VZ8/0/oOtpcoyO/vAeM5rOvvWegzicOOnQw8G45fgBRMkkRfeuwVt6+w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) globby: 11.1.0 - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 unixify: 1.0.0 dev: true - /@graphql-tools/load@7.8.0(graphql@16.6.0): + /@graphql-tools/load@7.8.0(graphql@16.8.0): resolution: {integrity: sha512-l4FGgqMW0VOqo+NMYizwV8Zh+KtvVqOf93uaLo9wJ3sS3y/egPCgxPMDJJ/ufQZG3oZ/0oWeKt68qop3jY0yZg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/schema': 9.0.4(graphql@16.6.0) - '@graphql-tools/utils': 8.12.0(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/schema': 9.0.4(graphql@16.8.0) + '@graphql-tools/utils': 8.12.0(graphql@16.8.0) + graphql: 16.8.0 p-limit: 3.1.0 tslib: 2.6.1 dev: true - /@graphql-tools/merge@8.3.6(graphql@16.6.0): + /@graphql-tools/merge@8.3.6(graphql@16.8.0): resolution: {integrity: sha512-uUBokxXi89bj08P+iCvQk3Vew4vcfL5ZM6NTylWi8PIpoq4r5nJ625bRuN8h2uubEdRiH8ntN9M4xkd/j7AybQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 8.12.0(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/utils': 8.12.0(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 dev: true - /@graphql-tools/merge@8.4.2(graphql@16.6.0): + /@graphql-tools/merge@8.4.2(graphql@16.8.0): resolution: {integrity: sha512-XbrHAaj8yDuINph+sAfuq3QCZ/tKblrTLOpirK0+CAgNlZUCHs0Fa+xtMUURgwCVThLle1AF7svJCxFizygLsw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 + dev: true - /@graphql-tools/optimize@1.4.0(graphql@16.6.0): + /@graphql-tools/merge@9.0.0(graphql@16.8.0): + resolution: {integrity: sha512-J7/xqjkGTTwOJmaJQJ2C+VDBDOWJL3lKrHJN4yMaRLAJH3PosB7GiPRaSDZdErs0+F77sH2MKs2haMMkywzx7Q==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/utils': 10.0.5(graphql@16.8.0) + graphql: 16.8.0 + tslib: 2.6.1 + dev: false + + /@graphql-tools/optimize@1.4.0(graphql@16.8.0): resolution: {integrity: sha512-dJs/2XvZp+wgHH8T5J2TqptT9/6uVzIYvA6uFACha+ufvdMBedkfR4b4GbT8jAKLRARiqRTxy3dctnwkTM2tdw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 dev: true - /@graphql-tools/prisma-loader@7.2.72(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-tools/prisma-loader@7.2.72(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-0a7uV7Fky6yDqd0tI9+XMuvgIo6GAqiVzzzFV4OSLry4AwiQlI3igYseBV7ZVOGhedOTqj/URxjpiv07hRcwag==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) + '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) '@types/js-yaml': 4.0.5 '@types/json-stable-stringify': 1.0.34 '@whatwg-node/fetch': 0.8.8 chalk: 4.1.2 debug: 4.3.4(supports-color@5.5.0) dotenv: 16.0.3 - graphql: 16.6.0 - graphql-request: 6.1.0(graphql@16.6.0) + graphql: 16.8.0 + graphql-request: 6.1.0(graphql@16.8.0) http-proxy-agent: 6.1.1 https-proxy-agent: 6.2.1 jose: 4.14.4 @@ -4744,58 +4740,72 @@ packages: - utf-8-validate dev: true - /@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.6.0): + /@graphql-tools/relay-operation-optimizer@6.5.18(graphql@16.8.0): resolution: {integrity: sha512-mc5VPyTeV+LwiM+DNvoDQfPqwQYhPV/cl5jOBjTgSniyaq8/86aODfMkrE2OduhQ5E00hqrkuL2Fdrgk0w1QJg==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@ardatan/relay-compiler': 12.0.0(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@ardatan/relay-compiler': 12.0.0(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 transitivePeerDependencies: - encoding - supports-color dev: true - /@graphql-tools/schema@9.0.19(graphql@16.6.0): + /@graphql-tools/schema@10.0.0(graphql@16.8.0): + resolution: {integrity: sha512-kf3qOXMFcMs2f/S8Y3A8fm/2w+GaHAkfr3Gnhh2LOug/JgpY/ywgFVxO3jOeSpSEdoYcDKLcXVjMigNbY4AdQg==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-tools/merge': 9.0.0(graphql@16.8.0) + '@graphql-tools/utils': 10.0.5(graphql@16.8.0) + graphql: 16.8.0 + tslib: 2.6.1 + value-or-promise: 1.0.12 + dev: false + + /@graphql-tools/schema@9.0.19(graphql@16.8.0): resolution: {integrity: sha512-oBRPoNBtCkk0zbUsyP4GaIzCt8C0aCI4ycIRUL67KK5pOHljKLBBtGT+Jr6hkzA74C8Gco8bpZPe7aWFjiaK2w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 8.4.2(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/merge': 8.4.2(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 + dev: true - /@graphql-tools/schema@9.0.4(graphql@16.6.0): + /@graphql-tools/schema@9.0.4(graphql@16.8.0): resolution: {integrity: sha512-B/b8ukjs18fq+/s7p97P8L1VMrwapYc3N2KvdG/uNThSazRRn8GsBK0Nr+FH+mVKiUfb4Dno79e3SumZVoHuOQ==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/merge': 8.3.6(graphql@16.6.0) - '@graphql-tools/utils': 8.12.0(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/merge': 8.3.6(graphql@16.8.0) + '@graphql-tools/utils': 8.12.0(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.11 dev: true - /@graphql-tools/url-loader@7.17.18(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-tools/url-loader@7.17.18(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-ear0CiyTj04jCVAxi7TvgbnGDIN2HgqzXzwsfcqiVg9cvjT40NcMlZ2P1lZDgqMkZ9oyLTV8Bw6j+SyG6A+xPw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: '@ardatan/sync-fetch': 0.0.1 - '@graphql-tools/delegate': 9.0.35(graphql@16.6.0) - '@graphql-tools/executor-graphql-ws': 0.0.14(graphql@16.6.0) - '@graphql-tools/executor-http': 0.1.10(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/executor-legacy-ws': 0.0.11(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@graphql-tools/wrap': 9.4.2(graphql@16.6.0) + '@graphql-tools/delegate': 9.0.35(graphql@16.8.0) + '@graphql-tools/executor-graphql-ws': 0.0.14(graphql@16.8.0) + '@graphql-tools/executor-http': 0.1.10(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/executor-legacy-ws': 0.0.11(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + '@graphql-tools/wrap': 9.4.2(graphql@16.8.0) '@types/ws': 8.5.5 '@whatwg-node/fetch': 0.8.8 - graphql: 16.6.0 + graphql: 16.8.0 isomorphic-ws: 5.0.0(ws@8.13.0) tslib: 2.6.1 value-or-promise: 1.0.12 @@ -4807,97 +4817,111 @@ packages: - utf-8-validate dev: true - /@graphql-tools/utils@8.12.0(graphql@16.6.0): + /@graphql-tools/utils@10.0.5(graphql@16.8.0): + resolution: {integrity: sha512-ZTioQqg9z9eCG3j+KDy54k1gp6wRIsLqkx5yi163KVvXVkfjsrdErCyZjrEug21QnKE9piP4tyxMpMMOT1RuRw==} + engines: {node: '>=16.0.0'} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 + dependencies: + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) + dset: 3.1.2 + graphql: 16.8.0 + tslib: 2.6.1 + dev: false + + /@graphql-tools/utils@8.12.0(graphql@16.8.0): resolution: {integrity: sha512-TeO+MJWGXjUTS52qfK4R8HiPoF/R7X+qmgtOYd8DTH0l6b+5Y/tlg5aGeUJefqImRq7nvi93Ms40k/Uz4D5CWw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 dev: true - /@graphql-tools/utils@8.13.1(graphql@16.6.0): + /@graphql-tools/utils@8.13.1(graphql@16.8.0): resolution: {integrity: sha512-qIh9yYpdUFmctVqovwMdheVNJqFh+DQNWIhX87FJStfXYnmweBUDATok9fWPleKeFwxnW8IapKmY8m8toJEkAw==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 dev: true - /@graphql-tools/utils@9.1.1(graphql@16.6.0): + /@graphql-tools/utils@9.1.1(graphql@16.8.0): resolution: {integrity: sha512-DXKLIEDbihK24fktR2hwp/BNIVwULIHaSTNTNhXS+19vgT50eX9wndx1bPxGwHnVBOONcwjXy0roQac49vdt/w==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 dev: false - /@graphql-tools/utils@9.2.1(graphql@16.6.0): + /@graphql-tools/utils@9.2.1(graphql@16.8.0): resolution: {integrity: sha512-WUw506Ql6xzmOORlriNrD6Ugx+HjVgYxt9KCXD9mHAak+eaXSwuGGPyE60hy9xaDEoXKBsG7SkG69ybitaVl6A==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 + dev: true - /@graphql-tools/wrap@9.4.2(graphql@16.6.0): + /@graphql-tools/wrap@9.4.2(graphql@16.8.0): resolution: {integrity: sha512-DFcd9r51lmcEKn0JW43CWkkI2D6T9XI1juW/Yo86i04v43O9w2/k4/nx2XTJv4Yv+iXwUw7Ok81PGltwGJSDSA==} peerDependencies: graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - '@graphql-tools/delegate': 9.0.35(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - graphql: 16.6.0 + '@graphql-tools/delegate': 9.0.35(graphql@16.8.0) + '@graphql-tools/schema': 9.0.19(graphql@16.8.0) + '@graphql-tools/utils': 9.2.1(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 value-or-promise: 1.0.12 dev: true - /@graphql-typed-document-node/core@3.1.1(graphql@16.6.0): - resolution: {integrity: sha512-NQ17ii0rK1b34VZonlmT2QMJFI70m0TRwbknO/ihlbatXyaktDhN/98vBiUU6kNBPljqGqyIrl2T4nY2RpFANg==} - peerDependencies: - graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 - dependencies: - graphql: 16.6.0 - dev: false - - /@graphql-typed-document-node/core@3.2.0(graphql@16.6.0): + /@graphql-typed-document-node/core@3.2.0(graphql@16.8.0): resolution: {integrity: sha512-mB9oAsNCm9aM3/SOv4YtBMqZbYj10R7dkq8byBqxGY/ncFwhf2oQzMV+LCRlWoDSEBJ3COiR1yeDvMtsoOsuFQ==} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 || ^17.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 - /@graphql-yoga/apollo-link@1.0.1(@apollo/client@3.7.17)(@types/node@16.18.39)(graphql@16.6.0): + /@graphql-yoga/apollo-link@1.0.1(@apollo/client@3.7.17)(@types/node@16.18.39)(graphql@16.8.0): resolution: {integrity: sha512-11qZfm7jx/zOtULGPYxnT0U7p8DQsEynBLwS3D1+KqaXzqHBrYKORiaZpb1WdBCDDbqOV+juzLcmomUI9V3N8A==} peerDependencies: '@apollo/client': ^3.5.9 graphql: ^15.2.0 || ^16.0.0 dependencies: - '@apollo/client': 3.7.17(graphql@16.6.0)(react-dom@18.2.0)(react@18.2.0) - '@graphql-tools/executor-apollo-link': 0.0.3(@apollo/client@3.7.17)(graphql@16.6.0) - '@graphql-tools/executor-http': 0.0.4(@types/node@16.18.39)(graphql@16.6.0) - graphql: 16.6.0 + '@apollo/client': 3.7.17(graphql@16.8.0)(react-dom@18.2.0)(react@18.2.0) + '@graphql-tools/executor-apollo-link': 0.0.3(@apollo/client@3.7.17)(graphql@16.8.0) + '@graphql-tools/executor-http': 0.0.4(@types/node@16.18.39)(graphql@16.8.0) + graphql: 16.8.0 tslib: 2.6.1 transitivePeerDependencies: - '@types/node' - encoding dev: false - /@graphql-yoga/subscription@3.1.0: - resolution: {integrity: sha512-Vc9lh8KzIHyS3n4jBlCbz7zCjcbtQnOBpsymcRvHhFr2cuH+knmRn0EmzimMQ58jQ8kxoRXXC3KJS3RIxSdPIg==} + /@graphql-yoga/logger@1.0.0: + resolution: {integrity: sha512-JYoxwnPggH2BfO+dWlWZkDeFhyFZqaTRGLvFhy+Pjp2UxitEW6nDrw+pEDw/K9tJwMjIFMmTT9VfTqrnESmBHg==} + engines: {node: '>=16.0.0'} + dependencies: + tslib: 2.6.1 + dev: false + + /@graphql-yoga/subscription@4.0.0: + resolution: {integrity: sha512-0qsN/BPPZNMoC2CZ8i+P6PgiJyHh1H35aKDt37qARBDaIOKDQuvEOq7+4txUKElcmXi7DYFo109FkhSQoEajrg==} + engines: {node: '>=16.0.0'} dependencies: - '@graphql-yoga/typed-event-target': 1.0.0 + '@graphql-yoga/typed-event-target': 2.0.0 '@repeaterjs/repeater': 3.0.4 - '@whatwg-node/events': 0.0.2 + '@whatwg-node/events': 0.1.1 tslib: 2.6.1 dev: false - /@graphql-yoga/typed-event-target@1.0.0: - resolution: {integrity: sha512-Mqni6AEvl3VbpMtKw+TIjc9qS9a8hKhiAjFtqX488yq5oJtj9TkNlFTIacAVS3vnPiswNsmDiQqvwUOcJgi1DA==} + /@graphql-yoga/typed-event-target@2.0.0: + resolution: {integrity: sha512-oA/VGxGmaSDym1glOHrltw43qZsFwLLjBwvh57B79UKX/vo3+UQcRgOyE44c5RP7DCYjkrC2tuArZmb6jCzysw==} + engines: {node: '>=16.0.0'} dependencies: '@repeaterjs/repeater': 3.0.4 tslib: 2.6.1 @@ -6425,16 +6449,16 @@ packages: webpack: 5.88.2(@swc/core@1.3.71)(esbuild@0.18.17) dev: true - /@pothos/core@3.24.1(graphql@16.6.0): - resolution: {integrity: sha512-mMmmweprYgSZkNDY/GJCO54SFt1npLMSkGuNjgG/UwPNmDHN9Xf+vsHslWbclfam7yeoQbYTB29HJT2hg5BOpg==} + /@pothos/core@3.33.0(graphql@16.8.0): + resolution: {integrity: sha512-qg6LMEqFwqO9c9S6X2bXBtd2fRFnVHzPtEJMkOPuPgtOkosEpd6eGvBQP5NSzewOiIF3lXIyb5X8ncOoMvlUSw==} peerDependencies: graphql: '>=15.1.0' dependencies: - graphql: 16.6.0 + graphql: 16.8.0 dev: false - /@pothos/plugin-prisma@3.39.0(@pothos/core@3.24.1)(@prisma/client@4.16.2)(graphql@16.6.0)(typescript@5.1.6): - resolution: {integrity: sha512-V5gOa2RF2XQNP16eSw07tiEyVunYIhRM5DIV2UTPAUHzILD+7vv3LLvmx5FY2w81J1MjrjuvOCcZ8NJl+VazQg==} + /@pothos/plugin-prisma@3.57.0(@pothos/core@3.33.0)(@prisma/client@5.1.1)(graphql@16.8.0)(typescript@5.1.6): + resolution: {integrity: sha512-TMR7f3vx+2OjqKB6o096QL+w6k2aUY5a2P+aujyJptUPsN2i6OobnSePH7iXxL/2tsObdZvRhM51r7VOBZqatw==} hasBin: true peerDependencies: '@pothos/core': '*' @@ -6442,28 +6466,28 @@ packages: graphql: '>=15.1.0' typescript: '>=4.7.2' dependencies: - '@pothos/core': 3.24.1(graphql@16.6.0) - '@prisma/client': 4.16.2(prisma@4.16.2) - '@prisma/generator-helper': 4.16.2 - graphql: 16.6.0 + '@pothos/core': 3.33.0(graphql@16.8.0) + '@prisma/client': 5.1.1(prisma@5.1.1) + '@prisma/generator-helper': 5.1.1 + graphql: 16.8.0 typescript: 5.1.6 transitivePeerDependencies: - supports-color dev: false - /@pothos/plugin-relay@3.32.0(@pothos/core@3.24.1)(graphql@16.6.0): - resolution: {integrity: sha512-S92ORMjpmkZe1ek6ZE8ShWPYLDhqsikGOM+ip4eLWdQSlxnEPz98o+4S+oqYKXwMMaGC01kF7HHr7kzY41t7dA==} + /@pothos/plugin-relay@3.43.1(@pothos/core@3.33.0)(graphql@16.8.0): + resolution: {integrity: sha512-T5oFVpTIQW69v2FhXhaxmX3BkqJqONy/wnvtBY110JhpbE8Qa04lDglufr56q0Kkv8CGXxl4387ZeX7NgGrZ7A==} peerDependencies: '@pothos/core': '*' graphql: '>=15.1.0' dependencies: - '@pothos/core': 3.24.1(graphql@16.6.0) - graphql: 16.6.0 + '@pothos/core': 3.33.0(graphql@16.8.0) + graphql: 16.8.0 dev: false - /@prisma/client@4.16.2(prisma@4.16.2): - resolution: {integrity: sha512-qCoEyxv1ZrQ4bKy39GnylE8Zq31IRmm8bNhNbZx7bF2cU5aiCCnSa93J2imF88MBjn7J9eUQneNxUQVJdl/rPQ==} - engines: {node: '>=14.17'} + /@prisma/client@5.1.1(prisma@5.1.1): + resolution: {integrity: sha512-fxcCeK5pMQGcgCqCrWsi+I2rpIbk0rAhdrN+ke7f34tIrgPwA68ensrpin+9+fZvuV2OtzHmuipwduSY6HswdA==} + engines: {node: '>=16.13'} requiresBuild: true peerDependencies: prisma: '*' @@ -6471,12 +6495,12 @@ packages: prisma: optional: true dependencies: - '@prisma/engines-version': 4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81 - prisma: 4.16.2 + '@prisma/engines-version': 5.1.1-1.6a3747c37ff169c90047725a05a6ef02e32ac97e + prisma: 5.1.1 dev: false - /@prisma/debug@4.16.2: - resolution: {integrity: sha512-7L7WbG0qNNZYgLpsVB8rCHCXEyHFyIycRlRDNwkVfjQmACC2OW6AWCYCbfdjQhkF/t7+S3njj8wAWAocSs+Brw==} + /@prisma/debug@5.1.1: + resolution: {integrity: sha512-R9e2Tn8f+ujVjwn6ne1YkXY35BXzUmxJbGsmD1c8RAZ/NXgbYktEFAwIkOZn5H5zRfY2VDSBvGI6TFpnOu50cg==} dependencies: '@types/debug': 4.1.8 debug: 4.3.4(supports-color@5.5.0) @@ -6485,19 +6509,19 @@ packages: - supports-color dev: false - /@prisma/engines-version@4.16.1-1.4bc8b6e1b66cb932731fb1bdbbc550d1e010de81: - resolution: {integrity: sha512-q617EUWfRIDTriWADZ4YiWRZXCa/WuhNgLTVd+HqWLffjMSPzyM5uOWoauX91wvQClSKZU4pzI4JJLQ9Kl62Qg==} + /@prisma/engines-version@5.1.1-1.6a3747c37ff169c90047725a05a6ef02e32ac97e: + resolution: {integrity: sha512-owZqbY/wucbr65bXJ/ljrHPgQU5xXTSkmcE/JcbqE1kusuAXV/TLN3/exmz21SZ5rJ7WDkyk70J2G/n68iogbQ==} dev: false - /@prisma/engines@4.16.2: - resolution: {integrity: sha512-vx1nxVvN4QeT/cepQce68deh/Turxy5Mr+4L4zClFuK1GlxN3+ivxfuv+ej/gvidWn1cE1uAhW7ALLNlYbRUAw==} + /@prisma/engines@5.1.1: + resolution: {integrity: sha512-NV/4nVNWFZSJCCIA3HIFJbbDKO/NARc9ej0tX5S9k2EVbkrFJC4Xt9b0u4rNZWL4V+F5LAjvta8vzEUw0rw+HA==} requiresBuild: true dev: false - /@prisma/generator-helper@4.16.2: - resolution: {integrity: sha512-bMOH7y73Ui7gpQrioFeavMQA+Tf8ksaVf8Nhs9rQNzuSg8SSV6E9baczob0L5KGZTSgYoqnrRxuo03kVJYrnIg==} + /@prisma/generator-helper@5.1.1: + resolution: {integrity: sha512-Qk9iiVk4JZQYZrYsc1Wx9fXFFnS1AH4T7WyLxCIFnX/end0K5tOK75Qxv6mjZAHE0XUGrzoTlZUkbSDVYz/CvQ==} dependencies: - '@prisma/debug': 4.16.2 + '@prisma/debug': 5.1.1 '@types/cross-spawn': 6.0.2 cross-spawn: 7.0.3 kleur: 4.1.5 @@ -9290,6 +9314,14 @@ packages: /@types/parse-json@4.0.0: resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} + /@types/pg@8.10.2: + resolution: {integrity: sha512-MKFs9P6nJ+LAeHLU3V0cODEOgyThJ3OAnmOlsZsxux6sfQs3HRXR5bBn7xG5DjckEFhTAxsXi7k7cd0pCMxpJw==} + dependencies: + '@types/node': 16.18.39 + pg-protocol: 1.6.0 + pg-types: 4.0.1 + dev: true + /@types/phoenix@1.6.0: resolution: {integrity: sha512-qwfpsHmFuhAS/dVd4uBIraMxRd56vwBUYQGZ6GpXnFuM2XMRFJbIyruFKKlW2daQliuYZwe0qfn/UjFCDKic5g==} dev: true @@ -10456,14 +10488,15 @@ packages: dependencies: webpack-cli: 4.10.0(webpack@5.88.2) - /@whatwg-node/events@0.0.2: - resolution: {integrity: sha512-WKj/lI4QjnLuPrim0cfO7i+HsDSXHxNv1y0CrJhdntuO3hxWZmnXCwNDnwOvry11OjRin6cgWNF+j/9Pn8TN4w==} - dev: false - /@whatwg-node/events@0.0.3: resolution: {integrity: sha512-IqnKIDWfXBJkvy/k6tzskWTc2NK3LcqHlb+KHGCrjOCH4jfQckRX0NAiIcC/vIqQkzLYw2r2CTSwAxcrtcD6lA==} dev: true + /@whatwg-node/events@0.1.1: + resolution: {integrity: sha512-AyQEn5hIPV7Ze+xFoXVU3QTHXVbWPrzaOkxtENMPMuNL6VVHrp4hHfDt9nrQpjO7BgvuM95dMtkycX5M/DZR3w==} + engines: {node: '>=16.0.0'} + dev: false + /@whatwg-node/fetch@0.5.3: resolution: {integrity: sha512-cuAKL3Z7lrJJuUrfF1wxkQTb24Qd1QO/lsjJpM5ZSZZzUMms5TPnbGeGUKWA3hVKNHh30lVfr2MyRCT5Jfkucw==} dependencies: @@ -10504,6 +10537,14 @@ packages: web-streams-polyfill: 3.2.1 dev: true + /@whatwg-node/fetch@0.9.9: + resolution: {integrity: sha512-OTVoDm039CNyAWSRc2WBimMl/N9J4Fk2le21Xzcf+3OiWPNNSIbMnpWKBUyraPh2d9SAEgoBdQxTfVNihXgiUw==} + engines: {node: '>=16.0.0'} + dependencies: + '@whatwg-node/node-fetch': 0.4.13 + urlpattern-polyfill: 9.0.0 + dev: false + /@whatwg-node/node-fetch@0.3.6: resolution: {integrity: sha512-w9wKgDO4C95qnXZRwZTfCmLWqyRnooGjcIwG0wADWjw9/HN0p7dtvtgSvItZtUyNteEvgTrd8QojNEqV6DAGTA==} dependencies: @@ -10514,16 +10555,23 @@ packages: tslib: 2.6.1 dev: true - /@whatwg-node/server@0.4.17(@types/node@16.18.39): - resolution: {integrity: sha512-kq1AHyi87VWfiDqiSTAOY+py83HMJg42+fI8JAe1wjmMkJ8v/E5mKq5NpLNRM9Cnf7NHsQR0AwQgvX/RFuptaA==} - peerDependencies: - '@types/node': ^18.0.6 + /@whatwg-node/node-fetch@0.4.13: + resolution: {integrity: sha512-Wijn8jtXq6VBX6EttABXHJIQBcoOP6RRQllXbiaHGORACTDr1xg6g2UnkoggY3dbDkm1VsMjdSe7NVBPc4ukYg==} + engines: {node: '>=16.0.0'} dependencies: - '@types/node': 16.18.39 - '@whatwg-node/fetch': 0.5.3 + '@whatwg-node/events': 0.1.1 + busboy: 1.6.0 + fast-querystring: 1.1.2 + fast-url-parser: 1.1.3 + tslib: 2.6.1 + dev: false + + /@whatwg-node/server@0.9.11: + resolution: {integrity: sha512-G7OXKRqSeXsq9cDJubRfrLMvkxmIVm4CuZQTYSq5N/jr8apDo7HpEv+AYq2NN1jwoiYXhtVotcsAau+a+0J7bQ==} + engines: {node: '>=16.0.0'} + dependencies: + '@whatwg-node/fetch': 0.9.9 tslib: 2.6.1 - transitivePeerDependencies: - - encoding dev: false /@wry/context@0.7.3: @@ -14792,7 +14840,6 @@ packages: /fast-decode-uri-component@1.0.1: resolution: {integrity: sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg==} - dev: true /fast-deep-equal@3.1.3: resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} @@ -14834,7 +14881,6 @@ packages: resolution: {integrity: sha512-g6KuKWmFXc0fID8WWH0jit4g0AGBoJhCkJMb1RmbsSEUNvQ+ZC8D6CUZ+GtF8nMzSPXnhiePyyqqipzNNEnHjg==} dependencies: fast-decode-uri-component: 1.0.1 - dev: true /fast-redact@3.3.0: resolution: {integrity: sha512-6T5V1QK1u4oF+ATxs1lWUmlEk6P2T9HqJG3e2DnHOdVgZy2rFJBoEnrIedcTXlkAHU/zKC+7KETJ+KGGKwxgMQ==} @@ -14853,7 +14899,6 @@ packages: resolution: {integrity: sha512-5jOCVXADYNuRkKFzNJ0dCCewsZiYo0dz8QNYljkOpFC6r2U4OBmKtvm/Tsuh4w1YYdDqDb31a8TVhBJ2OJKdqQ==} dependencies: punycode: 1.4.1 - dev: true /fastest-levenshtein@1.0.16: resolution: {integrity: sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==} @@ -15706,22 +15751,22 @@ packages: /graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - /graphql-config@4.3.6(@types/node@16.18.39)(graphql@16.6.0)(typescript@5.1.6): + /graphql-config@4.3.6(@types/node@16.18.39)(graphql@16.8.0)(typescript@5.1.6): resolution: {integrity: sha512-i7mAPwc0LAZPnYu2bI8B6yXU5820Wy/ArvmOseDLZIu0OU1UTULEuexHo6ZcHXeT9NvGGaUPQZm8NV3z79YydA==} engines: {node: '>= 10.0.0'} peerDependencies: graphql: ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.6.0) - '@graphql-tools/json-file-loader': 7.4.18(graphql@16.6.0) - '@graphql-tools/load': 7.8.0(graphql@16.6.0) - '@graphql-tools/merge': 8.4.2(graphql@16.6.0) - '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.6.0) - '@graphql-tools/utils': 8.13.1(graphql@16.6.0) + '@graphql-tools/graphql-file-loader': 7.5.17(graphql@16.8.0) + '@graphql-tools/json-file-loader': 7.4.18(graphql@16.8.0) + '@graphql-tools/load': 7.8.0(graphql@16.8.0) + '@graphql-tools/merge': 8.4.2(graphql@16.8.0) + '@graphql-tools/url-loader': 7.17.18(@types/node@16.18.39)(graphql@16.8.0) + '@graphql-tools/utils': 8.13.1(graphql@16.8.0) cosmiconfig: 7.0.1 cosmiconfig-toml-loader: 1.0.0 cosmiconfig-typescript-loader: 4.1.1(@types/node@16.18.39)(cosmiconfig@7.0.1)(ts-node@10.8.2)(typescript@5.1.6) - graphql: 16.6.0 + graphql: 16.8.0 minimatch: 4.2.1 string-env-interpolation: 1.0.1 ts-node: 10.8.2(@types/node@16.18.39)(typescript@5.1.6) @@ -15736,70 +15781,68 @@ packages: - utf-8-validate dev: true - /graphql-request@6.1.0(graphql@16.6.0): + /graphql-request@6.1.0(graphql@16.8.0): resolution: {integrity: sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==} peerDependencies: graphql: 14 - 16 dependencies: - '@graphql-typed-document-node/core': 3.2.0(graphql@16.6.0) + '@graphql-typed-document-node/core': 3.2.0(graphql@16.8.0) cross-fetch: 3.1.8(encoding@0.1.13) - graphql: 16.6.0 + graphql: 16.8.0 transitivePeerDependencies: - encoding dev: true - /graphql-scalars@1.20.4(graphql@16.6.0): - resolution: {integrity: sha512-/hDzWcphV/aV4MEx2pqVMMekBLi9VXYD/HrJSclpOCLkSB/dE3Rb5VVZBXsQhgBxqeCsE7K0PEO2/cWAUzQsrQ==} + /graphql-scalars@1.22.2(graphql@16.8.0): + resolution: {integrity: sha512-my9FB4GtghqXqi/lWSVAOPiTzTnnEzdOXCsAC2bb5V7EFNQjVjwy3cSSbUvgYOtDuDibd+ZsCDhz+4eykYOlhQ==} engines: {node: '>=10'} peerDependencies: graphql: ^0.8.0 || ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - graphql: 16.6.0 - tslib: 2.5.3 + graphql: 16.8.0 + tslib: 2.6.1 dev: false - /graphql-tag@2.12.6(graphql@16.6.0): + /graphql-tag@2.12.6(graphql@16.8.0): resolution: {integrity: sha512-FdSNcu2QQcWnM2VNvSCCDCVS5PpPqpzgFT8+GXzqJuoDd0CBncxCY278u4mhRO7tMgo2JjgJA5aZ+nWSQ/Z+xg==} engines: {node: '>=10'} peerDependencies: graphql: ^0.9.0 || ^0.10.0 || ^0.11.0 || ^0.12.0 || ^0.13.0 || ^14.0.0 || ^15.0.0 || ^16.0.0 dependencies: - graphql: 16.6.0 + graphql: 16.8.0 tslib: 2.6.1 - /graphql-ws@5.12.1(graphql@16.6.0): + /graphql-ws@5.12.1(graphql@16.8.0): resolution: {integrity: sha512-umt4f5NnMK46ChM2coO36PTFhHouBrK9stWWBczERguwYrGnPNxJ9dimU6IyOBfOkC6Izhkg4H8+F51W/8CYDg==} engines: {node: '>=10'} peerDependencies: graphql: '>=0.11 <=16' dependencies: - graphql: 16.6.0 + graphql: 16.8.0 dev: true - /graphql-yoga@3.1.2(@types/node@16.18.39)(graphql@16.6.0): - resolution: {integrity: sha512-kn5VIH8f461xlMy4WZBBqS03e5Mre200juoHCMJoJhoAN/1Mu8MiLuGY2SBcEE/ROkF57QC63o2JjYTJ37L6zA==} + /graphql-yoga@4.0.4(graphql@16.8.0): + resolution: {integrity: sha512-MvCLhFecYNIKuxAZisPjpIL9lxRYbpgPSNKENDO/8CV3oiFlsLJHZb5dp2sVAeLafXHeZ9TgkijLthUBc1+Jag==} + engines: {node: '>=16.0.0'} peerDependencies: graphql: ^15.2.0 || ^16.0.0 dependencies: - '@envelop/core': 3.0.4 - '@envelop/parser-cache': 5.0.6(@envelop/core@3.0.4)(graphql@16.6.0) - '@envelop/validation-cache': 5.1.3(@envelop/core@3.0.4)(graphql@16.6.0) - '@graphql-tools/executor': 0.0.9(graphql@16.6.0) - '@graphql-tools/schema': 9.0.19(graphql@16.6.0) - '@graphql-tools/utils': 9.2.1(graphql@16.6.0) - '@graphql-yoga/subscription': 3.1.0 - '@whatwg-node/fetch': 0.5.3 - '@whatwg-node/server': 0.4.17(@types/node@16.18.39) + '@envelop/core': 4.0.0 + '@graphql-tools/executor': 1.2.0(graphql@16.8.0) + '@graphql-tools/schema': 10.0.0(graphql@16.8.0) + '@graphql-tools/utils': 10.0.5(graphql@16.8.0) + '@graphql-yoga/logger': 1.0.0 + '@graphql-yoga/subscription': 4.0.0 + '@whatwg-node/fetch': 0.9.9 + '@whatwg-node/server': 0.9.11 dset: 3.1.2 - graphql: 16.6.0 + graphql: 16.8.0 + lru-cache: 10.0.0 tslib: 2.6.1 - transitivePeerDependencies: - - '@types/node' - - encoding dev: false - /graphql@16.6.0: - resolution: {integrity: sha512-KPIBPDlW7NxrbT/eh4qPXz5FiFdL5UbaA0XUNz2Rp3Z3hqBSkbj0GVjwFDztsWVauZUWsbKHgMg++sk8UX0bkw==} + /graphql@16.8.0: + resolution: {integrity: sha512-0oKGaR+y3qcS5mCu1vb7KG+a89vjn06C7Ihq/dDl3jA+A8B3TKomvi3CiEcVLJQGalbu8F52LxkOym7U5sSfbg==} engines: {node: ^12.22.0 || ^14.16.0 || ^16.0.0 || >=17.0.0} /gtoken@6.1.2: @@ -15908,10 +15951,6 @@ packages: dependencies: function-bind: 1.1.1 - /hash-it@6.0.0: - resolution: {integrity: sha512-KHzmSFx1KwyMPw0kXeeUD752q/Kfbzhy6dAZrjXV9kAIXGqzGvv8vhkUqj+2MGZldTo0IBpw6v7iWE7uxsvH0w==} - dev: false - /hash-obj@4.0.0: resolution: {integrity: sha512-FwO1BUVWkyHasWDW4S8o0ssQXjvyghLV2rfVhnN36b2bbcj45eGiuzdn9XOvOpjV3TKQD7Gm2BWNXdE9V4KKYg==} engines: {node: '>=12'} @@ -20279,7 +20318,6 @@ packages: /obuf@1.1.2: resolution: {integrity: sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==} - dev: false /on-exit-leak-free@0.2.0: resolution: {integrity: sha512-dqaz3u44QbRXQooZLTUKU41ZrzYrcvLISVgbrzbyCMxpmSLJvZ3ZamIJIZ29P6OhZIkNIQKosdeM6t1LYbA9hg==} @@ -20771,6 +20809,11 @@ packages: engines: {node: '>=4.0.0'} dev: true + /pg-numeric@1.0.2: + resolution: {integrity: sha512-BM/Thnrw5jm2kKLE5uJkXqqExRUY/toLHda65XgFTBTFYZyopbKjBe29Ii3RbkvlsMoFwD+tHeGaCjjv0gHlyw==} + engines: {node: '>=4'} + dev: true + /pg-pool@3.6.1(pg@8.11.1): resolution: {integrity: sha512-jizsIzhkIitxCGfPRzJn1ZdcosIt3pz9Sh3V01fm1vZnbnCMgmGl5wvGGdNN2EL9Rmb0EcFoCkixH4Pu+sP9Og==} peerDependencies: @@ -20794,6 +20837,19 @@ packages: postgres-interval: 1.2.0 dev: true + /pg-types@4.0.1: + resolution: {integrity: sha512-hRCSDuLII9/LE3smys1hRHcu5QGcLs9ggT7I/TCs0IE+2Eesxi9+9RWAAwZ0yaGjxoWICF/YHLOEjydGujoJ+g==} + engines: {node: '>=10'} + dependencies: + pg-int8: 1.0.1 + pg-numeric: 1.0.2 + postgres-array: 3.0.2 + postgres-bytea: 3.0.0 + postgres-date: 2.0.1 + postgres-interval: 3.0.0 + postgres-range: 1.1.3 + dev: true + /pg@8.11.1: resolution: {integrity: sha512-utdq2obft07MxaDg0zBJI+l/M3mBRfIpEN3iSemsz0G5F2/VXx+XzqF4oxrbIZXQxt2AZzIUzyVg/YM6xOP/WQ==} engines: {node: '>= 8.0.0'} @@ -21744,16 +21800,33 @@ packages: engines: {node: '>=4'} dev: true + /postgres-array@3.0.2: + resolution: {integrity: sha512-6faShkdFugNQCLwucjPcY5ARoW1SlbnrZjmGl0IrrqewpvxvhSLHimCVzqeuULCbG0fQv7Dtk1yDbG3xv7Veog==} + engines: {node: '>=12'} + dev: true + /postgres-bytea@1.0.0: resolution: {integrity: sha512-xy3pmLuQqRBZBXDULy7KbaitYqLcmxigw14Q5sj8QBVLqEwXfeybIKVWiqAXTlcvdvb0+xkOtDbfQMOf4lST1w==} engines: {node: '>=0.10.0'} dev: true + /postgres-bytea@3.0.0: + resolution: {integrity: sha512-CNd4jim9RFPkObHSjVHlVrxoVQXz7quwNFpz7RY1okNNme49+sVyiTvTRobiLV548Hx/hb1BG+iE7h9493WzFw==} + engines: {node: '>= 6'} + dependencies: + obuf: 1.1.2 + dev: true + /postgres-date@1.0.7: resolution: {integrity: sha512-suDmjLVQg78nMK2UZ454hAG+OAW+HQPZ6n++TNDUX+L0+uUlLywnoxJKDou51Zm+zTCjrCl0Nq6J9C5hP9vK/Q==} engines: {node: '>=0.10.0'} dev: true + /postgres-date@2.0.1: + resolution: {integrity: sha512-YtMKdsDt5Ojv1wQRvUhnyDJNSr2dGIC96mQVKz7xufp07nfuFONzdaowrMHjlAzY6GDLd4f+LUHHAAM1h4MdUw==} + engines: {node: '>=12'} + dev: true + /postgres-interval@1.2.0: resolution: {integrity: sha512-9ZhXKM/rw350N1ovuWHbGxnGh/SNJ4cnxHiM0rxE4VN41wsg8P8zWn9hv/buK00RP4WvlOyr/RBDiptyxVbkZQ==} engines: {node: '>=0.10.0'} @@ -21761,6 +21834,15 @@ packages: xtend: 4.0.2 dev: true + /postgres-interval@3.0.0: + resolution: {integrity: sha512-BSNDnbyZCXSxgA+1f5UU2GmwhoI0aU5yMxRGO8CdFEcY2BQF9xm/7MqKnYoM1nJDk8nONNWDk9WeSmePFhQdlw==} + engines: {node: '>=12'} + dev: true + + /postgres-range@1.1.3: + resolution: {integrity: sha512-VdlZoocy5lCP0c/t66xAfclglEapXPCIVhqqJRncYpvbCgImF0w67aPKfbqUMr72tO2k5q0TdTZwCLjPTI6C9g==} + dev: true + /prelude-ls@1.1.2: resolution: {integrity: sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==} engines: {node: '>= 0.8.0'} @@ -21876,13 +21958,13 @@ packages: parse-ms: 3.0.0 dev: true - /prisma@4.16.2: - resolution: {integrity: sha512-SYCsBvDf0/7XSJyf2cHTLjLeTLVXYfqp7pG5eEVafFLeT0u/hLFz/9W196nDRGUOo1JfPatAEb+uEnTQImQC1g==} - engines: {node: '>=14.17'} + /prisma@5.1.1: + resolution: {integrity: sha512-WJFG/U7sMmcc6TjJTTifTfpI6Wjoh55xl4AzopVwAdyK68L9/ogNo8QQ2cxuUjJf/Wa82z/uhyh3wMzvRIBphg==} + engines: {node: '>=16.13'} hasBin: true requiresBuild: true dependencies: - '@prisma/engines': 4.16.2 + '@prisma/engines': 5.1.1 dev: false /prismjs@1.29.0: @@ -22040,7 +22122,6 @@ packages: /punycode@1.4.1: resolution: {integrity: sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==} - dev: true /punycode@2.3.0: resolution: {integrity: sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==} @@ -22513,6 +22594,20 @@ packages: react: 18.2.0 dev: false + /react-tweet@3.1.1(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-8GQLa5y0G56kvGQkN7OiaKkjFAhWYVdyFq62ioY2qVtpMrjchVU+3KnqneCyp0+BemOQZkg6WWp/qoCNeEMH6A==} + peerDependencies: + react: '>= 18.0.0' + react-dom: '>= 18.0.0' + dependencies: + '@swc/helpers': 0.5.1 + clsx: 1.2.1 + date-fns: 2.30.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + swr: 2.2.1(react@18.2.0) + dev: false + /react@18.2.0: resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} engines: {node: '>=0.10.0'} @@ -24387,6 +24482,16 @@ packages: webpack: 5.88.2(@swc/core@1.3.71)(esbuild@0.18.17) dev: true + /swr@2.2.1(react@18.2.0): + resolution: {integrity: sha512-KJVA7dGtOBeZ+2sycEuzUfVIP5lZ/cd0xjevv85n2YG0x1uHJQicjAtahVZL6xG3+TjqhbBqimwYzVo3saeVXQ==} + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + dependencies: + client-only: 0.0.1 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: false + /symbol-observable@4.0.0: resolution: {integrity: sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==} engines: {node: '>=0.10'} @@ -24924,15 +25029,12 @@ packages: /tslib@2.4.0: resolution: {integrity: sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==} + dev: true /tslib@2.4.1: resolution: {integrity: sha512-tGyy4dAjRIEwI7BzsB0lynWgOpfqjUdq91XXAlIWD2OwKBH7oCl/GZG/HT4BOHrTlPMOASlMQ7veyTqpmRcrNA==} dev: true - /tslib@2.5.3: - resolution: {integrity: sha512-mSxlJJwl3BMEQCUNnxXBU9jP4JBktcEGhURcPR6VQVlnP0FdDEsIaz0C35dXNGLyRfrATNofF0F5p2KPxQgB+w==} - dev: false - /tslib@2.6.1: resolution: {integrity: sha512-t0hLfiEKfMUoqhG+U1oid7Pva4bbDPHYfJNiB7BiIjRkj1pyC++4N3huJfqY6aRH6VTB0rvtzQwjM4K6qpfOig==} @@ -25440,6 +25542,10 @@ packages: resolution: {integrity: sha512-Qp95D4TPJl1kC9SKigDcqgyM2VDVO4RiJc2d4qe5GrYm+zbIQCWWKAFaJNQ4BhdFeDGwBmAxqJBwWSJDb9T3BQ==} dev: true + /urlpattern-polyfill@9.0.0: + resolution: {integrity: sha512-WHN8KDQblxd32odxeIgo83rdVDE2bvdkb86it7bMhYZwWKJz0+O0RK/eZiHYnM+zgt/U7hAHOlCQGfjjvSkw2g==} + dev: false + /use-resize-observer@9.1.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-R25VqO9Wb3asSD4eqtcxk8sJalvIOYBqS8MNZlpDSQ4l4xMQxC/J7Id9HoTqPq8FwULIn0PVW+OAqF2dyYbjow==} peerDependencies: diff --git a/common/config/rush/repo-state.json b/common/config/rush/repo-state.json index 7982855e04..6b8e8d31f7 100644 --- a/common/config/rush/repo-state.json +++ b/common/config/rush/repo-state.json @@ -1,5 +1,5 @@ // DO NOT MODIFY THIS FILE MANUALLY BUT DO COMMIT IT. It is generated and used by Rush. { - "pnpmShrinkwrapHash": "902dd9410361f1e4ab5a7a0f3a110aeb318ff6bf", + "pnpmShrinkwrapHash": "85e90f93731f85cd184c0955b33e8e836d614305", "preferredVersionsHash": "bf21a9e8fbc5a3846fb05b4fa0859e0917b2202f" } diff --git a/packages/apps/docs/next.config.mjs b/packages/apps/docs/next.config.mjs index 705f2edeea..3223709fbd 100644 --- a/packages/apps/docs/next.config.mjs +++ b/packages/apps/docs/next.config.mjs @@ -8,6 +8,7 @@ import remarkAdmonitions from './src/scripts/remarkAdmonitions.mjs'; import remarkCheckForCodeTitle from './src/scripts/remarkCheckForCodeTitle.mjs'; import remarkYoutube from './src/scripts/remarkYoutube.mjs'; import remarkFigureOutOfParagraph from './src/scripts/remarkFigureOutOfParagraph.mjs'; +import remarkTwitter from './src/scripts/remarkTwitter.mjs'; import remarkGfm from 'remark-gfm'; import mdx from '@next/mdx'; import { createVanillaExtractPlugin } from '@vanilla-extract/next-plugin'; @@ -76,6 +77,7 @@ const withMDX = mdx({ remarkPropsToStaticRender, remarkAdmonitions, remarkYoutube, + remarkTwitter, remarkCheckForCodeTitle, remarkFigureOutOfParagraph, ], @@ -89,7 +91,7 @@ const withMDX = mdx({ const nextConfig = { pageExtensions: ['ts', 'tsx', 'js', 'jsx', 'md', 'mdx'], reactStrictMode: true, - transpilePackages: ['@kadena/react-ui'], + transpilePackages: ['@kadena/react-ui', 'react-tweet'], images: { remotePatterns: [ { diff --git a/packages/apps/docs/package.json b/packages/apps/docs/package.json index d75d752d94..2f7ededf91 100644 --- a/packages/apps/docs/package.json +++ b/packages/apps/docs/package.json @@ -49,6 +49,7 @@ "react": "^18.2.0", "react-dom": "^18.2.0", "react-markdown": "~8.0.7", + "react-tweet": "~3.1.1", "redoc": "~2.0.0", "rehype-pretty-code": "~0.9.5", "remark": "~14.0.3", diff --git a/packages/apps/docs/src/components/Layout/Blog/Blog.tsx b/packages/apps/docs/src/components/Layout/Blog/Blog.tsx index de3cc3bad6..32a407c16a 100644 --- a/packages/apps/docs/src/components/Layout/Blog/Blog.tsx +++ b/packages/apps/docs/src/components/Layout/Blog/Blog.tsx @@ -1,6 +1,11 @@ import { Grid, Stack } from '@kadena/react-ui'; -import { Article, Content, TitleHeader } from '../components'; +import { + articleClass, + contentClass, + contentClassVariants, + TitleHeader, +} from '../components'; import { Template } from '../components/Template'; import { articleTopMetadataClass, bottomWrapperClass } from './Blog.css'; @@ -8,6 +13,7 @@ import { ArticleMetadataItem, PageGrid } from './styles'; import { IPageProps } from '@/types/Layout'; import { formatDateDistance } from '@/utils/dates'; +import classNames from 'classnames'; import React, { FC } from 'react'; export const Blog: FC = ({ @@ -19,6 +25,11 @@ export const Blog: FC = ({ const readingTimeLabel = readingTimeInMinutes && readingTimeInMinutes > 1 ? 'minutes' : 'minute'; + const contentClassNames = classNames( + contentClass, + contentClassVariants[frontmatter.layout] ?? '', + ); + return ( ); diff --git a/packages/apps/docs/src/components/Layout/Full/Full.tsx b/packages/apps/docs/src/components/Layout/Full/Full.tsx index b1a9c83622..a72b1d2ace 100644 --- a/packages/apps/docs/src/components/Layout/Full/Full.tsx +++ b/packages/apps/docs/src/components/Layout/Full/Full.tsx @@ -1,6 +1,10 @@ import { Heading } from '@kadena/react-ui'; -import { Article, Content } from '../components'; +import { + articleClass, + contentClass, + contentClassVariants, +} from '../components'; import { Template } from '../components/Template'; import { @@ -18,6 +22,7 @@ import { Breadcrumbs } from '@/components/Breadcrumbs'; import { LastModifiedDate } from '@/components/LastModifiedDate'; import { IPageProps } from '@/types/Layout'; import { createSlug } from '@/utils'; +import classNames from 'classnames'; import { useRouter } from 'next/router'; import React, { FC, useEffect, useRef, useState } from 'react'; @@ -31,6 +36,10 @@ export const Full: FC = ({ const router = useRouter(); const menuRef = useRef(null); const [activeItem, setActiveItem] = useState(''); + const contentClassNames = classNames( + contentClass, + contentClassVariants[frontmatter.layout] ?? '', + ); const updateEntry = ([entry]: IntersectionObserverEntry[]): void => { const { isIntersecting } = entry; @@ -71,8 +80,8 @@ export const Full: FC = ({ return ( ); diff --git a/packages/apps/docs/src/components/Layout/Redocly/Redocly.tsx b/packages/apps/docs/src/components/Layout/Redocly/Redocly.tsx index d4989e4267..4fd1d81242 100644 --- a/packages/apps/docs/src/components/Layout/Redocly/Redocly.tsx +++ b/packages/apps/docs/src/components/Layout/Redocly/Redocly.tsx @@ -1,4 +1,8 @@ -import { Article, Content } from '../components'; +import { + articleClass, + contentClass, + contentClassVariants, +} from '../components'; import { Template } from '../components/Template'; import { CodeBackground, PageGrid } from './styles'; @@ -7,6 +11,7 @@ import { BottomPageSection } from '@/components/BottomPageSection'; import { Breadcrumbs } from '@/components/Breadcrumbs'; import { LastModifiedDate } from '@/components/LastModifiedDate'; import { IPageProps } from '@/types/Layout'; +import classNames from 'classnames'; import React, { FC } from 'react'; import { RedocRawOptions } from 'redoc'; @@ -50,8 +55,11 @@ export const Redocly: FC = ({ return ( diff --git a/packages/apps/docs/src/components/Layout/components/articleStyles.css.ts b/packages/apps/docs/src/components/Layout/components/articleStyles.css.ts new file mode 100644 index 0000000000..1b49b6ef6f --- /dev/null +++ b/packages/apps/docs/src/components/Layout/components/articleStyles.css.ts @@ -0,0 +1,64 @@ +import { breakpoints, sprinkles } from '@kadena/react-ui/theme'; + +import { LayoutType } from '@/types/Layout'; +import { style, styleVariants } from '@vanilla-extract/css'; + +export const articleClass = style([ + sprinkles({ + width: '100%', + paddingY: 0, + paddingX: '$10', + backgroundColor: 'transparent', + }), +]); + +export const contentClass = style([ + sprinkles({ + display: 'flex', + position: 'relative', + paddingTop: '$10', + paddingX: 0, + paddingBottom: '$35', + overflow: 'hidden', + width: '100%', + height: '100%', + }), + { + gridColumn: '1 / span 2', + gridRow: '3 / span 1', + '@media': { + [`screen and ${breakpoints.md}`]: { + gridColumn: '3 / span 1', + gridRow: '3 / span 1', + }, + }, + }, +]); + +export const contentClassVariants: Record = styleVariants({ + home: { + '@media': { + [`screen and ${breakpoints.md}`]: { + gridColumn: '2 / span 3', + }, + }, + }, + code: { + '@media': { + [`screen and ${breakpoints.md}`]: { + gridColumn: '3 / span 1', + }, + }, + }, + landing: { + gridColumn: '1 / span 1', + '@media': { + [`screen and ${breakpoints.md}`]: { + gridColumn: '3 / span 1', + }, + }, + }, + full: {}, + blog: {}, + redocly: {}, +}); diff --git a/packages/apps/docs/src/components/Layout/components/index.ts b/packages/apps/docs/src/components/Layout/components/index.ts index 6522536ff7..fe28c580ba 100644 --- a/packages/apps/docs/src/components/Layout/components/index.ts +++ b/packages/apps/docs/src/components/Layout/components/index.ts @@ -4,3 +4,4 @@ export * from './DocsLogo'; export * from './styles'; export * from './ArticleStyles'; export * from './TitleHeader'; +export * from './articleStyles.css'; diff --git a/packages/apps/docs/src/components/Markdown/Tweet/Tweet.tsx b/packages/apps/docs/src/components/Markdown/Tweet/Tweet.tsx new file mode 100644 index 0000000000..24a2c0a4a8 --- /dev/null +++ b/packages/apps/docs/src/components/Markdown/Tweet/Tweet.tsx @@ -0,0 +1,10 @@ +import React, { FC } from 'react'; +import { Tweet as ReactTweet } from 'react-tweet'; + +interface IProps { + tweetId: string; +} + +export const Tweet: FC = ({ tweetId }) => { + return ; +}; diff --git a/packages/apps/docs/src/components/Markdown/Tweet/index.ts b/packages/apps/docs/src/components/Markdown/Tweet/index.ts new file mode 100644 index 0000000000..04666c17f6 --- /dev/null +++ b/packages/apps/docs/src/components/Markdown/Tweet/index.ts @@ -0,0 +1 @@ +export { Tweet } from './Tweet'; diff --git a/packages/apps/docs/src/components/Markdown/index.ts b/packages/apps/docs/src/components/Markdown/index.ts index 85dcd141dd..d4385b2712 100644 --- a/packages/apps/docs/src/components/Markdown/index.ts +++ b/packages/apps/docs/src/components/Markdown/index.ts @@ -9,6 +9,7 @@ import { Link } from './Link'; import { MDNotification } from './MDNotification'; import { Paragraph } from './Paragraph'; import { Table } from './Table'; +import { Tweet } from './Tweet'; import { UnorderedList } from './UnorderedList'; import { Youtube } from './Youtube'; @@ -21,6 +22,10 @@ export type ExtendedIntrinsicElements = JSX.IntrinsicElements & { React.HTMLAttributes, HTMLDivElement >; + 'kda-tweet': React.DetailedHTMLProps< + React.HTMLAttributes, + HTMLDivElement + >; }; // eslint-disable-next-line @rushstack/no-new-null @@ -61,5 +66,8 @@ export const markDownComponents: MDXComponents = { 'kda-youtube': Youtube as FunctionComponent< ExtendedIntrinsicElements['kda-youtube'] >, + 'kda-tweet': Tweet as FunctionComponent< + ExtendedIntrinsicElements['kda-tweet'] + >, a: Link as FunctionComponent, }; diff --git a/packages/apps/docs/src/components/SearchModal/SearchModal.tsx b/packages/apps/docs/src/components/SearchModal/SearchModal.tsx index 4c77073c0b..01e7121060 100644 --- a/packages/apps/docs/src/components/SearchModal/SearchModal.tsx +++ b/packages/apps/docs/src/components/SearchModal/SearchModal.tsx @@ -3,7 +3,7 @@ import { Box, SystemIcon, Text, TextField } from '@kadena/react-ui'; import { Search } from '../Search/'; import { searchFormClass } from '../Search/styles.css'; -import { Wrapper } from './styles'; +import { wrapperClass } from './styles.css'; import React, { FC, FormEvent, useEffect, useRef, useState } from 'react'; @@ -36,7 +36,7 @@ export const SearchModal: FC = () => { return ( <> - +
Search the classic way, or just ask a question
@@ -55,7 +55,7 @@ export const SearchModal: FC = () => { - +
); }; diff --git a/packages/apps/docs/src/components/SearchModal/styles.css.ts b/packages/apps/docs/src/components/SearchModal/styles.css.ts new file mode 100644 index 0000000000..9514bf647e --- /dev/null +++ b/packages/apps/docs/src/components/SearchModal/styles.css.ts @@ -0,0 +1,12 @@ +import { sprinkles } from '@kadena/react-ui/theme'; + +import { style } from '@vanilla-extract/css'; + +export const wrapperClass = style([ + sprinkles({ + width: '100%', + }), + { + minHeight: '60vh', + }, +]); diff --git a/packages/apps/docs/src/components/SearchModal/styles.ts b/packages/apps/docs/src/components/SearchModal/styles.ts deleted file mode 100644 index 76b2a5c186..0000000000 --- a/packages/apps/docs/src/components/SearchModal/styles.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { styled, StyledComponent } from '@kadena/react-components'; - -export const Wrapper: StyledComponent<'div'> = styled('div', { - width: '100%', - minHeight: '60vh', -}); diff --git a/packages/apps/docs/src/pages/docs/blogchain/index.tsx b/packages/apps/docs/src/pages/docs/blogchain/index.tsx index 00c25c4947..2d46aaaf78 100644 --- a/packages/apps/docs/src/pages/docs/blogchain/index.tsx +++ b/packages/apps/docs/src/pages/docs/blogchain/index.tsx @@ -2,7 +2,14 @@ import { Stack } from '@kadena/react-ui'; import { InfiniteScroll } from '@/components'; import { BlogItem, BlogList } from '@/components/Blog'; -import { Article, Content, TitleHeader } from '@/components/Layout/components'; +import { + Article, + articleClass, + Content, + contentClass, + contentClassVariants, + TitleHeader, +} from '@/components/Layout/components'; import { useGetBlogs } from '@/hooks'; import { getInitBlogPosts } from '@/hooks/useBlog/utils'; import { IMenuData, IPageProps } from '@/types/Layout'; @@ -11,6 +18,7 @@ import { getPathName, } from '@/utils/staticGeneration/checkSubTreeForActive.mjs'; import { getData } from '@/utils/staticGeneration/getData.mjs'; +import classNames from 'classnames'; import { GetStaticProps } from 'next'; import React, { FC } from 'react'; @@ -40,8 +48,11 @@ const BlogChainHome: FC = ({ frontmatter, posts }) => { subTitle={frontmatter.subTitle} icon={frontmatter.icon} /> - -
+
+
{firstPost && ( @@ -63,8 +74,8 @@ const BlogChainHome: FC = ({ frontmatter, posts }) => { /> -
- +
+ ); }; diff --git a/packages/apps/docs/src/pages/docs/kadena/wallets/index.mdx b/packages/apps/docs/src/pages/docs/kadena/wallets/index.mdx index 799df65235..33efc0dbf6 100644 --- a/packages/apps/docs/src/pages/docs/kadena/wallets/index.mdx +++ b/packages/apps/docs/src/pages/docs/kadena/wallets/index.mdx @@ -69,3 +69,15 @@ more. [Android](https://play.google.com/store/apps/details?id=com.xwallet.mobile) [iOS](https://apps.apple.com/us/app/x-wallet-by-kaddex/id1632056372) + +## Hardware Wallets + +### Ledger + +In the ever-evolving landscape of digital assets, safeguarding your investments +has never been more crucial. Designed with cutting-edge technology and fortified +with multi-layered security features, the Ledger Hardwallet stands as a +formidable fortress for your cryptocurrencies. With its sleek and compact +design, this hardware wallet offers a seamless user experience, empowering you +with complete control over your digital wealth while keeping it safe from online +threats. diff --git a/packages/apps/docs/src/pages/docs/kadena/wallets/ledger/index.mdx b/packages/apps/docs/src/pages/docs/kadena/wallets/ledger/index.mdx new file mode 100644 index 0000000000..0023206663 --- /dev/null +++ b/packages/apps/docs/src/pages/docs/kadena/wallets/ledger/index.mdx @@ -0,0 +1,79 @@ +--- +title: Ledger User Guide +description: Ledger User Guide +menu: Ledger +label: Ledger User Guide +order: 3 +layout: full +--- + +# Ledger User Guide + +--- + +## Short Introduction + +- In this doc you will learn how to install the Kadena App, connect to the + Kadena Transfer Tool, view token balances, send tokens, and receive tokens + using your Ledger Device. + +Before You Start, Make Sure: + +- You’ve + [initialized](https://support.ledgerwallet.com/hc/en-us/articles/360000613793) + your Ledger device. +- The latest + [Nano firmware](https://support.ledgerwallet.com/hc/en-us/articles/360002731113) + is installed. +- Ledger Live is + [ready to use](https://support.ledger.com/hc/en-us/articles/4404389606417-Download-and-install-Ledger-Live). +- The latest version of the + [Kadena Ledger app](https://github.com/ledgerhq/app-kadena) is installed. + +### Installing the Kadena App + +- Open the My Ledger in Ledger Live. +- Connect and unlock your Ledger device. +- If asked, follow the onscreen instructions and “Allow My Ledger". +- Find the Kadena app from the My Ledger catalog. +- Click the Install button. + - An installation window will appear. + - Your device will display Processing... + - The app installation is confirmed. +- Close Ledger Live + +### Connecting to the Kadena Transfer Tool + +- Connect and unlock your Ledger device. +- Open the Kadena App on your Ledger device. +- Open the [Kadena Transfer Tool](https://transfer.chainweb.com/) in a browser + and select “Transfer with Ledger”. +- Select “Show Ledger Account Name” to confirm that the Ledger Nano app is + communicating with the Transfer Tool web app. + +### Viewing Token Balances + +- Verify the account name provided by the Transfer Tool app by selecting + “Verify” in the web app and following the prompts shown on the Ledger device. +- Using any of the + [officially recognized wallets](https://docs.kadena.io/basics/wallets), select + “Watch Account” and enter the account name verified in the Transfer Tool. +- This will add the Ledger device controlled account to your account list so the + balance on each chain can be seen. + +### Sending Tokens + +- Verify the account name provided by the Transfer Tool by selecting “Verify” in + the web app and following the prompts shown on the Ledger device. +- Enter the transaction details and select “Sign with Ledger and Transfer” +- Transactions generated in the transfer tool must be signed using the Ledger + device buttons. +- The Ledger app provides a series of prompts which can be used to verify the + transaction details prior to signing or rejecting. + +### Receiving Tokens + +- Verify the account name provided by the Transfer Tool by selecting “Verify” in + the web app and following the prompts shown on the Ledger device. +- The provided account name may be used throughout the Kadena ecosystem as a + token transfer destination. diff --git a/packages/apps/docs/src/pages/index.tsx b/packages/apps/docs/src/pages/index.tsx index 15e173c161..7f188fb1e2 100644 --- a/packages/apps/docs/src/pages/index.tsx +++ b/packages/apps/docs/src/pages/index.tsx @@ -3,7 +3,11 @@ import { Box, Heading, Stack } from '@kadena/react-ui'; import { browseSectionWrapper } from '../styles/index.css'; import { BrowseSection } from '@/components'; -import { Article, Content } from '@/components/Layout/components'; +import { + articleClass, + contentClass, + contentClassVariants, +} from '@/components/Layout/components'; import { HomeHeader } from '@/components/Layout/Landing/components'; import { IMostPopularPage } from '@/types/MostPopularData'; import getMostPopularPages from '@/utils/getMostPopularPages'; @@ -11,6 +15,7 @@ import { checkSubTreeForActive, getPathName, } from '@/utils/staticGeneration/checkSubTreeForActive.mjs'; +import classNames from 'classnames'; import { GetStaticProps } from 'next'; import Link from 'next/link'; import React, { FC } from 'react'; @@ -23,8 +28,11 @@ const Home: FC = ({ popularPages }) => { return ( <> - -
+
+
@@ -110,8 +118,8 @@ const Home: FC = ({ popularPages }) => { /> -
- +
+ ); }; diff --git a/packages/apps/docs/src/pages/search/index.tsx b/packages/apps/docs/src/pages/search/index.tsx index 6c1a63017c..2506851bc4 100644 --- a/packages/apps/docs/src/pages/search/index.tsx +++ b/packages/apps/docs/src/pages/search/index.tsx @@ -1,13 +1,18 @@ import { SystemIcon, TextField } from '@kadena/react-ui'; import { Search } from '@/components'; -import { Article, Content } from '@/components/Layout/components'; +import { + articleClass, + contentClass, + contentClassVariants, +} from '@/components/Layout/components'; import { SearchHeader } from '@/components/Layout/Landing/components'; import { searchFormClass } from '@/components/Search/styles.css'; import { checkSubTreeForActive, getPathName, } from '@/utils/staticGeneration/checkSubTreeForActive.mjs'; +import classNames from 'classnames'; import { GetStaticProps } from 'next'; import { useRouter } from 'next/router'; import React, { FC, FormEvent, useEffect, useRef, useState } from 'react'; @@ -55,11 +60,14 @@ const SearchPage: FC = () => { /> - -
+
+
-
- +
+ ); }; diff --git a/packages/apps/docs/src/scripts/remarkTwitter.mjs b/packages/apps/docs/src/scripts/remarkTwitter.mjs new file mode 100644 index 0000000000..b8030a320a --- /dev/null +++ b/packages/apps/docs/src/scripts/remarkTwitter.mjs @@ -0,0 +1,56 @@ +/** + * This replace a twitter posts link to twitter embed post + * @param {*} tree + * @returns + */ + +const getTwitterStatusId = (url) => { + if (!url) return; + + const twitterRegExp = + /^(https?:\/\/)?(www\.)?(twitter\.com)\/(.*\/status\/)?([0-9]*)/; + + const match = url.match(twitterRegExp); + + if (match?.length > 0 && match[5]) { + return match[5]; + } + + return; +}; + +const remarkTwitter = () => { + return async (tree) => { + const children = tree.children.map((node) => { + if (node.children && node.children[0]) { + const leaf = node.children[0] ?? null; + + const twitterStatusId = getTwitterStatusId(leaf?.url); + + if (twitterStatusId) { + const newNode = { + ...leaf, + ...node, + type: 'element', + value: leaf.url, + data: { + hName: 'kda-tweet', + hProperties: { + tweetId: twitterStatusId, + }, + }, + }; + + delete newNode.children; + return newNode; + } + } + return node; + }); + + tree.children = children; + return tree; + }; +}; + +export { remarkTwitter as default }; diff --git a/packages/apps/graph-client/package.json b/packages/apps/graph-client/package.json index c5e164341f..49ce2158c3 100644 --- a/packages/apps/graph-client/package.json +++ b/packages/apps/graph-client/package.json @@ -4,7 +4,8 @@ "private": true, "scripts": { "build": "rushx postinstall && next build", - "dev": "concurrently --kill-others \"npm:next:dev\" \"npm:start:graph\" \"sleep 3; rushx generate:sdk -w\"", + "dev:all": "concurrently --kill-others \"npm:next:dev\" \"npm:start:graph\" \"sleep 3; rushx generate:sdk -w\"", + "dev": "concurrently --kill-others \"npm:next:dev\" \"sleep 3; rushx generate:sdk -w\"", "format": "npm run format:md && npm run format:src", "format:ci": "prettier config src --check", "format:md": "remark README.md -o --use @kadena-dev/markdown", @@ -26,7 +27,7 @@ "@types/react": "^18.2.15", "@types/react-dom": "18.2.7", "eslint": "^8.45.0", - "graphql": "~16.6.0", + "graphql": "~16.8.0", "lodash.isequal": "~4.5.0", "next": "13.4.5", "react": "^18.2.0", diff --git a/packages/apps/graph-client/src/components/chainweb/chain-block/chain-block.tsx b/packages/apps/graph-client/src/components/chainweb/chain-block/chain-block.tsx index 7836f3bfd9..bca9233092 100644 --- a/packages/apps/graph-client/src/components/chainweb/chain-block/chain-block.tsx +++ b/packages/apps/graph-client/src/components/chainweb/chain-block/chain-block.tsx @@ -38,12 +38,12 @@ export const ChainBlock = (props: IChainBlockProps): JSX.Element => { > - {block.transactions.totalCount > 0 && ( + {/* {block.transactions.totalCount > 0 && ( <> {block.transactions.totalCount} txs - )} + )} */}
) : null} diff --git a/packages/apps/graph-client/src/graphql/queries.graph.ts b/packages/apps/graph-client/src/graphql/queries.graph.ts index e725540311..677664a337 100644 --- a/packages/apps/graph-client/src/graphql/queries.graph.ts +++ b/packages/apps/graph-client/src/graphql/queries.graph.ts @@ -17,15 +17,15 @@ export const CORE_BLOCK_FIELDS: DocumentNode = gql` # predicate # target # weight - transactions { - totalCount - edges { - node { - id - reqKey - } - } - } + # transactions { + # totalCount + # edges { + # node { + # id + # reqKey + # } + # } + # } } `; diff --git a/packages/apps/graph-client/src/pages/index.tsx b/packages/apps/graph-client/src/pages/index.tsx index 48cb11a40f..c937a84147 100644 --- a/packages/apps/graph-client/src/pages/index.tsx +++ b/packages/apps/graph-client/src/pages/index.tsx @@ -20,7 +20,7 @@ const StyledMain = styled('main', { my: '5rem', }); -export default function Home(): JSX.Element { +const Home: React.FC = () => { const { loading: loadingNewBlocks, data: newBlocks } = useGetBlocksSubscription(); const { loading: loadingRecentBlocks, data: recentBlocks } = @@ -75,4 +75,6 @@ export default function Home(): JSX.Element { ); -} +}; + +export default Home; diff --git a/packages/apps/graph-client/src/utils/hooks/use-parsed-blocks.ts b/packages/apps/graph-client/src/utils/hooks/use-parsed-blocks.ts index 83526381d8..00a5495565 100644 --- a/packages/apps/graph-client/src/utils/hooks/use-parsed-blocks.ts +++ b/packages/apps/graph-client/src/utils/hooks/use-parsed-blocks.ts @@ -5,7 +5,9 @@ import { useCallback, useState } from 'react'; export interface IBlock extends Pick< NonNullable[number], - 'transactions' | 'creationtime' | 'height' | 'chainid' + // TODO: fix transactions from graphql + // 'transactions' | + 'creationtime' | 'height' | 'chainid' > {} interface IUseParseBlocksReturn { allBlocks: Record; diff --git a/packages/apps/graph/.env.example b/packages/apps/graph/.env.example index a13970242f..40672848dd 100644 --- a/packages/apps/graph/.env.example +++ b/packages/apps/graph/.env.example @@ -5,6 +5,8 @@ # See the documentation for all the connection string options: https://pris.ly/d/connection-strings CHAIN_COUNT=20 -DATABASE_URL="postgresql://albert@localhost:5432/chainweb-data" +DATABASE_URL="postgresql://devnet@localhost:5432/devnet" + +# Embedded postgres, you'll need to set the DATABASE_URL to the same value as EMBEDDED_DATABASE_URL USE_EMBEDDED_POSTGRES=true EMBEDDED_DATABASE_URL="postgresql://graphuser:graphpassword@localhost:55432/chainweb-data" diff --git a/packages/apps/graph/README.md b/packages/apps/graph/README.md new file mode 100644 index 0000000000..5a69a04a71 --- /dev/null +++ b/packages/apps/graph/README.md @@ -0,0 +1,123 @@ + + +# @kadena/graph + +GraphQL project, available for running your own GraphQL endpoint. This project +uses chainweb-data as datasource + + + + kadena.js logo + + + + +## Kadena GraphQL + +A GraphQL endpoint that interacts with chainweb-data. + +# Getting started + +First, install dependencies and build up to and including @kadena/graph + +```sh +rush install -t @kadena/graph +rush build -t @kadena/graph +``` + +> **NOTE** you need Docker (or an alternative, e.g. +> [podman](https://podman.io/docs/installation)) to be installed + +You can run this project without running the devnet (that includes +chainweb-data) by using the embedded postgres server. + +1. copy the `.env.example` to `.env` + + ```sh + cp .env.example .env + ``` + +2. choose between **embedded postgres** or **devnet** + + 1. **embedded postgres**: if you don't want to setup devnet, stop here. + 2. **devnet**: if you want to use devnet, with chainweb-node, -miner and + -data change `.env` + + ```sh + USE_EMBEDDED_POSTGRES=false + ``` + +3. Start devnet: + + ```sh + docker run -it -p 8080:8080 -p 5432:5432 -p 9999:9999 -v $HOME/.devnet/l1:/root/.devenv enof/devnet:l2-latest-arm64 + ``` + + In case you want to get the latest image, you can force docker to pull the + image: add `--pull always` after `docker run` + + If something goes wrong, you can delete the mounted directory, and try to + start again: + + ```sh + rm -rf ~/.devnet/l1 + ``` + + > **Windows alternative** + > replace `$HOME` with `%HomeDrive%%HomePath%` + > if you get an error try not mounting the volume by removing the part + > `-v ` + +4. Execute custom migrations + Wait for the processes to start and "chainweb-node" and "postgres" to be + "Ready" + + ```sh + rushx migrate-database + ``` + +5. Add env var to `.env` and modify "USE_EMBEDDED_POSTGRES" + + ``` + DATABASE_URL="postgresql://devnet@localhost:5432/devnet" + USE_EMBEDDED_POSTGRES=false + ``` + +6. Start the project + + ``` + rushx start + ``` + +7. Go to localhost:4000/graphql and execute this query to see if everything + works + + ```gql + subscription { + newBlocks { + chainid + hash + height + } + } + ``` + +## Useful commands + +### Connect to the database + +You need to have `psql` installed +([How to Install psql on Mac, Ubuntu, Debian, Windows](https://www.timescale.com/blog/how-to-install-psql-on-mac-ubuntu-debian-windows/)) + +```sh +psql -h localhost -U devnet +``` + +### Fund an account using the faucet + +```sh +docker run --rm -it --add-host=devnet:host-gateway enof/devnet:l2-latest --task=fund +``` + +> **Windows alternative** +> replace `$(pwd)` with `%cd%` diff --git a/packages/apps/graph/etc/graph.api.md b/packages/apps/graph/etc/graph.api.md new file mode 100644 index 0000000000..105cd768a2 --- /dev/null +++ b/packages/apps/graph/etc/graph.api.md @@ -0,0 +1,9 @@ +## API Report File for "@kadena/graph" + +> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/). + +```ts + +// (No @packageDocumentation comment for this package) + +``` diff --git a/packages/apps/graph/package.json b/packages/apps/graph/package.json index e2bda6f261..f66fa7e114 100644 --- a/packages/apps/graph/package.json +++ b/packages/apps/graph/package.json @@ -7,29 +7,31 @@ "author": "", "main": "index.js", "scripts": { - "build": "", + "build": "rushx prisma:generate && heft build --clean", "format": "npm run format:src", "format:ci": "prettier config src --check", "format:src": "prettier config src --write", "lint": "eslint package.json src --ext .js,.ts --fix", "prisma:generate": "prisma generate", "prisma:pull": "prisma db pull", + "prisma:studio": "prisma studio", + "migrate-database": "ts-node -T src/utils/update-block-table.ts", "start": "npm run prisma:generate && npx ts-node-dev --respawn --no-notify --exit-child src/index.ts", "test": "echo \"no test specified\"" }, "dependencies": { - "@pothos/core": "~3.24.0", - "@pothos/plugin-prisma": "~3.39.0", - "@pothos/plugin-relay": "~3.32.0", - "@prisma/client": "^4.7.1", + "@pothos/core": "~3.33.0", + "@pothos/plugin-prisma": "~3.57.0", + "@pothos/plugin-relay": "~3.43.1", + "@prisma/client": "^5.1.1", "debug": "~4.3.4", "dotenv": "~16.0.3", "eslint": "^8.45.0", - "graphql": "~16.6.0", - "graphql-scalars": "~1.20.1", - "graphql-yoga": "~3.1.1", + "graphql": "~16.8.0", + "graphql-scalars": "~1.22.2", + "graphql-yoga": "~4.0.4", "json-bigint-patch": "~0.0.8", - "prisma": "^4.7.1" + "prisma": "^5.1.1" }, "devDependencies": { "@kadena-dev/eslint-config": "workspace:*", @@ -41,6 +43,7 @@ "@types/heft-jest": "~1.0.3", "@types/node": "^16.0.0", "embedded-postgres": "~15.1.0-beta.6", - "prettier": "~3.0.0" + "prettier": "~3.0.0", + "@types/pg": "~8.10.2" } } diff --git a/packages/apps/graph/prisma/schema.prisma b/packages/apps/graph/prisma/schema.prisma index f35f212b71..802680ca60 100644 --- a/packages/apps/graph/prisma/schema.prisma +++ b/packages/apps/graph/prisma/schema.prisma @@ -32,6 +32,7 @@ model Block { transactions Transaction[] transfers Transfer[] + @@index([height(sort: Desc), chainid]) @@map("blocks") } diff --git a/packages/apps/graph/src/services/BlocksService/lastBlock/BlocksService.ts b/packages/apps/graph/src/services/BlocksService/lastBlock/BlocksService.ts index 1d39323859..b23e9b31e5 100644 --- a/packages/apps/graph/src/services/BlocksService/lastBlock/BlocksService.ts +++ b/packages/apps/graph/src/services/BlocksService/lastBlock/BlocksService.ts @@ -6,21 +6,19 @@ const log: debug.Debugger = debug('graph:blocks'); const performanceLog: debug.Debugger = debug('performance'); class BlocksService { private _lastBlocks: Block[] = []; - private _prisma: PrismaClient< - Prisma.PrismaClientOptions, - never, - Prisma.RejectOnNotFound | Prisma.RejectPerOperation | undefined - >; + private _prisma: PrismaClient; private _interval: NodeJS.Timer | undefined; public pubsub: PubSub<{ NEW_BLOCKS: [NEW_BLOCKS: Block[]] }>; private _i: number = 0; + private _mocks: Block[]; public constructor( pubsub: PubSub<{ NEW_BLOCKS: [NEW_BLOCKS: Block[]] }>, // eslint-disable-next-line @typescript-eslint/no-parameter-properties - private _mocks?: Block[], + mocks?: Block[], ) { this._prisma = new PrismaClient(); + this._mocks = mocks || []; this.pubsub = pubsub; this.start(); } @@ -42,7 +40,7 @@ class BlocksService { public async getLatestBlocks(): Promise { log('getLatestBlocks'); - if (this._mocks) { + if (this._mocks.length > 0) { if (this._i % 10 === 0) { console.log('publish 2 block'); this.pubsub.publish('NEW_BLOCKS', [ @@ -62,7 +60,8 @@ class BlocksService { this._lastBlocks = await this._prisma.block.findMany({ orderBy: { id: 'desc' }, include: { - transactions: true, + // TODO: fix transactions + // transactions: true, }, }); this.pubsub.publish('NEW_BLOCKS', this._lastBlocks); @@ -73,7 +72,8 @@ class BlocksService { where: { id: { gt: this._lastBlocks[0].id } }, orderBy: { id: 'desc' }, include: { - transactions: true, + // TODO: fix transactions + // transactions: true, }, }); diff --git a/packages/apps/graph/src/services/BlocksService/lastBlock/mocks/blocks.mock.ts b/packages/apps/graph/src/services/BlocksService/lastBlock/mocks/blocks.mock.ts index 8f1e04dc11..bbdf163714 100644 --- a/packages/apps/graph/src/services/BlocksService/lastBlock/mocks/blocks.mock.ts +++ b/packages/apps/graph/src/services/BlocksService/lastBlock/mocks/blocks.mock.ts @@ -1,5 +1,6 @@ -/* eslint-disable-next-line max-lines */ -import { Decimal } from '@prisma/client/runtime'; +/* eslint-disable @kadena-dev/no-eslint-disable */ +/* eslint-disable max-lines */ +import { Decimal } from '@prisma/client/runtime/library'; // eslint-disable-next-line @rushstack/typedef-var const blocks = [ diff --git a/packages/apps/graph/src/utils/dev-database/startEmbeddedPostgres.ts b/packages/apps/graph/src/utils/dev-database/startEmbeddedPostgres.ts index cef8aa2868..1e672fb52b 100644 --- a/packages/apps/graph/src/utils/dev-database/startEmbeddedPostgres.ts +++ b/packages/apps/graph/src/utils/dev-database/startEmbeddedPostgres.ts @@ -74,7 +74,7 @@ export async function startDevelopmentWorker(): Promise { .catch(console.error); if (i > 38 && statements.length > 0) { - await new Promise((resolve) => setTimeout(resolve, 900)); + await new Promise((resolve) => setTimeout(resolve, 5000)); } i++; } diff --git a/packages/apps/graph/src/utils/update-block-table.ts b/packages/apps/graph/src/utils/update-block-table.ts index a791ac5f6c..ef9c173617 100644 --- a/packages/apps/graph/src/utils/update-block-table.ts +++ b/packages/apps/graph/src/utils/update-block-table.ts @@ -9,6 +9,13 @@ import { prismaClient } from '../db/prismaClient'; async function main(): Promise { + const services = ['chainweb-mining-client', 'chainweb-node', 'chainweb-data']; + + await Promise.all(services.map(devnetStop)).catch((err) => { + console.log('error: could not stop devnet'); + return console.error(err); + }); + const results = await prismaClient.$transaction([ prismaClient.$executeRawUnsafe(` ALTER TABLE public.blocks @@ -56,7 +63,12 @@ async function main(): Promise { `), ]); - results.forEach((r) => console.log('affected rows', r)); + results.forEach((r: unknown) => console.log('affected rows', r)); + + await Promise.all(services.map(devnetStart)).catch((err) => { + console.log("error: couldn't stop devnet"); + return console.error(err); + }); } main() @@ -67,3 +79,15 @@ main() ), ) .finally(() => prismaClient.$disconnect()); + +function devnetStop(value: string): Promise { + return fetch(`http://localhost:9999/stop/${value}`, { + method: 'PATCH', + }); +} + +function devnetStart(value: string): Promise { + return fetch(`http://localhost:9999/start/${value}`, { + method: 'POST', + }); +} diff --git a/packages/apps/tools/src/components/Common/Layout/partials/Header/Header.tsx b/packages/apps/tools/src/components/Common/Layout/partials/Header/Header.tsx index 82dbe4ed8b..46d67636c7 100644 --- a/packages/apps/tools/src/components/Common/Layout/partials/Header/Header.tsx +++ b/packages/apps/tools/src/components/Common/Layout/partials/Header/Header.tsx @@ -58,7 +58,6 @@ const Header: FC = () => { > {navItems.map((item, index) => ( ", + "commit": "2b90f05a2074071035aaa8ab401136012c0e43fa" + } + ], + "none": [ + { + "comment": "throw error for duplicated keys while using addData", + "author": "Javad Khalilian ", + "commit": "be743d1c60a046aa16c532f997d85dcfc2ba2686" + }, + { + "comment": "Literal class for handeling literal values during pact expression creation", + "author": "Javad Khalilian ", + "commit": "30d8fa06e87835a254388e069748842befdc5eaf" + } + ], + "dependency": [ + { + "comment": "Updating dependency \"@kadena/chainweb-node-client\" to `0.4.4`" + }, + { + "comment": "Updating dependency \"@kadena/cryptography-utils\" to `0.3.8`" + }, + { + "comment": "Updating dependency \"@kadena/pactjs\" to `0.3.2`" + }, + { + "comment": "Updating dependency \"@kadena/types\" to `0.4.2`" + } + ] + } + }, { "version": "1.0.0", "tag": "@kadena/client_v1.0.0", diff --git a/packages/libs/client/CHANGELOG.md b/packages/libs/client/CHANGELOG.md index ffd5271041..da4139d7d0 100644 --- a/packages/libs/client/CHANGELOG.md +++ b/packages/libs/client/CHANGELOG.md @@ -1,6 +1,18 @@ # Change Log - @kadena/client -This log was last generated on Fri, 04 Aug 2023 16:10:02 GMT and should not be manually modified. +This log was last generated on Mon, 21 Aug 2023 10:31:32 GMT and should not be manually modified. + +## 1.1.0 +Mon, 21 Aug 2023 10:31:32 GMT + +### Minor changes + +- Make addSignatures public + +### Updates + +- throw error for duplicated keys while using addData +- Literal class for handeling literal values during pact expression creation ## 1.0.0 Fri, 04 Aug 2023 16:10:02 GMT diff --git a/packages/libs/client/etc/client.api.md b/packages/libs/client/etc/client.api.md index bd9288ef8a..009e1ba157 100644 --- a/packages/libs/client/etc/client.api.md +++ b/packages/libs/client/etc/client.api.md @@ -19,6 +19,12 @@ import { LocalRequestBody } from '@kadena/chainweb-node-client'; import { LocalResponse } from '@kadena/chainweb-node-client'; import { SessionTypes } from '@walletconnect/types'; +// @public +export const addSignatures: (transaction: IUnsignedCommand, ...signatures: { + sig: string; + pubKey?: string; +}[]) => IUnsignedCommand | ICommand; + export { ChainId } // @public @@ -317,11 +323,25 @@ export interface IUnsignedQuicksignTransaction { } // @public -export const literal: >(value: T) => () => T; +export class Literal { + constructor(value: string); + // (undocumented) + getValue(): string; + // (undocumented) + toJSON(): string; + // (undocumented) + toString(): string; +} + +// @public +export const literal: (value: string) => Literal; // @public export const Pact: IPact; +// @public +export type PactReference = Literal | (() => string); + // @public export const readKeyset: (key: string) => () => string; @@ -331,6 +351,11 @@ export const signWithChainweaver: ISignFunction; // @public export type TWalletConnectChainId = `kadena:${IPactCommand['networkId']}`; +// Warning: (ae-internal-missing-underscore) The name "unpackLiterals" should be prefixed with an underscore because the declaration is marked as @internal +// +// @internal +export function unpackLiterals(value: string): string; + // Warning: (ae-forgotten-export) The symbol "ExtractCapabilityType" needs to be exported by the entry point index.d.ts // // @public diff --git a/packages/libs/client/package.json b/packages/libs/client/package.json index 6b6fc72d5f..4f11fe1fc8 100644 --- a/packages/libs/client/package.json +++ b/packages/libs/client/package.json @@ -1,6 +1,6 @@ { "name": "@kadena/client", - "version": "1.0.0", + "version": "1.1.0", "description": "Core library for building Pact expressions to send to the blockchain in js. Makes use of .kadena/pactjs-generated", "repository": { "type": "git", diff --git a/packages/libs/client/src/pact.ts b/packages/libs/client/src/pact.ts index c8fb5d9acf..865b5bdd47 100644 --- a/packages/libs/client/src/pact.ts +++ b/packages/libs/client/src/pact.ts @@ -4,6 +4,7 @@ import { createTransactionBuilder, ITransactionBuilder, } from './createTransactionBuilder/createTransactionBuilder'; +import { unpackLiterals } from './utils/pact-helpers'; import { parseAsPactValue } from './utils/parseAsPactValue'; /** @@ -36,7 +37,9 @@ export const getModule = (name: string): any => { return pr; }, apply(target, thisArg, args) { - const exp = createExp(code, ...args.map(parseAsPactValue)); + const exp = unpackLiterals( + createExp(code, ...args.map(parseAsPactValue)), + ); code = name; return exp; }, diff --git a/packages/libs/client/src/signing/chainweaver/signWithChainweaver.ts b/packages/libs/client/src/signing/chainweaver/signWithChainweaver.ts index f566803949..198f684e84 100644 --- a/packages/libs/client/src/signing/chainweaver/signWithChainweaver.ts +++ b/packages/libs/client/src/signing/chainweaver/signWithChainweaver.ts @@ -6,7 +6,7 @@ import { IQuicksignSigner, } from '../../signing-api/v1/quicksign'; import { ISignFunction } from '../ISignFunction'; -import { addSignatures } from '../utils/addSignature'; +import { addSignatures } from '../utils/addSignatures'; import { parseTransactionCommand } from '../utils/parseTransactionCommand'; import fetch from 'cross-fetch'; diff --git a/packages/libs/client/src/signing/index.ts b/packages/libs/client/src/signing/index.ts index c08c604b6f..12a23417a6 100644 --- a/packages/libs/client/src/signing/index.ts +++ b/packages/libs/client/src/signing/index.ts @@ -2,6 +2,7 @@ export { TWalletConnectChainId } from './walletconnect/walletConnectTypes'; export { ISingleSignFunction, ISignFunction } from './ISignFunction'; export * from './chainweaver/signWithChainweaver'; +export * from './utils/isSignedTransaction'; +export * from './utils/addSignatures'; export * from './walletconnect/signWithWalletConnect'; export * from './walletconnect/quicksignWithWalletConnect'; -export * from './utils/isSignedTransaction'; diff --git a/packages/libs/client/src/signing/utils/addSignature.ts b/packages/libs/client/src/signing/utils/addSignatures.ts similarity index 99% rename from packages/libs/client/src/signing/utils/addSignature.ts rename to packages/libs/client/src/signing/utils/addSignatures.ts index c1ecbd9b1c..59c3a64b7e 100644 --- a/packages/libs/client/src/signing/utils/addSignature.ts +++ b/packages/libs/client/src/signing/utils/addSignatures.ts @@ -11,7 +11,7 @@ const debug: Debugger = _debug('@kadena/client:signing:addSignature'); /** * adds signatures to an {@link IUnsignedCommand | unsigned command} * - * @internal + * @public */ export const addSignatures: ( transaction: IUnsignedCommand, diff --git a/packages/libs/client/src/signing/utils/tests/addSignature.test.ts b/packages/libs/client/src/signing/utils/tests/addSignature.test.ts index e37289e83a..d99ffe7cf2 100644 --- a/packages/libs/client/src/signing/utils/tests/addSignature.test.ts +++ b/packages/libs/client/src/signing/utils/tests/addSignature.test.ts @@ -1,5 +1,5 @@ import { IPactCommand } from '../../../interfaces/IPactCommand'; -import { addSignatures } from '../addSignature'; +import { addSignatures } from '../addSignatures'; describe('addSignature', () => { it('returns a new transaction object by adding the input signatures to the sigs array', () => { diff --git a/packages/libs/client/src/signing/walletconnect/quicksignWithWalletConnect.ts b/packages/libs/client/src/signing/walletconnect/quicksignWithWalletConnect.ts index cb71f2304c..42d88f180c 100644 --- a/packages/libs/client/src/signing/walletconnect/quicksignWithWalletConnect.ts +++ b/packages/libs/client/src/signing/walletconnect/quicksignWithWalletConnect.ts @@ -2,7 +2,7 @@ import { ICommand, IUnsignedCommand } from '@kadena/types'; import { IQuicksignResponse } from '../../signing-api/v1/quicksign'; import { ISignFunction } from '../ISignFunction'; -import { addSignatures } from '../utils/addSignature'; +import { addSignatures } from '../utils/addSignatures'; import { parseTransactionCommand } from '../utils/parseTransactionCommand'; import { TWalletConnectChainId } from './walletConnectTypes'; diff --git a/packages/libs/client/src/utils/createTransaction.ts b/packages/libs/client/src/utils/createTransaction.ts index 56472f9eab..701848d45f 100644 --- a/packages/libs/client/src/utils/createTransaction.ts +++ b/packages/libs/client/src/utils/createTransaction.ts @@ -11,18 +11,6 @@ export const createTransaction: ( pactCommand: Partial, ) => IUnsignedCommand = (pactCommand) => { const cmd = JSON.stringify(pactCommand); - - // TODO: some wallets might need this, - // when they cannot work with {decimal: string} objects - - // const cmd = JSON.stringify(pactCommand, (key, value) => { - // if (typeof value === 'object' && 'decimal' in value) { - // return `#decimal#${value.decimal}#`; - // } else { - // return value; - // } - // }).replace(/"#decimal#(.*)#"/, (__, numberGroup) => numberGroup); - const hash = blakeHash(cmd); return { cmd, diff --git a/packages/libs/client/src/utils/pact-helpers.ts b/packages/libs/client/src/utils/pact-helpers.ts index bb5b6be289..faabd0693c 100644 --- a/packages/libs/client/src/utils/pact-helpers.ts +++ b/packages/libs/client/src/utils/pact-helpers.ts @@ -6,9 +6,68 @@ export const readKeyset = (key: string) => () => `(read-keyset "${key}")`; /** - * Will create a literal value without surrounding quotes `"` + * the class for adding values to the final pact object without adding quotes to strings * @public */ -export const literal: >( - value: T, -) => () => T = (value) => () => value; +export class Literal { + private _value: string; + + public constructor(value: string) { + this._value = value; + } + + public getValue(): string { + return this._value; + } + + public toJSON(): string { + return `Literal(${this._value})`; + } + + public toString(): string { + return this.getValue(); + } +} + +/** + * Will create a literal pact expression without surrounding quotes `"` + * @example + * ``` + * // use literal as function input + * Pact.module.["free.crowdfund"]["create-project"]( + * "project_id", + * "project_name", + * // this is a reference to another module and should not have quotes in the created expression + * literal("coin"), + * ... + * ) + * + * // use literal as a property of a json in the input + * Pact.module.["my-contract"]["set-details"]( + * "name", + * "data" : { + * age : 35, + * tokens : [literal("coin"), literal("kdx")] + * } + * ) + * ``` + * @public + */ +export const literal = (value: string): Literal => { + return new Literal(value); +}; + +const literalRegex: RegExp = /"Literal\(([^\)]*)\)"/gi; +/** + * unpack all of the Literal(string) to string + * @internal + */ +export function unpackLiterals(value: string): string { + return value.replace(literalRegex, (__, literal) => literal); +} + +/** + * General type for reference values + * @public + */ +export type PactReference = Literal | (() => string); diff --git a/packages/libs/client/src/utils/parseAsPactValue.ts b/packages/libs/client/src/utils/parseAsPactValue.ts index fb155b82a4..f4ac26aa07 100644 --- a/packages/libs/client/src/utils/parseAsPactValue.ts +++ b/packages/libs/client/src/utils/parseAsPactValue.ts @@ -1,5 +1,7 @@ import { PactNumber } from '@kadena/pactjs'; -import { PactLiteral } from '@kadena/types'; +import { PactValue } from '@kadena/types'; + +import { Literal } from './pact-helpers'; const isDate = (obj: unknown): obj is Date => { if (typeof obj === 'object' && obj instanceof Date) return true; @@ -10,34 +12,37 @@ const isDate = (obj: unknown): obj is Date => { * @internal */ export function parseAsPactValue( - arg: PactLiteral | (() => string), + input: PactValue | (() => string) | Literal, ): string | number | boolean { - switch (typeof arg) { + if (input instanceof Literal) { + return input.getValue(); + } + switch (typeof input) { case 'object': { - if ('decimal' in arg) { - return new PactNumber(arg.decimal).toDecimal(); + if ('decimal' in input) { + return new PactNumber(input.decimal).toDecimal(); } - if ('int' in arg) { - return new PactNumber(arg.int).toInteger(); + if ('int' in input) { + return new PactNumber(input.int).toInteger(); } - if (isDate(arg)) { - const isoTime = `${arg.toISOString().split('.')[0]}Z`; + if (isDate(input)) { + const isoTime = `${input.toISOString().split('.')[0]}Z`; return `(time "${isoTime}")`; } // to prevent from creating [object Object] - return JSON.stringify(arg); + return JSON.stringify(input); } case 'number': throw new Error( 'Type `number` is not allowed in the command. Use `{ decimal: 10 }` or `{ int: 10 }` instead', ); case 'string': - return `"${arg}"`; + return `"${input}"`; case 'function': - return arg(); + return input(); case 'boolean': - return arg; + return input; default: - return arg; + return input; } } diff --git a/packages/libs/client/src/utils/tests/createTransaction.test.ts b/packages/libs/client/src/utils/tests/createTransaction.test.ts index c4b2aafad3..52751d540f 100644 --- a/packages/libs/client/src/utils/tests/createTransaction.test.ts +++ b/packages/libs/client/src/utils/tests/createTransaction.test.ts @@ -1,5 +1,7 @@ import { IPactCommand } from '../../interfaces/IPactCommand'; +import { Pact } from '../../pact'; import { createTransaction } from '../createTransaction'; +import { literal } from '../pact-helpers'; const pactCommand: IPactCommand = { payload: { @@ -55,4 +57,24 @@ describe('createTransaction', () => { expect(transaction.sigs).toHaveLength(0); }); + it('adds Literal values without quote to the output', () => { + const command = Pact.builder + .execution( + // eslint-disable-next-line @typescript-eslint/no-explicit-any + (Pact.modules as any).test['test-fun']( + 'bob', + 'alice', + literal('guard'), + { test: { modules: [literal('coin'), literal('free.coin')] } }, + { decimal: '12.0' }, + ), + ) + .setNonce('nonce:1') + .createTransaction(); + expect(command).toEqual({ + cmd: '{"payload":{"exec":{"code":"(test.test-fun \\"bob\\" \\"alice\\" guard {\\"test\\":{\\"modules\\":[coin,free.coin]}} 12.0)","data":{}}},"nonce":"nonce:1","signers":[]}', + hash: 'Xm1CjhIcGSO7wUxKiLZxyuFi_DuOexD0eq44QW_BRjI', + sigs: [], + }); + }); }); diff --git a/packages/libs/client/src/utils/tests/pact-helpers.test.ts b/packages/libs/client/src/utils/tests/pact-helpers.test.ts index b61642e171..80b09552b2 100644 --- a/packages/libs/client/src/utils/tests/pact-helpers.test.ts +++ b/packages/libs/client/src/utils/tests/pact-helpers.test.ts @@ -1,4 +1,4 @@ -import { literal, readKeyset } from '../pact-helpers'; +import { literal, readKeyset, unpackLiterals } from '../pact-helpers'; describe('readKeyset', () => { it('returns read-keyset string', () => { @@ -8,6 +8,17 @@ describe('readKeyset', () => { describe('literal', () => { it('returns a function that returns the input', () => { - expect(literal('free.contract')()).toBe('free.contract'); + expect(literal('free.contract').getValue()).toBe('free.contract'); + }); + it('returns a function that returns the input', () => { + expect(literal('free.contract').toJSON()).toBe('Literal(free.contract)'); + }); +}); + +describe('unpackLiterals', () => { + it('returns a function that returns the input', () => { + expect(unpackLiterals('["Literal(free.contract)", "Literal(coin)"]')).toBe( + '[free.contract, coin]', + ); }); }); diff --git a/packages/libs/cryptography-utils/CHANGELOG.json b/packages/libs/cryptography-utils/CHANGELOG.json index 7865772714..2055ffe60f 100644 --- a/packages/libs/cryptography-utils/CHANGELOG.json +++ b/packages/libs/cryptography-utils/CHANGELOG.json @@ -1,6 +1,21 @@ { "name": "@kadena/cryptography-utils", "entries": [ + { + "version": "0.3.8", + "tag": "@kadena/cryptography-utils_v0.3.8", + "date": "Mon, 21 Aug 2023 10:31:32 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@kadena/types\" to `0.4.2`" + }, + { + "comment": "Updating dependency \"@kadena/types\" to `0.4.2`" + } + ] + } + }, { "version": "0.3.7", "tag": "@kadena/cryptography-utils_v0.3.7", diff --git a/packages/libs/cryptography-utils/CHANGELOG.md b/packages/libs/cryptography-utils/CHANGELOG.md index 5dbc1e8788..d54df49dd7 100644 --- a/packages/libs/cryptography-utils/CHANGELOG.md +++ b/packages/libs/cryptography-utils/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @kadena/cryptography-utils -This log was last generated on Fri, 04 Aug 2023 16:10:02 GMT and should not be manually modified. +This log was last generated on Mon, 21 Aug 2023 10:31:32 GMT and should not be manually modified. + +## 0.3.8 +Mon, 21 Aug 2023 10:31:32 GMT + +_Version update only_ ## 0.3.7 Fri, 04 Aug 2023 16:10:02 GMT diff --git a/packages/libs/cryptography-utils/package.json b/packages/libs/cryptography-utils/package.json index 4267e102e1..068c4a06ae 100644 --- a/packages/libs/cryptography-utils/package.json +++ b/packages/libs/cryptography-utils/package.json @@ -1,6 +1,6 @@ { "name": "@kadena/cryptography-utils", - "version": "0.3.7", + "version": "0.3.8", "description": "Collection of Kadena cryptography utility functions", "keywords": [], "repository": { diff --git a/packages/libs/pactjs-generator/src/contract/generation/generator.ts b/packages/libs/pactjs-generator/src/contract/generation/generator.ts index 065b1953fe..543359b352 100644 --- a/packages/libs/pactjs-generator/src/contract/generation/generator.ts +++ b/packages/libs/pactjs-generator/src/contract/generation/generator.ts @@ -139,7 +139,8 @@ export function generateDts( .join(EOL.repeat(2)) || ''; const dts = ` -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; diff --git a/packages/libs/pactjs-generator/src/contract/generation/tests/__snapshots__/generator.test.ts.snap b/packages/libs/pactjs-generator/src/contract/generation/tests/__snapshots__/generator.test.ts.snap index c9889a79e4..28200adddf 100644 --- a/packages/libs/pactjs-generator/src/contract/generation/tests/__snapshots__/generator.test.ts.snap +++ b/packages/libs/pactjs-generator/src/contract/generation/tests/__snapshots__/generator.test.ts.snap @@ -2,7 +2,8 @@ exports[`generateDts add defpact functions to defpact property 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -24,7 +25,8 @@ declare module '@kadena/client' { exports[`generateDts adds IPactReference as the arg type if it is a module reference 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -59,7 +61,8 @@ declare module '@kadena/client' { exports[`generateDts adds module, capability and function docs to the dts file 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -94,7 +97,8 @@ declare module '@kadena/client' { exports[`generateDts does not generate capability interface if the function uses no capabilities 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -115,7 +119,8 @@ declare module '@kadena/client' { exports[`generateDts function parameter is empty if the defun has no param 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -134,7 +139,8 @@ declare module '@kadena/client' { exports[`generateDts prefixes capabulities for defpact with defpact_ 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -172,7 +178,8 @@ declare module '@kadena/client' { exports[`generateDts return type definition file for a module 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -200,7 +207,8 @@ declare module '@kadena/client' { exports[`generateDts use any type if function parameters dont have a type 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -228,7 +236,8 @@ declare module '@kadena/client' { exports[`generateDts use object type if function parameters is object{schema} 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; @@ -256,7 +265,8 @@ declare module '@kadena/client' { exports[`generateDts uses the property type if there is no mapped value for that 1`] = ` " -import type { IPactDecimal, IPactInt, PactReference, ICap } from '@kadena/types'; +import type { PactReference } from '@kadena/client'; +import type { IPactDecimal, IPactInt, ICap } from '@kadena/types'; interface ICapability_Coin_GAS { (name: 'coin.GAS'): ICap; diff --git a/packages/libs/pactjs/CHANGELOG.json b/packages/libs/pactjs/CHANGELOG.json index 5dc3f17662..a99b815cc2 100644 --- a/packages/libs/pactjs/CHANGELOG.json +++ b/packages/libs/pactjs/CHANGELOG.json @@ -1,6 +1,18 @@ { "name": "@kadena/pactjs", "entries": [ + { + "version": "0.3.2", + "tag": "@kadena/pactjs_v0.3.2", + "date": "Mon, 21 Aug 2023 10:31:32 GMT", + "comments": { + "dependency": [ + { + "comment": "Updating dependency \"@kadena/types\" to `0.4.2`" + } + ] + } + }, { "version": "0.3.1", "tag": "@kadena/pactjs_v0.3.1", diff --git a/packages/libs/pactjs/CHANGELOG.md b/packages/libs/pactjs/CHANGELOG.md index 9d458a8f1a..bbc58273d3 100644 --- a/packages/libs/pactjs/CHANGELOG.md +++ b/packages/libs/pactjs/CHANGELOG.md @@ -1,6 +1,11 @@ # Change Log - @kadena/pactjs -This log was last generated on Fri, 04 Aug 2023 16:10:02 GMT and should not be manually modified. +This log was last generated on Mon, 21 Aug 2023 10:31:32 GMT and should not be manually modified. + +## 0.3.2 +Mon, 21 Aug 2023 10:31:32 GMT + +_Version update only_ ## 0.3.1 Fri, 04 Aug 2023 16:10:02 GMT diff --git a/packages/libs/pactjs/package.json b/packages/libs/pactjs/package.json index 79bbab36e3..729bca92d6 100644 --- a/packages/libs/pactjs/package.json +++ b/packages/libs/pactjs/package.json @@ -1,6 +1,6 @@ { "name": "@kadena/pactjs", - "version": "0.3.1", + "version": "0.3.2", "description": "Collection of utility functions pactjs related", "keywords": [], "repository": { diff --git a/packages/libs/react-ui/src/components/NavHeader/NavHeaderNavigation.tsx b/packages/libs/react-ui/src/components/NavHeader/NavHeaderNavigation.tsx index ed9e7d42d5..c12d69955b 100644 --- a/packages/libs/react-ui/src/components/NavHeader/NavHeaderNavigation.tsx +++ b/packages/libs/react-ui/src/components/NavHeader/NavHeaderNavigation.tsx @@ -13,6 +13,7 @@ import React, { FC, FunctionComponentElement, HTMLAttributeAnchorTarget, + useEffect, } from 'react'; export interface INavItem { @@ -36,6 +37,10 @@ export const NavHeaderNavigation: FC = ({ const { glowX, animationDuration, glowRef, navRef, activeNav, setActiveNav } = useGlow(activeLink); + useEffect(() => { + if (activeLink) setActiveNav(activeLink); + }, [activeLink]); + return (