├── .editorconfig ├── .github ├── FUNDING.yml └── workflows │ ├── release.yml │ └── test.yml ├── .gitignore ├── .npmignore ├── CHANGELOG.md ├── LICENSE ├── README.md ├── bin.js ├── eslint.config.js ├── package.json ├── pnpm-lock.yaml ├── screenshot.png └── test ├── dir └── foo.test.ts ├── find.js ├── foo.spec.js ├── foo.test.js └── no-test.js /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | indent_style = space 5 | indent_size = 2 6 | end_of_line = lf 7 | charset = utf-8 8 | trim_trailing_whitespace = true 9 | insert_final_newline = true 10 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: ai 2 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: Release 2 | on: 3 | push: 4 | tags: 5 | - '*' 6 | permissions: 7 | contents: write 8 | jobs: 9 | release: 10 | name: Release On Tag 11 | if: startsWith(github.ref, 'refs/tags/') 12 | runs-on: ubuntu-latest 13 | steps: 14 | - name: Checkout the repository 15 | uses: actions/checkout@v4 16 | - name: Extract the changelog 17 | id: changelog 18 | run: | 19 | TAG_NAME=${GITHUB_REF/refs\/tags\//} 20 | READ_SECTION=false 21 | CHANGELOG="" 22 | while IFS= read -r line; do 23 | if [[ "$line" =~ ^#+\ +(.*) ]]; then 24 | if [[ "${BASH_REMATCH[1]}" == "$TAG_NAME" ]]; then 25 | READ_SECTION=true 26 | elif [[ "$READ_SECTION" == true ]]; then 27 | break 28 | fi 29 | elif [[ "$READ_SECTION" == true ]]; then 30 | CHANGELOG+="$line"$'\n' 31 | fi 32 | done < "CHANGELOG.md" 33 | CHANGELOG=$(echo "$CHANGELOG" | awk '/./ {$1=$1;print}') 34 | echo "changelog_content<> $GITHUB_OUTPUT 35 | echo "$CHANGELOG" >> $GITHUB_OUTPUT 36 | echo "EOF" >> $GITHUB_OUTPUT 37 | - name: Create the release 38 | if: steps.changelog.outputs.changelog_content != '' 39 | uses: softprops/action-gh-release@v1 40 | with: 41 | name: ${{ github.ref_name }} 42 | body: '${{ steps.changelog.outputs.changelog_content }}' 43 | draft: false 44 | prerelease: false 45 | -------------------------------------------------------------------------------- /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | on: 3 | push: 4 | branches: 5 | - main 6 | pull_request: 7 | permissions: 8 | contents: read 9 | jobs: 10 | test: 11 | runs-on: ubuntu-latest 12 | strategy: 13 | matrix: 14 | node-version: 15 | - 22 16 | - 20 17 | - 18 18 | name: Node.js ${{ matrix.node-version }} Quick 19 | steps: 20 | - name: Checkout the repository 21 | uses: actions/checkout@v4 22 | - name: Install pnpm 23 | uses: pnpm/action-setup@v4 24 | with: 25 | version: 9 26 | - name: Install Node.js ${{ matrix.node-version }} 27 | uses: actions/setup-node@v4 28 | with: 29 | node-version: ${{ matrix.node-version }} 30 | cache: pnpm 31 | - name: Install dependencies 32 | run: pnpm install --ignore-scripts 33 | - name: Run unit tests 34 | run: pnpm test 35 | windows: 36 | runs-on: windows-latest 37 | name: Windows Quick 38 | steps: 39 | - name: Checkout the repository 40 | uses: actions/checkout@v4 41 | - name: Install pnpm 42 | uses: pnpm/action-setup@v4 43 | with: 44 | version: 9 45 | - name: Install Node.js LTS 46 | uses: actions/setup-node@v4 47 | with: 48 | node-version: 22 49 | cache: pnpm 50 | - name: Install dependencies 51 | run: pnpm install --ignore-scripts 52 | - name: Run unit tests 53 | run: node bin.js -t two 54 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /.npmignore: -------------------------------------------------------------------------------- 1 | test/ 2 | screenshot.png 3 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | This project adheres to [Semantic Versioning](http://semver.org/). 3 | 4 | ## 0.7.1 5 | * Fixed showing experimental types support warning. 6 | 7 | ## 0.7.0 8 | * Added setting `NODE_ENV` to `test`. 9 | 10 | ## 0.6.0 11 | * Added `--experimental-strip-types` support. 12 | 13 | ## 0.5.1 14 | * Fixed Windows support. 15 | 16 | ## 0.5.0 17 | * Fixed Node.js 18 TypeScript support by requiring Node.js ≥18.19. 18 | 19 | ## 0.4.1 20 | * Remove all warning suppression for `tsx`. 21 | * Remove `jiti` support since it has no loader support yet. 22 | 23 | ## 0.4 24 | * Added `jiti` support. 25 | 26 | ## 0.3.1 27 | * Fixed `tsm` support. 28 | 29 | ## 0.3 30 | * Added `tsx` 4.0 support. 31 | 32 | ## 0.2 33 | * Added `tsx` as an optional TypeScript compiler (by Dan Kozlov). 34 | * Added `.spec.` files support (by Dan Kozlov). 35 | 36 | ## 0.1.2 37 | * Fixed CI output. 38 | 39 | ## 0.1.1 40 | * Fixed test files finding. 41 | 42 | ## 0.1 43 | * Initial release. 44 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright 2023 Andrey Sitnik 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Better Node Test 2 | 3 | The CLI shortcut for [`node --test`](https://nodejs.org/api/test.html) with: 4 | 5 | * **TypeScript** support. 6 | * `-t` **shortcut** to run special test. 7 | 8 |

9 | Better Node Test CLI 10 |

11 | 12 | --- 13 | 14 |   Made at Evil Martians, product consulting for developer tools. 15 | 16 | --- 17 | 18 | ## Usage 19 | 20 | Install CLI: 21 | 22 | ```sh 23 | npm install --save-dev better-node-test 24 | ``` 25 | 26 | For TypeScript you will also need `tsx` (or you can use `tsm`): 27 | 28 | ```sh 29 | npm install --save-dev better-node-test tsx 30 | ``` 31 | 32 | To run all tests with `*.test.ts` or `*.test.js`: 33 | 34 | ```sh 35 | npx bnt 36 | ``` 37 | 38 | To run special test: 39 | 40 | ```sh 41 | npx bnt ./test/request.test.ts -t 'uses HTTPS' 42 | ``` 43 | -------------------------------------------------------------------------------- /bin.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | import { spawn } from 'node:child_process' 4 | import { lstat, readdir } from 'node:fs/promises' 5 | import { join } from 'node:path' 6 | 7 | let base = ['--test', '--test-reporter', 'spec'] 8 | let env = { ...process.env } 9 | 10 | const IGNORE = new Set(['.git', 'node_modules']) 11 | 12 | async function findFiles(dir, filter, callback) { 13 | let found = [] 14 | for (let name of await readdir(dir)) { 15 | if (IGNORE.has(name)) continue 16 | let filename = join(dir, name) 17 | let stat = await lstat(filename) 18 | if (stat.isDirectory()) { 19 | found.push(...(await findFiles(filename, filter, callback))) 20 | } else if (filter.test(name)) { 21 | found.push(filename) 22 | } 23 | } 24 | return found 25 | } 26 | 27 | function showHelp() { 28 | process.stdout.write( 29 | `Usage: bnt [options] [files]\n` + 30 | '\n' + 31 | 'Options\n' + 32 | ' -t Run tests matching pattern\n' 33 | ) 34 | } 35 | 36 | function checkNodeVersion(min) { 37 | let minor = process.version.match(/v(\d+\.\d+)\./)[1] 38 | return parseFloat(minor) >= min 39 | } 40 | 41 | let args = [] 42 | let files = [] 43 | for (let i = 2; i < process.argv.length; i++) { 44 | let arg = process.argv[i] 45 | if (arg === '-t') { 46 | args.push(`--test-name-pattern=${process.argv[++i]}`) 47 | } else if (arg === '--help' || arg === '-h') { 48 | showHelp() 49 | process.exit(0) 50 | } else { 51 | files.push(arg) 52 | } 53 | } 54 | 55 | if (files.length === 0) { 56 | files = await findFiles('.', /\.(test|spec)\.(js|ts)$/) 57 | } 58 | 59 | if (files.some(i => i.endsWith('.ts'))) { 60 | let loader 61 | if (typeof import.meta.resolve === 'function') { 62 | let tsm, tsx 63 | try { 64 | tsx = import.meta.resolve('tsx') 65 | } catch {} 66 | try { 67 | tsm = import.meta.resolve('tsm') 68 | } catch {} 69 | if (tsx) { 70 | loader = tsx 71 | } else if (tsm && tsx.startsWith('file:')) { 72 | loader = tsm 73 | } 74 | } else { 75 | loader = 'tsx' 76 | } 77 | if (loader) { 78 | base.push('--enable-source-maps', '--import', loader) 79 | } else if (checkNodeVersion(22.6)) { 80 | base.push( 81 | '--experimental-strip-types', 82 | '--disable-warning=ExperimentalWarning' 83 | ) 84 | } else { 85 | process.stderr.write('Install tsx or tsm to run TypeScript tests\n') 86 | process.exit(1) 87 | } 88 | } 89 | 90 | spawn('node', [...base, ...args, ...files], { 91 | env: { 92 | ...env, 93 | NODE_ENV: 'test' 94 | }, 95 | stdio: 'inherit' 96 | }).on('exit', process.exit) 97 | -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- 1 | import loguxConfig from '@logux/eslint-config' 2 | 3 | export default [ 4 | ...loguxConfig, 5 | { 6 | rules: { 7 | 'n/no-unsupported-features/node-builtins': 'off' 8 | } 9 | } 10 | ] 11 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "better-node-test", 3 | "version": "0.7.1", 4 | "description": "The CLI shortcut for node --test runner with TypeScript", 5 | "keywords": [ 6 | "node", 7 | "test", 8 | "typescript" 9 | ], 10 | "author": "Andrey Sitnik ", 11 | "license": "MIT", 12 | "repository": "ai/better-node-test", 13 | "sideEffects": false, 14 | "engines": { 15 | "node": "^18.19.0 || ^20.0.0 || >=22.0.0" 16 | }, 17 | "funding": [ 18 | { 19 | "type": "github", 20 | "url": "https://github.com/sponsors/ai" 21 | } 22 | ], 23 | "type": "module", 24 | "exports": { 25 | "./package.json": "./package.json" 26 | }, 27 | "bin": { 28 | "bnt": "./bin.js" 29 | }, 30 | "scripts": { 31 | "test:lint": "eslint .", 32 | "test:help": "node bin.js --help | node test/find.js Usage", 33 | "test:only": "node bin.js -t two | node test/find.js 'pass 3'", 34 | "test:pathless": "node bin.js | node test/find.js 'tests 7'", 35 | "test:path": "node bin.js test/*.test.js | node test/find.js 'tests 2'", 36 | "test:env": "node bin.js | node test/find.js 'NODE_ENV=test'", 37 | "test": "pnpm run /^test:/" 38 | }, 39 | "devDependencies": { 40 | "@logux/eslint-config": "^53.4.0", 41 | "clean-publish": "^5.0.0", 42 | "eslint": "^9.9.1", 43 | "tsx": "^4.17.0", 44 | "typescript": "^5.5.4" 45 | }, 46 | "prettier": { 47 | "arrowParens": "avoid", 48 | "jsxSingleQuote": false, 49 | "quoteProps": "consistent", 50 | "semi": false, 51 | "singleQuote": true, 52 | "trailingComma": "none" 53 | } 54 | } 55 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@logux/eslint-config': 12 | specifier: ^53.4.0 13 | version: 53.4.0(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4) 14 | clean-publish: 15 | specifier: ^5.0.0 16 | version: 5.0.0 17 | eslint: 18 | specifier: ^9.9.1 19 | version: 9.9.1 20 | tsx: 21 | specifier: ^4.17.0 22 | version: 4.17.0 23 | typescript: 24 | specifier: ^5.5.4 25 | version: 5.5.4 26 | 27 | packages: 28 | 29 | '@esbuild/aix-ppc64@0.23.1': 30 | resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} 31 | engines: {node: '>=18'} 32 | cpu: [ppc64] 33 | os: [aix] 34 | 35 | '@esbuild/android-arm64@0.23.1': 36 | resolution: {integrity: sha512-xw50ipykXcLstLeWH7WRdQuysJqejuAGPd30vd1i5zSyKK3WE+ijzHmLKxdiCMtH1pHz78rOg0BKSYOSB/2Khw==} 37 | engines: {node: '>=18'} 38 | cpu: [arm64] 39 | os: [android] 40 | 41 | '@esbuild/android-arm@0.23.1': 42 | resolution: {integrity: sha512-uz6/tEy2IFm9RYOyvKl88zdzZfwEfKZmnX9Cj1BHjeSGNuGLuMD1kR8y5bteYmwqKm1tj8m4cb/aKEorr6fHWQ==} 43 | engines: {node: '>=18'} 44 | cpu: [arm] 45 | os: [android] 46 | 47 | '@esbuild/android-x64@0.23.1': 48 | resolution: {integrity: sha512-nlN9B69St9BwUoB+jkyU090bru8L0NA3yFvAd7k8dNsVH8bi9a8cUAUSEcEEgTp2z3dbEDGJGfP6VUnkQnlReg==} 49 | engines: {node: '>=18'} 50 | cpu: [x64] 51 | os: [android] 52 | 53 | '@esbuild/darwin-arm64@0.23.1': 54 | resolution: {integrity: sha512-YsS2e3Wtgnw7Wq53XXBLcV6JhRsEq8hkfg91ESVadIrzr9wO6jJDMZnCQbHm1Guc5t/CdDiFSSfWP58FNuvT3Q==} 55 | engines: {node: '>=18'} 56 | cpu: [arm64] 57 | os: [darwin] 58 | 59 | '@esbuild/darwin-x64@0.23.1': 60 | resolution: {integrity: sha512-aClqdgTDVPSEGgoCS8QDG37Gu8yc9lTHNAQlsztQ6ENetKEO//b8y31MMu2ZaPbn4kVsIABzVLXYLhCGekGDqw==} 61 | engines: {node: '>=18'} 62 | cpu: [x64] 63 | os: [darwin] 64 | 65 | '@esbuild/freebsd-arm64@0.23.1': 66 | resolution: {integrity: sha512-h1k6yS8/pN/NHlMl5+v4XPfikhJulk4G+tKGFIOwURBSFzE8bixw1ebjluLOjfwtLqY0kewfjLSrO6tN2MgIhA==} 67 | engines: {node: '>=18'} 68 | cpu: [arm64] 69 | os: [freebsd] 70 | 71 | '@esbuild/freebsd-x64@0.23.1': 72 | resolution: {integrity: sha512-lK1eJeyk1ZX8UklqFd/3A60UuZ/6UVfGT2LuGo3Wp4/z7eRTRYY+0xOu2kpClP+vMTi9wKOfXi2vjUpO1Ro76g==} 73 | engines: {node: '>=18'} 74 | cpu: [x64] 75 | os: [freebsd] 76 | 77 | '@esbuild/linux-arm64@0.23.1': 78 | resolution: {integrity: sha512-/93bf2yxencYDnItMYV/v116zff6UyTjo4EtEQjUBeGiVpMmffDNUyD9UN2zV+V3LRV3/on4xdZ26NKzn6754g==} 79 | engines: {node: '>=18'} 80 | cpu: [arm64] 81 | os: [linux] 82 | 83 | '@esbuild/linux-arm@0.23.1': 84 | resolution: {integrity: sha512-CXXkzgn+dXAPs3WBwE+Kvnrf4WECwBdfjfeYHpMeVxWE0EceB6vhWGShs6wi0IYEqMSIzdOF1XjQ/Mkm5d7ZdQ==} 85 | engines: {node: '>=18'} 86 | cpu: [arm] 87 | os: [linux] 88 | 89 | '@esbuild/linux-ia32@0.23.1': 90 | resolution: {integrity: sha512-VTN4EuOHwXEkXzX5nTvVY4s7E/Krz7COC8xkftbbKRYAl96vPiUssGkeMELQMOnLOJ8k3BY1+ZY52tttZnHcXQ==} 91 | engines: {node: '>=18'} 92 | cpu: [ia32] 93 | os: [linux] 94 | 95 | '@esbuild/linux-loong64@0.23.1': 96 | resolution: {integrity: sha512-Vx09LzEoBa5zDnieH8LSMRToj7ir/Jeq0Gu6qJ/1GcBq9GkfoEAoXvLiW1U9J1qE/Y/Oyaq33w5p2ZWrNNHNEw==} 97 | engines: {node: '>=18'} 98 | cpu: [loong64] 99 | os: [linux] 100 | 101 | '@esbuild/linux-mips64el@0.23.1': 102 | resolution: {integrity: sha512-nrFzzMQ7W4WRLNUOU5dlWAqa6yVeI0P78WKGUo7lg2HShq/yx+UYkeNSE0SSfSure0SqgnsxPvmAUu/vu0E+3Q==} 103 | engines: {node: '>=18'} 104 | cpu: [mips64el] 105 | os: [linux] 106 | 107 | '@esbuild/linux-ppc64@0.23.1': 108 | resolution: {integrity: sha512-dKN8fgVqd0vUIjxuJI6P/9SSSe/mB9rvA98CSH2sJnlZ/OCZWO1DJvxj8jvKTfYUdGfcq2dDxoKaC6bHuTlgcw==} 109 | engines: {node: '>=18'} 110 | cpu: [ppc64] 111 | os: [linux] 112 | 113 | '@esbuild/linux-riscv64@0.23.1': 114 | resolution: {integrity: sha512-5AV4Pzp80fhHL83JM6LoA6pTQVWgB1HovMBsLQ9OZWLDqVY8MVobBXNSmAJi//Csh6tcY7e7Lny2Hg1tElMjIA==} 115 | engines: {node: '>=18'} 116 | cpu: [riscv64] 117 | os: [linux] 118 | 119 | '@esbuild/linux-s390x@0.23.1': 120 | resolution: {integrity: sha512-9ygs73tuFCe6f6m/Tb+9LtYxWR4c9yg7zjt2cYkjDbDpV/xVn+68cQxMXCjUpYwEkze2RcU/rMnfIXNRFmSoDw==} 121 | engines: {node: '>=18'} 122 | cpu: [s390x] 123 | os: [linux] 124 | 125 | '@esbuild/linux-x64@0.23.1': 126 | resolution: {integrity: sha512-EV6+ovTsEXCPAp58g2dD68LxoP/wK5pRvgy0J/HxPGB009omFPv3Yet0HiaqvrIrgPTBuC6wCH1LTOY91EO5hQ==} 127 | engines: {node: '>=18'} 128 | cpu: [x64] 129 | os: [linux] 130 | 131 | '@esbuild/netbsd-x64@0.23.1': 132 | resolution: {integrity: sha512-aevEkCNu7KlPRpYLjwmdcuNz6bDFiE7Z8XC4CPqExjTvrHugh28QzUXVOZtiYghciKUacNktqxdpymplil1beA==} 133 | engines: {node: '>=18'} 134 | cpu: [x64] 135 | os: [netbsd] 136 | 137 | '@esbuild/openbsd-arm64@0.23.1': 138 | resolution: {integrity: sha512-3x37szhLexNA4bXhLrCC/LImN/YtWis6WXr1VESlfVtVeoFJBRINPJ3f0a/6LV8zpikqoUg4hyXw0sFBt5Cr+Q==} 139 | engines: {node: '>=18'} 140 | cpu: [arm64] 141 | os: [openbsd] 142 | 143 | '@esbuild/openbsd-x64@0.23.1': 144 | resolution: {integrity: sha512-aY2gMmKmPhxfU+0EdnN+XNtGbjfQgwZj43k8G3fyrDM/UdZww6xrWxmDkuz2eCZchqVeABjV5BpildOrUbBTqA==} 145 | engines: {node: '>=18'} 146 | cpu: [x64] 147 | os: [openbsd] 148 | 149 | '@esbuild/sunos-x64@0.23.1': 150 | resolution: {integrity: sha512-RBRT2gqEl0IKQABT4XTj78tpk9v7ehp+mazn2HbUeZl1YMdaGAQqhapjGTCe7uw7y0frDi4gS0uHzhvpFuI1sA==} 151 | engines: {node: '>=18'} 152 | cpu: [x64] 153 | os: [sunos] 154 | 155 | '@esbuild/win32-arm64@0.23.1': 156 | resolution: {integrity: sha512-4O+gPR5rEBe2FpKOVyiJ7wNDPA8nGzDuJ6gN4okSA1gEOYZ67N8JPk58tkWtdtPeLz7lBnY6I5L3jdsr3S+A6A==} 157 | engines: {node: '>=18'} 158 | cpu: [arm64] 159 | os: [win32] 160 | 161 | '@esbuild/win32-ia32@0.23.1': 162 | resolution: {integrity: sha512-BcaL0Vn6QwCwre3Y717nVHZbAa4UBEigzFm6VdsVdT/MbZ38xoj1X9HPkZhbmaBGUD1W8vxAfffbDe8bA6AKnQ==} 163 | engines: {node: '>=18'} 164 | cpu: [ia32] 165 | os: [win32] 166 | 167 | '@esbuild/win32-x64@0.23.1': 168 | resolution: {integrity: sha512-BHpFFeslkWrXWyUPnbKm+xYYVYruCinGcftSBaa8zoF9hZO4BcSCFUvHVTtzpIY6YzUnYtuEhZ+C9iEXjxnasg==} 169 | engines: {node: '>=18'} 170 | cpu: [x64] 171 | os: [win32] 172 | 173 | '@eslint-community/eslint-utils@4.4.0': 174 | resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} 175 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 176 | peerDependencies: 177 | eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 178 | 179 | '@eslint-community/regexpp@4.11.0': 180 | resolution: {integrity: sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==} 181 | engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} 182 | 183 | '@eslint/config-array@0.18.0': 184 | resolution: {integrity: sha512-fTxvnS1sRMu3+JjXwJG0j/i4RT9u4qJ+lqS/yCGap4lH4zZGzQ7tu+xZqQmcMZq5OBZDL4QRxQzRjkWcGt8IVw==} 185 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 186 | 187 | '@eslint/eslintrc@3.1.0': 188 | resolution: {integrity: sha512-4Bfj15dVJdoy3RfZmmo86RK1Fwzn6SstsvK9JS+BaVKqC6QQQQyXekNaC+g+LKNgkQ+2VhGAzm6hO40AhMR3zQ==} 189 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 190 | 191 | '@eslint/js@9.9.1': 192 | resolution: {integrity: sha512-xIDQRsfg5hNBqHz04H1R3scSVwmI+KUbqjsQKHKQ1DAUSaUjYPReZZmS/5PNiKu1fUvzDd6H7DEDKACSEhu+TQ==} 193 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 194 | 195 | '@eslint/object-schema@2.1.4': 196 | resolution: {integrity: sha512-BsWiH1yFGjXXS2yvrf5LyuoSIIbPrGUWob917o+BTKuZ7qJdxX8aJLRxs1fS9n6r7vESrq1OUqb68dANcFXuQQ==} 197 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 198 | 199 | '@humanwhocodes/module-importer@1.0.1': 200 | resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} 201 | engines: {node: '>=12.22'} 202 | 203 | '@humanwhocodes/retry@0.3.0': 204 | resolution: {integrity: sha512-d2CGZR2o7fS6sWB7DG/3a95bGKQyHMACZ5aW8qGkkqQpUoZV6C0X7Pc7l4ZNMZkfNBf4VWNe9E1jRsf0G146Ew==} 205 | engines: {node: '>=18.18'} 206 | 207 | '@logux/eslint-config@53.4.0': 208 | resolution: {integrity: sha512-eu3uEhWSar51TM/1cZL4lm/WMiOMtefBVPZPZG3kIfE+TCReg2eCkkafLe7gj34IpUNh5Qt268tWCUNFV5DdYA==} 209 | engines: {node: '>=18.0.0'} 210 | peerDependencies: 211 | eslint: ^8.57.0 || ^9.0.0 212 | eslint-plugin-svelte: ^2.35.1 213 | svelte: ^4.2.12 214 | peerDependenciesMeta: 215 | eslint-plugin-svelte: 216 | optional: true 217 | svelte: 218 | optional: true 219 | 220 | '@nodelib/fs.scandir@2.1.5': 221 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 222 | engines: {node: '>= 8'} 223 | 224 | '@nodelib/fs.stat@2.0.5': 225 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 226 | engines: {node: '>= 8'} 227 | 228 | '@nodelib/fs.walk@1.2.8': 229 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 230 | engines: {node: '>= 8'} 231 | 232 | '@types/json5@0.0.29': 233 | resolution: {integrity: sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==} 234 | 235 | '@typescript-eslint/eslint-plugin@8.2.0': 236 | resolution: {integrity: sha512-02tJIs655em7fvt9gps/+4k4OsKULYGtLBPJfOsmOq1+3cdClYiF0+d6mHu6qDnTcg88wJBkcPLpQhq7FyDz0A==} 237 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 238 | peerDependencies: 239 | '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 240 | eslint: ^8.57.0 || ^9.0.0 241 | typescript: '*' 242 | peerDependenciesMeta: 243 | typescript: 244 | optional: true 245 | 246 | '@typescript-eslint/parser@8.2.0': 247 | resolution: {integrity: sha512-j3Di+o0lHgPrb7FxL3fdEy6LJ/j2NE8u+AP/5cQ9SKb+JLH6V6UHDqJ+e0hXBkHP1wn1YDFjYCS9LBQsZDlDEg==} 248 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 249 | peerDependencies: 250 | eslint: ^8.57.0 || ^9.0.0 251 | typescript: '*' 252 | peerDependenciesMeta: 253 | typescript: 254 | optional: true 255 | 256 | '@typescript-eslint/scope-manager@8.2.0': 257 | resolution: {integrity: sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw==} 258 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 259 | 260 | '@typescript-eslint/type-utils@8.2.0': 261 | resolution: {integrity: sha512-g1CfXGFMQdT5S+0PSO0fvGXUaiSkl73U1n9LTK5aRAFnPlJ8dLKkXr4AaLFvPedW8lVDoMgLLE3JN98ZZfsj0w==} 262 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 263 | peerDependencies: 264 | typescript: '*' 265 | peerDependenciesMeta: 266 | typescript: 267 | optional: true 268 | 269 | '@typescript-eslint/types@8.2.0': 270 | resolution: {integrity: sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ==} 271 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 272 | 273 | '@typescript-eslint/typescript-estree@8.2.0': 274 | resolution: {integrity: sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA==} 275 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 276 | peerDependencies: 277 | typescript: '*' 278 | peerDependenciesMeta: 279 | typescript: 280 | optional: true 281 | 282 | '@typescript-eslint/utils@8.2.0': 283 | resolution: {integrity: sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg==} 284 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 285 | peerDependencies: 286 | eslint: ^8.57.0 || ^9.0.0 287 | 288 | '@typescript-eslint/visitor-keys@8.2.0': 289 | resolution: {integrity: sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q==} 290 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 291 | 292 | acorn-jsx@5.3.2: 293 | resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} 294 | peerDependencies: 295 | acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 296 | 297 | acorn@8.12.1: 298 | resolution: {integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==} 299 | engines: {node: '>=0.4.0'} 300 | hasBin: true 301 | 302 | ajv@6.12.6: 303 | resolution: {integrity: sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==} 304 | 305 | ansi-regex@5.0.1: 306 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 307 | engines: {node: '>=8'} 308 | 309 | ansi-styles@4.3.0: 310 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 311 | engines: {node: '>=8'} 312 | 313 | argparse@2.0.1: 314 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 315 | 316 | array-buffer-byte-length@1.0.1: 317 | resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} 318 | engines: {node: '>= 0.4'} 319 | 320 | array-includes@3.1.8: 321 | resolution: {integrity: sha512-itaWrbYbqpGXkGhZPGUulwnhVf5Hpy1xiCFsGqyIGglbBxmG5vSjxQen3/WGOjPpNEv1RtBLKxbmVXm8HpJStQ==} 322 | engines: {node: '>= 0.4'} 323 | 324 | array-union@2.1.0: 325 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 326 | engines: {node: '>=8'} 327 | 328 | array.prototype.findlastindex@1.2.5: 329 | resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} 330 | engines: {node: '>= 0.4'} 331 | 332 | array.prototype.flat@1.3.2: 333 | resolution: {integrity: sha512-djYB+Zx2vLewY8RWlNCUdHjDXs2XOgm602S9E7P/UpHgfeHL00cRiIF+IN/G/aUJ7kGPb6yO/ErDI5V2s8iycA==} 334 | engines: {node: '>= 0.4'} 335 | 336 | array.prototype.flatmap@1.3.2: 337 | resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} 338 | engines: {node: '>= 0.4'} 339 | 340 | arraybuffer.prototype.slice@1.0.3: 341 | resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} 342 | engines: {node: '>= 0.4'} 343 | 344 | available-typed-arrays@1.0.7: 345 | resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} 346 | engines: {node: '>= 0.4'} 347 | 348 | balanced-match@1.0.2: 349 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 350 | 351 | brace-expansion@1.1.11: 352 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 353 | 354 | brace-expansion@2.0.1: 355 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 356 | 357 | braces@3.0.3: 358 | resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} 359 | engines: {node: '>=8'} 360 | 361 | call-bind@1.0.7: 362 | resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} 363 | engines: {node: '>= 0.4'} 364 | 365 | callsites@3.1.0: 366 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 367 | engines: {node: '>=6'} 368 | 369 | chalk@4.1.2: 370 | resolution: {integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==} 371 | engines: {node: '>=10'} 372 | 373 | clean-publish@5.0.0: 374 | resolution: {integrity: sha512-1qjtqP3piZL4t8SqGojOyA12bg8AtbFPIQstNvxmss1fhwfma3CqMJ/Y/kbRvAllLX2/c4ZKjcCCKDqEtpcymA==} 375 | engines: {node: '>= 18.0.0'} 376 | hasBin: true 377 | 378 | color-convert@2.0.1: 379 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 380 | engines: {node: '>=7.0.0'} 381 | 382 | color-name@1.1.4: 383 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 384 | 385 | concat-map@0.0.1: 386 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 387 | 388 | cross-spawn@7.0.3: 389 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 390 | engines: {node: '>= 8'} 391 | 392 | data-view-buffer@1.0.1: 393 | resolution: {integrity: sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==} 394 | engines: {node: '>= 0.4'} 395 | 396 | data-view-byte-length@1.0.1: 397 | resolution: {integrity: sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==} 398 | engines: {node: '>= 0.4'} 399 | 400 | data-view-byte-offset@1.0.0: 401 | resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} 402 | engines: {node: '>= 0.4'} 403 | 404 | debug@3.2.7: 405 | resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} 406 | peerDependencies: 407 | supports-color: '*' 408 | peerDependenciesMeta: 409 | supports-color: 410 | optional: true 411 | 412 | debug@4.3.6: 413 | resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} 414 | engines: {node: '>=6.0'} 415 | peerDependencies: 416 | supports-color: '*' 417 | peerDependenciesMeta: 418 | supports-color: 419 | optional: true 420 | 421 | deep-is@0.1.4: 422 | resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==} 423 | 424 | define-data-property@1.1.4: 425 | resolution: {integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==} 426 | engines: {node: '>= 0.4'} 427 | 428 | define-properties@1.2.1: 429 | resolution: {integrity: sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==} 430 | engines: {node: '>= 0.4'} 431 | 432 | dir-glob@3.0.1: 433 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 434 | engines: {node: '>=8'} 435 | 436 | doctrine@2.1.0: 437 | resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} 438 | engines: {node: '>=0.10.0'} 439 | 440 | enhanced-resolve@5.17.1: 441 | resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} 442 | engines: {node: '>=10.13.0'} 443 | 444 | es-abstract@1.23.3: 445 | resolution: {integrity: sha512-e+HfNH61Bj1X9/jLc5v1owaLYuHdeHHSQlkhCBiTK8rBvKaULl/beGMxwrMXjpYrv4pz22BlY570vVePA2ho4A==} 446 | engines: {node: '>= 0.4'} 447 | 448 | es-define-property@1.0.0: 449 | resolution: {integrity: sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==} 450 | engines: {node: '>= 0.4'} 451 | 452 | es-errors@1.3.0: 453 | resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} 454 | engines: {node: '>= 0.4'} 455 | 456 | es-object-atoms@1.0.0: 457 | resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} 458 | engines: {node: '>= 0.4'} 459 | 460 | es-set-tostringtag@2.0.3: 461 | resolution: {integrity: sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==} 462 | engines: {node: '>= 0.4'} 463 | 464 | es-shim-unscopables@1.0.2: 465 | resolution: {integrity: sha512-J3yBRXCzDu4ULnQwxyToo/OjdMx6akgVC7K6few0a7F/0wLtmKKN7I73AH5T2836UuXRqN7Qg+IIUw/+YJksRw==} 466 | 467 | es-to-primitive@1.2.1: 468 | resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} 469 | engines: {node: '>= 0.4'} 470 | 471 | esbuild@0.23.1: 472 | resolution: {integrity: sha512-VVNz/9Sa0bs5SELtn3f7qhJCDPCF5oMEl5cO9/SSinpE9hbPVvxbd572HH5AKiP7WD8INO53GgfDDhRjkylHEg==} 473 | engines: {node: '>=18'} 474 | hasBin: true 475 | 476 | escape-string-regexp@4.0.0: 477 | resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==} 478 | engines: {node: '>=10'} 479 | 480 | eslint-compat-utils@0.5.1: 481 | resolution: {integrity: sha512-3z3vFexKIEnjHE3zCMRo6fn/e44U7T1khUjg+Hp0ZQMCigh28rALD0nPFBcGZuiLC5rLZa2ubQHDRln09JfU2Q==} 482 | engines: {node: '>=12'} 483 | peerDependencies: 484 | eslint: '>=6.0.0' 485 | 486 | eslint-config-standard@17.1.0: 487 | resolution: {integrity: sha512-IwHwmaBNtDK4zDHQukFDW5u/aTb8+meQWZvNFWkiGmbWjD6bqyuSSBxxXKkCftCUzc1zwCH2m/baCNDLGmuO5Q==} 488 | engines: {node: '>=12.0.0'} 489 | peerDependencies: 490 | eslint: ^8.0.1 491 | eslint-plugin-import: ^2.25.2 492 | eslint-plugin-n: '^15.0.0 || ^16.0.0 ' 493 | eslint-plugin-promise: ^6.0.0 494 | 495 | eslint-import-resolver-node@0.3.9: 496 | resolution: {integrity: sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==} 497 | 498 | eslint-module-utils@2.8.1: 499 | resolution: {integrity: sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==} 500 | engines: {node: '>=4'} 501 | peerDependencies: 502 | '@typescript-eslint/parser': '*' 503 | eslint: '*' 504 | eslint-import-resolver-node: '*' 505 | eslint-import-resolver-typescript: '*' 506 | eslint-import-resolver-webpack: '*' 507 | peerDependenciesMeta: 508 | '@typescript-eslint/parser': 509 | optional: true 510 | eslint: 511 | optional: true 512 | eslint-import-resolver-node: 513 | optional: true 514 | eslint-import-resolver-typescript: 515 | optional: true 516 | eslint-import-resolver-webpack: 517 | optional: true 518 | 519 | eslint-plugin-es-x@7.8.0: 520 | resolution: {integrity: sha512-7Ds8+wAAoV3T+LAKeu39Y5BzXCrGKrcISfgKEqTS4BDN8SFEDQd0S43jiQ8vIa3wUKD07qitZdfzlenSi8/0qQ==} 521 | engines: {node: ^14.18.0 || >=16.0.0} 522 | peerDependencies: 523 | eslint: '>=8' 524 | 525 | eslint-plugin-import@2.29.1: 526 | resolution: {integrity: sha512-BbPC0cuExzhiMo4Ff1BTVwHpjjv28C5R+btTOGaCRC7UEz801up0JadwkeSk5Ued6TG34uaczuVuH6qyy5YUxw==} 527 | engines: {node: '>=4'} 528 | peerDependencies: 529 | '@typescript-eslint/parser': '*' 530 | eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 531 | peerDependenciesMeta: 532 | '@typescript-eslint/parser': 533 | optional: true 534 | 535 | eslint-plugin-n@17.10.2: 536 | resolution: {integrity: sha512-e+s4eAf5NtJaxPhTNu3qMO0Iz40WANS93w9LQgYcvuljgvDmWi/a3rh+OrNyMHeng6aOWGJO0rCg5lH4zi8yTw==} 537 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 538 | peerDependencies: 539 | eslint: '>=8.23.0' 540 | 541 | eslint-plugin-perfectionist@3.2.0: 542 | resolution: {integrity: sha512-cX1aztMbSfRWPKJH8CD+gadrbkS+RNH1OGWuNGws8J6rHzYYhawxWTU/yzMYjq2IRJCpBCfhgfa7BHRXQYxLHA==} 543 | engines: {node: ^18.0.0 || >=20.0.0} 544 | peerDependencies: 545 | astro-eslint-parser: ^1.0.2 546 | eslint: '>=8.0.0' 547 | svelte: '>=3.0.0' 548 | svelte-eslint-parser: ^0.41.0 549 | vue-eslint-parser: '>=9.0.0' 550 | peerDependenciesMeta: 551 | astro-eslint-parser: 552 | optional: true 553 | svelte: 554 | optional: true 555 | svelte-eslint-parser: 556 | optional: true 557 | vue-eslint-parser: 558 | optional: true 559 | 560 | eslint-plugin-prefer-let@4.0.0: 561 | resolution: {integrity: sha512-X4ep5PMO1320HKaNC9DM5+p6XvOhwv+RcqGjhv3aiw9iAtHhiFtdIUB5l0Zya0iM22ys2BGKzrNI9Xpw/ZHooQ==} 562 | engines: {node: '>=0.10.0'} 563 | 564 | eslint-plugin-promise@7.1.0: 565 | resolution: {integrity: sha512-8trNmPxdAy3W620WKDpaS65NlM5yAumod6XeC4LOb+jxlkG4IVcp68c6dXY2ev+uT4U1PtG57YDV6EGAXN0GbQ==} 566 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 567 | peerDependencies: 568 | eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 569 | 570 | eslint-scope@8.0.2: 571 | resolution: {integrity: sha512-6E4xmrTw5wtxnLA5wYL3WDfhZ/1bUBGOXV0zQvVRDOtrR8D0p6W7fs3JweNYhwRYeGvd/1CKX2se0/2s7Q/nJA==} 572 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 573 | 574 | eslint-visitor-keys@3.4.3: 575 | resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} 576 | engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} 577 | 578 | eslint-visitor-keys@4.0.0: 579 | resolution: {integrity: sha512-OtIRv/2GyiF6o/d8K7MYKKbXrOUBIK6SfkIRM4Z0dY3w+LiQ0vy3F57m0Z71bjbyeiWFiHJ8brqnmE6H6/jEuw==} 580 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 581 | 582 | eslint@9.9.1: 583 | resolution: {integrity: sha512-dHvhrbfr4xFQ9/dq+jcVneZMyRYLjggWjk6RVsIiHsP8Rz6yZ8LvZ//iU4TrZF+SXWG+JkNF2OyiZRvzgRDqMg==} 584 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 585 | hasBin: true 586 | peerDependencies: 587 | jiti: '*' 588 | peerDependenciesMeta: 589 | jiti: 590 | optional: true 591 | 592 | espree@10.1.0: 593 | resolution: {integrity: sha512-M1M6CpiE6ffoigIOWYO9UDP8TMUw9kqb21tf+08IgDYjCsOvCuDt4jQcZmoYxx+w7zlKw9/N0KXfto+I8/FrXA==} 594 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 595 | 596 | esquery@1.6.0: 597 | resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} 598 | engines: {node: '>=0.10'} 599 | 600 | esrecurse@4.3.0: 601 | resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} 602 | engines: {node: '>=4.0'} 603 | 604 | estraverse@5.3.0: 605 | resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} 606 | engines: {node: '>=4.0'} 607 | 608 | esutils@2.0.3: 609 | resolution: {integrity: sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==} 610 | engines: {node: '>=0.10.0'} 611 | 612 | fast-deep-equal@3.1.3: 613 | resolution: {integrity: sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==} 614 | 615 | fast-glob@3.3.2: 616 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 617 | engines: {node: '>=8.6.0'} 618 | 619 | fast-json-stable-stringify@2.1.0: 620 | resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} 621 | 622 | fast-levenshtein@2.0.6: 623 | resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} 624 | 625 | fastq@1.17.1: 626 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 627 | 628 | file-entry-cache@8.0.0: 629 | resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} 630 | engines: {node: '>=16.0.0'} 631 | 632 | fill-range@7.1.1: 633 | resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} 634 | engines: {node: '>=8'} 635 | 636 | find-up@5.0.0: 637 | resolution: {integrity: sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==} 638 | engines: {node: '>=10'} 639 | 640 | flat-cache@4.0.1: 641 | resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} 642 | engines: {node: '>=16'} 643 | 644 | flatted@3.3.1: 645 | resolution: {integrity: sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==} 646 | 647 | for-each@0.3.3: 648 | resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} 649 | 650 | fsevents@2.3.3: 651 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 652 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 653 | os: [darwin] 654 | 655 | function-bind@1.1.2: 656 | resolution: {integrity: sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==} 657 | 658 | function.prototype.name@1.1.6: 659 | resolution: {integrity: sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg==} 660 | engines: {node: '>= 0.4'} 661 | 662 | functions-have-names@1.2.3: 663 | resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} 664 | 665 | get-intrinsic@1.2.4: 666 | resolution: {integrity: sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==} 667 | engines: {node: '>= 0.4'} 668 | 669 | get-symbol-description@1.0.2: 670 | resolution: {integrity: sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==} 671 | engines: {node: '>= 0.4'} 672 | 673 | get-tsconfig@4.7.6: 674 | resolution: {integrity: sha512-ZAqrLlu18NbDdRaHq+AKXzAmqIUPswPWKUchfytdAjiRFnCe5ojG2bstg6mRiZabkKfCoL/e98pbBELIV/YCeA==} 675 | 676 | glob-parent@5.1.2: 677 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 678 | engines: {node: '>= 6'} 679 | 680 | glob-parent@6.0.2: 681 | resolution: {integrity: sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==} 682 | engines: {node: '>=10.13.0'} 683 | 684 | globals@14.0.0: 685 | resolution: {integrity: sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==} 686 | engines: {node: '>=18'} 687 | 688 | globals@15.9.0: 689 | resolution: {integrity: sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==} 690 | engines: {node: '>=18'} 691 | 692 | globalthis@1.0.4: 693 | resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} 694 | engines: {node: '>= 0.4'} 695 | 696 | globby@11.1.0: 697 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 698 | engines: {node: '>=10'} 699 | 700 | gopd@1.0.1: 701 | resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} 702 | 703 | graceful-fs@4.2.11: 704 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 705 | 706 | graphemer@1.4.0: 707 | resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} 708 | 709 | has-bigints@1.0.2: 710 | resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} 711 | 712 | has-flag@4.0.0: 713 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 714 | engines: {node: '>=8'} 715 | 716 | has-property-descriptors@1.0.2: 717 | resolution: {integrity: sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==} 718 | 719 | has-proto@1.0.3: 720 | resolution: {integrity: sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==} 721 | engines: {node: '>= 0.4'} 722 | 723 | has-symbols@1.0.3: 724 | resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} 725 | engines: {node: '>= 0.4'} 726 | 727 | has-tostringtag@1.0.2: 728 | resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} 729 | engines: {node: '>= 0.4'} 730 | 731 | hasown@2.0.2: 732 | resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} 733 | engines: {node: '>= 0.4'} 734 | 735 | ignore@5.3.2: 736 | resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} 737 | engines: {node: '>= 4'} 738 | 739 | import-fresh@3.3.0: 740 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 741 | engines: {node: '>=6'} 742 | 743 | imurmurhash@0.1.4: 744 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 745 | engines: {node: '>=0.8.19'} 746 | 747 | internal-slot@1.0.7: 748 | resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} 749 | engines: {node: '>= 0.4'} 750 | 751 | is-array-buffer@3.0.4: 752 | resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} 753 | engines: {node: '>= 0.4'} 754 | 755 | is-bigint@1.0.4: 756 | resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} 757 | 758 | is-boolean-object@1.1.2: 759 | resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} 760 | engines: {node: '>= 0.4'} 761 | 762 | is-callable@1.2.7: 763 | resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} 764 | engines: {node: '>= 0.4'} 765 | 766 | is-core-module@2.15.1: 767 | resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} 768 | engines: {node: '>= 0.4'} 769 | 770 | is-data-view@1.0.1: 771 | resolution: {integrity: sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==} 772 | engines: {node: '>= 0.4'} 773 | 774 | is-date-object@1.0.5: 775 | resolution: {integrity: sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==} 776 | engines: {node: '>= 0.4'} 777 | 778 | is-extglob@2.1.1: 779 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 780 | engines: {node: '>=0.10.0'} 781 | 782 | is-glob@4.0.3: 783 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 784 | engines: {node: '>=0.10.0'} 785 | 786 | is-negative-zero@2.0.3: 787 | resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} 788 | engines: {node: '>= 0.4'} 789 | 790 | is-number-object@1.0.7: 791 | resolution: {integrity: sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==} 792 | engines: {node: '>= 0.4'} 793 | 794 | is-number@7.0.0: 795 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 796 | engines: {node: '>=0.12.0'} 797 | 798 | is-path-inside@3.0.3: 799 | resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} 800 | engines: {node: '>=8'} 801 | 802 | is-regex@1.1.4: 803 | resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} 804 | engines: {node: '>= 0.4'} 805 | 806 | is-shared-array-buffer@1.0.3: 807 | resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} 808 | engines: {node: '>= 0.4'} 809 | 810 | is-string@1.0.7: 811 | resolution: {integrity: sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==} 812 | engines: {node: '>= 0.4'} 813 | 814 | is-symbol@1.0.4: 815 | resolution: {integrity: sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==} 816 | engines: {node: '>= 0.4'} 817 | 818 | is-typed-array@1.1.13: 819 | resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} 820 | engines: {node: '>= 0.4'} 821 | 822 | is-weakref@1.0.2: 823 | resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} 824 | 825 | isarray@2.0.5: 826 | resolution: {integrity: sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==} 827 | 828 | isexe@2.0.0: 829 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 830 | 831 | js-yaml@4.1.0: 832 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 833 | hasBin: true 834 | 835 | json-buffer@3.0.1: 836 | resolution: {integrity: sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==} 837 | 838 | json-schema-traverse@0.4.1: 839 | resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} 840 | 841 | json-stable-stringify-without-jsonify@1.0.1: 842 | resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} 843 | 844 | json5@1.0.2: 845 | resolution: {integrity: sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==} 846 | hasBin: true 847 | 848 | keyv@4.5.4: 849 | resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} 850 | 851 | levn@0.4.1: 852 | resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} 853 | engines: {node: '>= 0.8.0'} 854 | 855 | lilconfig@3.1.2: 856 | resolution: {integrity: sha512-eop+wDAvpItUys0FWkHIKeC9ybYrTGbU41U5K7+bttZZeohvnY7M9dZ5kB21GNWiFT2q1OoPTvncPCgSOVO5ow==} 857 | engines: {node: '>=14'} 858 | 859 | locate-path@6.0.0: 860 | resolution: {integrity: sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==} 861 | engines: {node: '>=10'} 862 | 863 | lodash.merge@4.6.2: 864 | resolution: {integrity: sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==} 865 | 866 | merge2@1.4.1: 867 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 868 | engines: {node: '>= 8'} 869 | 870 | micromatch@4.0.8: 871 | resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} 872 | engines: {node: '>=8.6'} 873 | 874 | minimatch@10.0.1: 875 | resolution: {integrity: sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==} 876 | engines: {node: 20 || >=22} 877 | 878 | minimatch@3.1.2: 879 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 880 | 881 | minimatch@9.0.5: 882 | resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} 883 | engines: {node: '>=16 || 14 >=14.17'} 884 | 885 | minimist@1.2.8: 886 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 887 | 888 | ms@2.1.2: 889 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 890 | 891 | ms@2.1.3: 892 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 893 | 894 | natural-compare-lite@1.4.0: 895 | resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} 896 | 897 | natural-compare@1.4.0: 898 | resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} 899 | 900 | object-inspect@1.13.2: 901 | resolution: {integrity: sha512-IRZSRuzJiynemAXPYtPe5BoI/RESNYR7TYm50MC5Mqbd3Jmw5y790sErYw3V6SryFJD64b74qQQs9wn5Bg/k3g==} 902 | engines: {node: '>= 0.4'} 903 | 904 | object-keys@1.1.1: 905 | resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} 906 | engines: {node: '>= 0.4'} 907 | 908 | object.assign@4.1.5: 909 | resolution: {integrity: sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==} 910 | engines: {node: '>= 0.4'} 911 | 912 | object.fromentries@2.0.8: 913 | resolution: {integrity: sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==} 914 | engines: {node: '>= 0.4'} 915 | 916 | object.groupby@1.0.3: 917 | resolution: {integrity: sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==} 918 | engines: {node: '>= 0.4'} 919 | 920 | object.values@1.2.0: 921 | resolution: {integrity: sha512-yBYjY9QX2hnRmZHAjG/f13MzmBzxzYgQhFrke06TTyKY5zSTEqkOeukBzIdVA3j3ulu8Qa3MbVFShV7T2RmGtQ==} 922 | engines: {node: '>= 0.4'} 923 | 924 | optionator@0.9.4: 925 | resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} 926 | engines: {node: '>= 0.8.0'} 927 | 928 | p-limit@3.1.0: 929 | resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} 930 | engines: {node: '>=10'} 931 | 932 | p-locate@5.0.0: 933 | resolution: {integrity: sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==} 934 | engines: {node: '>=10'} 935 | 936 | parent-module@1.0.1: 937 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 938 | engines: {node: '>=6'} 939 | 940 | path-exists@4.0.0: 941 | resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} 942 | engines: {node: '>=8'} 943 | 944 | path-key@3.1.1: 945 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 946 | engines: {node: '>=8'} 947 | 948 | path-parse@1.0.7: 949 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 950 | 951 | path-type@4.0.0: 952 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 953 | engines: {node: '>=8'} 954 | 955 | picomatch@2.3.1: 956 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 957 | engines: {node: '>=8.6'} 958 | 959 | possible-typed-array-names@1.0.0: 960 | resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} 961 | engines: {node: '>= 0.4'} 962 | 963 | prelude-ls@1.2.1: 964 | resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} 965 | engines: {node: '>= 0.8.0'} 966 | 967 | punycode@2.3.1: 968 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 969 | engines: {node: '>=6'} 970 | 971 | queue-microtask@1.2.3: 972 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 973 | 974 | regexp.prototype.flags@1.5.2: 975 | resolution: {integrity: sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==} 976 | engines: {node: '>= 0.4'} 977 | 978 | requireindex@1.2.0: 979 | resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} 980 | engines: {node: '>=0.10.5'} 981 | 982 | resolve-from@4.0.0: 983 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 984 | engines: {node: '>=4'} 985 | 986 | resolve-pkg-maps@1.0.0: 987 | resolution: {integrity: sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==} 988 | 989 | resolve@1.22.8: 990 | resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} 991 | hasBin: true 992 | 993 | reusify@1.0.4: 994 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 995 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 996 | 997 | run-parallel@1.2.0: 998 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 999 | 1000 | safe-array-concat@1.1.2: 1001 | resolution: {integrity: sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==} 1002 | engines: {node: '>=0.4'} 1003 | 1004 | safe-regex-test@1.0.3: 1005 | resolution: {integrity: sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==} 1006 | engines: {node: '>= 0.4'} 1007 | 1008 | semver@6.3.1: 1009 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1010 | hasBin: true 1011 | 1012 | semver@7.6.3: 1013 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 1014 | engines: {node: '>=10'} 1015 | hasBin: true 1016 | 1017 | set-function-length@1.2.2: 1018 | resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} 1019 | engines: {node: '>= 0.4'} 1020 | 1021 | set-function-name@2.0.2: 1022 | resolution: {integrity: sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==} 1023 | engines: {node: '>= 0.4'} 1024 | 1025 | shebang-command@2.0.0: 1026 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1027 | engines: {node: '>=8'} 1028 | 1029 | shebang-regex@3.0.0: 1030 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1031 | engines: {node: '>=8'} 1032 | 1033 | side-channel@1.0.6: 1034 | resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} 1035 | engines: {node: '>= 0.4'} 1036 | 1037 | slash@3.0.0: 1038 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1039 | engines: {node: '>=8'} 1040 | 1041 | string.prototype.trim@1.2.9: 1042 | resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} 1043 | engines: {node: '>= 0.4'} 1044 | 1045 | string.prototype.trimend@1.0.8: 1046 | resolution: {integrity: sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==} 1047 | 1048 | string.prototype.trimstart@1.0.8: 1049 | resolution: {integrity: sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==} 1050 | engines: {node: '>= 0.4'} 1051 | 1052 | strip-ansi@6.0.1: 1053 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1054 | engines: {node: '>=8'} 1055 | 1056 | strip-bom@3.0.0: 1057 | resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} 1058 | engines: {node: '>=4'} 1059 | 1060 | strip-json-comments@3.1.1: 1061 | resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} 1062 | engines: {node: '>=8'} 1063 | 1064 | supports-color@7.2.0: 1065 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1066 | engines: {node: '>=8'} 1067 | 1068 | supports-preserve-symlinks-flag@1.0.0: 1069 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1070 | engines: {node: '>= 0.4'} 1071 | 1072 | tapable@2.2.1: 1073 | resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} 1074 | engines: {node: '>=6'} 1075 | 1076 | text-table@0.2.0: 1077 | resolution: {integrity: sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==} 1078 | 1079 | to-regex-range@5.0.1: 1080 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1081 | engines: {node: '>=8.0'} 1082 | 1083 | ts-api-utils@1.3.0: 1084 | resolution: {integrity: sha512-UQMIo7pb8WRomKR1/+MFVLTroIvDVtMX3K6OUir8ynLyzB8Jeriont2bTAtmNPa1ekAgN7YPDyf6V+ygrdU+eQ==} 1085 | engines: {node: '>=16'} 1086 | peerDependencies: 1087 | typescript: '>=4.2.0' 1088 | 1089 | tsconfig-paths@3.15.0: 1090 | resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} 1091 | 1092 | tsx@4.17.0: 1093 | resolution: {integrity: sha512-eN4mnDA5UMKDt4YZixo9tBioibaMBpoxBkD+rIPAjVmYERSG0/dWEY1CEFuV89CgASlKL499q8AhmkMnnjtOJg==} 1094 | engines: {node: '>=18.0.0'} 1095 | hasBin: true 1096 | 1097 | type-check@0.4.0: 1098 | resolution: {integrity: sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==} 1099 | engines: {node: '>= 0.8.0'} 1100 | 1101 | typed-array-buffer@1.0.2: 1102 | resolution: {integrity: sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==} 1103 | engines: {node: '>= 0.4'} 1104 | 1105 | typed-array-byte-length@1.0.1: 1106 | resolution: {integrity: sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==} 1107 | engines: {node: '>= 0.4'} 1108 | 1109 | typed-array-byte-offset@1.0.2: 1110 | resolution: {integrity: sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==} 1111 | engines: {node: '>= 0.4'} 1112 | 1113 | typed-array-length@1.0.6: 1114 | resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} 1115 | engines: {node: '>= 0.4'} 1116 | 1117 | typescript-eslint@8.2.0: 1118 | resolution: {integrity: sha512-DmnqaPcML0xYwUzgNbM1XaKXpEb7BShYf2P1tkUmmcl8hyeG7Pj08Er7R9bNy6AufabywzJcOybQAtnD/c9DGw==} 1119 | engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} 1120 | peerDependencies: 1121 | typescript: '*' 1122 | peerDependenciesMeta: 1123 | typescript: 1124 | optional: true 1125 | 1126 | typescript@5.5.4: 1127 | resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} 1128 | engines: {node: '>=14.17'} 1129 | hasBin: true 1130 | 1131 | unbox-primitive@1.0.2: 1132 | resolution: {integrity: sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==} 1133 | 1134 | uri-js@4.4.1: 1135 | resolution: {integrity: sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==} 1136 | 1137 | which-boxed-primitive@1.0.2: 1138 | resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} 1139 | 1140 | which-typed-array@1.1.15: 1141 | resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} 1142 | engines: {node: '>= 0.4'} 1143 | 1144 | which@2.0.2: 1145 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1146 | engines: {node: '>= 8'} 1147 | hasBin: true 1148 | 1149 | word-wrap@1.2.5: 1150 | resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} 1151 | engines: {node: '>=0.10.0'} 1152 | 1153 | yocto-queue@0.1.0: 1154 | resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} 1155 | engines: {node: '>=10'} 1156 | 1157 | snapshots: 1158 | 1159 | '@esbuild/aix-ppc64@0.23.1': 1160 | optional: true 1161 | 1162 | '@esbuild/android-arm64@0.23.1': 1163 | optional: true 1164 | 1165 | '@esbuild/android-arm@0.23.1': 1166 | optional: true 1167 | 1168 | '@esbuild/android-x64@0.23.1': 1169 | optional: true 1170 | 1171 | '@esbuild/darwin-arm64@0.23.1': 1172 | optional: true 1173 | 1174 | '@esbuild/darwin-x64@0.23.1': 1175 | optional: true 1176 | 1177 | '@esbuild/freebsd-arm64@0.23.1': 1178 | optional: true 1179 | 1180 | '@esbuild/freebsd-x64@0.23.1': 1181 | optional: true 1182 | 1183 | '@esbuild/linux-arm64@0.23.1': 1184 | optional: true 1185 | 1186 | '@esbuild/linux-arm@0.23.1': 1187 | optional: true 1188 | 1189 | '@esbuild/linux-ia32@0.23.1': 1190 | optional: true 1191 | 1192 | '@esbuild/linux-loong64@0.23.1': 1193 | optional: true 1194 | 1195 | '@esbuild/linux-mips64el@0.23.1': 1196 | optional: true 1197 | 1198 | '@esbuild/linux-ppc64@0.23.1': 1199 | optional: true 1200 | 1201 | '@esbuild/linux-riscv64@0.23.1': 1202 | optional: true 1203 | 1204 | '@esbuild/linux-s390x@0.23.1': 1205 | optional: true 1206 | 1207 | '@esbuild/linux-x64@0.23.1': 1208 | optional: true 1209 | 1210 | '@esbuild/netbsd-x64@0.23.1': 1211 | optional: true 1212 | 1213 | '@esbuild/openbsd-arm64@0.23.1': 1214 | optional: true 1215 | 1216 | '@esbuild/openbsd-x64@0.23.1': 1217 | optional: true 1218 | 1219 | '@esbuild/sunos-x64@0.23.1': 1220 | optional: true 1221 | 1222 | '@esbuild/win32-arm64@0.23.1': 1223 | optional: true 1224 | 1225 | '@esbuild/win32-ia32@0.23.1': 1226 | optional: true 1227 | 1228 | '@esbuild/win32-x64@0.23.1': 1229 | optional: true 1230 | 1231 | '@eslint-community/eslint-utils@4.4.0(eslint@9.9.1)': 1232 | dependencies: 1233 | eslint: 9.9.1 1234 | eslint-visitor-keys: 3.4.3 1235 | 1236 | '@eslint-community/regexpp@4.11.0': {} 1237 | 1238 | '@eslint/config-array@0.18.0': 1239 | dependencies: 1240 | '@eslint/object-schema': 2.1.4 1241 | debug: 4.3.6 1242 | minimatch: 3.1.2 1243 | transitivePeerDependencies: 1244 | - supports-color 1245 | 1246 | '@eslint/eslintrc@3.1.0': 1247 | dependencies: 1248 | ajv: 6.12.6 1249 | debug: 4.3.6 1250 | espree: 10.1.0 1251 | globals: 14.0.0 1252 | ignore: 5.3.2 1253 | import-fresh: 3.3.0 1254 | js-yaml: 4.1.0 1255 | minimatch: 3.1.2 1256 | strip-json-comments: 3.1.1 1257 | transitivePeerDependencies: 1258 | - supports-color 1259 | 1260 | '@eslint/js@9.9.1': {} 1261 | 1262 | '@eslint/object-schema@2.1.4': {} 1263 | 1264 | '@humanwhocodes/module-importer@1.0.1': {} 1265 | 1266 | '@humanwhocodes/retry@0.3.0': {} 1267 | 1268 | '@logux/eslint-config@53.4.0(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)': 1269 | dependencies: 1270 | '@eslint/eslintrc': 3.1.0 1271 | eslint: 9.9.1 1272 | eslint-config-standard: 17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1))(eslint-plugin-n@17.10.2(eslint@9.9.1))(eslint-plugin-promise@7.1.0(eslint@9.9.1))(eslint@9.9.1) 1273 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1) 1274 | eslint-plugin-n: 17.10.2(eslint@9.9.1) 1275 | eslint-plugin-perfectionist: 3.2.0(eslint@9.9.1)(typescript@5.5.4) 1276 | eslint-plugin-prefer-let: 4.0.0 1277 | eslint-plugin-promise: 7.1.0(eslint@9.9.1) 1278 | typescript-eslint: 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1279 | transitivePeerDependencies: 1280 | - '@typescript-eslint/parser' 1281 | - astro-eslint-parser 1282 | - eslint-import-resolver-typescript 1283 | - eslint-import-resolver-webpack 1284 | - supports-color 1285 | - svelte-eslint-parser 1286 | - typescript 1287 | - vue-eslint-parser 1288 | 1289 | '@nodelib/fs.scandir@2.1.5': 1290 | dependencies: 1291 | '@nodelib/fs.stat': 2.0.5 1292 | run-parallel: 1.2.0 1293 | 1294 | '@nodelib/fs.stat@2.0.5': {} 1295 | 1296 | '@nodelib/fs.walk@1.2.8': 1297 | dependencies: 1298 | '@nodelib/fs.scandir': 2.1.5 1299 | fastq: 1.17.1 1300 | 1301 | '@types/json5@0.0.29': {} 1302 | 1303 | '@typescript-eslint/eslint-plugin@8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4)': 1304 | dependencies: 1305 | '@eslint-community/regexpp': 4.11.0 1306 | '@typescript-eslint/parser': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1307 | '@typescript-eslint/scope-manager': 8.2.0 1308 | '@typescript-eslint/type-utils': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1309 | '@typescript-eslint/utils': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1310 | '@typescript-eslint/visitor-keys': 8.2.0 1311 | eslint: 9.9.1 1312 | graphemer: 1.4.0 1313 | ignore: 5.3.2 1314 | natural-compare: 1.4.0 1315 | ts-api-utils: 1.3.0(typescript@5.5.4) 1316 | optionalDependencies: 1317 | typescript: 5.5.4 1318 | transitivePeerDependencies: 1319 | - supports-color 1320 | 1321 | '@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4)': 1322 | dependencies: 1323 | '@typescript-eslint/scope-manager': 8.2.0 1324 | '@typescript-eslint/types': 8.2.0 1325 | '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) 1326 | '@typescript-eslint/visitor-keys': 8.2.0 1327 | debug: 4.3.6 1328 | eslint: 9.9.1 1329 | optionalDependencies: 1330 | typescript: 5.5.4 1331 | transitivePeerDependencies: 1332 | - supports-color 1333 | 1334 | '@typescript-eslint/scope-manager@8.2.0': 1335 | dependencies: 1336 | '@typescript-eslint/types': 8.2.0 1337 | '@typescript-eslint/visitor-keys': 8.2.0 1338 | 1339 | '@typescript-eslint/type-utils@8.2.0(eslint@9.9.1)(typescript@5.5.4)': 1340 | dependencies: 1341 | '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) 1342 | '@typescript-eslint/utils': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1343 | debug: 4.3.6 1344 | ts-api-utils: 1.3.0(typescript@5.5.4) 1345 | optionalDependencies: 1346 | typescript: 5.5.4 1347 | transitivePeerDependencies: 1348 | - eslint 1349 | - supports-color 1350 | 1351 | '@typescript-eslint/types@8.2.0': {} 1352 | 1353 | '@typescript-eslint/typescript-estree@8.2.0(typescript@5.5.4)': 1354 | dependencies: 1355 | '@typescript-eslint/types': 8.2.0 1356 | '@typescript-eslint/visitor-keys': 8.2.0 1357 | debug: 4.3.6 1358 | globby: 11.1.0 1359 | is-glob: 4.0.3 1360 | minimatch: 9.0.5 1361 | semver: 7.6.3 1362 | ts-api-utils: 1.3.0(typescript@5.5.4) 1363 | optionalDependencies: 1364 | typescript: 5.5.4 1365 | transitivePeerDependencies: 1366 | - supports-color 1367 | 1368 | '@typescript-eslint/utils@8.2.0(eslint@9.9.1)(typescript@5.5.4)': 1369 | dependencies: 1370 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) 1371 | '@typescript-eslint/scope-manager': 8.2.0 1372 | '@typescript-eslint/types': 8.2.0 1373 | '@typescript-eslint/typescript-estree': 8.2.0(typescript@5.5.4) 1374 | eslint: 9.9.1 1375 | transitivePeerDependencies: 1376 | - supports-color 1377 | - typescript 1378 | 1379 | '@typescript-eslint/visitor-keys@8.2.0': 1380 | dependencies: 1381 | '@typescript-eslint/types': 8.2.0 1382 | eslint-visitor-keys: 3.4.3 1383 | 1384 | acorn-jsx@5.3.2(acorn@8.12.1): 1385 | dependencies: 1386 | acorn: 8.12.1 1387 | 1388 | acorn@8.12.1: {} 1389 | 1390 | ajv@6.12.6: 1391 | dependencies: 1392 | fast-deep-equal: 3.1.3 1393 | fast-json-stable-stringify: 2.1.0 1394 | json-schema-traverse: 0.4.1 1395 | uri-js: 4.4.1 1396 | 1397 | ansi-regex@5.0.1: {} 1398 | 1399 | ansi-styles@4.3.0: 1400 | dependencies: 1401 | color-convert: 2.0.1 1402 | 1403 | argparse@2.0.1: {} 1404 | 1405 | array-buffer-byte-length@1.0.1: 1406 | dependencies: 1407 | call-bind: 1.0.7 1408 | is-array-buffer: 3.0.4 1409 | 1410 | array-includes@3.1.8: 1411 | dependencies: 1412 | call-bind: 1.0.7 1413 | define-properties: 1.2.1 1414 | es-abstract: 1.23.3 1415 | es-object-atoms: 1.0.0 1416 | get-intrinsic: 1.2.4 1417 | is-string: 1.0.7 1418 | 1419 | array-union@2.1.0: {} 1420 | 1421 | array.prototype.findlastindex@1.2.5: 1422 | dependencies: 1423 | call-bind: 1.0.7 1424 | define-properties: 1.2.1 1425 | es-abstract: 1.23.3 1426 | es-errors: 1.3.0 1427 | es-object-atoms: 1.0.0 1428 | es-shim-unscopables: 1.0.2 1429 | 1430 | array.prototype.flat@1.3.2: 1431 | dependencies: 1432 | call-bind: 1.0.7 1433 | define-properties: 1.2.1 1434 | es-abstract: 1.23.3 1435 | es-shim-unscopables: 1.0.2 1436 | 1437 | array.prototype.flatmap@1.3.2: 1438 | dependencies: 1439 | call-bind: 1.0.7 1440 | define-properties: 1.2.1 1441 | es-abstract: 1.23.3 1442 | es-shim-unscopables: 1.0.2 1443 | 1444 | arraybuffer.prototype.slice@1.0.3: 1445 | dependencies: 1446 | array-buffer-byte-length: 1.0.1 1447 | call-bind: 1.0.7 1448 | define-properties: 1.2.1 1449 | es-abstract: 1.23.3 1450 | es-errors: 1.3.0 1451 | get-intrinsic: 1.2.4 1452 | is-array-buffer: 3.0.4 1453 | is-shared-array-buffer: 1.0.3 1454 | 1455 | available-typed-arrays@1.0.7: 1456 | dependencies: 1457 | possible-typed-array-names: 1.0.0 1458 | 1459 | balanced-match@1.0.2: {} 1460 | 1461 | brace-expansion@1.1.11: 1462 | dependencies: 1463 | balanced-match: 1.0.2 1464 | concat-map: 0.0.1 1465 | 1466 | brace-expansion@2.0.1: 1467 | dependencies: 1468 | balanced-match: 1.0.2 1469 | 1470 | braces@3.0.3: 1471 | dependencies: 1472 | fill-range: 7.1.1 1473 | 1474 | call-bind@1.0.7: 1475 | dependencies: 1476 | es-define-property: 1.0.0 1477 | es-errors: 1.3.0 1478 | function-bind: 1.1.2 1479 | get-intrinsic: 1.2.4 1480 | set-function-length: 1.2.2 1481 | 1482 | callsites@3.1.0: {} 1483 | 1484 | chalk@4.1.2: 1485 | dependencies: 1486 | ansi-styles: 4.3.0 1487 | supports-color: 7.2.0 1488 | 1489 | clean-publish@5.0.0: 1490 | dependencies: 1491 | cross-spawn: 7.0.3 1492 | fast-glob: 3.3.2 1493 | lilconfig: 3.1.2 1494 | micromatch: 4.0.8 1495 | 1496 | color-convert@2.0.1: 1497 | dependencies: 1498 | color-name: 1.1.4 1499 | 1500 | color-name@1.1.4: {} 1501 | 1502 | concat-map@0.0.1: {} 1503 | 1504 | cross-spawn@7.0.3: 1505 | dependencies: 1506 | path-key: 3.1.1 1507 | shebang-command: 2.0.0 1508 | which: 2.0.2 1509 | 1510 | data-view-buffer@1.0.1: 1511 | dependencies: 1512 | call-bind: 1.0.7 1513 | es-errors: 1.3.0 1514 | is-data-view: 1.0.1 1515 | 1516 | data-view-byte-length@1.0.1: 1517 | dependencies: 1518 | call-bind: 1.0.7 1519 | es-errors: 1.3.0 1520 | is-data-view: 1.0.1 1521 | 1522 | data-view-byte-offset@1.0.0: 1523 | dependencies: 1524 | call-bind: 1.0.7 1525 | es-errors: 1.3.0 1526 | is-data-view: 1.0.1 1527 | 1528 | debug@3.2.7: 1529 | dependencies: 1530 | ms: 2.1.3 1531 | 1532 | debug@4.3.6: 1533 | dependencies: 1534 | ms: 2.1.2 1535 | 1536 | deep-is@0.1.4: {} 1537 | 1538 | define-data-property@1.1.4: 1539 | dependencies: 1540 | es-define-property: 1.0.0 1541 | es-errors: 1.3.0 1542 | gopd: 1.0.1 1543 | 1544 | define-properties@1.2.1: 1545 | dependencies: 1546 | define-data-property: 1.1.4 1547 | has-property-descriptors: 1.0.2 1548 | object-keys: 1.1.1 1549 | 1550 | dir-glob@3.0.1: 1551 | dependencies: 1552 | path-type: 4.0.0 1553 | 1554 | doctrine@2.1.0: 1555 | dependencies: 1556 | esutils: 2.0.3 1557 | 1558 | enhanced-resolve@5.17.1: 1559 | dependencies: 1560 | graceful-fs: 4.2.11 1561 | tapable: 2.2.1 1562 | 1563 | es-abstract@1.23.3: 1564 | dependencies: 1565 | array-buffer-byte-length: 1.0.1 1566 | arraybuffer.prototype.slice: 1.0.3 1567 | available-typed-arrays: 1.0.7 1568 | call-bind: 1.0.7 1569 | data-view-buffer: 1.0.1 1570 | data-view-byte-length: 1.0.1 1571 | data-view-byte-offset: 1.0.0 1572 | es-define-property: 1.0.0 1573 | es-errors: 1.3.0 1574 | es-object-atoms: 1.0.0 1575 | es-set-tostringtag: 2.0.3 1576 | es-to-primitive: 1.2.1 1577 | function.prototype.name: 1.1.6 1578 | get-intrinsic: 1.2.4 1579 | get-symbol-description: 1.0.2 1580 | globalthis: 1.0.4 1581 | gopd: 1.0.1 1582 | has-property-descriptors: 1.0.2 1583 | has-proto: 1.0.3 1584 | has-symbols: 1.0.3 1585 | hasown: 2.0.2 1586 | internal-slot: 1.0.7 1587 | is-array-buffer: 3.0.4 1588 | is-callable: 1.2.7 1589 | is-data-view: 1.0.1 1590 | is-negative-zero: 2.0.3 1591 | is-regex: 1.1.4 1592 | is-shared-array-buffer: 1.0.3 1593 | is-string: 1.0.7 1594 | is-typed-array: 1.1.13 1595 | is-weakref: 1.0.2 1596 | object-inspect: 1.13.2 1597 | object-keys: 1.1.1 1598 | object.assign: 4.1.5 1599 | regexp.prototype.flags: 1.5.2 1600 | safe-array-concat: 1.1.2 1601 | safe-regex-test: 1.0.3 1602 | string.prototype.trim: 1.2.9 1603 | string.prototype.trimend: 1.0.8 1604 | string.prototype.trimstart: 1.0.8 1605 | typed-array-buffer: 1.0.2 1606 | typed-array-byte-length: 1.0.1 1607 | typed-array-byte-offset: 1.0.2 1608 | typed-array-length: 1.0.6 1609 | unbox-primitive: 1.0.2 1610 | which-typed-array: 1.1.15 1611 | 1612 | es-define-property@1.0.0: 1613 | dependencies: 1614 | get-intrinsic: 1.2.4 1615 | 1616 | es-errors@1.3.0: {} 1617 | 1618 | es-object-atoms@1.0.0: 1619 | dependencies: 1620 | es-errors: 1.3.0 1621 | 1622 | es-set-tostringtag@2.0.3: 1623 | dependencies: 1624 | get-intrinsic: 1.2.4 1625 | has-tostringtag: 1.0.2 1626 | hasown: 2.0.2 1627 | 1628 | es-shim-unscopables@1.0.2: 1629 | dependencies: 1630 | hasown: 2.0.2 1631 | 1632 | es-to-primitive@1.2.1: 1633 | dependencies: 1634 | is-callable: 1.2.7 1635 | is-date-object: 1.0.5 1636 | is-symbol: 1.0.4 1637 | 1638 | esbuild@0.23.1: 1639 | optionalDependencies: 1640 | '@esbuild/aix-ppc64': 0.23.1 1641 | '@esbuild/android-arm': 0.23.1 1642 | '@esbuild/android-arm64': 0.23.1 1643 | '@esbuild/android-x64': 0.23.1 1644 | '@esbuild/darwin-arm64': 0.23.1 1645 | '@esbuild/darwin-x64': 0.23.1 1646 | '@esbuild/freebsd-arm64': 0.23.1 1647 | '@esbuild/freebsd-x64': 0.23.1 1648 | '@esbuild/linux-arm': 0.23.1 1649 | '@esbuild/linux-arm64': 0.23.1 1650 | '@esbuild/linux-ia32': 0.23.1 1651 | '@esbuild/linux-loong64': 0.23.1 1652 | '@esbuild/linux-mips64el': 0.23.1 1653 | '@esbuild/linux-ppc64': 0.23.1 1654 | '@esbuild/linux-riscv64': 0.23.1 1655 | '@esbuild/linux-s390x': 0.23.1 1656 | '@esbuild/linux-x64': 0.23.1 1657 | '@esbuild/netbsd-x64': 0.23.1 1658 | '@esbuild/openbsd-arm64': 0.23.1 1659 | '@esbuild/openbsd-x64': 0.23.1 1660 | '@esbuild/sunos-x64': 0.23.1 1661 | '@esbuild/win32-arm64': 0.23.1 1662 | '@esbuild/win32-ia32': 0.23.1 1663 | '@esbuild/win32-x64': 0.23.1 1664 | 1665 | escape-string-regexp@4.0.0: {} 1666 | 1667 | eslint-compat-utils@0.5.1(eslint@9.9.1): 1668 | dependencies: 1669 | eslint: 9.9.1 1670 | semver: 7.6.3 1671 | 1672 | eslint-config-standard@17.1.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1))(eslint-plugin-n@17.10.2(eslint@9.9.1))(eslint-plugin-promise@7.1.0(eslint@9.9.1))(eslint@9.9.1): 1673 | dependencies: 1674 | eslint: 9.9.1 1675 | eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1) 1676 | eslint-plugin-n: 17.10.2(eslint@9.9.1) 1677 | eslint-plugin-promise: 7.1.0(eslint@9.9.1) 1678 | 1679 | eslint-import-resolver-node@0.3.9: 1680 | dependencies: 1681 | debug: 3.2.7 1682 | is-core-module: 2.15.1 1683 | resolve: 1.22.8 1684 | transitivePeerDependencies: 1685 | - supports-color 1686 | 1687 | eslint-module-utils@2.8.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1): 1688 | dependencies: 1689 | debug: 3.2.7 1690 | optionalDependencies: 1691 | '@typescript-eslint/parser': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1692 | eslint: 9.9.1 1693 | eslint-import-resolver-node: 0.3.9 1694 | transitivePeerDependencies: 1695 | - supports-color 1696 | 1697 | eslint-plugin-es-x@7.8.0(eslint@9.9.1): 1698 | dependencies: 1699 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) 1700 | '@eslint-community/regexpp': 4.11.0 1701 | eslint: 9.9.1 1702 | eslint-compat-utils: 0.5.1(eslint@9.9.1) 1703 | 1704 | eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1): 1705 | dependencies: 1706 | array-includes: 3.1.8 1707 | array.prototype.findlastindex: 1.2.5 1708 | array.prototype.flat: 1.3.2 1709 | array.prototype.flatmap: 1.3.2 1710 | debug: 3.2.7 1711 | doctrine: 2.1.0 1712 | eslint: 9.9.1 1713 | eslint-import-resolver-node: 0.3.9 1714 | eslint-module-utils: 2.8.1(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@9.9.1) 1715 | hasown: 2.0.2 1716 | is-core-module: 2.15.1 1717 | is-glob: 4.0.3 1718 | minimatch: 3.1.2 1719 | object.fromentries: 2.0.8 1720 | object.groupby: 1.0.3 1721 | object.values: 1.2.0 1722 | semver: 6.3.1 1723 | tsconfig-paths: 3.15.0 1724 | optionalDependencies: 1725 | '@typescript-eslint/parser': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1726 | transitivePeerDependencies: 1727 | - eslint-import-resolver-typescript 1728 | - eslint-import-resolver-webpack 1729 | - supports-color 1730 | 1731 | eslint-plugin-n@17.10.2(eslint@9.9.1): 1732 | dependencies: 1733 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) 1734 | enhanced-resolve: 5.17.1 1735 | eslint: 9.9.1 1736 | eslint-plugin-es-x: 7.8.0(eslint@9.9.1) 1737 | get-tsconfig: 4.7.6 1738 | globals: 15.9.0 1739 | ignore: 5.3.2 1740 | minimatch: 9.0.5 1741 | semver: 7.6.3 1742 | 1743 | eslint-plugin-perfectionist@3.2.0(eslint@9.9.1)(typescript@5.5.4): 1744 | dependencies: 1745 | '@typescript-eslint/types': 8.2.0 1746 | '@typescript-eslint/utils': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 1747 | eslint: 9.9.1 1748 | minimatch: 10.0.1 1749 | natural-compare-lite: 1.4.0 1750 | transitivePeerDependencies: 1751 | - supports-color 1752 | - typescript 1753 | 1754 | eslint-plugin-prefer-let@4.0.0: 1755 | dependencies: 1756 | requireindex: 1.2.0 1757 | 1758 | eslint-plugin-promise@7.1.0(eslint@9.9.1): 1759 | dependencies: 1760 | eslint: 9.9.1 1761 | 1762 | eslint-scope@8.0.2: 1763 | dependencies: 1764 | esrecurse: 4.3.0 1765 | estraverse: 5.3.0 1766 | 1767 | eslint-visitor-keys@3.4.3: {} 1768 | 1769 | eslint-visitor-keys@4.0.0: {} 1770 | 1771 | eslint@9.9.1: 1772 | dependencies: 1773 | '@eslint-community/eslint-utils': 4.4.0(eslint@9.9.1) 1774 | '@eslint-community/regexpp': 4.11.0 1775 | '@eslint/config-array': 0.18.0 1776 | '@eslint/eslintrc': 3.1.0 1777 | '@eslint/js': 9.9.1 1778 | '@humanwhocodes/module-importer': 1.0.1 1779 | '@humanwhocodes/retry': 0.3.0 1780 | '@nodelib/fs.walk': 1.2.8 1781 | ajv: 6.12.6 1782 | chalk: 4.1.2 1783 | cross-spawn: 7.0.3 1784 | debug: 4.3.6 1785 | escape-string-regexp: 4.0.0 1786 | eslint-scope: 8.0.2 1787 | eslint-visitor-keys: 4.0.0 1788 | espree: 10.1.0 1789 | esquery: 1.6.0 1790 | esutils: 2.0.3 1791 | fast-deep-equal: 3.1.3 1792 | file-entry-cache: 8.0.0 1793 | find-up: 5.0.0 1794 | glob-parent: 6.0.2 1795 | ignore: 5.3.2 1796 | imurmurhash: 0.1.4 1797 | is-glob: 4.0.3 1798 | is-path-inside: 3.0.3 1799 | json-stable-stringify-without-jsonify: 1.0.1 1800 | levn: 0.4.1 1801 | lodash.merge: 4.6.2 1802 | minimatch: 3.1.2 1803 | natural-compare: 1.4.0 1804 | optionator: 0.9.4 1805 | strip-ansi: 6.0.1 1806 | text-table: 0.2.0 1807 | transitivePeerDependencies: 1808 | - supports-color 1809 | 1810 | espree@10.1.0: 1811 | dependencies: 1812 | acorn: 8.12.1 1813 | acorn-jsx: 5.3.2(acorn@8.12.1) 1814 | eslint-visitor-keys: 4.0.0 1815 | 1816 | esquery@1.6.0: 1817 | dependencies: 1818 | estraverse: 5.3.0 1819 | 1820 | esrecurse@4.3.0: 1821 | dependencies: 1822 | estraverse: 5.3.0 1823 | 1824 | estraverse@5.3.0: {} 1825 | 1826 | esutils@2.0.3: {} 1827 | 1828 | fast-deep-equal@3.1.3: {} 1829 | 1830 | fast-glob@3.3.2: 1831 | dependencies: 1832 | '@nodelib/fs.stat': 2.0.5 1833 | '@nodelib/fs.walk': 1.2.8 1834 | glob-parent: 5.1.2 1835 | merge2: 1.4.1 1836 | micromatch: 4.0.8 1837 | 1838 | fast-json-stable-stringify@2.1.0: {} 1839 | 1840 | fast-levenshtein@2.0.6: {} 1841 | 1842 | fastq@1.17.1: 1843 | dependencies: 1844 | reusify: 1.0.4 1845 | 1846 | file-entry-cache@8.0.0: 1847 | dependencies: 1848 | flat-cache: 4.0.1 1849 | 1850 | fill-range@7.1.1: 1851 | dependencies: 1852 | to-regex-range: 5.0.1 1853 | 1854 | find-up@5.0.0: 1855 | dependencies: 1856 | locate-path: 6.0.0 1857 | path-exists: 4.0.0 1858 | 1859 | flat-cache@4.0.1: 1860 | dependencies: 1861 | flatted: 3.3.1 1862 | keyv: 4.5.4 1863 | 1864 | flatted@3.3.1: {} 1865 | 1866 | for-each@0.3.3: 1867 | dependencies: 1868 | is-callable: 1.2.7 1869 | 1870 | fsevents@2.3.3: 1871 | optional: true 1872 | 1873 | function-bind@1.1.2: {} 1874 | 1875 | function.prototype.name@1.1.6: 1876 | dependencies: 1877 | call-bind: 1.0.7 1878 | define-properties: 1.2.1 1879 | es-abstract: 1.23.3 1880 | functions-have-names: 1.2.3 1881 | 1882 | functions-have-names@1.2.3: {} 1883 | 1884 | get-intrinsic@1.2.4: 1885 | dependencies: 1886 | es-errors: 1.3.0 1887 | function-bind: 1.1.2 1888 | has-proto: 1.0.3 1889 | has-symbols: 1.0.3 1890 | hasown: 2.0.2 1891 | 1892 | get-symbol-description@1.0.2: 1893 | dependencies: 1894 | call-bind: 1.0.7 1895 | es-errors: 1.3.0 1896 | get-intrinsic: 1.2.4 1897 | 1898 | get-tsconfig@4.7.6: 1899 | dependencies: 1900 | resolve-pkg-maps: 1.0.0 1901 | 1902 | glob-parent@5.1.2: 1903 | dependencies: 1904 | is-glob: 4.0.3 1905 | 1906 | glob-parent@6.0.2: 1907 | dependencies: 1908 | is-glob: 4.0.3 1909 | 1910 | globals@14.0.0: {} 1911 | 1912 | globals@15.9.0: {} 1913 | 1914 | globalthis@1.0.4: 1915 | dependencies: 1916 | define-properties: 1.2.1 1917 | gopd: 1.0.1 1918 | 1919 | globby@11.1.0: 1920 | dependencies: 1921 | array-union: 2.1.0 1922 | dir-glob: 3.0.1 1923 | fast-glob: 3.3.2 1924 | ignore: 5.3.2 1925 | merge2: 1.4.1 1926 | slash: 3.0.0 1927 | 1928 | gopd@1.0.1: 1929 | dependencies: 1930 | get-intrinsic: 1.2.4 1931 | 1932 | graceful-fs@4.2.11: {} 1933 | 1934 | graphemer@1.4.0: {} 1935 | 1936 | has-bigints@1.0.2: {} 1937 | 1938 | has-flag@4.0.0: {} 1939 | 1940 | has-property-descriptors@1.0.2: 1941 | dependencies: 1942 | es-define-property: 1.0.0 1943 | 1944 | has-proto@1.0.3: {} 1945 | 1946 | has-symbols@1.0.3: {} 1947 | 1948 | has-tostringtag@1.0.2: 1949 | dependencies: 1950 | has-symbols: 1.0.3 1951 | 1952 | hasown@2.0.2: 1953 | dependencies: 1954 | function-bind: 1.1.2 1955 | 1956 | ignore@5.3.2: {} 1957 | 1958 | import-fresh@3.3.0: 1959 | dependencies: 1960 | parent-module: 1.0.1 1961 | resolve-from: 4.0.0 1962 | 1963 | imurmurhash@0.1.4: {} 1964 | 1965 | internal-slot@1.0.7: 1966 | dependencies: 1967 | es-errors: 1.3.0 1968 | hasown: 2.0.2 1969 | side-channel: 1.0.6 1970 | 1971 | is-array-buffer@3.0.4: 1972 | dependencies: 1973 | call-bind: 1.0.7 1974 | get-intrinsic: 1.2.4 1975 | 1976 | is-bigint@1.0.4: 1977 | dependencies: 1978 | has-bigints: 1.0.2 1979 | 1980 | is-boolean-object@1.1.2: 1981 | dependencies: 1982 | call-bind: 1.0.7 1983 | has-tostringtag: 1.0.2 1984 | 1985 | is-callable@1.2.7: {} 1986 | 1987 | is-core-module@2.15.1: 1988 | dependencies: 1989 | hasown: 2.0.2 1990 | 1991 | is-data-view@1.0.1: 1992 | dependencies: 1993 | is-typed-array: 1.1.13 1994 | 1995 | is-date-object@1.0.5: 1996 | dependencies: 1997 | has-tostringtag: 1.0.2 1998 | 1999 | is-extglob@2.1.1: {} 2000 | 2001 | is-glob@4.0.3: 2002 | dependencies: 2003 | is-extglob: 2.1.1 2004 | 2005 | is-negative-zero@2.0.3: {} 2006 | 2007 | is-number-object@1.0.7: 2008 | dependencies: 2009 | has-tostringtag: 1.0.2 2010 | 2011 | is-number@7.0.0: {} 2012 | 2013 | is-path-inside@3.0.3: {} 2014 | 2015 | is-regex@1.1.4: 2016 | dependencies: 2017 | call-bind: 1.0.7 2018 | has-tostringtag: 1.0.2 2019 | 2020 | is-shared-array-buffer@1.0.3: 2021 | dependencies: 2022 | call-bind: 1.0.7 2023 | 2024 | is-string@1.0.7: 2025 | dependencies: 2026 | has-tostringtag: 1.0.2 2027 | 2028 | is-symbol@1.0.4: 2029 | dependencies: 2030 | has-symbols: 1.0.3 2031 | 2032 | is-typed-array@1.1.13: 2033 | dependencies: 2034 | which-typed-array: 1.1.15 2035 | 2036 | is-weakref@1.0.2: 2037 | dependencies: 2038 | call-bind: 1.0.7 2039 | 2040 | isarray@2.0.5: {} 2041 | 2042 | isexe@2.0.0: {} 2043 | 2044 | js-yaml@4.1.0: 2045 | dependencies: 2046 | argparse: 2.0.1 2047 | 2048 | json-buffer@3.0.1: {} 2049 | 2050 | json-schema-traverse@0.4.1: {} 2051 | 2052 | json-stable-stringify-without-jsonify@1.0.1: {} 2053 | 2054 | json5@1.0.2: 2055 | dependencies: 2056 | minimist: 1.2.8 2057 | 2058 | keyv@4.5.4: 2059 | dependencies: 2060 | json-buffer: 3.0.1 2061 | 2062 | levn@0.4.1: 2063 | dependencies: 2064 | prelude-ls: 1.2.1 2065 | type-check: 0.4.0 2066 | 2067 | lilconfig@3.1.2: {} 2068 | 2069 | locate-path@6.0.0: 2070 | dependencies: 2071 | p-locate: 5.0.0 2072 | 2073 | lodash.merge@4.6.2: {} 2074 | 2075 | merge2@1.4.1: {} 2076 | 2077 | micromatch@4.0.8: 2078 | dependencies: 2079 | braces: 3.0.3 2080 | picomatch: 2.3.1 2081 | 2082 | minimatch@10.0.1: 2083 | dependencies: 2084 | brace-expansion: 2.0.1 2085 | 2086 | minimatch@3.1.2: 2087 | dependencies: 2088 | brace-expansion: 1.1.11 2089 | 2090 | minimatch@9.0.5: 2091 | dependencies: 2092 | brace-expansion: 2.0.1 2093 | 2094 | minimist@1.2.8: {} 2095 | 2096 | ms@2.1.2: {} 2097 | 2098 | ms@2.1.3: {} 2099 | 2100 | natural-compare-lite@1.4.0: {} 2101 | 2102 | natural-compare@1.4.0: {} 2103 | 2104 | object-inspect@1.13.2: {} 2105 | 2106 | object-keys@1.1.1: {} 2107 | 2108 | object.assign@4.1.5: 2109 | dependencies: 2110 | call-bind: 1.0.7 2111 | define-properties: 1.2.1 2112 | has-symbols: 1.0.3 2113 | object-keys: 1.1.1 2114 | 2115 | object.fromentries@2.0.8: 2116 | dependencies: 2117 | call-bind: 1.0.7 2118 | define-properties: 1.2.1 2119 | es-abstract: 1.23.3 2120 | es-object-atoms: 1.0.0 2121 | 2122 | object.groupby@1.0.3: 2123 | dependencies: 2124 | call-bind: 1.0.7 2125 | define-properties: 1.2.1 2126 | es-abstract: 1.23.3 2127 | 2128 | object.values@1.2.0: 2129 | dependencies: 2130 | call-bind: 1.0.7 2131 | define-properties: 1.2.1 2132 | es-object-atoms: 1.0.0 2133 | 2134 | optionator@0.9.4: 2135 | dependencies: 2136 | deep-is: 0.1.4 2137 | fast-levenshtein: 2.0.6 2138 | levn: 0.4.1 2139 | prelude-ls: 1.2.1 2140 | type-check: 0.4.0 2141 | word-wrap: 1.2.5 2142 | 2143 | p-limit@3.1.0: 2144 | dependencies: 2145 | yocto-queue: 0.1.0 2146 | 2147 | p-locate@5.0.0: 2148 | dependencies: 2149 | p-limit: 3.1.0 2150 | 2151 | parent-module@1.0.1: 2152 | dependencies: 2153 | callsites: 3.1.0 2154 | 2155 | path-exists@4.0.0: {} 2156 | 2157 | path-key@3.1.1: {} 2158 | 2159 | path-parse@1.0.7: {} 2160 | 2161 | path-type@4.0.0: {} 2162 | 2163 | picomatch@2.3.1: {} 2164 | 2165 | possible-typed-array-names@1.0.0: {} 2166 | 2167 | prelude-ls@1.2.1: {} 2168 | 2169 | punycode@2.3.1: {} 2170 | 2171 | queue-microtask@1.2.3: {} 2172 | 2173 | regexp.prototype.flags@1.5.2: 2174 | dependencies: 2175 | call-bind: 1.0.7 2176 | define-properties: 1.2.1 2177 | es-errors: 1.3.0 2178 | set-function-name: 2.0.2 2179 | 2180 | requireindex@1.2.0: {} 2181 | 2182 | resolve-from@4.0.0: {} 2183 | 2184 | resolve-pkg-maps@1.0.0: {} 2185 | 2186 | resolve@1.22.8: 2187 | dependencies: 2188 | is-core-module: 2.15.1 2189 | path-parse: 1.0.7 2190 | supports-preserve-symlinks-flag: 1.0.0 2191 | 2192 | reusify@1.0.4: {} 2193 | 2194 | run-parallel@1.2.0: 2195 | dependencies: 2196 | queue-microtask: 1.2.3 2197 | 2198 | safe-array-concat@1.1.2: 2199 | dependencies: 2200 | call-bind: 1.0.7 2201 | get-intrinsic: 1.2.4 2202 | has-symbols: 1.0.3 2203 | isarray: 2.0.5 2204 | 2205 | safe-regex-test@1.0.3: 2206 | dependencies: 2207 | call-bind: 1.0.7 2208 | es-errors: 1.3.0 2209 | is-regex: 1.1.4 2210 | 2211 | semver@6.3.1: {} 2212 | 2213 | semver@7.6.3: {} 2214 | 2215 | set-function-length@1.2.2: 2216 | dependencies: 2217 | define-data-property: 1.1.4 2218 | es-errors: 1.3.0 2219 | function-bind: 1.1.2 2220 | get-intrinsic: 1.2.4 2221 | gopd: 1.0.1 2222 | has-property-descriptors: 1.0.2 2223 | 2224 | set-function-name@2.0.2: 2225 | dependencies: 2226 | define-data-property: 1.1.4 2227 | es-errors: 1.3.0 2228 | functions-have-names: 1.2.3 2229 | has-property-descriptors: 1.0.2 2230 | 2231 | shebang-command@2.0.0: 2232 | dependencies: 2233 | shebang-regex: 3.0.0 2234 | 2235 | shebang-regex@3.0.0: {} 2236 | 2237 | side-channel@1.0.6: 2238 | dependencies: 2239 | call-bind: 1.0.7 2240 | es-errors: 1.3.0 2241 | get-intrinsic: 1.2.4 2242 | object-inspect: 1.13.2 2243 | 2244 | slash@3.0.0: {} 2245 | 2246 | string.prototype.trim@1.2.9: 2247 | dependencies: 2248 | call-bind: 1.0.7 2249 | define-properties: 1.2.1 2250 | es-abstract: 1.23.3 2251 | es-object-atoms: 1.0.0 2252 | 2253 | string.prototype.trimend@1.0.8: 2254 | dependencies: 2255 | call-bind: 1.0.7 2256 | define-properties: 1.2.1 2257 | es-object-atoms: 1.0.0 2258 | 2259 | string.prototype.trimstart@1.0.8: 2260 | dependencies: 2261 | call-bind: 1.0.7 2262 | define-properties: 1.2.1 2263 | es-object-atoms: 1.0.0 2264 | 2265 | strip-ansi@6.0.1: 2266 | dependencies: 2267 | ansi-regex: 5.0.1 2268 | 2269 | strip-bom@3.0.0: {} 2270 | 2271 | strip-json-comments@3.1.1: {} 2272 | 2273 | supports-color@7.2.0: 2274 | dependencies: 2275 | has-flag: 4.0.0 2276 | 2277 | supports-preserve-symlinks-flag@1.0.0: {} 2278 | 2279 | tapable@2.2.1: {} 2280 | 2281 | text-table@0.2.0: {} 2282 | 2283 | to-regex-range@5.0.1: 2284 | dependencies: 2285 | is-number: 7.0.0 2286 | 2287 | ts-api-utils@1.3.0(typescript@5.5.4): 2288 | dependencies: 2289 | typescript: 5.5.4 2290 | 2291 | tsconfig-paths@3.15.0: 2292 | dependencies: 2293 | '@types/json5': 0.0.29 2294 | json5: 1.0.2 2295 | minimist: 1.2.8 2296 | strip-bom: 3.0.0 2297 | 2298 | tsx@4.17.0: 2299 | dependencies: 2300 | esbuild: 0.23.1 2301 | get-tsconfig: 4.7.6 2302 | optionalDependencies: 2303 | fsevents: 2.3.3 2304 | 2305 | type-check@0.4.0: 2306 | dependencies: 2307 | prelude-ls: 1.2.1 2308 | 2309 | typed-array-buffer@1.0.2: 2310 | dependencies: 2311 | call-bind: 1.0.7 2312 | es-errors: 1.3.0 2313 | is-typed-array: 1.1.13 2314 | 2315 | typed-array-byte-length@1.0.1: 2316 | dependencies: 2317 | call-bind: 1.0.7 2318 | for-each: 0.3.3 2319 | gopd: 1.0.1 2320 | has-proto: 1.0.3 2321 | is-typed-array: 1.1.13 2322 | 2323 | typed-array-byte-offset@1.0.2: 2324 | dependencies: 2325 | available-typed-arrays: 1.0.7 2326 | call-bind: 1.0.7 2327 | for-each: 0.3.3 2328 | gopd: 1.0.1 2329 | has-proto: 1.0.3 2330 | is-typed-array: 1.1.13 2331 | 2332 | typed-array-length@1.0.6: 2333 | dependencies: 2334 | call-bind: 1.0.7 2335 | for-each: 0.3.3 2336 | gopd: 1.0.1 2337 | has-proto: 1.0.3 2338 | is-typed-array: 1.1.13 2339 | possible-typed-array-names: 1.0.0 2340 | 2341 | typescript-eslint@8.2.0(eslint@9.9.1)(typescript@5.5.4): 2342 | dependencies: 2343 | '@typescript-eslint/eslint-plugin': 8.2.0(@typescript-eslint/parser@8.2.0(eslint@9.9.1)(typescript@5.5.4))(eslint@9.9.1)(typescript@5.5.4) 2344 | '@typescript-eslint/parser': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 2345 | '@typescript-eslint/utils': 8.2.0(eslint@9.9.1)(typescript@5.5.4) 2346 | optionalDependencies: 2347 | typescript: 5.5.4 2348 | transitivePeerDependencies: 2349 | - eslint 2350 | - supports-color 2351 | 2352 | typescript@5.5.4: {} 2353 | 2354 | unbox-primitive@1.0.2: 2355 | dependencies: 2356 | call-bind: 1.0.7 2357 | has-bigints: 1.0.2 2358 | has-symbols: 1.0.3 2359 | which-boxed-primitive: 1.0.2 2360 | 2361 | uri-js@4.4.1: 2362 | dependencies: 2363 | punycode: 2.3.1 2364 | 2365 | which-boxed-primitive@1.0.2: 2366 | dependencies: 2367 | is-bigint: 1.0.4 2368 | is-boolean-object: 1.1.2 2369 | is-number-object: 1.0.7 2370 | is-string: 1.0.7 2371 | is-symbol: 1.0.4 2372 | 2373 | which-typed-array@1.1.15: 2374 | dependencies: 2375 | available-typed-arrays: 1.0.7 2376 | call-bind: 1.0.7 2377 | for-each: 0.3.3 2378 | gopd: 1.0.1 2379 | has-tostringtag: 1.0.2 2380 | 2381 | which@2.0.2: 2382 | dependencies: 2383 | isexe: 2.0.0 2384 | 2385 | word-wrap@1.2.5: {} 2386 | 2387 | yocto-queue@0.1.0: {} 2388 | -------------------------------------------------------------------------------- /screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ai/better-node-test/7343c42cbc2162d5eac595f85d7b64d79c29e3ab/screenshot.png -------------------------------------------------------------------------------- /test/dir/foo.test.ts: -------------------------------------------------------------------------------- 1 | import { equal } from 'node:assert' 2 | import { test } from 'node:test' 3 | 4 | test('one', () => { 5 | equal(1, 1) 6 | }) 7 | 8 | test('two', () => { 9 | equal(2, 2) 10 | }) 11 | -------------------------------------------------------------------------------- /test/find.js: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env node 2 | 3 | let input = '' 4 | 5 | process.stdin.on('data', data => { 6 | input += data 7 | }) 8 | 9 | process.stdin.on('close', () => { 10 | process.stdout.write(input) 11 | if (!input.includes(process.argv[2])) { 12 | process.exit(1) 13 | } 14 | }) 15 | -------------------------------------------------------------------------------- /test/foo.spec.js: -------------------------------------------------------------------------------- 1 | import { equal } from 'node:assert' 2 | import { test } from 'node:test' 3 | 4 | test('one', () => { 5 | equal(1, 1) 6 | }) 7 | 8 | test('two', () => { 9 | equal(2, 2) 10 | }) 11 | 12 | test('env', () => { 13 | process.stdout.write(`NODE_ENV=${process.env.NODE_ENV}\n`) 14 | }) 15 | -------------------------------------------------------------------------------- /test/foo.test.js: -------------------------------------------------------------------------------- 1 | import { equal } from 'node:assert' 2 | import { test } from 'node:test' 3 | 4 | test('one', () => { 5 | equal(1, 1) 6 | }) 7 | 8 | test('two', () => { 9 | equal(2, 2) 10 | }) 11 | -------------------------------------------------------------------------------- /test/no-test.js: -------------------------------------------------------------------------------- 1 | import { equal } from 'node:assert' 2 | import { test } from 'node:test' 3 | 4 | test('three', () => { 5 | equal(3, 3) 6 | }) 7 | --------------------------------------------------------------------------------