├── src ├── index.ts └── VueTurnstile.vue ├── .vscode └── extensions.json ├── .prettierrc ├── tsconfig.node.json ├── .gitignore ├── vite.config.ts ├── tsconfig.json ├── LICENSE.md ├── package.json ├── README.md └── yarn.lock /src/index.ts: -------------------------------------------------------------------------------- 1 | import VueTurnstile from './VueTurnstile.vue'; 2 | 3 | export default VueTurnstile; 4 | -------------------------------------------------------------------------------- /.vscode/extensions.json: -------------------------------------------------------------------------------- 1 | { 2 | "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] 3 | } 4 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 120, 3 | "trailingComma": "all", 4 | "singleQuote": true, 5 | "tabWidth": 2, 6 | "useTabs": false 7 | } -------------------------------------------------------------------------------- /tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true 7 | }, 8 | "include": ["vite.config.ts"] 9 | } 10 | -------------------------------------------------------------------------------- /.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 | *.tgz 15 | 16 | # Editor directories and files 17 | .vscode/* 18 | !.vscode/extensions.json 19 | .idea 20 | .DS_Store 21 | *.suo 22 | *.ntvs* 23 | *.njsproj 24 | *.sln 25 | *.sw? -------------------------------------------------------------------------------- /vite.config.ts: -------------------------------------------------------------------------------- 1 | import { defineConfig } from 'vite'; 2 | import { resolve } from 'path'; 3 | import vue from '@vitejs/plugin-vue'; 4 | 5 | // https://vitejs.dev/config/ 6 | export default defineConfig({ 7 | plugins: [vue()], 8 | build: { 9 | lib: { 10 | entry: resolve(__dirname, 'src/index.ts'), 11 | name: 'VueTurnstile', 12 | fileName: 'vue-turnstile', 13 | }, 14 | rollupOptions: { 15 | external: ['vue'], 16 | output: { 17 | globals: { 18 | vue: 'Vue', 19 | }, 20 | }, 21 | }, 22 | }, 23 | }); 24 | -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "ESNext", 4 | "useDefineForClassFields": true, 5 | "module": "ESNext", 6 | "moduleResolution": "Node", 7 | "strict": true, 8 | "jsx": "preserve", 9 | "sourceMap": true, 10 | "resolveJsonModule": true, 11 | "isolatedModules": true, 12 | "esModuleInterop": true, 13 | "lib": ["ESNext", "DOM"], 14 | "skipLibCheck": true, 15 | "outDir": "dist", 16 | "declaration": true 17 | }, 18 | "include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue", "src/index.ts"], 19 | "references": [{ "path": "./tsconfig.node.json" }] 20 | } 21 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 Rui Gomes 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 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "vue-turnstile", 3 | "version": "1.0.11", 4 | "description": "Vue library for Cloudflare Turnstile CAPTCHA alternative", 5 | "type": "module", 6 | "files": [ 7 | "dist" 8 | ], 9 | "main": "./dist/vue-turnstile.umd.cjs", 10 | "module": "./dist/vue-turnstile.js", 11 | "types": "./dist/VueTurnstile.vue.d.ts", 12 | "exports": { 13 | ".": { 14 | "types": "./dist/VueTurnstile.vue.d.ts", 15 | "import": "./dist/vue-turnstile.js", 16 | "require": "./dist/vue-turnstile.umd.cjs" 17 | } 18 | }, 19 | "scripts": { 20 | "dev": "vite", 21 | "build": "vite build && vue-tsc --emitDeclarationOnly", 22 | "preview": "vite preview" 23 | }, 24 | "homepage": "https://github.com/ruigomeseu/vue-turnstile", 25 | "author": { 26 | "name": "Rui Gomes", 27 | "email": "hello@ruigomes.me", 28 | "url": "https://ruigomes.me" 29 | }, 30 | "license": "MIT", 31 | "repository": { 32 | "type": "git", 33 | "url": "https://github.com/ruigomeseu/vue-turnstile" 34 | }, 35 | "keywords": [ 36 | "cloudflare", 37 | "turnstile", 38 | "vue", 39 | "captcha", 40 | "vue3", 41 | "library" 42 | ], 43 | "peerDependencies": { 44 | "vue": "^3.2.45" 45 | }, 46 | "devDependencies": { 47 | "@types/node": "^18.11.18", 48 | "@vitejs/plugin-vue": "^4.0.0", 49 | "prettier": "^2.8.1", 50 | "typescript": "^4.9.3", 51 | "vite": "^4.0.0", 52 | "vue": "^3.2.45", 53 | "vue-tsc": "^1.0.11" 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # vue-turnstile 2 | 3 | [![npm version](https://badge.fury.io/js/vue-turnstile.svg)](https://www.npmjs.com/package/vue-turnstile) 4 | 5 | A [Cloudflare Turnstile](https://developers.cloudflare.com/turnstile/) library for Vue 3 6 | 7 | ## Installation 8 | 9 | Add `vue-turnstile` to your Javascript project dependencies using Yarn: 10 | 11 | ```bash 12 | yarn add vue-turnstile 13 | ``` 14 | 15 | Or NPM: 16 | 17 | ```bash 18 | npm install vue-turnstile --save 19 | ``` 20 | 21 | ## Usage 22 | 23 | ```vue 24 | 37 | 38 | 44 | ``` 45 | 46 | ## Customization options 47 | 48 | | Prop | Type | Description | Required | Default | 49 | | --------------- | --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------- | ---------- | 50 | | site-key | `String` | Your Turnstile sitekey - [Docs](https://developers.cloudflare.com/turnstile/get-started/) | Yes | N/A | 51 | | v-model | `String` | Binding that contains the token returned by the Turnstile widget | Yes | N/A | 52 | | reset-interval | `Number` | Get a fresh token after `reset-interval` milliseconds - Turnstile tokens only last for 5 minutes | No | `295000` | 53 | | size | `'normal' \| 'flexible' \| 'compact'` | Widget size | No | `'normal'` | 54 | | theme | `'light' \| 'dark' \| 'auto'` | Widget theme - auto respects the user's browser preference | No | `'auto'` | 55 | | action | `String` | A customer value that can be used to differentiate widgets under the same sitekey in analytics and which is returned upon validation. | No | `''` | 56 | | appearance | `'always' \| 'execute' \| 'interaction-only'` | Appearance controls when the widget is visible - [Docs](https://developers.cloudflare.com/turnstile/get-started/client-side-rendering/#appearance-modes) | No | `'always'` | 57 | | render-on-mount | `Boolean` | Automatically render Turnstile widget after component mounts | No | `true` | 58 | | language | `String` | Language to display - ISO 639-1 two-letter language code - [Supported languages](https://developers.cloudflare.com/turnstile/reference/supported-languages/) | No | `auto` | 59 | 60 | ## Methods 61 | 62 | | Method | Description | 63 | | ---------- | ------------------ | 64 | | `reset()` | Resets the widget | 65 | | `render()` | Renders the widget | 66 | 67 | 68 | ## Events 69 | 70 | | Method | Params | Description | 71 | | ------------------------ | ------- | ------------------------------------------------------------------------------------- | 72 | | `@error` | `code` | Callback invoked when there is an error (e.g. network error or the challenge failed). | 73 | | `@unsupported` | - | Callback invoked when a given client/browser is not supported by Turnstile. | 74 | | `@expired` | - | Callback invoked when the token expires and does not reset the widget. | 75 | | `@before-interactive` | - | Callback invoked before the challenge enters interactive mode. | 76 | | `@after-interactive` | - | callback invoked when challenge has left interactive mode. | 77 | 78 | 79 | ## Author 80 | 81 | Rui Gomes 82 | https://ruigomes.me 83 | 84 | ## License 85 | 86 | The MIT License (MIT). Please see [LICENSE file](https://github.com/ruigomeseu/vue-turnstile/blob/main/LICENSE.md) for more information. 87 | -------------------------------------------------------------------------------- /src/VueTurnstile.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 197 | -------------------------------------------------------------------------------- /yarn.lock: -------------------------------------------------------------------------------- 1 | # THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY. 2 | # yarn lockfile v1 3 | 4 | 5 | "@babel/parser@^7.16.4": 6 | version "7.20.7" 7 | resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.20.7.tgz#66fe23b3c8569220817d5feb8b9dcdc95bb4f71b" 8 | integrity sha512-T3Z9oHybU+0vZlY9CiDSJQTD5ZapcW18ZctFMi0MOAl/4BjFF4ul7NVSARLdbGO5vDqy9eQiGTV0LtKfvCYvcg== 9 | 10 | "@esbuild/android-arm64@0.16.12": 11 | version "0.16.12" 12 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.16.12.tgz#86c4fdd7c0d65fe9dcbe138fbe72720658ec3b88" 13 | integrity sha512-0LacmiIW+X0/LOLMZqYtZ7d4uY9fxYABAYhSSOu+OGQVBqH4N5eIYgkT7bBFnR4Nm3qo6qS3RpHKVrDASqj/uQ== 14 | 15 | "@esbuild/android-arm@0.16.12": 16 | version "0.16.12" 17 | resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.16.12.tgz#15e33bb1c8c2f560fbb27cda227c0fa22d83d0ef" 18 | integrity sha512-CTWgMJtpCyCltrvipZrrcjjRu+rzm6pf9V8muCsJqtKujR3kPmU4ffbckvugNNaRmhxAF1ZI3J+0FUIFLFg8KA== 19 | 20 | "@esbuild/android-x64@0.16.12": 21 | version "0.16.12" 22 | resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.16.12.tgz#3b0ddaf59fdf94e8e9fcb2aa6537cbab93d5fe22" 23 | integrity sha512-sS5CR3XBKQXYpSGMM28VuiUnbX83Z+aWPZzClW+OB2JquKqxoiwdqucJ5qvXS8pM6Up3RtJfDnRQZkz3en2z5g== 24 | 25 | "@esbuild/darwin-arm64@0.16.12": 26 | version "0.16.12" 27 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.16.12.tgz#ac6c5d85cabf20de5047b55eab7f3c252d9aae71" 28 | integrity sha512-Dpe5hOAQiQRH20YkFAg+wOpcd4PEuXud+aGgKBQa/VriPJA8zuVlgCOSTwna1CgYl05lf6o5els4dtuyk1qJxQ== 29 | 30 | "@esbuild/darwin-x64@0.16.12": 31 | version "0.16.12" 32 | resolved "https://registry.yarnpkg.com/@esbuild/darwin-x64/-/darwin-x64-0.16.12.tgz#3433e6432dd474994302bcfe35c5420fae46a206" 33 | integrity sha512-ApGRA6X5txIcxV0095X4e4KKv87HAEXfuDRcGTniDWUUN+qPia8sl/BqG/0IomytQWajnUn4C7TOwHduk/FXBQ== 34 | 35 | "@esbuild/freebsd-arm64@0.16.12": 36 | version "0.16.12" 37 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.12.tgz#b150587dc54dc2369cb826e6ee9f94fc5ec14635" 38 | integrity sha512-AMdK2gA9EU83ccXCWS1B/KcWYZCj4P3vDofZZkl/F/sBv/fphi2oUqUTox/g5GMcIxk8CF1CVYTC82+iBSyiUg== 39 | 40 | "@esbuild/freebsd-x64@0.16.12": 41 | version "0.16.12" 42 | resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.16.12.tgz#e682a61cde8d6332aaeb4c2b28fce0d833928903" 43 | integrity sha512-KUKB9w8G/xaAbD39t6gnRBuhQ8vIYYlxGT2I+mT6UGRnCGRr1+ePFIGBQmf5V16nxylgUuuWVW1zU2ktKkf6WQ== 44 | 45 | "@esbuild/linux-arm64@0.16.12": 46 | version "0.16.12" 47 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.16.12.tgz#d0d75e10796d4f1414ecaf16a8071ce05446cb9f" 48 | integrity sha512-29HXMLpLklDfmw7T2buGqq3HImSUaZ1ArmrPOMaNiZZQptOSZs32SQtOHEl8xWX5vfdwZqrBfNf8Te4nArVzKQ== 49 | 50 | "@esbuild/linux-arm@0.16.12": 51 | version "0.16.12" 52 | resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.16.12.tgz#945ebcd99205fadea5ee22bff624189bd95c0484" 53 | integrity sha512-vhDdIv6z4eL0FJyNVfdr3C/vdd/Wc6h1683GJsFoJzfKb92dU/v88FhWdigg0i6+3TsbSDeWbsPUXb4dif2abg== 54 | 55 | "@esbuild/linux-ia32@0.16.12": 56 | version "0.16.12" 57 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.16.12.tgz#132e61b2124eee6033bf7f0d5b312c02524d39db" 58 | integrity sha512-JFDuNDTTfgD1LJg7wHA42o2uAO/9VzHYK0leAVnCQE/FdMB599YMH73ux+nS0xGr79pv/BK+hrmdRin3iLgQjg== 59 | 60 | "@esbuild/linux-loong64@0.16.12": 61 | version "0.16.12" 62 | resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.16.12.tgz#d27dc1e203c0d0516c1daadb7988f88b643f8ea2" 63 | integrity sha512-xTGzVPqm6WKfCC0iuj1fryIWr1NWEM8DMhAIo+4rFgUtwy/lfHl+Obvus4oddzRDbBetLLmojfVZGmt/g/g+Rw== 64 | 65 | "@esbuild/linux-mips64el@0.16.12": 66 | version "0.16.12" 67 | resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.16.12.tgz#9616c378ca76f12d06ffaf242da68a58be966a18" 68 | integrity sha512-zI1cNgHa3Gol+vPYjIYHzKhU6qMyOQrvZ82REr5Fv7rlh5PG6SkkuCoH7IryPqR+BK2c/7oISGsvPJPGnO2bHQ== 69 | 70 | "@esbuild/linux-ppc64@0.16.12": 71 | version "0.16.12" 72 | resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.16.12.tgz#b033a248212249c05c162b64124744345a041f92" 73 | integrity sha512-/C8OFXExoMmvTDIOAM54AhtmmuDHKoedUd0Otpfw3+AuuVGemA1nQK99oN909uZbLEU6Bi+7JheFMG3xGfZluQ== 74 | 75 | "@esbuild/linux-riscv64@0.16.12": 76 | version "0.16.12" 77 | resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.16.12.tgz#b6476abff413b5b472e6cf093086b9d5be4553a8" 78 | integrity sha512-qeouyyc8kAGV6Ni6Isz8hUsKMr00EHgVwUKWNp1r4l88fHEoNTDB8mmestvykW6MrstoGI7g2EAsgr0nxmuGYg== 79 | 80 | "@esbuild/linux-s390x@0.16.12": 81 | version "0.16.12" 82 | resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.16.12.tgz#981a639f8c2a2e0646f47eba0fae7c2c270b208b" 83 | integrity sha512-s9AyI/5vz1U4NNqnacEGFElqwnHusWa81pskAf8JNDM2eb6b2E6PpBmT8RzeZv6/TxE6/TADn2g9bb0jOUmXwQ== 84 | 85 | "@esbuild/linux-x64@0.16.12": 86 | version "0.16.12" 87 | resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.16.12.tgz#01b777229d8baf068eeeb7cd7c396aea4d1ebd36" 88 | integrity sha512-e8YA7GQGLWhvakBecLptUiKxOk4E/EPtSckS1i0MGYctW8ouvNUoh7xnU15PGO2jz7BYl8q1R6g0gE5HFtzpqQ== 89 | 90 | "@esbuild/netbsd-x64@0.16.12": 91 | version "0.16.12" 92 | resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.16.12.tgz#6d4b9de7dc3ac99bf04653fe640b3be63c57b1aa" 93 | integrity sha512-z2+kUxmOqBS+6SRVd57iOLIHE8oGOoEnGVAmwjm2aENSP35HPS+5cK+FL1l+rhrsJOFIPrNHqDUNechpuG96Sg== 94 | 95 | "@esbuild/openbsd-x64@0.16.12": 96 | version "0.16.12" 97 | resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.16.12.tgz#2a28010b1848466586d5e2189e9f1b8334b65708" 98 | integrity sha512-PAonw4LqIybwn2/vJujhbg1N9W2W8lw9RtXIvvZoyzoA/4rA4CpiuahVbASmQohiytRsixbNoIOUSjRygKXpyA== 99 | 100 | "@esbuild/sunos-x64@0.16.12": 101 | version "0.16.12" 102 | resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.16.12.tgz#3ee120008cc759d604825dd25501152071ef30f0" 103 | integrity sha512-+wr1tkt1RERi+Zi/iQtkzmMH4nS8+7UIRxjcyRz7lur84wCkAITT50Olq/HiT4JN2X2bjtlOV6vt7ptW5Gw60Q== 104 | 105 | "@esbuild/win32-arm64@0.16.12": 106 | version "0.16.12" 107 | resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.16.12.tgz#8c599a91f1c55b3df304c450ac0613855c10502e" 108 | integrity sha512-XEjeUSHmjsAOJk8+pXJu9pFY2O5KKQbHXZWQylJzQuIBeiGrpMeq9sTVrHefHxMOyxUgoKQTcaTS+VK/K5SviA== 109 | 110 | "@esbuild/win32-ia32@0.16.12": 111 | version "0.16.12" 112 | resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.16.12.tgz#102b5a44b514f8849a10cc4cc618c60c70a4c536" 113 | integrity sha512-eRKPM7e0IecUAUYr2alW7JGDejrFJXmpjt4MlfonmQ5Rz9HWpKFGCjuuIRgKO7W9C/CWVFXdJ2GjddsBXqQI4A== 114 | 115 | "@esbuild/win32-x64@0.16.12": 116 | version "0.16.12" 117 | resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.16.12.tgz#31197bb509049b63c059c4808ac58e66fdff7479" 118 | integrity sha512-iPYKN78t3op2+erv2frW568j1q0RpqX6JOLZ7oPPaAV1VaF7dDstOrNw37PVOYoTWE11pV4A1XUitpdEFNIsPg== 119 | 120 | "@types/node@^18.11.18": 121 | version "18.11.18" 122 | resolved "https://registry.yarnpkg.com/@types/node/-/node-18.11.18.tgz#8dfb97f0da23c2293e554c5a50d61ef134d7697f" 123 | integrity sha512-DHQpWGjyQKSHj3ebjFI/wRKcqQcdR+MoFBygntYOZytCqNfkd2ZC4ARDJ2DQqhjH5p85Nnd3jhUJIXrszFX/JA== 124 | 125 | "@vitejs/plugin-vue@^4.0.0": 126 | version "4.0.0" 127 | resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-4.0.0.tgz#93815beffd23db46288c787352a8ea31a0c03e5e" 128 | integrity sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA== 129 | 130 | "@volar/language-core@1.0.18": 131 | version "1.0.18" 132 | resolved "https://registry.yarnpkg.com/@volar/language-core/-/language-core-1.0.18.tgz#5b1bfb9fbe161e20a836bd5b38b2eab7f855a207" 133 | integrity sha512-PFrqAksKhiuAqNV4fefoMilX+JutVq0Z3iM14xjLvWPv68fs2dLedwU84GiHfSPTMmRiPCJ2HhH2rz4qNY42lA== 134 | dependencies: 135 | "@volar/source-map" "1.0.18" 136 | "@vue/reactivity" "^3.2.45" 137 | muggle-string "^0.1.0" 138 | 139 | "@volar/source-map@1.0.18": 140 | version "1.0.18" 141 | resolved "https://registry.yarnpkg.com/@volar/source-map/-/source-map-1.0.18.tgz#5b7b5f5647362efebda3675097de7f426435b9d1" 142 | integrity sha512-D8AcjrT2ukG5XiZhtSQBhcvL1TTlWOebCqS//Z/hGLGQZjpZHWaKD4OyDzKDzM0U9EtOuDh9rttnabCHDPvY2Q== 143 | dependencies: 144 | muggle-string "^0.1.0" 145 | 146 | "@volar/typescript@1.0.18": 147 | version "1.0.18" 148 | resolved "https://registry.yarnpkg.com/@volar/typescript/-/typescript-1.0.18.tgz#c4ceb4baf8ad701b79d94cfc688fbf2c040610d6" 149 | integrity sha512-xpH1Ij+PKtbIKEEYU2bF0llBRmu+ojjm/UA1WHNpi/dvsFWTIZcPniuqYEpPc32Zq/f8OPk98HbM2Oj5eue+vA== 150 | dependencies: 151 | "@volar/language-core" "1.0.18" 152 | 153 | "@volar/vue-language-core@1.0.18": 154 | version "1.0.18" 155 | resolved "https://registry.yarnpkg.com/@volar/vue-language-core/-/vue-language-core-1.0.18.tgz#17b70965d72ae4f969cf3d3a71ea7f622f095d08" 156 | integrity sha512-1yJcXYz9SdQUYoKWPbnr1SgMsBGXH29hS8W47p46P8Mm+5mmDdR/GFQw2+Zo5kAIS8vtLstlowI1Okoy7HFzIQ== 157 | dependencies: 158 | "@volar/language-core" "1.0.18" 159 | "@volar/source-map" "1.0.18" 160 | "@vue/compiler-dom" "^3.2.45" 161 | "@vue/compiler-sfc" "^3.2.45" 162 | "@vue/reactivity" "^3.2.45" 163 | "@vue/shared" "^3.2.45" 164 | minimatch "^5.1.1" 165 | vue-template-compiler "^2.7.14" 166 | 167 | "@volar/vue-typescript@1.0.18": 168 | version "1.0.18" 169 | resolved "https://registry.yarnpkg.com/@volar/vue-typescript/-/vue-typescript-1.0.18.tgz#ab715020ae9f5478a2d24b8ea81246428c23e3b9" 170 | integrity sha512-pfi2/vTLgAPeRNgWzPFFv14YoLc3MnPMVKxl17ZLHStFgROUWQetTN+44FUWVYIl820MesMsyRv4kAIak0XGIQ== 171 | dependencies: 172 | "@volar/typescript" "1.0.18" 173 | "@volar/vue-language-core" "1.0.18" 174 | 175 | "@vue/compiler-core@3.2.45": 176 | version "3.2.45" 177 | resolved "https://registry.yarnpkg.com/@vue/compiler-core/-/compiler-core-3.2.45.tgz#d9311207d96f6ebd5f4660be129fb99f01ddb41b" 178 | integrity sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A== 179 | dependencies: 180 | "@babel/parser" "^7.16.4" 181 | "@vue/shared" "3.2.45" 182 | estree-walker "^2.0.2" 183 | source-map "^0.6.1" 184 | 185 | "@vue/compiler-dom@3.2.45", "@vue/compiler-dom@^3.2.45": 186 | version "3.2.45" 187 | resolved "https://registry.yarnpkg.com/@vue/compiler-dom/-/compiler-dom-3.2.45.tgz#c43cc15e50da62ecc16a42f2622d25dc5fd97dce" 188 | integrity sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw== 189 | dependencies: 190 | "@vue/compiler-core" "3.2.45" 191 | "@vue/shared" "3.2.45" 192 | 193 | "@vue/compiler-sfc@3.2.45", "@vue/compiler-sfc@^3.2.45": 194 | version "3.2.45" 195 | resolved "https://registry.yarnpkg.com/@vue/compiler-sfc/-/compiler-sfc-3.2.45.tgz#7f7989cc04ec9e7c55acd406827a2c4e96872c70" 196 | integrity sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q== 197 | dependencies: 198 | "@babel/parser" "^7.16.4" 199 | "@vue/compiler-core" "3.2.45" 200 | "@vue/compiler-dom" "3.2.45" 201 | "@vue/compiler-ssr" "3.2.45" 202 | "@vue/reactivity-transform" "3.2.45" 203 | "@vue/shared" "3.2.45" 204 | estree-walker "^2.0.2" 205 | magic-string "^0.25.7" 206 | postcss "^8.1.10" 207 | source-map "^0.6.1" 208 | 209 | "@vue/compiler-ssr@3.2.45": 210 | version "3.2.45" 211 | resolved "https://registry.yarnpkg.com/@vue/compiler-ssr/-/compiler-ssr-3.2.45.tgz#bd20604b6e64ea15344d5b6278c4141191c983b2" 212 | integrity sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ== 213 | dependencies: 214 | "@vue/compiler-dom" "3.2.45" 215 | "@vue/shared" "3.2.45" 216 | 217 | "@vue/reactivity-transform@3.2.45": 218 | version "3.2.45" 219 | resolved "https://registry.yarnpkg.com/@vue/reactivity-transform/-/reactivity-transform-3.2.45.tgz#07ac83b8138550c83dfb50db43cde1e0e5e8124d" 220 | integrity sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ== 221 | dependencies: 222 | "@babel/parser" "^7.16.4" 223 | "@vue/compiler-core" "3.2.45" 224 | "@vue/shared" "3.2.45" 225 | estree-walker "^2.0.2" 226 | magic-string "^0.25.7" 227 | 228 | "@vue/reactivity@3.2.45", "@vue/reactivity@^3.2.45": 229 | version "3.2.45" 230 | resolved "https://registry.yarnpkg.com/@vue/reactivity/-/reactivity-3.2.45.tgz#412a45b574de601be5a4a5d9a8cbd4dee4662ff0" 231 | integrity sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A== 232 | dependencies: 233 | "@vue/shared" "3.2.45" 234 | 235 | "@vue/runtime-core@3.2.45": 236 | version "3.2.45" 237 | resolved "https://registry.yarnpkg.com/@vue/runtime-core/-/runtime-core-3.2.45.tgz#7ad7ef9b2519d41062a30c6fa001ec43ac549c7f" 238 | integrity sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A== 239 | dependencies: 240 | "@vue/reactivity" "3.2.45" 241 | "@vue/shared" "3.2.45" 242 | 243 | "@vue/runtime-dom@3.2.45": 244 | version "3.2.45" 245 | resolved "https://registry.yarnpkg.com/@vue/runtime-dom/-/runtime-dom-3.2.45.tgz#1a2ef6ee2ad876206fbbe2a884554bba2d0faf59" 246 | integrity sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA== 247 | dependencies: 248 | "@vue/runtime-core" "3.2.45" 249 | "@vue/shared" "3.2.45" 250 | csstype "^2.6.8" 251 | 252 | "@vue/server-renderer@3.2.45": 253 | version "3.2.45" 254 | resolved "https://registry.yarnpkg.com/@vue/server-renderer/-/server-renderer-3.2.45.tgz#ca9306a0c12b0530a1a250e44f4a0abac6b81f3f" 255 | integrity sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g== 256 | dependencies: 257 | "@vue/compiler-ssr" "3.2.45" 258 | "@vue/shared" "3.2.45" 259 | 260 | "@vue/shared@3.2.45", "@vue/shared@^3.2.45": 261 | version "3.2.45" 262 | resolved "https://registry.yarnpkg.com/@vue/shared/-/shared-3.2.45.tgz#a3fffa7489eafff38d984e23d0236e230c818bc2" 263 | integrity sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg== 264 | 265 | balanced-match@^1.0.0: 266 | version "1.0.2" 267 | resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee" 268 | integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== 269 | 270 | brace-expansion@^2.0.1: 271 | version "2.0.1" 272 | resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.0.1.tgz#1edc459e0f0c548486ecf9fc99f2221364b9a0ae" 273 | integrity sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA== 274 | dependencies: 275 | balanced-match "^1.0.0" 276 | 277 | csstype@^2.6.8: 278 | version "2.6.21" 279 | resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.21.tgz#2efb85b7cc55c80017c66a5ad7cbd931fda3a90e" 280 | integrity sha512-Z1PhmomIfypOpoMjRQB70jfvy/wxT50qW08YXO5lMIJkrdq4yOTR+AW7FqutScmB9NkLwxo+jU+kZLbofZZq/w== 281 | 282 | de-indent@^1.0.2: 283 | version "1.0.2" 284 | resolved "https://registry.yarnpkg.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d" 285 | integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg== 286 | 287 | esbuild@^0.16.3: 288 | version "0.16.12" 289 | resolved "https://registry.yarnpkg.com/esbuild/-/esbuild-0.16.12.tgz#60850b9ad2f103f1c4316be42c34d5023f27378d" 290 | integrity sha512-eq5KcuXajf2OmivCl4e89AD3j8fbV+UTE9vczEzq5haA07U9oOTzBWlh3+6ZdjJR7Rz2QfWZ2uxZyhZxBgJ4+g== 291 | optionalDependencies: 292 | "@esbuild/android-arm" "0.16.12" 293 | "@esbuild/android-arm64" "0.16.12" 294 | "@esbuild/android-x64" "0.16.12" 295 | "@esbuild/darwin-arm64" "0.16.12" 296 | "@esbuild/darwin-x64" "0.16.12" 297 | "@esbuild/freebsd-arm64" "0.16.12" 298 | "@esbuild/freebsd-x64" "0.16.12" 299 | "@esbuild/linux-arm" "0.16.12" 300 | "@esbuild/linux-arm64" "0.16.12" 301 | "@esbuild/linux-ia32" "0.16.12" 302 | "@esbuild/linux-loong64" "0.16.12" 303 | "@esbuild/linux-mips64el" "0.16.12" 304 | "@esbuild/linux-ppc64" "0.16.12" 305 | "@esbuild/linux-riscv64" "0.16.12" 306 | "@esbuild/linux-s390x" "0.16.12" 307 | "@esbuild/linux-x64" "0.16.12" 308 | "@esbuild/netbsd-x64" "0.16.12" 309 | "@esbuild/openbsd-x64" "0.16.12" 310 | "@esbuild/sunos-x64" "0.16.12" 311 | "@esbuild/win32-arm64" "0.16.12" 312 | "@esbuild/win32-ia32" "0.16.12" 313 | "@esbuild/win32-x64" "0.16.12" 314 | 315 | estree-walker@^2.0.2: 316 | version "2.0.2" 317 | resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" 318 | integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== 319 | 320 | fsevents@~2.3.2: 321 | version "2.3.2" 322 | resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a" 323 | integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA== 324 | 325 | function-bind@^1.1.1: 326 | version "1.1.1" 327 | resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d" 328 | integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A== 329 | 330 | has@^1.0.3: 331 | version "1.0.3" 332 | resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796" 333 | integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw== 334 | dependencies: 335 | function-bind "^1.1.1" 336 | 337 | he@^1.2.0: 338 | version "1.2.0" 339 | resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" 340 | integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== 341 | 342 | is-core-module@^2.9.0: 343 | version "2.11.0" 344 | resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.11.0.tgz#ad4cb3e3863e814523c96f3f58d26cc570ff0144" 345 | integrity sha512-RRjxlvLDkD1YJwDbroBHMb+cukurkDWNyHx7D3oNB5x9rb5ogcksMC5wHCadcXoo67gVr/+3GFySh3134zi6rw== 346 | dependencies: 347 | has "^1.0.3" 348 | 349 | magic-string@^0.25.7: 350 | version "0.25.9" 351 | resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.9.tgz#de7f9faf91ef8a1c91d02c2e5314c8277dbcdd1c" 352 | integrity sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ== 353 | dependencies: 354 | sourcemap-codec "^1.4.8" 355 | 356 | minimatch@^5.1.1: 357 | version "5.1.2" 358 | resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-5.1.2.tgz#0939d7d6f0898acbd1508abe534d1929368a8fff" 359 | integrity sha512-bNH9mmM9qsJ2X4r2Nat1B//1dJVcn3+iBLa3IgqJ7EbGaDNepL9QSHOxN4ng33s52VMMhhIfgCYDk3C4ZmlDAg== 360 | dependencies: 361 | brace-expansion "^2.0.1" 362 | 363 | muggle-string@^0.1.0: 364 | version "0.1.0" 365 | resolved "https://registry.yarnpkg.com/muggle-string/-/muggle-string-0.1.0.tgz#1fda8a281c8b27bb8b70466dbc9f27586a8baa6c" 366 | integrity sha512-Tr1knR3d2mKvvWthlk7202rywKbiOm4rVFLsfAaSIhJ6dt9o47W4S+JMtWhd/PW9Wrdew2/S2fSvhz3E2gkfEg== 367 | 368 | nanoid@^3.3.4: 369 | version "3.3.4" 370 | resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.4.tgz#730b67e3cd09e2deacf03c027c81c9d9dbc5e8ab" 371 | integrity sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw== 372 | 373 | path-parse@^1.0.7: 374 | version "1.0.7" 375 | resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" 376 | integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== 377 | 378 | picocolors@^1.0.0: 379 | version "1.0.0" 380 | resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.0.tgz#cb5bdc74ff3f51892236eaf79d68bc44564ab81c" 381 | integrity sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ== 382 | 383 | postcss@^8.1.10, postcss@^8.4.20: 384 | version "8.4.20" 385 | resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.20.tgz#64c52f509644cecad8567e949f4081d98349dc56" 386 | integrity sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g== 387 | dependencies: 388 | nanoid "^3.3.4" 389 | picocolors "^1.0.0" 390 | source-map-js "^1.0.2" 391 | 392 | prettier@^2.8.1: 393 | version "2.8.1" 394 | resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.8.1.tgz#4e1fd11c34e2421bc1da9aea9bd8127cd0a35efc" 395 | integrity sha512-lqGoSJBQNJidqCHE80vqZJHWHRFoNYsSpP9AjFhlhi9ODCJA541svILes/+/1GM3VaL/abZi7cpFzOpdR9UPKg== 396 | 397 | resolve@^1.22.1: 398 | version "1.22.1" 399 | resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.1.tgz#27cb2ebb53f91abb49470a928bba7558066ac177" 400 | integrity sha512-nBpuuYuY5jFsli/JIs1oldw6fOQCBioohqWZg/2hiaOybXOft4lonv85uDOKXdf8rhyK159cxU5cDcK/NKk8zw== 401 | dependencies: 402 | is-core-module "^2.9.0" 403 | path-parse "^1.0.7" 404 | supports-preserve-symlinks-flag "^1.0.0" 405 | 406 | rollup@^3.7.0: 407 | version "3.9.0" 408 | resolved "https://registry.yarnpkg.com/rollup/-/rollup-3.9.0.tgz#0ff7ab7cd71ce3a6ab140c5cf661f2b35eb6aab8" 409 | integrity sha512-nGGylpmblyjTpF4lEUPgmOw6OVxRvnI6Iuuh6Lz4O/X66cVOX1XJSsqP1YamxQ+mPuFE7qJxLFDSCk8rNv5dDw== 410 | optionalDependencies: 411 | fsevents "~2.3.2" 412 | 413 | source-map-js@^1.0.2: 414 | version "1.0.2" 415 | resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" 416 | integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw== 417 | 418 | source-map@^0.6.1: 419 | version "0.6.1" 420 | resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263" 421 | integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== 422 | 423 | sourcemap-codec@^1.4.8: 424 | version "1.4.8" 425 | resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" 426 | integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== 427 | 428 | supports-preserve-symlinks-flag@^1.0.0: 429 | version "1.0.0" 430 | resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" 431 | integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== 432 | 433 | typescript@^4.9.3: 434 | version "4.9.4" 435 | resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78" 436 | integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg== 437 | 438 | vite@^4.0.0: 439 | version "4.0.3" 440 | resolved "https://registry.yarnpkg.com/vite/-/vite-4.0.3.tgz#de27ad3f263a03ae9419cdc8bc07721eadcba8b9" 441 | integrity sha512-HvuNv1RdE7deIfQb8mPk51UKjqptO/4RXZ5yXSAvurd5xOckwS/gg8h9Tky3uSbnjYTgUm0hVCet1cyhKd73ZA== 442 | dependencies: 443 | esbuild "^0.16.3" 444 | postcss "^8.4.20" 445 | resolve "^1.22.1" 446 | rollup "^3.7.0" 447 | optionalDependencies: 448 | fsevents "~2.3.2" 449 | 450 | vue-template-compiler@^2.7.14: 451 | version "2.7.14" 452 | resolved "https://registry.yarnpkg.com/vue-template-compiler/-/vue-template-compiler-2.7.14.tgz#4545b7dfb88090744c1577ae5ac3f964e61634b1" 453 | integrity sha512-zyA5Y3ArvVG0NacJDkkzJuPQDF8RFeRlzV2vLeSnhSpieO6LK2OVbdLPi5MPPs09Ii+gMO8nY4S3iKQxBxDmWQ== 454 | dependencies: 455 | de-indent "^1.0.2" 456 | he "^1.2.0" 457 | 458 | vue-tsc@^1.0.11: 459 | version "1.0.18" 460 | resolved "https://registry.yarnpkg.com/vue-tsc/-/vue-tsc-1.0.18.tgz#272eaeb64104e7ccfd1b397c4e496cf1e3985642" 461 | integrity sha512-JFLAz3Xh/iyTnMGdlfG3TuvcaJyFcqyELpLv50jyvOYLAS2+WHzac0IB73FQ37HmGm/4IWMkQZS5r/9FKSejQQ== 462 | dependencies: 463 | "@volar/vue-language-core" "1.0.18" 464 | "@volar/vue-typescript" "1.0.18" 465 | 466 | vue@^3.2.45: 467 | version "3.2.45" 468 | resolved "https://registry.yarnpkg.com/vue/-/vue-3.2.45.tgz#94a116784447eb7dbd892167784619fef379b3c8" 469 | integrity sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA== 470 | dependencies: 471 | "@vue/compiler-dom" "3.2.45" 472 | "@vue/compiler-sfc" "3.2.45" 473 | "@vue/runtime-dom" "3.2.45" 474 | "@vue/server-renderer" "3.2.45" 475 | "@vue/shared" "3.2.45" 476 | --------------------------------------------------------------------------------