From cd097bdb1ea44d51470565c8a858babe9882296e Mon Sep 17 00:00:00 2001 From: Jack Le Hamster Date: Sat, 27 Jan 2024 13:01:58 -0800 Subject: [PATCH] Update template for better publish to npm. --- .gitignore | 3 + build.sh | 2 +- bun.lockb | Bin 125012 -> 126602 bytes bundler/bundler.d.ts | 1 + bundler/bundler.js | 12 + bundler/bundler.js.map | 1 + bundler/bundler.ts | 4 +- commit-all.sh | 10 + example/build | 1 - example/bun.lockb | Bin 3759 -> 127468 bytes example/index.html | 15 +- example/index.ts | 2 +- example/package-lock.json | 151 ++ example/package.json | 10 +- example/src/index.ts | 3 + example/tsconfig.json | 9 +- index.ts | 1 - make-repo-ssh.sh | 21 + np.sh | 1 + package-lock.json | 3895 +++++++++++++++++++++++++++++++++++++ package.json | 41 +- src/index.test.ts | 12 +- src/index.ts | 3 + src/index.tsx | 3 - tsconfig.json | 48 +- tsconfig.types.json | 10 + types/index.d.ts | 1 + types/index.test.d.ts | 1 + 28 files changed, 4189 insertions(+), 72 deletions(-) create mode 100644 bundler/bundler.d.ts create mode 100644 bundler/bundler.js create mode 100644 bundler/bundler.js.map create mode 100755 commit-all.sh delete mode 120000 example/build create mode 100644 example/package-lock.json create mode 100644 example/src/index.ts delete mode 100644 index.ts create mode 100755 make-repo-ssh.sh create mode 100755 np.sh create mode 100644 package-lock.json create mode 100644 src/index.ts delete mode 100644 src/index.tsx create mode 100644 tsconfig.types.json create mode 100644 types/index.d.ts create mode 100644 types/index.test.d.ts diff --git a/.gitignore b/.gitignore index 3d75225..38054bf 100644 --- a/.gitignore +++ b/.gitignore @@ -170,3 +170,6 @@ dist # IntelliJ based IDEs .idea + +dist/ +*.tsbuildinfo diff --git a/build.sh b/build.sh index d8bfe6e..a569133 100755 --- a/build.sh +++ b/build.sh @@ -1,4 +1,4 @@ find ./src \( -name "*.vert" -o -name "*.frag" \) -type f -exec bash -c 'mkdir -p "src/generated/$(dirname "{}")" && cp "{}" "src/generated/$(dirname "{}")/$(basename $(basename "{}" .vert) .frag).txt"' \; -bun run bundle +bun run build bun run tsc diff --git a/bun.lockb b/bun.lockb index a9dc98e041b0611973a1660c2e5d061d60e47518..d658aff64294e2d88ab2fdf33f5e78473e6290bb 100755 GIT binary patch delta 24740 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 C|K=P3 delta 831 zcmaF!n0>wM1U;?uH-lJaGW4@wT~PKYW0B8C*=d<;VrH+JHh-y(*2;3RSMq!eV8F>R zF+xr{l@r2aU`VY<%q_@CWsn652rw`-2v3|S&bk}O;hwC@LDYgZ z6UZ@|d{)_-b2gA=1r%nOJkiaZ=_=#oQ;AmftUv=m7z98xGZ1rtI6#1n200MsF&GU} zOQt#OAiY2XH&>NvF-<;m--n5vVY1YNu*n`3ypwAmMA!SUFfbSdnq-6QTNYP467Oy3fCzcv)4*03YIC;XaWbPHv@VLOqF#WL!qmBN*{}2FjAIPI1Kfodp z#s_-}D6YW8F#WVWqv~`GD@GAmc@XMnE>q3~vk0E**6J;tR4lgUHWOoAK#GzN#Q&fKG3y zev^K-L+G^oqFj?K<2HOmxr$_cN+H-U8Km^437^WxpGb##~R2HNbCl_TFlq8kr Z>4JINm-jP Bun Template - - - diff --git a/example/index.ts b/example/index.ts index fd7f9d1..ae4b676 100644 --- a/example/index.ts +++ b/example/index.ts @@ -1,4 +1,4 @@ -import { hello } from "../build/index"; +import { hello } from "bun-template"; import Bao from "baojs"; import serveStatic from "serve-static-bun"; diff --git a/example/package-lock.json b/example/package-lock.json new file mode 100644 index 0000000..ec08ff1 --- /dev/null +++ b/example/package-lock.json @@ -0,0 +1,151 @@ +{ + "name": "example", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "example", + "dependencies": { + "baojs": "^0.2.1", + "png-to-ico": "^2.1.8", + "serve-static-bun": "^0.5.3", + "texture-slot-allocator": "file:.." + }, + "devDependencies": { + "bun-types": "latest" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "..": { + "version": "1.0.7", + "license": "MIT", + "dependencies": { + "avl": "^1.5.3" + }, + "devDependencies": { + "@types/jest": "^29.5.6", + "@types/mocha": "^10.0.3", + "@types/react": "^18.2.21", + "bun": "^1.0.7", + "bun-types": "latest", + "jest": "^29.7.0", + "png-to-ico": "^2.1.8", + "prettier": "^3.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "typescript": "^5.3.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "node_modules/@types/node": { + "version": "17.0.45", + "license": "MIT" + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/ws/node_modules/@types/node": { + "version": "20.11.7", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/ws/node_modules/@types/node/node_modules/undici-types": { + "version": "5.26.5", + "dev": true, + "license": "MIT" + }, + "node_modules/baojs": { + "version": "0.2.1", + "license": "MIT", + "dependencies": { + "bun-types": "^0.2.2" + } + }, + "node_modules/baojs/node_modules/bun-types": { + "version": "0.2.2" + }, + "node_modules/bun-types": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.0.25.tgz", + "integrity": "sha512-9lxeUR/OJsvlZH4GOWteiAdx7ikrSxCUX7Rr0JJux+DrR3LejouVLxIZnTeQ3UPAZovvSgKivWeHPJ2wlo7/Kg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/ws": "*", + "undici-types": "^5.26.4" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/png-to-ico": { + "version": "2.1.8", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.36", + "minimist": "^1.2.6", + "pngjs": "^6.0.0" + }, + "bin": { + "png-to-ico": "bin/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pngjs": { + "version": "6.0.0", + "license": "MIT", + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/serve-static-bun": { + "version": "0.5.3", + "funding": [ + "https://github.com/sponsors/jakobbouchard" + ], + "license": "MIT" + }, + "node_modules/texture-slot-allocator": { + "resolved": "..", + "link": true + }, + "node_modules/typescript": { + "version": "5.3.3", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.28.2", + "dev": true, + "license": "MIT" + } + } +} diff --git a/example/package.json b/example/package.json index 859fdb6..5233c86 100644 --- a/example/package.json +++ b/example/package.json @@ -1,9 +1,10 @@ { "name": "example", - "module": "index.ts", + "module": "src/index.ts", "type": "module", "scripts": { - "start": "bun run build-icon && bun run index.ts --watch", + "start": "bun run build && bun run index.ts --watch", + "build": "bun i && bun run build-icon && bun build --target=node ./src/index.ts --outfile=dist/index.js", "build-icon": "png-to-ico ../icon.png > favicon.ico" }, "devDependencies": { @@ -15,6 +16,7 @@ "dependencies": { "baojs": "^0.2.1", "png-to-ico": "^2.1.8", - "serve-static-bun": "^0.5.3" + "serve-static-bun": "^0.5.3", + "bun-template": "file:.." } -} \ No newline at end of file +} diff --git a/example/src/index.ts b/example/src/index.ts new file mode 100644 index 0000000..e3afd3f --- /dev/null +++ b/example/src/index.ts @@ -0,0 +1,3 @@ +import { hello } from "bun-template"; + +export { hello }; diff --git a/example/tsconfig.json b/example/tsconfig.json index 5e8099a..f8031e1 100644 --- a/example/tsconfig.json +++ b/example/tsconfig.json @@ -1,5 +1,7 @@ { "compilerOptions": { + "outDir": "dist", + "rootDirs": ["example"], "lib": ["ESNext"], "module": "esnext", "target": "esnext", @@ -15,12 +17,9 @@ "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, "allowJs": true, - "types": [ - "bun-types" // add Bun global - ] + "types": [ "bun-types" ] }, "include": [ - "example/**/*.ts", - "build/*.js" + "**/*.ts", ] } diff --git a/index.ts b/index.ts deleted file mode 100644 index f67b2c6..0000000 --- a/index.ts +++ /dev/null @@ -1 +0,0 @@ -console.log("Hello via Bun!"); \ No newline at end of file diff --git a/make-repo-ssh.sh b/make-repo-ssh.sh new file mode 100755 index 0000000..97e0a2f --- /dev/null +++ b/make-repo-ssh.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Get the current Git remote URL (origin) +CURRENT_URL=$(git config --get remote.origin.url) + +# Verify if the URL is an HTTPS URL +if [[ $CURRENT_URL == https://* ]]; then + # Extract the repository name from the URL + REPO_NAME=$(basename "$CURRENT_URL" ".git") + + # Update the Git remote URL to use SSH + NEW_URL="git@github.com:$(basename $(dirname "$CURRENT_URL"))/${REPO_NAME}.git" + git remote set-url origin "$NEW_URL" + + # Verify the changes + git remote -v + + echo "Git remote URL updated to SSH." +else + echo "The current Git remote URL is already using SSH." +fi diff --git a/np.sh b/np.sh new file mode 100755 index 0000000..3f07259 --- /dev/null +++ b/np.sh @@ -0,0 +1 @@ +bun run np diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..07fe01f --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3895 @@ +{ + "name": "texture-slot-allocator", + "version": "1.0.16", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "texture-slot-allocator", + "version": "1.0.16", + "license": "MIT", + "dependencies": { + "avl": "^1.5.3" + }, + "devDependencies": { + "@types/bun": "^1.0.4", + "@types/jest": "^29.5.6", + "@types/mocha": "^10.0.3", + "@types/react": "^18.2.21", + "bun": "^1.0.7", + "bun-types": "latest", + "jest": "^29.7.0", + "png-to-ico": "^2.1.8", + "prettier": "^3.0.3", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "typescript": "^5.3.3" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "typescript": "^5.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "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==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "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/compat-data": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", + "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", + "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-compilation-targets": "^7.23.6", + "@babel/helper-module-transforms": "^7.23.3", + "@babel/helpers": "^7.23.9", + "@babel/parser": "^7.23.9", + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/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/@babel/generator": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", + "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.23.6", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.23.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", + "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.23.5", + "@babel/helper-validator-option": "^7.23.5", + "browserslist": "^4.22.2", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", + "dev": true, + "dependencies": { + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", + "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.15" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", + "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-module-imports": "^7.22.15", + "@babel/helper-simple-access": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/helper-validator-identifier": "^7.22.20" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz", + "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", + "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "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==", + "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==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.23.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", + "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz", + "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==", + "dev": true, + "dependencies": { + "@babel/template": "^7.23.9", + "@babel/traverse": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "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==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/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/highlight/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/highlight/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/highlight/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/highlight/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/highlight/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/highlight/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/parser": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz", + "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-bigint": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", + "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-meta": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", + "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-jsx": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz", + "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-typescript": { + "version": "7.23.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz", + "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.22.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz", + "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz", + "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.23.5", + "@babel/generator": "^7.23.6", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.9", + "@babel/types": "^7.23.9", + "debug": "^4.3.1", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz", + "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==", + "dev": true, + "dependencies": { + "@babel/helper-string-parser": "^7.23.4", + "@babel/helper-validator-identifier": "^7.22.20", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@bcoe/v8-coverage": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", + "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", + "dev": true + }, + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", + "dev": true, + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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": ">=8" + } + }, + "node_modules/@jest/console": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", + "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/core": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", + "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/reporters": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-changed-files": "^29.7.0", + "jest-config": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-resolve-dependencies": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "jest-watcher": "^29.7.0", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/@jest/environment": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", + "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", + "dev": true, + "dependencies": { + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", + "dev": true, + "dependencies": { + "expect": "^29.7.0", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/expect-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", + "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/fake-timers": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", + "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@sinonjs/fake-timers": "^10.0.2", + "@types/node": "*", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/globals": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", + "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/types": "^29.6.3", + "jest-mock": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/reporters": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", + "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jest/console": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "@types/node": "*", + "chalk": "^4.0.0", + "collect-v8-coverage": "^1.0.0", + "exit": "^0.1.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-instrument": "^6.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.0", + "istanbul-reports": "^3.1.3", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "slash": "^3.0.0", + "string-length": "^4.0.1", + "strip-ansi": "^6.0.0", + "v8-to-istanbul": "^9.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "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==", + "dev": true, + "dependencies": { + "@sinclair/typebox": "^0.27.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/source-map": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", + "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", + "dev": true, + "dependencies": { + "@jridgewell/trace-mapping": "^0.3.18", + "callsites": "^3.0.0", + "graceful-fs": "^4.2.9" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-result": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", + "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "collect-v8-coverage": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/test-sequencer": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", + "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", + "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/types": "^29.6.3", + "@jridgewell/trace-mapping": "^0.3.18", + "babel-plugin-istanbul": "^6.1.1", + "chalk": "^4.0.0", + "convert-source-map": "^2.0.0", + "fast-json-stable-stringify": "^2.1.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "micromatch": "^4.0.4", + "pirates": "^4.0.4", + "slash": "^3.0.0", + "write-file-atomic": "^4.0.2" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/@jest/transform/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/@jest/types": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", + "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", + "dev": true, + "dependencies": { + "@jest/schemas": "^29.6.3", + "@types/istanbul-lib-coverage": "^2.0.0", + "@types/istanbul-reports": "^3.0.0", + "@types/node": "*", + "@types/yargs": "^17.0.8", + "chalk": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "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==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "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==", + "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==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.22", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz", + "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@oven/bun-darwin-aarch64": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/@oven/bun-darwin-aarch64/-/bun-darwin-aarch64-1.0.25.tgz", + "integrity": "sha512-Yt1FJhpMotQZ7dB+mFE3SJN+tUsRA9Z6DJpW4s79KAxrIUDbYcpCxasGR/0uV/oowBAD8FkST8d4KN2yU8oyYw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "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/@sinonjs/commons": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", + "dev": true, + "dependencies": { + "type-detect": "4.0.8" + } + }, + "node_modules/@sinonjs/fake-timers": { + "version": "10.3.0", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", + "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", + "dev": true, + "dependencies": { + "@sinonjs/commons": "^3.0.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.8", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", + "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", + "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.7" + } + }, + "node_modules/@types/bun": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@types/bun/-/bun-1.0.4.tgz", + "integrity": "sha512-2DO7sqwtpko3d3XP2kLpJsOkV12sSRt8cFR955JVB60m1DiXE56T+gJq+DcCczQ5khxgCDQKkyBRlgg5VH33Dw==", + "dev": true, + "dependencies": { + "bun-types": "1.0.25" + } + }, + "node_modules/@types/graceful-fs": { + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/istanbul-lib-coverage": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true + }, + "node_modules/@types/istanbul-lib-report": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-coverage": "*" + } + }, + "node_modules/@types/istanbul-reports": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", + "dev": true, + "dependencies": { + "@types/istanbul-lib-report": "*" + } + }, + "node_modules/@types/jest": { + "version": "29.5.11", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz", + "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==", + "dev": true, + "dependencies": { + "expect": "^29.0.0", + "pretty-format": "^29.0.0" + } + }, + "node_modules/@types/mocha": { + "version": "10.0.6", + "resolved": "https://registry.npmjs.org/@types/mocha/-/mocha-10.0.6.tgz", + "integrity": "sha512-dJvrYWxP/UcXm36Qn36fxhUKu8A/xMRXVT2cliFF1Z7UA9liG5Psj3ezNSZw+5puH2czDXRLcXQxf8JbJt0ejg==", + "dev": true + }, + "node_modules/@types/node": { + "version": "20.11.8", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.8.tgz", + "integrity": "sha512-i7omyekpPTNdv4Jb/Rgqg0RU8YqLcNsI12quKSDkRXNfx7Wxdm6HhK1awT3xTgEkgxPn3bvnSpiEAc7a7Lpyow==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/prop-types": { + "version": "15.7.11", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.11.tgz", + "integrity": "sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==", + "dev": true + }, + "node_modules/@types/react": { + "version": "18.2.48", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz", + "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==", + "dev": true, + "dependencies": { + "@types/prop-types": "*", + "@types/scheduler": "*", + "csstype": "^3.0.2" + } + }, + "node_modules/@types/scheduler": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.8.tgz", + "integrity": "sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==", + "dev": true + }, + "node_modules/@types/stack-utils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.10", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", + "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/yargs": { + "version": "17.0.32", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz", + "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==", + "dev": true, + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/avl": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/avl/-/avl-1.5.3.tgz", + "integrity": "sha512-1qcOJeREIosJxIBof2nefabU9+Y3wCxXBb3ElQmNVOHP+Hu2BLWAh8CpU7xFnJNDMVBt2H5UOE2S/B7MEqhTsg==" + }, + "node_modules/babel-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", + "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", + "dev": true, + "dependencies": { + "@jest/transform": "^29.7.0", + "@types/babel__core": "^7.1.14", + "babel-plugin-istanbul": "^6.1.1", + "babel-preset-jest": "^29.6.3", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.8.0" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-jest-hoist": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", + "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.3.3", + "@babel/types": "^7.3.3", + "@types/babel__core": "^7.1.14", + "@types/babel__traverse": "^7.0.6" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/babel-preset-current-node-syntax": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", + "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "dev": true, + "dependencies": { + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-bigint": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.8.3", + "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-top-level-await": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/babel-preset-jest": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", + "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", + "dev": true, + "dependencies": { + "babel-plugin-jest-hoist": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.22.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz", + "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==", + "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" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001580", + "electron-to-chromium": "^1.4.648", + "node-releases": "^2.0.14", + "update-browserslist-db": "^1.0.13" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bser": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", + "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", + "dev": true, + "dependencies": { + "node-int64": "^0.4.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/bun": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/bun/-/bun-1.0.25.tgz", + "integrity": "sha512-/AOzoPOtbrOga8pR/qbFX0fvgCxBEn3L29Dt90fUJMCyB8YC6YXG6P919NyF/cANgJ3Vman3fI4+nFm8QYlYoQ==", + "cpu": [ + "arm64", + "x64" + ], + "dev": true, + "hasInstallScript": true, + "os": [ + "darwin", + "linux" + ], + "bin": { + "bun": "bin/bun", + "bunx": "bin/bun" + }, + "optionalDependencies": { + "@oven/bun-darwin-aarch64": "1.0.25", + "@oven/bun-darwin-x64": "1.0.25", + "@oven/bun-darwin-x64-baseline": "1.0.25", + "@oven/bun-linux-aarch64": "1.0.25", + "@oven/bun-linux-x64": "1.0.25", + "@oven/bun-linux-x64-baseline": "1.0.25" + } + }, + "node_modules/bun-types": { + "version": "1.0.25", + "resolved": "https://registry.npmjs.org/bun-types/-/bun-types-1.0.25.tgz", + "integrity": "sha512-9lxeUR/OJsvlZH4GOWteiAdx7ikrSxCUX7Rr0JJux+DrR3LejouVLxIZnTeQ3UPAZovvSgKivWeHPJ2wlo7/Kg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/ws": "*", + "undici-types": "^5.26.4" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001580", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001580.tgz", + "integrity": "sha512-mtj5ur2FFPZcCEpXFy8ADXbDACuNFXg6mxVDqp7tqooX6l3zwm+d8EPoeOSIFRDvHs8qu7/SLFOGniULkcH2iA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/char-regex": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", + "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/ci-info": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "engines": { + "node": ">=8" + } + }, + "node_modules/cjs-module-lexer": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", + "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", + "dev": true + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", + "dev": true, + "engines": { + "iojs": ">= 1.0.0", + "node": ">= 0.12.0" + } + }, + "node_modules/collect-v8-coverage": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", + "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/create-jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", + "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "exit": "^0.1.2", + "graceful-fs": "^4.2.9", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "prompts": "^2.0.1" + }, + "bin": { + "create-jest": "bin/create-jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/dedent": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", + "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "dev": true, + "peerDependencies": { + "babel-plugin-macros": "^3.1.0" + }, + "peerDependenciesMeta": { + "babel-plugin-macros": { + "optional": true + } + } + }, + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/detect-newline": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", + "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "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/electron-to-chromium": { + "version": "1.4.648", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz", + "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==", + "dev": true + }, + "node_modules/emittery": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", + "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sindresorhus/emittery?sponsor=1" + } + }, + "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/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/expect": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", + "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", + "dev": true, + "dependencies": { + "@jest/expect-utils": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fb-watchman": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", + "dev": true, + "dependencies": { + "bser": "2.1.1" + } + }, + "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==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", + "dev": true, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + }, + "funding": { + "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-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", + "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", + "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "dev": true, + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/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/istanbul-lib-instrument/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==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", + "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "dev": true, + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", + "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/types": "^29.6.3", + "import-local": "^3.0.2", + "jest-cli": "^29.7.0" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-changed-files": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", + "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", + "dev": true, + "dependencies": { + "execa": "^5.0.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-circus": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", + "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/expect": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "co": "^4.6.0", + "dedent": "^1.0.0", + "is-generator-fn": "^2.0.0", + "jest-each": "^29.7.0", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "p-limit": "^3.1.0", + "pretty-format": "^29.7.0", + "pure-rand": "^6.0.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", + "dev": true, + "dependencies": { + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" + }, + "bin": { + "jest": "bin/jest.js" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } + } + }, + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@jest/test-sequencer": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-jest": "^29.7.0", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "deepmerge": "^4.2.2", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-circus": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-runner": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "micromatch": "^4.0.4", + "parse-json": "^5.2.0", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "peerDependencies": { + "@types/node": "*", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/jest-diff": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", + "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "diff-sequences": "^29.6.3", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-docblock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", + "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", + "dev": true, + "dependencies": { + "detect-newline": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-each": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", + "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "jest-util": "^29.7.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-environment-node": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", + "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-mock": "^29.7.0", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-get-type": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", + "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-haste-map": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", + "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/graceful-fs": "^4.1.3", + "@types/node": "*", + "anymatch": "^3.0.3", + "fb-watchman": "^2.0.0", + "graceful-fs": "^4.2.9", + "jest-regex-util": "^29.6.3", + "jest-util": "^29.7.0", + "jest-worker": "^29.7.0", + "micromatch": "^4.0.4", + "walker": "^1.0.8" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + }, + "optionalDependencies": { + "fsevents": "^2.3.2" + } + }, + "node_modules/jest-leak-detector": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", + "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", + "dev": true, + "dependencies": { + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-matcher-utils": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", + "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-message-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", + "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.12.13", + "@jest/types": "^29.6.3", + "@types/stack-utils": "^2.0.0", + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "micromatch": "^4.0.4", + "pretty-format": "^29.7.0", + "slash": "^3.0.0", + "stack-utils": "^2.0.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-mock": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", + "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "jest-util": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-pnp-resolver": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", + "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", + "dev": true, + "engines": { + "node": ">=6" + }, + "peerDependencies": { + "jest-resolve": "*" + }, + "peerDependenciesMeta": { + "jest-resolve": { + "optional": true + } + } + }, + "node_modules/jest-regex-util": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", + "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", + "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", + "dev": true, + "dependencies": { + "chalk": "^4.0.0", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-pnp-resolver": "^1.2.2", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "resolve": "^1.20.0", + "resolve.exports": "^2.0.0", + "slash": "^3.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-resolve-dependencies": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", + "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", + "dev": true, + "dependencies": { + "jest-regex-util": "^29.6.3", + "jest-snapshot": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", + "dev": true, + "dependencies": { + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "dev": true, + "dependencies": { + "@jest/environment": "^29.7.0", + "@jest/fake-timers": "^29.7.0", + "@jest/globals": "^29.7.0", + "@jest/source-map": "^29.6.3", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "cjs-module-lexer": "^1.0.0", + "collect-v8-coverage": "^1.0.0", + "glob": "^7.1.3", + "graceful-fs": "^4.2.9", + "jest-haste-map": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-mock": "^29.7.0", + "jest-regex-util": "^29.6.3", + "jest-resolve": "^29.7.0", + "jest-snapshot": "^29.7.0", + "jest-util": "^29.7.0", + "slash": "^3.0.0", + "strip-bom": "^4.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", + "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", + "dev": true, + "dependencies": { + "@babel/core": "^7.11.6", + "@babel/generator": "^7.7.2", + "@babel/plugin-syntax-jsx": "^7.7.2", + "@babel/plugin-syntax-typescript": "^7.7.2", + "@babel/types": "^7.3.3", + "@jest/expect-utils": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "babel-preset-current-node-syntax": "^1.0.0", + "chalk": "^4.0.0", + "expect": "^29.7.0", + "graceful-fs": "^4.2.9", + "jest-diff": "^29.7.0", + "jest-get-type": "^29.6.3", + "jest-matcher-utils": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-util": "^29.7.0", + "natural-compare": "^1.4.0", + "pretty-format": "^29.7.0", + "semver": "^7.5.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-snapshot/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/jest-snapshot/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==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jest-snapshot/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/jest-util": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", + "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "ci-info": "^3.2.0", + "graceful-fs": "^4.2.9", + "picomatch": "^2.2.3" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", + "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", + "dev": true, + "dependencies": { + "@jest/types": "^29.6.3", + "camelcase": "^6.2.0", + "chalk": "^4.0.0", + "jest-get-type": "^29.6.3", + "leven": "^3.1.0", + "pretty-format": "^29.7.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", + "dev": true, + "dependencies": { + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", + "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "jest-util": "^29.7.0", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "dev": true, + "dependencies": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/leven": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", + "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "dev": true, + "dependencies": { + "js-tokens": "^3.0.0 || ^4.0.0" + }, + "bin": { + "loose-envify": "cli.js" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/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/make-dir/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==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/makeerror": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", + "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", + "dev": true, + "dependencies": { + "tmpl": "1.0.5" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/node-int64": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", + "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", + "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==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-locate/node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pirates": { + "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-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/png-to-ico": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/png-to-ico/-/png-to-ico-2.1.8.tgz", + "integrity": "sha512-Nf+IIn/cZ/DIZVdGveJp86NG5uNib1ZXMiDd/8x32HCTeKSvgpyg6D/6tUBn1QO/zybzoMK0/mc3QRgAyXdv9w==", + "dev": true, + "dependencies": { + "@types/node": "^17.0.36", + "minimist": "^1.2.6", + "pngjs": "^6.0.0" + }, + "bin": { + "png-to-ico": "bin/cli.js" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/png-to-ico/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "dev": true + }, + "node_modules/pngjs": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/pngjs/-/pngjs-6.0.0.tgz", + "integrity": "sha512-TRzzuFRRmEoSW/p1KVAmiOgPco2Irlah+bGFCeNfJXxxYGwSw7YwAOAcd7X28K/m5bjBWKsC29KyoMfHbypayg==", + "dev": true, + "engines": { + "node": ">=12.13.0" + } + }, + "node_modules/prettier": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.2.4.tgz", + "integrity": "sha512-FWu1oLHKCrtpO1ypU6J0SbK2d9Ckwysq6bHj/uaCP26DxrPpppCLQRGVuqAxSTvhF00AcvDRyYrLNW7ocBhFFQ==", + "dev": true, + "bin": { + "prettier": "bin/prettier.cjs" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "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/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/pure-rand": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", + "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/dubzzz" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fast-check" + } + ] + }, + "node_modules/react": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", + "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "18.2.0", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", + "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0", + "scheduler": "^0.23.0" + }, + "peerDependencies": { + "react": "^18.2.0" + } + }, + "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/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.8", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", + "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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/resolve.exports": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", + "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/scheduler": { + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", + "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "dev": true, + "dependencies": { + "loose-envify": "^1.1.0" + } + }, + "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/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/source-map-support": { + "version": "0.5.13", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", + "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", + "dev": true + }, + "node_modules/stack-utils": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", + "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", + "dev": true, + "dependencies": { + "escape-string-regexp": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/string-length": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", + "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", + "dev": true, + "dependencies": { + "char-regex": "^1.0.2", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "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/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": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", + "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "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==", + "dev": true, + "dependencies": { + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tmpl": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", + "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=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": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "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" + } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.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" + }, + "engines": { + "node": ">=10.12.0" + } + }, + "node_modules/v8-to-istanbul/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/walker": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", + "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", + "dev": true, + "dependencies": { + "makeerror": "1.0.12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/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/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/write-file-atomic": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", + "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.7" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + }, + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", + "dev": true, + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + } + } +} diff --git a/package.json b/package.json index 465b187..b605d37 100644 --- a/package.json +++ b/package.json @@ -1,20 +1,48 @@ { "name": "bun-template", - "module": "index.ts", + "module": "src/index.ts", + "description": "", + "version": "1.0.16", + "keywords": [ + "webgl", + "texture", + "spritesheet", + "typescript" + ], + "repository": { + "type": "git", + "url": "https://github.com/jacklehamster/bun-template" + }, + "homepage": "", + "author": "Jack Le Hamster", + "license": "MIT", "type": "module", + "main": "dist/index.js", + "types": "types/src/index.d.ts", + "engines": { + "node": ">=14.0.0" + }, "scripts": { "tsc": "tsc", "start": "bun run index.ts", - "bundle": "rm -rf build/*.* && bun run bundler/bundler.ts && bun test", + "test": "bun test", + "build": "rm -rf dist/*.* && bun run bundler/bundler.ts && bun run test && bun run build:declaration", + "build:declaration": "tsc --emitDeclarationOnly --project tsconfig.types.json", "list": "bun run samples/list-scripts.tsx", "example": "cd example && bun start && cd ..", + "build:example": "cd example && bun run build && cd ..", "fileSample": "bun run samples/file.tsx && cat samples/data/test.json", - "httpSample": "bun run samples/server.tsx" + "httpSample": "bun run samples/server.tsx", + "make-repo-ssh": "./make-repo-ssh.sh", + "commit-all": "./commit-all.sh", + "np": "bun run build && bun run build:example && bun run make-repo-ssh && bun run commit-all && echo y | np patch" }, "files": [ - "resources" + "dist", + "types" ], "devDependencies": { + "@types/bun": "^1.0.4", "@types/jest": "^29.5.6", "@types/mocha": "^10.0.3", "@types/react": "^18.2.21", @@ -25,7 +53,10 @@ "prettier": "^3.0.3", "react": "^18.2.0", "react-dom": "^18.2.0", - "typescript": "^5.3.2" + "typescript": "^5.3.3" + }, + "peerDependencies": { + "typescript": "^5.0.0" }, "dependencies": { } diff --git a/src/index.test.ts b/src/index.test.ts index 120b717..cdadc43 100644 --- a/src/index.test.ts +++ b/src/index.test.ts @@ -2,15 +2,7 @@ import { expect, it, describe } from 'bun:test'; import { hello } from './index'; describe('hello', () => { - it('prints Hello World', () => { - const log = console.log; - let loggedOutput = null; - console.log = (output) => { loggedOutput = output; }; - - hello(); - - expect(loggedOutput).toEqual('Hello World!'); - - console.log = log; + it('shows Hello World', () => { + expect(hello()).toEqual('Hello World!'); }); }); diff --git a/src/index.ts b/src/index.ts new file mode 100644 index 0000000..fc8f6ce --- /dev/null +++ b/src/index.ts @@ -0,0 +1,3 @@ +export function hello() { + return "Hello World!"; +} diff --git a/src/index.tsx b/src/index.tsx deleted file mode 100644 index 14d27a9..0000000 --- a/src/index.tsx +++ /dev/null @@ -1,3 +0,0 @@ -export function hello() { - console.log("Hello World!"); -} \ No newline at end of file diff --git a/tsconfig.json b/tsconfig.json index ec79e7b..fd9af45 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,35 +1,29 @@ { "compilerOptions": { - "jsx": "react", - "types": ["bun-types"], - "resolveJsonModule": true, - "esModuleInterop": true, - "lib": ["dom", "esnext"], - "strict": true, - "outDir": "dist", + "outDir": "./dist", + "rootDir": "src", + "baseUrl": "./", + "paths": { + "@/*": ["src/*"] + }, + "lib": ["ESNext"], "module": "esnext", - "moduleResolution": "node", - "sourceMap": true, - "declaration": true, - "noImplicitReturns": true, - "noImplicitThis": true, - "noImplicitAny": true, - "strictNullChecks": true, - "noUnusedLocals": true, - "noUnusedParameters": true, + "target": "esnext", + "moduleResolution": "bundler", + "moduleDetection": "force", + "allowImportingTsExtensions": true, + "noEmit": true, + "composite": true, + "strict": true, + "downlevelIteration": true, + "skipLibCheck": true, + "jsx": "react-jsx", "allowSyntheticDefaultImports": true, "forceConsistentCasingInFileNames": true, - "target": "esnext", "allowJs": true, - "skipLibCheck": true, - "isolatedModules": true, - "noEmit": false, - "downlevelIteration": true, - "baseUrl": ".", - "paths": { - "*": ["src/*"] - } + "types": ["bun-types"] }, - "include": ["src", "bundler"], - "exclude": ["node_modules", "build"] + "include": [ + "src/**/*.ts", + ] } diff --git a/tsconfig.types.json b/tsconfig.types.json new file mode 100644 index 0000000..9d4f1ce --- /dev/null +++ b/tsconfig.types.json @@ -0,0 +1,10 @@ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./types", + "declarationDir": "./types", + "noEmit": false, + "emitDeclarationOnly": true, + "declaration": true, + } +} diff --git a/types/index.d.ts b/types/index.d.ts new file mode 100644 index 0000000..16f2858 --- /dev/null +++ b/types/index.d.ts @@ -0,0 +1 @@ +export declare function hello(): string; diff --git a/types/index.test.d.ts b/types/index.test.d.ts new file mode 100644 index 0000000..cb0ff5c --- /dev/null +++ b/types/index.test.d.ts @@ -0,0 +1 @@ +export {};