ljr-cli 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (102) hide show
  1. package/lib/demo1.js +39 -0
  2. package/lib/demo2.js +87 -0
  3. package/lib/index.js +220 -14
  4. package/lib/templates/flutter//346/210/221/346/230/257flutter.txt +0 -0
  5. package/lib/templates/java//346/210/221/346/230/257java.txt +0 -0
  6. package/lib/templates/monorepo//346/210/221/346/230/257monorepo.txt +0 -0
  7. package/lib/templates/mysql//346/210/221/346/230/257mysql.txt +0 -0
  8. package/lib/templates/node//346/210/221/346/230/257node.txt +0 -0
  9. package/lib/templates/qiankun//346/210/221/346/230/257qiankun.txt +0 -0
  10. package/lib/templates/react//346/210/221/346/230/257react.txt +0 -0
  11. package/lib/templates/uni-app//346/210/221/346/230/257uni-app.txt +0 -0
  12. package/lib/templates/vue2.7.16/.browserslistrc +3 -0
  13. package/lib/templates/vue2.7.16/.env +4 -0
  14. package/lib/templates/vue2.7.16/.env.development +7 -0
  15. package/lib/templates/vue2.7.16/.env.production +7 -0
  16. package/lib/templates/vue2.7.16/.eslintignore +3 -0
  17. package/lib/templates/vue2.7.16/.eslintrc.js +21 -0
  18. package/lib/templates/vue2.7.16/.prettierrc.js +11 -0
  19. package/lib/templates/vue2.7.16/.vscode/settings.json +10 -0
  20. package/lib/templates/vue2.7.16/README.md +71 -0
  21. package/lib/templates/vue2.7.16/babel.config.js +3 -0
  22. package/lib/templates/vue2.7.16/jsconfig.json +19 -0
  23. package/lib/templates/vue2.7.16/package.json +41 -0
  24. package/lib/templates/vue2.7.16/pnpm-lock.yaml +8171 -0
  25. package/lib/templates/vue2.7.16/public/favicon.svg +14 -0
  26. package/lib/templates/vue2.7.16/public/index.html +20 -0
  27. package/lib/templates/vue2.7.16/src/App.vue +14 -0
  28. package/lib/templates/vue2.7.16/src/api/interface/index.js +6 -0
  29. package/lib/templates/vue2.7.16/src/api/request.js +121 -0
  30. package/lib/templates/vue2.7.16/src/api/server/index.js +6 -0
  31. package/lib/templates/vue2.7.16/src/assets/logo.png +0 -0
  32. package/lib/templates/vue2.7.16/src/components/README.md +5 -0
  33. package/lib/templates/vue2.7.16/src/components/baseInfo/index.vue +29 -0
  34. package/lib/templates/vue2.7.16/src/components/baseInfo/item.vue +64 -0
  35. package/lib/templates/vue2.7.16/src/components/index.js +14 -0
  36. package/lib/templates/vue2.7.16/src/components/layout/left-menu-and-top-info.vue +121 -0
  37. package/lib/templates/vue2.7.16/src/components/pagination/index.vue +52 -0
  38. package/lib/templates/vue2.7.16/src/css/coverage-style.css +6 -0
  39. package/lib/templates/vue2.7.16/src/directive/index.js +16 -0
  40. package/lib/templates/vue2.7.16/src/directive/input-number.js +18 -0
  41. package/lib/templates/vue2.7.16/src/directive/permission.js +52 -0
  42. package/lib/templates/vue2.7.16/src/directive/re-click.js +12 -0
  43. package/lib/templates/vue2.7.16/src/global-config.js +12 -0
  44. package/lib/templates/vue2.7.16/src/main.js +79 -0
  45. package/lib/templates/vue2.7.16/src/prototype/README.md +1 -0
  46. package/lib/templates/vue2.7.16/src/prototype/el-dialog.js +127 -0
  47. package/lib/templates/vue2.7.16/src/prototype/index.js +53 -0
  48. package/lib/templates/vue2.7.16/src/router/index.js +257 -0
  49. package/lib/templates/vue2.7.16/src/store/index.js +50 -0
  50. package/lib/templates/vue2.7.16/src/store/modules/dd.js +128 -0
  51. package/lib/templates/vue2.7.16/src/store/modules/permissions.js +24 -0
  52. package/lib/templates/vue2.7.16/src/views/404.vue +7 -0
  53. package/lib/templates/vue2.7.16/src/views/Pitfalls//345/206/205/345/255/230/346/272/242/345/207/272/index.vue +56 -0
  54. package/lib/templates/vue2.7.16/src/views/Pitfalls//345/206/205/345/255/230/346/272/242/345/207/272//351/200/240/346/210/220vue2/345/206/205/345/255/230/346/272/242/345/207/272/347/232/204/345/257/271/350/261/241.js +33518 -0
  55. package/lib/templates/vue2.7.16/src/views/about.vue +5 -0
  56. package/lib/templates/vue2.7.16/src/views/demo//345/205/250/345/261/200store/346/225/260/346/215/256/345/255/227/345/205/270/index.vue +85 -0
  57. package/lib/templates/vue2.7.16/src/views/demo//345/205/250/345/261/200/345/274/271/347/252/227/ce.vue +42 -0
  58. package/lib/templates/vue2.7.16/src/views/demo//345/205/250/345/261/200/345/274/271/347/252/227/index.vue +24 -0
  59. package/lib/templates/vue2.7.16/src/views/demo//345/205/250/345/261/200/346/214/207/344/273/244/index.vue +78 -0
  60. package/lib/templates/vue2.7.16/src/views/demo//350/257/267/346/261/202/347/244/272/344/276/213/index.vue +51 -0
  61. package/lib/templates/vue2.7.16/src/views/home.vue +3 -0
  62. package/lib/templates/vue2.7.16/src/views/login.vue +67 -0
  63. package/lib/templates/vue2.7.16/src/views/template/base-info.vue +29 -0
  64. package/lib/templates/vue2.7.16/src/views/template/base-info2.vue +56 -0
  65. package/lib/templates/vue2.7.16/src/views/template/list/ce.vue +58 -0
  66. package/lib/templates/vue2.7.16/src/views/template/list/index.vue +111 -0
  67. package/lib/templates/vue2.7.16/src/views/template/list/search.vue +60 -0
  68. package/lib/templates/vue2.7.16/vue.config.js +26 -0
  69. package/lib/templates/vue3.5.25-2025.12.4/.editorconfig +8 -0
  70. package/lib/templates/vue3.5.25-2025.12.4/.gitattributes +1 -0
  71. package/lib/templates/vue3.5.25-2025.12.4/.prettierrc.json +11 -0
  72. package/lib/templates/vue3.5.25-2025.12.4/.vscode/extensions.json +8 -0
  73. package/lib/templates/vue3.5.25-2025.12.4/.vscode/settings.json +13 -0
  74. package/lib/templates/vue3.5.25-2025.12.4/README.md +93 -0
  75. package/lib/templates/vue3.5.25-2025.12.4/auto-imports.d.ts +78 -0
  76. package/lib/templates/vue3.5.25-2025.12.4/components.d.ts +28 -0
  77. package/lib/templates/vue3.5.25-2025.12.4/env.d.ts +1 -0
  78. package/lib/templates/vue3.5.25-2025.12.4/eslint.config.ts +32 -0
  79. package/lib/templates/vue3.5.25-2025.12.4/index.html +13 -0
  80. package/lib/templates/vue3.5.25-2025.12.4/package.json +47 -0
  81. package/lib/templates/vue3.5.25-2025.12.4/pnpm-lock.yaml +3515 -0
  82. package/lib/templates/vue3.5.25-2025.12.4/public/favicon.svg +14 -0
  83. package/lib/templates/vue3.5.25-2025.12.4/src/App.vue +12 -0
  84. package/lib/templates/vue3.5.25-2025.12.4/src/assets/vue.svg +1 -0
  85. package/lib/templates/vue3.5.25-2025.12.4/src/boot/index.ts +14 -0
  86. package/lib/templates/vue3.5.25-2025.12.4/src/boot/pinia.ts +10 -0
  87. package/lib/templates/vue3.5.25-2025.12.4/src/boot/router.ts +10 -0
  88. package/lib/templates/vue3.5.25-2025.12.4/src/boot/style.ts +9 -0
  89. package/lib/templates/vue3.5.25-2025.12.4/src/css/coverage-style.css +6 -0
  90. package/lib/templates/vue3.5.25-2025.12.4/src/directive/index.js +8 -0
  91. package/lib/templates/vue3.5.25-2025.12.4/src/directive/rememberScrollPosition.ts +17 -0
  92. package/lib/templates/vue3.5.25-2025.12.4/src/main.ts +7 -0
  93. package/lib/templates/vue3.5.25-2025.12.4/src/router/index.ts +20 -0
  94. package/lib/templates/vue3.5.25-2025.12.4/src/stores/counter.ts +12 -0
  95. package/lib/templates/vue3.5.25-2025.12.4/src/views/AboutView.vue +3 -0
  96. package/lib/templates/vue3.5.25-2025.12.4/src/views/HomeView.vue +14 -0
  97. package/lib/templates/vue3.5.25-2025.12.4/tsconfig.app.json +12 -0
  98. package/lib/templates/vue3.5.25-2025.12.4/tsconfig.json +11 -0
  99. package/lib/templates/vue3.5.25-2025.12.4/tsconfig.node.json +19 -0
  100. package/lib/templates/vue3.5.25-2025.12.4/vite.config.ts +31 -0
  101. package/lib/templates/wx-miniapp//346/210/221/346/230/257wx-miniapp.txt +0 -0
  102. package/package.json +16 -3
