├── .github └── workflows │ └── test.yml ├── .gitignore ├── .npmrc ├── LICENSE ├── README.md ├── package.json ├── plugin ├── .gitignore ├── Readme.md ├── package.json ├── pnpm-global │ └── 5 │ │ └── pnpm-lock.yaml ├── rollup.config.js ├── src │ └── index.ts └── tsconfig.json ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── test └── basic │ ├── .gitignore │ ├── index.html │ ├── index.jsx │ ├── map.test.ts │ ├── package.json │ ├── tsconfig.json │ ├── utils.ts │ └── vitest.config.ts └── tsconfig.json /.github/workflows/test.yml: -------------------------------------------------------------------------------- 1 | name: Test 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | pull_request: 9 | branches: 10 | - main 11 | 12 | jobs: 13 | build: 14 | runs-on: ${{ matrix.os }} 15 | 16 | timeout-minutes: 6 17 | 18 | strategy: 19 | matrix: 20 | node-version: [18.x] # 14 21 | os: [ubuntu-latest] # mac 22 | fail-fast: false 23 | 24 | steps: 25 | - uses: actions/checkout@v2 26 | 27 | - name: Install pnpm 28 | uses: pnpm/action-setup@v2.0.1 29 | with: 30 | version: 6.23.5 31 | 32 | - name: Set node version to ${{ matrix.node_version }} 33 | uses: actions/setup-node@v2 34 | with: 35 | node-version: ${{ matrix.node_version }} 36 | cache: "pnpm" 37 | 38 | - name: Install 39 | run: pnpm i 40 | 41 | - name: Build 42 | run: pnpm run build 43 | 44 | - name: Test 45 | run: | 46 | cd test/basic 47 | pnpm run test:ci 48 | 49 | - name: Lint 50 | run: pnpm run lint --if-present 51 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | strict-peer-dependencies=false -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 M. Bagher Abiat 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 | # vite-plugin-jspm 2 | 3 | > Import maps: a way to control the behavior of JavaScript imports. [WICG/import-maps](https://github.com/WICG/import-maps) 4 | 5 | > CDN: A content delivery network (CDN) refers to a geographically distributed group of servers which work together to provide fast delivery of Internet content. [Cloudflare.com](https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/) 6 | 7 | A vite plugin which externalizes dependencies and resolves them independently from **CDN (Content Delivery Network) providers** using [import maps](https://github.com/WICG/import-maps) and [es-module-shims](https://github.com/guybedford/es-module-shims)! 8 | This plugin generates an import map for your app automatically in both development and production, and resolves dependencies based on that. 9 | 10 | It is based on [@jspm/generator](https://github.com/jspm/generator) which supports different providers like _jspm_, _unpkg_ and _skypack_. 11 | 12 | ## Usage 13 | 14 | ```ts 15 | import { defineConfig } from "vite"; 16 | import jspmPlugin from "vite-plugin-jspm"; 17 | 18 | export default defineConfig({ 19 | plugins: [jspmPlugin()], 20 | }); 21 | ``` 22 | 23 | ## Custom options 24 | 25 | ### `inputMap` 26 | 27 | `inputMap` is a `@jspm/generator` option. When passed, the plugin takes it as source of truth. And resolves the imports against it. 28 | 29 | ### `downloadDeps` 30 | 31 | When passed, downloads the dependencies and bundles them with the build. But in dev mode `vite dev`, the plugin serves the dependencies from the CDN. 32 | 33 | ### env 34 | 35 | `env` is a `@jspm/generator` option. Users don't need to pass `production` or `development` option. The env is applied according to the vite env. 36 | 37 | ### debug 38 | 39 | `debug` let's you skim through the logs during resolution and downloading pahses. 40 | 41 | ### pollyfillProvider 42 | 43 | `pollyfillProvider` allow users to define their own pollyfill provider instead of `ga.jspm.io`, it can be a function `(version: string) => string` or a `string`. For function, the parameter `version` is `es-module-shims`'s version, user should return a complete url like `https://ga.jspm.io/npm:es-module-shims@1.8.0/dist/es-module-shims.js`. 44 | 45 | # Bundle size 46 | 47 | You can see the bundle size of [`test/basic`](https://github.com/jspm/vite-plugin-jspm/tree/main/test/basic) example in two cases: 48 | 49 | ``` 50 | # with this plugin 51 | vite v4.1.1 building for production... 52 | ✓ 16 modules transformed. 53 | build/index.html 4.80 kB 54 | build/assets/index-8f42e5ff.css 9.58 kB │ gzip: 1.64 kB 55 | build/assets/index-37524fa0.js 14.11 kB │ gzip: 3.71 kB 56 | 57 | # with downloadDeps flag in the plugin 58 | vite v4.1.1 building for production... 59 | ✓ 45 modules transformed. 60 | build/index.html 2.42 kB 61 | build/assets/index-8f42e5ff.css 9.58 kB │ gzip: 1.64 kB 62 | build/assets/index-38fd63e9.js 187.02 kB │ gzip: 59.80 kB 63 | ``` 64 | 65 | # Contribution 66 | 67 | Feel free to open issues and PRs! 68 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vite-plugin-jspm/monorepo", 3 | "version": "0.0.1", 4 | "private": true, 5 | "type": "module", 6 | "scripts": { 7 | "build": "pnpm -r --filter vite-plugin-jspm run build", 8 | "dev": "pnpm -r --filter vite-plugin-jspm run dev" 9 | }, 10 | "devDependencies": { 11 | "@rollup/plugin-alias": "^4.0.3", 12 | "@rollup/plugin-commonjs": "^24.0.1", 13 | "@rollup/plugin-json": "^6.0.0", 14 | "@rollup/plugin-node-resolve": "^15.0.1", 15 | "@types/node": "^18.0.0", 16 | "cross-env": "^7.0.3", 17 | "esbuild": "^0.17.8", 18 | "esbuild-node-loader": "^0.8.0", 19 | "puppeteer": "^19.7.0", 20 | "rimraf": "^3.0.2", 21 | "rollup": "~3.15.0", 22 | "rollup-plugin-dts": "^5.2.0", 23 | "rollup-plugin-esbuild": "^5.0.0", 24 | "typescript": "^4.9.5", 25 | "vite": "^4.1.1", 26 | "vitest": "^0.28.5" 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /plugin/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist 3 | -------------------------------------------------------------------------------- /plugin/Readme.md: -------------------------------------------------------------------------------- 1 | # vite-plugin-jspm 2 | 3 | > Import maps: a way to control the behavior of JavaScript imports. [WICG/import-maps](https://github.com/WICG/import-maps) 4 | 5 | > CDN: A content delivery network (CDN) refers to a geographically distributed group of servers which work together to provide fast delivery of Internet content. [Cloudflare.com](https://www.cloudflare.com/en-ca/learning/cdn/what-is-a-cdn/) 6 | 7 | A vite plugin which externalizes dependencies and resolves them independently from **CDN (Content Delivery Network) providers** using [import maps](https://github.com/WICG/import-maps) and [es-module-shims](https://github.com/guybedford/es-module-shims)! 8 | This plugin generates an import map for your app automatically in both development and production, and resolves dependencies based on that. 9 | 10 | It is based on [@jspm/generator](https://github.com/jspm/generator) which supports different providers like _jspm_, _unpkg_ and _skypack_. 11 | 12 | ## Usage 13 | 14 | ```ts 15 | import { defineConfig } from "vite"; 16 | import jspmPlugin from "vite-plugin-jspm"; 17 | 18 | export default defineConfig({ 19 | plugins: [jspmPlugin()], 20 | }); 21 | ``` 22 | 23 | ## Custom options 24 | 25 | ### `inputMap` 26 | 27 | `inputMap` is a `@jspm/generator` option. When passed, the plugin takes it as source of truth. And resolves the imports against it. 28 | 29 | ### `downloadDeps` 30 | 31 | When passed, downloads the dependencies and bundles them with the build. But in dev mode `vite dev`, the plugin serves the dependencies from the CDN. 32 | 33 | ### env 34 | 35 | `env` is a `@jspm/generator` option. Users don't need to pass `production` or `development` option. The env is applied according to the vite env. 36 | 37 | ### debug 38 | 39 | `debug` let's you skim through the logs during resolution and downloading pahses. 40 | 41 | ### pollyfillProvider 42 | 43 | `pollyfillProvider` allow users to define their own pollyfill provider instead of `ga.jspm.io`, it can be a function `(version: string) => string` or a `string`. For function, the parameter `version` is `es-module-shims`'s version, user should return a complete url like `https://ga.jspm.io/npm:es-module-shims@1.8.0/dist/es-module-shims.js`. 44 | 45 | # Bundle size 46 | 47 | You can see the bundle size of [`test/basic`](https://github.com/jspm/vite-plugin-jspm/tree/main/test/basic) example in two cases: 48 | 49 | ``` 50 | # with this plugin 51 | vite v4.1.1 building for production... 52 | ✓ 16 modules transformed. 53 | build/index.html 4.80 kB 54 | build/assets/index-8f42e5ff.css 9.58 kB │ gzip: 1.64 kB 55 | build/assets/index-37524fa0.js 14.11 kB │ gzip: 3.71 kB 56 | 57 | # with downloadDeps flag in the plugin 58 | vite v4.1.1 building for production... 59 | ✓ 45 modules transformed. 60 | build/index.html 2.42 kB 61 | build/assets/index-8f42e5ff.css 9.58 kB │ gzip: 1.64 kB 62 | build/assets/index-38fd63e9.js 187.02 kB │ gzip: 59.80 kB 63 | ``` 64 | 65 | # Contribution 66 | 67 | Feel free to open issues and PRs! 68 | -------------------------------------------------------------------------------- /plugin/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vite-plugin-jspm", 3 | "version": "0.6.1", 4 | "type": "module", 5 | "scripts": { 6 | "build": "rimraf dist && rollup -c", 7 | "dev": "rollup -c --watch src", 8 | "typecheck": "tsc --noEmit" 9 | }, 10 | "main": "./dist/index.js", 11 | "module": "./dist/index.js", 12 | "types": "./dist/index.d.ts", 13 | "exports": { 14 | ".": { 15 | "import": "./dist/index.js", 16 | "types": "./dist/index.d.ts" 17 | } 18 | }, 19 | "files": [ 20 | "dist", 21 | "bin", 22 | "*.d.ts" 23 | ], 24 | "repository": { 25 | "type": "git", 26 | "url": "git+https://github.com/aslemammad/vite-plugin-jspm.git" 27 | }, 28 | "license": "MIT", 29 | "bugs": { 30 | "url": "https://github.com/aslemammad/vite-plugin-jspm/issues" 31 | }, 32 | "homepage": "https://github.com/aslemammad/vite-plugin-jspm#readme", 33 | "devDependencies": { 34 | "@vue/compiler-core": "^3.2.31", 35 | "@vue/compiler-dom": "^3.2.31" 36 | }, 37 | "dependencies": { 38 | "@jspm/generator": "^2.3.0" 39 | }, 40 | "peerDependencies": { 41 | "vite": "*" 42 | }, 43 | "engines": { 44 | "node": ">=18" 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /plugin/pnpm-global/5/pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.3 2 | 3 | specifiers: 4 | vite-plugin-cloudflare: ^0.0.0 5 | -------------------------------------------------------------------------------- /plugin/rollup.config.js: -------------------------------------------------------------------------------- 1 | import esbuild from 'rollup-plugin-esbuild' 2 | import dts from 'rollup-plugin-dts' 3 | import resolve from '@rollup/plugin-node-resolve' 4 | import commonjs from '@rollup/plugin-commonjs' 5 | import json from '@rollup/plugin-json' 6 | import alias from '@rollup/plugin-alias' 7 | import pkg from './package.json' assert { type: 'json'} 8 | 9 | const entry = [ 10 | 'src/index.ts', 11 | ] 12 | 13 | const external = [ 14 | ...Object.keys(pkg.dependencies || []), 15 | ...Object.keys(pkg.peerDependencies || []), 16 | 'worker_threads', 17 | 'esbuild', 18 | ] 19 | 20 | export default [ 21 | { 22 | input: entry, 23 | output: { 24 | dir: 'dist', 25 | format: 'esm', 26 | }, 27 | external, 28 | plugins: [ 29 | alias({ 30 | entries: [ 31 | { find: /^node:(.+)$/, replacement: '$1' }, 32 | ], 33 | }), 34 | resolve({ 35 | preferBuiltins: true, 36 | }), 37 | json(), 38 | commonjs(), 39 | esbuild({ 40 | target: 'node14', 41 | }), 42 | ], 43 | }, 44 | { 45 | input: [ 46 | 'src/index.ts', 47 | ], 48 | output: { 49 | file: 'dist/index.d.ts', 50 | format: 'esm', 51 | }, 52 | external, 53 | plugins: [ 54 | dts(), 55 | ], 56 | }, 57 | ] 58 | -------------------------------------------------------------------------------- /plugin/src/index.ts: -------------------------------------------------------------------------------- 1 | import path from "path"; 2 | import { Generator, GeneratorOptions, fetch } from "@jspm/generator"; 3 | import type { HtmlTagDescriptor, Plugin } from "vite"; 4 | 5 | type PluginOptions = GeneratorOptions & { 6 | downloadDeps?: boolean; 7 | debug?: boolean; 8 | pollyfillProvider?: ((version: string) => string) | string; 9 | }; 10 | 11 | const getDefaultOptions = (): PluginOptions => ({ 12 | debug: false, 13 | env: ["browser", "module"], 14 | }); 15 | 16 | const getLatestVersionOfShims = async () => { 17 | const version = await ( 18 | await fetch(`https://ga.jspm.io/npm:es-module-shims`) 19 | ).text(); 20 | return version; 21 | }; 22 | 23 | let generator: Generator; 24 | 25 | async function plugin(pluginOptions?: PluginOptions): Promise { 26 | const resolvedDeps: Set = new Set(); 27 | const promises: Promise[] = []; 31 | let options = { ...getDefaultOptions(), ...(pluginOptions || {}) }; 32 | options.env = options.env?.filter( 33 | (envVar) => !["development", "production"].includes(envVar) 34 | ); 35 | 36 | const log = (msg: string) => { 37 | if (!options?.debug) { 38 | return; 39 | } 40 | console.log("[vite-plugin-jspm]:" + msg); 41 | }; 42 | 43 | generator = new Generator(options); 44 | 45 | if (options?.debug) { 46 | (async () => { 47 | for await (const { type, message } of generator.logStream()) { 48 | console.log(`${type}: ${message}`); 49 | } 50 | })(); 51 | } 52 | 53 | if (options?.inputMap) { 54 | await generator.reinstall(); 55 | } 56 | 57 | return [ 58 | { 59 | name: "jspm:imports-scan", 60 | enforce: "pre", 61 | config(_, _env) { 62 | options.env?.push(_env.mode); 63 | }, 64 | configResolved(config) { 65 | config.build.modulePreload = false; 66 | 67 | // @ts-ignore 68 | config.plugins.push({ 69 | name: "vite-plugin-ignore-static-import-replace-idprefix", 70 | transform: (code, _, ctx) => { 71 | if (ctx?.ssr) { 72 | return code; 73 | } 74 | const VALID_ID_PREFIX = `/@id/`; 75 | const resolvedDepsRegex = new RegExp( 76 | `${VALID_ID_PREFIX}(${[...resolvedDeps].join("|")})`, 77 | "g" 78 | ); 79 | return resolvedDepsRegex.test(code) 80 | ? code.replace(resolvedDepsRegex, (_, s1) => s1) 81 | : code; 82 | }, 83 | } as Plugin); 84 | }, 85 | async resolveId(id, importer, ctx) { 86 | if (ctx.ssr) { 87 | return null; 88 | } 89 | 90 | if ( 91 | id.startsWith("/") || 92 | id.startsWith(".") || 93 | id.includes("vite/") || 94 | id.includes("__vite") || 95 | id.includes(".css") || 96 | id.includes(".html") || 97 | path.isAbsolute(id) || 98 | resolvedDeps.has(id) || 99 | importer?.startsWith("http") 100 | ) { 101 | return; 102 | } 103 | 104 | try { 105 | log(`jspm:imports-scan: Resolving ${id}`); 106 | generator.resolve(id); 107 | } catch { 108 | log(`jspm:imports-scan: Installing ${id}`); 109 | promises.push(generator.install(id)); 110 | } finally { 111 | resolvedDeps.add(id); 112 | } 113 | 114 | return; 115 | }, 116 | }, 117 | { 118 | name: "jspm:import-mapping", 119 | enforce: "post", 120 | async resolveId(id, importer, ctx) { 121 | try { 122 | await Promise.allSettled(promises); 123 | promises.length = 0; 124 | } catch { } 125 | 126 | if (ctx.ssr) { 127 | return null; 128 | } 129 | 130 | if (id.includes("vite/") || path.isAbsolute(id)) { 131 | return; 132 | } 133 | 134 | if (importer?.startsWith("http") && id?.startsWith(".")) { 135 | const proxyPath = new URL(id, importer).toString(); 136 | if (options?.downloadDeps) { 137 | return { id: proxyPath, external: false }; 138 | } 139 | return { id, external: true }; 140 | } 141 | 142 | try { 143 | log(`jspm:import-mapping: Resolving ${id}`); 144 | const proxyPath = generator.resolve(id); 145 | resolvedDeps.add(id); 146 | 147 | if (options?.downloadDeps) { 148 | return { id: proxyPath, external: false }; 149 | } 150 | return { id, external: true }; 151 | } catch (e) { 152 | if (importer?.startsWith("http")) { 153 | log(`jspm:import-mapping: Resolving ${id} from ${importer}`); 154 | const proxyPath = generator.importMap.resolve(id, importer); 155 | resolvedDeps.add(id); 156 | if (options?.downloadDeps) { 157 | return { id: proxyPath, external: false }; 158 | } 159 | return { id, external: true }; 160 | } 161 | } 162 | 163 | return { id, external: true }; 164 | }, 165 | async load(id) { 166 | if (id?.includes("vite/") || !id?.includes("http")) { 167 | return; 168 | } 169 | 170 | if (options?.downloadDeps) { 171 | log(`jspm:import-mapping: Downloading ${id}`); 172 | const code = await (await fetch(id)).text(); 173 | return code; 174 | } 175 | return; 176 | }, 177 | }, 178 | { 179 | name: "jspm:post", 180 | enforce: "post", 181 | transformIndexHtml: { 182 | enforce: "post", 183 | async transform(html) { 184 | resolvedDeps.clear(); 185 | const esModuleShims = await getLatestVersionOfShims(); 186 | let srcUrl = `https://ga.jspm.io/npm:es-module-shims@${esModuleShims}/dist/es-module-shims.js` 187 | if (options.pollyfillProvider) { 188 | if (typeof options.pollyfillProvider === 'function') 189 | srcUrl = options.pollyfillProvider(esModuleShims) 190 | else if (typeof options.pollyfillProvider === 'string') 191 | srcUrl = options.pollyfillProvider 192 | } 193 | const tags: HtmlTagDescriptor[] = [ 194 | { 195 | tag: "script", 196 | attrs: { 197 | src: srcUrl, 198 | async: true, 199 | }, 200 | injectTo: "head-prepend", 201 | }, 202 | ]; 203 | 204 | if (!options?.downloadDeps) { 205 | tags.push({ 206 | tag: "script", 207 | attrs: { 208 | type: "importmap", 209 | }, 210 | children: JSON.stringify(generator.getMap(), null, 2), 211 | injectTo: "head-prepend", 212 | }); 213 | } 214 | 215 | return { 216 | html, 217 | tags, 218 | }; 219 | }, 220 | }, 221 | }, 222 | ]; 223 | } 224 | 225 | export default plugin; 226 | export { generator }; 227 | -------------------------------------------------------------------------------- /plugin/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../tsconfig.json", 3 | "include": ["./src/**/*.ts"], 4 | "exclude": ["./dist"], 5 | "compilerOptions" : { 6 | "paths": { 7 | } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: '9.0' 2 | 3 | settings: 4 | autoInstallPeers: true 5 | excludeLinksFromLockfile: false 6 | 7 | importers: 8 | 9 | .: 10 | devDependencies: 11 | '@rollup/plugin-alias': 12 | specifier: ^4.0.3 13 | version: 4.0.3(rollup@3.15.0) 14 | '@rollup/plugin-commonjs': 15 | specifier: ^24.0.1 16 | version: 24.0.1(rollup@3.15.0) 17 | '@rollup/plugin-json': 18 | specifier: ^6.0.0 19 | version: 6.0.0(rollup@3.15.0) 20 | '@rollup/plugin-node-resolve': 21 | specifier: ^15.0.1 22 | version: 15.0.1(rollup@3.15.0) 23 | '@types/node': 24 | specifier: ^18.0.0 25 | version: 18.0.0 26 | cross-env: 27 | specifier: ^7.0.3 28 | version: 7.0.3 29 | esbuild: 30 | specifier: ^0.17.8 31 | version: 0.17.8 32 | esbuild-node-loader: 33 | specifier: ^0.8.0 34 | version: 0.8.0 35 | puppeteer: 36 | specifier: ^19.7.0 37 | version: 19.7.0(encoding@0.1.13)(mitt@3.0.1)(typescript@4.9.5) 38 | rimraf: 39 | specifier: ^3.0.2 40 | version: 3.0.2 41 | rollup: 42 | specifier: ~3.15.0 43 | version: 3.15.0 44 | rollup-plugin-dts: 45 | specifier: ^5.2.0 46 | version: 5.2.0(rollup@3.15.0)(typescript@4.9.5) 47 | rollup-plugin-esbuild: 48 | specifier: ^5.0.0 49 | version: 5.0.0(esbuild@0.17.8)(rollup@3.15.0) 50 | typescript: 51 | specifier: ^4.9.5 52 | version: 4.9.5 53 | vite: 54 | specifier: ^4.1.1 55 | version: 4.1.1(@types/node@18.0.0) 56 | vitest: 57 | specifier: ^0.28.5 58 | version: 0.28.5 59 | 60 | plugin: 61 | dependencies: 62 | '@jspm/generator': 63 | specifier: ^2.3.0 64 | version: 2.3.0 65 | vite: 66 | specifier: '*' 67 | version: 4.1.1(@types/node@18.0.0) 68 | devDependencies: 69 | '@vue/compiler-core': 70 | specifier: ^3.2.31 71 | version: 3.2.37 72 | '@vue/compiler-dom': 73 | specifier: ^3.2.31 74 | version: 3.2.37 75 | 76 | test/basic: {} 77 | 78 | packages: 79 | 80 | '@ampproject/remapping@2.2.0': 81 | resolution: {integrity: sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==} 82 | engines: {node: '>=6.0.0'} 83 | 84 | '@babel/code-frame@7.18.6': 85 | resolution: {integrity: sha512-TDCmlK5eOvH+eH7cdAFlNXeVJqWIQ7gW9tY1GJIpUtFb6CmjVyq2VM3u71bOyR8CRihcCgMUYoDNyLXao3+70Q==} 86 | engines: {node: '>=6.9.0'} 87 | 88 | '@babel/code-frame@7.24.7': 89 | resolution: {integrity: sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA==} 90 | engines: {node: '>=6.9.0'} 91 | 92 | '@babel/compat-data@7.25.4': 93 | resolution: {integrity: sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ==} 94 | engines: {node: '>=6.9.0'} 95 | 96 | '@babel/core@7.25.2': 97 | resolution: {integrity: sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA==} 98 | engines: {node: '>=6.9.0'} 99 | 100 | '@babel/generator@7.25.6': 101 | resolution: {integrity: sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw==} 102 | engines: {node: '>=6.9.0'} 103 | 104 | '@babel/helper-annotate-as-pure@7.24.7': 105 | resolution: {integrity: sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg==} 106 | engines: {node: '>=6.9.0'} 107 | 108 | '@babel/helper-compilation-targets@7.25.2': 109 | resolution: {integrity: sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw==} 110 | engines: {node: '>=6.9.0'} 111 | 112 | '@babel/helper-create-class-features-plugin@7.25.4': 113 | resolution: {integrity: sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ==} 114 | engines: {node: '>=6.9.0'} 115 | peerDependencies: 116 | '@babel/core': ^7.0.0 117 | 118 | '@babel/helper-member-expression-to-functions@7.24.8': 119 | resolution: {integrity: sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA==} 120 | engines: {node: '>=6.9.0'} 121 | 122 | '@babel/helper-module-imports@7.24.7': 123 | resolution: {integrity: sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA==} 124 | engines: {node: '>=6.9.0'} 125 | 126 | '@babel/helper-module-transforms@7.25.2': 127 | resolution: {integrity: sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ==} 128 | engines: {node: '>=6.9.0'} 129 | peerDependencies: 130 | '@babel/core': ^7.0.0 131 | 132 | '@babel/helper-optimise-call-expression@7.24.7': 133 | resolution: {integrity: sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A==} 134 | engines: {node: '>=6.9.0'} 135 | 136 | '@babel/helper-plugin-utils@7.24.8': 137 | resolution: {integrity: sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg==} 138 | engines: {node: '>=6.9.0'} 139 | 140 | '@babel/helper-replace-supers@7.25.0': 141 | resolution: {integrity: sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg==} 142 | engines: {node: '>=6.9.0'} 143 | peerDependencies: 144 | '@babel/core': ^7.0.0 145 | 146 | '@babel/helper-simple-access@7.24.7': 147 | resolution: {integrity: sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg==} 148 | engines: {node: '>=6.9.0'} 149 | 150 | '@babel/helper-skip-transparent-expression-wrappers@7.24.7': 151 | resolution: {integrity: sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ==} 152 | engines: {node: '>=6.9.0'} 153 | 154 | '@babel/helper-string-parser@7.19.4': 155 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 156 | engines: {node: '>=6.9.0'} 157 | 158 | '@babel/helper-string-parser@7.24.8': 159 | resolution: {integrity: sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ==} 160 | engines: {node: '>=6.9.0'} 161 | 162 | '@babel/helper-validator-identifier@7.19.1': 163 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 164 | engines: {node: '>=6.9.0'} 165 | 166 | '@babel/helper-validator-identifier@7.24.7': 167 | resolution: {integrity: sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w==} 168 | engines: {node: '>=6.9.0'} 169 | 170 | '@babel/helper-validator-option@7.24.8': 171 | resolution: {integrity: sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q==} 172 | engines: {node: '>=6.9.0'} 173 | 174 | '@babel/helpers@7.25.6': 175 | resolution: {integrity: sha512-Xg0tn4HcfTijTwfDwYlvVCl43V6h4KyVVX2aEm4qdO/PC6L2YvzLHFdmxhoeSA3eslcE6+ZVXHgWwopXYLNq4Q==} 176 | engines: {node: '>=6.9.0'} 177 | 178 | '@babel/highlight@7.18.6': 179 | resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} 180 | engines: {node: '>=6.9.0'} 181 | 182 | '@babel/highlight@7.24.7': 183 | resolution: {integrity: sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw==} 184 | engines: {node: '>=6.9.0'} 185 | 186 | '@babel/parser@7.21.3': 187 | resolution: {integrity: sha512-lobG0d7aOfQRXh8AyklEAgZGvA4FShxo6xQbUrrT/cNBPUdIDojlokwJsQyCC/eKia7ifqM0yP+2DRZ4WKw2RQ==} 188 | engines: {node: '>=6.0.0'} 189 | hasBin: true 190 | 191 | '@babel/parser@7.25.6': 192 | resolution: {integrity: sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q==} 193 | engines: {node: '>=6.0.0'} 194 | hasBin: true 195 | 196 | '@babel/plugin-syntax-import-attributes@7.25.6': 197 | resolution: {integrity: sha512-sXaDXaJN9SNLymBdlWFA+bjzBhFD617ZaFiY13dGt7TVslVvVgA6fkZOP7Ki3IGElC45lwHdOTrCtKZGVAWeLQ==} 198 | engines: {node: '>=6.9.0'} 199 | peerDependencies: 200 | '@babel/core': ^7.0.0-0 201 | 202 | '@babel/plugin-syntax-jsx@7.24.7': 203 | resolution: {integrity: sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ==} 204 | engines: {node: '>=6.9.0'} 205 | peerDependencies: 206 | '@babel/core': ^7.0.0-0 207 | 208 | '@babel/plugin-syntax-typescript@7.25.4': 209 | resolution: {integrity: sha512-uMOCoHVU52BsSWxPOMVv5qKRdeSlPuImUCB2dlPuBSU+W2/ROE7/Zg8F2Kepbk+8yBa68LlRKxO+xgEVWorsDg==} 210 | engines: {node: '>=6.9.0'} 211 | peerDependencies: 212 | '@babel/core': ^7.0.0-0 213 | 214 | '@babel/plugin-transform-modules-commonjs@7.24.8': 215 | resolution: {integrity: sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA==} 216 | engines: {node: '>=6.9.0'} 217 | peerDependencies: 218 | '@babel/core': ^7.0.0-0 219 | 220 | '@babel/plugin-transform-typescript@7.25.2': 221 | resolution: {integrity: sha512-lBwRvjSmqiMYe/pS0+1gggjJleUJi7NzjvQ1Fkqtt69hBa/0t1YuW/MLQMAPixfwaQOHUXsd6jeU3Z+vdGv3+A==} 222 | engines: {node: '>=6.9.0'} 223 | peerDependencies: 224 | '@babel/core': ^7.0.0-0 225 | 226 | '@babel/preset-typescript@7.24.7': 227 | resolution: {integrity: sha512-SyXRe3OdWwIwalxDg5UtJnJQO+YPcTfwiIY2B0Xlddh9o7jpWLvv8X1RthIeDOxQ+O1ML5BLPCONToObyVQVuQ==} 228 | engines: {node: '>=6.9.0'} 229 | peerDependencies: 230 | '@babel/core': ^7.0.0-0 231 | 232 | '@babel/template@7.25.0': 233 | resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} 234 | engines: {node: '>=6.9.0'} 235 | 236 | '@babel/traverse@7.25.6': 237 | resolution: {integrity: sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ==} 238 | engines: {node: '>=6.9.0'} 239 | 240 | '@babel/types@7.21.3': 241 | resolution: {integrity: sha512-sBGdETxC+/M4o/zKC0sl6sjWv62WFR/uzxrJ6uYyMLZOUlPnwzw0tKgVHOXxaAd5l2g8pEDM5RZ495GPQI77kg==} 242 | engines: {node: '>=6.9.0'} 243 | 244 | '@babel/types@7.25.6': 245 | resolution: {integrity: sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw==} 246 | engines: {node: '>=6.9.0'} 247 | 248 | '@esbuild/android-arm64@0.16.17': 249 | resolution: {integrity: sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==} 250 | engines: {node: '>=12'} 251 | cpu: [arm64] 252 | os: [android] 253 | 254 | '@esbuild/android-arm64@0.17.8': 255 | resolution: {integrity: sha512-oa/N5j6v1svZQs7EIRPqR8f+Bf8g6HBDjD/xHC02radE/NjKHK7oQmtmLxPs1iVwYyvE+Kolo6lbpfEQ9xnhxQ==} 256 | engines: {node: '>=12'} 257 | cpu: [arm64] 258 | os: [android] 259 | 260 | '@esbuild/android-arm@0.16.17': 261 | resolution: {integrity: sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==} 262 | engines: {node: '>=12'} 263 | cpu: [arm] 264 | os: [android] 265 | 266 | '@esbuild/android-arm@0.17.8': 267 | resolution: {integrity: sha512-0/rb91GYKhrtbeglJXOhAv9RuYimgI8h623TplY2X+vA4EXnk3Zj1fXZreJ0J3OJJu1bwmb0W7g+2cT/d8/l/w==} 268 | engines: {node: '>=12'} 269 | cpu: [arm] 270 | os: [android] 271 | 272 | '@esbuild/android-x64@0.16.17': 273 | resolution: {integrity: sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==} 274 | engines: {node: '>=12'} 275 | cpu: [x64] 276 | os: [android] 277 | 278 | '@esbuild/android-x64@0.17.8': 279 | resolution: {integrity: sha512-bTliMLqD7pTOoPg4zZkXqCDuzIUguEWLpeqkNfC41ODBHwoUgZ2w5JBeYimv4oP6TDVocoYmEhZrCLQTrH89bg==} 280 | engines: {node: '>=12'} 281 | cpu: [x64] 282 | os: [android] 283 | 284 | '@esbuild/darwin-arm64@0.16.17': 285 | resolution: {integrity: sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==} 286 | engines: {node: '>=12'} 287 | cpu: [arm64] 288 | os: [darwin] 289 | 290 | '@esbuild/darwin-arm64@0.17.8': 291 | resolution: {integrity: sha512-ghAbV3ia2zybEefXRRm7+lx8J/rnupZT0gp9CaGy/3iolEXkJ6LYRq4IpQVI9zR97ID80KJVoUlo3LSeA/sMAg==} 292 | engines: {node: '>=12'} 293 | cpu: [arm64] 294 | os: [darwin] 295 | 296 | '@esbuild/darwin-x64@0.16.17': 297 | resolution: {integrity: sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==} 298 | engines: {node: '>=12'} 299 | cpu: [x64] 300 | os: [darwin] 301 | 302 | '@esbuild/darwin-x64@0.17.8': 303 | resolution: {integrity: sha512-n5WOpyvZ9TIdv2V1K3/iIkkJeKmUpKaCTdun9buhGRWfH//osmUjlv4Z5mmWdPWind/VGcVxTHtLfLCOohsOXw==} 304 | engines: {node: '>=12'} 305 | cpu: [x64] 306 | os: [darwin] 307 | 308 | '@esbuild/freebsd-arm64@0.16.17': 309 | resolution: {integrity: sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==} 310 | engines: {node: '>=12'} 311 | cpu: [arm64] 312 | os: [freebsd] 313 | 314 | '@esbuild/freebsd-arm64@0.17.8': 315 | resolution: {integrity: sha512-a/SATTaOhPIPFWvHZDoZYgxaZRVHn0/LX1fHLGfZ6C13JqFUZ3K6SMD6/HCtwOQ8HnsNaEeokdiDSFLuizqv5A==} 316 | engines: {node: '>=12'} 317 | cpu: [arm64] 318 | os: [freebsd] 319 | 320 | '@esbuild/freebsd-x64@0.16.17': 321 | resolution: {integrity: sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==} 322 | engines: {node: '>=12'} 323 | cpu: [x64] 324 | os: [freebsd] 325 | 326 | '@esbuild/freebsd-x64@0.17.8': 327 | resolution: {integrity: sha512-xpFJb08dfXr5+rZc4E+ooZmayBW6R3q59daCpKZ/cDU96/kvDM+vkYzNeTJCGd8rtO6fHWMq5Rcv/1cY6p6/0Q==} 328 | engines: {node: '>=12'} 329 | cpu: [x64] 330 | os: [freebsd] 331 | 332 | '@esbuild/linux-arm64@0.16.17': 333 | resolution: {integrity: sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==} 334 | engines: {node: '>=12'} 335 | cpu: [arm64] 336 | os: [linux] 337 | 338 | '@esbuild/linux-arm64@0.17.8': 339 | resolution: {integrity: sha512-v3iwDQuDljLTxpsqQDl3fl/yihjPAyOguxuloON9kFHYwopeJEf1BkDXODzYyXEI19gisEsQlG1bM65YqKSIww==} 340 | engines: {node: '>=12'} 341 | cpu: [arm64] 342 | os: [linux] 343 | 344 | '@esbuild/linux-arm@0.16.17': 345 | resolution: {integrity: sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==} 346 | engines: {node: '>=12'} 347 | cpu: [arm] 348 | os: [linux] 349 | 350 | '@esbuild/linux-arm@0.17.8': 351 | resolution: {integrity: sha512-6Ij8gfuGszcEwZpi5jQIJCVIACLS8Tz2chnEBfYjlmMzVsfqBP1iGmHQPp7JSnZg5xxK9tjCc+pJ2WtAmPRFVA==} 352 | engines: {node: '>=12'} 353 | cpu: [arm] 354 | os: [linux] 355 | 356 | '@esbuild/linux-ia32@0.16.17': 357 | resolution: {integrity: sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==} 358 | engines: {node: '>=12'} 359 | cpu: [ia32] 360 | os: [linux] 361 | 362 | '@esbuild/linux-ia32@0.17.8': 363 | resolution: {integrity: sha512-8svILYKhE5XetuFk/B6raFYIyIqydQi+GngEXJgdPdI7OMKUbSd7uzR02wSY4kb53xBrClLkhH4Xs8P61Q2BaA==} 364 | engines: {node: '>=12'} 365 | cpu: [ia32] 366 | os: [linux] 367 | 368 | '@esbuild/linux-loong64@0.16.17': 369 | resolution: {integrity: sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==} 370 | engines: {node: '>=12'} 371 | cpu: [loong64] 372 | os: [linux] 373 | 374 | '@esbuild/linux-loong64@0.17.8': 375 | resolution: {integrity: sha512-B6FyMeRJeV0NpyEOYlm5qtQfxbdlgmiGdD+QsipzKfFky0K5HW5Td6dyK3L3ypu1eY4kOmo7wW0o94SBqlqBSA==} 376 | engines: {node: '>=12'} 377 | cpu: [loong64] 378 | os: [linux] 379 | 380 | '@esbuild/linux-mips64el@0.16.17': 381 | resolution: {integrity: sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==} 382 | engines: {node: '>=12'} 383 | cpu: [mips64el] 384 | os: [linux] 385 | 386 | '@esbuild/linux-mips64el@0.17.8': 387 | resolution: {integrity: sha512-CCb67RKahNobjm/eeEqeD/oJfJlrWyw29fgiyB6vcgyq97YAf3gCOuP6qMShYSPXgnlZe/i4a8WFHBw6N8bYAA==} 388 | engines: {node: '>=12'} 389 | cpu: [mips64el] 390 | os: [linux] 391 | 392 | '@esbuild/linux-ppc64@0.16.17': 393 | resolution: {integrity: sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==} 394 | engines: {node: '>=12'} 395 | cpu: [ppc64] 396 | os: [linux] 397 | 398 | '@esbuild/linux-ppc64@0.17.8': 399 | resolution: {integrity: sha512-bytLJOi55y55+mGSdgwZ5qBm0K9WOCh0rx+vavVPx+gqLLhxtSFU0XbeYy/dsAAD6xECGEv4IQeFILaSS2auXw==} 400 | engines: {node: '>=12'} 401 | cpu: [ppc64] 402 | os: [linux] 403 | 404 | '@esbuild/linux-riscv64@0.16.17': 405 | resolution: {integrity: sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==} 406 | engines: {node: '>=12'} 407 | cpu: [riscv64] 408 | os: [linux] 409 | 410 | '@esbuild/linux-riscv64@0.17.8': 411 | resolution: {integrity: sha512-2YpRyQJmKVBEHSBLa8kBAtbhucaclb6ex4wchfY0Tj3Kg39kpjeJ9vhRU7x4mUpq8ISLXRXH1L0dBYjAeqzZAw==} 412 | engines: {node: '>=12'} 413 | cpu: [riscv64] 414 | os: [linux] 415 | 416 | '@esbuild/linux-s390x@0.16.17': 417 | resolution: {integrity: sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==} 418 | engines: {node: '>=12'} 419 | cpu: [s390x] 420 | os: [linux] 421 | 422 | '@esbuild/linux-s390x@0.17.8': 423 | resolution: {integrity: sha512-QgbNY/V3IFXvNf11SS6exkpVcX0LJcob+0RWCgV9OiDAmVElnxciHIisoSix9uzYzScPmS6dJFbZULdSAEkQVw==} 424 | engines: {node: '>=12'} 425 | cpu: [s390x] 426 | os: [linux] 427 | 428 | '@esbuild/linux-x64@0.16.17': 429 | resolution: {integrity: sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==} 430 | engines: {node: '>=12'} 431 | cpu: [x64] 432 | os: [linux] 433 | 434 | '@esbuild/linux-x64@0.17.8': 435 | resolution: {integrity: sha512-mM/9S0SbAFDBc4OPoyP6SEOo5324LpUxdpeIUUSrSTOfhHU9hEfqRngmKgqILqwx/0DVJBzeNW7HmLEWp9vcOA==} 436 | engines: {node: '>=12'} 437 | cpu: [x64] 438 | os: [linux] 439 | 440 | '@esbuild/netbsd-x64@0.16.17': 441 | resolution: {integrity: sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==} 442 | engines: {node: '>=12'} 443 | cpu: [x64] 444 | os: [netbsd] 445 | 446 | '@esbuild/netbsd-x64@0.17.8': 447 | resolution: {integrity: sha512-eKUYcWaWTaYr9zbj8GertdVtlt1DTS1gNBWov+iQfWuWyuu59YN6gSEJvFzC5ESJ4kMcKR0uqWThKUn5o8We6Q==} 448 | engines: {node: '>=12'} 449 | cpu: [x64] 450 | os: [netbsd] 451 | 452 | '@esbuild/openbsd-x64@0.16.17': 453 | resolution: {integrity: sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==} 454 | engines: {node: '>=12'} 455 | cpu: [x64] 456 | os: [openbsd] 457 | 458 | '@esbuild/openbsd-x64@0.17.8': 459 | resolution: {integrity: sha512-Vc9J4dXOboDyMXKD0eCeW0SIeEzr8K9oTHJU+Ci1mZc5njPfhKAqkRt3B/fUNU7dP+mRyralPu8QUkiaQn7iIg==} 460 | engines: {node: '>=12'} 461 | cpu: [x64] 462 | os: [openbsd] 463 | 464 | '@esbuild/sunos-x64@0.16.17': 465 | resolution: {integrity: sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==} 466 | engines: {node: '>=12'} 467 | cpu: [x64] 468 | os: [sunos] 469 | 470 | '@esbuild/sunos-x64@0.17.8': 471 | resolution: {integrity: sha512-0xvOTNuPXI7ft1LYUgiaXtpCEjp90RuBBYovdd2lqAFxje4sEucurg30M1WIm03+3jxByd3mfo+VUmPtRSVuOw==} 472 | engines: {node: '>=12'} 473 | cpu: [x64] 474 | os: [sunos] 475 | 476 | '@esbuild/win32-arm64@0.16.17': 477 | resolution: {integrity: sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==} 478 | engines: {node: '>=12'} 479 | cpu: [arm64] 480 | os: [win32] 481 | 482 | '@esbuild/win32-arm64@0.17.8': 483 | resolution: {integrity: sha512-G0JQwUI5WdEFEnYNKzklxtBheCPkuDdu1YrtRrjuQv30WsYbkkoixKxLLv8qhJmNI+ATEWquZe/N0d0rpr55Mg==} 484 | engines: {node: '>=12'} 485 | cpu: [arm64] 486 | os: [win32] 487 | 488 | '@esbuild/win32-ia32@0.16.17': 489 | resolution: {integrity: sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==} 490 | engines: {node: '>=12'} 491 | cpu: [ia32] 492 | os: [win32] 493 | 494 | '@esbuild/win32-ia32@0.17.8': 495 | resolution: {integrity: sha512-Fqy63515xl20OHGFykjJsMnoIWS+38fqfg88ClvPXyDbLtgXal2DTlhb1TfTX34qWi3u4I7Cq563QcHpqgLx8w==} 496 | engines: {node: '>=12'} 497 | cpu: [ia32] 498 | os: [win32] 499 | 500 | '@esbuild/win32-x64@0.16.17': 501 | resolution: {integrity: sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==} 502 | engines: {node: '>=12'} 503 | cpu: [x64] 504 | os: [win32] 505 | 506 | '@esbuild/win32-x64@0.17.8': 507 | resolution: {integrity: sha512-1iuezdyDNngPnz8rLRDO2C/ZZ/emJLb72OsZeqQ6gL6Avko/XCXZw+NuxBSNhBAP13Hie418V7VMt9et1FMvpg==} 508 | engines: {node: '>=12'} 509 | cpu: [x64] 510 | os: [win32] 511 | 512 | '@gar/promisify@1.1.3': 513 | resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==} 514 | 515 | '@jridgewell/gen-mapping@0.1.1': 516 | resolution: {integrity: sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==} 517 | engines: {node: '>=6.0.0'} 518 | 519 | '@jridgewell/gen-mapping@0.3.5': 520 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 521 | engines: {node: '>=6.0.0'} 522 | 523 | '@jridgewell/resolve-uri@3.1.0': 524 | resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} 525 | engines: {node: '>=6.0.0'} 526 | 527 | '@jridgewell/set-array@1.1.2': 528 | resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} 529 | engines: {node: '>=6.0.0'} 530 | 531 | '@jridgewell/set-array@1.2.1': 532 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 533 | engines: {node: '>=6.0.0'} 534 | 535 | '@jridgewell/sourcemap-codec@1.4.14': 536 | resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} 537 | 538 | '@jridgewell/trace-mapping@0.3.17': 539 | resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} 540 | 541 | '@jridgewell/trace-mapping@0.3.25': 542 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 543 | 544 | '@jspm/generator@2.3.0': 545 | resolution: {integrity: sha512-9mHrLdqm4pIFnzJBAmhl3EEJaxFCQcdR2Z7Xyu+F0ScC/XkaGSTbrwRlYpRanlQpRLSg0MG6U2YHy1dZzeGfVg==} 546 | 547 | '@jspm/import-map@1.1.0': 548 | resolution: {integrity: sha512-vmk583YnMi4fmqeXbWIBiyzFu+vqVZ5VCoaa6H4xeSQy5E6JAWtmcq72OAMFTeSTqw7xxHQIJFq2OlHKdUWitQ==} 549 | 550 | '@npmcli/fs@1.1.1': 551 | resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==} 552 | 553 | '@npmcli/move-file@1.1.2': 554 | resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==} 555 | engines: {node: '>=10'} 556 | deprecated: This functionality has been moved to @npmcli/fs 557 | 558 | '@rollup/plugin-alias@4.0.3': 559 | resolution: {integrity: sha512-ZuDWE1q4PQDhvm/zc5Prun8sBpLJy41DMptYrS6MhAy9s9kL/doN1613BWfEchGVfKxzliJ3BjbOPizXX38DbQ==} 560 | engines: {node: '>=14.0.0'} 561 | peerDependencies: 562 | rollup: ^1.20.0||^2.0.0||^3.0.0 563 | peerDependenciesMeta: 564 | rollup: 565 | optional: true 566 | 567 | '@rollup/plugin-commonjs@24.0.1': 568 | resolution: {integrity: sha512-15LsiWRZk4eOGqvrJyu3z3DaBu5BhXIMeWnijSRvd8irrrg9SHpQ1pH+BUK4H6Z9wL9yOxZJMTLU+Au86XHxow==} 569 | engines: {node: '>=14.0.0'} 570 | peerDependencies: 571 | rollup: ^2.68.0||^3.0.0 572 | peerDependenciesMeta: 573 | rollup: 574 | optional: true 575 | 576 | '@rollup/plugin-json@6.0.0': 577 | resolution: {integrity: sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==} 578 | engines: {node: '>=14.0.0'} 579 | peerDependencies: 580 | rollup: ^1.20.0||^2.0.0||^3.0.0 581 | peerDependenciesMeta: 582 | rollup: 583 | optional: true 584 | 585 | '@rollup/plugin-node-resolve@15.0.1': 586 | resolution: {integrity: sha512-ReY88T7JhJjeRVbfCyNj+NXAG3IIsVMsX9b5/9jC98dRP8/yxlZdz7mHZbHk5zHr24wZZICS5AcXsFZAXYUQEg==} 587 | engines: {node: '>=14.0.0'} 588 | peerDependencies: 589 | rollup: ^2.78.0||^3.0.0 590 | peerDependenciesMeta: 591 | rollup: 592 | optional: true 593 | 594 | '@rollup/pluginutils@5.0.2': 595 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 596 | engines: {node: '>=14.0.0'} 597 | peerDependencies: 598 | rollup: ^1.20.0||^2.0.0||^3.0.0 599 | peerDependenciesMeta: 600 | rollup: 601 | optional: true 602 | 603 | '@tootallnate/once@1.1.2': 604 | resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==} 605 | engines: {node: '>= 6'} 606 | 607 | '@types/chai-subset@1.3.3': 608 | resolution: {integrity: sha512-frBecisrNGz+F4T6bcc+NLeolfiojh5FxW2klu669+8BARtyQv2C/GkNW6FUodVe4BroGMP/wER/YDGc7rEllw==} 609 | 610 | '@types/chai@4.3.4': 611 | resolution: {integrity: sha512-KnRanxnpfpjUTqTCXslZSEdLfXExwgNxYPdiO2WGUj8+HDjFi8R3k5RVKPeSCzLjCcshCAtVO2QBbVuAV4kTnw==} 612 | 613 | '@types/estree@1.0.0': 614 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 615 | 616 | '@types/node@18.0.0': 617 | resolution: {integrity: sha512-cHlGmko4gWLVI27cGJntjs/Sj8th9aYwplmZFwmmgYQQvL5NUsgVJG7OddLvNfLqYS31KFN0s3qlaD9qCaxACA==} 618 | 619 | '@types/node@18.13.0': 620 | resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} 621 | 622 | '@types/resolve@1.20.2': 623 | resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} 624 | 625 | '@types/yauzl@2.10.0': 626 | resolution: {integrity: sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw==} 627 | 628 | '@vitest/expect@0.28.5': 629 | resolution: {integrity: sha512-gqTZwoUTwepwGIatnw4UKpQfnoyV0Z9Czn9+Lo2/jLIt4/AXLTn+oVZxlQ7Ng8bzcNkR+3DqLJ08kNr8jRmdNQ==} 630 | 631 | '@vitest/runner@0.28.5': 632 | resolution: {integrity: sha512-NKkHtLB+FGjpp5KmneQjTcPLWPTDfB7ie+MmF1PnUBf/tGe2OjGxWyB62ySYZ25EYp9krR5Bw0YPLS/VWh1QiA==} 633 | 634 | '@vitest/spy@0.28.5': 635 | resolution: {integrity: sha512-7if6rsHQr9zbmvxN7h+gGh2L9eIIErgf8nSKYDlg07HHimCxp4H6I/X/DPXktVPPLQfiZ1Cw2cbDIx9fSqDjGw==} 636 | 637 | '@vitest/utils@0.28.5': 638 | resolution: {integrity: sha512-UyZdYwdULlOa4LTUSwZ+Paz7nBHGTT72jKwdFSV4IjHF1xsokp+CabMdhjvVhYwkLfO88ylJT46YMilnkSARZA==} 639 | 640 | '@vue/compiler-core@3.2.37': 641 | resolution: {integrity: sha512-81KhEjo7YAOh0vQJoSmAD68wLfYqJvoiD4ulyedzF+OEk/bk6/hx3fTNVfuzugIIaTrOx4PGx6pAiBRe5e9Zmg==} 642 | 643 | '@vue/compiler-dom@3.2.37': 644 | resolution: {integrity: sha512-yxJLH167fucHKxaqXpYk7x8z7mMEnXOw3G2q62FTkmsvNxu4FQSu5+3UMb+L7fjKa26DEzhrmCxAgFLLIzVfqQ==} 645 | 646 | '@vue/shared@3.2.37': 647 | resolution: {integrity: sha512-4rSJemR2NQIo9Klm1vabqWjD8rs/ZaJSzMxkMNeJS6lHiUjjUeYFbooN19NgFjztubEKh3WlZUeOLVdbbUWHsw==} 648 | 649 | acorn-walk@8.2.0: 650 | resolution: {integrity: sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==} 651 | engines: {node: '>=0.4.0'} 652 | 653 | acorn@8.8.2: 654 | resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} 655 | engines: {node: '>=0.4.0'} 656 | hasBin: true 657 | 658 | agent-base@6.0.2: 659 | resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} 660 | engines: {node: '>= 6.0.0'} 661 | 662 | agentkeepalive@4.2.1: 663 | resolution: {integrity: sha512-Zn4cw2NEqd+9fiSVWMscnjyQ1a8Yfoc5oBajLeo5w+YBHgDUcEBY2hS4YpTz6iN5f/2zQiktcuM6tS8x1p9dpA==} 664 | engines: {node: '>= 8.0.0'} 665 | 666 | aggregate-error@3.1.0: 667 | resolution: {integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==} 668 | engines: {node: '>=8'} 669 | 670 | ansi-regex@5.0.1: 671 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 672 | engines: {node: '>=8'} 673 | 674 | ansi-regex@6.0.1: 675 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 676 | engines: {node: '>=12'} 677 | 678 | ansi-styles@3.2.1: 679 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 680 | engines: {node: '>=4'} 681 | 682 | ansi-styles@5.2.0: 683 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 684 | engines: {node: '>=10'} 685 | 686 | ansi-styles@6.2.1: 687 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 688 | engines: {node: '>=12'} 689 | 690 | argparse@2.0.1: 691 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 692 | 693 | assertion-error@1.1.0: 694 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 695 | 696 | balanced-match@1.0.2: 697 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 698 | 699 | base64-js@1.5.1: 700 | resolution: {integrity: sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==} 701 | 702 | bl@4.1.0: 703 | resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} 704 | 705 | brace-expansion@1.1.11: 706 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 707 | 708 | brace-expansion@2.0.1: 709 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 710 | 711 | browserslist@4.23.3: 712 | resolution: {integrity: sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA==} 713 | engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} 714 | hasBin: true 715 | 716 | buffer-crc32@0.2.13: 717 | resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} 718 | 719 | buffer-from@1.1.2: 720 | resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} 721 | 722 | buffer@5.7.1: 723 | resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} 724 | 725 | builtin-modules@3.3.0: 726 | resolution: {integrity: sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==} 727 | engines: {node: '>=6'} 728 | 729 | cac@6.7.14: 730 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 731 | engines: {node: '>=8'} 732 | 733 | cacache@15.3.0: 734 | resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==} 735 | engines: {node: '>= 10'} 736 | 737 | callsites@3.1.0: 738 | resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} 739 | engines: {node: '>=6'} 740 | 741 | caniuse-lite@1.0.30001659: 742 | resolution: {integrity: sha512-Qxxyfv3RdHAfJcXelgf0hU4DFUVXBGTjqrBUZLUh8AtlGnsDo+CnncYtTd95+ZKfnANUOzxyIQCuU/UeBZBYoA==} 743 | 744 | chai@4.3.7: 745 | resolution: {integrity: sha512-HLnAzZ2iupm25PlN0xFreAlBA5zaBSv3og0DdeGA4Ar6h6rJ3A0rolRUKJhSF2V10GZKDgWF/VmAEsNWjCRB+A==} 746 | engines: {node: '>=4'} 747 | 748 | chalk@2.4.2: 749 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 750 | engines: {node: '>=4'} 751 | 752 | check-error@1.0.2: 753 | resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} 754 | 755 | chownr@1.1.4: 756 | resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} 757 | 758 | chownr@2.0.0: 759 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 760 | engines: {node: '>=10'} 761 | 762 | chromium-bidi@0.4.3: 763 | resolution: {integrity: sha512-A40H1rdpJqkTdnGhnYDzMhtDdIbkXNFj2wgIfivMXL7LyHFDmBtv1hdyycDhnxtYunbPLDZtTs/n+ZT5j7Vnew==} 764 | peerDependencies: 765 | devtools-protocol: '*' 766 | mitt: '*' 767 | 768 | clean-stack@2.2.0: 769 | resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==} 770 | engines: {node: '>=6'} 771 | 772 | cli-truncate@3.1.0: 773 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 774 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 775 | 776 | color-convert@1.9.3: 777 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 778 | 779 | color-name@1.1.3: 780 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 781 | 782 | commondir@1.0.1: 783 | resolution: {integrity: sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==} 784 | 785 | concat-map@0.0.1: 786 | resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} 787 | 788 | convert-source-map@2.0.0: 789 | resolution: {integrity: sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==} 790 | 791 | cosmiconfig@8.0.0: 792 | resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} 793 | engines: {node: '>=14'} 794 | 795 | cross-env@7.0.3: 796 | resolution: {integrity: sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==} 797 | engines: {node: '>=10.14', npm: '>=6', yarn: '>=1'} 798 | hasBin: true 799 | 800 | cross-fetch@3.1.5: 801 | resolution: {integrity: sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==} 802 | 803 | cross-spawn@7.0.3: 804 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 805 | engines: {node: '>= 8'} 806 | 807 | data-uri-to-buffer@4.0.1: 808 | resolution: {integrity: sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==} 809 | engines: {node: '>= 12'} 810 | 811 | debug@4.3.4: 812 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 813 | engines: {node: '>=6.0'} 814 | peerDependencies: 815 | supports-color: '*' 816 | peerDependenciesMeta: 817 | supports-color: 818 | optional: true 819 | 820 | deep-eql@4.1.3: 821 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} 822 | engines: {node: '>=6'} 823 | 824 | deepmerge@4.3.0: 825 | resolution: {integrity: sha512-z2wJZXrmeHdvYJp/Ux55wIjqo81G5Bp4c+oELTW+7ar6SogWHajt5a9gO3s3IDaGSAXjDk0vlQKN3rms8ab3og==} 826 | engines: {node: '>=0.10.0'} 827 | 828 | depd@1.1.2: 829 | resolution: {integrity: sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==} 830 | engines: {node: '>= 0.6'} 831 | 832 | devtools-protocol@0.0.1094867: 833 | resolution: {integrity: sha512-pmMDBKiRVjh0uKK6CT1WqZmM3hBVSgD+N2MrgyV1uNizAZMw4tx6i/RTc+/uCsKSCmg0xXx7arCP/OFcIwTsiQ==} 834 | 835 | diff@5.1.0: 836 | resolution: {integrity: sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==} 837 | engines: {node: '>=0.3.1'} 838 | 839 | eastasianwidth@0.2.0: 840 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 841 | 842 | electron-to-chromium@1.5.18: 843 | resolution: {integrity: sha512-1OfuVACu+zKlmjsNdcJuVQuVE61sZOLbNM4JAQ1Rvh6EOj0/EUKhMJjRH73InPlXSh8HIJk1cVZ8pyOV/FMdUQ==} 844 | 845 | emoji-regex@9.2.2: 846 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 847 | 848 | encoding@0.1.13: 849 | resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==} 850 | 851 | end-of-stream@1.4.4: 852 | resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} 853 | 854 | err-code@2.0.3: 855 | resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==} 856 | 857 | error-ex@1.3.2: 858 | resolution: {integrity: sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==} 859 | 860 | es-module-lexer@1.2.0: 861 | resolution: {integrity: sha512-2BMfqBDeVCcOlLaL1ZAfp+D868SczNpKArrTM3dhpd7dK/OVlogzY15qpUngt+LMTq5UC/csb9vVQAgupucSbA==} 862 | 863 | es-module-lexer@1.5.4: 864 | resolution: {integrity: sha512-MVNK56NiMrOwitFB7cqDwq0CQutbw+0BvLshJSse0MUNU+y1FC3bUS/AQg7oUng+/wKrrki7JfmwtVHkVfPLlw==} 865 | 866 | esbuild-node-loader@0.8.0: 867 | resolution: {integrity: sha512-BJaecVcClXVa5lO7TbHp+CgWtUmYrtZHyPYDx1JVTO3OOXdQM569vbJOeQGPucbYThuWTiNUUNeLEc4+EZk8QQ==} 868 | 869 | esbuild@0.16.17: 870 | resolution: {integrity: sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==} 871 | engines: {node: '>=12'} 872 | hasBin: true 873 | 874 | esbuild@0.17.8: 875 | resolution: {integrity: sha512-g24ybC3fWhZddZK6R3uD2iF/RIPnRpwJAqLov6ouX3hMbY4+tKolP0VMF3zuIYCaXun+yHwS5IPQ91N2BT191g==} 876 | engines: {node: '>=12'} 877 | hasBin: true 878 | 879 | escalade@3.2.0: 880 | resolution: {integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==} 881 | engines: {node: '>=6'} 882 | 883 | escape-string-regexp@1.0.5: 884 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 885 | engines: {node: '>=0.8.0'} 886 | 887 | estree-walker@2.0.2: 888 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 889 | 890 | extract-zip@2.0.1: 891 | resolution: {integrity: sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==} 892 | engines: {node: '>= 10.17.0'} 893 | hasBin: true 894 | 895 | fd-slicer@1.1.0: 896 | resolution: {integrity: sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g==} 897 | 898 | fetch-blob@3.2.0: 899 | resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} 900 | engines: {node: ^12.20 || >= 14.13} 901 | 902 | formdata-polyfill@4.0.10: 903 | resolution: {integrity: sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==} 904 | engines: {node: '>=12.20.0'} 905 | 906 | fs-constants@1.0.0: 907 | resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} 908 | 909 | fs-minipass@2.1.0: 910 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 911 | engines: {node: '>= 8'} 912 | 913 | fs.realpath@1.0.0: 914 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 915 | 916 | fsevents@2.3.2: 917 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 918 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 919 | os: [darwin] 920 | 921 | function-bind@1.1.1: 922 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 923 | 924 | gensync@1.0.0-beta.2: 925 | resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} 926 | engines: {node: '>=6.9.0'} 927 | 928 | get-func-name@2.0.0: 929 | resolution: {integrity: sha512-Hm0ixYtaSZ/V7C8FJrtZIuBBI+iSgL+1Aq82zSu8VQNB4S3Gk8e7Qs3VwBDJAhmRZcFqkl3tQu36g/Foh5I5ig==} 930 | 931 | get-stream@5.2.0: 932 | resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} 933 | engines: {node: '>=8'} 934 | 935 | glob@7.2.3: 936 | resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} 937 | 938 | glob@8.1.0: 939 | resolution: {integrity: sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==} 940 | engines: {node: '>=12'} 941 | 942 | globals@11.12.0: 943 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 944 | engines: {node: '>=4'} 945 | 946 | has-flag@3.0.0: 947 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 948 | engines: {node: '>=4'} 949 | 950 | has@1.0.3: 951 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 952 | engines: {node: '>= 0.4.0'} 953 | 954 | http-cache-semantics@4.1.0: 955 | resolution: {integrity: sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==} 956 | 957 | http-proxy-agent@4.0.1: 958 | resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==} 959 | engines: {node: '>= 6'} 960 | 961 | https-proxy-agent@5.0.1: 962 | resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} 963 | engines: {node: '>= 6'} 964 | 965 | humanize-ms@1.2.1: 966 | resolution: {integrity: sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==} 967 | 968 | iconv-lite@0.6.3: 969 | resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==} 970 | engines: {node: '>=0.10.0'} 971 | 972 | ieee754@1.2.1: 973 | resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} 974 | 975 | import-fresh@3.3.0: 976 | resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==} 977 | engines: {node: '>=6'} 978 | 979 | imurmurhash@0.1.4: 980 | resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} 981 | engines: {node: '>=0.8.19'} 982 | 983 | indent-string@4.0.0: 984 | resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} 985 | engines: {node: '>=8'} 986 | 987 | infer-owner@1.0.4: 988 | resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==} 989 | 990 | inflight@1.0.6: 991 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 992 | 993 | inherits@2.0.4: 994 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 995 | 996 | ip@2.0.0: 997 | resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==} 998 | 999 | is-arrayish@0.2.1: 1000 | resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} 1001 | 1002 | is-builtin-module@3.2.1: 1003 | resolution: {integrity: sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==} 1004 | engines: {node: '>=6'} 1005 | 1006 | is-core-module@2.11.0: 1007 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 1008 | 1009 | is-fullwidth-code-point@4.0.0: 1010 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 1011 | engines: {node: '>=12'} 1012 | 1013 | is-lambda@1.0.1: 1014 | resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==} 1015 | 1016 | is-module@1.0.0: 1017 | resolution: {integrity: sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==} 1018 | 1019 | is-reference@1.2.1: 1020 | resolution: {integrity: sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==} 1021 | 1022 | isexe@2.0.0: 1023 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1024 | 1025 | joycon@3.1.1: 1026 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1027 | engines: {node: '>=10'} 1028 | 1029 | js-tokens@4.0.0: 1030 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1031 | 1032 | js-yaml@4.1.0: 1033 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1034 | hasBin: true 1035 | 1036 | jsesc@2.5.2: 1037 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1038 | engines: {node: '>=4'} 1039 | hasBin: true 1040 | 1041 | json-parse-even-better-errors@2.3.1: 1042 | resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} 1043 | 1044 | json5@2.2.3: 1045 | resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} 1046 | engines: {node: '>=6'} 1047 | hasBin: true 1048 | 1049 | jsonc-parser@3.2.0: 1050 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 1051 | 1052 | lines-and-columns@1.2.4: 1053 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1054 | 1055 | local-pkg@0.4.3: 1056 | resolution: {integrity: sha512-SFppqq5p42fe2qcZQqqEOiVRXl+WCP1MdT6k7BDEW1j++sp5fIY+/fdRQitvKgB5BrBcmrs5m/L0v2FrU5MY1g==} 1057 | engines: {node: '>=14'} 1058 | 1059 | loupe@2.3.6: 1060 | resolution: {integrity: sha512-RaPMZKiMy8/JruncMU5Bt6na1eftNoo++R4Y+N2FrxkDVTrGvcyzFTsaGif4QTeKESheMGegbhw6iUAq+5A8zA==} 1061 | 1062 | lru-cache@5.1.1: 1063 | resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} 1064 | 1065 | lru-cache@6.0.0: 1066 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1067 | engines: {node: '>=10'} 1068 | 1069 | magic-string@0.27.0: 1070 | resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} 1071 | engines: {node: '>=12'} 1072 | 1073 | magic-string@0.29.0: 1074 | resolution: {integrity: sha512-WcfidHrDjMY+eLjlU+8OvwREqHwpgCeKVBUpQ3OhYYuvfaYCUgcbuBzappNzZvg/v8onU3oQj+BYpkOJe9Iw4Q==} 1075 | engines: {node: '>=12'} 1076 | 1077 | make-fetch-happen@8.0.14: 1078 | resolution: {integrity: sha512-EsS89h6l4vbfJEtBZnENTOFk8mCRpY5ru36Xe5bcX1KYIli2mkSHqoFsp5O1wMDvTJJzxe/4THpCTtygjeeGWQ==} 1079 | engines: {node: '>= 10'} 1080 | 1081 | minimatch@3.1.2: 1082 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 1083 | 1084 | minimatch@5.1.6: 1085 | resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} 1086 | engines: {node: '>=10'} 1087 | 1088 | minipass-collect@1.0.2: 1089 | resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} 1090 | engines: {node: '>= 8'} 1091 | 1092 | minipass-fetch@1.4.1: 1093 | resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==} 1094 | engines: {node: '>=8'} 1095 | 1096 | minipass-flush@1.0.5: 1097 | resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==} 1098 | engines: {node: '>= 8'} 1099 | 1100 | minipass-pipeline@1.2.4: 1101 | resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==} 1102 | engines: {node: '>=8'} 1103 | 1104 | minipass-sized@1.0.3: 1105 | resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==} 1106 | engines: {node: '>=8'} 1107 | 1108 | minipass@3.3.4: 1109 | resolution: {integrity: sha512-I9WPbWHCGu8W+6k1ZiGpPu0GkoKBeorkfKNuAFBNS1HNFJvke82sxvI5bzcCNpWPorkOO5QQ+zomzzwRxejXiw==} 1110 | engines: {node: '>=8'} 1111 | 1112 | minizlib@2.1.2: 1113 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 1114 | engines: {node: '>= 8'} 1115 | 1116 | mitt@3.0.1: 1117 | resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} 1118 | 1119 | mkdirp-classic@0.5.3: 1120 | resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} 1121 | 1122 | mkdirp@1.0.4: 1123 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1124 | engines: {node: '>=10'} 1125 | hasBin: true 1126 | 1127 | mlly@1.1.0: 1128 | resolution: {integrity: sha512-cwzBrBfwGC1gYJyfcy8TcZU1f+dbH/T+TuOhtYP2wLv/Fb51/uV7HJQfBPtEupZ2ORLRU1EKFS/QfS3eo9+kBQ==} 1129 | 1130 | ms@2.1.2: 1131 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1132 | 1133 | nanoid@3.3.4: 1134 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 1135 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1136 | hasBin: true 1137 | 1138 | node-domexception@1.0.0: 1139 | resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} 1140 | engines: {node: '>=10.5.0'} 1141 | 1142 | node-fetch@2.6.7: 1143 | resolution: {integrity: sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==} 1144 | engines: {node: 4.x || >=6.0.0} 1145 | peerDependencies: 1146 | encoding: ^0.1.0 1147 | peerDependenciesMeta: 1148 | encoding: 1149 | optional: true 1150 | 1151 | node-fetch@3.3.0: 1152 | resolution: {integrity: sha512-BKwRP/O0UvoMKp7GNdwPlObhYGB5DQqwhEDQlNKuoqwVYSxkSZCSbHjnFFmUEtwSKRPU4kNK8PbDYYitwaE3QA==} 1153 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1154 | 1155 | node-releases@2.0.18: 1156 | resolution: {integrity: sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g==} 1157 | 1158 | once@1.4.0: 1159 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 1160 | 1161 | p-limit@4.0.0: 1162 | resolution: {integrity: sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==} 1163 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1164 | 1165 | p-map@4.0.0: 1166 | resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} 1167 | engines: {node: '>=10'} 1168 | 1169 | parent-module@1.0.1: 1170 | resolution: {integrity: sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==} 1171 | engines: {node: '>=6'} 1172 | 1173 | parse-json@5.2.0: 1174 | resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==} 1175 | engines: {node: '>=8'} 1176 | 1177 | path-is-absolute@1.0.1: 1178 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 1179 | engines: {node: '>=0.10.0'} 1180 | 1181 | path-key@3.1.1: 1182 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1183 | engines: {node: '>=8'} 1184 | 1185 | path-parse@1.0.7: 1186 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 1187 | 1188 | path-type@4.0.0: 1189 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1190 | engines: {node: '>=8'} 1191 | 1192 | pathe@1.1.0: 1193 | resolution: {integrity: sha512-ODbEPR0KKHqECXW1GoxdDb+AZvULmXjVPy4rt+pGo2+TnjJTIPJQSVS6N63n8T2Ip+syHhbn52OewKicV0373w==} 1194 | 1195 | pathval@1.1.1: 1196 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1197 | 1198 | pend@1.2.0: 1199 | resolution: {integrity: sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg==} 1200 | 1201 | picocolors@1.0.0: 1202 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1203 | 1204 | picocolors@1.1.0: 1205 | resolution: {integrity: sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw==} 1206 | 1207 | picomatch@2.3.1: 1208 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1209 | engines: {node: '>=8.6'} 1210 | 1211 | pkg-types@1.0.1: 1212 | resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} 1213 | 1214 | postcss@8.4.21: 1215 | resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} 1216 | engines: {node: ^10 || ^12 || >=14} 1217 | 1218 | pretty-format@27.5.1: 1219 | resolution: {integrity: sha512-Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==} 1220 | engines: {node: ^10.13.0 || ^12.13.0 || ^14.15.0 || >=15.0.0} 1221 | 1222 | progress@2.0.3: 1223 | resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} 1224 | engines: {node: '>=0.4.0'} 1225 | 1226 | promise-inflight@1.0.1: 1227 | resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==} 1228 | peerDependencies: 1229 | bluebird: '*' 1230 | peerDependenciesMeta: 1231 | bluebird: 1232 | optional: true 1233 | 1234 | promise-retry@2.0.1: 1235 | resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==} 1236 | engines: {node: '>=10'} 1237 | 1238 | proxy-from-env@1.1.0: 1239 | resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} 1240 | 1241 | pump@3.0.0: 1242 | resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} 1243 | 1244 | puppeteer-core@19.7.0: 1245 | resolution: {integrity: sha512-BU05W24N+fWudCCeWxv/+R9fnMGmS6HCNPJbieoy0S4yAloVOoVDpOnHV8ZpFTGMPTHQ2EuPyZPWA+idPKO0pw==} 1246 | engines: {node: '>=14.1.0'} 1247 | peerDependencies: 1248 | typescript: '>= 4.7.4' 1249 | peerDependenciesMeta: 1250 | typescript: 1251 | optional: true 1252 | 1253 | puppeteer@19.7.0: 1254 | resolution: {integrity: sha512-ri4XTvTWL09E3L+SNhY9FKRdEOCRhFyyuBppg7D5lk9q4BZKvDWivpjstwmtz5lr8ufxju/jkn9y7uGowISHgw==} 1255 | engines: {node: '>=14.1.0'} 1256 | 1257 | react-is@17.0.2: 1258 | resolution: {integrity: sha512-w2GsyukL62IJnlaff/nRegPQR94C/XXamvMWmSHRJ4y7Ts/4ocGRmTHvOs8PSE6pB3dWOrD/nueuU5sduBsQ4w==} 1259 | 1260 | readable-stream@3.6.0: 1261 | resolution: {integrity: sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==} 1262 | engines: {node: '>= 6'} 1263 | 1264 | resolve-from@4.0.0: 1265 | resolution: {integrity: sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==} 1266 | engines: {node: '>=4'} 1267 | 1268 | resolve@1.22.1: 1269 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1270 | hasBin: true 1271 | 1272 | retry@0.12.0: 1273 | resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==} 1274 | engines: {node: '>= 4'} 1275 | 1276 | rimraf@3.0.2: 1277 | resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} 1278 | hasBin: true 1279 | 1280 | rollup-plugin-dts@5.2.0: 1281 | resolution: {integrity: sha512-B68T/haEu2MKcz4kNUhXB8/h5sq4gpplHAJIYNHbh8cp4ZkvzDvNca/11KQdFrB9ZeKucegQIotzo5T0JUtM8w==} 1282 | engines: {node: '>=v14'} 1283 | peerDependencies: 1284 | rollup: ^3.0.0 1285 | typescript: ^4.1 1286 | 1287 | rollup-plugin-esbuild@5.0.0: 1288 | resolution: {integrity: sha512-1cRIOHAPh8WQgdQQyyvFdeOdxuiyk+zB5zJ5+YOwrZP4cJ0MT3Fs48pQxrZeyZHcn+klFherytILVfE4aYrneg==} 1289 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1290 | peerDependencies: 1291 | esbuild: '>=0.10.1' 1292 | rollup: ^1.20.0 || ^2.0.0 || ^3.0.0 1293 | 1294 | rollup@3.15.0: 1295 | resolution: {integrity: sha512-F9hrCAhnp5/zx/7HYmftvsNBkMfLfk/dXUh73hPSM2E3CRgap65orDNJbLetoiUFwSAk6iHPLvBrZ5iHYvzqsg==} 1296 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1297 | hasBin: true 1298 | 1299 | safe-buffer@5.2.1: 1300 | resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} 1301 | 1302 | safer-buffer@2.1.2: 1303 | resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==} 1304 | 1305 | semver@6.3.0: 1306 | resolution: {integrity: sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==} 1307 | hasBin: true 1308 | 1309 | semver@6.3.1: 1310 | resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} 1311 | hasBin: true 1312 | 1313 | semver@7.3.8: 1314 | resolution: {integrity: sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==} 1315 | engines: {node: '>=10'} 1316 | hasBin: true 1317 | 1318 | shebang-command@2.0.0: 1319 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1320 | engines: {node: '>=8'} 1321 | 1322 | shebang-regex@3.0.0: 1323 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1324 | engines: {node: '>=8'} 1325 | 1326 | siginfo@2.0.0: 1327 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1328 | 1329 | slash@4.0.0: 1330 | resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} 1331 | engines: {node: '>=12'} 1332 | 1333 | slice-ansi@5.0.0: 1334 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 1335 | engines: {node: '>=12'} 1336 | 1337 | smart-buffer@4.2.0: 1338 | resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} 1339 | engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} 1340 | 1341 | socks-proxy-agent@5.0.1: 1342 | resolution: {integrity: sha512-vZdmnjb9a2Tz6WEQVIurybSwElwPxMZaIc7PzqbJTrezcKNznv6giT7J7tZDZ1BojVaa1jvO/UiUdhDVB0ACoQ==} 1343 | engines: {node: '>= 6'} 1344 | 1345 | socks@2.7.0: 1346 | resolution: {integrity: sha512-scnOe9y4VuiNUULJN72GrM26BNOjVsfPXI+j+98PkyEfsIXroa5ofyjT+FzGvn/xHs73U2JtoBYAVx9Hl4quSA==} 1347 | engines: {node: '>= 10.13.0', npm: '>= 3.0.0'} 1348 | 1349 | source-map-js@1.0.2: 1350 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1351 | engines: {node: '>=0.10.0'} 1352 | 1353 | source-map-support@0.5.21: 1354 | resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} 1355 | 1356 | source-map@0.6.1: 1357 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1358 | engines: {node: '>=0.10.0'} 1359 | 1360 | ssri@8.0.1: 1361 | resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==} 1362 | engines: {node: '>= 8'} 1363 | 1364 | stackback@0.0.2: 1365 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1366 | 1367 | std-env@3.3.2: 1368 | resolution: {integrity: sha512-uUZI65yrV2Qva5gqE0+A7uVAvO40iPo6jGhs7s8keRfHCmtg+uB2X6EiLGCI9IgL1J17xGhvoOqSz79lzICPTA==} 1369 | 1370 | string-width@5.1.2: 1371 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1372 | engines: {node: '>=12'} 1373 | 1374 | string_decoder@1.3.0: 1375 | resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} 1376 | 1377 | strip-ansi@7.0.1: 1378 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 1379 | engines: {node: '>=12'} 1380 | 1381 | strip-literal@1.0.1: 1382 | resolution: {integrity: sha512-QZTsipNpa2Ppr6v1AmJHESqJ3Uz247MUS0OjrnnZjFAvEoWqxuyFuXn2xLgMtRnijJShAa1HL0gtJyUs7u7n3Q==} 1383 | 1384 | supports-color@5.5.0: 1385 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1386 | engines: {node: '>=4'} 1387 | 1388 | supports-preserve-symlinks-flag@1.0.0: 1389 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1390 | engines: {node: '>= 0.4'} 1391 | 1392 | sver@1.8.4: 1393 | resolution: {integrity: sha512-71o1zfzyawLfIWBOmw8brleKyvnbn73oVHNCsu51uPMz/HWiKkkXsI31JjHW5zqXEqnPYkIiHd8ZmL7FCimLEA==} 1394 | 1395 | tar-fs@2.1.1: 1396 | resolution: {integrity: sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==} 1397 | 1398 | tar-stream@2.2.0: 1399 | resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==} 1400 | engines: {node: '>=6'} 1401 | 1402 | tar@6.1.11: 1403 | resolution: {integrity: sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA==} 1404 | engines: {node: '>= 10'} 1405 | 1406 | through@2.3.8: 1407 | resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} 1408 | 1409 | tinybench@2.3.1: 1410 | resolution: {integrity: sha512-hGYWYBMPr7p4g5IarQE7XhlyWveh1EKhy4wUBS1LrHXCKYgvz+4/jCqgmJqZxxldesn05vccrtME2RLLZNW7iA==} 1411 | 1412 | tinypool@0.3.1: 1413 | resolution: {integrity: sha512-zLA1ZXlstbU2rlpA4CIeVaqvWq41MTWqLY3FfsAXgC8+f7Pk7zroaJQxDgxn1xNudKW6Kmj4808rPFShUlIRmQ==} 1414 | engines: {node: '>=14.0.0'} 1415 | 1416 | tinyspy@1.1.1: 1417 | resolution: {integrity: sha512-UVq5AXt/gQlti7oxoIg5oi/9r0WpF7DGEVwXgqWSMmyN16+e3tl5lIvTaOpJ3TAtu5xFzWccFRM4R5NaWHF+4g==} 1418 | engines: {node: '>=14.0.0'} 1419 | 1420 | to-fast-properties@2.0.0: 1421 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1422 | engines: {node: '>=4'} 1423 | 1424 | tr46@0.0.3: 1425 | resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} 1426 | 1427 | type-detect@4.0.8: 1428 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 1429 | engines: {node: '>=4'} 1430 | 1431 | typescript@4.9.5: 1432 | resolution: {integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==} 1433 | engines: {node: '>=4.2.0'} 1434 | hasBin: true 1435 | 1436 | ufo@1.0.1: 1437 | resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} 1438 | 1439 | unbzip2-stream@1.4.3: 1440 | resolution: {integrity: sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==} 1441 | 1442 | unique-filename@1.1.1: 1443 | resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==} 1444 | 1445 | unique-slug@2.0.2: 1446 | resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==} 1447 | 1448 | update-browserslist-db@1.1.0: 1449 | resolution: {integrity: sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ==} 1450 | hasBin: true 1451 | peerDependencies: 1452 | browserslist: '>= 4.21.0' 1453 | 1454 | util-deprecate@1.0.2: 1455 | resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} 1456 | 1457 | vite-node@0.28.5: 1458 | resolution: {integrity: sha512-LmXb9saMGlrMZbXTvOveJKwMTBTNUH66c8rJnQ0ZPNX+myPEol64+szRzXtV5ORb0Hb/91yq+/D3oERoyAt6LA==} 1459 | engines: {node: '>=v14.16.0'} 1460 | hasBin: true 1461 | 1462 | vite@4.1.1: 1463 | resolution: {integrity: sha512-LM9WWea8vsxhr782r9ntg+bhSFS06FJgCvvB0+8hf8UWtvaiDagKYWXndjfX6kGl74keHJUcpzrQliDXZlF5yg==} 1464 | engines: {node: ^14.18.0 || >=16.0.0} 1465 | hasBin: true 1466 | peerDependencies: 1467 | '@types/node': '>= 14' 1468 | less: '*' 1469 | sass: '*' 1470 | stylus: '*' 1471 | sugarss: '*' 1472 | terser: ^5.4.0 1473 | peerDependenciesMeta: 1474 | '@types/node': 1475 | optional: true 1476 | less: 1477 | optional: true 1478 | sass: 1479 | optional: true 1480 | stylus: 1481 | optional: true 1482 | sugarss: 1483 | optional: true 1484 | terser: 1485 | optional: true 1486 | 1487 | vitest@0.28.5: 1488 | resolution: {integrity: sha512-pyCQ+wcAOX7mKMcBNkzDwEHRGqQvHUl0XnoHR+3Pb1hytAHISgSxv9h0gUiSiYtISXUU3rMrKiKzFYDrI6ZIHA==} 1489 | engines: {node: '>=v14.16.0'} 1490 | hasBin: true 1491 | peerDependencies: 1492 | '@edge-runtime/vm': '*' 1493 | '@vitest/browser': '*' 1494 | '@vitest/ui': '*' 1495 | happy-dom: '*' 1496 | jsdom: '*' 1497 | peerDependenciesMeta: 1498 | '@edge-runtime/vm': 1499 | optional: true 1500 | '@vitest/browser': 1501 | optional: true 1502 | '@vitest/ui': 1503 | optional: true 1504 | happy-dom: 1505 | optional: true 1506 | jsdom: 1507 | optional: true 1508 | 1509 | web-streams-polyfill@3.2.1: 1510 | resolution: {integrity: sha512-e0MO3wdXWKrLbL0DgGnUV7WHVuw9OUvL4hjgnPkIeEvESk74gAITi5G606JtZPp39cd8HA9VQzCIvA49LpPN5Q==} 1511 | engines: {node: '>= 8'} 1512 | 1513 | webidl-conversions@3.0.1: 1514 | resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==} 1515 | 1516 | whatwg-url@5.0.0: 1517 | resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} 1518 | 1519 | which@2.0.2: 1520 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1521 | engines: {node: '>= 8'} 1522 | hasBin: true 1523 | 1524 | why-is-node-running@2.2.2: 1525 | resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} 1526 | engines: {node: '>=8'} 1527 | hasBin: true 1528 | 1529 | wrappy@1.0.2: 1530 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1531 | 1532 | ws@8.11.0: 1533 | resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} 1534 | engines: {node: '>=10.0.0'} 1535 | peerDependencies: 1536 | bufferutil: ^4.0.1 1537 | utf-8-validate: ^5.0.2 1538 | peerDependenciesMeta: 1539 | bufferutil: 1540 | optional: true 1541 | utf-8-validate: 1542 | optional: true 1543 | 1544 | yallist@3.1.1: 1545 | resolution: {integrity: sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==} 1546 | 1547 | yallist@4.0.0: 1548 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 1549 | 1550 | yauzl@2.10.0: 1551 | resolution: {integrity: sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g==} 1552 | 1553 | yocto-queue@1.0.0: 1554 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 1555 | engines: {node: '>=12.20'} 1556 | 1557 | snapshots: 1558 | 1559 | '@ampproject/remapping@2.2.0': 1560 | dependencies: 1561 | '@jridgewell/gen-mapping': 0.1.1 1562 | '@jridgewell/trace-mapping': 0.3.17 1563 | 1564 | '@babel/code-frame@7.18.6': 1565 | dependencies: 1566 | '@babel/highlight': 7.18.6 1567 | 1568 | '@babel/code-frame@7.24.7': 1569 | dependencies: 1570 | '@babel/highlight': 7.24.7 1571 | picocolors: 1.0.0 1572 | 1573 | '@babel/compat-data@7.25.4': {} 1574 | 1575 | '@babel/core@7.25.2': 1576 | dependencies: 1577 | '@ampproject/remapping': 2.2.0 1578 | '@babel/code-frame': 7.24.7 1579 | '@babel/generator': 7.25.6 1580 | '@babel/helper-compilation-targets': 7.25.2 1581 | '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) 1582 | '@babel/helpers': 7.25.6 1583 | '@babel/parser': 7.25.6 1584 | '@babel/template': 7.25.0 1585 | '@babel/traverse': 7.25.6 1586 | '@babel/types': 7.25.6 1587 | convert-source-map: 2.0.0 1588 | debug: 4.3.4 1589 | gensync: 1.0.0-beta.2 1590 | json5: 2.2.3 1591 | semver: 6.3.1 1592 | transitivePeerDependencies: 1593 | - supports-color 1594 | 1595 | '@babel/generator@7.25.6': 1596 | dependencies: 1597 | '@babel/types': 7.25.6 1598 | '@jridgewell/gen-mapping': 0.3.5 1599 | '@jridgewell/trace-mapping': 0.3.25 1600 | jsesc: 2.5.2 1601 | 1602 | '@babel/helper-annotate-as-pure@7.24.7': 1603 | dependencies: 1604 | '@babel/types': 7.25.6 1605 | 1606 | '@babel/helper-compilation-targets@7.25.2': 1607 | dependencies: 1608 | '@babel/compat-data': 7.25.4 1609 | '@babel/helper-validator-option': 7.24.8 1610 | browserslist: 4.23.3 1611 | lru-cache: 5.1.1 1612 | semver: 6.3.1 1613 | 1614 | '@babel/helper-create-class-features-plugin@7.25.4(@babel/core@7.25.2)': 1615 | dependencies: 1616 | '@babel/core': 7.25.2 1617 | '@babel/helper-annotate-as-pure': 7.24.7 1618 | '@babel/helper-member-expression-to-functions': 7.24.8 1619 | '@babel/helper-optimise-call-expression': 7.24.7 1620 | '@babel/helper-replace-supers': 7.25.0(@babel/core@7.25.2) 1621 | '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 1622 | '@babel/traverse': 7.25.6 1623 | semver: 6.3.1 1624 | transitivePeerDependencies: 1625 | - supports-color 1626 | 1627 | '@babel/helper-member-expression-to-functions@7.24.8': 1628 | dependencies: 1629 | '@babel/traverse': 7.25.6 1630 | '@babel/types': 7.25.6 1631 | transitivePeerDependencies: 1632 | - supports-color 1633 | 1634 | '@babel/helper-module-imports@7.24.7': 1635 | dependencies: 1636 | '@babel/traverse': 7.25.6 1637 | '@babel/types': 7.25.6 1638 | transitivePeerDependencies: 1639 | - supports-color 1640 | 1641 | '@babel/helper-module-transforms@7.25.2(@babel/core@7.25.2)': 1642 | dependencies: 1643 | '@babel/core': 7.25.2 1644 | '@babel/helper-module-imports': 7.24.7 1645 | '@babel/helper-simple-access': 7.24.7 1646 | '@babel/helper-validator-identifier': 7.24.7 1647 | '@babel/traverse': 7.25.6 1648 | transitivePeerDependencies: 1649 | - supports-color 1650 | 1651 | '@babel/helper-optimise-call-expression@7.24.7': 1652 | dependencies: 1653 | '@babel/types': 7.25.6 1654 | 1655 | '@babel/helper-plugin-utils@7.24.8': {} 1656 | 1657 | '@babel/helper-replace-supers@7.25.0(@babel/core@7.25.2)': 1658 | dependencies: 1659 | '@babel/core': 7.25.2 1660 | '@babel/helper-member-expression-to-functions': 7.24.8 1661 | '@babel/helper-optimise-call-expression': 7.24.7 1662 | '@babel/traverse': 7.25.6 1663 | transitivePeerDependencies: 1664 | - supports-color 1665 | 1666 | '@babel/helper-simple-access@7.24.7': 1667 | dependencies: 1668 | '@babel/traverse': 7.25.6 1669 | '@babel/types': 7.25.6 1670 | transitivePeerDependencies: 1671 | - supports-color 1672 | 1673 | '@babel/helper-skip-transparent-expression-wrappers@7.24.7': 1674 | dependencies: 1675 | '@babel/traverse': 7.25.6 1676 | '@babel/types': 7.25.6 1677 | transitivePeerDependencies: 1678 | - supports-color 1679 | 1680 | '@babel/helper-string-parser@7.19.4': {} 1681 | 1682 | '@babel/helper-string-parser@7.24.8': {} 1683 | 1684 | '@babel/helper-validator-identifier@7.19.1': {} 1685 | 1686 | '@babel/helper-validator-identifier@7.24.7': {} 1687 | 1688 | '@babel/helper-validator-option@7.24.8': {} 1689 | 1690 | '@babel/helpers@7.25.6': 1691 | dependencies: 1692 | '@babel/template': 7.25.0 1693 | '@babel/types': 7.25.6 1694 | 1695 | '@babel/highlight@7.18.6': 1696 | dependencies: 1697 | '@babel/helper-validator-identifier': 7.19.1 1698 | chalk: 2.4.2 1699 | js-tokens: 4.0.0 1700 | 1701 | '@babel/highlight@7.24.7': 1702 | dependencies: 1703 | '@babel/helper-validator-identifier': 7.24.7 1704 | chalk: 2.4.2 1705 | js-tokens: 4.0.0 1706 | picocolors: 1.0.0 1707 | 1708 | '@babel/parser@7.21.3': 1709 | dependencies: 1710 | '@babel/types': 7.21.3 1711 | 1712 | '@babel/parser@7.25.6': 1713 | dependencies: 1714 | '@babel/types': 7.25.6 1715 | 1716 | '@babel/plugin-syntax-import-attributes@7.25.6(@babel/core@7.25.2)': 1717 | dependencies: 1718 | '@babel/core': 7.25.2 1719 | '@babel/helper-plugin-utils': 7.24.8 1720 | 1721 | '@babel/plugin-syntax-jsx@7.24.7(@babel/core@7.25.2)': 1722 | dependencies: 1723 | '@babel/core': 7.25.2 1724 | '@babel/helper-plugin-utils': 7.24.8 1725 | 1726 | '@babel/plugin-syntax-typescript@7.25.4(@babel/core@7.25.2)': 1727 | dependencies: 1728 | '@babel/core': 7.25.2 1729 | '@babel/helper-plugin-utils': 7.24.8 1730 | 1731 | '@babel/plugin-transform-modules-commonjs@7.24.8(@babel/core@7.25.2)': 1732 | dependencies: 1733 | '@babel/core': 7.25.2 1734 | '@babel/helper-module-transforms': 7.25.2(@babel/core@7.25.2) 1735 | '@babel/helper-plugin-utils': 7.24.8 1736 | '@babel/helper-simple-access': 7.24.7 1737 | transitivePeerDependencies: 1738 | - supports-color 1739 | 1740 | '@babel/plugin-transform-typescript@7.25.2(@babel/core@7.25.2)': 1741 | dependencies: 1742 | '@babel/core': 7.25.2 1743 | '@babel/helper-annotate-as-pure': 7.24.7 1744 | '@babel/helper-create-class-features-plugin': 7.25.4(@babel/core@7.25.2) 1745 | '@babel/helper-plugin-utils': 7.24.8 1746 | '@babel/helper-skip-transparent-expression-wrappers': 7.24.7 1747 | '@babel/plugin-syntax-typescript': 7.25.4(@babel/core@7.25.2) 1748 | transitivePeerDependencies: 1749 | - supports-color 1750 | 1751 | '@babel/preset-typescript@7.24.7(@babel/core@7.25.2)': 1752 | dependencies: 1753 | '@babel/core': 7.25.2 1754 | '@babel/helper-plugin-utils': 7.24.8 1755 | '@babel/helper-validator-option': 7.24.8 1756 | '@babel/plugin-syntax-jsx': 7.24.7(@babel/core@7.25.2) 1757 | '@babel/plugin-transform-modules-commonjs': 7.24.8(@babel/core@7.25.2) 1758 | '@babel/plugin-transform-typescript': 7.25.2(@babel/core@7.25.2) 1759 | transitivePeerDependencies: 1760 | - supports-color 1761 | 1762 | '@babel/template@7.25.0': 1763 | dependencies: 1764 | '@babel/code-frame': 7.24.7 1765 | '@babel/parser': 7.25.6 1766 | '@babel/types': 7.25.6 1767 | 1768 | '@babel/traverse@7.25.6': 1769 | dependencies: 1770 | '@babel/code-frame': 7.24.7 1771 | '@babel/generator': 7.25.6 1772 | '@babel/parser': 7.25.6 1773 | '@babel/template': 7.25.0 1774 | '@babel/types': 7.25.6 1775 | debug: 4.3.4 1776 | globals: 11.12.0 1777 | transitivePeerDependencies: 1778 | - supports-color 1779 | 1780 | '@babel/types@7.21.3': 1781 | dependencies: 1782 | '@babel/helper-string-parser': 7.19.4 1783 | '@babel/helper-validator-identifier': 7.19.1 1784 | to-fast-properties: 2.0.0 1785 | 1786 | '@babel/types@7.25.6': 1787 | dependencies: 1788 | '@babel/helper-string-parser': 7.24.8 1789 | '@babel/helper-validator-identifier': 7.24.7 1790 | to-fast-properties: 2.0.0 1791 | 1792 | '@esbuild/android-arm64@0.16.17': 1793 | optional: true 1794 | 1795 | '@esbuild/android-arm64@0.17.8': 1796 | optional: true 1797 | 1798 | '@esbuild/android-arm@0.16.17': 1799 | optional: true 1800 | 1801 | '@esbuild/android-arm@0.17.8': 1802 | optional: true 1803 | 1804 | '@esbuild/android-x64@0.16.17': 1805 | optional: true 1806 | 1807 | '@esbuild/android-x64@0.17.8': 1808 | optional: true 1809 | 1810 | '@esbuild/darwin-arm64@0.16.17': 1811 | optional: true 1812 | 1813 | '@esbuild/darwin-arm64@0.17.8': 1814 | optional: true 1815 | 1816 | '@esbuild/darwin-x64@0.16.17': 1817 | optional: true 1818 | 1819 | '@esbuild/darwin-x64@0.17.8': 1820 | optional: true 1821 | 1822 | '@esbuild/freebsd-arm64@0.16.17': 1823 | optional: true 1824 | 1825 | '@esbuild/freebsd-arm64@0.17.8': 1826 | optional: true 1827 | 1828 | '@esbuild/freebsd-x64@0.16.17': 1829 | optional: true 1830 | 1831 | '@esbuild/freebsd-x64@0.17.8': 1832 | optional: true 1833 | 1834 | '@esbuild/linux-arm64@0.16.17': 1835 | optional: true 1836 | 1837 | '@esbuild/linux-arm64@0.17.8': 1838 | optional: true 1839 | 1840 | '@esbuild/linux-arm@0.16.17': 1841 | optional: true 1842 | 1843 | '@esbuild/linux-arm@0.17.8': 1844 | optional: true 1845 | 1846 | '@esbuild/linux-ia32@0.16.17': 1847 | optional: true 1848 | 1849 | '@esbuild/linux-ia32@0.17.8': 1850 | optional: true 1851 | 1852 | '@esbuild/linux-loong64@0.16.17': 1853 | optional: true 1854 | 1855 | '@esbuild/linux-loong64@0.17.8': 1856 | optional: true 1857 | 1858 | '@esbuild/linux-mips64el@0.16.17': 1859 | optional: true 1860 | 1861 | '@esbuild/linux-mips64el@0.17.8': 1862 | optional: true 1863 | 1864 | '@esbuild/linux-ppc64@0.16.17': 1865 | optional: true 1866 | 1867 | '@esbuild/linux-ppc64@0.17.8': 1868 | optional: true 1869 | 1870 | '@esbuild/linux-riscv64@0.16.17': 1871 | optional: true 1872 | 1873 | '@esbuild/linux-riscv64@0.17.8': 1874 | optional: true 1875 | 1876 | '@esbuild/linux-s390x@0.16.17': 1877 | optional: true 1878 | 1879 | '@esbuild/linux-s390x@0.17.8': 1880 | optional: true 1881 | 1882 | '@esbuild/linux-x64@0.16.17': 1883 | optional: true 1884 | 1885 | '@esbuild/linux-x64@0.17.8': 1886 | optional: true 1887 | 1888 | '@esbuild/netbsd-x64@0.16.17': 1889 | optional: true 1890 | 1891 | '@esbuild/netbsd-x64@0.17.8': 1892 | optional: true 1893 | 1894 | '@esbuild/openbsd-x64@0.16.17': 1895 | optional: true 1896 | 1897 | '@esbuild/openbsd-x64@0.17.8': 1898 | optional: true 1899 | 1900 | '@esbuild/sunos-x64@0.16.17': 1901 | optional: true 1902 | 1903 | '@esbuild/sunos-x64@0.17.8': 1904 | optional: true 1905 | 1906 | '@esbuild/win32-arm64@0.16.17': 1907 | optional: true 1908 | 1909 | '@esbuild/win32-arm64@0.17.8': 1910 | optional: true 1911 | 1912 | '@esbuild/win32-ia32@0.16.17': 1913 | optional: true 1914 | 1915 | '@esbuild/win32-ia32@0.17.8': 1916 | optional: true 1917 | 1918 | '@esbuild/win32-x64@0.16.17': 1919 | optional: true 1920 | 1921 | '@esbuild/win32-x64@0.17.8': 1922 | optional: true 1923 | 1924 | '@gar/promisify@1.1.3': {} 1925 | 1926 | '@jridgewell/gen-mapping@0.1.1': 1927 | dependencies: 1928 | '@jridgewell/set-array': 1.1.2 1929 | '@jridgewell/sourcemap-codec': 1.4.14 1930 | 1931 | '@jridgewell/gen-mapping@0.3.5': 1932 | dependencies: 1933 | '@jridgewell/set-array': 1.2.1 1934 | '@jridgewell/sourcemap-codec': 1.4.14 1935 | '@jridgewell/trace-mapping': 0.3.25 1936 | 1937 | '@jridgewell/resolve-uri@3.1.0': {} 1938 | 1939 | '@jridgewell/set-array@1.1.2': {} 1940 | 1941 | '@jridgewell/set-array@1.2.1': {} 1942 | 1943 | '@jridgewell/sourcemap-codec@1.4.14': {} 1944 | 1945 | '@jridgewell/trace-mapping@0.3.17': 1946 | dependencies: 1947 | '@jridgewell/resolve-uri': 3.1.0 1948 | '@jridgewell/sourcemap-codec': 1.4.14 1949 | 1950 | '@jridgewell/trace-mapping@0.3.25': 1951 | dependencies: 1952 | '@jridgewell/resolve-uri': 3.1.0 1953 | '@jridgewell/sourcemap-codec': 1.4.14 1954 | 1955 | '@jspm/generator@2.3.0': 1956 | dependencies: 1957 | '@babel/core': 7.25.2 1958 | '@babel/plugin-syntax-import-attributes': 7.25.6(@babel/core@7.25.2) 1959 | '@babel/preset-typescript': 7.24.7(@babel/core@7.25.2) 1960 | '@jspm/import-map': 1.1.0 1961 | es-module-lexer: 1.5.4 1962 | make-fetch-happen: 8.0.14 1963 | sver: 1.8.4 1964 | transitivePeerDependencies: 1965 | - bluebird 1966 | - supports-color 1967 | 1968 | '@jspm/import-map@1.1.0': {} 1969 | 1970 | '@npmcli/fs@1.1.1': 1971 | dependencies: 1972 | '@gar/promisify': 1.1.3 1973 | semver: 7.3.8 1974 | 1975 | '@npmcli/move-file@1.1.2': 1976 | dependencies: 1977 | mkdirp: 1.0.4 1978 | rimraf: 3.0.2 1979 | 1980 | '@rollup/plugin-alias@4.0.3(rollup@3.15.0)': 1981 | dependencies: 1982 | slash: 4.0.0 1983 | optionalDependencies: 1984 | rollup: 3.15.0 1985 | 1986 | '@rollup/plugin-commonjs@24.0.1(rollup@3.15.0)': 1987 | dependencies: 1988 | '@rollup/pluginutils': 5.0.2(rollup@3.15.0) 1989 | commondir: 1.0.1 1990 | estree-walker: 2.0.2 1991 | glob: 8.1.0 1992 | is-reference: 1.2.1 1993 | magic-string: 0.27.0 1994 | optionalDependencies: 1995 | rollup: 3.15.0 1996 | 1997 | '@rollup/plugin-json@6.0.0(rollup@3.15.0)': 1998 | dependencies: 1999 | '@rollup/pluginutils': 5.0.2(rollup@3.15.0) 2000 | optionalDependencies: 2001 | rollup: 3.15.0 2002 | 2003 | '@rollup/plugin-node-resolve@15.0.1(rollup@3.15.0)': 2004 | dependencies: 2005 | '@rollup/pluginutils': 5.0.2(rollup@3.15.0) 2006 | '@types/resolve': 1.20.2 2007 | deepmerge: 4.3.0 2008 | is-builtin-module: 3.2.1 2009 | is-module: 1.0.0 2010 | resolve: 1.22.1 2011 | optionalDependencies: 2012 | rollup: 3.15.0 2013 | 2014 | '@rollup/pluginutils@5.0.2(rollup@3.15.0)': 2015 | dependencies: 2016 | '@types/estree': 1.0.0 2017 | estree-walker: 2.0.2 2018 | picomatch: 2.3.1 2019 | optionalDependencies: 2020 | rollup: 3.15.0 2021 | 2022 | '@tootallnate/once@1.1.2': {} 2023 | 2024 | '@types/chai-subset@1.3.3': 2025 | dependencies: 2026 | '@types/chai': 4.3.4 2027 | 2028 | '@types/chai@4.3.4': {} 2029 | 2030 | '@types/estree@1.0.0': {} 2031 | 2032 | '@types/node@18.0.0': {} 2033 | 2034 | '@types/node@18.13.0': {} 2035 | 2036 | '@types/resolve@1.20.2': {} 2037 | 2038 | '@types/yauzl@2.10.0': 2039 | dependencies: 2040 | '@types/node': 18.13.0 2041 | optional: true 2042 | 2043 | '@vitest/expect@0.28.5': 2044 | dependencies: 2045 | '@vitest/spy': 0.28.5 2046 | '@vitest/utils': 0.28.5 2047 | chai: 4.3.7 2048 | 2049 | '@vitest/runner@0.28.5': 2050 | dependencies: 2051 | '@vitest/utils': 0.28.5 2052 | p-limit: 4.0.0 2053 | pathe: 1.1.0 2054 | 2055 | '@vitest/spy@0.28.5': 2056 | dependencies: 2057 | tinyspy: 1.1.1 2058 | 2059 | '@vitest/utils@0.28.5': 2060 | dependencies: 2061 | cli-truncate: 3.1.0 2062 | diff: 5.1.0 2063 | loupe: 2.3.6 2064 | picocolors: 1.0.0 2065 | pretty-format: 27.5.1 2066 | 2067 | '@vue/compiler-core@3.2.37': 2068 | dependencies: 2069 | '@babel/parser': 7.21.3 2070 | '@vue/shared': 3.2.37 2071 | estree-walker: 2.0.2 2072 | source-map: 0.6.1 2073 | 2074 | '@vue/compiler-dom@3.2.37': 2075 | dependencies: 2076 | '@vue/compiler-core': 3.2.37 2077 | '@vue/shared': 3.2.37 2078 | 2079 | '@vue/shared@3.2.37': {} 2080 | 2081 | acorn-walk@8.2.0: {} 2082 | 2083 | acorn@8.8.2: {} 2084 | 2085 | agent-base@6.0.2: 2086 | dependencies: 2087 | debug: 4.3.4 2088 | transitivePeerDependencies: 2089 | - supports-color 2090 | 2091 | agentkeepalive@4.2.1: 2092 | dependencies: 2093 | debug: 4.3.4 2094 | depd: 1.1.2 2095 | humanize-ms: 1.2.1 2096 | transitivePeerDependencies: 2097 | - supports-color 2098 | 2099 | aggregate-error@3.1.0: 2100 | dependencies: 2101 | clean-stack: 2.2.0 2102 | indent-string: 4.0.0 2103 | 2104 | ansi-regex@5.0.1: {} 2105 | 2106 | ansi-regex@6.0.1: {} 2107 | 2108 | ansi-styles@3.2.1: 2109 | dependencies: 2110 | color-convert: 1.9.3 2111 | 2112 | ansi-styles@5.2.0: {} 2113 | 2114 | ansi-styles@6.2.1: {} 2115 | 2116 | argparse@2.0.1: {} 2117 | 2118 | assertion-error@1.1.0: {} 2119 | 2120 | balanced-match@1.0.2: {} 2121 | 2122 | base64-js@1.5.1: {} 2123 | 2124 | bl@4.1.0: 2125 | dependencies: 2126 | buffer: 5.7.1 2127 | inherits: 2.0.4 2128 | readable-stream: 3.6.0 2129 | 2130 | brace-expansion@1.1.11: 2131 | dependencies: 2132 | balanced-match: 1.0.2 2133 | concat-map: 0.0.1 2134 | 2135 | brace-expansion@2.0.1: 2136 | dependencies: 2137 | balanced-match: 1.0.2 2138 | 2139 | browserslist@4.23.3: 2140 | dependencies: 2141 | caniuse-lite: 1.0.30001659 2142 | electron-to-chromium: 1.5.18 2143 | node-releases: 2.0.18 2144 | update-browserslist-db: 1.1.0(browserslist@4.23.3) 2145 | 2146 | buffer-crc32@0.2.13: {} 2147 | 2148 | buffer-from@1.1.2: {} 2149 | 2150 | buffer@5.7.1: 2151 | dependencies: 2152 | base64-js: 1.5.1 2153 | ieee754: 1.2.1 2154 | 2155 | builtin-modules@3.3.0: {} 2156 | 2157 | cac@6.7.14: {} 2158 | 2159 | cacache@15.3.0: 2160 | dependencies: 2161 | '@npmcli/fs': 1.1.1 2162 | '@npmcli/move-file': 1.1.2 2163 | chownr: 2.0.0 2164 | fs-minipass: 2.1.0 2165 | glob: 7.2.3 2166 | infer-owner: 1.0.4 2167 | lru-cache: 6.0.0 2168 | minipass: 3.3.4 2169 | minipass-collect: 1.0.2 2170 | minipass-flush: 1.0.5 2171 | minipass-pipeline: 1.2.4 2172 | mkdirp: 1.0.4 2173 | p-map: 4.0.0 2174 | promise-inflight: 1.0.1 2175 | rimraf: 3.0.2 2176 | ssri: 8.0.1 2177 | tar: 6.1.11 2178 | unique-filename: 1.1.1 2179 | transitivePeerDependencies: 2180 | - bluebird 2181 | 2182 | callsites@3.1.0: {} 2183 | 2184 | caniuse-lite@1.0.30001659: {} 2185 | 2186 | chai@4.3.7: 2187 | dependencies: 2188 | assertion-error: 1.1.0 2189 | check-error: 1.0.2 2190 | deep-eql: 4.1.3 2191 | get-func-name: 2.0.0 2192 | loupe: 2.3.6 2193 | pathval: 1.1.1 2194 | type-detect: 4.0.8 2195 | 2196 | chalk@2.4.2: 2197 | dependencies: 2198 | ansi-styles: 3.2.1 2199 | escape-string-regexp: 1.0.5 2200 | supports-color: 5.5.0 2201 | 2202 | check-error@1.0.2: {} 2203 | 2204 | chownr@1.1.4: {} 2205 | 2206 | chownr@2.0.0: {} 2207 | 2208 | chromium-bidi@0.4.3(devtools-protocol@0.0.1094867)(mitt@3.0.1): 2209 | dependencies: 2210 | devtools-protocol: 0.0.1094867 2211 | mitt: 3.0.1 2212 | 2213 | clean-stack@2.2.0: {} 2214 | 2215 | cli-truncate@3.1.0: 2216 | dependencies: 2217 | slice-ansi: 5.0.0 2218 | string-width: 5.1.2 2219 | 2220 | color-convert@1.9.3: 2221 | dependencies: 2222 | color-name: 1.1.3 2223 | 2224 | color-name@1.1.3: {} 2225 | 2226 | commondir@1.0.1: {} 2227 | 2228 | concat-map@0.0.1: {} 2229 | 2230 | convert-source-map@2.0.0: {} 2231 | 2232 | cosmiconfig@8.0.0: 2233 | dependencies: 2234 | import-fresh: 3.3.0 2235 | js-yaml: 4.1.0 2236 | parse-json: 5.2.0 2237 | path-type: 4.0.0 2238 | 2239 | cross-env@7.0.3: 2240 | dependencies: 2241 | cross-spawn: 7.0.3 2242 | 2243 | cross-fetch@3.1.5(encoding@0.1.13): 2244 | dependencies: 2245 | node-fetch: 2.6.7(encoding@0.1.13) 2246 | transitivePeerDependencies: 2247 | - encoding 2248 | 2249 | cross-spawn@7.0.3: 2250 | dependencies: 2251 | path-key: 3.1.1 2252 | shebang-command: 2.0.0 2253 | which: 2.0.2 2254 | 2255 | data-uri-to-buffer@4.0.1: {} 2256 | 2257 | debug@4.3.4: 2258 | dependencies: 2259 | ms: 2.1.2 2260 | 2261 | deep-eql@4.1.3: 2262 | dependencies: 2263 | type-detect: 4.0.8 2264 | 2265 | deepmerge@4.3.0: {} 2266 | 2267 | depd@1.1.2: {} 2268 | 2269 | devtools-protocol@0.0.1094867: {} 2270 | 2271 | diff@5.1.0: {} 2272 | 2273 | eastasianwidth@0.2.0: {} 2274 | 2275 | electron-to-chromium@1.5.18: {} 2276 | 2277 | emoji-regex@9.2.2: {} 2278 | 2279 | encoding@0.1.13: 2280 | dependencies: 2281 | iconv-lite: 0.6.3 2282 | optional: true 2283 | 2284 | end-of-stream@1.4.4: 2285 | dependencies: 2286 | once: 1.4.0 2287 | 2288 | err-code@2.0.3: {} 2289 | 2290 | error-ex@1.3.2: 2291 | dependencies: 2292 | is-arrayish: 0.2.1 2293 | 2294 | es-module-lexer@1.2.0: {} 2295 | 2296 | es-module-lexer@1.5.4: {} 2297 | 2298 | esbuild-node-loader@0.8.0: 2299 | dependencies: 2300 | esbuild: 0.17.8 2301 | node-fetch: 3.3.0 2302 | semver: 7.3.8 2303 | 2304 | esbuild@0.16.17: 2305 | optionalDependencies: 2306 | '@esbuild/android-arm': 0.16.17 2307 | '@esbuild/android-arm64': 0.16.17 2308 | '@esbuild/android-x64': 0.16.17 2309 | '@esbuild/darwin-arm64': 0.16.17 2310 | '@esbuild/darwin-x64': 0.16.17 2311 | '@esbuild/freebsd-arm64': 0.16.17 2312 | '@esbuild/freebsd-x64': 0.16.17 2313 | '@esbuild/linux-arm': 0.16.17 2314 | '@esbuild/linux-arm64': 0.16.17 2315 | '@esbuild/linux-ia32': 0.16.17 2316 | '@esbuild/linux-loong64': 0.16.17 2317 | '@esbuild/linux-mips64el': 0.16.17 2318 | '@esbuild/linux-ppc64': 0.16.17 2319 | '@esbuild/linux-riscv64': 0.16.17 2320 | '@esbuild/linux-s390x': 0.16.17 2321 | '@esbuild/linux-x64': 0.16.17 2322 | '@esbuild/netbsd-x64': 0.16.17 2323 | '@esbuild/openbsd-x64': 0.16.17 2324 | '@esbuild/sunos-x64': 0.16.17 2325 | '@esbuild/win32-arm64': 0.16.17 2326 | '@esbuild/win32-ia32': 0.16.17 2327 | '@esbuild/win32-x64': 0.16.17 2328 | 2329 | esbuild@0.17.8: 2330 | optionalDependencies: 2331 | '@esbuild/android-arm': 0.17.8 2332 | '@esbuild/android-arm64': 0.17.8 2333 | '@esbuild/android-x64': 0.17.8 2334 | '@esbuild/darwin-arm64': 0.17.8 2335 | '@esbuild/darwin-x64': 0.17.8 2336 | '@esbuild/freebsd-arm64': 0.17.8 2337 | '@esbuild/freebsd-x64': 0.17.8 2338 | '@esbuild/linux-arm': 0.17.8 2339 | '@esbuild/linux-arm64': 0.17.8 2340 | '@esbuild/linux-ia32': 0.17.8 2341 | '@esbuild/linux-loong64': 0.17.8 2342 | '@esbuild/linux-mips64el': 0.17.8 2343 | '@esbuild/linux-ppc64': 0.17.8 2344 | '@esbuild/linux-riscv64': 0.17.8 2345 | '@esbuild/linux-s390x': 0.17.8 2346 | '@esbuild/linux-x64': 0.17.8 2347 | '@esbuild/netbsd-x64': 0.17.8 2348 | '@esbuild/openbsd-x64': 0.17.8 2349 | '@esbuild/sunos-x64': 0.17.8 2350 | '@esbuild/win32-arm64': 0.17.8 2351 | '@esbuild/win32-ia32': 0.17.8 2352 | '@esbuild/win32-x64': 0.17.8 2353 | 2354 | escalade@3.2.0: {} 2355 | 2356 | escape-string-regexp@1.0.5: {} 2357 | 2358 | estree-walker@2.0.2: {} 2359 | 2360 | extract-zip@2.0.1: 2361 | dependencies: 2362 | debug: 4.3.4 2363 | get-stream: 5.2.0 2364 | yauzl: 2.10.0 2365 | optionalDependencies: 2366 | '@types/yauzl': 2.10.0 2367 | transitivePeerDependencies: 2368 | - supports-color 2369 | 2370 | fd-slicer@1.1.0: 2371 | dependencies: 2372 | pend: 1.2.0 2373 | 2374 | fetch-blob@3.2.0: 2375 | dependencies: 2376 | node-domexception: 1.0.0 2377 | web-streams-polyfill: 3.2.1 2378 | 2379 | formdata-polyfill@4.0.10: 2380 | dependencies: 2381 | fetch-blob: 3.2.0 2382 | 2383 | fs-constants@1.0.0: {} 2384 | 2385 | fs-minipass@2.1.0: 2386 | dependencies: 2387 | minipass: 3.3.4 2388 | 2389 | fs.realpath@1.0.0: {} 2390 | 2391 | fsevents@2.3.2: 2392 | optional: true 2393 | 2394 | function-bind@1.1.1: {} 2395 | 2396 | gensync@1.0.0-beta.2: {} 2397 | 2398 | get-func-name@2.0.0: {} 2399 | 2400 | get-stream@5.2.0: 2401 | dependencies: 2402 | pump: 3.0.0 2403 | 2404 | glob@7.2.3: 2405 | dependencies: 2406 | fs.realpath: 1.0.0 2407 | inflight: 1.0.6 2408 | inherits: 2.0.4 2409 | minimatch: 3.1.2 2410 | once: 1.4.0 2411 | path-is-absolute: 1.0.1 2412 | 2413 | glob@8.1.0: 2414 | dependencies: 2415 | fs.realpath: 1.0.0 2416 | inflight: 1.0.6 2417 | inherits: 2.0.4 2418 | minimatch: 5.1.6 2419 | once: 1.4.0 2420 | 2421 | globals@11.12.0: {} 2422 | 2423 | has-flag@3.0.0: {} 2424 | 2425 | has@1.0.3: 2426 | dependencies: 2427 | function-bind: 1.1.1 2428 | 2429 | http-cache-semantics@4.1.0: {} 2430 | 2431 | http-proxy-agent@4.0.1: 2432 | dependencies: 2433 | '@tootallnate/once': 1.1.2 2434 | agent-base: 6.0.2 2435 | debug: 4.3.4 2436 | transitivePeerDependencies: 2437 | - supports-color 2438 | 2439 | https-proxy-agent@5.0.1: 2440 | dependencies: 2441 | agent-base: 6.0.2 2442 | debug: 4.3.4 2443 | transitivePeerDependencies: 2444 | - supports-color 2445 | 2446 | humanize-ms@1.2.1: 2447 | dependencies: 2448 | ms: 2.1.2 2449 | 2450 | iconv-lite@0.6.3: 2451 | dependencies: 2452 | safer-buffer: 2.1.2 2453 | optional: true 2454 | 2455 | ieee754@1.2.1: {} 2456 | 2457 | import-fresh@3.3.0: 2458 | dependencies: 2459 | parent-module: 1.0.1 2460 | resolve-from: 4.0.0 2461 | 2462 | imurmurhash@0.1.4: {} 2463 | 2464 | indent-string@4.0.0: {} 2465 | 2466 | infer-owner@1.0.4: {} 2467 | 2468 | inflight@1.0.6: 2469 | dependencies: 2470 | once: 1.4.0 2471 | wrappy: 1.0.2 2472 | 2473 | inherits@2.0.4: {} 2474 | 2475 | ip@2.0.0: {} 2476 | 2477 | is-arrayish@0.2.1: {} 2478 | 2479 | is-builtin-module@3.2.1: 2480 | dependencies: 2481 | builtin-modules: 3.3.0 2482 | 2483 | is-core-module@2.11.0: 2484 | dependencies: 2485 | has: 1.0.3 2486 | 2487 | is-fullwidth-code-point@4.0.0: {} 2488 | 2489 | is-lambda@1.0.1: {} 2490 | 2491 | is-module@1.0.0: {} 2492 | 2493 | is-reference@1.2.1: 2494 | dependencies: 2495 | '@types/estree': 1.0.0 2496 | 2497 | isexe@2.0.0: {} 2498 | 2499 | joycon@3.1.1: {} 2500 | 2501 | js-tokens@4.0.0: {} 2502 | 2503 | js-yaml@4.1.0: 2504 | dependencies: 2505 | argparse: 2.0.1 2506 | 2507 | jsesc@2.5.2: {} 2508 | 2509 | json-parse-even-better-errors@2.3.1: {} 2510 | 2511 | json5@2.2.3: {} 2512 | 2513 | jsonc-parser@3.2.0: {} 2514 | 2515 | lines-and-columns@1.2.4: {} 2516 | 2517 | local-pkg@0.4.3: {} 2518 | 2519 | loupe@2.3.6: 2520 | dependencies: 2521 | get-func-name: 2.0.0 2522 | 2523 | lru-cache@5.1.1: 2524 | dependencies: 2525 | yallist: 3.1.1 2526 | 2527 | lru-cache@6.0.0: 2528 | dependencies: 2529 | yallist: 4.0.0 2530 | 2531 | magic-string@0.27.0: 2532 | dependencies: 2533 | '@jridgewell/sourcemap-codec': 1.4.14 2534 | 2535 | magic-string@0.29.0: 2536 | dependencies: 2537 | '@jridgewell/sourcemap-codec': 1.4.14 2538 | 2539 | make-fetch-happen@8.0.14: 2540 | dependencies: 2541 | agentkeepalive: 4.2.1 2542 | cacache: 15.3.0 2543 | http-cache-semantics: 4.1.0 2544 | http-proxy-agent: 4.0.1 2545 | https-proxy-agent: 5.0.1 2546 | is-lambda: 1.0.1 2547 | lru-cache: 6.0.0 2548 | minipass: 3.3.4 2549 | minipass-collect: 1.0.2 2550 | minipass-fetch: 1.4.1 2551 | minipass-flush: 1.0.5 2552 | minipass-pipeline: 1.2.4 2553 | promise-retry: 2.0.1 2554 | socks-proxy-agent: 5.0.1 2555 | ssri: 8.0.1 2556 | transitivePeerDependencies: 2557 | - bluebird 2558 | - supports-color 2559 | 2560 | minimatch@3.1.2: 2561 | dependencies: 2562 | brace-expansion: 1.1.11 2563 | 2564 | minimatch@5.1.6: 2565 | dependencies: 2566 | brace-expansion: 2.0.1 2567 | 2568 | minipass-collect@1.0.2: 2569 | dependencies: 2570 | minipass: 3.3.4 2571 | 2572 | minipass-fetch@1.4.1: 2573 | dependencies: 2574 | minipass: 3.3.4 2575 | minipass-sized: 1.0.3 2576 | minizlib: 2.1.2 2577 | optionalDependencies: 2578 | encoding: 0.1.13 2579 | 2580 | minipass-flush@1.0.5: 2581 | dependencies: 2582 | minipass: 3.3.4 2583 | 2584 | minipass-pipeline@1.2.4: 2585 | dependencies: 2586 | minipass: 3.3.4 2587 | 2588 | minipass-sized@1.0.3: 2589 | dependencies: 2590 | minipass: 3.3.4 2591 | 2592 | minipass@3.3.4: 2593 | dependencies: 2594 | yallist: 4.0.0 2595 | 2596 | minizlib@2.1.2: 2597 | dependencies: 2598 | minipass: 3.3.4 2599 | yallist: 4.0.0 2600 | 2601 | mitt@3.0.1: {} 2602 | 2603 | mkdirp-classic@0.5.3: {} 2604 | 2605 | mkdirp@1.0.4: {} 2606 | 2607 | mlly@1.1.0: 2608 | dependencies: 2609 | acorn: 8.8.2 2610 | pathe: 1.1.0 2611 | pkg-types: 1.0.1 2612 | ufo: 1.0.1 2613 | 2614 | ms@2.1.2: {} 2615 | 2616 | nanoid@3.3.4: {} 2617 | 2618 | node-domexception@1.0.0: {} 2619 | 2620 | node-fetch@2.6.7(encoding@0.1.13): 2621 | dependencies: 2622 | whatwg-url: 5.0.0 2623 | optionalDependencies: 2624 | encoding: 0.1.13 2625 | 2626 | node-fetch@3.3.0: 2627 | dependencies: 2628 | data-uri-to-buffer: 4.0.1 2629 | fetch-blob: 3.2.0 2630 | formdata-polyfill: 4.0.10 2631 | 2632 | node-releases@2.0.18: {} 2633 | 2634 | once@1.4.0: 2635 | dependencies: 2636 | wrappy: 1.0.2 2637 | 2638 | p-limit@4.0.0: 2639 | dependencies: 2640 | yocto-queue: 1.0.0 2641 | 2642 | p-map@4.0.0: 2643 | dependencies: 2644 | aggregate-error: 3.1.0 2645 | 2646 | parent-module@1.0.1: 2647 | dependencies: 2648 | callsites: 3.1.0 2649 | 2650 | parse-json@5.2.0: 2651 | dependencies: 2652 | '@babel/code-frame': 7.18.6 2653 | error-ex: 1.3.2 2654 | json-parse-even-better-errors: 2.3.1 2655 | lines-and-columns: 1.2.4 2656 | 2657 | path-is-absolute@1.0.1: {} 2658 | 2659 | path-key@3.1.1: {} 2660 | 2661 | path-parse@1.0.7: {} 2662 | 2663 | path-type@4.0.0: {} 2664 | 2665 | pathe@1.1.0: {} 2666 | 2667 | pathval@1.1.1: {} 2668 | 2669 | pend@1.2.0: {} 2670 | 2671 | picocolors@1.0.0: {} 2672 | 2673 | picocolors@1.1.0: {} 2674 | 2675 | picomatch@2.3.1: {} 2676 | 2677 | pkg-types@1.0.1: 2678 | dependencies: 2679 | jsonc-parser: 3.2.0 2680 | mlly: 1.1.0 2681 | pathe: 1.1.0 2682 | 2683 | postcss@8.4.21: 2684 | dependencies: 2685 | nanoid: 3.3.4 2686 | picocolors: 1.0.0 2687 | source-map-js: 1.0.2 2688 | 2689 | pretty-format@27.5.1: 2690 | dependencies: 2691 | ansi-regex: 5.0.1 2692 | ansi-styles: 5.2.0 2693 | react-is: 17.0.2 2694 | 2695 | progress@2.0.3: {} 2696 | 2697 | promise-inflight@1.0.1: {} 2698 | 2699 | promise-retry@2.0.1: 2700 | dependencies: 2701 | err-code: 2.0.3 2702 | retry: 0.12.0 2703 | 2704 | proxy-from-env@1.1.0: {} 2705 | 2706 | pump@3.0.0: 2707 | dependencies: 2708 | end-of-stream: 1.4.4 2709 | once: 1.4.0 2710 | 2711 | puppeteer-core@19.7.0(encoding@0.1.13)(mitt@3.0.1)(typescript@4.9.5): 2712 | dependencies: 2713 | chromium-bidi: 0.4.3(devtools-protocol@0.0.1094867)(mitt@3.0.1) 2714 | cross-fetch: 3.1.5(encoding@0.1.13) 2715 | debug: 4.3.4 2716 | devtools-protocol: 0.0.1094867 2717 | extract-zip: 2.0.1 2718 | https-proxy-agent: 5.0.1 2719 | proxy-from-env: 1.1.0 2720 | rimraf: 3.0.2 2721 | tar-fs: 2.1.1 2722 | unbzip2-stream: 1.4.3 2723 | ws: 8.11.0 2724 | optionalDependencies: 2725 | typescript: 4.9.5 2726 | transitivePeerDependencies: 2727 | - bufferutil 2728 | - encoding 2729 | - mitt 2730 | - supports-color 2731 | - utf-8-validate 2732 | 2733 | puppeteer@19.7.0(encoding@0.1.13)(mitt@3.0.1)(typescript@4.9.5): 2734 | dependencies: 2735 | cosmiconfig: 8.0.0 2736 | https-proxy-agent: 5.0.1 2737 | progress: 2.0.3 2738 | proxy-from-env: 1.1.0 2739 | puppeteer-core: 19.7.0(encoding@0.1.13)(mitt@3.0.1)(typescript@4.9.5) 2740 | transitivePeerDependencies: 2741 | - bufferutil 2742 | - encoding 2743 | - mitt 2744 | - supports-color 2745 | - typescript 2746 | - utf-8-validate 2747 | 2748 | react-is@17.0.2: {} 2749 | 2750 | readable-stream@3.6.0: 2751 | dependencies: 2752 | inherits: 2.0.4 2753 | string_decoder: 1.3.0 2754 | util-deprecate: 1.0.2 2755 | 2756 | resolve-from@4.0.0: {} 2757 | 2758 | resolve@1.22.1: 2759 | dependencies: 2760 | is-core-module: 2.11.0 2761 | path-parse: 1.0.7 2762 | supports-preserve-symlinks-flag: 1.0.0 2763 | 2764 | retry@0.12.0: {} 2765 | 2766 | rimraf@3.0.2: 2767 | dependencies: 2768 | glob: 7.2.3 2769 | 2770 | rollup-plugin-dts@5.2.0(rollup@3.15.0)(typescript@4.9.5): 2771 | dependencies: 2772 | magic-string: 0.29.0 2773 | rollup: 3.15.0 2774 | typescript: 4.9.5 2775 | optionalDependencies: 2776 | '@babel/code-frame': 7.18.6 2777 | 2778 | rollup-plugin-esbuild@5.0.0(esbuild@0.17.8)(rollup@3.15.0): 2779 | dependencies: 2780 | '@rollup/pluginutils': 5.0.2(rollup@3.15.0) 2781 | debug: 4.3.4 2782 | es-module-lexer: 1.2.0 2783 | esbuild: 0.17.8 2784 | joycon: 3.1.1 2785 | jsonc-parser: 3.2.0 2786 | rollup: 3.15.0 2787 | transitivePeerDependencies: 2788 | - supports-color 2789 | 2790 | rollup@3.15.0: 2791 | optionalDependencies: 2792 | fsevents: 2.3.2 2793 | 2794 | safe-buffer@5.2.1: {} 2795 | 2796 | safer-buffer@2.1.2: 2797 | optional: true 2798 | 2799 | semver@6.3.0: 2800 | optional: true 2801 | 2802 | semver@6.3.1: {} 2803 | 2804 | semver@7.3.8: 2805 | dependencies: 2806 | lru-cache: 6.0.0 2807 | 2808 | shebang-command@2.0.0: 2809 | dependencies: 2810 | shebang-regex: 3.0.0 2811 | 2812 | shebang-regex@3.0.0: {} 2813 | 2814 | siginfo@2.0.0: {} 2815 | 2816 | slash@4.0.0: {} 2817 | 2818 | slice-ansi@5.0.0: 2819 | dependencies: 2820 | ansi-styles: 6.2.1 2821 | is-fullwidth-code-point: 4.0.0 2822 | 2823 | smart-buffer@4.2.0: {} 2824 | 2825 | socks-proxy-agent@5.0.1: 2826 | dependencies: 2827 | agent-base: 6.0.2 2828 | debug: 4.3.4 2829 | socks: 2.7.0 2830 | transitivePeerDependencies: 2831 | - supports-color 2832 | 2833 | socks@2.7.0: 2834 | dependencies: 2835 | ip: 2.0.0 2836 | smart-buffer: 4.2.0 2837 | 2838 | source-map-js@1.0.2: {} 2839 | 2840 | source-map-support@0.5.21: 2841 | dependencies: 2842 | buffer-from: 1.1.2 2843 | source-map: 0.6.1 2844 | 2845 | source-map@0.6.1: {} 2846 | 2847 | ssri@8.0.1: 2848 | dependencies: 2849 | minipass: 3.3.4 2850 | 2851 | stackback@0.0.2: {} 2852 | 2853 | std-env@3.3.2: {} 2854 | 2855 | string-width@5.1.2: 2856 | dependencies: 2857 | eastasianwidth: 0.2.0 2858 | emoji-regex: 9.2.2 2859 | strip-ansi: 7.0.1 2860 | 2861 | string_decoder@1.3.0: 2862 | dependencies: 2863 | safe-buffer: 5.2.1 2864 | 2865 | strip-ansi@7.0.1: 2866 | dependencies: 2867 | ansi-regex: 6.0.1 2868 | 2869 | strip-literal@1.0.1: 2870 | dependencies: 2871 | acorn: 8.8.2 2872 | 2873 | supports-color@5.5.0: 2874 | dependencies: 2875 | has-flag: 3.0.0 2876 | 2877 | supports-preserve-symlinks-flag@1.0.0: {} 2878 | 2879 | sver@1.8.4: 2880 | optionalDependencies: 2881 | semver: 6.3.0 2882 | 2883 | tar-fs@2.1.1: 2884 | dependencies: 2885 | chownr: 1.1.4 2886 | mkdirp-classic: 0.5.3 2887 | pump: 3.0.0 2888 | tar-stream: 2.2.0 2889 | 2890 | tar-stream@2.2.0: 2891 | dependencies: 2892 | bl: 4.1.0 2893 | end-of-stream: 1.4.4 2894 | fs-constants: 1.0.0 2895 | inherits: 2.0.4 2896 | readable-stream: 3.6.0 2897 | 2898 | tar@6.1.11: 2899 | dependencies: 2900 | chownr: 2.0.0 2901 | fs-minipass: 2.1.0 2902 | minipass: 3.3.4 2903 | minizlib: 2.1.2 2904 | mkdirp: 1.0.4 2905 | yallist: 4.0.0 2906 | 2907 | through@2.3.8: {} 2908 | 2909 | tinybench@2.3.1: {} 2910 | 2911 | tinypool@0.3.1: {} 2912 | 2913 | tinyspy@1.1.1: {} 2914 | 2915 | to-fast-properties@2.0.0: {} 2916 | 2917 | tr46@0.0.3: {} 2918 | 2919 | type-detect@4.0.8: {} 2920 | 2921 | typescript@4.9.5: {} 2922 | 2923 | ufo@1.0.1: {} 2924 | 2925 | unbzip2-stream@1.4.3: 2926 | dependencies: 2927 | buffer: 5.7.1 2928 | through: 2.3.8 2929 | 2930 | unique-filename@1.1.1: 2931 | dependencies: 2932 | unique-slug: 2.0.2 2933 | 2934 | unique-slug@2.0.2: 2935 | dependencies: 2936 | imurmurhash: 0.1.4 2937 | 2938 | update-browserslist-db@1.1.0(browserslist@4.23.3): 2939 | dependencies: 2940 | browserslist: 4.23.3 2941 | escalade: 3.2.0 2942 | picocolors: 1.1.0 2943 | 2944 | util-deprecate@1.0.2: {} 2945 | 2946 | vite-node@0.28.5(@types/node@18.13.0): 2947 | dependencies: 2948 | cac: 6.7.14 2949 | debug: 4.3.4 2950 | mlly: 1.1.0 2951 | pathe: 1.1.0 2952 | picocolors: 1.0.0 2953 | source-map: 0.6.1 2954 | source-map-support: 0.5.21 2955 | vite: 4.1.1(@types/node@18.13.0) 2956 | transitivePeerDependencies: 2957 | - '@types/node' 2958 | - less 2959 | - sass 2960 | - stylus 2961 | - sugarss 2962 | - supports-color 2963 | - terser 2964 | 2965 | vite@4.1.1(@types/node@18.0.0): 2966 | dependencies: 2967 | esbuild: 0.16.17 2968 | postcss: 8.4.21 2969 | resolve: 1.22.1 2970 | rollup: 3.15.0 2971 | optionalDependencies: 2972 | '@types/node': 18.0.0 2973 | fsevents: 2.3.2 2974 | 2975 | vite@4.1.1(@types/node@18.13.0): 2976 | dependencies: 2977 | esbuild: 0.16.17 2978 | postcss: 8.4.21 2979 | resolve: 1.22.1 2980 | rollup: 3.15.0 2981 | optionalDependencies: 2982 | '@types/node': 18.13.0 2983 | fsevents: 2.3.2 2984 | 2985 | vitest@0.28.5: 2986 | dependencies: 2987 | '@types/chai': 4.3.4 2988 | '@types/chai-subset': 1.3.3 2989 | '@types/node': 18.13.0 2990 | '@vitest/expect': 0.28.5 2991 | '@vitest/runner': 0.28.5 2992 | '@vitest/spy': 0.28.5 2993 | '@vitest/utils': 0.28.5 2994 | acorn: 8.8.2 2995 | acorn-walk: 8.2.0 2996 | cac: 6.7.14 2997 | chai: 4.3.7 2998 | debug: 4.3.4 2999 | local-pkg: 0.4.3 3000 | pathe: 1.1.0 3001 | picocolors: 1.0.0 3002 | source-map: 0.6.1 3003 | std-env: 3.3.2 3004 | strip-literal: 1.0.1 3005 | tinybench: 2.3.1 3006 | tinypool: 0.3.1 3007 | tinyspy: 1.1.1 3008 | vite: 4.1.1(@types/node@18.13.0) 3009 | vite-node: 0.28.5(@types/node@18.13.0) 3010 | why-is-node-running: 2.2.2 3011 | transitivePeerDependencies: 3012 | - less 3013 | - sass 3014 | - stylus 3015 | - sugarss 3016 | - supports-color 3017 | - terser 3018 | 3019 | web-streams-polyfill@3.2.1: {} 3020 | 3021 | webidl-conversions@3.0.1: {} 3022 | 3023 | whatwg-url@5.0.0: 3024 | dependencies: 3025 | tr46: 0.0.3 3026 | webidl-conversions: 3.0.1 3027 | 3028 | which@2.0.2: 3029 | dependencies: 3030 | isexe: 2.0.0 3031 | 3032 | why-is-node-running@2.2.2: 3033 | dependencies: 3034 | siginfo: 2.0.0 3035 | stackback: 0.0.2 3036 | 3037 | wrappy@1.0.2: {} 3038 | 3039 | ws@8.11.0: {} 3040 | 3041 | yallist@3.1.1: {} 3042 | 3043 | yallist@4.0.0: {} 3044 | 3045 | yauzl@2.10.0: 3046 | dependencies: 3047 | buffer-crc32: 0.2.13 3048 | fd-slicer: 1.1.0 3049 | 3050 | yocto-queue@1.0.0: {} 3051 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - ./* 3 | - test/* 4 | -------------------------------------------------------------------------------- /test/basic/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | dist 3 | build -------------------------------------------------------------------------------- /test/basic/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Vite App 8 | 9 | 10 |
11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /test/basic/index.jsx: -------------------------------------------------------------------------------- 1 | import React from 'react' 2 | import ReactDOM from 'react-dom' 3 | 4 | const App = () => { 5 | return ( 6 |
7 |

Hello, world!

8 |

Loading {React.version}

9 |
10 | ) 11 | } 12 | 13 | ReactDOM.render( 14 | 15 | 16 | , 17 | document.getElementById('root') 18 | ) 19 | -------------------------------------------------------------------------------- /test/basic/map.test.ts: -------------------------------------------------------------------------------- 1 | import { rm } from "fs/promises"; 2 | import path from "path"; 3 | import type { RollupOutput } from "rollup"; 4 | import { build, UserConfig } from "vite"; 5 | import { describe, beforeAll, expect, test } from "vitest"; 6 | import jspmPlugin from "../../plugin/dist/index.js"; 7 | import { 8 | getFileFromOutput, 9 | loadURLAndParseContent, 10 | mockImportMap, 11 | __dirname, 12 | } from "./utils"; 13 | 14 | const buildPath = path.resolve(__dirname, "build"); 15 | const config: UserConfig = { 16 | clearScreen: true, 17 | build: { 18 | outDir: buildPath, 19 | rollupOptions: { 20 | output: { 21 | chunkFileNames: "[name].js", 22 | entryFileNames: "[name].js", 23 | }, 24 | }, 25 | }, 26 | plugins: [], 27 | }; 28 | 29 | describe("build", async () => { 30 | beforeAll(async () => { 31 | await rm(buildPath, { 32 | recursive: true, 33 | force: true, 34 | }); 35 | }); 36 | 37 | test("Parses vite-build, and generates importmap", async () => { 38 | config.plugins = [await jspmPlugin()]; 39 | const { output } = (await build(config)) as RollupOutput; 40 | 41 | const indexHTML = getFileFromOutput(output, "index.html"); 42 | const indexJS = getFileFromOutput(output, "index.js"); 43 | const content = await loadURLAndParseContent(buildPath); 44 | 45 | expect(output).toBeDefined(); 46 | expect(indexHTML).toBeDefined(); 47 | expect(indexHTML).toContain(`npm:es-module-shims`); 48 | expect(indexHTML).toContain("importmap"); 49 | expect(indexHTML).toContain(`https://ga.jspm.io/npm:react`); 50 | expect(indexJS).toContain(`from"react"`); 51 | expect(content).toContain(`

Hello, world!

`); 52 | }); 53 | 54 | test("Parses vite-build, but uses input import-map and install new ones that are missing", async () => { 55 | config.plugins = [await jspmPlugin({ inputMap: mockImportMap() })]; 56 | const { output } = (await build(config)) as RollupOutput; 57 | 58 | const indexHTML = getFileFromOutput(output, "index.html"); 59 | const indexJS = getFileFromOutput(output, "index.js"); 60 | const content = await loadURLAndParseContent(buildPath); 61 | 62 | expect(output).toBeDefined(); 63 | expect(indexHTML).toBeDefined(); 64 | expect(indexHTML).toContain(`npm:es-module-shims`); 65 | expect(indexHTML).toContain("importmap"); 66 | expect(indexJS).toContain(`from"react"`); 67 | expect(content).toContain(`

Hello, world!

`); 68 | expect(content).toContain(`

Loading 17.0.2

`); 69 | /** 70 | * Vite build run in production mode, so even if inputMap has `dev` version of deps. 71 | * The plugin will re-map with `prod` version of the same deps with the same version 72 | */ 73 | expect(indexHTML).toContain( 74 | '"react": "https://ga.jspm.io/npm:react@17.0.2/index.js' 75 | ); 76 | }); 77 | 78 | test("Parses vite-build and download the deps too into local and add them to build", async () => { 79 | config.plugins = [await jspmPlugin({ downloadDeps: true })]; 80 | const { output } = (await build(config)) as RollupOutput; 81 | 82 | const indexHTML = getFileFromOutput(output, "index.html"); 83 | const indexJS = getFileFromOutput(output, "index.js"); 84 | const content = await loadURLAndParseContent(buildPath); 85 | 86 | expect(output).toBeDefined(); 87 | expect(indexHTML).toBeDefined(); 88 | expect(indexHTML).toContain(`npm:es-module-shims`); 89 | expect(indexHTML).not.toContain("importmap"); 90 | expect(indexHTML).not.toContain(`https://ga.jspm.io/npm:react`); 91 | expect(indexJS).not.toContain(`from"react"`); 92 | expect(content).toContain(`

Hello, world!

`); 93 | }); 94 | 95 | test("Parses vite-build, but uses input import-map and adds them to the build", async () => { 96 | config.plugins = [ 97 | await jspmPlugin({ inputMap: mockImportMap(), downloadDeps: true }), 98 | ]; 99 | const { output } = (await build(config)) as RollupOutput; 100 | 101 | const indexHTML = getFileFromOutput(output, "index.html"); 102 | const indexJS = getFileFromOutput(output, "index.js"); 103 | const content = await loadURLAndParseContent(buildPath); 104 | 105 | expect(output).toBeDefined(); 106 | expect(indexHTML).toBeDefined(); 107 | expect(indexHTML).toContain(`npm:es-module-shims`); 108 | expect(indexHTML).not.toContain("importmap"); 109 | expect(indexHTML).not.toContain(`https://ga.jspm.io/npm:react`); 110 | expect(indexJS).not.toContain(`from"react"`); 111 | expect(content).toContain(`

Hello, world!

`); 112 | expect(content).toContain(`

Loading 17.0.2

`); 113 | }); 114 | 115 | test("Parses vite-build always resolves react and react-dom to 17.0.2", async () => { 116 | config.plugins = [ 117 | await jspmPlugin({ 118 | resolutions: { react: "17.0.2", "react-dom": "17.0.2" }, 119 | }), 120 | ]; 121 | const { output } = (await build(config)) as RollupOutput; 122 | 123 | const indexHTML = getFileFromOutput(output, "index.html"); 124 | const indexJS = getFileFromOutput(output, "index.js"); 125 | const content = await loadURLAndParseContent(buildPath); 126 | 127 | expect(output).toBeDefined(); 128 | expect(indexHTML).toBeDefined(); 129 | expect(indexHTML).toContain(`npm:es-module-shims`); 130 | expect(indexHTML).toContain("importmap"); 131 | expect(indexHTML).toContain(`https://ga.jspm.io/npm:react`); 132 | expect(indexJS).toContain(`from"react"`); 133 | expect(content).toContain(`

Hello, world!

`); 134 | expect(content).toContain(`

Loading 17.0.2

`); 135 | }); 136 | }); 137 | -------------------------------------------------------------------------------- /test/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "type": "module", 3 | "private": true, 4 | "scripts": { 5 | "test": "vitest --threads --isolate", 6 | "test:ci": "cross-env CI=true vitest --threads --isolate" 7 | }, 8 | "version": "0.1.0" 9 | } 10 | -------------------------------------------------------------------------------- /test/basic/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "../../tsconfig.json", 3 | "include": ["./**/*.ts", "vite.config.mjs", "vite-download.config.mjs"], 4 | "exclude": ["./dist"] 5 | } 6 | -------------------------------------------------------------------------------- /test/basic/utils.ts: -------------------------------------------------------------------------------- 1 | import { fileURLToPath } from "url"; 2 | import puppeteer from "puppeteer"; 3 | import { preview } from "vite"; 4 | import type { RollupOutput } from "rollup"; 5 | 6 | export const __dirname = fileURLToPath(new URL(".", import.meta.url)); 7 | 8 | export const loadURLAndParseContent = async ( 9 | folder = "build", 10 | port = 3001 11 | ): Promise => { 12 | const server = await preview({ 13 | build: { 14 | outDir: folder, 15 | }, 16 | server: { base: "/" }, 17 | preview: { port, open: false }, 18 | }); 19 | 20 | const browser = puppeteer.launch(); 21 | const page = await (await browser).newPage(); 22 | await page.goto(`http://localhost:${port}`); 23 | await page.waitForNetworkIdle(); 24 | const content = await page.content(); 25 | await (await browser).close(); 26 | server.httpServer.close(); 27 | return content; 28 | }; 29 | 30 | export const getFileFromOutput = ( 31 | output: RollupOutput["output"], 32 | fileName: string 33 | ): string | null => { 34 | const file = output.find((file) => file.fileName.includes(fileName)); 35 | 36 | if (!file) { 37 | return null; 38 | } 39 | 40 | if (file.type == "asset") { 41 | return file.source instanceof Uint8Array 42 | ? file.source.toString() 43 | : file.source; 44 | } 45 | 46 | return file.code; 47 | }; 48 | 49 | export const mockImportMap = () => ({ 50 | imports: { 51 | react: "https://ga.jspm.io/npm:react@17.0.2/dev.index.js", 52 | "react-dom": "https://ga.jspm.io/npm:react-dom@17.0.2/dev.index.js", 53 | }, 54 | scopes: { 55 | "https://ga.jspm.io/": { 56 | "object-assign": "https://ga.jspm.io/npm:object-assign@4.1.1/index.js", 57 | scheduler: "https://ga.jspm.io/npm:scheduler@0.20.2/dev.index.js", 58 | "scheduler/tracing": 59 | "https://ga.jspm.io/npm:scheduler@0.20.2/dev.tracing.js", 60 | }, 61 | }, 62 | }); 63 | -------------------------------------------------------------------------------- /test/basic/vitest.config.ts: -------------------------------------------------------------------------------- 1 | import type {} from "vitest"; 2 | import { defineConfig } from "vite"; 3 | 4 | export default defineConfig({ 5 | test: { 6 | testTimeout: 10000, 7 | }, 8 | }); 9 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "esnext", 4 | "module": "esnext", 5 | "lib": ["esnext", "dom"], 6 | "moduleResolution": "node", 7 | "esModuleInterop": true, 8 | "strict": true, 9 | "strictNullChecks": true, 10 | "resolveJsonModule": true, 11 | "skipDefaultLibCheck": true, 12 | "skipLibCheck": true, 13 | "outDir": "./dist", 14 | "declaration": true, 15 | "inlineSourceMap": true, 16 | "jsx": "react-jsx" 17 | }, 18 | "exclude": [ 19 | "**/dist/**" 20 | ] 21 | } 22 | --------------------------------------------------------------------------------