├── .editorconfig ├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── index.ts ├── package-lock.json ├── package.json ├── pnpm-lock.yaml ├── test.js ├── test.spec.mjs └── tsconfig.json /.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | end_of_line = lf 6 | insert_final_newline = true 7 | indent_style = space 8 | indent_size = 2 9 | max_line_length = 500 10 | trim_trailing_whitespace = true 11 | 12 | [*.md] 13 | max_line_length = 0 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | 8 | # Runtime data 9 | pids 10 | *.pid 11 | *.seed 12 | *.pid.lock 13 | 14 | # Directory for instrumented libs generated by jscoverage/JSCover 15 | lib-cov 16 | 17 | # Coverage directory used by tools like istanbul 18 | coverage 19 | 20 | # nyc test coverage 21 | .nyc_output 22 | 23 | # Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files) 24 | .grunt 25 | 26 | # Bower dependency directory (https://bower.io/) 27 | bower_components 28 | 29 | # node-waf configuration 30 | .lock-wscript 31 | 32 | # Compiled binary addons (http://nodejs.org/api/addons.html) 33 | build/Release 34 | 35 | # Dependency directories 36 | node_modules/ 37 | jspm_packages/ 38 | 39 | # Typescript v1 declaration files 40 | typings/ 41 | 42 | # Optional npm cache directory 43 | .npm 44 | 45 | # Optional eslint cache 46 | .eslintcache 47 | 48 | # Optional REPL history 49 | .node_repl_history 50 | 51 | # Output of 'npm pack' 52 | *.tgz 53 | 54 | # Yarn Integrity file 55 | .yarn-integrity 56 | 57 | # dotenv environment variables file 58 | .env 59 | 60 | lib 61 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: node_js 2 | node_js: 3 | - '10' 4 | - '8' 5 | - '6' 6 | script: npm test 7 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Zack Young 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, 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, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # keyv-file [keyv](https://github.com/lukechilds/keyv) 2 | 3 | > File storage adapter for Keyv, using json to serialize data fast and small. 4 | 5 | [![Build Status](https://travis-ci.org/zaaack/keyv-file.svg?branch=master)](https://travis-ci.org/zaaack/keyv-file) 6 | [![npm](https://img.shields.io/npm/v/keyv-file.svg)](https://www.npmjs.com/package/keyv-file) 7 | 8 | File storage adapter for [Keyv](https://github.com/lukechilds/keyv). 9 | 10 | TTL functionality is handled internally by interval scan, don't need to panic about expired data take too much space. 11 | 12 | ## Install 13 | 14 | ```shell 15 | npm install --save keyv keyv-file 16 | ``` 17 | 18 | ## Usage 19 | 20 | ### Using with keyv 21 | ```js 22 | const Keyv = require('keyv') 23 | const { KeyvFile } = require('keyv-file') 24 | 25 | const keyv = new Keyv({ 26 | store: new KeyvFile() 27 | }); 28 | // More options with default value: 29 | const customKeyv = new Keyv({ 30 | store: new KeyvFile({ 31 | filename: `${os.tmpdir()}/keyv-file/default-rnd-${Math.random().toString(36).slice(2)}.json`, // the file path to store the data 32 | expiredCheckDelay: 24 * 3600 * 1000, // ms, check and remove expired data in each ms 33 | writeDelay: 100, // ms, batch write to disk in a specific duration, enhance write performance. 34 | encode: JSON.stringify, // serialize function 35 | decode: JSON.parse // deserialize function 36 | }) 37 | }) 38 | ``` 39 | 40 | ### Using directly 41 | 42 | ```ts 43 | import KeyvFile, { makeField } from 'keyv-file' 44 | 45 | class Kv extends KeyvFile { 46 | constructor() { 47 | super({ 48 | filename: './db.json' 49 | }) 50 | } 51 | someField = makeField(this, 'field_key') 52 | } 53 | 54 | export const kv = new Kv 55 | 56 | kv.someField.get(1) // empty return default value 1 57 | kv.someField.set(2) // set value 2 58 | kv.someField.get() // return saved value 2 59 | kv.someField.delete() // delete field 60 | ``` 61 | 62 | ## License 63 | 64 | MIT 65 | -------------------------------------------------------------------------------- /index.ts: -------------------------------------------------------------------------------- 1 | 'use strict' 2 | 3 | import * as os from 'os' 4 | import * as fs from 'fs-extra' 5 | import EventEmitter from 'events' 6 | import type { KeyvStoreAdapter, StoredData } from 'keyv' 7 | import { defaultDeserialize, defaultSerialize } from '@keyv/serialize' 8 | 9 | export interface Options { 10 | deserialize: (val: string) => any 11 | dialect: string 12 | /** milliseconds */ 13 | expiredCheckDelay: number 14 | filename: string 15 | serialize: (val: any) => string 16 | /** milliseconds */ 17 | writeDelay: number 18 | /** create lock file and check if exists */ 19 | checkFileLock: boolean 20 | } 21 | 22 | export const defaultOpts: Options = { 23 | deserialize: defaultDeserialize, 24 | dialect: 'redis', 25 | expiredCheckDelay: 24 * 3600 * 1000, // ms 26 | filename: `${os.tmpdir()}/keyv-file/default.json`, 27 | serialize: defaultSerialize, 28 | writeDelay: 100, // ms 29 | checkFileLock: false, 30 | } 31 | 32 | function isNumber(val: any): val is number { 33 | return typeof val === 'number' 34 | } 35 | 36 | export interface WrappedValue { 37 | value: T 38 | expire?: number 39 | } 40 | 41 | export class KeyvFile extends EventEmitter implements KeyvStoreAdapter { 42 | public ttlSupport = true 43 | public namespace?: string 44 | public opts: Options 45 | private _cache: Map 46 | private _lastExpire: number 47 | 48 | constructor(options?: Partial) { 49 | super() 50 | this.opts = Object.assign({}, defaultOpts, options) 51 | if (this.opts.checkFileLock) { 52 | this.acquireFileLock() 53 | } 54 | try { 55 | const data = this.opts.deserialize( 56 | fs.readFileSync(this.opts.filename, 'utf8') 57 | ) 58 | if (!Array.isArray(data.cache)) { 59 | const _cache = data.cache 60 | data.cache = [] 61 | for (const key in _cache) { 62 | if (_cache.hasOwnProperty(key)) { 63 | data.cache.push([key, _cache[key]]) 64 | } 65 | } 66 | } 67 | this._cache = new Map(data.cache) 68 | this._lastExpire = data.lastExpire 69 | } catch (e) { 70 | this._cache = new Map() 71 | this._lastExpire = Date.now() 72 | } 73 | } 74 | 75 | private get _lockFile() { 76 | return this.opts.filename + '.lock' 77 | } 78 | 79 | acquireFileLock() { 80 | try { 81 | let fd = fs.openSync(this._lockFile, "wx"); 82 | fs.closeSync(fd) 83 | 84 | process.on('SIGINT', () => { 85 | fs.unlinkSync(this._lockFile); 86 | process.exit(0) 87 | }) 88 | process.on('exit', () => { 89 | this.releaseFileLock() 90 | }) 91 | } catch (error) { 92 | console.error(`[keyv-file] There is another process using this file`) 93 | throw error 94 | } 95 | } 96 | 97 | releaseFileLock() { 98 | fs.unlinkSync(this._lockFile); 99 | } 100 | 101 | public async get(key: string): Promise | undefined> { 102 | try { 103 | const data = this._cache.get(key) 104 | if (!data) { 105 | return undefined 106 | } else if (this.isExpired(data)) { 107 | await this.delete(key) 108 | return undefined 109 | } else { 110 | return data.value as StoredData 111 | } 112 | } catch (error) { 113 | // do nothing; 114 | } 115 | } 116 | 117 | public async getMany( 118 | keys: string[] 119 | ): Promise>> { 120 | const results = await Promise.all( 121 | keys.map(async (key) => { 122 | const value = await this.get(key) 123 | return value as StoredData 124 | }) 125 | ) 126 | return results 127 | } 128 | 129 | public async set(key: string, value: any, ttl?: number) { 130 | if (ttl === 0) { 131 | ttl = undefined 132 | } 133 | this._cache.set(key, { 134 | expire: isNumber(ttl) ? Date.now() + ttl : undefined, 135 | value: value as any, 136 | }) 137 | return this.save() 138 | } 139 | 140 | public async delete(key: string) { 141 | const ret = this._cache.delete(key) 142 | await this.save() 143 | return ret 144 | } 145 | 146 | public async deleteMany(keys: string[]): Promise { 147 | const deletePromises: Promise[] = keys.map((key) => 148 | this.delete(key) 149 | ) 150 | const results = await Promise.all(deletePromises) 151 | return results.every((result) => result) 152 | } 153 | 154 | public async clear() { 155 | this._cache = new Map() 156 | this._lastExpire = Date.now() 157 | return this.save() 158 | } 159 | 160 | public async has(key: string): Promise { 161 | const value = await this.get(key) 162 | return value !== undefined 163 | } 164 | 165 | private isExpired(data: WrappedValue) { 166 | return isNumber(data.expire) && data.expire <= Date.now() 167 | } 168 | 169 | private clearExpire() { 170 | const now = Date.now() 171 | if (now - this._lastExpire <= this.opts.expiredCheckDelay) { 172 | return 173 | } 174 | for (const key of this._cache.keys()) { 175 | const data = this._cache.get(key) 176 | if (this.isExpired(data!)) { 177 | this._cache.delete(key) 178 | } 179 | } 180 | this._lastExpire = now 181 | } 182 | 183 | private saveToDisk() { 184 | const cache = [] as [string, any][] 185 | for (const [key, val] of this._cache) { 186 | cache.push([key, val]) 187 | } 188 | const data = this.opts.serialize({ 189 | cache, 190 | lastExpire: this._lastExpire, 191 | }) 192 | return new Promise((resolve, reject) => { 193 | fs.outputFile(this.opts.filename, data, (err) => { 194 | if (err) { 195 | reject(err) 196 | } else { 197 | resolve() 198 | } 199 | }) 200 | }) 201 | } 202 | 203 | private _savePromise?: Promise 204 | 205 | private save() { 206 | this.clearExpire() 207 | if (this._savePromise) { 208 | return this._savePromise 209 | } 210 | this._savePromise = new Promise((resolve, reject) => { 211 | setTimeout(() => { 212 | this.saveToDisk() 213 | .then(resolve, reject) 214 | .finally(() => { 215 | this._savePromise = void 0 216 | }) 217 | }, this.opts.writeDelay) 218 | }) 219 | return this._savePromise 220 | } 221 | 222 | public disconnect(): Promise { 223 | return Promise.resolve() 224 | } 225 | 226 | public async *iterator(namespace?: string) { 227 | for (const [key, data] of this._cache.entries()) { 228 | if (key === undefined) { 229 | continue 230 | } 231 | // Filter by namespace if provided 232 | if (!namespace || key.includes(namespace)) { 233 | yield [key, data.value] 234 | } 235 | } 236 | } 237 | } 238 | 239 | export default KeyvFile 240 | 241 | export class Field { 242 | constructor( 243 | protected kv: KeyvFile, 244 | protected key: string, 245 | protected defaults?: D 246 | ) {} 247 | 248 | get(): Promise 249 | get(def: D): Promise 250 | async get(def = this.defaults) { 251 | return (await this.kv.get(this.key)) ?? def 252 | } 253 | set(val: T, ttl?: number) { 254 | return this.kv.set(this.key, val, ttl) 255 | } 256 | delete() { 257 | return this.kv.delete(this.key) 258 | } 259 | } 260 | 261 | export function makeField( 262 | kv: KeyvFile, 263 | key: string, 264 | defaults: T 265 | ): Field 266 | export function makeField( 267 | kv: KeyvFile, 268 | key: string, 269 | defaults?: D 270 | ) { 271 | return new Field(kv, key, defaults) 272 | } 273 | -------------------------------------------------------------------------------- /package-lock.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "keyv-file", 3 | "version": "5.1.2", 4 | "lockfileVersion": 3, 5 | "requires": true, 6 | "packages": { 7 | "": { 8 | "name": "keyv-file", 9 | "version": "5.1.2", 10 | "license": "MIT", 11 | "dependencies": { 12 | "fs-extra": "^4.0.1", 13 | "tslib": "^1.14.1" 14 | }, 15 | "devDependencies": { 16 | "@keyv/test-suite": "^2.0.1", 17 | "@types/debug": "^0.0.31", 18 | "@types/fs-extra": "^5.0.4", 19 | "@types/node": "^22.2.0", 20 | "benchmark": "^2.1.4", 21 | "keyv": "^5.0.1", 22 | "typescript": "^5.5.4", 23 | "vitest": "^2.0.5" 24 | } 25 | }, 26 | "node_modules/@ampproject/remapping": { 27 | "version": "2.3.0", 28 | "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", 29 | "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", 30 | "dev": true, 31 | "dependencies": { 32 | "@jridgewell/gen-mapping": "^0.3.5", 33 | "@jridgewell/trace-mapping": "^0.3.24" 34 | }, 35 | "engines": { 36 | "node": ">=6.0.0" 37 | } 38 | }, 39 | "node_modules/@esbuild/aix-ppc64": { 40 | "version": "0.21.5", 41 | "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", 42 | "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", 43 | "cpu": [ 44 | "ppc64" 45 | ], 46 | "dev": true, 47 | "optional": true, 48 | "os": [ 49 | "aix" 50 | ], 51 | "engines": { 52 | "node": ">=12" 53 | } 54 | }, 55 | "node_modules/@esbuild/android-arm": { 56 | "version": "0.21.5", 57 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.21.5.tgz", 58 | "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", 59 | "cpu": [ 60 | "arm" 61 | ], 62 | "dev": true, 63 | "optional": true, 64 | "os": [ 65 | "android" 66 | ], 67 | "engines": { 68 | "node": ">=12" 69 | } 70 | }, 71 | "node_modules/@esbuild/android-arm64": { 72 | "version": "0.21.5", 73 | "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", 74 | "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", 75 | "cpu": [ 76 | "arm64" 77 | ], 78 | "dev": true, 79 | "optional": true, 80 | "os": [ 81 | "android" 82 | ], 83 | "engines": { 84 | "node": ">=12" 85 | } 86 | }, 87 | "node_modules/@esbuild/android-x64": { 88 | "version": "0.21.5", 89 | "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.21.5.tgz", 90 | "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", 91 | "cpu": [ 92 | "x64" 93 | ], 94 | "dev": true, 95 | "optional": true, 96 | "os": [ 97 | "android" 98 | ], 99 | "engines": { 100 | "node": ">=12" 101 | } 102 | }, 103 | "node_modules/@esbuild/darwin-arm64": { 104 | "version": "0.21.5", 105 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", 106 | "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", 107 | "cpu": [ 108 | "arm64" 109 | ], 110 | "dev": true, 111 | "optional": true, 112 | "os": [ 113 | "darwin" 114 | ], 115 | "engines": { 116 | "node": ">=12" 117 | } 118 | }, 119 | "node_modules/@esbuild/darwin-x64": { 120 | "version": "0.21.5", 121 | "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", 122 | "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", 123 | "cpu": [ 124 | "x64" 125 | ], 126 | "dev": true, 127 | "optional": true, 128 | "os": [ 129 | "darwin" 130 | ], 131 | "engines": { 132 | "node": ">=12" 133 | } 134 | }, 135 | "node_modules/@esbuild/freebsd-arm64": { 136 | "version": "0.21.5", 137 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", 138 | "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", 139 | "cpu": [ 140 | "arm64" 141 | ], 142 | "dev": true, 143 | "optional": true, 144 | "os": [ 145 | "freebsd" 146 | ], 147 | "engines": { 148 | "node": ">=12" 149 | } 150 | }, 151 | "node_modules/@esbuild/freebsd-x64": { 152 | "version": "0.21.5", 153 | "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", 154 | "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", 155 | "cpu": [ 156 | "x64" 157 | ], 158 | "dev": true, 159 | "optional": true, 160 | "os": [ 161 | "freebsd" 162 | ], 163 | "engines": { 164 | "node": ">=12" 165 | } 166 | }, 167 | "node_modules/@esbuild/linux-arm": { 168 | "version": "0.21.5", 169 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", 170 | "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", 171 | "cpu": [ 172 | "arm" 173 | ], 174 | "dev": true, 175 | "optional": true, 176 | "os": [ 177 | "linux" 178 | ], 179 | "engines": { 180 | "node": ">=12" 181 | } 182 | }, 183 | "node_modules/@esbuild/linux-arm64": { 184 | "version": "0.21.5", 185 | "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", 186 | "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", 187 | "cpu": [ 188 | "arm64" 189 | ], 190 | "dev": true, 191 | "optional": true, 192 | "os": [ 193 | "linux" 194 | ], 195 | "engines": { 196 | "node": ">=12" 197 | } 198 | }, 199 | "node_modules/@esbuild/linux-ia32": { 200 | "version": "0.21.5", 201 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", 202 | "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", 203 | "cpu": [ 204 | "ia32" 205 | ], 206 | "dev": true, 207 | "optional": true, 208 | "os": [ 209 | "linux" 210 | ], 211 | "engines": { 212 | "node": ">=12" 213 | } 214 | }, 215 | "node_modules/@esbuild/linux-loong64": { 216 | "version": "0.21.5", 217 | "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", 218 | "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", 219 | "cpu": [ 220 | "loong64" 221 | ], 222 | "dev": true, 223 | "optional": true, 224 | "os": [ 225 | "linux" 226 | ], 227 | "engines": { 228 | "node": ">=12" 229 | } 230 | }, 231 | "node_modules/@esbuild/linux-mips64el": { 232 | "version": "0.21.5", 233 | "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", 234 | "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", 235 | "cpu": [ 236 | "mips64el" 237 | ], 238 | "dev": true, 239 | "optional": true, 240 | "os": [ 241 | "linux" 242 | ], 243 | "engines": { 244 | "node": ">=12" 245 | } 246 | }, 247 | "node_modules/@esbuild/linux-ppc64": { 248 | "version": "0.21.5", 249 | "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", 250 | "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", 251 | "cpu": [ 252 | "ppc64" 253 | ], 254 | "dev": true, 255 | "optional": true, 256 | "os": [ 257 | "linux" 258 | ], 259 | "engines": { 260 | "node": ">=12" 261 | } 262 | }, 263 | "node_modules/@esbuild/linux-riscv64": { 264 | "version": "0.21.5", 265 | "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", 266 | "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", 267 | "cpu": [ 268 | "riscv64" 269 | ], 270 | "dev": true, 271 | "optional": true, 272 | "os": [ 273 | "linux" 274 | ], 275 | "engines": { 276 | "node": ">=12" 277 | } 278 | }, 279 | "node_modules/@esbuild/linux-s390x": { 280 | "version": "0.21.5", 281 | "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", 282 | "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", 283 | "cpu": [ 284 | "s390x" 285 | ], 286 | "dev": true, 287 | "optional": true, 288 | "os": [ 289 | "linux" 290 | ], 291 | "engines": { 292 | "node": ">=12" 293 | } 294 | }, 295 | "node_modules/@esbuild/linux-x64": { 296 | "version": "0.21.5", 297 | "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", 298 | "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", 299 | "cpu": [ 300 | "x64" 301 | ], 302 | "dev": true, 303 | "optional": true, 304 | "os": [ 305 | "linux" 306 | ], 307 | "engines": { 308 | "node": ">=12" 309 | } 310 | }, 311 | "node_modules/@esbuild/netbsd-x64": { 312 | "version": "0.21.5", 313 | "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", 314 | "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", 315 | "cpu": [ 316 | "x64" 317 | ], 318 | "dev": true, 319 | "optional": true, 320 | "os": [ 321 | "netbsd" 322 | ], 323 | "engines": { 324 | "node": ">=12" 325 | } 326 | }, 327 | "node_modules/@esbuild/openbsd-x64": { 328 | "version": "0.21.5", 329 | "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", 330 | "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", 331 | "cpu": [ 332 | "x64" 333 | ], 334 | "dev": true, 335 | "optional": true, 336 | "os": [ 337 | "openbsd" 338 | ], 339 | "engines": { 340 | "node": ">=12" 341 | } 342 | }, 343 | "node_modules/@esbuild/sunos-x64": { 344 | "version": "0.21.5", 345 | "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", 346 | "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", 347 | "cpu": [ 348 | "x64" 349 | ], 350 | "dev": true, 351 | "optional": true, 352 | "os": [ 353 | "sunos" 354 | ], 355 | "engines": { 356 | "node": ">=12" 357 | } 358 | }, 359 | "node_modules/@esbuild/win32-arm64": { 360 | "version": "0.21.5", 361 | "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", 362 | "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", 363 | "cpu": [ 364 | "arm64" 365 | ], 366 | "dev": true, 367 | "optional": true, 368 | "os": [ 369 | "win32" 370 | ], 371 | "engines": { 372 | "node": ">=12" 373 | } 374 | }, 375 | "node_modules/@esbuild/win32-ia32": { 376 | "version": "0.21.5", 377 | "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", 378 | "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", 379 | "cpu": [ 380 | "ia32" 381 | ], 382 | "dev": true, 383 | "optional": true, 384 | "os": [ 385 | "win32" 386 | ], 387 | "engines": { 388 | "node": ">=12" 389 | } 390 | }, 391 | "node_modules/@esbuild/win32-x64": { 392 | "version": "0.21.5", 393 | "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", 394 | "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", 395 | "cpu": [ 396 | "x64" 397 | ], 398 | "dev": true, 399 | "optional": true, 400 | "os": [ 401 | "win32" 402 | ], 403 | "engines": { 404 | "node": ">=12" 405 | } 406 | }, 407 | "node_modules/@gar/promisify": { 408 | "version": "1.1.3", 409 | "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", 410 | "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", 411 | "dev": true, 412 | "optional": true 413 | }, 414 | "node_modules/@jridgewell/gen-mapping": { 415 | "version": "0.3.5", 416 | "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", 417 | "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", 418 | "dev": true, 419 | "dependencies": { 420 | "@jridgewell/set-array": "^1.2.1", 421 | "@jridgewell/sourcemap-codec": "^1.4.10", 422 | "@jridgewell/trace-mapping": "^0.3.24" 423 | }, 424 | "engines": { 425 | "node": ">=6.0.0" 426 | } 427 | }, 428 | "node_modules/@jridgewell/resolve-uri": { 429 | "version": "3.1.2", 430 | "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", 431 | "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", 432 | "dev": true, 433 | "engines": { 434 | "node": ">=6.0.0" 435 | } 436 | }, 437 | "node_modules/@jridgewell/set-array": { 438 | "version": "1.2.1", 439 | "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", 440 | "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", 441 | "dev": true, 442 | "engines": { 443 | "node": ">=6.0.0" 444 | } 445 | }, 446 | "node_modules/@jridgewell/sourcemap-codec": { 447 | "version": "1.5.0", 448 | "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", 449 | "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", 450 | "dev": true 451 | }, 452 | "node_modules/@jridgewell/trace-mapping": { 453 | "version": "0.3.25", 454 | "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", 455 | "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", 456 | "dev": true, 457 | "dependencies": { 458 | "@jridgewell/resolve-uri": "^3.1.0", 459 | "@jridgewell/sourcemap-codec": "^1.4.14" 460 | } 461 | }, 462 | "node_modules/@keyv/serialize": { 463 | "version": "1.0.1", 464 | "resolved": "https://registry.npmjs.org/@keyv/serialize/-/serialize-1.0.1.tgz", 465 | "integrity": "sha512-kKXeynfORDGPUEEl2PvTExM2zs+IldC6ZD8jPcfvI351MDNtfMlw9V9s4XZXuJNDK2qR5gbEKxRyoYx3quHUVQ==", 466 | "dev": true, 467 | "dependencies": { 468 | "buffer": "^6.0.3" 469 | } 470 | }, 471 | "node_modules/@keyv/test-suite": { 472 | "version": "2.0.1", 473 | "resolved": "https://registry.npmjs.org/@keyv/test-suite/-/test-suite-2.0.1.tgz", 474 | "integrity": "sha512-N1Ii9x9kBERwPtGP8Jnbvb78MOZyR6n3GpOBXygUXOQnLU+l5vs6R2V/6pB5P2A3D2ytUf/PYmZ8PSN9CJGJag==", 475 | "dev": true, 476 | "dependencies": { 477 | "bignumber.js": "^9.1.2", 478 | "json-bigint": "^1.0.0", 479 | "sqlite3": "^5.1.7", 480 | "timekeeper": "^2.3.1" 481 | } 482 | }, 483 | "node_modules/@npmcli/fs": { 484 | "version": "1.1.1", 485 | "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz", 486 | "integrity": "sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==", 487 | "dev": true, 488 | "optional": true, 489 | "dependencies": { 490 | "@gar/promisify": "^1.0.1", 491 | "semver": "^7.3.5" 492 | } 493 | }, 494 | "node_modules/@npmcli/move-file": { 495 | "version": "1.1.2", 496 | "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.1.2.tgz", 497 | "integrity": "sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==", 498 | "deprecated": "This functionality has been moved to @npmcli/fs", 499 | "dev": true, 500 | "optional": true, 501 | "dependencies": { 502 | "mkdirp": "^1.0.4", 503 | "rimraf": "^3.0.2" 504 | }, 505 | "engines": { 506 | "node": ">=10" 507 | } 508 | }, 509 | "node_modules/@rollup/rollup-android-arm-eabi": { 510 | "version": "4.21.1", 511 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.21.1.tgz", 512 | "integrity": "sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==", 513 | "cpu": [ 514 | "arm" 515 | ], 516 | "dev": true, 517 | "optional": true, 518 | "os": [ 519 | "android" 520 | ] 521 | }, 522 | "node_modules/@rollup/rollup-android-arm64": { 523 | "version": "4.21.1", 524 | "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.21.1.tgz", 525 | "integrity": "sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==", 526 | "cpu": [ 527 | "arm64" 528 | ], 529 | "dev": true, 530 | "optional": true, 531 | "os": [ 532 | "android" 533 | ] 534 | }, 535 | "node_modules/@rollup/rollup-darwin-arm64": { 536 | "version": "4.21.1", 537 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.21.1.tgz", 538 | "integrity": "sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==", 539 | "cpu": [ 540 | "arm64" 541 | ], 542 | "dev": true, 543 | "optional": true, 544 | "os": [ 545 | "darwin" 546 | ] 547 | }, 548 | "node_modules/@rollup/rollup-darwin-x64": { 549 | "version": "4.21.1", 550 | "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.21.1.tgz", 551 | "integrity": "sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==", 552 | "cpu": [ 553 | "x64" 554 | ], 555 | "dev": true, 556 | "optional": true, 557 | "os": [ 558 | "darwin" 559 | ] 560 | }, 561 | "node_modules/@rollup/rollup-linux-arm-gnueabihf": { 562 | "version": "4.21.1", 563 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.21.1.tgz", 564 | "integrity": "sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==", 565 | "cpu": [ 566 | "arm" 567 | ], 568 | "dev": true, 569 | "optional": true, 570 | "os": [ 571 | "linux" 572 | ] 573 | }, 574 | "node_modules/@rollup/rollup-linux-arm-musleabihf": { 575 | "version": "4.21.1", 576 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.21.1.tgz", 577 | "integrity": "sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==", 578 | "cpu": [ 579 | "arm" 580 | ], 581 | "dev": true, 582 | "optional": true, 583 | "os": [ 584 | "linux" 585 | ] 586 | }, 587 | "node_modules/@rollup/rollup-linux-arm64-gnu": { 588 | "version": "4.21.1", 589 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.21.1.tgz", 590 | "integrity": "sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==", 591 | "cpu": [ 592 | "arm64" 593 | ], 594 | "dev": true, 595 | "optional": true, 596 | "os": [ 597 | "linux" 598 | ] 599 | }, 600 | "node_modules/@rollup/rollup-linux-arm64-musl": { 601 | "version": "4.21.1", 602 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.21.1.tgz", 603 | "integrity": "sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==", 604 | "cpu": [ 605 | "arm64" 606 | ], 607 | "dev": true, 608 | "optional": true, 609 | "os": [ 610 | "linux" 611 | ] 612 | }, 613 | "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { 614 | "version": "4.21.1", 615 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.21.1.tgz", 616 | "integrity": "sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==", 617 | "cpu": [ 618 | "ppc64" 619 | ], 620 | "dev": true, 621 | "optional": true, 622 | "os": [ 623 | "linux" 624 | ] 625 | }, 626 | "node_modules/@rollup/rollup-linux-riscv64-gnu": { 627 | "version": "4.21.1", 628 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.21.1.tgz", 629 | "integrity": "sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==", 630 | "cpu": [ 631 | "riscv64" 632 | ], 633 | "dev": true, 634 | "optional": true, 635 | "os": [ 636 | "linux" 637 | ] 638 | }, 639 | "node_modules/@rollup/rollup-linux-s390x-gnu": { 640 | "version": "4.21.1", 641 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.21.1.tgz", 642 | "integrity": "sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==", 643 | "cpu": [ 644 | "s390x" 645 | ], 646 | "dev": true, 647 | "optional": true, 648 | "os": [ 649 | "linux" 650 | ] 651 | }, 652 | "node_modules/@rollup/rollup-linux-x64-gnu": { 653 | "version": "4.21.1", 654 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.21.1.tgz", 655 | "integrity": "sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==", 656 | "cpu": [ 657 | "x64" 658 | ], 659 | "dev": true, 660 | "optional": true, 661 | "os": [ 662 | "linux" 663 | ] 664 | }, 665 | "node_modules/@rollup/rollup-linux-x64-musl": { 666 | "version": "4.21.1", 667 | "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.21.1.tgz", 668 | "integrity": "sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==", 669 | "cpu": [ 670 | "x64" 671 | ], 672 | "dev": true, 673 | "optional": true, 674 | "os": [ 675 | "linux" 676 | ] 677 | }, 678 | "node_modules/@rollup/rollup-win32-arm64-msvc": { 679 | "version": "4.21.1", 680 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.21.1.tgz", 681 | "integrity": "sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==", 682 | "cpu": [ 683 | "arm64" 684 | ], 685 | "dev": true, 686 | "optional": true, 687 | "os": [ 688 | "win32" 689 | ] 690 | }, 691 | "node_modules/@rollup/rollup-win32-ia32-msvc": { 692 | "version": "4.21.1", 693 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.21.1.tgz", 694 | "integrity": "sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==", 695 | "cpu": [ 696 | "ia32" 697 | ], 698 | "dev": true, 699 | "optional": true, 700 | "os": [ 701 | "win32" 702 | ] 703 | }, 704 | "node_modules/@rollup/rollup-win32-x64-msvc": { 705 | "version": "4.21.1", 706 | "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.21.1.tgz", 707 | "integrity": "sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==", 708 | "cpu": [ 709 | "x64" 710 | ], 711 | "dev": true, 712 | "optional": true, 713 | "os": [ 714 | "win32" 715 | ] 716 | }, 717 | "node_modules/@tootallnate/once": { 718 | "version": "1.1.2", 719 | "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", 720 | "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", 721 | "dev": true, 722 | "optional": true, 723 | "engines": { 724 | "node": ">= 6" 725 | } 726 | }, 727 | "node_modules/@types/debug": { 728 | "version": "0.0.31", 729 | "resolved": "https://registry.npmjs.org/@types/debug/-/debug-0.0.31.tgz", 730 | "integrity": "sha512-LS1MCPaQKqspg7FvexuhmDbWUhE2yIJ+4AgVIyObfc06/UKZ8REgxGNjZc82wPLWmbeOm7S+gSsLgo75TanG4A==", 731 | "dev": true 732 | }, 733 | "node_modules/@types/estree": { 734 | "version": "1.0.5", 735 | "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", 736 | "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", 737 | "dev": true 738 | }, 739 | "node_modules/@types/fs-extra": { 740 | "version": "5.1.0", 741 | "resolved": "https://registry.npmjs.org/@types/fs-extra/-/fs-extra-5.1.0.tgz", 742 | "integrity": "sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==", 743 | "dev": true, 744 | "dependencies": { 745 | "@types/node": "*" 746 | } 747 | }, 748 | "node_modules/@types/node": { 749 | "version": "22.5.1", 750 | "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz", 751 | "integrity": "sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw==", 752 | "dev": true, 753 | "dependencies": { 754 | "undici-types": "~6.19.2" 755 | } 756 | }, 757 | "node_modules/@vitest/expect": { 758 | "version": "2.0.5", 759 | "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-2.0.5.tgz", 760 | "integrity": "sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==", 761 | "dev": true, 762 | "dependencies": { 763 | "@vitest/spy": "2.0.5", 764 | "@vitest/utils": "2.0.5", 765 | "chai": "^5.1.1", 766 | "tinyrainbow": "^1.2.0" 767 | }, 768 | "funding": { 769 | "url": "https://opencollective.com/vitest" 770 | } 771 | }, 772 | "node_modules/@vitest/pretty-format": { 773 | "version": "2.0.5", 774 | "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.0.5.tgz", 775 | "integrity": "sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==", 776 | "dev": true, 777 | "dependencies": { 778 | "tinyrainbow": "^1.2.0" 779 | }, 780 | "funding": { 781 | "url": "https://opencollective.com/vitest" 782 | } 783 | }, 784 | "node_modules/@vitest/runner": { 785 | "version": "2.0.5", 786 | "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-2.0.5.tgz", 787 | "integrity": "sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==", 788 | "dev": true, 789 | "dependencies": { 790 | "@vitest/utils": "2.0.5", 791 | "pathe": "^1.1.2" 792 | }, 793 | "funding": { 794 | "url": "https://opencollective.com/vitest" 795 | } 796 | }, 797 | "node_modules/@vitest/snapshot": { 798 | "version": "2.0.5", 799 | "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-2.0.5.tgz", 800 | "integrity": "sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==", 801 | "dev": true, 802 | "dependencies": { 803 | "@vitest/pretty-format": "2.0.5", 804 | "magic-string": "^0.30.10", 805 | "pathe": "^1.1.2" 806 | }, 807 | "funding": { 808 | "url": "https://opencollective.com/vitest" 809 | } 810 | }, 811 | "node_modules/@vitest/spy": { 812 | "version": "2.0.5", 813 | "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-2.0.5.tgz", 814 | "integrity": "sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==", 815 | "dev": true, 816 | "dependencies": { 817 | "tinyspy": "^3.0.0" 818 | }, 819 | "funding": { 820 | "url": "https://opencollective.com/vitest" 821 | } 822 | }, 823 | "node_modules/@vitest/utils": { 824 | "version": "2.0.5", 825 | "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-2.0.5.tgz", 826 | "integrity": "sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==", 827 | "dev": true, 828 | "dependencies": { 829 | "@vitest/pretty-format": "2.0.5", 830 | "estree-walker": "^3.0.3", 831 | "loupe": "^3.1.1", 832 | "tinyrainbow": "^1.2.0" 833 | }, 834 | "funding": { 835 | "url": "https://opencollective.com/vitest" 836 | } 837 | }, 838 | "node_modules/abbrev": { 839 | "version": "1.1.1", 840 | "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", 841 | "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", 842 | "dev": true, 843 | "optional": true 844 | }, 845 | "node_modules/agent-base": { 846 | "version": "6.0.2", 847 | "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", 848 | "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", 849 | "dev": true, 850 | "optional": true, 851 | "dependencies": { 852 | "debug": "4" 853 | }, 854 | "engines": { 855 | "node": ">= 6.0.0" 856 | } 857 | }, 858 | "node_modules/agentkeepalive": { 859 | "version": "4.5.0", 860 | "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.5.0.tgz", 861 | "integrity": "sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==", 862 | "dev": true, 863 | "optional": true, 864 | "dependencies": { 865 | "humanize-ms": "^1.2.1" 866 | }, 867 | "engines": { 868 | "node": ">= 8.0.0" 869 | } 870 | }, 871 | "node_modules/aggregate-error": { 872 | "version": "3.1.0", 873 | "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", 874 | "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", 875 | "dev": true, 876 | "optional": true, 877 | "dependencies": { 878 | "clean-stack": "^2.0.0", 879 | "indent-string": "^4.0.0" 880 | }, 881 | "engines": { 882 | "node": ">=8" 883 | } 884 | }, 885 | "node_modules/ansi-regex": { 886 | "version": "5.0.1", 887 | "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", 888 | "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", 889 | "dev": true, 890 | "optional": true, 891 | "engines": { 892 | "node": ">=8" 893 | } 894 | }, 895 | "node_modules/aproba": { 896 | "version": "2.0.0", 897 | "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", 898 | "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", 899 | "dev": true, 900 | "optional": true 901 | }, 902 | "node_modules/are-we-there-yet": { 903 | "version": "3.0.1", 904 | "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", 905 | "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", 906 | "deprecated": "This package is no longer supported.", 907 | "dev": true, 908 | "optional": true, 909 | "dependencies": { 910 | "delegates": "^1.0.0", 911 | "readable-stream": "^3.6.0" 912 | }, 913 | "engines": { 914 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 915 | } 916 | }, 917 | "node_modules/assertion-error": { 918 | "version": "2.0.1", 919 | "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", 920 | "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", 921 | "dev": true, 922 | "engines": { 923 | "node": ">=12" 924 | } 925 | }, 926 | "node_modules/balanced-match": { 927 | "version": "1.0.2", 928 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", 929 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", 930 | "dev": true, 931 | "optional": true 932 | }, 933 | "node_modules/base64-js": { 934 | "version": "1.5.1", 935 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", 936 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", 937 | "dev": true, 938 | "funding": [ 939 | { 940 | "type": "github", 941 | "url": "https://github.com/sponsors/feross" 942 | }, 943 | { 944 | "type": "patreon", 945 | "url": "https://www.patreon.com/feross" 946 | }, 947 | { 948 | "type": "consulting", 949 | "url": "https://feross.org/support" 950 | } 951 | ] 952 | }, 953 | "node_modules/benchmark": { 954 | "version": "2.1.4", 955 | "resolved": "https://registry.npmjs.org/benchmark/-/benchmark-2.1.4.tgz", 956 | "integrity": "sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==", 957 | "dev": true, 958 | "dependencies": { 959 | "lodash": "^4.17.4", 960 | "platform": "^1.3.3" 961 | } 962 | }, 963 | "node_modules/bignumber.js": { 964 | "version": "9.1.2", 965 | "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.1.2.tgz", 966 | "integrity": "sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==", 967 | "dev": true, 968 | "engines": { 969 | "node": "*" 970 | } 971 | }, 972 | "node_modules/bindings": { 973 | "version": "1.5.0", 974 | "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", 975 | "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", 976 | "dev": true, 977 | "dependencies": { 978 | "file-uri-to-path": "1.0.0" 979 | } 980 | }, 981 | "node_modules/bl": { 982 | "version": "4.1.0", 983 | "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", 984 | "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", 985 | "dev": true, 986 | "dependencies": { 987 | "buffer": "^5.5.0", 988 | "inherits": "^2.0.4", 989 | "readable-stream": "^3.4.0" 990 | } 991 | }, 992 | "node_modules/bl/node_modules/buffer": { 993 | "version": "5.7.1", 994 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", 995 | "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", 996 | "dev": true, 997 | "funding": [ 998 | { 999 | "type": "github", 1000 | "url": "https://github.com/sponsors/feross" 1001 | }, 1002 | { 1003 | "type": "patreon", 1004 | "url": "https://www.patreon.com/feross" 1005 | }, 1006 | { 1007 | "type": "consulting", 1008 | "url": "https://feross.org/support" 1009 | } 1010 | ], 1011 | "dependencies": { 1012 | "base64-js": "^1.3.1", 1013 | "ieee754": "^1.1.13" 1014 | } 1015 | }, 1016 | "node_modules/brace-expansion": { 1017 | "version": "1.1.11", 1018 | "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", 1019 | "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", 1020 | "dev": true, 1021 | "optional": true, 1022 | "dependencies": { 1023 | "balanced-match": "^1.0.0", 1024 | "concat-map": "0.0.1" 1025 | } 1026 | }, 1027 | "node_modules/buffer": { 1028 | "version": "6.0.3", 1029 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz", 1030 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==", 1031 | "dev": true, 1032 | "funding": [ 1033 | { 1034 | "type": "github", 1035 | "url": "https://github.com/sponsors/feross" 1036 | }, 1037 | { 1038 | "type": "patreon", 1039 | "url": "https://www.patreon.com/feross" 1040 | }, 1041 | { 1042 | "type": "consulting", 1043 | "url": "https://feross.org/support" 1044 | } 1045 | ], 1046 | "dependencies": { 1047 | "base64-js": "^1.3.1", 1048 | "ieee754": "^1.2.1" 1049 | } 1050 | }, 1051 | "node_modules/cac": { 1052 | "version": "6.7.14", 1053 | "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", 1054 | "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", 1055 | "dev": true, 1056 | "engines": { 1057 | "node": ">=8" 1058 | } 1059 | }, 1060 | "node_modules/cacache": { 1061 | "version": "15.3.0", 1062 | "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.3.0.tgz", 1063 | "integrity": "sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==", 1064 | "dev": true, 1065 | "optional": true, 1066 | "dependencies": { 1067 | "@npmcli/fs": "^1.0.0", 1068 | "@npmcli/move-file": "^1.0.1", 1069 | "chownr": "^2.0.0", 1070 | "fs-minipass": "^2.0.0", 1071 | "glob": "^7.1.4", 1072 | "infer-owner": "^1.0.4", 1073 | "lru-cache": "^6.0.0", 1074 | "minipass": "^3.1.1", 1075 | "minipass-collect": "^1.0.2", 1076 | "minipass-flush": "^1.0.5", 1077 | "minipass-pipeline": "^1.2.2", 1078 | "mkdirp": "^1.0.3", 1079 | "p-map": "^4.0.0", 1080 | "promise-inflight": "^1.0.1", 1081 | "rimraf": "^3.0.2", 1082 | "ssri": "^8.0.1", 1083 | "tar": "^6.0.2", 1084 | "unique-filename": "^1.1.1" 1085 | }, 1086 | "engines": { 1087 | "node": ">= 10" 1088 | } 1089 | }, 1090 | "node_modules/chai": { 1091 | "version": "5.1.1", 1092 | "resolved": "https://registry.npmjs.org/chai/-/chai-5.1.1.tgz", 1093 | "integrity": "sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==", 1094 | "dev": true, 1095 | "dependencies": { 1096 | "assertion-error": "^2.0.1", 1097 | "check-error": "^2.1.1", 1098 | "deep-eql": "^5.0.1", 1099 | "loupe": "^3.1.0", 1100 | "pathval": "^2.0.0" 1101 | }, 1102 | "engines": { 1103 | "node": ">=12" 1104 | } 1105 | }, 1106 | "node_modules/check-error": { 1107 | "version": "2.1.1", 1108 | "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", 1109 | "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", 1110 | "dev": true, 1111 | "engines": { 1112 | "node": ">= 16" 1113 | } 1114 | }, 1115 | "node_modules/chownr": { 1116 | "version": "2.0.0", 1117 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", 1118 | "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", 1119 | "dev": true, 1120 | "engines": { 1121 | "node": ">=10" 1122 | } 1123 | }, 1124 | "node_modules/clean-stack": { 1125 | "version": "2.2.0", 1126 | "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", 1127 | "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", 1128 | "dev": true, 1129 | "optional": true, 1130 | "engines": { 1131 | "node": ">=6" 1132 | } 1133 | }, 1134 | "node_modules/color-support": { 1135 | "version": "1.1.3", 1136 | "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", 1137 | "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", 1138 | "dev": true, 1139 | "optional": true, 1140 | "bin": { 1141 | "color-support": "bin.js" 1142 | } 1143 | }, 1144 | "node_modules/concat-map": { 1145 | "version": "0.0.1", 1146 | "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", 1147 | "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", 1148 | "dev": true, 1149 | "optional": true 1150 | }, 1151 | "node_modules/console-control-strings": { 1152 | "version": "1.1.0", 1153 | "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", 1154 | "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", 1155 | "dev": true, 1156 | "optional": true 1157 | }, 1158 | "node_modules/cross-spawn": { 1159 | "version": "7.0.3", 1160 | "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", 1161 | "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", 1162 | "dev": true, 1163 | "dependencies": { 1164 | "path-key": "^3.1.0", 1165 | "shebang-command": "^2.0.0", 1166 | "which": "^2.0.1" 1167 | }, 1168 | "engines": { 1169 | "node": ">= 8" 1170 | } 1171 | }, 1172 | "node_modules/debug": { 1173 | "version": "4.3.6", 1174 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", 1175 | "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", 1176 | "dev": true, 1177 | "dependencies": { 1178 | "ms": "2.1.2" 1179 | }, 1180 | "engines": { 1181 | "node": ">=6.0" 1182 | }, 1183 | "peerDependenciesMeta": { 1184 | "supports-color": { 1185 | "optional": true 1186 | } 1187 | } 1188 | }, 1189 | "node_modules/decompress-response": { 1190 | "version": "6.0.0", 1191 | "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", 1192 | "integrity": "sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==", 1193 | "dev": true, 1194 | "dependencies": { 1195 | "mimic-response": "^3.1.0" 1196 | }, 1197 | "engines": { 1198 | "node": ">=10" 1199 | }, 1200 | "funding": { 1201 | "url": "https://github.com/sponsors/sindresorhus" 1202 | } 1203 | }, 1204 | "node_modules/deep-eql": { 1205 | "version": "5.0.2", 1206 | "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", 1207 | "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", 1208 | "dev": true, 1209 | "engines": { 1210 | "node": ">=6" 1211 | } 1212 | }, 1213 | "node_modules/deep-extend": { 1214 | "version": "0.6.0", 1215 | "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", 1216 | "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", 1217 | "dev": true, 1218 | "engines": { 1219 | "node": ">=4.0.0" 1220 | } 1221 | }, 1222 | "node_modules/delegates": { 1223 | "version": "1.0.0", 1224 | "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", 1225 | "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", 1226 | "dev": true, 1227 | "optional": true 1228 | }, 1229 | "node_modules/detect-libc": { 1230 | "version": "2.0.3", 1231 | "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz", 1232 | "integrity": "sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==", 1233 | "dev": true, 1234 | "engines": { 1235 | "node": ">=8" 1236 | } 1237 | }, 1238 | "node_modules/emoji-regex": { 1239 | "version": "8.0.0", 1240 | "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", 1241 | "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", 1242 | "dev": true, 1243 | "optional": true 1244 | }, 1245 | "node_modules/encoding": { 1246 | "version": "0.1.13", 1247 | "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", 1248 | "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", 1249 | "dev": true, 1250 | "optional": true, 1251 | "dependencies": { 1252 | "iconv-lite": "^0.6.2" 1253 | } 1254 | }, 1255 | "node_modules/end-of-stream": { 1256 | "version": "1.4.4", 1257 | "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", 1258 | "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", 1259 | "dev": true, 1260 | "dependencies": { 1261 | "once": "^1.4.0" 1262 | } 1263 | }, 1264 | "node_modules/env-paths": { 1265 | "version": "2.2.1", 1266 | "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", 1267 | "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", 1268 | "dev": true, 1269 | "optional": true, 1270 | "engines": { 1271 | "node": ">=6" 1272 | } 1273 | }, 1274 | "node_modules/err-code": { 1275 | "version": "2.0.3", 1276 | "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", 1277 | "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", 1278 | "dev": true, 1279 | "optional": true 1280 | }, 1281 | "node_modules/esbuild": { 1282 | "version": "0.21.5", 1283 | "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.21.5.tgz", 1284 | "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", 1285 | "dev": true, 1286 | "hasInstallScript": true, 1287 | "bin": { 1288 | "esbuild": "bin/esbuild" 1289 | }, 1290 | "engines": { 1291 | "node": ">=12" 1292 | }, 1293 | "optionalDependencies": { 1294 | "@esbuild/aix-ppc64": "0.21.5", 1295 | "@esbuild/android-arm": "0.21.5", 1296 | "@esbuild/android-arm64": "0.21.5", 1297 | "@esbuild/android-x64": "0.21.5", 1298 | "@esbuild/darwin-arm64": "0.21.5", 1299 | "@esbuild/darwin-x64": "0.21.5", 1300 | "@esbuild/freebsd-arm64": "0.21.5", 1301 | "@esbuild/freebsd-x64": "0.21.5", 1302 | "@esbuild/linux-arm": "0.21.5", 1303 | "@esbuild/linux-arm64": "0.21.5", 1304 | "@esbuild/linux-ia32": "0.21.5", 1305 | "@esbuild/linux-loong64": "0.21.5", 1306 | "@esbuild/linux-mips64el": "0.21.5", 1307 | "@esbuild/linux-ppc64": "0.21.5", 1308 | "@esbuild/linux-riscv64": "0.21.5", 1309 | "@esbuild/linux-s390x": "0.21.5", 1310 | "@esbuild/linux-x64": "0.21.5", 1311 | "@esbuild/netbsd-x64": "0.21.5", 1312 | "@esbuild/openbsd-x64": "0.21.5", 1313 | "@esbuild/sunos-x64": "0.21.5", 1314 | "@esbuild/win32-arm64": "0.21.5", 1315 | "@esbuild/win32-ia32": "0.21.5", 1316 | "@esbuild/win32-x64": "0.21.5" 1317 | } 1318 | }, 1319 | "node_modules/estree-walker": { 1320 | "version": "3.0.3", 1321 | "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", 1322 | "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", 1323 | "dev": true, 1324 | "dependencies": { 1325 | "@types/estree": "^1.0.0" 1326 | } 1327 | }, 1328 | "node_modules/execa": { 1329 | "version": "8.0.1", 1330 | "resolved": "https://registry.npmjs.org/execa/-/execa-8.0.1.tgz", 1331 | "integrity": "sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==", 1332 | "dev": true, 1333 | "dependencies": { 1334 | "cross-spawn": "^7.0.3", 1335 | "get-stream": "^8.0.1", 1336 | "human-signals": "^5.0.0", 1337 | "is-stream": "^3.0.0", 1338 | "merge-stream": "^2.0.0", 1339 | "npm-run-path": "^5.1.0", 1340 | "onetime": "^6.0.0", 1341 | "signal-exit": "^4.1.0", 1342 | "strip-final-newline": "^3.0.0" 1343 | }, 1344 | "engines": { 1345 | "node": ">=16.17" 1346 | }, 1347 | "funding": { 1348 | "url": "https://github.com/sindresorhus/execa?sponsor=1" 1349 | } 1350 | }, 1351 | "node_modules/execa/node_modules/signal-exit": { 1352 | "version": "4.1.0", 1353 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", 1354 | "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", 1355 | "dev": true, 1356 | "engines": { 1357 | "node": ">=14" 1358 | }, 1359 | "funding": { 1360 | "url": "https://github.com/sponsors/isaacs" 1361 | } 1362 | }, 1363 | "node_modules/expand-template": { 1364 | "version": "2.0.3", 1365 | "resolved": "https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz", 1366 | "integrity": "sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==", 1367 | "dev": true, 1368 | "engines": { 1369 | "node": ">=6" 1370 | } 1371 | }, 1372 | "node_modules/file-uri-to-path": { 1373 | "version": "1.0.0", 1374 | "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", 1375 | "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", 1376 | "dev": true 1377 | }, 1378 | "node_modules/fs-constants": { 1379 | "version": "1.0.0", 1380 | "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", 1381 | "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", 1382 | "dev": true 1383 | }, 1384 | "node_modules/fs-extra": { 1385 | "version": "4.0.3", 1386 | "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.3.tgz", 1387 | "integrity": "sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==", 1388 | "dependencies": { 1389 | "graceful-fs": "^4.1.2", 1390 | "jsonfile": "^4.0.0", 1391 | "universalify": "^0.1.0" 1392 | } 1393 | }, 1394 | "node_modules/fs-minipass": { 1395 | "version": "2.1.0", 1396 | "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", 1397 | "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", 1398 | "dev": true, 1399 | "dependencies": { 1400 | "minipass": "^3.0.0" 1401 | }, 1402 | "engines": { 1403 | "node": ">= 8" 1404 | } 1405 | }, 1406 | "node_modules/fs.realpath": { 1407 | "version": "1.0.0", 1408 | "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", 1409 | "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", 1410 | "dev": true, 1411 | "optional": true 1412 | }, 1413 | "node_modules/fsevents": { 1414 | "version": "2.3.3", 1415 | "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", 1416 | "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", 1417 | "dev": true, 1418 | "hasInstallScript": true, 1419 | "optional": true, 1420 | "os": [ 1421 | "darwin" 1422 | ], 1423 | "engines": { 1424 | "node": "^8.16.0 || ^10.6.0 || >=11.0.0" 1425 | } 1426 | }, 1427 | "node_modules/gauge": { 1428 | "version": "4.0.4", 1429 | "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", 1430 | "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", 1431 | "deprecated": "This package is no longer supported.", 1432 | "dev": true, 1433 | "optional": true, 1434 | "dependencies": { 1435 | "aproba": "^1.0.3 || ^2.0.0", 1436 | "color-support": "^1.1.3", 1437 | "console-control-strings": "^1.1.0", 1438 | "has-unicode": "^2.0.1", 1439 | "signal-exit": "^3.0.7", 1440 | "string-width": "^4.2.3", 1441 | "strip-ansi": "^6.0.1", 1442 | "wide-align": "^1.1.5" 1443 | }, 1444 | "engines": { 1445 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 1446 | } 1447 | }, 1448 | "node_modules/get-func-name": { 1449 | "version": "2.0.2", 1450 | "resolved": "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz", 1451 | "integrity": "sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==", 1452 | "dev": true, 1453 | "engines": { 1454 | "node": "*" 1455 | } 1456 | }, 1457 | "node_modules/get-stream": { 1458 | "version": "8.0.1", 1459 | "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-8.0.1.tgz", 1460 | "integrity": "sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==", 1461 | "dev": true, 1462 | "engines": { 1463 | "node": ">=16" 1464 | }, 1465 | "funding": { 1466 | "url": "https://github.com/sponsors/sindresorhus" 1467 | } 1468 | }, 1469 | "node_modules/github-from-package": { 1470 | "version": "0.0.0", 1471 | "resolved": "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz", 1472 | "integrity": "sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==", 1473 | "dev": true 1474 | }, 1475 | "node_modules/glob": { 1476 | "version": "7.2.3", 1477 | "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", 1478 | "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", 1479 | "deprecated": "Glob versions prior to v9 are no longer supported", 1480 | "dev": true, 1481 | "optional": true, 1482 | "dependencies": { 1483 | "fs.realpath": "^1.0.0", 1484 | "inflight": "^1.0.4", 1485 | "inherits": "2", 1486 | "minimatch": "^3.1.1", 1487 | "once": "^1.3.0", 1488 | "path-is-absolute": "^1.0.0" 1489 | }, 1490 | "engines": { 1491 | "node": "*" 1492 | }, 1493 | "funding": { 1494 | "url": "https://github.com/sponsors/isaacs" 1495 | } 1496 | }, 1497 | "node_modules/graceful-fs": { 1498 | "version": "4.2.11", 1499 | "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", 1500 | "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==" 1501 | }, 1502 | "node_modules/has-unicode": { 1503 | "version": "2.0.1", 1504 | "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", 1505 | "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", 1506 | "dev": true, 1507 | "optional": true 1508 | }, 1509 | "node_modules/http-cache-semantics": { 1510 | "version": "4.1.1", 1511 | "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", 1512 | "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", 1513 | "dev": true, 1514 | "optional": true 1515 | }, 1516 | "node_modules/http-proxy-agent": { 1517 | "version": "4.0.1", 1518 | "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-4.0.1.tgz", 1519 | "integrity": "sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==", 1520 | "dev": true, 1521 | "optional": true, 1522 | "dependencies": { 1523 | "@tootallnate/once": "1", 1524 | "agent-base": "6", 1525 | "debug": "4" 1526 | }, 1527 | "engines": { 1528 | "node": ">= 6" 1529 | } 1530 | }, 1531 | "node_modules/https-proxy-agent": { 1532 | "version": "5.0.1", 1533 | "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", 1534 | "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", 1535 | "dev": true, 1536 | "optional": true, 1537 | "dependencies": { 1538 | "agent-base": "6", 1539 | "debug": "4" 1540 | }, 1541 | "engines": { 1542 | "node": ">= 6" 1543 | } 1544 | }, 1545 | "node_modules/human-signals": { 1546 | "version": "5.0.0", 1547 | "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-5.0.0.tgz", 1548 | "integrity": "sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==", 1549 | "dev": true, 1550 | "engines": { 1551 | "node": ">=16.17.0" 1552 | } 1553 | }, 1554 | "node_modules/humanize-ms": { 1555 | "version": "1.2.1", 1556 | "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", 1557 | "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", 1558 | "dev": true, 1559 | "optional": true, 1560 | "dependencies": { 1561 | "ms": "^2.0.0" 1562 | } 1563 | }, 1564 | "node_modules/iconv-lite": { 1565 | "version": "0.6.3", 1566 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", 1567 | "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", 1568 | "dev": true, 1569 | "optional": true, 1570 | "dependencies": { 1571 | "safer-buffer": ">= 2.1.2 < 3.0.0" 1572 | }, 1573 | "engines": { 1574 | "node": ">=0.10.0" 1575 | } 1576 | }, 1577 | "node_modules/ieee754": { 1578 | "version": "1.2.1", 1579 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", 1580 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", 1581 | "dev": true, 1582 | "funding": [ 1583 | { 1584 | "type": "github", 1585 | "url": "https://github.com/sponsors/feross" 1586 | }, 1587 | { 1588 | "type": "patreon", 1589 | "url": "https://www.patreon.com/feross" 1590 | }, 1591 | { 1592 | "type": "consulting", 1593 | "url": "https://feross.org/support" 1594 | } 1595 | ] 1596 | }, 1597 | "node_modules/imurmurhash": { 1598 | "version": "0.1.4", 1599 | "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", 1600 | "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", 1601 | "dev": true, 1602 | "optional": true, 1603 | "engines": { 1604 | "node": ">=0.8.19" 1605 | } 1606 | }, 1607 | "node_modules/indent-string": { 1608 | "version": "4.0.0", 1609 | "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", 1610 | "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", 1611 | "dev": true, 1612 | "optional": true, 1613 | "engines": { 1614 | "node": ">=8" 1615 | } 1616 | }, 1617 | "node_modules/infer-owner": { 1618 | "version": "1.0.4", 1619 | "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", 1620 | "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", 1621 | "dev": true, 1622 | "optional": true 1623 | }, 1624 | "node_modules/inflight": { 1625 | "version": "1.0.6", 1626 | "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", 1627 | "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", 1628 | "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", 1629 | "dev": true, 1630 | "optional": true, 1631 | "dependencies": { 1632 | "once": "^1.3.0", 1633 | "wrappy": "1" 1634 | } 1635 | }, 1636 | "node_modules/inherits": { 1637 | "version": "2.0.4", 1638 | "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", 1639 | "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", 1640 | "dev": true 1641 | }, 1642 | "node_modules/ini": { 1643 | "version": "1.3.8", 1644 | "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.8.tgz", 1645 | "integrity": "sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==", 1646 | "dev": true 1647 | }, 1648 | "node_modules/ip-address": { 1649 | "version": "9.0.5", 1650 | "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", 1651 | "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", 1652 | "dev": true, 1653 | "optional": true, 1654 | "dependencies": { 1655 | "jsbn": "1.1.0", 1656 | "sprintf-js": "^1.1.3" 1657 | }, 1658 | "engines": { 1659 | "node": ">= 12" 1660 | } 1661 | }, 1662 | "node_modules/is-fullwidth-code-point": { 1663 | "version": "3.0.0", 1664 | "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", 1665 | "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", 1666 | "dev": true, 1667 | "optional": true, 1668 | "engines": { 1669 | "node": ">=8" 1670 | } 1671 | }, 1672 | "node_modules/is-lambda": { 1673 | "version": "1.0.1", 1674 | "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", 1675 | "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", 1676 | "dev": true, 1677 | "optional": true 1678 | }, 1679 | "node_modules/is-stream": { 1680 | "version": "3.0.0", 1681 | "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-3.0.0.tgz", 1682 | "integrity": "sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==", 1683 | "dev": true, 1684 | "engines": { 1685 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 1686 | }, 1687 | "funding": { 1688 | "url": "https://github.com/sponsors/sindresorhus" 1689 | } 1690 | }, 1691 | "node_modules/isexe": { 1692 | "version": "2.0.0", 1693 | "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", 1694 | "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", 1695 | "dev": true 1696 | }, 1697 | "node_modules/jsbn": { 1698 | "version": "1.1.0", 1699 | "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", 1700 | "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", 1701 | "dev": true, 1702 | "optional": true 1703 | }, 1704 | "node_modules/json-bigint": { 1705 | "version": "1.0.0", 1706 | "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", 1707 | "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", 1708 | "dev": true, 1709 | "dependencies": { 1710 | "bignumber.js": "^9.0.0" 1711 | } 1712 | }, 1713 | "node_modules/jsonfile": { 1714 | "version": "4.0.0", 1715 | "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", 1716 | "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", 1717 | "optionalDependencies": { 1718 | "graceful-fs": "^4.1.6" 1719 | } 1720 | }, 1721 | "node_modules/keyv": { 1722 | "version": "5.0.1", 1723 | "resolved": "https://registry.npmjs.org/keyv/-/keyv-5.0.1.tgz", 1724 | "integrity": "sha512-NH+3ditq1O5uTSQiiHrGOTkwUniRox/lZ8tHARdsu5Skyv0AhZca0OCycWfR1fTECvSRftMQnXqx7cBpxo8G1g==", 1725 | "dev": true, 1726 | "dependencies": { 1727 | "@keyv/serialize": "*" 1728 | } 1729 | }, 1730 | "node_modules/lodash": { 1731 | "version": "4.17.21", 1732 | "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", 1733 | "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", 1734 | "dev": true 1735 | }, 1736 | "node_modules/loupe": { 1737 | "version": "3.1.1", 1738 | "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz", 1739 | "integrity": "sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==", 1740 | "dev": true, 1741 | "dependencies": { 1742 | "get-func-name": "^2.0.1" 1743 | } 1744 | }, 1745 | "node_modules/lru-cache": { 1746 | "version": "6.0.0", 1747 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", 1748 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", 1749 | "dev": true, 1750 | "optional": true, 1751 | "dependencies": { 1752 | "yallist": "^4.0.0" 1753 | }, 1754 | "engines": { 1755 | "node": ">=10" 1756 | } 1757 | }, 1758 | "node_modules/magic-string": { 1759 | "version": "0.30.11", 1760 | "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz", 1761 | "integrity": "sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==", 1762 | "dev": true, 1763 | "dependencies": { 1764 | "@jridgewell/sourcemap-codec": "^1.5.0" 1765 | } 1766 | }, 1767 | "node_modules/make-fetch-happen": { 1768 | "version": "9.1.0", 1769 | "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-9.1.0.tgz", 1770 | "integrity": "sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==", 1771 | "dev": true, 1772 | "optional": true, 1773 | "dependencies": { 1774 | "agentkeepalive": "^4.1.3", 1775 | "cacache": "^15.2.0", 1776 | "http-cache-semantics": "^4.1.0", 1777 | "http-proxy-agent": "^4.0.1", 1778 | "https-proxy-agent": "^5.0.0", 1779 | "is-lambda": "^1.0.1", 1780 | "lru-cache": "^6.0.0", 1781 | "minipass": "^3.1.3", 1782 | "minipass-collect": "^1.0.2", 1783 | "minipass-fetch": "^1.3.2", 1784 | "minipass-flush": "^1.0.5", 1785 | "minipass-pipeline": "^1.2.4", 1786 | "negotiator": "^0.6.2", 1787 | "promise-retry": "^2.0.1", 1788 | "socks-proxy-agent": "^6.0.0", 1789 | "ssri": "^8.0.0" 1790 | }, 1791 | "engines": { 1792 | "node": ">= 10" 1793 | } 1794 | }, 1795 | "node_modules/merge-stream": { 1796 | "version": "2.0.0", 1797 | "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", 1798 | "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", 1799 | "dev": true 1800 | }, 1801 | "node_modules/mimic-fn": { 1802 | "version": "4.0.0", 1803 | "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-4.0.0.tgz", 1804 | "integrity": "sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==", 1805 | "dev": true, 1806 | "engines": { 1807 | "node": ">=12" 1808 | }, 1809 | "funding": { 1810 | "url": "https://github.com/sponsors/sindresorhus" 1811 | } 1812 | }, 1813 | "node_modules/mimic-response": { 1814 | "version": "3.1.0", 1815 | "resolved": "https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz", 1816 | "integrity": "sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==", 1817 | "dev": true, 1818 | "engines": { 1819 | "node": ">=10" 1820 | }, 1821 | "funding": { 1822 | "url": "https://github.com/sponsors/sindresorhus" 1823 | } 1824 | }, 1825 | "node_modules/minimatch": { 1826 | "version": "3.1.2", 1827 | "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", 1828 | "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", 1829 | "dev": true, 1830 | "optional": true, 1831 | "dependencies": { 1832 | "brace-expansion": "^1.1.7" 1833 | }, 1834 | "engines": { 1835 | "node": "*" 1836 | } 1837 | }, 1838 | "node_modules/minimist": { 1839 | "version": "1.2.8", 1840 | "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", 1841 | "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", 1842 | "dev": true, 1843 | "funding": { 1844 | "url": "https://github.com/sponsors/ljharb" 1845 | } 1846 | }, 1847 | "node_modules/minipass": { 1848 | "version": "3.3.6", 1849 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", 1850 | "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", 1851 | "dev": true, 1852 | "dependencies": { 1853 | "yallist": "^4.0.0" 1854 | }, 1855 | "engines": { 1856 | "node": ">=8" 1857 | } 1858 | }, 1859 | "node_modules/minipass-collect": { 1860 | "version": "1.0.2", 1861 | "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", 1862 | "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", 1863 | "dev": true, 1864 | "optional": true, 1865 | "dependencies": { 1866 | "minipass": "^3.0.0" 1867 | }, 1868 | "engines": { 1869 | "node": ">= 8" 1870 | } 1871 | }, 1872 | "node_modules/minipass-fetch": { 1873 | "version": "1.4.1", 1874 | "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-1.4.1.tgz", 1875 | "integrity": "sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==", 1876 | "dev": true, 1877 | "optional": true, 1878 | "dependencies": { 1879 | "minipass": "^3.1.0", 1880 | "minipass-sized": "^1.0.3", 1881 | "minizlib": "^2.0.0" 1882 | }, 1883 | "engines": { 1884 | "node": ">=8" 1885 | }, 1886 | "optionalDependencies": { 1887 | "encoding": "^0.1.12" 1888 | } 1889 | }, 1890 | "node_modules/minipass-flush": { 1891 | "version": "1.0.5", 1892 | "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", 1893 | "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", 1894 | "dev": true, 1895 | "optional": true, 1896 | "dependencies": { 1897 | "minipass": "^3.0.0" 1898 | }, 1899 | "engines": { 1900 | "node": ">= 8" 1901 | } 1902 | }, 1903 | "node_modules/minipass-pipeline": { 1904 | "version": "1.2.4", 1905 | "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", 1906 | "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", 1907 | "dev": true, 1908 | "optional": true, 1909 | "dependencies": { 1910 | "minipass": "^3.0.0" 1911 | }, 1912 | "engines": { 1913 | "node": ">=8" 1914 | } 1915 | }, 1916 | "node_modules/minipass-sized": { 1917 | "version": "1.0.3", 1918 | "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", 1919 | "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", 1920 | "dev": true, 1921 | "optional": true, 1922 | "dependencies": { 1923 | "minipass": "^3.0.0" 1924 | }, 1925 | "engines": { 1926 | "node": ">=8" 1927 | } 1928 | }, 1929 | "node_modules/minizlib": { 1930 | "version": "2.1.2", 1931 | "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", 1932 | "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", 1933 | "dev": true, 1934 | "dependencies": { 1935 | "minipass": "^3.0.0", 1936 | "yallist": "^4.0.0" 1937 | }, 1938 | "engines": { 1939 | "node": ">= 8" 1940 | } 1941 | }, 1942 | "node_modules/mkdirp": { 1943 | "version": "1.0.4", 1944 | "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", 1945 | "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", 1946 | "dev": true, 1947 | "bin": { 1948 | "mkdirp": "bin/cmd.js" 1949 | }, 1950 | "engines": { 1951 | "node": ">=10" 1952 | } 1953 | }, 1954 | "node_modules/mkdirp-classic": { 1955 | "version": "0.5.3", 1956 | "resolved": "https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz", 1957 | "integrity": "sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==", 1958 | "dev": true 1959 | }, 1960 | "node_modules/ms": { 1961 | "version": "2.1.2", 1962 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", 1963 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", 1964 | "dev": true 1965 | }, 1966 | "node_modules/nanoid": { 1967 | "version": "3.3.7", 1968 | "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", 1969 | "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", 1970 | "dev": true, 1971 | "funding": [ 1972 | { 1973 | "type": "github", 1974 | "url": "https://github.com/sponsors/ai" 1975 | } 1976 | ], 1977 | "bin": { 1978 | "nanoid": "bin/nanoid.cjs" 1979 | }, 1980 | "engines": { 1981 | "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" 1982 | } 1983 | }, 1984 | "node_modules/napi-build-utils": { 1985 | "version": "1.0.2", 1986 | "resolved": "https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-1.0.2.tgz", 1987 | "integrity": "sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==", 1988 | "dev": true 1989 | }, 1990 | "node_modules/negotiator": { 1991 | "version": "0.6.3", 1992 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", 1993 | "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", 1994 | "dev": true, 1995 | "optional": true, 1996 | "engines": { 1997 | "node": ">= 0.6" 1998 | } 1999 | }, 2000 | "node_modules/node-abi": { 2001 | "version": "3.67.0", 2002 | "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.67.0.tgz", 2003 | "integrity": "sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==", 2004 | "dev": true, 2005 | "dependencies": { 2006 | "semver": "^7.3.5" 2007 | }, 2008 | "engines": { 2009 | "node": ">=10" 2010 | } 2011 | }, 2012 | "node_modules/node-addon-api": { 2013 | "version": "7.1.1", 2014 | "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", 2015 | "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", 2016 | "dev": true 2017 | }, 2018 | "node_modules/node-gyp": { 2019 | "version": "8.4.1", 2020 | "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-8.4.1.tgz", 2021 | "integrity": "sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==", 2022 | "dev": true, 2023 | "optional": true, 2024 | "dependencies": { 2025 | "env-paths": "^2.2.0", 2026 | "glob": "^7.1.4", 2027 | "graceful-fs": "^4.2.6", 2028 | "make-fetch-happen": "^9.1.0", 2029 | "nopt": "^5.0.0", 2030 | "npmlog": "^6.0.0", 2031 | "rimraf": "^3.0.2", 2032 | "semver": "^7.3.5", 2033 | "tar": "^6.1.2", 2034 | "which": "^2.0.2" 2035 | }, 2036 | "bin": { 2037 | "node-gyp": "bin/node-gyp.js" 2038 | }, 2039 | "engines": { 2040 | "node": ">= 10.12.0" 2041 | } 2042 | }, 2043 | "node_modules/nopt": { 2044 | "version": "5.0.0", 2045 | "resolved": "https://registry.npmjs.org/nopt/-/nopt-5.0.0.tgz", 2046 | "integrity": "sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==", 2047 | "dev": true, 2048 | "optional": true, 2049 | "dependencies": { 2050 | "abbrev": "1" 2051 | }, 2052 | "bin": { 2053 | "nopt": "bin/nopt.js" 2054 | }, 2055 | "engines": { 2056 | "node": ">=6" 2057 | } 2058 | }, 2059 | "node_modules/npm-run-path": { 2060 | "version": "5.3.0", 2061 | "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-5.3.0.tgz", 2062 | "integrity": "sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==", 2063 | "dev": true, 2064 | "dependencies": { 2065 | "path-key": "^4.0.0" 2066 | }, 2067 | "engines": { 2068 | "node": "^12.20.0 || ^14.13.1 || >=16.0.0" 2069 | }, 2070 | "funding": { 2071 | "url": "https://github.com/sponsors/sindresorhus" 2072 | } 2073 | }, 2074 | "node_modules/npm-run-path/node_modules/path-key": { 2075 | "version": "4.0.0", 2076 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz", 2077 | "integrity": "sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==", 2078 | "dev": true, 2079 | "engines": { 2080 | "node": ">=12" 2081 | }, 2082 | "funding": { 2083 | "url": "https://github.com/sponsors/sindresorhus" 2084 | } 2085 | }, 2086 | "node_modules/npmlog": { 2087 | "version": "6.0.2", 2088 | "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", 2089 | "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", 2090 | "deprecated": "This package is no longer supported.", 2091 | "dev": true, 2092 | "optional": true, 2093 | "dependencies": { 2094 | "are-we-there-yet": "^3.0.0", 2095 | "console-control-strings": "^1.1.0", 2096 | "gauge": "^4.0.3", 2097 | "set-blocking": "^2.0.0" 2098 | }, 2099 | "engines": { 2100 | "node": "^12.13.0 || ^14.15.0 || >=16.0.0" 2101 | } 2102 | }, 2103 | "node_modules/once": { 2104 | "version": "1.4.0", 2105 | "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", 2106 | "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", 2107 | "dev": true, 2108 | "dependencies": { 2109 | "wrappy": "1" 2110 | } 2111 | }, 2112 | "node_modules/onetime": { 2113 | "version": "6.0.0", 2114 | "resolved": "https://registry.npmjs.org/onetime/-/onetime-6.0.0.tgz", 2115 | "integrity": "sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==", 2116 | "dev": true, 2117 | "dependencies": { 2118 | "mimic-fn": "^4.0.0" 2119 | }, 2120 | "engines": { 2121 | "node": ">=12" 2122 | }, 2123 | "funding": { 2124 | "url": "https://github.com/sponsors/sindresorhus" 2125 | } 2126 | }, 2127 | "node_modules/p-map": { 2128 | "version": "4.0.0", 2129 | "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", 2130 | "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", 2131 | "dev": true, 2132 | "optional": true, 2133 | "dependencies": { 2134 | "aggregate-error": "^3.0.0" 2135 | }, 2136 | "engines": { 2137 | "node": ">=10" 2138 | }, 2139 | "funding": { 2140 | "url": "https://github.com/sponsors/sindresorhus" 2141 | } 2142 | }, 2143 | "node_modules/path-is-absolute": { 2144 | "version": "1.0.1", 2145 | "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", 2146 | "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", 2147 | "dev": true, 2148 | "optional": true, 2149 | "engines": { 2150 | "node": ">=0.10.0" 2151 | } 2152 | }, 2153 | "node_modules/path-key": { 2154 | "version": "3.1.1", 2155 | "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", 2156 | "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", 2157 | "dev": true, 2158 | "engines": { 2159 | "node": ">=8" 2160 | } 2161 | }, 2162 | "node_modules/pathe": { 2163 | "version": "1.1.2", 2164 | "resolved": "https://registry.npmjs.org/pathe/-/pathe-1.1.2.tgz", 2165 | "integrity": "sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==", 2166 | "dev": true 2167 | }, 2168 | "node_modules/pathval": { 2169 | "version": "2.0.0", 2170 | "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.0.tgz", 2171 | "integrity": "sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==", 2172 | "dev": true, 2173 | "engines": { 2174 | "node": ">= 14.16" 2175 | } 2176 | }, 2177 | "node_modules/picocolors": { 2178 | "version": "1.0.1", 2179 | "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz", 2180 | "integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==", 2181 | "dev": true 2182 | }, 2183 | "node_modules/platform": { 2184 | "version": "1.3.6", 2185 | "resolved": "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz", 2186 | "integrity": "sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==", 2187 | "dev": true 2188 | }, 2189 | "node_modules/postcss": { 2190 | "version": "8.4.41", 2191 | "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.41.tgz", 2192 | "integrity": "sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==", 2193 | "dev": true, 2194 | "funding": [ 2195 | { 2196 | "type": "opencollective", 2197 | "url": "https://opencollective.com/postcss/" 2198 | }, 2199 | { 2200 | "type": "tidelift", 2201 | "url": "https://tidelift.com/funding/github/npm/postcss" 2202 | }, 2203 | { 2204 | "type": "github", 2205 | "url": "https://github.com/sponsors/ai" 2206 | } 2207 | ], 2208 | "dependencies": { 2209 | "nanoid": "^3.3.7", 2210 | "picocolors": "^1.0.1", 2211 | "source-map-js": "^1.2.0" 2212 | }, 2213 | "engines": { 2214 | "node": "^10 || ^12 || >=14" 2215 | } 2216 | }, 2217 | "node_modules/prebuild-install": { 2218 | "version": "7.1.2", 2219 | "resolved": "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.2.tgz", 2220 | "integrity": "sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==", 2221 | "dev": true, 2222 | "dependencies": { 2223 | "detect-libc": "^2.0.0", 2224 | "expand-template": "^2.0.3", 2225 | "github-from-package": "0.0.0", 2226 | "minimist": "^1.2.3", 2227 | "mkdirp-classic": "^0.5.3", 2228 | "napi-build-utils": "^1.0.1", 2229 | "node-abi": "^3.3.0", 2230 | "pump": "^3.0.0", 2231 | "rc": "^1.2.7", 2232 | "simple-get": "^4.0.0", 2233 | "tar-fs": "^2.0.0", 2234 | "tunnel-agent": "^0.6.0" 2235 | }, 2236 | "bin": { 2237 | "prebuild-install": "bin.js" 2238 | }, 2239 | "engines": { 2240 | "node": ">=10" 2241 | } 2242 | }, 2243 | "node_modules/promise-inflight": { 2244 | "version": "1.0.1", 2245 | "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", 2246 | "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", 2247 | "dev": true, 2248 | "optional": true 2249 | }, 2250 | "node_modules/promise-retry": { 2251 | "version": "2.0.1", 2252 | "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", 2253 | "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", 2254 | "dev": true, 2255 | "optional": true, 2256 | "dependencies": { 2257 | "err-code": "^2.0.2", 2258 | "retry": "^0.12.0" 2259 | }, 2260 | "engines": { 2261 | "node": ">=10" 2262 | } 2263 | }, 2264 | "node_modules/pump": { 2265 | "version": "3.0.0", 2266 | "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", 2267 | "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", 2268 | "dev": true, 2269 | "dependencies": { 2270 | "end-of-stream": "^1.1.0", 2271 | "once": "^1.3.1" 2272 | } 2273 | }, 2274 | "node_modules/rc": { 2275 | "version": "1.2.8", 2276 | "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", 2277 | "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", 2278 | "dev": true, 2279 | "dependencies": { 2280 | "deep-extend": "^0.6.0", 2281 | "ini": "~1.3.0", 2282 | "minimist": "^1.2.0", 2283 | "strip-json-comments": "~2.0.1" 2284 | }, 2285 | "bin": { 2286 | "rc": "cli.js" 2287 | } 2288 | }, 2289 | "node_modules/readable-stream": { 2290 | "version": "3.6.2", 2291 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", 2292 | "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", 2293 | "dev": true, 2294 | "dependencies": { 2295 | "inherits": "^2.0.3", 2296 | "string_decoder": "^1.1.1", 2297 | "util-deprecate": "^1.0.1" 2298 | }, 2299 | "engines": { 2300 | "node": ">= 6" 2301 | } 2302 | }, 2303 | "node_modules/retry": { 2304 | "version": "0.12.0", 2305 | "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", 2306 | "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", 2307 | "dev": true, 2308 | "optional": true, 2309 | "engines": { 2310 | "node": ">= 4" 2311 | } 2312 | }, 2313 | "node_modules/rimraf": { 2314 | "version": "3.0.2", 2315 | "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", 2316 | "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", 2317 | "deprecated": "Rimraf versions prior to v4 are no longer supported", 2318 | "dev": true, 2319 | "optional": true, 2320 | "dependencies": { 2321 | "glob": "^7.1.3" 2322 | }, 2323 | "bin": { 2324 | "rimraf": "bin.js" 2325 | }, 2326 | "funding": { 2327 | "url": "https://github.com/sponsors/isaacs" 2328 | } 2329 | }, 2330 | "node_modules/rollup": { 2331 | "version": "4.21.1", 2332 | "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.21.1.tgz", 2333 | "integrity": "sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==", 2334 | "dev": true, 2335 | "dependencies": { 2336 | "@types/estree": "1.0.5" 2337 | }, 2338 | "bin": { 2339 | "rollup": "dist/bin/rollup" 2340 | }, 2341 | "engines": { 2342 | "node": ">=18.0.0", 2343 | "npm": ">=8.0.0" 2344 | }, 2345 | "optionalDependencies": { 2346 | "@rollup/rollup-android-arm-eabi": "4.21.1", 2347 | "@rollup/rollup-android-arm64": "4.21.1", 2348 | "@rollup/rollup-darwin-arm64": "4.21.1", 2349 | "@rollup/rollup-darwin-x64": "4.21.1", 2350 | "@rollup/rollup-linux-arm-gnueabihf": "4.21.1", 2351 | "@rollup/rollup-linux-arm-musleabihf": "4.21.1", 2352 | "@rollup/rollup-linux-arm64-gnu": "4.21.1", 2353 | "@rollup/rollup-linux-arm64-musl": "4.21.1", 2354 | "@rollup/rollup-linux-powerpc64le-gnu": "4.21.1", 2355 | "@rollup/rollup-linux-riscv64-gnu": "4.21.1", 2356 | "@rollup/rollup-linux-s390x-gnu": "4.21.1", 2357 | "@rollup/rollup-linux-x64-gnu": "4.21.1", 2358 | "@rollup/rollup-linux-x64-musl": "4.21.1", 2359 | "@rollup/rollup-win32-arm64-msvc": "4.21.1", 2360 | "@rollup/rollup-win32-ia32-msvc": "4.21.1", 2361 | "@rollup/rollup-win32-x64-msvc": "4.21.1", 2362 | "fsevents": "~2.3.2" 2363 | } 2364 | }, 2365 | "node_modules/safe-buffer": { 2366 | "version": "5.2.1", 2367 | "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", 2368 | "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", 2369 | "dev": true, 2370 | "funding": [ 2371 | { 2372 | "type": "github", 2373 | "url": "https://github.com/sponsors/feross" 2374 | }, 2375 | { 2376 | "type": "patreon", 2377 | "url": "https://www.patreon.com/feross" 2378 | }, 2379 | { 2380 | "type": "consulting", 2381 | "url": "https://feross.org/support" 2382 | } 2383 | ] 2384 | }, 2385 | "node_modules/safer-buffer": { 2386 | "version": "2.1.2", 2387 | "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", 2388 | "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", 2389 | "dev": true, 2390 | "optional": true 2391 | }, 2392 | "node_modules/semver": { 2393 | "version": "7.6.3", 2394 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", 2395 | "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", 2396 | "dev": true, 2397 | "bin": { 2398 | "semver": "bin/semver.js" 2399 | }, 2400 | "engines": { 2401 | "node": ">=10" 2402 | } 2403 | }, 2404 | "node_modules/set-blocking": { 2405 | "version": "2.0.0", 2406 | "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", 2407 | "integrity": "sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==", 2408 | "dev": true, 2409 | "optional": true 2410 | }, 2411 | "node_modules/shebang-command": { 2412 | "version": "2.0.0", 2413 | "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", 2414 | "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", 2415 | "dev": true, 2416 | "dependencies": { 2417 | "shebang-regex": "^3.0.0" 2418 | }, 2419 | "engines": { 2420 | "node": ">=8" 2421 | } 2422 | }, 2423 | "node_modules/shebang-regex": { 2424 | "version": "3.0.0", 2425 | "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", 2426 | "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", 2427 | "dev": true, 2428 | "engines": { 2429 | "node": ">=8" 2430 | } 2431 | }, 2432 | "node_modules/siginfo": { 2433 | "version": "2.0.0", 2434 | "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", 2435 | "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", 2436 | "dev": true 2437 | }, 2438 | "node_modules/signal-exit": { 2439 | "version": "3.0.7", 2440 | "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", 2441 | "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", 2442 | "dev": true, 2443 | "optional": true 2444 | }, 2445 | "node_modules/simple-concat": { 2446 | "version": "1.0.1", 2447 | "resolved": "https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz", 2448 | "integrity": "sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==", 2449 | "dev": true, 2450 | "funding": [ 2451 | { 2452 | "type": "github", 2453 | "url": "https://github.com/sponsors/feross" 2454 | }, 2455 | { 2456 | "type": "patreon", 2457 | "url": "https://www.patreon.com/feross" 2458 | }, 2459 | { 2460 | "type": "consulting", 2461 | "url": "https://feross.org/support" 2462 | } 2463 | ] 2464 | }, 2465 | "node_modules/simple-get": { 2466 | "version": "4.0.1", 2467 | "resolved": "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz", 2468 | "integrity": "sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==", 2469 | "dev": true, 2470 | "funding": [ 2471 | { 2472 | "type": "github", 2473 | "url": "https://github.com/sponsors/feross" 2474 | }, 2475 | { 2476 | "type": "patreon", 2477 | "url": "https://www.patreon.com/feross" 2478 | }, 2479 | { 2480 | "type": "consulting", 2481 | "url": "https://feross.org/support" 2482 | } 2483 | ], 2484 | "dependencies": { 2485 | "decompress-response": "^6.0.0", 2486 | "once": "^1.3.1", 2487 | "simple-concat": "^1.0.0" 2488 | } 2489 | }, 2490 | "node_modules/smart-buffer": { 2491 | "version": "4.2.0", 2492 | "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", 2493 | "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", 2494 | "dev": true, 2495 | "optional": true, 2496 | "engines": { 2497 | "node": ">= 6.0.0", 2498 | "npm": ">= 3.0.0" 2499 | } 2500 | }, 2501 | "node_modules/socks": { 2502 | "version": "2.8.3", 2503 | "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.3.tgz", 2504 | "integrity": "sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==", 2505 | "dev": true, 2506 | "optional": true, 2507 | "dependencies": { 2508 | "ip-address": "^9.0.5", 2509 | "smart-buffer": "^4.2.0" 2510 | }, 2511 | "engines": { 2512 | "node": ">= 10.0.0", 2513 | "npm": ">= 3.0.0" 2514 | } 2515 | }, 2516 | "node_modules/socks-proxy-agent": { 2517 | "version": "6.2.1", 2518 | "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.1.tgz", 2519 | "integrity": "sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==", 2520 | "dev": true, 2521 | "optional": true, 2522 | "dependencies": { 2523 | "agent-base": "^6.0.2", 2524 | "debug": "^4.3.3", 2525 | "socks": "^2.6.2" 2526 | }, 2527 | "engines": { 2528 | "node": ">= 10" 2529 | } 2530 | }, 2531 | "node_modules/source-map-js": { 2532 | "version": "1.2.0", 2533 | "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", 2534 | "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", 2535 | "dev": true, 2536 | "engines": { 2537 | "node": ">=0.10.0" 2538 | } 2539 | }, 2540 | "node_modules/sprintf-js": { 2541 | "version": "1.1.3", 2542 | "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", 2543 | "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", 2544 | "dev": true, 2545 | "optional": true 2546 | }, 2547 | "node_modules/sqlite3": { 2548 | "version": "5.1.7", 2549 | "resolved": "https://registry.npmjs.org/sqlite3/-/sqlite3-5.1.7.tgz", 2550 | "integrity": "sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==", 2551 | "dev": true, 2552 | "hasInstallScript": true, 2553 | "dependencies": { 2554 | "bindings": "^1.5.0", 2555 | "node-addon-api": "^7.0.0", 2556 | "prebuild-install": "^7.1.1", 2557 | "tar": "^6.1.11" 2558 | }, 2559 | "optionalDependencies": { 2560 | "node-gyp": "8.x" 2561 | }, 2562 | "peerDependencies": { 2563 | "node-gyp": "8.x" 2564 | }, 2565 | "peerDependenciesMeta": { 2566 | "node-gyp": { 2567 | "optional": true 2568 | } 2569 | } 2570 | }, 2571 | "node_modules/ssri": { 2572 | "version": "8.0.1", 2573 | "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.1.tgz", 2574 | "integrity": "sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==", 2575 | "dev": true, 2576 | "optional": true, 2577 | "dependencies": { 2578 | "minipass": "^3.1.1" 2579 | }, 2580 | "engines": { 2581 | "node": ">= 8" 2582 | } 2583 | }, 2584 | "node_modules/stackback": { 2585 | "version": "0.0.2", 2586 | "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", 2587 | "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", 2588 | "dev": true 2589 | }, 2590 | "node_modules/std-env": { 2591 | "version": "3.7.0", 2592 | "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.7.0.tgz", 2593 | "integrity": "sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==", 2594 | "dev": true 2595 | }, 2596 | "node_modules/string_decoder": { 2597 | "version": "1.3.0", 2598 | "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", 2599 | "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", 2600 | "dev": true, 2601 | "dependencies": { 2602 | "safe-buffer": "~5.2.0" 2603 | } 2604 | }, 2605 | "node_modules/string-width": { 2606 | "version": "4.2.3", 2607 | "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", 2608 | "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", 2609 | "dev": true, 2610 | "optional": true, 2611 | "dependencies": { 2612 | "emoji-regex": "^8.0.0", 2613 | "is-fullwidth-code-point": "^3.0.0", 2614 | "strip-ansi": "^6.0.1" 2615 | }, 2616 | "engines": { 2617 | "node": ">=8" 2618 | } 2619 | }, 2620 | "node_modules/strip-ansi": { 2621 | "version": "6.0.1", 2622 | "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", 2623 | "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", 2624 | "dev": true, 2625 | "optional": true, 2626 | "dependencies": { 2627 | "ansi-regex": "^5.0.1" 2628 | }, 2629 | "engines": { 2630 | "node": ">=8" 2631 | } 2632 | }, 2633 | "node_modules/strip-final-newline": { 2634 | "version": "3.0.0", 2635 | "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-3.0.0.tgz", 2636 | "integrity": "sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==", 2637 | "dev": true, 2638 | "engines": { 2639 | "node": ">=12" 2640 | }, 2641 | "funding": { 2642 | "url": "https://github.com/sponsors/sindresorhus" 2643 | } 2644 | }, 2645 | "node_modules/strip-json-comments": { 2646 | "version": "2.0.1", 2647 | "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", 2648 | "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==", 2649 | "dev": true, 2650 | "engines": { 2651 | "node": ">=0.10.0" 2652 | } 2653 | }, 2654 | "node_modules/tar": { 2655 | "version": "6.2.1", 2656 | "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", 2657 | "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", 2658 | "dev": true, 2659 | "dependencies": { 2660 | "chownr": "^2.0.0", 2661 | "fs-minipass": "^2.0.0", 2662 | "minipass": "^5.0.0", 2663 | "minizlib": "^2.1.1", 2664 | "mkdirp": "^1.0.3", 2665 | "yallist": "^4.0.0" 2666 | }, 2667 | "engines": { 2668 | "node": ">=10" 2669 | } 2670 | }, 2671 | "node_modules/tar-fs": { 2672 | "version": "2.1.1", 2673 | "resolved": "https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.1.tgz", 2674 | "integrity": "sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==", 2675 | "dev": true, 2676 | "dependencies": { 2677 | "chownr": "^1.1.1", 2678 | "mkdirp-classic": "^0.5.2", 2679 | "pump": "^3.0.0", 2680 | "tar-stream": "^2.1.4" 2681 | } 2682 | }, 2683 | "node_modules/tar-fs/node_modules/chownr": { 2684 | "version": "1.1.4", 2685 | "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", 2686 | "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", 2687 | "dev": true 2688 | }, 2689 | "node_modules/tar-stream": { 2690 | "version": "2.2.0", 2691 | "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", 2692 | "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", 2693 | "dev": true, 2694 | "dependencies": { 2695 | "bl": "^4.0.3", 2696 | "end-of-stream": "^1.4.1", 2697 | "fs-constants": "^1.0.0", 2698 | "inherits": "^2.0.3", 2699 | "readable-stream": "^3.1.1" 2700 | }, 2701 | "engines": { 2702 | "node": ">=6" 2703 | } 2704 | }, 2705 | "node_modules/tar/node_modules/minipass": { 2706 | "version": "5.0.0", 2707 | "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", 2708 | "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", 2709 | "dev": true, 2710 | "engines": { 2711 | "node": ">=8" 2712 | } 2713 | }, 2714 | "node_modules/timekeeper": { 2715 | "version": "2.3.1", 2716 | "resolved": "https://registry.npmjs.org/timekeeper/-/timekeeper-2.3.1.tgz", 2717 | "integrity": "sha512-LeQRS7/4JcC0PgdSFnfUiStQEdiuySlCj/5SJ18D+T1n9BoY7PxKFfCwLulpHXoLUFr67HxBddQdEX47lDGx1g==", 2718 | "dev": true 2719 | }, 2720 | "node_modules/tinybench": { 2721 | "version": "2.9.0", 2722 | "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", 2723 | "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", 2724 | "dev": true 2725 | }, 2726 | "node_modules/tinypool": { 2727 | "version": "1.0.1", 2728 | "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.0.1.tgz", 2729 | "integrity": "sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==", 2730 | "dev": true, 2731 | "engines": { 2732 | "node": "^18.0.0 || >=20.0.0" 2733 | } 2734 | }, 2735 | "node_modules/tinyrainbow": { 2736 | "version": "1.2.0", 2737 | "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-1.2.0.tgz", 2738 | "integrity": "sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==", 2739 | "dev": true, 2740 | "engines": { 2741 | "node": ">=14.0.0" 2742 | } 2743 | }, 2744 | "node_modules/tinyspy": { 2745 | "version": "3.0.0", 2746 | "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-3.0.0.tgz", 2747 | "integrity": "sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==", 2748 | "dev": true, 2749 | "engines": { 2750 | "node": ">=14.0.0" 2751 | } 2752 | }, 2753 | "node_modules/tslib": { 2754 | "version": "1.14.1", 2755 | "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", 2756 | "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" 2757 | }, 2758 | "node_modules/tunnel-agent": { 2759 | "version": "0.6.0", 2760 | "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", 2761 | "integrity": "sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==", 2762 | "dev": true, 2763 | "dependencies": { 2764 | "safe-buffer": "^5.0.1" 2765 | }, 2766 | "engines": { 2767 | "node": "*" 2768 | } 2769 | }, 2770 | "node_modules/typescript": { 2771 | "version": "5.5.4", 2772 | "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", 2773 | "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", 2774 | "dev": true, 2775 | "bin": { 2776 | "tsc": "bin/tsc", 2777 | "tsserver": "bin/tsserver" 2778 | }, 2779 | "engines": { 2780 | "node": ">=14.17" 2781 | } 2782 | }, 2783 | "node_modules/undici-types": { 2784 | "version": "6.19.8", 2785 | "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz", 2786 | "integrity": "sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==", 2787 | "dev": true 2788 | }, 2789 | "node_modules/unique-filename": { 2790 | "version": "1.1.1", 2791 | "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", 2792 | "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", 2793 | "dev": true, 2794 | "optional": true, 2795 | "dependencies": { 2796 | "unique-slug": "^2.0.0" 2797 | } 2798 | }, 2799 | "node_modules/unique-slug": { 2800 | "version": "2.0.2", 2801 | "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", 2802 | "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", 2803 | "dev": true, 2804 | "optional": true, 2805 | "dependencies": { 2806 | "imurmurhash": "^0.1.4" 2807 | } 2808 | }, 2809 | "node_modules/universalify": { 2810 | "version": "0.1.2", 2811 | "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", 2812 | "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", 2813 | "engines": { 2814 | "node": ">= 4.0.0" 2815 | } 2816 | }, 2817 | "node_modules/util-deprecate": { 2818 | "version": "1.0.2", 2819 | "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", 2820 | "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", 2821 | "dev": true 2822 | }, 2823 | "node_modules/vite": { 2824 | "version": "5.4.2", 2825 | "resolved": "https://registry.npmjs.org/vite/-/vite-5.4.2.tgz", 2826 | "integrity": "sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==", 2827 | "dev": true, 2828 | "dependencies": { 2829 | "esbuild": "^0.21.3", 2830 | "postcss": "^8.4.41", 2831 | "rollup": "^4.20.0" 2832 | }, 2833 | "bin": { 2834 | "vite": "bin/vite.js" 2835 | }, 2836 | "engines": { 2837 | "node": "^18.0.0 || >=20.0.0" 2838 | }, 2839 | "funding": { 2840 | "url": "https://github.com/vitejs/vite?sponsor=1" 2841 | }, 2842 | "optionalDependencies": { 2843 | "fsevents": "~2.3.3" 2844 | }, 2845 | "peerDependencies": { 2846 | "@types/node": "^18.0.0 || >=20.0.0", 2847 | "less": "*", 2848 | "lightningcss": "^1.21.0", 2849 | "sass": "*", 2850 | "sass-embedded": "*", 2851 | "stylus": "*", 2852 | "sugarss": "*", 2853 | "terser": "^5.4.0" 2854 | }, 2855 | "peerDependenciesMeta": { 2856 | "@types/node": { 2857 | "optional": true 2858 | }, 2859 | "less": { 2860 | "optional": true 2861 | }, 2862 | "lightningcss": { 2863 | "optional": true 2864 | }, 2865 | "sass": { 2866 | "optional": true 2867 | }, 2868 | "sass-embedded": { 2869 | "optional": true 2870 | }, 2871 | "stylus": { 2872 | "optional": true 2873 | }, 2874 | "sugarss": { 2875 | "optional": true 2876 | }, 2877 | "terser": { 2878 | "optional": true 2879 | } 2880 | } 2881 | }, 2882 | "node_modules/vite-node": { 2883 | "version": "2.0.5", 2884 | "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-2.0.5.tgz", 2885 | "integrity": "sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==", 2886 | "dev": true, 2887 | "dependencies": { 2888 | "cac": "^6.7.14", 2889 | "debug": "^4.3.5", 2890 | "pathe": "^1.1.2", 2891 | "tinyrainbow": "^1.2.0", 2892 | "vite": "^5.0.0" 2893 | }, 2894 | "bin": { 2895 | "vite-node": "vite-node.mjs" 2896 | }, 2897 | "engines": { 2898 | "node": "^18.0.0 || >=20.0.0" 2899 | }, 2900 | "funding": { 2901 | "url": "https://opencollective.com/vitest" 2902 | } 2903 | }, 2904 | "node_modules/vitest": { 2905 | "version": "2.0.5", 2906 | "resolved": "https://registry.npmjs.org/vitest/-/vitest-2.0.5.tgz", 2907 | "integrity": "sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==", 2908 | "dev": true, 2909 | "dependencies": { 2910 | "@ampproject/remapping": "^2.3.0", 2911 | "@vitest/expect": "2.0.5", 2912 | "@vitest/pretty-format": "^2.0.5", 2913 | "@vitest/runner": "2.0.5", 2914 | "@vitest/snapshot": "2.0.5", 2915 | "@vitest/spy": "2.0.5", 2916 | "@vitest/utils": "2.0.5", 2917 | "chai": "^5.1.1", 2918 | "debug": "^4.3.5", 2919 | "execa": "^8.0.1", 2920 | "magic-string": "^0.30.10", 2921 | "pathe": "^1.1.2", 2922 | "std-env": "^3.7.0", 2923 | "tinybench": "^2.8.0", 2924 | "tinypool": "^1.0.0", 2925 | "tinyrainbow": "^1.2.0", 2926 | "vite": "^5.0.0", 2927 | "vite-node": "2.0.5", 2928 | "why-is-node-running": "^2.3.0" 2929 | }, 2930 | "bin": { 2931 | "vitest": "vitest.mjs" 2932 | }, 2933 | "engines": { 2934 | "node": "^18.0.0 || >=20.0.0" 2935 | }, 2936 | "funding": { 2937 | "url": "https://opencollective.com/vitest" 2938 | }, 2939 | "peerDependencies": { 2940 | "@edge-runtime/vm": "*", 2941 | "@types/node": "^18.0.0 || >=20.0.0", 2942 | "@vitest/browser": "2.0.5", 2943 | "@vitest/ui": "2.0.5", 2944 | "happy-dom": "*", 2945 | "jsdom": "*" 2946 | }, 2947 | "peerDependenciesMeta": { 2948 | "@edge-runtime/vm": { 2949 | "optional": true 2950 | }, 2951 | "@types/node": { 2952 | "optional": true 2953 | }, 2954 | "@vitest/browser": { 2955 | "optional": true 2956 | }, 2957 | "@vitest/ui": { 2958 | "optional": true 2959 | }, 2960 | "happy-dom": { 2961 | "optional": true 2962 | }, 2963 | "jsdom": { 2964 | "optional": true 2965 | } 2966 | } 2967 | }, 2968 | "node_modules/which": { 2969 | "version": "2.0.2", 2970 | "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", 2971 | "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", 2972 | "dev": true, 2973 | "dependencies": { 2974 | "isexe": "^2.0.0" 2975 | }, 2976 | "bin": { 2977 | "node-which": "bin/node-which" 2978 | }, 2979 | "engines": { 2980 | "node": ">= 8" 2981 | } 2982 | }, 2983 | "node_modules/why-is-node-running": { 2984 | "version": "2.3.0", 2985 | "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", 2986 | "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", 2987 | "dev": true, 2988 | "dependencies": { 2989 | "siginfo": "^2.0.0", 2990 | "stackback": "0.0.2" 2991 | }, 2992 | "bin": { 2993 | "why-is-node-running": "cli.js" 2994 | }, 2995 | "engines": { 2996 | "node": ">=8" 2997 | } 2998 | }, 2999 | "node_modules/wide-align": { 3000 | "version": "1.1.5", 3001 | "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", 3002 | "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", 3003 | "dev": true, 3004 | "optional": true, 3005 | "dependencies": { 3006 | "string-width": "^1.0.2 || 2 || 3 || 4" 3007 | } 3008 | }, 3009 | "node_modules/wrappy": { 3010 | "version": "1.0.2", 3011 | "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", 3012 | "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", 3013 | "dev": true 3014 | }, 3015 | "node_modules/yallist": { 3016 | "version": "4.0.0", 3017 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", 3018 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", 3019 | "dev": true 3020 | } 3021 | } 3022 | } 3023 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "keyv-file", 3 | "version": "5.1.2", 4 | "description": "File storage adapter for Keyv, using msgpack to serialize data fast and small.", 5 | "main": "lib/index.js", 6 | "typings": "lib/index", 7 | "types": "./lib/index", 8 | "scripts": { 9 | "build": "tsc", 10 | "test": "tsc && vitest run", 11 | "preversion": "pnpm test", 12 | "postversion": "git add -A && git push origin master --tags" 13 | }, 14 | "files": [ 15 | "lib" 16 | ], 17 | "repository": { 18 | "type": "git", 19 | "url": "git+https://github.com/zaaack/keyv-file.git" 20 | }, 21 | "keywords": [ 22 | "keyv", 23 | "fast", 24 | "storage", 25 | "cache", 26 | "simple" 27 | ], 28 | "author": "zaaack", 29 | "license": "MIT", 30 | "bugs": { 31 | "url": "https://github.com/zaaack/keyv-file/issues" 32 | }, 33 | "homepage": "https://github.com/zaaack/keyv-file#readme", 34 | "devDependencies": { 35 | "@keyv/test-suite": "^2.0.1", 36 | "@types/debug": "^0.0.31", 37 | "@types/fs-extra": "^5.0.4", 38 | "@types/node": "^22.2.0", 39 | "benchmark": "^2.1.4", 40 | "keyv": "^5.0.1", 41 | "typescript": "^5.5.4", 42 | "vitest": "^2.0.5" 43 | }, 44 | "dependencies": { 45 | "@keyv/serialize": "^1.0.1", 46 | "fs-extra": "^4.0.1", 47 | "tslib": "^1.14.1" 48 | }, 49 | "packageManager": "pnpm@9.6.0+sha512.38dc6fba8dba35b39340b9700112c2fe1e12f10b17134715a4aa98ccf7bb035e76fd981cf0bb384dfa98f8d6af5481c2bef2f4266a24bfa20c34eb7147ce0b5e" 50 | } 51 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | dependencies: 11 | '@keyv/serialize': 12 | specifier: ^1.0.1 13 | version: 1.0.1 14 | fs-extra: 15 | specifier: ^4.0.1 16 | version: 4.0.3 17 | tslib: 18 | specifier: ^1.14.1 19 | version: 1.14.1 20 | devDependencies: 21 | '@keyv/test-suite': 22 | specifier: ^2.0.1 23 | version: 2.0.1 24 | '@types/debug': 25 | specifier: ^0.0.31 26 | version: 0.0.31 27 | '@types/fs-extra': 28 | specifier: ^5.0.4 29 | version: 5.1.0 30 | '@types/node': 31 | specifier: ^22.2.0 32 | version: 22.2.0 33 | benchmark: 34 | specifier: ^2.1.4 35 | version: 2.1.4 36 | keyv: 37 | specifier: ^5.0.1 38 | version: 5.0.1 39 | typescript: 40 | specifier: ^5.5.4 41 | version: 5.5.4 42 | vitest: 43 | specifier: ^2.0.5 44 | version: 2.0.5(@types/node@22.2.0) 45 | 46 | packages: 47 | 48 | '@ampproject/remapping@2.3.0': 49 | resolution: {integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==} 50 | engines: {node: '>=6.0.0'} 51 | 52 | '@esbuild/aix-ppc64@0.21.5': 53 | resolution: {integrity: sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==} 54 | engines: {node: '>=12'} 55 | cpu: [ppc64] 56 | os: [aix] 57 | 58 | '@esbuild/android-arm64@0.21.5': 59 | resolution: {integrity: sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==} 60 | engines: {node: '>=12'} 61 | cpu: [arm64] 62 | os: [android] 63 | 64 | '@esbuild/android-arm@0.21.5': 65 | resolution: {integrity: sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==} 66 | engines: {node: '>=12'} 67 | cpu: [arm] 68 | os: [android] 69 | 70 | '@esbuild/android-x64@0.21.5': 71 | resolution: {integrity: sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==} 72 | engines: {node: '>=12'} 73 | cpu: [x64] 74 | os: [android] 75 | 76 | '@esbuild/darwin-arm64@0.21.5': 77 | resolution: {integrity: sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==} 78 | engines: {node: '>=12'} 79 | cpu: [arm64] 80 | os: [darwin] 81 | 82 | '@esbuild/darwin-x64@0.21.5': 83 | resolution: {integrity: sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==} 84 | engines: {node: '>=12'} 85 | cpu: [x64] 86 | os: [darwin] 87 | 88 | '@esbuild/freebsd-arm64@0.21.5': 89 | resolution: {integrity: sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==} 90 | engines: {node: '>=12'} 91 | cpu: [arm64] 92 | os: [freebsd] 93 | 94 | '@esbuild/freebsd-x64@0.21.5': 95 | resolution: {integrity: sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==} 96 | engines: {node: '>=12'} 97 | cpu: [x64] 98 | os: [freebsd] 99 | 100 | '@esbuild/linux-arm64@0.21.5': 101 | resolution: {integrity: sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==} 102 | engines: {node: '>=12'} 103 | cpu: [arm64] 104 | os: [linux] 105 | 106 | '@esbuild/linux-arm@0.21.5': 107 | resolution: {integrity: sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==} 108 | engines: {node: '>=12'} 109 | cpu: [arm] 110 | os: [linux] 111 | 112 | '@esbuild/linux-ia32@0.21.5': 113 | resolution: {integrity: sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==} 114 | engines: {node: '>=12'} 115 | cpu: [ia32] 116 | os: [linux] 117 | 118 | '@esbuild/linux-loong64@0.21.5': 119 | resolution: {integrity: sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==} 120 | engines: {node: '>=12'} 121 | cpu: [loong64] 122 | os: [linux] 123 | 124 | '@esbuild/linux-mips64el@0.21.5': 125 | resolution: {integrity: sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==} 126 | engines: {node: '>=12'} 127 | cpu: [mips64el] 128 | os: [linux] 129 | 130 | '@esbuild/linux-ppc64@0.21.5': 131 | resolution: {integrity: sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==} 132 | engines: {node: '>=12'} 133 | cpu: [ppc64] 134 | os: [linux] 135 | 136 | '@esbuild/linux-riscv64@0.21.5': 137 | resolution: {integrity: sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==} 138 | engines: {node: '>=12'} 139 | cpu: [riscv64] 140 | os: [linux] 141 | 142 | '@esbuild/linux-s390x@0.21.5': 143 | resolution: {integrity: sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==} 144 | engines: {node: '>=12'} 145 | cpu: [s390x] 146 | os: [linux] 147 | 148 | '@esbuild/linux-x64@0.21.5': 149 | resolution: {integrity: sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==} 150 | engines: {node: '>=12'} 151 | cpu: [x64] 152 | os: [linux] 153 | 154 | '@esbuild/netbsd-x64@0.21.5': 155 | resolution: {integrity: sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==} 156 | engines: {node: '>=12'} 157 | cpu: [x64] 158 | os: [netbsd] 159 | 160 | '@esbuild/openbsd-x64@0.21.5': 161 | resolution: {integrity: sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==} 162 | engines: {node: '>=12'} 163 | cpu: [x64] 164 | os: [openbsd] 165 | 166 | '@esbuild/sunos-x64@0.21.5': 167 | resolution: {integrity: sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==} 168 | engines: {node: '>=12'} 169 | cpu: [x64] 170 | os: [sunos] 171 | 172 | '@esbuild/win32-arm64@0.21.5': 173 | resolution: {integrity: sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==} 174 | engines: {node: '>=12'} 175 | cpu: [arm64] 176 | os: [win32] 177 | 178 | '@esbuild/win32-ia32@0.21.5': 179 | resolution: {integrity: sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==} 180 | engines: {node: '>=12'} 181 | cpu: [ia32] 182 | os: [win32] 183 | 184 | '@esbuild/win32-x64@0.21.5': 185 | resolution: {integrity: sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==} 186 | engines: {node: '>=12'} 187 | cpu: [x64] 188 | os: [win32] 189 | 190 | '@gar/promisify@1.1.3': 191 | resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} 192 | 193 | '@jridgewell/gen-mapping@0.3.5': 194 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 195 | engines: {node: '>=6.0.0'} 196 | 197 | '@jridgewell/resolve-uri@3.1.2': 198 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 199 | engines: {node: '>=6.0.0'} 200 | 201 | '@jridgewell/set-array@1.2.1': 202 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 203 | engines: {node: '>=6.0.0'} 204 | 205 | '@jridgewell/sourcemap-codec@1.5.0': 206 | resolution: {integrity: sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==} 207 | 208 | '@jridgewell/trace-mapping@0.3.25': 209 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 210 | 211 | '@keyv/serialize@1.0.1': 212 | resolution: {integrity: sha512-kKXeynfORDGPUEEl2PvTExM2zs+IldC6ZD8jPcfvI351MDNtfMlw9V9s4XZXuJNDK2qR5gbEKxRyoYx3quHUVQ==} 213 | 214 | '@keyv/test-suite@2.0.1': 215 | resolution: {integrity: sha512-N1Ii9x9kBERwPtGP8Jnbvb78MOZyR6n3GpOBXygUXOQnLU+l5vs6R2V/6pB5P2A3D2ytUf/PYmZ8PSN9CJGJag==} 216 | 217 | '@npmcli/fs@1.1.1': 218 | resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} 219 | 220 | '@npmcli/move-file@1.1.2': 221 | resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} 222 | engines: {node: '>=10'} 223 | deprecated: This functionality has been moved to @npmcli/fs 224 | 225 | '@rollup/rollup-android-arm-eabi@4.21.1': 226 | resolution: {integrity: sha512-2thheikVEuU7ZxFXubPDOtspKn1x0yqaYQwvALVtEcvFhMifPADBrgRPyHV0TF3b+9BgvgjgagVyvA/UqPZHmg==} 227 | cpu: [arm] 228 | os: [android] 229 | 230 | '@rollup/rollup-android-arm64@4.21.1': 231 | resolution: {integrity: sha512-t1lLYn4V9WgnIFHXy1d2Di/7gyzBWS8G5pQSXdZqfrdCGTwi1VasRMSS81DTYb+avDs/Zz4A6dzERki5oRYz1g==} 232 | cpu: [arm64] 233 | os: [android] 234 | 235 | '@rollup/rollup-darwin-arm64@4.21.1': 236 | resolution: {integrity: sha512-AH/wNWSEEHvs6t4iJ3RANxW5ZCK3fUnmf0gyMxWCesY1AlUj8jY7GC+rQE4wd3gwmZ9XDOpL0kcFnCjtN7FXlA==} 237 | cpu: [arm64] 238 | os: [darwin] 239 | 240 | '@rollup/rollup-darwin-x64@4.21.1': 241 | resolution: {integrity: sha512-dO0BIz/+5ZdkLZrVgQrDdW7m2RkrLwYTh2YMFG9IpBtlC1x1NPNSXkfczhZieOlOLEqgXOFH3wYHB7PmBtf+Bg==} 242 | cpu: [x64] 243 | os: [darwin] 244 | 245 | '@rollup/rollup-linux-arm-gnueabihf@4.21.1': 246 | resolution: {integrity: sha512-sWWgdQ1fq+XKrlda8PsMCfut8caFwZBmhYeoehJ05FdI0YZXk6ZyUjWLrIgbR/VgiGycrFKMMgp7eJ69HOF2pQ==} 247 | cpu: [arm] 248 | os: [linux] 249 | libc: [glibc] 250 | 251 | '@rollup/rollup-linux-arm-musleabihf@4.21.1': 252 | resolution: {integrity: sha512-9OIiSuj5EsYQlmwhmFRA0LRO0dRRjdCVZA3hnmZe1rEwRk11Jy3ECGGq3a7RrVEZ0/pCsYWx8jG3IvcrJ6RCew==} 253 | cpu: [arm] 254 | os: [linux] 255 | libc: [musl] 256 | 257 | '@rollup/rollup-linux-arm64-gnu@4.21.1': 258 | resolution: {integrity: sha512-0kuAkRK4MeIUbzQYu63NrJmfoUVicajoRAL1bpwdYIYRcs57iyIV9NLcuyDyDXE2GiZCL4uhKSYAnyWpjZkWow==} 259 | cpu: [arm64] 260 | os: [linux] 261 | libc: [glibc] 262 | 263 | '@rollup/rollup-linux-arm64-musl@4.21.1': 264 | resolution: {integrity: sha512-/6dYC9fZtfEY0vozpc5bx1RP4VrtEOhNQGb0HwvYNwXD1BBbwQ5cKIbUVVU7G2d5WRE90NfB922elN8ASXAJEA==} 265 | cpu: [arm64] 266 | os: [linux] 267 | libc: [musl] 268 | 269 | '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': 270 | resolution: {integrity: sha512-ltUWy+sHeAh3YZ91NUsV4Xg3uBXAlscQe8ZOXRCVAKLsivGuJsrkawYPUEyCV3DYa9urgJugMLn8Z3Z/6CeyRQ==} 271 | cpu: [ppc64] 272 | os: [linux] 273 | libc: [glibc] 274 | 275 | '@rollup/rollup-linux-riscv64-gnu@4.21.1': 276 | resolution: {integrity: sha512-BggMndzI7Tlv4/abrgLwa/dxNEMn2gC61DCLrTzw8LkpSKel4o+O+gtjbnkevZ18SKkeN3ihRGPuBxjaetWzWg==} 277 | cpu: [riscv64] 278 | os: [linux] 279 | libc: [glibc] 280 | 281 | '@rollup/rollup-linux-s390x-gnu@4.21.1': 282 | resolution: {integrity: sha512-z/9rtlGd/OMv+gb1mNSjElasMf9yXusAxnRDrBaYB+eS1shFm6/4/xDH1SAISO5729fFKUkJ88TkGPRUh8WSAA==} 283 | cpu: [s390x] 284 | os: [linux] 285 | libc: [glibc] 286 | 287 | '@rollup/rollup-linux-x64-gnu@4.21.1': 288 | resolution: {integrity: sha512-kXQVcWqDcDKw0S2E0TmhlTLlUgAmMVqPrJZR+KpH/1ZaZhLSl23GZpQVmawBQGVhyP5WXIsIQ/zqbDBBYmxm5w==} 289 | cpu: [x64] 290 | os: [linux] 291 | libc: [glibc] 292 | 293 | '@rollup/rollup-linux-x64-musl@4.21.1': 294 | resolution: {integrity: sha512-CbFv/WMQsSdl+bpX6rVbzR4kAjSSBuDgCqb1l4J68UYsQNalz5wOqLGYj4ZI0thGpyX5kc+LLZ9CL+kpqDovZA==} 295 | cpu: [x64] 296 | os: [linux] 297 | libc: [musl] 298 | 299 | '@rollup/rollup-win32-arm64-msvc@4.21.1': 300 | resolution: {integrity: sha512-3Q3brDgA86gHXWHklrwdREKIrIbxC0ZgU8lwpj0eEKGBQH+31uPqr0P2v11pn0tSIxHvcdOWxa4j+YvLNx1i6g==} 301 | cpu: [arm64] 302 | os: [win32] 303 | 304 | '@rollup/rollup-win32-ia32-msvc@4.21.1': 305 | resolution: {integrity: sha512-tNg+jJcKR3Uwe4L0/wY3Ro0H+u3nrb04+tcq1GSYzBEmKLeOQF2emk1whxlzNqb6MMrQ2JOcQEpuuiPLyRcSIw==} 306 | cpu: [ia32] 307 | os: [win32] 308 | 309 | '@rollup/rollup-win32-x64-msvc@4.21.1': 310 | resolution: {integrity: sha512-xGiIH95H1zU7naUyTKEyOA/I0aexNMUdO9qRv0bLKN3qu25bBdrxZHqA3PTJ24YNN/GdMzG4xkDcd/GvjuhfLg==} 311 | cpu: [x64] 312 | os: [win32] 313 | 314 | '@tootallnate/once@1.1.2': 315 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} 316 | engines: {node: '>= 6'} 317 | 318 | '@types/debug@0.0.31': 319 | resolution: {integrity: sha512-LS1MCPaQKqspg7FvexuhmDbWUhE2yIJ+4AgVIyObfc06/UKZ8REgxGNjZc82wPLWmbeOm7S+gSsLgo75TanG4A==} 320 | 321 | '@types/estree@1.0.5': 322 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 323 | 324 | '@types/fs-extra@5.1.0': 325 | resolution: {integrity: sha512-AInn5+UBFIK9FK5xc9yP5e3TQSPNNgjHByqYcj9g5elVBnDQcQL7PlO1CIRy2gWlbwK7UPYqi7vRvFA44dCmYQ==} 326 | 327 | '@types/node@22.2.0': 328 | resolution: {integrity: sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==} 329 | 330 | '@vitest/expect@2.0.5': 331 | resolution: {integrity: sha512-yHZtwuP7JZivj65Gxoi8upUN2OzHTi3zVfjwdpu2WrvCZPLwsJ2Ey5ILIPccoW23dd/zQBlJ4/dhi7DWNyXCpA==} 332 | 333 | '@vitest/pretty-format@2.0.5': 334 | resolution: {integrity: sha512-h8k+1oWHfwTkyTkb9egzwNMfJAEx4veaPSnMeKbVSjp4euqGSbQlm5+6VHwTr7u4FJslVVsUG5nopCaAYdOmSQ==} 335 | 336 | '@vitest/runner@2.0.5': 337 | resolution: {integrity: sha512-TfRfZa6Bkk9ky4tW0z20WKXFEwwvWhRY+84CnSEtq4+3ZvDlJyY32oNTJtM7AW9ihW90tX/1Q78cb6FjoAs+ig==} 338 | 339 | '@vitest/snapshot@2.0.5': 340 | resolution: {integrity: sha512-SgCPUeDFLaM0mIUHfaArq8fD2WbaXG/zVXjRupthYfYGzc8ztbFbu6dUNOblBG7XLMR1kEhS/DNnfCZ2IhdDew==} 341 | 342 | '@vitest/spy@2.0.5': 343 | resolution: {integrity: sha512-c/jdthAhvJdpfVuaexSrnawxZz6pywlTPe84LUB2m/4t3rl2fTo9NFGBG4oWgaD+FTgDDV8hJ/nibT7IfH3JfA==} 344 | 345 | '@vitest/utils@2.0.5': 346 | resolution: {integrity: sha512-d8HKbqIcya+GR67mkZbrzhS5kKhtp8dQLcmRZLGTscGVg7yImT82cIrhtn2L8+VujWcy6KZweApgNmPsTAO/UQ==} 347 | 348 | abbrev@1.1.1: 349 | resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} 350 | 351 | agent-base@6.0.2: 352 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 353 | engines: {node: '>= 6.0.0'} 354 | 355 | agentkeepalive@4.5.0: 356 | resolution: {integrity: sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew==} 357 | engines: {node: '>= 8.0.0'} 358 | 359 | aggregate-error@3.1.0: 360 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 361 | engines: {node: '>=8'} 362 | 363 | ansi-regex@5.0.1: 364 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 365 | engines: {node: '>=8'} 366 | 367 | aproba@2.0.0: 368 | resolution: {integrity: sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==} 369 | 370 | are-we-there-yet@3.0.1: 371 | resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==} 372 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 373 | deprecated: This package is no longer supported. 374 | 375 | assertion-error@2.0.1: 376 | resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} 377 | engines: {node: '>=12'} 378 | 379 | balanced-match@1.0.2: 380 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 381 | 382 | base64-js@1.5.1: 383 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 384 | 385 | benchmark@2.1.4: 386 | resolution: {integrity: sha512-l9MlfN4M1K/H2fbhfMy3B7vJd6AGKJVQn2h6Sg/Yx+KckoUA7ewS5Vv6TjSq18ooE1kS9hhAlQRH3AkXIh/aOQ==} 387 | 388 | bignumber.js@9.1.2: 389 | resolution: {integrity: sha512-2/mKyZH9K85bzOEfhXDBFZTGd1CTs+5IHpeFQo9luiBG7hghdC851Pj2WAhb6E3R6b9tZj/XKhbg4fum+Kepug==} 390 | 391 | bindings@1.5.0: 392 | resolution: {integrity: sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==} 393 | 394 | bl@4.1.0: 395 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 396 | 397 | brace-expansion@1.1.11: 398 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 399 | 400 | buffer@5.7.1: 401 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 402 | 403 | buffer@6.0.3: 404 | resolution: {integrity: sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==} 405 | 406 | cac@6.7.14: 407 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 408 | engines: {node: '>=8'} 409 | 410 | cacache@15.3.0: 411 | resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} 412 | engines: {node: '>= 10'} 413 | 414 | chai@5.1.1: 415 | resolution: {integrity: sha512-pT1ZgP8rPNqUgieVaEY+ryQr6Q4HXNg8Ei9UnLUrjN4IA7dvQC5JB+/kxVcPNDHyBcc/26CXPkbNzq3qwrOEKA==} 416 | engines: {node: '>=12'} 417 | 418 | check-error@2.1.1: 419 | resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} 420 | engines: {node: '>= 16'} 421 | 422 | chownr@1.1.4: 423 | resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 424 | 425 | chownr@2.0.0: 426 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 427 | engines: {node: '>=10'} 428 | 429 | clean-stack@2.2.0: 430 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 431 | engines: {node: '>=6'} 432 | 433 | color-support@1.1.3: 434 | resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} 435 | hasBin: true 436 | 437 | concat-map@0.0.1: 438 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 439 | 440 | console-control-strings@1.1.0: 441 | resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} 442 | 443 | cross-spawn@7.0.3: 444 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 445 | engines: {node: '>= 8'} 446 | 447 | debug@4.3.6: 448 | resolution: {integrity: sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==} 449 | engines: {node: '>=6.0'} 450 | peerDependencies: 451 | supports-color: '*' 452 | peerDependenciesMeta: 453 | supports-color: 454 | optional: true 455 | 456 | decompress-response@6.0.0: 457 | resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} 458 | engines: {node: '>=10'} 459 | 460 | deep-eql@5.0.2: 461 | resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} 462 | engines: {node: '>=6'} 463 | 464 | deep-extend@0.6.0: 465 | resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} 466 | engines: {node: '>=4.0.0'} 467 | 468 | delegates@1.0.0: 469 | resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} 470 | 471 | detect-libc@2.0.3: 472 | resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} 473 | engines: {node: '>=8'} 474 | 475 | emoji-regex@8.0.0: 476 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 477 | 478 | encoding@0.1.13: 479 | resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} 480 | 481 | end-of-stream@1.4.4: 482 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 483 | 484 | env-paths@2.2.1: 485 | resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==} 486 | engines: {node: '>=6'} 487 | 488 | err-code@2.0.3: 489 | resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 490 | 491 | esbuild@0.21.5: 492 | resolution: {integrity: sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==} 493 | engines: {node: '>=12'} 494 | hasBin: true 495 | 496 | estree-walker@3.0.3: 497 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 498 | 499 | execa@8.0.1: 500 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 501 | engines: {node: '>=16.17'} 502 | 503 | expand-template@2.0.3: 504 | resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} 505 | engines: {node: '>=6'} 506 | 507 | file-uri-to-path@1.0.0: 508 | resolution: {integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==} 509 | 510 | fs-constants@1.0.0: 511 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 512 | 513 | fs-extra@4.0.3: 514 | resolution: {integrity: sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg==} 515 | 516 | fs-minipass@2.1.0: 517 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 518 | engines: {node: '>= 8'} 519 | 520 | fs.realpath@1.0.0: 521 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 522 | 523 | fsevents@2.3.3: 524 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 525 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 526 | os: [darwin] 527 | 528 | gauge@4.0.4: 529 | resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==} 530 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 531 | deprecated: This package is no longer supported. 532 | 533 | get-func-name@2.0.2: 534 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 535 | 536 | get-stream@8.0.1: 537 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 538 | engines: {node: '>=16'} 539 | 540 | github-from-package@0.0.0: 541 | resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==} 542 | 543 | glob@7.2.3: 544 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 545 | deprecated: Glob versions prior to v9 are no longer supported 546 | 547 | graceful-fs@4.2.11: 548 | resolution: {integrity: sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==} 549 | 550 | has-unicode@2.0.1: 551 | resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} 552 | 553 | http-cache-semantics@4.1.1: 554 | resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==} 555 | 556 | http-proxy-agent@4.0.1: 557 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} 558 | engines: {node: '>= 6'} 559 | 560 | https-proxy-agent@5.0.1: 561 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 562 | engines: {node: '>= 6'} 563 | 564 | human-signals@5.0.0: 565 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 566 | engines: {node: '>=16.17.0'} 567 | 568 | humanize-ms@1.2.1: 569 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 570 | 571 | iconv-lite@0.6.3: 572 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 573 | engines: {node: '>=0.10.0'} 574 | 575 | ieee754@1.2.1: 576 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 577 | 578 | imurmurhash@0.1.4: 579 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 580 | engines: {node: '>=0.8.19'} 581 | 582 | indent-string@4.0.0: 583 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 584 | engines: {node: '>=8'} 585 | 586 | infer-owner@1.0.4: 587 | resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} 588 | 589 | inflight@1.0.6: 590 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 591 | deprecated: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful. 592 | 593 | inherits@2.0.4: 594 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 595 | 596 | ini@1.3.8: 597 | resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==} 598 | 599 | ip-address@9.0.5: 600 | resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} 601 | engines: {node: '>= 12'} 602 | 603 | is-fullwidth-code-point@3.0.0: 604 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 605 | engines: {node: '>=8'} 606 | 607 | is-lambda@1.0.1: 608 | resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 609 | 610 | is-stream@3.0.0: 611 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 612 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 613 | 614 | isexe@2.0.0: 615 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 616 | 617 | jsbn@1.1.0: 618 | resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} 619 | 620 | json-bigint@1.0.0: 621 | resolution: {integrity: sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==} 622 | 623 | jsonfile@4.0.0: 624 | resolution: {integrity: sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==} 625 | 626 | keyv@5.0.1: 627 | resolution: {integrity: sha512-NH+3ditq1O5uTSQiiHrGOTkwUniRox/lZ8tHARdsu5Skyv0AhZca0OCycWfR1fTECvSRftMQnXqx7cBpxo8G1g==} 628 | 629 | lodash@4.17.21: 630 | resolution: {integrity: sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==} 631 | 632 | loupe@3.1.1: 633 | resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} 634 | 635 | lru-cache@6.0.0: 636 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 637 | engines: {node: '>=10'} 638 | 639 | magic-string@0.30.11: 640 | resolution: {integrity: sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A==} 641 | 642 | make-fetch-happen@9.1.0: 643 | resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==} 644 | engines: {node: '>= 10'} 645 | 646 | merge-stream@2.0.0: 647 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 648 | 649 | mimic-fn@4.0.0: 650 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 651 | engines: {node: '>=12'} 652 | 653 | mimic-response@3.1.0: 654 | resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} 655 | engines: {node: '>=10'} 656 | 657 | minimatch@3.1.2: 658 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 659 | 660 | minimist@1.2.8: 661 | resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} 662 | 663 | minipass-collect@1.0.2: 664 | resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} 665 | engines: {node: '>= 8'} 666 | 667 | minipass-fetch@1.4.1: 668 | resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} 669 | engines: {node: '>=8'} 670 | 671 | minipass-flush@1.0.5: 672 | resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} 673 | engines: {node: '>= 8'} 674 | 675 | minipass-pipeline@1.2.4: 676 | resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} 677 | engines: {node: '>=8'} 678 | 679 | minipass-sized@1.0.3: 680 | resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} 681 | engines: {node: '>=8'} 682 | 683 | minipass@3.3.6: 684 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 685 | engines: {node: '>=8'} 686 | 687 | minipass@5.0.0: 688 | resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} 689 | engines: {node: '>=8'} 690 | 691 | minizlib@2.1.2: 692 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 693 | engines: {node: '>= 8'} 694 | 695 | mkdirp-classic@0.5.3: 696 | resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 697 | 698 | mkdirp@1.0.4: 699 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 700 | engines: {node: '>=10'} 701 | hasBin: true 702 | 703 | ms@2.1.2: 704 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 705 | 706 | ms@2.1.3: 707 | resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} 708 | 709 | nanoid@3.3.7: 710 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 711 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 712 | hasBin: true 713 | 714 | napi-build-utils@1.0.2: 715 | resolution: {integrity: sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==} 716 | 717 | negotiator@0.6.3: 718 | resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==} 719 | engines: {node: '>= 0.6'} 720 | 721 | node-abi@3.67.0: 722 | resolution: {integrity: sha512-bLn/fU/ALVBE9wj+p4Y21ZJWYFjUXLXPi/IewyLZkx3ApxKDNBWCKdReeKOtD8dWpOdDCeMyLh6ZewzcLsG2Nw==} 723 | engines: {node: '>=10'} 724 | 725 | node-addon-api@7.1.1: 726 | resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==} 727 | 728 | node-gyp@8.4.1: 729 | resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==} 730 | engines: {node: '>= 10.12.0'} 731 | hasBin: true 732 | 733 | nopt@5.0.0: 734 | resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} 735 | engines: {node: '>=6'} 736 | hasBin: true 737 | 738 | npm-run-path@5.3.0: 739 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 740 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 741 | 742 | npmlog@6.0.2: 743 | resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==} 744 | engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} 745 | deprecated: This package is no longer supported. 746 | 747 | once@1.4.0: 748 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 749 | 750 | onetime@6.0.0: 751 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 752 | engines: {node: '>=12'} 753 | 754 | p-map@4.0.0: 755 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 756 | engines: {node: '>=10'} 757 | 758 | path-is-absolute@1.0.1: 759 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 760 | engines: {node: '>=0.10.0'} 761 | 762 | path-key@3.1.1: 763 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 764 | engines: {node: '>=8'} 765 | 766 | path-key@4.0.0: 767 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 768 | engines: {node: '>=12'} 769 | 770 | pathe@1.1.2: 771 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 772 | 773 | pathval@2.0.0: 774 | resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} 775 | engines: {node: '>= 14.16'} 776 | 777 | picocolors@1.0.1: 778 | resolution: {integrity: sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew==} 779 | 780 | platform@1.3.6: 781 | resolution: {integrity: sha512-fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==} 782 | 783 | postcss@8.4.41: 784 | resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} 785 | engines: {node: ^10 || ^12 || >=14} 786 | 787 | prebuild-install@7.1.2: 788 | resolution: {integrity: sha512-UnNke3IQb6sgarcZIDU3gbMeTp/9SSU1DAIkil7PrqG1vZlBtY5msYccSKSHDqa3hNg436IXK+SNImReuA1wEQ==} 789 | engines: {node: '>=10'} 790 | hasBin: true 791 | 792 | promise-inflight@1.0.1: 793 | resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} 794 | peerDependencies: 795 | bluebird: '*' 796 | peerDependenciesMeta: 797 | bluebird: 798 | optional: true 799 | 800 | promise-retry@2.0.1: 801 | resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} 802 | engines: {node: '>=10'} 803 | 804 | pump@3.0.0: 805 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 806 | 807 | rc@1.2.8: 808 | resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} 809 | hasBin: true 810 | 811 | readable-stream@3.6.2: 812 | resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} 813 | engines: {node: '>= 6'} 814 | 815 | retry@0.12.0: 816 | resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} 817 | engines: {node: '>= 4'} 818 | 819 | rimraf@3.0.2: 820 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 821 | deprecated: Rimraf versions prior to v4 are no longer supported 822 | hasBin: true 823 | 824 | rollup@4.21.1: 825 | resolution: {integrity: sha512-ZnYyKvscThhgd3M5+Qt3pmhO4jIRR5RGzaSovB6Q7rGNrK5cUncrtLmcTTJVSdcKXyZjW8X8MB0JMSuH9bcAJg==} 826 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 827 | hasBin: true 828 | 829 | safe-buffer@5.1.2: 830 | resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} 831 | 832 | safe-buffer@5.2.1: 833 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 834 | 835 | safer-buffer@2.1.2: 836 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 837 | 838 | semver@7.6.3: 839 | resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} 840 | engines: {node: '>=10'} 841 | hasBin: true 842 | 843 | set-blocking@2.0.0: 844 | resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} 845 | 846 | shebang-command@2.0.0: 847 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 848 | engines: {node: '>=8'} 849 | 850 | shebang-regex@3.0.0: 851 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 852 | engines: {node: '>=8'} 853 | 854 | siginfo@2.0.0: 855 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 856 | 857 | signal-exit@3.0.7: 858 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 859 | 860 | signal-exit@4.1.0: 861 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 862 | engines: {node: '>=14'} 863 | 864 | simple-concat@1.0.1: 865 | resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} 866 | 867 | simple-get@4.0.1: 868 | resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} 869 | 870 | smart-buffer@4.2.0: 871 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 872 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 873 | 874 | socks-proxy-agent@6.2.1: 875 | resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==} 876 | engines: {node: '>= 10'} 877 | 878 | socks@2.8.3: 879 | resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} 880 | engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} 881 | 882 | source-map-js@1.2.0: 883 | resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} 884 | engines: {node: '>=0.10.0'} 885 | 886 | sprintf-js@1.1.3: 887 | resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} 888 | 889 | sqlite3@5.1.7: 890 | resolution: {integrity: sha512-GGIyOiFaG+TUra3JIfkI/zGP8yZYLPQ0pl1bH+ODjiX57sPhrLU5sQJn1y9bDKZUFYkX1crlrPfSYt0BKKdkog==} 891 | 892 | ssri@8.0.1: 893 | resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} 894 | engines: {node: '>= 8'} 895 | 896 | stackback@0.0.2: 897 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 898 | 899 | std-env@3.7.0: 900 | resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} 901 | 902 | string-width@4.2.3: 903 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 904 | engines: {node: '>=8'} 905 | 906 | string_decoder@1.1.1: 907 | resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} 908 | 909 | strip-ansi@6.0.1: 910 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 911 | engines: {node: '>=8'} 912 | 913 | strip-final-newline@3.0.0: 914 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 915 | engines: {node: '>=12'} 916 | 917 | strip-json-comments@2.0.1: 918 | resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==} 919 | engines: {node: '>=0.10.0'} 920 | 921 | tar-fs@2.1.1: 922 | resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 923 | 924 | tar-stream@2.2.0: 925 | resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 926 | engines: {node: '>=6'} 927 | 928 | tar@6.2.1: 929 | resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} 930 | engines: {node: '>=10'} 931 | 932 | timekeeper@2.3.1: 933 | resolution: {integrity: sha512-LeQRS7/4JcC0PgdSFnfUiStQEdiuySlCj/5SJ18D+T1n9BoY7PxKFfCwLulpHXoLUFr67HxBddQdEX47lDGx1g==} 934 | 935 | tinybench@2.9.0: 936 | resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} 937 | 938 | tinypool@1.0.1: 939 | resolution: {integrity: sha512-URZYihUbRPcGv95En+sz6MfghfIc2OJ1sv/RmhWZLouPY0/8Vo80viwPvg3dlaS9fuq7fQMEfgRRK7BBZThBEA==} 940 | engines: {node: ^18.0.0 || >=20.0.0} 941 | 942 | tinyrainbow@1.2.0: 943 | resolution: {integrity: sha512-weEDEq7Z5eTHPDh4xjX789+fHfF+P8boiFB+0vbWzpbnbsEr/GRaohi/uMKxg8RZMXnl1ItAi/IUHWMsjDV7kQ==} 944 | engines: {node: '>=14.0.0'} 945 | 946 | tinyspy@3.0.0: 947 | resolution: {integrity: sha512-q5nmENpTHgiPVd1cJDDc9cVoYN5x4vCvwT3FMilvKPKneCBZAxn2YWQjDF0UMcE9k0Cay1gBiDfTMU0g+mPMQA==} 948 | engines: {node: '>=14.0.0'} 949 | 950 | tslib@1.14.1: 951 | resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} 952 | 953 | tunnel-agent@0.6.0: 954 | resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==} 955 | 956 | typescript@5.5.4: 957 | resolution: {integrity: sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==} 958 | engines: {node: '>=14.17'} 959 | hasBin: true 960 | 961 | undici-types@6.13.0: 962 | resolution: {integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==} 963 | 964 | unique-filename@1.1.1: 965 | resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} 966 | 967 | unique-slug@2.0.2: 968 | resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} 969 | 970 | universalify@0.1.2: 971 | resolution: {integrity: sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==} 972 | engines: {node: '>= 4.0.0'} 973 | 974 | util-deprecate@1.0.2: 975 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 976 | 977 | vite-node@2.0.5: 978 | resolution: {integrity: sha512-LdsW4pxj0Ot69FAoXZ1yTnA9bjGohr2yNBU7QKRxpz8ITSkhuDl6h3zS/tvgz4qrNjeRnvrWeXQ8ZF7Um4W00Q==} 979 | engines: {node: ^18.0.0 || >=20.0.0} 980 | hasBin: true 981 | 982 | vite@5.4.2: 983 | resolution: {integrity: sha512-dDrQTRHp5C1fTFzcSaMxjk6vdpKvT+2/mIdE07Gw2ykehT49O0z/VHS3zZ8iV/Gh8BJJKHWOe5RjaNrW5xf/GA==} 984 | engines: {node: ^18.0.0 || >=20.0.0} 985 | hasBin: true 986 | peerDependencies: 987 | '@types/node': ^18.0.0 || >=20.0.0 988 | less: '*' 989 | lightningcss: ^1.21.0 990 | sass: '*' 991 | sass-embedded: '*' 992 | stylus: '*' 993 | sugarss: '*' 994 | terser: ^5.4.0 995 | peerDependenciesMeta: 996 | '@types/node': 997 | optional: true 998 | less: 999 | optional: true 1000 | lightningcss: 1001 | optional: true 1002 | sass: 1003 | optional: true 1004 | sass-embedded: 1005 | optional: true 1006 | stylus: 1007 | optional: true 1008 | sugarss: 1009 | optional: true 1010 | terser: 1011 | optional: true 1012 | 1013 | vitest@2.0.5: 1014 | resolution: {integrity: sha512-8GUxONfauuIdeSl5f9GTgVEpg5BTOlplET4WEDaeY2QBiN8wSm68vxN/tb5z405OwppfoCavnwXafiaYBC/xOA==} 1015 | engines: {node: ^18.0.0 || >=20.0.0} 1016 | hasBin: true 1017 | peerDependencies: 1018 | '@edge-runtime/vm': '*' 1019 | '@types/node': ^18.0.0 || >=20.0.0 1020 | '@vitest/browser': 2.0.5 1021 | '@vitest/ui': 2.0.5 1022 | happy-dom: '*' 1023 | jsdom: '*' 1024 | peerDependenciesMeta: 1025 | '@edge-runtime/vm': 1026 | optional: true 1027 | '@types/node': 1028 | optional: true 1029 | '@vitest/browser': 1030 | optional: true 1031 | '@vitest/ui': 1032 | optional: true 1033 | happy-dom: 1034 | optional: true 1035 | jsdom: 1036 | optional: true 1037 | 1038 | which@2.0.2: 1039 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1040 | engines: {node: '>= 8'} 1041 | hasBin: true 1042 | 1043 | why-is-node-running@2.3.0: 1044 | resolution: {integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==} 1045 | engines: {node: '>=8'} 1046 | hasBin: true 1047 | 1048 | wide-align@1.1.5: 1049 | resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} 1050 | 1051 | wrappy@1.0.2: 1052 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1053 | 1054 | yallist@4.0.0: 1055 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1056 | 1057 | snapshots: 1058 | 1059 | '@ampproject/remapping@2.3.0': 1060 | dependencies: 1061 | '@jridgewell/gen-mapping': 0.3.5 1062 | '@jridgewell/trace-mapping': 0.3.25 1063 | 1064 | '@esbuild/aix-ppc64@0.21.5': 1065 | optional: true 1066 | 1067 | '@esbuild/android-arm64@0.21.5': 1068 | optional: true 1069 | 1070 | '@esbuild/android-arm@0.21.5': 1071 | optional: true 1072 | 1073 | '@esbuild/android-x64@0.21.5': 1074 | optional: true 1075 | 1076 | '@esbuild/darwin-arm64@0.21.5': 1077 | optional: true 1078 | 1079 | '@esbuild/darwin-x64@0.21.5': 1080 | optional: true 1081 | 1082 | '@esbuild/freebsd-arm64@0.21.5': 1083 | optional: true 1084 | 1085 | '@esbuild/freebsd-x64@0.21.5': 1086 | optional: true 1087 | 1088 | '@esbuild/linux-arm64@0.21.5': 1089 | optional: true 1090 | 1091 | '@esbuild/linux-arm@0.21.5': 1092 | optional: true 1093 | 1094 | '@esbuild/linux-ia32@0.21.5': 1095 | optional: true 1096 | 1097 | '@esbuild/linux-loong64@0.21.5': 1098 | optional: true 1099 | 1100 | '@esbuild/linux-mips64el@0.21.5': 1101 | optional: true 1102 | 1103 | '@esbuild/linux-ppc64@0.21.5': 1104 | optional: true 1105 | 1106 | '@esbuild/linux-riscv64@0.21.5': 1107 | optional: true 1108 | 1109 | '@esbuild/linux-s390x@0.21.5': 1110 | optional: true 1111 | 1112 | '@esbuild/linux-x64@0.21.5': 1113 | optional: true 1114 | 1115 | '@esbuild/netbsd-x64@0.21.5': 1116 | optional: true 1117 | 1118 | '@esbuild/openbsd-x64@0.21.5': 1119 | optional: true 1120 | 1121 | '@esbuild/sunos-x64@0.21.5': 1122 | optional: true 1123 | 1124 | '@esbuild/win32-arm64@0.21.5': 1125 | optional: true 1126 | 1127 | '@esbuild/win32-ia32@0.21.5': 1128 | optional: true 1129 | 1130 | '@esbuild/win32-x64@0.21.5': 1131 | optional: true 1132 | 1133 | '@gar/promisify@1.1.3': 1134 | optional: true 1135 | 1136 | '@jridgewell/gen-mapping@0.3.5': 1137 | dependencies: 1138 | '@jridgewell/set-array': 1.2.1 1139 | '@jridgewell/sourcemap-codec': 1.5.0 1140 | '@jridgewell/trace-mapping': 0.3.25 1141 | 1142 | '@jridgewell/resolve-uri@3.1.2': {} 1143 | 1144 | '@jridgewell/set-array@1.2.1': {} 1145 | 1146 | '@jridgewell/sourcemap-codec@1.5.0': {} 1147 | 1148 | '@jridgewell/trace-mapping@0.3.25': 1149 | dependencies: 1150 | '@jridgewell/resolve-uri': 3.1.2 1151 | '@jridgewell/sourcemap-codec': 1.5.0 1152 | 1153 | '@keyv/serialize@1.0.1': 1154 | dependencies: 1155 | buffer: 6.0.3 1156 | 1157 | '@keyv/test-suite@2.0.1': 1158 | dependencies: 1159 | bignumber.js: 9.1.2 1160 | json-bigint: 1.0.0 1161 | sqlite3: 5.1.7 1162 | timekeeper: 2.3.1 1163 | transitivePeerDependencies: 1164 | - bluebird 1165 | - supports-color 1166 | 1167 | '@npmcli/fs@1.1.1': 1168 | dependencies: 1169 | '@gar/promisify': 1.1.3 1170 | semver: 7.6.3 1171 | optional: true 1172 | 1173 | '@npmcli/move-file@1.1.2': 1174 | dependencies: 1175 | mkdirp: 1.0.4 1176 | rimraf: 3.0.2 1177 | optional: true 1178 | 1179 | '@rollup/rollup-android-arm-eabi@4.21.1': 1180 | optional: true 1181 | 1182 | '@rollup/rollup-android-arm64@4.21.1': 1183 | optional: true 1184 | 1185 | '@rollup/rollup-darwin-arm64@4.21.1': 1186 | optional: true 1187 | 1188 | '@rollup/rollup-darwin-x64@4.21.1': 1189 | optional: true 1190 | 1191 | '@rollup/rollup-linux-arm-gnueabihf@4.21.1': 1192 | optional: true 1193 | 1194 | '@rollup/rollup-linux-arm-musleabihf@4.21.1': 1195 | optional: true 1196 | 1197 | '@rollup/rollup-linux-arm64-gnu@4.21.1': 1198 | optional: true 1199 | 1200 | '@rollup/rollup-linux-arm64-musl@4.21.1': 1201 | optional: true 1202 | 1203 | '@rollup/rollup-linux-powerpc64le-gnu@4.21.1': 1204 | optional: true 1205 | 1206 | '@rollup/rollup-linux-riscv64-gnu@4.21.1': 1207 | optional: true 1208 | 1209 | '@rollup/rollup-linux-s390x-gnu@4.21.1': 1210 | optional: true 1211 | 1212 | '@rollup/rollup-linux-x64-gnu@4.21.1': 1213 | optional: true 1214 | 1215 | '@rollup/rollup-linux-x64-musl@4.21.1': 1216 | optional: true 1217 | 1218 | '@rollup/rollup-win32-arm64-msvc@4.21.1': 1219 | optional: true 1220 | 1221 | '@rollup/rollup-win32-ia32-msvc@4.21.1': 1222 | optional: true 1223 | 1224 | '@rollup/rollup-win32-x64-msvc@4.21.1': 1225 | optional: true 1226 | 1227 | '@tootallnate/once@1.1.2': 1228 | optional: true 1229 | 1230 | '@types/debug@0.0.31': {} 1231 | 1232 | '@types/estree@1.0.5': {} 1233 | 1234 | '@types/fs-extra@5.1.0': 1235 | dependencies: 1236 | '@types/node': 22.2.0 1237 | 1238 | '@types/node@22.2.0': 1239 | dependencies: 1240 | undici-types: 6.13.0 1241 | 1242 | '@vitest/expect@2.0.5': 1243 | dependencies: 1244 | '@vitest/spy': 2.0.5 1245 | '@vitest/utils': 2.0.5 1246 | chai: 5.1.1 1247 | tinyrainbow: 1.2.0 1248 | 1249 | '@vitest/pretty-format@2.0.5': 1250 | dependencies: 1251 | tinyrainbow: 1.2.0 1252 | 1253 | '@vitest/runner@2.0.5': 1254 | dependencies: 1255 | '@vitest/utils': 2.0.5 1256 | pathe: 1.1.2 1257 | 1258 | '@vitest/snapshot@2.0.5': 1259 | dependencies: 1260 | '@vitest/pretty-format': 2.0.5 1261 | magic-string: 0.30.11 1262 | pathe: 1.1.2 1263 | 1264 | '@vitest/spy@2.0.5': 1265 | dependencies: 1266 | tinyspy: 3.0.0 1267 | 1268 | '@vitest/utils@2.0.5': 1269 | dependencies: 1270 | '@vitest/pretty-format': 2.0.5 1271 | estree-walker: 3.0.3 1272 | loupe: 3.1.1 1273 | tinyrainbow: 1.2.0 1274 | 1275 | abbrev@1.1.1: 1276 | optional: true 1277 | 1278 | agent-base@6.0.2: 1279 | dependencies: 1280 | debug: 4.3.6 1281 | transitivePeerDependencies: 1282 | - supports-color 1283 | optional: true 1284 | 1285 | agentkeepalive@4.5.0: 1286 | dependencies: 1287 | humanize-ms: 1.2.1 1288 | optional: true 1289 | 1290 | aggregate-error@3.1.0: 1291 | dependencies: 1292 | clean-stack: 2.2.0 1293 | indent-string: 4.0.0 1294 | optional: true 1295 | 1296 | ansi-regex@5.0.1: 1297 | optional: true 1298 | 1299 | aproba@2.0.0: 1300 | optional: true 1301 | 1302 | are-we-there-yet@3.0.1: 1303 | dependencies: 1304 | delegates: 1.0.0 1305 | readable-stream: 3.6.2 1306 | optional: true 1307 | 1308 | assertion-error@2.0.1: {} 1309 | 1310 | balanced-match@1.0.2: 1311 | optional: true 1312 | 1313 | base64-js@1.5.1: {} 1314 | 1315 | benchmark@2.1.4: 1316 | dependencies: 1317 | lodash: 4.17.21 1318 | platform: 1.3.6 1319 | 1320 | bignumber.js@9.1.2: {} 1321 | 1322 | bindings@1.5.0: 1323 | dependencies: 1324 | file-uri-to-path: 1.0.0 1325 | 1326 | bl@4.1.0: 1327 | dependencies: 1328 | buffer: 5.7.1 1329 | inherits: 2.0.4 1330 | readable-stream: 3.6.2 1331 | 1332 | brace-expansion@1.1.11: 1333 | dependencies: 1334 | balanced-match: 1.0.2 1335 | concat-map: 0.0.1 1336 | optional: true 1337 | 1338 | buffer@5.7.1: 1339 | dependencies: 1340 | base64-js: 1.5.1 1341 | ieee754: 1.2.1 1342 | 1343 | buffer@6.0.3: 1344 | dependencies: 1345 | base64-js: 1.5.1 1346 | ieee754: 1.2.1 1347 | 1348 | cac@6.7.14: {} 1349 | 1350 | cacache@15.3.0: 1351 | dependencies: 1352 | '@npmcli/fs': 1.1.1 1353 | '@npmcli/move-file': 1.1.2 1354 | chownr: 2.0.0 1355 | fs-minipass: 2.1.0 1356 | glob: 7.2.3 1357 | infer-owner: 1.0.4 1358 | lru-cache: 6.0.0 1359 | minipass: 3.3.6 1360 | minipass-collect: 1.0.2 1361 | minipass-flush: 1.0.5 1362 | minipass-pipeline: 1.2.4 1363 | mkdirp: 1.0.4 1364 | p-map: 4.0.0 1365 | promise-inflight: 1.0.1 1366 | rimraf: 3.0.2 1367 | ssri: 8.0.1 1368 | tar: 6.2.1 1369 | unique-filename: 1.1.1 1370 | transitivePeerDependencies: 1371 | - bluebird 1372 | optional: true 1373 | 1374 | chai@5.1.1: 1375 | dependencies: 1376 | assertion-error: 2.0.1 1377 | check-error: 2.1.1 1378 | deep-eql: 5.0.2 1379 | loupe: 3.1.1 1380 | pathval: 2.0.0 1381 | 1382 | check-error@2.1.1: {} 1383 | 1384 | chownr@1.1.4: {} 1385 | 1386 | chownr@2.0.0: {} 1387 | 1388 | clean-stack@2.2.0: 1389 | optional: true 1390 | 1391 | color-support@1.1.3: 1392 | optional: true 1393 | 1394 | concat-map@0.0.1: 1395 | optional: true 1396 | 1397 | console-control-strings@1.1.0: 1398 | optional: true 1399 | 1400 | cross-spawn@7.0.3: 1401 | dependencies: 1402 | path-key: 3.1.1 1403 | shebang-command: 2.0.0 1404 | which: 2.0.2 1405 | 1406 | debug@4.3.6: 1407 | dependencies: 1408 | ms: 2.1.2 1409 | 1410 | decompress-response@6.0.0: 1411 | dependencies: 1412 | mimic-response: 3.1.0 1413 | 1414 | deep-eql@5.0.2: {} 1415 | 1416 | deep-extend@0.6.0: {} 1417 | 1418 | delegates@1.0.0: 1419 | optional: true 1420 | 1421 | detect-libc@2.0.3: {} 1422 | 1423 | emoji-regex@8.0.0: 1424 | optional: true 1425 | 1426 | encoding@0.1.13: 1427 | dependencies: 1428 | iconv-lite: 0.6.3 1429 | optional: true 1430 | 1431 | end-of-stream@1.4.4: 1432 | dependencies: 1433 | once: 1.4.0 1434 | 1435 | env-paths@2.2.1: 1436 | optional: true 1437 | 1438 | err-code@2.0.3: 1439 | optional: true 1440 | 1441 | esbuild@0.21.5: 1442 | optionalDependencies: 1443 | '@esbuild/aix-ppc64': 0.21.5 1444 | '@esbuild/android-arm': 0.21.5 1445 | '@esbuild/android-arm64': 0.21.5 1446 | '@esbuild/android-x64': 0.21.5 1447 | '@esbuild/darwin-arm64': 0.21.5 1448 | '@esbuild/darwin-x64': 0.21.5 1449 | '@esbuild/freebsd-arm64': 0.21.5 1450 | '@esbuild/freebsd-x64': 0.21.5 1451 | '@esbuild/linux-arm': 0.21.5 1452 | '@esbuild/linux-arm64': 0.21.5 1453 | '@esbuild/linux-ia32': 0.21.5 1454 | '@esbuild/linux-loong64': 0.21.5 1455 | '@esbuild/linux-mips64el': 0.21.5 1456 | '@esbuild/linux-ppc64': 0.21.5 1457 | '@esbuild/linux-riscv64': 0.21.5 1458 | '@esbuild/linux-s390x': 0.21.5 1459 | '@esbuild/linux-x64': 0.21.5 1460 | '@esbuild/netbsd-x64': 0.21.5 1461 | '@esbuild/openbsd-x64': 0.21.5 1462 | '@esbuild/sunos-x64': 0.21.5 1463 | '@esbuild/win32-arm64': 0.21.5 1464 | '@esbuild/win32-ia32': 0.21.5 1465 | '@esbuild/win32-x64': 0.21.5 1466 | 1467 | estree-walker@3.0.3: 1468 | dependencies: 1469 | '@types/estree': 1.0.5 1470 | 1471 | execa@8.0.1: 1472 | dependencies: 1473 | cross-spawn: 7.0.3 1474 | get-stream: 8.0.1 1475 | human-signals: 5.0.0 1476 | is-stream: 3.0.0 1477 | merge-stream: 2.0.0 1478 | npm-run-path: 5.3.0 1479 | onetime: 6.0.0 1480 | signal-exit: 4.1.0 1481 | strip-final-newline: 3.0.0 1482 | 1483 | expand-template@2.0.3: {} 1484 | 1485 | file-uri-to-path@1.0.0: {} 1486 | 1487 | fs-constants@1.0.0: {} 1488 | 1489 | fs-extra@4.0.3: 1490 | dependencies: 1491 | graceful-fs: 4.2.11 1492 | jsonfile: 4.0.0 1493 | universalify: 0.1.2 1494 | 1495 | fs-minipass@2.1.0: 1496 | dependencies: 1497 | minipass: 3.3.6 1498 | 1499 | fs.realpath@1.0.0: 1500 | optional: true 1501 | 1502 | fsevents@2.3.3: 1503 | optional: true 1504 | 1505 | gauge@4.0.4: 1506 | dependencies: 1507 | aproba: 2.0.0 1508 | color-support: 1.1.3 1509 | console-control-strings: 1.1.0 1510 | has-unicode: 2.0.1 1511 | signal-exit: 3.0.7 1512 | string-width: 4.2.3 1513 | strip-ansi: 6.0.1 1514 | wide-align: 1.1.5 1515 | optional: true 1516 | 1517 | get-func-name@2.0.2: {} 1518 | 1519 | get-stream@8.0.1: {} 1520 | 1521 | github-from-package@0.0.0: {} 1522 | 1523 | glob@7.2.3: 1524 | dependencies: 1525 | fs.realpath: 1.0.0 1526 | inflight: 1.0.6 1527 | inherits: 2.0.4 1528 | minimatch: 3.1.2 1529 | once: 1.4.0 1530 | path-is-absolute: 1.0.1 1531 | optional: true 1532 | 1533 | graceful-fs@4.2.11: {} 1534 | 1535 | has-unicode@2.0.1: 1536 | optional: true 1537 | 1538 | http-cache-semantics@4.1.1: 1539 | optional: true 1540 | 1541 | http-proxy-agent@4.0.1: 1542 | dependencies: 1543 | '@tootallnate/once': 1.1.2 1544 | agent-base: 6.0.2 1545 | debug: 4.3.6 1546 | transitivePeerDependencies: 1547 | - supports-color 1548 | optional: true 1549 | 1550 | https-proxy-agent@5.0.1: 1551 | dependencies: 1552 | agent-base: 6.0.2 1553 | debug: 4.3.6 1554 | transitivePeerDependencies: 1555 | - supports-color 1556 | optional: true 1557 | 1558 | human-signals@5.0.0: {} 1559 | 1560 | humanize-ms@1.2.1: 1561 | dependencies: 1562 | ms: 2.1.3 1563 | optional: true 1564 | 1565 | iconv-lite@0.6.3: 1566 | dependencies: 1567 | safer-buffer: 2.1.2 1568 | optional: true 1569 | 1570 | ieee754@1.2.1: {} 1571 | 1572 | imurmurhash@0.1.4: 1573 | optional: true 1574 | 1575 | indent-string@4.0.0: 1576 | optional: true 1577 | 1578 | infer-owner@1.0.4: 1579 | optional: true 1580 | 1581 | inflight@1.0.6: 1582 | dependencies: 1583 | once: 1.4.0 1584 | wrappy: 1.0.2 1585 | optional: true 1586 | 1587 | inherits@2.0.4: {} 1588 | 1589 | ini@1.3.8: {} 1590 | 1591 | ip-address@9.0.5: 1592 | dependencies: 1593 | jsbn: 1.1.0 1594 | sprintf-js: 1.1.3 1595 | optional: true 1596 | 1597 | is-fullwidth-code-point@3.0.0: 1598 | optional: true 1599 | 1600 | is-lambda@1.0.1: 1601 | optional: true 1602 | 1603 | is-stream@3.0.0: {} 1604 | 1605 | isexe@2.0.0: {} 1606 | 1607 | jsbn@1.1.0: 1608 | optional: true 1609 | 1610 | json-bigint@1.0.0: 1611 | dependencies: 1612 | bignumber.js: 9.1.2 1613 | 1614 | jsonfile@4.0.0: 1615 | optionalDependencies: 1616 | graceful-fs: 4.2.11 1617 | 1618 | keyv@5.0.1: 1619 | dependencies: 1620 | '@keyv/serialize': 1.0.1 1621 | 1622 | lodash@4.17.21: {} 1623 | 1624 | loupe@3.1.1: 1625 | dependencies: 1626 | get-func-name: 2.0.2 1627 | 1628 | lru-cache@6.0.0: 1629 | dependencies: 1630 | yallist: 4.0.0 1631 | optional: true 1632 | 1633 | magic-string@0.30.11: 1634 | dependencies: 1635 | '@jridgewell/sourcemap-codec': 1.5.0 1636 | 1637 | make-fetch-happen@9.1.0: 1638 | dependencies: 1639 | agentkeepalive: 4.5.0 1640 | cacache: 15.3.0 1641 | http-cache-semantics: 4.1.1 1642 | http-proxy-agent: 4.0.1 1643 | https-proxy-agent: 5.0.1 1644 | is-lambda: 1.0.1 1645 | lru-cache: 6.0.0 1646 | minipass: 3.3.6 1647 | minipass-collect: 1.0.2 1648 | minipass-fetch: 1.4.1 1649 | minipass-flush: 1.0.5 1650 | minipass-pipeline: 1.2.4 1651 | negotiator: 0.6.3 1652 | promise-retry: 2.0.1 1653 | socks-proxy-agent: 6.2.1 1654 | ssri: 8.0.1 1655 | transitivePeerDependencies: 1656 | - bluebird 1657 | - supports-color 1658 | optional: true 1659 | 1660 | merge-stream@2.0.0: {} 1661 | 1662 | mimic-fn@4.0.0: {} 1663 | 1664 | mimic-response@3.1.0: {} 1665 | 1666 | minimatch@3.1.2: 1667 | dependencies: 1668 | brace-expansion: 1.1.11 1669 | optional: true 1670 | 1671 | minimist@1.2.8: {} 1672 | 1673 | minipass-collect@1.0.2: 1674 | dependencies: 1675 | minipass: 3.3.6 1676 | optional: true 1677 | 1678 | minipass-fetch@1.4.1: 1679 | dependencies: 1680 | minipass: 3.3.6 1681 | minipass-sized: 1.0.3 1682 | minizlib: 2.1.2 1683 | optionalDependencies: 1684 | encoding: 0.1.13 1685 | optional: true 1686 | 1687 | minipass-flush@1.0.5: 1688 | dependencies: 1689 | minipass: 3.3.6 1690 | optional: true 1691 | 1692 | minipass-pipeline@1.2.4: 1693 | dependencies: 1694 | minipass: 3.3.6 1695 | optional: true 1696 | 1697 | minipass-sized@1.0.3: 1698 | dependencies: 1699 | minipass: 3.3.6 1700 | optional: true 1701 | 1702 | minipass@3.3.6: 1703 | dependencies: 1704 | yallist: 4.0.0 1705 | 1706 | minipass@5.0.0: {} 1707 | 1708 | minizlib@2.1.2: 1709 | dependencies: 1710 | minipass: 3.3.6 1711 | yallist: 4.0.0 1712 | 1713 | mkdirp-classic@0.5.3: {} 1714 | 1715 | mkdirp@1.0.4: {} 1716 | 1717 | ms@2.1.2: {} 1718 | 1719 | ms@2.1.3: 1720 | optional: true 1721 | 1722 | nanoid@3.3.7: {} 1723 | 1724 | napi-build-utils@1.0.2: {} 1725 | 1726 | negotiator@0.6.3: 1727 | optional: true 1728 | 1729 | node-abi@3.67.0: 1730 | dependencies: 1731 | semver: 7.6.3 1732 | 1733 | node-addon-api@7.1.1: {} 1734 | 1735 | node-gyp@8.4.1: 1736 | dependencies: 1737 | env-paths: 2.2.1 1738 | glob: 7.2.3 1739 | graceful-fs: 4.2.11 1740 | make-fetch-happen: 9.1.0 1741 | nopt: 5.0.0 1742 | npmlog: 6.0.2 1743 | rimraf: 3.0.2 1744 | semver: 7.6.3 1745 | tar: 6.2.1 1746 | which: 2.0.2 1747 | transitivePeerDependencies: 1748 | - bluebird 1749 | - supports-color 1750 | optional: true 1751 | 1752 | nopt@5.0.0: 1753 | dependencies: 1754 | abbrev: 1.1.1 1755 | optional: true 1756 | 1757 | npm-run-path@5.3.0: 1758 | dependencies: 1759 | path-key: 4.0.0 1760 | 1761 | npmlog@6.0.2: 1762 | dependencies: 1763 | are-we-there-yet: 3.0.1 1764 | console-control-strings: 1.1.0 1765 | gauge: 4.0.4 1766 | set-blocking: 2.0.0 1767 | optional: true 1768 | 1769 | once@1.4.0: 1770 | dependencies: 1771 | wrappy: 1.0.2 1772 | 1773 | onetime@6.0.0: 1774 | dependencies: 1775 | mimic-fn: 4.0.0 1776 | 1777 | p-map@4.0.0: 1778 | dependencies: 1779 | aggregate-error: 3.1.0 1780 | optional: true 1781 | 1782 | path-is-absolute@1.0.1: 1783 | optional: true 1784 | 1785 | path-key@3.1.1: {} 1786 | 1787 | path-key@4.0.0: {} 1788 | 1789 | pathe@1.1.2: {} 1790 | 1791 | pathval@2.0.0: {} 1792 | 1793 | picocolors@1.0.1: {} 1794 | 1795 | platform@1.3.6: {} 1796 | 1797 | postcss@8.4.41: 1798 | dependencies: 1799 | nanoid: 3.3.7 1800 | picocolors: 1.0.1 1801 | source-map-js: 1.2.0 1802 | 1803 | prebuild-install@7.1.2: 1804 | dependencies: 1805 | detect-libc: 2.0.3 1806 | expand-template: 2.0.3 1807 | github-from-package: 0.0.0 1808 | minimist: 1.2.8 1809 | mkdirp-classic: 0.5.3 1810 | napi-build-utils: 1.0.2 1811 | node-abi: 3.67.0 1812 | pump: 3.0.0 1813 | rc: 1.2.8 1814 | simple-get: 4.0.1 1815 | tar-fs: 2.1.1 1816 | tunnel-agent: 0.6.0 1817 | 1818 | promise-inflight@1.0.1: 1819 | optional: true 1820 | 1821 | promise-retry@2.0.1: 1822 | dependencies: 1823 | err-code: 2.0.3 1824 | retry: 0.12.0 1825 | optional: true 1826 | 1827 | pump@3.0.0: 1828 | dependencies: 1829 | end-of-stream: 1.4.4 1830 | once: 1.4.0 1831 | 1832 | rc@1.2.8: 1833 | dependencies: 1834 | deep-extend: 0.6.0 1835 | ini: 1.3.8 1836 | minimist: 1.2.8 1837 | strip-json-comments: 2.0.1 1838 | 1839 | readable-stream@3.6.2: 1840 | dependencies: 1841 | inherits: 2.0.4 1842 | string_decoder: 1.1.1 1843 | util-deprecate: 1.0.2 1844 | 1845 | retry@0.12.0: 1846 | optional: true 1847 | 1848 | rimraf@3.0.2: 1849 | dependencies: 1850 | glob: 7.2.3 1851 | optional: true 1852 | 1853 | rollup@4.21.1: 1854 | dependencies: 1855 | '@types/estree': 1.0.5 1856 | optionalDependencies: 1857 | '@rollup/rollup-android-arm-eabi': 4.21.1 1858 | '@rollup/rollup-android-arm64': 4.21.1 1859 | '@rollup/rollup-darwin-arm64': 4.21.1 1860 | '@rollup/rollup-darwin-x64': 4.21.1 1861 | '@rollup/rollup-linux-arm-gnueabihf': 4.21.1 1862 | '@rollup/rollup-linux-arm-musleabihf': 4.21.1 1863 | '@rollup/rollup-linux-arm64-gnu': 4.21.1 1864 | '@rollup/rollup-linux-arm64-musl': 4.21.1 1865 | '@rollup/rollup-linux-powerpc64le-gnu': 4.21.1 1866 | '@rollup/rollup-linux-riscv64-gnu': 4.21.1 1867 | '@rollup/rollup-linux-s390x-gnu': 4.21.1 1868 | '@rollup/rollup-linux-x64-gnu': 4.21.1 1869 | '@rollup/rollup-linux-x64-musl': 4.21.1 1870 | '@rollup/rollup-win32-arm64-msvc': 4.21.1 1871 | '@rollup/rollup-win32-ia32-msvc': 4.21.1 1872 | '@rollup/rollup-win32-x64-msvc': 4.21.1 1873 | fsevents: 2.3.3 1874 | 1875 | safe-buffer@5.1.2: {} 1876 | 1877 | safe-buffer@5.2.1: {} 1878 | 1879 | safer-buffer@2.1.2: 1880 | optional: true 1881 | 1882 | semver@7.6.3: {} 1883 | 1884 | set-blocking@2.0.0: 1885 | optional: true 1886 | 1887 | shebang-command@2.0.0: 1888 | dependencies: 1889 | shebang-regex: 3.0.0 1890 | 1891 | shebang-regex@3.0.0: {} 1892 | 1893 | siginfo@2.0.0: {} 1894 | 1895 | signal-exit@3.0.7: 1896 | optional: true 1897 | 1898 | signal-exit@4.1.0: {} 1899 | 1900 | simple-concat@1.0.1: {} 1901 | 1902 | simple-get@4.0.1: 1903 | dependencies: 1904 | decompress-response: 6.0.0 1905 | once: 1.4.0 1906 | simple-concat: 1.0.1 1907 | 1908 | smart-buffer@4.2.0: 1909 | optional: true 1910 | 1911 | socks-proxy-agent@6.2.1: 1912 | dependencies: 1913 | agent-base: 6.0.2 1914 | debug: 4.3.6 1915 | socks: 2.8.3 1916 | transitivePeerDependencies: 1917 | - supports-color 1918 | optional: true 1919 | 1920 | socks@2.8.3: 1921 | dependencies: 1922 | ip-address: 9.0.5 1923 | smart-buffer: 4.2.0 1924 | optional: true 1925 | 1926 | source-map-js@1.2.0: {} 1927 | 1928 | sprintf-js@1.1.3: 1929 | optional: true 1930 | 1931 | sqlite3@5.1.7: 1932 | dependencies: 1933 | bindings: 1.5.0 1934 | node-addon-api: 7.1.1 1935 | prebuild-install: 7.1.2 1936 | tar: 6.2.1 1937 | optionalDependencies: 1938 | node-gyp: 8.4.1 1939 | transitivePeerDependencies: 1940 | - bluebird 1941 | - supports-color 1942 | 1943 | ssri@8.0.1: 1944 | dependencies: 1945 | minipass: 3.3.6 1946 | optional: true 1947 | 1948 | stackback@0.0.2: {} 1949 | 1950 | std-env@3.7.0: {} 1951 | 1952 | string-width@4.2.3: 1953 | dependencies: 1954 | emoji-regex: 8.0.0 1955 | is-fullwidth-code-point: 3.0.0 1956 | strip-ansi: 6.0.1 1957 | optional: true 1958 | 1959 | string_decoder@1.1.1: 1960 | dependencies: 1961 | safe-buffer: 5.1.2 1962 | 1963 | strip-ansi@6.0.1: 1964 | dependencies: 1965 | ansi-regex: 5.0.1 1966 | optional: true 1967 | 1968 | strip-final-newline@3.0.0: {} 1969 | 1970 | strip-json-comments@2.0.1: {} 1971 | 1972 | tar-fs@2.1.1: 1973 | dependencies: 1974 | chownr: 1.1.4 1975 | mkdirp-classic: 0.5.3 1976 | pump: 3.0.0 1977 | tar-stream: 2.2.0 1978 | 1979 | tar-stream@2.2.0: 1980 | dependencies: 1981 | bl: 4.1.0 1982 | end-of-stream: 1.4.4 1983 | fs-constants: 1.0.0 1984 | inherits: 2.0.4 1985 | readable-stream: 3.6.2 1986 | 1987 | tar@6.2.1: 1988 | dependencies: 1989 | chownr: 2.0.0 1990 | fs-minipass: 2.1.0 1991 | minipass: 5.0.0 1992 | minizlib: 2.1.2 1993 | mkdirp: 1.0.4 1994 | yallist: 4.0.0 1995 | 1996 | timekeeper@2.3.1: {} 1997 | 1998 | tinybench@2.9.0: {} 1999 | 2000 | tinypool@1.0.1: {} 2001 | 2002 | tinyrainbow@1.2.0: {} 2003 | 2004 | tinyspy@3.0.0: {} 2005 | 2006 | tslib@1.14.1: {} 2007 | 2008 | tunnel-agent@0.6.0: 2009 | dependencies: 2010 | safe-buffer: 5.2.1 2011 | 2012 | typescript@5.5.4: {} 2013 | 2014 | undici-types@6.13.0: {} 2015 | 2016 | unique-filename@1.1.1: 2017 | dependencies: 2018 | unique-slug: 2.0.2 2019 | optional: true 2020 | 2021 | unique-slug@2.0.2: 2022 | dependencies: 2023 | imurmurhash: 0.1.4 2024 | optional: true 2025 | 2026 | universalify@0.1.2: {} 2027 | 2028 | util-deprecate@1.0.2: {} 2029 | 2030 | vite-node@2.0.5(@types/node@22.2.0): 2031 | dependencies: 2032 | cac: 6.7.14 2033 | debug: 4.3.6 2034 | pathe: 1.1.2 2035 | tinyrainbow: 1.2.0 2036 | vite: 5.4.2(@types/node@22.2.0) 2037 | transitivePeerDependencies: 2038 | - '@types/node' 2039 | - less 2040 | - lightningcss 2041 | - sass 2042 | - sass-embedded 2043 | - stylus 2044 | - sugarss 2045 | - supports-color 2046 | - terser 2047 | 2048 | vite@5.4.2(@types/node@22.2.0): 2049 | dependencies: 2050 | esbuild: 0.21.5 2051 | postcss: 8.4.41 2052 | rollup: 4.21.1 2053 | optionalDependencies: 2054 | '@types/node': 22.2.0 2055 | fsevents: 2.3.3 2056 | 2057 | vitest@2.0.5(@types/node@22.2.0): 2058 | dependencies: 2059 | '@ampproject/remapping': 2.3.0 2060 | '@vitest/expect': 2.0.5 2061 | '@vitest/pretty-format': 2.0.5 2062 | '@vitest/runner': 2.0.5 2063 | '@vitest/snapshot': 2.0.5 2064 | '@vitest/spy': 2.0.5 2065 | '@vitest/utils': 2.0.5 2066 | chai: 5.1.1 2067 | debug: 4.3.6 2068 | execa: 8.0.1 2069 | magic-string: 0.30.11 2070 | pathe: 1.1.2 2071 | std-env: 3.7.0 2072 | tinybench: 2.9.0 2073 | tinypool: 1.0.1 2074 | tinyrainbow: 1.2.0 2075 | vite: 5.4.2(@types/node@22.2.0) 2076 | vite-node: 2.0.5(@types/node@22.2.0) 2077 | why-is-node-running: 2.3.0 2078 | optionalDependencies: 2079 | '@types/node': 22.2.0 2080 | transitivePeerDependencies: 2081 | - less 2082 | - lightningcss 2083 | - sass 2084 | - sass-embedded 2085 | - stylus 2086 | - sugarss 2087 | - supports-color 2088 | - terser 2089 | 2090 | which@2.0.2: 2091 | dependencies: 2092 | isexe: 2.0.0 2093 | 2094 | why-is-node-running@2.3.0: 2095 | dependencies: 2096 | siginfo: 2.0.0 2097 | stackback: 0.0.2 2098 | 2099 | wide-align@1.1.5: 2100 | dependencies: 2101 | string-width: 4.2.3 2102 | optional: true 2103 | 2104 | wrappy@1.0.2: {} 2105 | 2106 | yallist@4.0.0: {} 2107 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs') 2 | try { 3 | const lock = './test.lock' 4 | let fd = fs.openSync(lock, 'wx') 5 | fs.closeSync(fd) 6 | process.on('SIGINT', () => { 7 | console.log('SIGINT', 0) 8 | process.exit(0) 9 | }) 10 | process.on('SIGINT', () => { 11 | console.log('SIGINT', 1) 12 | process.exit(1) 13 | }) 14 | process.on('exit', (code) => { 15 | console.log('exit', code) 16 | fs.unlinkSync(lock) 17 | }) 18 | } catch (error) { 19 | console.error(`[keyv-file] There is another process using this file`) 20 | throw error 21 | } 22 | 23 | setInterval(() => { 24 | }, 1000) 25 | -------------------------------------------------------------------------------- /test.spec.mjs: -------------------------------------------------------------------------------- 1 | import Keyv from 'keyv'; 2 | import KeyvStore from './lib/index.js'; 3 | import keyvTestSuite, {keyvIteratorTests} from '@keyv/test-suite'; 4 | import * as test from 'vitest'; 5 | 6 | const store = () => new KeyvStore({ 7 | filename: `./node_modules/.cache/test-save-${Math.random().toString(36).slice(2)}.json`, 8 | }); 9 | keyvTestSuite(test, Keyv, store); 10 | keyvIteratorTests(test, Keyv, store); 11 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | /* Basic Options */ 4 | "target": "es2015", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017','ES2018' or 'ESNEXT'. */ 5 | "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', or 'ESNext'. */ 6 | // "lib": [], /* Specify library files to be included in the compilation. */ 7 | // "allowJs": true, /* Allow javascript files to be compiled. */ 8 | // "checkJs": true, /* Report errors in .js files. */ 9 | // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ 10 | "declaration": true, /* Generates corresponding '.d.ts' file. */ 11 | // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ 12 | // "sourceMap": true, /* Generates corresponding '.map' file. */ 13 | // "outFile": "./", /* Concatenate and emit output to single file. */ 14 | "outDir": "./lib", /* Redirect output structure to the directory. */ 15 | // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ 16 | // "composite": true, /* Enable project compilation */ 17 | // "removeComments": true, /* Do not emit comments to output. */ 18 | // "noEmit": true, /* Do not emit outputs. */ 19 | "importHelpers": true, /* Import emit helpers from 'tslib'. */ 20 | // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ 21 | // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ 22 | 23 | /* Strict Type-Checking Options */ 24 | "strict": true, /* Enable all strict type-checking options. */ 25 | // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ 26 | // "strictNullChecks": true, /* Enable strict null checks. */ 27 | // "strictFunctionTypes": true, /* Enable strict checking of function types. */ 28 | // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ 29 | // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ 30 | // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ 31 | // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ 32 | 33 | /* Additional Checks */ 34 | // "noUnusedLocals": true, /* Report errors on unused locals. */ 35 | // "noUnusedParameters": true, /* Report errors on unused parameters. */ 36 | // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ 37 | // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ 38 | 39 | /* Module Resolution Options */ 40 | // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ 41 | // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ 42 | // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ 43 | // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ 44 | // "typeRoots": [], /* List of folders to include type definitions from. */ 45 | // "types": [], /* Type declaration files to be included in compilation. */ 46 | // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ 47 | "esModuleInterop": true /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ 48 | // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ 49 | 50 | /* Source Map Options */ 51 | // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ 52 | // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ 53 | // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ 54 | // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ 55 | 56 | /* Experimental Options */ 57 | // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ 58 | // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ 59 | } 60 | } 61 | --------------------------------------------------------------------------------