├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── LICENSE ├── README.md ├── example.gif ├── package.json ├── playground ├── auto-imports.d.ts ├── components.d.ts ├── package.json ├── src │ ├── App.vue │ └── main.ts └── vite.config.ts ├── pnpm-lock.yaml ├── pnpm-workspace.yaml ├── src ├── component.ts └── index.ts ├── tsconfig.json └── tsup.config.ts /.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 | -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | auto-install-peers=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /.prettierignore: -------------------------------------------------------------------------------- 1 | __build__ 2 | dist 3 | coverage 4 | auto-imports.d.ts 5 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "semi": false, 3 | "trailingComma": "es5", 4 | "singleQuote": true 5 | } 6 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2022 vue-terminal 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # syntax-highlight 2 | 3 | Syntax highlight component for [vue-termui](https://github.com/vue-terminal/vue-termui). 4 | 5 |
6 |
7 |
8 | 9 |
10 |
11 |
12 |
13 | 14 | ## Install 15 | 16 | ```shell 17 | npm install @vue-termui/syntax-highlight 18 | ``` 19 | 20 | ## Usage 21 | 22 | ```html 23 | 29 | 30 | 35 | ``` 36 | 37 | ## Props 38 | 39 | ### code 40 | 41 | - Type: `string` 42 | 43 | Source code to highlight. 44 | 45 | ### lang 46 | 47 | - Type: [Lang](https://github.com/shikijs/shiki/blob/main/docs/languages.md) 48 | 49 | ### theme 50 | 51 | - Type: [Theme](https://github.com/shikijs/shiki/blob/main/docs/themes.md)
52 | 53 | ## Credits 54 | 55 | Syntax Highlight is based on [Shiki](https://github.com/shikijs/shiki) 56 | -------------------------------------------------------------------------------- /example.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vue-terminal/syntax-highlight/f487345c407fd21c13aee6fedf3eb129d3537ca8/example.gif -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@vue-termui/syntax-highlight", 3 | "version": "1.0.3", 4 | "description": "Syntax highlight component for vue-termui.", 5 | "type": "module", 6 | "module": "./dist/index.mjs", 7 | "types": "./dist/index.d.ts", 8 | "packageManager": "pnpm@7.12.2", 9 | "scripts": { 10 | "build": "tsup", 11 | "play:dev": "pnpm run --filter './playground' dev", 12 | "play:build": "pnpm run --filter './playground' build", 13 | "lint": "prettier --check .", 14 | "lint:fix": "prettier --write ." 15 | }, 16 | "repository": { 17 | "type": "git", 18 | "url": "git+https://github.com/vue-terminal/syntax-highlight.git" 19 | }, 20 | "exports": { 21 | ".": { 22 | "import": "./dist/index.mjs", 23 | "types": "./dist/index.d.ts" 24 | } 25 | }, 26 | "files": [ 27 | "dist/*.js", 28 | "dist/*.mjs", 29 | "dist/*.cjs", 30 | "dist/*.d.ts" 31 | ], 32 | "keywords": [ 33 | "vue-termui", 34 | "code", 35 | "syntax", 36 | "component", 37 | "syntax-highlight", 38 | "vue" 39 | ], 40 | "author": "webfansplz", 41 | "license": "MIT", 42 | "bugs": { 43 | "url": "https://github.com/vue-terminal/syntax-highlight/issues" 44 | }, 45 | "homepage": "https://github.com/vue-terminal/syntax-highlight#readme", 46 | "peerDependencies": { 47 | "@vue/runtime-core": "^3.2.41", 48 | "vue-termui": "^0.0.19" 49 | }, 50 | "devDependencies": { 51 | "@types/node": "^18.11.9", 52 | "@vue/runtime-core": "^3.2.41", 53 | "chalk": "^5.2.0", 54 | "prettier": "^2.8.0", 55 | "tsup": "^6.5.0", 56 | "typescript": "^4.9.3", 57 | "vue": "^3.2.41", 58 | "vue-termui": "0.0.17" 59 | }, 60 | "dependencies": { 61 | "shiki": "^0.11.1" 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /playground/auto-imports.d.ts: -------------------------------------------------------------------------------- 1 | // Generated by 'unplugin-auto-import' 2 | export {} 3 | declare global { 4 | const EffectScope: typeof import('vue-termui')['EffectScope'] 5 | const MouseEventType: typeof import('vue-termui')['MouseEventType'] 6 | const computed: typeof import('vue-termui')['computed'] 7 | const createApp: typeof import('vue-termui')['createApp'] 8 | const customRef: typeof import('vue-termui')['customRef'] 9 | const defineAsyncComponent: typeof import('vue-termui')['defineAsyncComponent'] 10 | const defineComponent: typeof import('vue-termui')['defineComponent'] 11 | const effectScope: typeof import('vue-termui')['effectScope'] 12 | const getCurrentInstance: typeof import('vue-termui')['getCurrentInstance'] 13 | const getCurrentScope: typeof import('vue-termui')['getCurrentScope'] 14 | const h: typeof import('vue-termui')['h'] 15 | const inject: typeof import('vue-termui')['inject'] 16 | const inputDataToString: typeof import('vue-termui')['inputDataToString'] 17 | const isInputDataEvent: typeof import('vue-termui')['isInputDataEvent'] 18 | const isKeyDataEvent: typeof import('vue-termui')['isKeyDataEvent'] 19 | const isMouseDataEvent: typeof import('vue-termui')['isMouseDataEvent'] 20 | const isReadonly: typeof import('vue-termui')['isReadonly'] 21 | const isRef: typeof import('vue-termui')['isRef'] 22 | const markRaw: typeof import('vue-termui')['markRaw'] 23 | const nextTick: typeof import('vue-termui')['nextTick'] 24 | const onActivated: typeof import('vue-termui')['onActivated'] 25 | const onBeforeMount: typeof import('vue-termui')['onBeforeMount'] 26 | const onBeforeUnmount: typeof import('vue-termui')['onBeforeUnmount'] 27 | const onBeforeUpdate: typeof import('vue-termui')['onBeforeUpdate'] 28 | const onDeactivated: typeof import('vue-termui')['onDeactivated'] 29 | const onErrorCaptured: typeof import('vue-termui')['onErrorCaptured'] 30 | const onInputData: typeof import('vue-termui')['onInputData'] 31 | const onKeyData: typeof import('vue-termui')['onKeyData'] 32 | const onMounted: typeof import('vue-termui')['onMounted'] 33 | const onMouseData: typeof import('vue-termui')['onMouseData'] 34 | const onRenderTracked: typeof import('vue-termui')['onRenderTracked'] 35 | const onRenderTriggered: typeof import('vue-termui')['onRenderTriggered'] 36 | const onScopeDispose: typeof import('vue-termui')['onScopeDispose'] 37 | const onServerPrefetch: typeof import('vue-termui')['onServerPrefetch'] 38 | const onUnmounted: typeof import('vue-termui')['onUnmounted'] 39 | const onUpdated: typeof import('vue-termui')['onUpdated'] 40 | const provide: typeof import('vue-termui')['provide'] 41 | const reactive: typeof import('vue-termui')['reactive'] 42 | const readonly: typeof import('vue-termui')['readonly'] 43 | const ref: typeof import('vue-termui')['ref'] 44 | const resolveComponent: typeof import('vue-termui')['resolveComponent'] 45 | const shallowReactive: typeof import('vue-termui')['shallowReactive'] 46 | const shallowReadonly: typeof import('vue-termui')['shallowReadonly'] 47 | const shallowRef: typeof import('vue-termui')['shallowRef'] 48 | const toRaw: typeof import('vue-termui')['toRaw'] 49 | const toRef: typeof import('vue-termui')['toRef'] 50 | const toRefs: typeof import('vue-termui')['toRefs'] 51 | const triggerRef: typeof import('vue-termui')['triggerRef'] 52 | const unref: typeof import('vue-termui')['unref'] 53 | const useAttrs: typeof import('vue-termui')['useAttrs'] 54 | const useInterval: typeof import('vue-termui')['useInterval'] 55 | const useLog: typeof import('vue-termui')['useLog'] 56 | const useRootNode: typeof import('vue-termui')['useRootNode'] 57 | const useSlots: typeof import('vue-termui')['useSlots'] 58 | const useTimeout: typeof import('vue-termui')['useTimeout'] 59 | const watch: typeof import('vue-termui')['watch'] 60 | const watchEffect: typeof import('vue-termui')['watchEffect'] 61 | } 62 | -------------------------------------------------------------------------------- /playground/components.d.ts: -------------------------------------------------------------------------------- 1 | // generated by unplugin-vue-components 2 | // We suggest you to commit this file into source control 3 | // Read more: https://github.com/vuejs/core/pull/3399 4 | import '@vue/runtime-core' 5 | 6 | export {} 7 | 8 | declare module '@vue/runtime-core' { 9 | export interface GlobalComponents { 10 | Box: typeof import('vue-termui')['TuiBox'] 11 | Text: typeof import('vue-termui')['TuiText'] 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /playground/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "playground", 3 | "private": true, 4 | "scripts": { 5 | "dev": "vtui dev", 6 | "build": "vtui build" 7 | }, 8 | "devDependencies": { 9 | "@vitejs/plugin-vue": "^3.2.0", 10 | "@vue-termui/cli": "*", 11 | "@vue/compiler-sfc": "^3.2.41", 12 | "unplugin-auto-import": "^0.11.4", 13 | "unplugin-vue-components": "^0.22.9", 14 | "vite": "^3.2.2", 15 | "vite-plugin-vue-termui": "*", 16 | "@vue-termui/syntax-highlight": "workspace:*" 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /playground/src/App.vue: -------------------------------------------------------------------------------- 1 | 26 | 27 | 51 | -------------------------------------------------------------------------------- /playground/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue-termui' 2 | import App from './App.vue' 3 | 4 | createApp(App).mount() 5 | -------------------------------------------------------------------------------- /playground/vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite' 2 | import VueTermui from 'vite-plugin-vue-termui' 3 | import { resolve } from 'path' 4 | 5 | export default defineConfig({ 6 | plugins: [VueTermui()], 7 | resolve: { 8 | alias: { 9 | '@vue-termui/syntax-highlight': resolve('../src/index.ts'), 10 | }, 11 | }, 12 | }) 13 | -------------------------------------------------------------------------------- /pnpm-lock.yaml: -------------------------------------------------------------------------------- 1 | lockfileVersion: 5.4 2 | 3 | importers: 4 | 5 | .: 6 | specifiers: 7 | '@types/node': ^18.11.9 8 | '@vue/runtime-core': ^3.2.41 9 | chalk: ^5.2.0 10 | prettier: ^2.8.0 11 | shiki: ^0.11.1 12 | tsup: ^6.5.0 13 | typescript: ^4.9.3 14 | vue: ^3.2.41 15 | vue-termui: 0.0.17 16 | dependencies: 17 | shiki: 0.11.1 18 | devDependencies: 19 | '@types/node': 18.11.9 20 | '@vue/runtime-core': 3.2.45 21 | chalk: 5.2.0 22 | prettier: 2.8.0 23 | tsup: 6.5.0_typescript@4.9.3 24 | typescript: 4.9.3 25 | vue: 3.2.45 26 | vue-termui: 0.0.17_@vue+runtime-core@3.2.45 27 | 28 | playground: 29 | specifiers: 30 | '@vitejs/plugin-vue': ^3.2.0 31 | '@vue-termui/cli': '*' 32 | '@vue-termui/syntax-highlight': workspace:* 33 | '@vue/compiler-sfc': ^3.2.41 34 | unplugin-auto-import: ^0.11.4 35 | unplugin-vue-components: ^0.22.9 36 | vite: ^3.2.2 37 | vite-plugin-vue-termui: '*' 38 | devDependencies: 39 | '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45 40 | '@vue-termui/cli': 0.0.17_knlmom4ulbw2cqpi6mmbcyvp2i 41 | '@vue-termui/syntax-highlight': link:.. 42 | '@vue/compiler-sfc': 3.2.45 43 | unplugin-auto-import: 0.11.5 44 | unplugin-vue-components: 0.22.11_vue@3.2.45 45 | vite: 3.2.4 46 | vite-plugin-vue-termui: 0.0.11_e2giwq5f6xgswi3b3jh2crkzwe 47 | 48 | packages: 49 | 50 | /@antfu/utils/0.7.0: 51 | resolution: {integrity: sha512-tH38JQEFLOdvZJC32ZbPTvWOQzxEtOQh5jOqBPDLw8sxBr0PFF+f2Csgwb7mRpD0QB1xu+PDoAifIPiCNneeNA==} 52 | dev: true 53 | 54 | /@babel/helper-string-parser/7.19.4: 55 | resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} 56 | engines: {node: '>=6.9.0'} 57 | dev: true 58 | 59 | /@babel/helper-validator-identifier/7.19.1: 60 | resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} 61 | engines: {node: '>=6.9.0'} 62 | dev: true 63 | 64 | /@babel/parser/7.20.5: 65 | resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} 66 | engines: {node: '>=6.0.0'} 67 | hasBin: true 68 | dependencies: 69 | '@babel/types': 7.20.5 70 | dev: true 71 | 72 | /@babel/types/7.20.5: 73 | resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} 74 | engines: {node: '>=6.9.0'} 75 | dependencies: 76 | '@babel/helper-string-parser': 7.19.4 77 | '@babel/helper-validator-identifier': 7.19.1 78 | to-fast-properties: 2.0.0 79 | dev: true 80 | 81 | /@esbuild/android-arm/0.15.16: 82 | resolution: {integrity: sha512-nyB6CH++2mSgx3GbnrJsZSxzne5K0HMyNIWafDHqYy7IwxFc4fd/CgHVZXr8Eh+Q3KbIAcAe3vGyqIPhGblvMQ==} 83 | engines: {node: '>=12'} 84 | cpu: [arm] 85 | os: [android] 86 | requiresBuild: true 87 | dev: true 88 | optional: true 89 | 90 | /@esbuild/linux-loong64/0.15.16: 91 | resolution: {integrity: sha512-SDLfP1uoB0HZ14CdVYgagllgrG7Mdxhkt4jDJOKl/MldKrkQ6vDJMZKl2+5XsEY/Lzz37fjgLQoJBGuAw/x8kQ==} 92 | engines: {node: '>=12'} 93 | cpu: [loong64] 94 | os: [linux] 95 | requiresBuild: true 96 | dev: true 97 | optional: true 98 | 99 | /@nodelib/fs.scandir/2.1.5: 100 | resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} 101 | engines: {node: '>= 8'} 102 | dependencies: 103 | '@nodelib/fs.stat': 2.0.5 104 | run-parallel: 1.2.0 105 | dev: true 106 | 107 | /@nodelib/fs.stat/2.0.5: 108 | resolution: {integrity: sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==} 109 | engines: {node: '>= 8'} 110 | dev: true 111 | 112 | /@nodelib/fs.walk/1.2.8: 113 | resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} 114 | engines: {node: '>= 8'} 115 | dependencies: 116 | '@nodelib/fs.scandir': 2.1.5 117 | fastq: 1.13.0 118 | dev: true 119 | 120 | /@rollup/pluginutils/5.0.2: 121 | resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} 122 | engines: {node: '>=14.0.0'} 123 | peerDependencies: 124 | rollup: ^1.20.0||^2.0.0||^3.0.0 125 | peerDependenciesMeta: 126 | rollup: 127 | optional: true 128 | dependencies: 129 | '@types/estree': 1.0.0 130 | estree-walker: 2.0.2 131 | picomatch: 2.3.1 132 | dev: true 133 | 134 | /@types/estree/1.0.0: 135 | resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} 136 | dev: true 137 | 138 | /@types/node/18.11.9: 139 | resolution: {integrity: sha512-CRpX21/kGdzjOpFsZSkcrXMGIBWMGNIHXXBVFSH+ggkftxg+XYP20TESbh+zFvFj3EQOl5byk0HTRn1IL6hbqg==} 140 | dev: true 141 | 142 | /@types/yoga-layout/1.9.2: 143 | resolution: {integrity: sha512-S9q47ByT2pPvD65IvrWp7qppVMpk9WGMbVq9wbWZOHg6tnXSD4vyhao6nOSBwwfDdV2p3Kx9evA9vI+XWTfDvw==} 144 | dev: true 145 | 146 | /@vitejs/plugin-vue/3.2.0_vite@3.2.4+vue@3.2.45: 147 | resolution: {integrity: sha512-E0tnaL4fr+qkdCNxJ+Xd0yM31UwMkQje76fsDVBBUCoGOUPexu2VDUYHL8P4CwV+zMvWw6nlRw19OnRKmYAJpw==} 148 | engines: {node: ^14.18.0 || >=16.0.0} 149 | peerDependencies: 150 | vite: ^3.0.0 151 | vue: ^3.2.25 152 | dependencies: 153 | vite: 3.2.4 154 | vue: 3.2.45 155 | dev: true 156 | 157 | /@vue-termui/cli/0.0.17_knlmom4ulbw2cqpi6mmbcyvp2i: 158 | resolution: {integrity: sha512-VkY7OVb/UVhHMP6exAwidnb+HgC1/PHdvXJxXrpTOparNI59sD6ByLv5F3MDcx6mCKbkMVAE5P1syTFF88vJNg==} 159 | engines: {node: '>=14.0.0'} 160 | hasBin: true 161 | peerDependencies: 162 | vite: ^3.1.3 163 | vite-plugin-vue-termui: '>=0.0.11' 164 | vue-termui: '>=0.0.14' 165 | dependencies: 166 | picocolors: 1.0.0 167 | vite: 3.2.4 168 | vite-node: 0.24.5 169 | vite-plugin-vue-termui: 0.0.11_e2giwq5f6xgswi3b3jh2crkzwe 170 | vue-termui: 0.0.17_@vue+runtime-core@3.2.45 171 | ws: 8.11.0 172 | transitivePeerDependencies: 173 | - '@types/node' 174 | - bufferutil 175 | - less 176 | - sass 177 | - stylus 178 | - sugarss 179 | - supports-color 180 | - terser 181 | - utf-8-validate 182 | dev: true 183 | 184 | /@vue/compiler-core/3.2.45: 185 | resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} 186 | dependencies: 187 | '@babel/parser': 7.20.5 188 | '@vue/shared': 3.2.45 189 | estree-walker: 2.0.2 190 | source-map: 0.6.1 191 | dev: true 192 | 193 | /@vue/compiler-dom/3.2.45: 194 | resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} 195 | dependencies: 196 | '@vue/compiler-core': 3.2.45 197 | '@vue/shared': 3.2.45 198 | dev: true 199 | 200 | /@vue/compiler-sfc/3.2.45: 201 | resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} 202 | dependencies: 203 | '@babel/parser': 7.20.5 204 | '@vue/compiler-core': 3.2.45 205 | '@vue/compiler-dom': 3.2.45 206 | '@vue/compiler-ssr': 3.2.45 207 | '@vue/reactivity-transform': 3.2.45 208 | '@vue/shared': 3.2.45 209 | estree-walker: 2.0.2 210 | magic-string: 0.25.9 211 | postcss: 8.4.19 212 | source-map: 0.6.1 213 | dev: true 214 | 215 | /@vue/compiler-ssr/3.2.45: 216 | resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} 217 | dependencies: 218 | '@vue/compiler-dom': 3.2.45 219 | '@vue/shared': 3.2.45 220 | dev: true 221 | 222 | /@vue/reactivity-transform/3.2.45: 223 | resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} 224 | dependencies: 225 | '@babel/parser': 7.20.5 226 | '@vue/compiler-core': 3.2.45 227 | '@vue/shared': 3.2.45 228 | estree-walker: 2.0.2 229 | magic-string: 0.25.9 230 | dev: true 231 | 232 | /@vue/reactivity/3.2.45: 233 | resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} 234 | dependencies: 235 | '@vue/shared': 3.2.45 236 | dev: true 237 | 238 | /@vue/runtime-core/3.2.45: 239 | resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} 240 | dependencies: 241 | '@vue/reactivity': 3.2.45 242 | '@vue/shared': 3.2.45 243 | dev: true 244 | 245 | /@vue/runtime-dom/3.2.45: 246 | resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} 247 | dependencies: 248 | '@vue/runtime-core': 3.2.45 249 | '@vue/shared': 3.2.45 250 | csstype: 2.6.21 251 | dev: true 252 | 253 | /@vue/server-renderer/3.2.45_vue@3.2.45: 254 | resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} 255 | peerDependencies: 256 | vue: 3.2.45 257 | dependencies: 258 | '@vue/compiler-ssr': 3.2.45 259 | '@vue/shared': 3.2.45 260 | vue: 3.2.45 261 | dev: true 262 | 263 | /@vue/shared/3.2.45: 264 | resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} 265 | dev: true 266 | 267 | /acorn/8.8.1: 268 | resolution: {integrity: sha512-7zFpHzhnqYKrkYdUjF1HI1bzd0VygEGX8lFk4k5zVMqHEoES+P+7TKI+EvLO9WVMJ8eekdO0aDEK044xTXwPPA==} 269 | engines: {node: '>=0.4.0'} 270 | hasBin: true 271 | dev: true 272 | 273 | /ansi-escapes/5.0.0: 274 | resolution: {integrity: sha512-5GFMVX8HqE/TB+FuBJGuO5XG0WrsA6ptUqoODaT/n9mmUaZFkqnBueB4leqGBCmrUHnCnC4PCZTCd0E7QQ83bA==} 275 | engines: {node: '>=12'} 276 | dependencies: 277 | type-fest: 1.4.0 278 | dev: true 279 | 280 | /ansi-escapes/6.0.0: 281 | resolution: {integrity: sha512-IG23inYII3dWlU2EyiAiGj6Bwal5GzsgPMwjYGvc1HPE2dgbj4ZB5ToWBKSquKw74nB3TIuOwaI6/jSULzfgrw==} 282 | engines: {node: '>=14.16'} 283 | dependencies: 284 | type-fest: 3.3.0 285 | dev: true 286 | 287 | /ansi-regex/6.0.1: 288 | resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} 289 | engines: {node: '>=12'} 290 | dev: true 291 | 292 | /ansi-styles/6.2.1: 293 | resolution: {integrity: sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==} 294 | engines: {node: '>=12'} 295 | dev: true 296 | 297 | /any-promise/1.3.0: 298 | resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} 299 | dev: true 300 | 301 | /anymatch/3.1.3: 302 | resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} 303 | engines: {node: '>= 8'} 304 | dependencies: 305 | normalize-path: 3.0.0 306 | picomatch: 2.3.1 307 | dev: true 308 | 309 | /array-union/2.1.0: 310 | resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} 311 | engines: {node: '>=8'} 312 | dev: true 313 | 314 | /balanced-match/1.0.2: 315 | resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} 316 | dev: true 317 | 318 | /binary-extensions/2.2.0: 319 | resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} 320 | engines: {node: '>=8'} 321 | dev: true 322 | 323 | /brace-expansion/1.1.11: 324 | resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} 325 | dependencies: 326 | balanced-match: 1.0.2 327 | concat-map: 0.0.1 328 | dev: true 329 | 330 | /brace-expansion/2.0.1: 331 | resolution: {integrity: sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==} 332 | dependencies: 333 | balanced-match: 1.0.2 334 | dev: true 335 | 336 | /braces/3.0.2: 337 | resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} 338 | engines: {node: '>=8'} 339 | dependencies: 340 | fill-range: 7.0.1 341 | dev: true 342 | 343 | /bundle-require/3.1.2_esbuild@0.15.16: 344 | resolution: {integrity: sha512-Of6l6JBAxiyQ5axFxUM6dYeP/W7X2Sozeo/4EYB9sJhL+dqL7TKjg+shwxp6jlu/6ZSERfsYtIpSJ1/x3XkAEA==} 345 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 346 | peerDependencies: 347 | esbuild: '>=0.13' 348 | dependencies: 349 | esbuild: 0.15.16 350 | load-tsconfig: 0.2.3 351 | dev: true 352 | 353 | /cac/6.7.14: 354 | resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} 355 | engines: {node: '>=8'} 356 | dev: true 357 | 358 | /chalk/5.2.0: 359 | resolution: {integrity: sha512-ree3Gqw/nazQAPuJJEy+avdl7QfZMcUvmHIKgEZkGL+xOBzRvup5Hxo6LHuMceSxOabuJLJm5Yp/92R9eMmMvA==} 360 | engines: {node: ^12.17.0 || ^14.13 || >=16.0.0} 361 | dev: true 362 | 363 | /chokidar/3.5.3: 364 | resolution: {integrity: sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==} 365 | engines: {node: '>= 8.10.0'} 366 | dependencies: 367 | anymatch: 3.1.3 368 | braces: 3.0.2 369 | glob-parent: 5.1.2 370 | is-binary-path: 2.1.0 371 | is-glob: 4.0.3 372 | normalize-path: 3.0.0 373 | readdirp: 3.6.0 374 | optionalDependencies: 375 | fsevents: 2.3.2 376 | dev: true 377 | 378 | /cli-boxes/3.0.0: 379 | resolution: {integrity: sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==} 380 | engines: {node: '>=10'} 381 | dev: true 382 | 383 | /cli-cursor/4.0.0: 384 | resolution: {integrity: sha512-VGtlMu3x/4DOtIUwEkRezxUZ2lBacNJCHash0N0WeZDBS+7Ux1dm3XWAgWYxLJFMMdOeXMHXorshEFhbMSGelg==} 385 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 386 | dependencies: 387 | restore-cursor: 4.0.0 388 | dev: true 389 | 390 | /cli-truncate/3.1.0: 391 | resolution: {integrity: sha512-wfOBkjXteqSnI59oPcJkcPl/ZmwvMMOj340qUIY1SKZCv0B9Cf4D4fAucRkIKQmsIuYK3x1rrgU7MeGRruiuiA==} 392 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 393 | dependencies: 394 | slice-ansi: 5.0.0 395 | string-width: 5.1.2 396 | dev: true 397 | 398 | /commander/4.1.1: 399 | resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} 400 | engines: {node: '>= 6'} 401 | dev: true 402 | 403 | /concat-map/0.0.1: 404 | resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} 405 | dev: true 406 | 407 | /cross-spawn/7.0.3: 408 | resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} 409 | engines: {node: '>= 8'} 410 | dependencies: 411 | path-key: 3.1.1 412 | shebang-command: 2.0.0 413 | which: 2.0.2 414 | dev: true 415 | 416 | /csstype/2.6.21: 417 | resolution: {integrity: sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w==} 418 | dev: true 419 | 420 | /debug/4.3.4: 421 | resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} 422 | engines: {node: '>=6.0'} 423 | peerDependencies: 424 | supports-color: '*' 425 | peerDependenciesMeta: 426 | supports-color: 427 | optional: true 428 | dependencies: 429 | ms: 2.1.2 430 | dev: true 431 | 432 | /dir-glob/3.0.1: 433 | resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} 434 | engines: {node: '>=8'} 435 | dependencies: 436 | path-type: 4.0.0 437 | dev: true 438 | 439 | /eastasianwidth/0.2.0: 440 | resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} 441 | dev: true 442 | 443 | /emoji-regex/9.2.2: 444 | resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} 445 | dev: true 446 | 447 | /esbuild-android-64/0.15.16: 448 | resolution: {integrity: sha512-Vwkv/sT0zMSgPSVO3Jlt1pUbnZuOgtOQJkJkyyJFAlLe7BiT8e9ESzo0zQSx4c3wW4T6kGChmKDPMbWTgtliQA==} 449 | engines: {node: '>=12'} 450 | cpu: [x64] 451 | os: [android] 452 | requiresBuild: true 453 | dev: true 454 | optional: true 455 | 456 | /esbuild-android-arm64/0.15.16: 457 | resolution: {integrity: sha512-lqfKuofMExL5niNV3gnhMUYacSXfsvzTa/58sDlBET/hCOG99Zmeh+lz6kvdgvGOsImeo6J9SW21rFCogNPLxg==} 458 | engines: {node: '>=12'} 459 | cpu: [arm64] 460 | os: [android] 461 | requiresBuild: true 462 | dev: true 463 | optional: true 464 | 465 | /esbuild-darwin-64/0.15.16: 466 | resolution: {integrity: sha512-wo2VWk/n/9V2TmqUZ/KpzRjCEcr00n7yahEdmtzlrfQ3lfMCf3Wa+0sqHAbjk3C6CKkR3WKK/whkMq5Gj4Da9g==} 467 | engines: {node: '>=12'} 468 | cpu: [x64] 469 | os: [darwin] 470 | requiresBuild: true 471 | dev: true 472 | optional: true 473 | 474 | /esbuild-darwin-arm64/0.15.16: 475 | resolution: {integrity: sha512-fMXaUr5ou0M4WnewBKsspMtX++C1yIa3nJ5R2LSbLCfJT3uFdcRoU/NZjoM4kOMKyOD9Sa/2vlgN8G07K3SJnw==} 476 | engines: {node: '>=12'} 477 | cpu: [arm64] 478 | os: [darwin] 479 | requiresBuild: true 480 | dev: true 481 | optional: true 482 | 483 | /esbuild-freebsd-64/0.15.16: 484 | resolution: {integrity: sha512-UzIc0xlRx5x9kRuMr+E3+hlSOxa/aRqfuMfiYBXu2jJ8Mzej4lGL7+o6F5hzhLqWfWm1GWHNakIdlqg1ayaTNQ==} 485 | engines: {node: '>=12'} 486 | cpu: [x64] 487 | os: [freebsd] 488 | requiresBuild: true 489 | dev: true 490 | optional: true 491 | 492 | /esbuild-freebsd-arm64/0.15.16: 493 | resolution: {integrity: sha512-8xyiYuGc0DLZphFQIiYaLHlfoP+hAN9RHbE+Ibh8EUcDNHAqbQgUrQg7pE7Bo00rXmQ5Ap6KFgcR0b4ALZls1g==} 494 | engines: {node: '>=12'} 495 | cpu: [arm64] 496 | os: [freebsd] 497 | requiresBuild: true 498 | dev: true 499 | optional: true 500 | 501 | /esbuild-linux-32/0.15.16: 502 | resolution: {integrity: sha512-iGijUTV+0kIMyUVoynK0v+32Oi8yyp0xwMzX69GX+5+AniNy/C/AL1MjFTsozRp/3xQPl7jVux/PLe2ds10/2w==} 503 | engines: {node: '>=12'} 504 | cpu: [ia32] 505 | os: [linux] 506 | requiresBuild: true 507 | dev: true 508 | optional: true 509 | 510 | /esbuild-linux-64/0.15.16: 511 | resolution: {integrity: sha512-tuSOjXdLw7VzaUj89fIdAaQT7zFGbKBcz4YxbWrOiXkwscYgE7HtTxUavreBbnRkGxKwr9iT/gmeJWNm4djy/g==} 512 | engines: {node: '>=12'} 513 | cpu: [x64] 514 | os: [linux] 515 | requiresBuild: true 516 | dev: true 517 | optional: true 518 | 519 | /esbuild-linux-arm/0.15.16: 520 | resolution: {integrity: sha512-XKcrxCEXDTOuoRj5l12tJnkvuxXBMKwEC5j0JISw3ziLf0j4zIwXbKbTmUrKFWbo6ZgvNpa7Y5dnbsjVvH39bQ==} 521 | engines: {node: '>=12'} 522 | cpu: [arm] 523 | os: [linux] 524 | requiresBuild: true 525 | dev: true 526 | optional: true 527 | 528 | /esbuild-linux-arm64/0.15.16: 529 | resolution: {integrity: sha512-mPYksnfHnemNrvjrDhZyixL/AfbJN0Xn9S34ZOHYdh6/jJcNd8iTsv3JwJoEvTJqjMggjMhGUPJAdjnFBHoH8A==} 530 | engines: {node: '>=12'} 531 | cpu: [arm64] 532 | os: [linux] 533 | requiresBuild: true 534 | dev: true 535 | optional: true 536 | 537 | /esbuild-linux-mips64le/0.15.16: 538 | resolution: {integrity: sha512-kSJO2PXaxfm0pWY39+YX+QtpFqyyrcp0ZeI8QPTrcFVQoWEPiPVtOfTZeS3ZKedfH+Ga38c4DSzmKMQJocQv6A==} 539 | engines: {node: '>=12'} 540 | cpu: [mips64el] 541 | os: [linux] 542 | requiresBuild: true 543 | dev: true 544 | optional: true 545 | 546 | /esbuild-linux-ppc64le/0.15.16: 547 | resolution: {integrity: sha512-NimPikwkBY0yGABw6SlhKrtT35sU4O23xkhlrTT/O6lSxv3Pm5iSc6OYaqVAHWkLdVf31bF4UDVFO+D990WpAA==} 548 | engines: {node: '>=12'} 549 | cpu: [ppc64] 550 | os: [linux] 551 | requiresBuild: true 552 | dev: true 553 | optional: true 554 | 555 | /esbuild-linux-riscv64/0.15.16: 556 | resolution: {integrity: sha512-ty2YUHZlwFOwp7pR+J87M4CVrXJIf5ZZtU/umpxgVJBXvWjhziSLEQxvl30SYfUPq0nzeWKBGw5i/DieiHeKfw==} 557 | engines: {node: '>=12'} 558 | cpu: [riscv64] 559 | os: [linux] 560 | requiresBuild: true 561 | dev: true 562 | optional: true 563 | 564 | /esbuild-linux-s390x/0.15.16: 565 | resolution: {integrity: sha512-VkZaGssvPDQtx4fvVdZ9czezmyWyzpQhEbSNsHZZN0BHvxRLOYAQ7sjay8nMQwYswP6O2KlZluRMNPYefFRs+w==} 566 | engines: {node: '>=12'} 567 | cpu: [s390x] 568 | os: [linux] 569 | requiresBuild: true 570 | dev: true 571 | optional: true 572 | 573 | /esbuild-netbsd-64/0.15.16: 574 | resolution: {integrity: sha512-ElQ9rhdY51et6MJTWrCPbqOd/YuPowD7Cxx3ee8wlmXQQVW7UvQI6nSprJ9uVFQISqSF5e5EWpwWqXZsECLvXg==} 575 | engines: {node: '>=12'} 576 | cpu: [x64] 577 | os: [netbsd] 578 | requiresBuild: true 579 | dev: true 580 | optional: true 581 | 582 | /esbuild-openbsd-64/0.15.16: 583 | resolution: {integrity: sha512-KgxMHyxMCT+NdLQE1zVJEsLSt2QQBAvJfmUGDmgEq8Fvjrf6vSKB00dVHUEDKcJwMID6CdgCpvYNt999tIYhqA==} 584 | engines: {node: '>=12'} 585 | cpu: [x64] 586 | os: [openbsd] 587 | requiresBuild: true 588 | dev: true 589 | optional: true 590 | 591 | /esbuild-sunos-64/0.15.16: 592 | resolution: {integrity: sha512-exSAx8Phj7QylXHlMfIyEfNrmqnLxFqLxdQF6MBHPdHAjT7fsKaX6XIJn+aQEFiOcE4X8e7VvdMCJ+WDZxjSRQ==} 593 | engines: {node: '>=12'} 594 | cpu: [x64] 595 | os: [sunos] 596 | requiresBuild: true 597 | dev: true 598 | optional: true 599 | 600 | /esbuild-windows-32/0.15.16: 601 | resolution: {integrity: sha512-zQgWpY5pUCSTOwqKQ6/vOCJfRssTvxFuEkpB4f2VUGPBpdddZfdj8hbZuFRdZRPIVHvN7juGcpgCA/XCF37mAQ==} 602 | engines: {node: '>=12'} 603 | cpu: [ia32] 604 | os: [win32] 605 | requiresBuild: true 606 | dev: true 607 | optional: true 608 | 609 | /esbuild-windows-64/0.15.16: 610 | resolution: {integrity: sha512-HjW1hHRLSncnM3MBCP7iquatHVJq9l0S2xxsHHj4yzf4nm9TU4Z7k4NkeMlD/dHQ4jPlQQhwcMvwbJiOefSuZw==} 611 | engines: {node: '>=12'} 612 | cpu: [x64] 613 | os: [win32] 614 | requiresBuild: true 615 | dev: true 616 | optional: true 617 | 618 | /esbuild-windows-arm64/0.15.16: 619 | resolution: {integrity: sha512-oCcUKrJaMn04Vxy9Ekd8x23O8LoU01+4NOkQ2iBToKgnGj5eo1vU9i27NQZ9qC8NFZgnQQZg5oZWAejmbsppNA==} 620 | engines: {node: '>=12'} 621 | cpu: [arm64] 622 | os: [win32] 623 | requiresBuild: true 624 | dev: true 625 | optional: true 626 | 627 | /esbuild/0.15.16: 628 | resolution: {integrity: sha512-o6iS9zxdHrrojjlj6pNGC2NAg86ECZqIETswTM5KmJitq+R1YmahhWtMumeQp9lHqJaROGnsBi2RLawGnfo5ZQ==} 629 | engines: {node: '>=12'} 630 | hasBin: true 631 | requiresBuild: true 632 | optionalDependencies: 633 | '@esbuild/android-arm': 0.15.16 634 | '@esbuild/linux-loong64': 0.15.16 635 | esbuild-android-64: 0.15.16 636 | esbuild-android-arm64: 0.15.16 637 | esbuild-darwin-64: 0.15.16 638 | esbuild-darwin-arm64: 0.15.16 639 | esbuild-freebsd-64: 0.15.16 640 | esbuild-freebsd-arm64: 0.15.16 641 | esbuild-linux-32: 0.15.16 642 | esbuild-linux-64: 0.15.16 643 | esbuild-linux-arm: 0.15.16 644 | esbuild-linux-arm64: 0.15.16 645 | esbuild-linux-mips64le: 0.15.16 646 | esbuild-linux-ppc64le: 0.15.16 647 | esbuild-linux-riscv64: 0.15.16 648 | esbuild-linux-s390x: 0.15.16 649 | esbuild-netbsd-64: 0.15.16 650 | esbuild-openbsd-64: 0.15.16 651 | esbuild-sunos-64: 0.15.16 652 | esbuild-windows-32: 0.15.16 653 | esbuild-windows-64: 0.15.16 654 | esbuild-windows-arm64: 0.15.16 655 | dev: true 656 | 657 | /escape-string-regexp/5.0.0: 658 | resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==} 659 | engines: {node: '>=12'} 660 | dev: true 661 | 662 | /estree-walker/2.0.2: 663 | resolution: {integrity: sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==} 664 | dev: true 665 | 666 | /execa/5.1.1: 667 | resolution: {integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==} 668 | engines: {node: '>=10'} 669 | dependencies: 670 | cross-spawn: 7.0.3 671 | get-stream: 6.0.1 672 | human-signals: 2.1.0 673 | is-stream: 2.0.1 674 | merge-stream: 2.0.0 675 | npm-run-path: 4.0.1 676 | onetime: 5.1.2 677 | signal-exit: 3.0.7 678 | strip-final-newline: 2.0.0 679 | dev: true 680 | 681 | /fast-glob/3.2.12: 682 | resolution: {integrity: sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==} 683 | engines: {node: '>=8.6.0'} 684 | dependencies: 685 | '@nodelib/fs.stat': 2.0.5 686 | '@nodelib/fs.walk': 1.2.8 687 | glob-parent: 5.1.2 688 | merge2: 1.4.1 689 | micromatch: 4.0.5 690 | dev: true 691 | 692 | /fastq/1.13.0: 693 | resolution: {integrity: sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==} 694 | dependencies: 695 | reusify: 1.0.4 696 | dev: true 697 | 698 | /fill-range/7.0.1: 699 | resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} 700 | engines: {node: '>=8'} 701 | dependencies: 702 | to-regex-range: 5.0.1 703 | dev: true 704 | 705 | /fs.realpath/1.0.0: 706 | resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} 707 | dev: true 708 | 709 | /fsevents/2.3.2: 710 | resolution: {integrity: sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==} 711 | engines: {node: ^8.16.0 || ^10.6.0 || >=11.0.0} 712 | os: [darwin] 713 | requiresBuild: true 714 | dev: true 715 | optional: true 716 | 717 | /function-bind/1.1.1: 718 | resolution: {integrity: sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==} 719 | dev: true 720 | 721 | /get-stream/6.0.1: 722 | resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==} 723 | engines: {node: '>=10'} 724 | dev: true 725 | 726 | /glob-parent/5.1.2: 727 | resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} 728 | engines: {node: '>= 6'} 729 | dependencies: 730 | is-glob: 4.0.3 731 | dev: true 732 | 733 | /glob/7.1.6: 734 | resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} 735 | dependencies: 736 | fs.realpath: 1.0.0 737 | inflight: 1.0.6 738 | inherits: 2.0.4 739 | minimatch: 3.1.2 740 | once: 1.4.0 741 | path-is-absolute: 1.0.1 742 | dev: true 743 | 744 | /globby/11.1.0: 745 | resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} 746 | engines: {node: '>=10'} 747 | dependencies: 748 | array-union: 2.1.0 749 | dir-glob: 3.0.1 750 | fast-glob: 3.2.12 751 | ignore: 5.2.1 752 | merge2: 1.4.1 753 | slash: 3.0.0 754 | dev: true 755 | 756 | /has-flag/4.0.0: 757 | resolution: {integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==} 758 | engines: {node: '>=8'} 759 | dev: true 760 | 761 | /has/1.0.3: 762 | resolution: {integrity: sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==} 763 | engines: {node: '>= 0.4.0'} 764 | dependencies: 765 | function-bind: 1.1.1 766 | dev: true 767 | 768 | /human-signals/2.1.0: 769 | resolution: {integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==} 770 | engines: {node: '>=10.17.0'} 771 | dev: true 772 | 773 | /ignore/5.2.1: 774 | resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} 775 | engines: {node: '>= 4'} 776 | dev: true 777 | 778 | /indent-string/5.0.0: 779 | resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} 780 | engines: {node: '>=12'} 781 | dev: true 782 | 783 | /inflight/1.0.6: 784 | resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==} 785 | dependencies: 786 | once: 1.4.0 787 | wrappy: 1.0.2 788 | dev: true 789 | 790 | /inherits/2.0.4: 791 | resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} 792 | dev: true 793 | 794 | /is-binary-path/2.1.0: 795 | resolution: {integrity: sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==} 796 | engines: {node: '>=8'} 797 | dependencies: 798 | binary-extensions: 2.2.0 799 | dev: true 800 | 801 | /is-core-module/2.11.0: 802 | resolution: {integrity: sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw==} 803 | dependencies: 804 | has: 1.0.3 805 | dev: true 806 | 807 | /is-extglob/2.1.1: 808 | resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} 809 | engines: {node: '>=0.10.0'} 810 | dev: true 811 | 812 | /is-fullwidth-code-point/4.0.0: 813 | resolution: {integrity: sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==} 814 | engines: {node: '>=12'} 815 | dev: true 816 | 817 | /is-glob/4.0.3: 818 | resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} 819 | engines: {node: '>=0.10.0'} 820 | dependencies: 821 | is-extglob: 2.1.1 822 | dev: true 823 | 824 | /is-number/7.0.0: 825 | resolution: {integrity: sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==} 826 | engines: {node: '>=0.12.0'} 827 | dev: true 828 | 829 | /is-stream/2.0.1: 830 | resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} 831 | engines: {node: '>=8'} 832 | dev: true 833 | 834 | /isexe/2.0.0: 835 | resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} 836 | dev: true 837 | 838 | /joycon/3.1.1: 839 | resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} 840 | engines: {node: '>=10'} 841 | dev: true 842 | 843 | /jsonc-parser/3.2.0: 844 | resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} 845 | 846 | /lilconfig/2.0.6: 847 | resolution: {integrity: sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==} 848 | engines: {node: '>=10'} 849 | dev: true 850 | 851 | /lines-and-columns/1.2.4: 852 | resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} 853 | dev: true 854 | 855 | /load-tsconfig/0.2.3: 856 | resolution: {integrity: sha512-iyT2MXws+dc2Wi6o3grCFtGXpeMvHmJqS27sMPGtV2eUu4PeFnG+33I8BlFK1t1NWMjOpcx9bridn5yxLDX2gQ==} 857 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 858 | dev: true 859 | 860 | /local-pkg/0.4.2: 861 | resolution: {integrity: sha512-mlERgSPrbxU3BP4qBqAvvwlgW4MTg78iwJdGGnv7kibKjWcJksrG3t6LB5lXI93wXRDvG4NpUgJFmTG4T6rdrg==} 862 | engines: {node: '>=14'} 863 | dev: true 864 | 865 | /lodash.sortby/4.7.0: 866 | resolution: {integrity: sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==} 867 | dev: true 868 | 869 | /magic-string/0.25.9: 870 | resolution: {integrity: sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==} 871 | dependencies: 872 | sourcemap-codec: 1.4.8 873 | dev: true 874 | 875 | /magic-string/0.26.7: 876 | resolution: {integrity: sha512-hX9XH3ziStPoPhJxLq1syWuZMxbDvGNbVchfrdCtanC7D13888bMFow61x8axrx+GfHLtVeAx2kxL7tTGRl+Ow==} 877 | engines: {node: '>=12'} 878 | dependencies: 879 | sourcemap-codec: 1.4.8 880 | dev: true 881 | 882 | /merge-stream/2.0.0: 883 | resolution: {integrity: sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==} 884 | dev: true 885 | 886 | /merge2/1.4.1: 887 | resolution: {integrity: sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==} 888 | engines: {node: '>= 8'} 889 | dev: true 890 | 891 | /micromatch/4.0.5: 892 | resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} 893 | engines: {node: '>=8.6'} 894 | dependencies: 895 | braces: 3.0.2 896 | picomatch: 2.3.1 897 | dev: true 898 | 899 | /mimic-fn/2.1.0: 900 | resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} 901 | engines: {node: '>=6'} 902 | dev: true 903 | 904 | /minimatch/3.1.2: 905 | resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} 906 | dependencies: 907 | brace-expansion: 1.1.11 908 | dev: true 909 | 910 | /minimatch/5.1.0: 911 | resolution: {integrity: sha512-9TPBGGak4nHfGZsPBohm9AWg6NoT7QTCehS3BIJABslyZbzxfV78QM2Y6+i741OPZIafFAaiiEMh5OyIrJPgtg==} 912 | engines: {node: '>=10'} 913 | dependencies: 914 | brace-expansion: 2.0.1 915 | dev: true 916 | 917 | /mlly/0.5.17: 918 | resolution: {integrity: sha512-Rn+ai4G+CQXptDFSRNnChEgNr+xAEauYhwRvpPl/UHStTlgkIftplgJRsA2OXPuoUn86K4XAjB26+x5CEvVb6A==} 919 | dependencies: 920 | acorn: 8.8.1 921 | pathe: 1.0.0 922 | pkg-types: 1.0.1 923 | ufo: 1.0.1 924 | dev: true 925 | 926 | /mlly/1.0.0: 927 | resolution: {integrity: sha512-QL108Hwt+u9bXdWgOI0dhzZfACovn5Aen4Xvc8Jasd9ouRH4NjnrXEiyP3nVvJo91zPlYjVRckta0Nt2zfoR6g==} 928 | dependencies: 929 | acorn: 8.8.1 930 | pathe: 1.0.0 931 | pkg-types: 1.0.1 932 | ufo: 1.0.1 933 | dev: true 934 | 935 | /ms/2.1.2: 936 | resolution: {integrity: sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==} 937 | dev: true 938 | 939 | /mz/2.7.0: 940 | resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} 941 | dependencies: 942 | any-promise: 1.3.0 943 | object-assign: 4.1.1 944 | thenify-all: 1.6.0 945 | dev: true 946 | 947 | /nanoid/3.3.4: 948 | resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} 949 | engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} 950 | hasBin: true 951 | dev: true 952 | 953 | /normalize-path/3.0.0: 954 | resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} 955 | engines: {node: '>=0.10.0'} 956 | dev: true 957 | 958 | /npm-run-path/4.0.1: 959 | resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} 960 | engines: {node: '>=8'} 961 | dependencies: 962 | path-key: 3.1.1 963 | dev: true 964 | 965 | /object-assign/4.1.1: 966 | resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} 967 | engines: {node: '>=0.10.0'} 968 | dev: true 969 | 970 | /once/1.4.0: 971 | resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} 972 | dependencies: 973 | wrappy: 1.0.2 974 | dev: true 975 | 976 | /onetime/5.1.2: 977 | resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} 978 | engines: {node: '>=6'} 979 | dependencies: 980 | mimic-fn: 2.1.0 981 | dev: true 982 | 983 | /path-is-absolute/1.0.1: 984 | resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} 985 | engines: {node: '>=0.10.0'} 986 | dev: true 987 | 988 | /path-key/3.1.1: 989 | resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} 990 | engines: {node: '>=8'} 991 | dev: true 992 | 993 | /path-parse/1.0.7: 994 | resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} 995 | dev: true 996 | 997 | /path-type/4.0.0: 998 | resolution: {integrity: sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==} 999 | engines: {node: '>=8'} 1000 | dev: true 1001 | 1002 | /pathe/0.2.0: 1003 | resolution: {integrity: sha512-sTitTPYnn23esFR3RlqYBWn4c45WGeLcsKzQiUpXJAyfcWkolvlYpV8FLo7JishK946oQwMFUCHXQ9AjGPKExw==} 1004 | dev: true 1005 | 1006 | /pathe/1.0.0: 1007 | resolution: {integrity: sha512-nPdMG0Pd09HuSsr7QOKUXO2Jr9eqaDiZvDwdyIhNG5SHYujkQHYKDfGQkulBxvbDHz8oHLsTgKN86LSwYzSHAg==} 1008 | dev: true 1009 | 1010 | /picocolors/1.0.0: 1011 | resolution: {integrity: sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==} 1012 | dev: true 1013 | 1014 | /picomatch/2.3.1: 1015 | resolution: {integrity: sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==} 1016 | engines: {node: '>=8.6'} 1017 | dev: true 1018 | 1019 | /pirates/4.0.5: 1020 | resolution: {integrity: sha512-8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==} 1021 | engines: {node: '>= 6'} 1022 | dev: true 1023 | 1024 | /pkg-types/1.0.1: 1025 | resolution: {integrity: sha512-jHv9HB+Ho7dj6ItwppRDDl0iZRYBD0jsakHXtFgoLr+cHSF6xC+QL54sJmWxyGxOLYSHm0afhXhXcQDQqH9z8g==} 1026 | dependencies: 1027 | jsonc-parser: 3.2.0 1028 | mlly: 1.0.0 1029 | pathe: 1.0.0 1030 | dev: true 1031 | 1032 | /postcss-load-config/3.1.4: 1033 | resolution: {integrity: sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==} 1034 | engines: {node: '>= 10'} 1035 | peerDependencies: 1036 | postcss: '>=8.0.9' 1037 | ts-node: '>=9.0.0' 1038 | peerDependenciesMeta: 1039 | postcss: 1040 | optional: true 1041 | ts-node: 1042 | optional: true 1043 | dependencies: 1044 | lilconfig: 2.0.6 1045 | yaml: 1.10.2 1046 | dev: true 1047 | 1048 | /postcss/8.4.19: 1049 | resolution: {integrity: sha512-h+pbPsyhlYj6N2ozBmHhHrs9DzGmbaarbLvWipMRO7RLS+v4onj26MPFXA5OBYFxyqYhUJK456SwDcY9H2/zsA==} 1050 | engines: {node: ^10 || ^12 || >=14} 1051 | dependencies: 1052 | nanoid: 3.3.4 1053 | picocolors: 1.0.0 1054 | source-map-js: 1.0.2 1055 | dev: true 1056 | 1057 | /prettier/2.8.0: 1058 | resolution: {integrity: sha512-9Lmg8hTFZKG0Asr/kW9Bp8tJjRVluO8EJQVfY2T7FMw9T5jy4I/Uvx0Rca/XWf50QQ1/SS48+6IJWnrb+2yemA==} 1059 | engines: {node: '>=10.13.0'} 1060 | hasBin: true 1061 | dev: true 1062 | 1063 | /punycode/2.1.1: 1064 | resolution: {integrity: sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==} 1065 | engines: {node: '>=6'} 1066 | dev: true 1067 | 1068 | /queue-microtask/1.2.3: 1069 | resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} 1070 | dev: true 1071 | 1072 | /readdirp/3.6.0: 1073 | resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} 1074 | engines: {node: '>=8.10.0'} 1075 | dependencies: 1076 | picomatch: 2.3.1 1077 | dev: true 1078 | 1079 | /resolve-from/5.0.0: 1080 | resolution: {integrity: sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==} 1081 | engines: {node: '>=8'} 1082 | dev: true 1083 | 1084 | /resolve/1.22.1: 1085 | resolution: {integrity: sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw==} 1086 | hasBin: true 1087 | dependencies: 1088 | is-core-module: 2.11.0 1089 | path-parse: 1.0.7 1090 | supports-preserve-symlinks-flag: 1.0.0 1091 | dev: true 1092 | 1093 | /restore-cursor/4.0.0: 1094 | resolution: {integrity: sha512-I9fPXU9geO9bHOt9pHHOhOkYerIMsmVaWB0rA2AI9ERh/+x/i7MV5HKBNrg+ljO5eoPVgCcnFuRjJ9uH6I/3eg==} 1095 | engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} 1096 | dependencies: 1097 | onetime: 5.1.2 1098 | signal-exit: 3.0.7 1099 | dev: true 1100 | 1101 | /reusify/1.0.4: 1102 | resolution: {integrity: sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==} 1103 | engines: {iojs: '>=1.0.0', node: '>=0.10.0'} 1104 | dev: true 1105 | 1106 | /rollup/2.79.1: 1107 | resolution: {integrity: sha512-uKxbd0IhMZOhjAiD5oAFp7BqvkA4Dv47qpOCtaNvng4HBwdbWtdOh8f5nZNuk2rp51PMGk3bzfWu5oayNEuYnw==} 1108 | engines: {node: '>=10.0.0'} 1109 | hasBin: true 1110 | optionalDependencies: 1111 | fsevents: 2.3.2 1112 | dev: true 1113 | 1114 | /rollup/3.5.0: 1115 | resolution: {integrity: sha512-TYu2L+TGhmNsXCtByont89u+ATQLcDy6A+++PwLXYunRtOm7XnaD+65s1pvewaOxMYR0eOkMXn9/i0saBxxpnQ==} 1116 | engines: {node: '>=14.18.0', npm: '>=8.0.0'} 1117 | hasBin: true 1118 | optionalDependencies: 1119 | fsevents: 2.3.2 1120 | dev: true 1121 | 1122 | /run-parallel/1.2.0: 1123 | resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} 1124 | dependencies: 1125 | queue-microtask: 1.2.3 1126 | dev: true 1127 | 1128 | /scule/1.0.0: 1129 | resolution: {integrity: sha512-4AsO/FrViE/iDNEPaAQlb77tf0csuq27EsVpy6ett584EcRTp6pTDLoGWVxCD77y5iU5FauOvhsI4o1APwPoSQ==} 1130 | dev: true 1131 | 1132 | /shebang-command/2.0.0: 1133 | resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} 1134 | engines: {node: '>=8'} 1135 | dependencies: 1136 | shebang-regex: 3.0.0 1137 | dev: true 1138 | 1139 | /shebang-regex/3.0.0: 1140 | resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} 1141 | engines: {node: '>=8'} 1142 | dev: true 1143 | 1144 | /shiki/0.11.1: 1145 | resolution: {integrity: sha512-EugY9VASFuDqOexOgXR18ZV+TbFrQHeCpEYaXamO+SZlsnT/2LxuLBX25GGtIrwaEVFXUAbUQ601SWE2rMwWHA==} 1146 | dependencies: 1147 | jsonc-parser: 3.2.0 1148 | vscode-oniguruma: 1.7.0 1149 | vscode-textmate: 6.0.0 1150 | dev: false 1151 | 1152 | /signal-exit/3.0.7: 1153 | resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} 1154 | dev: true 1155 | 1156 | /slash/3.0.0: 1157 | resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} 1158 | engines: {node: '>=8'} 1159 | dev: true 1160 | 1161 | /slice-ansi/5.0.0: 1162 | resolution: {integrity: sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==} 1163 | engines: {node: '>=12'} 1164 | dependencies: 1165 | ansi-styles: 6.2.1 1166 | is-fullwidth-code-point: 4.0.0 1167 | dev: true 1168 | 1169 | /source-map-js/1.0.2: 1170 | resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} 1171 | engines: {node: '>=0.10.0'} 1172 | dev: true 1173 | 1174 | /source-map/0.6.1: 1175 | resolution: {integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==} 1176 | engines: {node: '>=0.10.0'} 1177 | dev: true 1178 | 1179 | /source-map/0.8.0-beta.0: 1180 | resolution: {integrity: sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==} 1181 | engines: {node: '>= 8'} 1182 | dependencies: 1183 | whatwg-url: 7.1.0 1184 | dev: true 1185 | 1186 | /sourcemap-codec/1.4.8: 1187 | resolution: {integrity: sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==} 1188 | dev: true 1189 | 1190 | /string-width/5.1.2: 1191 | resolution: {integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==} 1192 | engines: {node: '>=12'} 1193 | dependencies: 1194 | eastasianwidth: 0.2.0 1195 | emoji-regex: 9.2.2 1196 | strip-ansi: 7.0.1 1197 | dev: true 1198 | 1199 | /strip-ansi/7.0.1: 1200 | resolution: {integrity: sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==} 1201 | engines: {node: '>=12'} 1202 | dependencies: 1203 | ansi-regex: 6.0.1 1204 | dev: true 1205 | 1206 | /strip-final-newline/2.0.0: 1207 | resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} 1208 | engines: {node: '>=6'} 1209 | dev: true 1210 | 1211 | /strip-literal/1.0.0: 1212 | resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==} 1213 | dependencies: 1214 | acorn: 8.8.1 1215 | dev: true 1216 | 1217 | /sucrase/3.29.0: 1218 | resolution: {integrity: sha512-bZPAuGA5SdFHuzqIhTAqt9fvNEo9rESqXIG3oiKdF8K4UmkQxC4KlNL3lVyAErXp+mPvUqZ5l13qx6TrDIGf3A==} 1219 | engines: {node: '>=8'} 1220 | hasBin: true 1221 | dependencies: 1222 | commander: 4.1.1 1223 | glob: 7.1.6 1224 | lines-and-columns: 1.2.4 1225 | mz: 2.7.0 1226 | pirates: 4.0.5 1227 | ts-interface-checker: 0.1.13 1228 | dev: true 1229 | 1230 | /supports-color/7.2.0: 1231 | resolution: {integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==} 1232 | engines: {node: '>=8'} 1233 | dependencies: 1234 | has-flag: 4.0.0 1235 | dev: true 1236 | 1237 | /supports-hyperlinks/2.3.0: 1238 | resolution: {integrity: sha512-RpsAZlpWcDwOPQA22aCH4J0t7L8JmAvsCxfOSEwm7cQs3LshN36QaTkwd70DnBOXDWGssw2eUoc8CaRWT0XunA==} 1239 | engines: {node: '>=8'} 1240 | dependencies: 1241 | has-flag: 4.0.0 1242 | supports-color: 7.2.0 1243 | dev: true 1244 | 1245 | /supports-preserve-symlinks-flag/1.0.0: 1246 | resolution: {integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==} 1247 | engines: {node: '>= 0.4'} 1248 | dev: true 1249 | 1250 | /terminal-link/3.0.0: 1251 | resolution: {integrity: sha512-flFL3m4wuixmf6IfhFJd1YPiLiMuxEc8uHRM1buzIeZPm22Au2pDqBJQgdo7n1WfPU1ONFGv7YDwpFBmHGF6lg==} 1252 | engines: {node: '>=12'} 1253 | dependencies: 1254 | ansi-escapes: 5.0.0 1255 | supports-hyperlinks: 2.3.0 1256 | dev: true 1257 | 1258 | /thenify-all/1.6.0: 1259 | resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} 1260 | engines: {node: '>=0.8'} 1261 | dependencies: 1262 | thenify: 3.3.1 1263 | dev: true 1264 | 1265 | /thenify/3.3.1: 1266 | resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} 1267 | dependencies: 1268 | any-promise: 1.3.0 1269 | dev: true 1270 | 1271 | /to-fast-properties/2.0.0: 1272 | resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} 1273 | engines: {node: '>=4'} 1274 | dev: true 1275 | 1276 | /to-regex-range/5.0.1: 1277 | resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} 1278 | engines: {node: '>=8.0'} 1279 | dependencies: 1280 | is-number: 7.0.0 1281 | dev: true 1282 | 1283 | /tr46/1.0.1: 1284 | resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} 1285 | dependencies: 1286 | punycode: 2.1.1 1287 | dev: true 1288 | 1289 | /tree-kill/1.2.2: 1290 | resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} 1291 | hasBin: true 1292 | dev: true 1293 | 1294 | /ts-interface-checker/0.1.13: 1295 | resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} 1296 | dev: true 1297 | 1298 | /tsup/6.5.0_typescript@4.9.3: 1299 | resolution: {integrity: sha512-36u82r7rYqRHFkD15R20Cd4ercPkbYmuvRkz3Q1LCm5BsiFNUgpo36zbjVhCOgvjyxNBWNKHsaD5Rl8SykfzNA==} 1300 | engines: {node: '>=14'} 1301 | hasBin: true 1302 | peerDependencies: 1303 | '@swc/core': ^1 1304 | postcss: ^8.4.12 1305 | typescript: ^4.1.0 1306 | peerDependenciesMeta: 1307 | '@swc/core': 1308 | optional: true 1309 | postcss: 1310 | optional: true 1311 | typescript: 1312 | optional: true 1313 | dependencies: 1314 | bundle-require: 3.1.2_esbuild@0.15.16 1315 | cac: 6.7.14 1316 | chokidar: 3.5.3 1317 | debug: 4.3.4 1318 | esbuild: 0.15.16 1319 | execa: 5.1.1 1320 | globby: 11.1.0 1321 | joycon: 3.1.1 1322 | postcss-load-config: 3.1.4 1323 | resolve-from: 5.0.0 1324 | rollup: 3.5.0 1325 | source-map: 0.8.0-beta.0 1326 | sucrase: 3.29.0 1327 | tree-kill: 1.2.2 1328 | typescript: 4.9.3 1329 | transitivePeerDependencies: 1330 | - supports-color 1331 | - ts-node 1332 | dev: true 1333 | 1334 | /type-fest/1.4.0: 1335 | resolution: {integrity: sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA==} 1336 | engines: {node: '>=10'} 1337 | dev: true 1338 | 1339 | /type-fest/3.3.0: 1340 | resolution: {integrity: sha512-gezeeOIZyQLGW5uuCeEnXF1aXmtt2afKspXz3YqoOcZ3l/YMJq1pujvgT+cz/Nw1O/7q/kSav5fihJHsC/AOUg==} 1341 | engines: {node: '>=14.16'} 1342 | dev: true 1343 | 1344 | /typescript/4.9.3: 1345 | resolution: {integrity: sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==} 1346 | engines: {node: '>=4.2.0'} 1347 | hasBin: true 1348 | dev: true 1349 | 1350 | /ufo/1.0.1: 1351 | resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==} 1352 | dev: true 1353 | 1354 | /unimport/1.0.1: 1355 | resolution: {integrity: sha512-SEPKl3uyqUvi6c0MnyCmUF9H07CuC9j9p2p33F03LmegU0sxjpnjL0fLKAhh7BTfcKaJKj+1iOiAFtg7P3m5mQ==} 1356 | dependencies: 1357 | '@rollup/pluginutils': 5.0.2 1358 | escape-string-regexp: 5.0.0 1359 | fast-glob: 3.2.12 1360 | local-pkg: 0.4.2 1361 | magic-string: 0.26.7 1362 | mlly: 1.0.0 1363 | pathe: 1.0.0 1364 | pkg-types: 1.0.1 1365 | scule: 1.0.0 1366 | strip-literal: 1.0.0 1367 | unplugin: 1.0.0 1368 | transitivePeerDependencies: 1369 | - rollup 1370 | dev: true 1371 | 1372 | /unplugin-auto-import/0.11.5: 1373 | resolution: {integrity: sha512-nvbL2AQwLRR8wbHpJ6L1EBVNmjN045RSedTa4NtsGRkSQFXkI1iKHs4dTqJwcKZsnFrZOAKtLPiN1/oQTObLZw==} 1374 | engines: {node: '>=14'} 1375 | peerDependencies: 1376 | '@vueuse/core': '*' 1377 | peerDependenciesMeta: 1378 | '@vueuse/core': 1379 | optional: true 1380 | dependencies: 1381 | '@antfu/utils': 0.7.0 1382 | '@rollup/pluginutils': 5.0.2 1383 | local-pkg: 0.4.2 1384 | magic-string: 0.26.7 1385 | unimport: 1.0.1 1386 | unplugin: 1.0.0 1387 | transitivePeerDependencies: 1388 | - rollup 1389 | dev: true 1390 | 1391 | /unplugin-vue-components/0.22.11_vue@3.2.45: 1392 | resolution: {integrity: sha512-GTzqPl0Ek8fq8qMufjR6hvtnjnSwMpJ1Rg2Ez9AcKZVp1piWoU/Q4FDnI9wHVKX8eenYL0nqAF3ejYAk1TUfqQ==} 1393 | engines: {node: '>=14'} 1394 | peerDependencies: 1395 | '@babel/parser': ^7.15.8 1396 | vue: 2 || 3 1397 | peerDependenciesMeta: 1398 | '@babel/parser': 1399 | optional: true 1400 | dependencies: 1401 | '@antfu/utils': 0.7.0 1402 | '@rollup/pluginutils': 5.0.2 1403 | chokidar: 3.5.3 1404 | debug: 4.3.4 1405 | fast-glob: 3.2.12 1406 | local-pkg: 0.4.2 1407 | magic-string: 0.26.7 1408 | minimatch: 5.1.0 1409 | resolve: 1.22.1 1410 | unplugin: 1.0.0 1411 | vue: 3.2.45 1412 | transitivePeerDependencies: 1413 | - rollup 1414 | - supports-color 1415 | dev: true 1416 | 1417 | /unplugin/1.0.0: 1418 | resolution: {integrity: sha512-H5UnBUxfhTXBXGo2AwKsl0UaLSHzSNDZNehPQSgdhVfO/t+XAS1Yoj3vmLrrlBrS9ZwtH5tejbX/TCp5DcyCKg==} 1419 | dependencies: 1420 | acorn: 8.8.1 1421 | chokidar: 3.5.3 1422 | webpack-sources: 3.2.3 1423 | webpack-virtual-modules: 0.4.6 1424 | dev: true 1425 | 1426 | /vite-node/0.24.5: 1427 | resolution: {integrity: sha512-+xnJaYu1i+2eCsycRO2QF1vxne13b2nL6nF+O8EzdF/X+ohPujysjwij3ZbX3AZ+j8HWYzjlRlKPdlHVyaNzwQ==} 1428 | engines: {node: '>=v14.16.0'} 1429 | hasBin: true 1430 | dependencies: 1431 | debug: 4.3.4 1432 | mlly: 0.5.17 1433 | pathe: 0.2.0 1434 | vite: 3.2.4 1435 | transitivePeerDependencies: 1436 | - '@types/node' 1437 | - less 1438 | - sass 1439 | - stylus 1440 | - sugarss 1441 | - supports-color 1442 | - terser 1443 | dev: true 1444 | 1445 | /vite-plugin-vue-termui/0.0.11_e2giwq5f6xgswi3b3jh2crkzwe: 1446 | resolution: {integrity: sha512-Ty/FhfVaQfEQvlm5rBNEH/AXw8H+6/LiazxmqIkyfnKt3Ual7PlND/wJcLqpHFjkomQsxuTQee2pTFf6Ja3Yaw==} 1447 | peerDependencies: 1448 | '@vitejs/plugin-vue': ^3.0.3 1449 | unplugin-auto-import: ^0.11.2 1450 | unplugin-vue-components: ^0.22.4 1451 | vue: ^3.2.25 1452 | vue-termui: '>=0.0.14' 1453 | dependencies: 1454 | '@vitejs/plugin-vue': 3.2.0_vite@3.2.4+vue@3.2.45 1455 | unplugin-auto-import: 0.11.5 1456 | unplugin-vue-components: 0.22.11_vue@3.2.45 1457 | vue: 3.2.45 1458 | vue-termui: 0.0.17_@vue+runtime-core@3.2.45 1459 | dev: true 1460 | 1461 | /vite/3.2.4: 1462 | resolution: {integrity: sha512-Z2X6SRAffOUYTa+sLy3NQ7nlHFU100xwanq1WDwqaiFiCe+25zdxP1TfCS5ojPV2oDDcXudHIoPnI1Z/66B7Yw==} 1463 | engines: {node: ^14.18.0 || >=16.0.0} 1464 | hasBin: true 1465 | peerDependencies: 1466 | '@types/node': '>= 14' 1467 | less: '*' 1468 | sass: '*' 1469 | stylus: '*' 1470 | sugarss: '*' 1471 | terser: ^5.4.0 1472 | peerDependenciesMeta: 1473 | '@types/node': 1474 | optional: true 1475 | less: 1476 | optional: true 1477 | sass: 1478 | optional: true 1479 | stylus: 1480 | optional: true 1481 | sugarss: 1482 | optional: true 1483 | terser: 1484 | optional: true 1485 | dependencies: 1486 | esbuild: 0.15.16 1487 | postcss: 8.4.19 1488 | resolve: 1.22.1 1489 | rollup: 2.79.1 1490 | optionalDependencies: 1491 | fsevents: 2.3.2 1492 | dev: true 1493 | 1494 | /vscode-oniguruma/1.7.0: 1495 | resolution: {integrity: sha512-L9WMGRfrjOhgHSdOYgCt/yRMsXzLDJSL7BPrOZt73gU0iWO4mpqzqQzOz5srxqTvMBaR0XZTSrVWo4j55Rc6cA==} 1496 | 1497 | /vscode-textmate/6.0.0: 1498 | resolution: {integrity: sha512-gu73tuZfJgu+mvCSy4UZwd2JXykjK9zAZsfmDeut5dx/1a7FeTk0XwJsSuqQn+cuMCGVbIBfl+s53X4T19DnzQ==} 1499 | 1500 | /vue-termui/0.0.17_@vue+runtime-core@3.2.45: 1501 | resolution: {integrity: sha512-H2of0sxZQ1W2Aji41eUpo+E8wPXu2kMPJ5MmkHKsX2b5YriX8iqmSRwzykhY5AK9UFbZ+Q/FpyzA2IiaLgmxww==} 1502 | engines: {node: '>=14.0.0'} 1503 | peerDependencies: 1504 | '@vue/runtime-core': ^3.2.33 1505 | dependencies: 1506 | '@vue/runtime-core': 3.2.45 1507 | ansi-escapes: 6.0.0 1508 | chalk: 5.2.0 1509 | cli-boxes: 3.0.0 1510 | cli-cursor: 4.0.0 1511 | cli-truncate: 3.1.0 1512 | indent-string: 5.0.0 1513 | slice-ansi: 5.0.0 1514 | string-width: 5.1.2 1515 | terminal-link: 3.0.0 1516 | type-fest: 3.3.0 1517 | widest-line: 4.0.1 1518 | wrap-ansi: 8.0.1 1519 | ws: 8.11.0 1520 | yoga-layout-prebuilt: 1.10.0 1521 | transitivePeerDependencies: 1522 | - bufferutil 1523 | - utf-8-validate 1524 | dev: true 1525 | 1526 | /vue/3.2.45: 1527 | resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} 1528 | dependencies: 1529 | '@vue/compiler-dom': 3.2.45 1530 | '@vue/compiler-sfc': 3.2.45 1531 | '@vue/runtime-dom': 3.2.45 1532 | '@vue/server-renderer': 3.2.45_vue@3.2.45 1533 | '@vue/shared': 3.2.45 1534 | dev: true 1535 | 1536 | /webidl-conversions/4.0.2: 1537 | resolution: {integrity: sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==} 1538 | dev: true 1539 | 1540 | /webpack-sources/3.2.3: 1541 | resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} 1542 | engines: {node: '>=10.13.0'} 1543 | dev: true 1544 | 1545 | /webpack-virtual-modules/0.4.6: 1546 | resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} 1547 | dev: true 1548 | 1549 | /whatwg-url/7.1.0: 1550 | resolution: {integrity: sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==} 1551 | dependencies: 1552 | lodash.sortby: 4.7.0 1553 | tr46: 1.0.1 1554 | webidl-conversions: 4.0.2 1555 | dev: true 1556 | 1557 | /which/2.0.2: 1558 | resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} 1559 | engines: {node: '>= 8'} 1560 | hasBin: true 1561 | dependencies: 1562 | isexe: 2.0.0 1563 | dev: true 1564 | 1565 | /widest-line/4.0.1: 1566 | resolution: {integrity: sha512-o0cyEG0e8GPzT4iGHphIOh0cJOV8fivsXxddQasHPHfoZf1ZexrfeA21w2NaEN1RHE+fXlfISmOE8R9N3u3Qig==} 1567 | engines: {node: '>=12'} 1568 | dependencies: 1569 | string-width: 5.1.2 1570 | dev: true 1571 | 1572 | /wrap-ansi/8.0.1: 1573 | resolution: {integrity: sha512-QFF+ufAqhoYHvoHdajT/Po7KoXVBPXS2bgjIam5isfWJPfIOnQZ50JtUiVvCv/sjgacf3yRrt2ZKUZ/V4itN4g==} 1574 | engines: {node: '>=12'} 1575 | dependencies: 1576 | ansi-styles: 6.2.1 1577 | string-width: 5.1.2 1578 | strip-ansi: 7.0.1 1579 | dev: true 1580 | 1581 | /wrappy/1.0.2: 1582 | resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} 1583 | dev: true 1584 | 1585 | /ws/8.11.0: 1586 | resolution: {integrity: sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==} 1587 | engines: {node: '>=10.0.0'} 1588 | peerDependencies: 1589 | bufferutil: ^4.0.1 1590 | utf-8-validate: ^5.0.2 1591 | peerDependenciesMeta: 1592 | bufferutil: 1593 | optional: true 1594 | utf-8-validate: 1595 | optional: true 1596 | dev: true 1597 | 1598 | /yaml/1.10.2: 1599 | resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} 1600 | engines: {node: '>= 6'} 1601 | dev: true 1602 | 1603 | /yoga-layout-prebuilt/1.10.0: 1604 | resolution: {integrity: sha512-YnOmtSbv4MTf7RGJMK0FvZ+KD8OEe/J5BNnR0GHhD8J/XcG/Qvxgszm0Un6FTHWW4uHlTgP0IztiXQnGyIR45g==} 1605 | engines: {node: '>=8'} 1606 | dependencies: 1607 | '@types/yoga-layout': 1.9.2 1608 | dev: true 1609 | -------------------------------------------------------------------------------- /pnpm-workspace.yaml: -------------------------------------------------------------------------------- 1 | packages: 2 | - playground 3 | -------------------------------------------------------------------------------- /src/component.ts: -------------------------------------------------------------------------------- 1 | import { TuiTextTransform } from 'vue-termui' 2 | import { defineComponent, h, PropType, ref, watch } from '@vue/runtime-core' 3 | import { getHighlighter, Highlighter, Lang, Theme } from 'shiki' 4 | import c from 'chalk' 5 | 6 | const shiki = ref() 7 | let shikiLoading: Promise | undefined 8 | 9 | export const SyntaxHighlight = defineComponent({ 10 | props: { 11 | theme: { 12 | type: String as PropType, 13 | default: 'vitesse-dark', 14 | }, 15 | code: { 16 | type: String, 17 | required: true, 18 | }, 19 | lang: { 20 | type: String as PropType, 21 | required: true, 22 | }, 23 | }, 24 | setup(props, { slots }) { 25 | if (!shikiLoading && !shiki.value) { 26 | shikiLoading = getHighlighter({ 27 | theme: props.theme, 28 | langs: [props.lang], 29 | }).then((hl) => { 30 | shiki.value = hl 31 | }) 32 | } 33 | 34 | const isLoading = ref(true) 35 | 36 | watch( 37 | () => [shiki.value, props.theme, props.lang], 38 | () => { 39 | if (shiki.value) load(shiki.value) 40 | }, 41 | { immediate: true } 42 | ) 43 | 44 | function load(shiki: Highlighter) { 45 | isLoading.value = true 46 | 47 | Promise.all([ 48 | shiki.loadTheme(props.theme), 49 | shiki.loadLanguage(props.lang), 50 | ]) 51 | .catch() 52 | .finally(() => { 53 | isLoading.value = false 54 | }) 55 | } 56 | 57 | return () => 58 | h( 59 | TuiTextTransform, 60 | { 61 | transform: (text) => { 62 | if (isLoading.value) return text 63 | 64 | const tokens = shiki.value?.codeToThemedTokens( 65 | text, 66 | props.lang, 67 | props.theme 68 | ) 69 | if (!tokens) return text 70 | 71 | const result = tokens 72 | .map((line) => 73 | line 74 | .map((token) => 75 | token.color 76 | ? c.hex(token.color)(token.content) 77 | : token.content 78 | ) 79 | .join('') 80 | ) 81 | .join('\n') 82 | 83 | return result 84 | }, 85 | }, 86 | () => slots.default?.() ?? props.code 87 | ) 88 | }, 89 | }) 90 | -------------------------------------------------------------------------------- /src/index.ts: -------------------------------------------------------------------------------- 1 | import { SyntaxHighlight } from './component' 2 | 3 | export default SyntaxHighlight 4 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "include": [ 3 | "src", 4 | "src/**/*.ts", 5 | "playground/**/*.vue", 6 | "playground/**/*.ts", 7 | "*.d.ts" 8 | ], 9 | "compilerOptions": { 10 | "target": "esnext", 11 | "useDefineForClassFields": true, 12 | "module": "esnext", 13 | "moduleResolution": "node", 14 | "strict": true, 15 | "jsx": "preserve", 16 | "sourceMap": true, 17 | "resolveJsonModule": true, 18 | "esModuleInterop": true, 19 | "lib": ["esnext"] 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /tsup.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'tsup' 2 | 3 | export default defineConfig({ 4 | clean: true, 5 | target: 'node14', 6 | format: ['esm', 'cjs'], 7 | dts: true, 8 | esbuildOptions(options) { 9 | if (options.format === 'esm') options.outExtension = { '.js': '.mjs' } 10 | }, 11 | entry: ['src/index.ts'], 12 | external: ['vue-termui', '@vue/runtime-core'], 13 | }) 14 | --------------------------------------------------------------------------------