From 04d3878510dfc144b5a04ffb3237b2b6ae100ec6 Mon Sep 17 00:00:00 2001 From: skong <1614355756@qq.com> Date: Sun, 21 Jan 2024 20:15:55 +0800 Subject: [PATCH] add some files. --- README.md | 8 +- hello_vue3/.gitignore | 30 + hello_vue3/.vscode/extensions.json | 3 + hello_vue3/README.md | 40 + .../backups/01-自己写一个App组件/App.vue | 21 + .../backups/01-自己写一个App组件/main.ts | 6 + hello_vue3/backups/02-setup概述/App.vue | 23 + .../02-setup概述/components/Person.vue | 62 + hello_vue3/backups/02-setup概述/main.ts | 6 + hello_vue3/backups/03-setup返回值/App.vue | 23 + .../03-setup返回值/components/Person.vue | 65 + hello_vue3/backups/03-setup返回值/main.ts | 6 + .../04-setup和Options API的关系/App.vue | 23 + .../components/Person.vue | 76 + .../04-setup和Options API的关系/main.ts | 6 + hello_vue3/backups/05-setup语法糖/App.vue | 23 + .../05-setup语法糖/components/Person.vue | 40 + hello_vue3/backups/05-setup语法糖/main.ts | 6 + .../06-ref创建基本类型响应数据/App.vue | 23 + .../components/Person.vue | 45 + .../06-ref创建基本类型响应数据/main.ts | 6 + .../07-reactive创建对象类型响应数据/App.vue | 23 + .../components/Person.vue | 70 + .../07-reactive创建对象类型响应数据/main.ts | 6 + .../backups/08-ref的对象类型定义/App.vue | 23 + .../components/Person.vue | 54 + .../backups/08-ref的对象类型定义/main.ts | 6 + .../backups/09-ref和reactive区别/App.vue | 23 + .../components/Person.vue | 54 + .../backups/09-ref和reactive区别/main.ts | 6 + hello_vue3/env.d.ts | 8 + hello_vue3/index.html | 13 + hello_vue3/package-lock.json | 1584 +++++++++++++++++ hello_vue3/package.json | 27 + hello_vue3/public/favicon.ico | Bin 0 -> 4286 bytes hello_vue3/src/App.vue | 30 + hello_vue3/src/assets/owl-login-arm.png | Bin 0 -> 2208 bytes hello_vue3/src/assets/owl-login.png | Bin 0 -> 13209 bytes hello_vue3/src/components/Demo.vue | 185 ++ hello_vue3/src/components/Person.vue | 59 + hello_vue3/src/main.ts | 6 + hello_vue3/tsconfig.app.json | 13 + hello_vue3/tsconfig.json | 11 + hello_vue3/tsconfig.node.json | 17 + hello_vue3/vite.config.ts | 18 + 45 files changed, 2776 insertions(+), 1 deletion(-) create mode 100644 hello_vue3/.gitignore create mode 100644 hello_vue3/.vscode/extensions.json create mode 100644 hello_vue3/README.md create mode 100644 hello_vue3/backups/01-自己写一个App组件/App.vue create mode 100644 hello_vue3/backups/01-自己写一个App组件/main.ts create mode 100644 hello_vue3/backups/02-setup概述/App.vue create mode 100644 hello_vue3/backups/02-setup概述/components/Person.vue create mode 100644 hello_vue3/backups/02-setup概述/main.ts create mode 100644 hello_vue3/backups/03-setup返回值/App.vue create mode 100644 hello_vue3/backups/03-setup返回值/components/Person.vue create mode 100644 hello_vue3/backups/03-setup返回值/main.ts create mode 100644 hello_vue3/backups/04-setup和Options API的关系/App.vue create mode 100644 hello_vue3/backups/04-setup和Options API的关系/components/Person.vue create mode 100644 hello_vue3/backups/04-setup和Options API的关系/main.ts create mode 100644 hello_vue3/backups/05-setup语法糖/App.vue create mode 100644 hello_vue3/backups/05-setup语法糖/components/Person.vue create mode 100644 hello_vue3/backups/05-setup语法糖/main.ts create mode 100644 hello_vue3/backups/06-ref创建基本类型响应数据/App.vue create mode 100644 hello_vue3/backups/06-ref创建基本类型响应数据/components/Person.vue create mode 100644 hello_vue3/backups/06-ref创建基本类型响应数据/main.ts create mode 100644 hello_vue3/backups/07-reactive创建对象类型响应数据/App.vue create mode 100644 hello_vue3/backups/07-reactive创建对象类型响应数据/components/Person.vue create mode 100644 hello_vue3/backups/07-reactive创建对象类型响应数据/main.ts create mode 100644 hello_vue3/backups/08-ref的对象类型定义/App.vue create mode 100644 hello_vue3/backups/08-ref的对象类型定义/components/Person.vue create mode 100644 hello_vue3/backups/08-ref的对象类型定义/main.ts create mode 100644 hello_vue3/backups/09-ref和reactive区别/App.vue create mode 100644 hello_vue3/backups/09-ref和reactive区别/components/Person.vue create mode 100644 hello_vue3/backups/09-ref和reactive区别/main.ts create mode 100644 hello_vue3/env.d.ts create mode 100644 hello_vue3/index.html create mode 100644 hello_vue3/package-lock.json create mode 100644 hello_vue3/package.json create mode 100644 hello_vue3/public/favicon.ico create mode 100644 hello_vue3/src/App.vue create mode 100644 hello_vue3/src/assets/owl-login-arm.png create mode 100644 hello_vue3/src/assets/owl-login.png create mode 100644 hello_vue3/src/components/Demo.vue create mode 100644 hello_vue3/src/components/Person.vue create mode 100644 hello_vue3/src/main.ts create mode 100644 hello_vue3/tsconfig.app.json create mode 100644 hello_vue3/tsconfig.json create mode 100644 hello_vue3/tsconfig.node.json create mode 100644 hello_vue3/vite.config.ts diff --git a/README.md b/README.md index 4ce28f7..a218c7a 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,9 @@ # learn-vue -学习vue3 \ No newline at end of file +学习 vue3 + +## 安装 `vue` 工具 + +```shell +npm i -g vue-cli +``` \ No newline at end of file diff --git a/hello_vue3/.gitignore b/hello_vue3/.gitignore new file mode 100644 index 0000000..8ee54e8 --- /dev/null +++ b/hello_vue3/.gitignore @@ -0,0 +1,30 @@ +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +pnpm-debug.log* +lerna-debug.log* + +node_modules +.DS_Store +dist +dist-ssr +coverage +*.local + +/cypress/videos/ +/cypress/screenshots/ + +# Editor directories and files +.vscode/* +!.vscode/extensions.json +.idea +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw? + +*.tsbuildinfo diff --git a/hello_vue3/.vscode/extensions.json b/hello_vue3/.vscode/extensions.json new file mode 100644 index 0000000..c0a6e5a --- /dev/null +++ b/hello_vue3/.vscode/extensions.json @@ -0,0 +1,3 @@ +{ + "recommendations": ["Vue.volar", "Vue.vscode-typescript-vue-plugin"] +} diff --git a/hello_vue3/README.md b/hello_vue3/README.md new file mode 100644 index 0000000..7684410 --- /dev/null +++ b/hello_vue3/README.md @@ -0,0 +1,40 @@ +# hello_vue3 + +This template should help get you started developing with Vue 3 in Vite. + +## Recommended IDE Setup + +[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin). + +## Type Support for `.vue` Imports in TS + +TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types. + +If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps: + +1. Disable the built-in TypeScript Extension + 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette + 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)` +2. Reload the VSCode window by running `Developer: Reload Window` from the command palette. + +## Customize configuration + +See [Vite Configuration Reference](https://vitejs.dev/config/). + +## Project Setup + +```sh +npm install +``` + +### Compile and Hot-Reload for Development + +```sh +npm run dev +``` + +### Type-Check, Compile and Minify for Production + +```sh +npm run build +``` diff --git a/hello_vue3/backups/01-自己写一个App组件/App.vue b/hello_vue3/backups/01-自己写一个App组件/App.vue new file mode 100644 index 0000000..b6a1dbd --- /dev/null +++ b/hello_vue3/backups/01-自己写一个App组件/App.vue @@ -0,0 +1,21 @@ + + + + + \ No newline at end of file diff --git a/hello_vue3/backups/01-自己写一个App组件/main.ts b/hello_vue3/backups/01-自己写一个App组件/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/01-自己写一个App组件/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/02-setup概述/App.vue b/hello_vue3/backups/02-setup概述/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/02-setup概述/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/02-setup概述/components/Person.vue b/hello_vue3/backups/02-setup概述/components/Person.vue new file mode 100644 index 0000000..6d3ca9f --- /dev/null +++ b/hello_vue3/backups/02-setup概述/components/Person.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/hello_vue3/backups/02-setup概述/main.ts b/hello_vue3/backups/02-setup概述/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/02-setup概述/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/03-setup返回值/App.vue b/hello_vue3/backups/03-setup返回值/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/03-setup返回值/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/03-setup返回值/components/Person.vue b/hello_vue3/backups/03-setup返回值/components/Person.vue new file mode 100644 index 0000000..e63de41 --- /dev/null +++ b/hello_vue3/backups/03-setup返回值/components/Person.vue @@ -0,0 +1,65 @@ + + + + + diff --git a/hello_vue3/backups/03-setup返回值/main.ts b/hello_vue3/backups/03-setup返回值/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/03-setup返回值/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/04-setup和Options API的关系/App.vue b/hello_vue3/backups/04-setup和Options API的关系/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/04-setup和Options API的关系/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/04-setup和Options API的关系/components/Person.vue b/hello_vue3/backups/04-setup和Options API的关系/components/Person.vue new file mode 100644 index 0000000..09efae8 --- /dev/null +++ b/hello_vue3/backups/04-setup和Options API的关系/components/Person.vue @@ -0,0 +1,76 @@ + + + + + diff --git a/hello_vue3/backups/04-setup和Options API的关系/main.ts b/hello_vue3/backups/04-setup和Options API的关系/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/04-setup和Options API的关系/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/05-setup语法糖/App.vue b/hello_vue3/backups/05-setup语法糖/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/05-setup语法糖/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/05-setup语法糖/components/Person.vue b/hello_vue3/backups/05-setup语法糖/components/Person.vue new file mode 100644 index 0000000..1fe4dc9 --- /dev/null +++ b/hello_vue3/backups/05-setup语法糖/components/Person.vue @@ -0,0 +1,40 @@ + + + + + diff --git a/hello_vue3/backups/05-setup语法糖/main.ts b/hello_vue3/backups/05-setup语法糖/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/05-setup语法糖/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/06-ref创建基本类型响应数据/App.vue b/hello_vue3/backups/06-ref创建基本类型响应数据/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/06-ref创建基本类型响应数据/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/06-ref创建基本类型响应数据/components/Person.vue b/hello_vue3/backups/06-ref创建基本类型响应数据/components/Person.vue new file mode 100644 index 0000000..a53826c --- /dev/null +++ b/hello_vue3/backups/06-ref创建基本类型响应数据/components/Person.vue @@ -0,0 +1,45 @@ + + + + + diff --git a/hello_vue3/backups/06-ref创建基本类型响应数据/main.ts b/hello_vue3/backups/06-ref创建基本类型响应数据/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/06-ref创建基本类型响应数据/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/07-reactive创建对象类型响应数据/App.vue b/hello_vue3/backups/07-reactive创建对象类型响应数据/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/07-reactive创建对象类型响应数据/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/07-reactive创建对象类型响应数据/components/Person.vue b/hello_vue3/backups/07-reactive创建对象类型响应数据/components/Person.vue new file mode 100644 index 0000000..4a3be08 --- /dev/null +++ b/hello_vue3/backups/07-reactive创建对象类型响应数据/components/Person.vue @@ -0,0 +1,70 @@ + + + + + diff --git a/hello_vue3/backups/07-reactive创建对象类型响应数据/main.ts b/hello_vue3/backups/07-reactive创建对象类型响应数据/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/07-reactive创建对象类型响应数据/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/08-ref的对象类型定义/App.vue b/hello_vue3/backups/08-ref的对象类型定义/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/08-ref的对象类型定义/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/08-ref的对象类型定义/components/Person.vue b/hello_vue3/backups/08-ref的对象类型定义/components/Person.vue new file mode 100644 index 0000000..2e79037 --- /dev/null +++ b/hello_vue3/backups/08-ref的对象类型定义/components/Person.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/hello_vue3/backups/08-ref的对象类型定义/main.ts b/hello_vue3/backups/08-ref的对象类型定义/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/08-ref的对象类型定义/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/backups/09-ref和reactive区别/App.vue b/hello_vue3/backups/09-ref和reactive区别/App.vue new file mode 100644 index 0000000..d2f55e2 --- /dev/null +++ b/hello_vue3/backups/09-ref和reactive区别/App.vue @@ -0,0 +1,23 @@ + + + + + diff --git a/hello_vue3/backups/09-ref和reactive区别/components/Person.vue b/hello_vue3/backups/09-ref和reactive区别/components/Person.vue new file mode 100644 index 0000000..52db2a4 --- /dev/null +++ b/hello_vue3/backups/09-ref和reactive区别/components/Person.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/hello_vue3/backups/09-ref和reactive区别/main.ts b/hello_vue3/backups/09-ref和reactive区别/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/backups/09-ref和reactive区别/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/env.d.ts b/hello_vue3/env.d.ts new file mode 100644 index 0000000..a8c2410 --- /dev/null +++ b/hello_vue3/env.d.ts @@ -0,0 +1,8 @@ +/// +declare module "*.vue" { + import type { DefineComponent } from "vue"; + + const vueComponent: DefineComponent<{}, {}, any>; + + export default vueComponent; +} \ No newline at end of file diff --git a/hello_vue3/index.html b/hello_vue3/index.html new file mode 100644 index 0000000..a888544 --- /dev/null +++ b/hello_vue3/index.html @@ -0,0 +1,13 @@ + + + + + + + Vite App + + +
+ + + diff --git a/hello_vue3/package-lock.json b/hello_vue3/package-lock.json new file mode 100644 index 0000000..5539619 --- /dev/null +++ b/hello_vue3/package-lock.json @@ -0,0 +1,1584 @@ +{ + "name": "hello_vue3", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "hello_vue3", + "version": "0.0.0", + "dependencies": { + "vue": "^3.3.11" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vite-plugin-vue-setup-extend": "^0.4.0", + "vue-tsc": "^1.8.25" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.23.5", + "resolved": "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.23.5.tgz", + "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.23.4", + "chalk": "^2.4.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.22.20", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.23.4", + "resolved": "https://registry.npmmirror.com/@babel/highlight/-/highlight-7.23.4.tgz", + "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.23.6", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.23.6.tgz", + "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==", + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz", + "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.19.11.tgz", + "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz", + "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.19.11.tgz", + "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz", + "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz", + "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz", + "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz", + "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz", + "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz", + "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz", + "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz", + "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz", + "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz", + "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz", + "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz", + "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz", + "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz", + "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz", + "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz", + "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz", + "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz", + "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz", + "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz", + "integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz", + "integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz", + "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz", + "integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz", + "integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz", + "integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz", + "integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz", + "integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz", + "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz", + "integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz", + "integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz", + "integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz", + "integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tsconfig/node18": { + "version": "18.2.2", + "resolved": "https://registry.npmmirror.com/@tsconfig/node18/-/node18-18.2.2.tgz", + "integrity": "sha512-d6McJeGsuoRlwWZmVIeE8CUA27lu6jLjvv1JzqmpsytOYYbVi1tHZEnwCNVOXnj4pyLvneZlFlpXUK+X9wBWyw==", + "dev": true + }, + "node_modules/@types/estree": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.5.tgz", + "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", + "dev": true + }, + "node_modules/@types/node": { + "version": "18.19.8", + "resolved": "https://registry.npmmirror.com/@types/node/-/node-18.19.8.tgz", + "integrity": "sha512-g1pZtPhsvGVTwmeVoexWZLTQaOvXwoSq//pTL0DHeNzUDrFnir4fgETdhjhIxjVnN+hKOuh98+E1eMLnUXstFg==", + "dev": true, + "dependencies": { + "undici-types": "~5.26.4" + } + }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmmirror.com/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true + }, + "node_modules/@vitejs/plugin-vue": { + "version": "4.6.2", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-4.6.2.tgz", + "integrity": "sha512-kqf7SGFoG+80aZG6Pf+gsZIVvGSCKE98JbiWqcCV9cThtg91Jav0yvYFC9Zb+jKetNGF6ZKeoaxgZfND21fWKw==", + "dev": true, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.0.0 || ^5.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@volar/language-core": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@volar/language-core/-/language-core-1.11.1.tgz", + "integrity": "sha512-dOcNn3i9GgZAcJt43wuaEykSluAuOkQgzni1cuxLxTV0nJKanQztp7FxyswdRILaKH+P2XZMPRp2S4MV/pElCw==", + "dev": true, + "dependencies": { + "@volar/source-map": "1.11.1" + } + }, + "node_modules/@volar/source-map": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@volar/source-map/-/source-map-1.11.1.tgz", + "integrity": "sha512-hJnOnwZ4+WT5iupLRnuzbULZ42L7BWWPMmruzwtLhJfpDVoZLjNBxHDi2sY2bgZXCKlpU5XcsMFoYrsQmPhfZg==", + "dev": true, + "dependencies": { + "muggle-string": "^0.3.1" + } + }, + "node_modules/@volar/typescript": { + "version": "1.11.1", + "resolved": "https://registry.npmmirror.com/@volar/typescript/-/typescript-1.11.1.tgz", + "integrity": "sha512-iU+t2mas/4lYierSnoFOeRFQUhAEMgsFuQxoxvwn5EdQopw43j+J27a4lt9LMInx1gLJBC6qL14WYGlgymaSMQ==", + "dev": true, + "dependencies": { + "@volar/language-core": "1.11.1", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.4.15.tgz", + "integrity": "sha512-XcJQVOaxTKCnth1vCxEChteGuwG6wqnUHxAm1DO3gCz0+uXKaJNx8/digSz4dLALCy8n2lKq24jSUs8segoqIw==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/shared": "3.4.15", + "entities": "^4.5.0", + "estree-walker": "^2.0.2", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.4.15.tgz", + "integrity": "sha512-wox0aasVV74zoXyblarOM3AZQz/Z+OunYcIHe1OsGclCHt8RsRm04DObjefaI82u6XDzv+qGWZ24tIsRAIi5MQ==", + "dependencies": { + "@vue/compiler-core": "3.4.15", + "@vue/shared": "3.4.15" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.4.15.tgz", + "integrity": "sha512-LCn5M6QpkpFsh3GQvs2mJUOAlBQcCco8D60Bcqmf3O3w5a+KWS5GvYbrrJBkgvL1BDnTp+e8q0lXCLgHhKguBA==", + "dependencies": { + "@babel/parser": "^7.23.6", + "@vue/compiler-core": "3.4.15", + "@vue/compiler-dom": "3.4.15", + "@vue/compiler-ssr": "3.4.15", + "@vue/shared": "3.4.15", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.5", + "postcss": "^8.4.33", + "source-map-js": "^1.0.2" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.4.15.tgz", + "integrity": "sha512-1jdeQyiGznr8gjFDadVmOJqZiLNSsMa5ZgqavkPZ8O2wjHv0tVuAEsw5hTdUoUW4232vpBbL/wJhzVW/JwY1Uw==", + "dependencies": { + "@vue/compiler-dom": "3.4.15", + "@vue/shared": "3.4.15" + } + }, + "node_modules/@vue/language-core": { + "version": "1.8.27", + "resolved": "https://registry.npmmirror.com/@vue/language-core/-/language-core-1.8.27.tgz", + "integrity": "sha512-L8Kc27VdQserNaCUNiSFdDl9LWT24ly8Hpwf1ECy3aFb9m6bDhBGQYOujDm21N7EW3moKIOKEanQwe1q5BK+mA==", + "dev": true, + "dependencies": { + "@volar/language-core": "~1.11.1", + "@volar/source-map": "~1.11.1", + "@vue/compiler-dom": "^3.3.0", + "@vue/shared": "^3.3.0", + "computeds": "^0.0.1", + "minimatch": "^9.0.3", + "muggle-string": "^0.3.1", + "path-browserify": "^1.0.1", + "vue-template-compiler": "^2.7.14" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@vue/reactivity": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.4.15.tgz", + "integrity": "sha512-55yJh2bsff20K5O84MxSvXKPHHt17I2EomHznvFiJCAZpJTNW8IuLj1xZWMLELRhBK3kkFV/1ErZGHJfah7i7w==", + "dependencies": { + "@vue/shared": "3.4.15" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.4.15.tgz", + "integrity": "sha512-6E3by5m6v1AkW0McCeAyhHTw+3y17YCOKG0U0HDKDscV4Hs0kgNT5G+GCHak16jKgcCDHpI9xe5NKb8sdLCLdw==", + "dependencies": { + "@vue/reactivity": "3.4.15", + "@vue/shared": "3.4.15" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.4.15.tgz", + "integrity": "sha512-EVW8D6vfFVq3V/yDKNPBFkZKGMFSvZrUQmx196o/v2tHKdwWdiZjYUBS+0Ez3+ohRyF8Njwy/6FH5gYJ75liUw==", + "dependencies": { + "@vue/runtime-core": "3.4.15", + "@vue/shared": "3.4.15", + "csstype": "^3.1.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.4.15.tgz", + "integrity": "sha512-3HYzaidu9cHjrT+qGUuDhFYvF/j643bHC6uUN9BgM11DVy+pM6ATsG6uPBLnkwOgs7BpJABReLmpL3ZPAsUaqw==", + "dependencies": { + "@vue/compiler-ssr": "3.4.15", + "@vue/shared": "3.4.15" + }, + "peerDependencies": { + "vue": "3.4.15" + } + }, + "node_modules/@vue/shared": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.4.15.tgz", + "integrity": "sha512-KzfPTxVaWfB+eGcGdbSf4CWdaXcGDqckoeXUh7SB3fZdEtzPCK2Vq9B/lRRL3yutax/LWITz+SwvgyOxz5V75g==" + }, + "node_modules/@vue/tsconfig": { + "version": "0.5.1", + "resolved": "https://registry.npmmirror.com/@vue/tsconfig/-/tsconfig-0.5.1.tgz", + "integrity": "sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==", + "dev": true + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chalk/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/computeds": { + "version": "0.0.1", + "resolved": "https://registry.npmmirror.com/computeds/-/computeds-0.0.1.tgz", + "integrity": "sha512-7CEBgcMjVmitjYo5q8JTJVra6X5mQ20uTThdK+0kR7UEaDrAWEQcRiBtWJzga4eRpP6afNwwLsX2SET2JhVB1Q==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/csstype": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz", + "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==" + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmmirror.com/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "engines": { + "node": ">=0.12" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/esbuild": { + "version": "0.19.11", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.19.11.tgz", + "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.19.11", + "@esbuild/android-arm": "0.19.11", + "@esbuild/android-arm64": "0.19.11", + "@esbuild/android-x64": "0.19.11", + "@esbuild/darwin-arm64": "0.19.11", + "@esbuild/darwin-x64": "0.19.11", + "@esbuild/freebsd-arm64": "0.19.11", + "@esbuild/freebsd-x64": "0.19.11", + "@esbuild/linux-arm": "0.19.11", + "@esbuild/linux-arm64": "0.19.11", + "@esbuild/linux-ia32": "0.19.11", + "@esbuild/linux-loong64": "0.19.11", + "@esbuild/linux-mips64el": "0.19.11", + "@esbuild/linux-ppc64": "0.19.11", + "@esbuild/linux-riscv64": "0.19.11", + "@esbuild/linux-s390x": "0.19.11", + "@esbuild/linux-x64": "0.19.11", + "@esbuild/netbsd-x64": "0.19.11", + "@esbuild/openbsd-x64": "0.19.11", + "@esbuild/sunos-x64": "0.19.11", + "@esbuild/win32-arm64": "0.19.11", + "@esbuild/win32-ia32": "0.19.11", + "@esbuild/win32-x64": "0.19.11" + } + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true + }, + "node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/hasown": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.0.tgz", + "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hosted-git-info": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-7.0.1.tgz", + "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", + "dev": true, + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-core-module": { + "version": "2.13.1", + "resolved": "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.13.1.tgz", + "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "dev": true, + "dependencies": { + "hasown": "^2.0.0" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", + "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/lines-and-columns": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/lines-and-columns/-/lines-and-columns-2.0.4.tgz", + "integrity": "sha512-wM1+Z03eypVAVUCE7QdSqpVIvelbOakn1M0bPDoA4SGWPx3sNDVUiMo3L6To6WWGClB7VyXnhQ4Sn7gxiJbE6A==", + "dev": true, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + } + }, + "node_modules/lru-cache": { + "version": "10.1.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.1.0.tgz", + "integrity": "sha512-/1clY/ui8CzjKFyjdvwPWJUYKiFVXG2I2cY0ssG7h4+hwk+XOIX7ZSG9Q7TW8TW3Kp3BUSqgFWBLgL4PJ+Blag==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/magic-string": { + "version": "0.30.5", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/memorystream": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/memorystream/-/memorystream-0.3.1.tgz", + "integrity": "sha512-S3UwM3yj5mtUSEfP41UZmt/0SCoVYUcU1rkXv+BQ5Ig8ndL4sPoJNBUJERafdPb5jjHJGuMgytgKvKIf58XNBw==", + "dev": true, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/muggle-string": { + "version": "0.3.1", + "resolved": "https://registry.npmmirror.com/muggle-string/-/muggle-string-0.3.1.tgz", + "integrity": "sha512-ckmWDJjphvd/FvZawgygcUeQCxzvohjFO5RxTjj4eq8kw359gFF3E1brjfI+viLMxss5JrHTDRHZvu2/tuy0Qg==", + "dev": true + }, + "node_modules/nanoid": { + "version": "3.3.7", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.7.tgz", + "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-package-data": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-6.0.0.tgz", + "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", + "dev": true, + "dependencies": { + "hosted-git-info": "^7.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/npm-run-all2": { + "version": "6.1.1", + "resolved": "https://registry.npmmirror.com/npm-run-all2/-/npm-run-all2-6.1.1.tgz", + "integrity": "sha512-lWLbkPZ5BSdXtN8lR+0rc8caKoPdymycpZksyDEC9MOBvfdwTXZ0uVhb7bMcGeXv2/BKtfQuo6Zn3zfc8rxNXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^6.2.1", + "cross-spawn": "^7.0.3", + "memorystream": "^0.3.1", + "minimatch": "^9.0.0", + "pidtree": "^0.6.0", + "read-pkg": "^8.0.0", + "shell-quote": "^1.7.3" + }, + "bin": { + "npm-run-all": "bin/npm-run-all/index.js", + "npm-run-all2": "bin/npm-run-all/index.js", + "run-p": "bin/run-p/index.js", + "run-s": "bin/run-s/index.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0", + "npm": ">= 8" + } + }, + "node_modules/parse-json": { + "version": "7.1.1", + "resolved": "https://registry.npmmirror.com/parse-json/-/parse-json-7.1.1.tgz", + "integrity": "sha512-SgOTCX/EZXtZxBE5eJ97P4yGM5n37BwRU+YMsH4vNzFqJV/oWFXXCmwFlgWUM4PrakybVOueJJ6pwHqSVhTFDw==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.21.4", + "error-ex": "^1.3.2", + "json-parse-even-better-errors": "^3.0.0", + "lines-and-columns": "^2.0.3", + "type-fest": "^3.8.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/parse-json/node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "engines": { + "node": ">=14.16" + } + }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "dev": true + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==" + }, + "node_modules/pidtree": { + "version": "0.6.0", + "resolved": "https://registry.npmmirror.com/pidtree/-/pidtree-0.6.0.tgz", + "integrity": "sha512-eG2dWTVw5bzqGRztnHExczNxt5VGsE6OwTeCG3fdUf9KBsZzO3R5OIIIzWR+iZA0NtZ+RDVdaoE2dK1cn6jH4g==", + "dev": true, + "bin": { + "pidtree": "bin/pidtree.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/postcss": { + "version": "8.4.33", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.4.33.tgz", + "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==", + "dependencies": { + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/read-pkg": { + "version": "8.1.0", + "resolved": "https://registry.npmmirror.com/read-pkg/-/read-pkg-8.1.0.tgz", + "integrity": "sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==", + "dev": true, + "dependencies": { + "@types/normalize-package-data": "^2.4.1", + "normalize-package-data": "^6.0.0", + "parse-json": "^7.0.0", + "type-fest": "^4.2.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/rollup": { + "version": "4.9.5", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.9.5.tgz", + "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==", + "dev": true, + "dependencies": { + "@types/estree": "1.0.5" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.9.5", + "@rollup/rollup-android-arm64": "4.9.5", + "@rollup/rollup-darwin-arm64": "4.9.5", + "@rollup/rollup-darwin-x64": "4.9.5", + "@rollup/rollup-linux-arm-gnueabihf": "4.9.5", + "@rollup/rollup-linux-arm64-gnu": "4.9.5", + "@rollup/rollup-linux-arm64-musl": "4.9.5", + "@rollup/rollup-linux-riscv64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-gnu": "4.9.5", + "@rollup/rollup-linux-x64-musl": "4.9.5", + "@rollup/rollup-win32-arm64-msvc": "4.9.5", + "@rollup/rollup-win32-ia32-msvc": "4.9.5", + "@rollup/rollup-win32-x64-msvc": "4.9.5", + "fsevents": "~2.3.2" + } + }, + "node_modules/semver": { + "version": "7.5.4", + "resolved": "https://registry.npmmirror.com/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/sourcemap-codec": { + "version": "1.4.8", + "resolved": "https://registry.npmmirror.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", + "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", + "deprecated": "Please use @jridgewell/sourcemap-codec instead", + "dev": true + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", + "dev": true + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.16", + "resolved": "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", + "dev": true + }, + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/type-fest": { + "version": "4.9.0", + "resolved": "https://registry.npmmirror.com/type-fest/-/type-fest-4.9.0.tgz", + "integrity": "sha512-KS/6lh/ynPGiHD/LnAobrEFq3Ad4pBzOlJ1wAnJx9N4EYoqFhMfLIBjUT2UEx4wg5ZE+cC1ob6DCSpppVo+rtg==", + "dev": true, + "engines": { + "node": ">=16" + } + }, + "node_modules/typescript": { + "version": "5.3.3", + "resolved": "https://registry.npmmirror.com/typescript/-/typescript-5.3.3.tgz", + "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", + "devOptional": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmmirror.com/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/vite": { + "version": "5.0.12", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.0.12.tgz", + "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", + "dev": true, + "dependencies": { + "esbuild": "^0.19.3", + "postcss": "^8.4.32", + "rollup": "^4.2.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vite-plugin-vue-setup-extend": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/vite-plugin-vue-setup-extend/-/vite-plugin-vue-setup-extend-0.4.0.tgz", + "integrity": "sha512-WMbjPCui75fboFoUTHhdbXzu4Y/bJMv5N9QT9a7do3wNMNHHqrk+Tn2jrSJU0LS5fGl/EG+FEDBYVUeWIkDqXQ==", + "dev": true, + "dependencies": { + "@vue/compiler-sfc": "^3.2.29", + "magic-string": "^0.25.7" + }, + "peerDependencies": { + "vite": ">=2.0.0" + } + }, + "node_modules/vite-plugin-vue-setup-extend/node_modules/magic-string": { + "version": "0.25.9", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.25.9.tgz", + "integrity": "sha512-RmF0AsMzgt25qzqqLc1+MbHmhdx0ojF2Fvs4XnOqz2ZOBXzzkEwc/dJQZCYHAn7v1jbVOjAZfK8msRn4BxO4VQ==", + "dev": true, + "dependencies": { + "sourcemap-codec": "^1.4.8" + } + }, + "node_modules/vue": { + "version": "3.4.15", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.4.15.tgz", + "integrity": "sha512-jC0GH4KkWLWJOEQjOpkqU1bQsBwf4R1rsFtw5GQJbjHVKWDzO6P0nWWBTmjp1xSemAioDFj1jdaK1qa3DnMQoQ==", + "dependencies": { + "@vue/compiler-dom": "3.4.15", + "@vue/compiler-sfc": "3.4.15", + "@vue/runtime-dom": "3.4.15", + "@vue/server-renderer": "3.4.15", + "@vue/shared": "3.4.15" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-template-compiler": { + "version": "2.7.16", + "resolved": "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.7.16.tgz", + "integrity": "sha512-AYbUWAJHLGGQM7+cNTELw+KsOG9nl2CnSv467WobS5Cv9uk3wFcnr1Etsz2sEIHEZvw1U+o9mRlEO6QbZvUPGQ==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.2.0" + } + }, + "node_modules/vue-tsc": { + "version": "1.8.27", + "resolved": "https://registry.npmmirror.com/vue-tsc/-/vue-tsc-1.8.27.tgz", + "integrity": "sha512-WesKCAZCRAbmmhuGl3+VrdWItEvfoFIPXOvUJkjULi+x+6G/Dy69yO3TBRJDr9eUlmsNAwVmxsNZxvHKzbkKdg==", + "dev": true, + "dependencies": { + "@volar/typescript": "~1.11.1", + "@vue/language-core": "1.8.27", + "semver": "^7.5.4" + }, + "bin": { + "vue-tsc": "bin/vue-tsc.js" + }, + "peerDependencies": { + "typescript": "*" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } +} diff --git a/hello_vue3/package.json b/hello_vue3/package.json new file mode 100644 index 0000000..43c05d0 --- /dev/null +++ b/hello_vue3/package.json @@ -0,0 +1,27 @@ +{ + "name": "hello_vue3", + "version": "0.0.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "run-p type-check \"build-only {@}\" --", + "preview": "vite preview", + "build-only": "vite build", + "type-check": "vue-tsc --build --force" + }, + "dependencies": { + "vue": "^3.3.11" + }, + "devDependencies": { + "@tsconfig/node18": "^18.2.2", + "@types/node": "^18.19.3", + "@vitejs/plugin-vue": "^4.5.2", + "@vue/tsconfig": "^0.5.0", + "npm-run-all2": "^6.1.1", + "typescript": "~5.3.0", + "vite": "^5.0.10", + "vite-plugin-vue-setup-extend": "^0.4.0", + "vue-tsc": "^1.8.25" + } +} diff --git a/hello_vue3/public/favicon.ico b/hello_vue3/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..df36fcfb72584e00488330b560ebcf34a41c64c2 GIT binary patch literal 4286 zcmds*O-Phc6o&64GDVCEQHxsW(p4>LW*W<827=Unuo8sGpRux(DN@jWP-e29Wl%wj zY84_aq9}^Am9-cWTD5GGEo#+5Fi2wX_P*bo+xO!)p*7B;iKlbFd(U~_d(U?#hLj56 zPhFkj-|A6~Qk#@g^#D^U0XT1cu=c-vu1+SElX9NR;kzAUV(q0|dl0|%h|dI$%VICy zJnu2^L*Te9JrJMGh%-P79CL0}dq92RGU6gI{v2~|)p}sG5x0U*z<8U;Ij*hB9z?ei z@g6Xq-pDoPl=MANPiR7%172VA%r)kevtV-_5H*QJKFmd;8yA$98zCxBZYXTNZ#QFk2(TX0;Y2dt&WitL#$96|gJY=3xX zpCoi|YNzgO3R`f@IiEeSmKrPSf#h#Qd<$%Ej^RIeeYfsxhPMOG`S`Pz8q``=511zm zAm)MX5AV^5xIWPyEu7u>qYs?pn$I4nL9J!=K=SGlKLXpE<5x+2cDTXq?brj?n6sp= zphe9;_JHf40^9~}9i08r{XM$7HB!`{Ys~TK0kx<}ZQng`UPvH*11|q7&l9?@FQz;8 zx!=3<4seY*%=OlbCbcae?5^V_}*K>Uo6ZWV8mTyE^B=DKy7-sdLYkR5Z?paTgK-zyIkKjIcpyO z{+uIt&YSa_$QnN_@t~L014dyK(fOOo+W*MIxbA6Ndgr=Y!f#Tokqv}n<7-9qfHkc3 z=>a|HWqcX8fzQCT=dqVbogRq!-S>H%yA{1w#2Pn;=e>JiEj7Hl;zdt-2f+j2%DeVD zsW0Ab)ZK@0cIW%W7z}H{&~yGhn~D;aiP4=;m-HCo`BEI+Kd6 z={Xwx{TKxD#iCLfl2vQGDitKtN>z|-AdCN|$jTFDg0m3O`WLD4_s#$S literal 0 HcmV?d00001 diff --git a/hello_vue3/src/App.vue b/hello_vue3/src/App.vue new file mode 100644 index 0000000..6e1aaf7 --- /dev/null +++ b/hello_vue3/src/App.vue @@ -0,0 +1,30 @@ + + + + + diff --git a/hello_vue3/src/assets/owl-login-arm.png b/hello_vue3/src/assets/owl-login-arm.png new file mode 100644 index 0000000000000000000000000000000000000000..afed4ac21fe1cbfcf33a0024ce510427e72d0d0a GIT binary patch literal 2208 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 + + + + + + diff --git a/hello_vue3/src/components/Person.vue b/hello_vue3/src/components/Person.vue new file mode 100644 index 0000000..a6f84fd --- /dev/null +++ b/hello_vue3/src/components/Person.vue @@ -0,0 +1,59 @@ + + + + + diff --git a/hello_vue3/src/main.ts b/hello_vue3/src/main.ts new file mode 100644 index 0000000..2d9f341 --- /dev/null +++ b/hello_vue3/src/main.ts @@ -0,0 +1,6 @@ +// 引入 createApp 创建组件 +import { createApp } from "vue"; +// 引入根组件 +import App from "./App.vue"; + +createApp(App).mount('#app') \ No newline at end of file diff --git a/hello_vue3/tsconfig.app.json b/hello_vue3/tsconfig.app.json new file mode 100644 index 0000000..491e093 --- /dev/null +++ b/hello_vue3/tsconfig.app.json @@ -0,0 +1,13 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "include": ["env.d.ts", "src/**/*", "src/**/*.vue"], + "exclude": ["src/**/__tests__/*"], + "compilerOptions": { + "composite": true, + "noEmit": true, + "baseUrl": ".", + "paths": { + "@/*": ["./src/*"] + } + } +} diff --git a/hello_vue3/tsconfig.json b/hello_vue3/tsconfig.json new file mode 100644 index 0000000..66b5e57 --- /dev/null +++ b/hello_vue3/tsconfig.json @@ -0,0 +1,11 @@ +{ + "files": [], + "references": [ + { + "path": "./tsconfig.node.json" + }, + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/hello_vue3/tsconfig.node.json b/hello_vue3/tsconfig.node.json new file mode 100644 index 0000000..46cf2e1 --- /dev/null +++ b/hello_vue3/tsconfig.node.json @@ -0,0 +1,17 @@ +{ + "extends": "@tsconfig/node18/tsconfig.json", + "include": [ + "vite.config.*", + "vitest.config.*", + "cypress.config.*", + "nightwatch.conf.*", + "playwright.config.*" + ], + "compilerOptions": { + "composite": true, + "noEmit": true, + "module": "ESNext", + "moduleResolution": "Bundler", + "types": ["node"] + } +} diff --git a/hello_vue3/vite.config.ts b/hello_vue3/vite.config.ts new file mode 100644 index 0000000..fcd3c0c --- /dev/null +++ b/hello_vue3/vite.config.ts @@ -0,0 +1,18 @@ +import { fileURLToPath, URL } from 'node:url'; + +import vue from '@vitejs/plugin-vue'; +import { defineConfig } from 'vite'; +import VueSetupExtend from "vite-plugin-vue-setup-extend"; + + +// https://vitejs.dev/config/ +export default defineConfig({ + plugins: [ + vue(), VueSetupExtend(), + ], + resolve: { + alias: { + '@': fileURLToPath(new URL('./src', import.meta.url)) + } + } +})