diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55d46c5e9..b9bd5eb4d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -13,8 +13,9 @@ jobs: strategy: matrix: node-version: - - 18 - - 20 + - lts/-1 + - lts/* + - latest steps: - uses: actions/checkout@v4 diff --git a/.github/workflows/integration-c.yml b/.github/workflows/integration-c.yml index b5da70091..f9e151427 100644 --- a/.github/workflows/integration-c.yml +++ b/.github/workflows/integration-c.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_c + run: docker compose run integration_c - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-csharp.yml b/.github/workflows/integration-csharp.yml index 63fe7a3c8..0865b93eb 100644 --- a/.github/workflows/integration-csharp.yml +++ b/.github/workflows/integration-csharp.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_csharp + run: docker compose run integration_csharp - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-go.yml b/.github/workflows/integration-go.yml index 597d85556..8948a344c 100644 --- a/.github/workflows/integration-go.yml +++ b/.github/workflows/integration-go.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_golang + run: docker compose run integration_golang - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-node.yml b/.github/workflows/integration-node.yml index 636de02e4..4938b813f 100644 --- a/.github/workflows/integration-node.yml +++ b/.github/workflows/integration-node.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_node + run: docker compose run integration_node - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-php.yml b/.github/workflows/integration-php.yml index 3dd951c42..c486f269f 100644 --- a/.github/workflows/integration-php.yml +++ b/.github/workflows/integration-php.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_php + run: docker compose run integration_php - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-python.yml b/.github/workflows/integration-python.yml index 7111584e1..283b088f7 100644 --- a/.github/workflows/integration-python.yml +++ b/.github/workflows/integration-python.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_python + run: docker compose run integration_python - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.github/workflows/integration-shell.yml b/.github/workflows/integration-shell.yml index 2a8123d16..687d32108 100644 --- a/.github/workflows/integration-shell.yml +++ b/.github/workflows/integration-shell.yml @@ -7,8 +7,8 @@ jobs: - uses: actions/checkout@v4 - name: Run tests - run: docker-compose run integration_shell + run: docker compose run integration_shell - name: Cleanup if: always() - run: docker-compose down + run: docker compose down diff --git a/.vscode/settings.json b/.vscode/settings.json index c256ef48a..90c7e0089 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,10 +1,15 @@ { + "editor.defaultFormatter": "esbenp.prettier-vscode", "editor.codeActionsOnSave": { "source.fixAll": "explicit" }, - "editor.defaultFormatter": "esbenp.prettier-vscode", + "editor.formatOnSave": true, // controlled by the .editorconfig at root since we can't map vscode settings directly to files // https://github.com/microsoft/vscode/issues/35350 - "files.insertFinalNewline": false + "files.insertFinalNewline": false, + + "search.exclude": { + "coverage": true + } } diff --git a/README.md b/README.md index 4380f04d1..3bb04fcc0 100644 --- a/README.md +++ b/README.md @@ -109,8 +109,8 @@ console.log( }), ); -// generate Node.js: Unirest output -console.log(snippet.convert('node', 'unirest')); +// generate Node.js: Axios output +console.log(snippet.convert('node', 'axios')); ``` ### addTarget(target) diff --git a/docker-compose.yml b/docker-compose.yml index 9e030f1c5..4acd614ca 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -22,7 +22,7 @@ services: - HTTPS_KEY_FILE=/https-cert/httpbin.org-key.pem networks: default: - # on the docker-compose network, this proxy will be aliased as + # on the `docker compose` network, this proxy will be aliased as # httpbin.org. To make this work with HTTPS, each integration test # container needs to install the root CA contained in # ./integrations/https-cert/rootCA.pem diff --git a/integrations/node.Dockerfile b/integrations/node.Dockerfile index 22b91b0ce..f599f3082 100755 --- a/integrations/node.Dockerfile +++ b/integrations/node.Dockerfile @@ -13,10 +13,7 @@ WORKDIR /src ADD package.json /src/ # https://www.npmjs.com/package/axios -# https://www.npmjs.com/package/request -# Installing node-fetch@2 because as of 3.0 is't now an ESM-only package. -# https://www.npmjs.com/package/node-fetch -RUN npm install axios request node-fetch@2 && \ +RUN npm install axios && \ npm install ADD . /src diff --git a/package-lock.json b/package-lock.json index 42c18d787..75e972eec 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@readme/httpsnippet", - "version": "10.0.5", + "version": "10.1.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@readme/httpsnippet", - "version": "10.0.5", + "version": "10.1.0", "license": "MIT", "dependencies": { "qs": "^6.11.2", @@ -16,17 +16,17 @@ "@readme/eslint-config": "^14.0.0", "@types/eslint": "^8.44.7", "@types/har-format": "^1.2.15", - "@types/node": "^20.12.5", + "@types/node": "^22.0.2", "@types/qs": "^6.9.10", "@types/stringify-object": "^4.0.5", - "@vitest/coverage-v8": "^1.1.1", + "@vitest/coverage-v8": "^2.0.5", "eslint": "^8.57.0", "prettier": "^3.0.3", "require-directory": "^2.1.1", "tsup": "^8.0.1", "type-fest": "^4.15.0", "typescript": "^5.4.4", - "vitest": "^1.1.1" + "vitest": "^2.0.5" }, "engines": { "node": ">=18" @@ -42,129 +42,59 @@ } }, "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", "dev": true, "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" } }, "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz", + "integrity": "sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==", "dev": true, "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" + "@babel/highlight": "^7.24.7", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" } }, - "node_modules/@babel/code-frame/node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/@babel/code-frame/node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/@babel/code-frame/node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/@babel/code-frame/node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", + "version": "7.24.8", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz", + "integrity": "sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz", + "integrity": "sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz", + "integrity": "sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.7", "chalk": "^2.4.2", - "js-tokens": "^4.0.0" + "js-tokens": "^4.0.0", + "picocolors": "^1.0.0" }, "engines": { "node": ">=6.9.0" @@ -242,10 +172,13 @@ } }, "node_modules/@babel/parser": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz", - "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "version": "7.25.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz", + "integrity": "sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw==", "dev": true, + "dependencies": { + "@babel/types": "^7.25.2" + }, "bin": { "parser": "bin/babel-parser.js" }, @@ -266,13 +199,13 @@ } }, "node_modules/@babel/types": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz", - "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==", + "version": "7.25.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz", + "integrity": "sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==", "dev": true, "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-string-parser": "^7.24.8", + "@babel/helper-validator-identifier": "^7.24.7", "to-fast-properties": "^2.0.0" }, "engines": { @@ -286,9 +219,9 @@ "dev": true }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz", - "integrity": "sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "cpu": [ "ppc64" ], @@ -298,13 +231,13 @@ "aix" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.8.tgz", - "integrity": "sha512-31E2lxlGM1KEfivQl8Yf5aYU/mflz9g06H6S15ITUFQueMFtFjESRMoDSkvMo8thYvLBax+VKTPlpnx+sPicOA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", "cpu": [ "arm" ], @@ -318,9 +251,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.8.tgz", - "integrity": "sha512-B8JbS61bEunhfx8kasogFENgQfr/dIp+ggYXwTqdbMAgGDhRa3AaPpQMuQU0rNxDLECj6FhDzk1cF9WHMVwrtA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", "cpu": [ "arm64" ], @@ -334,9 +267,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.8.tgz", - "integrity": "sha512-rdqqYfRIn4jWOp+lzQttYMa2Xar3OK9Yt2fhOhzFXqg0rVWEfSclJvZq5fZslnz6ypHvVf3CT7qyf0A5pM682A==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", "cpu": [ "x64" ], @@ -350,9 +283,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.8.tgz", - "integrity": "sha512-RQw9DemMbIq35Bprbboyf8SmOr4UXsRVxJ97LgB55VKKeJOOdvsIPy0nFyF2l8U+h4PtBx/1kRf0BelOYCiQcw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", "cpu": [ "arm64" ], @@ -366,9 +299,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.8.tgz", - "integrity": "sha512-3sur80OT9YdeZwIVgERAysAbwncom7b4bCI2XKLjMfPymTud7e/oY4y+ci1XVp5TfQp/bppn7xLw1n/oSQY3/Q==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", "cpu": [ "x64" ], @@ -382,9 +315,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.8.tgz", - "integrity": "sha512-WAnPJSDattvS/XtPCTj1tPoTxERjcTpH6HsMr6ujTT+X6rylVe8ggxk8pVxzf5U1wh5sPODpawNicF5ta/9Tmw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", "cpu": [ "arm64" ], @@ -398,9 +331,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.8.tgz", - "integrity": "sha512-ICvZyOplIjmmhjd6mxi+zxSdpPTKFfyPPQMQTK/w+8eNK6WV01AjIztJALDtwNNfFhfZLux0tZLC+U9nSyA5Zg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", "cpu": [ "x64" ], @@ -414,9 +347,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.8.tgz", - "integrity": "sha512-H4vmI5PYqSvosPaTJuEppU9oz1dq2A7Mr2vyg5TF9Ga+3+MGgBdGzcyBP7qK9MrwFQZlvNyJrvz6GuCaj3OukQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", "cpu": [ "arm" ], @@ -430,9 +363,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.8.tgz", - "integrity": "sha512-z1zMZivxDLHWnyGOctT9JP70h0beY54xDDDJt4VpTX+iwA77IFsE1vCXWmprajJGa+ZYSqkSbRQ4eyLCpCmiCQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", "cpu": [ "arm64" ], @@ -446,9 +379,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.8.tgz", - "integrity": "sha512-1a8suQiFJmZz1khm/rDglOc8lavtzEMRo0v6WhPgxkrjcU0LkHj+TwBrALwoz/OtMExvsqbbMI0ChyelKabSvQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", "cpu": [ "ia32" ], @@ -462,9 +395,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.8.tgz", - "integrity": "sha512-fHZWS2JJxnXt1uYJsDv9+b60WCc2RlvVAy1F76qOLtXRO+H4mjt3Tr6MJ5l7Q78X8KgCFudnTuiQRBhULUyBKQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", "cpu": [ "loong64" ], @@ -478,9 +411,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.8.tgz", - "integrity": "sha512-Wy/z0EL5qZYLX66dVnEg9riiwls5IYnziwuju2oUiuxVc+/edvqXa04qNtbrs0Ukatg5HEzqT94Zs7J207dN5Q==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", "cpu": [ "mips64el" ], @@ -494,9 +427,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.8.tgz", - "integrity": "sha512-ETaW6245wK23YIEufhMQ3HSeHO7NgsLx8gygBVldRHKhOlD1oNeNy/P67mIh1zPn2Hr2HLieQrt6tWrVwuqrxg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", "cpu": [ "ppc64" ], @@ -510,9 +443,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.8.tgz", - "integrity": "sha512-T2DRQk55SgoleTP+DtPlMrxi/5r9AeFgkhkZ/B0ap99zmxtxdOixOMI570VjdRCs9pE4Wdkz7JYrsPvsl7eESg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", "cpu": [ "riscv64" ], @@ -526,9 +459,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.8.tgz", - "integrity": "sha512-NPxbdmmo3Bk7mbNeHmcCd7R7fptJaczPYBaELk6NcXxy7HLNyWwCyDJ/Xx+/YcNH7Im5dHdx9gZ5xIwyliQCbg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", "cpu": [ "s390x" ], @@ -542,9 +475,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.8.tgz", - "integrity": "sha512-lytMAVOM3b1gPypL2TRmZ5rnXl7+6IIk8uB3eLsV1JwcizuolblXRrc5ShPrO9ls/b+RTp+E6gbsuLWHWi2zGg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", "cpu": [ "x64" ], @@ -558,9 +491,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.8.tgz", - "integrity": "sha512-hvWVo2VsXz/8NVt1UhLzxwAfo5sioj92uo0bCfLibB0xlOmimU/DeAEsQILlBQvkhrGjamP0/el5HU76HAitGw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", "cpu": [ "x64" ], @@ -573,10 +506,26 @@ "node": ">=12" } }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.8.tgz", - "integrity": "sha512-/7Y7u77rdvmGTxR83PgaSvSBJCC2L3Kb1M/+dmSIvRvQPXXCuC97QAwMugBNG0yGcbEGfFBH7ojPzAOxfGNkwQ==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", "cpu": [ "x64" ], @@ -590,9 +539,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.8.tgz", - "integrity": "sha512-9Lc4s7Oi98GqFA4HzA/W2JHIYfnXbUYgekUP/Sm4BG9sfLjyv6GKKHKKVs83SMicBF2JwAX6A1PuOLMqpD001w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", "cpu": [ "x64" ], @@ -606,9 +555,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.8.tgz", - "integrity": "sha512-rq6WzBGjSzihI9deW3fC2Gqiak68+b7qo5/3kmB6Gvbh/NYPA0sJhrnp7wgV4bNwjqM+R2AApXGxMO7ZoGhIJg==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", "cpu": [ "arm64" ], @@ -622,9 +571,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.8.tgz", - "integrity": "sha512-AIAbverbg5jMvJznYiGhrd3sumfwWs8572mIJL5NQjJa06P8KfCPWZQ0NwZbPQnbQi9OWSZhFVSUWjjIrn4hSw==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", "cpu": [ "ia32" ], @@ -638,9 +587,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.8.tgz", - "integrity": "sha512-bfZ0cQ1uZs2PqpulNL5j/3w+GDhP36k1K5c38QdQg+Swy51jFZWWeIkteNsufkQxp986wnqRRsb/bHbY1WQ7TA==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", "cpu": [ "x64" ], @@ -742,36 +691,68 @@ "integrity": "sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw==", "dev": true }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=8" + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@jest/schemas": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", - "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, "dependencies": { - "@sinclair/typebox": "^0.27.8" + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": ">=8" } }, "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", + "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.1", + "@jridgewell/set-array": "^1.2.1", "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" + "@jridgewell/trace-mapping": "^0.3.24" }, "engines": { "node": ">=6.0.0" @@ -787,18 +768,18 @@ } }, "node_modules/@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", + "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", "dev": true, "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -846,32 +827,43 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@readme/eslint-config": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/@readme/eslint-config/-/eslint-config-14.0.0.tgz", - "integrity": "sha512-mdjFIrsbaRnyrFuzEdxUnVIuhlqSjiK0rdiQAtwUK+iK1WtdfdS5NW3WWDpoWRl5PRxmJNrU5KLdiJu1v4X6tg==", + "version": "14.1.2", + "resolved": "https://registry.npmjs.org/@readme/eslint-config/-/eslint-config-14.1.2.tgz", + "integrity": "sha512-KhdKYK9GBxA36YAYx6jNIbs4/n/zxKEnEfs3XvVbEwmtkojlGdF+oWQlnzelZeBgKwh0/Je2cD2haauC7186Pw==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "^7.4.0", - "@typescript-eslint/parser": "^7.4.0", + "@typescript-eslint/eslint-plugin": "^8.0.0", + "@typescript-eslint/parser": "^8.0.0", "eslint-config-airbnb-base": "^15.0.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-typescript": "^3.5.5", "eslint-plugin-eslint-comments": "^3.2.0", "eslint-plugin-import": "^2.28.1", - "eslint-plugin-jest": "^27.9.0", + "eslint-plugin-jest": "^28.3.0", "eslint-plugin-jest-dom": "^5.2.0", "eslint-plugin-jest-formatting": "^3.0.0", "eslint-plugin-jsx-a11y": "^6.7.1", "eslint-plugin-node": "^11.1.0", - "eslint-plugin-react": "^7.34.1", + "eslint-plugin-react": "^7.34.4", "eslint-plugin-react-hooks": "^4.6.0", - "eslint-plugin-readme": "^2.0.0", + "eslint-plugin-readme": "^2.0.6", "eslint-plugin-require-extensions": "^0.1.3", "eslint-plugin-testing-library": "^6.0.1", + "eslint-plugin-try-catch-failsafe": "^0.1.4", "eslint-plugin-typescript-sort-keys": "^3.2.0", - "eslint-plugin-unicorn": "^51.0.1", - "eslint-plugin-vitest": "^0.4.1", + "eslint-plugin-unicorn": "^55.0.0", + "eslint-plugin-vitest": "^0.5.4", "eslint-plugin-you-dont-need-lodash-underscore": "^6.12.0", "lodash": "^4.17.21" }, @@ -883,10 +875,216 @@ "prettier": "^3.0.0" } }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/eslint-plugin": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.3.0.tgz", + "integrity": "sha512-FLAIn63G5KH+adZosDYiutqkOkYEx0nvcwNNfJAf+c7Ae/H35qWwTYvPZUKFj5AS+WfHG/WJJfWnDnyNUlp8UA==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "8.3.0", + "@typescript-eslint/type-utils": "8.3.0", + "@typescript-eslint/utils": "8.3.0", + "@typescript-eslint/visitor-keys": "8.3.0", + "graphemer": "^1.4.0", + "ignore": "^5.3.1", + "natural-compare": "^1.4.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.3.0.tgz", + "integrity": "sha512-h53RhVyLu6AtpUzVCYLPhZGL5jzTD9fZL+SYf/+hYOx2bDkyQXztXSc4tbvKYHzfMXExMLiL9CWqJmVz6+78IQ==", + "dev": true, + "dependencies": { + "@typescript-eslint/scope-manager": "8.3.0", + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/typescript-estree": "8.3.0", + "@typescript-eslint/visitor-keys": "8.3.0", + "debug": "^4.3.4" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/scope-manager": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.3.0.tgz", + "integrity": "sha512-mz2X8WcN2nVu5Hodku+IR8GgCOl4C0G/Z1ruaWN4dgec64kDBabuXyPAr+/RgJtumv8EEkqIzf3X2U5DUKB2eg==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/visitor-keys": "8.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/type-utils": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.3.0.tgz", + "integrity": "sha512-wrV6qh//nLbfXZQoj32EXKmwHf4b7L+xXLrP3FZ0GOUU72gSvLjeWUl5J5Ue5IwRxIV1TfF73j/eaBapxx99Lg==", + "dev": true, + "dependencies": { + "@typescript-eslint/typescript-estree": "8.3.0", + "@typescript-eslint/utils": "8.3.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/types": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.3.0.tgz", + "integrity": "sha512-y6sSEeK+facMaAyixM36dQ5NVXTnKWunfD1Ft4xraYqxP0lC0POJmIaL/mw72CUMqjY9qfyVfXafMeaUj0noWw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/typescript-estree": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.3.0.tgz", + "integrity": "sha512-Mq7FTHl0R36EmWlCJWojIC1qn/ZWo2YiWYc1XVtasJ7FIgjo0MVv9rZWXEE7IK2CGrtwe1dVOxWwqXUdNgfRCA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/visitor-keys": "8.3.0", + "debug": "^4.3.4", + "fast-glob": "^3.3.2", + "is-glob": "^4.0.3", + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/utils": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.3.0.tgz", + "integrity": "sha512-F77WwqxIi/qGkIGOGXNBLV7nykwfjLsdauRB/DOFPdv6LTF3BHHkBpq81/b5iMPSF055oO2BiivDJV4ChvNtXA==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.4.0", + "@typescript-eslint/scope-manager": "8.3.0", + "@typescript-eslint/types": "8.3.0", + "@typescript-eslint/typescript-estree": "8.3.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0" + } + }, + "node_modules/@readme/eslint-config/node_modules/@typescript-eslint/visitor-keys": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.3.0.tgz", + "integrity": "sha512-RmZwrTbQ9QveF15m/Cl28n0LXD6ea2CjkhH5rQ55ewz3H24w+AMCJHPVYaZ8/0HoG8Z3cLLFFycRXxeO2tz9FA==", + "dev": true, + "dependencies": { + "@typescript-eslint/types": "8.3.0", + "eslint-visitor-keys": "^3.4.3" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + } + }, + "node_modules/@readme/eslint-config/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@readme/eslint-config/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.2.tgz", - "integrity": "sha512-3XFIDKWMFZrMnao1mJhnOT1h2g0169Os848NhhmGweEcfJ4rCi+3yMCOLG4zA61rbJdkcrM/DjVZm9Hg5p5w7g==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.19.2.tgz", + "integrity": "sha512-OHflWINKtoCFSpm/WmuQaWW4jeX+3Qt3XQDepkkiFTsoxFc5BpF3Z5aDxFZgBqRjO6ATP5+b1iilp4kGIZVWlA==", "cpu": [ "arm" ], @@ -897,9 +1095,9 @@ ] }, "node_modules/@rollup/rollup-android-arm64": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.2.tgz", - "integrity": "sha512-GdxxXbAuM7Y/YQM9/TwwP+L0omeE/lJAR1J+olu36c3LqqZEBdsIWeQ91KBe6nxwOnb06Xh7JS2U5ooWU5/LgQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.19.2.tgz", + "integrity": "sha512-k0OC/b14rNzMLDOE6QMBCjDRm3fQOHAL8Ldc9bxEWvMo4Ty9RY6rWmGetNTWhPo+/+FNd1lsQYRd0/1OSix36A==", "cpu": [ "arm64" ], @@ -910,9 +1108,9 @@ ] }, "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.2.tgz", - "integrity": "sha512-mCMlpzlBgOTdaFs83I4XRr8wNPveJiJX1RLfv4hggyIVhfB5mJfN4P8Z6yKh+oE4Luz+qq1P3kVdWrCKcMYrrA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.19.2.tgz", + "integrity": "sha512-IIARRgWCNWMTeQH+kr/gFTHJccKzwEaI0YSvtqkEBPj7AshElFq89TyreKNFAGh5frLfDCbodnq+Ye3dqGKPBw==", "cpu": [ "arm64" ], @@ -923,9 +1121,9 @@ ] }, "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.2.tgz", - "integrity": "sha512-yUoEvnH0FBef/NbB1u6d3HNGyruAKnN74LrPAfDQL3O32e3k3OSfLrPgSJmgb3PJrBZWfPyt6m4ZhAFa2nZp2A==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.19.2.tgz", + "integrity": "sha512-52udDMFDv54BTAdnw+KXNF45QCvcJOcYGl3vQkp4vARyrcdI/cXH8VXTEv/8QWfd6Fru8QQuw1b2uNersXOL0g==", "cpu": [ "x64" ], @@ -936,9 +1134,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.2.tgz", - "integrity": "sha512-GYbLs5ErswU/Xs7aGXqzc3RrdEjKdmoCrgzhJWyFL0r5fL3qd1NPcDKDowDnmcoSiGJeU68/Vy+OMUluRxPiLQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.19.2.tgz", + "integrity": "sha512-r+SI2t8srMPYZeoa1w0o/AfoVt9akI1ihgazGYPQGRilVAkuzMGiTtexNZkrPkQsyFrvqq/ni8f3zOnHw4hUbA==", "cpu": [ "arm" ], @@ -948,10 +1146,23 @@ "linux" ] }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.2.tgz", - "integrity": "sha512-L1+D8/wqGnKQIlh4Zre9i4R4b4noxzH5DDciyahX4oOz62CphY7WDWqJoQ66zNR4oScLNOqQJfNSIAe/6TPUmQ==", + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.19.2.tgz", + "integrity": "sha512-+tYiL4QVjtI3KliKBGtUU7yhw0GMcJJuB9mLTCEauHEsqfk49gtUBXGtGP3h1LW8MbaTY6rSFIQV1XOBps1gBA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.19.2.tgz", + "integrity": "sha512-OR5DcvZiYN75mXDNQQxlQPTv4D+uNCUsmSCSY2FolLf9W5I4DSoJyg7z9Ea3TjKfhPSGgMJiey1aWvlWuBzMtg==", "cpu": [ "arm64" ], @@ -962,9 +1173,9 @@ ] }, "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.2.tgz", - "integrity": "sha512-tK5eoKFkXdz6vjfkSTCupUzCo40xueTOiOO6PeEIadlNBkadH1wNOH8ILCPIl8by/Gmb5AGAeQOFeLev7iZDOA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.19.2.tgz", + "integrity": "sha512-Hw3jSfWdUSauEYFBSFIte6I8m6jOj+3vifLg8EU3lreWulAUpch4JBjDMtlKosrBzkr0kwKgL9iCfjA8L3geoA==", "cpu": [ "arm64" ], @@ -975,11 +1186,11 @@ ] }, "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.13.2.tgz", - "integrity": "sha512-zvXvAUGGEYi6tYhcDmb9wlOckVbuD+7z3mzInCSTACJ4DQrdSLPNUeDIcAQW39M3q6PDquqLWu7pnO39uSMRzQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.19.2.tgz", + "integrity": "sha512-rhjvoPBhBwVnJRq/+hi2Q3EMiVF538/o9dBuj9TVLclo9DuONqt5xfWSaE6MYiFKpo/lFPJ/iSI72rYWw5Hc7w==", "cpu": [ - "ppc64le" + "ppc64" ], "dev": true, "optional": true, @@ -988,9 +1199,9 @@ ] }, "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.2.tgz", - "integrity": "sha512-C3GSKvMtdudHCN5HdmAMSRYR2kkhgdOfye4w0xzyii7lebVr4riCgmM6lRiSCnJn2w1Xz7ZZzHKuLrjx5620kw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.19.2.tgz", + "integrity": "sha512-EAz6vjPwHHs2qOCnpQkw4xs14XJq84I81sDRGPEjKPFVPBw7fwvtwhVjcZR6SLydCv8zNK8YGFblKWd/vRmP8g==", "cpu": [ "riscv64" ], @@ -1001,9 +1212,9 @@ ] }, "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.13.2.tgz", - "integrity": "sha512-l4U0KDFwzD36j7HdfJ5/TveEQ1fUTjFFQP5qIt9gBqBgu1G8/kCaq5Ok05kd5TG9F8Lltf3MoYsUMw3rNlJ0Yg==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.19.2.tgz", + "integrity": "sha512-IJSUX1xb8k/zN9j2I7B5Re6B0NNJDJ1+soezjNojhT8DEVeDNptq2jgycCOpRhyGj0+xBn7Cq+PK7Q+nd2hxLA==", "cpu": [ "s390x" ], @@ -1014,9 +1225,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.2.tgz", - "integrity": "sha512-xXMLUAMzrtsvh3cZ448vbXqlUa7ZL8z0MwHp63K2IIID2+DeP5iWIT6g1SN7hg1VxPzqx0xZdiDM9l4n9LRU1A==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.19.2.tgz", + "integrity": "sha512-OgaToJ8jSxTpgGkZSkwKE+JQGihdcaqnyHEFOSAU45utQ+yLruE1dkonB2SDI8t375wOKgNn8pQvaWY9kPzxDQ==", "cpu": [ "x64" ], @@ -1027,9 +1238,9 @@ ] }, "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.2.tgz", - "integrity": "sha512-M/JYAWickafUijWPai4ehrjzVPKRCyDb1SLuO+ZyPfoXgeCEAlgPkNXewFZx0zcnoIe3ay4UjXIMdXQXOZXWqA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.19.2.tgz", + "integrity": "sha512-5V3mPpWkB066XZZBgSd1lwozBk7tmOkKtquyCJ6T4LN3mzKENXyBwWNQn8d0Ci81hvlBw5RoFgleVpL6aScLYg==", "cpu": [ "x64" ], @@ -1040,9 +1251,9 @@ ] }, "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.2.tgz", - "integrity": "sha512-2YWwoVg9KRkIKaXSh0mz3NmfurpmYoBBTAXA9qt7VXk0Xy12PoOP40EFuau+ajgALbbhi4uTj3tSG3tVseCjuA==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.19.2.tgz", + "integrity": "sha512-ayVstadfLeeXI9zUPiKRVT8qF55hm7hKa+0N1V6Vj+OTNFfKSoUxyZvzVvgtBxqSb5URQ8sK6fhwxr9/MLmxdA==", "cpu": [ "arm64" ], @@ -1053,9 +1264,9 @@ ] }, "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.2.tgz", - "integrity": "sha512-2FSsE9aQ6OWD20E498NYKEQLneShWes0NGMPQwxWOdws35qQXH+FplabOSP5zEe1pVjurSDOGEVCE2agFwSEsw==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.19.2.tgz", + "integrity": "sha512-Mda7iG4fOLHNsPqjWSjANvNZYoW034yxgrndof0DwCy0D3FvTjeNo+HGE6oGWgvcLZNLlcp0hLEFcRs+UGsMLg==", "cpu": [ "ia32" ], @@ -1066,9 +1277,9 @@ ] }, "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.2.tgz", - "integrity": "sha512-7h7J2nokcdPePdKykd8wtc8QqqkqxIrUz7MHj6aNr8waBRU//NLDVnNjQnqQO6fqtjrtCdftpbTuOKAyrAQETQ==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.19.2.tgz", + "integrity": "sha512-DPi0ubYhSow/00YqmG1jWm3qt1F8aXziHc/UNy8bo9cpCacqhuWu+iSq/fp2SyEQK7iYTZ60fBU9cat3MXTjIQ==", "cpu": [ "x64" ], @@ -1078,12 +1289,6 @@ "win32" ] }, - "node_modules/@sinclair/typebox": { - "version": "0.27.8", - "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", - "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true - }, "node_modules/@types/eslint": { "version": "8.56.7", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.7.tgz", @@ -1106,12 +1311,6 @@ "integrity": "sha512-RpQH4rXLuvTXKR0zqHq3go0RVXYv/YVqv4TnPH95VbwUxZdQlK1EtcMvQvMpDngHbt13Csh9Z4qT9AbkiQH5BA==", "dev": true }, - "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true - }, "node_modules/@types/json-schema": { "version": "7.0.12", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", @@ -1125,12 +1324,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.12.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.5.tgz", - "integrity": "sha512-BD+BjQ9LS/D8ST9p5uqBxghlN+S42iuNxjsUGjeZobe/ciXzk2qb1B6IXc6AnRLS+yFJRpN2IPEHMzwspfDJNw==", + "version": "22.5.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.2.tgz", + "integrity": "sha512-acJsPTEqYqulZS/Yp/S3GgeE6GZ0qYODUR8aVr/DkhHQ8l9nd4j5x1/ZJy9/gHrRlFMqkO6i0I3E27Alu4jjPg==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.19.2" } }, "node_modules/@types/normalize-package-data": { @@ -1140,9 +1339,9 @@ "dev": true }, "node_modules/@types/qs": { - "version": "6.9.14", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.14.tgz", - "integrity": "sha512-5khscbd3SwWMhFqylJBLQ0zIu7c1K6Vz0uBIt915BI3zV0q1nfjRQD3RqSBcPaO6PHEF4ov/t9y89fSiyThlPA==", + "version": "6.9.15", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz", + "integrity": "sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg==", "dev": true }, "node_modules/@types/semver": { @@ -1158,22 +1357,22 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.4.0.tgz", - "integrity": "sha512-yHMQ/oFaM7HZdVrVm/M2WHaNPgyuJH4WelkSVEWSSsir34kxW2kDJCxlXRhhGWEsMN0WAW/vLpKfKVcm8k+MPw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "7.4.0", - "@typescript-eslint/type-utils": "7.4.0", - "@typescript-eslint/utils": "7.4.0", - "@typescript-eslint/visitor-keys": "7.4.0", - "debug": "^4.3.4", + "@eslint-community/regexpp": "^4.10.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "ignore": "^5.3.1", "natural-compare": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1334,15 +1533,16 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.4.0.tgz", - "integrity": "sha512-ZvKHxHLusweEUVwrGRXXUVzFgnWhigo4JurEj0dGF1tbcGh6buL+ejDdjxOQxv6ytcY1uhun1p2sm8iWStlgLQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, + "peer": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.4.0", - "@typescript-eslint/types": "7.4.0", - "@typescript-eslint/typescript-estree": "7.4.0", - "@typescript-eslint/visitor-keys": "7.4.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1362,13 +1562,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.4.0.tgz", - "integrity": "sha512-68VqENG5HK27ypafqLVs8qO+RkNc7TezCduYrx8YJpXq2QGZ30vmNZGJJJC48+MVn4G2dCV8m5ZTVnzRexTVtw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.4.0", - "@typescript-eslint/visitor-keys": "7.4.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1379,15 +1579,17 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.4.0.tgz", - "integrity": "sha512-247ETeHgr9WTRMqHbbQdzwzhuyaJ8dPTuyuUEMANqzMRB1rj/9qFIuIXK7l0FX9i9FXbHeBQl/4uz6mYuCE7Aw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, + "optional": true, + "peer": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.4.0", - "@typescript-eslint/utils": "7.4.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1406,9 +1608,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.4.0.tgz", - "integrity": "sha512-mjQopsbffzJskos5B4HmbsadSJQWaRK0UxqQ7GuNA9Ga4bEKeiO6b2DnB6cM6bpc8lemaPseh0H9B/wyg+J7rw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1419,19 +1621,19 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.4.0.tgz", - "integrity": "sha512-A99j5AYoME/UBQ1ucEbbMEmGkN7SE0BvZFreSnTd1luq7yulcHdyGamZKizU7canpGDWGJ+Q6ZA9SyQobipePg==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.4.0", - "@typescript-eslint/visitor-keys": "7.4.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", - "minimatch": "9.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "minimatch": "^9.0.4", + "semver": "^7.6.0", + "ts-api-utils": "^1.3.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1456,9 +1658,9 @@ } }, "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -1471,18 +1673,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.4.0.tgz", - "integrity": "sha512-NQt9QLM4Tt8qrlBVY9lkMYzfYtNz8/6qwZg8pI3cMGlPnj6mOpRxxAm7BMJN9K0AiY+1BwJ5lVC650YJqYOuNg==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "7.4.0", - "@typescript-eslint/types": "7.4.0", - "@typescript-eslint/typescript-estree": "7.4.0", - "semver": "^7.5.4" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1496,13 +1695,13 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.4.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.4.0.tgz", - "integrity": "sha512-0zkC7YM0iX5Y41homUUeW1CHtZR01K3ybjM1l6QczoMuay0XKtrb93kv95AxUGwdjGr64nNqnOCwmEl616N8CA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.4.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "7.18.0", + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1519,133 +1718,116 @@ "dev": true }, "node_modules/@vitest/coverage-v8": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-1.4.0.tgz", - "integrity": "sha512-4hDGyH1SvKpgZnIByr9LhGgCEuF9DKM34IBLCC/fVfy24Z3+PZ+Ii9hsVBsHvY1umM1aGPEjceRkzxCfcQ10wg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/coverage-v8/-/coverage-v8-2.0.5.tgz", + "integrity": "sha512-qeFcySCg5FLO2bHHSa0tAZAOnAUbp4L6/A5JDuj9+bt53JREl8hpLjLHEWF0e/gWc8INVpJaqA7+Ene2rclpZg==", "dev": true, "dependencies": { - "@ampproject/remapping": "^2.2.1", + "@ampproject/remapping": "^2.3.0", "@bcoe/v8-coverage": "^0.2.3", - "debug": "^4.3.4", + "debug": "^4.3.5", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", - "istanbul-lib-source-maps": "^5.0.4", - "istanbul-reports": "^3.1.6", - "magic-string": "^0.30.5", - "magicast": "^0.3.3", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "test-exclude": "^6.0.0", - "v8-to-istanbul": "^9.2.0" + "istanbul-lib-source-maps": "^5.0.6", + "istanbul-reports": "^3.1.7", + "magic-string": "^0.30.10", + "magicast": "^0.3.4", + "std-env": "^3.7.0", + "test-exclude": "^7.0.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" }, "peerDependencies": { - "vitest": "1.4.0" + "vitest": "2.0.5" } }, "node_modules/@vitest/expect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-1.4.0.tgz", - "integrity": "sha512-Jths0sWCJZ8BxjKe+p+eKsoqev1/T8lYcrjavEaz8auEJ4jAVY0GwW3JKmdVU4mmNPLPHixh4GNXP7GFtAiDHA==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", + "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", "dev": true, "dependencies": { - "@vitest/spy": "1.4.0", - "@vitest/utils": "1.4.0", - "chai": "^4.3.10" + "@vitest/spy": "2.0.5", + "@vitest/utils": "2.0.5", + "chai": "^5.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-1.4.0.tgz", - "integrity": "sha512-EDYVSmesqlQ4RD2VvWo3hQgTJ7ZrFQ2VSJdfiJiArkCerDAGeyF1i6dHkmySqk573jLp6d/cfqCN+7wUB5tLgg==", + "node_modules/@vitest/pretty-format": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", + "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", "dev": true, "dependencies": { - "@vitest/utils": "1.4.0", - "p-limit": "^5.0.0", - "pathe": "^1.1.1" + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, - "node_modules/@vitest/runner/node_modules/p-limit": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-5.0.0.tgz", - "integrity": "sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==", + "node_modules/@vitest/runner": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", + "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", "dev": true, "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@vitest/runner/node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" + "@vitest/utils": "2.0.5", + "pathe": "^1.1.2" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/snapshot": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-1.4.0.tgz", - "integrity": "sha512-saAFnt5pPIA5qDGxOHxJ/XxhMFKkUSBJmVt5VgDsAqPTX6JP326r5C/c9UuCMPoXNzuudTPsYDZCoJ5ilpqG2A==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", + "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", "dev": true, "dependencies": { - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "pretty-format": "^29.7.0" + "@vitest/pretty-format": "2.0.5", + "magic-string": "^0.30.10", + "pathe": "^1.1.2" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/spy": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-1.4.0.tgz", - "integrity": "sha512-Ywau/Qs1DzM/8Uc+yA77CwSegizMlcgTJuYGAi0jujOteJOUf1ujunHThYo243KG9nAyWT3L9ifPYZ5+As/+6Q==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", + "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", "dev": true, "dependencies": { - "tinyspy": "^2.2.0" + "tinyspy": "^3.0.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/@vitest/utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-1.4.0.tgz", - "integrity": "sha512-mx3Yd1/6e2Vt/PUC98DcqTirtfxUyAZ32uK82r8rZzbtBeBo+nqgnjx/LvqQdWsrvNtm14VmurNgcf4nqY5gJg==", + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", + "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", "dev": true, "dependencies": { - "diff-sequences": "^29.6.3", + "@vitest/pretty-format": "2.0.5", "estree-walker": "^3.0.3", - "loupe": "^2.3.7", - "pretty-format": "^29.7.0" + "loupe": "^3.1.1", + "tinyrainbow": "^1.2.0" }, "funding": { "url": "https://opencollective.com/vitest" } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1663,15 +1845,6 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/ajv": { "version": "6.12.6", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", @@ -1763,15 +1936,16 @@ } }, "node_modules/array-includes": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.7.tgz", - "integrity": "sha512-dlcsNBIiWhPkHdOEEKnehA+RNUWDc4UqFtnIXU4uuYDPtA4LDkr7qip2p0VvFAEXNDr0yWZ9PJyIRiGjRLQzwQ==", + "version": "3.1.8", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.8.tgz", + "integrity": "sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "get-intrinsic": "^1.2.1", + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0", + "get-intrinsic": "^1.2.4", "is-string": "^1.0.7" }, "engines": { @@ -1884,29 +2058,20 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/array.prototype.toreversed": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz", - "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1", - "es-shim-unscopables": "^1.0.0" - } - }, "node_modules/array.prototype.tosorted": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz", - "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==", + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", + "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", "dev": true, "dependencies": { - "call-bind": "^1.0.5", + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.3", - "es-errors": "^1.1.0", + "es-abstract": "^1.23.3", + "es-errors": "^1.3.0", "es-shim-unscopables": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" } }, "node_modules/arraybuffer.prototype.slice": { @@ -1932,12 +2097,12 @@ } }, "node_modules/assertion-error": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-1.1.0.tgz", - "integrity": "sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==", + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", + "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", "dev": true, "engines": { - "node": "*" + "node": ">=12" } }, "node_modules/ast-types-flow": { @@ -1946,15 +2111,6 @@ "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", "dev": true }, - "node_modules/asynciterator.prototype": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/asynciterator.prototype/-/asynciterator.prototype-1.0.0.tgz", - "integrity": "sha512-wwHYEIS0Q80f5mosx3L/dfG5t5rjEa9Ft51GTaNt862EnpyGHpgz2RkZvLPp1oF5TnAiTohkEKVEu8pQPJI7Vg==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - } - }, "node_modules/available-typed-arrays": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", @@ -1995,12 +2151,15 @@ "dev": true }, "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/brace-expansion": { @@ -2014,21 +2173,21 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" } }, "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", + "version": "4.23.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz", + "integrity": "sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==", "dev": true, "funding": [ { @@ -2045,10 +2204,10 @@ } ], "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" + "caniuse-lite": "^1.0.30001646", + "electron-to-chromium": "^1.5.4", + "node-releases": "^2.0.18", + "update-browserslist-db": "^1.1.0" }, "bin": { "browserslist": "cli.js" @@ -2070,9 +2229,9 @@ } }, "node_modules/bundle-require": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-4.0.1.tgz", - "integrity": "sha512-9NQkRHlNdNpDBGmLpngF3EFDcwodhMUuLz9PaWYciVcQF9SE4LFjM2DB/xV1Li5JiuDMv7ZUWuC3rGbqR0MAXQ==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/bundle-require/-/bundle-require-5.0.0.tgz", + "integrity": "sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==", "dev": true, "dependencies": { "load-tsconfig": "^0.2.3" @@ -2081,7 +2240,7 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" }, "peerDependencies": { - "esbuild": ">=0.17" + "esbuild": ">=0.18" } }, "node_modules/cac": { @@ -2121,9 +2280,9 @@ } }, "node_modules/caniuse-lite": { - "version": "1.0.30001594", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001594.tgz", - "integrity": "sha512-VblSX6nYqyJVs8DKFMldE2IVCJjZ225LW00ydtUWwh5hk9IfkTOffO6r8gJNsH0qqqeAF8KrbMYA2VEwTlGW5g==", + "version": "1.0.30001655", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001655.tgz", + "integrity": "sha512-jRGVy3iSGO5Uutn2owlb5gR6qsGngTw9ZTb4ali9f3glshcNmJ2noam4Mo9zia5P9Dk3jNNydy7vQjuE5dQmfg==", "dev": true, "funding": [ { @@ -2141,21 +2300,19 @@ ] }, "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", + "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", "dev": true, "dependencies": { - "assertion-error": "^1.1.0", - "check-error": "^1.0.3", - "deep-eql": "^4.1.3", - "get-func-name": "^2.0.2", - "loupe": "^2.3.6", - "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "assertion-error": "^2.0.1", + "check-error": "^2.1.1", + "deep-eql": "^5.0.1", + "loupe": "^3.1.0", + "pathval": "^2.0.0" }, "engines": { - "node": ">=4" + "node": ">=12" } }, "node_modules/chalk": { @@ -2175,28 +2332,19 @@ } }, "node_modules/check-error": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-1.0.3.tgz", - "integrity": "sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", + "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", "dev": true, - "dependencies": { - "get-func-name": "^2.0.2" - }, "engines": { - "node": "*" + "node": ">= 16" } }, "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { "anymatch": "~3.1.2", "braces": "~3.0.2", @@ -2209,6 +2357,9 @@ "engines": { "node": ">= 8.10.0" }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, "optionalDependencies": { "fsevents": "~2.3.2" } @@ -2300,19 +2451,22 @@ "integrity": "sha512-JsPKdmh8ZkmnHxDk55FZ1TqVLvEQTvoByJZRN9jzI0UjxK/QgAmsphz7PGtqgPieQZ/CQcHWXCR7ATDNhGe+YA==", "dev": true }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "node_modules/consola": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-3.2.3.tgz", + "integrity": "sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.10.0" + } }, "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", + "version": "3.38.1", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz", + "integrity": "sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw==", "dev": true, "dependencies": { - "browserslist": "^4.22.3" + "browserslist": "^4.23.3" }, "funding": { "type": "opencollective", @@ -2391,9 +2545,9 @@ } }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -2408,13 +2562,10 @@ } }, "node_modules/deep-eql": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-4.1.3.tgz", - "integrity": "sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==", + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", + "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", "dev": true, - "dependencies": { - "type-detect": "^4.0.0" - }, "engines": { "node": ">=6" } @@ -2467,15 +2618,6 @@ "node": ">=6" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2500,10 +2642,16 @@ "node": ">=6.0.0" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, "node_modules/electron-to-chromium": { - "version": "1.4.693", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.693.tgz", - "integrity": "sha512-/if4Ueg0GUQlhCrW2ZlXwDAm40ipuKo+OgeHInlL8sbjt+hzISxZK949fZeJaVsheamrzANXvw1zQTvbxTvSHw==", + "version": "1.5.13", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz", + "integrity": "sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q==", "dev": true }, "node_modules/emoji-regex": { @@ -2620,26 +2768,25 @@ } }, "node_modules/es-iterator-helpers": { - "version": "1.0.17", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz", - "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==", + "version": "1.0.19", + "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz", + "integrity": "sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==", "dev": true, "dependencies": { - "asynciterator.prototype": "^1.0.0", "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.22.4", + "es-abstract": "^1.23.3", "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.2", + "es-set-tostringtag": "^2.0.3", "function-bind": "^1.1.2", "get-intrinsic": "^1.2.4", "globalthis": "^1.0.3", "has-property-descriptors": "^1.0.2", - "has-proto": "^1.0.1", + "has-proto": "^1.0.3", "has-symbols": "^1.0.3", "internal-slot": "^1.0.7", "iterator.prototype": "^1.1.2", - "safe-array-concat": "^1.1.0" + "safe-array-concat": "^1.1.2" }, "engines": { "node": ">= 0.4" @@ -2698,9 +2845,9 @@ } }, "node_modules/esbuild": { - "version": "0.19.8", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.8.tgz", - "integrity": "sha512-l7iffQpT2OrZfH2rXIp7/FkmaeZM0vxbxN9KfiCwGYuZqzMg/JdvX26R31Zxn/Pxvsrg3Y9N6XTcnknqDyyv4w==", + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", "dev": true, "hasInstallScript": true, "bin": { @@ -2710,34 +2857,51 @@ "node": ">=12" }, "optionalDependencies": { - "@esbuild/android-arm": "0.19.8", - "@esbuild/android-arm64": "0.19.8", - "@esbuild/android-x64": "0.19.8", - "@esbuild/darwin-arm64": "0.19.8", - "@esbuild/darwin-x64": "0.19.8", - "@esbuild/freebsd-arm64": "0.19.8", - "@esbuild/freebsd-x64": "0.19.8", - "@esbuild/linux-arm": "0.19.8", - "@esbuild/linux-arm64": "0.19.8", - "@esbuild/linux-ia32": "0.19.8", - "@esbuild/linux-loong64": "0.19.8", - "@esbuild/linux-mips64el": "0.19.8", - "@esbuild/linux-ppc64": "0.19.8", - "@esbuild/linux-riscv64": "0.19.8", - "@esbuild/linux-s390x": "0.19.8", - "@esbuild/linux-x64": "0.19.8", - "@esbuild/netbsd-x64": "0.19.8", - "@esbuild/openbsd-x64": "0.19.8", - "@esbuild/sunos-x64": "0.19.8", - "@esbuild/win32-arm64": "0.19.8", - "@esbuild/win32-ia32": "0.19.8", - "@esbuild/win32-x64": "0.19.8" + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/esbuild/node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" } }, "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, "engines": { "node": ">=6" @@ -3030,19 +3194,19 @@ } }, "node_modules/eslint-plugin-jest": { - "version": "27.9.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.9.0.tgz", - "integrity": "sha512-QIT7FH7fNmd9n4se7FFKHbsLKGQiw885Ds6Y/sxKgCZ6natwCsXdgPOADnYVxN2QrRweF0FZWbJ6S7Rsn7llug==", + "version": "28.6.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-28.6.0.tgz", + "integrity": "sha512-YG28E1/MIKwnz+e2H7VwYPzHUYU4aMa19w0yGcwXnnmJH6EfgHahTJ2un3IyraUxNfnz/KUhJAFXNNwWPo12tg==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "^5.10.0" + "@typescript-eslint/utils": "^6.0.0 || ^7.0.0" }, "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + "node": "^16.10.0 || ^18.12.0 || >=20.0.0" }, "peerDependencies": { - "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0 || ^7.0.0", - "eslint": "^7.0.0 || ^8.0.0", + "@typescript-eslint/eslint-plugin": "^6.0.0 || ^7.0.0", + "eslint": "^7.0.0 || ^8.0.0 || ^9.0.0", "jest": "*" }, "peerDependenciesMeta": { @@ -3090,217 +3254,95 @@ "eslint": ">=0.8.0" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/scope-manager": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", - "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", + "node_modules/eslint-plugin-jsx-a11y": { + "version": "6.8.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", + "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0" + "@babel/runtime": "^7.23.2", + "aria-query": "^5.3.0", + "array-includes": "^3.1.7", + "array.prototype.flatmap": "^1.3.2", + "ast-types-flow": "^0.0.8", + "axe-core": "=4.7.0", + "axobject-query": "^3.2.1", + "damerau-levenshtein": "^1.0.8", + "emoji-regex": "^9.2.2", + "es-iterator-helpers": "^1.0.15", + "hasown": "^2.0.0", + "jsx-ast-utils": "^3.3.5", + "language-tags": "^1.0.9", + "minimatch": "^3.1.2", + "object.entries": "^1.1.7", + "object.fromentries": "^2.0.7" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=4.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/types": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", - "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", + "node_modules/eslint-plugin-node": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", + "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", "dev": true, + "dependencies": { + "eslint-plugin-es": "^3.0.0", + "eslint-utils": "^2.0.0", + "ignore": "^5.1.1", + "minimatch": "^3.0.4", + "resolve": "^1.10.1", + "semver": "^6.1.0" + }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": ">=8.10.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "peerDependencies": { + "eslint": ">=5.16.0" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/typescript-estree": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", - "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", + "node_modules/eslint-plugin-node/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/visitor-keys": "5.62.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.3.7", - "tsutils": "^3.21.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "bin": { + "semver": "bin/semver.js" } }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/utils": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", - "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", + "node_modules/eslint-plugin-react": { + "version": "7.35.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.35.0.tgz", + "integrity": "sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@types/json-schema": "^7.0.9", - "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.62.0", - "@typescript-eslint/types": "5.62.0", - "@typescript-eslint/typescript-estree": "5.62.0", - "eslint-scope": "^5.1.1", - "semver": "^7.3.7" + "array-includes": "^3.1.8", + "array.prototype.findlast": "^1.2.5", + "array.prototype.flatmap": "^1.3.2", + "array.prototype.tosorted": "^1.1.4", + "doctrine": "^2.1.0", + "es-iterator-helpers": "^1.0.19", + "estraverse": "^5.3.0", + "hasown": "^2.0.2", + "jsx-ast-utils": "^2.4.1 || ^3.0.0", + "minimatch": "^3.1.2", + "object.entries": "^1.1.8", + "object.fromentries": "^2.0.8", + "object.values": "^1.2.0", + "prop-types": "^15.8.1", + "resolve": "^2.0.0-next.5", + "semver": "^6.3.1", + "string.prototype.matchall": "^4.0.11", + "string.prototype.repeat": "^1.0.0" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/eslint-plugin-jest/node_modules/@typescript-eslint/visitor-keys": { - "version": "5.62.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", - "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "5.62.0", - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/eslint-plugin-jest/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/eslint-plugin-jest/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.8.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.8.0.tgz", - "integrity": "sha512-Hdh937BS3KdwwbBaKd5+PLCOmYY6U4f2h9Z2ktwtNKvIdIEu137rjYbcb9ApSbVJfWxANNuiKTD/9tOKjK9qOA==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.23.2", - "aria-query": "^5.3.0", - "array-includes": "^3.1.7", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "=4.7.0", - "axobject-query": "^3.2.1", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "es-iterator-helpers": "^1.0.15", - "hasown": "^2.0.0", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" - } - }, - "node_modules/eslint-plugin-node": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz", - "integrity": "sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g==", - "dev": true, - "dependencies": { - "eslint-plugin-es": "^3.0.0", - "eslint-utils": "^2.0.0", - "ignore": "^5.1.1", - "minimatch": "^3.0.4", - "resolve": "^1.10.1", - "semver": "^6.1.0" - }, - "engines": { - "node": ">=8.10.0" - }, - "peerDependencies": { - "eslint": ">=5.16.0" - } - }, - "node_modules/eslint-plugin-node/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.34.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.1.tgz", - "integrity": "sha512-N97CxlouPT1AHt8Jn0mhhN2RrADlUAsk1/atcT2KyA/l9Q/E6ll7OIGwNumFmWfZ9skV3XXccYS19h80rHtgkw==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.7", - "array.prototype.findlast": "^1.2.4", - "array.prototype.flatmap": "^1.3.2", - "array.prototype.toreversed": "^1.1.2", - "array.prototype.tosorted": "^1.1.3", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.0.17", - "estraverse": "^5.3.0", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.7", - "object.fromentries": "^2.0.7", - "object.hasown": "^1.1.3", - "object.values": "^1.1.7", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.10" - }, - "engines": { - "node": ">=4" + "node": ">=4" }, "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8" + "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" } }, "node_modules/eslint-plugin-react-hooks": { @@ -3354,9 +3396,9 @@ } }, "node_modules/eslint-plugin-readme": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-readme/-/eslint-plugin-readme-2.0.0.tgz", - "integrity": "sha512-jSmSvx7G7LpTgvUa1huaizegHnUKj4pJIjbYAFaYE6PzKR/icdcLpFxZYIJIvhAqLJ+h4SY75dYOzEvZW2uf3g==", + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-readme/-/eslint-plugin-readme-2.0.6.tgz", + "integrity": "sha512-BOGxzzTzAoIIccSPR8f1paYNuC+3Pz9LNNXK3zoDW5Wt5QEdTUvef/RXh0gEVp8hH70bkchAR2h8V71w36vkHw==", "dev": true, "engines": { "node": ">=18" @@ -3515,6 +3557,15 @@ "node": ">=4.0" } }, + "node_modules/eslint-plugin-try-catch-failsafe": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-try-catch-failsafe/-/eslint-plugin-try-catch-failsafe-0.1.4.tgz", + "integrity": "sha512-IeGXMEVBR+t6wof4gq00guRgAoDgcyz7nMoI7PInFSERwY43F5NdJV9fYH46pZdZFOHOpSwkpwG2NouubD/vMA==", + "dev": true, + "dependencies": { + "requireindex": "^1.2.0" + } + }, "node_modules/eslint-plugin-typescript-sort-keys": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/eslint-plugin-typescript-sort-keys/-/eslint-plugin-typescript-sort-keys-3.2.0.tgz", @@ -3535,18 +3586,18 @@ } }, "node_modules/eslint-plugin-unicorn": { - "version": "51.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-51.0.1.tgz", - "integrity": "sha512-MuR/+9VuB0fydoI0nIn2RDA5WISRn4AsJyNSaNKLVwie9/ONvQhxOBbkfSICBPnzKrB77Fh6CZZXjgTt/4Latw==", + "version": "55.0.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-unicorn/-/eslint-plugin-unicorn-55.0.0.tgz", + "integrity": "sha512-n3AKiVpY2/uDcGrS3+QsYDkjPfaOrNrsfQxU9nt5nitd9KuvVXrfAvgCO9DYPSfap+Gqjw9EOrXIsBp5tlHZjA==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", + "@babel/helper-validator-identifier": "^7.24.5", "@eslint-community/eslint-utils": "^4.4.0", - "@eslint/eslintrc": "^2.1.4", "ci-info": "^4.0.0", "clean-regexp": "^1.0.0", - "core-js-compat": "^3.34.0", + "core-js-compat": "^3.37.0", "esquery": "^1.5.0", + "globals": "^15.7.0", "indent-string": "^4.0.0", "is-builtin-module": "^3.2.1", "jsesc": "^3.0.2", @@ -3554,11 +3605,11 @@ "read-pkg-up": "^7.0.1", "regexp-tree": "^0.1.27", "regjsparser": "^0.10.0", - "semver": "^7.5.4", + "semver": "^7.6.1", "strip-indent": "^3.0.0" }, "engines": { - "node": ">=16" + "node": ">=18.18" }, "funding": { "url": "https://github.com/sindresorhus/eslint-plugin-unicorn?sponsor=1" @@ -3567,19 +3618,31 @@ "eslint": ">=8.56.0" } }, + "node_modules/eslint-plugin-unicorn/node_modules/globals": { + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "dev": true, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint-plugin-vitest": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.4.1.tgz", - "integrity": "sha512-+PnZ2u/BS+f5FiuHXz4zKsHPcMKHie+K+1Uvu/x91ovkCMEOJqEI8E9Tw1Wzx2QRz4MHOBHYf1ypO8N1K0aNAA==", + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-vitest/-/eslint-plugin-vitest-0.5.4.tgz", + "integrity": "sha512-um+odCkccAHU53WdKAw39MY61+1x990uXjSPguUCq3VcEHdqJrOb8OTMrbYlY6f9jAKx7x98kLVlIe3RJeJqoQ==", "dev": true, "dependencies": { - "@typescript-eslint/utils": "^7.4.0" + "@typescript-eslint/utils": "^7.7.1" }, "engines": { "node": "^18.0.0 || >= 20.0.0" }, "peerDependencies": { - "eslint": ">=8.0.0", + "eslint": "^8.57.0 || ^9.0.0", "vitest": "*" }, "peerDependenciesMeta": { @@ -3753,9 +3816,9 @@ "dev": true }, "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", + "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -3814,9 +3877,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -3870,6 +3933,34 @@ "is-callable": "^1.1.3" } }, + "node_modules/foreground-child": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.2.1.tgz", + "integrity": "sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", @@ -4214,9 +4305,9 @@ } }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", + "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", "dev": true, "engines": { "node": ">= 4" @@ -4453,6 +4544,15 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-generator-function": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.0.10.tgz", @@ -4717,9 +4817,9 @@ } }, "node_modules/istanbul-lib-source-maps": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.4.tgz", - "integrity": "sha512-wHOoEsNJTVltaJp8eVkm8w+GVkVNHT2YDYo53YdzQEL2gWm1hBX5cGFR9hQJtuGLebidVX7et3+dmDZrmclduw==", + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-5.0.6.tgz", + "integrity": "sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==", "dev": true, "dependencies": { "@jridgewell/trace-mapping": "^0.3.23", @@ -4731,9 +4831,9 @@ } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.1.7", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", + "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", "dev": true, "dependencies": { "html-escaper": "^2.0.0", @@ -4756,6 +4856,21 @@ "set-function-name": "^2.0.1" } }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, "node_modules/joycon": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/joycon/-/joycon-3.1.1.tgz", @@ -4837,12 +4952,6 @@ "json5": "lib/cli.js" } }, - "node_modules/jsonc-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", - "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", - "dev": true - }, "node_modules/jsx-ast-utils": { "version": "3.3.5", "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", @@ -4905,12 +5014,15 @@ } }, "node_modules/lilconfig": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.2.tgz", + "integrity": "sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==", "dev": true, "engines": { - "node": ">=10" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" } }, "node_modules/lines-and-columns": { @@ -4928,22 +5040,6 @@ "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/local-pkg": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/local-pkg/-/local-pkg-0.5.0.tgz", - "integrity": "sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==", - "dev": true, - "dependencies": { - "mlly": "^1.4.2", - "pkg-types": "^1.0.3" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, "node_modules/locate-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", @@ -4990,47 +5086,32 @@ } }, "node_modules/loupe": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-2.3.7.tgz", - "integrity": "sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", + "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", "dev": true, "dependencies": { "get-func-name": "^2.0.1" } }, - "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/magic-string": { - "version": "0.30.5", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", - "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "version": "0.30.11", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", + "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", "dev": true, "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" + "@jridgewell/sourcemap-codec": "^1.5.0" } }, "node_modules/magicast": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.3.tgz", - "integrity": "sha512-ZbrP1Qxnpoes8sz47AM0z08U+jW6TyRgZzcWy3Ma3vDhJttwMwAFDMMQFobwdBxByBD46JYmxRzeF7w2+wJEuw==", + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.3.4.tgz", + "integrity": "sha512-TyDF/Pn36bBji9rWKHlZe+PZb6Mx5V8IHCSxk7X4aljM4e/vyDvZZYwHewdVaqiA0nb3ghfHU/6AUpDxWoER2Q==", "dev": true, "dependencies": { - "@babel/parser": "^7.23.6", - "@babel/types": "^7.23.6", - "source-map-js": "^1.0.2" + "@babel/parser": "^7.24.4", + "@babel/types": "^7.24.0", + "source-map-js": "^1.2.0" } }, "node_modules/make-dir": { @@ -5064,12 +5145,13 @@ } }, "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.2", + "braces": "^3.0.3", "picomatch": "^2.3.1" }, "engines": { @@ -5115,16 +5197,13 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/mlly": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/mlly/-/mlly-1.4.2.tgz", - "integrity": "sha512-i/Ykufi2t1EZ6NaPLdfnZk2AX8cs0d+mTzVKuPfqPKPatxLApaBoxJQ9x1/uckXtrS/U5oisPMDkNs0yQTaBRg==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "dependencies": { - "acorn": "^8.10.0", - "pathe": "^1.1.1", - "pkg-types": "^1.0.3", - "ufo": "^1.3.0" + "engines": { + "node": ">=16 || 14 >=14.17" } }, "node_modules/ms": { @@ -5175,9 +5254,9 @@ "dev": true }, "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz", + "integrity": "sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==", "dev": true }, "node_modules/normalize-package-data": { @@ -5267,28 +5346,29 @@ } }, "node_modules/object.entries": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.7.tgz", - "integrity": "sha512-jCBs/0plmPsOnrKAfFQXRG2NFjlhZgjjcBLSmTnEhU8U6vVTsVe8ANeQJCHTl3gSsI4J+0emOoCgoKlmQPMgmA==", + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.8.tgz", + "integrity": "sha512-cmopxi8VwRIAw/fkijJohSfpef5PdN0pMQJN6VC/ZKvn0LIknWD8KtgY6KlQdEc4tIjcQ3HxSMmnvtzIscdaYQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" } }, "node_modules/object.fromentries": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.7.tgz", - "integrity": "sha512-UPbPHML6sL8PI/mOqPwsH4G6iyXcCGzLin8KvEPenOZN5lpCNBZZQ+V62vdjB1mQHrmqGQt5/OJzemUA+KJmEA==", + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", + "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", "dev": true, "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" + "call-bind": "^1.0.7", + "define-properties": "^1.2.1", + "es-abstract": "^1.23.2", + "es-object-atoms": "^1.0.0" }, "engines": { "node": ">= 0.4" @@ -5310,14 +5390,14 @@ "es-errors": "^1.0.0" } }, - "node_modules/object.hasown": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object.hasown/-/object.hasown-1.1.4.tgz", - "integrity": "sha512-FZ9LZt9/RHzGySlBARE3VF+gE26TxR38SdmqOqliuTnl9wrKulaQs+4dee1V+Io8VfxqzAfHu6YuRgUy8OHoTg==", + "node_modules/object.values": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.0.tgz", + "integrity": "sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==", "dev": true, "dependencies": { + "call-bind": "^1.0.7", "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", "es-object-atoms": "^1.0.0" }, "engines": { @@ -5327,23 +5407,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object.values": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.7.tgz", - "integrity": "sha512-aU6xnDFYT3x17e/f0IiiwlGPTy2jzMySGfUB4fq6z7CV8l85CWHDk5ErhyhpfDHhrOMwGFhSQkhMGHaIotA6Ng==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.2.0", - "es-abstract": "^1.22.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -5424,6 +5487,12 @@ "node": ">=6" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz", + "integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw==", + "dev": true + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -5487,34 +5556,56 @@ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", "dev": true, "engines": { "node": ">=8" } }, "node_modules/pathe": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.1.tgz", - "integrity": "sha512-d+RQGp0MAYTIaDBIMmOfMwz3E+LOZnxx1HZd5R18mmCZY0QBlK0LDZfPc8FW8Ed2DlvsuE6PRjroDY+wg4+j/Q==", + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", + "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", "dev": true }, "node_modules/pathval": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-1.1.1.tgz", - "integrity": "sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==", + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", + "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", "dev": true, "engines": { - "node": "*" + "node": ">= 14.16" } }, "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", + "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", "dev": true }, "node_modules/picomatch": { @@ -5530,25 +5621,14 @@ } }, "node_modules/pirates": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz", - "integrity": "sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==", + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, "engines": { "node": ">= 6" } }, - "node_modules/pkg-types": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/pkg-types/-/pkg-types-1.0.3.tgz", - "integrity": "sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==", - "dev": true, - "dependencies": { - "jsonc-parser": "^3.2.0", - "mlly": "^1.2.0", - "pathe": "^1.1.0" - } - }, "node_modules/pluralize": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz", @@ -5568,9 +5648,9 @@ } }, "node_modules/postcss": { - "version": "8.4.38", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.38.tgz", - "integrity": "sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==", + "version": "8.4.40", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.40.tgz", + "integrity": "sha512-YF2kKIUzAofPMpfH6hOi2cGnv/HrUlfucspc7pDyvv7kGdqXrfj8SCl/t8owkEgKEuu8ZcRjSOxFxVLqwChZ2Q==", "dev": true, "funding": [ { @@ -5588,7 +5668,7 @@ ], "dependencies": { "nanoid": "^3.3.7", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "source-map-js": "^1.2.0" }, "engines": { @@ -5596,30 +5676,43 @@ } }, "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-6.0.1.tgz", + "integrity": "sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" + "lilconfig": "^3.1.1" }, "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" + "node": ">= 18" }, "peerDependencies": { + "jiti": ">=1.21.0", "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" + "tsx": "^4.8.1", + "yaml": "^2.4.2" }, "peerDependenciesMeta": { + "jiti": { + "optional": true + }, "postcss": { "optional": true }, - "ts-node": { + "tsx": { + "optional": true + }, + "yaml": { "optional": true } } @@ -5634,9 +5727,9 @@ } }, "node_modules/prettier": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.5.tgz", - "integrity": "sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.3.3.tgz", + "integrity": "sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==", "dev": true, "bin": { "prettier": "bin/prettier.cjs" @@ -5648,38 +5741,6 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, - "node_modules/pretty-format": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", - "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", - "dev": true, - "dependencies": { - "@jest/schemas": "^29.6.3", - "ansi-styles": "^5.0.0", - "react-is": "^18.0.0" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/pretty-format/node_modules/ansi-styles": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", - "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/pretty-format/node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==", - "dev": true - }, "node_modules/prop-types": { "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", @@ -5701,9 +5762,9 @@ } }, "node_modules/qs": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.0.tgz", - "integrity": "sha512-trVZiI6RMOkO476zLGaBIzszOdFPnCCXHPG9kn0yuS1uz6xdVxPfZdB3vUig9pxPFDM9BRAgz/YUIVQ1/vuiUg==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dependencies": { "side-channel": "^1.0.6" }, @@ -6020,9 +6081,9 @@ } }, "node_modules/rollup": { - "version": "4.13.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.2.tgz", - "integrity": "sha512-MIlLgsdMprDBXC+4hsPgzWUasLO9CE4zOkj/u6j+Z6j5A4zRY+CtiXAdJyPtgCsc42g658Aeh1DlrdVEJhsL2g==", + "version": "4.19.2", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.19.2.tgz", + "integrity": "sha512-6/jgnN1svF9PjNYJ4ya3l+cqutg49vOZ4rVgsDKxdl+5gpGPnByFXWGyfH9YGx9i3nfBwSu1Iyu6vGwFFA0BdQ==", "dev": true, "dependencies": { "@types/estree": "1.0.5" @@ -6035,21 +6096,22 @@ "npm": ">=8.0.0" }, "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.13.2", - "@rollup/rollup-android-arm64": "4.13.2", - "@rollup/rollup-darwin-arm64": "4.13.2", - "@rollup/rollup-darwin-x64": "4.13.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.13.2", - "@rollup/rollup-linux-arm64-gnu": "4.13.2", - "@rollup/rollup-linux-arm64-musl": "4.13.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.13.2", - "@rollup/rollup-linux-riscv64-gnu": "4.13.2", - "@rollup/rollup-linux-s390x-gnu": "4.13.2", - "@rollup/rollup-linux-x64-gnu": "4.13.2", - "@rollup/rollup-linux-x64-musl": "4.13.2", - "@rollup/rollup-win32-arm64-msvc": "4.13.2", - "@rollup/rollup-win32-ia32-msvc": "4.13.2", - "@rollup/rollup-win32-x64-msvc": "4.13.2", + "@rollup/rollup-android-arm-eabi": "4.19.2", + "@rollup/rollup-android-arm64": "4.19.2", + "@rollup/rollup-darwin-arm64": "4.19.2", + "@rollup/rollup-darwin-x64": "4.19.2", + "@rollup/rollup-linux-arm-gnueabihf": "4.19.2", + "@rollup/rollup-linux-arm-musleabihf": "4.19.2", + "@rollup/rollup-linux-arm64-gnu": "4.19.2", + "@rollup/rollup-linux-arm64-musl": "4.19.2", + "@rollup/rollup-linux-powerpc64le-gnu": "4.19.2", + "@rollup/rollup-linux-riscv64-gnu": "4.19.2", + "@rollup/rollup-linux-s390x-gnu": "4.19.2", + "@rollup/rollup-linux-x64-gnu": "4.19.2", + "@rollup/rollup-linux-x64-musl": "4.19.2", + "@rollup/rollup-win32-arm64-msvc": "4.19.2", + "@rollup/rollup-win32-ia32-msvc": "4.19.2", + "@rollup/rollup-win32-x64-msvc": "4.19.2", "fsevents": "~2.3.2" } }, @@ -6112,13 +6174,10 @@ } }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -6252,9 +6311,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", + "version": "3.0.20", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz", + "integrity": "sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw==", "dev": true }, "node_modules/stackback": { @@ -6269,6 +6328,71 @@ "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", "dev": true }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/string.prototype.matchall": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz", @@ -6295,6 +6419,16 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/string.prototype.repeat": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", + "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", + "dev": true, + "dependencies": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.5" + } + }, "node_modules/string.prototype.trim": { "version": "1.2.9", "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz", @@ -6369,6 +6503,19 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-bom": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", @@ -6411,33 +6558,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/strip-literal": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-2.0.0.tgz", - "integrity": "sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==", - "dev": true, - "dependencies": { - "js-tokens": "^8.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" - } - }, - "node_modules/strip-literal/node_modules/js-tokens": { - "version": "8.0.3", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-8.0.3.tgz", - "integrity": "sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==", - "dev": true - }, "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", "dev": true, "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", - "glob": "7.1.6", + "glob": "^10.3.10", "lines-and-columns": "^1.1.6", "mz": "^2.7.0", "pirates": "^4.0.1", @@ -6448,24 +6577,48 @@ "sucrase-node": "bin/sucrase-node" }, "engines": { - "node": ">=8" + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, "node_modules/sucrase/node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" }, "engines": { - "node": "*" + "node": ">=16 || 14 >=14.17" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -6505,17 +6658,61 @@ } }, "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-7.0.1.tgz", + "integrity": "sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==", "dev": true, "dependencies": { "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" + "glob": "^10.4.1", + "minimatch": "^9.0.4" }, "engines": { - "node": ">=8" + "node": ">=18" + } + }, + "node_modules/test-exclude/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/test-exclude/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/test-exclude/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/text-table": { @@ -6546,24 +6743,33 @@ } }, "node_modules/tinybench": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.5.1.tgz", - "integrity": "sha512-65NKvSuAVDP/n4CqH+a9w2kTlLReS9vhsAP06MWx+/89nMinJyB2icyl58RIcqCmIggpojIGeuJGhjU1aGMBSg==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.8.0.tgz", + "integrity": "sha512-1/eK7zUnIklz4JUUlL+658n58XO2hHLQfSk1Zf2LKieUjxidN16eKFEoDEfjHc3ohofSSqK3X5yO6VGb6iW8Lw==", "dev": true }, "node_modules/tinypool": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-0.8.2.tgz", - "integrity": "sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==", + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.0.tgz", + "integrity": "sha512-KIKExllK7jp3uvrNtvRBYBWBOAXSX8ZvoaD8T+7KB/QHIuoJW3Pmr60zucywjAlMb5TeXUkcs/MWeWLu0qvuAQ==", + "dev": true, + "engines": { + "node": "^18.0.0 || >=20.0.0" + } + }, + "node_modules/tinyrainbow": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", + "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", "dev": true, "engines": { "node": ">=14.0.0" } }, "node_modules/tinyspy": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-2.2.1.tgz", - "integrity": "sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", + "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", "dev": true, "engines": { "node": ">=14.0.0" @@ -6609,9 +6815,9 @@ } }, "node_modules/ts-api-utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.2.1.tgz", - "integrity": "sha512-RIYA36cJn2WiH9Hy77hdF9r7oEwxAtB/TS9/S4Qd90Ap4z5FSiin5zEiTL44OII1Y3IIlEvxwxFUVgrHSZ/UpA==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.3.0.tgz", + "integrity": "sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==", "dev": true, "engines": { "node": ">=16" @@ -6639,24 +6845,26 @@ } }, "node_modules/tsup": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.0.2.tgz", - "integrity": "sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==", + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/tsup/-/tsup-8.2.4.tgz", + "integrity": "sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==", "dev": true, "dependencies": { - "bundle-require": "^4.0.0", - "cac": "^6.7.12", - "chokidar": "^3.5.1", - "debug": "^4.3.1", - "esbuild": "^0.19.2", - "execa": "^5.0.0", - "globby": "^11.0.3", - "joycon": "^3.0.1", - "postcss-load-config": "^4.0.1", + "bundle-require": "^5.0.0", + "cac": "^6.7.14", + "chokidar": "^3.6.0", + "consola": "^3.2.3", + "debug": "^4.3.5", + "esbuild": "^0.23.0", + "execa": "^5.1.1", + "globby": "^11.1.0", + "joycon": "^3.1.1", + "picocolors": "^1.0.1", + "postcss-load-config": "^6.0.1", "resolve-from": "^5.0.0", - "rollup": "^4.0.2", + "rollup": "^4.19.0", "source-map": "0.8.0-beta.0", - "sucrase": "^3.20.3", + "sucrase": "^3.35.0", "tree-kill": "^1.2.2" }, "bin": { @@ -6687,452 +6895,220 @@ } } }, - "node_modules/tsup/node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "node_modules/tsup/node_modules/@esbuild/android-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", + "cpu": [ + "arm" + ], "dev": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/tsup/node_modules/source-map": { - "version": "0.8.0-beta.0", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", - "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "node_modules/tsup/node_modules/@esbuild/android-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "whatwg-url": "^7.0.0" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 8" + "node": ">=18" } }, - "node_modules/tsutils": { - "version": "3.21.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", - "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "node_modules/tsup/node_modules/@esbuild/android-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "tslib": "^1.8.1" - }, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": ">= 6" - }, - "peerDependencies": { - "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + "node": ">=18" } }, - "node_modules/tsutils/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/type-fest": { - "version": "4.15.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.15.0.tgz", - "integrity": "sha512-tB9lu0pQpX5KJq54g+oHOLumOx+pMep4RaM6liXh2PKmVRFF+/vAtUP0ZaJ0kOySfVNjF6doBWPHhBhISKdlIA==", - "dev": true, - "engines": { - "node": ">=16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", - "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", - "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", - "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", - "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "has-proto": "^1.0.3", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.4.tgz", - "integrity": "sha512-dGE2Vv8cpVvw28v8HCPqyb08EzbBURxDpuhJvTrusShUfGnhHBafDsLdS1EhhxyL6BJQE+2cT3dDPAv+MQ6oLw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ufo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.3.2.tgz", - "integrity": "sha512-o+ORpgGwaYQXgqGDwd+hkS4PuZ3QnmqMMxRuajK/a38L6fTpcE5GPIfrf+L/KemFzfUpeUQc1rRS1iDBozvnFA==", - "dev": true - }, - "node_modules/unbox-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", - "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.2", - "has-bigints": "^1.0.2", - "has-symbols": "^1.0.3", - "which-boxed-primitive": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } + "node_modules/tsup/node_modules/@esbuild/darwin-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", + "cpu": [ + "arm64" ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/v8-to-istanbul": { - "version": "9.2.0", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz", - "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.12", - "@types/istanbul-lib-coverage": "^2.0.1", - "convert-source-map": "^2.0.0" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": ">=10.12.0" - } - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" + "node": ">=18" } }, - "node_modules/vite": { - "version": "5.2.7", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.2.7.tgz", - "integrity": "sha512-k14PWOKLI6pMaSzAuGtT+Cf0YmIx12z9YGon39onaJNy8DLBfBJrzg9FQEmkAM5lpHBZs9wksWAsyF/HkpEwJA==", + "node_modules/tsup/node_modules/@esbuild/darwin-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", + "cpu": [ + "x64" + ], "dev": true, - "dependencies": { - "esbuild": "^0.20.1", - "postcss": "^8.4.38", - "rollup": "^4.13.0" - }, - "bin": { - "vite": "bin/vite.js" - }, + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || >=20.0.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } + "node": ">=18" } }, - "node_modules/vite-node": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-1.4.0.tgz", - "integrity": "sha512-VZDAseqjrHgNd4Kh8icYHWzTKSCZMhia7GyHfhtzLW33fZlG9SwsB6CEhgyVOWkJfJ2pFLrp/Gj1FSfAiqH9Lw==", + "node_modules/tsup/node_modules/@esbuild/freebsd-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", + "cpu": [ + "arm64" + ], "dev": true, - "dependencies": { - "cac": "^6.7.14", - "debug": "^4.3.4", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "vite": "^5.0.0" - }, - "bin": { - "vite-node": "vite-node.mjs" - }, + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^18.0.0 || >=20.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.2.tgz", - "integrity": "sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==", + "node_modules/tsup/node_modules/@esbuild/freebsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "cpu": [ - "arm" + "x64" ], "dev": true, "optional": true, "os": [ - "android" + "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz", - "integrity": "sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==", + "node_modules/tsup/node_modules/@esbuild/linux-arm": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "cpu": [ - "arm64" + "arm" ], "dev": true, "optional": true, "os": [ - "android" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.2.tgz", - "integrity": "sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==", + "node_modules/tsup/node_modules/@esbuild/linux-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "cpu": [ - "x64" + "arm64" ], "dev": true, "optional": true, "os": [ - "android" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz", - "integrity": "sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==", + "node_modules/tsup/node_modules/@esbuild/linux-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "cpu": [ - "arm64" + "ia32" ], "dev": true, "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz", - "integrity": "sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==", + "node_modules/tsup/node_modules/@esbuild/linux-loong64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "cpu": [ - "x64" + "loong64" ], "dev": true, "optional": true, "os": [ - "darwin" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz", - "integrity": "sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==", + "node_modules/tsup/node_modules/@esbuild/linux-mips64el": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "cpu": [ - "arm64" + "mips64el" ], "dev": true, "optional": true, "os": [ - "freebsd" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz", - "integrity": "sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==", + "node_modules/tsup/node_modules/@esbuild/linux-ppc64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "cpu": [ - "x64" + "ppc64" ], "dev": true, "optional": true, "os": [ - "freebsd" + "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz", - "integrity": "sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==", + "node_modules/tsup/node_modules/@esbuild/linux-riscv64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "cpu": [ - "arm" + "riscv64" ], "dev": true, "optional": true, @@ -7140,15 +7116,15 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz", - "integrity": "sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==", + "node_modules/tsup/node_modules/@esbuild/linux-s390x": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "cpu": [ - "arm64" + "s390x" ], "dev": true, "optional": true, @@ -7156,15 +7132,15 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz", - "integrity": "sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==", + "node_modules/tsup/node_modules/@esbuild/linux-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "cpu": [ - "ia32" + "x64" ], "dev": true, "optional": true, @@ -7172,265 +7148,468 @@ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz", - "integrity": "sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==", + "node_modules/tsup/node_modules/@esbuild/netbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "cpu": [ - "loong64" + "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz", - "integrity": "sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==", + "node_modules/tsup/node_modules/@esbuild/openbsd-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "cpu": [ - "mips64el" + "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz", - "integrity": "sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==", + "node_modules/tsup/node_modules/@esbuild/sunos-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "cpu": [ - "ppc64" + "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz", - "integrity": "sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==", + "node_modules/tsup/node_modules/@esbuild/win32-arm64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "cpu": [ - "riscv64" + "arm64" ], "dev": true, "optional": true, "os": [ - "linux" + "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz", - "integrity": "sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==", + "node_modules/tsup/node_modules/@esbuild/win32-ia32": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "cpu": [ - "s390x" + "ia32" ], "dev": true, "optional": true, "os": [ - "linux" + "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz", - "integrity": "sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==", + "node_modules/tsup/node_modules/@esbuild/win32-x64": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "cpu": [ "x64" ], "dev": true, "optional": true, "os": [ - "linux" + "win32" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/tsup/node_modules/esbuild": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" + } + }, + "node_modules/tsup/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/tsup/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", + "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" + } + }, + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "4.26.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.26.0.tgz", + "integrity": "sha512-OduNjVJsFbifKb57UqZ2EMP1i4u64Xwow3NYXUtBbD4vIwJdQd4+xl8YDou1dlm4DVrtwT/7Ky8z8WyCULVfxw==", + "dev": true, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typed-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz", + "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "es-errors": "^1.3.0", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/typed-array-byte-length": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz", + "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/typed-array-byte-offset": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz", + "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.7", + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz", - "integrity": "sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==", - "cpu": [ - "x64" - ], + "node_modules/typed-array-length": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.6.tgz", + "integrity": "sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==", "dev": true, - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "call-bind": "^1.0.7", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-proto": "^1.0.3", + "is-typed-array": "^1.1.13", + "possible-typed-array-names": "^1.0.0" + }, "engines": { - "node": ">=12" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz", - "integrity": "sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==", - "cpu": [ - "x64" - ], + "node_modules/typescript": { + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, - "optional": true, - "os": [ - "openbsd" - ], + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, "engines": { - "node": ">=12" + "node": ">=14.17" } }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz", - "integrity": "sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==", - "cpu": [ - "x64" - ], + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz", - "integrity": "sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==", - "cpu": [ - "arm64" - ], + "node_modules/undici-types": { + "version": "6.19.8", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", + "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", + "dev": true + }, + "node_modules/update-browserslist-db": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz", + "integrity": "sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==", "dev": true, - "optional": true, - "os": [ - "win32" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } ], - "engines": { - "node": ">=12" + "dependencies": { + "escalade": "^3.1.2", + "picocolors": "^1.0.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz", - "integrity": "sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==", - "cpu": [ - "ia32" - ], + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "dependencies": { + "punycode": "^2.1.0" } }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz", - "integrity": "sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==", - "cpu": [ - "x64" - ], + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" } }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.2.tgz", - "integrity": "sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==", + "node_modules/vite": { + "version": "5.3.5", + "resolved": "https://registry.npmjs.org/vite/-/vite-5.3.5.tgz", + "integrity": "sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==", "dev": true, - "hasInstallScript": true, + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.39", + "rollup": "^4.13.0" + }, "bin": { - "esbuild": "bin/esbuild" + "vite": "bin/vite.js" }, "engines": { - "node": ">=12" + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.2", - "@esbuild/android-arm": "0.20.2", - "@esbuild/android-arm64": "0.20.2", - "@esbuild/android-x64": "0.20.2", - "@esbuild/darwin-arm64": "0.20.2", - "@esbuild/darwin-x64": "0.20.2", - "@esbuild/freebsd-arm64": "0.20.2", - "@esbuild/freebsd-x64": "0.20.2", - "@esbuild/linux-arm": "0.20.2", - "@esbuild/linux-arm64": "0.20.2", - "@esbuild/linux-ia32": "0.20.2", - "@esbuild/linux-loong64": "0.20.2", - "@esbuild/linux-mips64el": "0.20.2", - "@esbuild/linux-ppc64": "0.20.2", - "@esbuild/linux-riscv64": "0.20.2", - "@esbuild/linux-s390x": "0.20.2", - "@esbuild/linux-x64": "0.20.2", - "@esbuild/netbsd-x64": "0.20.2", - "@esbuild/openbsd-x64": "0.20.2", - "@esbuild/sunos-x64": "0.20.2", - "@esbuild/win32-arm64": "0.20.2", - "@esbuild/win32-ia32": "0.20.2", - "@esbuild/win32-x64": "0.20.2" + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } } }, - "node_modules/vitest": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-1.4.0.tgz", - "integrity": "sha512-gujzn0g7fmwf83/WzrDTnncZt2UiXP41mHuFYFrdwaLRVQ6JYQEiME2IfEjU3vcFL3VKa75XhI3lFgn+hfVsQw==", + "node_modules/vite-node": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", + "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", "dev": true, "dependencies": { - "@vitest/expect": "1.4.0", - "@vitest/runner": "1.4.0", - "@vitest/snapshot": "1.4.0", - "@vitest/spy": "1.4.0", - "@vitest/utils": "1.4.0", - "acorn-walk": "^8.3.2", - "chai": "^4.3.10", - "debug": "^4.3.4", + "cac": "^6.7.14", + "debug": "^4.3.5", + "pathe": "^1.1.2", + "tinyrainbow": "^1.2.0", + "vite": "^5.0.0" + }, + "bin": { + "vite-node": "vite-node.mjs" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://opencollective.com/vitest" + } + }, + "node_modules/vitest": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", + "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.3.0", + "@vitest/expect": "2.0.5", + "@vitest/pretty-format": "^2.0.5", + "@vitest/runner": "2.0.5", + "@vitest/snapshot": "2.0.5", + "@vitest/spy": "2.0.5", + "@vitest/utils": "2.0.5", + "chai": "^5.1.1", + "debug": "^4.3.5", "execa": "^8.0.1", - "local-pkg": "^0.5.0", - "magic-string": "^0.30.5", - "pathe": "^1.1.1", - "picocolors": "^1.0.0", - "std-env": "^3.5.0", - "strip-literal": "^2.0.0", - "tinybench": "^2.5.1", - "tinypool": "^0.8.2", + "magic-string": "^0.30.10", + "pathe": "^1.1.2", + "std-env": "^3.7.0", + "tinybench": "^2.8.0", + "tinypool": "^1.0.0", + "tinyrainbow": "^1.2.0", "vite": "^5.0.0", - "vite-node": "1.4.0", - "why-is-node-running": "^2.2.2" + "vite-node": "2.0.5", + "why-is-node-running": "^2.3.0" }, "bin": { "vitest": "vitest.mjs" @@ -7444,8 +7623,8 @@ "peerDependencies": { "@edge-runtime/vm": "*", "@types/node": "^18.0.0 || >=20.0.0", - "@vitest/browser": "1.4.0", - "@vitest/ui": "1.4.0", + "@vitest/browser": "2.0.5", + "@vitest/ui": "2.0.5", "happy-dom": "*", "jsdom": "*" }, @@ -7713,9 +7892,9 @@ } }, "node_modules/why-is-node-running": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.2.2.tgz", - "integrity": "sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", + "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", "dev": true, "dependencies": { "siginfo": "^2.0.0", @@ -7728,27 +7907,106 @@ "node": ">=8" } }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } }, - "node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "node_modules/yaml": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", - "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, + "dependencies": { + "ansi-regex": "^6.0.1" + }, "engines": { - "node": ">= 14" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, "node_modules/yocto-queue": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", diff --git a/package.json b/package.json index 9db428ebd..873b1cf51 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@readme/httpsnippet", - "version": "10.0.5", + "version": "10.1.0", "description": "HTTP Request snippet generator for *most* languages", "homepage": "https://github.com/readmeio/httpsnippet", "license": "MIT", @@ -53,14 +53,12 @@ "ocaml", "php", "python", - "request", "requests", "ruby", "shell", "snippet", "swift", "swift", - "unirest", "xhr", "xmlhttprequest" ], @@ -87,17 +85,17 @@ "@readme/eslint-config": "^14.0.0", "@types/eslint": "^8.44.7", "@types/har-format": "^1.2.15", - "@types/node": "^20.12.5", + "@types/node": "^22.0.2", "@types/qs": "^6.9.10", "@types/stringify-object": "^4.0.5", - "@vitest/coverage-v8": "^1.1.1", + "@vitest/coverage-v8": "^2.0.5", "eslint": "^8.57.0", "prettier": "^3.0.3", "require-directory": "^2.1.1", "tsup": "^8.0.1", "type-fest": "^4.15.0", "typescript": "^5.4.4", - "vitest": "^1.1.1" + "vitest": "^2.0.5" }, "prettier": "@readme/eslint-config/prettier" } diff --git a/src/fixtures/customTarget.ts b/src/fixtures/customTarget.ts index 98f15fbe8..56c4029d4 100644 --- a/src/fixtures/customTarget.ts +++ b/src/fixtures/customTarget.ts @@ -1,15 +1,15 @@ import type { Target } from '../targets/index.js'; -import { request } from '../targets/node/request/client.js'; +import { axios } from '../targets/node/axios/client.js'; export const customTarget = { info: { - key: 'js-variant', - title: 'JavaScript Variant', + key: 'node-variant', + title: 'Node Variant', extname: '.js', - default: 'request', + default: 'axios', }, clientsById: { - request, + axios, }, } as unknown as Target; diff --git a/src/helpers/__snapshots__/utils.test.ts.snap b/src/helpers/__snapshots__/utils.test.ts.snap index cd0bf5934..446baba49 100644 --- a/src/helpers/__snapshots__/utils.test.ts.snap +++ b/src/helpers/__snapshots__/utils.test.ts.snap @@ -150,7 +150,7 @@ exports[`availableTargets > returns all available targets 1`] = ` "title": "jQuery", }, ], - "default": "xhr", + "default": "fetch", "key": "javascript", "title": "JavaScript", }, @@ -192,39 +192,23 @@ exports[`availableTargets > returns all available targets 1`] = ` "link": "http://nodejs.org/api/http.html#http_http_request_options_callback", "title": "HTTP", }, - { - "description": "Simplified HTTP request client", - "extname": ".cjs", - "installation": "npm install request --save", - "key": "request", - "link": "https://github.com/request/request", - "title": "Request", - }, - { - "description": "Lightweight HTTP Request Client Library", - "extname": ".cjs", - "key": "unirest", - "link": "http://unirest.io/nodejs.html", - "title": "Unirest", - }, { "description": "Promise based HTTP client for the browser and node.js", - "extname": ".cjs", + "extname": ".js", "installation": "npm install axios --save", "key": "axios", "link": "https://github.com/axios/axios", "title": "Axios", }, { - "description": "Simplified HTTP node-fetch client", - "extname": ".cjs", - "installation": "npm install node-fetch@2 --save", + "description": "Perform asynchronous HTTP requests with the Fetch API", + "extname": ".js", "key": "fetch", - "link": "https://github.com/bitinn/node-fetch", - "title": "Fetch", + "link": "https://nodejs.org/docs/latest/api/globals.html#fetch", + "title": "fetch", }, ], - "default": "native", + "default": "fetch", "key": "node", "title": "Node.js", }, diff --git a/src/helpers/utils.test.ts b/src/helpers/utils.test.ts index e90337932..dfe75158a 100644 --- a/src/helpers/utils.test.ts +++ b/src/helpers/utils.test.ts @@ -22,7 +22,7 @@ describe('extname', () => { expect(extname('c', 'libcurl')).toBe('.c'); expect(extname('clojure', 'clj_http')).toBe('.clj'); expect(extname('javascript', 'axios')).toBe('.js'); - expect(extname('node', 'axios')).toBe('.cjs'); + expect(extname('node', 'axios')).toBe('.js'); }); it('returns empty string if the extension is not found', () => { diff --git a/src/integration.test.ts b/src/integration.test.ts index 41f126236..9bab58313 100644 --- a/src/integration.test.ts +++ b/src/integration.test.ts @@ -21,7 +21,7 @@ const ENVIRONMENT_CONFIG = { c: ['libcurl'], csharp: ['httpclient', 'restsharp'], go: ['native'], - node: ['axios', 'fetch', 'native', 'request'], + node: ['axios', 'fetch'], php: ['curl', 'guzzle'], python: ['requests'], shell: ['curl'], @@ -30,7 +30,7 @@ const ENVIRONMENT_CONFIG = { // When running tests locally, or within a CI environment, we shold limit the targets that // we're testing so as to not require a mess of dependency requirements that would be better // served within a container. - node: ['native'], + node: ['fetch'], php: ['curl'], python: ['requests'], shell: ['curl'], diff --git a/src/targets/index.test.ts b/src/targets/index.test.ts index 97eaade1f..15c936d64 100644 --- a/src/targets/index.test.ts +++ b/src/targets/index.test.ts @@ -31,7 +31,7 @@ const targetFilter: TargetId[] = [ /** useful for debuggin, only run a particular set of targets */ const clientFilter: ClientId[] = [ // put your clientId here: - // 'unirest', + // 'axios', ]; /** useful for debuggin, only run a particular set of fixtures */ diff --git a/src/targets/javascript/axios/client.ts b/src/targets/javascript/axios/client.ts index 493c12104..6dfbdc333 100644 --- a/src/targets/javascript/axios/client.ts +++ b/src/targets/javascript/axios/client.ts @@ -99,12 +99,8 @@ export const axios: Client = { push('axios'); push('.request(options)', 1); - push('.then(function (response) {', 1); - push('console.log(response.data);', 2); - push('})', 1); - push('.catch(function (error) {', 1); - push('console.error(error);', 2); - push('});', 1); + push('.then(res => console.log(res.data))', 1); + push('.catch(err => console.error(err));', 1); return join(); }, diff --git a/src/targets/javascript/axios/fixtures/application-form-encoded.js b/src/targets/javascript/axios/fixtures/application-form-encoded.js index 7a55fffc3..1a83ea542 100644 --- a/src/targets/javascript/axios/fixtures/application-form-encoded.js +++ b/src/targets/javascript/axios/fixtures/application-form-encoded.js @@ -13,9 +13,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/application-json.js b/src/targets/javascript/axios/fixtures/application-json.js index 999da16cb..98903a65a 100644 --- a/src/targets/javascript/axios/fixtures/application-json.js +++ b/src/targets/javascript/axios/fixtures/application-json.js @@ -16,9 +16,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/cookies.js b/src/targets/javascript/axios/fixtures/cookies.js index 4d0e356da..7e9cf7ae3 100644 --- a/src/targets/javascript/axios/fixtures/cookies.js +++ b/src/targets/javascript/axios/fixtures/cookies.js @@ -8,9 +8,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/custom-method.js b/src/targets/javascript/axios/fixtures/custom-method.js index c5e3af26a..4142f5977 100644 --- a/src/targets/javascript/axios/fixtures/custom-method.js +++ b/src/targets/javascript/axios/fixtures/custom-method.js @@ -4,9 +4,5 @@ const options = {method: 'PROPFIND', url: 'https://httpbin.org/anything'}; axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/full.js b/src/targets/javascript/axios/fixtures/full.js index ae9dcb0d5..014bd7340 100644 --- a/src/targets/javascript/axios/fixtures/full.js +++ b/src/targets/javascript/axios/fixtures/full.js @@ -17,9 +17,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/headers.js b/src/targets/javascript/axios/fixtures/headers.js index cbdbcb4c8..8026a1ee9 100644 --- a/src/targets/javascript/axios/fixtures/headers.js +++ b/src/targets/javascript/axios/fixtures/headers.js @@ -13,9 +13,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/http-insecure.js b/src/targets/javascript/axios/fixtures/http-insecure.js index cd424b513..0512e2df7 100644 --- a/src/targets/javascript/axios/fixtures/http-insecure.js +++ b/src/targets/javascript/axios/fixtures/http-insecure.js @@ -4,9 +4,5 @@ const options = {method: 'GET', url: 'http://httpbin.org/anything'}; axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/jsonObj-multiline.js b/src/targets/javascript/axios/fixtures/jsonObj-multiline.js index 867e8b396..7d41fbc52 100644 --- a/src/targets/javascript/axios/fixtures/jsonObj-multiline.js +++ b/src/targets/javascript/axios/fixtures/jsonObj-multiline.js @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/jsonObj-null-value.js b/src/targets/javascript/axios/fixtures/jsonObj-null-value.js index 06d04de34..3731d644d 100644 --- a/src/targets/javascript/axios/fixtures/jsonObj-null-value.js +++ b/src/targets/javascript/axios/fixtures/jsonObj-null-value.js @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/multipart-data.js b/src/targets/javascript/axios/fixtures/multipart-data.js index 5c620c764..bb36ba381 100644 --- a/src/targets/javascript/axios/fixtures/multipart-data.js +++ b/src/targets/javascript/axios/fixtures/multipart-data.js @@ -13,9 +13,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/multipart-file.js b/src/targets/javascript/axios/fixtures/multipart-file.js index 30e222583..6579bbe8c 100644 --- a/src/targets/javascript/axios/fixtures/multipart-file.js +++ b/src/targets/javascript/axios/fixtures/multipart-file.js @@ -12,9 +12,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/multipart-form-data-no-params.js b/src/targets/javascript/axios/fixtures/multipart-form-data-no-params.js index 28b915fec..57e424c87 100644 --- a/src/targets/javascript/axios/fixtures/multipart-form-data-no-params.js +++ b/src/targets/javascript/axios/fixtures/multipart-form-data-no-params.js @@ -8,9 +8,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/multipart-form-data.js b/src/targets/javascript/axios/fixtures/multipart-form-data.js index 61e9870f1..ec40b9e54 100644 --- a/src/targets/javascript/axios/fixtures/multipart-form-data.js +++ b/src/targets/javascript/axios/fixtures/multipart-form-data.js @@ -12,9 +12,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/nested.js b/src/targets/javascript/axios/fixtures/nested.js index e9d270e1c..3fffb9755 100644 --- a/src/targets/javascript/axios/fixtures/nested.js +++ b/src/targets/javascript/axios/fixtures/nested.js @@ -8,9 +8,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/postdata-malformed.js b/src/targets/javascript/axios/fixtures/postdata-malformed.js index 6e7eb1676..f40deb9ed 100644 --- a/src/targets/javascript/axios/fixtures/postdata-malformed.js +++ b/src/targets/javascript/axios/fixtures/postdata-malformed.js @@ -8,9 +8,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/query-encoded.js b/src/targets/javascript/axios/fixtures/query-encoded.js index 1090af9c1..489c9927e 100644 --- a/src/targets/javascript/axios/fixtures/query-encoded.js +++ b/src/targets/javascript/axios/fixtures/query-encoded.js @@ -11,9 +11,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/query.js b/src/targets/javascript/axios/fixtures/query.js index e08494626..39cca5992 100644 --- a/src/targets/javascript/axios/fixtures/query.js +++ b/src/targets/javascript/axios/fixtures/query.js @@ -8,9 +8,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/short.js b/src/targets/javascript/axios/fixtures/short.js index ec03ac010..ba835ded4 100644 --- a/src/targets/javascript/axios/fixtures/short.js +++ b/src/targets/javascript/axios/fixtures/short.js @@ -4,9 +4,5 @@ const options = {method: 'GET', url: 'https://httpbin.org/anything'}; axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/axios/fixtures/text-plain.js b/src/targets/javascript/axios/fixtures/text-plain.js index c212a3157..dbe78d903 100644 --- a/src/targets/javascript/axios/fixtures/text-plain.js +++ b/src/targets/javascript/axios/fixtures/text-plain.js @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/client.ts b/src/targets/javascript/fetch/client.ts index 9db46a397..6c9287221 100644 --- a/src/targets/javascript/fetch/client.ts +++ b/src/targets/javascript/fetch/client.ts @@ -121,8 +121,8 @@ export const fetch: Client = { } push(`fetch('${fullUrl}', options)`); - push('.then(response => response.json())', 1); - push('.then(response => console.log(response))', 1); + push('.then(res => res.json())', 1); + push('.then(res => console.log(res))', 1); push('.catch(err => console.error(err));', 1); return join(); diff --git a/src/targets/javascript/fetch/fixtures/application-form-encoded.js b/src/targets/javascript/fetch/fixtures/application-form-encoded.js index fd256737b..4e0d61445 100644 --- a/src/targets/javascript/fetch/fixtures/application-form-encoded.js +++ b/src/targets/javascript/fetch/fixtures/application-form-encoded.js @@ -5,6 +5,6 @@ const options = { }; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/application-json.js b/src/targets/javascript/fetch/fixtures/application-json.js index f79071c08..49568ebfb 100644 --- a/src/targets/javascript/fetch/fixtures/application-json.js +++ b/src/targets/javascript/fetch/fixtures/application-json.js @@ -12,6 +12,6 @@ const options = { }; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/cookies.js b/src/targets/javascript/fetch/fixtures/cookies.js index a9ba5766d..ba1fb515c 100644 --- a/src/targets/javascript/fetch/fixtures/cookies.js +++ b/src/targets/javascript/fetch/fixtures/cookies.js @@ -1,6 +1,6 @@ const options = {method: 'GET', headers: {cookie: 'foo=bar; bar=baz'}}; fetch('https://httpbin.org/cookies', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/custom-method.js b/src/targets/javascript/fetch/fixtures/custom-method.js index 738405920..102f9b51e 100644 --- a/src/targets/javascript/fetch/fixtures/custom-method.js +++ b/src/targets/javascript/fetch/fixtures/custom-method.js @@ -1,6 +1,6 @@ const options = {method: 'PROPFIND'}; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/full.js b/src/targets/javascript/fetch/fixtures/full.js index 3aee96390..b26902bb5 100644 --- a/src/targets/javascript/fetch/fixtures/full.js +++ b/src/targets/javascript/fetch/fixtures/full.js @@ -9,6 +9,6 @@ const options = { }; fetch('https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/headers.js b/src/targets/javascript/fetch/fixtures/headers.js index 6db2a5d5b..3ca72a640 100644 --- a/src/targets/javascript/fetch/fixtures/headers.js +++ b/src/targets/javascript/fetch/fixtures/headers.js @@ -9,6 +9,6 @@ const options = { }; fetch('https://httpbin.org/headers', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/http-insecure.js b/src/targets/javascript/fetch/fixtures/http-insecure.js index c2624597f..60ada7617 100644 --- a/src/targets/javascript/fetch/fixtures/http-insecure.js +++ b/src/targets/javascript/fetch/fixtures/http-insecure.js @@ -1,6 +1,6 @@ const options = {method: 'GET'}; fetch('http://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/jsonObj-multiline.js b/src/targets/javascript/fetch/fixtures/jsonObj-multiline.js index f2e9c2795..fc681292a 100644 --- a/src/targets/javascript/fetch/fixtures/jsonObj-multiline.js +++ b/src/targets/javascript/fetch/fixtures/jsonObj-multiline.js @@ -5,6 +5,6 @@ const options = { }; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/jsonObj-null-value.js b/src/targets/javascript/fetch/fixtures/jsonObj-null-value.js index b6b9ea049..305eed6b6 100644 --- a/src/targets/javascript/fetch/fixtures/jsonObj-null-value.js +++ b/src/targets/javascript/fetch/fixtures/jsonObj-null-value.js @@ -5,6 +5,6 @@ const options = { }; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/multipart-data.js b/src/targets/javascript/fetch/fixtures/multipart-data.js index 5cc8ddf85..ac8664bf9 100644 --- a/src/targets/javascript/fetch/fixtures/multipart-data.js +++ b/src/targets/javascript/fetch/fixtures/multipart-data.js @@ -7,6 +7,6 @@ const options = {method: 'POST'}; options.body = form; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/multipart-file.js b/src/targets/javascript/fetch/fixtures/multipart-file.js index 11b0a6b05..039019a1c 100644 --- a/src/targets/javascript/fetch/fixtures/multipart-file.js +++ b/src/targets/javascript/fetch/fixtures/multipart-file.js @@ -6,6 +6,6 @@ const options = {method: 'POST'}; options.body = form; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/multipart-form-data-no-params.js b/src/targets/javascript/fetch/fixtures/multipart-form-data-no-params.js index b1318179e..4b79e19a6 100644 --- a/src/targets/javascript/fetch/fixtures/multipart-form-data-no-params.js +++ b/src/targets/javascript/fetch/fixtures/multipart-form-data-no-params.js @@ -1,6 +1,6 @@ const options = {method: 'POST', headers: {'Content-Type': 'multipart/form-data'}}; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/multipart-form-data.js b/src/targets/javascript/fetch/fixtures/multipart-form-data.js index 90643fc61..7a21714a4 100644 --- a/src/targets/javascript/fetch/fixtures/multipart-form-data.js +++ b/src/targets/javascript/fetch/fixtures/multipart-form-data.js @@ -6,6 +6,6 @@ const options = {method: 'POST'}; options.body = form; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/nested.js b/src/targets/javascript/fetch/fixtures/nested.js index 8bcc084d2..97d251384 100644 --- a/src/targets/javascript/fetch/fixtures/nested.js +++ b/src/targets/javascript/fetch/fixtures/nested.js @@ -1,6 +1,6 @@ const options = {method: 'GET'}; fetch('https://httpbin.org/anything?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/postdata-malformed.js b/src/targets/javascript/fetch/fixtures/postdata-malformed.js index 145b702c4..94f81b0a4 100644 --- a/src/targets/javascript/fetch/fixtures/postdata-malformed.js +++ b/src/targets/javascript/fetch/fixtures/postdata-malformed.js @@ -1,6 +1,6 @@ const options = {method: 'POST', headers: {'content-type': 'application/json'}}; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/query-encoded.js b/src/targets/javascript/fetch/fixtures/query-encoded.js index 6da5448bb..14b44cf6c 100644 --- a/src/targets/javascript/fetch/fixtures/query-encoded.js +++ b/src/targets/javascript/fetch/fixtures/query-encoded.js @@ -1,6 +1,6 @@ const options = {method: 'GET'}; fetch('https://httpbin.org/anything?startTime=2019-06-13T19%3A08%3A25.455Z&endTime=2015-09-15T14%3A00%3A12-04%3A00', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/query.js b/src/targets/javascript/fetch/fixtures/query.js index fe792dbe1..22d68dcd3 100644 --- a/src/targets/javascript/fetch/fixtures/query.js +++ b/src/targets/javascript/fetch/fixtures/query.js @@ -1,6 +1,6 @@ const options = {method: 'GET'}; fetch('https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/short.js b/src/targets/javascript/fetch/fixtures/short.js index 86cec7387..68ab8947d 100644 --- a/src/targets/javascript/fetch/fixtures/short.js +++ b/src/targets/javascript/fetch/fixtures/short.js @@ -1,6 +1,6 @@ const options = {method: 'GET'}; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/fetch/fixtures/text-plain.js b/src/targets/javascript/fetch/fixtures/text-plain.js index 3ff4a6f81..5a83b05da 100644 --- a/src/targets/javascript/fetch/fixtures/text-plain.js +++ b/src/targets/javascript/fetch/fixtures/text-plain.js @@ -1,6 +1,6 @@ const options = {method: 'POST', headers: {'content-type': 'text/plain'}, body: 'Hello World'}; fetch('https://httpbin.org/anything', options) - .then(response => response.json()) - .then(response => console.log(response)) + .then(res => res.json()) + .then(res => console.log(res)) .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/javascript/jquery/client.ts b/src/targets/javascript/jquery/client.ts index 5eb246e00..dbd9d3e7d 100644 --- a/src/targets/javascript/jquery/client.ts +++ b/src/targets/javascript/jquery/client.ts @@ -87,8 +87,8 @@ export const jquery: Client = { push(`const settings = ${stringifiedSettings};`); blank(); - push('$.ajax(settings).done(function (response) {'); - push('console.log(response);', 1); + push('$.ajax(settings).done(res => {'); + push('console.log(res);', 1); push('});'); return join(); diff --git a/src/targets/javascript/jquery/fixtures/application-form-encoded.js b/src/targets/javascript/jquery/fixtures/application-form-encoded.js index c3084f07a..fd6020417 100644 --- a/src/targets/javascript/jquery/fixtures/application-form-encoded.js +++ b/src/targets/javascript/jquery/fixtures/application-form-encoded.js @@ -12,6 +12,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/application-json.js b/src/targets/javascript/jquery/fixtures/application-json.js index 740cf3fa0..0599fa68a 100644 --- a/src/targets/javascript/jquery/fixtures/application-json.js +++ b/src/targets/javascript/jquery/fixtures/application-json.js @@ -10,6 +10,6 @@ const settings = { data: '{"number":1,"string":"f\"oo","arr":[1,2,3],"nested":{"a":"b"},"arr_mix":[1,"a",{"arr_mix_nested":[]}],"boolean":false}' }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/cookies.js b/src/targets/javascript/jquery/fixtures/cookies.js index 5ba967b46..18899ddd8 100644 --- a/src/targets/javascript/jquery/fixtures/cookies.js +++ b/src/targets/javascript/jquery/fixtures/cookies.js @@ -8,6 +8,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/custom-method.js b/src/targets/javascript/jquery/fixtures/custom-method.js index 6f48d72c4..5131ee1db 100644 --- a/src/targets/javascript/jquery/fixtures/custom-method.js +++ b/src/targets/javascript/jquery/fixtures/custom-method.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/full.js b/src/targets/javascript/jquery/fixtures/full.js index 32649fb75..a92c8867f 100644 --- a/src/targets/javascript/jquery/fixtures/full.js +++ b/src/targets/javascript/jquery/fixtures/full.js @@ -13,6 +13,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/headers.js b/src/targets/javascript/jquery/fixtures/headers.js index 7b2fc32bf..f482429b7 100644 --- a/src/targets/javascript/jquery/fixtures/headers.js +++ b/src/targets/javascript/jquery/fixtures/headers.js @@ -11,6 +11,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/http-insecure.js b/src/targets/javascript/jquery/fixtures/http-insecure.js index 63d557e39..bcc14a5f3 100644 --- a/src/targets/javascript/jquery/fixtures/http-insecure.js +++ b/src/targets/javascript/jquery/fixtures/http-insecure.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/jsonObj-multiline.js b/src/targets/javascript/jquery/fixtures/jsonObj-multiline.js index c1fbeae46..361dfd3c7 100644 --- a/src/targets/javascript/jquery/fixtures/jsonObj-multiline.js +++ b/src/targets/javascript/jquery/fixtures/jsonObj-multiline.js @@ -10,6 +10,6 @@ const settings = { data: '{\n "foo": "bar"\n}' }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/jsonObj-null-value.js b/src/targets/javascript/jquery/fixtures/jsonObj-null-value.js index bdb8f7b89..682bf2726 100644 --- a/src/targets/javascript/jquery/fixtures/jsonObj-null-value.js +++ b/src/targets/javascript/jquery/fixtures/jsonObj-null-value.js @@ -10,6 +10,6 @@ const settings = { data: '{"foo":null}' }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/multipart-data.js b/src/targets/javascript/jquery/fixtures/multipart-data.js index aab34a995..48c0ffc10 100644 --- a/src/targets/javascript/jquery/fixtures/multipart-data.js +++ b/src/targets/javascript/jquery/fixtures/multipart-data.js @@ -14,6 +14,6 @@ const settings = { data: form }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/multipart-file.js b/src/targets/javascript/jquery/fixtures/multipart-file.js index 20fb8e2dc..43aba5379 100644 --- a/src/targets/javascript/jquery/fixtures/multipart-file.js +++ b/src/targets/javascript/jquery/fixtures/multipart-file.js @@ -13,6 +13,6 @@ const settings = { data: form }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/multipart-form-data-no-params.js b/src/targets/javascript/jquery/fixtures/multipart-form-data-no-params.js index 78c9ea809..da5946035 100644 --- a/src/targets/javascript/jquery/fixtures/multipart-form-data-no-params.js +++ b/src/targets/javascript/jquery/fixtures/multipart-form-data-no-params.js @@ -8,6 +8,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/multipart-form-data.js b/src/targets/javascript/jquery/fixtures/multipart-form-data.js index 0c3c85697..68fde42fb 100644 --- a/src/targets/javascript/jquery/fixtures/multipart-form-data.js +++ b/src/targets/javascript/jquery/fixtures/multipart-form-data.js @@ -13,6 +13,6 @@ const settings = { data: form }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/nested.js b/src/targets/javascript/jquery/fixtures/nested.js index 74cb5dc94..4aac81436 100644 --- a/src/targets/javascript/jquery/fixtures/nested.js +++ b/src/targets/javascript/jquery/fixtures/nested.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/postdata-malformed.js b/src/targets/javascript/jquery/fixtures/postdata-malformed.js index 7caf9328f..a588c826c 100644 --- a/src/targets/javascript/jquery/fixtures/postdata-malformed.js +++ b/src/targets/javascript/jquery/fixtures/postdata-malformed.js @@ -8,6 +8,6 @@ const settings = { } }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/query-encoded.js b/src/targets/javascript/jquery/fixtures/query-encoded.js index f65186c31..cf871a707 100644 --- a/src/targets/javascript/jquery/fixtures/query-encoded.js +++ b/src/targets/javascript/jquery/fixtures/query-encoded.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/query.js b/src/targets/javascript/jquery/fixtures/query.js index fd9713a43..9d81c66db 100644 --- a/src/targets/javascript/jquery/fixtures/query.js +++ b/src/targets/javascript/jquery/fixtures/query.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/short.js b/src/targets/javascript/jquery/fixtures/short.js index a55f7bb88..0aa030eef 100644 --- a/src/targets/javascript/jquery/fixtures/short.js +++ b/src/targets/javascript/jquery/fixtures/short.js @@ -6,6 +6,6 @@ const settings = { headers: {} }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/jquery/fixtures/text-plain.js b/src/targets/javascript/jquery/fixtures/text-plain.js index 15932a19c..d99636080 100644 --- a/src/targets/javascript/jquery/fixtures/text-plain.js +++ b/src/targets/javascript/jquery/fixtures/text-plain.js @@ -9,6 +9,6 @@ const settings = { data: 'Hello World' }; -$.ajax(settings).done(function (response) { - console.log(response); +$.ajax(settings).done(res => { + console.log(res); }); \ No newline at end of file diff --git a/src/targets/javascript/target.ts b/src/targets/javascript/target.ts index 116c26c4e..6c58572cb 100644 --- a/src/targets/javascript/target.ts +++ b/src/targets/javascript/target.ts @@ -9,7 +9,7 @@ export const javascript: Target = { info: { key: 'javascript', title: 'JavaScript', - default: 'xhr', + default: 'fetch', }, clientsById: { diff --git a/src/targets/node/axios/client.ts b/src/targets/node/axios/client.ts index fd71e74c3..193b528e1 100644 --- a/src/targets/node/axios/client.ts +++ b/src/targets/node/axios/client.ts @@ -19,7 +19,7 @@ export const axios: Client = { title: 'Axios', link: 'https://github.com/axios/axios', description: 'Promise based HTTP client for the browser and node.js', - extname: '.cjs', + extname: '.js', installation: 'npm install axios --save', }, convert: ({ method, fullUrl, allHeaders, postData }, options) => { @@ -29,7 +29,8 @@ export const axios: Client = { }; const { blank, join, push, addPostProcessor } = new CodeBuilder({ indent: opts.indent }); - push("const axios = require('axios');"); + push("import axios from 'axios';"); + blank(); const reqOpts: Record = { method, @@ -43,9 +44,6 @@ export const axios: Client = { switch (postData.mimeType) { case 'application/x-www-form-urlencoded': if (postData.params) { - push("const { URLSearchParams } = require('url');"); - blank(); - push('const encodedParams = new URLSearchParams();'); postData.params.forEach(param => { push(`encodedParams.set('${param.name}', '${param.value}');`); @@ -60,14 +58,12 @@ export const axios: Client = { break; case 'application/json': - blank(); if (postData.jsonObj) { reqOpts.data = postData.jsonObj; } break; default: - blank(); if (postData.text) { reqOpts.data = postData.text; } @@ -79,12 +75,8 @@ export const axios: Client = { push('axios'); push('.request(options)', 1); - push('.then(function (response) {', 1); - push('console.log(response.data);', 2); - push('})', 1); - push('.catch(function (error) {', 1); - push('console.error(error);', 2); - push('});', 1); + push('.then(res => console.log(res.data))', 1); + push('.catch(err => console.error(err));', 1); return join(); }, diff --git a/src/targets/node/axios/fixtures/application-form-encoded.cjs b/src/targets/node/axios/fixtures/application-form-encoded.js similarity index 60% rename from src/targets/node/axios/fixtures/application-form-encoded.cjs rename to src/targets/node/axios/fixtures/application-form-encoded.js index 2d3298955..1a83ea542 100644 --- a/src/targets/node/axios/fixtures/application-form-encoded.cjs +++ b/src/targets/node/axios/fixtures/application-form-encoded.js @@ -1,5 +1,4 @@ -const axios = require('axios'); -const { URLSearchParams } = require('url'); +import axios from 'axios'; const encodedParams = new URLSearchParams(); encodedParams.set('foo', 'bar'); @@ -14,9 +13,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/application-json.cjs b/src/targets/node/axios/fixtures/application-json.js similarity index 66% rename from src/targets/node/axios/fixtures/application-json.cjs rename to src/targets/node/axios/fixtures/application-json.js index fc3d0b13a..98903a65a 100644 --- a/src/targets/node/axios/fixtures/application-json.cjs +++ b/src/targets/node/axios/fixtures/application-json.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -16,9 +16,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/cookies.cjs b/src/targets/node/axios/fixtures/cookies.cjs deleted file mode 100644 index e1a046321..000000000 --- a/src/targets/node/axios/fixtures/cookies.cjs +++ /dev/null @@ -1,16 +0,0 @@ -const axios = require('axios'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/cookies', - headers: {cookie: 'foo=bar; bar=baz'} -}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/cookies.js b/src/targets/node/axios/fixtures/cookies.js new file mode 100644 index 000000000..7e9cf7ae3 --- /dev/null +++ b/src/targets/node/axios/fixtures/cookies.js @@ -0,0 +1,12 @@ +import axios from 'axios'; + +const options = { + method: 'GET', + url: 'https://httpbin.org/cookies', + headers: {cookie: 'foo=bar; bar=baz'} +}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/custom-method.cjs b/src/targets/node/axios/fixtures/custom-method.cjs deleted file mode 100644 index 795827399..000000000 --- a/src/targets/node/axios/fixtures/custom-method.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const axios = require('axios'); - -const options = {method: 'PROPFIND', url: 'https://httpbin.org/anything'}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/custom-method.js b/src/targets/node/axios/fixtures/custom-method.js new file mode 100644 index 000000000..4142f5977 --- /dev/null +++ b/src/targets/node/axios/fixtures/custom-method.js @@ -0,0 +1,8 @@ +import axios from 'axios'; + +const options = {method: 'PROPFIND', url: 'https://httpbin.org/anything'}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/full.cjs b/src/targets/node/axios/fixtures/full.js similarity index 65% rename from src/targets/node/axios/fixtures/full.cjs rename to src/targets/node/axios/fixtures/full.js index 90c039479..fce011d95 100644 --- a/src/targets/node/axios/fixtures/full.cjs +++ b/src/targets/node/axios/fixtures/full.js @@ -1,5 +1,4 @@ -const axios = require('axios'); -const { URLSearchParams } = require('url'); +import axios from 'axios'; const encodedParams = new URLSearchParams(); encodedParams.set('foo', 'bar'); @@ -17,9 +16,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/headers.cjs b/src/targets/node/axios/fixtures/headers.js similarity index 59% rename from src/targets/node/axios/fixtures/headers.cjs rename to src/targets/node/axios/fixtures/headers.js index 1f129cdd6..8026a1ee9 100644 --- a/src/targets/node/axios/fixtures/headers.cjs +++ b/src/targets/node/axios/fixtures/headers.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'GET', @@ -13,9 +13,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/http-insecure.cjs b/src/targets/node/axios/fixtures/http-insecure.cjs deleted file mode 100644 index 66a197661..000000000 --- a/src/targets/node/axios/fixtures/http-insecure.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const axios = require('axios'); - -const options = {method: 'GET', url: 'http://httpbin.org/anything'}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/http-insecure.js b/src/targets/node/axios/fixtures/http-insecure.js new file mode 100644 index 000000000..0512e2df7 --- /dev/null +++ b/src/targets/node/axios/fixtures/http-insecure.js @@ -0,0 +1,8 @@ +import axios from 'axios'; + +const options = {method: 'GET', url: 'http://httpbin.org/anything'}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/jsonObj-multiline.cjs b/src/targets/node/axios/fixtures/jsonObj-multiline.js similarity index 52% rename from src/targets/node/axios/fixtures/jsonObj-multiline.cjs rename to src/targets/node/axios/fixtures/jsonObj-multiline.js index 6a02916c2..7d41fbc52 100644 --- a/src/targets/node/axios/fixtures/jsonObj-multiline.cjs +++ b/src/targets/node/axios/fixtures/jsonObj-multiline.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/jsonObj-null-value.cjs b/src/targets/node/axios/fixtures/jsonObj-null-value.js similarity index 52% rename from src/targets/node/axios/fixtures/jsonObj-null-value.cjs rename to src/targets/node/axios/fixtures/jsonObj-null-value.js index ba03201b7..3731d644d 100644 --- a/src/targets/node/axios/fixtures/jsonObj-null-value.cjs +++ b/src/targets/node/axios/fixtures/jsonObj-null-value.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/multipart-data.cjs b/src/targets/node/axios/fixtures/multipart-data.js similarity index 76% rename from src/targets/node/axios/fixtures/multipart-data.cjs rename to src/targets/node/axios/fixtures/multipart-data.js index f2268d0e5..d8672a082 100644 --- a/src/targets/node/axios/fixtures/multipart-data.cjs +++ b/src/targets/node/axios/fixtures/multipart-data.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/multipart-file.cjs b/src/targets/node/axios/fixtures/multipart-file.js similarity index 71% rename from src/targets/node/axios/fixtures/multipart-file.cjs rename to src/targets/node/axios/fixtures/multipart-file.js index 48e0d0162..8f53fc1eb 100644 --- a/src/targets/node/axios/fixtures/multipart-file.cjs +++ b/src/targets/node/axios/fixtures/multipart-file.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/multipart-form-data-no-params.cjs b/src/targets/node/axios/fixtures/multipart-form-data-no-params.cjs deleted file mode 100644 index 6b8c2ec58..000000000 --- a/src/targets/node/axios/fixtures/multipart-form-data-no-params.cjs +++ /dev/null @@ -1,16 +0,0 @@ -const axios = require('axios'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'Content-Type': 'multipart/form-data'} -}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/multipart-form-data-no-params.js b/src/targets/node/axios/fixtures/multipart-form-data-no-params.js new file mode 100644 index 000000000..57e424c87 --- /dev/null +++ b/src/targets/node/axios/fixtures/multipart-form-data-no-params.js @@ -0,0 +1,12 @@ +import axios from 'axios'; + +const options = { + method: 'POST', + url: 'https://httpbin.org/anything', + headers: {'Content-Type': 'multipart/form-data'} +}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/multipart-form-data.cjs b/src/targets/node/axios/fixtures/multipart-form-data.js similarity index 67% rename from src/targets/node/axios/fixtures/multipart-form-data.cjs rename to src/targets/node/axios/fixtures/multipart-form-data.js index 15a56e506..45f7a10fb 100644 --- a/src/targets/node/axios/fixtures/multipart-form-data.cjs +++ b/src/targets/node/axios/fixtures/multipart-form-data.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/nested.cjs b/src/targets/node/axios/fixtures/nested.cjs deleted file mode 100644 index 11e4065d2..000000000 --- a/src/targets/node/axios/fixtures/nested.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const axios = require('axios'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/anything?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' -}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/nested.js b/src/targets/node/axios/fixtures/nested.js new file mode 100644 index 000000000..62373db83 --- /dev/null +++ b/src/targets/node/axios/fixtures/nested.js @@ -0,0 +1,11 @@ +import axios from 'axios'; + +const options = { + method: 'GET', + url: 'https://httpbin.org/anything?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' +}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/postdata-malformed.cjs b/src/targets/node/axios/fixtures/postdata-malformed.cjs deleted file mode 100644 index 803140cec..000000000 --- a/src/targets/node/axios/fixtures/postdata-malformed.cjs +++ /dev/null @@ -1,16 +0,0 @@ -const axios = require('axios'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/json'} -}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/postdata-malformed.js b/src/targets/node/axios/fixtures/postdata-malformed.js new file mode 100644 index 000000000..f40deb9ed --- /dev/null +++ b/src/targets/node/axios/fixtures/postdata-malformed.js @@ -0,0 +1,12 @@ +import axios from 'axios'; + +const options = { + method: 'POST', + url: 'https://httpbin.org/anything', + headers: {'content-type': 'application/json'} +}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/query-encoded.cjs b/src/targets/node/axios/fixtures/query-encoded.js similarity index 53% rename from src/targets/node/axios/fixtures/query-encoded.cjs rename to src/targets/node/axios/fixtures/query-encoded.js index 7d0d03100..c53a743a0 100644 --- a/src/targets/node/axios/fixtures/query-encoded.cjs +++ b/src/targets/node/axios/fixtures/query-encoded.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'GET', @@ -7,9 +7,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/query.cjs b/src/targets/node/axios/fixtures/query.cjs deleted file mode 100644 index eb7240ebd..000000000 --- a/src/targets/node/axios/fixtures/query.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const axios = require('axios'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value' -}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/query.js b/src/targets/node/axios/fixtures/query.js new file mode 100644 index 000000000..7833a75b3 --- /dev/null +++ b/src/targets/node/axios/fixtures/query.js @@ -0,0 +1,11 @@ +import axios from 'axios'; + +const options = { + method: 'GET', + url: 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value' +}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/short.cjs b/src/targets/node/axios/fixtures/short.cjs deleted file mode 100644 index 3741d4555..000000000 --- a/src/targets/node/axios/fixtures/short.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const axios = require('axios'); - -const options = {method: 'GET', url: 'https://httpbin.org/anything'}; - -axios - .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/short.js b/src/targets/node/axios/fixtures/short.js new file mode 100644 index 000000000..ba835ded4 --- /dev/null +++ b/src/targets/node/axios/fixtures/short.js @@ -0,0 +1,8 @@ +import axios from 'axios'; + +const options = {method: 'GET', url: 'https://httpbin.org/anything'}; + +axios + .request(options) + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/axios/fixtures/text-plain.cjs b/src/targets/node/axios/fixtures/text-plain.js similarity index 51% rename from src/targets/node/axios/fixtures/text-plain.cjs rename to src/targets/node/axios/fixtures/text-plain.js index 2ddf6191c..dbe78d903 100644 --- a/src/targets/node/axios/fixtures/text-plain.cjs +++ b/src/targets/node/axios/fixtures/text-plain.js @@ -1,4 +1,4 @@ -const axios = require('axios'); +import axios from 'axios'; const options = { method: 'POST', @@ -9,9 +9,5 @@ const options = { axios .request(options) - .then(function (response) { - console.log(response.data); - }) - .catch(function (error) { - console.error(error); - }); \ No newline at end of file + .then(res => console.log(res.data)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/client.ts b/src/targets/node/fetch/client.ts index c8f1b76c6..c3d52f456 100644 --- a/src/targets/node/fetch/client.ts +++ b/src/targets/node/fetch/client.ts @@ -1,12 +1,3 @@ -/** - * @description - * HTTP code snippet generator for Node.js using node-fetch. - * - * @author - * @hirenoble - * - * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. - */ import type { Client } from '../../index.js'; import stringifyObject from 'stringify-object'; @@ -17,11 +8,10 @@ import { getHeaderName } from '../../../helpers/headers.js'; export const fetch: Client = { info: { key: 'fetch', - title: 'Fetch', - link: 'https://github.com/bitinn/node-fetch', - description: 'Simplified HTTP node-fetch client', - extname: '.cjs', - installation: 'npm install node-fetch@2 --save', + title: 'fetch', + link: 'https://nodejs.org/docs/latest/api/globals.html#fetch', + description: 'Perform asynchronous HTTP requests with the Fetch API', + extname: '.js', }, convert: ({ method, fullUrl, postData, headersObj, cookies }, options) => { const opts = { @@ -32,7 +22,6 @@ export const fetch: Client = { let includeFS = false; const { blank, push, join, unshift } = new CodeBuilder({ indent: opts.indent }); - push("const fetch = require('node-fetch');"); const url = fullUrl; const reqOpts: Record = { method, @@ -44,15 +33,14 @@ export const fetch: Client = { switch (postData.mimeType) { case 'application/x-www-form-urlencoded': - unshift("const { URLSearchParams } = require('url');"); push('const encodedParams = new URLSearchParams();'); - blank(); postData.params?.forEach(param => { push(`encodedParams.set('${param.name}', '${param.value}');`); }); reqOpts.body = 'encodedParams'; + blank(); break; case 'application/json': @@ -68,16 +56,14 @@ export const fetch: Client = { break; } - // The `form-data` module automatically adds a `Content-Type` header for `multipart/form-data` content and if we add our own here data won't be correctly transmitted. + // The FormData API automatically adds a `Content-Type` header for `multipart/form-data` content and if we add our own here data won't be correctly transmitted. // eslint-disable-next-line no-case-declarations -- We're only using `contentTypeHeader` within this block. const contentTypeHeader = getHeaderName(headersObj, 'content-type'); if (contentTypeHeader) { delete headersObj[contentTypeHeader]; } - unshift("const FormData = require('form-data');"); push('const formData = new FormData();'); - blank(); postData.params.forEach(param => { if (!param.fileName && !param.fileName && !param.contentType) { @@ -87,9 +73,17 @@ export const fetch: Client = { if (param.fileName) { includeFS = true; - push(`formData.append('${param.name}', fs.createReadStream('${param.fileName}'));`); + + // Whenever we drop support for Node 18 we can change this blob work to use + // `fs.openAsBlob('filename')`. + push( + `formData.append('${param.name}', await new Response(fs.createReadStream('${param.fileName}')).blob());`, + ); } }); + + reqOpts.body = 'formData'; + blank(); break; default: @@ -110,7 +104,7 @@ export const fetch: Client = { reqOpts.headers.cookie = cookiesString; } } - blank(); + push(`const url = '${url}';`); // If we ultimately don't have any headers to send then we shouldn't add an empty object into the request options. @@ -137,19 +131,16 @@ export const fetch: Client = { blank(); if (includeFS) { - unshift("const fs = require('fs');"); - } - if (postData.params && postData.mimeType === 'multipart/form-data') { - push('options.body = formData;'); - blank(); + unshift("import fs from 'fs';\n"); } + push('fetch(url, options)'); push('.then(res => res.json())', 1); push('.then(json => console.log(json))', 1); - push(".catch(err => console.error('error:' + err));", 1); + push('.catch(err => console.error(err));', 1); return join() .replace(/'encodedParams'/, 'encodedParams') - .replace(/"fs\.createReadStream\(\\"(.+)\\"\)"/, 'fs.createReadStream("$1")'); + .replace(/'formData'/, 'formData'); }, }; diff --git a/src/targets/node/fetch/fixtures/application-form-encoded.cjs b/src/targets/node/fetch/fixtures/application-form-encoded.js similarity index 74% rename from src/targets/node/fetch/fixtures/application-form-encoded.cjs rename to src/targets/node/fetch/fixtures/application-form-encoded.js index 430528450..9c6404a2b 100644 --- a/src/targets/node/fetch/fixtures/application-form-encoded.cjs +++ b/src/targets/node/fetch/fixtures/application-form-encoded.js @@ -1,7 +1,4 @@ -const { URLSearchParams } = require('url'); -const fetch = require('node-fetch'); const encodedParams = new URLSearchParams(); - encodedParams.set('foo', 'bar'); encodedParams.set('hello', 'world'); @@ -15,4 +12,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/application-json.cjs b/src/targets/node/fetch/fixtures/application-json.js similarity index 81% rename from src/targets/node/fetch/fixtures/application-json.cjs rename to src/targets/node/fetch/fixtures/application-json.js index b6e1908f1..73489d7b6 100644 --- a/src/targets/node/fetch/fixtures/application-json.cjs +++ b/src/targets/node/fetch/fixtures/application-json.js @@ -1,5 +1,3 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = { method: 'POST', @@ -17,4 +15,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/cookies.cjs b/src/targets/node/fetch/fixtures/cookies.js similarity index 69% rename from src/targets/node/fetch/fixtures/cookies.cjs rename to src/targets/node/fetch/fixtures/cookies.js index e61363e0a..ab9629359 100644 --- a/src/targets/node/fetch/fixtures/cookies.cjs +++ b/src/targets/node/fetch/fixtures/cookies.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/cookies'; const options = {method: 'GET', headers: {cookie: 'foo=bar; bar=baz'}}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/custom-method.cjs b/src/targets/node/fetch/fixtures/custom-method.js similarity index 66% rename from src/targets/node/fetch/fixtures/custom-method.cjs rename to src/targets/node/fetch/fixtures/custom-method.js index df3e72a79..781a8c46c 100644 --- a/src/targets/node/fetch/fixtures/custom-method.cjs +++ b/src/targets/node/fetch/fixtures/custom-method.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = {method: 'PROPFIND'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/full.cjs b/src/targets/node/fetch/fixtures/full.js similarity index 77% rename from src/targets/node/fetch/fixtures/full.cjs rename to src/targets/node/fetch/fixtures/full.js index 6777b1999..d33052c27 100644 --- a/src/targets/node/fetch/fixtures/full.cjs +++ b/src/targets/node/fetch/fixtures/full.js @@ -1,7 +1,4 @@ -const { URLSearchParams } = require('url'); -const fetch = require('node-fetch'); const encodedParams = new URLSearchParams(); - encodedParams.set('foo', 'bar'); const url = 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value'; @@ -18,4 +15,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/headers.cjs b/src/targets/node/fetch/fixtures/headers.js similarity index 77% rename from src/targets/node/fetch/fixtures/headers.cjs rename to src/targets/node/fetch/fixtures/headers.js index 59ee96acb..edf72d140 100644 --- a/src/targets/node/fetch/fixtures/headers.cjs +++ b/src/targets/node/fetch/fixtures/headers.js @@ -1,5 +1,3 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/headers'; const options = { method: 'GET', @@ -14,4 +12,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/http-insecure.cjs b/src/targets/node/fetch/fixtures/http-insecure.js similarity index 65% rename from src/targets/node/fetch/fixtures/http-insecure.cjs rename to src/targets/node/fetch/fixtures/http-insecure.js index 37be04767..5a9ed7362 100644 --- a/src/targets/node/fetch/fixtures/http-insecure.cjs +++ b/src/targets/node/fetch/fixtures/http-insecure.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'http://httpbin.org/anything'; const options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/jsonObj-multiline.cjs b/src/targets/node/fetch/fixtures/jsonObj-multiline.js similarity index 74% rename from src/targets/node/fetch/fixtures/jsonObj-multiline.cjs rename to src/targets/node/fetch/fixtures/jsonObj-multiline.js index 3625b76e5..a9b92d58e 100644 --- a/src/targets/node/fetch/fixtures/jsonObj-multiline.cjs +++ b/src/targets/node/fetch/fixtures/jsonObj-multiline.js @@ -1,5 +1,3 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = { method: 'POST', @@ -10,4 +8,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/jsonObj-null-value.cjs b/src/targets/node/fetch/fixtures/jsonObj-null-value.js similarity index 74% rename from src/targets/node/fetch/fixtures/jsonObj-null-value.cjs rename to src/targets/node/fetch/fixtures/jsonObj-null-value.js index c10da148a..4eb4892fb 100644 --- a/src/targets/node/fetch/fixtures/jsonObj-null-value.cjs +++ b/src/targets/node/fetch/fixtures/jsonObj-null-value.js @@ -1,5 +1,3 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = { method: 'POST', @@ -10,4 +8,4 @@ const options = { fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-data.cjs b/src/targets/node/fetch/fixtures/multipart-data.cjs deleted file mode 100644 index 2c3363e27..000000000 --- a/src/targets/node/fetch/fixtures/multipart-data.cjs +++ /dev/null @@ -1,17 +0,0 @@ -const fs = require('fs'); -const FormData = require('form-data'); -const fetch = require('node-fetch'); -const formData = new FormData(); - -formData.append('foo', fs.createReadStream('src/fixtures/files/hello.txt')); -formData.append('bar', 'Bonjour le monde'); - -const url = 'https://httpbin.org/anything'; -const options = {method: 'POST'}; - -options.body = formData; - -fetch(url, options) - .then(res => res.json()) - .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-data.js b/src/targets/node/fetch/fixtures/multipart-data.js new file mode 100644 index 000000000..ca964a322 --- /dev/null +++ b/src/targets/node/fetch/fixtures/multipart-data.js @@ -0,0 +1,13 @@ +import fs from 'fs'; + +const formData = new FormData(); +formData.append('foo', await new Response(fs.createReadStream('src/fixtures/files/hello.txt')).blob()); +formData.append('bar', 'Bonjour le monde'); + +const url = 'https://httpbin.org/anything'; +const options = {method: 'POST', body: formData}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-file.cjs b/src/targets/node/fetch/fixtures/multipart-file.cjs deleted file mode 100644 index 68f16405c..000000000 --- a/src/targets/node/fetch/fixtures/multipart-file.cjs +++ /dev/null @@ -1,16 +0,0 @@ -const fs = require('fs'); -const FormData = require('form-data'); -const fetch = require('node-fetch'); -const formData = new FormData(); - -formData.append('foo', fs.createReadStream('src/fixtures/files/hello.txt')); - -const url = 'https://httpbin.org/anything'; -const options = {method: 'POST'}; - -options.body = formData; - -fetch(url, options) - .then(res => res.json()) - .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-file.js b/src/targets/node/fetch/fixtures/multipart-file.js new file mode 100644 index 000000000..02fc790b9 --- /dev/null +++ b/src/targets/node/fetch/fixtures/multipart-file.js @@ -0,0 +1,12 @@ +import fs from 'fs'; + +const formData = new FormData(); +formData.append('foo', await new Response(fs.createReadStream('src/fixtures/files/hello.txt')).blob()); + +const url = 'https://httpbin.org/anything'; +const options = {method: 'POST', body: formData}; + +fetch(url, options) + .then(res => res.json()) + .then(json => console.log(json)) + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-form-data-no-params.cjs b/src/targets/node/fetch/fixtures/multipart-form-data-no-params.js similarity index 71% rename from src/targets/node/fetch/fixtures/multipart-form-data-no-params.cjs rename to src/targets/node/fetch/fixtures/multipart-form-data-no-params.js index 177943af9..053f56470 100644 --- a/src/targets/node/fetch/fixtures/multipart-form-data-no-params.cjs +++ b/src/targets/node/fetch/fixtures/multipart-form-data-no-params.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = {method: 'POST', headers: {'Content-Type': 'multipart/form-data'}}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/multipart-form-data.cjs b/src/targets/node/fetch/fixtures/multipart-form-data.js similarity index 51% rename from src/targets/node/fetch/fixtures/multipart-form-data.cjs rename to src/targets/node/fetch/fixtures/multipart-form-data.js index f77d66774..874d6b15a 100644 --- a/src/targets/node/fetch/fixtures/multipart-form-data.cjs +++ b/src/targets/node/fetch/fixtures/multipart-form-data.js @@ -1,15 +1,10 @@ -const FormData = require('form-data'); -const fetch = require('node-fetch'); const formData = new FormData(); - formData.append('foo', 'bar'); const url = 'https://httpbin.org/anything'; -const options = {method: 'POST'}; - -options.body = formData; +const options = {method: 'POST', body: formData}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/nested.cjs b/src/targets/node/fetch/fixtures/nested.js similarity index 70% rename from src/targets/node/fetch/fixtures/nested.cjs rename to src/targets/node/fetch/fixtures/nested.js index 0fb008e35..af78c1dac 100644 --- a/src/targets/node/fetch/fixtures/nested.cjs +++ b/src/targets/node/fetch/fixtures/nested.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value'; const options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/postdata-malformed.cjs b/src/targets/node/fetch/fixtures/postdata-malformed.js similarity index 70% rename from src/targets/node/fetch/fixtures/postdata-malformed.cjs rename to src/targets/node/fetch/fixtures/postdata-malformed.js index 95af34d41..76c3abf25 100644 --- a/src/targets/node/fetch/fixtures/postdata-malformed.cjs +++ b/src/targets/node/fetch/fixtures/postdata-malformed.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = {method: 'POST', headers: {'content-type': 'application/json'}}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/query-encoded.cjs b/src/targets/node/fetch/fixtures/query-encoded.js similarity index 73% rename from src/targets/node/fetch/fixtures/query-encoded.cjs rename to src/targets/node/fetch/fixtures/query-encoded.js index bd52227ef..5bb1a33ae 100644 --- a/src/targets/node/fetch/fixtures/query-encoded.cjs +++ b/src/targets/node/fetch/fixtures/query-encoded.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything?startTime=2019-06-13T19%3A08%3A25.455Z&endTime=2015-09-15T14%3A00%3A12-04%3A00'; const options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/query.cjs b/src/targets/node/fetch/fixtures/query.js similarity index 69% rename from src/targets/node/fetch/fixtures/query.cjs rename to src/targets/node/fetch/fixtures/query.js index d18f187c5..d18e8763b 100644 --- a/src/targets/node/fetch/fixtures/query.cjs +++ b/src/targets/node/fetch/fixtures/query.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value'; const options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/short.cjs b/src/targets/node/fetch/fixtures/short.js similarity index 65% rename from src/targets/node/fetch/fixtures/short.cjs rename to src/targets/node/fetch/fixtures/short.js index bddc8acd7..1deb47f08 100644 --- a/src/targets/node/fetch/fixtures/short.cjs +++ b/src/targets/node/fetch/fixtures/short.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = {method: 'GET'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/fetch/fixtures/text-plain.cjs b/src/targets/node/fetch/fixtures/text-plain.js similarity index 72% rename from src/targets/node/fetch/fixtures/text-plain.cjs rename to src/targets/node/fetch/fixtures/text-plain.js index fc9aea5d7..aa55a9300 100644 --- a/src/targets/node/fetch/fixtures/text-plain.cjs +++ b/src/targets/node/fetch/fixtures/text-plain.js @@ -1,9 +1,7 @@ -const fetch = require('node-fetch'); - const url = 'https://httpbin.org/anything'; const options = {method: 'POST', headers: {'content-type': 'text/plain'}, body: 'Hello World'}; fetch(url, options) .then(res => res.json()) .then(json => console.log(json)) - .catch(err => console.error('error:' + err)); \ No newline at end of file + .catch(err => console.error(err)); \ No newline at end of file diff --git a/src/targets/node/request/client.ts b/src/targets/node/request/client.ts deleted file mode 100644 index 284d13c0b..000000000 --- a/src/targets/node/request/client.ts +++ /dev/null @@ -1,132 +0,0 @@ -/** - * @description - * HTTP code snippet generator for Node.js using Request. - * - * @author - * @AhmadNassri - * - * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. - */ -import type { Client } from '../../index.js'; - -import stringifyObject from 'stringify-object'; - -import { CodeBuilder } from '../../../helpers/code-builder.js'; - -export const request: Client = { - info: { - key: 'request', - title: 'Request', - link: 'https://github.com/request/request', - description: 'Simplified HTTP request client', - extname: '.cjs', - installation: 'npm install request --save', - }, - convert: ({ method, url, fullUrl, postData, headersObj, cookies }, options) => { - const opts = { - indent: ' ', - ...options, - }; - - let includeFS = false; - const { push, blank, join, unshift, addPostProcessor } = new CodeBuilder({ indent: opts.indent }); - - push("const request = require('request');"); - blank(); - - const reqOpts: Record = { - method, - url: fullUrl, - }; - - if (Object.keys(headersObj).length) { - reqOpts.headers = headersObj; - } - - switch (postData.mimeType) { - case 'application/x-www-form-urlencoded': - reqOpts.form = postData.paramsObj; - break; - - case 'application/json': - if (postData.jsonObj) { - reqOpts.body = postData.jsonObj; - reqOpts.json = true; - } - break; - - case 'multipart/form-data': - if (!postData.params) { - break; - } - - reqOpts.formData = {}; - - postData.params.forEach(param => { - if (!param.fileName && !param.fileName && !param.contentType) { - reqOpts.formData[param.name] = param.value; - return; - } - - let attachment: { - options?: { - contentType: string | null; - filename: string; - }; - value?: string; - } = {}; - - if (param.fileName) { - includeFS = true; - attachment = { - value: `fs.createReadStream(${param.fileName})`, - options: { - filename: param.fileName, - contentType: param.contentType ? param.contentType : null, - }, - }; - } else if (param.value) { - attachment.value = param.value; - } - - reqOpts.formData[param.name] = attachment; - }); - - addPostProcessor(code => code.replace(/'fs\.createReadStream\((.*)\)'/, "fs.createReadStream('$1')")); - break; - - default: - if (postData.text) { - reqOpts.body = postData.text; - } - } - - // construct cookies argument - if (cookies.length) { - reqOpts.jar = 'JAR'; - - push('const jar = request.jar();'); - - cookies.forEach(({ name, value }) => { - push(`jar.setCookie(request.cookie('${encodeURIComponent(name)}=${encodeURIComponent(value)}'), '${url}');`); - }); - blank(); - addPostProcessor(code => code.replace(/'JAR'/, 'jar')); - } - - if (includeFS) { - unshift("const fs = require('fs');"); - } - - push(`const options = ${stringifyObject(reqOpts, { indent: ' ', inlineCharacterLimit: 80 })};`); - blank(); - - push('request(options, function (error, response, body) {'); - push('if (error) throw new Error(error);', 1); - blank(); - push('console.log(body);', 1); - push('});'); - - return join(); - }, -}; diff --git a/src/targets/node/request/fixtures/application-form-encoded.cjs b/src/targets/node/request/fixtures/application-form-encoded.cjs deleted file mode 100644 index f49d8b71d..000000000 --- a/src/targets/node/request/fixtures/application-form-encoded.cjs +++ /dev/null @@ -1,14 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/x-www-form-urlencoded'}, - form: {foo: 'bar', hello: 'world'} -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/application-json.cjs b/src/targets/node/request/fixtures/application-json.cjs deleted file mode 100644 index b7413c0ad..000000000 --- a/src/targets/node/request/fixtures/application-json.cjs +++ /dev/null @@ -1,22 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/json'}, - body: { - number: 1, - string: 'f"oo', - arr: [1, 2, 3], - nested: {a: 'b'}, - arr_mix: [1, 'a', {arr_mix_nested: []}], - boolean: false - }, - json: true -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/cookies.cjs b/src/targets/node/request/fixtures/cookies.cjs deleted file mode 100644 index 66e4f4ed2..000000000 --- a/src/targets/node/request/fixtures/cookies.cjs +++ /dev/null @@ -1,13 +0,0 @@ -const request = require('request'); - -const jar = request.jar(); -jar.setCookie(request.cookie('foo=bar'), 'https://httpbin.org/cookies'); -jar.setCookie(request.cookie('bar=baz'), 'https://httpbin.org/cookies'); - -const options = {method: 'GET', url: 'https://httpbin.org/cookies', jar: jar}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/custom-method.cjs b/src/targets/node/request/fixtures/custom-method.cjs deleted file mode 100644 index c716db3e7..000000000 --- a/src/targets/node/request/fixtures/custom-method.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const request = require('request'); - -const options = {method: 'PROPFIND', url: 'https://httpbin.org/anything'}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/full.cjs b/src/targets/node/request/fixtures/full.cjs deleted file mode 100644 index 52e977901..000000000 --- a/src/targets/node/request/fixtures/full.cjs +++ /dev/null @@ -1,22 +0,0 @@ -const request = require('request'); - -const jar = request.jar(); -jar.setCookie(request.cookie('foo=bar'), 'https://httpbin.org/anything'); -jar.setCookie(request.cookie('bar=baz'), 'https://httpbin.org/anything'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value', - headers: { - accept: 'application/json', - 'content-type': 'application/x-www-form-urlencoded' - }, - form: {foo: 'bar'}, - jar: jar -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/headers.cjs b/src/targets/node/request/fixtures/headers.cjs deleted file mode 100644 index 88ade811b..000000000 --- a/src/targets/node/request/fixtures/headers.cjs +++ /dev/null @@ -1,18 +0,0 @@ -const request = require('request'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/headers', - headers: { - accept: 'application/json', - 'x-foo': 'Bar', - 'x-bar': 'Foo', - 'quoted-value': '"quoted" \'string\'' - } -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/http-insecure.cjs b/src/targets/node/request/fixtures/http-insecure.cjs deleted file mode 100644 index 8c04d4368..000000000 --- a/src/targets/node/request/fixtures/http-insecure.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const request = require('request'); - -const options = {method: 'GET', url: 'http://httpbin.org/anything'}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/jsonObj-multiline.cjs b/src/targets/node/request/fixtures/jsonObj-multiline.cjs deleted file mode 100644 index 240bad18d..000000000 --- a/src/targets/node/request/fixtures/jsonObj-multiline.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/json'}, - body: {foo: 'bar'}, - json: true -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/jsonObj-null-value.cjs b/src/targets/node/request/fixtures/jsonObj-null-value.cjs deleted file mode 100644 index 395c0c5ba..000000000 --- a/src/targets/node/request/fixtures/jsonObj-null-value.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/json'}, - body: {foo: null}, - json: true -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/multipart-data.cjs b/src/targets/node/request/fixtures/multipart-data.cjs deleted file mode 100644 index 52642fe8e..000000000 --- a/src/targets/node/request/fixtures/multipart-data.cjs +++ /dev/null @@ -1,21 +0,0 @@ -const fs = require('fs'); -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, - formData: { - foo: { - value: fs.createReadStream('src/fixtures/files/hello.txt'), - options: {filename: 'src/fixtures/files/hello.txt', contentType: 'text/plain'} - }, - bar: 'Bonjour le monde' - } -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/multipart-file.cjs b/src/targets/node/request/fixtures/multipart-file.cjs deleted file mode 100644 index 6c04d1118..000000000 --- a/src/targets/node/request/fixtures/multipart-file.cjs +++ /dev/null @@ -1,20 +0,0 @@ -const fs = require('fs'); -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'multipart/form-data; boundary=---011000010111000001101001'}, - formData: { - foo: { - value: fs.createReadStream('src/fixtures/files/hello.txt'), - options: {filename: 'src/fixtures/files/hello.txt', contentType: 'text/plain'} - } - } -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/multipart-form-data-no-params.cjs b/src/targets/node/request/fixtures/multipart-form-data-no-params.cjs deleted file mode 100644 index a2b3599f7..000000000 --- a/src/targets/node/request/fixtures/multipart-form-data-no-params.cjs +++ /dev/null @@ -1,13 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'Content-Type': 'multipart/form-data'} -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/multipart-form-data.cjs b/src/targets/node/request/fixtures/multipart-form-data.cjs deleted file mode 100644 index dae439e67..000000000 --- a/src/targets/node/request/fixtures/multipart-form-data.cjs +++ /dev/null @@ -1,14 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001'}, - formData: {foo: 'bar'} -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/nested.cjs b/src/targets/node/request/fixtures/nested.cjs deleted file mode 100644 index 3bff0a48d..000000000 --- a/src/targets/node/request/fixtures/nested.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const request = require('request'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/anything?foo%5Bbar%5D=baz%2Czap&fiz=buz&key=value' -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/postdata-malformed.cjs b/src/targets/node/request/fixtures/postdata-malformed.cjs deleted file mode 100644 index 46ff13dc4..000000000 --- a/src/targets/node/request/fixtures/postdata-malformed.cjs +++ /dev/null @@ -1,13 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'application/json'} -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/query-encoded.cjs b/src/targets/node/request/fixtures/query-encoded.cjs deleted file mode 100644 index 5f3be8438..000000000 --- a/src/targets/node/request/fixtures/query-encoded.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const request = require('request'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/anything?startTime=2019-06-13T19%3A08%3A25.455Z&endTime=2015-09-15T14%3A00%3A12-04%3A00' -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/query.cjs b/src/targets/node/request/fixtures/query.cjs deleted file mode 100644 index 7f1cb5721..000000000 --- a/src/targets/node/request/fixtures/query.cjs +++ /dev/null @@ -1,12 +0,0 @@ -const request = require('request'); - -const options = { - method: 'GET', - url: 'https://httpbin.org/anything?foo=bar&foo=baz&baz=abc&key=value' -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/short.cjs b/src/targets/node/request/fixtures/short.cjs deleted file mode 100644 index f02e48ca0..000000000 --- a/src/targets/node/request/fixtures/short.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const request = require('request'); - -const options = {method: 'GET', url: 'https://httpbin.org/anything'}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/request/fixtures/text-plain.cjs b/src/targets/node/request/fixtures/text-plain.cjs deleted file mode 100644 index 6f52592a9..000000000 --- a/src/targets/node/request/fixtures/text-plain.cjs +++ /dev/null @@ -1,14 +0,0 @@ -const request = require('request'); - -const options = { - method: 'POST', - url: 'https://httpbin.org/anything', - headers: {'content-type': 'text/plain'}, - body: 'Hello World' -}; - -request(options, function (error, response, body) { - if (error) throw new Error(error); - - console.log(body); -}); \ No newline at end of file diff --git a/src/targets/node/target.ts b/src/targets/node/target.ts index 1def2a580..77307bfd8 100644 --- a/src/targets/node/target.ts +++ b/src/targets/node/target.ts @@ -3,20 +3,16 @@ import type { Target } from '../index.js'; import { axios } from './axios/client.js'; import { fetch } from './fetch/client.js'; import { native } from './native/client.js'; -import { request } from './request/client.js'; -import { unirest } from './unirest/client.js'; export const node: Target = { info: { key: 'node', title: 'Node.js', - default: 'native', + default: 'fetch', cli: 'node %s', }, clientsById: { native, - request, - unirest, axios, fetch, }, diff --git a/src/targets/node/unirest/client.ts b/src/targets/node/unirest/client.ts deleted file mode 100644 index 94e01517f..000000000 --- a/src/targets/node/unirest/client.ts +++ /dev/null @@ -1,130 +0,0 @@ -/** - * @description - * HTTP code snippet generator for Node.js using Unirest. - * - * @author - * @AhmadNassri - * - * for any questions or issues regarding the generated code snippet, please open an issue mentioning the author. - */ -import type { Client } from '../../index.js'; - -import stringifyObject from 'stringify-object'; - -import { CodeBuilder } from '../../../helpers/code-builder.js'; - -export const unirest: Client = { - info: { - key: 'unirest', - title: 'Unirest', - link: 'http://unirest.io/nodejs.html', - description: 'Lightweight HTTP Request Client Library', - extname: '.cjs', - }, - convert: ({ method, url, cookies, queryObj, postData, headersObj }, options) => { - const opts = { - indent: ' ', - ...options, - }; - - let includeFS = false; - const { addPostProcessor, blank, join, push, unshift } = new CodeBuilder({ - indent: opts.indent, - }); - - push("const unirest = require('unirest');"); - blank(); - push(`const req = unirest('${method}', '${url}');`); - blank(); - - if (cookies.length) { - push('const CookieJar = unirest.jar();'); - - cookies.forEach(cookie => { - push(`CookieJar.add('${encodeURIComponent(cookie.name)}=${encodeURIComponent(cookie.value)}', '${url}');`); - }); - - push('req.jar(CookieJar);'); - blank(); - } - - if (Object.keys(queryObj).length) { - push(`req.query(${stringifyObject(queryObj, { indent: opts.indent })});`); - blank(); - } - - if (Object.keys(headersObj).length) { - push(`req.headers(${stringifyObject(headersObj, { indent: opts.indent })});`); - blank(); - } - - switch (postData.mimeType) { - case 'application/x-www-form-urlencoded': - if (postData.paramsObj) { - push(`req.form(${stringifyObject(postData.paramsObj, { indent: opts.indent })});`); - blank(); - } - break; - - case 'application/json': - if (postData.jsonObj) { - push("req.type('json');"); - push(`req.send(${stringifyObject(postData.jsonObj, { indent: opts.indent })});`); - blank(); - } - break; - - case 'multipart/form-data': { - if (!postData.params) { - break; - } - - const multipart: Record[] = []; - - postData.params.forEach(param => { - const part: Record = {}; - - if (param.fileName && !param.value) { - includeFS = true; - - part.body = `fs.createReadStream('${param.fileName}')`; - addPostProcessor(code => code.replace(/'fs\.createReadStream\(\\'(.+)\\'\)'/, "fs.createReadStream('$1')")); - } else if (param.value) { - part.body = param.value; - } - - if (part.body) { - if (param.contentType) { - part['content-type'] = param.contentType; - } - - multipart.push(part); - } - }); - - push(`req.multipart(${stringifyObject(multipart, { indent: opts.indent })});`); - blank(); - break; - } - - default: - if (postData.text) { - push(`req.send(${stringifyObject(postData.text, { indent: opts.indent })});`); - blank(); - } - } - - if (includeFS) { - unshift("const fs = require('fs');"); - } - - push('req.end(function (res) {'); - push('if (res.error) throw new Error(res.error);', 1); - blank(); - - push('console.log(res.body);', 1); - push('});'); - - return join(); - }, -}; diff --git a/src/targets/node/unirest/fixtures/application-form-encoded.cjs b/src/targets/node/unirest/fixtures/application-form-encoded.cjs deleted file mode 100644 index 305d6c63d..000000000 --- a/src/targets/node/unirest/fixtures/application-form-encoded.cjs +++ /dev/null @@ -1,18 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'application/x-www-form-urlencoded' -}); - -req.form({ - foo: 'bar', - hello: 'world' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/application-json.cjs b/src/targets/node/unirest/fixtures/application-json.cjs deleted file mode 100644 index 32944b12f..000000000 --- a/src/targets/node/unirest/fixtures/application-json.cjs +++ /dev/null @@ -1,35 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'application/json' -}); - -req.type('json'); -req.send({ - number: 1, - string: 'f"oo', - arr: [ - 1, - 2, - 3 - ], - nested: { - a: 'b' - }, - arr_mix: [ - 1, - 'a', - { - arr_mix_nested: [] - } - ], - boolean: false -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/cookies.cjs b/src/targets/node/unirest/fixtures/cookies.cjs deleted file mode 100644 index 768565457..000000000 --- a/src/targets/node/unirest/fixtures/cookies.cjs +++ /dev/null @@ -1,14 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/cookies'); - -const CookieJar = unirest.jar(); -CookieJar.add('foo=bar', 'https://httpbin.org/cookies'); -CookieJar.add('bar=baz', 'https://httpbin.org/cookies'); -req.jar(CookieJar); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/custom-method.cjs b/src/targets/node/unirest/fixtures/custom-method.cjs deleted file mode 100644 index 7a4789dcb..000000000 --- a/src/targets/node/unirest/fixtures/custom-method.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('PROPFIND', 'https://httpbin.org/anything'); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/full.cjs b/src/targets/node/unirest/fixtures/full.cjs deleted file mode 100644 index f5b0cacc2..000000000 --- a/src/targets/node/unirest/fixtures/full.cjs +++ /dev/null @@ -1,32 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -const CookieJar = unirest.jar(); -CookieJar.add('foo=bar', 'https://httpbin.org/anything'); -CookieJar.add('bar=baz', 'https://httpbin.org/anything'); -req.jar(CookieJar); - -req.query({ - foo: [ - 'bar', - 'baz' - ], - baz: 'abc', - key: 'value' -}); - -req.headers({ - accept: 'application/json', - 'content-type': 'application/x-www-form-urlencoded' -}); - -req.form({ - foo: 'bar' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/headers.cjs b/src/targets/node/unirest/fixtures/headers.cjs deleted file mode 100644 index 1ae38ba36..000000000 --- a/src/targets/node/unirest/fixtures/headers.cjs +++ /dev/null @@ -1,16 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/headers'); - -req.headers({ - accept: 'application/json', - 'x-foo': 'Bar', - 'x-bar': 'Foo', - 'quoted-value': '"quoted" \'string\'' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/http-insecure.cjs b/src/targets/node/unirest/fixtures/http-insecure.cjs deleted file mode 100644 index 5e131256e..000000000 --- a/src/targets/node/unirest/fixtures/http-insecure.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'http://httpbin.org/anything'); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/jsonObj-multiline.cjs b/src/targets/node/unirest/fixtures/jsonObj-multiline.cjs deleted file mode 100644 index b3807fa41..000000000 --- a/src/targets/node/unirest/fixtures/jsonObj-multiline.cjs +++ /dev/null @@ -1,18 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'application/json' -}); - -req.type('json'); -req.send({ - foo: 'bar' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/jsonObj-null-value.cjs b/src/targets/node/unirest/fixtures/jsonObj-null-value.cjs deleted file mode 100644 index 2827f031a..000000000 --- a/src/targets/node/unirest/fixtures/jsonObj-null-value.cjs +++ /dev/null @@ -1,18 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'application/json' -}); - -req.type('json'); -req.send({ - foo: null -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/multipart-data.cjs b/src/targets/node/unirest/fixtures/multipart-data.cjs deleted file mode 100644 index 7d9a9cb6d..000000000 --- a/src/targets/node/unirest/fixtures/multipart-data.cjs +++ /dev/null @@ -1,23 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'multipart/form-data; boundary=---011000010111000001101001' -}); - -req.multipart([ - { - body: 'Hello World', - 'content-type': 'text/plain' - }, - { - body: 'Bonjour le monde' - } -]); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/multipart-file.cjs b/src/targets/node/unirest/fixtures/multipart-file.cjs deleted file mode 100644 index 83794833d..000000000 --- a/src/targets/node/unirest/fixtures/multipart-file.cjs +++ /dev/null @@ -1,21 +0,0 @@ -const fs = require('fs'); -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'multipart/form-data; boundary=---011000010111000001101001' -}); - -req.multipart([ - { - body: fs.createReadStream('src/fixtures/files/hello.txt'), - 'content-type': 'text/plain' - } -]); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/multipart-form-data-no-params.cjs b/src/targets/node/unirest/fixtures/multipart-form-data-no-params.cjs deleted file mode 100644 index 16d9052b1..000000000 --- a/src/targets/node/unirest/fixtures/multipart-form-data-no-params.cjs +++ /dev/null @@ -1,13 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'Content-Type': 'multipart/form-data' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/multipart-form-data.cjs b/src/targets/node/unirest/fixtures/multipart-form-data.cjs deleted file mode 100644 index ecd69034e..000000000 --- a/src/targets/node/unirest/fixtures/multipart-form-data.cjs +++ /dev/null @@ -1,19 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'Content-Type': 'multipart/form-data; boundary=---011000010111000001101001' -}); - -req.multipart([ - { - body: 'bar' - } -]); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/nested.cjs b/src/targets/node/unirest/fixtures/nested.cjs deleted file mode 100644 index c58635dd9..000000000 --- a/src/targets/node/unirest/fixtures/nested.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/anything'); - -req.query({ - 'foo[bar]': 'baz,zap', - fiz: 'buz', - key: 'value' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/postdata-malformed.cjs b/src/targets/node/unirest/fixtures/postdata-malformed.cjs deleted file mode 100644 index 502dba6c7..000000000 --- a/src/targets/node/unirest/fixtures/postdata-malformed.cjs +++ /dev/null @@ -1,13 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'application/json' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/query-encoded.cjs b/src/targets/node/unirest/fixtures/query-encoded.cjs deleted file mode 100644 index d9d4b8468..000000000 --- a/src/targets/node/unirest/fixtures/query-encoded.cjs +++ /dev/null @@ -1,14 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/anything'); - -req.query({ - startTime: '2019-06-13T19%3A08%3A25.455Z', - endTime: '2015-09-15T14%3A00%3A12-04%3A00' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/query.cjs b/src/targets/node/unirest/fixtures/query.cjs deleted file mode 100644 index 88fdf4893..000000000 --- a/src/targets/node/unirest/fixtures/query.cjs +++ /dev/null @@ -1,18 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/anything'); - -req.query({ - foo: [ - 'bar', - 'baz' - ], - baz: 'abc', - key: 'value' -}); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/short.cjs b/src/targets/node/unirest/fixtures/short.cjs deleted file mode 100644 index cbf99c49b..000000000 --- a/src/targets/node/unirest/fixtures/short.cjs +++ /dev/null @@ -1,9 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('GET', 'https://httpbin.org/anything'); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file diff --git a/src/targets/node/unirest/fixtures/text-plain.cjs b/src/targets/node/unirest/fixtures/text-plain.cjs deleted file mode 100644 index 5d50100a1..000000000 --- a/src/targets/node/unirest/fixtures/text-plain.cjs +++ /dev/null @@ -1,15 +0,0 @@ -const unirest = require('unirest'); - -const req = unirest('POST', 'https://httpbin.org/anything'); - -req.headers({ - 'content-type': 'text/plain' -}); - -req.send('Hello World'); - -req.end(function (res) { - if (res.error) throw new Error(res.error); - - console.log(res.body); -}); \ No newline at end of file