├── src ├── core │ ├── constant.ts │ ├── utils.ts │ ├── unplugin.ts │ └── createTransform.ts ├── index.ts ├── vite.ts ├── webpack.ts └── types.ts ├── .npmrc ├── examples └── webpack-app │ ├── src │ ├── main.ts │ ├── assets │ │ └── logo.png │ ├── components │ │ ├── ComponentB │ │ │ └── index.vue │ │ └── ComponentA │ │ │ └── index.vue │ └── App.vue │ ├── README.md │ ├── shims-vue.d.ts │ ├── public │ └── index.html │ ├── tsconfig.json │ ├── package.json │ └── webpack.config.js ├── test ├── components │ ├── index.vue │ ├── ComponentA │ │ └── index.vue │ ├── ExportDefault │ │ └── index.vue │ ├── ComponentB │ │ └── index.vue │ └── SetupFunction │ │ └── index.vue ├── __snapshots__ │ └── transform.test.ts.snap └── transform.test.ts ├── tsup.config.ts ├── .gitignore ├── tsconfig.json ├── package.json ├── README.md └── pnpm-lock.yaml /src/core/constant.ts: -------------------------------------------------------------------------------- 1 | export const EXPORT_HELPER_ID = '\0plugin-vue:export-helper' 2 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | export * from './types' 2 | export { default } from './core/unplugin' 3 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | ignore-workspace-root-check=true 2 | shamefully-hoist=true 3 | strict-peer-dependencies=false 4 | -------------------------------------------------------------------------------- /examples/webpack-app/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue' 2 | import App from './App.vue' 3 | 4 | createApp(App).mount('#app') 5 | -------------------------------------------------------------------------------- /examples/webpack-app/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/CCherry07/unplugin-generate-component-name/HEAD/examples/webpack-app/src/assets/logo.png -------------------------------------------------------------------------------- /src/vite.ts: -------------------------------------------------------------------------------- 1 | import type { Plugin } from 'vite' 2 | import type { Options } from './types' 3 | import unplugin from '.' 4 | 5 | export default unplugin.vite as (options?: Options) => Plugin 6 | -------------------------------------------------------------------------------- /src/webpack.ts: -------------------------------------------------------------------------------- 1 | import { WebpackPluginInstance } from 'unplugin' 2 | import unplugin, { Options } from '.' 3 | 4 | export default unplugin.webpack as (options?: Options) => WebpackPluginInstance 5 | -------------------------------------------------------------------------------- /examples/webpack-app/README.md: -------------------------------------------------------------------------------- 1 | # webpack-app 2 | 3 | ## Project setup 4 | 5 | ``` 6 | yarn install 7 | ``` 8 | 9 | ### Compiles and hot-reloads for development 10 | 11 | ``` 12 | yarn dev 13 | ``` 14 | -------------------------------------------------------------------------------- /examples/webpack-app/src/components/ComponentB/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /examples/webpack-app/shims-vue.d.ts: -------------------------------------------------------------------------------- 1 | // shims-vue.d.ts 2 | declare module "*.vue" { 3 | import { DefineComponent } from "vue"; 4 | const component: DefineComponent<{}, {}, any>; 5 | export default component; 6 | } 7 | -------------------------------------------------------------------------------- /test/components/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 11 | -------------------------------------------------------------------------------- /test/components/ComponentA/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 11 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import type { Options } from 'tsup' 2 | 3 | export const tsup: Options = { 4 | entry: [ 5 | 'src/*.ts', 6 | ], 7 | format: ['cjs', 'esm'], 8 | dts: true, 9 | splitting: true, 10 | clean: true, 11 | shims: false, 12 | } 13 | -------------------------------------------------------------------------------- /examples/webpack-app/src/components/ComponentA/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 11 | -------------------------------------------------------------------------------- /test/components/ExportDefault/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 11 | 14 | -------------------------------------------------------------------------------- /examples/webpack-app/src/App.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | 9 | 14 | -------------------------------------------------------------------------------- /test/components/ComponentB/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 14 | -------------------------------------------------------------------------------- /test/components/SetupFunction/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Logs 2 | logs 3 | *.log 4 | npm-debug.log* 5 | yarn-debug.log* 6 | yarn-error.log* 7 | pnpm-debug.log* 8 | lerna-debug.log* 9 | 10 | node_modules 11 | dist 12 | dist-ssr 13 | *.local 14 | 15 | # Editor directories and files 16 | .vscode/* 17 | !.vscode/extensions.json 18 | .idea 19 | .DS_Store 20 | *.suo 21 | *.ntvs* 22 | *.njsproj 23 | *.sln 24 | *.sw? 25 | -------------------------------------------------------------------------------- /examples/webpack-app/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | <%= htmlWebpackPlugin.options.title %> 8 | 9 | 10 |
11 | 12 | 13 | -------------------------------------------------------------------------------- /test/__snapshots__/transform.test.ts.snap: -------------------------------------------------------------------------------- 1 | // Vitest Snapshot v1, https://vitest.dev/guide/snapshot.html 2 | 3 | exports[`The behavior of transform in Vue 3.3.0 and above. > Component name is dirname 1`] = ` 4 | " 10 | 17 | " 18 | `; 19 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ES2020", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "lib": [ 7 | "ES2020", 8 | "DOM", 9 | "DOM.Iterable" 10 | ], 11 | "skipLibCheck": true, 12 | /* Bundler mode */ 13 | "moduleResolution": "bundler", 14 | "allowImportingTsExtensions": true, 15 | "resolveJsonModule": true, 16 | "isolatedModules": true, 17 | "noEmit": true, 18 | /* Linting */ 19 | "strict": true, 20 | "noUnusedLocals": true, 21 | "noUnusedParameters": true, 22 | "noFallthroughCasesInSwitch": true 23 | }, 24 | "include": [ 25 | "src" 26 | ] 27 | } 28 | -------------------------------------------------------------------------------- /examples/webpack-app/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es2016", /* Set the JavaScript language version for emitted JavaScript and include compatible library declarations. */ 4 | "module": "commonjs", /* Specify what module code is generated. */ 5 | "esModuleInterop": true, /* Emit additional JavaScript to ease support for importing CommonJS modules. This enables 'allowSyntheticDefaultImports' for type compatibility. */ 6 | "forceConsistentCasingInFileNames": true, /* Ensure that casing is correct in imports. */ 7 | "strict": true, /* Enable all strict type-checking options. */ 8 | "skipLibCheck": true /* Skip type checking all .d.ts files. */ 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /examples/webpack-app/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "webpack-app", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "dev": "webpack-dev-server --progress --mode=development" 7 | }, 8 | "dependencies": { 9 | "core-js": "^3.34.0", 10 | "css-loader": "^6.8.1", 11 | "postcss-loader": "^7.3.3", 12 | "style-loader": "^3.3.3", 13 | "ts-loader": "^9.5.1", 14 | "vue": "^3.3.11", 15 | "vue-loader": "^17.3.1" 16 | }, 17 | "devDependencies": { 18 | "@babel/core": "^7.23.6", 19 | "@babel/preset-typescript": "^7.23.3", 20 | "@vue/compiler-sfc": "^3.3.11", 21 | "babel-loader": "^9.1.3", 22 | "eslint": "^7.32.0", 23 | "eslint-plugin-vue": "^8.0.3", 24 | "html-webpack-plugin": "^5.5.4", 25 | "typescript": "^5.3.3", 26 | "unplugin-generate-component-name": "^0.1.0", 27 | "webpack": "^5.89.0", 28 | "webpack-cli": "^5.1.4", 29 | "webpack-dev-server": "^4.15.1" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /src/types.ts: -------------------------------------------------------------------------------- 1 | // used?: string[] const isUse = process.env.NODE_ENV ? Array.isArray(options.used) ? options.used?.includes(process.env.NODE_ENV) : true : false 2 | 3 | export type GenComponentName = (opt: { 4 | filePath: string, 5 | dirname: string, 6 | originalName: string 7 | attrName: string | undefined 8 | }) => string 9 | 10 | export type FilteringRules = { 11 | filter: (id: unknown) => boolean; 12 | genComponentName: GenComponentName; 13 | }[] 14 | export interface PattenOptions { 15 | include?: string | RegExp | (string | RegExp)[] 16 | exclude?: string | RegExp | (string | RegExp)[] 17 | genComponentName: GenComponentName 18 | } 19 | export interface Options extends Omit { 20 | enter?: PattenOptions[] 21 | } 22 | 23 | export interface VueQuery { 24 | vue?: boolean 25 | src?: string 26 | type?: 'script' | 'template' | 'style' | 'custom' 27 | index?: number 28 | lang?: string 29 | raw?: boolean 30 | url?: boolean 31 | scoped?: boolean 32 | id?: string 33 | } 34 | -------------------------------------------------------------------------------- /src/core/utils.ts: -------------------------------------------------------------------------------- 1 | import { basename, dirname, extname } from "path" 2 | import type { VueQuery, FilteringRules } from "../types" 3 | 4 | export function parseVueRequest(id: string): { 5 | filename: string 6 | query: VueQuery 7 | } { 8 | const [filename, rawQuery] = id.split(`?`, 2) 9 | const query = Object.fromEntries(new URLSearchParams(rawQuery)) as VueQuery 10 | if (query.vue != null) { 11 | query.vue = true 12 | } 13 | if (query.index != null) { 14 | query.index = Number(query.index) 15 | } 16 | if (query.raw != null) { 17 | query.raw = true 18 | } 19 | if (query.url != null) { 20 | query.url = true 21 | } 22 | if (query.scoped != null) { 23 | query.scoped = true 24 | } 25 | return { 26 | filename, 27 | query, 28 | } 29 | } 30 | 31 | export const getComponentName = ({ filters, filename, attrs }: { 32 | filters?: FilteringRules 33 | filename: string 34 | attrs: Record 35 | }) => { 36 | const genComponentName = filters?.find(({ filter }) => filter(filename))?.genComponentName 37 | const originalName = basename(filename).replace(extname(filename), '') 38 | return genComponentName 39 | ? genComponentName({ 40 | filePath: filename, 41 | originalName, 42 | attrName: attrs.name, 43 | dirname: basename(dirname(filename)) 44 | }) 45 | : originalName 46 | } 47 | -------------------------------------------------------------------------------- /src/core/unplugin.ts: -------------------------------------------------------------------------------- 1 | import { resolve } from "node:path" 2 | import { readFile } from "fs/promises" 3 | import { createUnplugin } from "unplugin" 4 | import { createFilter } from "@rollup/pluginutils" 5 | import { minVersion } from "semver" 6 | import type { GenComponentName, Options } from "../types" 7 | import { parseVueRequest } from "./utils" 8 | import { createTransform } from "./createTransform" 9 | 10 | const defaultInclide = ["**/index.vue"] 11 | const defaultExclide = [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/] 12 | const defaultGenComponentName: GenComponentName = ({ attrName, dirname }) => attrName ?? dirname 13 | 14 | export default createUnplugin((options: Options = {}) => { 15 | const filter = createFilter( 16 | options.include || defaultInclide, 17 | options.exclude || defaultExclide, 18 | ) 19 | 20 | const filters = options.enter?.map(({ include, exclude, genComponentName }) => ({ filter: createFilter(include, exclude), genComponentName })) ?? [{ 21 | filter: createFilter(defaultInclide, defaultExclide), 22 | genComponentName: defaultGenComponentName 23 | }] 24 | 25 | let vueVersion: string | undefined 26 | 27 | return { 28 | name: "GenComponentName", 29 | enforce: 'pre', 30 | async buildStart() { 31 | const packageJsonPath = resolve(process.cwd(), 'package.json'); 32 | await readFile(packageJsonPath).then(fileData => { 33 | const dependencies = JSON.parse(fileData.toString()).dependencies; 34 | vueVersion = minVersion(dependencies['vue'])?.version 35 | }); 36 | }, 37 | transformInclude(id) { 38 | const { filename, query } = parseVueRequest(id) 39 | if (query.raw || query.url) return 40 | if (!query.vue && !filter(filename) || !filters.some(o => o.filter(filename))) return 41 | return true 42 | }, 43 | transform(code, id) { 44 | return createTransform(vueVersion, filters)(code, id) 45 | }, 46 | } 47 | }) 48 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "unplugin-generate-component-name", 3 | "private": false, 4 | "author": "CCherry07", 5 | "license": "MIT", 6 | "version": "0.3.0", 7 | "type": "module", 8 | "exports": { 9 | ".": { 10 | "import": "./dist/index.js", 11 | "require": "./dist/index.cjs" 12 | }, 13 | "./types": { 14 | "import": "./dist/types.js", 15 | "require": "./dist/types.cjs" 16 | }, 17 | "./vite": { 18 | "import": "./dist/vite.js", 19 | "require": "./dist/vite.cjs" 20 | }, 21 | "./webpack": { 22 | "import": "./dist/webpack.js", 23 | "require": "./dist/webpack.cjs" 24 | }, 25 | "./*": "./*" 26 | }, 27 | "main": "dist/index.cjs", 28 | "module": "dist/index.js", 29 | "types": "dist/index.d.ts", 30 | "files": [ 31 | "dist" 32 | ], 33 | "typesVersions": { 34 | "*": { 35 | "*": [ 36 | "./dist/*" 37 | ] 38 | } 39 | }, 40 | "scripts": { 41 | "test": "vitest", 42 | "dev": "tsup --watch src", 43 | "build": "tsup", 44 | "release": "bumpp && npm run build && npm publish --registry=https://registry.npmjs.org/" 45 | }, 46 | "devDependencies": { 47 | "@types/node": "^20.11.25", 48 | "@types/semver": "^7.5.8", 49 | "bumpp": "^9.4.0", 50 | "rollup": "^4.12.1", 51 | "tsup": "^8.0.2", 52 | "typescript": "^5.4.2", 53 | "vite": "^5.1.5", 54 | "vitest": "^1.3.1" 55 | }, 56 | "dependencies": { 57 | "@babel/traverse": "^7.24.0", 58 | "@babel/types": "^7.24.0", 59 | "@rollup/pluginutils": "^5.1.0", 60 | "@types/babel__traverse": "^7.20.5", 61 | "@vue/compiler-sfc": "^3.4.21", 62 | "magic-string": "^0.30.8", 63 | "semver": "^7.6.0", 64 | "unplugin": "^1.9.0" 65 | }, 66 | "repository": { 67 | "type": "git", 68 | "url": "git+https://github.com/CCherry07/unplugin-generate-component-name.git" 69 | }, 70 | "keywords": [ 71 | "unplugin" 72 | ], 73 | "bugs": { 74 | "url": "https://github.com/CCherry07/unplugin-generate-component-name/issues" 75 | }, 76 | "homepage": "https://github.com/CCherry07/unplugin-generate-component-name#readme", 77 | "description": "" 78 | } 79 | -------------------------------------------------------------------------------- /examples/webpack-app/webpack.config.js: -------------------------------------------------------------------------------- 1 | const path = require('path') 2 | const { VueLoaderPlugin } = require('vue-loader') 3 | const HtmlWebpackPlugin = require('html-webpack-plugin') 4 | const GenComponentName = require('unplugin-generate-component-name/webpack'); 5 | const { DefinePlugin } = require('webpack'); 6 | const isProduction = process.env.NODE_ENV === 'production' 7 | module.exports = { 8 | stats: "errors-only", 9 | mode: "development", 10 | plugins: [ 11 | new DefinePlugin({ 12 | __VUE_OPTIONS_API__: false, 13 | __VUE_PROD_DEVTOOLS__: false 14 | }), 15 | new HtmlWebpackPlugin({ 16 | template: path.resolve(__dirname, './public/index.html'), 17 | title: 'webpack-app' 18 | }), 19 | new VueLoaderPlugin(), 20 | GenComponentName.default() 21 | ], 22 | entry: { 23 | main: path.resolve(__dirname, './src/main.ts') 24 | }, 25 | output: { 26 | path: path.resolve(__dirname, '../dist') 27 | }, 28 | resolve: { 29 | alias: { 30 | '@': path.resolve(__dirname, './src'), 31 | }, 32 | extensions: ['.js', '.ts', '.vue'] 33 | }, 34 | module: { 35 | rules: [ 36 | { 37 | test: /\.ts$/, 38 | loader: "ts-loader", 39 | options: { 40 | configFile: path.resolve(process.cwd(), "tsconfig.json"), 41 | appendTsSuffixTo: [/\.vue$/], 42 | }, 43 | }, 44 | { 45 | test: /\.vue$/, 46 | loader: 'vue-loader' 47 | }, 48 | { 49 | test: /\.css$/, 50 | use: [ 51 | 'style-loader', 52 | { 53 | loader: 'css-loader', 54 | options: { 55 | importLoaders: 1 56 | } 57 | }, 58 | 'postcss-loader' 59 | ] 60 | }, 61 | { 62 | test: /\.(ttf|woff|woff2|eto|svg)$/, 63 | exclude: path.resolve(__dirname, '../src/assets/img'), 64 | type: 'asset', 65 | parser: { 66 | dataUrlCondition: { 67 | maxSize: 4 * 1024 68 | } 69 | }, 70 | generator: { 71 | filename: isProduction 72 | ? 'static/fonts/[name].[contenthash:8][ext]' 73 | : 'static/fonts/[name][ext]' 74 | } 75 | }, 76 | { 77 | test: /\.(jpe?g|png|gif|svg)$/, 78 | exclude: path.resolve(__dirname, '../src/assets/fonts'), 79 | type: 'asset', 80 | parser: { 81 | dataUrlCondition: { 82 | maxSize: 4 * 1024 83 | } 84 | }, 85 | generator: { 86 | filename: isProduction ? 87 | 'static/img/[name].[contenthash:8][ext]' : 88 | 'static/img/[name][ext]' 89 | } 90 | }, 91 | ], 92 | }, 93 | } 94 | -------------------------------------------------------------------------------- /test/transform.test.ts: -------------------------------------------------------------------------------- 1 | import { describe, expect, it } from 'vitest' 2 | import ComponentA from "./components/ComponentA/index.vue?raw" 3 | import ComponentB from "./components/ComponentB/index.vue?raw" 4 | import TestSetupName from "./components/index.vue?raw" 5 | import ExportDefaultExists from "./components/ExportDefault/index.vue?raw" 6 | import SetupFunction from "./components/SetupFunction/index.vue?raw" 7 | import { createTransform } from "../src/core/createTransform" 8 | import { GenComponentName } from '../src/types' 9 | 10 | const defaultInclide = ["**/index.vue"] 11 | const defaultExclide = [/[\\/]node_modules[\\/]/, /[\\/]\.git[\\/]/, /[\\/]\.nuxt[\\/]/] 12 | const defaultGenComponentName: GenComponentName = ({ attrName, dirname }) => attrName ?? dirname 13 | import { createFilter } from "@rollup/pluginutils" 14 | 15 | describe('The behavior of transform in Vue 3.3.0 and above.', () => { 16 | const filter = createFilter(defaultInclide, defaultExclide) 17 | const transform = createTransform("3.3.0", [{ 18 | filter: filter, 19 | genComponentName: defaultGenComponentName 20 | }]) 21 | it('Component name is dirname', () => { 22 | const code = transform(ComponentA, 'components/ComponentA/index.vue')?.code 23 | expect(code).toContain('defineOptions({ name: "ComponentA" });') 24 | expect(code).toMatchSnapshot() 25 | }) 26 | 27 | it('setup extend name', () => { 28 | const code = transform(TestSetupName, 'components/index.vue')?.code 29 | expect(filter('components/index.vue')).toMatchInlineSnapshot(`true`) 30 | expect(code).toContain('defineOptions({ name: "NameForeSetup" });') 31 | }) 32 | 33 | it('when define options exists', () => { 34 | const code = transform(ComponentB, 'components/ComponentB/index.vue')?.code 35 | expect(code).toContain('inheritAttrs: false') 36 | expect(code).toContain("name:'ComponentB'") 37 | expect(code).toMatchInlineSnapshot(` 38 | " 43 | 44 | 51 | " 52 | `) 53 | }) 54 | }) 55 | 56 | describe('The behavior of transform in Vue 3.3.0 and below.', () => { 57 | const transform = createTransform("3.2.47", [{ 58 | filter: createFilter(defaultInclide, defaultExclide), 59 | genComponentName: defaultGenComponentName 60 | }]) 61 | it('Component name is dirname', () => { 62 | const code = transform(ComponentA, 'components/ComponentA/index.vue')?.code 63 | expect(code).not.toContain('defineOptions({ name: "ComponentA" });') 64 | expect(code).toMatchInlineSnapshot(` 65 | " 66 | 72 | 78 | 82 | " 83 | `) 84 | }) 85 | 86 | it('setup extend name', () => { 87 | const code = transform(TestSetupName, 'components/index.vue')?.code 88 | expect(code).toContain('name: "NameForeSetup"') 89 | expect(code).toMatchInlineSnapshot(` 90 | " 91 | 97 | 102 | 103 | 107 | " 108 | `) 109 | }) 110 | 111 | it('when export default exists', () => { 112 | const code = transform(ExportDefaultExists, 'components/ExportDefault/index.vue')?.code 113 | expect(code).toContain('inheritAttrs: false') 114 | expect(code).toContain("name:'ExportDefault'") 115 | expect(code).toMatchInlineSnapshot(` 116 | " 121 | 126 | 129 | " 130 | `) 131 | }) 132 | it('when only setup function', () => { 133 | const code = transform(SetupFunction, 'components/SetupFunction/index.vue')?.code 134 | console.log(code) 135 | expect(code).toContain(`name:'SetupFunction'`) 136 | expect(code).toContain(`setup:()=>{`) 137 | expect(code).toContain(`msg: 'Component SetupFunction'`) 138 | expect(code).toMatchInlineSnapshot(` 139 | " 144 | 145 | 153 | " 154 | `) 155 | }) 156 | }) 157 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # unplugin-generate-component-name 2 | 3 | A plugin for auto generate vue component name. 4 | 5 | ###### Features 6 | 7 | - 💚 Supports Vue 3 out-of-the-box. 8 | - ⚡️ Supports Vite, Webpack, Rspack, Vue CLI, Rollup, esbuild and more, powered by unplugin. 9 | - 🪐 Folder names and [Setup extend](https://cn.vuejs.org/api/sfc-script-setup.html#script-setup) two patterns. 10 | - 🦾 Full TypeScript support. 11 | 12 | ## Install 13 | 14 | ```bash 15 | # Yarn 16 | $ yarn add unplugin-generate-component-name -D 17 | 18 | # Pnpm 19 | $ pnpm i unplugin-generate-component-name -D 20 | ``` 21 | 22 |
23 | Vite
24 | 25 | ```ts 26 | // vite.config.ts 27 | import GenerateComponentName from 'unplugin-generate-component-name/vite' 28 | 29 | export default defineConfig({ 30 | plugins: [ 31 | GenerateComponentName({ /* options */ }), 32 | ], 33 | }) 34 | ``` 35 | 36 |
37 | 38 |
39 | Rollup
40 | 41 | ```ts 42 | // rollup.config.js 43 | import GenerateComponentName from 'unplugin-generate-component-name/rollup' 44 | 45 | export default { 46 | plugins: [ 47 | GenerateComponentName({ /* options */ }), 48 | ], 49 | } 50 | ``` 51 | 52 |
53 | 54 |
55 | Webpack
56 | 57 | ```ts 58 | // webpack.config.js 59 | module.exports = { 60 | /* ... */ 61 | plugins: [ 62 | require('unplugin-generate-component-name/webpack').default({ /* options */ }), 63 | ], 64 | } 65 | ``` 66 | 67 |
68 | 69 | ## Usage 70 | 71 | ### Folder names 72 | 73 | - You can use the name of the directory where the Index Component resides as the name of the component. 74 | 75 | ### Generating Vue Component Names 76 | 77 | In Vue, we can use the `unplugin-generate-component-name` plugin to automatically generate component names based on directory names. This plugin makes it easier and more intuitive to find and manage components in a large codebase. For instance, let's say we have a Vue component named `Index.vue`, and this component is in the `Home` directory. With the `unplugin-generate-component-name` plugin, this component will automatically be named `Home`. 78 | 79 | ```text 80 | src/home/ 81 | ├── index.vue // component name is Home 82 | ├── about.vue 83 | └── users/ 84 | ├── index.vue // component name is Users 85 | └── info.vue 86 | ``` 87 | 88 | ### Setup Extend 89 | 90 | Continuing with the Setup Extend demo is writing the name="Home" on the script tag. 91 | 92 | ```html 93 | 96 | 97 | 100 | 101 | 104 | ``` 105 | 106 | In the ` \n`; 178 | s.appendLeft(0, newExport); 179 | code = s.toString(); 180 | } 181 | return { 182 | code, 183 | map: s.generateMap({ 184 | hires: true 185 | }) 186 | } 187 | } 188 | } 189 | } 190 | } 191 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | specifiers: 4 | '@babel/traverse': ^7.24.0 5 | '@babel/types': ^7.24.0 6 | '@rollup/pluginutils': ^5.1.0 7 | '@types/babel__traverse': ^7.20.5 8 | '@types/node': ^20.11.25 9 | '@types/semver': ^7.5.8 10 | '@vue/compiler-sfc': ^3.4.21 11 | bumpp: ^9.4.0 12 | magic-string: ^0.30.8 13 | rollup: ^4.12.1 14 | semver: ^7.6.0 15 | tsup: ^8.0.2 16 | typescript: ^5.4.2 17 | unplugin: ^1.9.0 18 | vite: ^5.1.5 19 | vitest: ^1.3.1 20 | 21 | dependencies: 22 | '@babel/traverse': 7.24.0 23 | '@babel/types': 7.24.0 24 | '@rollup/pluginutils': 5.1.0_rollup@4.12.1 25 | '@types/babel__traverse': 7.20.5 26 | '@vue/compiler-sfc': 3.4.21 27 | magic-string: 0.30.8 28 | semver: 7.6.0 29 | unplugin: 1.9.0 30 | 31 | devDependencies: 32 | '@types/node': 20.11.25 33 | '@types/semver': 7.5.8 34 | bumpp: 9.4.0 35 | rollup: 4.12.1 36 | tsup: 8.0.2_typescript@5.4.2 37 | typescript: 5.4.2 38 | vite: 5.1.5_@types+node@20.11.25 39 | vitest: 1.3.1_@types+node@20.11.25 40 | 41 | packages: 42 | 43 | /@babel/code-frame/7.23.5: 44 | resolution: {integrity: sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==} 45 | engines: {node: '>=6.9.0'} 46 | dependencies: 47 | '@babel/highlight': 7.23.4 48 | chalk: 2.4.2 49 | dev: false 50 | 51 | /@babel/generator/7.23.6: 52 | resolution: {integrity: sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==} 53 | engines: {node: '>=6.9.0'} 54 | dependencies: 55 | '@babel/types': 7.24.0 56 | '@jridgewell/gen-mapping': 0.3.5 57 | '@jridgewell/trace-mapping': 0.3.25 58 | jsesc: 2.5.2 59 | dev: false 60 | 61 | /@babel/helper-environment-visitor/7.22.20: 62 | resolution: {integrity: sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==} 63 | engines: {node: '>=6.9.0'} 64 | dev: false 65 | 66 | /@babel/helper-function-name/7.23.0: 67 | resolution: {integrity: sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==} 68 | engines: {node: '>=6.9.0'} 69 | dependencies: 70 | '@babel/template': 7.24.0 71 | '@babel/types': 7.24.0 72 | dev: false 73 | 74 | /@babel/helper-hoist-variables/7.22.5: 75 | resolution: {integrity: sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==} 76 | engines: {node: '>=6.9.0'} 77 | dependencies: 78 | '@babel/types': 7.24.0 79 | dev: false 80 | 81 | /@babel/helper-split-export-declaration/7.22.6: 82 | resolution: {integrity: sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==} 83 | engines: {node: '>=6.9.0'} 84 | dependencies: 85 | '@babel/types': 7.24.0 86 | dev: false 87 | 88 | /@babel/helper-string-parser/7.23.4: 89 | resolution: {integrity: sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==} 90 | engines: {node: '>=6.9.0'} 91 | dev: false 92 | 93 | /@babel/helper-validator-identifier/7.22.20: 94 | resolution: {integrity: sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==} 95 | engines: {node: '>=6.9.0'} 96 | dev: false 97 | 98 | /@babel/highlight/7.23.4: 99 | resolution: {integrity: sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==} 100 | engines: {node: '>=6.9.0'} 101 | dependencies: 102 | '@babel/helper-validator-identifier': 7.22.20 103 | chalk: 2.4.2 104 | js-tokens: 4.0.0 105 | dev: false 106 | 107 | /@babel/parser/7.24.0: 108 | resolution: {integrity: sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==} 109 | engines: {node: '>=6.0.0'} 110 | hasBin: true 111 | dependencies: 112 | '@babel/types': 7.24.0 113 | dev: false 114 | 115 | /@babel/template/7.24.0: 116 | resolution: {integrity: sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==} 117 | engines: {node: '>=6.9.0'} 118 | dependencies: 119 | '@babel/code-frame': 7.23.5 120 | '@babel/parser': 7.24.0 121 | '@babel/types': 7.24.0 122 | dev: false 123 | 124 | /@babel/traverse/7.24.0: 125 | resolution: {integrity: sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==} 126 | engines: {node: '>=6.9.0'} 127 | dependencies: 128 | '@babel/code-frame': 7.23.5 129 | '@babel/generator': 7.23.6 130 | '@babel/helper-environment-visitor': 7.22.20 131 | '@babel/helper-function-name': 7.23.0 132 | '@babel/helper-hoist-variables': 7.22.5 133 | '@babel/helper-split-export-declaration': 7.22.6 134 | '@babel/parser': 7.24.0 135 | '@babel/types': 7.24.0 136 | debug: 4.3.4 137 | globals: 11.12.0 138 | transitivePeerDependencies: 139 | - supports-color 140 | dev: false 141 | 142 | /@babel/types/7.24.0: 143 | resolution: {integrity: sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==} 144 | engines: {node: '>=6.9.0'} 145 | dependencies: 146 | '@babel/helper-string-parser': 7.23.4 147 | '@babel/helper-validator-identifier': 7.22.20 148 | to-fast-properties: 2.0.0 149 | dev: false 150 | 151 | /@esbuild/aix-ppc64/0.19.12: 152 | resolution: {integrity: sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==} 153 | engines: {node: '>=12'} 154 | cpu: [ppc64] 155 | os: [aix] 156 | requiresBuild: true 157 | dev: true 158 | optional: true 159 | 160 | /@esbuild/android-arm/0.19.12: 161 | resolution: {integrity: sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==} 162 | engines: {node: '>=12'} 163 | cpu: [arm] 164 | os: [android] 165 | requiresBuild: true 166 | dev: true 167 | optional: true 168 | 169 | /@esbuild/android-arm64/0.19.12: 170 | resolution: {integrity: sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==} 171 | engines: {node: '>=12'} 172 | cpu: [arm64] 173 | os: [android] 174 | requiresBuild: true 175 | dev: true 176 | optional: true 177 | 178 | /@esbuild/android-x64/0.19.12: 179 | resolution: {integrity: sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==} 180 | engines: {node: '>=12'} 181 | cpu: [x64] 182 | os: [android] 183 | requiresBuild: true 184 | dev: true 185 | optional: true 186 | 187 | /@esbuild/darwin-arm64/0.19.12: 188 | resolution: {integrity: sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==} 189 | engines: {node: '>=12'} 190 | cpu: [arm64] 191 | os: [darwin] 192 | requiresBuild: true 193 | dev: true 194 | optional: true 195 | 196 | /@esbuild/darwin-x64/0.19.12: 197 | resolution: {integrity: sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==} 198 | engines: {node: '>=12'} 199 | cpu: [x64] 200 | os: [darwin] 201 | requiresBuild: true 202 | dev: true 203 | optional: true 204 | 205 | /@esbuild/freebsd-arm64/0.19.12: 206 | resolution: {integrity: sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==} 207 | engines: {node: '>=12'} 208 | cpu: [arm64] 209 | os: [freebsd] 210 | requiresBuild: true 211 | dev: true 212 | optional: true 213 | 214 | /@esbuild/freebsd-x64/0.19.12: 215 | resolution: {integrity: sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==} 216 | engines: {node: '>=12'} 217 | cpu: [x64] 218 | os: [freebsd] 219 | requiresBuild: true 220 | dev: true 221 | optional: true 222 | 223 | /@esbuild/linux-arm/0.19.12: 224 | resolution: {integrity: sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==} 225 | engines: {node: '>=12'} 226 | cpu: [arm] 227 | os: [linux] 228 | requiresBuild: true 229 | dev: true 230 | optional: true 231 | 232 | /@esbuild/linux-arm64/0.19.12: 233 | resolution: {integrity: sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==} 234 | engines: {node: '>=12'} 235 | cpu: [arm64] 236 | os: [linux] 237 | requiresBuild: true 238 | dev: true 239 | optional: true 240 | 241 | /@esbuild/linux-ia32/0.19.12: 242 | resolution: {integrity: sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==} 243 | engines: {node: '>=12'} 244 | cpu: [ia32] 245 | os: [linux] 246 | requiresBuild: true 247 | dev: true 248 | optional: true 249 | 250 | /@esbuild/linux-loong64/0.19.12: 251 | resolution: {integrity: sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==} 252 | engines: {node: '>=12'} 253 | cpu: [loong64] 254 | os: [linux] 255 | requiresBuild: true 256 | dev: true 257 | optional: true 258 | 259 | /@esbuild/linux-mips64el/0.19.12: 260 | resolution: {integrity: sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==} 261 | engines: {node: '>=12'} 262 | cpu: [mips64el] 263 | os: [linux] 264 | requiresBuild: true 265 | dev: true 266 | optional: true 267 | 268 | /@esbuild/linux-ppc64/0.19.12: 269 | resolution: {integrity: sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==} 270 | engines: {node: '>=12'} 271 | cpu: [ppc64] 272 | os: [linux] 273 | requiresBuild: true 274 | dev: true 275 | optional: true 276 | 277 | /@esbuild/linux-riscv64/0.19.12: 278 | resolution: {integrity: sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==} 279 | engines: {node: '>=12'} 280 | cpu: [riscv64] 281 | os: [linux] 282 | requiresBuild: true 283 | dev: true 284 | optional: true 285 | 286 | /@esbuild/linux-s390x/0.19.12: 287 | resolution: {integrity: sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==} 288 | engines: {node: '>=12'} 289 | cpu: [s390x] 290 | os: [linux] 291 | requiresBuild: true 292 | dev: true 293 | optional: true 294 | 295 | /@esbuild/linux-x64/0.19.12: 296 | resolution: {integrity: sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==} 297 | engines: {node: '>=12'} 298 | cpu: [x64] 299 | os: [linux] 300 | requiresBuild: true 301 | dev: true 302 | optional: true 303 | 304 | /@esbuild/netbsd-x64/0.19.12: 305 | resolution: {integrity: sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==} 306 | engines: {node: '>=12'} 307 | cpu: [x64] 308 | os: [netbsd] 309 | requiresBuild: true 310 | dev: true 311 | optional: true 312 | 313 | /@esbuild/openbsd-x64/0.19.12: 314 | resolution: {integrity: sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==} 315 | engines: {node: '>=12'} 316 | cpu: [x64] 317 | os: [openbsd] 318 | requiresBuild: true 319 | dev: true 320 | optional: true 321 | 322 | /@esbuild/sunos-x64/0.19.12: 323 | resolution: {integrity: sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==} 324 | engines: {node: '>=12'} 325 | cpu: [x64] 326 | os: [sunos] 327 | requiresBuild: true 328 | dev: true 329 | optional: true 330 | 331 | /@esbuild/win32-arm64/0.19.12: 332 | resolution: {integrity: sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==} 333 | engines: {node: '>=12'} 334 | cpu: [arm64] 335 | os: [win32] 336 | requiresBuild: true 337 | dev: true 338 | optional: true 339 | 340 | /@esbuild/win32-ia32/0.19.12: 341 | resolution: {integrity: sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==} 342 | engines: {node: '>=12'} 343 | cpu: [ia32] 344 | os: [win32] 345 | requiresBuild: true 346 | dev: true 347 | optional: true 348 | 349 | /@esbuild/win32-x64/0.19.12: 350 | resolution: {integrity: sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==} 351 | engines: {node: '>=12'} 352 | cpu: [x64] 353 | os: [win32] 354 | requiresBuild: true 355 | dev: true 356 | optional: true 357 | 358 | /@isaacs/cliui/8.0.2: 359 | resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} 360 | engines: {node: '>=12'} 361 | dependencies: 362 | string-width: 5.1.2 363 | string-width-cjs: /string-width/4.2.3 364 | strip-ansi: 7.1.0 365 | strip-ansi-cjs: /strip-ansi/6.0.1 366 | wrap-ansi: 8.1.0 367 | wrap-ansi-cjs: /wrap-ansi/7.0.0 368 | dev: true 369 | 370 | /@jest/schemas/29.6.3: 371 | resolution: {integrity: sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==} 372 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 373 | dependencies: 374 | '@sinclair/typebox': 0.27.8 375 | dev: true 376 | 377 | /@jridgewell/gen-mapping/0.3.5: 378 | resolution: {integrity: sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==} 379 | engines: {node: '>=6.0.0'} 380 | dependencies: 381 | '@jridgewell/set-array': 1.2.1 382 | '@jridgewell/sourcemap-codec': 1.4.15 383 | '@jridgewell/trace-mapping': 0.3.25 384 | 385 | /@jridgewell/resolve-uri/3.1.2: 386 | resolution: {integrity: sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==} 387 | engines: {node: '>=6.0.0'} 388 | 389 | /@jridgewell/set-array/1.2.1: 390 | resolution: {integrity: sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==} 391 | engines: {node: '>=6.0.0'} 392 | 393 | /@jridgewell/sourcemap-codec/1.4.15: 394 | resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} 395 | 396 | /@jridgewell/trace-mapping/0.3.25: 397 | resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} 398 | dependencies: 399 | '@jridgewell/resolve-uri': 3.1.2 400 | '@jridgewell/sourcemap-codec': 1.4.15 401 | 402 | /@jsdevtools/ez-spawn/3.0.4: 403 | resolution: {integrity: sha512-f5DRIOZf7wxogefH03RjMPMdBF7ADTWUMoOs9kaJo06EfwF+aFhMZMDZxHg/Xe12hptN9xoZjGso2fdjapBRIA==} 404 | engines: {node: '>=10'} 405 | dependencies: 406 | call-me-maybe: 1.0.2 407 | cross-spawn: 7.0.3 408 | string-argv: 0.3.2 409 | type-detect: 4.0.8 410 | dev: true 411 | 412 | /@nodelib/fs.scandir/2.1.5: 413 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 414 | engines: {node: '>= 8'} 415 | dependencies: 416 | '@nodelib/fs.stat': 2.0.5 417 | run-parallel: 1.2.0 418 | dev: true 419 | 420 | /@nodelib/fs.stat/2.0.5: 421 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 422 | engines: {node: '>= 8'} 423 | dev: true 424 | 425 | /@nodelib/fs.walk/1.2.8: 426 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 427 | engines: {node: '>= 8'} 428 | dependencies: 429 | '@nodelib/fs.scandir': 2.1.5 430 | fastq: 1.17.1 431 | dev: true 432 | 433 | /@pkgjs/parseargs/0.11.0: 434 | resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} 435 | engines: {node: '>=14'} 436 | requiresBuild: true 437 | dev: true 438 | optional: true 439 | 440 | /@rollup/pluginutils/5.1.0_rollup@4.12.1: 441 | resolution: {integrity: sha512-XTIWOPPcpvyKI6L1NHo0lFlCyznUEyPmPY1mc3KpPVDYulHSTvyeLNVW00QTLIAFNhR3kYnJTQHeGqU4M3n09g==} 442 | engines: {node: '>=14.0.0'} 443 | peerDependencies: 444 | rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 445 | peerDependenciesMeta: 446 | rollup: 447 | optional: true 448 | dependencies: 449 | '@types/estree': 1.0.5 450 | estree-walker: 2.0.2 451 | picomatch: 2.3.1 452 | rollup: 4.12.1 453 | dev: false 454 | 455 | /@rollup/rollup-android-arm-eabi/4.12.1: 456 | resolution: {integrity: sha512-iU2Sya8hNn1LhsYyf0N+L4Gf9Qc+9eBTJJJsaOGUp+7x4n2M9dxTt8UvhJl3oeftSjblSlpCfvjA/IfP3g5VjQ==} 457 | cpu: [arm] 458 | os: [android] 459 | requiresBuild: true 460 | optional: true 461 | 462 | /@rollup/rollup-android-arm64/4.12.1: 463 | resolution: {integrity: sha512-wlzcWiH2Ir7rdMELxFE5vuM7D6TsOcJ2Yw0c3vaBR3VOsJFVTx9xvwnAvhgU5Ii8Gd6+I11qNHwndDscIm0HXg==} 464 | cpu: [arm64] 465 | os: [android] 466 | requiresBuild: true 467 | optional: true 468 | 469 | /@rollup/rollup-darwin-arm64/4.12.1: 470 | resolution: {integrity: sha512-YRXa1+aZIFN5BaImK+84B3uNK8C6+ynKLPgvn29X9s0LTVCByp54TB7tdSMHDR7GTV39bz1lOmlLDuedgTwwHg==} 471 | cpu: [arm64] 472 | os: [darwin] 473 | requiresBuild: true 474 | optional: true 475 | 476 | /@rollup/rollup-darwin-x64/4.12.1: 477 | resolution: {integrity: sha512-opjWJ4MevxeA8FhlngQWPBOvVWYNPFkq6/25rGgG+KOy0r8clYwL1CFd+PGwRqqMFVQ4/Qd3sQu5t7ucP7C/Uw==} 478 | cpu: [x64] 479 | os: [darwin] 480 | requiresBuild: true 481 | optional: true 482 | 483 | /@rollup/rollup-linux-arm-gnueabihf/4.12.1: 484 | resolution: {integrity: sha512-uBkwaI+gBUlIe+EfbNnY5xNyXuhZbDSx2nzzW8tRMjUmpScd6lCQYKY2V9BATHtv5Ef2OBq6SChEP8h+/cxifQ==} 485 | cpu: [arm] 486 | os: [linux] 487 | requiresBuild: true 488 | optional: true 489 | 490 | /@rollup/rollup-linux-arm64-gnu/4.12.1: 491 | resolution: {integrity: sha512-0bK9aG1kIg0Su7OcFTlexkVeNZ5IzEsnz1ept87a0TUgZ6HplSgkJAnFpEVRW7GRcikT4GlPV0pbtVedOaXHQQ==} 492 | cpu: [arm64] 493 | os: [linux] 494 | requiresBuild: true 495 | optional: true 496 | 497 | /@rollup/rollup-linux-arm64-musl/4.12.1: 498 | resolution: {integrity: sha512-qB6AFRXuP8bdkBI4D7UPUbE7OQf7u5OL+R94JE42Z2Qjmyj74FtDdLGeriRyBDhm4rQSvqAGCGC01b8Fu2LthQ==} 499 | cpu: [arm64] 500 | os: [linux] 501 | requiresBuild: true 502 | optional: true 503 | 504 | /@rollup/rollup-linux-riscv64-gnu/4.12.1: 505 | resolution: {integrity: sha512-sHig3LaGlpNgDj5o8uPEoGs98RII8HpNIqFtAI8/pYABO8i0nb1QzT0JDoXF/pxzqO+FkxvwkHZo9k0NJYDedg==} 506 | cpu: [riscv64] 507 | os: [linux] 508 | requiresBuild: true 509 | optional: true 510 | 511 | /@rollup/rollup-linux-x64-gnu/4.12.1: 512 | resolution: {integrity: sha512-nD3YcUv6jBJbBNFvSbp0IV66+ba/1teuBcu+fBBPZ33sidxitc6ErhON3JNavaH8HlswhWMC3s5rgZpM4MtPqQ==} 513 | cpu: [x64] 514 | os: [linux] 515 | requiresBuild: true 516 | optional: true 517 | 518 | /@rollup/rollup-linux-x64-musl/4.12.1: 519 | resolution: {integrity: sha512-7/XVZqgBby2qp/cO0TQ8uJK+9xnSdJ9ct6gSDdEr4MfABrjTyrW6Bau7HQ73a2a5tPB7hno49A0y1jhWGDN9OQ==} 520 | cpu: [x64] 521 | os: [linux] 522 | requiresBuild: true 523 | optional: true 524 | 525 | /@rollup/rollup-win32-arm64-msvc/4.12.1: 526 | resolution: {integrity: sha512-CYc64bnICG42UPL7TrhIwsJW4QcKkIt9gGlj21gq3VV0LL6XNb1yAdHVp1pIi9gkts9gGcT3OfUYHjGP7ETAiw==} 527 | cpu: [arm64] 528 | os: [win32] 529 | requiresBuild: true 530 | optional: true 531 | 532 | /@rollup/rollup-win32-ia32-msvc/4.12.1: 533 | resolution: {integrity: sha512-LN+vnlZ9g0qlHGlS920GR4zFCqAwbv2lULrR29yGaWP9u7wF5L7GqWu9Ah6/kFZPXPUkpdZwd//TNR+9XC9hvA==} 534 | cpu: [ia32] 535 | os: [win32] 536 | requiresBuild: true 537 | optional: true 538 | 539 | /@rollup/rollup-win32-x64-msvc/4.12.1: 540 | resolution: {integrity: sha512-n+vkrSyphvmU0qkQ6QBNXCGr2mKjhP08mPRM/Xp5Ck2FV4NrHU+y6axzDeixUrCBHVUS51TZhjqrKBBsHLKb2Q==} 541 | cpu: [x64] 542 | os: [win32] 543 | requiresBuild: true 544 | optional: true 545 | 546 | /@sinclair/typebox/0.27.8: 547 | resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} 548 | dev: true 549 | 550 | /@types/babel__traverse/7.20.5: 551 | resolution: {integrity: sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==} 552 | dependencies: 553 | '@babel/types': 7.24.0 554 | dev: false 555 | 556 | /@types/estree/1.0.5: 557 | resolution: {integrity: sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==} 558 | 559 | /@types/node/20.11.25: 560 | resolution: {integrity: sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==} 561 | dependencies: 562 | undici-types: 5.26.5 563 | dev: true 564 | 565 | /@types/semver/7.5.8: 566 | resolution: {integrity: sha512-I8EUhyrgfLrcTkzV3TSsGyl1tSuPrEDzr0yd5m90UgNxQkyDXULk3b6MlQqTCpZpNtWe1K0hzclnZkTcLBe2UQ==} 567 | dev: true 568 | 569 | /@vitest/expect/1.3.1: 570 | resolution: {integrity: sha512-xofQFwIzfdmLLlHa6ag0dPV8YsnKOCP1KdAeVVh34vSjN2dcUiXYCD9htu/9eM7t8Xln4v03U9HLxLpPlsXdZw==} 571 | dependencies: 572 | '@vitest/spy': 1.3.1 573 | '@vitest/utils': 1.3.1 574 | chai: 4.4.1 575 | dev: true 576 | 577 | /@vitest/runner/1.3.1: 578 | resolution: {integrity: sha512-5FzF9c3jG/z5bgCnjr8j9LNq/9OxV2uEBAITOXfoe3rdZJTdO7jzThth7FXv/6b+kdY65tpRQB7WaKhNZwX+Kg==} 579 | dependencies: 580 | '@vitest/utils': 1.3.1 581 | p-limit: 5.0.0 582 | pathe: 1.1.2 583 | dev: true 584 | 585 | /@vitest/snapshot/1.3.1: 586 | resolution: {integrity: sha512-EF++BZbt6RZmOlE3SuTPu/NfwBF6q4ABS37HHXzs2LUVPBLx2QoY/K0fKpRChSo8eLiuxcbCVfqKgx/dplCDuQ==} 587 | dependencies: 588 | magic-string: 0.30.8 589 | pathe: 1.1.2 590 | pretty-format: 29.7.0 591 | dev: true 592 | 593 | /@vitest/spy/1.3.1: 594 | resolution: {integrity: sha512-xAcW+S099ylC9VLU7eZfdT9myV67Nor9w9zhf0mGCYJSO+zM2839tOeROTdikOi/8Qeusffvxb/MyBSOja1Uig==} 595 | dependencies: 596 | tinyspy: 2.2.1 597 | dev: true 598 | 599 | /@vitest/utils/1.3.1: 600 | resolution: {integrity: sha512-d3Waie/299qqRyHTm2DjADeTaNdNSVsnwHPWrs20JMpjh6eiVq7ggggweO8rc4arhf6rRkWuHKwvxGvejUXZZQ==} 601 | dependencies: 602 | diff-sequences: 29.6.3 603 | estree-walker: 3.0.3 604 | loupe: 2.3.7 605 | pretty-format: 29.7.0 606 | dev: true 607 | 608 | /@vue/compiler-core/3.4.21: 609 | resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} 610 | dependencies: 611 | '@babel/parser': 7.24.0 612 | '@vue/shared': 3.4.21 613 | entities: 4.5.0 614 | estree-walker: 2.0.2 615 | source-map-js: 1.0.2 616 | dev: false 617 | 618 | /@vue/compiler-dom/3.4.21: 619 | resolution: {integrity: sha512-IZC6FKowtT1sl0CR5DpXSiEB5ayw75oT2bma1BEhV7RRR1+cfwLrxc2Z8Zq/RGFzJ8w5r9QtCOvTjQgdn0IKmA==} 620 | dependencies: 621 | '@vue/compiler-core': 3.4.21 622 | '@vue/shared': 3.4.21 623 | dev: false 624 | 625 | /@vue/compiler-sfc/3.4.21: 626 | resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} 627 | dependencies: 628 | '@babel/parser': 7.24.0 629 | '@vue/compiler-core': 3.4.21 630 | '@vue/compiler-dom': 3.4.21 631 | '@vue/compiler-ssr': 3.4.21 632 | '@vue/shared': 3.4.21 633 | estree-walker: 2.0.2 634 | magic-string: 0.30.8 635 | postcss: 8.4.35 636 | source-map-js: 1.0.2 637 | dev: false 638 | 639 | /@vue/compiler-ssr/3.4.21: 640 | resolution: {integrity: sha512-M5+9nI2lPpAsgXOGQobnIueVqc9sisBFexh5yMIMRAPYLa7+5wEJs8iqOZc1WAa9WQbx9GR2twgznU8LTIiZ4Q==} 641 | dependencies: 642 | '@vue/compiler-dom': 3.4.21 643 | '@vue/shared': 3.4.21 644 | dev: false 645 | 646 | /@vue/shared/3.4.21: 647 | resolution: {integrity: sha512-PuJe7vDIi6VYSinuEbUIQgMIRZGgM8e4R+G+/dQTk0X1NEdvgvvgv7m+rfmDH1gZzyA1OjjoWskvHlfRNfQf3g==} 648 | dev: false 649 | 650 | /acorn-walk/8.3.2: 651 | resolution: {integrity: sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==} 652 | engines: {node: '>=0.4.0'} 653 | dev: true 654 | 655 | /acorn/8.11.3: 656 | resolution: {integrity: sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==} 657 | engines: {node: '>=0.4.0'} 658 | hasBin: true 659 | 660 | /ansi-regex/5.0.1: 661 | resolution: {integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==} 662 | engines: {node: '>=8'} 663 | dev: true 664 | 665 | /ansi-regex/6.0.1: 666 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 667 | engines: {node: '>=12'} 668 | dev: true 669 | 670 | /ansi-styles/3.2.1: 671 | resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} 672 | engines: {node: '>=4'} 673 | dependencies: 674 | color-convert: 1.9.3 675 | dev: false 676 | 677 | /ansi-styles/4.3.0: 678 | resolution: {integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==} 679 | engines: {node: '>=8'} 680 | dependencies: 681 | color-convert: 2.0.1 682 | dev: true 683 | 684 | /ansi-styles/5.2.0: 685 | resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} 686 | engines: {node: '>=10'} 687 | dev: true 688 | 689 | /ansi-styles/6.2.1: 690 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 691 | engines: {node: '>=12'} 692 | dev: true 693 | 694 | /any-promise/1.3.0: 695 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 696 | dev: true 697 | 698 | /anymatch/3.1.3: 699 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 700 | engines: {node: '>= 8'} 701 | dependencies: 702 | normalize-path: 3.0.0 703 | picomatch: 2.3.1 704 | 705 | /argparse/2.0.1: 706 | resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} 707 | dev: true 708 | 709 | /array-union/2.1.0: 710 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 711 | engines: {node: '>=8'} 712 | dev: true 713 | 714 | /assertion-error/1.1.0: 715 | resolution: {integrity: sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw==} 716 | dev: true 717 | 718 | /balanced-match/1.0.2: 719 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 720 | dev: true 721 | 722 | /binary-extensions/2.2.0: 723 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 724 | engines: {node: '>=8'} 725 | 726 | /brace-expansion/2.0.1: 727 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 728 | dependencies: 729 | balanced-match: 1.0.2 730 | dev: true 731 | 732 | /braces/3.0.2: 733 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 734 | engines: {node: '>=8'} 735 | dependencies: 736 | fill-range: 7.0.1 737 | 738 | /bumpp/9.4.0: 739 | resolution: {integrity: sha512-T+N+B5mSSvsTt7kgxGXCKQd957IxmEZwMn2nWirspGUY08u/cBNrpQDMXk43fzLegZtKtXS1v9S06vq2zf6lXQ==} 740 | engines: {node: '>=10'} 741 | hasBin: true 742 | dependencies: 743 | '@jsdevtools/ez-spawn': 3.0.4 744 | c12: 1.10.0 745 | cac: 6.7.14 746 | escalade: 3.1.2 747 | fast-glob: 3.3.2 748 | js-yaml: 4.1.0 749 | prompts: 2.4.2 750 | semver: 7.6.0 751 | dev: true 752 | 753 | /bundle-require/4.0.2_esbuild@0.19.12: 754 | resolution: {integrity: sha512-jwzPOChofl67PSTW2SGubV9HBQAhhR2i6nskiOThauo9dzwDUgOWQScFVaJkjEfYX+UXiD+LEx8EblQMc2wIag==} 755 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 756 | peerDependencies: 757 | esbuild: '>=0.17' 758 | dependencies: 759 | esbuild: 0.19.12 760 | load-tsconfig: 0.2.5 761 | dev: true 762 | 763 | /c12/1.10.0: 764 | resolution: {integrity: sha512-0SsG7UDhoRWcuSvKWHaXmu5uNjDCDN3nkQLRL4Q42IlFy+ze58FcCoI3uPwINXinkz7ZinbhEgyzYFw9u9ZV8g==} 765 | dependencies: 766 | chokidar: 3.6.0 767 | confbox: 0.1.3 768 | defu: 6.1.4 769 | dotenv: 16.4.5 770 | giget: 1.2.1 771 | jiti: 1.21.0 772 | mlly: 1.6.1 773 | ohash: 1.1.3 774 | pathe: 1.1.2 775 | perfect-debounce: 1.0.0 776 | pkg-types: 1.0.3 777 | rc9: 2.1.1 778 | dev: true 779 | 780 | /cac/6.7.14: 781 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 782 | engines: {node: '>=8'} 783 | dev: true 784 | 785 | /call-me-maybe/1.0.2: 786 | resolution: {integrity: sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==} 787 | dev: true 788 | 789 | /chai/4.4.1: 790 | resolution: {integrity: sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==} 791 | engines: {node: '>=4'} 792 | dependencies: 793 | assertion-error: 1.1.0 794 | check-error: 1.0.3 795 | deep-eql: 4.1.3 796 | get-func-name: 2.0.2 797 | loupe: 2.3.7 798 | pathval: 1.1.1 799 | type-detect: 4.0.8 800 | dev: true 801 | 802 | /chalk/2.4.2: 803 | resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} 804 | engines: {node: '>=4'} 805 | dependencies: 806 | ansi-styles: 3.2.1 807 | escape-string-regexp: 1.0.5 808 | supports-color: 5.5.0 809 | dev: false 810 | 811 | /check-error/1.0.3: 812 | resolution: {integrity: sha512-iKEoDYaRmd1mxM90a2OEfWhjsjPpYPuQ+lMYsoxB126+t8fw7ySEO48nmDg5COTjxDI65/Y2OWpeEHk3ZOe8zg==} 813 | dependencies: 814 | get-func-name: 2.0.2 815 | dev: true 816 | 817 | /chokidar/3.6.0: 818 | resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==} 819 | engines: {node: '>= 8.10.0'} 820 | dependencies: 821 | anymatch: 3.1.3 822 | braces: 3.0.2 823 | glob-parent: 5.1.2 824 | is-binary-path: 2.1.0 825 | is-glob: 4.0.3 826 | normalize-path: 3.0.0 827 | readdirp: 3.6.0 828 | optionalDependencies: 829 | fsevents: 2.3.3 830 | 831 | /chownr/2.0.0: 832 | resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} 833 | engines: {node: '>=10'} 834 | dev: true 835 | 836 | /citty/0.1.6: 837 | resolution: {integrity: sha512-tskPPKEs8D2KPafUypv2gxwJP8h/OaJmC82QQGGDQcHvXX43xF2VDACcJVmZ0EuSxkpO9Kc4MlrA3q0+FG58AQ==} 838 | dependencies: 839 | consola: 3.2.3 840 | dev: true 841 | 842 | /color-convert/1.9.3: 843 | resolution: {integrity: sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==} 844 | dependencies: 845 | color-name: 1.1.3 846 | dev: false 847 | 848 | /color-convert/2.0.1: 849 | resolution: {integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==} 850 | engines: {node: '>=7.0.0'} 851 | dependencies: 852 | color-name: 1.1.4 853 | dev: true 854 | 855 | /color-name/1.1.3: 856 | resolution: {integrity: sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==} 857 | dev: false 858 | 859 | /color-name/1.1.4: 860 | resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} 861 | dev: true 862 | 863 | /commander/4.1.1: 864 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 865 | engines: {node: '>= 6'} 866 | dev: true 867 | 868 | /confbox/0.1.3: 869 | resolution: {integrity: sha512-eH3ZxAihl1PhKfpr4VfEN6/vUd87fmgb6JkldHgg/YR6aEBhW63qUDgzP2Y6WM0UumdsYp5H3kibalXAdHfbgg==} 870 | dev: true 871 | 872 | /consola/3.2.3: 873 | resolution: {integrity: sha512-I5qxpzLv+sJhTVEoLYNcTW+bThDCPsit0vLNKShZx6rLtpilNpmmeTPaeqJb9ZE9dV3DGaeby6Vuhrw38WjeyQ==} 874 | engines: {node: ^14.18.0 || >=16.10.0} 875 | dev: true 876 | 877 | /cross-spawn/7.0.3: 878 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 879 | engines: {node: '>= 8'} 880 | dependencies: 881 | path-key: 3.1.1 882 | shebang-command: 2.0.0 883 | which: 2.0.2 884 | dev: true 885 | 886 | /debug/4.3.4: 887 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 888 | engines: {node: '>=6.0'} 889 | peerDependencies: 890 | supports-color: '*' 891 | peerDependenciesMeta: 892 | supports-color: 893 | optional: true 894 | dependencies: 895 | ms: 2.1.2 896 | 897 | /deep-eql/4.1.3: 898 | resolution: {integrity: sha512-WaEtAOpRA1MQ0eohqZjpGD8zdI0Ovsm8mmFhaDN8dvDZzyoUMcYDnf5Y6iu7HTXxf8JDS23qWa4a+hKCDyOPzw==} 899 | engines: {node: '>=6'} 900 | dependencies: 901 | type-detect: 4.0.8 902 | dev: true 903 | 904 | /defu/6.1.4: 905 | resolution: {integrity: sha512-mEQCMmwJu317oSz8CwdIOdwf3xMif1ttiM8LTufzc3g6kR+9Pe236twL8j3IYT1F7GfRgGcW6MWxzZjLIkuHIg==} 906 | dev: true 907 | 908 | /destr/2.0.3: 909 | resolution: {integrity: sha512-2N3BOUU4gYMpTP24s5rF5iP7BDr7uNTCs4ozw3kf/eKfvWSIu93GEBi5m427YoyJoeOzQ5smuu4nNAPGb8idSQ==} 910 | dev: true 911 | 912 | /diff-sequences/29.6.3: 913 | resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} 914 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 915 | dev: true 916 | 917 | /dir-glob/3.0.1: 918 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 919 | engines: {node: '>=8'} 920 | dependencies: 921 | path-type: 4.0.0 922 | dev: true 923 | 924 | /dotenv/16.4.5: 925 | resolution: {integrity: sha512-ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg==} 926 | engines: {node: '>=12'} 927 | dev: true 928 | 929 | /eastasianwidth/0.2.0: 930 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 931 | dev: true 932 | 933 | /emoji-regex/8.0.0: 934 | resolution: {integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==} 935 | dev: true 936 | 937 | /emoji-regex/9.2.2: 938 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 939 | dev: true 940 | 941 | /entities/4.5.0: 942 | resolution: {integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==} 943 | engines: {node: '>=0.12'} 944 | dev: false 945 | 946 | /esbuild/0.19.12: 947 | resolution: {integrity: sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==} 948 | engines: {node: '>=12'} 949 | hasBin: true 950 | requiresBuild: true 951 | optionalDependencies: 952 | '@esbuild/aix-ppc64': 0.19.12 953 | '@esbuild/android-arm': 0.19.12 954 | '@esbuild/android-arm64': 0.19.12 955 | '@esbuild/android-x64': 0.19.12 956 | '@esbuild/darwin-arm64': 0.19.12 957 | '@esbuild/darwin-x64': 0.19.12 958 | '@esbuild/freebsd-arm64': 0.19.12 959 | '@esbuild/freebsd-x64': 0.19.12 960 | '@esbuild/linux-arm': 0.19.12 961 | '@esbuild/linux-arm64': 0.19.12 962 | '@esbuild/linux-ia32': 0.19.12 963 | '@esbuild/linux-loong64': 0.19.12 964 | '@esbuild/linux-mips64el': 0.19.12 965 | '@esbuild/linux-ppc64': 0.19.12 966 | '@esbuild/linux-riscv64': 0.19.12 967 | '@esbuild/linux-s390x': 0.19.12 968 | '@esbuild/linux-x64': 0.19.12 969 | '@esbuild/netbsd-x64': 0.19.12 970 | '@esbuild/openbsd-x64': 0.19.12 971 | '@esbuild/sunos-x64': 0.19.12 972 | '@esbuild/win32-arm64': 0.19.12 973 | '@esbuild/win32-ia32': 0.19.12 974 | '@esbuild/win32-x64': 0.19.12 975 | dev: true 976 | 977 | /escalade/3.1.2: 978 | resolution: {integrity: sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==} 979 | engines: {node: '>=6'} 980 | dev: true 981 | 982 | /escape-string-regexp/1.0.5: 983 | resolution: {integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==} 984 | engines: {node: '>=0.8.0'} 985 | dev: false 986 | 987 | /estree-walker/2.0.2: 988 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 989 | dev: false 990 | 991 | /estree-walker/3.0.3: 992 | resolution: {integrity: sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==} 993 | dependencies: 994 | '@types/estree': 1.0.5 995 | dev: true 996 | 997 | /execa/5.1.1: 998 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 999 | engines: {node: '>=10'} 1000 | dependencies: 1001 | cross-spawn: 7.0.3 1002 | get-stream: 6.0.1 1003 | human-signals: 2.1.0 1004 | is-stream: 2.0.1 1005 | merge-stream: 2.0.0 1006 | npm-run-path: 4.0.1 1007 | onetime: 5.1.2 1008 | signal-exit: 3.0.7 1009 | strip-final-newline: 2.0.0 1010 | dev: true 1011 | 1012 | /execa/8.0.1: 1013 | resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} 1014 | engines: {node: '>=16.17'} 1015 | dependencies: 1016 | cross-spawn: 7.0.3 1017 | get-stream: 8.0.1 1018 | human-signals: 5.0.0 1019 | is-stream: 3.0.0 1020 | merge-stream: 2.0.0 1021 | npm-run-path: 5.3.0 1022 | onetime: 6.0.0 1023 | signal-exit: 4.1.0 1024 | strip-final-newline: 3.0.0 1025 | dev: true 1026 | 1027 | /fast-glob/3.3.2: 1028 | resolution: {integrity: sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==} 1029 | engines: {node: '>=8.6.0'} 1030 | dependencies: 1031 | '@nodelib/fs.stat': 2.0.5 1032 | '@nodelib/fs.walk': 1.2.8 1033 | glob-parent: 5.1.2 1034 | merge2: 1.4.1 1035 | micromatch: 4.0.5 1036 | dev: true 1037 | 1038 | /fastq/1.17.1: 1039 | resolution: {integrity: sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==} 1040 | dependencies: 1041 | reusify: 1.0.4 1042 | dev: true 1043 | 1044 | /fill-range/7.0.1: 1045 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 1046 | engines: {node: '>=8'} 1047 | dependencies: 1048 | to-regex-range: 5.0.1 1049 | 1050 | /flat/5.0.2: 1051 | resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} 1052 | hasBin: true 1053 | dev: true 1054 | 1055 | /foreground-child/3.1.1: 1056 | resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} 1057 | engines: {node: '>=14'} 1058 | dependencies: 1059 | cross-spawn: 7.0.3 1060 | signal-exit: 4.1.0 1061 | dev: true 1062 | 1063 | /fs-minipass/2.1.0: 1064 | resolution: {integrity: sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==} 1065 | engines: {node: '>= 8'} 1066 | dependencies: 1067 | minipass: 3.3.6 1068 | dev: true 1069 | 1070 | /fsevents/2.3.3: 1071 | resolution: {integrity: sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==} 1072 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 1073 | os: [darwin] 1074 | requiresBuild: true 1075 | optional: true 1076 | 1077 | /get-func-name/2.0.2: 1078 | resolution: {integrity: sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ==} 1079 | dev: true 1080 | 1081 | /get-stream/6.0.1: 1082 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 1083 | engines: {node: '>=10'} 1084 | dev: true 1085 | 1086 | /get-stream/8.0.1: 1087 | resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} 1088 | engines: {node: '>=16'} 1089 | dev: true 1090 | 1091 | /giget/1.2.1: 1092 | resolution: {integrity: sha512-4VG22mopWtIeHwogGSy1FViXVo0YT+m6BrqZfz0JJFwbSsePsCdOzdLIIli5BtMp7Xe8f/o2OmBpQX2NBOC24g==} 1093 | hasBin: true 1094 | dependencies: 1095 | citty: 0.1.6 1096 | consola: 3.2.3 1097 | defu: 6.1.4 1098 | node-fetch-native: 1.6.2 1099 | nypm: 0.3.8 1100 | ohash: 1.1.3 1101 | pathe: 1.1.2 1102 | tar: 6.2.0 1103 | dev: true 1104 | 1105 | /glob-parent/5.1.2: 1106 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 1107 | engines: {node: '>= 6'} 1108 | dependencies: 1109 | is-glob: 4.0.3 1110 | 1111 | /glob/10.3.10: 1112 | resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} 1113 | engines: {node: '>=16 || 14 >=14.17'} 1114 | hasBin: true 1115 | dependencies: 1116 | foreground-child: 3.1.1 1117 | jackspeak: 2.3.6 1118 | minimatch: 9.0.3 1119 | minipass: 7.0.4 1120 | path-scurry: 1.10.1 1121 | dev: true 1122 | 1123 | /globals/11.12.0: 1124 | resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} 1125 | engines: {node: '>=4'} 1126 | dev: false 1127 | 1128 | /globby/11.1.0: 1129 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 1130 | engines: {node: '>=10'} 1131 | dependencies: 1132 | array-union: 2.1.0 1133 | dir-glob: 3.0.1 1134 | fast-glob: 3.3.2 1135 | ignore: 5.3.1 1136 | merge2: 1.4.1 1137 | slash: 3.0.0 1138 | dev: true 1139 | 1140 | /has-flag/3.0.0: 1141 | resolution: {integrity: sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==} 1142 | engines: {node: '>=4'} 1143 | dev: false 1144 | 1145 | /human-signals/2.1.0: 1146 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 1147 | engines: {node: '>=10.17.0'} 1148 | dev: true 1149 | 1150 | /human-signals/5.0.0: 1151 | resolution: {integrity: sha512-AXcZb6vzzrFAUE61HnN4mpLqd/cSIwNQjtNWR0euPm6y0iqx3G4gOXaIDdtdDwZmhwe82LA6+zinmW4UBWVePQ==} 1152 | engines: {node: '>=16.17.0'} 1153 | dev: true 1154 | 1155 | /ignore/5.3.1: 1156 | resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} 1157 | engines: {node: '>= 4'} 1158 | dev: true 1159 | 1160 | /is-binary-path/2.1.0: 1161 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 1162 | engines: {node: '>=8'} 1163 | dependencies: 1164 | binary-extensions: 2.2.0 1165 | 1166 | /is-extglob/2.1.1: 1167 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 1168 | engines: {node: '>=0.10.0'} 1169 | 1170 | /is-fullwidth-code-point/3.0.0: 1171 | resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} 1172 | engines: {node: '>=8'} 1173 | dev: true 1174 | 1175 | /is-glob/4.0.3: 1176 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 1177 | engines: {node: '>=0.10.0'} 1178 | dependencies: 1179 | is-extglob: 2.1.1 1180 | 1181 | /is-number/7.0.0: 1182 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 1183 | engines: {node: '>=0.12.0'} 1184 | 1185 | /is-stream/2.0.1: 1186 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 1187 | engines: {node: '>=8'} 1188 | dev: true 1189 | 1190 | /is-stream/3.0.0: 1191 | resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} 1192 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1193 | dev: true 1194 | 1195 | /isexe/2.0.0: 1196 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 1197 | dev: true 1198 | 1199 | /jackspeak/2.3.6: 1200 | resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} 1201 | engines: {node: '>=14'} 1202 | dependencies: 1203 | '@isaacs/cliui': 8.0.2 1204 | optionalDependencies: 1205 | '@pkgjs/parseargs': 0.11.0 1206 | dev: true 1207 | 1208 | /jiti/1.21.0: 1209 | resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} 1210 | hasBin: true 1211 | dev: true 1212 | 1213 | /joycon/3.1.1: 1214 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 1215 | engines: {node: '>=10'} 1216 | dev: true 1217 | 1218 | /js-tokens/4.0.0: 1219 | resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} 1220 | dev: false 1221 | 1222 | /js-tokens/8.0.3: 1223 | resolution: {integrity: sha512-UfJMcSJc+SEXEl9lH/VLHSZbThQyLpw1vLO1Lb+j4RWDvG3N2f7yj3PVQA3cmkTBNldJ9eFnM+xEXxHIXrYiJw==} 1224 | dev: true 1225 | 1226 | /js-yaml/4.1.0: 1227 | resolution: {integrity: sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==} 1228 | hasBin: true 1229 | dependencies: 1230 | argparse: 2.0.1 1231 | dev: true 1232 | 1233 | /jsesc/2.5.2: 1234 | resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} 1235 | engines: {node: '>=4'} 1236 | hasBin: true 1237 | dev: false 1238 | 1239 | /jsonc-parser/3.2.1: 1240 | resolution: {integrity: sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==} 1241 | dev: true 1242 | 1243 | /kleur/3.0.3: 1244 | resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} 1245 | engines: {node: '>=6'} 1246 | dev: true 1247 | 1248 | /lilconfig/3.1.1: 1249 | resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} 1250 | engines: {node: '>=14'} 1251 | dev: true 1252 | 1253 | /lines-and-columns/1.2.4: 1254 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 1255 | dev: true 1256 | 1257 | /load-tsconfig/0.2.5: 1258 | resolution: {integrity: sha512-IXO6OCs9yg8tMKzfPZ1YmheJbZCiEsnBdcB03l0OcfK9prKnJb96siuHCr5Fl37/yo9DnKU+TLpxzTUspw9shg==} 1259 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1260 | dev: true 1261 | 1262 | /local-pkg/0.5.0: 1263 | resolution: {integrity: sha512-ok6z3qlYyCDS4ZEU27HaU6x/xZa9Whf8jD4ptH5UZTQYZVYeb9bnZ3ojVhiJNLiXK1Hfc0GNbLXcmZ5plLDDBg==} 1264 | engines: {node: '>=14'} 1265 | dependencies: 1266 | mlly: 1.6.1 1267 | pkg-types: 1.0.3 1268 | dev: true 1269 | 1270 | /lodash.sortby/4.7.0: 1271 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 1272 | dev: true 1273 | 1274 | /loupe/2.3.7: 1275 | resolution: {integrity: sha512-zSMINGVYkdpYSOBmLi0D1Uo7JU9nVdQKrHxC8eYlV+9YKK9WePqAlL7lSlorG/U2Fw1w0hTBmaa/jrQ3UbPHtA==} 1276 | dependencies: 1277 | get-func-name: 2.0.2 1278 | dev: true 1279 | 1280 | /lru-cache/10.2.0: 1281 | resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} 1282 | engines: {node: 14 || >=16.14} 1283 | dev: true 1284 | 1285 | /lru-cache/6.0.0: 1286 | resolution: {integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==} 1287 | engines: {node: '>=10'} 1288 | dependencies: 1289 | yallist: 4.0.0 1290 | 1291 | /magic-string/0.30.8: 1292 | resolution: {integrity: sha512-ISQTe55T2ao7XtlAStud6qwYPZjE4GK1S/BeVPus4jrq6JuOnQ00YKQC581RWhR122W7msZV263KzVeLoqidyQ==} 1293 | engines: {node: '>=12'} 1294 | dependencies: 1295 | '@jridgewell/sourcemap-codec': 1.4.15 1296 | 1297 | /merge-stream/2.0.0: 1298 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 1299 | dev: true 1300 | 1301 | /merge2/1.4.1: 1302 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 1303 | engines: {node: '>= 8'} 1304 | dev: true 1305 | 1306 | /micromatch/4.0.5: 1307 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 1308 | engines: {node: '>=8.6'} 1309 | dependencies: 1310 | braces: 3.0.2 1311 | picomatch: 2.3.1 1312 | dev: true 1313 | 1314 | /mimic-fn/2.1.0: 1315 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 1316 | engines: {node: '>=6'} 1317 | dev: true 1318 | 1319 | /mimic-fn/4.0.0: 1320 | resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} 1321 | engines: {node: '>=12'} 1322 | dev: true 1323 | 1324 | /minimatch/9.0.3: 1325 | resolution: {integrity: sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==} 1326 | engines: {node: '>=16 || 14 >=14.17'} 1327 | dependencies: 1328 | brace-expansion: 2.0.1 1329 | dev: true 1330 | 1331 | /minipass/3.3.6: 1332 | resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==} 1333 | engines: {node: '>=8'} 1334 | dependencies: 1335 | yallist: 4.0.0 1336 | dev: true 1337 | 1338 | /minipass/5.0.0: 1339 | resolution: {integrity: sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==} 1340 | engines: {node: '>=8'} 1341 | dev: true 1342 | 1343 | /minipass/7.0.4: 1344 | resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} 1345 | engines: {node: '>=16 || 14 >=14.17'} 1346 | dev: true 1347 | 1348 | /minizlib/2.1.2: 1349 | resolution: {integrity: sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==} 1350 | engines: {node: '>= 8'} 1351 | dependencies: 1352 | minipass: 3.3.6 1353 | yallist: 4.0.0 1354 | dev: true 1355 | 1356 | /mkdirp/1.0.4: 1357 | resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} 1358 | engines: {node: '>=10'} 1359 | hasBin: true 1360 | dev: true 1361 | 1362 | /mlly/1.6.1: 1363 | resolution: {integrity: sha512-vLgaHvaeunuOXHSmEbZ9izxPx3USsk8KCQ8iC+aTlp5sKRSoZvwhHh5L9VbKSaVC6sJDqbyohIS76E2VmHIPAA==} 1364 | dependencies: 1365 | acorn: 8.11.3 1366 | pathe: 1.1.2 1367 | pkg-types: 1.0.3 1368 | ufo: 1.4.0 1369 | dev: true 1370 | 1371 | /ms/2.1.2: 1372 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 1373 | 1374 | /mz/2.7.0: 1375 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 1376 | dependencies: 1377 | any-promise: 1.3.0 1378 | object-assign: 4.1.1 1379 | thenify-all: 1.6.0 1380 | dev: true 1381 | 1382 | /nanoid/3.3.7: 1383 | resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} 1384 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 1385 | hasBin: true 1386 | 1387 | /node-fetch-native/1.6.2: 1388 | resolution: {integrity: sha512-69mtXOFZ6hSkYiXAVB5SqaRvrbITC/NPyqv7yuu/qw0nmgPyYbIMYYNIDhNtwPrzk0ptrimrLz/hhjvm4w5Z+w==} 1389 | dev: true 1390 | 1391 | /normalize-path/3.0.0: 1392 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 1393 | engines: {node: '>=0.10.0'} 1394 | 1395 | /npm-run-path/4.0.1: 1396 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 1397 | engines: {node: '>=8'} 1398 | dependencies: 1399 | path-key: 3.1.1 1400 | dev: true 1401 | 1402 | /npm-run-path/5.3.0: 1403 | resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} 1404 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1405 | dependencies: 1406 | path-key: 4.0.0 1407 | dev: true 1408 | 1409 | /nypm/0.3.8: 1410 | resolution: {integrity: sha512-IGWlC6So2xv6V4cIDmoV0SwwWx7zLG086gyqkyumteH2fIgCAM4nDVFB2iDRszDvmdSVW9xb1N+2KjQ6C7d4og==} 1411 | engines: {node: ^14.16.0 || >=16.10.0} 1412 | hasBin: true 1413 | dependencies: 1414 | citty: 0.1.6 1415 | consola: 3.2.3 1416 | execa: 8.0.1 1417 | pathe: 1.1.2 1418 | ufo: 1.4.0 1419 | dev: true 1420 | 1421 | /object-assign/4.1.1: 1422 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 1423 | engines: {node: '>=0.10.0'} 1424 | dev: true 1425 | 1426 | /ohash/1.1.3: 1427 | resolution: {integrity: sha512-zuHHiGTYTA1sYJ/wZN+t5HKZaH23i4yI1HMwbuXm24Nid7Dv0KcuRlKoNKS9UNfAVSBlnGLcuQrnOKWOZoEGaw==} 1428 | dev: true 1429 | 1430 | /onetime/5.1.2: 1431 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 1432 | engines: {node: '>=6'} 1433 | dependencies: 1434 | mimic-fn: 2.1.0 1435 | dev: true 1436 | 1437 | /onetime/6.0.0: 1438 | resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} 1439 | engines: {node: '>=12'} 1440 | dependencies: 1441 | mimic-fn: 4.0.0 1442 | dev: true 1443 | 1444 | /p-limit/5.0.0: 1445 | resolution: {integrity: sha512-/Eaoq+QyLSiXQ4lyYV23f14mZRQcXnxfHrN0vCai+ak9G0pp9iEQukIIZq5NccEvwRB8PUnZT0KsOoDCINS1qQ==} 1446 | engines: {node: '>=18'} 1447 | dependencies: 1448 | yocto-queue: 1.0.0 1449 | dev: true 1450 | 1451 | /path-key/3.1.1: 1452 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 1453 | engines: {node: '>=8'} 1454 | dev: true 1455 | 1456 | /path-key/4.0.0: 1457 | resolution: {integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ==} 1458 | engines: {node: '>=12'} 1459 | dev: true 1460 | 1461 | /path-scurry/1.10.1: 1462 | resolution: {integrity: sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==} 1463 | engines: {node: '>=16 || 14 >=14.17'} 1464 | dependencies: 1465 | lru-cache: 10.2.0 1466 | minipass: 7.0.4 1467 | dev: true 1468 | 1469 | /path-type/4.0.0: 1470 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 1471 | engines: {node: '>=8'} 1472 | dev: true 1473 | 1474 | /pathe/1.1.2: 1475 | resolution: {integrity: sha512-whLdWMYL2TwI08hn8/ZqAbrVemu0LNaNNJZX73O6qaIdCTfXutsLhMkjdENX0qhsQ9uIimo4/aQOmXkoon2nDQ==} 1476 | dev: true 1477 | 1478 | /pathval/1.1.1: 1479 | resolution: {integrity: sha512-Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==} 1480 | dev: true 1481 | 1482 | /perfect-debounce/1.0.0: 1483 | resolution: {integrity: sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==} 1484 | dev: true 1485 | 1486 | /picocolors/1.0.0: 1487 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1488 | 1489 | /picomatch/2.3.1: 1490 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1491 | engines: {node: '>=8.6'} 1492 | 1493 | /pirates/4.0.6: 1494 | resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} 1495 | engines: {node: '>= 6'} 1496 | dev: true 1497 | 1498 | /pkg-types/1.0.3: 1499 | resolution: {integrity: sha512-nN7pYi0AQqJnoLPC9eHFQ8AcyaixBUOwvqc5TDnIKCMEE6I0y8P7OKA7fPexsXGCGxQDl/cmrLAp26LhcwxZ4A==} 1500 | dependencies: 1501 | jsonc-parser: 3.2.1 1502 | mlly: 1.6.1 1503 | pathe: 1.1.2 1504 | dev: true 1505 | 1506 | /postcss-load-config/4.0.2: 1507 | resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} 1508 | engines: {node: '>= 14'} 1509 | peerDependencies: 1510 | postcss: '>=8.0.9' 1511 | ts-node: '>=9.0.0' 1512 | peerDependenciesMeta: 1513 | postcss: 1514 | optional: true 1515 | ts-node: 1516 | optional: true 1517 | dependencies: 1518 | lilconfig: 3.1.1 1519 | yaml: 2.4.1 1520 | dev: true 1521 | 1522 | /postcss/8.4.35: 1523 | resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} 1524 | engines: {node: ^10 || ^12 || >=14} 1525 | dependencies: 1526 | nanoid: 3.3.7 1527 | picocolors: 1.0.0 1528 | source-map-js: 1.0.2 1529 | 1530 | /pretty-format/29.7.0: 1531 | resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} 1532 | engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} 1533 | dependencies: 1534 | '@jest/schemas': 29.6.3 1535 | ansi-styles: 5.2.0 1536 | react-is: 18.2.0 1537 | dev: true 1538 | 1539 | /prompts/2.4.2: 1540 | resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} 1541 | engines: {node: '>= 6'} 1542 | dependencies: 1543 | kleur: 3.0.3 1544 | sisteransi: 1.0.5 1545 | dev: true 1546 | 1547 | /punycode/2.3.1: 1548 | resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==} 1549 | engines: {node: '>=6'} 1550 | dev: true 1551 | 1552 | /queue-microtask/1.2.3: 1553 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1554 | dev: true 1555 | 1556 | /rc9/2.1.1: 1557 | resolution: {integrity: sha512-lNeOl38Ws0eNxpO3+wD1I9rkHGQyj1NU1jlzv4go2CtEnEQEUfqnIvZG7W+bC/aXdJ27n5x/yUjb6RoT9tko+Q==} 1558 | dependencies: 1559 | defu: 6.1.4 1560 | destr: 2.0.3 1561 | flat: 5.0.2 1562 | dev: true 1563 | 1564 | /react-is/18.2.0: 1565 | resolution: {integrity: sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==} 1566 | dev: true 1567 | 1568 | /readdirp/3.6.0: 1569 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1570 | engines: {node: '>=8.10.0'} 1571 | dependencies: 1572 | picomatch: 2.3.1 1573 | 1574 | /resolve-from/5.0.0: 1575 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1576 | engines: {node: '>=8'} 1577 | dev: true 1578 | 1579 | /reusify/1.0.4: 1580 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1581 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1582 | dev: true 1583 | 1584 | /rollup/4.12.1: 1585 | resolution: {integrity: sha512-ggqQKvx/PsB0FaWXhIvVkSWh7a/PCLQAsMjBc+nA2M8Rv2/HG0X6zvixAB7KyZBRtifBUhy5k8voQX/mRnABPg==} 1586 | engines: {node: '>=18.0.0', npm: '>=8.0.0'} 1587 | hasBin: true 1588 | dependencies: 1589 | '@types/estree': 1.0.5 1590 | optionalDependencies: 1591 | '@rollup/rollup-android-arm-eabi': 4.12.1 1592 | '@rollup/rollup-android-arm64': 4.12.1 1593 | '@rollup/rollup-darwin-arm64': 4.12.1 1594 | '@rollup/rollup-darwin-x64': 4.12.1 1595 | '@rollup/rollup-linux-arm-gnueabihf': 4.12.1 1596 | '@rollup/rollup-linux-arm64-gnu': 4.12.1 1597 | '@rollup/rollup-linux-arm64-musl': 4.12.1 1598 | '@rollup/rollup-linux-riscv64-gnu': 4.12.1 1599 | '@rollup/rollup-linux-x64-gnu': 4.12.1 1600 | '@rollup/rollup-linux-x64-musl': 4.12.1 1601 | '@rollup/rollup-win32-arm64-msvc': 4.12.1 1602 | '@rollup/rollup-win32-ia32-msvc': 4.12.1 1603 | '@rollup/rollup-win32-x64-msvc': 4.12.1 1604 | fsevents: 2.3.3 1605 | 1606 | /run-parallel/1.2.0: 1607 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1608 | dependencies: 1609 | queue-microtask: 1.2.3 1610 | dev: true 1611 | 1612 | /semver/7.6.0: 1613 | resolution: {integrity: sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==} 1614 | engines: {node: '>=10'} 1615 | hasBin: true 1616 | dependencies: 1617 | lru-cache: 6.0.0 1618 | 1619 | /shebang-command/2.0.0: 1620 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1621 | engines: {node: '>=8'} 1622 | dependencies: 1623 | shebang-regex: 3.0.0 1624 | dev: true 1625 | 1626 | /shebang-regex/3.0.0: 1627 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1628 | engines: {node: '>=8'} 1629 | dev: true 1630 | 1631 | /siginfo/2.0.0: 1632 | resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} 1633 | dev: true 1634 | 1635 | /signal-exit/3.0.7: 1636 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1637 | dev: true 1638 | 1639 | /signal-exit/4.1.0: 1640 | resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} 1641 | engines: {node: '>=14'} 1642 | dev: true 1643 | 1644 | /sisteransi/1.0.5: 1645 | resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} 1646 | dev: true 1647 | 1648 | /slash/3.0.0: 1649 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1650 | engines: {node: '>=8'} 1651 | dev: true 1652 | 1653 | /source-map-js/1.0.2: 1654 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1655 | engines: {node: '>=0.10.0'} 1656 | 1657 | /source-map/0.8.0-beta.0: 1658 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1659 | engines: {node: '>= 8'} 1660 | dependencies: 1661 | whatwg-url: 7.1.0 1662 | dev: true 1663 | 1664 | /stackback/0.0.2: 1665 | resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==} 1666 | dev: true 1667 | 1668 | /std-env/3.7.0: 1669 | resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} 1670 | dev: true 1671 | 1672 | /string-argv/0.3.2: 1673 | resolution: {integrity: sha512-aqD2Q0144Z+/RqG52NeHEkZauTAUWJO8c6yTftGJKO3Tja5tUgIfmIl6kExvhtxSDP7fXB6DvzkfMpCd/F3G+Q==} 1674 | engines: {node: '>=0.6.19'} 1675 | dev: true 1676 | 1677 | /string-width/4.2.3: 1678 | resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} 1679 | engines: {node: '>=8'} 1680 | dependencies: 1681 | emoji-regex: 8.0.0 1682 | is-fullwidth-code-point: 3.0.0 1683 | strip-ansi: 6.0.1 1684 | dev: true 1685 | 1686 | /string-width/5.1.2: 1687 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1688 | engines: {node: '>=12'} 1689 | dependencies: 1690 | eastasianwidth: 0.2.0 1691 | emoji-regex: 9.2.2 1692 | strip-ansi: 7.1.0 1693 | dev: true 1694 | 1695 | /strip-ansi/6.0.1: 1696 | resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} 1697 | engines: {node: '>=8'} 1698 | dependencies: 1699 | ansi-regex: 5.0.1 1700 | dev: true 1701 | 1702 | /strip-ansi/7.1.0: 1703 | resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} 1704 | engines: {node: '>=12'} 1705 | dependencies: 1706 | ansi-regex: 6.0.1 1707 | dev: true 1708 | 1709 | /strip-final-newline/2.0.0: 1710 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1711 | engines: {node: '>=6'} 1712 | dev: true 1713 | 1714 | /strip-final-newline/3.0.0: 1715 | resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} 1716 | engines: {node: '>=12'} 1717 | dev: true 1718 | 1719 | /strip-literal/2.0.0: 1720 | resolution: {integrity: sha512-f9vHgsCWBq2ugHAkGMiiYY+AYG0D/cbloKKg0nhaaaSNsujdGIpVXCNsrJpCKr5M0f4aI31mr13UjY6GAuXCKA==} 1721 | dependencies: 1722 | js-tokens: 8.0.3 1723 | dev: true 1724 | 1725 | /sucrase/3.35.0: 1726 | resolution: {integrity: sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==} 1727 | engines: {node: '>=16 || 14 >=14.17'} 1728 | hasBin: true 1729 | dependencies: 1730 | '@jridgewell/gen-mapping': 0.3.5 1731 | commander: 4.1.1 1732 | glob: 10.3.10 1733 | lines-and-columns: 1.2.4 1734 | mz: 2.7.0 1735 | pirates: 4.0.6 1736 | ts-interface-checker: 0.1.13 1737 | dev: true 1738 | 1739 | /supports-color/5.5.0: 1740 | resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} 1741 | engines: {node: '>=4'} 1742 | dependencies: 1743 | has-flag: 3.0.0 1744 | dev: false 1745 | 1746 | /tar/6.2.0: 1747 | resolution: {integrity: sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==} 1748 | engines: {node: '>=10'} 1749 | dependencies: 1750 | chownr: 2.0.0 1751 | fs-minipass: 2.1.0 1752 | minipass: 5.0.0 1753 | minizlib: 2.1.2 1754 | mkdirp: 1.0.4 1755 | yallist: 4.0.0 1756 | dev: true 1757 | 1758 | /thenify-all/1.6.0: 1759 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1760 | engines: {node: '>=0.8'} 1761 | dependencies: 1762 | thenify: 3.3.1 1763 | dev: true 1764 | 1765 | /thenify/3.3.1: 1766 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1767 | dependencies: 1768 | any-promise: 1.3.0 1769 | dev: true 1770 | 1771 | /tinybench/2.6.0: 1772 | resolution: {integrity: sha512-N8hW3PG/3aOoZAN5V/NSAEDz0ZixDSSt5b/a05iqtpgfLWMSVuCo7w0k2vVvEjdrIoeGqZzweX2WlyioNIHchA==} 1773 | dev: true 1774 | 1775 | /tinypool/0.8.2: 1776 | resolution: {integrity: sha512-SUszKYe5wgsxnNOVlBYO6IC+8VGWdVGZWAqUxp3UErNBtptZvWbwyUOyzNL59zigz2rCA92QiL3wvG+JDSdJdQ==} 1777 | engines: {node: '>=14.0.0'} 1778 | dev: true 1779 | 1780 | /tinyspy/2.2.1: 1781 | resolution: {integrity: sha512-KYad6Vy5VDWV4GH3fjpseMQ/XU2BhIYP7Vzd0LG44qRWm/Yt2WCOTicFdvmgo6gWaqooMQCawTtILVQJupKu7A==} 1782 | engines: {node: '>=14.0.0'} 1783 | dev: true 1784 | 1785 | /to-fast-properties/2.0.0: 1786 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1787 | engines: {node: '>=4'} 1788 | dev: false 1789 | 1790 | /to-regex-range/5.0.1: 1791 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1792 | engines: {node: '>=8.0'} 1793 | dependencies: 1794 | is-number: 7.0.0 1795 | 1796 | /tr46/1.0.1: 1797 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1798 | dependencies: 1799 | punycode: 2.3.1 1800 | dev: true 1801 | 1802 | /tree-kill/1.2.2: 1803 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1804 | hasBin: true 1805 | dev: true 1806 | 1807 | /ts-interface-checker/0.1.13: 1808 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1809 | dev: true 1810 | 1811 | /tsup/8.0.2_typescript@5.4.2: 1812 | resolution: {integrity: sha512-NY8xtQXdH7hDUAZwcQdY/Vzlw9johQsaqf7iwZ6g1DOUlFYQ5/AtVAjTvihhEyeRlGo4dLRVHtrRaL35M1daqQ==} 1813 | engines: {node: '>=18'} 1814 | hasBin: true 1815 | peerDependencies: 1816 | '@microsoft/api-extractor': ^7.36.0 1817 | '@swc/core': ^1 1818 | postcss: ^8.4.12 1819 | typescript: '>=4.5.0' 1820 | peerDependenciesMeta: 1821 | '@microsoft/api-extractor': 1822 | optional: true 1823 | '@swc/core': 1824 | optional: true 1825 | postcss: 1826 | optional: true 1827 | typescript: 1828 | optional: true 1829 | dependencies: 1830 | bundle-require: 4.0.2_esbuild@0.19.12 1831 | cac: 6.7.14 1832 | chokidar: 3.6.0 1833 | debug: 4.3.4 1834 | esbuild: 0.19.12 1835 | execa: 5.1.1 1836 | globby: 11.1.0 1837 | joycon: 3.1.1 1838 | postcss-load-config: 4.0.2 1839 | resolve-from: 5.0.0 1840 | rollup: 4.12.1 1841 | source-map: 0.8.0-beta.0 1842 | sucrase: 3.35.0 1843 | tree-kill: 1.2.2 1844 | typescript: 5.4.2 1845 | transitivePeerDependencies: 1846 | - supports-color 1847 | - ts-node 1848 | dev: true 1849 | 1850 | /type-detect/4.0.8: 1851 | resolution: {integrity: sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==} 1852 | engines: {node: '>=4'} 1853 | dev: true 1854 | 1855 | /typescript/5.4.2: 1856 | resolution: {integrity: sha512-+2/g0Fds1ERlP6JsakQQDXjZdZMM+rqpamFZJEKh4kwTIn3iDkgKtby0CeNd5ATNZ4Ry1ax15TMx0W2V+miizQ==} 1857 | engines: {node: '>=14.17'} 1858 | hasBin: true 1859 | dev: true 1860 | 1861 | /ufo/1.4.0: 1862 | resolution: {integrity: sha512-Hhy+BhRBleFjpJ2vchUNN40qgkh0366FWJGqVLYBHev0vpHTrXSA0ryT+74UiW6KWsldNurQMKGqCm1M2zBciQ==} 1863 | dev: true 1864 | 1865 | /undici-types/5.26.5: 1866 | resolution: {integrity: sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==} 1867 | dev: true 1868 | 1869 | /unplugin/1.9.0: 1870 | resolution: {integrity: sha512-14PslvMY3gNbXnQtNIRB566Q057L5Fe7f5LDEamxVi0QQVxoz5hrveBwwZLcKyHtZ09ysmipxRRj5Lv+BGz2Iw==} 1871 | engines: {node: '>=14.0.0'} 1872 | dependencies: 1873 | acorn: 8.11.3 1874 | chokidar: 3.6.0 1875 | webpack-sources: 3.2.3 1876 | webpack-virtual-modules: 0.6.1 1877 | dev: false 1878 | 1879 | /vite-node/1.3.1_@types+node@20.11.25: 1880 | resolution: {integrity: sha512-azbRrqRxlWTJEVbzInZCTchx0X69M/XPTCz4H+TLvlTcR/xH/3hkRqhOakT41fMJCMzXTu4UvegkZiEoJAWvng==} 1881 | engines: {node: ^18.0.0 || >=20.0.0} 1882 | hasBin: true 1883 | dependencies: 1884 | cac: 6.7.14 1885 | debug: 4.3.4 1886 | pathe: 1.1.2 1887 | picocolors: 1.0.0 1888 | vite: 5.1.5_@types+node@20.11.25 1889 | transitivePeerDependencies: 1890 | - '@types/node' 1891 | - less 1892 | - lightningcss 1893 | - sass 1894 | - stylus 1895 | - sugarss 1896 | - supports-color 1897 | - terser 1898 | dev: true 1899 | 1900 | /vite/5.1.5_@types+node@20.11.25: 1901 | resolution: {integrity: sha512-BdN1xh0Of/oQafhU+FvopafUp6WaYenLU/NFoL5WyJL++GxkNfieKzBhM24H3HVsPQrlAqB7iJYTHabzaRed5Q==} 1902 | engines: {node: ^18.0.0 || >=20.0.0} 1903 | hasBin: true 1904 | peerDependencies: 1905 | '@types/node': ^18.0.0 || >=20.0.0 1906 | less: '*' 1907 | lightningcss: ^1.21.0 1908 | sass: '*' 1909 | stylus: '*' 1910 | sugarss: '*' 1911 | terser: ^5.4.0 1912 | peerDependenciesMeta: 1913 | '@types/node': 1914 | optional: true 1915 | less: 1916 | optional: true 1917 | lightningcss: 1918 | optional: true 1919 | sass: 1920 | optional: true 1921 | stylus: 1922 | optional: true 1923 | sugarss: 1924 | optional: true 1925 | terser: 1926 | optional: true 1927 | dependencies: 1928 | '@types/node': 20.11.25 1929 | esbuild: 0.19.12 1930 | postcss: 8.4.35 1931 | rollup: 4.12.1 1932 | optionalDependencies: 1933 | fsevents: 2.3.3 1934 | dev: true 1935 | 1936 | /vitest/1.3.1_@types+node@20.11.25: 1937 | resolution: {integrity: sha512-/1QJqXs8YbCrfv/GPQ05wAZf2eakUPLPa18vkJAKE7RXOKfVHqMZZ1WlTjiwl6Gcn65M5vpNUB6EFLnEdRdEXQ==} 1938 | engines: {node: ^18.0.0 || >=20.0.0} 1939 | hasBin: true 1940 | peerDependencies: 1941 | '@edge-runtime/vm': '*' 1942 | '@types/node': ^18.0.0 || >=20.0.0 1943 | '@vitest/browser': 1.3.1 1944 | '@vitest/ui': 1.3.1 1945 | happy-dom: '*' 1946 | jsdom: '*' 1947 | peerDependenciesMeta: 1948 | '@edge-runtime/vm': 1949 | optional: true 1950 | '@types/node': 1951 | optional: true 1952 | '@vitest/browser': 1953 | optional: true 1954 | '@vitest/ui': 1955 | optional: true 1956 | happy-dom: 1957 | optional: true 1958 | jsdom: 1959 | optional: true 1960 | dependencies: 1961 | '@types/node': 20.11.25 1962 | '@vitest/expect': 1.3.1 1963 | '@vitest/runner': 1.3.1 1964 | '@vitest/snapshot': 1.3.1 1965 | '@vitest/spy': 1.3.1 1966 | '@vitest/utils': 1.3.1 1967 | acorn-walk: 8.3.2 1968 | chai: 4.4.1 1969 | debug: 4.3.4 1970 | execa: 8.0.1 1971 | local-pkg: 0.5.0 1972 | magic-string: 0.30.8 1973 | pathe: 1.1.2 1974 | picocolors: 1.0.0 1975 | std-env: 3.7.0 1976 | strip-literal: 2.0.0 1977 | tinybench: 2.6.0 1978 | tinypool: 0.8.2 1979 | vite: 5.1.5_@types+node@20.11.25 1980 | vite-node: 1.3.1_@types+node@20.11.25 1981 | why-is-node-running: 2.2.2 1982 | transitivePeerDependencies: 1983 | - less 1984 | - lightningcss 1985 | - sass 1986 | - stylus 1987 | - sugarss 1988 | - supports-color 1989 | - terser 1990 | dev: true 1991 | 1992 | /webidl-conversions/4.0.2: 1993 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 1994 | dev: true 1995 | 1996 | /webpack-sources/3.2.3: 1997 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 1998 | engines: {node: '>=10.13.0'} 1999 | dev: false 2000 | 2001 | /webpack-virtual-modules/0.6.1: 2002 | resolution: {integrity: sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==} 2003 | dev: false 2004 | 2005 | /whatwg-url/7.1.0: 2006 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 2007 | dependencies: 2008 | lodash.sortby: 4.7.0 2009 | tr46: 1.0.1 2010 | webidl-conversions: 4.0.2 2011 | dev: true 2012 | 2013 | /which/2.0.2: 2014 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 2015 | engines: {node: '>= 8'} 2016 | hasBin: true 2017 | dependencies: 2018 | isexe: 2.0.0 2019 | dev: true 2020 | 2021 | /why-is-node-running/2.2.2: 2022 | resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==} 2023 | engines: {node: '>=8'} 2024 | hasBin: true 2025 | dependencies: 2026 | siginfo: 2.0.0 2027 | stackback: 0.0.2 2028 | dev: true 2029 | 2030 | /wrap-ansi/7.0.0: 2031 | resolution: {integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==} 2032 | engines: {node: '>=10'} 2033 | dependencies: 2034 | ansi-styles: 4.3.0 2035 | string-width: 4.2.3 2036 | strip-ansi: 6.0.1 2037 | dev: true 2038 | 2039 | /wrap-ansi/8.1.0: 2040 | resolution: {integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==} 2041 | engines: {node: '>=12'} 2042 | dependencies: 2043 | ansi-styles: 6.2.1 2044 | string-width: 5.1.2 2045 | strip-ansi: 7.1.0 2046 | dev: true 2047 | 2048 | /yallist/4.0.0: 2049 | resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} 2050 | 2051 | /yaml/2.4.1: 2052 | resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} 2053 | engines: {node: '>= 14'} 2054 | hasBin: true 2055 | dev: true 2056 | 2057 | /yocto-queue/1.0.0: 2058 | resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} 2059 | engines: {node: '>=12.20'} 2060 | dev: true 2061 | --------------------------------------------------------------------------------