From a96bb4d201e477825553e6aa0eec1dacfde00686 Mon Sep 17 00:00:00 2001 From: Peter Schilling Date: Tue, 31 Mar 2026 20:43:42 -0700 Subject: [PATCH 1/3] test: make issue list output deterministic --- deno.json | 42 +- deno.lock | 963 ++++++++++--------------- src/keyring/linux.ts | 14 +- test/commands/issue/issue-list.test.ts | 130 ++-- test/keyring.integration.test.ts | 5 + test/utils/mock_linear_server.ts | 12 +- 6 files changed, 516 insertions(+), 650 deletions(-) diff --git a/deno.json b/deno.json index fa63109a..b106151b 100644 --- a/deno.json +++ b/deno.json @@ -18,36 +18,36 @@ "generate-skill-docs": "deno run --allow-run --allow-read --allow-write skills/linear-cli/scripts/generate-docs.ts" }, "imports": { - "@cliffy/ansi": "jsr:@cliffy/ansi@^1.0.0-rc.8", - "@cliffy/command": "jsr:@cliffy/command@^1.0.0-rc.8", - "@cliffy/internal": "jsr:@cliffy/internal@^1.0.0-rc.8", - "@cliffy/prompt": "jsr:@cliffy/prompt@^1.0.0-rc.8", - "@cliffy/testing": "jsr:@cliffy/testing@^1.0.0-rc.8", - "@graphql-codegen/cli": "npm:@graphql-codegen/cli@^5.0.7", + "@cliffy/ansi": "jsr:@cliffy/ansi@^1.0.0", + "@cliffy/command": "jsr:@cliffy/command@^1.0.0", + "@cliffy/internal": "jsr:@cliffy/internal@^1.0.0", + "@cliffy/prompt": "jsr:@cliffy/prompt@^1.0.0", + "@cliffy/testing": "jsr:@cliffy/testing@^1.0.0", + "@graphql-codegen/cli": "npm:@graphql-codegen/cli@^6.2.1", "@graphql-typed-document-node/core": "npm:@graphql-typed-document-node/core@^3.2.0", "@littletof/charmd": "jsr:@littletof/charmd@^0.1.2", "@opensrc/deno-open": "jsr:@opensrc/deno-open@^1.0.0", - "@std/assert": "jsr:@std/assert@1", - "@std/cli": "jsr:@std/cli@^1.0.12", - "@std/fmt": "jsr:@std/fmt@1", - "@std/fs": "jsr:@std/fs@^1.0.20", - "@std/testing": "jsr:@std/testing@1", - "@std/dotenv": "jsr:@std/dotenv@^0.225.3", - "@std/encoding": "jsr:@std/encoding@^1.0.5", - "@std/path": "jsr:@std/path@^1.0.8", - "@std/toml": "jsr:@std/toml@^1.0.2", + "@std/assert": "jsr:@std/assert@^1.0.19", + "@std/cli": "jsr:@std/cli@^1.0.28", + "@std/fmt": "jsr:@std/fmt@^1.0.9", + "@std/fs": "jsr:@std/fs@^1.0.23", + "@std/testing": "jsr:@std/testing@^1.0.17", + "@std/dotenv": "jsr:@std/dotenv@^0.225.6", + "@std/encoding": "jsr:@std/encoding@^1.0.10", + "@std/path": "jsr:@std/path@^1.1.4", + "@std/toml": "jsr:@std/toml@^1.0.11", "@types/mdast": "npm:@types/mdast@^4.0.4", "mdast": "npm:@types/mdast@^4.0.4", - "graphql": "npm:graphql@^16.8.1", + "graphql": "npm:graphql@^16.13.2", "./__generated__/graphql": "./src/__codegen__/graphql.ts", - "graphql-request": "npm:graphql-request@^7.2.0", - "lefthook": "npm:lefthook@^1.12.3", + "graphql-request": "npm:graphql-request@^7.4.0", + "lefthook": "npm:lefthook@^2.1.4", "remark-parse": "npm:remark-parse@^11.0.0", "remark-stringify": "npm:remark-stringify@^11.0.0", - "sanitize-filename": "npm:sanitize-filename@^1.6.3", + "sanitize-filename": "npm:sanitize-filename@^1.6.4", "unified": "npm:unified@^11.0.5", - "unist-util-visit": "npm:unist-util-visit@^5.0.0", - "valibot": "npm:valibot@^1.2.0" + "unist-util-visit": "npm:unist-util-visit@^5.1.0", + "valibot": "npm:valibot@^1.3.1" }, "publish": { "include": [ diff --git a/deno.lock b/deno.lock index 5544343f..13d94898 100644 --- a/deno.lock +++ b/deno.lock @@ -1,68 +1,64 @@ { "version": "5", "specifiers": { + "jsr:@cliffy/ansi@1": "1.0.0", "jsr:@cliffy/ansi@1.0.0": "1.0.0", - "jsr:@cliffy/ansi@^1.0.0-rc.8": "1.0.0", - "jsr:@cliffy/command@^1.0.0-rc.8": "1.0.0", + "jsr:@cliffy/command@1": "1.0.0", "jsr:@cliffy/flags@1.0.0": "1.0.0", + "jsr:@cliffy/internal@1": "1.0.0", "jsr:@cliffy/internal@1.0.0": "1.0.0", - "jsr:@cliffy/internal@^1.0.0-rc.8": "1.0.0", "jsr:@cliffy/keycode@1.0.0": "1.0.0", - "jsr:@cliffy/prompt@^1.0.0-rc.8": "1.0.0", + "jsr:@cliffy/prompt@1": "1.0.0", "jsr:@cliffy/table@1.0.0": "1.0.0", - "jsr:@cliffy/testing@^1.0.0-rc.8": "1.0.0", + "jsr:@cliffy/testing@1": "1.0.0", "jsr:@littletof/charmd@~0.1.2": "0.1.2", "jsr:@opensrc/deno-open@1": "1.0.0", - "jsr:@std/assert@1": "1.0.19", "jsr:@std/assert@^1.0.17": "1.0.19", "jsr:@std/assert@^1.0.18": "1.0.19", + "jsr:@std/assert@^1.0.19": "1.0.19", "jsr:@std/assert@^1.0.2": "1.0.19", "jsr:@std/assert@~0.218.2": "0.218.2", - "jsr:@std/async@^1.1.0": "1.2.0", - "jsr:@std/cli@^1.0.12": "1.0.28", + "jsr:@std/async@^1.1.0": "1.1.1", + "jsr:@std/cli@^1.0.28": "1.0.28", "jsr:@std/collections@^1.1.3": "1.1.6", "jsr:@std/data-structures@^1.0.10": "1.0.10", - "jsr:@std/dotenv@~0.225.3": "0.225.6", + "jsr:@std/dotenv@~0.225.6": "0.225.6", "jsr:@std/encoding@^1.0.10": "1.0.10", - "jsr:@std/encoding@^1.0.5": "1.0.10", "jsr:@std/fmt@0.223.0": "0.223.0", - "jsr:@std/fmt@1": "1.0.9", "jsr:@std/fmt@^1.0.9": "1.0.9", "jsr:@std/fs@^1.0.1": "1.0.23", - "jsr:@std/fs@^1.0.20": "1.0.23", "jsr:@std/fs@^1.0.22": "1.0.23", + "jsr:@std/fs@^1.0.23": "1.0.23", "jsr:@std/internal@^1.0.1": "1.0.12", "jsr:@std/internal@^1.0.12": "1.0.12", "jsr:@std/io@~0.225.3": "0.225.3", "jsr:@std/path@^1.0.2": "1.1.4", - "jsr:@std/path@^1.0.8": "1.1.4", "jsr:@std/path@^1.1.4": "1.1.4", "jsr:@std/path@~0.218.2": "0.218.2", "jsr:@std/semver@^1.0.8": "1.0.8", - "jsr:@std/testing@1": "1.0.17", "jsr:@std/testing@1.0.0": "1.0.0", + "jsr:@std/testing@^1.0.17": "1.0.17", "jsr:@std/text@^1.0.17": "1.0.17", - "jsr:@std/toml@^1.0.2": "1.0.11", - "npm:@graphql-codegen/cli@*": "5.0.7_graphql@16.13.2", - "npm:@graphql-codegen/cli@^5.0.7": "5.0.7_graphql@16.13.2", + "jsr:@std/toml@^1.0.11": "1.0.11", + "npm:@graphql-codegen/cli@^6.2.1": "6.2.1_graphql@16.13.2", "npm:@graphql-typed-document-node/core@^3.2.0": "3.2.0_graphql@16.13.2", "npm:@types/mdast@^4.0.4": "4.0.4", - "npm:graphql-request@^7.2.0": "7.4.0_graphql@16.13.2", - "npm:graphql@^16.8.1": "16.13.2", - "npm:lefthook@^1.12.3": "1.13.6", + "npm:graphql-request@^7.4.0": "7.4.0_graphql@16.13.2", + "npm:graphql@^16.13.2": "16.13.2", + "npm:lefthook@^2.1.4": "2.1.4", "npm:remark-parse@11": "11.0.0", "npm:remark-stringify@11": "11.0.0", - "npm:sanitize-filename@^1.6.3": "1.6.4", + "npm:sanitize-filename@^1.6.4": "1.6.4", "npm:unified@^11.0.5": "11.0.5", - "npm:unist-util-visit@5": "5.1.0", - "npm:valibot@^1.2.0": "1.3.1" + "npm:unist-util-visit@^5.1.0": "5.1.0", + "npm:valibot@^1.3.1": "1.3.1" }, "jsr": { "@cliffy/ansi@1.0.0": { "integrity": "987008f74e50aa72cc1517ffccc769711734a14927bc4599e052efe1b9a840e2", "dependencies": [ "jsr:@cliffy/internal@1.0.0", - "jsr:@std/encoding@^1.0.10", + "jsr:@std/encoding", "jsr:@std/fmt@^1.0.9", "jsr:@std/io" ] @@ -144,8 +140,8 @@ "jsr:@std/internal@^1.0.12" ] }, - "@std/async@1.2.0": { - "integrity": "c059c6f6d95ca7cc012ae8e8d7164d1697113d54b0b679e4372b354b11c2dee5" + "@std/async@1.1.1": { + "integrity": "8a79beb3378cc229ce65ba2c746cfd03e4855ddd891d1eb6b9e32128e0d5339c" }, "@std/cli@1.0.28": { "integrity": "74ef9b976db59ca6b23a5283469c9072be6276853807a83ec6c7ce412135c70a", @@ -399,16 +395,16 @@ "@fastify/busboy@3.2.0": { "integrity": "sha512-m9FVDXU3GT2ITSe0UaMA5rU3QkfC/UXtCU8y0gSN/GugTqtVldOBWIB5V6V3sbmenVZUIpU6f+mPEO2+m5iTaA==" }, - "@graphql-codegen/add@5.0.3_graphql@16.13.2": { - "integrity": "sha512-SxXPmramkth8XtBlAHu4H4jYcYXM/o3p01+psU+0NADQowA8jtYkK6MW5rV6T+CxkEaNZItfSmZRPgIuypcqnA==", + "@graphql-codegen/add@6.0.0_graphql@16.13.2": { + "integrity": "sha512-biFdaURX0KTwEJPQ1wkT6BRgNasqgQ5KbCI1a3zwtLtO7XTo7/vKITPylmiU27K5DSOWYnY/1jfSqUAEBuhZrQ==", "dependencies": [ "@graphql-codegen/plugin-helpers", "graphql", "tslib@2.6.3" ] }, - "@graphql-codegen/cli@5.0.7_graphql@16.13.2": { - "integrity": "sha512-h/sxYvSaWtxZxo8GtaA8SvcHTyViaaPd7dweF/hmRDpaQU1o3iU3EZxlcJ+oLTunU0tSMFsnrIXm/mhXxI11Cw==", + "@graphql-codegen/cli@6.2.1_graphql@16.13.2": { + "integrity": "sha512-E1B+5nBda2l89Pci5M0HcEj2Hmx2yhORFX+1T3rmwpQjdOiulo+h9JifWxKomUpjfbmU1YkBSd47CCGLFPU10A==", "dependencies": [ "@babel/generator", "@babel/template", @@ -423,19 +419,19 @@ "@graphql-tools/graphql-file-loader", "@graphql-tools/json-file-loader", "@graphql-tools/load", - "@graphql-tools/prisma-loader", - "@graphql-tools/url-loader@8.0.33_graphql@16.13.2", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/merge", + "@graphql-tools/url-loader", + "@graphql-tools/utils", + "@inquirer/prompts", "@whatwg-node/fetch", "chalk", - "cosmiconfig", + "cosmiconfig@9.0.1", "debounce", "detect-indent", "graphql", "graphql-config", - "inquirer", "is-glob", - "jiti@1.21.7", + "jiti", "json-to-pretty-yaml", "listr2", "log-symbols", @@ -449,8 +445,8 @@ ], "bin": true }, - "@graphql-codegen/client-preset@4.8.3_graphql@16.13.2": { - "integrity": "sha512-QpEsPSO9fnRxA6Z66AmBuGcwHjZ6dYSxYo5ycMlYgSPzAbyG8gn/kWljofjJfWqSY+T/lRn+r8IXTH14ml24vQ==", + "@graphql-codegen/client-preset@5.2.4_graphql@16.13.2": { + "integrity": "sha512-k4f9CoepkVznXRReCHBVnG/FeQVQgIOhgtkaJ6I9FcQRzUkrm9ASmQjOdNdMlZt0DHTU4nbVxIBGZW7gk1RavA==", "dependencies": [ "@babel/helper-plugin-utils", "@babel/template", @@ -462,37 +458,37 @@ "@graphql-codegen/typescript-operations", "@graphql-codegen/visitor-plugin-common", "@graphql-tools/documents", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "@graphql-typed-document-node/core", "graphql", "tslib@2.6.3" ] }, - "@graphql-codegen/core@4.0.2_graphql@16.13.2": { - "integrity": "sha512-IZbpkhwVqgizcjNiaVzNAzm/xbWT6YnGgeOLwVjm4KbJn3V2jchVtuzHH09G5/WkkLSk2wgbXNdwjM41JxO6Eg==", + "@graphql-codegen/core@5.0.1_graphql@16.13.2": { + "integrity": "sha512-eQD7aXpKkKvaydMv5Bu0FnKCPnNMAhZ3vZW+K4Rl9IAC2w5PDv9lJhs3YTWM9W58zNOZpGQGT2F0ekS3QNIiKw==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-tools/schema", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.6.3" ] }, - "@graphql-codegen/gql-tag-operations@4.0.17_graphql@16.13.2": { - "integrity": "sha512-2pnvPdIG6W9OuxkrEZ6hvZd142+O3B13lvhrZ48yyEBh2ujtmKokw0eTwDHtlXUqjVS0I3q7+HB2y12G/m69CA==", + "@graphql-codegen/gql-tag-operations@5.1.4_graphql@16.13.2": { + "integrity": "sha512-tDj/0a1U7rDH3PQgLeA+PlgBNb593MIJ43oAOKMRgJPwIQ9T7p2oqBRLxwfFZFTDLwnwsGZ7xIKqIcGgyAIj5Q==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-codegen/visitor-plugin-common", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "auto-bind", "graphql", "tslib@2.6.3" ] }, - "@graphql-codegen/plugin-helpers@5.1.1_graphql@16.13.2": { - "integrity": "sha512-28GHODK2HY1NhdyRcPP3sCz0Kqxyfiz7boIZ8qIxFYmpLYnlDgiYok5fhFLVSZihyOpCs4Fa37gVHf/Q4I2FEg==", + "@graphql-codegen/plugin-helpers@6.2.0_graphql@16.13.2": { + "integrity": "sha512-TKm0Q0+wRlg354Qt3PyXc+sy6dCKxmNofBsgmHoFZNVHtzMQSSgNT+rUWdwBwObQ9bFHiUVsDIv8QqxKMiKmpw==", "dependencies": [ - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "change-case-all", "common-tags", "graphql", @@ -501,17 +497,17 @@ "tslib@2.6.3" ] }, - "@graphql-codegen/schema-ast@4.1.0_graphql@16.13.2": { - "integrity": "sha512-kZVn0z+th9SvqxfKYgztA6PM7mhnSZaj4fiuBWvMTqA+QqQ9BBed6Pz41KuD/jr0gJtnlr2A4++/0VlpVbCTmQ==", + "@graphql-codegen/schema-ast@5.0.1_graphql@16.13.2": { + "integrity": "sha512-svLffXddnXxq1qFXQqqh+zYrxdiMnIKm+CXCUv0MYhLh0R4L5vpnaTzIUCk3icHNNXhKRm2uBD70+K8VY0xiCg==", "dependencies": [ "@graphql-codegen/plugin-helpers", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.6.3" ] }, - "@graphql-codegen/typed-document-node@5.1.2_graphql@16.13.2": { - "integrity": "sha512-jaxfViDqFRbNQmfKwUY8hDyjnLTw2Z7DhGutxoOiiAI0gE/LfPe0LYaVFKVmVOOD7M3bWxoWfu4slrkbWbUbEw==", + "@graphql-codegen/typed-document-node@6.1.7_graphql@16.13.2": { + "integrity": "sha512-VLL9hB+YPigc/W2QYCkSNMZrkKv42nTchb9mJ0h5VY98YmW/zWb6NeYM80iHSpk8ZvHsuUT5geA53/s1phO2NQ==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-codegen/visitor-plugin-common", @@ -521,8 +517,8 @@ "tslib@2.6.3" ] }, - "@graphql-codegen/typescript-operations@4.6.1_graphql@16.13.2": { - "integrity": "sha512-k92laxhih7s0WZ8j5WMIbgKwhe64C0As6x+PdcvgZFMudDJ7rPJ/hFqJ9DCRxNjXoHmSjnr6VUuQZq4lT1RzCA==", + "@graphql-codegen/typescript-operations@5.0.9_graphql@16.13.2": { + "integrity": "sha512-jJFdJKMS5Cqisb5QMi7xXHPsJH9yHBMYOxBc8laFkFjHk/AOqJK90qCKbO9lwwTMPZUDe6N/HslmA0ax4J0zsg==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-codegen/typescript", @@ -532,8 +528,8 @@ "tslib@2.6.3" ] }, - "@graphql-codegen/typescript@4.1.6_graphql@16.13.2": { - "integrity": "sha512-vpw3sfwf9A7S+kIUjyFxuvrywGxd4lmwmyYnnDVjVE4kSQ6Td3DpqaPTy8aNQ6O96vFoi/bxbZS2BW49PwSUUA==", + "@graphql-codegen/typescript@5.0.9_graphql@16.13.2": { + "integrity": "sha512-YlIZ4nqdFdzr5vxuNtQtZnnMYuZ5cLYB2HaGhGI2zvqHxCmkBjIRpu/5sfccawKy23wetV+aoWvoNqxGKIryig==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-codegen/schema-ast", @@ -543,13 +539,13 @@ "tslib@2.6.3" ] }, - "@graphql-codegen/visitor-plugin-common@5.8.0_graphql@16.13.2": { - "integrity": "sha512-lC1E1Kmuzi3WZUlYlqB4fP6+CvbKH9J+haU1iWmgsBx5/sO2ROeXJG4Dmt8gP03bI2BwjiwV5WxCEMlyeuzLnA==", + "@graphql-codegen/visitor-plugin-common@6.2.4_graphql@16.13.2": { + "integrity": "sha512-iwiVCc7Mv8/XAa3K35AdFQ9chJSDv/gYEnBeQFF/Sq/W8EyJoHypOGOTTLk7OSrWO4xea65ggv0e7fGt7rPJjQ==", "dependencies": [ "@graphql-codegen/plugin-helpers", "@graphql-tools/optimize", "@graphql-tools/relay-operation-optimizer", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "auto-bind", "change-case-all", "dependency-graph", @@ -559,36 +555,23 @@ "tslib@2.6.3" ] }, - "@graphql-hive/signal@1.0.0": { - "integrity": "sha512-RiwLMc89lTjvyLEivZ/qxAC5nBHoS2CtsWFSOsN35sxG9zoo5Z+JsFHM8MlvmO9yt+MJNIyC5MLE1rsbOphlag==" - }, "@graphql-hive/signal@2.0.0": { "integrity": "sha512-Pz8wB3K0iU6ae9S1fWfsmJX24CcGeTo6hE7T44ucmV/ALKRj+bxClmqrYcDT7v3f0d12Rh4FAXBb6gon+WkDpQ==" }, "@graphql-tools/apollo-engine-loader@8.0.28_graphql@16.13.2": { "integrity": "sha512-MzgDrUuoxp6dZeo54zLBL3cEJKJtM3N/2RqK0rbPxPq5X2z6TUA7EGg8vIFTUkt5xelAsUrm8/4ai41ZDdxOng==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "@whatwg-node/fetch", "graphql", - "sync-fetch@0.6.0", + "sync-fetch", "tslib@2.8.1" ] }, "@graphql-tools/batch-execute@10.0.7_graphql@16.13.2": { "integrity": "sha512-vKo9XUiy2sc5tzMupXoxZbu5afVY/9yJ0+yLrM5Dhh38yHYULf3z9VC1eAwW0kj8pWpOo8d8CV3jpleGwv83PA==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", - "@whatwg-node/promise-helpers", - "dataloader", - "graphql", - "tslib@2.8.1" - ] - }, - "@graphql-tools/batch-execute@9.0.19_graphql@16.13.2": { - "integrity": "sha512-VGamgY4PLzSx48IHPoblRw0oTaBa7S26RpZXt0Y4NN90ytoE0LutlpB2484RbkfcTjv9wa64QD474+YP1kEgGA==", - "dependencies": [ - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "@whatwg-node/promise-helpers", "dataloader", "graphql", @@ -599,35 +582,20 @@ "integrity": "sha512-BL3Ft/PFlXDE5nNuqA36hYci7Cx+8bDrPDc8X3VSpZy9iKFBY+oQ+IwqnEHCkt8OSp2n2V0gqTg4u3fcQP1Kwg==", "dependencies": [ "@graphql-tools/graphql-tag-pluck", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "globby", "graphql", "tslib@2.8.1", "unixify" ] }, - "@graphql-tools/delegate@10.2.23_graphql@16.13.2": { - "integrity": "sha512-xrPtl7f1LxS+B6o+W7ueuQh67CwRkfl+UKJncaslnqYdkxKmNBB4wnzVcW8ZsRdwbsla/v43PtwAvSlzxCzq2w==", - "dependencies": [ - "@graphql-tools/batch-execute@9.0.19_graphql@16.13.2", - "@graphql-tools/executor", - "@graphql-tools/schema", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@repeaterjs/repeater", - "@whatwg-node/promise-helpers", - "dataloader", - "dset", - "graphql", - "tslib@2.8.1" - ] - }, "@graphql-tools/delegate@12.0.12_graphql@16.13.2": { "integrity": "sha512-/vgLWhIwm+Mgo5VUOJQj6EOpaxXRQmA7mk8j6/8vBbPi56LoYA/UPRygcpEnm9EuXTspFKCTBil+xqThU3EmqQ==", "dependencies": [ - "@graphql-tools/batch-execute@10.0.7_graphql@16.13.2", + "@graphql-tools/batch-execute", "@graphql-tools/executor", "@graphql-tools/schema", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "@repeaterjs/repeater", "@whatwg-node/promise-helpers", "dataloader", @@ -643,48 +611,19 @@ "tslib@2.8.1" ] }, - "@graphql-tools/executor-common@0.0.4_graphql@16.13.2": { - "integrity": "sha512-SEH/OWR+sHbknqZyROCFHcRrbZeUAyjCsgpVWCRjqjqRbiJiXq6TxNIIOmpXgkrXWW/2Ev4Wms6YSGJXjdCs6Q==", - "dependencies": [ - "@envelop/core", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "graphql" - ] - }, - "@graphql-tools/executor-common@0.0.6_graphql@16.13.2": { - "integrity": "sha512-JAH/R1zf77CSkpYATIJw+eOJwsbWocdDjY+avY7G+P5HCXxwQjAjWVkJI1QJBQYjPQDVxwf1fmTZlIN3VOadow==", - "dependencies": [ - "@envelop/core", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "graphql" - ] - }, "@graphql-tools/executor-common@1.0.6_graphql@16.13.2": { "integrity": "sha512-23/K5C+LSlHDI0mj2SwCJ33RcELCcyDUgABm1Z8St7u/4Z5+95i925H/NAjUyggRjiaY8vYtNiMOPE49aPX1sg==", "dependencies": [ "@envelop/core", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql" ] }, - "@graphql-tools/executor-graphql-ws@2.0.7_graphql@16.13.2": { - "integrity": "sha512-J27za7sKF6RjhmvSOwOQFeNhNHyP4f4niqPnerJmq73OtLx9Y2PGOhkXOEB0PjhvPJceuttkD2O1yMgEkTGs3Q==", - "dependencies": [ - "@graphql-tools/executor-common@0.0.6_graphql@16.13.2", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@whatwg-node/disposablestack", - "graphql", - "graphql-ws", - "isomorphic-ws", - "tslib@2.8.1", - "ws" - ] - }, "@graphql-tools/executor-graphql-ws@3.1.5_graphql@16.13.2": { "integrity": "sha512-WXRsfwu9AkrORD9nShrd61OwwxeQ5+eXYcABRR3XPONFIS8pWQfDJGGqxql9/227o/s0DV5SIfkBURb5Knzv+A==", "dependencies": [ - "@graphql-tools/executor-common@1.0.6_graphql@16.13.2", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/executor-common", + "@graphql-tools/utils", "@whatwg-node/disposablestack", "graphql", "graphql-ws", @@ -693,27 +632,12 @@ "ws" ] }, - "@graphql-tools/executor-http@1.3.3_graphql@16.13.2": { - "integrity": "sha512-LIy+l08/Ivl8f8sMiHW2ebyck59JzyzO/yF9SFS4NH6MJZUezA1xThUXCDIKhHiD56h/gPojbkpcFvM2CbNE7A==", - "dependencies": [ - "@graphql-hive/signal@1.0.0", - "@graphql-tools/executor-common@0.0.4_graphql@16.13.2", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@repeaterjs/repeater", - "@whatwg-node/disposablestack", - "@whatwg-node/fetch", - "@whatwg-node/promise-helpers", - "graphql", - "meros", - "tslib@2.8.1" - ] - }, - "@graphql-tools/executor-http@3.1.1_graphql@16.13.2": { - "integrity": "sha512-Le57fMdN7nGBp8XddkpGreCzcPGCZ+uHs1kPw/xMKPJMsn/vZUHbWJ0FY0cb0jfE3OVhbMIjjSe/OHlG3Mm3zw==", + "@graphql-tools/executor-http@3.1.4_graphql@16.13.2": { + "integrity": "sha512-KOVSJo4WlMBgbJEIl3Fnv0DNmdZOAOKsJ9UfH4fUbxM1bDRBVHN4WM1au+JlK1sH00Uw0WRzsXXw4iquePe2tA==", "dependencies": [ - "@graphql-hive/signal@2.0.0", - "@graphql-tools/executor-common@1.0.6_graphql@16.13.2", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-hive/signal", + "@graphql-tools/executor-common", + "@graphql-tools/utils", "@repeaterjs/repeater", "@whatwg-node/disposablestack", "@whatwg-node/fetch", @@ -726,7 +650,7 @@ "@graphql-tools/executor-legacy-ws@1.1.25_graphql@16.13.2": { "integrity": "sha512-6uf4AEXO0QMxJ7AWKVPqEZXgYBJaiz5vf29X0boG8QtcqWy8mqkXKWLND2Swdx0SbEx0efoGFcjuKufUcB0ASQ==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "@types/ws", "graphql", "isomorphic-ws", @@ -737,7 +661,7 @@ "@graphql-tools/executor@1.5.1_graphql@16.13.2": { "integrity": "sha512-n94Qcu875Mji9GQ52n5UbgOTxlgvFJicBPYD+FRks9HKIQpdNPjkkrKZUYNG51XKa+bf03rxNflm4+wXhoHHrA==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "@graphql-typed-document-node/core", "@repeaterjs/repeater", "@whatwg-node/disposablestack", @@ -750,7 +674,7 @@ "integrity": "sha512-H5HTp2vevv0rRMEnCJBVmVF8md3LpJI1C1+d6OtzvmuONJ8mOX2mkf9rtoqwiztynVegaDUekvMFsc9k5iE2WA==", "dependencies": [ "@graphql-tools/graphql-tag-pluck", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "is-glob", "micromatch", @@ -758,16 +682,16 @@ "unixify" ] }, - "@graphql-tools/github-loader@8.0.22_graphql@16.13.2": { - "integrity": "sha512-uQ4JNcNPsyMkTIgzeSbsoT9hogLjYrZooLUYd173l5eUGUi49EAcsGdiBCKaKfEjanv410FE8hjaHr7fjSRkJw==", + "@graphql-tools/github-loader@9.0.6_graphql@16.13.2": { + "integrity": "sha512-hhlt2MMkRcvDva/qyzqFddXzaMmRnriJ0Ts+/LcNeYnB8hcEqRMpF9RCsHYjo1mFRaiu8i4PSIpXyyFu3To7Ow==", "dependencies": [ - "@graphql-tools/executor-http@1.3.3_graphql@16.13.2", + "@graphql-tools/executor-http", "@graphql-tools/graphql-tag-pluck", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", + "@graphql-tools/utils", "@whatwg-node/fetch", "@whatwg-node/promise-helpers", "graphql", - "sync-fetch@0.6.0-2", + "sync-fetch", "tslib@2.8.1" ] }, @@ -775,7 +699,7 @@ "integrity": "sha512-Nma7gBgJoUbqXWTmdHjouo36tjzewA8MptVcHoH7widzkciaUVzBhriHzqICFB/dVxig//g9MX8s1XawZo7UAg==", "dependencies": [ "@graphql-tools/import", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "globby", "graphql", "tslib@2.8.1", @@ -790,7 +714,7 @@ "@babel/plugin-syntax-import-assertions", "@babel/traverse", "@babel/types", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.8.1" ] @@ -798,7 +722,7 @@ "@graphql-tools/import@7.1.12_graphql@16.13.2": { "integrity": "sha512-QSsdPsdJ7yCgQ5XODyKYpC7NlB9R1Koi0R3418PT7GiRm+9O8gYXSs/23dumcOnpiLrnf4qR2aytBn1+JOAhnA==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "resolve-from@5.0.0", "tslib@2.8.1" @@ -807,7 +731,7 @@ "@graphql-tools/json-file-loader@8.0.26_graphql@16.13.2": { "integrity": "sha512-kwy9IFi5QtXXTLBgWkvA1RqsZeJDn0CxsTbhNlziCzmga9fNo7qtZ18k9FYIq3EIoQQlok+b7W7yeyJATA2xhw==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "globby", "graphql", "tslib@2.8.1", @@ -818,7 +742,7 @@ "integrity": "sha512-gxO662b64qZSToK3N6XUxWG5E6HOUjlg5jEnmGvD4bMtGJ0HwEe/BaVZbBQemCfLkxYjwRIBiVfOY9o0JyjZJg==", "dependencies": [ "@graphql-tools/schema", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "p-limit", "tslib@2.8.1" @@ -827,7 +751,7 @@ "@graphql-tools/merge@9.1.7_graphql@16.13.2": { "integrity": "sha512-Y5E1vTbTabvcXbkakdFUt4zUIzB1fyaEnVmIWN0l0GMed2gdD01TpZWLUm4RNAxpturvolrb24oGLQrBbPLSoQ==", "dependencies": [ - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.8.1" ] @@ -839,34 +763,11 @@ "tslib@2.8.1" ] }, - "@graphql-tools/prisma-loader@8.0.17_graphql@16.13.2": { - "integrity": "sha512-fnuTLeQhqRbA156pAyzJYN0KxCjKYRU5bz1q/SKOwElSnAU4k7/G1kyVsWLh7fneY78LoMNH5n+KlFV8iQlnyg==", - "dependencies": [ - "@graphql-tools/url-loader@8.0.33_graphql@16.13.2", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@types/js-yaml", - "@whatwg-node/fetch", - "chalk", - "debug", - "dotenv", - "graphql", - "graphql-request@6.1.0_graphql@16.13.2", - "http-proxy-agent", - "https-proxy-agent", - "jose", - "js-yaml", - "lodash", - "scuid", - "tslib@2.8.1", - "yaml-ast-parser" - ], - "deprecated": true - }, "@graphql-tools/relay-operation-optimizer@7.1.1_graphql@16.13.2": { "integrity": "sha512-va+ZieMlz6Fj18xUbwyQkZ34PsnzIdPT6Ccy1BNOQw1iclQwk52HejLMZeE/4fH+4cu80Q2HXi5+FjCKpmnJCg==", "dependencies": [ "@ardatan/relay-compiler", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.8.1" ] @@ -875,57 +776,29 @@ "integrity": "sha512-ZewRgWhXef6weZ0WiP7/MV47HXiuFbFpiDUVLQl6mgXsWSsGELKFxQsyUCBos60Qqy1JEFAIu3Ns6GGYjGkqkQ==", "dependencies": [ "@graphql-tools/merge", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "graphql", "tslib@2.8.1" ] }, - "@graphql-tools/url-loader@8.0.33_graphql@16.13.2": { - "integrity": "sha512-Fu626qcNHcqAj8uYd7QRarcJn5XZ863kmxsg1sm0fyjyfBJnsvC7ddFt6Hayz5kxVKfsnjxiDfPMXanvsQVBKw==", - "dependencies": [ - "@graphql-tools/executor-graphql-ws@2.0.7_graphql@16.13.2", - "@graphql-tools/executor-http@1.3.3_graphql@16.13.2", - "@graphql-tools/executor-legacy-ws", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@graphql-tools/wrap@10.1.4_graphql@16.13.2", - "@types/ws", - "@whatwg-node/fetch", - "@whatwg-node/promise-helpers", - "graphql", - "isomorphic-ws", - "sync-fetch@0.6.0-2", - "tslib@2.8.1", - "ws" - ] - }, "@graphql-tools/url-loader@9.0.6_graphql@16.13.2": { "integrity": "sha512-QdJI3f7ANDMYfYazRgJzzybznjOrQAOuDXweC9xmKgPZoTqNxEAsatiy69zcpTf6092taJLyrqRH6R7xUTzf4A==", "dependencies": [ - "@graphql-tools/executor-graphql-ws@3.1.5_graphql@16.13.2", - "@graphql-tools/executor-http@3.1.1_graphql@16.13.2", + "@graphql-tools/executor-graphql-ws", + "@graphql-tools/executor-http", "@graphql-tools/executor-legacy-ws", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", - "@graphql-tools/wrap@11.1.12_graphql@16.13.2", + "@graphql-tools/utils", + "@graphql-tools/wrap", "@types/ws", "@whatwg-node/fetch", "@whatwg-node/promise-helpers", "graphql", "isomorphic-ws", - "sync-fetch@0.6.0", + "sync-fetch", "tslib@2.8.1", "ws" ] }, - "@graphql-tools/utils@10.11.0_graphql@16.13.2": { - "integrity": "sha512-iBFR9GXIs0gCD+yc3hoNswViL1O5josI33dUqiNStFI/MHLCEPduasceAcazRH77YONKNiviHBV8f7OgcT4o2Q==", - "dependencies": [ - "@graphql-typed-document-node/core", - "@whatwg-node/promise-helpers", - "cross-inspect", - "graphql", - "tslib@2.8.1" - ] - }, "@graphql-tools/utils@11.0.0_graphql@16.13.2": { "integrity": "sha512-bM1HeZdXA2C3LSIeLOnH/bcqSgbQgKEDrjxODjqi3y58xai2TkNrtYcQSoWzGbt9VMN1dORGjR7Vem8SPnUFQA==", "dependencies": [ @@ -936,23 +809,12 @@ "tslib@2.8.1" ] }, - "@graphql-tools/wrap@10.1.4_graphql@16.13.2": { - "integrity": "sha512-7pyNKqXProRjlSdqOtrbnFRMQAVamCmEREilOXtZujxY6kYit3tvWWSjUrcIOheltTffoRh7EQSjpy2JDCzasg==", - "dependencies": [ - "@graphql-tools/delegate@10.2.23_graphql@16.13.2", - "@graphql-tools/schema", - "@graphql-tools/utils@10.11.0_graphql@16.13.2", - "@whatwg-node/promise-helpers", - "graphql", - "tslib@2.8.1" - ] - }, "@graphql-tools/wrap@11.1.12_graphql@16.13.2": { "integrity": "sha512-PJ0tuiGbEOOZAJk2/pTKyzMEbwBncPBfO7Z84tCPzM/CAR4ZlAXbXjaXOw4fdi0ReUDyOG06Z8DGgEQjr68dKw==", "dependencies": [ - "@graphql-tools/delegate@12.0.12_graphql@16.13.2", + "@graphql-tools/delegate", "@graphql-tools/schema", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", + "@graphql-tools/utils", "@whatwg-node/promise-helpers", "graphql", "tslib@2.8.1" @@ -964,6 +826,55 @@ "graphql" ] }, + "@inquirer/ansi@1.0.2": { + "integrity": "sha512-S8qNSZiYzFd0wAcyG5AXCvUHC5Sr7xpZ9wZ2py9XR88jUz8wooStVx5M6dRzczbBWjic9NP7+rY0Xi7qqK/aMQ==" + }, + "@inquirer/checkbox@4.3.2": { + "integrity": "sha512-VXukHf0RR1doGe6Sm4F0Em7SWYLTHSsbGfJdS9Ja2bX5/D5uwVOEjr07cncLROdBvmnvCATYEWlHqYmXv2IlQA==", + "dependencies": [ + "@inquirer/ansi", + "@inquirer/core", + "@inquirer/figures", + "@inquirer/type", + "yoctocolors-cjs" + ] + }, + "@inquirer/confirm@5.1.21": { + "integrity": "sha512-KR8edRkIsUayMXV+o3Gv+q4jlhENF9nMYUZs9PA2HzrXeHI8M5uDag70U7RJn9yyiMZSbtF5/UexBtAVtZGSbQ==", + "dependencies": [ + "@inquirer/core", + "@inquirer/type" + ] + }, + "@inquirer/core@10.3.2": { + "integrity": "sha512-43RTuEbfP8MbKzedNqBrlhhNKVwoK//vUFNW3Q3vZ88BLcrs4kYpGg+B2mm5p2K/HfygoCxuKwJJiv8PbGmE0A==", + "dependencies": [ + "@inquirer/ansi", + "@inquirer/figures", + "@inquirer/type", + "cli-width", + "mute-stream", + "signal-exit", + "wrap-ansi@6.2.0", + "yoctocolors-cjs" + ] + }, + "@inquirer/editor@4.2.23": { + "integrity": "sha512-aLSROkEwirotxZ1pBaP8tugXRFCxW94gwrQLxXfrZsKkfjOYC1aRvAZuhpJOb5cu4IBTJdsCigUlf2iCOu4ZDQ==", + "dependencies": [ + "@inquirer/core", + "@inquirer/external-editor", + "@inquirer/type" + ] + }, + "@inquirer/expand@4.0.23": { + "integrity": "sha512-nRzdOyFYnpeYTTR2qFwEVmIWypzdAx/sIkCMeTNTcflFOovfqUk+HcFhQQVBftAh9gmGrpFj6QcGEqrDMDOiew==", + "dependencies": [ + "@inquirer/core", + "@inquirer/type", + "yoctocolors-cjs" + ] + }, "@inquirer/external-editor@1.0.3": { "integrity": "sha512-RWbSrDiYmO4LbejWY7ttpxczuwQyZLBUyygsA9Nsv95hpzUWwnNTVQmAq3xuh7vNwCp07UTmE5i11XAEExx4RA==", "dependencies": [ @@ -971,6 +882,76 @@ "iconv-lite" ] }, + "@inquirer/figures@1.0.15": { + "integrity": "sha512-t2IEY+unGHOzAaVM5Xx6DEWKeXlDDcNPeDyUpsRc6CUhBfU3VQOEl+Vssh7VNp1dR8MdUJBWhuObjXCsVpjN5g==" + }, + "@inquirer/input@4.3.1": { + "integrity": "sha512-kN0pAM4yPrLjJ1XJBjDxyfDduXOuQHrBB8aLDMueuwUGn+vNpF7Gq7TvyVxx8u4SHlFFj4trmj+a2cbpG4Jn1g==", + "dependencies": [ + "@inquirer/core", + "@inquirer/type" + ] + }, + "@inquirer/number@3.0.23": { + "integrity": "sha512-5Smv0OK7K0KUzUfYUXDXQc9jrf8OHo4ktlEayFlelCjwMXz0299Y8OrI+lj7i4gCBY15UObk76q0QtxjzFcFcg==", + "dependencies": [ + "@inquirer/core", + "@inquirer/type" + ] + }, + "@inquirer/password@4.0.23": { + "integrity": "sha512-zREJHjhT5vJBMZX/IUbyI9zVtVfOLiTO66MrF/3GFZYZ7T4YILW5MSkEYHceSii/KtRk+4i3RE7E1CUXA2jHcA==", + "dependencies": [ + "@inquirer/ansi", + "@inquirer/core", + "@inquirer/type" + ] + }, + "@inquirer/prompts@7.10.1": { + "integrity": "sha512-Dx/y9bCQcXLI5ooQ5KyvA4FTgeo2jYj/7plWfV5Ak5wDPKQZgudKez2ixyfz7tKXzcJciTxqLeK7R9HItwiByg==", + "dependencies": [ + "@inquirer/checkbox", + "@inquirer/confirm", + "@inquirer/editor", + "@inquirer/expand", + "@inquirer/input", + "@inquirer/number", + "@inquirer/password", + "@inquirer/rawlist", + "@inquirer/search", + "@inquirer/select" + ] + }, + "@inquirer/rawlist@4.1.11": { + "integrity": "sha512-+LLQB8XGr3I5LZN/GuAHo+GpDJegQwuPARLChlMICNdwW7OwV2izlCSCxN6cqpL0sMXmbKbFcItJgdQq5EBXTw==", + "dependencies": [ + "@inquirer/core", + "@inquirer/type", + "yoctocolors-cjs" + ] + }, + "@inquirer/search@3.2.2": { + "integrity": "sha512-p2bvRfENXCZdWF/U2BXvnSI9h+tuA8iNqtUKb9UWbmLYCRQxd8WkvwWvYn+3NgYaNwdUkHytJMGG4MMLucI1kA==", + "dependencies": [ + "@inquirer/core", + "@inquirer/figures", + "@inquirer/type", + "yoctocolors-cjs" + ] + }, + "@inquirer/select@4.4.2": { + "integrity": "sha512-l4xMuJo55MAe+N7Qr4rX90vypFwCajSakx59qe/tMaC1aEHWLyw68wF4o0A4SLAY4E0nd+Vt+EyskeDIqu1M6w==", + "dependencies": [ + "@inquirer/ansi", + "@inquirer/core", + "@inquirer/figures", + "@inquirer/type", + "yoctocolors-cjs" + ] + }, + "@inquirer/type@3.0.10": { + "integrity": "sha512-BvziSRxfz5Ov8ch0z/n3oijRSEcEsHnhggm4xFZe93DHcUCTlutlq9Ox4SVENAfcRD22UQq7T/atg9Wr3k09eA==" + }, "@jridgewell/gen-mapping@0.3.13": { "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dependencies": [ @@ -1024,9 +1005,6 @@ "@types/ms" ] }, - "@types/js-yaml@4.0.9": { - "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==" - }, "@types/mdast@4.0.4": { "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", "dependencies": [ @@ -1080,40 +1058,33 @@ "tslib@2.8.1" ] }, - "agent-base@7.1.4": { - "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==" - }, - "aggregate-error@3.1.0": { - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dependencies": [ - "clean-stack", - "indent-string" - ] - }, - "ansi-escapes@4.3.2": { - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "ansi-escapes@7.3.0": { + "integrity": "sha512-BvU8nYgGQBxcmMuEeUEmNTvrMVjJNSH7RgW24vXexN4Ven6qCvy4TntnvlnwnMLTVlcRQQdbRY8NKnaIoeWDNg==", "dependencies": [ - "type-fest" + "environment" ] }, "ansi-regex@5.0.1": { "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" }, + "ansi-regex@6.2.2": { + "integrity": "sha512-Bq3SmSpyFHaWjPk8If9yc6svM8c56dB5BAtW4Qbw5jHTwwXXcTLoRMkpDJp6VL0XzlWaCHTXrkFURMYmD0sLqg==" + }, "ansi-styles@4.3.0": { "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dependencies": [ "color-convert" ] }, + "ansi-styles@6.2.3": { + "integrity": "sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg==" + }, "argparse@2.0.1": { "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, "array-union@2.1.0": { "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==" }, - "astral-regex@2.0.0": { - "integrity": "sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==" - }, "auto-bind@4.0.0": { "integrity": "sha512-Hdw8qdNiqdJ8LqT0iK0sVzkFbzg6fhnQqqfWhBDxcHZvU75+B+ayzTy8x+k5Ix0Y92XOhOUlx74ps+bA6BeYMQ==" }, @@ -1123,21 +1094,10 @@ "balanced-match@4.0.4": { "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==" }, - "base64-js@1.5.1": { - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" - }, - "baseline-browser-mapping@2.10.10": { - "integrity": "sha512-sUoJ3IMxx4AyRqO4MLeHlnGDkyXRoUG0/AI9fjK+vS72ekpV0yWVY7O0BVjmBcRtkNcsAO2QDZ4tdKKGoI6YaQ==", + "baseline-browser-mapping@2.10.13": { + "integrity": "sha512-BL2sTuHOdy0YT1lYieUxTw/QMtPBC3pmlJC6xk8BBYVv6vcw3SGdKemQ+Xsx9ik2F/lYDO9tqsFQH1r9PFuHKw==", "bin": true }, - "bl@4.1.0": { - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dependencies": [ - "buffer", - "inherits", - "readable-stream" - ] - }, "brace-expansion@5.0.5": { "integrity": "sha512-VZznLgtwhn+Mact9tfiwx64fA9erHH/MCXEUfB/0bX/6Fz6ny5EGTXYltMocqg4xFAQZtnO3DHWWXi8RiuN7cQ==", "dependencies": [ @@ -1150,8 +1110,8 @@ "fill-range" ] }, - "browserslist@4.28.1": { - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", + "browserslist@4.28.2": { + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", "dependencies": [ "baseline-browser-mapping", "caniuse-lite", @@ -1161,13 +1121,6 @@ ], "bin": true }, - "buffer@5.7.1": { - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dependencies": [ - "base64-js", - "ieee754" - ] - }, "callsites@3.1.0": { "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==" }, @@ -1178,8 +1131,8 @@ "tslib@2.8.1" ] }, - "caniuse-lite@1.0.30001781": { - "integrity": "sha512-RdwNCyMsNBftLjW6w01z8bKEvT6e/5tpPVEgtn22TiLGlstHOVecsX2KHFkD5e/vRnIE4EGzpuIODb3mtswtkw==" + "caniuse-lite@1.0.30001782": { + "integrity": "sha512-dZcaJLJeDMh4rELYFw1tvSn1bhZWYFOt468FcbHHxx/Z/dFidd1I6ciyFdi3iwfQCyOjqo9upF6lGQYtMiJWxw==" }, "capital-case@1.0.4": { "integrity": "sha512-ds37W8CytHgwnhGGTi88pcPyR15qoNkOpYwmMMfnWqqWgESapLqvDx6huFjQ5vqWSn2Z06173XNA7LtMOeUh1A==", @@ -1192,7 +1145,7 @@ "chalk@4.1.2": { "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dependencies": [ - "ansi-styles", + "ansi-styles@4.3.0", "supports-color" ] }, @@ -1234,39 +1187,30 @@ "chardet@2.1.1": { "integrity": "sha512-PsezH1rqdV9VvyNhxxOW32/d75r01NY7TQCmOqomRo15ZSOKbpTFVsfjghxo6JloQUCGnH4k1LGu0R4yCLlWQQ==" }, - "clean-stack@2.2.0": { - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==" - }, - "cli-cursor@3.1.0": { - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "cli-cursor@5.0.0": { + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dependencies": [ "restore-cursor" ] }, - "cli-spinners@2.9.2": { - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==" - }, - "cli-truncate@2.1.0": { - "integrity": "sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==", + "cli-truncate@5.2.0": { + "integrity": "sha512-xRwvIOMGrfOAnM1JYtqQImuaNtDEv9v6oIYAs4LIHwTiKee8uwvIi363igssOC0O5U04i4AlENs79LQLu9tEMw==", "dependencies": [ - "slice-ansi@3.0.0", - "string-width" + "slice-ansi@8.0.0", + "string-width@8.2.0" ] }, - "cli-width@3.0.0": { - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" + "cli-width@4.1.0": { + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==" }, "cliui@8.0.1": { "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dependencies": [ - "string-width", - "strip-ansi", + "string-width@4.2.3", + "strip-ansi@6.0.1", "wrap-ansi@7.0.0" ] }, - "clone@1.0.4": { - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==" - }, "color-convert@2.0.1": { "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dependencies": [ @@ -1302,10 +1246,13 @@ "path-type" ] }, - "cross-fetch@3.2.0": { - "integrity": "sha512-Q+xVJLoGOeIMXZmbUK4HYk+69cQH6LudR0Vu/pRm2YlU/hDV9CiS0gKUMaWY5f2NeUH9C1nV3bsTlCo0FsTV1Q==", + "cosmiconfig@9.0.1": { + "integrity": "sha512-hr4ihw+DBqcvrsEDioRO31Z17x71pUYoNe/4h6Z0wB72p7MU7/9gH8Q3s12NFhHPfYBBOV3qyfUxmr/Yn3shnQ==", "dependencies": [ - "node-fetch@2.7.0" + "env-paths", + "import-fresh", + "js-yaml", + "parse-json" ] }, "cross-inspect@1.0.1": { @@ -1320,8 +1267,8 @@ "dataloader@2.2.3": { "integrity": "sha512-y2krtASINtPFS1rSDjacrFgn1dcUuoREVabwlOGOe4SdxenREqwjwjElAdwvbGM7kgZz9a3KVicWR7vcz8rnzA==" }, - "debounce@1.2.1": { - "integrity": "sha512-XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==" + "debounce@2.2.0": { + "integrity": "sha512-Xks6RUDLZFdz8LIdR6q0MTH44k7FikOmnh5xkSjMig6ch45afc8sjTjRQf3P6ax8dMgcQrYO/AR2RGWURrruqw==" }, "debug@4.4.3": { "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", @@ -1335,14 +1282,8 @@ "character-entities" ] }, - "defaults@1.0.4": { - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dependencies": [ - "clone" - ] - }, - "dependency-graph@0.11.0": { - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==" + "dependency-graph@1.0.0": { + "integrity": "sha512-cW3gggJ28HZ/LExwxP2B++aiKxhJXMSIt9K48FOXQkm+vuG5gyatXnLsONRJdzO/7VfjDIiaOOa/bs4l464Lwg==" }, "dequal@2.0.3": { "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==" @@ -1369,18 +1310,21 @@ "tslib@2.8.1" ] }, - "dotenv@16.6.1": { - "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==" + "electron-to-chromium@1.5.330": { + "integrity": "sha512-jFNydB5kFtYUobh4IkWUnXeyDbjf/r9gcUEXe1xcrcUxIGfTdzPXA+ld6zBRbwvgIGVzDll/LTIiDztEtckSnA==" }, - "dset@3.1.4": { - "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==" - }, - "electron-to-chromium@1.5.325": { - "integrity": "sha512-PwfIw7WQSt3xX7yOf5OE/unLzsK9CaN2f/FvV3WjPR1Knoc1T9vePRVV4W1EM301JzzysK51K7FNKcusCr0zYA==" + "emoji-regex@10.6.0": { + "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==" }, "emoji-regex@8.0.0": { "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" }, + "env-paths@2.2.1": { + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==" + }, + "environment@1.1.0": { + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==" + }, "error-ex@1.3.4": { "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", "dependencies": [ @@ -1390,8 +1334,8 @@ "escalade@3.2.0": { "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==" }, - "escape-string-regexp@1.0.5": { - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==" + "eventemitter3@5.0.4": { + "integrity": "sha512-mlsTRyGaPBjPedk6Bvw+aqbsXDtoAyAzm5MO7JgU+yVRyMQ5O8bD4Kcci7BS85f93veegeCPkL8R4GLClnjLFw==" }, "extend@3.0.2": { "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" @@ -1419,12 +1363,6 @@ "web-streams-polyfill" ] }, - "figures@3.2.0": { - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": [ - "escape-string-regexp" - ] - }, "fill-range@7.1.1": { "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dependencies": [ @@ -1443,6 +1381,9 @@ "get-caller-file@2.0.5": { "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" }, + "get-east-asian-width@1.5.0": { + "integrity": "sha512-CQ+bEO+Tva/qlmw24dCejulK5pMzVnUOFOijVogd3KQs07HnRIgp8TGipvCCRT06xeYEbpbgwaCxglFyiuIcmA==" + }, "glob-parent@5.1.2": { "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dependencies": [ @@ -1467,24 +1408,16 @@ "@graphql-tools/json-file-loader", "@graphql-tools/load", "@graphql-tools/merge", - "@graphql-tools/url-loader@9.0.6_graphql@16.13.2", - "@graphql-tools/utils@11.0.0_graphql@16.13.2", - "cosmiconfig", + "@graphql-tools/url-loader", + "@graphql-tools/utils", + "cosmiconfig@8.3.6", "graphql", - "jiti@2.6.1", + "jiti", "minimatch", "string-env-interpolation", "tslib@2.8.1" ] }, - "graphql-request@6.1.0_graphql@16.13.2": { - "integrity": "sha512-p+XPfS4q7aIpKVcgmnZKhMNqhltk20hfXtkaIkTfjjmiKMJ5xrt5c743cL03y/K7y1rg3WrIC49xGiEQ4mxdNw==", - "dependencies": [ - "@graphql-typed-document-node/core", - "cross-fetch", - "graphql" - ] - }, "graphql-request@7.4.0_graphql@16.13.2": { "integrity": "sha512-xfr+zFb/QYbs4l4ty0dltqiXIp07U6sl+tOKAb0t50/EnQek6CVVBLjETXi+FghElytvgaAWtIOt3EV7zLzIAQ==", "dependencies": [ @@ -1499,8 +1432,8 @@ "tslib@2.8.1" ] }, - "graphql-ws@6.0.7_graphql@16.13.2_ws@8.20.0": { - "integrity": "sha512-yoLRW+KRlDmnnROdAu7sX77VNLC0bsFoZyGQJLy1cF+X/SkLg/fWkRGrEEYQK8o2cafJ2wmEaMqMEZB3U3DYDg==", + "graphql-ws@6.0.8_graphql@16.13.2_ws@8.20.0": { + "integrity": "sha512-m3EOaNsUBXwAnkBWbzPfe0Nq8pXUfxsWnolC54sru3FzHvhTZL0Ouf/BoQsaGAXqM+YPerXOJ47BUnmgmoupCw==", "dependencies": [ "graphql", "ws" @@ -1522,29 +1455,12 @@ "tslib@2.8.1" ] }, - "http-proxy-agent@7.0.2": { - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dependencies": [ - "agent-base", - "debug" - ] - }, - "https-proxy-agent@7.0.6": { - "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", - "dependencies": [ - "agent-base", - "debug" - ] - }, "iconv-lite@0.7.2": { "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==", "dependencies": [ "safer-buffer" ] }, - "ieee754@1.2.1": { - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" - }, "ignore@5.3.2": { "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==" }, @@ -1561,32 +1477,6 @@ "import-from@4.0.0": { "integrity": "sha512-P9J71vT5nLlDeV8FHs5nNxaLbrpfAV5cF5srvbZfpwpcJoM/xZR3hiv+q+SAnuSmuGbXMWud063iIMx/V/EWZQ==" }, - "indent-string@4.0.0": { - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==" - }, - "inherits@2.0.4": { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "inquirer@8.2.7": { - "integrity": "sha512-UjOaSel/iddGZJ5xP/Eixh6dY1XghiBw4XK13rCCIJcJfyhhoul/7KhLLUGtebEj6GDYM6Vnx/mVsjx2L/mFIA==", - "dependencies": [ - "@inquirer/external-editor", - "ansi-escapes", - "chalk", - "cli-cursor", - "cli-width", - "figures", - "lodash", - "mute-stream", - "ora", - "run-async", - "rxjs", - "string-width", - "strip-ansi", - "through", - "wrap-ansi@6.2.0" - ] - }, "invariant@2.2.4": { "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", "dependencies": [ @@ -1609,15 +1499,18 @@ "is-fullwidth-code-point@3.0.0": { "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" }, + "is-fullwidth-code-point@5.1.0": { + "integrity": "sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==", + "dependencies": [ + "get-east-asian-width" + ] + }, "is-glob@4.0.3": { "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dependencies": [ "is-extglob" ] }, - "is-interactive@1.0.0": { - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==" - }, "is-lower-case@2.0.2": { "integrity": "sha512-bVcMJy4X5Og6VZfdOZstSexlEy20Sr0k/p/b2IlQJlfdKAQuMpiv5w2Ccxb8sKdRUNAG1PnHVHjFSdRDVS6NlQ==", "dependencies": [ @@ -1666,17 +1559,10 @@ "ws" ] }, - "jiti@1.21.7": { - "integrity": "sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==", - "bin": true - }, "jiti@2.6.1": { "integrity": "sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==", "bin": true }, - "jose@5.10.0": { - "integrity": "sha512-s+3Al/p9g32Iq+oqXxkW//7jk2Vig6FF1CFqzVXoTUXt2qz89YWbL+OwS17NFYEvxC35n0FKeGO2LGYSxeM2Gg==" - }, "js-tokens@4.0.0": { "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" }, @@ -1705,58 +1591,58 @@ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "bin": true }, - "lefthook-darwin-arm64@1.13.6": { - "integrity": "sha512-m6Lb77VGc84/Qo21Lhq576pEvcgFCnvloEiP02HbAHcIXD0RTLy9u2yAInrixqZeaz13HYtdDaI7OBYAAdVt8A==", + "lefthook-darwin-arm64@2.1.4": { + "integrity": "sha512-BUAAE9+rUrjr39a+wH/1zHmGrDdwUQ2Yq/z6BQbM/yUb9qtXBRcQ5eOXxApqWW177VhGBpX31aqIlfAZ5Q7wzw==", "os": ["darwin"], "cpu": ["arm64"] }, - "lefthook-darwin-x64@1.13.6": { - "integrity": "sha512-CoRpdzanu9RK3oXR1vbEJA5LN7iB+c7hP+sONeQJzoOXuq4PNKVtEaN84Gl1BrVtCNLHWFAvCQaZPPiiXSy8qg==", + "lefthook-darwin-x64@2.1.4": { + "integrity": "sha512-K1ncIMEe84fe+ss1hQNO7rIvqiKy2TJvTFpkypvqFodT7mJXZn7GLKYTIXdIuyPAYthRa9DwFnx5uMoHwD2F1Q==", "os": ["darwin"], "cpu": ["x64"] }, - "lefthook-freebsd-arm64@1.13.6": { - "integrity": "sha512-X4A7yfvAJ68CoHTqP+XvQzdKbyd935sYy0bQT6Ajz7FL1g7hFiro8dqHSdPdkwei9hs8hXeV7feyTXbYmfjKQQ==", + "lefthook-freebsd-arm64@2.1.4": { + "integrity": "sha512-PVUhjOhVN71YaYsVdQyNbFZ4a2jFB2Tg5hKrrn9kaWpx64aLz/XivLjwr8sEuTaP1GRlEWBpW6Bhrcsyo39qFw==", "os": ["freebsd"], "cpu": ["arm64"] }, - "lefthook-freebsd-x64@1.13.6": { - "integrity": "sha512-ai2m+Sj2kGdY46USfBrCqLKe9GYhzeq01nuyDYCrdGISePeZ6udOlD1k3lQKJGQCHb0bRz4St0r5nKDSh1x/2A==", + "lefthook-freebsd-x64@2.1.4": { + "integrity": "sha512-ZWV9o/LeyWNEBoVO+BhLqxH3rGTba05nkm5NvMjEFSj7LbUNUDbQmupZwtHl1OMGJO66eZP0CalzRfUH6GhBxQ==", "os": ["freebsd"], "cpu": ["x64"] }, - "lefthook-linux-arm64@1.13.6": { - "integrity": "sha512-cbo4Wtdq81GTABvikLORJsAWPKAJXE8Q5RXsICFUVznh5PHigS9dFW/4NXywo0+jfFPCT6SYds2zz4tCx6DA0Q==", + "lefthook-linux-arm64@2.1.4": { + "integrity": "sha512-iWN0pGnTjrIvNIcSI1vQBJXUbybTqJ5CLMniPA0olabMXQfPDrdMKVQe+mgdwHK+E3/Y0H0ZNL3lnOj6Sk6szA==", "os": ["linux"], "cpu": ["arm64"] }, - "lefthook-linux-x64@1.13.6": { - "integrity": "sha512-uJl9vjCIIBTBvMZkemxCE+3zrZHlRO7Oc+nZJ+o9Oea3fu+W82jwX7a7clw8jqNfaeBS+8+ZEQgiMHWCloTsGw==", + "lefthook-linux-x64@2.1.4": { + "integrity": "sha512-96bTBE/JdYgqWYAJDh+/e/0MaxJ25XTOAk7iy/fKoZ1ugf6S0W9bEFbnCFNooXOcxNVTan5xWKfcjJmPIKtsJA==", "os": ["linux"], "cpu": ["x64"] }, - "lefthook-openbsd-arm64@1.13.6": { - "integrity": "sha512-7r153dxrNRQ9ytRs2PmGKKkYdvZYFPre7My7XToSTiRu5jNCq++++eAKVkoyWPduk97dGIA+YWiEr5Noe0TK2A==", + "lefthook-openbsd-arm64@2.1.4": { + "integrity": "sha512-oYUoK6AIJNEr9lUSpIMj6g7sWzotvtc3ryw7yoOyQM6uqmEduw73URV/qGoUcm4nqqmR93ZalZwR2r3Gd61zvw==", "os": ["openbsd"], "cpu": ["arm64"] }, - "lefthook-openbsd-x64@1.13.6": { - "integrity": "sha512-Z+UhLlcg1xrXOidK3aLLpgH7KrwNyWYE3yb7ITYnzJSEV8qXnePtVu8lvMBHs/myzemjBzeIr/U/+ipjclR06g==", + "lefthook-openbsd-x64@2.1.4": { + "integrity": "sha512-i/Dv9Jcm68y9cggr1PhyUhOabBGP9+hzQPoiyOhKks7y9qrJl79A8XfG6LHekSuYc2VpiSu5wdnnrE1cj2nfTg==", "os": ["openbsd"], "cpu": ["x64"] }, - "lefthook-windows-arm64@1.13.6": { - "integrity": "sha512-Uxef6qoDxCmUNQwk8eBvddYJKSBFglfwAY9Y9+NnnmiHpWTjjYiObE9gT2mvGVpEgZRJVAatBXc+Ha5oDD/OgQ==", + "lefthook-windows-arm64@2.1.4": { + "integrity": "sha512-hSww7z+QX4YMnw2lK7DMrs3+w7NtxksuMKOkCKGyxUAC/0m1LAICo0ZbtdDtZ7agxRQQQ/SEbzFRhU5ysNcbjA==", "os": ["win32"], "cpu": ["arm64"] }, - "lefthook-windows-x64@1.13.6": { - "integrity": "sha512-mOZoM3FQh3o08M8PQ/b3IYuL5oo36D9ehczIw1dAgp1Ly+Tr4fJ96A+4SEJrQuYeRD4mex9bR7Ps56I73sBSZA==", + "lefthook-windows-x64@2.1.4": { + "integrity": "sha512-eE68LwnogxwcPgGsbVGPGxmghyMGmU9SdGwcc+uhGnUxPz1jL89oECMWJNc36zjVK24umNeDAzB5KA3lw1MuWw==", "os": ["win32"], "cpu": ["x64"] }, - "lefthook@1.13.6": { - "integrity": "sha512-ojj4/4IJ29Xn4drd5emqVgilegAPN3Kf0FQM2p/9+lwSTpU+SZ1v4Ig++NF+9MOa99UKY8bElmVrLhnUUNFh5g==", + "lefthook@2.1.4": { + "integrity": "sha512-JNfJ5gAn0KADvJ1I6/xMcx70+/6TL6U9gqGkKvPw5RNMfatC7jIg0Evl97HN846xmfz959BV70l8r3QsBJk30w==", "optionalDependencies": [ "lefthook-darwin-arm64", "lefthook-darwin-x64", @@ -1775,24 +1661,22 @@ "lines-and-columns@1.2.4": { "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" }, - "listr2@4.0.5": { - "integrity": "sha512-juGHV1doQdpNT3GSTs9IUN43QJb7KHdF9uqg7Vufs/tG9VTzpFphqF4pm/ICdAABGQxsyNn9CiYA3StkI6jpwA==", + "listr2@9.0.5": { + "integrity": "sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g==", "dependencies": [ "cli-truncate", "colorette", + "eventemitter3", "log-update", - "p-map", "rfdc", - "rxjs", - "through", - "wrap-ansi@7.0.0" + "wrap-ansi@9.0.2" ] }, "lodash.sortby@4.7.0": { "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==" }, - "lodash@4.17.23": { - "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" + "lodash@4.17.21": { + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "log-symbols@4.1.0": { "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", @@ -1801,13 +1685,14 @@ "is-unicode-supported" ] }, - "log-update@4.0.0": { - "integrity": "sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==", + "log-update@6.1.0": { + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dependencies": [ "ansi-escapes", "cli-cursor", - "slice-ansi@4.0.0", - "wrap-ansi@6.2.0" + "slice-ansi@7.1.2", + "strip-ansi@7.2.0", + "wrap-ansi@9.0.2" ] }, "longest-streak@3.1.0": { @@ -2067,11 +1952,11 @@ "picomatch" ] }, - "mimic-fn@2.1.0": { - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + "mimic-function@5.0.1": { + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==" }, - "minimatch@10.2.4": { - "integrity": "sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==", + "minimatch@10.2.5": { + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dependencies": [ "brace-expansion" ] @@ -2079,8 +1964,8 @@ "ms@2.1.3": { "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" }, - "mute-stream@0.0.8": { - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + "mute-stream@2.0.0": { + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==" }, "no-case@3.0.4": { "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", @@ -2093,12 +1978,6 @@ "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", "deprecated": true }, - "node-fetch@2.7.0": { - "integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==", - "dependencies": [ - "whatwg-url" - ] - }, "node-fetch@3.3.2": { "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", "dependencies": [ @@ -2116,24 +1995,10 @@ "remove-trailing-separator" ] }, - "onetime@5.1.2": { - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": [ - "mimic-fn" - ] - }, - "ora@5.4.1": { - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", + "onetime@7.0.0": { + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dependencies": [ - "bl", - "chalk", - "cli-cursor", - "cli-spinners", - "is-interactive", - "is-unicode-supported", - "log-symbols", - "strip-ansi", - "wcwidth" + "mimic-function" ] }, "p-limit@3.1.0": { @@ -2142,12 +2007,6 @@ "yocto-queue" ] }, - "p-map@4.0.0": { - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dependencies": [ - "aggregate-error" - ] - }, "param-case@3.0.4": { "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", "dependencies": [ @@ -2213,14 +2072,6 @@ "queue-microtask@1.2.3": { "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==" }, - "readable-stream@3.6.2": { - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dependencies": [ - "inherits", - "string_decoder", - "util-deprecate" - ] - }, "remark-parse@11.0.0": { "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", "dependencies": [ @@ -2256,8 +2107,8 @@ "resolve-from@5.0.0": { "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==" }, - "restore-cursor@3.1.0": { - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "restore-cursor@5.1.0": { + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dependencies": [ "onetime", "signal-exit" @@ -2269,24 +2120,12 @@ "rfdc@1.4.1": { "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==" }, - "run-async@2.4.1": { - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==" - }, "run-parallel@1.2.0": { "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dependencies": [ "queue-microtask" ] }, - "rxjs@7.8.2": { - "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", - "dependencies": [ - "tslib@2.8.1" - ] - }, - "safe-buffer@5.2.1": { - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" - }, "safer-buffer@2.1.2": { "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, @@ -2296,9 +2135,6 @@ "truncate-utf8-bytes" ] }, - "scuid@1.1.0": { - "integrity": "sha512-MuCAyrGZcTLfQoH2XoBlQ8C6bzwN88XT/0slOGz0pn8+gIP85BOAfYa44ZXQUTOwRwPU0QvgU+V+OSajl/59Xg==" - }, "semver@6.3.1": { "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "bin": true @@ -2314,26 +2150,24 @@ "shell-quote@1.8.3": { "integrity": "sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==" }, - "signal-exit@3.0.7": { - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" + "signal-exit@4.1.0": { + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==" }, "slash@3.0.0": { "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, - "slice-ansi@3.0.0": { - "integrity": "sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==", + "slice-ansi@7.1.2": { + "integrity": "sha512-iOBWFgUX7caIZiuutICxVgX1SdxwAVFFKwt1EvMYYec/NWO5meOJ6K5uQxhrYBdQJne4KxiqZc+KptFOWFSI9w==", "dependencies": [ - "ansi-styles", - "astral-regex", - "is-fullwidth-code-point" + "ansi-styles@6.2.3", + "is-fullwidth-code-point@5.1.0" ] }, - "slice-ansi@4.0.0": { - "integrity": "sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==", + "slice-ansi@8.0.0": { + "integrity": "sha512-stxByr12oeeOyY2BlviTNQlYV5xOj47GirPr4yA1hE9JCtxfQN0+tVbkxwCtYDQWhEKWFHsEK48ORg5jrouCAg==", "dependencies": [ - "ansi-styles", - "astral-regex", - "is-fullwidth-code-point" + "ansi-styles@6.2.3", + "is-fullwidth-code-point@5.1.0" ] }, "snake-case@3.0.4": { @@ -2355,21 +2189,36 @@ "string-width@4.2.3": { "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dependencies": [ - "emoji-regex", - "is-fullwidth-code-point", - "strip-ansi" + "emoji-regex@8.0.0", + "is-fullwidth-code-point@3.0.0", + "strip-ansi@6.0.1" + ] + }, + "string-width@7.2.0": { + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dependencies": [ + "emoji-regex@10.6.0", + "get-east-asian-width", + "strip-ansi@7.2.0" ] }, - "string_decoder@1.3.0": { - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "string-width@8.2.0": { + "integrity": "sha512-6hJPQ8N0V0P3SNmP6h2J99RLuzrWz2gvT7VnK5tKvrNqJoyS9W4/Fb8mo31UiPvy00z7DQXkP2hnKBVav76thw==", "dependencies": [ - "safe-buffer" + "get-east-asian-width", + "strip-ansi@7.2.0" ] }, "strip-ansi@6.0.1": { "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dependencies": [ - "ansi-regex" + "ansi-regex@5.0.1" + ] + }, + "strip-ansi@7.2.0": { + "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", + "dependencies": [ + "ansi-regex@6.2.2" ] }, "supports-color@7.2.0": { @@ -2387,22 +2236,11 @@ "sync-fetch@0.6.0": { "integrity": "sha512-IELLEvzHuCfc1uTsshPK58ViSdNqXxlml1U+fmwJIKLYKOr/rAtBrorE2RYm5IHaMpDNlmC0fr1LAvdXvyheEQ==", "dependencies": [ - "node-fetch@3.3.2", + "node-fetch", "timeout-signal", "whatwg-mimetype" ] }, - "sync-fetch@0.6.0-2": { - "integrity": "sha512-c7AfkZ9udatCuAy9RSfiGPpeOKKUAUK5e1cXadLOGUjasdxqYqAK0jTNkM/FSEyJ3a5Ra27j/tw/PS0qLmaF/A==", - "dependencies": [ - "node-fetch@3.3.2", - "timeout-signal", - "whatwg-mimetype" - ] - }, - "through@2.3.8": { - "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" - }, "timeout-signal@2.0.0": { "integrity": "sha512-YBGpG4bWsHoPvofT6y/5iqulfXIiIErl5B0LdtHT1mGXDFTAhhRrbUpTvBgYbovr+3cKblya2WAOcpoy90XguA==" }, @@ -2418,9 +2256,6 @@ "is-number" ] }, - "tr46@0.0.3": { - "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" - }, "trough@2.2.0": { "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==" }, @@ -2439,9 +2274,6 @@ "tslib@2.8.1": { "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==" }, - "type-fest@0.21.3": { - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" - }, "unc-path-regex@0.1.2": { "integrity": "sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==" }, @@ -2493,7 +2325,7 @@ "normalize-path" ] }, - "update-browserslist-db@1.2.3_browserslist@4.28.1": { + "update-browserslist-db@1.2.3_browserslist@4.28.2": { "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dependencies": [ "browserslist", @@ -2520,9 +2352,6 @@ "utf8-byte-length@1.0.5": { "integrity": "sha512-Xn0w3MtiQ6zoz2vFyUVruaCL53O/DwUvkEeOvj+uulMm0BkUGYWmBYVyElqZaSLhY6ZD0ulfU3aBra2aVT4xfA==" }, - "util-deprecate@1.0.2": { - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" - }, "valibot@1.3.1": { "integrity": "sha512-sfdRir/QFM0JaF22hqTroPc5xy4DimuGQVKFrzF1YfGwaS1nJot3Y8VqMdLO2Lg27fMzat2yD3pY5PbAYO39Gg==" }, @@ -2540,42 +2369,34 @@ "vfile-message" ] }, - "wcwidth@1.0.1": { - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dependencies": [ - "defaults" - ] - }, "web-streams-polyfill@3.3.3": { "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==" }, - "webidl-conversions@3.0.1": { - "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" - }, "whatwg-mimetype@4.0.0": { "integrity": "sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==" }, - "whatwg-url@5.0.0": { - "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", - "dependencies": [ - "tr46", - "webidl-conversions" - ] - }, "wrap-ansi@6.2.0": { "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dependencies": [ - "ansi-styles", - "string-width", - "strip-ansi" + "ansi-styles@4.3.0", + "string-width@4.2.3", + "strip-ansi@6.0.1" ] }, "wrap-ansi@7.0.0": { "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dependencies": [ - "ansi-styles", - "string-width", - "strip-ansi" + "ansi-styles@4.3.0", + "string-width@4.2.3", + "strip-ansi@6.0.1" + ] + }, + "wrap-ansi@9.0.2": { + "integrity": "sha512-42AtmgqjV+X1VpdOfyTGOYRi0/zsoLqtXQckTmqTeybT+BDIbM/Guxo7x3pE2vtpr1ok6xRqM9OpBe+Jyoqyww==", + "dependencies": [ + "ansi-styles@6.2.3", + "string-width@7.2.0", + "strip-ansi@7.2.0" ] }, "ws@8.20.0": { @@ -2587,9 +2408,6 @@ "yallist@3.1.1": { "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==" }, - "yaml-ast-parser@0.0.43": { - "integrity": "sha512-2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==" - }, "yaml@2.8.3": { "integrity": "sha512-AvbaCLOO2Otw/lW5bmh9d/WEdcDFdQp2Z2ZUH3pX9U2ihyUY0nvLv7J6TrWowklRGPYbB/IuIMfYgxaCPg5Bpg==", "bin": true @@ -2604,7 +2422,7 @@ "escalade", "get-caller-file", "require-directory", - "string-width", + "string-width@4.2.3", "y18n", "yargs-parser" ] @@ -2612,40 +2430,43 @@ "yocto-queue@0.1.0": { "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==" }, + "yoctocolors-cjs@2.1.3": { + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==" + }, "zwitch@2.0.4": { "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==" } }, "workspace": { "dependencies": [ - "jsr:@cliffy/ansi@^1.0.0-rc.8", - "jsr:@cliffy/command@^1.0.0-rc.8", - "jsr:@cliffy/internal@^1.0.0-rc.8", - "jsr:@cliffy/prompt@^1.0.0-rc.8", - "jsr:@cliffy/testing@^1.0.0-rc.8", + "jsr:@cliffy/ansi@1", + "jsr:@cliffy/command@1", + "jsr:@cliffy/internal@1", + "jsr:@cliffy/prompt@1", + "jsr:@cliffy/testing@1", "jsr:@littletof/charmd@~0.1.2", "jsr:@opensrc/deno-open@1", - "jsr:@std/assert@1", - "jsr:@std/cli@^1.0.12", - "jsr:@std/dotenv@~0.225.3", - "jsr:@std/encoding@^1.0.5", - "jsr:@std/fmt@1", - "jsr:@std/fs@^1.0.20", - "jsr:@std/path@^1.0.8", - "jsr:@std/testing@1", - "jsr:@std/toml@^1.0.2", - "npm:@graphql-codegen/cli@^5.0.7", + "jsr:@std/assert@^1.0.19", + "jsr:@std/cli@^1.0.28", + "jsr:@std/dotenv@~0.225.6", + "jsr:@std/encoding@^1.0.10", + "jsr:@std/fmt@^1.0.9", + "jsr:@std/fs@^1.0.23", + "jsr:@std/path@^1.1.4", + "jsr:@std/testing@^1.0.17", + "jsr:@std/toml@^1.0.11", + "npm:@graphql-codegen/cli@^6.2.1", "npm:@graphql-typed-document-node/core@^3.2.0", "npm:@types/mdast@^4.0.4", - "npm:graphql-request@^7.2.0", - "npm:graphql@^16.8.1", - "npm:lefthook@^1.12.3", + "npm:graphql-request@^7.4.0", + "npm:graphql@^16.13.2", + "npm:lefthook@^2.1.4", "npm:remark-parse@11", "npm:remark-stringify@11", - "npm:sanitize-filename@^1.6.3", + "npm:sanitize-filename@^1.6.4", "npm:unified@^11.0.5", - "npm:unist-util-visit@5", - "npm:valibot@^1.2.0" + "npm:unist-util-visit@^5.1.0", + "npm:valibot@^1.3.1" ] } } diff --git a/src/keyring/linux.ts b/src/keyring/linux.ts index f79772df..3ef64679 100644 --- a/src/keyring/linux.ts +++ b/src/keyring/linux.ts @@ -58,7 +58,19 @@ export const linuxBackend: KeyringBackend = { stdout: "piped", stderr: "piped", }).output() - return result.success + if (!result.success) { + return false + } + + const probe = await secretTool([ + "lookup", + "service", + SERVICE, + "account", + "__linear_cli_probe__", + ]) + + return probe.success || (probe.code === 1 && probe.stderr === "") } catch { return false } diff --git a/test/commands/issue/issue-list.test.ts b/test/commands/issue/issue-list.test.ts index 4e6527ba..b886d590 100644 --- a/test/commands/issue/issue-list.test.ts +++ b/test/commands/issue/issue-list.test.ts @@ -1,5 +1,6 @@ -import { snapshotTest } from "@cliffy/testing" -import { assertThrows } from "@std/assert" +import { snapshotTest as cliffySnapshotTest } from "@cliffy/testing" +import { assertEquals, assertThrows } from "@std/assert" +import { stub } from "@std/testing/mock" import { listCommand } from "../../../src/commands/issue/issue-list.ts" import { parseDateFilter } from "../../../src/utils/linear.ts" import { ValidationError } from "../../../src/utils/errors.ts" @@ -9,7 +10,7 @@ import { } from "../../utils/test-helpers.ts" // Test help output -await snapshotTest({ +await cliffySnapshotTest({ name: "Issue List Command - Help Text", meta: import.meta, colors: false, @@ -20,66 +21,85 @@ await snapshotTest({ }, }) -await snapshotTest({ - name: "Issue List Command - Filter By Label", - meta: import.meta, - colors: false, - args: ["--label", "Bug", "--team", "ENG", "--sort", "priority"], - denoArgs: commonDenoArgs, - async fn() { - const { cleanup } = await setupMockLinearServer([ - { - queryName: "GetTeamIdByKey", - variables: { team: "ENG" }, - response: { - data: { - teams: { - nodes: [{ id: "team-eng-id" }], - }, +Deno.test("Issue List Command - Filter By Label", async () => { + const fixedNow = new Date("2026-03-30T10:00:00.000Z") + const RealDate = Date + class MockDate extends RealDate { + constructor(value?: string | number | Date) { + super(value == null ? fixedNow.toISOString() : value) + } + + static override now(): number { + return fixedNow.getTime() + } + } + globalThis.Date = MockDate as DateConstructor + + const { cleanup } = await setupMockLinearServer([ + { + queryName: "GetTeamIdByKey", + variables: { team: "ENG" }, + response: { + data: { + teams: { + nodes: [{ id: "team-eng-id" }], }, }, }, - { - queryName: "GetIssuesForState", - response: { - data: { - issues: { - nodes: [ - { - id: "issue-1", - identifier: "ENG-101", - title: "Fix login bug", - priority: 1, - estimate: 3, - assignee: { initials: "MC" }, - state: { - id: "state-1", - name: "In Progress", - color: "#f2c94c", - }, - labels: { - nodes: [{ - id: "label-1", - name: "Bug", - color: "#eb5757", - }], - }, - updatedAt: "2026-03-13T10:00:00.000Z", + }, + { + queryName: "GetIssuesForState", + response: { + data: { + issues: { + nodes: [ + { + id: "issue-1", + identifier: "ENG-101", + title: "Fix login bug", + priority: 1, + estimate: 3, + assignee: { initials: "MC" }, + state: { + id: "state-1", + name: "In Progress", + color: "#f2c94c", + }, + labels: { + nodes: [{ + id: "label-1", + name: "Bug", + color: "#eb5757", + }], }, - ], - pageInfo: { hasNextPage: false, endCursor: null }, - }, + updatedAt: "2026-03-13T10:00:00.000Z", + }, + ], + pageInfo: { hasNextPage: false, endCursor: null }, }, }, }, - ], { LINEAR_TEAM_ID: "ENG", LINEAR_ISSUE_SORT: "priority" }) + }, + ], { LINEAR_TEAM_ID: "ENG", LINEAR_ISSUE_SORT: "priority", NO_COLOR: "true" }) - try { - await listCommand.parse() - } finally { - await cleanup() - } - }, + const logs: string[] = [] + const logStub = stub(console, "log", (...args: unknown[]) => { + logs.push(args.map(String).join(" ")) + }) + + try { + await listCommand.parse(["--label", "Bug", "--team", "ENG", "--sort", "priority"]) + + assertEquals( + logs.join("\n") + "\n", + "◌ ID TITLE LABELS E STATE UPDATED \n" + + "⚠⚠⚠ ENG-101 Fix login bug Bug 3 In Progress 17 days ago\n", + ) + } finally { + logStub.restore() + globalThis.Date = RealDate + await cleanup() + } }) // parseDateFilter unit tests diff --git a/test/keyring.integration.test.ts b/test/keyring.integration.test.ts index ad6f072d..3f022437 100644 --- a/test/keyring.integration.test.ts +++ b/test/keyring.integration.test.ts @@ -2,6 +2,7 @@ import { assertEquals } from "@std/assert" import { deletePassword, getPassword, + isAvailable, setPassword, } from "../src/keyring/index.ts" @@ -11,6 +12,10 @@ Deno.test({ name: "keyring integration - set, get, and delete round-trip", sanitizeResources: Deno.build.os !== "windows", fn: async () => { + if (!await isAvailable()) { + console.log("Skipping keyring integration test: backend unavailable") + return + } try { assertEquals(await getPassword(TEST_ACCOUNT), null) diff --git a/test/utils/mock_linear_server.ts b/test/utils/mock_linear_server.ts index 025036bd..7a2bbd52 100644 --- a/test/utils/mock_linear_server.ts +++ b/test/utils/mock_linear_server.ts @@ -20,7 +20,7 @@ interface MockResponse { export class MockLinearServer { private server?: Deno.HttpServer - private port = 3333 + private port = 0 private mockResponses: MockResponse[] constructor(responses: MockResponse[] = []) { @@ -28,7 +28,11 @@ export class MockLinearServer { } async start(): Promise { - this.server = Deno.serve({ port: this.port }, (request) => { + this.server = Deno.serve({ + hostname: "127.0.0.1", + port: this.port, + onListen: () => {}, + }, (request) => { // Handle CORS preflight if (request.method === "OPTIONS") { return new Response(null, { @@ -52,6 +56,10 @@ export class MockLinearServer { return new Response("Not Found", { status: 404 }) }) + if ("port" in this.server.addr) { + this.port = this.server.addr.port + } + // Wait a bit for server to start await new Promise((resolve) => setTimeout(resolve, 100)) } From 744157481f52ecd048a2b0004a6a998e540746cf Mon Sep 17 00:00:00 2001 From: Peter Schilling Date: Wed, 1 Apr 2026 07:47:45 -0700 Subject: [PATCH 2/3] style: format issue list test for CI --- test/commands/issue/issue-list.test.ts | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/test/commands/issue/issue-list.test.ts b/test/commands/issue/issue-list.test.ts index b886d590..a26562cb 100644 --- a/test/commands/issue/issue-list.test.ts +++ b/test/commands/issue/issue-list.test.ts @@ -88,7 +88,14 @@ Deno.test("Issue List Command - Filter By Label", async () => { }) try { - await listCommand.parse(["--label", "Bug", "--team", "ENG", "--sort", "priority"]) + await listCommand.parse([ + "--label", + "Bug", + "--team", + "ENG", + "--sort", + "priority", + ]) assertEquals( logs.join("\n") + "\n", From b94785a007967b936ec58fd0212bd4e2a2a179d3 Mon Sep 17 00:00:00 2001 From: Peter Schilling Date: Wed, 1 Apr 2026 07:55:52 -0700 Subject: [PATCH 3/3] test: disable colors in issue list assertion --- test/commands/issue/issue-list.test.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/test/commands/issue/issue-list.test.ts b/test/commands/issue/issue-list.test.ts index a26562cb..9895fa04 100644 --- a/test/commands/issue/issue-list.test.ts +++ b/test/commands/issue/issue-list.test.ts @@ -1,5 +1,6 @@ import { snapshotTest as cliffySnapshotTest } from "@cliffy/testing" import { assertEquals, assertThrows } from "@std/assert" +import { getColorEnabled, setColorEnabled } from "@std/fmt/colors" import { stub } from "@std/testing/mock" import { listCommand } from "../../../src/commands/issue/issue-list.ts" import { parseDateFilter } from "../../../src/utils/linear.ts" @@ -24,6 +25,7 @@ await cliffySnapshotTest({ Deno.test("Issue List Command - Filter By Label", async () => { const fixedNow = new Date("2026-03-30T10:00:00.000Z") const RealDate = Date + const originalColorEnabled = getColorEnabled() class MockDate extends RealDate { constructor(value?: string | number | Date) { super(value == null ? fixedNow.toISOString() : value) @@ -34,6 +36,7 @@ Deno.test("Issue List Command - Filter By Label", async () => { } } globalThis.Date = MockDate as DateConstructor + setColorEnabled(false) const { cleanup } = await setupMockLinearServer([ { @@ -105,6 +108,7 @@ Deno.test("Issue List Command - Filter By Label", async () => { } finally { logStub.restore() globalThis.Date = RealDate + setColorEnabled(originalColorEnabled) await cleanup() } })