@@ -0,0 +1,26 @@
1
+ const { defineConfig } = require("@vue/cli-service")
2
+ module.exports = defineConfig({
3
+ transpileDependencies: true,
4
+ publicPath: "./", // 公共路径
5
+ devServer: {
6
+ open: false, // 是否直接打开默认游览器
7
+ // 关闭开发服务器的错误覆盖层
8
+ client: {
9
+ overlay: false, // 或者设置为一个包含特定选项的对象
10
+ // 例如,只想禁用警告 overlay: { warnings: false, errors: true }
11
+ // overlay: {
12
+ // warnings: false, // 禁用警告信息的覆盖层
13
+ // errors: false // 禁用错误信息的覆盖层
14
+ // }
15
+ },
16
+ // 代理
17
+ proxy: {
18
+ [process.env.VUE_APP_BASE_API]: {
19
+ // target: "http://www.xxx.com", // 代理地址
20
+ target: "https://m1.apifoxmock.com/m1/4319632-3962606-default", // 自己的 apifox mock 地址
21
+ // target: "http://localhost:9001", // 自己的 node 地址
22
+ pathRewrite: { "^/dev-api": "" }, // 重写路径
23
+ },
24
+ },
25
+ },
26
+ })
@@ -0,0 +1,8 @@
1
+ [*.{js,jsx,mjs,cjs,ts,tsx,mts,cts,vue,css,scss,sass,less,styl}]
2
+ charset = utf-8
3
+ indent_size = 2
4
+ indent_style = space
5
+ insert_final_newline = true
6
+ trim_trailing_whitespace = true
7
+ end_of_line = lf
8
+ max_line_length = 100
@@ -0,0 +1 @@
1
+ * text=auto eol=lf
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "https://json.schemastore.org/prettierrc",
3
+ "printWidth": 120,
4
+ "semi": false,
5
+ "tabWidth": 2,
6
+ "useTabs": false,
7
+ "singleQuote": false,
8
+ "trailingComma": "all",
9
+ "bracketSpacing": true,
10
+ "endOfLine": "auto"
11
+ }
@@ -0,0 +1,8 @@
1
+ {
2
+ "recommendations": [
3
+ "Vue.volar",
4
+ "dbaeumer.vscode-eslint",
5
+ "EditorConfig.EditorConfig",
6
+ "esbenp.prettier-vscode"
7
+ ]
8
+ }
@@ -0,0 +1,13 @@
1
+ {
2
+ "explorer.fileNesting.enabled": true,
3
+ "explorer.fileNesting.patterns": {
4
+ "tsconfig.json": "tsconfig.*.json, env.d.ts",
5
+ "vite.config.*": "jsconfig*, vitest.config.*, cypress.config.*, playwright.config.*",
6
+ "package.json": "*.env, .env.*, env.d.ts, package-lock.json, pnpm*, .yarnrc*, yarn*, .eslint*, eslint*, .oxlint*, oxlint*, .prettier*, prettier*, .editorconfig, .gitignore, .gitattributes, index.html, .browserslistrc, babel.config.js, jsconfig.json, auto-imports.d.ts, components.d.ts"
7
+ },
8
+ "editor.codeActionsOnSave": {
9
+ "source.fixAll": "explicit"
10
+ },
11
+ "editor.formatOnSave": true,
12
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
13
+ }
@@ -0,0 +1,93 @@
1
+ # vue3.5.25模版
2
+
3
+ 2025.12.4创建的模版
4
+ 全局引入 l-global 包,包括 variable.css、base.css、global.css 和 utils 工具类
5
+ 使用 `unplugin-auto-import` 自动导入vue、vue-route
6
+ 使用 `unplugin-auto-import` `unplugin-vue-components` 按需导入element-plus组件
7
+
8
+ 项目内采用`unplugin-vue-router`插件,可无需钉子自动根据目录及文件命名规则,生成配置路由信息。
9
+ 做了登录页,404 页
10
+ 做了通过路由配置生成左侧菜单
11
+ 使用 vuex-persist 插件做 vuex 持久化
12
+ 封装了全局登录判断的路由卫士
13
+ eslint + prettier
14
+ axios 封装
15
+ 封装自定义指令
16
+ 封装自动注册全局组件
17
+ 封装函数式弹窗
18
+ 封装 store 的数据字典
19
+ 原型扩展
20
+ 收集一些模版
21
+ 收集一些遇到的问题
22
+ 收集一些动画
23
+ 列表的模版,顶部搜索,中间表格,底下分页,新建编辑弹窗,删除二次确认模版
24
+
25
+ # 目录
26
+
27
+ ```
28
+ ├── assets # 静态资源
29
+ ├── components # 组件
30
+ ├── css # css
31
+ ├── router # 路由
32
+ ├── stores # stores
33
+ ├── views # 页面
34
+ ├── package.json
35
+ ├── package-lock.json
36
+ ```
37
+
38
+ ## 初始化(必须在当前根目录执行)
39
+
40
+ ##### 此项目使用 pnpm 作为包管理工具
41
+
42
+ 首次使用 corepack 需要先启用
43
+
44
+ ```sh
45
+ corepack enable
46
+ ```
47
+
48
+ 使用最新版本 pnpm (需要更新最新版 pnpm 再使用)
49
+
50
+ ```sh
51
+ corepack use pnpm@latest
52
+ ```
53
+
54
+ 初始化依赖
55
+
56
+ ```sh
57
+ pnpm install
58
+ ```
59
+
60
+ ### 编译和热重载开发
61
+
62
+ ```sh
63
+ pnpm run dev || pnpm run serve
64
+ ```
65
+
66
+ ### 为生产进行类型检查、编译和最小化
67
+
68
+ ```sh
69
+ pnpm run build
70
+ ```
71
+
72
+ ### eslint检查
73
+
74
+ ```sh
75
+ pnpm run lint
76
+ ```
77
+
78
+ ### prettier格式化
79
+
80
+ ```sh
81
+ pnpm run format
82
+ ```
83
+
84
+ ### 命名规范
85
+
86
+ | 类别 | 推荐命名方式 | 示例 | 关键点/例外情况 |
87
+ | ------------------ | ----------------------------------------------- | ----------------- | ---------------------- |
88
+ | 通用 | kebab-case | package-lock.json | 没有特别说明尽量用这个 |
89
+ | 变量 | camelCase | userProfile | |
90
+ | 路由名称 | camelCase 或者 PascalCase | userProfile | |
91
+ | App.vue | PascalCase | | |
92
+ | Vue 组件里的组件名 | PascalCase | | |
93
+ | Vue 组件里的 Props | 在声明时使用 camelCase,在模板中使用 kebab-case | | |
@@ -0,0 +1,78 @@
1
+ /* eslint-disable */
2
+ /* prettier-ignore */
3
+ // @ts-nocheck
4
+ // noinspection JSUnusedGlobalSymbols
5
+ // Generated by unplugin-auto-import
6
+ // biome-ignore lint: disable
7
+ export {}
8
+ declare global {
9
+ const EffectScope: typeof import('vue').EffectScope
10
+ const computed: typeof import('vue').computed
11
+ const createApp: typeof import('vue').createApp
12
+ const customRef: typeof import('vue').customRef
13
+ const defineAsyncComponent: typeof import('vue').defineAsyncComponent
14
+ const defineComponent: typeof import('vue').defineComponent
15
+ const effectScope: typeof import('vue').effectScope
16
+ const getCurrentInstance: typeof import('vue').getCurrentInstance
17
+ const getCurrentScope: typeof import('vue').getCurrentScope
18
+ const getCurrentWatcher: typeof import('vue').getCurrentWatcher
19
+ const h: typeof import('vue').h
20
+ const inject: typeof import('vue').inject
21
+ const isProxy: typeof import('vue').isProxy
22
+ const isReactive: typeof import('vue').isReactive
23
+ const isReadonly: typeof import('vue').isReadonly
24
+ const isRef: typeof import('vue').isRef
25
+ const isShallow: typeof import('vue').isShallow
26
+ const markRaw: typeof import('vue').markRaw
27
+ const nextTick: typeof import('vue').nextTick
28
+ const onActivated: typeof import('vue').onActivated
29
+ const onBeforeMount: typeof import('vue').onBeforeMount
30
+ const onBeforeRouteLeave: typeof import('vue-router').onBeforeRouteLeave
31
+ const onBeforeRouteUpdate: typeof import('vue-router').onBeforeRouteUpdate
32
+ const onBeforeUnmount: typeof import('vue').onBeforeUnmount
33
+ const onBeforeUpdate: typeof import('vue').onBeforeUpdate
34
+ const onDeactivated: typeof import('vue').onDeactivated
35
+ const onErrorCaptured: typeof import('vue').onErrorCaptured
36
+ const onMounted: typeof import('vue').onMounted
37
+ const onRenderTracked: typeof import('vue').onRenderTracked
38
+ const onRenderTriggered: typeof import('vue').onRenderTriggered
39
+ const onScopeDispose: typeof import('vue').onScopeDispose
40
+ const onServerPrefetch: typeof import('vue').onServerPrefetch
41
+ const onUnmounted: typeof import('vue').onUnmounted
42
+ const onUpdated: typeof import('vue').onUpdated
43
+ const onWatcherCleanup: typeof import('vue').onWatcherCleanup
44
+ const provide: typeof import('vue').provide
45
+ const reactive: typeof import('vue').reactive
46
+ const readonly: typeof import('vue').readonly
47
+ const ref: typeof import('vue').ref
48
+ const resolveComponent: typeof import('vue').resolveComponent
49
+ const shallowReactive: typeof import('vue').shallowReactive
50
+ const shallowReadonly: typeof import('vue').shallowReadonly
51
+ const shallowRef: typeof import('vue').shallowRef
52
+ const toRaw: typeof import('vue').toRaw
53
+ const toRef: typeof import('vue').toRef
54
+ const toRefs: typeof import('vue').toRefs
55
+ const toValue: typeof import('vue').toValue
56
+ const triggerRef: typeof import('vue').triggerRef
57
+ const unref: typeof import('vue').unref
58
+ const useAttrs: typeof import('vue').useAttrs
59
+ const useCssModule: typeof import('vue').useCssModule
60
+ const useCssVars: typeof import('vue').useCssVars
61
+ const useId: typeof import('vue').useId
62
+ const useLink: typeof import('vue-router').useLink
63
+ const useModel: typeof import('vue').useModel
64
+ const useRoute: typeof import('vue-router').useRoute
65
+ const useRouter: typeof import('vue-router').useRouter
66
+ const useSlots: typeof import('vue').useSlots
67
+ const useTemplateRef: typeof import('vue').useTemplateRef
68
+ const watch: typeof import('vue').watch
69
+ const watchEffect: typeof import('vue').watchEffect
70
+ const watchPostEffect: typeof import('vue').watchPostEffect
71
+ const watchSyncEffect: typeof import('vue').watchSyncEffect
72
+ }
73
+ // for type re-export
74
+ declare global {
75
+ // @ts-ignore
76
+ export type { Component, Slot, Slots, ComponentPublicInstance, ComputedRef, DirectiveBinding, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, ShallowRef, MaybeRef, MaybeRefOrGetter, VNode, WritableComputedRef } from 'vue'
77
+ import('vue')
78
+ }
@@ -0,0 +1,28 @@
1
+ /* eslint-disable */
2
+ // @ts-nocheck
3
+ // biome-ignore lint: disable
4
+ // oxlint-disable
5
+ // ------
6
+ // Generated by unplugin-vue-components
7
+ // Read more: https://github.com/vuejs/core/pull/3399
8
+ import { GlobalComponents } from 'vue'
9
+
10
+ export {}
11
+
12
+ /* prettier-ignore */
13
+ declare module 'vue' {
14
+ export interface GlobalComponents {
15
+ ElButton: typeof import('element-plus/es')['ElButton']
16
+ ElInput: typeof import('element-plus/es')['ElInput']
17
+ RouterLink: typeof import('vue-router')['RouterLink']
18
+ RouterView: typeof import('vue-router')['RouterView']
19
+ }
20
+ }
21
+
22
+ // For TSX support
23
+ declare global {
24
+ const ElButton: typeof import('element-plus/es')['ElButton']
25
+ const ElInput: typeof import('element-plus/es')['ElInput']
26
+ const RouterLink: typeof import('vue-router')['RouterLink']
27
+ const RouterView: typeof import('vue-router')['RouterView']
28
+ }
@@ -0,0 +1 @@
1
+ /// <reference types="vite/client" />
@@ -0,0 +1,32 @@
1
+ import { globalIgnores } from "eslint/config"
2
+ import { defineConfigWithVueTs, vueTsConfigs } from "@vue/eslint-config-typescript"
3
+ import pluginVue from "eslint-plugin-vue"
4
+ import skipFormatting from "@vue/eslint-config-prettier/skip-formatting"
5
+
6
+ // To allow more languages other than `ts` in `.vue` files, uncomment the following lines:
7
+ // import { configureVueProject } from '@vue/eslint-config-typescript'
8
+ // configureVueProject({ scriptLangs: ['ts', 'tsx'] })
9
+ // More info at https://github.com/vuejs/eslint-config-typescript/#advanced-setup
10
+
11
+ export default defineConfigWithVueTs(
12
+ {
13
+ name: "app/files-to-lint",
14
+ files: ["**/*.{ts,mts,tsx,vue}"],
15
+ },
16
+
17
+ globalIgnores(["**/dist/**", "**/dist-ssr/**", "**/coverage/**"]),
18
+
19
+ pluginVue.configs["flat/essential"],
20
+ vueTsConfigs.recommended,
21
+ skipFormatting,
22
+ {
23
+ rules: {
24
+ "no-unused-vars": ["off", { vars: "all", args: "none" }], // 有没有未使用的变量
25
+ "@typescript-eslint/no-unused-vars": "off",
26
+ "no-console": process.env.NODE_ENV === "production" ? "warn" : "off", // console是否要警告
27
+ "no-debugger": process.env.NODE_ENV === "production" ? "warn" : "off", // debugger是否要警告
28
+ "spaced-comment": ["error", "always", { markers: ["/"] }], // 注释 // 或 /* 开始后的间距的一致性
29
+ "vue/attributes-order": "error", // vue属性排序
30
+ },
31
+ },
32
+ )
@@ -0,0 +1,13 @@
1
+ <!doctype html>
2
+ <html lang="">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="shortcut icon" type="image/svg" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <title>vue3.5.25模版</title>
8
+ </head>
9
+ <body>
10
+ <div id="app"></div>
11
+ <script type="module" src="/src/main.ts"></script>
12
+ </body>
13
+ </html>
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "vue3.5.25-2025.12.4",
3
+ "version": "0.0.0",
4
+ "private": true,
5
+ "type": "module",
6
+ "packageManager": "pnpm@10.27.0",
7
+ "engines": {
8
+ "node": "^20.19.0 || >=22.12.0"
9
+ },
10
+ "scripts": {
11
+ "dev": "vite --host",
12
+ "serve": "vite --host",
13
+ "build": "run-p type-check \"build-only {@}\" --",
14
+ "preview": "vite preview",
15
+ "build-only": "vite build",
16
+ "type-check": "vue-tsc --build",
17
+ "lint": "eslint . --fix --cache",
18
+ "format": "prettier --write --experimental-cli src/"
19
+ },
20
+ "dependencies": {
21
+ "element-plus": "^2.12.0",
22
+ "l-global": "^1.0.2",
23
+ "pinia": "^3.0.4",
24
+ "vue": "^3.5.25",
25
+ "vue-router": "^4.6.3"
26
+ },
27
+ "devDependencies": {
28
+ "@tsconfig/node24": "^24.0.3",
29
+ "@types/node": "^24.10.1",
30
+ "@vitejs/plugin-vue": "^6.0.2",
31
+ "@vitejs/plugin-vue-jsx": "^5.1.2",
32
+ "@vue/eslint-config-prettier": "^10.2.0",
33
+ "@vue/eslint-config-typescript": "^14.6.0",
34
+ "@vue/tsconfig": "^0.8.1",
35
+ "eslint": "^9.39.1",
36
+ "eslint-plugin-vue": "~10.5.1",
37
+ "jiti": "^2.6.1",
38
+ "npm-run-all2": "^8.0.4",
39
+ "prettier": "3.6.2",
40
+ "typescript": "~5.9.0",
41
+ "unplugin-auto-import": "^20.3.0",
42
+ "unplugin-vue-components": "^30.0.0",
43
+ "vite": "^7.2.4",
44
+ "vite-plugin-vue-devtools": "^8.0.5",
45
+ "vue-tsc": "^3.1.5"
46
+ }
47
+ }